@fieldia/widgets 0.10.0 → 0.12.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 +2 -1
- package/package.json +2 -2
- package/src/index.d.mts +2 -0
- package/src/index.d.ts +2 -0
- package/src/index.js +6 -1
- package/src/index.js.map +1 -1
- package/src/index.mjs +2 -0
- package/src/index.mjs.map +1 -1
- package/src/lib/badge.d.mts +8 -0
- package/src/lib/badge.d.ts +8 -0
- package/src/lib/badge.js +37 -0
- package/src/lib/badge.js.map +1 -0
- package/src/lib/badge.mjs +33 -0
- package/src/lib/badge.mjs.map +1 -0
- package/src/lib/calendar.d.mts +3 -1
- package/src/lib/calendar.d.ts +3 -1
- package/src/lib/calendar.js +17 -1
- package/src/lib/calendar.js.map +1 -1
- package/src/lib/calendar.mjs +17 -1
- package/src/lib/calendar.mjs.map +1 -1
- package/src/lib/cards.js +12 -4
- package/src/lib/cards.js.map +1 -1
- package/src/lib/cards.mjs +13 -5
- package/src/lib/cards.mjs.map +1 -1
- package/src/lib/choice-images.js +1 -1
- package/src/lib/choice-images.js.map +1 -1
- package/src/lib/choice-images.mjs +1 -1
- package/src/lib/choice-images.mjs.map +1 -1
- package/src/lib/choice-tags.js +2 -2
- package/src/lib/choice-tags.js.map +1 -1
- package/src/lib/choice-tags.mjs +2 -2
- package/src/lib/choice-tags.mjs.map +1 -1
- package/src/lib/colour.d.mts +11 -0
- package/src/lib/colour.d.ts +11 -0
- package/src/lib/colour.js +114 -0
- package/src/lib/colour.js.map +1 -0
- package/src/lib/colour.mjs +110 -0
- package/src/lib/colour.mjs.map +1 -0
- package/src/lib/copy.d.mts +8 -0
- package/src/lib/copy.d.ts +8 -0
- package/src/lib/copy.js +58 -0
- package/src/lib/copy.js.map +1 -0
- package/src/lib/copy.mjs +54 -0
- package/src/lib/copy.mjs.map +1 -0
- package/src/lib/date-range.d.mts +2 -0
- package/src/lib/date-range.d.ts +2 -0
- package/src/lib/date-range.js +220 -0
- package/src/lib/date-range.js.map +1 -0
- package/src/lib/date-range.mjs +216 -0
- package/src/lib/date-range.mjs.map +1 -0
- package/src/lib/display.d.mts +25 -1
- package/src/lib/display.d.ts +25 -1
- package/src/lib/display.js +42 -2
- package/src/lib/display.js.map +1 -1
- package/src/lib/display.mjs +39 -2
- package/src/lib/display.mjs.map +1 -1
- package/src/lib/distribution.d.mts +13 -0
- package/src/lib/distribution.d.ts +13 -0
- package/src/lib/distribution.js +159 -0
- package/src/lib/distribution.js.map +1 -0
- package/src/lib/distribution.mjs +152 -0
- package/src/lib/distribution.mjs.map +1 -0
- package/src/lib/duration.d.mts +18 -0
- package/src/lib/duration.d.ts +18 -0
- package/src/lib/duration.js +137 -0
- package/src/lib/duration.js.map +1 -0
- package/src/lib/duration.mjs +128 -0
- package/src/lib/duration.mjs.map +1 -0
- package/src/lib/embed.d.mts +3 -0
- package/src/lib/embed.d.ts +3 -0
- package/src/lib/embed.js +97 -0
- package/src/lib/embed.js.map +1 -0
- package/src/lib/embed.mjs +92 -0
- package/src/lib/embed.mjs.map +1 -0
- package/src/lib/extras.js +6 -0
- package/src/lib/extras.js.map +1 -1
- package/src/lib/extras.mjs +6 -0
- package/src/lib/extras.mjs.map +1 -1
- package/src/lib/files.d.mts +11 -0
- package/src/lib/files.d.ts +11 -0
- package/src/lib/files.js +86 -9
- package/src/lib/files.js.map +1 -1
- package/src/lib/files.mjs +85 -9
- package/src/lib/files.mjs.map +1 -1
- package/src/lib/kind-parts.d.mts +4 -3
- package/src/lib/kind-parts.d.ts +4 -3
- package/src/lib/kind-parts.js +5 -3
- package/src/lib/kind-parts.js.map +1 -1
- package/src/lib/kind-parts.mjs +5 -3
- package/src/lib/kind-parts.mjs.map +1 -1
- package/src/lib/labels.d.mts +42 -0
- package/src/lib/labels.d.ts +42 -0
- package/src/lib/labels.js +32 -0
- package/src/lib/labels.js.map +1 -1
- package/src/lib/labels.mjs +32 -0
- package/src/lib/labels.mjs.map +1 -1
- package/src/lib/layout-styles.d.mts +1 -1
- package/src/lib/layout-styles.d.ts +1 -1
- package/src/lib/layout-styles.js +2 -0
- package/src/lib/layout-styles.js.map +1 -1
- package/src/lib/layout-styles.mjs +2 -0
- package/src/lib/layout-styles.mjs.map +1 -1
- package/src/lib/lines.d.mts +12 -2
- package/src/lib/lines.d.ts +12 -2
- package/src/lib/lines.js +251 -15
- package/src/lib/lines.js.map +1 -1
- package/src/lib/lines.mjs +250 -16
- package/src/lib/lines.mjs.map +1 -1
- package/src/lib/links-table.d.mts +11 -0
- package/src/lib/links-table.d.ts +11 -0
- package/src/lib/links-table.js +116 -0
- package/src/lib/links-table.js.map +1 -0
- package/src/lib/links-table.mjs +112 -0
- package/src/lib/links-table.mjs.map +1 -0
- package/src/lib/locales/ar.js +32 -0
- package/src/lib/locales/ar.js.map +1 -1
- package/src/lib/locales/ar.mjs +32 -0
- package/src/lib/locales/ar.mjs.map +1 -1
- package/src/lib/locales/de.js +32 -0
- package/src/lib/locales/de.js.map +1 -1
- package/src/lib/locales/de.mjs +32 -0
- package/src/lib/locales/de.mjs.map +1 -1
- package/src/lib/locales/fr.js +32 -0
- package/src/lib/locales/fr.js.map +1 -1
- package/src/lib/locales/fr.mjs +32 -0
- package/src/lib/locales/fr.mjs.map +1 -1
- package/src/lib/payments.d.mts +2 -0
- package/src/lib/payments.d.ts +2 -0
- package/src/lib/payments.js +94 -0
- package/src/lib/payments.js.map +1 -0
- package/src/lib/payments.mjs +90 -0
- package/src/lib/payments.mjs.map +1 -0
- package/src/lib/popup.d.mts +11 -0
- package/src/lib/popup.d.ts +11 -0
- package/src/lib/popup.js +48 -0
- package/src/lib/popup.js.map +1 -0
- package/src/lib/popup.mjs +45 -0
- package/src/lib/popup.mjs.map +1 -0
- package/src/lib/priority.d.mts +10 -0
- package/src/lib/priority.d.ts +10 -0
- package/src/lib/priority.js +59 -0
- package/src/lib/priority.js.map +1 -0
- package/src/lib/priority.mjs +55 -0
- package/src/lib/priority.mjs.map +1 -0
- package/src/lib/progress.js +3 -0
- package/src/lib/progress.js.map +1 -1
- package/src/lib/progress.mjs +3 -0
- package/src/lib/progress.mjs.map +1 -1
- package/src/lib/properties.js +100 -9
- package/src/lib/properties.js.map +1 -1
- package/src/lib/properties.mjs +100 -9
- package/src/lib/properties.mjs.map +1 -1
- package/src/lib/read-text.d.mts +25 -0
- package/src/lib/read-text.d.ts +25 -0
- package/src/lib/read-text.js +102 -0
- package/src/lib/read-text.js.map +1 -0
- package/src/lib/read-text.mjs +98 -0
- package/src/lib/read-text.mjs.map +1 -0
- package/src/lib/relations.d.mts +12 -0
- package/src/lib/relations.d.ts +12 -0
- package/src/lib/relations.js +99 -8
- package/src/lib/relations.js.map +1 -1
- package/src/lib/relations.mjs +97 -8
- package/src/lib/relations.mjs.map +1 -1
- package/src/lib/slider.js +1 -1
- package/src/lib/slider.js.map +1 -1
- package/src/lib/slider.mjs +1 -1
- package/src/lib/slider.mjs.map +1 -1
- package/src/lib/state-dot.d.mts +2 -0
- package/src/lib/state-dot.d.ts +2 -0
- package/src/lib/state-dot.js +107 -0
- package/src/lib/state-dot.js.map +1 -0
- package/src/lib/state-dot.mjs +103 -0
- package/src/lib/state-dot.mjs.map +1 -0
- package/src/lib/statusbar.js +151 -14
- package/src/lib/statusbar.js.map +1 -1
- package/src/lib/statusbar.mjs +151 -14
- package/src/lib/statusbar.mjs.map +1 -1
- package/src/lib/styles-business.d.mts +8 -0
- package/src/lib/styles-business.d.ts +8 -0
- package/src/lib/styles-business.js +120 -0
- package/src/lib/styles-business.js.map +1 -0
- package/src/lib/styles-business.mjs +117 -0
- package/src/lib/styles-business.mjs.map +1 -0
- package/src/lib/styles-kinds.d.mts +1 -1
- package/src/lib/styles-kinds.d.ts +1 -1
- package/src/lib/styles-kinds.js +1 -1
- package/src/lib/styles-kinds.mjs +1 -1
- package/src/lib/styles-parts.d.mts +16 -0
- package/src/lib/styles-parts.d.ts +16 -0
- package/src/lib/styles-parts.js +69 -0
- package/src/lib/styles-parts.js.map +1 -0
- package/src/lib/styles-parts.mjs +66 -0
- package/src/lib/styles-parts.mjs.map +1 -0
- package/src/lib/styles-sheet.d.mts +6 -0
- package/src/lib/styles-sheet.d.ts +6 -0
- package/src/lib/styles-sheet.js +123 -0
- package/src/lib/styles-sheet.js.map +1 -0
- package/src/lib/styles-sheet.mjs +120 -0
- package/src/lib/styles-sheet.mjs.map +1 -0
- package/src/lib/styles.d.mts +10 -0
- package/src/lib/styles.d.ts +10 -0
- package/src/lib/styles.js +234 -19
- package/src/lib/styles.js.map +1 -1
- package/src/lib/styles.mjs +233 -18
- package/src/lib/styles.mjs.map +1 -1
- package/src/lib/tax-totals.d.mts +2 -0
- package/src/lib/tax-totals.d.ts +2 -0
- package/src/lib/tax-totals.js +92 -0
- package/src/lib/tax-totals.js.map +1 -0
- package/src/lib/tax-totals.mjs +88 -0
- package/src/lib/tax-totals.mjs.map +1 -0
- package/src/lib/timer.d.mts +4 -0
- package/src/lib/timer.d.ts +4 -0
- package/src/lib/timer.js +62 -0
- package/src/lib/timer.js.map +1 -0
- package/src/lib/timer.mjs +57 -0
- package/src/lib/timer.mjs.map +1 -0
- package/src/lib/widgets.d.mts +18 -3
- package/src/lib/widgets.d.ts +18 -3
- package/src/lib/widgets.js +63 -5
- package/src/lib/widgets.js.map +1 -1
- package/src/lib/widgets.mjs +63 -5
- package/src/lib/widgets.mjs.map +1 -1
- package/src/lib/yes-no.js +1 -1
- package/src/lib/yes-no.js.map +1 -1
- package/src/lib/yes-no.mjs +1 -1
- package/src/lib/yes-no.mjs.map +1 -1
package/src/lib/lines.mjs
CHANGED
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import { isEmpty, lineKind } from '@fieldia/core';
|
|
2
|
-
import {
|
|
2
|
+
import { cellText, currencyOf } from './display.mjs';
|
|
3
|
+
import { drawIcon } from './icons.mjs';
|
|
3
4
|
import { askFirst, fillIn, maker } from './kind-parts.mjs';
|
|
4
5
|
import { WIDGET_LABELS } from './labels.mjs';
|
|
5
6
|
import { moveLineTo } from './line-moves.mjs';
|
|
@@ -16,11 +17,57 @@ export function lineForm(form, field, key) {
|
|
|
16
17
|
...form,
|
|
17
18
|
getState: () => ({ ...form.getState(), values: values() }),
|
|
18
19
|
setValue: (name, value) => form.updateLine(field, key, name, value),
|
|
19
|
-
search: (name, query, limit) => form.searchLine(field, key, name, query, limit),
|
|
20
|
+
search: (name, query, limit, options) => form.searchLine(field, key, name, query, limit, options),
|
|
20
21
|
canCreate: (name) => form.canCreateLine(field, name),
|
|
21
|
-
quickCreate: (name, text) => form.quickCreateLine(field, name, text),
|
|
22
|
+
quickCreate: (name, text) => form.quickCreateLine(field, name, text, key),
|
|
23
|
+
createValues: (name) => form.createValues(name, { lines: field, key }),
|
|
22
24
|
};
|
|
23
25
|
}
|
|
26
|
+
/** A line's money in its record's currency (`parent.…`), as a field of its own: in that currency, fixed — for a dialog with no record round it. */
|
|
27
|
+
export function ownCurrency(sub, parent) {
|
|
28
|
+
if (sub.type !== 'monetary' || !sub.currencyField?.startsWith('parent.'))
|
|
29
|
+
return sub;
|
|
30
|
+
const { currencyField: _, ...rest } = sub;
|
|
31
|
+
const code = currencyOf(sub, {}, parent);
|
|
32
|
+
return code && /^[A-Z]{3}$/.test(code) ? { ...rest, currency: code } : rest;
|
|
33
|
+
}
|
|
34
|
+
/**
|
|
35
|
+
* A line opened in a dialog: with `lineOpens: "record"`, a saved line's own
|
|
36
|
+
* record by the table's model — what its page saved is written back to the
|
|
37
|
+
* line's fields of the same names — else, or for a line not saved yet, every
|
|
38
|
+
* one of its fields, recalculated as they change and written back on Save &
|
|
39
|
+
* Close. Shared with @fieldia/grid.
|
|
40
|
+
*/
|
|
41
|
+
export async function openLineDialog(form, name, node, line, dialogs, readonly) {
|
|
42
|
+
const def = form.page.fields[name];
|
|
43
|
+
const lines = () => form.getState().values[name] ?? [];
|
|
44
|
+
const write = (values) => form.setValue(name, lines().map((l) => (l.key === line.key ? { ...l, values: { ...l.values, ...values } } : l)));
|
|
45
|
+
if (node.lineOpens === 'record' && line.id !== undefined && dialogs.canOpen(def.relation)) {
|
|
46
|
+
const saved = await dialogs.openRecord(def.relation, { recordId: line.id, title: def.label, withValues: true });
|
|
47
|
+
const back = Object.fromEntries(Object.entries(saved?.values ?? {}).filter(([key]) => key in def.fields && key !== def.sequenceField));
|
|
48
|
+
if (Object.keys(back).length)
|
|
49
|
+
write(back);
|
|
50
|
+
return;
|
|
51
|
+
}
|
|
52
|
+
const fields = Object.fromEntries(Object.entries(def.fields)
|
|
53
|
+
.filter(([key]) => key !== def.lineKinds?.field && key !== def.sequenceField)
|
|
54
|
+
.map(([key, sub]) => [key, ownCurrency(sub, form.getState().values)]));
|
|
55
|
+
// The dialog shows what the onchange makes of the line as it is edited; the line itself waits for Save & Close.
|
|
56
|
+
// Laid out by the table's lineForm when it has one, its conditions reading the line, its record as parent.
|
|
57
|
+
const state = form.getState();
|
|
58
|
+
const values = await dialogs.editValues({
|
|
59
|
+
title: def.label,
|
|
60
|
+
fields,
|
|
61
|
+
values: line.values,
|
|
62
|
+
readonly,
|
|
63
|
+
recompute: (edited) => form.previewLine(name, line.key, edited),
|
|
64
|
+
parent: { values: state.values, fields: form.page.fields, id: state.recordId },
|
|
65
|
+
...(node.lineForm ? { layout: node.lineForm.children } : {}),
|
|
66
|
+
});
|
|
67
|
+
// Written in one go, so the form recalculates once.
|
|
68
|
+
if (values)
|
|
69
|
+
write(values);
|
|
70
|
+
}
|
|
24
71
|
export const linesWidget = ({ form, name, field, node, id, document, labels = WIDGET_LABELS.en, locale, dialogs }) => {
|
|
25
72
|
const def = field;
|
|
26
73
|
const kinds = def.lineKinds;
|
|
@@ -31,10 +78,20 @@ export const linesWidget = ({ form, name, field, node, id, document, labels = WI
|
|
|
31
78
|
const words = (key) => (typeof options[key] === 'string' && options[key].trim() ? options[key] : null);
|
|
32
79
|
// The fields that say what a line is and keep the lines' order never show as columns.
|
|
33
80
|
// Optional columns the page starts hidden stay out of the plain table.
|
|
34
|
-
const
|
|
81
|
+
const heads = new Map();
|
|
82
|
+
// The table's own rules, read by the form line by line; a table with none asks nothing.
|
|
83
|
+
const ruled = !!(node.cells || node.rowTones || node.rowBold !== undefined || node.rowButtons || node.lineDelete !== undefined);
|
|
84
|
+
const columns = (node.columns ?? Object.keys(def.fields)).filter(
|
|
85
|
+
// Lines a line holds are edited in its form, never drawn in its row.
|
|
86
|
+
(column) => def.fields[column] && def.fields[column].type !== 'one2many' && column !== kinds?.field && column !== def.sequenceField && node.optionalColumns?.[column] !== 'hide');
|
|
35
87
|
const element = document.createElement('div');
|
|
36
88
|
element.className = 'fd-lines';
|
|
37
89
|
element.id = id;
|
|
90
|
+
// Lines as cards on a narrow form, or always; columns as wide as they hold: the stylesheet draws them so.
|
|
91
|
+
if (node.cards)
|
|
92
|
+
element.dataset['cards'] = node.cards;
|
|
93
|
+
if (node.fit)
|
|
94
|
+
element.dataset['fit'] = node.fit;
|
|
38
95
|
element.setAttribute('role', 'group');
|
|
39
96
|
const scroller = document.createElement('div');
|
|
40
97
|
scroller.className = 'fd-lines-scroll';
|
|
@@ -42,11 +99,20 @@ export const linesWidget = ({ form, name, field, node, id, document, labels = WI
|
|
|
42
99
|
table.className = 'fd-lines-table';
|
|
43
100
|
const head = document.createElement('thead');
|
|
44
101
|
const headRow = document.createElement('tr');
|
|
45
|
-
|
|
102
|
+
// Lines chosen for the table's buttons for them: a tick on each line, one in the head for every line, and a bar over the table.
|
|
103
|
+
const choosing = !!node.selectedButtons?.length;
|
|
104
|
+
const chosen = new Set();
|
|
105
|
+
const pickAll = choosing ? make('input', { type: 'checkbox', class: 'fd-checkbox fd-line-pick fd-line-pick-all', 'aria-label': labels.chooseAllLines }) : null;
|
|
106
|
+
headRow.append(make('th', { class: 'fd-lines-grip' }, ...(pickAll ? [pickAll] : [])));
|
|
46
107
|
for (const column of columns) {
|
|
47
108
|
const th = document.createElement('th');
|
|
48
109
|
th.scope = 'col';
|
|
110
|
+
th.dataset['column'] = column;
|
|
49
111
|
th.textContent = def.fields[column].label;
|
|
112
|
+
const width = node.cells?.[column]?.width;
|
|
113
|
+
if (width)
|
|
114
|
+
th.style.width = `${width}ch`;
|
|
115
|
+
heads.set(column, th);
|
|
50
116
|
headRow.append(th);
|
|
51
117
|
}
|
|
52
118
|
const lastTh = document.createElement('th');
|
|
@@ -58,6 +124,7 @@ export const linesWidget = ({ form, name, field, node, id, document, labels = WI
|
|
|
58
124
|
// Number columns the page asks to add up, in a row under the lines.
|
|
59
125
|
const totals = (node.totals ?? []).filter((column) => columns.includes(column));
|
|
60
126
|
const sums = new Map();
|
|
127
|
+
const footCells = new Map();
|
|
61
128
|
if (totals.length) {
|
|
62
129
|
const foot = document.createElement('tfoot');
|
|
63
130
|
const row = document.createElement('tr');
|
|
@@ -65,6 +132,8 @@ export const linesWidget = ({ form, name, field, node, id, document, labels = WI
|
|
|
65
132
|
row.append(document.createElement('td'));
|
|
66
133
|
columns.forEach((column, i) => {
|
|
67
134
|
const td = document.createElement('td');
|
|
135
|
+
td.dataset['column'] = column;
|
|
136
|
+
footCells.set(column, td);
|
|
68
137
|
if (totals.includes(column))
|
|
69
138
|
sums.set(column, td);
|
|
70
139
|
else if (i === 0)
|
|
@@ -96,16 +165,77 @@ export const linesWidget = ({ form, name, field, node, id, document, labels = WI
|
|
|
96
165
|
};
|
|
97
166
|
addButton(words('addLabel') ?? labels.addLine, {}, 'line');
|
|
98
167
|
if (kinds) {
|
|
99
|
-
addButton(labels.addSection, { [kinds.field]: kinds.section ?? 'section' }, 'section');
|
|
100
|
-
addButton(labels.addNote, { [kinds.field]: kinds.note ?? 'note' }, 'note');
|
|
168
|
+
addButton(words('addSectionLabel') ?? labels.addSection, { [kinds.field]: kinds.section ?? 'section' }, 'section');
|
|
169
|
+
addButton(words('addNoteLabel') ?? labels.addNote, { [kinds.field]: kinds.note ?? 'note' }, 'note');
|
|
101
170
|
}
|
|
171
|
+
// Buttons in the control row, beside the add buttons: the record's, shown by a condition on it (Flectra's <control>).
|
|
172
|
+
const controls = (node.controlButtons ?? []).map((own) => {
|
|
173
|
+
const icon = drawIcon(document, own.icon);
|
|
174
|
+
const button = make('button', { type: 'button', class: 'fd-button fd-button-link fd-lines-add fd-lines-control', 'data-node': own.id }, ...(icon ? [icon] : []), own.label);
|
|
175
|
+
button.addEventListener('click', () => void pressed(button, () => form.runAction(own.id)));
|
|
176
|
+
adds.append(button);
|
|
177
|
+
return { id: own.id, button };
|
|
178
|
+
});
|
|
179
|
+
// The bar of buttons for the lines chosen, over the table while any is.
|
|
180
|
+
const chosenCount = make('span', { class: 'fd-lines-chosen-count', role: 'status' });
|
|
181
|
+
const chosenButtons = (node.selectedButtons ?? []).map((own) => {
|
|
182
|
+
const icon = drawIcon(document, own.icon);
|
|
183
|
+
const button = make('button', { type: 'button', class: `fd-button fd-button-${own.style ?? 'secondary'} fd-lines-chosen-button`, 'data-node': own.id }, ...(icon ? [icon] : []), own.label);
|
|
184
|
+
// In the table's order, whatever order they were ticked in.
|
|
185
|
+
button.addEventListener('click', () => void pressed(button, () => form.runLinesAction(node.id, own.id, current().filter((line) => chosen.has(line.key)).map((line) => line.key))));
|
|
186
|
+
return { id: own.id, button };
|
|
187
|
+
});
|
|
188
|
+
const bar = choosing ? make('div', { class: 'fd-lines-chosen', hidden: '' }, chosenCount, ...chosenButtons.map((b) => b.button)) : null;
|
|
102
189
|
const emptyWords = words('emptyLabel');
|
|
103
190
|
const empty = emptyWords ? make('div', { class: 'fd-help fd-lines-empty' }, emptyWords) : null;
|
|
104
191
|
// Removing a line with something in it asks first, in place: "Remove line 2? Remove · Keep".
|
|
105
192
|
const confirm = askFirst(make, labels);
|
|
106
193
|
// Where a line went, said politely; not the page's own announcer, which a page looks for by its class.
|
|
107
194
|
const voice = make('div', { class: 'fd-sr-only', role: 'status' });
|
|
108
|
-
element.append(scroller, ...(empty ? [empty] : []), adds, confirm.element, voice);
|
|
195
|
+
element.append(...(bar ? [bar] : []), scroller, ...(empty ? [empty] : []), adds, confirm.element, voice);
|
|
196
|
+
/** A press that waits for its run, and is not pressed again meanwhile. */
|
|
197
|
+
async function pressed(button, run) {
|
|
198
|
+
if (button.hasAttribute('aria-busy'))
|
|
199
|
+
return;
|
|
200
|
+
button.setAttribute('aria-busy', 'true');
|
|
201
|
+
try {
|
|
202
|
+
await run();
|
|
203
|
+
}
|
|
204
|
+
finally {
|
|
205
|
+
button.removeAttribute('aria-busy');
|
|
206
|
+
}
|
|
207
|
+
}
|
|
208
|
+
/** The bar and the head's tick, as the lines chosen are now. */
|
|
209
|
+
function showChosen() {
|
|
210
|
+
if (!bar || !pickAll)
|
|
211
|
+
return;
|
|
212
|
+
const items = current().filter((line) => !lineKind(def, line.values));
|
|
213
|
+
for (const key of [...chosen])
|
|
214
|
+
if (!items.some((line) => line.key === key))
|
|
215
|
+
chosen.delete(key);
|
|
216
|
+
bar.hidden = readonly || chosen.size === 0;
|
|
217
|
+
chosenCount.textContent = fillIn(labels.linesChosen, { n: chosen.size });
|
|
218
|
+
for (const { id, button } of chosenButtons)
|
|
219
|
+
button.hidden = form.node(id).invisible;
|
|
220
|
+
pickAll.checked = items.length > 0 && chosen.size === items.length;
|
|
221
|
+
pickAll.indeterminate = chosen.size > 0 && chosen.size < items.length;
|
|
222
|
+
pickAll.disabled = readonly || !items.length;
|
|
223
|
+
for (const [key, row] of rows) {
|
|
224
|
+
if (!row.pick)
|
|
225
|
+
continue;
|
|
226
|
+
row.pick.checked = chosen.has(key);
|
|
227
|
+
row.pick.disabled = readonly;
|
|
228
|
+
}
|
|
229
|
+
}
|
|
230
|
+
pickAll?.addEventListener('change', () => {
|
|
231
|
+
const items = current().filter((line) => !lineKind(def, line.values));
|
|
232
|
+
if (pickAll.checked)
|
|
233
|
+
for (const line of items)
|
|
234
|
+
chosen.add(line.key);
|
|
235
|
+
else
|
|
236
|
+
chosen.clear();
|
|
237
|
+
showChosen();
|
|
238
|
+
});
|
|
109
239
|
const rows = new Map();
|
|
110
240
|
let focusNew = null;
|
|
111
241
|
let readonly = false;
|
|
@@ -135,10 +265,17 @@ export const linesWidget = ({ form, name, field, node, id, document, labels = WI
|
|
|
135
265
|
});
|
|
136
266
|
function makeCell(tr, line, column, sub, span = 1) {
|
|
137
267
|
const cellId = `${id}-${line.key}-${column}`;
|
|
138
|
-
|
|
268
|
+
// A cell the page draws as a pill in its tone (Flectra's widget="badge"), never edited, or with a widget of its own.
|
|
269
|
+
const rules = lineKind(def, line.values) ? undefined : node.cells?.[column];
|
|
270
|
+
// Its settings reach its widget even without a widget named: a calendar's week numbers.
|
|
271
|
+
const look = rules?.badge ? { widget: 'badge' } : rules?.widget ? { widget: rules.widget, ...(rules.options ? { options: rules.options } : {}) } : rules?.options ? { options: rules.options } : {};
|
|
272
|
+
const subNode = { type: 'field', id: `${node.id}.${line.key}.${column}`, field: column, ...look };
|
|
139
273
|
const widget = createWidget({ form: lineForm(form, name, line.key), name: column, field: sub, node: subNode, id: cellId, document, labels, locale, dialogs });
|
|
140
274
|
const td = document.createElement('td');
|
|
141
275
|
td.colSpan = span;
|
|
276
|
+
td.dataset['column'] = column;
|
|
277
|
+
// Its column's label, which a card shows before its value.
|
|
278
|
+
td.dataset['label'] = sub.label;
|
|
142
279
|
const label = document.createElement('label');
|
|
143
280
|
label.className = 'fd-sr-only';
|
|
144
281
|
label.htmlFor = cellId;
|
|
@@ -148,7 +285,7 @@ export const linesWidget = ({ form, name, field, node, id, document, labels = WI
|
|
|
148
285
|
error.hidden = true;
|
|
149
286
|
td.append(label, widget.element, error);
|
|
150
287
|
tr.append(td);
|
|
151
|
-
return { name: column, def: sub, widget, error };
|
|
288
|
+
return { name: column, def: sub, widget, error, td };
|
|
152
289
|
}
|
|
153
290
|
function makeRow(line) {
|
|
154
291
|
const tr = document.createElement('tr');
|
|
@@ -174,7 +311,16 @@ export const linesWidget = ({ form, name, field, node, id, document, labels = WI
|
|
|
174
311
|
});
|
|
175
312
|
for (const end of ['pointerup', 'pointercancel'])
|
|
176
313
|
grip.addEventListener(end, () => (dragging = false));
|
|
177
|
-
|
|
314
|
+
// Its tick for the table's buttons for chosen lines, before the grip.
|
|
315
|
+
const pick = choosing && !kind ? make('input', { type: 'checkbox', class: 'fd-checkbox fd-line-pick' }) : null;
|
|
316
|
+
pick?.addEventListener('change', () => {
|
|
317
|
+
if (pick.checked)
|
|
318
|
+
chosen.add(line.key);
|
|
319
|
+
else
|
|
320
|
+
chosen.delete(line.key);
|
|
321
|
+
showChosen();
|
|
322
|
+
});
|
|
323
|
+
tr.append(make('td', { class: 'fd-lines-grip' }, ...(pick ? [make('span', { class: 'fd-line-lead' }, pick, grip)] : [grip])));
|
|
178
324
|
const cells = kind && kinds
|
|
179
325
|
? [makeCell(tr, line, kinds.text, kindTextField(def.fields[kinds.text], kind), columns.length)]
|
|
180
326
|
: columns.map((column) => makeCell(tr, line, column, def.fields[column]));
|
|
@@ -199,9 +345,55 @@ export const linesWidget = ({ form, name, field, node, id, document, labels = WI
|
|
|
199
345
|
(next ? rows.get(next.key)?.remove : adds.querySelector('button'))?.focus();
|
|
200
346
|
});
|
|
201
347
|
});
|
|
348
|
+
// The line's own buttons, each shown by its condition on the line; a press runs with the line.
|
|
349
|
+
const buttons = new Map();
|
|
350
|
+
for (const own of kind ? [] : (node.rowButtons ?? [])) {
|
|
351
|
+
const icon = drawIcon(document, own.icon);
|
|
352
|
+
const button = make('button', { type: 'button', class: `fd-button fd-button-link fd-line-button${icon ? ' fd-line-button-icon' : ''}`, 'data-row-button': own.id, 'aria-label': own.label, title: own.label });
|
|
353
|
+
button.append(icon ?? own.label);
|
|
354
|
+
button.addEventListener('click', async () => {
|
|
355
|
+
if (button.hasAttribute('aria-busy'))
|
|
356
|
+
return;
|
|
357
|
+
button.setAttribute('aria-busy', 'true');
|
|
358
|
+
try {
|
|
359
|
+
await form.runRowAction(node.id, own.id, line.key);
|
|
360
|
+
}
|
|
361
|
+
finally {
|
|
362
|
+
button.removeAttribute('aria-busy');
|
|
363
|
+
}
|
|
364
|
+
});
|
|
365
|
+
buttons.set(own.id, button);
|
|
366
|
+
tools.append(button);
|
|
367
|
+
}
|
|
368
|
+
// A copy of the line, its values too, right after it: never its saved id or its place in the order.
|
|
369
|
+
const copy = options['copy'] === true && !kind ? make('button', { type: 'button', class: 'fd-line-copy' }, '⧉') : null;
|
|
370
|
+
copy?.addEventListener('click', () => {
|
|
371
|
+
const all = current();
|
|
372
|
+
const at = all.findIndex((l) => l.key === line.key);
|
|
373
|
+
if (readonly || at < 0 || all.length >= max)
|
|
374
|
+
return;
|
|
375
|
+
const values = { ...all[at].values };
|
|
376
|
+
if (def.sequenceField)
|
|
377
|
+
delete values[def.sequenceField];
|
|
378
|
+
const made = form.addLine(name, values);
|
|
379
|
+
moveLineTo(form, name, def, made, at + 1);
|
|
380
|
+
rows.get(made)?.cells[0]?.widget.focus();
|
|
381
|
+
});
|
|
382
|
+
if (copy)
|
|
383
|
+
tools.append(copy);
|
|
384
|
+
// Its own page, its own form (lineForm), or its every field, in a dialog (lineOpens).
|
|
385
|
+
if ((node.lineOpens || node.lineForm) && dialogs && !kind) {
|
|
386
|
+
const open = make('button', { type: 'button', class: 'fd-line-open', 'aria-label': labels.openLine, title: labels.openLine }, '↗');
|
|
387
|
+
open.addEventListener('click', () => {
|
|
388
|
+
const now = current().find((l) => l.key === line.key);
|
|
389
|
+
if (now)
|
|
390
|
+
void openLineDialog(form, name, node, now, dialogs, readonly);
|
|
391
|
+
});
|
|
392
|
+
tools.append(open);
|
|
393
|
+
}
|
|
202
394
|
tools.append(remove);
|
|
203
395
|
tr.append(tools);
|
|
204
|
-
return { element: tr, kind, cells, remove, grip };
|
|
396
|
+
return { element: tr, kind, cells, remove, grip, buttons, pick, copy };
|
|
205
397
|
}
|
|
206
398
|
return {
|
|
207
399
|
element,
|
|
@@ -215,6 +407,12 @@ export const linesWidget = ({ form, name, field, node, id, document, labels = WI
|
|
|
215
407
|
if (empty)
|
|
216
408
|
empty.hidden = current.length > 0;
|
|
217
409
|
const errors = form.getState().errors;
|
|
410
|
+
// Columns the record hides now: their head, cells and total go with them.
|
|
411
|
+
const gone = new Set(ruled ? columns.filter((column) => form.columnHidden(node.id, column)) : []);
|
|
412
|
+
for (const [column, th] of heads)
|
|
413
|
+
th.hidden = gone.has(column);
|
|
414
|
+
for (const [column, td] of footCells)
|
|
415
|
+
td.hidden = gone.has(column);
|
|
218
416
|
const keep = new Set(current.map((line) => line.key));
|
|
219
417
|
for (const [key, row] of rows) {
|
|
220
418
|
if (!keep.has(key)) {
|
|
@@ -235,30 +433,59 @@ export const linesWidget = ({ form, name, field, node, id, document, labels = WI
|
|
|
235
433
|
}
|
|
236
434
|
if (body.children[index] !== row.element)
|
|
237
435
|
body.insertBefore(row.element, body.children[index] ?? null);
|
|
238
|
-
|
|
436
|
+
const now = ruled ? form.lineState(node.id, line.key) : null;
|
|
437
|
+
// A line the table keeps (lineDelete) shows no ×.
|
|
438
|
+
row.remove.hidden = readonly || current.length <= min || now?.deletable === false;
|
|
239
439
|
row.grip.hidden = readonly;
|
|
440
|
+
// Named by where it is now: it moves.
|
|
441
|
+
const lineName = fillIn(labels.lineN, { n: index + 1 });
|
|
442
|
+
row.pick?.setAttribute('aria-label', fillIn(labels.chooseLine, { name: lineName }));
|
|
443
|
+
if (row.copy) {
|
|
444
|
+
row.copy.setAttribute('aria-label', fillIn(labels.copy, { name: lineName }));
|
|
445
|
+
row.copy.title = row.copy.getAttribute('aria-label');
|
|
446
|
+
row.copy.hidden = readonly || current.length >= max;
|
|
447
|
+
}
|
|
240
448
|
if (readonly)
|
|
241
449
|
row.remove.remove();
|
|
242
450
|
else if (!row.remove.isConnected)
|
|
243
451
|
row.element.lastElementChild?.append(row.remove);
|
|
452
|
+
setData(row.element, 'tone', now?.tone);
|
|
453
|
+
row.element.classList.toggle('fd-line-bold', !!now?.bold);
|
|
454
|
+
// A line's buttons act on the saved line, so a read-only table keeps them, as the grid and Flectra's lists do.
|
|
455
|
+
for (const [id, button] of row.buttons)
|
|
456
|
+
button.hidden = !now?.buttons[id];
|
|
457
|
+
// A section's or note's one cell spans the columns shown.
|
|
458
|
+
if (row.kind)
|
|
459
|
+
row.cells[0].td.colSpan = columns.length - gone.size;
|
|
244
460
|
for (const cell of row.cells) {
|
|
245
461
|
const message = errors[`${name}.${line.key}.${cell.name}`];
|
|
462
|
+
const rules = row.kind ? undefined : now?.cells[cell.name];
|
|
463
|
+
if (!row.kind)
|
|
464
|
+
cell.td.hidden = gone.has(cell.name);
|
|
465
|
+
// Hidden by its line, the cell stays, empty, so the column lines up.
|
|
466
|
+
cell.widget.element.hidden = !!rules?.invisible;
|
|
467
|
+
setData(cell.td, 'tone', rules?.tone);
|
|
468
|
+
cell.td.classList.toggle('fd-cell-bold', !!rules?.bold);
|
|
246
469
|
cell.error.hidden = !message;
|
|
247
470
|
cell.error.textContent = message ?? '';
|
|
248
471
|
cell.widget.update({
|
|
249
472
|
value: line.values[cell.name],
|
|
250
473
|
values: line.values,
|
|
474
|
+
parent: state.values,
|
|
251
475
|
// A value worked out from the line's others is shown, never typed.
|
|
252
|
-
readonly: readonly || cell.def.readonly === true || cell.def.compute !== undefined,
|
|
253
|
-
required: cell.def.required === true,
|
|
476
|
+
readonly: readonly || cell.def.readonly === true || cell.def.compute !== undefined || !!rules?.readonly,
|
|
477
|
+
required: cell.def.required === true || !!rules?.required,
|
|
254
478
|
invalid: !!message,
|
|
255
479
|
});
|
|
256
480
|
}
|
|
257
481
|
});
|
|
258
482
|
for (const [column, td] of sums) {
|
|
259
483
|
const sum = current.filter((line) => !lineKind(def, line.values)).reduce((total, line) => total + Number(line.values[column] ?? 0), 0);
|
|
260
|
-
td.textContent =
|
|
484
|
+
td.textContent = cellText(def.fields[column], sum, current[0]?.values ?? {}, locale, state.values, node.cells?.[column]);
|
|
261
485
|
}
|
|
486
|
+
for (const { id, button } of controls)
|
|
487
|
+
button.hidden = form.node(id).invisible;
|
|
488
|
+
showChosen();
|
|
262
489
|
if (focusNew && rows.has(focusNew)) {
|
|
263
490
|
rows.get(focusNew)?.cells[0]?.widget.focus();
|
|
264
491
|
focusNew = null;
|
|
@@ -266,4 +493,11 @@ export const linesWidget = ({ form, name, field, node, id, document, labels = WI
|
|
|
266
493
|
},
|
|
267
494
|
};
|
|
268
495
|
};
|
|
496
|
+
/** A data attribute set, or taken away when there is nothing to say. */
|
|
497
|
+
function setData(element, key, value) {
|
|
498
|
+
if (value)
|
|
499
|
+
element.dataset[key] = value;
|
|
500
|
+
else
|
|
501
|
+
delete element.dataset[key];
|
|
502
|
+
}
|
|
269
503
|
//# sourceMappingURL=lines.mjs.map
|
package/src/lib/lines.mjs.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"lines.mjs","sourceRoot":"","sources":["../../../../../libs/widgets/src/lib/lines.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"lines.mjs","sourceRoot":"","sources":["../../../../../libs/widgets/src/lib/lines.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import type { WidgetFactory } from './widgets.mjs';
|
|
2
|
+
/**
|
|
3
|
+
* A many2many as a table of the records it links to, as Flectra's list of
|
|
4
|
+
* them: a row for each, its `columns` — fields of those records, named in the
|
|
5
|
+
* many2many's `fields` — read from the data source by their ids. Add a line
|
|
6
|
+
* finds one more record by searching (the dialog's Search more…); × takes a
|
|
7
|
+
* record away, never deleting it; ↗ opens a record's own page, when the app
|
|
8
|
+
* gives one for the model. The node's `options.addLabel` and
|
|
9
|
+
* `options.emptyLabel` word its button and its sentence while empty.
|
|
10
|
+
*/
|
|
11
|
+
export declare const linksTableWidget: WidgetFactory;
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import type { WidgetFactory } from './widgets';
|
|
2
|
+
/**
|
|
3
|
+
* A many2many as a table of the records it links to, as Flectra's list of
|
|
4
|
+
* them: a row for each, its `columns` — fields of those records, named in the
|
|
5
|
+
* many2many's `fields` — read from the data source by their ids. Add a line
|
|
6
|
+
* finds one more record by searching (the dialog's Search more…); × takes a
|
|
7
|
+
* record away, never deleting it; ↗ opens a record's own page, when the app
|
|
8
|
+
* gives one for the model. The node's `options.addLabel` and
|
|
9
|
+
* `options.emptyLabel` word its button and its sentence while empty.
|
|
10
|
+
*/
|
|
11
|
+
export declare const linksTableWidget: WidgetFactory;
|