@fieldia/designer 0.21.0 → 0.23.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/package.json +4 -4
- package/src/lib/canvas-form.d.mts +1 -1
- package/src/lib/canvas-form.d.ts +1 -1
- package/src/lib/canvas-form.js +2 -1
- package/src/lib/canvas-form.js.map +1 -1
- package/src/lib/canvas-form.mjs +2 -1
- package/src/lib/canvas-form.mjs.map +1 -1
- package/src/lib/designer.d.mts +9 -0
- package/src/lib/designer.d.ts +9 -0
- package/src/lib/designer.js +19 -6
- package/src/lib/designer.js.map +1 -1
- package/src/lib/designer.mjs +19 -6
- package/src/lib/designer.mjs.map +1 -1
- package/src/lib/inline-settings.js +36 -1
- package/src/lib/inline-settings.js.map +1 -1
- package/src/lib/inline-settings.mjs +36 -1
- package/src/lib/inline-settings.mjs.map +1 -1
- package/src/lib/list-calendar.d.mts +7 -0
- package/src/lib/list-calendar.d.ts +7 -0
- package/src/lib/list-calendar.js +155 -0
- package/src/lib/list-calendar.js.map +1 -0
- package/src/lib/list-calendar.mjs +152 -0
- package/src/lib/list-calendar.mjs.map +1 -0
- package/src/lib/list-commands.d.mts +3 -1
- package/src/lib/list-commands.d.ts +3 -1
- package/src/lib/list-commands.js +8 -0
- package/src/lib/list-commands.js.map +1 -1
- package/src/lib/list-commands.mjs +9 -1
- package/src/lib/list-commands.mjs.map +1 -1
- package/src/lib/list-properties.js +4 -1
- package/src/lib/list-properties.js.map +1 -1
- package/src/lib/list-properties.mjs +4 -1
- package/src/lib/list-properties.mjs.map +1 -1
- package/src/lib/locales/ar/changes.js +3 -0
- package/src/lib/locales/ar/changes.js.map +1 -1
- package/src/lib/locales/ar/changes.mjs +3 -0
- package/src/lib/locales/ar/changes.mjs.map +1 -1
- package/src/lib/locales/ar/list.js +26 -0
- package/src/lib/locales/ar/list.js.map +1 -1
- package/src/lib/locales/ar/list.mjs +26 -0
- package/src/lib/locales/ar/list.mjs.map +1 -1
- package/src/lib/locales/ar/questions.js +7 -0
- package/src/lib/locales/ar/questions.js.map +1 -1
- package/src/lib/locales/ar/questions.mjs +7 -0
- package/src/lib/locales/ar/questions.mjs.map +1 -1
- package/src/lib/locales/ar/refusals.js +1 -0
- package/src/lib/locales/ar/refusals.js.map +1 -1
- package/src/lib/locales/ar/refusals.mjs +1 -0
- package/src/lib/locales/ar/refusals.mjs.map +1 -1
- package/src/lib/locales/en/changes.d.mts +3 -0
- package/src/lib/locales/en/changes.d.ts +3 -0
- package/src/lib/locales/en/changes.js +3 -0
- package/src/lib/locales/en/changes.js.map +1 -1
- package/src/lib/locales/en/changes.mjs +3 -0
- package/src/lib/locales/en/changes.mjs.map +1 -1
- package/src/lib/locales/en/index.d.mts +45 -0
- package/src/lib/locales/en/index.d.ts +45 -0
- package/src/lib/locales/en/list.d.mts +34 -0
- package/src/lib/locales/en/list.d.ts +34 -0
- package/src/lib/locales/en/list.js +27 -0
- package/src/lib/locales/en/list.js.map +1 -1
- package/src/lib/locales/en/list.mjs +27 -0
- package/src/lib/locales/en/list.mjs.map +1 -1
- package/src/lib/locales/en/questions.d.mts +8 -0
- package/src/lib/locales/en/questions.d.ts +8 -0
- package/src/lib/locales/en/questions.js +8 -0
- package/src/lib/locales/en/questions.js.map +1 -1
- package/src/lib/locales/en/questions.mjs +8 -0
- package/src/lib/locales/en/questions.mjs.map +1 -1
- package/src/lib/locales/en/refusals.d.mts +1 -0
- package/src/lib/locales/en/refusals.d.ts +1 -0
- package/src/lib/locales/en/refusals.js +1 -0
- package/src/lib/locales/en/refusals.js.map +1 -1
- package/src/lib/locales/en/refusals.mjs +1 -0
- package/src/lib/locales/en/refusals.mjs.map +1 -1
- package/src/lib/page-checks.js +5 -0
- package/src/lib/page-checks.js.map +1 -1
- package/src/lib/page-checks.mjs +5 -0
- package/src/lib/page-checks.mjs.map +1 -1
- package/src/lib/page-tree.d.mts +3 -1
- package/src/lib/page-tree.d.ts +3 -1
- package/src/lib/page-tree.js +8 -0
- package/src/lib/page-tree.js.map +1 -1
- package/src/lib/page-tree.mjs +7 -0
- package/src/lib/page-tree.mjs.map +1 -1
- package/src/lib/panel-look.js +5 -0
- package/src/lib/panel-look.js.map +1 -1
- package/src/lib/panel-look.mjs +5 -0
- package/src/lib/panel-look.mjs.map +1 -1
- package/src/lib/screen-canvas.js +3 -0
- package/src/lib/screen-canvas.js.map +1 -1
- package/src/lib/screen-canvas.mjs +4 -1
- package/src/lib/screen-canvas.mjs.map +1 -1
- package/src/lib/templates.js +1 -1
- package/src/lib/templates.js.map +1 -1
- package/src/lib/templates.mjs +2 -2
- package/src/lib/templates.mjs.map +1 -1
- package/src/lib/try-it.d.mts +6 -1
- package/src/lib/try-it.d.ts +6 -1
- package/src/lib/try-it.js +25 -0
- package/src/lib/try-it.js.map +1 -1
- package/src/lib/try-it.mjs +24 -0
- package/src/lib/try-it.mjs.map +1 -1
|
@@ -18,6 +18,9 @@ const FILE_TYPES = [
|
|
|
18
18
|
];
|
|
19
19
|
/** The largest file, in bytes, and in words. */
|
|
20
20
|
const FILE_SIZES = [1024 * 1024, 10 * 1024 * 1024, 100 * 1024 * 1024, 1024 * 1024 * 1024];
|
|
21
|
+
/** The longest sides photos are made smaller to, in pixels, and how sharp: a phone's screen, a laptop's, a print. */
|
|
22
|
+
const PHOTO_SIDES = [1280, 1600, 2048, 2560, 3200, 4096];
|
|
23
|
+
const PHOTO_QUALITIES = [0.7, 0.8, 0.9, 0.95];
|
|
21
24
|
export function inlineSettings(el, designer, id) {
|
|
22
25
|
const w = designer.words.questions;
|
|
23
26
|
const element = el('div', { class: 'fd-inline-settings', hidden: '' });
|
|
@@ -169,11 +172,28 @@ export function inlineSettings(el, designer, id) {
|
|
|
169
172
|
const asChips = [asChip('list', w.list), asChip('thumbnails', w.thumbnails), asChip('cards', w.cards)];
|
|
170
173
|
const switchable = el('button', { type: 'button', class: 'fd-switch', role: 'switch', 'aria-checked': 'false', 'aria-label': w.peopleCanSwitch });
|
|
171
174
|
switchable.addEventListener('click', () => designer.setWidgetOptions(id, { filesSwitch: switchable.getAttribute('aria-checked') === 'true' ? null : true }));
|
|
175
|
+
// Photos made smaller before they are kept: as usual (an image's, where files are stored), kept as taken, or to a side;
|
|
176
|
+
// and how sharp, once they are made smaller. A side the page set that is none of these is shown as it is.
|
|
177
|
+
const smaller = select(w.smallerPhotos, ['', 'off', ...PHOTO_SIDES.map(String)]);
|
|
178
|
+
const ownSide = el('option', { hidden: '' });
|
|
179
|
+
smaller.append(ownSide);
|
|
180
|
+
const quality = select(w.photoQuality, ['', ...PHOTO_QUALITIES.map(String)]);
|
|
181
|
+
[w.qualityUsual, ...PHOTO_QUALITIES.map((q) => w.qualityOf(Math.round(q * 100)))].forEach((words, i) => (quality.options[i].textContent = words));
|
|
182
|
+
const shrinkFrom = () => {
|
|
183
|
+
if (smaller.value === 'off')
|
|
184
|
+
return false;
|
|
185
|
+
const side = smaller.value ? Number(smaller.value) : undefined;
|
|
186
|
+
const sharp = quality.value ? Number(quality.value) : undefined;
|
|
187
|
+
return side === undefined && sharp === undefined ? null : { ...(side !== undefined ? { maxSide: side } : {}), ...(sharp !== undefined ? { quality: sharp } : {}) };
|
|
188
|
+
};
|
|
189
|
+
smaller.addEventListener('change', () => designer.setFileRules(id, { shrink: shrinkFrom() }));
|
|
190
|
+
quality.addEventListener('change', () => designer.setFileRules(id, { shrink: shrinkFrom() }));
|
|
191
|
+
const qualityRow = word(w.photoQuality, quality);
|
|
172
192
|
// A phone's camera, for an image: the rear one, or the front.
|
|
173
193
|
const camera = select(w.cameraOnPhones, ['', 'environment', 'user']);
|
|
174
194
|
[w.no, w.rearCamera, w.frontCamera].forEach((words, i) => (camera.options[i].textContent = words));
|
|
175
195
|
camera.addEventListener('change', () => designer.setWidgetOptions(id, { camera: camera.value === 'user' ? 'user' : camera.value ? true : null }));
|
|
176
|
-
element.replaceChildren(...(kind === 'file' ? [el('div', { class: 'fd-inline-row' }, el('span', {}, w.takesOnly), el('div', { class: 'fd-inline-chips', role: 'group', 'aria-label': w.kindsOfFile }, ...types.map((t) => t.button)))] : []), el('div', { class: 'fd-inline-row' }, word(w.largestFile, largest), el('span', { class: 'fd-inline-setting fd-inline-toggle' }, several, el('span', { 'aria-hidden': 'true' }, w.severalFiles))), counts, el('div', { class: 'fd-inline-row' }, el('span', {}, w.showFilesAs), el('div', { class: 'fd-inline-chips', role: 'group', 'aria-label': w.showFilesAs }, ...asChips)), el('span', { class: 'fd-inline-setting fd-inline-toggle' }, switchable, el('span', { 'aria-hidden': 'true' }, w.peopleCanSwitch)), ...(kind === 'image' ? [word(w.cameraOnPhones, camera)] : []));
|
|
196
|
+
element.replaceChildren(...(kind === 'file' ? [el('div', { class: 'fd-inline-row' }, el('span', {}, w.takesOnly), el('div', { class: 'fd-inline-chips', role: 'group', 'aria-label': w.kindsOfFile }, ...types.map((t) => t.button)))] : []), el('div', { class: 'fd-inline-row' }, word(w.largestFile, largest), el('span', { class: 'fd-inline-setting fd-inline-toggle' }, several, el('span', { 'aria-hidden': 'true' }, w.severalFiles))), counts, el('div', { class: 'fd-inline-row' }, el('span', {}, w.showFilesAs), el('div', { class: 'fd-inline-chips', role: 'group', 'aria-label': w.showFilesAs }, ...asChips)), el('span', { class: 'fd-inline-setting fd-inline-toggle' }, switchable, el('span', { 'aria-hidden': 'true' }, w.peopleCanSwitch)), word(w.smallerPhotos, smaller), qualityRow, ...(kind === 'image' ? [word(w.cameraOnPhones, camera)] : []));
|
|
177
197
|
refresh = (page, node) => {
|
|
178
198
|
const def = page.fields[node.field];
|
|
179
199
|
if (def.type !== 'binary' && def.type !== 'image')
|
|
@@ -199,6 +219,21 @@ export function inlineSettings(el, designer, id) {
|
|
|
199
219
|
switchable.setAttribute('aria-checked', String(node.options?.['filesSwitch'] === true));
|
|
200
220
|
const facing = node.options?.['camera'];
|
|
201
221
|
camera.value = facing ? (facing === 'user' ? 'user' : 'environment') : '';
|
|
222
|
+
// An image is made smaller as usual, and may be kept as taken; a file upload is not, unless a side is picked.
|
|
223
|
+
const picture = def.type === 'image';
|
|
224
|
+
smaller.options[0].textContent = picture ? w.smallerUsual : w.smallerNo;
|
|
225
|
+
smaller.options[1].textContent = w.smallerNo;
|
|
226
|
+
smaller.options[1].hidden = !picture;
|
|
227
|
+
PHOTO_SIDES.forEach((side, i) => (smaller.options[i + 2].textContent = w.smallerTo(side)));
|
|
228
|
+
const shrink = def.shrink;
|
|
229
|
+
const side = shrink ? shrink.maxSide : undefined;
|
|
230
|
+
ownSide.hidden = side === undefined || PHOTO_SIDES.includes(side);
|
|
231
|
+
ownSide.value = String(side ?? '');
|
|
232
|
+
ownSide.textContent = side !== undefined ? w.smallerTo(side) : '';
|
|
233
|
+
smaller.value = shrink === false ? (picture ? 'off' : '') : String(side ?? '');
|
|
234
|
+
quality.value = shrink && shrink.quality !== undefined && PHOTO_QUALITIES.includes(shrink.quality) ? String(shrink.quality) : '';
|
|
235
|
+
// How sharp, only where photos are made smaller: hidden, not disabled, where they are kept as taken.
|
|
236
|
+
qualityRow.hidden = shrink === false || (!picture && !shrink);
|
|
202
237
|
};
|
|
203
238
|
}
|
|
204
239
|
else if (kind === 'lines') {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"inline-settings.mjs","sourceRoot":"","sources":["../../../../../libs/designer/src/lib/inline-settings.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"inline-settings.mjs","sourceRoot":"","sources":["../../../../../libs/designer/src/lib/inline-settings.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import type { Page } from '@fieldia/core';
|
|
2
|
+
import type { ElementFactory } from './chrome.mjs';
|
|
3
|
+
import type { Designer } from './designer.mjs';
|
|
4
|
+
export declare function calendarSection(el: ElementFactory, designer: Designer): {
|
|
5
|
+
element: HTMLDivElement;
|
|
6
|
+
update(page: Page): void;
|
|
7
|
+
};
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import type { Page } from '@fieldia/core';
|
|
2
|
+
import type { ElementFactory } from './chrome';
|
|
3
|
+
import type { Designer } from './designer';
|
|
4
|
+
export declare function calendarSection(el: ElementFactory, designer: Designer): {
|
|
5
|
+
element: HTMLDivElement;
|
|
6
|
+
update(page: Page): void;
|
|
7
|
+
};
|
|
@@ -0,0 +1,155 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.calendarSection = calendarSection;
|
|
4
|
+
/**
|
|
5
|
+
* A list's calendar in its panel, as its map is: whether there is one, when
|
|
6
|
+
* each record starts and ends, its words, its colour, a column for each
|
|
7
|
+
* person or room, the views offered and the one shown first, how the list
|
|
8
|
+
* opens, the week's first day, the hours and a slot's minutes.
|
|
9
|
+
*/
|
|
10
|
+
const TIMES = new Set(['date', 'datetime']);
|
|
11
|
+
/** Fields a record's words can come from. */
|
|
12
|
+
const SAYABLE = new Set(['char', 'text', 'selection', 'many2one', 'integer', 'float', 'monetary', 'date', 'datetime']);
|
|
13
|
+
/** Fields a colour can come from: values that repeat. */
|
|
14
|
+
const COLOURS = new Set(['many2one', 'selection', 'char', 'integer', 'boolean']);
|
|
15
|
+
/** Fields a column for each can come from. */
|
|
16
|
+
const COLUMNS = new Set(['many2one', 'selection', 'char', 'integer']);
|
|
17
|
+
const VIEWS = ['day', 'week', 'month', 'agenda'];
|
|
18
|
+
const SLOTS = [15, 30, 60];
|
|
19
|
+
const listOf = (page) => page.layout;
|
|
20
|
+
const focused = (node) => node.ownerDocument.activeElement === node;
|
|
21
|
+
function calendarSection(el, designer) {
|
|
22
|
+
const w = designer.words.list.calendar;
|
|
23
|
+
const prop = (text, control) => el('label', { class: 'fd-prop' }, el('span', { class: 'fd-prop-name' }, text), control);
|
|
24
|
+
const select = (label) => el('select', { class: 'fd-input fd-select', 'aria-label': label });
|
|
25
|
+
const on = el('input', { type: 'checkbox' });
|
|
26
|
+
const onRow = el('label', { class: 'fd-q-required' }, on, el('span', {}, w.on));
|
|
27
|
+
const noDate = el('p', { class: 'fd-properties-hint', 'data-why': 'no-date' }, w.noDate);
|
|
28
|
+
const start = select(w.start);
|
|
29
|
+
const end = select(w.end);
|
|
30
|
+
const words = select(w.words);
|
|
31
|
+
const colour = select(w.colour);
|
|
32
|
+
const resource = select(w.resource);
|
|
33
|
+
const viewTicks = VIEWS.map((view) => ({ view, box: el('input', { type: 'checkbox' }) }));
|
|
34
|
+
const views = el('div', { class: 'fd-map-tools', role: 'group', 'aria-label': w.views }, ...viewTicks.map(({ view, box }) => el('label', { class: 'fd-q-required' }, box, el('span', {}, w.viewNames[view]))));
|
|
35
|
+
const oneView = el('p', { class: 'fd-properties-hint', role: 'status', 'data-why': 'views', hidden: '' }, w.oneView);
|
|
36
|
+
const first = select(w.first);
|
|
37
|
+
const opens = select(w.opens);
|
|
38
|
+
opens.append(...['list', 'calendar'].map((value) => el('option', { value }, w.opensChoices[value])));
|
|
39
|
+
const firstDay = select(w.firstDay);
|
|
40
|
+
firstDay.append(el('option', { value: '' }, w.languageDay), ...w.days.map((day, i) => el('option', { value: String(i) }, day)));
|
|
41
|
+
const from = el('input', { class: 'fd-input', type: 'number', min: '0', max: '23', placeholder: '8', 'aria-label': w.from });
|
|
42
|
+
const to = el('input', { class: 'fd-input', type: 'number', min: '1', max: '24', placeholder: '20', 'aria-label': w.to });
|
|
43
|
+
const slot = select(w.slot);
|
|
44
|
+
slot.append(...SLOTS.map((minutes) => el('option', { value: String(minutes) }, w.slots[minutes])));
|
|
45
|
+
const details = el('div', { class: 'fd-props' }, prop(w.start, start), prop(w.end, end), prop(w.words, words), prop(w.colour, colour), prop(w.resource, resource), el('div', { class: 'fd-prop' }, el('span', { class: 'fd-prop-name' }, w.views), views, oneView), prop(w.first, first), prop(w.opens, opens), prop(w.firstDay, firstDay), prop(w.from, from), prop(w.to, to), prop(w.slot, slot), el('p', { class: 'fd-properties-hint' }, w.note));
|
|
46
|
+
const element = el('div', { class: 'fd-prop', 'data-part': 'calendar' }, el('span', { class: 'fd-prop-name' }, w.title), onRow, noDate, details);
|
|
47
|
+
/** The page's fields first, then the model's not on it yet, of the kinds asked. */
|
|
48
|
+
const fieldsOf = (page, kinds) => [...Object.entries(page.fields).map(([name, field]) => ({ name, field })), ...designer.modelFields()].filter(({ field }) => kinds.has(field.type));
|
|
49
|
+
const fill = (box, choices, none) => box.replaceChildren(...(none === undefined ? [] : [el('option', { value: '' }, none)]), ...choices.map(({ name, field }) => el('option', { value: name }, field.label)));
|
|
50
|
+
const current = () => listOf(designer.getPage()).calendar;
|
|
51
|
+
/** The calendar with a change, its empty parts left out. */
|
|
52
|
+
const change = (edit) => {
|
|
53
|
+
const calendar = JSON.parse(JSON.stringify(current() ?? {}));
|
|
54
|
+
edit(calendar);
|
|
55
|
+
for (const key of Object.keys(calendar))
|
|
56
|
+
if (calendar[key] === '' || calendar[key] === undefined)
|
|
57
|
+
delete calendar[key];
|
|
58
|
+
return designer.setListOptions({ calendar });
|
|
59
|
+
};
|
|
60
|
+
/** A new calendar: the first date and time (or date), an end of its kind named so or the next of it, and the list's first words. */
|
|
61
|
+
function firstCalendar(page) {
|
|
62
|
+
const times = fieldsOf(page, TIMES);
|
|
63
|
+
const begin = times.find(({ field }) => field.type === 'datetime') ?? times[0];
|
|
64
|
+
if (!begin)
|
|
65
|
+
return null;
|
|
66
|
+
const sameKind = times.filter(({ name, field }) => name !== begin.name && field.type === begin.field.type);
|
|
67
|
+
const until = sameKind.find(({ name, field }) => /end|stop|until|to$|finish/i.test(`${name} ${field.label}`)) ?? sameKind[0];
|
|
68
|
+
const list = listOf(page);
|
|
69
|
+
const title = list.columns.find((name) => page.fields[name]?.type === 'char') ?? list.columns[0];
|
|
70
|
+
return { start: begin.name, ...(until ? { end: until.name } : {}), title };
|
|
71
|
+
}
|
|
72
|
+
on.addEventListener('change', () => {
|
|
73
|
+
const made = firstCalendar(designer.getPage());
|
|
74
|
+
designer.setListOptions({ calendar: on.checked && made ? made : null });
|
|
75
|
+
});
|
|
76
|
+
start.addEventListener('change', () => change((calendar) => {
|
|
77
|
+
calendar.start = start.value;
|
|
78
|
+
// An end of another kind goes with the old start.
|
|
79
|
+
const kind = designer.getPage().fields[start.value]?.type ?? designer.modelFields().find((f) => f.name === start.value)?.field.type;
|
|
80
|
+
const endKind = calendar.end ? (designer.getPage().fields[calendar.end]?.type ?? designer.modelFields().find((f) => f.name === calendar.end)?.field.type) : kind;
|
|
81
|
+
if (endKind !== kind)
|
|
82
|
+
delete calendar.end;
|
|
83
|
+
}));
|
|
84
|
+
end.addEventListener('change', () => change((calendar) => (calendar.end = end.value || undefined)));
|
|
85
|
+
words.addEventListener('change', () => change((calendar) => (calendar.title = words.value)));
|
|
86
|
+
colour.addEventListener('change', () => change((calendar) => (calendar.colour = colour.value || undefined)));
|
|
87
|
+
resource.addEventListener('change', () => change((calendar) => (calendar.resource = resource.value || undefined)));
|
|
88
|
+
for (const { box } of viewTicks)
|
|
89
|
+
box.addEventListener('change', () => {
|
|
90
|
+
const picked = viewTicks.filter((t) => t.box.checked).map((t) => t.view);
|
|
91
|
+
// One at least: the last one stays ticked, and says why.
|
|
92
|
+
oneView.hidden = picked.length > 0;
|
|
93
|
+
if (!picked.length)
|
|
94
|
+
return void (box.checked = true);
|
|
95
|
+
change((calendar) => {
|
|
96
|
+
calendar.views = picked.length === VIEWS.length ? undefined : picked;
|
|
97
|
+
if (calendar.view && !picked.includes(calendar.view))
|
|
98
|
+
delete calendar.view;
|
|
99
|
+
});
|
|
100
|
+
});
|
|
101
|
+
first.addEventListener('change', () => change((calendar) => {
|
|
102
|
+
const offered = calendar.views ?? VIEWS;
|
|
103
|
+
calendar.view = first.value === offered[0] ? undefined : first.value;
|
|
104
|
+
}));
|
|
105
|
+
opens.addEventListener('change', () => change((calendar) => (calendar.opens = opens.value === 'calendar' ? 'calendar' : undefined)));
|
|
106
|
+
firstDay.addEventListener('change', () => change((calendar) => (calendar.firstDay = firstDay.value === '' ? undefined : Number(firstDay.value))));
|
|
107
|
+
const hours = () => change((calendar) => {
|
|
108
|
+
const [a, b] = [from.value.trim(), to.value.trim()];
|
|
109
|
+
// Both, or neither: the page's own 8 to 20.
|
|
110
|
+
if (!a && !b)
|
|
111
|
+
return void delete calendar.hours;
|
|
112
|
+
calendar.hours = { start: Math.round(Number(a || 8)), end: Math.round(Number(b || 20)) };
|
|
113
|
+
});
|
|
114
|
+
from.addEventListener('change', hours);
|
|
115
|
+
to.addEventListener('change', hours);
|
|
116
|
+
slot.addEventListener('change', () => change((calendar) => (calendar.slot = slot.value === '30' ? undefined : Number(slot.value))));
|
|
117
|
+
return {
|
|
118
|
+
element,
|
|
119
|
+
update(page) {
|
|
120
|
+
const calendar = listOf(page).calendar;
|
|
121
|
+
const canHave = fieldsOf(page, TIMES).length > 0;
|
|
122
|
+
on.checked = !!calendar;
|
|
123
|
+
onRow.hidden = !calendar && !canHave;
|
|
124
|
+
noDate.hidden = !!calendar || canHave;
|
|
125
|
+
details.hidden = !calendar;
|
|
126
|
+
if (!calendar)
|
|
127
|
+
return;
|
|
128
|
+
const kindOf = (name) => (name ? (page.fields[name]?.type ?? designer.modelFields().find((f) => f.name === name)?.field.type) : undefined);
|
|
129
|
+
const startKind = kindOf(calendar.start);
|
|
130
|
+
fill(start, fieldsOf(page, TIMES));
|
|
131
|
+
start.value = calendar.start;
|
|
132
|
+
fill(end, fieldsOf(page, TIMES).filter(({ field }) => field.type === startKind), w.noEnd);
|
|
133
|
+
end.value = calendar.end ?? '';
|
|
134
|
+
fill(words, fieldsOf(page, SAYABLE));
|
|
135
|
+
words.value = calendar.title;
|
|
136
|
+
fill(colour, fieldsOf(page, COLOURS), w.nothing);
|
|
137
|
+
colour.value = calendar.colour ?? '';
|
|
138
|
+
fill(resource, fieldsOf(page, COLUMNS), w.nothing);
|
|
139
|
+
resource.value = calendar.resource ?? '';
|
|
140
|
+
const offered = calendar.views ?? VIEWS;
|
|
141
|
+
for (const { view, box } of viewTicks)
|
|
142
|
+
box.checked = offered.includes(view);
|
|
143
|
+
first.replaceChildren(...offered.map((view) => el('option', { value: view }, w.viewNames[view])));
|
|
144
|
+
first.value = calendar.view ?? offered[0];
|
|
145
|
+
opens.value = calendar.opens ?? 'list';
|
|
146
|
+
firstDay.value = calendar.firstDay === undefined ? '' : String(calendar.firstDay);
|
|
147
|
+
if (!focused(from))
|
|
148
|
+
from.value = calendar.hours ? String(calendar.hours.start) : '';
|
|
149
|
+
if (!focused(to))
|
|
150
|
+
to.value = calendar.hours ? String(calendar.hours.end) : '';
|
|
151
|
+
slot.value = String(calendar.slot ?? 30);
|
|
152
|
+
},
|
|
153
|
+
};
|
|
154
|
+
}
|
|
155
|
+
//# sourceMappingURL=list-calendar.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"list-calendar.js","sourceRoot":"","sources":["../../../../../libs/designer/src/lib/list-calendar.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,152 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* A list's calendar in its panel, as its map is: whether there is one, when
|
|
3
|
+
* each record starts and ends, its words, its colour, a column for each
|
|
4
|
+
* person or room, the views offered and the one shown first, how the list
|
|
5
|
+
* opens, the week's first day, the hours and a slot's minutes.
|
|
6
|
+
*/
|
|
7
|
+
const TIMES = new Set(['date', 'datetime']);
|
|
8
|
+
/** Fields a record's words can come from. */
|
|
9
|
+
const SAYABLE = new Set(['char', 'text', 'selection', 'many2one', 'integer', 'float', 'monetary', 'date', 'datetime']);
|
|
10
|
+
/** Fields a colour can come from: values that repeat. */
|
|
11
|
+
const COLOURS = new Set(['many2one', 'selection', 'char', 'integer', 'boolean']);
|
|
12
|
+
/** Fields a column for each can come from. */
|
|
13
|
+
const COLUMNS = new Set(['many2one', 'selection', 'char', 'integer']);
|
|
14
|
+
const VIEWS = ['day', 'week', 'month', 'agenda'];
|
|
15
|
+
const SLOTS = [15, 30, 60];
|
|
16
|
+
const listOf = (page) => page.layout;
|
|
17
|
+
const focused = (node) => node.ownerDocument.activeElement === node;
|
|
18
|
+
export function calendarSection(el, designer) {
|
|
19
|
+
const w = designer.words.list.calendar;
|
|
20
|
+
const prop = (text, control) => el('label', { class: 'fd-prop' }, el('span', { class: 'fd-prop-name' }, text), control);
|
|
21
|
+
const select = (label) => el('select', { class: 'fd-input fd-select', 'aria-label': label });
|
|
22
|
+
const on = el('input', { type: 'checkbox' });
|
|
23
|
+
const onRow = el('label', { class: 'fd-q-required' }, on, el('span', {}, w.on));
|
|
24
|
+
const noDate = el('p', { class: 'fd-properties-hint', 'data-why': 'no-date' }, w.noDate);
|
|
25
|
+
const start = select(w.start);
|
|
26
|
+
const end = select(w.end);
|
|
27
|
+
const words = select(w.words);
|
|
28
|
+
const colour = select(w.colour);
|
|
29
|
+
const resource = select(w.resource);
|
|
30
|
+
const viewTicks = VIEWS.map((view) => ({ view, box: el('input', { type: 'checkbox' }) }));
|
|
31
|
+
const views = el('div', { class: 'fd-map-tools', role: 'group', 'aria-label': w.views }, ...viewTicks.map(({ view, box }) => el('label', { class: 'fd-q-required' }, box, el('span', {}, w.viewNames[view]))));
|
|
32
|
+
const oneView = el('p', { class: 'fd-properties-hint', role: 'status', 'data-why': 'views', hidden: '' }, w.oneView);
|
|
33
|
+
const first = select(w.first);
|
|
34
|
+
const opens = select(w.opens);
|
|
35
|
+
opens.append(...['list', 'calendar'].map((value) => el('option', { value }, w.opensChoices[value])));
|
|
36
|
+
const firstDay = select(w.firstDay);
|
|
37
|
+
firstDay.append(el('option', { value: '' }, w.languageDay), ...w.days.map((day, i) => el('option', { value: String(i) }, day)));
|
|
38
|
+
const from = el('input', { class: 'fd-input', type: 'number', min: '0', max: '23', placeholder: '8', 'aria-label': w.from });
|
|
39
|
+
const to = el('input', { class: 'fd-input', type: 'number', min: '1', max: '24', placeholder: '20', 'aria-label': w.to });
|
|
40
|
+
const slot = select(w.slot);
|
|
41
|
+
slot.append(...SLOTS.map((minutes) => el('option', { value: String(minutes) }, w.slots[minutes])));
|
|
42
|
+
const details = el('div', { class: 'fd-props' }, prop(w.start, start), prop(w.end, end), prop(w.words, words), prop(w.colour, colour), prop(w.resource, resource), el('div', { class: 'fd-prop' }, el('span', { class: 'fd-prop-name' }, w.views), views, oneView), prop(w.first, first), prop(w.opens, opens), prop(w.firstDay, firstDay), prop(w.from, from), prop(w.to, to), prop(w.slot, slot), el('p', { class: 'fd-properties-hint' }, w.note));
|
|
43
|
+
const element = el('div', { class: 'fd-prop', 'data-part': 'calendar' }, el('span', { class: 'fd-prop-name' }, w.title), onRow, noDate, details);
|
|
44
|
+
/** The page's fields first, then the model's not on it yet, of the kinds asked. */
|
|
45
|
+
const fieldsOf = (page, kinds) => [...Object.entries(page.fields).map(([name, field]) => ({ name, field })), ...designer.modelFields()].filter(({ field }) => kinds.has(field.type));
|
|
46
|
+
const fill = (box, choices, none) => box.replaceChildren(...(none === undefined ? [] : [el('option', { value: '' }, none)]), ...choices.map(({ name, field }) => el('option', { value: name }, field.label)));
|
|
47
|
+
const current = () => listOf(designer.getPage()).calendar;
|
|
48
|
+
/** The calendar with a change, its empty parts left out. */
|
|
49
|
+
const change = (edit) => {
|
|
50
|
+
const calendar = JSON.parse(JSON.stringify(current() ?? {}));
|
|
51
|
+
edit(calendar);
|
|
52
|
+
for (const key of Object.keys(calendar))
|
|
53
|
+
if (calendar[key] === '' || calendar[key] === undefined)
|
|
54
|
+
delete calendar[key];
|
|
55
|
+
return designer.setListOptions({ calendar });
|
|
56
|
+
};
|
|
57
|
+
/** A new calendar: the first date and time (or date), an end of its kind named so or the next of it, and the list's first words. */
|
|
58
|
+
function firstCalendar(page) {
|
|
59
|
+
const times = fieldsOf(page, TIMES);
|
|
60
|
+
const begin = times.find(({ field }) => field.type === 'datetime') ?? times[0];
|
|
61
|
+
if (!begin)
|
|
62
|
+
return null;
|
|
63
|
+
const sameKind = times.filter(({ name, field }) => name !== begin.name && field.type === begin.field.type);
|
|
64
|
+
const until = sameKind.find(({ name, field }) => /end|stop|until|to$|finish/i.test(`${name} ${field.label}`)) ?? sameKind[0];
|
|
65
|
+
const list = listOf(page);
|
|
66
|
+
const title = list.columns.find((name) => page.fields[name]?.type === 'char') ?? list.columns[0];
|
|
67
|
+
return { start: begin.name, ...(until ? { end: until.name } : {}), title };
|
|
68
|
+
}
|
|
69
|
+
on.addEventListener('change', () => {
|
|
70
|
+
const made = firstCalendar(designer.getPage());
|
|
71
|
+
designer.setListOptions({ calendar: on.checked && made ? made : null });
|
|
72
|
+
});
|
|
73
|
+
start.addEventListener('change', () => change((calendar) => {
|
|
74
|
+
calendar.start = start.value;
|
|
75
|
+
// An end of another kind goes with the old start.
|
|
76
|
+
const kind = designer.getPage().fields[start.value]?.type ?? designer.modelFields().find((f) => f.name === start.value)?.field.type;
|
|
77
|
+
const endKind = calendar.end ? (designer.getPage().fields[calendar.end]?.type ?? designer.modelFields().find((f) => f.name === calendar.end)?.field.type) : kind;
|
|
78
|
+
if (endKind !== kind)
|
|
79
|
+
delete calendar.end;
|
|
80
|
+
}));
|
|
81
|
+
end.addEventListener('change', () => change((calendar) => (calendar.end = end.value || undefined)));
|
|
82
|
+
words.addEventListener('change', () => change((calendar) => (calendar.title = words.value)));
|
|
83
|
+
colour.addEventListener('change', () => change((calendar) => (calendar.colour = colour.value || undefined)));
|
|
84
|
+
resource.addEventListener('change', () => change((calendar) => (calendar.resource = resource.value || undefined)));
|
|
85
|
+
for (const { box } of viewTicks)
|
|
86
|
+
box.addEventListener('change', () => {
|
|
87
|
+
const picked = viewTicks.filter((t) => t.box.checked).map((t) => t.view);
|
|
88
|
+
// One at least: the last one stays ticked, and says why.
|
|
89
|
+
oneView.hidden = picked.length > 0;
|
|
90
|
+
if (!picked.length)
|
|
91
|
+
return void (box.checked = true);
|
|
92
|
+
change((calendar) => {
|
|
93
|
+
calendar.views = picked.length === VIEWS.length ? undefined : picked;
|
|
94
|
+
if (calendar.view && !picked.includes(calendar.view))
|
|
95
|
+
delete calendar.view;
|
|
96
|
+
});
|
|
97
|
+
});
|
|
98
|
+
first.addEventListener('change', () => change((calendar) => {
|
|
99
|
+
const offered = calendar.views ?? VIEWS;
|
|
100
|
+
calendar.view = first.value === offered[0] ? undefined : first.value;
|
|
101
|
+
}));
|
|
102
|
+
opens.addEventListener('change', () => change((calendar) => (calendar.opens = opens.value === 'calendar' ? 'calendar' : undefined)));
|
|
103
|
+
firstDay.addEventListener('change', () => change((calendar) => (calendar.firstDay = firstDay.value === '' ? undefined : Number(firstDay.value))));
|
|
104
|
+
const hours = () => change((calendar) => {
|
|
105
|
+
const [a, b] = [from.value.trim(), to.value.trim()];
|
|
106
|
+
// Both, or neither: the page's own 8 to 20.
|
|
107
|
+
if (!a && !b)
|
|
108
|
+
return void delete calendar.hours;
|
|
109
|
+
calendar.hours = { start: Math.round(Number(a || 8)), end: Math.round(Number(b || 20)) };
|
|
110
|
+
});
|
|
111
|
+
from.addEventListener('change', hours);
|
|
112
|
+
to.addEventListener('change', hours);
|
|
113
|
+
slot.addEventListener('change', () => change((calendar) => (calendar.slot = slot.value === '30' ? undefined : Number(slot.value))));
|
|
114
|
+
return {
|
|
115
|
+
element,
|
|
116
|
+
update(page) {
|
|
117
|
+
const calendar = listOf(page).calendar;
|
|
118
|
+
const canHave = fieldsOf(page, TIMES).length > 0;
|
|
119
|
+
on.checked = !!calendar;
|
|
120
|
+
onRow.hidden = !calendar && !canHave;
|
|
121
|
+
noDate.hidden = !!calendar || canHave;
|
|
122
|
+
details.hidden = !calendar;
|
|
123
|
+
if (!calendar)
|
|
124
|
+
return;
|
|
125
|
+
const kindOf = (name) => (name ? (page.fields[name]?.type ?? designer.modelFields().find((f) => f.name === name)?.field.type) : undefined);
|
|
126
|
+
const startKind = kindOf(calendar.start);
|
|
127
|
+
fill(start, fieldsOf(page, TIMES));
|
|
128
|
+
start.value = calendar.start;
|
|
129
|
+
fill(end, fieldsOf(page, TIMES).filter(({ field }) => field.type === startKind), w.noEnd);
|
|
130
|
+
end.value = calendar.end ?? '';
|
|
131
|
+
fill(words, fieldsOf(page, SAYABLE));
|
|
132
|
+
words.value = calendar.title;
|
|
133
|
+
fill(colour, fieldsOf(page, COLOURS), w.nothing);
|
|
134
|
+
colour.value = calendar.colour ?? '';
|
|
135
|
+
fill(resource, fieldsOf(page, COLUMNS), w.nothing);
|
|
136
|
+
resource.value = calendar.resource ?? '';
|
|
137
|
+
const offered = calendar.views ?? VIEWS;
|
|
138
|
+
for (const { view, box } of viewTicks)
|
|
139
|
+
box.checked = offered.includes(view);
|
|
140
|
+
first.replaceChildren(...offered.map((view) => el('option', { value: view }, w.viewNames[view])));
|
|
141
|
+
first.value = calendar.view ?? offered[0];
|
|
142
|
+
opens.value = calendar.opens ?? 'list';
|
|
143
|
+
firstDay.value = calendar.firstDay === undefined ? '' : String(calendar.firstDay);
|
|
144
|
+
if (!focused(from))
|
|
145
|
+
from.value = calendar.hours ? String(calendar.hours.start) : '';
|
|
146
|
+
if (!focused(to))
|
|
147
|
+
to.value = calendar.hours ? String(calendar.hours.end) : '';
|
|
148
|
+
slot.value = String(calendar.slot ?? 30);
|
|
149
|
+
},
|
|
150
|
+
};
|
|
151
|
+
}
|
|
152
|
+
//# sourceMappingURL=list-calendar.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"list-calendar.mjs","sourceRoot":"","sources":["../../../../../libs/designer/src/lib/list-calendar.ts"],"names":[],"mappings":"AAIA;;;;;GAKG;AAEH,MAAM,KAAK,GAAG,IAAI,GAAG,CAAC,CAAC,MAAM,EAAE,UAAU,CAAC,CAAC,CAAC;AAC5C,6CAA6C;AAC7C,MAAM,OAAO,GAAG,IAAI,GAAG,CAAC,CAAC,MAAM,EAAE,MAAM,EAAE,WAAW,EAAE,UAAU,EAAE,SAAS,EAAE,OAAO,EAAE,UAAU,EAAE,MAAM,EAAE,UAAU,CAAC,CAAC,CAAC;AACvH,yDAAyD;AACzD,MAAM,OAAO,GAAG,IAAI,GAAG,CAAC,CAAC,UAAU,EAAE,WAAW,EAAE,MAAM,EAAE,SAAS,EAAE,SAAS,CAAC,CAAC,CAAC;AACjF,8CAA8C;AAC9C,MAAM,OAAO,GAAG,IAAI,GAAG,CAAC,CAAC,UAAU,EAAE,WAAW,EAAE,MAAM,EAAE,SAAS,CAAC,CAAC,CAAC;AACtE,MAAM,KAAK,GAAmB,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,QAAQ,CAAC,CAAC;AACjE,MAAM,KAAK,GAAG,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,CAAU,CAAC;AAEpC,MAAM,MAAM,GAAG,CAAC,IAAU,EAAE,EAAE,CAAC,IAAI,CAAC,MAAkB,CAAC;AACvD,MAAM,OAAO,GAAG,CAAC,IAAa,EAAE,EAAE,CAAC,IAAI,CAAC,aAAa,CAAC,aAAa,KAAK,IAAI,CAAC;AAE7E,MAAM,UAAU,eAAe,CAAC,EAAkB,EAAE,QAAkB;IACpE,MAAM,CAAC,GAAG,QAAQ,CAAC,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC;IACvC,MAAM,IAAI,GAAG,CAAC,IAAY,EAAE,OAAoB,EAAE,EAAE,CAAC,EAAE,CAAC,OAAO,EAAE,EAAE,KAAK,EAAE,SAAS,EAAE,EAAE,EAAE,CAAC,MAAM,EAAE,EAAE,KAAK,EAAE,cAAc,EAAE,EAAE,IAAI,CAAC,EAAE,OAAO,CAAC,CAAC;IAC7I,MAAM,MAAM,GAAG,CAAC,KAAa,EAAE,EAAE,CAAC,EAAE,CAAC,QAAQ,EAAE,EAAE,KAAK,EAAE,oBAAoB,EAAE,YAAY,EAAE,KAAK,EAAE,CAAsB,CAAC;IAC1H,MAAM,EAAE,GAAG,EAAE,CAAC,OAAO,EAAE,EAAE,IAAI,EAAE,UAAU,EAAE,CAAqB,CAAC;IACjE,MAAM,KAAK,GAAG,EAAE,CAAC,OAAO,EAAE,EAAE,KAAK,EAAE,eAAe,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,MAAM,EAAE,EAAE,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;IAChF,MAAM,MAAM,GAAG,EAAE,CAAC,GAAG,EAAE,EAAE,KAAK,EAAE,oBAAoB,EAAE,UAAU,EAAE,SAAS,EAAE,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC;IACzF,MAAM,KAAK,GAAG,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC;IAC9B,MAAM,GAAG,GAAG,MAAM,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC;IAC1B,MAAM,KAAK,GAAG,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC;IAC9B,MAAM,MAAM,GAAG,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC;IAChC,MAAM,QAAQ,GAAG,MAAM,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC;IACpC,MAAM,SAAS,GAAG,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,EAAE,IAAI,EAAE,GAAG,EAAE,EAAE,CAAC,OAAO,EAAE,EAAE,IAAI,EAAE,UAAU,EAAE,CAAqB,EAAE,CAAC,CAAC,CAAC;IAC9G,MAAM,KAAK,GAAG,EAAE,CAAC,KAAK,EAAE,EAAE,KAAK,EAAE,cAAc,EAAE,IAAI,EAAE,OAAO,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,EAAE,EAAE,GAAG,SAAS,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,EAAE,GAAG,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,OAAO,EAAE,EAAE,KAAK,EAAE,eAAe,EAAE,EAAE,GAAG,EAAE,EAAE,CAAC,MAAM,EAAE,EAAE,EAAE,CAAC,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IAC/M,MAAM,OAAO,GAAG,EAAE,CAAC,GAAG,EAAE,EAAE,KAAK,EAAE,oBAAoB,EAAE,IAAI,EAAE,QAAQ,EAAE,UAAU,EAAE,OAAO,EAAE,MAAM,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC,OAAO,CAAC,CAAC;IACrH,MAAM,KAAK,GAAG,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC;IAC9B,MAAM,KAAK,GAAG,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC;IAC9B,KAAK,CAAC,MAAM,CAAC,GAAI,CAAC,MAAM,EAAE,UAAU,CAAW,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,EAAE,CAAC,QAAQ,EAAE,EAAE,KAAK,EAAE,EAAE,CAAC,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;IAChH,MAAM,QAAQ,GAAG,MAAM,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC;IACpC,QAAQ,CAAC,MAAM,CAAC,EAAE,CAAC,QAAQ,EAAE,EAAE,KAAK,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC,WAAW,CAAC,EAAE,GAAG,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,CAAC,EAAE,EAAE,CAAC,EAAE,CAAC,QAAQ,EAAE,EAAE,KAAK,EAAE,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,GAAG,CAAC,CAAC,CAAC,CAAC;IAChI,MAAM,IAAI,GAAG,EAAE,CAAC,OAAO,EAAE,EAAE,KAAK,EAAE,UAAU,EAAE,IAAI,EAAE,QAAQ,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,IAAI,EAAE,WAAW,EAAE,GAAG,EAAE,YAAY,EAAE,CAAC,CAAC,IAAI,EAAE,CAAqB,CAAC;IACjJ,MAAM,EAAE,GAAG,EAAE,CAAC,OAAO,EAAE,EAAE,KAAK,EAAE,UAAU,EAAE,IAAI,EAAE,QAAQ,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,IAAI,EAAE,WAAW,EAAE,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,EAAE,EAAE,CAAqB,CAAC;IAC9I,MAAM,IAAI,GAAG,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;IAC5B,IAAI,CAAC,MAAM,CAAC,GAAG,KAAK,CAAC,GAAG,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,EAAE,CAAC,QAAQ,EAAE,EAAE,KAAK,EAAE,MAAM,CAAC,OAAO,CAAC,EAAE,EAAE,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC;IACnG,MAAM,OAAO,GAAG,EAAE,CAChB,KAAK,EACL,EAAE,KAAK,EAAE,UAAU,EAAE,EACrB,IAAI,CAAC,CAAC,CAAC,KAAK,EAAE,KAAK,CAAC,EACpB,IAAI,CAAC,CAAC,CAAC,GAAG,EAAE,GAAG,CAAC,EAChB,IAAI,CAAC,CAAC,CAAC,KAAK,EAAE,KAAK,CAAC,EACpB,IAAI,CAAC,CAAC,CAAC,MAAM,EAAE,MAAM,CAAC,EACtB,IAAI,CAAC,CAAC,CAAC,QAAQ,EAAE,QAAQ,CAAC,EAC1B,EAAE,CAAC,KAAK,EAAE,EAAE,KAAK,EAAE,SAAS,EAAE,EAAE,EAAE,CAAC,MAAM,EAAE,EAAE,KAAK,EAAE,cAAc,EAAE,EAAE,CAAC,CAAC,KAAK,CAAC,EAAE,KAAK,EAAE,OAAO,CAAC,EAC/F,IAAI,CAAC,CAAC,CAAC,KAAK,EAAE,KAAK,CAAC,EACpB,IAAI,CAAC,CAAC,CAAC,KAAK,EAAE,KAAK,CAAC,EACpB,IAAI,CAAC,CAAC,CAAC,QAAQ,EAAE,QAAQ,CAAC,EAC1B,IAAI,CAAC,CAAC,CAAC,IAAI,EAAE,IAAI,CAAC,EAClB,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,EACd,IAAI,CAAC,CAAC,CAAC,IAAI,EAAE,IAAI,CAAC,EAClB,EAAE,CAAC,GAAG,EAAE,EAAE,KAAK,EAAE,oBAAoB,EAAE,EAAE,CAAC,CAAC,IAAI,CAAC,CACjD,CAAC;IACF,MAAM,OAAO,GAAG,EAAE,CAAC,KAAK,EAAE,EAAE,KAAK,EAAE,SAAS,EAAE,WAAW,EAAE,UAAU,EAAE,EAAE,EAAE,CAAC,MAAM,EAAE,EAAE,KAAK,EAAE,cAAc,EAAE,EAAE,CAAC,CAAC,KAAK,CAAC,EAAE,KAAK,EAAE,MAAM,EAAE,OAAO,CAAC,CAAC;IAEjJ,mFAAmF;IACnF,MAAM,QAAQ,GAAG,CAAC,IAAU,EAAE,KAA0B,EAAE,EAAE,CAC1D,CAAC,GAAG,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,EAAE,KAAK,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC,CAAC,EAAE,GAAG,QAAQ,CAAC,WAAW,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,EAAE,KAAK,EAAE,EAAE,EAAE,CAAC,KAAK,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC;IACrJ,MAAM,IAAI,GAAG,CAAC,GAAsB,EAAE,OAAyC,EAAE,IAAa,EAAE,EAAE,CAChG,GAAG,CAAC,eAAe,CAAC,GAAG,CAAC,IAAI,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,QAAQ,EAAE,EAAE,KAAK,EAAE,EAAE,EAAE,EAAE,IAAI,CAAC,CAAC,CAAC,EAAE,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,EAAE,KAAK,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,QAAQ,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,EAAE,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;IAC3K,MAAM,OAAO,GAAG,GAA6B,EAAE,CAAC,MAAM,CAAC,QAAQ,CAAC,OAAO,EAAE,CAAC,CAAC,QAAQ,CAAC;IACpF,4DAA4D;IAC5D,MAAM,MAAM,GAAG,CAAC,IAAsC,EAAE,EAAE;QACxD,MAAM,QAAQ,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,OAAO,EAAE,IAAI,EAAE,CAAC,CAAiB,CAAC;QAC7E,IAAI,CAAC,QAAQ,CAAC,CAAC;QACf,KAAK,MAAM,GAAG,IAAI,MAAM,CAAC,IAAI,CAAC,QAAQ,CAA2B;YAAE,IAAI,QAAQ,CAAC,GAAG,CAAC,KAAK,EAAE,IAAI,QAAQ,CAAC,GAAG,CAAC,KAAK,SAAS;gBAAE,OAAO,QAAQ,CAAC,GAAG,CAAC,CAAC;QACjJ,OAAO,QAAQ,CAAC,cAAc,CAAC,EAAE,QAAQ,EAAE,CAAC,CAAC;IAC/C,CAAC,CAAC;IAEF,oIAAoI;IACpI,SAAS,aAAa,CAAC,IAAU;QAC/B,MAAM,KAAK,GAAG,QAAQ,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;QACpC,MAAM,KAAK,GAAG,KAAK,CAAC,IAAI,CAAC,CAAC,EAAE,KAAK,EAAE,EAAE,EAAE,CAAC,KAAK,CAAC,IAAI,KAAK,UAAU,CAAC,IAAI,KAAK,CAAC,CAAC,CAAC,CAAC;QAC/E,IAAI,CAAC,KAAK;YAAE,OAAO,IAAI,CAAC;QACxB,MAAM,QAAQ,GAAG,KAAK,CAAC,MAAM,CAAC,CAAC,EAAE,IAAI,EAAE,KAAK,EAAE,EAAE,EAAE,CAAC,IAAI,KAAK,KAAK,CAAC,IAAI,IAAI,KAAK,CAAC,IAAI,KAAK,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;QAC3G,MAAM,KAAK,GAAG,QAAQ,CAAC,IAAI,CAAC,CAAC,EAAE,IAAI,EAAE,KAAK,EAAE,EAAE,EAAE,CAAC,4BAA4B,CAAC,IAAI,CAAC,GAAG,IAAI,IAAI,KAAK,CAAC,KAAK,EAAE,CAAC,CAAC,IAAI,QAAQ,CAAC,CAAC,CAAC,CAAC;QAC7H,MAAM,IAAI,GAAG,MAAM,CAAC,IAAI,CAAC,CAAC;QAC1B,MAAM,KAAK,GAAG,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,IAAI,KAAK,MAAM,CAAC,IAAI,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;QACjG,OAAO,EAAE,KAAK,EAAE,KAAK,CAAC,IAAI,EAAE,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,GAAG,EAAE,KAAK,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,KAAK,EAAE,CAAC;IAC7E,CAAC;IAED,EAAE,CAAC,gBAAgB,CAAC,QAAQ,EAAE,GAAG,EAAE;QACjC,MAAM,IAAI,GAAG,aAAa,CAAC,QAAQ,CAAC,OAAO,EAAE,CAAC,CAAC;QAC/C,QAAQ,CAAC,cAAc,CAAC,EAAE,QAAQ,EAAE,EAAE,CAAC,OAAO,IAAI,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC;IAC1E,CAAC,CAAC,CAAC;IACH,KAAK,CAAC,gBAAgB,CAAC,QAAQ,EAAE,GAAG,EAAE,CACpC,MAAM,CAAC,CAAC,QAAQ,EAAE,EAAE;QAClB,QAAQ,CAAC,KAAK,GAAG,KAAK,CAAC,KAAK,CAAC;QAC7B,kDAAkD;QAClD,MAAM,IAAI,GAAG,QAAQ,CAAC,OAAO,EAAE,CAAC,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,EAAE,IAAI,IAAI,QAAQ,CAAC,WAAW,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,KAAK,CAAC,KAAK,CAAC,EAAE,KAAK,CAAC,IAAI,CAAC;QACpI,MAAM,OAAO,GAAG,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,OAAO,EAAE,CAAC,MAAM,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,IAAI,IAAI,QAAQ,CAAC,WAAW,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,QAAQ,CAAC,GAAG,CAAC,EAAE,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;QACjK,IAAI,OAAO,KAAK,IAAI;YAAE,OAAO,QAAQ,CAAC,GAAG,CAAC;IAC5C,CAAC,CAAC,CACH,CAAC;IACF,GAAG,CAAC,gBAAgB,CAAC,QAAQ,EAAE,GAAG,EAAE,CAAC,MAAM,CAAC,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC,QAAQ,CAAC,GAAG,GAAG,GAAG,CAAC,KAAK,IAAI,SAAS,CAAC,CAAC,CAAC,CAAC;IACpG,KAAK,CAAC,gBAAgB,CAAC,QAAQ,EAAE,GAAG,EAAE,CAAC,MAAM,CAAC,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC,QAAQ,CAAC,KAAK,GAAG,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;IAC7F,MAAM,CAAC,gBAAgB,CAAC,QAAQ,EAAE,GAAG,EAAE,CAAC,MAAM,CAAC,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC,QAAQ,CAAC,MAAM,GAAG,MAAM,CAAC,KAAK,IAAI,SAAS,CAAC,CAAC,CAAC,CAAC;IAC7G,QAAQ,CAAC,gBAAgB,CAAC,QAAQ,EAAE,GAAG,EAAE,CAAC,MAAM,CAAC,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC,QAAQ,CAAC,QAAQ,GAAG,QAAQ,CAAC,KAAK,IAAI,SAAS,CAAC,CAAC,CAAC,CAAC;IACnH,KAAK,MAAM,EAAE,GAAG,EAAE,IAAI,SAAS;QAC7B,GAAG,CAAC,gBAAgB,CAAC,QAAQ,EAAE,GAAG,EAAE;YAClC,MAAM,MAAM,GAAG,SAAS,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;YACzE,yDAAyD;YACzD,OAAO,CAAC,MAAM,GAAG,MAAM,CAAC,MAAM,GAAG,CAAC,CAAC;YACnC,IAAI,CAAC,MAAM,CAAC,MAAM;gBAAE,OAAO,KAAK,CAAC,GAAG,CAAC,OAAO,GAAG,IAAI,CAAC,CAAC;YACrD,MAAM,CAAC,CAAC,QAAQ,EAAE,EAAE;gBAClB,QAAQ,CAAC,KAAK,GAAG,MAAM,CAAC,MAAM,KAAK,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,MAAM,CAAC;gBACrE,IAAI,QAAQ,CAAC,IAAI,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,QAAQ,CAAC,IAAI,CAAC;oBAAE,OAAO,QAAQ,CAAC,IAAI,CAAC;YAC7E,CAAC,CAAC,CAAC;QACL,CAAC,CAAC,CAAC;IACL,KAAK,CAAC,gBAAgB,CAAC,QAAQ,EAAE,GAAG,EAAE,CACpC,MAAM,CAAC,CAAC,QAAQ,EAAE,EAAE;QAClB,MAAM,OAAO,GAAG,QAAQ,CAAC,KAAK,IAAI,KAAK,CAAC;QACxC,QAAQ,CAAC,IAAI,GAAG,KAAK,CAAC,KAAK,KAAK,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAE,KAAK,CAAC,KAAsB,CAAC;IACzF,CAAC,CAAC,CACH,CAAC;IACF,KAAK,CAAC,gBAAgB,CAAC,QAAQ,EAAE,GAAG,EAAE,CAAC,MAAM,CAAC,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC,QAAQ,CAAC,KAAK,GAAG,KAAK,CAAC,KAAK,KAAK,UAAU,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC;IACrI,QAAQ,CAAC,gBAAgB,CAAC,QAAQ,EAAE,GAAG,EAAE,CAAC,MAAM,CAAC,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC,QAAQ,CAAC,QAAQ,GAAG,QAAQ,CAAC,KAAK,KAAK,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;IAClJ,MAAM,KAAK,GAAG,GAAG,EAAE,CACjB,MAAM,CAAC,CAAC,QAAQ,EAAE,EAAE;QAClB,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,EAAE,EAAE,EAAE,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC,CAAC;QACpD,4CAA4C;QAC5C,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC;YAAE,OAAO,KAAK,OAAO,QAAQ,CAAC,KAAK,CAAC;QAChD,QAAQ,CAAC,KAAK,GAAG,EAAE,KAAK,EAAE,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,GAAG,EAAE,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,EAAE,CAAC;IAC3F,CAAC,CAAC,CAAC;IACL,IAAI,CAAC,gBAAgB,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAC;IACvC,EAAE,CAAC,gBAAgB,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAC;IACrC,IAAI,CAAC,gBAAgB,CAAC,QAAQ,EAAE,GAAG,EAAE,CAAC,MAAM,CAAC,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC,QAAQ,CAAC,IAAI,GAAG,IAAI,CAAC,KAAK,KAAK,IAAI,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAE,MAAM,CAAC,IAAI,CAAC,KAAK,CAA0B,CAAC,CAAC,CAAC,CAAC;IAE9J,OAAO;QACL,OAAO;QACP,MAAM,CAAC,IAAU;YACf,MAAM,QAAQ,GAAG,MAAM,CAAC,IAAI,CAAC,CAAC,QAAQ,CAAC;YACvC,MAAM,OAAO,GAAG,QAAQ,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC;YACjD,EAAE,CAAC,OAAO,GAAG,CAAC,CAAC,QAAQ,CAAC;YACxB,KAAK,CAAC,MAAM,GAAG,CAAC,QAAQ,IAAI,CAAC,OAAO,CAAC;YACrC,MAAM,CAAC,MAAM,GAAG,CAAC,CAAC,QAAQ,IAAI,OAAO,CAAC;YACtC,OAAO,CAAC,MAAM,GAAG,CAAC,QAAQ,CAAC;YAC3B,IAAI,CAAC,QAAQ;gBAAE,OAAO;YACtB,MAAM,MAAM,GAAG,CAAC,IAAwB,EAAE,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,IAAI,IAAI,QAAQ,CAAC,WAAW,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,IAAI,CAAC,EAAE,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC;YAC/J,MAAM,SAAS,GAAG,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;YACzC,IAAI,CAAC,KAAK,EAAE,QAAQ,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC,CAAC;YACnC,KAAK,CAAC,KAAK,GAAG,QAAQ,CAAC,KAAK,CAAC;YAC7B,IAAI,CAAC,GAAG,EAAE,QAAQ,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC,MAAM,CAAC,CAAC,EAAE,KAAK,EAAE,EAAE,EAAE,CAAC,KAAK,CAAC,IAAI,KAAK,SAAS,CAAC,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC;YAC1F,GAAG,CAAC,KAAK,GAAG,QAAQ,CAAC,GAAG,IAAI,EAAE,CAAC;YAC/B,IAAI,CAAC,KAAK,EAAE,QAAQ,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC,CAAC;YACrC,KAAK,CAAC,KAAK,GAAG,QAAQ,CAAC,KAAK,CAAC;YAC7B,IAAI,CAAC,MAAM,EAAE,QAAQ,CAAC,IAAI,EAAE,OAAO,CAAC,EAAE,CAAC,CAAC,OAAO,CAAC,CAAC;YACjD,MAAM,CAAC,KAAK,GAAG,QAAQ,CAAC,MAAM,IAAI,EAAE,CAAC;YACrC,IAAI,CAAC,QAAQ,EAAE,QAAQ,CAAC,IAAI,EAAE,OAAO,CAAC,EAAE,CAAC,CAAC,OAAO,CAAC,CAAC;YACnD,QAAQ,CAAC,KAAK,GAAG,QAAQ,CAAC,QAAQ,IAAI,EAAE,CAAC;YACzC,MAAM,OAAO,GAAG,QAAQ,CAAC,KAAK,IAAI,KAAK,CAAC;YACxC,KAAK,MAAM,EAAE,IAAI,EAAE,GAAG,EAAE,IAAI,SAAS;gBAAE,GAAG,CAAC,OAAO,GAAG,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;YAC5E,KAAK,CAAC,eAAe,CAAC,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,EAAE,CAAC,QAAQ,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,EAAE,CAAC,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;YAClG,KAAK,CAAC,KAAK,GAAG,QAAQ,CAAC,IAAI,IAAI,OAAO,CAAC,CAAC,CAAC,CAAC;YAC1C,KAAK,CAAC,KAAK,GAAG,QAAQ,CAAC,KAAK,IAAI,MAAM,CAAC;YACvC,QAAQ,CAAC,KAAK,GAAG,QAAQ,CAAC,QAAQ,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC;YAClF,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC;gBAAE,IAAI,CAAC,KAAK,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;YACpF,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC;gBAAE,EAAE,CAAC,KAAK,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;YAC9E,IAAI,CAAC,KAAK,GAAG,MAAM,CAAC,QAAQ,CAAC,IAAI,IAAI,EAAE,CAAC,CAAC;QAC3C,CAAC;KACF,CAAC;AACJ,CAAC"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import type { ButtonNode, Field, FilterCondition, FilterItem, ListCell, ListMap, Page } from '@fieldia/core';
|
|
1
|
+
import type { ButtonNode, Field, FilterCondition, FilterItem, ListCalendar, ListCell, ListMap, Page } from '@fieldia/core';
|
|
2
2
|
/**
|
|
3
3
|
* A list page, as the designer edits it: its columns, its order, how many
|
|
4
4
|
* rows a page holds, where the search bar looks, its named filters and
|
|
@@ -33,6 +33,8 @@ export interface ListOptionsPatch {
|
|
|
33
33
|
};
|
|
34
34
|
/** The link to the list's own records its rows nest under; null for none. */
|
|
35
35
|
parentField?: string | null;
|
|
36
|
+
/** The records on a calendar too: when each starts and ends, its words, its colour, a column for each; null for none. */
|
|
37
|
+
calendar?: ListCalendar | null;
|
|
36
38
|
}
|
|
37
39
|
export interface ListActionPatch {
|
|
38
40
|
label?: string;
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import type { ButtonNode, Field, FilterCondition, FilterItem, ListCell, ListMap, Page } from '@fieldia/core';
|
|
1
|
+
import type { ButtonNode, Field, FilterCondition, FilterItem, ListCalendar, ListCell, ListMap, Page } from '@fieldia/core';
|
|
2
2
|
/**
|
|
3
3
|
* A list page, as the designer edits it: its columns, its order, how many
|
|
4
4
|
* rows a page holds, where the search bar looks, its named filters and
|
|
@@ -33,6 +33,8 @@ export interface ListOptionsPatch {
|
|
|
33
33
|
};
|
|
34
34
|
/** The link to the list's own records its rows nest under; null for none. */
|
|
35
35
|
parentField?: string | null;
|
|
36
|
+
/** The records on a calendar too: when each starts and ends, its words, its colour, a column for each; null for none. */
|
|
37
|
+
calendar?: ListCalendar | null;
|
|
36
38
|
}
|
|
37
39
|
export interface ListActionPatch {
|
|
38
40
|
label?: string;
|
package/src/lib/list-commands.js
CHANGED
|
@@ -220,6 +220,14 @@ function listCommands(context) {
|
|
|
220
220
|
fieldFor(draft, name);
|
|
221
221
|
list.map = JSON.parse(JSON.stringify(options.map));
|
|
222
222
|
}
|
|
223
|
+
if (options.calendar === null)
|
|
224
|
+
delete list.calendar;
|
|
225
|
+
else if (options.calendar !== undefined) {
|
|
226
|
+
// As a map's: its fields come from the model, and the page check says what is wrong with the rest.
|
|
227
|
+
for (const name of (0, page_tree_1.listCalendarFields)(options.calendar))
|
|
228
|
+
fieldFor(draft, name);
|
|
229
|
+
list.calendar = JSON.parse(JSON.stringify(options.calendar));
|
|
230
|
+
}
|
|
223
231
|
prune(draft);
|
|
224
232
|
});
|
|
225
233
|
},
|