@fieldia/designer 0.19.1 → 0.21.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 (305) hide show
  1. package/package.json +4 -4
  2. package/src/lib/canvas-head.d.mts +22 -0
  3. package/src/lib/canvas-head.d.ts +22 -0
  4. package/src/lib/canvas-head.js +121 -0
  5. package/src/lib/canvas-head.js.map +1 -0
  6. package/src/lib/canvas-head.mjs +118 -0
  7. package/src/lib/canvas-head.mjs.map +1 -0
  8. package/src/lib/canvas-header.js +7 -1
  9. package/src/lib/canvas-header.js.map +1 -1
  10. package/src/lib/canvas-header.mjs +7 -1
  11. package/src/lib/canvas-header.mjs.map +1 -1
  12. package/src/lib/choice-commands.d.mts +2 -1
  13. package/src/lib/choice-commands.d.ts +2 -1
  14. package/src/lib/choice-commands.js +3 -0
  15. package/src/lib/choice-commands.js.map +1 -1
  16. package/src/lib/choice-commands.mjs +3 -0
  17. package/src/lib/choice-commands.mjs.map +1 -1
  18. package/src/lib/chrome.js +11 -0
  19. package/src/lib/chrome.js.map +1 -1
  20. package/src/lib/chrome.mjs +11 -0
  21. package/src/lib/chrome.mjs.map +1 -1
  22. package/src/lib/date-setting.d.mts +49 -0
  23. package/src/lib/date-setting.d.ts +49 -0
  24. package/src/lib/date-setting.js +125 -0
  25. package/src/lib/date-setting.js.map +1 -0
  26. package/src/lib/date-setting.mjs +122 -0
  27. package/src/lib/date-setting.mjs.map +1 -0
  28. package/src/lib/designer.d.mts +16 -4
  29. package/src/lib/designer.d.ts +16 -4
  30. package/src/lib/designer.js +25 -2
  31. package/src/lib/designer.js.map +1 -1
  32. package/src/lib/designer.mjs +25 -2
  33. package/src/lib/designer.mjs.map +1 -1
  34. package/src/lib/group-fold.js +2 -0
  35. package/src/lib/group-fold.js.map +1 -1
  36. package/src/lib/group-fold.mjs +2 -0
  37. package/src/lib/group-fold.mjs.map +1 -1
  38. package/src/lib/head-commands.d.mts +116 -0
  39. package/src/lib/head-commands.d.ts +116 -0
  40. package/src/lib/head-commands.js +504 -0
  41. package/src/lib/head-commands.js.map +1 -0
  42. package/src/lib/head-commands.mjs +497 -0
  43. package/src/lib/head-commands.mjs.map +1 -0
  44. package/src/lib/head-parts.d.mts +15 -0
  45. package/src/lib/head-parts.d.ts +15 -0
  46. package/src/lib/head-parts.js +69 -0
  47. package/src/lib/head-parts.js.map +1 -0
  48. package/src/lib/head-parts.mjs +64 -0
  49. package/src/lib/head-parts.mjs.map +1 -0
  50. package/src/lib/head-properties.d.mts +25 -0
  51. package/src/lib/head-properties.d.ts +25 -0
  52. package/src/lib/head-properties.js +383 -0
  53. package/src/lib/head-properties.js.map +1 -0
  54. package/src/lib/head-properties.mjs +376 -0
  55. package/src/lib/head-properties.mjs.map +1 -0
  56. package/src/lib/header-commands.js +7 -0
  57. package/src/lib/header-commands.js.map +1 -1
  58. package/src/lib/header-commands.mjs +7 -0
  59. package/src/lib/header-commands.mjs.map +1 -1
  60. package/src/lib/header-properties.js +5 -1
  61. package/src/lib/header-properties.js.map +1 -1
  62. package/src/lib/header-properties.mjs +5 -1
  63. package/src/lib/header-properties.mjs.map +1 -1
  64. package/src/lib/inline-settings.js +19 -11
  65. package/src/lib/inline-settings.js.map +1 -1
  66. package/src/lib/inline-settings.mjs +19 -11
  67. package/src/lib/inline-settings.mjs.map +1 -1
  68. package/src/lib/input-commands.js +3 -2
  69. package/src/lib/input-commands.js.map +1 -1
  70. package/src/lib/input-commands.mjs +3 -2
  71. package/src/lib/input-commands.mjs.map +1 -1
  72. package/src/lib/kind-settings-choices.js +16 -7
  73. package/src/lib/kind-settings-choices.js.map +1 -1
  74. package/src/lib/kind-settings-choices.mjs +16 -7
  75. package/src/lib/kind-settings-choices.mjs.map +1 -1
  76. package/src/lib/kind-settings-inputs.js +116 -58
  77. package/src/lib/kind-settings-inputs.js.map +1 -1
  78. package/src/lib/kind-settings-inputs.mjs +116 -58
  79. package/src/lib/kind-settings-inputs.mjs.map +1 -1
  80. package/src/lib/kind-settings-picker.d.mts +4 -0
  81. package/src/lib/kind-settings-picker.d.ts +4 -0
  82. package/src/lib/kind-settings-picker.js +115 -0
  83. package/src/lib/kind-settings-picker.js.map +1 -0
  84. package/src/lib/kind-settings-picker.mjs +112 -0
  85. package/src/lib/kind-settings-picker.mjs.map +1 -0
  86. package/src/lib/kind-settings-structures.js +35 -16
  87. package/src/lib/kind-settings-structures.js.map +1 -1
  88. package/src/lib/kind-settings-structures.mjs +36 -17
  89. package/src/lib/kind-settings-structures.mjs.map +1 -1
  90. package/src/lib/kind-settings.js +47 -43
  91. package/src/lib/kind-settings.js.map +1 -1
  92. package/src/lib/kind-settings.mjs +47 -43
  93. package/src/lib/kind-settings.mjs.map +1 -1
  94. package/src/lib/layout-settings.d.mts +7 -0
  95. package/src/lib/layout-settings.d.ts +7 -0
  96. package/src/lib/layout-settings.js +15 -2
  97. package/src/lib/layout-settings.js.map +1 -1
  98. package/src/lib/layout-settings.mjs +15 -2
  99. package/src/lib/layout-settings.mjs.map +1 -1
  100. package/src/lib/list-canvas.js +18 -7
  101. package/src/lib/list-canvas.js.map +1 -1
  102. package/src/lib/list-canvas.mjs +18 -7
  103. package/src/lib/list-canvas.mjs.map +1 -1
  104. package/src/lib/list-commands.d.mts +24 -1
  105. package/src/lib/list-commands.d.ts +24 -1
  106. package/src/lib/list-commands.js +105 -2
  107. package/src/lib/list-commands.js.map +1 -1
  108. package/src/lib/list-commands.mjs +102 -1
  109. package/src/lib/list-commands.mjs.map +1 -1
  110. package/src/lib/list-properties.js +248 -28
  111. package/src/lib/list-properties.js.map +1 -1
  112. package/src/lib/list-properties.mjs +248 -28
  113. package/src/lib/list-properties.mjs.map +1 -1
  114. package/src/lib/locales/ar/head.d.mts +2 -0
  115. package/src/lib/locales/ar/head.d.ts +2 -0
  116. package/src/lib/locales/ar/head.js +97 -0
  117. package/src/lib/locales/ar/head.js.map +1 -0
  118. package/src/lib/locales/ar/head.mjs +94 -0
  119. package/src/lib/locales/ar/head.mjs.map +1 -0
  120. package/src/lib/locales/ar/index.js +4 -1
  121. package/src/lib/locales/ar/index.js.map +1 -1
  122. package/src/lib/locales/ar/index.mjs +4 -1
  123. package/src/lib/locales/ar/index.mjs.map +1 -1
  124. package/src/lib/locales/ar/inputs.d.mts +2 -0
  125. package/src/lib/locales/ar/inputs.d.ts +2 -0
  126. package/src/lib/locales/ar/inputs.js +20 -0
  127. package/src/lib/locales/ar/inputs.js.map +1 -0
  128. package/src/lib/locales/ar/inputs.mjs +17 -0
  129. package/src/lib/locales/ar/inputs.mjs.map +1 -0
  130. package/src/lib/locales/ar/list.js +31 -0
  131. package/src/lib/locales/ar/list.js.map +1 -1
  132. package/src/lib/locales/ar/list.mjs +31 -0
  133. package/src/lib/locales/ar/list.mjs.map +1 -1
  134. package/src/lib/locales/ar/panel.js +38 -0
  135. package/src/lib/locales/ar/panel.js.map +1 -1
  136. package/src/lib/locales/ar/panel.mjs +38 -0
  137. package/src/lib/locales/ar/panel.mjs.map +1 -1
  138. package/src/lib/locales/ar/questions.js +8 -0
  139. package/src/lib/locales/ar/questions.js.map +1 -1
  140. package/src/lib/locales/ar/questions.mjs +8 -0
  141. package/src/lib/locales/ar/questions.mjs.map +1 -1
  142. package/src/lib/locales/ar/refusals.js +11 -0
  143. package/src/lib/locales/ar/refusals.js.map +1 -1
  144. package/src/lib/locales/ar/refusals.mjs +11 -0
  145. package/src/lib/locales/ar/refusals.mjs.map +1 -1
  146. package/src/lib/locales/ar/work-text.d.mts +3 -0
  147. package/src/lib/locales/ar/work-text.d.ts +3 -0
  148. package/src/lib/locales/ar/work-text.js +58 -0
  149. package/src/lib/locales/ar/work-text.js.map +1 -0
  150. package/src/lib/locales/ar/work-text.mjs +55 -0
  151. package/src/lib/locales/ar/work-text.mjs.map +1 -0
  152. package/src/lib/locales/en/head.d.mts +101 -0
  153. package/src/lib/locales/en/head.d.ts +101 -0
  154. package/src/lib/locales/en/head.js +106 -0
  155. package/src/lib/locales/en/head.js.map +1 -0
  156. package/src/lib/locales/en/head.mjs +103 -0
  157. package/src/lib/locales/en/head.mjs.map +1 -0
  158. package/src/lib/locales/en/index.d.mts +237 -0
  159. package/src/lib/locales/en/index.d.ts +237 -0
  160. package/src/lib/locales/en/index.js +4 -1
  161. package/src/lib/locales/en/index.js.map +1 -1
  162. package/src/lib/locales/en/index.mjs +4 -1
  163. package/src/lib/locales/en/index.mjs.map +1 -1
  164. package/src/lib/locales/en/inputs.d.mts +26 -0
  165. package/src/lib/locales/en/inputs.d.ts +26 -0
  166. package/src/lib/locales/en/inputs.js +30 -0
  167. package/src/lib/locales/en/inputs.js.map +1 -0
  168. package/src/lib/locales/en/inputs.mjs +27 -0
  169. package/src/lib/locales/en/inputs.mjs.map +1 -0
  170. package/src/lib/locales/en/list.d.mts +48 -0
  171. package/src/lib/locales/en/list.d.ts +48 -0
  172. package/src/lib/locales/en/list.js +33 -0
  173. package/src/lib/locales/en/list.js.map +1 -1
  174. package/src/lib/locales/en/list.mjs +33 -0
  175. package/src/lib/locales/en/list.mjs.map +1 -1
  176. package/src/lib/locales/en/panel.d.mts +6 -0
  177. package/src/lib/locales/en/panel.d.ts +6 -0
  178. package/src/lib/locales/en/panel.js +3 -0
  179. package/src/lib/locales/en/panel.js.map +1 -1
  180. package/src/lib/locales/en/panel.mjs +3 -0
  181. package/src/lib/locales/en/panel.mjs.map +1 -1
  182. package/src/lib/locales/en/questions.d.mts +8 -0
  183. package/src/lib/locales/en/questions.d.ts +8 -0
  184. package/src/lib/locales/en/questions.js +9 -0
  185. package/src/lib/locales/en/questions.js.map +1 -1
  186. package/src/lib/locales/en/questions.mjs +9 -0
  187. package/src/lib/locales/en/questions.mjs.map +1 -1
  188. package/src/lib/locales/en/refusals.d.mts +11 -0
  189. package/src/lib/locales/en/refusals.d.ts +11 -0
  190. package/src/lib/locales/en/refusals.js +11 -0
  191. package/src/lib/locales/en/refusals.js.map +1 -1
  192. package/src/lib/locales/en/refusals.mjs +11 -0
  193. package/src/lib/locales/en/refusals.mjs.map +1 -1
  194. package/src/lib/locales/en/work-text.d.mts +58 -0
  195. package/src/lib/locales/en/work-text.d.ts +58 -0
  196. package/src/lib/locales/en/work-text.js +67 -0
  197. package/src/lib/locales/en/work-text.js.map +1 -0
  198. package/src/lib/locales/en/work-text.mjs +64 -0
  199. package/src/lib/locales/en/work-text.mjs.map +1 -0
  200. package/src/lib/number-box.d.mts +66 -0
  201. package/src/lib/number-box.d.ts +66 -0
  202. package/src/lib/number-box.js +153 -0
  203. package/src/lib/number-box.js.map +1 -0
  204. package/src/lib/number-box.mjs +149 -0
  205. package/src/lib/number-box.mjs.map +1 -0
  206. package/src/lib/page-json.d.mts +3 -1
  207. package/src/lib/page-json.d.ts +3 -1
  208. package/src/lib/page-json.js +5 -3
  209. package/src/lib/page-json.js.map +1 -1
  210. package/src/lib/page-json.mjs +5 -3
  211. package/src/lib/page-json.mjs.map +1 -1
  212. package/src/lib/page-tree.js +11 -1
  213. package/src/lib/page-tree.js.map +1 -1
  214. package/src/lib/page-tree.mjs +11 -1
  215. package/src/lib/page-tree.mjs.map +1 -1
  216. package/src/lib/panel-block.js +22 -6
  217. package/src/lib/panel-block.js.map +1 -1
  218. package/src/lib/panel-block.mjs +22 -6
  219. package/src/lib/panel-block.mjs.map +1 -1
  220. package/src/lib/panel-field.js +5 -1
  221. package/src/lib/panel-field.js.map +1 -1
  222. package/src/lib/panel-field.mjs +5 -1
  223. package/src/lib/panel-field.mjs.map +1 -1
  224. package/src/lib/panel-group.js +7 -3
  225. package/src/lib/panel-group.js.map +1 -1
  226. package/src/lib/panel-group.mjs +7 -3
  227. package/src/lib/panel-group.mjs.map +1 -1
  228. package/src/lib/panel-layout.js +20 -15
  229. package/src/lib/panel-layout.js.map +1 -1
  230. package/src/lib/panel-layout.mjs +20 -15
  231. package/src/lib/panel-layout.mjs.map +1 -1
  232. package/src/lib/panel-look.js +28 -14
  233. package/src/lib/panel-look.js.map +1 -1
  234. package/src/lib/panel-look.mjs +28 -14
  235. package/src/lib/panel-look.mjs.map +1 -1
  236. package/src/lib/panel-map.js +53 -20
  237. package/src/lib/panel-map.js.map +1 -1
  238. package/src/lib/panel-map.mjs +53 -20
  239. package/src/lib/panel-map.mjs.map +1 -1
  240. package/src/lib/panel-page.js +5 -1
  241. package/src/lib/panel-page.js.map +1 -1
  242. package/src/lib/panel-page.mjs +5 -1
  243. package/src/lib/panel-page.mjs.map +1 -1
  244. package/src/lib/panel-parts.js +5 -1
  245. package/src/lib/panel-parts.js.map +1 -1
  246. package/src/lib/panel-parts.mjs +5 -1
  247. package/src/lib/panel-parts.mjs.map +1 -1
  248. package/src/lib/picker-commands.d.mts +16 -0
  249. package/src/lib/picker-commands.d.ts +16 -0
  250. package/src/lib/picker-commands.js +61 -0
  251. package/src/lib/picker-commands.js.map +1 -0
  252. package/src/lib/picker-commands.mjs +58 -0
  253. package/src/lib/picker-commands.mjs.map +1 -0
  254. package/src/lib/rules-answers.d.mts +1 -1
  255. package/src/lib/rules-answers.d.ts +1 -1
  256. package/src/lib/rules-answers.js +45 -21
  257. package/src/lib/rules-answers.js.map +1 -1
  258. package/src/lib/rules-answers.mjs +45 -21
  259. package/src/lib/rules-answers.mjs.map +1 -1
  260. package/src/lib/rules-formula-box.d.mts +7 -3
  261. package/src/lib/rules-formula-box.d.ts +7 -3
  262. package/src/lib/rules-formula-box.js +26 -6
  263. package/src/lib/rules-formula-box.js.map +1 -1
  264. package/src/lib/rules-formula-box.mjs +26 -6
  265. package/src/lib/rules-formula-box.mjs.map +1 -1
  266. package/src/lib/rules-formula.js +7 -5
  267. package/src/lib/rules-formula.js.map +1 -1
  268. package/src/lib/rules-formula.mjs +8 -6
  269. package/src/lib/rules-formula.mjs.map +1 -1
  270. package/src/lib/rules-worked-out.js +66 -12
  271. package/src/lib/rules-worked-out.js.map +1 -1
  272. package/src/lib/rules-worked-out.mjs +66 -12
  273. package/src/lib/rules-worked-out.mjs.map +1 -1
  274. package/src/lib/screen-properties.js +9 -2
  275. package/src/lib/screen-properties.js.map +1 -1
  276. package/src/lib/screen-properties.mjs +9 -2
  277. package/src/lib/screen-properties.mjs.map +1 -1
  278. package/src/lib/setting-refusals.d.mts +3 -0
  279. package/src/lib/setting-refusals.d.ts +3 -0
  280. package/src/lib/setting-refusals.js +25 -0
  281. package/src/lib/setting-refusals.js.map +1 -0
  282. package/src/lib/setting-refusals.mjs +22 -0
  283. package/src/lib/setting-refusals.mjs.map +1 -0
  284. package/src/lib/styles-head.d.mts +7 -0
  285. package/src/lib/styles-head.d.ts +7 -0
  286. package/src/lib/styles-head.js +28 -0
  287. package/src/lib/styles-head.js.map +1 -0
  288. package/src/lib/styles-head.mjs +25 -0
  289. package/src/lib/styles-head.mjs.map +1 -0
  290. package/src/lib/styles.d.mts +1 -1
  291. package/src/lib/styles.d.ts +1 -1
  292. package/src/lib/styles.js +9 -2
  293. package/src/lib/styles.js.map +1 -1
  294. package/src/lib/styles.mjs +9 -2
  295. package/src/lib/styles.mjs.map +1 -1
  296. package/src/lib/table-panel.js +16 -5
  297. package/src/lib/table-panel.js.map +1 -1
  298. package/src/lib/table-panel.mjs +16 -5
  299. package/src/lib/table-panel.mjs.map +1 -1
  300. package/src/lib/work-text.d.mts +43 -0
  301. package/src/lib/work-text.d.ts +43 -0
  302. package/src/lib/work-text.js +235 -0
  303. package/src/lib/work-text.js.map +1 -0
  304. package/src/lib/work-text.mjs +227 -0
  305. package/src/lib/work-text.mjs.map +1 -0
@@ -0,0 +1,58 @@
1
+ import { findNode } from './page-tree.mjs';
2
+ import { Refusal } from './refusal.mjs';
3
+ const COLOUR = /^#[0-9a-fA-F]{6}$/;
4
+ /** A field node's options with some taken away, and none left when none are. */
5
+ function without(node, keys) {
6
+ if (!node.options)
7
+ return;
8
+ const options = { ...node.options };
9
+ for (const key of keys)
10
+ delete options[key];
11
+ if (Object.keys(options).length)
12
+ node.options = options;
13
+ else
14
+ delete node.options;
15
+ }
16
+ export function pickerCommands({ apply }) {
17
+ return {
18
+ setPathPicker(id, on) {
19
+ return apply((draft) => {
20
+ const found = findNode(draft, id);
21
+ const field = found?.node.type === 'field' ? draft.fields[found.node.field] : undefined;
22
+ if (!found || found.node.type !== 'field' || field?.type !== 'many2one' || (found.node.widget && found.node.widget !== 'path'))
23
+ throw new Refusal((w) => w.refusals.onlyLinkPath);
24
+ if (on)
25
+ found.node.widget = 'path';
26
+ else {
27
+ delete found.node.widget;
28
+ without(found.node, ['separator', 'suggestions', 'tree']);
29
+ }
30
+ });
31
+ },
32
+ setDotColour(id, value, colour) {
33
+ return apply((draft) => {
34
+ const found = findNode(draft, id);
35
+ if (!found || found.node.type !== 'field' || found.node.widget !== 'dot')
36
+ throw new Refusal((w) => w.refusals.onlyStateDotColours);
37
+ if (colour !== null && !COLOUR.test(colour))
38
+ throw new Refusal((w) => w.refusals.colourAsHex);
39
+ const node = found.node;
40
+ const colours = { ...(node.options?.['colours'] ?? {}) };
41
+ if (colour)
42
+ colours[String(value)] = colour.toLowerCase();
43
+ else
44
+ delete colours[String(value)];
45
+ const options = { ...(node.options ?? {}) };
46
+ if (Object.keys(colours).length)
47
+ options['colours'] = colours;
48
+ else
49
+ delete options['colours'];
50
+ if (Object.keys(options).length)
51
+ node.options = options;
52
+ else
53
+ delete node.options;
54
+ }, `dot-colour:${id}:${value}`);
55
+ },
56
+ };
57
+ }
58
+ //# sourceMappingURL=picker-commands.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"picker-commands.mjs","sourceRoot":"","sources":["../../../../../libs/designer/src/lib/picker-commands.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,4 @@
1
- import type { Page } from '@fieldia/core';
1
+ import { type Page } from '@fieldia/core';
2
2
  import type { ElementFactory } from './chrome.mjs';
3
3
  import type { Designer } from './designer.mjs';
4
4
  import { type SampleOptions } from './rules-sample.mjs';
@@ -1,4 +1,4 @@
1
- import type { Page } from '@fieldia/core';
1
+ import { type Page } from '@fieldia/core';
2
2
  import type { ElementFactory } from './chrome';
3
3
  import type { Designer } from './designer';
4
4
  import { type SampleOptions } from './rules-sample';
@@ -1,6 +1,7 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.answerRulesEditor = answerRulesEditor;
4
+ const core_1 = require("@fieldia/core");
4
5
  const condition_editor_1 = require("./condition-editor");
5
6
  const conditions_1 = require("./conditions");
6
7
  const menu_1 = require("./menu");
@@ -11,6 +12,7 @@ const rules_formula_box_1 = require("./rules-formula-box");
11
12
  const rules_formula_1 = require("./rules-formula");
12
13
  const rules_sample_1 = require("./rules-sample");
13
14
  const rules_words_1 = require("./rules-words");
15
+ const number_box_1 = require("./number-box");
14
16
  function groupsOf(rule) {
15
17
  const asks = new Set((0, rules_words_1.ruleAsks)(rule));
16
18
  const groups = [];
@@ -33,8 +35,6 @@ function groupsOf(rule) {
33
35
  return groups;
34
36
  }
35
37
  let made = 0;
36
- /** A number typed, or null for an empty box. */
37
- const numberOf = (box) => (box.value.trim() === '' ? null : Number(box.value));
38
38
  function answerRulesEditor(el, designer, id, sampling = {}) {
39
39
  const words = designer.words;
40
40
  const w = words.rulesUi;
@@ -136,28 +136,56 @@ function answerRulesEditor(el, designer, id, sampling = {}) {
136
136
  return made;
137
137
  };
138
138
  /**
139
- * Two ends of one ask, such as the shortest and the longest. Typing in one
139
+ * A bound of the rule (`key`) in the designer's number box: kept as it is
140
+ * left, Arabic digits and a decimal comma read, emptied it goes. What does
141
+ * not read is refused with words and the rule keeps its last good bound;
142
+ * a bound that reads but does not fit the rule stays in its box, the
143
+ * problem line under the rule saying why.
144
+ */
145
+ const bound = (label, key, more = {}) => {
146
+ const made = {
147
+ read: (n) => ({ [key]: n }),
148
+ number: (0, number_box_1.settingNumber)(el, designer, {
149
+ label,
150
+ attrs: { class: 'fd-input', placeholder: w.any },
151
+ optional: true,
152
+ ...more,
153
+ saved: () => (typeof current[key] === 'number' ? current[key] : null),
154
+ commit: (n) => void change(made.read(n)),
155
+ }),
156
+ row: null,
157
+ };
158
+ made.row = el('label', { class: 'fd-answer-rule-field' }, el('span', { class: 'fd-answer-rule-word' }, label), made.number.input);
159
+ return made;
160
+ };
161
+ /** What a bound's box shows now, read as it reads it; null for nothing. */
162
+ const shownIn = (input) => {
163
+ const read = (0, core_1.readNumber)(input.value, designer.locale ?? 'en');
164
+ return read.ok ? read.value : null;
165
+ };
166
+ /**
167
+ * Two ends of one ask, such as the shortest and the longest. Leaving one
140
168
  * also takes what the other box shows, when it was not kept: 18 at least
141
169
  * while at most still says 10 is wrong until at most is cleared, and then
142
170
  * both are kept.
143
171
  */
144
172
  const pair = (a, b, keys) => {
145
- const both = (own, key, other, otherKey) => () => {
146
- const shown = numberOf(other);
147
- return shown === (current[otherKey] ?? null) ? { [key]: numberOf(own) } : { [key]: numberOf(own), [otherKey]: shown };
173
+ const both = (key, other, otherKey) => (n) => {
174
+ const shown = shownIn(other);
175
+ return shown === (current[otherKey] ?? null) ? { [key]: n } : { [key]: n, [otherKey]: shown };
148
176
  };
149
- a.read = both(a.input, keys[0], b.input, keys[1]);
150
- b.read = both(b.input, keys[1], a.input, keys[0]);
177
+ a.read = both(keys[0], b.number.input, keys[1]);
178
+ b.read = both(keys[1], a.number.input, keys[0]);
151
179
  return el('div', { class: 'fd-answer-rule-pair' }, a.row, b.row);
152
180
  };
153
- // What it asks, by kind.
154
- const shortest = box(w.shortest, { type: 'number', min: '0', placeholder: w.any, inputmode: 'numeric' }, (i) => ({ minLength: numberOf(i) }));
155
- const longest = box(w.longest, { type: 'number', min: '1', placeholder: w.any, inputmode: 'numeric' }, (i) => ({ maxLength: numberOf(i) }));
181
+ // What it asks, by kind: lengths and counts are whole numbers.
182
+ const shortest = bound(w.shortest, 'minLength', { integer: true, min: 0 });
183
+ const longest = bound(w.longest, 'maxLength', { integer: true, min: 1 });
156
184
  const ending = box(w.endsWith, { placeholder: '@company.com', autocomplete: 'off' }, (i) => ({ endsWith: i.value || null }));
157
- const atLeast = box(w.atLeast, { type: 'number', placeholder: w.any }, (i) => ({ min: numberOf(i) }));
158
- const atMost = box(w.atMost, { type: 'number', placeholder: w.any }, (i) => ({ max: numberOf(i) }));
159
- const tickLeast = box(w.tickAtLeast, { type: 'number', min: '0', placeholder: w.any }, (i) => ({ atLeast: numberOf(i) }));
160
- const tickMost = box(w.tickAtMost, { type: 'number', min: '1', placeholder: w.any }, (i) => ({ atMost: numberOf(i) }));
185
+ const atLeast = bound(w.atLeast, 'min');
186
+ const atMost = bound(w.atMost, 'max');
187
+ const tickLeast = bound(w.tickAtLeast, 'atLeast', { integer: true, min: 0 });
188
+ const tickMost = bound(w.tickAtMost, 'atMost', { integer: true, min: 1 });
161
189
  const looks = el('select', { class: 'fd-input fd-select', 'aria-label': w.looksLike }, ...rules_words_1.NAMED_PATTERNS.map((p) => el('option', { value: p.pattern }, words.rules.patterns[p.id])), el('option', { value: '' }, w.myPattern));
162
190
  const pattern = box(w.pattern, { class: 'fd-input fd-answer-rule-code', spellcheck: 'false', autocomplete: 'off', placeholder: '[A-Z]{2}\\d+' }, (i) => ({ pattern: i.value || null }));
163
191
  looks.addEventListener('change', () => {
@@ -264,13 +292,9 @@ function answerRulesEditor(el, designer, id, sampling = {}) {
264
292
  if (!focused(input))
265
293
  input.value = value === undefined || value === null ? '' : String(value);
266
294
  };
267
- set(shortest.input, next.minLength);
268
- set(longest.input, next.maxLength);
295
+ for (const number of [shortest, longest, atLeast, atMost, tickLeast, tickMost])
296
+ number.number.refresh();
269
297
  set(ending.input, next.endsWith);
270
- set(atLeast.input, next.min);
271
- set(atMost.input, next.max);
272
- set(tickLeast.input, next.atLeast);
273
- set(tickMost.input, next.atMost);
274
298
  const named = rules_words_1.NAMED_PATTERNS.some((p) => p.pattern === next.pattern);
275
299
  if (!focused(looks) && !(looks.value === '' && focused(pattern.input)))
276
300
  looks.value = named ? next.pattern : '';
@@ -1 +1 @@
1
- {"version":3,"file":"rules-answers.js","sourceRoot":"","sources":["../../../../../libs/designer/src/lib/rules-answers.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"rules-answers.js","sourceRoot":"","sources":["../../../../../libs/designer/src/lib/rules-answers.ts"],"names":[],"mappings":"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"}
@@ -1,3 +1,4 @@
1
+ import { readNumber } from '@fieldia/core';
1
2
  import { choicesOf, conditionEditor } from './condition-editor.mjs';
2
3
  import { conditionToHold } from './conditions.mjs';
3
4
  import { openMenu } from './menu.mjs';
@@ -8,6 +9,7 @@ import { formulaBox } from './rules-formula-box.mjs';
8
9
  import { formulaProblem, sampleHolds } from './rules-formula.mjs';
9
10
  import { answerSample } from './rules-sample.mjs';
10
11
  import { answerRuleSentence, kindsFitting, NAMED_PATTERNS, ruleAsks } from './rules-words.mjs';
12
+ import { settingNumber } from './number-box.mjs';
11
13
  function groupsOf(rule) {
12
14
  const asks = new Set(ruleAsks(rule));
13
15
  const groups = [];
@@ -30,8 +32,6 @@ function groupsOf(rule) {
30
32
  return groups;
31
33
  }
32
34
  let made = 0;
33
- /** A number typed, or null for an empty box. */
34
- const numberOf = (box) => (box.value.trim() === '' ? null : Number(box.value));
35
35
  export function answerRulesEditor(el, designer, id, sampling = {}) {
36
36
  const words = designer.words;
37
37
  const w = words.rulesUi;
@@ -133,28 +133,56 @@ export function answerRulesEditor(el, designer, id, sampling = {}) {
133
133
  return made;
134
134
  };
135
135
  /**
136
- * Two ends of one ask, such as the shortest and the longest. Typing in one
136
+ * A bound of the rule (`key`) in the designer's number box: kept as it is
137
+ * left, Arabic digits and a decimal comma read, emptied it goes. What does
138
+ * not read is refused with words and the rule keeps its last good bound;
139
+ * a bound that reads but does not fit the rule stays in its box, the
140
+ * problem line under the rule saying why.
141
+ */
142
+ const bound = (label, key, more = {}) => {
143
+ const made = {
144
+ read: (n) => ({ [key]: n }),
145
+ number: settingNumber(el, designer, {
146
+ label,
147
+ attrs: { class: 'fd-input', placeholder: w.any },
148
+ optional: true,
149
+ ...more,
150
+ saved: () => (typeof current[key] === 'number' ? current[key] : null),
151
+ commit: (n) => void change(made.read(n)),
152
+ }),
153
+ row: null,
154
+ };
155
+ made.row = el('label', { class: 'fd-answer-rule-field' }, el('span', { class: 'fd-answer-rule-word' }, label), made.number.input);
156
+ return made;
157
+ };
158
+ /** What a bound's box shows now, read as it reads it; null for nothing. */
159
+ const shownIn = (input) => {
160
+ const read = readNumber(input.value, designer.locale ?? 'en');
161
+ return read.ok ? read.value : null;
162
+ };
163
+ /**
164
+ * Two ends of one ask, such as the shortest and the longest. Leaving one
137
165
  * also takes what the other box shows, when it was not kept: 18 at least
138
166
  * while at most still says 10 is wrong until at most is cleared, and then
139
167
  * both are kept.
140
168
  */
141
169
  const pair = (a, b, keys) => {
142
- const both = (own, key, other, otherKey) => () => {
143
- const shown = numberOf(other);
144
- return shown === (current[otherKey] ?? null) ? { [key]: numberOf(own) } : { [key]: numberOf(own), [otherKey]: shown };
170
+ const both = (key, other, otherKey) => (n) => {
171
+ const shown = shownIn(other);
172
+ return shown === (current[otherKey] ?? null) ? { [key]: n } : { [key]: n, [otherKey]: shown };
145
173
  };
146
- a.read = both(a.input, keys[0], b.input, keys[1]);
147
- b.read = both(b.input, keys[1], a.input, keys[0]);
174
+ a.read = both(keys[0], b.number.input, keys[1]);
175
+ b.read = both(keys[1], a.number.input, keys[0]);
148
176
  return el('div', { class: 'fd-answer-rule-pair' }, a.row, b.row);
149
177
  };
150
- // What it asks, by kind.
151
- const shortest = box(w.shortest, { type: 'number', min: '0', placeholder: w.any, inputmode: 'numeric' }, (i) => ({ minLength: numberOf(i) }));
152
- const longest = box(w.longest, { type: 'number', min: '1', placeholder: w.any, inputmode: 'numeric' }, (i) => ({ maxLength: numberOf(i) }));
178
+ // What it asks, by kind: lengths and counts are whole numbers.
179
+ const shortest = bound(w.shortest, 'minLength', { integer: true, min: 0 });
180
+ const longest = bound(w.longest, 'maxLength', { integer: true, min: 1 });
153
181
  const ending = box(w.endsWith, { placeholder: '@company.com', autocomplete: 'off' }, (i) => ({ endsWith: i.value || null }));
154
- const atLeast = box(w.atLeast, { type: 'number', placeholder: w.any }, (i) => ({ min: numberOf(i) }));
155
- const atMost = box(w.atMost, { type: 'number', placeholder: w.any }, (i) => ({ max: numberOf(i) }));
156
- const tickLeast = box(w.tickAtLeast, { type: 'number', min: '0', placeholder: w.any }, (i) => ({ atLeast: numberOf(i) }));
157
- const tickMost = box(w.tickAtMost, { type: 'number', min: '1', placeholder: w.any }, (i) => ({ atMost: numberOf(i) }));
182
+ const atLeast = bound(w.atLeast, 'min');
183
+ const atMost = bound(w.atMost, 'max');
184
+ const tickLeast = bound(w.tickAtLeast, 'atLeast', { integer: true, min: 0 });
185
+ const tickMost = bound(w.tickAtMost, 'atMost', { integer: true, min: 1 });
158
186
  const looks = el('select', { class: 'fd-input fd-select', 'aria-label': w.looksLike }, ...NAMED_PATTERNS.map((p) => el('option', { value: p.pattern }, words.rules.patterns[p.id])), el('option', { value: '' }, w.myPattern));
159
187
  const pattern = box(w.pattern, { class: 'fd-input fd-answer-rule-code', spellcheck: 'false', autocomplete: 'off', placeholder: '[A-Z]{2}\\d+' }, (i) => ({ pattern: i.value || null }));
160
188
  looks.addEventListener('change', () => {
@@ -261,13 +289,9 @@ export function answerRulesEditor(el, designer, id, sampling = {}) {
261
289
  if (!focused(input))
262
290
  input.value = value === undefined || value === null ? '' : String(value);
263
291
  };
264
- set(shortest.input, next.minLength);
265
- set(longest.input, next.maxLength);
292
+ for (const number of [shortest, longest, atLeast, atMost, tickLeast, tickMost])
293
+ number.number.refresh();
266
294
  set(ending.input, next.endsWith);
267
- set(atLeast.input, next.min);
268
- set(atMost.input, next.max);
269
- set(tickLeast.input, next.atLeast);
270
- set(tickMost.input, next.atMost);
271
295
  const named = NAMED_PATTERNS.some((p) => p.pattern === next.pattern);
272
296
  if (!focused(looks) && !(looks.value === '' && focused(pattern.input)))
273
297
  looks.value = named ? next.pattern : '';
@@ -1 +1 @@
1
- {"version":3,"file":"rules-answers.mjs","sourceRoot":"","sources":["../../../../../libs/designer/src/lib/rules-answers.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"rules-answers.mjs","sourceRoot":"","sources":["../../../../../libs/designer/src/lib/rules-answers.ts"],"names":[],"mappings":"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"}
@@ -7,8 +7,12 @@ import type { DesignerWords } from './designer-words.mjs';
7
7
  * name — or @ — lists the page's fields by their labels, and picking one puts
8
8
  * its name in; the arrows go down the list, Enter or Tab picks, Escape closes
9
9
  * it. What is wrong shows under the box, the place it is about marked in a
10
- * copy of the formula. A formula that reads is handed on as it is typed; one
11
- * that does not is kept here, so the page keeps the last one that read.
10
+ * copy of the formula. A formula is handed on as the box is left (or at
11
+ * Enter), and only when all of it reads — never the part typed so far that
12
+ * happens to read. While it does not read, the page keeps the formula it had,
13
+ * and the words under the box say which (or that it has none). Arabic and
14
+ * Persian digits and ٫ are read in its numbers; a decimal comma is said to be
15
+ * a point or ٫ in a formula.
12
16
  *
13
17
  * The box holds the formula as the page stores it, its fields by their
14
18
  * names, and a line above it reads it in words, its fields by their labels:
@@ -25,7 +29,7 @@ export interface FormulaBoxOptions {
25
29
  own?(): string | undefined;
26
30
  /** What is wrong with a formula, or null when it reads. */
27
31
  check(page: Page, source: string): FormulaProblem | null;
28
- /** A formula that reads, or an empty box, as it is typed. */
32
+ /** A formula that reads, or an empty box, as the box is left. */
29
33
  commit(source: string): void;
30
34
  /** Said after each change: the result on made-up values. */
31
35
  said?(page: Page, source: string): string;
@@ -7,8 +7,12 @@ import type { DesignerWords } from './designer-words';
7
7
  * name — or @ — lists the page's fields by their labels, and picking one puts
8
8
  * its name in; the arrows go down the list, Enter or Tab picks, Escape closes
9
9
  * it. What is wrong shows under the box, the place it is about marked in a
10
- * copy of the formula. A formula that reads is handed on as it is typed; one
11
- * that does not is kept here, so the page keeps the last one that read.
10
+ * copy of the formula. A formula is handed on as the box is left (or at
11
+ * Enter), and only when all of it reads — never the part typed so far that
12
+ * happens to read. While it does not read, the page keeps the formula it had,
13
+ * and the words under the box say which (or that it has none). Arabic and
14
+ * Persian digits and ٫ are read in its numbers; a decimal comma is said to be
15
+ * a point or ٫ in a formula.
12
16
  *
13
17
  * The box holds the formula as the page stores it, its fields by their
14
18
  * names, and a line above it reads it in words, its fields by their labels:
@@ -25,7 +29,7 @@ export interface FormulaBoxOptions {
25
29
  own?(): string | undefined;
26
30
  /** What is wrong with a formula, or null when it reads. */
27
31
  check(page: Page, source: string): FormulaProblem | null;
28
- /** A formula that reads, or an empty box, as it is typed. */
32
+ /** A formula that reads, or an empty box, as the box is left. */
29
33
  commit(source: string): void;
30
34
  /** Said after each change: the result on made-up values. */
31
35
  said?(page: Page, source: string): string;
@@ -98,7 +98,7 @@ function formulaBox(el, options) {
98
98
  close();
99
99
  changed();
100
100
  }
101
- /** The box as typed: checked, said, and handed on when it reads. */
101
+ /** The box as typed: checked and said; handed on only as it is left. */
102
102
  function changed() {
103
103
  if (!page)
104
104
  return;
@@ -106,15 +106,28 @@ function formulaBox(el, options) {
106
106
  const wrong = source.trim() ? options.check(page, source) : null;
107
107
  showProblem(source, wrong);
108
108
  say(page, wrong || !source.trim() ? '' : source);
109
- if (!wrong)
110
- options.commit(source.trim());
109
+ }
110
+ /** The box left (or Enter pressed): the whole formula handed on when it reads, or an empty box; else the page keeps its own. */
111
+ function leave() {
112
+ if (!page)
113
+ return;
114
+ const source = input.value.trim();
115
+ if (source === lastKept.trim())
116
+ return;
117
+ if (source && options.check(page, source))
118
+ return;
119
+ lastKept = source;
120
+ options.commit(source);
111
121
  }
112
122
  function showProblem(source, wrong) {
113
123
  // While a name is being picked, the half-typed name is not yet wrong.
114
124
  problem.hidden = !wrong || !list.hidden;
115
125
  if (!wrong)
116
126
  return;
117
- words.textContent = (0, rules_formula_1.problemWords)(wrong, options.words);
127
+ // What is wrong, and what the page keeps meanwhile: the formula it had, or none; a decimal comma said to be a point.
128
+ const what = (0, rules_formula_1.problemWords)(wrong, options.words);
129
+ const kept = lastKept.trim() ? options.words.inputs.formulaKept(what, lastKept.trim()) : options.words.inputs.formulaNone(what);
130
+ words.textContent = /[\d\u0660-\u0669\u06f0-\u06f9],[\d\u0660-\u0669\u06f0-\u06f9]/.test(source) ? `${kept} ${options.words.inputs.formulaPoint}` : kept;
118
131
  if (wrong.from === undefined) {
119
132
  copy.hidden = true;
120
133
  return;
@@ -139,10 +152,17 @@ function formulaBox(el, options) {
139
152
  changed();
140
153
  });
141
154
  input.addEventListener('click', () => suggest());
142
- input.addEventListener('blur', () => close());
155
+ input.addEventListener('blur', () => {
156
+ close();
157
+ leave();
158
+ });
159
+ input.addEventListener('change', leave);
143
160
  input.addEventListener('keydown', (event) => {
144
- if (list.hidden)
161
+ if (list.hidden) {
162
+ if (event.key === 'Enter' && !event.isComposing)
163
+ leave();
145
164
  return;
165
+ }
146
166
  if (event.key === 'ArrowDown' || event.key === 'ArrowUp') {
147
167
  event.preventDefault();
148
168
  at = (at + (event.key === 'ArrowDown' ? 1 : -1) + found.length) % found.length;