@fieldia/designer 0.20.0 → 0.22.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.
Files changed (223) hide show
  1. package/package.json +4 -4
  2. package/src/lib/canvas-form.d.mts +1 -1
  3. package/src/lib/canvas-form.d.ts +1 -1
  4. package/src/lib/canvas-form.js +2 -1
  5. package/src/lib/canvas-form.js.map +1 -1
  6. package/src/lib/canvas-form.mjs +2 -1
  7. package/src/lib/canvas-form.mjs.map +1 -1
  8. package/src/lib/chrome.js +11 -0
  9. package/src/lib/chrome.js.map +1 -1
  10. package/src/lib/chrome.mjs +11 -0
  11. package/src/lib/chrome.mjs.map +1 -1
  12. package/src/lib/date-setting.d.mts +49 -0
  13. package/src/lib/date-setting.d.ts +49 -0
  14. package/src/lib/date-setting.js +125 -0
  15. package/src/lib/date-setting.js.map +1 -0
  16. package/src/lib/date-setting.mjs +122 -0
  17. package/src/lib/date-setting.mjs.map +1 -0
  18. package/src/lib/designer.d.mts +19 -1
  19. package/src/lib/designer.d.ts +19 -1
  20. package/src/lib/designer.js +32 -8
  21. package/src/lib/designer.js.map +1 -1
  22. package/src/lib/designer.mjs +32 -8
  23. package/src/lib/designer.mjs.map +1 -1
  24. package/src/lib/head-commands.d.mts +11 -1
  25. package/src/lib/head-commands.d.ts +11 -1
  26. package/src/lib/head-commands.js +33 -1
  27. package/src/lib/head-commands.js.map +1 -1
  28. package/src/lib/head-commands.mjs +30 -1
  29. package/src/lib/head-commands.mjs.map +1 -1
  30. package/src/lib/head-properties.js +19 -6
  31. package/src/lib/head-properties.js.map +1 -1
  32. package/src/lib/head-properties.mjs +19 -6
  33. package/src/lib/head-properties.mjs.map +1 -1
  34. package/src/lib/inline-settings.js +52 -11
  35. package/src/lib/inline-settings.js.map +1 -1
  36. package/src/lib/inline-settings.mjs +52 -11
  37. package/src/lib/inline-settings.mjs.map +1 -1
  38. package/src/lib/input-commands.js +3 -2
  39. package/src/lib/input-commands.js.map +1 -1
  40. package/src/lib/input-commands.mjs +3 -2
  41. package/src/lib/input-commands.mjs.map +1 -1
  42. package/src/lib/kind-settings-choices.js +16 -7
  43. package/src/lib/kind-settings-choices.js.map +1 -1
  44. package/src/lib/kind-settings-choices.mjs +16 -7
  45. package/src/lib/kind-settings-choices.mjs.map +1 -1
  46. package/src/lib/kind-settings-inputs.js +116 -58
  47. package/src/lib/kind-settings-inputs.js.map +1 -1
  48. package/src/lib/kind-settings-inputs.mjs +116 -58
  49. package/src/lib/kind-settings-inputs.mjs.map +1 -1
  50. package/src/lib/kind-settings-picker.js +16 -9
  51. package/src/lib/kind-settings-picker.js.map +1 -1
  52. package/src/lib/kind-settings-picker.mjs +16 -9
  53. package/src/lib/kind-settings-picker.mjs.map +1 -1
  54. package/src/lib/kind-settings-structures.js +28 -14
  55. package/src/lib/kind-settings-structures.js.map +1 -1
  56. package/src/lib/kind-settings-structures.mjs +29 -15
  57. package/src/lib/kind-settings-structures.mjs.map +1 -1
  58. package/src/lib/kind-settings.js +47 -43
  59. package/src/lib/kind-settings.js.map +1 -1
  60. package/src/lib/kind-settings.mjs +47 -43
  61. package/src/lib/kind-settings.mjs.map +1 -1
  62. package/src/lib/list-calendar.d.mts +7 -0
  63. package/src/lib/list-calendar.d.ts +7 -0
  64. package/src/lib/list-calendar.js +155 -0
  65. package/src/lib/list-calendar.js.map +1 -0
  66. package/src/lib/list-calendar.mjs +152 -0
  67. package/src/lib/list-calendar.mjs.map +1 -0
  68. package/src/lib/list-commands.d.mts +3 -1
  69. package/src/lib/list-commands.d.ts +3 -1
  70. package/src/lib/list-commands.js +8 -0
  71. package/src/lib/list-commands.js.map +1 -1
  72. package/src/lib/list-commands.mjs +9 -1
  73. package/src/lib/list-commands.mjs.map +1 -1
  74. package/src/lib/list-properties.js +103 -55
  75. package/src/lib/list-properties.js.map +1 -1
  76. package/src/lib/list-properties.mjs +103 -55
  77. package/src/lib/list-properties.mjs.map +1 -1
  78. package/src/lib/locales/ar/changes.js +3 -0
  79. package/src/lib/locales/ar/changes.js.map +1 -1
  80. package/src/lib/locales/ar/changes.mjs +3 -0
  81. package/src/lib/locales/ar/changes.mjs.map +1 -1
  82. package/src/lib/locales/ar/index.js +2 -1
  83. package/src/lib/locales/ar/index.js.map +1 -1
  84. package/src/lib/locales/ar/index.mjs +2 -1
  85. package/src/lib/locales/ar/index.mjs.map +1 -1
  86. package/src/lib/locales/ar/inputs.d.mts +2 -0
  87. package/src/lib/locales/ar/inputs.d.ts +2 -0
  88. package/src/lib/locales/ar/inputs.js +20 -0
  89. package/src/lib/locales/ar/inputs.js.map +1 -0
  90. package/src/lib/locales/ar/inputs.mjs +17 -0
  91. package/src/lib/locales/ar/inputs.mjs.map +1 -0
  92. package/src/lib/locales/ar/list.js +26 -0
  93. package/src/lib/locales/ar/list.js.map +1 -1
  94. package/src/lib/locales/ar/list.mjs +26 -0
  95. package/src/lib/locales/ar/list.mjs.map +1 -1
  96. package/src/lib/locales/ar/questions.js +7 -0
  97. package/src/lib/locales/ar/questions.js.map +1 -1
  98. package/src/lib/locales/ar/questions.mjs +7 -0
  99. package/src/lib/locales/ar/questions.mjs.map +1 -1
  100. package/src/lib/locales/ar/refusals.js +1 -0
  101. package/src/lib/locales/ar/refusals.js.map +1 -1
  102. package/src/lib/locales/ar/refusals.mjs +1 -0
  103. package/src/lib/locales/ar/refusals.mjs.map +1 -1
  104. package/src/lib/locales/en/changes.d.mts +3 -0
  105. package/src/lib/locales/en/changes.d.ts +3 -0
  106. package/src/lib/locales/en/changes.js +3 -0
  107. package/src/lib/locales/en/changes.js.map +1 -1
  108. package/src/lib/locales/en/changes.mjs +3 -0
  109. package/src/lib/locales/en/changes.mjs.map +1 -1
  110. package/src/lib/locales/en/index.d.mts +60 -0
  111. package/src/lib/locales/en/index.d.ts +60 -0
  112. package/src/lib/locales/en/index.js +2 -1
  113. package/src/lib/locales/en/index.js.map +1 -1
  114. package/src/lib/locales/en/index.mjs +2 -1
  115. package/src/lib/locales/en/index.mjs.map +1 -1
  116. package/src/lib/locales/en/inputs.d.mts +26 -0
  117. package/src/lib/locales/en/inputs.d.ts +26 -0
  118. package/src/lib/locales/en/inputs.js +30 -0
  119. package/src/lib/locales/en/inputs.js.map +1 -0
  120. package/src/lib/locales/en/inputs.mjs +27 -0
  121. package/src/lib/locales/en/inputs.mjs.map +1 -0
  122. package/src/lib/locales/en/list.d.mts +34 -0
  123. package/src/lib/locales/en/list.d.ts +34 -0
  124. package/src/lib/locales/en/list.js +27 -0
  125. package/src/lib/locales/en/list.js.map +1 -1
  126. package/src/lib/locales/en/list.mjs +27 -0
  127. package/src/lib/locales/en/list.mjs.map +1 -1
  128. package/src/lib/locales/en/questions.d.mts +8 -0
  129. package/src/lib/locales/en/questions.d.ts +8 -0
  130. package/src/lib/locales/en/questions.js +8 -0
  131. package/src/lib/locales/en/questions.js.map +1 -1
  132. package/src/lib/locales/en/questions.mjs +8 -0
  133. package/src/lib/locales/en/questions.mjs.map +1 -1
  134. package/src/lib/locales/en/refusals.d.mts +1 -0
  135. package/src/lib/locales/en/refusals.d.ts +1 -0
  136. package/src/lib/locales/en/refusals.js +1 -0
  137. package/src/lib/locales/en/refusals.js.map +1 -1
  138. package/src/lib/locales/en/refusals.mjs +1 -0
  139. package/src/lib/locales/en/refusals.mjs.map +1 -1
  140. package/src/lib/number-box.d.mts +66 -0
  141. package/src/lib/number-box.d.ts +66 -0
  142. package/src/lib/number-box.js +153 -0
  143. package/src/lib/number-box.js.map +1 -0
  144. package/src/lib/number-box.mjs +149 -0
  145. package/src/lib/number-box.mjs.map +1 -0
  146. package/src/lib/page-checks.js +5 -0
  147. package/src/lib/page-checks.js.map +1 -1
  148. package/src/lib/page-checks.mjs +5 -0
  149. package/src/lib/page-checks.mjs.map +1 -1
  150. package/src/lib/page-json.d.mts +3 -1
  151. package/src/lib/page-json.d.ts +3 -1
  152. package/src/lib/page-json.js +5 -3
  153. package/src/lib/page-json.js.map +1 -1
  154. package/src/lib/page-json.mjs +5 -3
  155. package/src/lib/page-json.mjs.map +1 -1
  156. package/src/lib/page-tree.d.mts +3 -1
  157. package/src/lib/page-tree.d.ts +3 -1
  158. package/src/lib/page-tree.js +8 -0
  159. package/src/lib/page-tree.js.map +1 -1
  160. package/src/lib/page-tree.mjs +7 -0
  161. package/src/lib/page-tree.mjs.map +1 -1
  162. package/src/lib/panel-block.js +16 -5
  163. package/src/lib/panel-block.js.map +1 -1
  164. package/src/lib/panel-block.mjs +16 -5
  165. package/src/lib/panel-block.mjs.map +1 -1
  166. package/src/lib/panel-layout.js +20 -15
  167. package/src/lib/panel-layout.js.map +1 -1
  168. package/src/lib/panel-layout.mjs +20 -15
  169. package/src/lib/panel-layout.mjs.map +1 -1
  170. package/src/lib/panel-look.js +21 -14
  171. package/src/lib/panel-look.js.map +1 -1
  172. package/src/lib/panel-look.mjs +21 -14
  173. package/src/lib/panel-look.mjs.map +1 -1
  174. package/src/lib/panel-map.js +53 -20
  175. package/src/lib/panel-map.js.map +1 -1
  176. package/src/lib/panel-map.mjs +53 -20
  177. package/src/lib/panel-map.mjs.map +1 -1
  178. package/src/lib/rules-answers.d.mts +1 -1
  179. package/src/lib/rules-answers.d.ts +1 -1
  180. package/src/lib/rules-answers.js +45 -21
  181. package/src/lib/rules-answers.js.map +1 -1
  182. package/src/lib/rules-answers.mjs +45 -21
  183. package/src/lib/rules-answers.mjs.map +1 -1
  184. package/src/lib/rules-formula-box.d.mts +7 -3
  185. package/src/lib/rules-formula-box.d.ts +7 -3
  186. package/src/lib/rules-formula-box.js +26 -6
  187. package/src/lib/rules-formula-box.js.map +1 -1
  188. package/src/lib/rules-formula-box.mjs +26 -6
  189. package/src/lib/rules-formula-box.mjs.map +1 -1
  190. package/src/lib/rules-formula.js +7 -5
  191. package/src/lib/rules-formula.js.map +1 -1
  192. package/src/lib/rules-formula.mjs +8 -6
  193. package/src/lib/rules-formula.mjs.map +1 -1
  194. package/src/lib/rules-worked-out.js +66 -12
  195. package/src/lib/rules-worked-out.js.map +1 -1
  196. package/src/lib/rules-worked-out.mjs +66 -12
  197. package/src/lib/rules-worked-out.mjs.map +1 -1
  198. package/src/lib/setting-refusals.d.mts +3 -0
  199. package/src/lib/setting-refusals.d.ts +3 -0
  200. package/src/lib/setting-refusals.js +25 -0
  201. package/src/lib/setting-refusals.js.map +1 -0
  202. package/src/lib/setting-refusals.mjs +22 -0
  203. package/src/lib/setting-refusals.mjs.map +1 -0
  204. package/src/lib/table-panel.js +16 -5
  205. package/src/lib/table-panel.js.map +1 -1
  206. package/src/lib/table-panel.mjs +16 -5
  207. package/src/lib/table-panel.mjs.map +1 -1
  208. package/src/lib/templates.js +1 -1
  209. package/src/lib/templates.js.map +1 -1
  210. package/src/lib/templates.mjs +2 -2
  211. package/src/lib/templates.mjs.map +1 -1
  212. package/src/lib/try-it.d.mts +6 -1
  213. package/src/lib/try-it.d.ts +6 -1
  214. package/src/lib/try-it.js +25 -0
  215. package/src/lib/try-it.js.map +1 -1
  216. package/src/lib/try-it.mjs +24 -0
  217. package/src/lib/try-it.mjs.map +1 -1
  218. package/src/lib/work-text.d.mts +10 -2
  219. package/src/lib/work-text.d.ts +10 -2
  220. package/src/lib/work-text.js +12 -23
  221. package/src/lib/work-text.js.map +1 -1
  222. package/src/lib/work-text.mjs +12 -21
  223. package/src/lib/work-text.mjs.map +1 -1
@@ -5,17 +5,20 @@ import { ADDRESS_PARTS, USUAL_ADDRESS } from './kind-commands.mjs';
5
5
  import { choiceSettings } from './kind-settings-choices.mjs';
6
6
  import { LARGEST_PICTURE } from './choice-commands.mjs';
7
7
  import { pictureForPage } from './picture-upload.mjs';
8
+ import { settingNumber } from './number-box.mjs';
8
9
  /** Kinds whose options may be shown in an order of each form's own. */
9
10
  const SHUFFLED = new Set(['multiple-choice', 'checkboxes', 'dropdown', 'image-choice', 'ranking']);
10
11
  /** Kinds whose options may be worth points: a matrix's options are its columns. */
11
12
  const SCORED = new Set(['multiple-choice', 'checkboxes', 'dropdown', 'image-choice', 'matrix']);
12
13
  const optionsOf = (field) => (field.type === 'selection' ? field.options : field.type === 'matrix' ? field.columns : []);
13
- const numberOrNull = (text) => (text.trim() === '' || !Number.isFinite(Number(text)) ? null : Number(text));
14
+ /** A setting's number as the page holds it, or null. */
15
+ const held = (value) => (typeof value === 'number' && Number.isFinite(value) ? value : null);
14
16
  export function kindSettings(el, designer, id, kind) {
15
17
  const w = designer.words.questions;
16
18
  const focused = (node) => node.ownerDocument.activeElement === node;
17
19
  const word = (text, control) => el('label', { class: 'fd-inline-setting' }, el('span', {}, text), control);
18
- const numberBox = (label, extra = {}) => el('input', { type: 'number', class: 'fd-inline-input fd-inline-number', 'aria-label': label, inputmode: 'decimal', ...extra });
20
+ /** The designer's number box: Arabic digits and a decimal comma read, kept as it is left, what does not fit said. */
21
+ const numberBox = (options) => settingNumber(el, designer, { ...options, attrs: { class: 'fd-inline-input fd-inline-number', ...(options.placeholder ? { placeholder: options.placeholder } : {}), ...options.attrs } });
19
22
  const textBox = (label, placeholder) => el('input', { class: 'fd-inline-input fd-inline-words', 'aria-label': label, placeholder, autocomplete: 'off' });
20
23
  const toggle = (label, onClick) => {
21
24
  const button = el('button', { type: 'button', class: 'fd-switch', role: 'switch', 'aria-checked': 'false', 'aria-label': label });
@@ -25,32 +28,28 @@ export function kindSettings(el, designer, id, kind) {
25
28
  /** A setting of the question's widget, from its node's options. */
26
29
  const optionOf = (node, key) => node.options?.[key];
27
30
  function slider() {
28
- const from = numberBox(w.from, { step: 'any' });
29
- const to = numberBox(w.toLabel, { step: 'any' });
30
- const step = numberBox(w.step, { min: '0', step: 'any' });
31
- // Saved once a number is typed and left, so a range half typed is not refused.
32
- const range = () => {
33
- const min = numberOrNull(from.value);
34
- const max = numberOrNull(to.value);
35
- if (min !== null && max !== null)
36
- designer.setLimits(id, { min, max });
37
- };
38
- from.addEventListener('change', range);
39
- to.addEventListener('change', range);
31
+ // Its ends as drawn — 0 to 100 unless said — each kept with the other once typed and left; its step more than 0, 1 unless said.
32
+ let [least, most, by] = [0, 100, 1];
33
+ const fromOptions = { label: w.from, saved: () => least, commit: (n) => designer.setLimits(id, { min: n, max: most }) };
34
+ const toOptions = { label: w.toLabel, saved: () => most, commit: (n) => designer.setLimits(id, { min: least, max: n }) };
35
+ const from = numberBox(fromOptions);
36
+ const to = numberBox(toOptions);
37
+ const stepping = { label: w.step, above: 0, optional: true, saved: () => by, commit: (n) => designer.setStep(id, n) };
40
38
  // A step with decimals makes the field a decimal, so the values it reaches are ones the field takes.
41
- step.addEventListener('change', () => designer.setStep(id, numberOrNull(step.value)));
39
+ const step = numberBox(stepping);
42
40
  return {
43
- element: el('div', { class: 'fd-inline-row' }, word(w.from, from), word(w.to, to), word(w.step, step)),
41
+ element: el('div', { class: 'fd-inline-row' }, word(w.from, from.input), word(w.to, to.input), word(w.step, step.input)),
44
42
  standsIn: false,
45
43
  refresh(page, node) {
46
44
  const def = page.fields[node.field];
47
- if (!focused(from))
48
- from.value = String('min' in def && def.min !== undefined ? def.min : 0);
49
- if (!focused(to))
50
- to.value = String('max' in def && def.max !== undefined ? def.max : 100);
51
- const n = optionOf(node, 'step');
52
- if (!focused(step))
53
- step.value = String(typeof n === 'number' ? n : 1);
45
+ // A whole-number field's ends are whole numbers.
46
+ fromOptions.integer = toOptions.integer = def.type === 'integer';
47
+ least = 'min' in def && typeof def.min === 'number' ? def.min : 0;
48
+ most = 'max' in def && typeof def.max === 'number' ? def.max : 100;
49
+ by = held(optionOf(node, 'step')) ?? 1;
50
+ from.refresh();
51
+ to.refresh();
52
+ step.refresh();
54
53
  },
55
54
  };
56
55
  }
@@ -218,26 +217,25 @@ export function kindSettings(el, designer, id, kind) {
218
217
  const addField = columns.element.querySelector('[data-add-column]');
219
218
  if (addField)
220
219
  addField.textContent = w.addField;
221
- const least = numberBox(w.atLeast, { min: '0', step: '1' });
222
- const most = numberBox(w.atMost, { min: '1', step: '1' });
220
+ // Whole numbers, at least 0 and at most 1 or more; emptied (or at least 0), none.
221
+ const counts = { min: null, max: null };
222
+ const count = (label, key, min) => numberBox({ label, integer: true, min, optional: true, saved: () => counts[key], commit: (n) => designer.setWidgetOptions(id, { [key]: n === 0 ? null : n }) });
223
+ const least = count(w.atLeast, 'min', 0);
224
+ const most = count(w.atMost, 'max', 1);
223
225
  const title = textBox(w.cardTitle, w.entry);
224
226
  const button = textBox(w.buttonWords, w.addAnother);
225
- const count = (input, key) => input.addEventListener('change', () => {
226
- const n = numberOrNull(input.value);
227
- designer.setWidgetOptions(id, { [key]: n !== null && Number.isInteger(n) && n > 0 ? n : null });
228
- });
229
- count(least, 'min');
230
- count(most, 'max');
231
227
  title.addEventListener('input', () => designer.setWidgetOptions(id, { itemLabel: title.value }));
232
228
  button.addEventListener('input', () => designer.setWidgetOptions(id, { addLabel: button.value }));
233
229
  return {
234
- element: el('div', { class: 'fd-kind-block' }, columns.element, el('div', { class: 'fd-inline-row' }, word(w.atLeast, least), word(w.atMost, most)), el('div', { class: 'fd-inline-row' }, word(w.cardTitle, title), word(w.buttonWords, button))),
230
+ element: el('div', { class: 'fd-kind-block' }, columns.element, el('div', { class: 'fd-inline-row' }, word(w.atLeast, least.input), word(w.atMost, most.input)), el('div', { class: 'fd-inline-row' }, word(w.cardTitle, title), word(w.buttonWords, button))),
235
231
  standsIn: true,
236
232
  refresh(page, node) {
237
233
  columns.update(page.fields[node.field]);
238
234
  const text = (input, value) => !focused(input) && (input.value = value === undefined || value === null ? '' : String(value));
239
- text(least, optionOf(node, 'min'));
240
- text(most, optionOf(node, 'max'));
235
+ counts.min = held(optionOf(node, 'min'));
236
+ counts.max = held(optionOf(node, 'max'));
237
+ least.refresh();
238
+ most.refresh();
241
239
  text(title, optionOf(node, 'itemLabel'));
242
240
  text(button, optionOf(node, 'addLabel'));
243
241
  },
@@ -262,14 +260,17 @@ export function kindSettings(el, designer, id, kind) {
262
260
  });
263
261
  const list = el('ul', { class: 'fd-kind-points' });
264
262
  const block = el('div', { class: 'fd-kind-block' }, el('span', { class: 'fd-prop-name' }, w.points), list);
263
+ /** Each option's points box, kept as it is left: emptying one, or half typing it, never takes the quiz away under the keys. */
265
264
  const rows = [];
266
265
  return {
267
266
  element: el('div', { class: 'fd-kind-points-box' }, start, block),
268
267
  standsIn: false,
269
268
  refresh(page, node) {
270
269
  const quiz = Object.values(page.fields).some((f) => optionsOf(f).some((o) => o.score !== undefined));
271
- start.hidden = quiz;
272
- block.hidden = !quiz;
270
+ // While one of its boxes is typed in, the block stays, so the box and what is typed in it do too.
271
+ const typing = list.contains(list.ownerDocument.activeElement);
272
+ start.hidden = quiz || typing;
273
+ block.hidden = !quiz && !typing;
273
274
  const options = optionsOf(page.fields[node.field]);
274
275
  while (rows.length > options.length) {
275
276
  rows.pop();
@@ -278,16 +279,19 @@ export function kindSettings(el, designer, id, kind) {
278
279
  while (rows.length < options.length) {
279
280
  const index = rows.length;
280
281
  const name = el('span', { class: 'fd-kind-points-name' });
281
- const input = numberBox(w.points, { step: 'any', placeholder: '0' });
282
- input.addEventListener('input', () => designer.setOptionDetails(id, index, { score: numberOrNull(input.value) }));
283
- list.append(el('li', { class: 'fd-kind-points-row' }, name, input));
284
- rows.push({ name, input });
282
+ const row = { name, score: null };
283
+ const options = { label: w.points, optional: true, placeholder: '0', saved: () => row.score, commit: (n) => designer.setOptionDetails(id, index, { score: n }) };
284
+ const box = numberBox(options);
285
+ Object.assign(row, { input: box.input, options, refresh: box.refresh });
286
+ list.append(el('li', { class: 'fd-kind-points-row' }, name, box.input));
287
+ rows.push(row);
285
288
  }
286
289
  options.forEach((option, i) => {
287
290
  rows[i].name.textContent = option.label;
288
- rows[i].input.setAttribute('aria-label', w.pointsFor(option.label));
289
- if (!focused(rows[i].input))
290
- rows[i].input.value = option.score === undefined ? '' : String(option.score);
291
+ rows[i].options.label = w.pointsFor(option.label);
292
+ rows[i].input.setAttribute('aria-label', rows[i].options.label);
293
+ rows[i].score = held(option.score);
294
+ rows[i].refresh();
291
295
  });
292
296
  },
293
297
  };
@@ -1 +1 @@
1
- {"version":3,"file":"kind-settings.mjs","sourceRoot":"","sources":["../../../../../libs/designer/src/lib/kind-settings.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"kind-settings.mjs","sourceRoot":"","sources":["../../../../../libs/designer/src/lib/kind-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