@fieldia/designer 0.11.0 → 0.12.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (379) hide show
  1. package/package.json +4 -4
  2. package/src/lib/canvas-form.js +9 -0
  3. package/src/lib/canvas-form.js.map +1 -1
  4. package/src/lib/canvas-form.mjs +9 -0
  5. package/src/lib/canvas-form.mjs.map +1 -1
  6. package/src/lib/canvas-header.d.mts +4 -1
  7. package/src/lib/canvas-header.d.ts +4 -1
  8. package/src/lib/canvas-header.js +56 -17
  9. package/src/lib/canvas-header.js.map +1 -1
  10. package/src/lib/canvas-header.mjs +56 -17
  11. package/src/lib/canvas-header.mjs.map +1 -1
  12. package/src/lib/choice-commands.d.mts +5 -1
  13. package/src/lib/choice-commands.d.ts +5 -1
  14. package/src/lib/choice-commands.js +41 -0
  15. package/src/lib/choice-commands.js.map +1 -1
  16. package/src/lib/choice-commands.mjs +41 -0
  17. package/src/lib/choice-commands.mjs.map +1 -1
  18. package/src/lib/clipboard-names.js +21 -4
  19. package/src/lib/clipboard-names.js.map +1 -1
  20. package/src/lib/clipboard-names.mjs +21 -4
  21. package/src/lib/clipboard-names.mjs.map +1 -1
  22. package/src/lib/conditions.d.mts +14 -2
  23. package/src/lib/conditions.d.ts +14 -2
  24. package/src/lib/conditions.js +25 -2
  25. package/src/lib/conditions.js.map +1 -1
  26. package/src/lib/conditions.mjs +23 -2
  27. package/src/lib/conditions.mjs.map +1 -1
  28. package/src/lib/designer.d.mts +20 -15
  29. package/src/lib/designer.d.ts +20 -15
  30. package/src/lib/designer.js +67 -3
  31. package/src/lib/designer.js.map +1 -1
  32. package/src/lib/designer.mjs +68 -4
  33. package/src/lib/designer.mjs.map +1 -1
  34. package/src/lib/header-commands.d.mts +69 -11
  35. package/src/lib/header-commands.d.ts +69 -11
  36. package/src/lib/header-commands.js +299 -20
  37. package/src/lib/header-commands.js.map +1 -1
  38. package/src/lib/header-commands.mjs +297 -20
  39. package/src/lib/header-commands.mjs.map +1 -1
  40. package/src/lib/header-properties.js +171 -20
  41. package/src/lib/header-properties.js.map +1 -1
  42. package/src/lib/header-properties.mjs +172 -21
  43. package/src/lib/header-properties.mjs.map +1 -1
  44. package/src/lib/hotkey-setting.d.mts +8 -0
  45. package/src/lib/hotkey-setting.d.ts +8 -0
  46. package/src/lib/hotkey-setting.js +25 -0
  47. package/src/lib/hotkey-setting.js.map +1 -0
  48. package/src/lib/hotkey-setting.mjs +20 -0
  49. package/src/lib/hotkey-setting.mjs.map +1 -0
  50. package/src/lib/icons.js +15 -0
  51. package/src/lib/icons.js.map +1 -1
  52. package/src/lib/icons.mjs +15 -0
  53. package/src/lib/icons.mjs.map +1 -1
  54. package/src/lib/inline-settings.js +32 -4
  55. package/src/lib/inline-settings.js.map +1 -1
  56. package/src/lib/inline-settings.mjs +33 -5
  57. package/src/lib/inline-settings.mjs.map +1 -1
  58. package/src/lib/input-changes.js +12 -0
  59. package/src/lib/input-changes.js.map +1 -1
  60. package/src/lib/input-changes.mjs +12 -0
  61. package/src/lib/input-changes.mjs.map +1 -1
  62. package/src/lib/kind-settings-choices.js +30 -0
  63. package/src/lib/kind-settings-choices.js.map +1 -1
  64. package/src/lib/kind-settings-choices.mjs +30 -0
  65. package/src/lib/kind-settings-choices.mjs.map +1 -1
  66. package/src/lib/kind-settings-inputs.js +80 -0
  67. package/src/lib/kind-settings-inputs.js.map +1 -1
  68. package/src/lib/kind-settings-inputs.mjs +80 -0
  69. package/src/lib/kind-settings-inputs.mjs.map +1 -1
  70. package/src/lib/kinds.d.mts +2 -0
  71. package/src/lib/kinds.d.ts +2 -0
  72. package/src/lib/kinds.js +71 -7
  73. package/src/lib/kinds.js.map +1 -1
  74. package/src/lib/kinds.mjs +70 -6
  75. package/src/lib/kinds.mjs.map +1 -1
  76. package/src/lib/layout-settings.d.mts +7 -1
  77. package/src/lib/layout-settings.d.ts +7 -1
  78. package/src/lib/layout-settings.js +36 -2
  79. package/src/lib/layout-settings.js.map +1 -1
  80. package/src/lib/layout-settings.mjs +35 -2
  81. package/src/lib/layout-settings.mjs.map +1 -1
  82. package/src/lib/locales/ar/canvas.js +6 -0
  83. package/src/lib/locales/ar/canvas.js.map +1 -1
  84. package/src/lib/locales/ar/canvas.mjs +6 -0
  85. package/src/lib/locales/ar/canvas.mjs.map +1 -1
  86. package/src/lib/locales/ar/changes.js +2 -2
  87. package/src/lib/locales/ar/changes.js.map +1 -1
  88. package/src/lib/locales/ar/changes.mjs +2 -2
  89. package/src/lib/locales/ar/changes.mjs.map +1 -1
  90. package/src/lib/locales/ar/defaults.js +7 -0
  91. package/src/lib/locales/ar/defaults.js.map +1 -1
  92. package/src/lib/locales/ar/defaults.mjs +7 -0
  93. package/src/lib/locales/ar/defaults.mjs.map +1 -1
  94. package/src/lib/locales/ar/index.js +2 -1
  95. package/src/lib/locales/ar/index.js.map +1 -1
  96. package/src/lib/locales/ar/index.mjs +2 -1
  97. package/src/lib/locales/ar/index.mjs.map +1 -1
  98. package/src/lib/locales/ar/kinds.js +15 -0
  99. package/src/lib/locales/ar/kinds.js.map +1 -1
  100. package/src/lib/locales/ar/kinds.mjs +15 -0
  101. package/src/lib/locales/ar/kinds.mjs.map +1 -1
  102. package/src/lib/locales/ar/layout.js +2 -0
  103. package/src/lib/locales/ar/layout.js.map +1 -1
  104. package/src/lib/locales/ar/layout.mjs +2 -0
  105. package/src/lib/locales/ar/layout.mjs.map +1 -1
  106. package/src/lib/locales/ar/panel.js +81 -1
  107. package/src/lib/locales/ar/panel.js.map +1 -1
  108. package/src/lib/locales/ar/panel.mjs +81 -1
  109. package/src/lib/locales/ar/panel.mjs.map +1 -1
  110. package/src/lib/locales/ar/questions.js +20 -0
  111. package/src/lib/locales/ar/questions.js.map +1 -1
  112. package/src/lib/locales/ar/questions.mjs +20 -0
  113. package/src/lib/locales/ar/questions.mjs.map +1 -1
  114. package/src/lib/locales/ar/refusals.js +23 -1
  115. package/src/lib/locales/ar/refusals.js.map +1 -1
  116. package/src/lib/locales/ar/refusals.mjs +23 -1
  117. package/src/lib/locales/ar/refusals.mjs.map +1 -1
  118. package/src/lib/locales/ar/rules-ui.js +19 -0
  119. package/src/lib/locales/ar/rules-ui.js.map +1 -1
  120. package/src/lib/locales/ar/rules-ui.mjs +19 -0
  121. package/src/lib/locales/ar/rules-ui.mjs.map +1 -1
  122. package/src/lib/locales/ar/rules.js +7 -0
  123. package/src/lib/locales/ar/rules.js.map +1 -1
  124. package/src/lib/locales/ar/rules.mjs +7 -0
  125. package/src/lib/locales/ar/rules.mjs.map +1 -1
  126. package/src/lib/locales/ar/settings-changes.js +20 -0
  127. package/src/lib/locales/ar/settings-changes.js.map +1 -1
  128. package/src/lib/locales/ar/settings-changes.mjs +20 -0
  129. package/src/lib/locales/ar/settings-changes.mjs.map +1 -1
  130. package/src/lib/locales/ar/steps.js +31 -1
  131. package/src/lib/locales/ar/steps.js.map +1 -1
  132. package/src/lib/locales/ar/steps.mjs +31 -1
  133. package/src/lib/locales/ar/steps.mjs.map +1 -1
  134. package/src/lib/locales/ar/tables.d.mts +2 -0
  135. package/src/lib/locales/ar/tables.d.ts +2 -0
  136. package/src/lib/locales/ar/tables.js +69 -0
  137. package/src/lib/locales/ar/tables.js.map +1 -0
  138. package/src/lib/locales/ar/tables.mjs +66 -0
  139. package/src/lib/locales/ar/tables.mjs.map +1 -0
  140. package/src/lib/locales/en/canvas.d.mts +13 -0
  141. package/src/lib/locales/en/canvas.d.ts +13 -0
  142. package/src/lib/locales/en/canvas.js +6 -0
  143. package/src/lib/locales/en/canvas.js.map +1 -1
  144. package/src/lib/locales/en/canvas.mjs +6 -0
  145. package/src/lib/locales/en/canvas.mjs.map +1 -1
  146. package/src/lib/locales/en/changes.d.mts +2 -2
  147. package/src/lib/locales/en/changes.d.ts +2 -2
  148. package/src/lib/locales/en/changes.js +1 -1
  149. package/src/lib/locales/en/changes.js.map +1 -1
  150. package/src/lib/locales/en/changes.mjs +1 -1
  151. package/src/lib/locales/en/changes.mjs.map +1 -1
  152. package/src/lib/locales/en/defaults.d.mts +8 -0
  153. package/src/lib/locales/en/defaults.d.ts +8 -0
  154. package/src/lib/locales/en/defaults.js +8 -0
  155. package/src/lib/locales/en/defaults.js.map +1 -1
  156. package/src/lib/locales/en/defaults.mjs +8 -0
  157. package/src/lib/locales/en/defaults.mjs.map +1 -1
  158. package/src/lib/locales/en/index.d.mts +308 -4
  159. package/src/lib/locales/en/index.d.ts +308 -4
  160. package/src/lib/locales/en/index.js +2 -1
  161. package/src/lib/locales/en/index.js.map +1 -1
  162. package/src/lib/locales/en/index.mjs +2 -1
  163. package/src/lib/locales/en/index.mjs.map +1 -1
  164. package/src/lib/locales/en/kinds.d.mts +15 -0
  165. package/src/lib/locales/en/kinds.d.ts +15 -0
  166. package/src/lib/locales/en/kinds.js +15 -0
  167. package/src/lib/locales/en/kinds.js.map +1 -1
  168. package/src/lib/locales/en/kinds.mjs +15 -0
  169. package/src/lib/locales/en/kinds.mjs.map +1 -1
  170. package/src/lib/locales/en/layout.d.mts +2 -0
  171. package/src/lib/locales/en/layout.d.ts +2 -0
  172. package/src/lib/locales/en/layout.js +2 -0
  173. package/src/lib/locales/en/layout.js.map +1 -1
  174. package/src/lib/locales/en/layout.mjs +2 -0
  175. package/src/lib/locales/en/layout.mjs.map +1 -1
  176. package/src/lib/locales/en/panel.d.mts +81 -0
  177. package/src/lib/locales/en/panel.d.ts +81 -0
  178. package/src/lib/locales/en/panel.js +63 -1
  179. package/src/lib/locales/en/panel.js.map +1 -1
  180. package/src/lib/locales/en/panel.mjs +63 -1
  181. package/src/lib/locales/en/panel.mjs.map +1 -1
  182. package/src/lib/locales/en/questions.d.mts +20 -0
  183. package/src/lib/locales/en/questions.d.ts +20 -0
  184. package/src/lib/locales/en/questions.js +21 -0
  185. package/src/lib/locales/en/questions.js.map +1 -1
  186. package/src/lib/locales/en/questions.mjs +21 -0
  187. package/src/lib/locales/en/questions.mjs.map +1 -1
  188. package/src/lib/locales/en/refusals.d.mts +22 -0
  189. package/src/lib/locales/en/refusals.d.ts +22 -0
  190. package/src/lib/locales/en/refusals.js +24 -1
  191. package/src/lib/locales/en/refusals.js.map +1 -1
  192. package/src/lib/locales/en/refusals.mjs +24 -1
  193. package/src/lib/locales/en/refusals.mjs.map +1 -1
  194. package/src/lib/locales/en/rules-ui.d.mts +24 -0
  195. package/src/lib/locales/en/rules-ui.d.ts +24 -0
  196. package/src/lib/locales/en/rules-ui.js +20 -0
  197. package/src/lib/locales/en/rules-ui.js.map +1 -1
  198. package/src/lib/locales/en/rules-ui.mjs +20 -0
  199. package/src/lib/locales/en/rules-ui.mjs.map +1 -1
  200. package/src/lib/locales/en/rules.d.mts +8 -0
  201. package/src/lib/locales/en/rules.d.ts +8 -0
  202. package/src/lib/locales/en/rules.js +8 -0
  203. package/src/lib/locales/en/rules.js.map +1 -1
  204. package/src/lib/locales/en/rules.mjs +9 -1
  205. package/src/lib/locales/en/rules.mjs.map +1 -1
  206. package/src/lib/locales/en/settings-changes.d.mts +20 -0
  207. package/src/lib/locales/en/settings-changes.d.ts +20 -0
  208. package/src/lib/locales/en/settings-changes.js +21 -0
  209. package/src/lib/locales/en/settings-changes.js.map +1 -1
  210. package/src/lib/locales/en/settings-changes.mjs +21 -0
  211. package/src/lib/locales/en/settings-changes.mjs.map +1 -1
  212. package/src/lib/locales/en/steps.d.mts +35 -0
  213. package/src/lib/locales/en/steps.d.ts +35 -0
  214. package/src/lib/locales/en/steps.js +32 -1
  215. package/src/lib/locales/en/steps.js.map +1 -1
  216. package/src/lib/locales/en/steps.mjs +32 -1
  217. package/src/lib/locales/en/steps.mjs.map +1 -1
  218. package/src/lib/locales/en/tables.d.mts +73 -0
  219. package/src/lib/locales/en/tables.d.ts +73 -0
  220. package/src/lib/locales/en/tables.js +85 -0
  221. package/src/lib/locales/en/tables.js.map +1 -0
  222. package/src/lib/locales/en/tables.mjs +82 -0
  223. package/src/lib/locales/en/tables.mjs.map +1 -0
  224. package/src/lib/page-checks.js +6 -3
  225. package/src/lib/page-checks.js.map +1 -1
  226. package/src/lib/page-checks.mjs +6 -3
  227. package/src/lib/page-checks.mjs.map +1 -1
  228. package/src/lib/page-tree.d.mts +5 -1
  229. package/src/lib/page-tree.d.ts +5 -1
  230. package/src/lib/page-tree.js +29 -3
  231. package/src/lib/page-tree.js.map +1 -1
  232. package/src/lib/page-tree.mjs +28 -3
  233. package/src/lib/page-tree.mjs.map +1 -1
  234. package/src/lib/panel-block.js +22 -3
  235. package/src/lib/panel-block.js.map +1 -1
  236. package/src/lib/panel-block.mjs +22 -3
  237. package/src/lib/panel-block.mjs.map +1 -1
  238. package/src/lib/panel-field.js +22 -2
  239. package/src/lib/panel-field.js.map +1 -1
  240. package/src/lib/panel-field.mjs +22 -2
  241. package/src/lib/panel-field.mjs.map +1 -1
  242. package/src/lib/panel-group.js +7 -1
  243. package/src/lib/panel-group.js.map +1 -1
  244. package/src/lib/panel-group.mjs +7 -1
  245. package/src/lib/panel-group.mjs.map +1 -1
  246. package/src/lib/panel-layout.js +7 -1
  247. package/src/lib/panel-layout.js.map +1 -1
  248. package/src/lib/panel-layout.mjs +7 -1
  249. package/src/lib/panel-layout.mjs.map +1 -1
  250. package/src/lib/panel-look.js +12 -2
  251. package/src/lib/panel-look.js.map +1 -1
  252. package/src/lib/panel-look.mjs +12 -2
  253. package/src/lib/panel-look.mjs.map +1 -1
  254. package/src/lib/panel-page.d.mts +4 -2
  255. package/src/lib/panel-page.d.ts +4 -2
  256. package/src/lib/panel-page.js +41 -3
  257. package/src/lib/panel-page.js.map +1 -1
  258. package/src/lib/panel-page.mjs +41 -3
  259. package/src/lib/panel-page.mjs.map +1 -1
  260. package/src/lib/panel-screen.js +2 -2
  261. package/src/lib/panel-screen.js.map +1 -1
  262. package/src/lib/panel-screen.mjs +3 -3
  263. package/src/lib/panel-screen.mjs.map +1 -1
  264. package/src/lib/placeholder-when.d.mts +13 -0
  265. package/src/lib/placeholder-when.d.ts +13 -0
  266. package/src/lib/placeholder-when.js +83 -0
  267. package/src/lib/placeholder-when.js.map +1 -0
  268. package/src/lib/placeholder-when.mjs +80 -0
  269. package/src/lib/placeholder-when.mjs.map +1 -0
  270. package/src/lib/roles-setting.d.mts +18 -0
  271. package/src/lib/roles-setting.d.ts +18 -0
  272. package/src/lib/roles-setting.js +48 -0
  273. package/src/lib/roles-setting.js.map +1 -0
  274. package/src/lib/roles-setting.mjs +43 -0
  275. package/src/lib/roles-setting.mjs.map +1 -0
  276. package/src/lib/rules-answers.js +22 -7
  277. package/src/lib/rules-answers.js.map +1 -1
  278. package/src/lib/rules-answers.mjs +22 -7
  279. package/src/lib/rules-answers.mjs.map +1 -1
  280. package/src/lib/rules-changes.js +1 -1
  281. package/src/lib/rules-changes.js.map +1 -1
  282. package/src/lib/rules-changes.mjs +2 -2
  283. package/src/lib/rules-changes.mjs.map +1 -1
  284. package/src/lib/rules-checks.js +1 -1
  285. package/src/lib/rules-checks.js.map +1 -1
  286. package/src/lib/rules-checks.mjs +1 -1
  287. package/src/lib/rules-checks.mjs.map +1 -1
  288. package/src/lib/rules-commands.d.mts +6 -0
  289. package/src/lib/rules-commands.d.ts +6 -0
  290. package/src/lib/rules-commands.js +63 -3
  291. package/src/lib/rules-commands.js.map +1 -1
  292. package/src/lib/rules-commands.mjs +63 -3
  293. package/src/lib/rules-commands.mjs.map +1 -1
  294. package/src/lib/rules-defaults.d.mts +8 -0
  295. package/src/lib/rules-defaults.d.ts +8 -0
  296. package/src/lib/rules-defaults.js +77 -0
  297. package/src/lib/rules-defaults.js.map +1 -0
  298. package/src/lib/rules-defaults.mjs +74 -0
  299. package/src/lib/rules-defaults.mjs.map +1 -0
  300. package/src/lib/rules-formula.js +12 -3
  301. package/src/lib/rules-formula.js.map +1 -1
  302. package/src/lib/rules-formula.mjs +12 -3
  303. package/src/lib/rules-formula.mjs.map +1 -1
  304. package/src/lib/rules-panel.js +4 -1
  305. package/src/lib/rules-panel.js.map +1 -1
  306. package/src/lib/rules-panel.mjs +4 -1
  307. package/src/lib/rules-panel.mjs.map +1 -1
  308. package/src/lib/rules-words.d.mts +10 -3
  309. package/src/lib/rules-words.d.ts +10 -3
  310. package/src/lib/rules-words.js +18 -3
  311. package/src/lib/rules-words.js.map +1 -1
  312. package/src/lib/rules-words.mjs +17 -3
  313. package/src/lib/rules-words.mjs.map +1 -1
  314. package/src/lib/rules-worked-out.js +31 -6
  315. package/src/lib/rules-worked-out.js.map +1 -1
  316. package/src/lib/rules-worked-out.mjs +31 -6
  317. package/src/lib/rules-worked-out.mjs.map +1 -1
  318. package/src/lib/shown-while.d.mts +16 -0
  319. package/src/lib/shown-while.d.ts +16 -0
  320. package/src/lib/shown-while.js +28 -0
  321. package/src/lib/shown-while.js.map +1 -0
  322. package/src/lib/shown-while.mjs +25 -0
  323. package/src/lib/shown-while.mjs.map +1 -0
  324. package/src/lib/steps-commands.d.mts +2 -2
  325. package/src/lib/steps-commands.d.ts +2 -2
  326. package/src/lib/steps-commands.js +3 -0
  327. package/src/lib/steps-commands.js.map +1 -1
  328. package/src/lib/steps-commands.mjs +3 -0
  329. package/src/lib/steps-commands.mjs.map +1 -1
  330. package/src/lib/steps-editor.js +12 -3
  331. package/src/lib/steps-editor.js.map +1 -1
  332. package/src/lib/steps-editor.mjs +12 -3
  333. package/src/lib/steps-editor.mjs.map +1 -1
  334. package/src/lib/steps-places.d.mts +3 -3
  335. package/src/lib/steps-places.d.ts +3 -3
  336. package/src/lib/steps-places.js +15 -4
  337. package/src/lib/steps-places.js.map +1 -1
  338. package/src/lib/steps-places.mjs +15 -4
  339. package/src/lib/steps-places.mjs.map +1 -1
  340. package/src/lib/steps-settings.js +75 -1
  341. package/src/lib/steps-settings.js.map +1 -1
  342. package/src/lib/steps-settings.mjs +75 -1
  343. package/src/lib/steps-settings.mjs.map +1 -1
  344. package/src/lib/steps-words.js +24 -3
  345. package/src/lib/steps-words.js.map +1 -1
  346. package/src/lib/steps-words.mjs +24 -3
  347. package/src/lib/steps-words.mjs.map +1 -1
  348. package/src/lib/structure-changes.js +6 -0
  349. package/src/lib/structure-changes.js.map +1 -1
  350. package/src/lib/structure-changes.mjs +6 -0
  351. package/src/lib/structure-changes.mjs.map +1 -1
  352. package/src/lib/styles-rules.d.mts +1 -1
  353. package/src/lib/styles-rules.d.ts +1 -1
  354. package/src/lib/styles-rules.js +12 -0
  355. package/src/lib/styles-rules.js.map +1 -1
  356. package/src/lib/styles-rules.mjs +12 -0
  357. package/src/lib/styles-rules.mjs.map +1 -1
  358. package/src/lib/styles.d.mts +1 -1
  359. package/src/lib/styles.d.ts +1 -1
  360. package/src/lib/styles.js +7 -0
  361. package/src/lib/styles.js.map +1 -1
  362. package/src/lib/styles.mjs +7 -0
  363. package/src/lib/styles.mjs.map +1 -1
  364. package/src/lib/table-commands.d.mts +76 -0
  365. package/src/lib/table-commands.d.ts +76 -0
  366. package/src/lib/table-commands.js +248 -0
  367. package/src/lib/table-commands.js.map +1 -0
  368. package/src/lib/table-commands.mjs +244 -0
  369. package/src/lib/table-commands.mjs.map +1 -0
  370. package/src/lib/table-panel.d.mts +8 -0
  371. package/src/lib/table-panel.d.ts +8 -0
  372. package/src/lib/table-panel.js +276 -0
  373. package/src/lib/table-panel.js.map +1 -0
  374. package/src/lib/table-panel.mjs +273 -0
  375. package/src/lib/table-panel.mjs.map +1 -0
  376. package/src/lib/toolbox.js +1 -0
  377. package/src/lib/toolbox.js.map +1 -1
  378. package/src/lib/toolbox.mjs +1 -0
  379. package/src/lib/toolbox.mjs.map +1 -1
@@ -1,18 +1,29 @@
1
1
  import { storedAs } from './kinds.mjs';
2
2
  import { allIds, nextName, shownFields } from './page-tree.mjs';
3
3
  import { Refusal } from './refusal.mjs';
4
+ import { hotkeyFrom } from './hotkey-setting.mjs';
5
+ /** A part's words: an alert's message, any other's label; a built-in item of the gear menu with none of its own, none. */
6
+ export const wordsOf = (part) => ('message' in part ? part.message : (part.label ?? ''));
4
7
  /** The lists a header part sits in, by kind, as the sheet names them. */
5
- const LISTS = { button: 'buttons', stat: 'statButtons', badge: 'badges' };
6
- /** A part of a sheet's header by its id: what kind, which list, and where in it. */
8
+ /** What a counter can show: a number, an amount, a date, words, a choice. */
9
+ const COUNTED = ['integer', 'float', 'monetary', 'date', 'datetime', 'char', 'selection'];
10
+ const LISTS = { button: 'buttons', stat: 'statButtons', badge: 'badges', ribbon: 'ribbons', alert: 'alerts' };
11
+ /** A part of a sheet's header by its id: what kind, which list, and where in it. A page's one `ribbon` is found as the first of the ribbons. */
7
12
  export function findHeaderPart(page, id) {
8
13
  const root = page.layout;
9
14
  if (root.type !== 'sheet')
10
15
  return null;
16
+ const menu = root.toolbar?.menu ?? [];
17
+ const item = menu.findIndex((p) => p.id === id);
18
+ if (item !== -1)
19
+ return { kind: 'menu', list: menu, index: item, part: menu[item] };
20
+ if (root.ribbon?.id === id)
21
+ return { kind: 'ribbon', list: [root.ribbon, ...(root.ribbons ?? [])], index: 0, part: root.ribbon };
11
22
  for (const kind of Object.keys(LISTS)) {
12
23
  const list = (root[LISTS[kind]] ?? []);
13
24
  const index = list.findIndex((p) => p.id === id);
14
25
  if (index !== -1)
15
- return { kind, list, index, part: list[index] };
26
+ return { kind, list: kind === 'ribbon' && root.ribbon ? [root.ribbon, ...list] : list, index: kind === 'ribbon' && root.ribbon ? index + 1 : index, part: list[index] };
16
27
  }
17
28
  return null;
18
29
  }
@@ -46,11 +57,24 @@ export function headerCommands(context) {
46
57
  delete draft.fields[name];
47
58
  };
48
59
  const partOf = (draft, id) => {
49
- const found = findHeaderPart(draft, id);
60
+ let found = findHeaderPart(draft, id);
50
61
  if (!found)
51
62
  throw new Refusal((w) => w.refusals.noHeaderPart(id));
63
+ // A page's one ribbon joins the list of ribbons once one is edited: they are moved and taken away alike.
64
+ const root = draft.layout;
65
+ if (found.kind === 'ribbon' && root.ribbon) {
66
+ root.ribbons = [root.ribbon, ...(root.ribbons ?? [])];
67
+ delete root.ribbon;
68
+ found = findHeaderPart(draft, id);
69
+ }
52
70
  return found;
53
71
  };
72
+ const alertOf = (draft, id) => {
73
+ const found = partOf(draft, id);
74
+ if (found.kind !== 'alert')
75
+ throw new Refusal((w) => w.refusals.onlyAlertButtons);
76
+ return found.part;
77
+ };
54
78
  return {
55
79
  setStatusbar(field, options = {}) {
56
80
  return apply((draft) => {
@@ -61,14 +85,28 @@ export function headerCommands(context) {
61
85
  return;
62
86
  }
63
87
  const def = fieldFor(draft, field);
64
- if (def.type !== 'selection' || def.multiple)
88
+ // A choice's steps, or the stages a link points to.
89
+ if ((def.type !== 'selection' || def.multiple) && def.type !== 'many2one')
65
90
  throw new Refusal((w) => w.refusals.statusOneOfList(def.label, storedAs(def, w)));
66
91
  const kept = root.statusbar?.field === field ? root.statusbar : undefined;
67
- root.statusbar = { ...kept, field, ...options };
68
- if (root.statusbar.clickable === false)
69
- delete root.statusbar.clickable;
70
- if (root.statusbar.position === 'header')
71
- delete root.statusbar.position;
92
+ const bar = { ...kept, field, ...options };
93
+ if (bar.durationsField) {
94
+ const times = fieldFor(draft, bar.durationsField);
95
+ if (times.type !== 'json')
96
+ throw new Refusal((w) => w.refusals.timesFromJson(times.label));
97
+ }
98
+ else
99
+ delete bar.durationsField;
100
+ if (bar.fold && def.type !== 'many2one')
101
+ throw new Refusal((w) => w.refusals.foldStages);
102
+ if (bar.saves && !bar.clickable)
103
+ throw new Refusal((w) => w.refusals.savesOnClick);
104
+ for (const key of ['clickable', 'fold', 'saves'])
105
+ if (!bar[key])
106
+ delete bar[key];
107
+ if (bar.position === 'header')
108
+ delete bar.position;
109
+ root.statusbar = bar;
72
110
  prune(draft);
73
111
  });
74
112
  },
@@ -85,6 +123,13 @@ export function headerCommands(context) {
85
123
  root.buttons = [...(root.buttons ?? []), { type: 'button', id: created, label: words, action: actionName(words) }];
86
124
  else if (kind === 'stat')
87
125
  root.statButtons = [...(root.statButtons ?? []), { id: created, label: words, action: actionName(words) }];
126
+ else if (kind === 'ribbon') {
127
+ // The one ribbon a page had joins the list, first.
128
+ root.ribbons = [...(root.ribbon ? [root.ribbon] : []), ...(root.ribbons ?? []), { id: created, label: words, tone: 'success' }];
129
+ delete root.ribbon;
130
+ }
131
+ else if (kind === 'alert')
132
+ root.alerts = [...(root.alerts ?? []), { id: created, message: words, tone: 'info' }];
88
133
  else
89
134
  root.badges = [...(root.badges ?? []), { id: created, label: words, tone: 'muted' }];
90
135
  });
@@ -94,36 +139,106 @@ export function headerCommands(context) {
94
139
  return created;
95
140
  },
96
141
  updateHeaderPart(id, patch) {
97
- const typing = Object.keys(patch).length === 1 && ('label' in patch || 'action' in patch || 'confirm' in patch);
142
+ const typing = Object.keys(patch).length === 1 && ('label' in patch || 'action' in patch || 'confirm' in patch || 'tooltip' in patch || 'unit' in patch || 'secondLabel' in patch || 'help' in patch);
98
143
  return apply((draft) => {
99
144
  const { kind, part } = partOf(draft, id);
100
- if (patch.label !== undefined)
101
- part.label = patch.label;
145
+ if (patch.label !== undefined) {
146
+ if (kind === 'alert')
147
+ part.message = patch.label;
148
+ else
149
+ part.label = patch.label;
150
+ }
151
+ if (patch.label !== undefined && kind === 'menu' && !patch.label.trim()) {
152
+ // A built-in item's words may go: its own come back, in the page's language.
153
+ if (!part.builtin)
154
+ throw new Refusal((w) => w.refusals.menuNeedsWords);
155
+ delete part.label;
156
+ }
102
157
  if (patch.action !== undefined) {
103
- if (kind === 'badge')
158
+ if (kind === 'badge' || kind === 'ribbon' || kind === 'alert')
104
159
  throw new Refusal((w) => w.refusals.badgeNoAction);
105
160
  if (!patch.action.trim())
106
161
  throw new Refusal((w) => (kind === 'stat' ? w.refusals.counterAction : w.refusals.buttonAction));
107
162
  part.action = patch.action.trim();
108
163
  }
164
+ if (patch.builtin !== undefined) {
165
+ if (kind !== 'menu')
166
+ throw new Refusal((w) => w.refusals.onlyMenuBuiltin);
167
+ const item = part;
168
+ if (patch.builtin)
169
+ item.builtin = patch.builtin;
170
+ else {
171
+ if (!item.label?.trim())
172
+ throw new Refusal((w) => w.refusals.menuNeedsWords);
173
+ delete item.builtin;
174
+ // Its own steps or action, else the app's action of its words.
175
+ if (!item.steps && item.action === undefined)
176
+ item.action = actionName(item.label);
177
+ }
178
+ }
179
+ if (patch.group !== undefined) {
180
+ if (kind !== 'menu')
181
+ throw new Refusal((w) => w.refusals.onlyMenuGroup);
182
+ if (patch.group === 'print')
183
+ part.group = 'print';
184
+ else
185
+ delete part.group;
186
+ }
109
187
  if (patch.style !== undefined) {
110
188
  if (kind !== 'button')
111
189
  throw new Refusal((w) => w.refusals.onlyButtonStyle);
112
190
  part.style = patch.style;
113
191
  }
114
192
  if (patch.confirm !== undefined) {
115
- if (kind !== 'button')
193
+ if (kind !== 'button' && kind !== 'menu')
116
194
  throw new Refusal((w) => w.refusals.onlyButtonAsks);
117
195
  if (patch.confirm.trim())
118
196
  part.confirm = patch.confirm;
119
197
  else
120
198
  delete part.confirm;
121
199
  }
200
+ if (patch.hotkey !== undefined) {
201
+ if (kind !== 'button')
202
+ throw new Refusal((w) => w.refusals.onlyButtonKey);
203
+ const key = hotkeyFrom(patch.hotkey);
204
+ if (key)
205
+ part.hotkey = key;
206
+ else
207
+ delete part.hotkey;
208
+ }
122
209
  if (patch.tone !== undefined) {
123
- if (kind !== 'badge')
210
+ if (kind !== 'badge' && kind !== 'ribbon' && kind !== 'alert')
124
211
  throw new Refusal((w) => w.refusals.onlyBadgeTone);
125
212
  part.tone = patch.tone;
126
213
  }
214
+ if (patch.wordsField !== undefined) {
215
+ if (kind !== 'ribbon' && kind !== 'alert')
216
+ throw new Refusal((w) => w.refusals.onlyRibbonAlertField);
217
+ const key = kind === 'ribbon' ? 'labelField' : 'messageField';
218
+ if (!patch.wordsField)
219
+ delete part[key];
220
+ else {
221
+ fieldFor(draft, patch.wordsField);
222
+ part[key] = patch.wordsField;
223
+ }
224
+ prune(draft);
225
+ }
226
+ if (patch.tooltip !== undefined) {
227
+ if (kind !== 'ribbon')
228
+ throw new Refusal((w) => w.refusals.onlyRibbonTooltip);
229
+ if (patch.tooltip.trim())
230
+ part.tooltip = patch.tooltip;
231
+ else
232
+ delete part.tooltip;
233
+ }
234
+ if (patch.dismissible !== undefined) {
235
+ if (kind !== 'alert')
236
+ throw new Refusal((w) => w.refusals.onlyAlertCloses);
237
+ if (patch.dismissible)
238
+ part.dismissible = true;
239
+ else
240
+ delete part.dismissible;
241
+ }
127
242
  if (patch.field !== undefined) {
128
243
  if (kind !== 'stat')
129
244
  throw new Refusal((w) => w.refusals.onlyCounterField);
@@ -131,17 +246,62 @@ export function headerCommands(context) {
131
246
  delete part.field;
132
247
  else {
133
248
  const def = fieldFor(draft, patch.field);
134
- if (!['integer', 'float', 'monetary'].includes(def.type))
249
+ if (!COUNTED.includes(def.type))
135
250
  throw new Refusal((w) => w.refusals.counterNumber(def.label, storedAs(def, w)));
136
251
  part.field = patch.field;
137
252
  }
138
253
  prune(draft);
139
254
  }
255
+ for (const key of ['unitField', 'labelField', 'secondField']) {
256
+ const name = patch[key];
257
+ if (name === undefined)
258
+ continue;
259
+ if (kind !== 'stat')
260
+ throw new Refusal((w) => w.refusals.onlyCounterSecond);
261
+ const stat = part;
262
+ if (!name) {
263
+ delete stat[key];
264
+ if (key === 'secondField')
265
+ delete stat.secondLabel;
266
+ }
267
+ else {
268
+ const def = fieldFor(draft, name);
269
+ if (key === 'secondField' && !COUNTED.includes(def.type))
270
+ throw new Refusal((w) => w.refusals.counterNumber(def.label, storedAs(def, w)));
271
+ stat[key] = name;
272
+ }
273
+ prune(draft);
274
+ }
275
+ if (patch.help !== undefined) {
276
+ if (kind !== 'stat')
277
+ throw new Refusal((w) => w.refusals.onlyCounterSecond);
278
+ if (patch.help.trim())
279
+ part.help = patch.help;
280
+ else
281
+ delete part.help;
282
+ }
283
+ for (const key of ['unit', 'secondLabel']) {
284
+ const words = patch[key];
285
+ if (words === undefined)
286
+ continue;
287
+ if (kind !== 'stat')
288
+ throw new Refusal((w) => w.refusals.onlyCounterSecond);
289
+ const stat = part;
290
+ if (key === 'secondLabel' && words.trim() && !stat.secondField)
291
+ throw new Refusal((w) => w.refusals.secondWordsNeedValue);
292
+ if (words.trim())
293
+ stat[key] = words;
294
+ else
295
+ delete stat[key];
296
+ }
140
297
  if (patch.icon !== undefined) {
298
+ if (kind === 'ribbon' || kind === 'alert')
299
+ throw new Refusal((w) => w.refusals.onlySomeIcons);
300
+ const own = part;
141
301
  if (patch.icon)
142
- part.icon = patch.icon;
302
+ own.icon = patch.icon;
143
303
  else
144
- delete part.icon;
304
+ delete own.icon;
145
305
  }
146
306
  }, typing ? `header:${Object.keys(patch)[0]}:${id}` : null);
147
307
  },
@@ -160,11 +320,128 @@ export function headerCommands(context) {
160
320
  const { kind, list, index } = partOf(draft, id);
161
321
  list.splice(index, 1);
162
322
  const root = draft.layout;
163
- if (!list.length)
323
+ if (kind === 'menu') {
324
+ // The menu and the toolbar go with their last item, the pager's and the trail's settings staying.
325
+ if (!list.length && root.toolbar)
326
+ delete root.toolbar.menu;
327
+ if (root.toolbar && !Object.keys(root.toolbar).length)
328
+ delete root.toolbar;
329
+ }
330
+ else if (!list.length)
164
331
  delete root[LISTS[kind]];
165
332
  prune(draft);
166
333
  });
167
334
  },
335
+ addAlertButton(alertId, label) {
336
+ let created = '';
337
+ const words = label.trim();
338
+ const ok = apply((draft) => {
339
+ const alert = alertOf(draft, alertId);
340
+ if (!words)
341
+ throw new Refusal((w) => w.refusals.headerNeedsWords);
342
+ const ids = allIds(draft);
343
+ created = nextName((id) => ids.has(id), `${alertId}-button`, '-');
344
+ alert.buttons = [...(alert.buttons ?? []), { type: 'button', id: created, label: words, action: actionName(words) }];
345
+ });
346
+ return ok ? created : false;
347
+ },
348
+ updateAlertButton(alertId, buttonId, patch) {
349
+ const typing = Object.keys(patch).length === 1;
350
+ return apply((draft) => {
351
+ const button = alertOf(draft, alertId).buttons?.find((b) => b.id === buttonId);
352
+ if (!button)
353
+ throw new Refusal((w) => w.refusals.noHeaderPart(buttonId));
354
+ if (patch.label !== undefined)
355
+ button.label = patch.label;
356
+ if (patch.action !== undefined) {
357
+ if (!patch.action.trim())
358
+ throw new Refusal((w) => w.refusals.buttonAction);
359
+ button.action = patch.action.trim();
360
+ }
361
+ }, typing ? `alert-button:${Object.keys(patch)[0]}:${buttonId}` : null);
362
+ },
363
+ addMenuItem(kind, label) {
364
+ let created = '';
365
+ const ok = apply((draft) => {
366
+ const root = sheetOf(draft);
367
+ const ids = allIds(draft);
368
+ created = nextName((id) => ids.has(id), kind === 'action' || kind === 'print' ? 'menu' : `menu-${kind}`, '-');
369
+ const words = (label ?? '').trim();
370
+ let item;
371
+ if (kind === 'action' || kind === 'print') {
372
+ if (!words)
373
+ throw new Refusal((w) => w.refusals.menuNeedsWords);
374
+ item = { id: created, label: words, ...(kind === 'print' ? { group: 'print' } : {}), action: actionName(words) };
375
+ }
376
+ else
377
+ item = { id: created, ...(words ? { label: words } : {}), builtin: kind };
378
+ root.toolbar = { ...root.toolbar, menu: [...(root.toolbar?.menu ?? []), item] };
379
+ });
380
+ if (!ok)
381
+ return false;
382
+ context.select(created);
383
+ return created;
384
+ },
385
+ setRecordToolbar(patch) {
386
+ return apply((draft) => {
387
+ const root = sheetOf(draft);
388
+ const toolbar = { ...root.toolbar };
389
+ // Shown is how it is unless said: only a "no" is written.
390
+ for (const key of ['pager', 'breadcrumbs']) {
391
+ if (patch[key] === undefined)
392
+ continue;
393
+ if (patch[key])
394
+ delete toolbar[key];
395
+ else
396
+ toolbar[key] = false;
397
+ }
398
+ if (Object.keys(toolbar).length)
399
+ root.toolbar = toolbar;
400
+ else
401
+ delete root.toolbar;
402
+ });
403
+ },
404
+ setAttachmentPreview(field) {
405
+ return apply((draft) => {
406
+ const root = sheetOf(draft);
407
+ if (field === null)
408
+ delete root.attachmentPreview;
409
+ else if (!field)
410
+ root.attachmentPreview = { ...root.attachmentPreview, field: undefined };
411
+ else {
412
+ const def = fieldFor(draft, field);
413
+ if (def.type !== 'binary' && def.type !== 'image')
414
+ throw new Refusal((w) => w.refusals.previewNeedsFile(def.label, storedAs(def, w)));
415
+ root.attachmentPreview = { ...root.attachmentPreview, field };
416
+ }
417
+ if (root.attachmentPreview?.field === undefined && root.attachmentPreview)
418
+ delete root.attachmentPreview.field;
419
+ prune(draft);
420
+ });
421
+ },
422
+ setSidePanelBeside(where) {
423
+ return apply((draft) => {
424
+ const root = sheetOf(draft);
425
+ if (!root.sidePanel)
426
+ throw new Refusal((w) => w.refusals.noSidePanel);
427
+ if (where === 'always')
428
+ root.sidePanelBeside = 'always';
429
+ else
430
+ delete root.sidePanelBeside;
431
+ });
432
+ },
433
+ removeAlertButton(alertId, buttonId) {
434
+ return apply((draft) => {
435
+ const alert = alertOf(draft, alertId);
436
+ const kept = (alert.buttons ?? []).filter((b) => b.id !== buttonId);
437
+ if (kept.length === (alert.buttons ?? []).length)
438
+ throw new Refusal((w) => w.refusals.noHeaderPart(buttonId));
439
+ if (kept.length)
440
+ alert.buttons = kept;
441
+ else
442
+ delete alert.buttons;
443
+ });
444
+ },
168
445
  };
169
446
  }
170
447
  //# sourceMappingURL=header-commands.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"header-commands.mjs","sourceRoot":"","sources":["../../../../../libs/designer/src/lib/header-commands.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"header-commands.mjs","sourceRoot":"","sources":["../../../../../libs/designer/src/lib/header-commands.ts"],"names":[],"mappings":"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"}