@fieldia/core 0.27.0 → 0.29.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 +148 -5
- package/package.json +1 -1
- package/schema/page.schema.json +266 -7
- package/src/index.d.mts +10 -2
- package/src/index.d.ts +10 -2
- package/src/index.js +33 -2
- package/src/index.js.map +1 -1
- package/src/index.mjs +13 -2
- package/src/index.mjs.map +1 -1
- package/src/lib/format/approval-checks.d.mts +8 -0
- package/src/lib/format/approval-checks.d.ts +8 -0
- package/src/lib/format/approval-checks.js +29 -0
- package/src/lib/format/approval-checks.js.map +1 -0
- package/src/lib/format/approval-checks.mjs +26 -0
- package/src/lib/format/approval-checks.mjs.map +1 -0
- package/src/lib/format/approval.d.mts +20 -0
- package/src/lib/format/approval.d.ts +20 -0
- package/src/lib/format/approval.js +25 -0
- package/src/lib/format/approval.js.map +1 -0
- package/src/lib/format/approval.mjs +22 -0
- package/src/lib/format/approval.mjs.map +1 -0
- package/src/lib/format/assist-checks.d.mts +14 -0
- package/src/lib/format/assist-checks.d.ts +14 -0
- package/src/lib/format/assist-checks.js +68 -0
- package/src/lib/format/assist-checks.js.map +1 -0
- package/src/lib/format/assist-checks.mjs +64 -0
- package/src/lib/format/assist-checks.mjs.map +1 -0
- package/src/lib/format/assist.d.mts +41 -0
- package/src/lib/format/assist.d.ts +41 -0
- package/src/lib/format/assist.js +29 -0
- package/src/lib/format/assist.js.map +1 -0
- package/src/lib/format/assist.mjs +26 -0
- package/src/lib/format/assist.mjs.map +1 -0
- package/src/lib/format/editable-checks.d.mts +8 -0
- package/src/lib/format/editable-checks.d.ts +8 -0
- package/src/lib/format/editable-checks.js +38 -0
- package/src/lib/format/editable-checks.js.map +1 -0
- package/src/lib/format/editable-checks.mjs +35 -0
- package/src/lib/format/editable-checks.mjs.map +1 -0
- package/src/lib/format/field.d.mts +86 -0
- package/src/lib/format/field.d.ts +86 -0
- package/src/lib/format/field.js +56 -10
- package/src/lib/format/field.js.map +1 -1
- package/src/lib/format/field.mjs +55 -9
- package/src/lib/format/field.mjs.map +1 -1
- package/src/lib/format/languages-checks.d.mts +8 -0
- package/src/lib/format/languages-checks.d.ts +8 -0
- package/src/lib/format/languages-checks.js +40 -0
- package/src/lib/format/languages-checks.js.map +1 -0
- package/src/lib/format/languages-checks.mjs +37 -0
- package/src/lib/format/languages-checks.mjs.map +1 -0
- package/src/lib/format/later-checks.d.mts +4 -3
- package/src/lib/format/later-checks.d.ts +4 -3
- package/src/lib/format/later-checks.js +4 -3
- package/src/lib/format/later-checks.js.map +1 -1
- package/src/lib/format/later-checks.mjs +4 -3
- package/src/lib/format/later-checks.mjs.map +1 -1
- package/src/lib/format/layout.d.mts +123 -28
- package/src/lib/format/layout.d.ts +123 -28
- package/src/lib/format/layout.js +20 -4
- package/src/lib/format/layout.js.map +1 -1
- package/src/lib/format/layout.mjs +18 -2
- package/src/lib/format/layout.mjs.map +1 -1
- package/src/lib/format/layout.types.d.mts +2 -1
- package/src/lib/format/layout.types.d.ts +2 -1
- package/src/lib/format/list-editable.d.mts +20 -0
- package/src/lib/format/list-editable.d.ts +20 -0
- package/src/lib/format/list-editable.js +33 -0
- package/src/lib/format/list-editable.js.map +1 -0
- package/src/lib/format/list-editable.mjs +28 -0
- package/src/lib/format/list-editable.mjs.map +1 -0
- package/src/lib/format/page.d.mts +91 -9
- package/src/lib/format/page.d.ts +91 -9
- package/src/lib/format/page.js +4 -0
- package/src/lib/format/page.js.map +1 -1
- package/src/lib/format/page.mjs +4 -0
- package/src/lib/format/page.mjs.map +1 -1
- package/src/lib/format/photos-options.d.mts +29 -0
- package/src/lib/format/photos-options.d.ts +29 -0
- package/src/lib/format/photos-options.js +49 -0
- package/src/lib/format/photos-options.js.map +1 -0
- package/src/lib/format/photos-options.mjs +45 -0
- package/src/lib/format/photos-options.mjs.map +1 -0
- package/src/lib/format/references.js +31 -1
- package/src/lib/format/references.js.map +1 -1
- package/src/lib/format/references.mjs +31 -1
- package/src/lib/format/references.mjs.map +1 -1
- package/src/lib/format/scan-checks.d.mts +12 -0
- package/src/lib/format/scan-checks.d.ts +12 -0
- package/src/lib/format/scan-checks.js +89 -0
- package/src/lib/format/scan-checks.js.map +1 -0
- package/src/lib/format/scan-checks.mjs +86 -0
- package/src/lib/format/scan-checks.mjs.map +1 -0
- package/src/lib/format/scan-options.d.mts +84 -0
- package/src/lib/format/scan-options.d.ts +84 -0
- package/src/lib/format/scan-options.js +58 -0
- package/src/lib/format/scan-options.js.map +1 -0
- package/src/lib/format/scan-options.mjs +54 -0
- package/src/lib/format/scan-options.mjs.map +1 -0
- package/src/lib/format/upgrade.d.mts +4 -1
- package/src/lib/format/upgrade.d.ts +4 -1
- package/src/lib/format/upgrade.js +4 -1
- package/src/lib/format/upgrade.js.map +1 -1
- package/src/lib/format/upgrade.mjs +4 -1
- package/src/lib/format/upgrade.mjs.map +1 -1
- 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/record/approvals-part.d.mts +6 -0
- package/src/lib/record/approvals-part.d.ts +6 -0
- package/src/lib/record/approvals-part.js +14 -0
- package/src/lib/record/approvals-part.js.map +1 -0
- package/src/lib/record/approvals-part.mjs +7 -0
- package/src/lib/record/approvals-part.mjs.map +1 -0
- package/src/lib/record/approving.d.mts +45 -0
- package/src/lib/record/approving.d.ts +45 -0
- package/src/lib/record/approving.js +10 -0
- package/src/lib/record/approving.js.map +1 -0
- package/src/lib/record/approving.mjs +7 -0
- package/src/lib/record/approving.mjs.map +1 -0
- package/src/lib/record/check.js +7 -1
- package/src/lib/record/check.js.map +1 -1
- package/src/lib/record/check.mjs +7 -1
- package/src/lib/record/check.mjs.map +1 -1
- package/src/lib/record/data-source.d.mts +270 -0
- package/src/lib/record/data-source.d.ts +270 -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 +10 -0
- package/src/lib/record/day-words.d.ts +10 -0
- package/src/lib/record/day-words.js +23 -0
- package/src/lib/record/day-words.js.map +1 -0
- package/src/lib/record/day-words.mjs +20 -0
- package/src/lib/record/day-words.mjs.map +1 -0
- package/src/lib/record/files-part.d.mts +7 -0
- package/src/lib/record/files-part.d.ts +7 -0
- package/src/lib/record/files-part.js +167 -0
- package/src/lib/record/files-part.js.map +1 -0
- package/src/lib/record/files-part.mjs +163 -0
- package/src/lib/record/files-part.mjs.map +1 -0
- package/src/lib/record/filter.d.mts +5 -0
- package/src/lib/record/filter.d.ts +5 -0
- package/src/lib/record/filter.js +1 -0
- package/src/lib/record/filter.js.map +1 -1
- package/src/lib/record/filter.mjs +1 -1
- package/src/lib/record/filter.mjs.map +1 -1
- package/src/lib/record/form-approvals.d.mts +47 -0
- package/src/lib/record/form-approvals.d.ts +47 -0
- package/src/lib/record/form-approvals.js +186 -0
- package/src/lib/record/form-approvals.js.map +1 -0
- package/src/lib/record/form-approvals.mjs +180 -0
- package/src/lib/record/form-approvals.mjs.map +1 -0
- package/src/lib/record/form-limits.d.mts +5 -8
- package/src/lib/record/form-limits.d.ts +5 -8
- package/src/lib/record/form-limits.js +20 -21
- package/src/lib/record/form-limits.js.map +1 -1
- package/src/lib/record/form-limits.mjs +21 -22
- package/src/lib/record/form-limits.mjs.map +1 -1
- package/src/lib/record/form.d.mts +41 -8
- package/src/lib/record/form.d.ts +41 -8
- package/src/lib/record/form.js +119 -11
- package/src/lib/record/form.js.map +1 -1
- package/src/lib/record/form.mjs +119 -11
- package/src/lib/record/form.mjs.map +1 -1
- package/src/lib/record/languages-part.d.mts +32 -0
- package/src/lib/record/languages-part.d.ts +32 -0
- package/src/lib/record/languages-part.js +104 -0
- package/src/lib/record/languages-part.js.map +1 -0
- package/src/lib/record/languages-part.mjs +96 -0
- package/src/lib/record/languages-part.mjs.map +1 -0
- package/src/lib/record/languages.d.mts +26 -0
- package/src/lib/record/languages.d.ts +26 -0
- package/src/lib/record/languages.js +20 -0
- package/src/lib/record/languages.js.map +1 -0
- package/src/lib/record/languages.mjs +15 -0
- package/src/lib/record/languages.mjs.map +1 -0
- package/src/lib/record/limits.js +4 -2
- package/src/lib/record/limits.js.map +1 -1
- package/src/lib/record/limits.mjs +4 -2
- package/src/lib/record/limits.mjs.map +1 -1
- package/src/lib/record/locales/ar.js +6 -0
- package/src/lib/record/locales/ar.js.map +1 -1
- package/src/lib/record/locales/ar.mjs +6 -0
- package/src/lib/record/locales/ar.mjs.map +1 -1
- package/src/lib/record/locales/de.js +6 -0
- package/src/lib/record/locales/de.js.map +1 -1
- package/src/lib/record/locales/de.mjs +6 -0
- package/src/lib/record/locales/de.mjs.map +1 -1
- package/src/lib/record/locales/fr.js +6 -0
- package/src/lib/record/locales/fr.js.map +1 -1
- package/src/lib/record/locales/fr.mjs +6 -0
- package/src/lib/record/locales/fr.mjs.map +1 -1
- package/src/lib/record/memory-approvals.d.mts +47 -0
- package/src/lib/record/memory-approvals.d.ts +47 -0
- package/src/lib/record/memory-approvals.js +78 -0
- package/src/lib/record/memory-approvals.js.map +1 -0
- package/src/lib/record/memory-approvals.mjs +75 -0
- package/src/lib/record/memory-approvals.mjs.map +1 -0
- package/src/lib/record/memory-assist.d.mts +53 -0
- package/src/lib/record/memory-assist.d.ts +53 -0
- package/src/lib/record/memory-assist.js +519 -0
- package/src/lib/record/memory-assist.js.map +1 -0
- package/src/lib/record/memory-assist.mjs +513 -0
- package/src/lib/record/memory-assist.mjs.map +1 -0
- package/src/lib/record/memory-clusters.d.mts +18 -0
- package/src/lib/record/memory-clusters.d.ts +18 -0
- package/src/lib/record/memory-clusters.js +83 -0
- package/src/lib/record/memory-clusters.js.map +1 -0
- package/src/lib/record/memory-clusters.mjs +80 -0
- package/src/lib/record/memory-clusters.mjs.map +1 -0
- package/src/lib/record/memory-data-source.d.mts +43 -3
- package/src/lib/record/memory-data-source.d.ts +43 -3
- package/src/lib/record/memory-data-source.js +105 -19
- package/src/lib/record/memory-data-source.js.map +1 -1
- package/src/lib/record/memory-data-source.mjs +105 -19
- package/src/lib/record/memory-data-source.mjs.map +1 -1
- package/src/lib/record/memory-later.d.mts +1 -1
- package/src/lib/record/memory-later.d.ts +1 -1
- package/src/lib/record/memory-later.js +4 -1
- package/src/lib/record/memory-later.js.map +1 -1
- package/src/lib/record/memory-later.mjs +4 -1
- package/src/lib/record/memory-later.mjs.map +1 -1
- package/src/lib/record/messages.d.mts +24 -2
- package/src/lib/record/messages.d.ts +24 -2
- package/src/lib/record/messages.js +8 -4
- package/src/lib/record/messages.js.map +1 -1
- package/src/lib/record/messages.mjs +8 -4
- package/src/lib/record/messages.mjs.map +1 -1
- package/src/lib/record/option-rules.d.mts +7 -1
- package/src/lib/record/option-rules.d.ts +7 -1
- package/src/lib/record/option-rules.js +9 -3
- package/src/lib/record/option-rules.js.map +1 -1
- package/src/lib/record/option-rules.mjs +9 -3
- package/src/lib/record/option-rules.mjs.map +1 -1
- package/src/lib/record/record-words.d.mts +13 -1
- package/src/lib/record/record-words.d.ts +13 -1
- package/src/lib/record/record-words.js +29 -1
- package/src/lib/record/record-words.js.map +1 -1
- package/src/lib/record/record-words.mjs +27 -1
- package/src/lib/record/record-words.mjs.map +1 -1
- package/src/lib/record/uploads.d.mts +35 -9
- package/src/lib/record/uploads.d.ts +35 -9
- package/src/lib/record/uploads.js +49 -169
- package/src/lib/record/uploads.js.map +1 -1
- package/src/lib/record/uploads.mjs +42 -164
- package/src/lib/record/uploads.mjs.map +1 -1
- package/src/lib/record/values.d.mts +23 -0
- package/src/lib/record/values.d.ts +23 -0
- package/src/lib/record/values.js +4 -0
- package/src/lib/record/values.js.map +1 -1
- package/src/lib/record/values.mjs +4 -0
- package/src/lib/record/values.mjs.map +1 -1
- package/src/lib/record/waits.d.mts +7 -5
- package/src/lib/record/waits.d.ts +7 -5
- package/src/lib/record/waits.js +7 -10
- package/src/lib/record/waits.js.map +1 -1
- package/src/lib/record/waits.mjs +7 -10
- package/src/lib/record/waits.mjs.map +1 -1
- package/src/runtime.d.mts +13 -6
- package/src/runtime.d.ts +13 -6
- package/src/runtime.js +22 -3
- package/src/runtime.js.map +1 -1
- package/src/runtime.mjs +11 -2
- package/src/runtime.mjs.map +1 -1
|
@@ -0,0 +1,180 @@
|
|
|
1
|
+
import { saveProblemOf } from './data-source.mjs';
|
|
2
|
+
import { fill } from './messages.mjs';
|
|
3
|
+
import { dayWords } from './day-words.mjs';
|
|
4
|
+
import { isOwnZone, wallClock, wallDay, wallTime } from './zones.mjs';
|
|
5
|
+
import { uploadGoing } from './uploads.mjs';
|
|
6
|
+
const STATES = ['waiting', 'later', 'approved', 'rejected', 'skipped'];
|
|
7
|
+
const said = (value) => typeof value === 'string' && value.trim() !== '';
|
|
8
|
+
/** A level as the source told it, kept to what can be said: its id, its name, its approvers by name, a state Fieldia knows. */
|
|
9
|
+
function levelOf(told) {
|
|
10
|
+
const level = told;
|
|
11
|
+
if (!level || !said(level.id) || !STATES.includes(level.state))
|
|
12
|
+
return null;
|
|
13
|
+
const approvers = (Array.isArray(level.approvers) ? level.approvers : []).filter((one) => !!one && said(one.name));
|
|
14
|
+
return { id: level.id, name: said(level.name) ? level.name : level.id, approvers, needs: level.needs === 'all' ? 'all' : 'any', state: level.state };
|
|
15
|
+
}
|
|
16
|
+
/** Where a record stands as a whole, from its levels: a rejection ends it, a level waiting is waited for. */
|
|
17
|
+
export function approvalStatus(levels) {
|
|
18
|
+
const asked = levels.filter((level) => level.state !== 'skipped');
|
|
19
|
+
if (!asked.length)
|
|
20
|
+
return 'none';
|
|
21
|
+
if (asked.some((level) => level.state === 'rejected'))
|
|
22
|
+
return 'rejected';
|
|
23
|
+
if (asked.some((level) => level.state === 'waiting'))
|
|
24
|
+
return 'waiting';
|
|
25
|
+
if (asked.every((level) => level.state === 'approved'))
|
|
26
|
+
return 'approved';
|
|
27
|
+
return 'needed';
|
|
28
|
+
}
|
|
29
|
+
/** What the form keeps of a source's answer: the levels it can say, those this person may decide now — where the source takes decisions. */
|
|
30
|
+
export function approvalOf(told, decides) {
|
|
31
|
+
const levels = (Array.isArray(told?.levels) ? told.levels : []).map(levelOf).filter((level) => level !== null);
|
|
32
|
+
const history = (Array.isArray(told?.history) ? told.history : []).filter((entry) => !!entry && said(entry.by) && said(entry.at) && ['approved', 'rejected', 'requested'].includes(entry.decision));
|
|
33
|
+
const waiting = new Set(levels.filter((level) => level.state === 'waiting').map((level) => level.id));
|
|
34
|
+
const mine = decides ? [...new Set((Array.isArray(told?.mine) ? told.mine : []).filter((id) => waiting.has(id)))] : [];
|
|
35
|
+
return {
|
|
36
|
+
state: 'told',
|
|
37
|
+
status: approvalStatus(levels),
|
|
38
|
+
levels,
|
|
39
|
+
together: told?.together === true,
|
|
40
|
+
history,
|
|
41
|
+
mine,
|
|
42
|
+
...(said(told?.why) ? { why: told.why } : {}),
|
|
43
|
+
deciding: null,
|
|
44
|
+
};
|
|
45
|
+
}
|
|
46
|
+
/** Nothing told yet, for the record shown: asked. */
|
|
47
|
+
const asking = { state: 'asking', status: 'none', levels: [], together: false, history: [], mine: [], deciding: null };
|
|
48
|
+
/**
|
|
49
|
+
* A moment of a record's approval history in words, as the page's date boxes write a day — in its order and language —
|
|
50
|
+
* on its clock, the time after it: "18 Oct 2026, 10:42", with the zone's short name where it is not the browser's own.
|
|
51
|
+
*/
|
|
52
|
+
export function approvalWhen(at, messages, page) {
|
|
53
|
+
const ms = Date.parse(at);
|
|
54
|
+
if (Number.isNaN(ms))
|
|
55
|
+
return at;
|
|
56
|
+
const own = page.look?.dateOrder;
|
|
57
|
+
const order = own === 'dmy' || own === 'mdy' || own === 'ymd' ? own : messages.dateOrder;
|
|
58
|
+
const zone = page.timeZone;
|
|
59
|
+
const wall = wallTime(ms, zone);
|
|
60
|
+
const words = `${dayWords(wallDay(wall), messages, order)}${order === 'ymd' ? ' ' : ', '}${wallClock(wall)}`;
|
|
61
|
+
if (!zone || isOwnZone(zone))
|
|
62
|
+
return words;
|
|
63
|
+
const name = new Intl.DateTimeFormat(messages.locale === 'en' ? 'en-GB' : messages.locale, { timeZone: zone, timeZoneName: 'short' }).formatToParts(ms).find((part) => part.type === 'timeZoneName')?.value;
|
|
64
|
+
return name ? `${words} ${name}` : words;
|
|
65
|
+
}
|
|
66
|
+
/** A record's approvals: what the form keeps of them, and what it asks, decides and locks by them. */
|
|
67
|
+
export function formApprovals(host) {
|
|
68
|
+
const { form, messages } = host;
|
|
69
|
+
const page = form.page;
|
|
70
|
+
/** Counted at each ask: only the latest answer is kept, a save's and a load's asks crossing. */
|
|
71
|
+
let asks = 0;
|
|
72
|
+
/** A decision on its way, from the save before it to the record loaded after: a second press is the same press. */
|
|
73
|
+
let deciding = false;
|
|
74
|
+
const user = () => {
|
|
75
|
+
const person = form.user();
|
|
76
|
+
return person ? { user: { id: person.id, ...(person.name ? { name: person.name } : {}) } } : {};
|
|
77
|
+
};
|
|
78
|
+
const state = () => form.getState();
|
|
79
|
+
const model = page.data.kind === 'record' ? page.data.model : '';
|
|
80
|
+
const nameOf = (level) => state().approval?.levels.find((one) => one.id === level)?.name ?? level;
|
|
81
|
+
/** What is typed read and the person's changes saved, before a decision: null once done, or why not, in words. */
|
|
82
|
+
async function saveFirst() {
|
|
83
|
+
await form.settle();
|
|
84
|
+
const now = state();
|
|
85
|
+
if (!now.dirty.length && !Object.keys(now.unread).length && !(now.uploads ?? []).some(uploadGoing))
|
|
86
|
+
return null;
|
|
87
|
+
if (await form.save())
|
|
88
|
+
return null;
|
|
89
|
+
const after = state();
|
|
90
|
+
return after.saveProblem?.message ?? after.error ?? Object.values(after.errors)[0] ?? '';
|
|
91
|
+
}
|
|
92
|
+
async function ask() {
|
|
93
|
+
const source = host.dataSource;
|
|
94
|
+
const recordId = state().recordId;
|
|
95
|
+
if (!source?.approvals || recordId == null || !model) {
|
|
96
|
+
if (state().approval)
|
|
97
|
+
host.set({ approval: null });
|
|
98
|
+
return;
|
|
99
|
+
}
|
|
100
|
+
const shown = form.recordShown();
|
|
101
|
+
const seq = ++asks;
|
|
102
|
+
const before = state().approval;
|
|
103
|
+
// Asked again for the record shown — after a save, a decision, a load — what it told stays meanwhile: what waits stays locked.
|
|
104
|
+
host.set({ approval: before && before.state === 'told' ? { ...before, state: 'asking' } : asking });
|
|
105
|
+
try {
|
|
106
|
+
const told = await source.approvals({ model, recordId, ...user() });
|
|
107
|
+
if (!shown() || seq !== asks)
|
|
108
|
+
return;
|
|
109
|
+
host.set({ approval: approvalOf(told, !!source.decide) });
|
|
110
|
+
}
|
|
111
|
+
catch (error) {
|
|
112
|
+
if (!shown() || seq !== asks)
|
|
113
|
+
return;
|
|
114
|
+
// Not told: nothing locked by it, and the page says they could not be read.
|
|
115
|
+
host.set({ approval: { ...asking, state: 'failed', error: saveProblemOf(error).message } });
|
|
116
|
+
}
|
|
117
|
+
}
|
|
118
|
+
async function decide(level, decision, reason) {
|
|
119
|
+
const source = host.dataSource;
|
|
120
|
+
const recordId = state().recordId;
|
|
121
|
+
if (!source?.decide || recordId == null || !model)
|
|
122
|
+
throw new Error('The data source has no decide()');
|
|
123
|
+
const now = state().approval;
|
|
124
|
+
if (!now?.mine.includes(level))
|
|
125
|
+
throw new Error(fill(messages.approvalNotYours, { level: nameOf(level) }));
|
|
126
|
+
const why = typeof reason === 'string' ? reason.trim() : '';
|
|
127
|
+
if (decision === 'rejected' && !why)
|
|
128
|
+
throw new Error(messages.approvalReasonNeeded);
|
|
129
|
+
// One decision at a time: a second press while one is on its way — its save, its answer — is the same press.
|
|
130
|
+
if (deciding || now.deciding)
|
|
131
|
+
return;
|
|
132
|
+
deciding = true;
|
|
133
|
+
try {
|
|
134
|
+
await decided(source.decide.bind(source), recordId, level, decision, why);
|
|
135
|
+
}
|
|
136
|
+
finally {
|
|
137
|
+
deciding = false;
|
|
138
|
+
}
|
|
139
|
+
}
|
|
140
|
+
async function decided(send, recordId, level, decision, why) {
|
|
141
|
+
const shown = form.recordShown();
|
|
142
|
+
// Decided on the record as it is saved: what is typed read, and the person's changes saved, first.
|
|
143
|
+
const refused = await saveFirst();
|
|
144
|
+
if (refused !== null)
|
|
145
|
+
throw new Error(refused);
|
|
146
|
+
if (!shown())
|
|
147
|
+
return;
|
|
148
|
+
const at = state().approval;
|
|
149
|
+
if (!at)
|
|
150
|
+
return;
|
|
151
|
+
host.set({ approval: { ...at, deciding: { level, decision } } });
|
|
152
|
+
try {
|
|
153
|
+
const answer = await send({ model, recordId, level, decision, ...(why ? { reason: why } : {}), ...user() });
|
|
154
|
+
if (!shown())
|
|
155
|
+
return;
|
|
156
|
+
const after = state().approval;
|
|
157
|
+
host.set({ approval: answer && Array.isArray(answer.levels) ? approvalOf(answer, true) : after ? { ...after, deciding: null } : null });
|
|
158
|
+
}
|
|
159
|
+
catch (error) {
|
|
160
|
+
const after = state().approval;
|
|
161
|
+
if (shown() && after)
|
|
162
|
+
host.set({ approval: { ...after, deciding: null } });
|
|
163
|
+
throw new Error(saveProblemOf(error).message, { cause: error });
|
|
164
|
+
}
|
|
165
|
+
// The decision may have moved the record on — its state, what may be changed: loaded again, its approvals with it.
|
|
166
|
+
if (shown())
|
|
167
|
+
await host.reload();
|
|
168
|
+
}
|
|
169
|
+
function locks(name) {
|
|
170
|
+
const own = page.approval;
|
|
171
|
+
return !!own && own.lock !== false && state().approval?.status === 'waiting' && !(own.open ?? []).includes(name);
|
|
172
|
+
}
|
|
173
|
+
return {
|
|
174
|
+
ask,
|
|
175
|
+
decide,
|
|
176
|
+
locks,
|
|
177
|
+
lockWords: (name) => (locks(name) ? messages.approvalLocked : null),
|
|
178
|
+
};
|
|
179
|
+
}
|
|
180
|
+
//# sourceMappingURL=form-approvals.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"form-approvals.mjs","sourceRoot":"","sources":["../../../../../../libs/core/src/lib/record/form-approvals.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,aAAa,EAAE,MAAM,eAAe,CAAC;AAG9C,OAAO,EAAE,IAAI,EAAiB,MAAM,YAAY,CAAC;AACjD,OAAO,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AAEvC,OAAO,EAAE,SAAS,EAAE,SAAS,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAC;AAClE,OAAO,EAAE,WAAW,EAAE,MAAM,WAAW,CAAC;AAoCxC,MAAM,MAAM,GAAkC,CAAC,SAAS,EAAE,OAAO,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,CAAC,CAAC;AACtG,MAAM,IAAI,GAAG,CAAC,KAAc,EAAmB,EAAE,CAAC,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,CAAC,IAAI,EAAE,KAAK,EAAE,CAAC;AAEnG,+HAA+H;AAC/H,SAAS,OAAO,CAAC,IAAa;IAC5B,MAAM,KAAK,GAAG,IAAqC,CAAC;IACpD,IAAI,CAAC,KAAK,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC,KAA2B,CAAC;QAAE,OAAO,IAAI,CAAC;IAClG,MAAM,SAAS,GAAe,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,GAAG,EAAmB,EAAE,CAAC,CAAC,CAAC,GAAG,IAAI,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC;IAChJ,OAAO,EAAE,EAAE,EAAE,KAAK,CAAC,EAAE,EAAE,IAAI,EAAE,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,EAAE,EAAE,SAAS,EAAE,KAAK,EAAE,KAAK,CAAC,KAAK,KAAK,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,KAAK,EAAE,KAAK,EAAE,KAAK,CAAC,KAA2B,EAAE,CAAC;AAC7K,CAAC;AAED,6GAA6G;AAC7G,MAAM,UAAU,cAAc,CAAC,MAAgC;IAC7D,MAAM,KAAK,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,KAAK,KAAK,SAAS,CAAC,CAAC;IAClE,IAAI,CAAC,KAAK,CAAC,MAAM;QAAE,OAAO,MAAM,CAAC;IACjC,IAAI,KAAK,CAAC,IAAI,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,KAAK,KAAK,UAAU,CAAC;QAAE,OAAO,UAAU,CAAC;IACzE,IAAI,KAAK,CAAC,IAAI,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,KAAK,KAAK,SAAS,CAAC;QAAE,OAAO,SAAS,CAAC;IACvE,IAAI,KAAK,CAAC,KAAK,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,KAAK,KAAK,UAAU,CAAC;QAAE,OAAO,UAAU,CAAC;IAC1E,OAAO,QAAQ,CAAC;AAClB,CAAC;AAED,4IAA4I;AAC5I,MAAM,UAAU,UAAU,CAAC,IAAkC,EAAE,OAAgB;IAC7E,MAAM,MAAM,GAAG,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,MAAM,CAAC,CAAC,KAAK,EAA0B,EAAE,CAAC,KAAK,KAAK,IAAI,CAAC,CAAC;IACvI,MAAM,OAAO,GAAG,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,KAAK,EAA0B,EAAE,CAAC,CAAC,CAAC,KAAK,IAAI,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,IAAI,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,IAAI,CAAC,UAAU,EAAE,UAAU,EAAE,WAAW,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAC;IAC5N,MAAM,OAAO,GAAG,IAAI,GAAG,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,KAAK,KAAK,SAAS,CAAC,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,CAAC;IACtG,MAAM,IAAI,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC,GAAG,IAAI,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;IACvH,OAAO;QACL,KAAK,EAAE,MAAM;QACb,MAAM,EAAE,cAAc,CAAC,MAAM,CAAC;QAC9B,MAAM;QACN,QAAQ,EAAE,IAAI,EAAE,QAAQ,KAAK,IAAI;QACjC,OAAO;QACP,IAAI;QACJ,GAAG,CAAC,IAAI,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,GAAG,EAAE,IAAI,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QAC7C,QAAQ,EAAE,IAAI;KACf,CAAC;AACJ,CAAC;AAED,qDAAqD;AACrD,MAAM,MAAM,GAAiB,EAAE,KAAK,EAAE,QAAQ,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,EAAE,EAAE,QAAQ,EAAE,KAAK,EAAE,OAAO,EAAE,EAAE,EAAE,IAAI,EAAE,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;AAErI;;;GAGG;AACH,MAAM,UAAU,YAAY,CAAC,EAAU,EAAE,QAAkB,EAAE,IAAU;IACrE,MAAM,EAAE,GAAG,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;IAC1B,IAAI,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC;QAAE,OAAO,EAAE,CAAC;IAChC,MAAM,GAAG,GAAY,IAAI,CAAC,IAAI,EAAE,SAAS,CAAC;IAC1C,MAAM,KAAK,GAA0B,GAAG,KAAK,KAAK,IAAI,GAAG,KAAK,KAAK,IAAI,GAAG,KAAK,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,QAAQ,CAAC,SAAS,CAAC;IAChH,MAAM,IAAI,GAAG,IAAI,CAAC,QAAQ,CAAC;IAC3B,MAAM,IAAI,GAAG,QAAQ,CAAC,EAAE,EAAE,IAAI,CAAC,CAAC;IAChC,MAAM,KAAK,GAAG,GAAG,QAAQ,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,QAAQ,EAAE,KAAK,CAAC,GAAG,KAAK,KAAK,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,GAAG,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC;IAC7G,IAAI,CAAC,IAAI,IAAI,SAAS,CAAC,IAAI,CAAC;QAAE,OAAO,KAAK,CAAC;IAC3C,MAAM,IAAI,GAAG,IAAI,IAAI,CAAC,cAAc,CAAC,QAAQ,CAAC,MAAM,KAAK,IAAI,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,QAAQ,CAAC,MAAM,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,YAAY,EAAE,OAAO,EAAE,CAAC,CAAC,aAAa,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,KAAK,cAAc,CAAC,EAAE,KAAK,CAAC;IAC5M,OAAO,IAAI,CAAC,CAAC,CAAC,GAAG,KAAK,IAAI,IAAI,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC;AAC3C,CAAC;AAED,sGAAsG;AACtG,MAAM,UAAU,aAAa,CAAC,IAAmB;IAC/C,MAAM,EAAE,IAAI,EAAE,QAAQ,EAAE,GAAG,IAAI,CAAC;IAChC,MAAM,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC;IACvB,gGAAgG;IAChG,IAAI,IAAI,GAAG,CAAC,CAAC;IACb,mHAAmH;IACnH,IAAI,QAAQ,GAAG,KAAK,CAAC;IACrB,MAAM,IAAI,GAAG,GAAG,EAAE;QAChB,MAAM,MAAM,GAAG,IAAI,CAAC,IAAI,EAAE,CAAC;QAC3B,OAAO,MAAM,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,EAAE,EAAE,EAAE,MAAM,CAAC,EAAE,EAAE,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,MAAM,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;IAClG,CAAC,CAAC;IACF,MAAM,KAAK,GAAG,GAAG,EAAE,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAC;IACpC,MAAM,KAAK,GAAG,IAAI,CAAC,IAAI,CAAC,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC;IACjE,MAAM,MAAM,GAAG,CAAC,KAAa,EAAE,EAAE,CAAC,KAAK,EAAE,CAAC,QAAQ,EAAE,MAAM,CAAC,IAAI,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,EAAE,KAAK,KAAK,CAAC,EAAE,IAAI,IAAI,KAAK,CAAC;IAE1G,kHAAkH;IAClH,KAAK,UAAU,SAAS;QACtB,MAAM,IAAI,CAAC,MAAM,EAAE,CAAC;QACpB,MAAM,GAAG,GAAG,KAAK,EAAE,CAAC;QACpB,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,MAAM,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,MAAM,IAAI,CAAC,CAAC,GAAG,CAAC,OAAO,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,WAAW,CAAC;YAAE,OAAO,IAAI,CAAC;QAChH,IAAI,MAAM,IAAI,CAAC,IAAI,EAAE;YAAE,OAAO,IAAI,CAAC;QACnC,MAAM,KAAK,GAAG,KAAK,EAAE,CAAC;QACtB,OAAO,KAAK,CAAC,WAAW,EAAE,OAAO,IAAI,KAAK,CAAC,KAAK,IAAI,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;IAC3F,CAAC;IAED,KAAK,UAAU,GAAG;QAChB,MAAM,MAAM,GAAG,IAAI,CAAC,UAAU,CAAC;QAC/B,MAAM,QAAQ,GAAG,KAAK,EAAE,CAAC,QAAQ,CAAC;QAClC,IAAI,CAAC,MAAM,EAAE,SAAS,IAAI,QAAQ,IAAI,IAAI,IAAI,CAAC,KAAK,EAAE,CAAC;YACrD,IAAI,KAAK,EAAE,CAAC,QAAQ;gBAAE,IAAI,CAAC,GAAG,CAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAC;YACnD,OAAO;QACT,CAAC;QACD,MAAM,KAAK,GAAG,IAAI,CAAC,WAAW,EAAE,CAAC;QACjC,MAAM,GAAG,GAAG,EAAE,IAAI,CAAC;QACnB,MAAM,MAAM,GAAG,KAAK,EAAE,CAAC,QAAQ,CAAC;QAChC,+HAA+H;QAC/H,IAAI,CAAC,GAAG,CAAC,EAAE,QAAQ,EAAE,MAAM,IAAI,MAAM,CAAC,KAAK,KAAK,MAAM,CAAC,CAAC,CAAC,EAAE,GAAG,MAAM,EAAE,KAAK,EAAE,QAAQ,EAAE,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC;QACpG,IAAI,CAAC;YACH,MAAM,IAAI,GAAG,MAAM,MAAM,CAAC,SAAS,CAAC,EAAE,KAAK,EAAE,QAAQ,EAAE,GAAG,IAAI,EAAE,EAAE,CAAC,CAAC;YACpE,IAAI,CAAC,KAAK,EAAE,IAAI,GAAG,KAAK,IAAI;gBAAE,OAAO;YACrC,IAAI,CAAC,GAAG,CAAC,EAAE,QAAQ,EAAE,UAAU,CAAC,IAAI,EAAE,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;QAC5D,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,IAAI,CAAC,KAAK,EAAE,IAAI,GAAG,KAAK,IAAI;gBAAE,OAAO;YACrC,4EAA4E;YAC5E,IAAI,CAAC,GAAG,CAAC,EAAE,QAAQ,EAAE,EAAE,GAAG,MAAM,EAAE,KAAK,EAAE,QAAQ,EAAE,KAAK,EAAE,aAAa,CAAC,KAAK,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC;QAC9F,CAAC;IACH,CAAC;IAED,KAAK,UAAU,MAAM,CAAC,KAAa,EAAE,QAA0B,EAAE,MAAe;QAC9E,MAAM,MAAM,GAAG,IAAI,CAAC,UAAU,CAAC;QAC/B,MAAM,QAAQ,GAAG,KAAK,EAAE,CAAC,QAAQ,CAAC;QAClC,IAAI,CAAC,MAAM,EAAE,MAAM,IAAI,QAAQ,IAAI,IAAI,IAAI,CAAC,KAAK;YAAE,MAAM,IAAI,KAAK,CAAC,iCAAiC,CAAC,CAAC;QACtG,MAAM,GAAG,GAAG,KAAK,EAAE,CAAC,QAAQ,CAAC;QAC7B,IAAI,CAAC,GAAG,EAAE,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC;YAAE,MAAM,IAAI,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,gBAAgB,EAAE,EAAE,KAAK,EAAE,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,CAAC;QAC3G,MAAM,GAAG,GAAG,OAAO,MAAM,KAAK,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QAC5D,IAAI,QAAQ,KAAK,UAAU,IAAI,CAAC,GAAG;YAAE,MAAM,IAAI,KAAK,CAAC,QAAQ,CAAC,oBAAoB,CAAC,CAAC;QACpF,6GAA6G;QAC7G,IAAI,QAAQ,IAAI,GAAG,CAAC,QAAQ;YAAE,OAAO;QACrC,QAAQ,GAAG,IAAI,CAAC;QAChB,IAAI,CAAC;YACH,MAAM,OAAO,CAAC,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,QAAQ,EAAE,KAAK,EAAE,QAAQ,EAAE,GAAG,CAAC,CAAC;QAC5E,CAAC;gBAAS,CAAC;YACT,QAAQ,GAAG,KAAK,CAAC;QACnB,CAAC;IACH,CAAC;IAED,KAAK,UAAU,OAAO,CAAC,IAAuC,EAAE,QAA4C,EAAE,KAAa,EAAE,QAA0B,EAAE,GAAW;QAClK,MAAM,KAAK,GAAG,IAAI,CAAC,WAAW,EAAE,CAAC;QACjC,mGAAmG;QACnG,MAAM,OAAO,GAAG,MAAM,SAAS,EAAE,CAAC;QAClC,IAAI,OAAO,KAAK,IAAI;YAAE,MAAM,IAAI,KAAK,CAAC,OAAO,CAAC,CAAC;QAC/C,IAAI,CAAC,KAAK,EAAE;YAAE,OAAO;QACrB,MAAM,EAAE,GAAG,KAAK,EAAE,CAAC,QAAQ,CAAC;QAC5B,IAAI,CAAC,EAAE;YAAE,OAAO;QAChB,IAAI,CAAC,GAAG,CAAC,EAAE,QAAQ,EAAE,EAAE,GAAG,EAAE,EAAE,QAAQ,EAAE,EAAE,KAAK,EAAE,QAAQ,EAAE,EAAE,EAAE,CAAC,CAAC;QACjE,IAAI,CAAC;YACH,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,EAAE,KAAK,EAAE,QAAQ,EAAE,KAAK,EAAE,QAAQ,EAAE,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,GAAG,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,GAAG,IAAI,EAAE,EAAE,CAAC,CAAC;YAC5G,IAAI,CAAC,KAAK,EAAE;gBAAE,OAAO;YACrB,MAAM,KAAK,GAAG,KAAK,EAAE,CAAC,QAAQ,CAAC;YAC/B,IAAI,CAAC,GAAG,CAAC,EAAE,QAAQ,EAAE,MAAM,IAAI,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,GAAG,KAAK,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC;QAC1I,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,MAAM,KAAK,GAAG,KAAK,EAAE,CAAC,QAAQ,CAAC;YAC/B,IAAI,KAAK,EAAE,IAAI,KAAK;gBAAE,IAAI,CAAC,GAAG,CAAC,EAAE,QAAQ,EAAE,EAAE,GAAG,KAAK,EAAE,QAAQ,EAAE,IAAI,EAAE,EAAE,CAAC,CAAC;YAC3E,MAAM,IAAI,KAAK,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC,OAAO,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC,CAAC;QAClE,CAAC;QACD,mHAAmH;QACnH,IAAI,KAAK,EAAE;YAAE,MAAM,IAAI,CAAC,MAAM,EAAE,CAAC;IACnC,CAAC;IAED,SAAS,KAAK,CAAC,IAAY;QACzB,MAAM,GAAG,GAAG,IAAI,CAAC,QAAQ,CAAC;QAC1B,OAAO,CAAC,CAAC,GAAG,IAAI,GAAG,CAAC,IAAI,KAAK,KAAK,IAAI,KAAK,EAAE,CAAC,QAAQ,EAAE,MAAM,KAAK,SAAS,IAAI,CAAC,CAAC,GAAG,CAAC,IAAI,IAAI,EAAE,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;IACnH,CAAC;IAED,OAAO;QACL,GAAG;QACH,MAAM;QACN,KAAK;QACL,SAAS,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,cAAc,CAAC,CAAC,CAAC,IAAI,CAAC;KACpE,CAAC;AACJ,CAAC"}
|
|
@@ -6,6 +6,7 @@ import { type Messages } from './messages.mjs';
|
|
|
6
6
|
import type { Stopped } from './run.mjs';
|
|
7
7
|
import type { Scheduler } from './scheduler.mjs';
|
|
8
8
|
import { type FormLimits, type Seats } from './taking.mjs';
|
|
9
|
+
import type { DateOrder } from './input-rules.mjs';
|
|
9
10
|
import type { Value } from './values.mjs';
|
|
10
11
|
/**
|
|
11
12
|
* A form's limits (the limits part): when the page takes answers and each choice's places, worked out from the page,
|
|
@@ -69,13 +70,9 @@ export declare function fullChosen(field: Page['fields'][string] | undefined, pl
|
|
|
69
70
|
/** A form's limits: what it tells of them, and what it asks and refuses by them. */
|
|
70
71
|
export declare function formLimits(host: LimitsHost): Limits;
|
|
71
72
|
/**
|
|
72
|
-
* A day or a day and a time in words,
|
|
73
|
-
*
|
|
74
|
-
|
|
75
|
-
export declare function whenWords(written: string, at: number, messages: Messages, zone?: string): string;
|
|
76
|
-
/**
|
|
77
|
-
* Why a page takes no answers now, in the messages' words — "This form opens on 1 November 2026 at 09:00.", "This form
|
|
78
|
-
* closed on 20 November 2026.", "This form has all the responses it takes.", "You have sent your answers to this form
|
|
79
|
-
* already." — or null while it takes them (or still asks).
|
|
73
|
+
* A day or a day and a time in words, as the page's date boxes write one (`dayWords`): in its order (`order`, the
|
|
74
|
+
* page's `look.dateOrder`, else the messages'), its language, on its clock — "20 Nov 2026", "1 Nov 2026, 09:00" — with
|
|
75
|
+
* the zone's short name where it is not the browser's own ("09:00 EET").
|
|
80
76
|
*/
|
|
77
|
+
export declare function whenWords(written: string, at: number, messages: Messages, zone?: string, order?: DateOrder): string;
|
|
81
78
|
export declare function takingWords(page: Page, limits: FormLimits | null | undefined, messages: Messages): string | null;
|
|
@@ -6,6 +6,7 @@ import { type Messages } from './messages';
|
|
|
6
6
|
import type { Stopped } from './run';
|
|
7
7
|
import type { Scheduler } from './scheduler';
|
|
8
8
|
import { type FormLimits, type Seats } from './taking';
|
|
9
|
+
import type { DateOrder } from './input-rules';
|
|
9
10
|
import type { Value } from './values';
|
|
10
11
|
/**
|
|
11
12
|
* A form's limits (the limits part): when the page takes answers and each choice's places, worked out from the page,
|
|
@@ -69,13 +70,9 @@ export declare function fullChosen(field: Page['fields'][string] | undefined, pl
|
|
|
69
70
|
/** A form's limits: what it tells of them, and what it asks and refuses by them. */
|
|
70
71
|
export declare function formLimits(host: LimitsHost): Limits;
|
|
71
72
|
/**
|
|
72
|
-
* A day or a day and a time in words,
|
|
73
|
-
*
|
|
74
|
-
|
|
75
|
-
export declare function whenWords(written: string, at: number, messages: Messages, zone?: string): string;
|
|
76
|
-
/**
|
|
77
|
-
* Why a page takes no answers now, in the messages' words — "This form opens on 1 November 2026 at 09:00.", "This form
|
|
78
|
-
* closed on 20 November 2026.", "This form has all the responses it takes.", "You have sent your answers to this form
|
|
79
|
-
* already." — or null while it takes them (or still asks).
|
|
73
|
+
* A day or a day and a time in words, as the page's date boxes write one (`dayWords`): in its order (`order`, the
|
|
74
|
+
* page's `look.dateOrder`, else the messages'), its language, on its clock — "20 Nov 2026", "1 Nov 2026, 09:00" — with
|
|
75
|
+
* the zone's short name where it is not the browser's own ("09:00 EET").
|
|
80
76
|
*/
|
|
77
|
+
export declare function whenWords(written: string, at: number, messages: Messages, zone?: string, order?: DateOrder): string;
|
|
81
78
|
export declare function takingWords(page: Page, limits: FormLimits | null | undefined, messages: Messages): string | null;
|
|
@@ -8,6 +8,7 @@ exports.takingWords = takingWords;
|
|
|
8
8
|
const choice_options_1 = require("../format/choice-options");
|
|
9
9
|
const messages_1 = require("./messages");
|
|
10
10
|
const taking_1 = require("./taking");
|
|
11
|
+
const day_words_1 = require("./day-words");
|
|
11
12
|
const zones_1 = require("./zones");
|
|
12
13
|
/** What a form tells of its limits now: from the page, the clock, the options it shows and the source's last answer. */
|
|
13
14
|
function limitsNow(page, now, told, asking, optionsOf) {
|
|
@@ -187,39 +188,37 @@ function formLimits(host) {
|
|
|
187
188
|
};
|
|
188
189
|
}
|
|
189
190
|
/**
|
|
190
|
-
* A day or a day and a time in words,
|
|
191
|
-
*
|
|
191
|
+
* A day or a day and a time in words, as the page's date boxes write one (`dayWords`): in its order (`order`, the
|
|
192
|
+
* page's `look.dateOrder`, else the messages'), its language, on its clock — "20 Nov 2026", "1 Nov 2026, 09:00" — with
|
|
193
|
+
* the zone's short name where it is not the browser's own ("09:00 EET").
|
|
192
194
|
*/
|
|
193
|
-
function whenWords(written, at, messages, zone) {
|
|
194
|
-
if ((0, taking_1.dayAlone)(written))
|
|
195
|
-
|
|
196
|
-
|
|
197
|
-
}
|
|
198
|
-
|
|
199
|
-
|
|
200
|
-
|
|
201
|
-
|
|
202
|
-
day: 'numeric',
|
|
203
|
-
hour: '2-digit',
|
|
204
|
-
minute: '2-digit',
|
|
205
|
-
hourCycle: 'h23',
|
|
206
|
-
numberingSystem: 'latn',
|
|
207
|
-
...(zone ? { timeZone: zone } : {}),
|
|
208
|
-
...(elsewhere ? { timeZoneName: 'short' } : {}),
|
|
209
|
-
}).format(at);
|
|
195
|
+
function whenWords(written, at, messages, zone, order = messages.dateOrder ?? 'dmy') {
|
|
196
|
+
if ((0, taking_1.dayAlone)(written))
|
|
197
|
+
return (0, day_words_1.dayWords)(written.slice(0, 10), messages, order);
|
|
198
|
+
const wall = (0, zones_1.wallTime)(at, zone);
|
|
199
|
+
const words = `${(0, day_words_1.dayWords)((0, zones_1.wallDay)(wall), messages, order)}${order === 'ymd' ? ' ' : ', '}${(0, zones_1.wallClock)(wall)}`;
|
|
200
|
+
if (!zone || (0, zones_1.isOwnZone)(zone))
|
|
201
|
+
return words;
|
|
202
|
+
const name = new Intl.DateTimeFormat(messages.locale === 'en' ? 'en-GB' : messages.locale, { timeZone: zone, timeZoneName: 'short' }).formatToParts(at).find((part) => part.type === 'timeZoneName')?.value;
|
|
203
|
+
return name ? `${words} ${name}` : words;
|
|
210
204
|
}
|
|
211
205
|
/**
|
|
212
206
|
* Why a page takes no answers now, in the messages' words — "This form opens on 1 November 2026 at 09:00.", "This form
|
|
213
207
|
* closed on 20 November 2026.", "This form has all the responses it takes.", "You have sent your answers to this form
|
|
214
208
|
* already." — or null while it takes them (or still asks).
|
|
215
209
|
*/
|
|
210
|
+
/** The order a page writes its days in: its own `look.dateOrder`, else its messages'. */
|
|
211
|
+
const orderOf = (page, messages) => {
|
|
212
|
+
const own = page.look?.dateOrder;
|
|
213
|
+
return own === 'dmy' || own === 'mdy' || own === 'ymd' ? own : messages.dateOrder;
|
|
214
|
+
};
|
|
216
215
|
function takingWords(page, limits, messages) {
|
|
217
216
|
const written = page.limits;
|
|
218
217
|
switch (limits?.state) {
|
|
219
218
|
case 'soon':
|
|
220
|
-
return written?.opens && limits.opens ? (0, messages_1.fill)(messages.formOpens, { when: whenWords(written.opens, Date.parse(limits.opens), messages, page.timeZone) }) : null;
|
|
219
|
+
return written?.opens && limits.opens ? (0, messages_1.fill)(messages.formOpens, { when: whenWords(written.opens, Date.parse(limits.opens), messages, page.timeZone, orderOf(page, messages)) }) : null;
|
|
221
220
|
case 'closed':
|
|
222
|
-
return written?.closes && limits.closes ? (0, messages_1.fill)(messages.formClosed, { when: whenWords(written.closes, Date.parse(limits.closes), messages, page.timeZone) }) : null;
|
|
221
|
+
return written?.closes && limits.closes ? (0, messages_1.fill)(messages.formClosed, { when: whenWords(written.closes, Date.parse(limits.closes), messages, page.timeZone, orderOf(page, messages)) }) : null;
|
|
223
222
|
case 'full':
|
|
224
223
|
return messages.formFull;
|
|
225
224
|
case 'sent':
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"form-limits.js","sourceRoot":"","sources":["../../../../../../libs/core/src/lib/record/form-limits.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"form-limits.js","sourceRoot":"","sources":["../../../../../../libs/core/src/lib/record/form-limits.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,7 +1,8 @@
|
|
|
1
1
|
import { choiceOptions, optionsField, optionsList } from '../format/choice-options.mjs';
|
|
2
2
|
import { fill } from './messages.mjs';
|
|
3
3
|
import { countsAsked, dayAlone, limitInstant, seatedFields } from './taking.mjs';
|
|
4
|
-
import {
|
|
4
|
+
import { dayWords } from './day-words.mjs';
|
|
5
|
+
import { isOwnZone, wallClock, wallDay, wallTime } from './zones.mjs';
|
|
5
6
|
/** What a form tells of its limits now: from the page, the clock, the options it shows and the source's last answer. */
|
|
6
7
|
export function limitsNow(page, now, told, asking, optionsOf) {
|
|
7
8
|
const limits = page.data.kind === 'responses' ? page.limits : undefined;
|
|
@@ -180,39 +181,37 @@ export function formLimits(host) {
|
|
|
180
181
|
};
|
|
181
182
|
}
|
|
182
183
|
/**
|
|
183
|
-
* A day or a day and a time in words,
|
|
184
|
-
*
|
|
184
|
+
* A day or a day and a time in words, as the page's date boxes write one (`dayWords`): in its order (`order`, the
|
|
185
|
+
* page's `look.dateOrder`, else the messages'), its language, on its clock — "20 Nov 2026", "1 Nov 2026, 09:00" — with
|
|
186
|
+
* the zone's short name where it is not the browser's own ("09:00 EET").
|
|
185
187
|
*/
|
|
186
|
-
export function whenWords(written, at, messages, zone) {
|
|
187
|
-
if (dayAlone(written))
|
|
188
|
-
|
|
189
|
-
|
|
190
|
-
}
|
|
191
|
-
|
|
192
|
-
|
|
193
|
-
|
|
194
|
-
|
|
195
|
-
day: 'numeric',
|
|
196
|
-
hour: '2-digit',
|
|
197
|
-
minute: '2-digit',
|
|
198
|
-
hourCycle: 'h23',
|
|
199
|
-
numberingSystem: 'latn',
|
|
200
|
-
...(zone ? { timeZone: zone } : {}),
|
|
201
|
-
...(elsewhere ? { timeZoneName: 'short' } : {}),
|
|
202
|
-
}).format(at);
|
|
188
|
+
export function whenWords(written, at, messages, zone, order = messages.dateOrder ?? 'dmy') {
|
|
189
|
+
if (dayAlone(written))
|
|
190
|
+
return dayWords(written.slice(0, 10), messages, order);
|
|
191
|
+
const wall = wallTime(at, zone);
|
|
192
|
+
const words = `${dayWords(wallDay(wall), messages, order)}${order === 'ymd' ? ' ' : ', '}${wallClock(wall)}`;
|
|
193
|
+
if (!zone || isOwnZone(zone))
|
|
194
|
+
return words;
|
|
195
|
+
const name = new Intl.DateTimeFormat(messages.locale === 'en' ? 'en-GB' : messages.locale, { timeZone: zone, timeZoneName: 'short' }).formatToParts(at).find((part) => part.type === 'timeZoneName')?.value;
|
|
196
|
+
return name ? `${words} ${name}` : words;
|
|
203
197
|
}
|
|
204
198
|
/**
|
|
205
199
|
* Why a page takes no answers now, in the messages' words — "This form opens on 1 November 2026 at 09:00.", "This form
|
|
206
200
|
* closed on 20 November 2026.", "This form has all the responses it takes.", "You have sent your answers to this form
|
|
207
201
|
* already." — or null while it takes them (or still asks).
|
|
208
202
|
*/
|
|
203
|
+
/** The order a page writes its days in: its own `look.dateOrder`, else its messages'. */
|
|
204
|
+
const orderOf = (page, messages) => {
|
|
205
|
+
const own = page.look?.dateOrder;
|
|
206
|
+
return own === 'dmy' || own === 'mdy' || own === 'ymd' ? own : messages.dateOrder;
|
|
207
|
+
};
|
|
209
208
|
export function takingWords(page, limits, messages) {
|
|
210
209
|
const written = page.limits;
|
|
211
210
|
switch (limits?.state) {
|
|
212
211
|
case 'soon':
|
|
213
|
-
return written?.opens && limits.opens ? fill(messages.formOpens, { when: whenWords(written.opens, Date.parse(limits.opens), messages, page.timeZone) }) : null;
|
|
212
|
+
return written?.opens && limits.opens ? fill(messages.formOpens, { when: whenWords(written.opens, Date.parse(limits.opens), messages, page.timeZone, orderOf(page, messages)) }) : null;
|
|
214
213
|
case 'closed':
|
|
215
|
-
return written?.closes && limits.closes ? fill(messages.formClosed, { when: whenWords(written.closes, Date.parse(limits.closes), messages, page.timeZone) }) : null;
|
|
214
|
+
return written?.closes && limits.closes ? fill(messages.formClosed, { when: whenWords(written.closes, Date.parse(limits.closes), messages, page.timeZone, orderOf(page, messages)) }) : null;
|
|
216
215
|
case 'full':
|
|
217
216
|
return messages.formFull;
|
|
218
217
|
case 'sent':
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"form-limits.mjs","sourceRoot":"","sources":["../../../../../../libs/core/src/lib/record/form-limits.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"form-limits.mjs","sourceRoot":"","sources":["../../../../../../libs/core/src/lib/record/form-limits.ts"],"names":[],"mappings":"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"}
|
|
@@ -8,8 +8,9 @@ import { type AppFunctions } from '../expression/app-functions.mjs';
|
|
|
8
8
|
import { type AskedFor } from './compute.mjs';
|
|
9
9
|
import { type FieldTone, type LineState } from './cells.mjs';
|
|
10
10
|
import { type Messages } from './messages.mjs';
|
|
11
|
-
import { type DataSource, type RecordChanges, type RecordPermissions, type RecordVersion, type ResolvedFilter, type SaveProblem, type BotReport, type SlotsResult, type UploadFile, type DuplicateMatch, type MergeResult, type SavedDraft } from './data-source.mjs';
|
|
11
|
+
import { type DataSource, type RecordChanges, type RecordPermissions, type RecordVersion, type ResolvedFilter, type SaveProblem, type BotReport, type SlotsResult, type UploadFile, type DuplicateMatch, type MergeResult, type SavedDraft, type ApprovalDecision } from './data-source.mjs';
|
|
12
12
|
import { type FormLimits } from './taking.mjs';
|
|
13
|
+
import { type FormApproval } from './approving.mjs';
|
|
13
14
|
import { type WaitsFor } from './waits.mjs';
|
|
14
15
|
import { type FileUpload, type UploadHow } from './uploads.mjs';
|
|
15
16
|
import { type Scheduler } from './scheduler.mjs';
|
|
@@ -123,6 +124,12 @@ export interface FormState {
|
|
|
123
124
|
readonly key: string;
|
|
124
125
|
readonly missing?: boolean;
|
|
125
126
|
} | null;
|
|
127
|
+
/**
|
|
128
|
+
* The record's approvals, on a page with `approval` whose data source tells them (`approvals`): its levels and where
|
|
129
|
+
* each stands, what was decided, the levels this person may decide, and whether it waits — when its fields lock but
|
|
130
|
+
* for those the page leaves open. Null for a new record, or a page without them.
|
|
131
|
+
*/
|
|
132
|
+
readonly approval?: FormApproval | null;
|
|
126
133
|
}
|
|
127
134
|
/** A response sent, as `FormState.sent` keeps it. */
|
|
128
135
|
export interface SentResponse {
|
|
@@ -139,6 +146,11 @@ export interface SearchOptions {
|
|
|
139
146
|
ids?: RecordId[];
|
|
140
147
|
/** Only the records named exactly the query, in any case (`SearchRequest.exact`): a typed name read as a record. */
|
|
141
148
|
exact?: boolean;
|
|
149
|
+
/**
|
|
150
|
+
* Only the records whose `field` holds the query exactly — a code read by a scanner, by the field holding the linked
|
|
151
|
+
* records' codes ("barcode") — asked through the search's filter, whatever their names.
|
|
152
|
+
*/
|
|
153
|
+
field?: string;
|
|
142
154
|
}
|
|
143
155
|
/** Text left in a box that does not read, and why, as `FormState.unread` keeps it. */
|
|
144
156
|
export interface UnreadText {
|
|
@@ -368,8 +380,8 @@ export interface FormOptions {
|
|
|
368
380
|
};
|
|
369
381
|
/**
|
|
370
382
|
* How a field's value reads inside the page's own words — a `{field}` in a label, a help, a choice, a step's title, a
|
|
371
|
-
* button, an ending — and so inside the form's messages that name a label ("How was your visit to
|
|
372
|
-
*
|
|
383
|
+
* button, an ending — and so inside the form's messages that name a label ("Please answer “How was your visit to
|
|
384
|
+
* Zamalek?”"). The viewer gives its own, as each field shows its value at rest: a choice by its label, money with its
|
|
373
385
|
* currency, a day in the page's order. Left out, a choice by its label, a link by its name, a yes or no as Yes or No,
|
|
374
386
|
* anything else as it is held.
|
|
375
387
|
*/
|
|
@@ -429,11 +441,13 @@ export interface Form {
|
|
|
429
441
|
/** What a field would be told if the form were checked now, or null when it passes. Nothing is shown. */
|
|
430
442
|
problem(field: string): string | null;
|
|
431
443
|
/**
|
|
432
|
-
* What a value worked out from others waits for while one of them holds text that does not read (`unread`)
|
|
433
|
-
*
|
|
434
|
-
*
|
|
435
|
-
*
|
|
436
|
-
*
|
|
444
|
+
* What a value worked out from others waits for while one of them holds text that does not read (`unread`), or an
|
|
445
|
+
* answer the form refuses (shown, not empty, and refused by its checks: an area under its least, a day past today):
|
|
446
|
+
* a total of the page's own (`compute`) over a table whose line says "abc" in its Quantity, a price per m² over an
|
|
447
|
+
* area of −50, or an amount the app works out as the lines change (read-only, from a source with an onchange) — the
|
|
448
|
+
* line, as people count them, and its cell. Shown, it is a dash said in words, as the table's own total waits: never
|
|
449
|
+
* an amount worked out from the value that text replaced, or from one refused. Then what is asked of the app's
|
|
450
|
+
* server for it (`asking`). Null when it shows its value.
|
|
437
451
|
*/
|
|
438
452
|
waitsFor(field: string): WaitsFor | null;
|
|
439
453
|
/**
|
|
@@ -693,6 +707,23 @@ export interface Form {
|
|
|
693
707
|
* show what it tells (`limits`). The form asks it itself as it opens, before its answers go, and after they went.
|
|
694
708
|
*/
|
|
695
709
|
refreshLimits(): Promise<void>;
|
|
710
|
+
/**
|
|
711
|
+
* Ask the data source's `approvals` again for the record shown, and keep what it tells (`approval`). The form asks it
|
|
712
|
+
* itself as a saved record is shown, after each save, and after a decision.
|
|
713
|
+
*/
|
|
714
|
+
refreshApprovals(): Promise<void>;
|
|
715
|
+
/**
|
|
716
|
+
* Decide at a level of the record's approvals this person may decide now (`approval.mine`): approved, or rejected
|
|
717
|
+
* with why — a rejection always says why. What is typed is read and the person's changes saved first; the source's
|
|
718
|
+
* `decide` takes it; the record is loaded again after, its approvals with it. Rejects in words where the level is not
|
|
719
|
+
* theirs to decide now, a rejection gives no reason, the save is refused, or the source refused the decision.
|
|
720
|
+
*/
|
|
721
|
+
decide(level: string, decision: ApprovalDecision, reason?: string): Promise<void>;
|
|
722
|
+
/**
|
|
723
|
+
* What a field's lock says while the record waits for approval — locked but for the fields the page leaves open
|
|
724
|
+
* (`approval.open`) — or null where no approval locks it.
|
|
725
|
+
*/
|
|
726
|
+
approvalLock(name: string): string | null;
|
|
696
727
|
/**
|
|
697
728
|
* Whether a file picked for a file or picture field is stored at once,
|
|
698
729
|
* through the data source's `upload`. False without one: a file then
|
|
@@ -772,6 +803,8 @@ export interface Form {
|
|
|
772
803
|
* makes each ready first, one at a time (a photo made smaller). A field of
|
|
773
804
|
* one file keeps the last one picked. Gives each upload's id. A save waits
|
|
774
805
|
* for those still going, and stops, under the field, for one that failed.
|
|
806
|
+
* `how.replaces`: the file is stored for bytes the field holds (a photo
|
|
807
|
+
* cropped), its link taking their place once stored, as a save's would.
|
|
775
808
|
*/
|
|
776
809
|
upload(field: string, files: readonly UploadFile[], how?: UploadHow): string[];
|
|
777
810
|
/**
|