@lblod/ember-rdfa-editor-lblod-plugins 16.4.0 → 17.0.0-dev.f473cdfb5868261b49cdae52ea2558970c082d01

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 (392) hide show
  1. package/.changeset/afraid-tips-visit.md +5 -0
  2. package/.changeset/chilly-ravens-think.md +6 -0
  3. package/.changeset/hot-owls-laugh.md +5 -0
  4. package/.changeset/olive-pets-cheer.md +5 -0
  5. package/.changeset/smooth-fireants-doubt.md +5 -0
  6. package/.changeset/tall-carrots-ring.md +5 -0
  7. package/.changeset/wet-baboons-serve.md +5 -0
  8. package/.changeset/witty-suns-speak.md +5 -0
  9. package/.woodpecker/.release-commit.yml +18 -0
  10. package/.woodpecker/.release.yml +21 -0
  11. package/.woodpecker/.verify-pr.yml +30 -0
  12. package/CHANGELOG.md +14 -0
  13. package/Dockerfile +6 -4
  14. package/addon/commands/index.ts +1 -0
  15. package/addon/commands/replace-selection-and-select-node.ts +24 -0
  16. package/addon/components/article-structure-plugin/article-structure-card.hbs +2 -1
  17. package/addon/components/article-structure-plugin/article-structure-card.ts +2 -0
  18. package/addon/components/article-structure-plugin/structure-card.hbs +7 -6
  19. package/addon/components/article-structure-plugin/structure-card.ts +49 -35
  20. package/addon/components/au-native-input.hbs +1 -0
  21. package/addon/components/au-native-input.ts +2 -1
  22. package/addon/components/besluit-type-plugin/besluit-type-select.hbs +3 -2
  23. package/addon/components/besluit-type-plugin/besluit-type-select.ts +4 -0
  24. package/addon/components/besluit-type-plugin/toolbar-dropdown.hbs +5 -4
  25. package/addon/components/besluit-type-plugin/toolbar-dropdown.ts +48 -20
  26. package/addon/components/citation-plugin/citation-card.hbs +3 -2
  27. package/addon/components/citation-plugin/citation-card.ts +9 -2
  28. package/addon/components/citation-plugin/citation-insert.hbs +2 -1
  29. package/addon/components/citation-plugin/citation-insert.ts +3 -0
  30. package/addon/components/citation-plugin/citations/article-preview.hbs +3 -2
  31. package/addon/components/citation-plugin/citations/article-preview.ts +2 -0
  32. package/addon/components/citation-plugin/citations/legal-document-detail.hbs +17 -9
  33. package/addon/components/citation-plugin/citations/legal-document-detail.ts +18 -1
  34. package/addon/components/citation-plugin/citations/legal-document-preview.hbs +10 -9
  35. package/addon/components/citation-plugin/citations/legal-document-preview.ts +9 -0
  36. package/addon/components/citation-plugin/citations/search-modal.hbs +3 -2
  37. package/addon/components/citation-plugin/citations/search-modal.ts +3 -0
  38. package/addon/components/common/search/alert-load-error.gts +34 -0
  39. package/addon/components/common/search/alert-no-items.gts +18 -0
  40. package/addon/components/confidentiality-plugin/redact.gts +13 -0
  41. package/addon/components/decision-plugin/decision-plugin-card.hbs +4 -3
  42. package/addon/components/decision-plugin/decision-plugin-card.ts +3 -0
  43. package/addon/components/document-title-plugin/insert-title-card.hbs +8 -1
  44. package/addon/components/document-title-plugin/insert-title-card.ts +3 -0
  45. package/addon/components/generic-rdfa-variable/insert-menu.hbs +2 -1
  46. package/addon/components/generic-rdfa-variable/insert-menu.ts +3 -1
  47. package/addon/components/hover-tooltip.hbs +1 -0
  48. package/addon/components/import-snippet-plugin/card.hbs +1 -0
  49. package/addon/components/import-snippet-plugin/card.ts +7 -2
  50. package/addon/components/loading-alert.hbs +2 -1
  51. package/addon/components/loading-alert.ts +5 -2
  52. package/addon/components/pagination/pagination-view.gts +55 -0
  53. package/addon/components/roadsign-regulation-plugin/expanded-measure.hbs +28 -37
  54. package/addon/components/roadsign-regulation-plugin/expanded-measure.ts +4 -13
  55. package/addon/components/roadsign-regulation-plugin/measure-template.hbs +1 -0
  56. package/addon/components/roadsign-regulation-plugin/roadsign-regulation-card.hbs +2 -1
  57. package/addon/components/roadsign-regulation-plugin/roadsign-regulation-card.ts +3 -0
  58. package/addon/components/roadsign-regulation-plugin/roadsigns-modal.hbs +1 -0
  59. package/addon/components/roadsign-regulation-plugin/roadsigns-pagination.hbs +9 -4
  60. package/addon/components/roadsign-regulation-plugin/roadsigns-pagination.ts +5 -0
  61. package/addon/components/roadsign-regulation-plugin/roadsigns-table.hbs +7 -6
  62. package/addon/components/roadsign-regulation-plugin/roadsigns-table.ts +5 -0
  63. package/addon/components/snippet-plugin/search-modal.hbs +1 -0
  64. package/addon/components/snippet-plugin/snippet-insert-rdfa.hbs +7 -0
  65. package/addon/components/snippet-plugin/snippet-insert-rdfa.ts +78 -0
  66. package/addon/components/snippet-plugin/snippet-insert.hbs +3 -1
  67. package/addon/components/snippet-plugin/snippet-insert.ts +25 -4
  68. package/addon/components/snippet-plugin/snippet-list/snippet-list-modal.hbs +1 -0
  69. package/addon/components/snippet-plugin/snippet-list/snippet-list-modal.ts +3 -3
  70. package/addon/components/snippet-plugin/snippet-list/snippet-list-view.hbs +3 -2
  71. package/addon/components/snippet-plugin/snippet-list-select-rdfa.hbs +8 -0
  72. package/addon/components/snippet-plugin/snippet-list-select-rdfa.ts +69 -0
  73. package/addon/components/snippet-plugin/snippet-list-select.hbs +2 -1
  74. package/addon/components/snippet-plugin/snippet-list-select.ts +2 -1
  75. package/addon/components/snippet-plugin/snippets/snippet-preview.hbs +1 -0
  76. package/addon/components/standard-template-plugin/card.hbs +2 -1
  77. package/addon/components/standard-template-plugin/card.ts +2 -0
  78. package/addon/components/standard-template-plugin/template-provider.hbs +1 -0
  79. package/addon/components/standard-template-plugin/template-provider.ts +10 -4
  80. package/addon/components/table-of-contents-plugin/ember-nodes/table-of-contents.hbs +1 -0
  81. package/addon/components/table-of-contents-plugin/toolbar-button.hbs +1 -0
  82. package/addon/components/template-comments-plugin/edit-card.hbs +4 -3
  83. package/addon/components/template-comments-plugin/edit-card.ts +7 -0
  84. package/addon/components/template-comments-plugin/insert.hbs +2 -1
  85. package/addon/components/template-comments-plugin/insert.ts +3 -0
  86. package/addon/components/template-comments-plugin/template-comment.hbs +2 -1
  87. package/addon/components/template-comments-plugin/template-comment.ts +3 -0
  88. package/addon/components/validation-plugin/validation-card.hbs +1 -0
  89. package/addon/components/validation-plugin/validation-item.hbs +1 -0
  90. package/addon/components/validation-plugin/validation-item.ts +7 -4
  91. package/addon/components/variable-plugin/address/edit.hbs +1 -0
  92. package/addon/components/variable-plugin/address/edit.ts +5 -3
  93. package/addon/components/variable-plugin/address/insert-variable.hbs +1 -0
  94. package/addon/components/variable-plugin/address/insert.hbs +3 -2
  95. package/addon/components/variable-plugin/address/insert.ts +3 -0
  96. package/addon/components/variable-plugin/address/nodeview.hbs +4 -3
  97. package/addon/components/variable-plugin/address/nodeview.ts +9 -0
  98. package/addon/components/variable-plugin/address/utils.ts +28 -3
  99. package/addon/components/variable-plugin/codelist/edit.hbs +1 -0
  100. package/addon/components/variable-plugin/codelist/edit.ts +24 -7
  101. package/addon/components/variable-plugin/codelist/insert.hbs +1 -0
  102. package/addon/components/variable-plugin/codelist/insert.ts +52 -17
  103. package/addon/components/variable-plugin/date/date-time-picker.hbs +1 -0
  104. package/addon/components/variable-plugin/date/edit.hbs +27 -31
  105. package/addon/components/variable-plugin/date/edit.ts +47 -8
  106. package/addon/components/variable-plugin/date/help-modal.hbs +1 -0
  107. package/addon/components/variable-plugin/date/insert-variable.hbs +1 -0
  108. package/addon/components/variable-plugin/date/insert-variable.ts +36 -10
  109. package/addon/components/variable-plugin/date/insert.hbs +2 -1
  110. package/addon/components/variable-plugin/date/insert.ts +38 -10
  111. package/addon/components/variable-plugin/date/nodeview.hbs +4 -3
  112. package/addon/components/variable-plugin/date/nodeview.ts +11 -1
  113. package/addon/components/variable-plugin/insert-variable-card.hbs +1 -0
  114. package/addon/components/variable-plugin/insert-variable-card.ts +9 -1
  115. package/addon/components/variable-plugin/location/edit.hbs +1 -0
  116. package/addon/components/variable-plugin/location/edit.ts +1 -9
  117. package/addon/components/variable-plugin/location/insert.hbs +1 -0
  118. package/addon/components/variable-plugin/location/insert.ts +4 -7
  119. package/addon/components/variable-plugin/location/nodeview.hbs +19 -8
  120. package/addon/components/variable-plugin/location/nodeview.ts +37 -9
  121. package/addon/components/variable-plugin/number/insert.hbs +1 -0
  122. package/addon/components/variable-plugin/number/insert.ts +34 -10
  123. package/addon/components/variable-plugin/number/nodeview.hbs +7 -5
  124. package/addon/components/variable-plugin/number/nodeview.ts +32 -5
  125. package/addon/components/variable-plugin/text/insert.hbs +1 -0
  126. package/addon/components/variable-plugin/text/insert.ts +40 -12
  127. package/addon/components/variable-plugin/variable/nodeview.hbs +12 -8
  128. package/addon/components/variable-plugin/variable/nodeview.ts +16 -9
  129. package/addon/components/worship-plugin/administrative-unit-picker.hbs +1 -0
  130. package/addon/components/worship-plugin/insert.hbs +2 -1
  131. package/addon/components/worship-plugin/insert.ts +3 -0
  132. package/addon/components/worship-plugin/search-modal.hbs +1 -0
  133. package/addon/components/worship-plugin/search-modal.ts +2 -0
  134. package/addon/components/worship-plugin/sortable-table-header.hbs +4 -3
  135. package/addon/components/worship-plugin/sortable-table-header.ts +7 -0
  136. package/addon/plugins/article-structure-plugin/commands/insert-structure.ts +82 -15
  137. package/addon/plugins/article-structure-plugin/commands/move-selected-structure.ts +2 -1
  138. package/addon/plugins/article-structure-plugin/commands/recalculate-structure-numbers.ts +70 -2
  139. package/addon/plugins/article-structure-plugin/commands/remove-structure.ts +1 -1
  140. package/addon/plugins/article-structure-plugin/commands/set-structure-start-number.ts +5 -14
  141. package/addon/plugins/article-structure-plugin/commands/unwrap-structure.ts +1 -1
  142. package/addon/plugins/article-structure-plugin/commands/wrap-structure-content.ts +197 -105
  143. package/addon/plugins/article-structure-plugin/index.ts +16 -7
  144. package/addon/plugins/article-structure-plugin/structures/article-paragraph.ts +181 -71
  145. package/addon/plugins/article-structure-plugin/structures/article.ts +91 -98
  146. package/addon/plugins/article-structure-plugin/structures/chapter.ts +89 -39
  147. package/addon/plugins/article-structure-plugin/structures/index.ts +12 -1
  148. package/addon/plugins/article-structure-plugin/structures/section.ts +88 -39
  149. package/addon/plugins/article-structure-plugin/structures/structure-header-number.ts +56 -0
  150. package/addon/plugins/article-structure-plugin/structures/structure-header-title.ts +38 -0
  151. package/addon/plugins/article-structure-plugin/structures/structure-header.ts +87 -73
  152. package/addon/plugins/article-structure-plugin/structures/subsection.ts +81 -39
  153. package/addon/plugins/article-structure-plugin/structures/title.ts +91 -39
  154. package/addon/plugins/article-structure-plugin/utils/structure.ts +223 -127
  155. package/addon/plugins/citation-plugin/utils/cited-text.ts +38 -8
  156. package/addon/plugins/confidentiality-plugin/marks/redacted.ts +1 -1
  157. package/addon/plugins/document-title-plugin/nodes/document-title.ts +4 -3
  158. package/addon/plugins/roadsign-regulation-plugin/nodes.ts +4 -3
  159. package/addon/plugins/snippet-plugin/commands/index.ts +1 -0
  160. package/addon/plugins/snippet-plugin/commands/update-snippet-ids.ts +55 -0
  161. package/addon/plugins/snippet-plugin/index.ts +6 -1
  162. package/addon/plugins/snippet-plugin/utils/rdfa-predicate.ts +33 -0
  163. package/addon/plugins/standard-template-plugin/utils/nodes.ts +293 -81
  164. package/addon/plugins/table-of-contents-plugin/nodes/table-of-contents.ts +3 -2
  165. package/addon/plugins/variable-plugin/utils/attribute-parsers.ts +19 -1
  166. package/addon/plugins/variable-plugin/utils/dom-constructors.ts +3 -3
  167. package/addon/plugins/variable-plugin/variables/address.ts +93 -26
  168. package/addon/plugins/variable-plugin/variables/codelist.ts +99 -50
  169. package/addon/plugins/variable-plugin/variables/date.ts +143 -53
  170. package/addon/plugins/variable-plugin/variables/location.ts +1 -0
  171. package/addon/plugins/variable-plugin/variables/number.ts +99 -52
  172. package/addon/plugins/variable-plugin/variables/text.ts +80 -28
  173. package/addon/utils/_private/find-insertion-range.ts +18 -5
  174. package/addon/utils/dom-utils.ts +4 -0
  175. package/addon/utils/namespace.ts +63 -13
  176. package/app/components/snippet-plugin/snippet-list-insert-rdfa.js +1 -0
  177. package/app/components/snippet-plugin/snippet-list-select-rdfa.js +1 -0
  178. package/app/styles/article-structure-plugin.scss +106 -3
  179. package/declarations/addon/commands/index.d.ts +1 -0
  180. package/declarations/addon/commands/replace-selection-and-select-node.d.ts +3 -0
  181. package/{components → declarations/addon/components}/article-structure-plugin/article-structure-card.d.ts +1 -0
  182. package/{components → declarations/addon/components}/article-structure-plugin/structure-card.d.ts +5 -2
  183. package/{components → declarations/addon/components}/au-native-input.d.ts +2 -1
  184. package/{components → declarations/addon/components}/besluit-type-plugin/besluit-type-select.d.ts +1 -0
  185. package/{components → declarations/addon/components}/besluit-type-plugin/toolbar-dropdown.d.ts +4 -5
  186. package/{components → declarations/addon/components}/citation-plugin/citation-card.d.ts +3 -2
  187. package/{components → declarations/addon/components}/citation-plugin/citation-insert.d.ts +1 -0
  188. package/declarations/addon/components/citation-plugin/citations/article-list.d.ts +1 -0
  189. package/{components → declarations/addon/components}/citation-plugin/citations/article-preview.d.ts +2 -1
  190. package/{components → declarations/addon/components}/citation-plugin/citations/legal-document-detail.d.ts +8 -1
  191. package/declarations/addon/components/citation-plugin/citations/legal-document-list.d.ts +1 -0
  192. package/declarations/addon/components/citation-plugin/citations/legal-document-preview.d.ts +14 -0
  193. package/{components → declarations/addon/components}/citation-plugin/citations/search-modal.d.ts +1 -0
  194. package/declarations/addon/components/common/search/alert-load-error.d.ts +4 -0
  195. package/declarations/addon/components/common/search/alert-no-items.d.ts +4 -0
  196. package/declarations/addon/components/common/search/loading.d.ts +1 -0
  197. package/declarations/addon/components/confidentiality-plugin/redact.d.ts +4 -0
  198. package/declarations/addon/components/confidentiality-plugin/toolbar.d.ts +1 -0
  199. package/{components → declarations/addon/components}/decision-plugin/decision-plugin-card.d.ts +1 -0
  200. package/{components → declarations/addon/components}/document-title-plugin/insert-title-card.d.ts +1 -0
  201. package/{components → declarations/addon/components}/generic-rdfa-variable/insert-menu.d.ts +1 -0
  202. package/{components → declarations/addon/components}/import-snippet-plugin/card.d.ts +6 -5
  203. package/{components → declarations/addon/components}/loading-alert.d.ts +1 -0
  204. package/declarations/addon/components/pagination/pagination-view.d.ts +4 -0
  205. package/{components → declarations/addon/components}/roadsign-regulation-plugin/expanded-measure.d.ts +2 -2
  206. package/{components → declarations/addon/components}/roadsign-regulation-plugin/roadsign-regulation-card.d.ts +1 -0
  207. package/{components → declarations/addon/components}/roadsign-regulation-plugin/roadsigns-pagination.d.ts +2 -0
  208. package/{components → declarations/addon/components}/roadsign-regulation-plugin/roadsigns-table.d.ts +2 -0
  209. package/declarations/addon/components/snippet-plugin/snippet-insert-rdfa.d.ts +19 -0
  210. package/{components → declarations/addon/components}/snippet-plugin/snippet-insert.d.ts +3 -0
  211. package/declarations/addon/components/snippet-plugin/snippet-list-select-rdfa.d.ts +21 -0
  212. package/{components → declarations/addon/components}/snippet-plugin/snippet-list-select.d.ts +1 -0
  213. package/declarations/addon/components/snippet-plugin/snippets/snippet-list.d.ts +1 -0
  214. package/{components → declarations/addon/components}/standard-template-plugin/card.d.ts +1 -0
  215. package/declarations/addon/components/table-of-contents-plugin/ember-nodes/outline.d.ts +1 -0
  216. package/{components → declarations/addon/components}/template-comments-plugin/edit-card.d.ts +3 -0
  217. package/{components → declarations/addon/components}/template-comments-plugin/insert.d.ts +1 -0
  218. package/{components → declarations/addon/components}/template-comments-plugin/template-comment.d.ts +1 -0
  219. package/{components → declarations/addon/components}/validation-plugin/validation-item.d.ts +2 -2
  220. package/{components → declarations/addon/components}/variable-plugin/address/edit.d.ts +2 -2
  221. package/{components → declarations/addon/components}/variable-plugin/address/insert.d.ts +1 -0
  222. package/{components → declarations/addon/components}/variable-plugin/address/nodeview.d.ts +2 -0
  223. package/{components → declarations/addon/components}/variable-plugin/date/edit.d.ts +4 -2
  224. package/{components → declarations/addon/components}/variable-plugin/date/insert.d.ts +1 -0
  225. package/{components → declarations/addon/components}/variable-plugin/date/nodeview.d.ts +2 -0
  226. package/{components → declarations/addon/components}/variable-plugin/insert-variable-card.d.ts +9 -1
  227. package/{components → declarations/addon/components}/variable-plugin/location/edit.d.ts +0 -1
  228. package/declarations/addon/components/variable-plugin/location/nodeview.d.ts +11 -0
  229. package/{components → declarations/addon/components}/variable-plugin/number/nodeview.d.ts +4 -1
  230. package/{components → declarations/addon/components}/variable-plugin/text/insert.d.ts +1 -1
  231. package/declarations/addon/components/variable-plugin/utils/label-input.d.ts +1 -0
  232. package/declarations/addon/components/variable-plugin/variable/nodeview.d.ts +11 -0
  233. package/{components → declarations/addon/components}/worship-plugin/insert.d.ts +1 -0
  234. package/declarations/addon/components/worship-plugin/list.d.ts +1 -0
  235. package/{components → declarations/addon/components}/worship-plugin/sortable-table-header.d.ts +3 -0
  236. package/declarations/addon/plugins/article-structure-plugin/commands/recalculate-structure-numbers.d.ts +3 -0
  237. package/declarations/addon/plugins/article-structure-plugin/commands/set-structure-start-number.d.ts +7 -0
  238. package/{plugins → declarations/addon/plugins}/article-structure-plugin/index.d.ts +15 -7
  239. package/{plugins → declarations/addon/plugins}/article-structure-plugin/structures/article-paragraph.d.ts +2 -0
  240. package/declarations/addon/plugins/article-structure-plugin/structures/article.d.ts +5 -0
  241. package/{plugins → declarations/addon/plugins}/article-structure-plugin/structures/index.d.ts +4 -0
  242. package/declarations/addon/plugins/article-structure-plugin/structures/structure-header-number.d.ts +2 -0
  243. package/declarations/addon/plugins/article-structure-plugin/structures/structure-header-title.d.ts +2 -0
  244. package/declarations/addon/plugins/article-structure-plugin/structures/structure-header.d.ts +17 -0
  245. package/declarations/addon/plugins/article-structure-plugin/utils/structure.d.ts +42 -0
  246. package/declarations/addon/plugins/confidentiality-plugin/marks/redacted.d.ts +2 -0
  247. package/declarations/addon/plugins/snippet-plugin/commands/index.d.ts +1 -0
  248. package/declarations/addon/plugins/snippet-plugin/commands/update-snippet-ids.d.ts +8 -0
  249. package/{plugins → declarations/addon/plugins}/snippet-plugin/index.d.ts +2 -0
  250. package/declarations/addon/plugins/snippet-plugin/utils/rdfa-predicate.d.ts +5 -0
  251. package/{plugins → declarations/addon/plugins}/table-of-contents-plugin/nodes/table-of-contents.d.ts +1 -1
  252. package/{plugins → declarations/addon/plugins}/template-comments-plugin/node.d.ts +1 -1
  253. package/{plugins → declarations/addon/plugins}/variable-plugin/utils/attribute-parsers.d.ts +3 -0
  254. package/{plugins → declarations/addon/plugins}/variable-plugin/variables/address.d.ts +1 -1
  255. package/{plugins → declarations/addon/plugins}/variable-plugin/variables/codelist.d.ts +1 -1
  256. package/{plugins → declarations/addon/plugins}/variable-plugin/variables/date.d.ts +1 -1
  257. package/{plugins → declarations/addon/plugins}/variable-plugin/variables/location.d.ts +1 -1
  258. package/{plugins → declarations/addon/plugins}/variable-plugin/variables/number.d.ts +1 -1
  259. package/{plugins → declarations/addon/plugins}/variable-plugin/variables/text.d.ts +1 -1
  260. package/declarations/addon/serializers/application.d.ts +3 -0
  261. package/{services → declarations/addon/services}/import-rdfa-snippet.d.ts +2 -0
  262. package/{utils → declarations/addon/utils}/_private/find-insertion-range.d.ts +7 -4
  263. package/declarations/addon/utils/dom-utils.d.ts +2 -0
  264. package/declarations/addon/utils/namespace.d.ts +21 -0
  265. package/package.json +54 -19
  266. package/pnpm-lock.yaml +17788 -0
  267. package/scripts/generate-type-declarations.sh +16 -0
  268. package/tsconfig.declarations.json +15 -0
  269. package/tsconfig.json +7 -57
  270. package/tsconfig.main.json +62 -0
  271. package/types/ember-intl.d.ts +15 -0
  272. package/types/graphy/memory.dataset.fast.d.ts +74 -0
  273. package/.woodpecker/.test.yml +0 -49
  274. package/addon/components/common/search/alert-load-error.hbs +0 -23
  275. package/addon/components/common/search/alert-no-items.hbs +0 -9
  276. package/addon/components/confidentiality-plugin/redact.hbs +0 -6
  277. package/addon/components/pagination/pagination-view.hbs +0 -39
  278. package/components/citation-plugin/citations/legal-document-preview.d.ts +0 -10
  279. package/components/variable-plugin/location/nodeview.d.ts +0 -12
  280. package/components/variable-plugin/variable/nodeview.d.ts +0 -11
  281. package/plugins/article-structure-plugin/commands/recalculate-structure-numbers.d.ts +0 -3
  282. package/plugins/article-structure-plugin/commands/set-structure-start-number.d.ts +0 -4
  283. package/plugins/article-structure-plugin/structures/article.d.ts +0 -6
  284. package/plugins/article-structure-plugin/structures/structure-header.d.ts +0 -2
  285. package/plugins/article-structure-plugin/utils/structure.d.ts +0 -36
  286. package/plugins/confidentiality-plugin/marks/redacted.d.ts +0 -2
  287. package/utils/namespace.d.ts +0 -12
  288. package/{components → declarations/addon/components}/hover-tooltip.d.ts +0 -0
  289. package/{components → declarations/addon/components}/roadsign-regulation-plugin/measure-template.d.ts +0 -0
  290. package/{components → declarations/addon/components}/roadsign-regulation-plugin/roadsigns-modal.d.ts +0 -0
  291. package/{components → declarations/addon/components}/snippet-plugin/search-modal.d.ts +0 -0
  292. package/{components → declarations/addon/components}/snippet-plugin/snippet-list/snippet-list-modal.d.ts +0 -0
  293. package/{components → declarations/addon/components}/snippet-plugin/snippet-list/snippet-list-view.d.ts +0 -0
  294. package/{components → declarations/addon/components}/snippet-plugin/snippets/snippet-preview.d.ts +0 -0
  295. package/{components → declarations/addon/components}/standard-template-plugin/template-provider.d.ts +0 -0
  296. package/{components → declarations/addon/components}/table-of-contents-plugin/ember-nodes/table-of-contents.d.ts +0 -0
  297. package/{components → declarations/addon/components}/table-of-contents-plugin/toolbar-button.d.ts +0 -0
  298. package/{components → declarations/addon/components}/validation-plugin/validation-card.d.ts +0 -0
  299. package/{components → declarations/addon/components}/variable-plugin/address/insert-variable.d.ts +0 -0
  300. package/{components → declarations/addon/components}/variable-plugin/address/utils.d.ts +0 -0
  301. package/{components → declarations/addon/components}/variable-plugin/codelist/edit.d.ts +0 -0
  302. package/{components → declarations/addon/components}/variable-plugin/codelist/insert.d.ts +0 -0
  303. package/{components → declarations/addon/components}/variable-plugin/date/date-time-picker.d.ts +0 -0
  304. package/{components → declarations/addon/components}/variable-plugin/date/help-modal.d.ts +0 -0
  305. package/{components → declarations/addon/components}/variable-plugin/date/insert-variable.d.ts +0 -0
  306. package/{components → declarations/addon/components}/variable-plugin/location/insert.d.ts +0 -0
  307. package/{components → declarations/addon/components}/variable-plugin/number/insert.d.ts +0 -0
  308. package/{components → declarations/addon/components}/worship-plugin/administrative-unit-picker.d.ts +0 -0
  309. package/{components → declarations/addon/components}/worship-plugin/search-modal.d.ts +0 -0
  310. package/{helpers → declarations/addon/helpers}/capitalize.d.ts +0 -0
  311. package/{helpers → declarations/addon/helpers}/in-array.d.ts +0 -0
  312. package/{helpers → declarations/addon/helpers}/limit-text.d.ts +0 -0
  313. package/{helpers → declarations/addon/helpers}/pagination.d.ts +0 -0
  314. package/{models → declarations/addon/models}/instruction.d.ts +0 -0
  315. package/{models → declarations/addon/models}/measure.d.ts +0 -0
  316. package/{models → declarations/addon/models}/sign.d.ts +0 -0
  317. package/{models → declarations/addon/models}/template.d.ts +0 -0
  318. package/{plugins → declarations/addon/plugins}/article-structure-plugin/commands/index.d.ts +0 -0
  319. package/{plugins → declarations/addon/plugins}/article-structure-plugin/commands/insert-structure.d.ts +0 -0
  320. package/{plugins → declarations/addon/plugins}/article-structure-plugin/commands/move-selected-structure.d.ts +0 -0
  321. package/{plugins → declarations/addon/plugins}/article-structure-plugin/commands/remove-structure.d.ts +0 -0
  322. package/{plugins → declarations/addon/plugins}/article-structure-plugin/commands/unwrap-structure.d.ts +0 -0
  323. package/{plugins → declarations/addon/plugins}/article-structure-plugin/commands/wrap-structure-content.d.ts +1 -1
  324. /package/{plugins → declarations/addon/plugins}/article-structure-plugin/structures/chapter.d.ts +0 -0
  325. /package/{plugins → declarations/addon/plugins}/article-structure-plugin/structures/section.d.ts +0 -0
  326. /package/{plugins → declarations/addon/plugins}/article-structure-plugin/structures/subsection.d.ts +0 -0
  327. /package/{plugins → declarations/addon/plugins}/article-structure-plugin/structures/title.d.ts +0 -0
  328. /package/{plugins → declarations/addon/plugins}/article-structure-plugin/utils/romanize.d.ts +0 -0
  329. /package/{plugins → declarations/addon/plugins}/besluit-type-plugin/index.d.ts +0 -0
  330. /package/{plugins → declarations/addon/plugins}/besluit-type-plugin/utils/fetchBesluitTypes.d.ts +0 -0
  331. /package/{plugins → declarations/addon/plugins}/citation-plugin/index.d.ts +0 -0
  332. /package/{plugins → declarations/addon/plugins}/citation-plugin/utils/article.d.ts +0 -0
  333. /package/{plugins → declarations/addon/plugins}/citation-plugin/utils/cache.d.ts +0 -0
  334. /package/{plugins → declarations/addon/plugins}/citation-plugin/utils/cited-text.d.ts +0 -0
  335. /package/{plugins → declarations/addon/plugins}/citation-plugin/utils/legal-documents.d.ts +0 -0
  336. /package/{plugins → declarations/addon/plugins}/citation-plugin/utils/process-match.d.ts +0 -0
  337. /package/{plugins → declarations/addon/plugins}/citation-plugin/utils/public-decisions.d.ts +0 -0
  338. /package/{plugins → declarations/addon/plugins}/citation-plugin/utils/types.d.ts +0 -0
  339. /package/{plugins → declarations/addon/plugins}/citation-plugin/utils/utils.d.ts +0 -0
  340. /package/{plugins → declarations/addon/plugins}/citation-plugin/utils/vlaamse-codex.d.ts +0 -0
  341. /package/{plugins → declarations/addon/plugins}/confidentiality-plugin/index.d.ts +0 -0
  342. /package/{plugins → declarations/addon/plugins}/decision-plugin/commands/index.d.ts +0 -0
  343. /package/{plugins → declarations/addon/plugins}/decision-plugin/commands/insert-article-container.d.ts +0 -0
  344. /package/{plugins → declarations/addon/plugins}/decision-plugin/commands/insert-description.d.ts +0 -0
  345. /package/{plugins → declarations/addon/plugins}/decision-plugin/commands/insert-motivation.d.ts +0 -0
  346. /package/{plugins → declarations/addon/plugins}/decision-plugin/commands/insert-title.d.ts +0 -0
  347. /package/{plugins → declarations/addon/plugins}/decision-plugin/utils/get-title-for-decision.d.ts +0 -0
  348. /package/{plugins → declarations/addon/plugins}/decision-plugin/utils/validation-rules.d.ts +0 -0
  349. /package/{plugins → declarations/addon/plugins}/document-title-plugin/commands/insert-document-title.d.ts +0 -0
  350. /package/{plugins → declarations/addon/plugins}/document-title-plugin/nodes/document-title.d.ts +0 -0
  351. /package/{plugins → declarations/addon/plugins}/document-title-plugin/nodes/index.d.ts +0 -0
  352. /package/{plugins → declarations/addon/plugins}/generic-rdfa-variable/commands/index.d.ts +0 -0
  353. /package/{plugins → declarations/addon/plugins}/generic-rdfa-variable/commands/insert-generic-rdfa.d.ts +0 -0
  354. /package/{plugins → declarations/addon/plugins}/roadsign-regulation-plugin/index.d.ts +0 -0
  355. /package/{plugins → declarations/addon/plugins}/roadsign-regulation-plugin/nodes.d.ts +0 -0
  356. /package/{plugins → declarations/addon/plugins}/roadsign-regulation-plugin/utils/constants.d.ts +0 -0
  357. /package/{plugins → declarations/addon/plugins}/roadsign-regulation-plugin/utils/fetchData.d.ts +0 -0
  358. /package/{plugins → declarations/addon/plugins}/roadsign-regulation-plugin/utils/includeInstructions.d.ts +0 -0
  359. /package/{plugins → declarations/addon/plugins}/snippet-plugin/utils/fetch-data.d.ts +0 -0
  360. /package/{plugins → declarations/addon/plugins}/standard-template-plugin/index.d.ts +0 -0
  361. /package/{plugins → declarations/addon/plugins}/standard-template-plugin/utils/instantiate-uuids.d.ts +0 -0
  362. /package/{plugins → declarations/addon/plugins}/standard-template-plugin/utils/nodes.d.ts +0 -0
  363. /package/{plugins → declarations/addon/plugins}/table-of-contents-plugin/index.d.ts +0 -0
  364. /package/{plugins → declarations/addon/plugins}/table-of-contents-plugin/nodes/index.d.ts +0 -0
  365. /package/{plugins → declarations/addon/plugins}/table-of-contents-plugin/utils/index.d.ts +0 -0
  366. /package/{plugins → declarations/addon/plugins}/template-comments-plugin/index.d.ts +0 -0
  367. /package/{plugins → declarations/addon/plugins}/validation/index.d.ts +0 -0
  368. /package/{plugins → declarations/addon/plugins}/validation/utils/transaction-complies-with-shapes.d.ts +0 -0
  369. /package/{plugins → declarations/addon/plugins}/variable-plugin/utils/address-helpers.d.ts +0 -0
  370. /package/{plugins → declarations/addon/plugins}/variable-plugin/utils/codelist-utils.d.ts +0 -0
  371. /package/{plugins → declarations/addon/plugins}/variable-plugin/utils/constants.d.ts +0 -0
  372. /package/{plugins → declarations/addon/plugins}/variable-plugin/utils/date-helpers.d.ts +0 -0
  373. /package/{plugins → declarations/addon/plugins}/variable-plugin/utils/dom-constructors.d.ts +0 -0
  374. /package/{plugins → declarations/addon/plugins}/variable-plugin/utils/fetch-data.d.ts +0 -0
  375. /package/{plugins → declarations/addon/plugins}/variable-plugin/utils/number-to-words.d.ts +0 -0
  376. /package/{plugins → declarations/addon/plugins}/variable-plugin/variables/index.d.ts +0 -0
  377. /package/{plugins → declarations/addon/plugins}/worship-plugin/index.d.ts +0 -0
  378. /package/{plugins → declarations/addon/plugins}/worship-plugin/utils/fetchAdministrativeUnits.d.ts +0 -0
  379. /package/{plugins → declarations/addon/plugins}/worship-plugin/utils/fetchWorshipServices.d.ts +0 -0
  380. /package/{plugins → declarations/addon/plugins}/worship-plugin/utils/insertWorshipService.d.ts +0 -0
  381. /package/{services → declarations/addon/services}/roadsign-registry.d.ts +0 -0
  382. /package/{utils → declarations/addon/utils}/changed-descendants.d.ts +0 -0
  383. /package/{utils → declarations/addon/utils}/constants.d.ts +0 -0
  384. /package/{utils → declarations/addon/utils}/dom-output-spec-helpers.d.ts +0 -0
  385. /package/{utils → declarations/addon/utils}/find-insertion-contentmatch.d.ts +0 -0
  386. /package/{utils → declarations/addon/utils}/find-insertion-pos-in-ancestor-of-type.d.ts +0 -0
  387. /package/{utils → declarations/addon/utils}/memoize.d.ts +0 -0
  388. /package/{utils → declarations/addon/utils}/option.d.ts +0 -0
  389. /package/{utils → declarations/addon/utils}/sparql-helpers.d.ts +0 -0
  390. /package/{utils → declarations/addon/utils}/strings.d.ts +0 -0
  391. /package/{utils → declarations/addon/utils}/translation.d.ts +0 -0
  392. /package/{utils → declarations/addon/utils}/types.d.ts +0 -0
@@ -1,3 +1,4 @@
1
+ {{! @glint-nocheck: not typesafe yet }}
1
2
  <div>
2
3
  {{#if this.showCard}}
3
4
  <AuCard @shadow={{true}} @size="flush" as |c|>
@@ -14,17 +15,19 @@
14
15
  >
15
16
 
16
17
  <AuFormRow @alignment="inline">
17
- <AuControlCheckbox
18
- @label={{t 'date-plugin.card.include-time'}}
18
+ <AuCheckbox
19
+ @name="include-time"
19
20
  @disabled={{eq this.dateFormatType "custom"}}
20
21
  @checked={{not this.onlyDate}}
21
22
  @onChange={{this.changeIncludeTime}}
22
- />
23
+ >
24
+ {{t 'date-plugin.card.include-time'}}
25
+ </AuCheckbox>
23
26
  {{#if this.isCustom}}
24
27
  <this.Velcro @placement="top" @offsetOptions={{hash mainAxis=10}} as |velcro|>
25
28
  <AuBadge
26
29
  @size="small"
27
- @icon="info-circle"
30
+ @icon={{this.InfoCircleIcon}}
28
31
  aria-describedby="date-plugin-time-info-tooltip"
29
32
  {{velcro.hook}}
30
33
  {{on "mouseenter" this.showTooltip }}
@@ -44,33 +47,26 @@
44
47
  {{/if}}
45
48
  </AuFormRow>
46
49
  </VariablePlugin::Date::DateTimePicker>
47
- {{#each this.formats as |format|}}
48
- <AuFormRow>
49
- <AuControlRadio
50
- @label={{if format.label format.label (if this.onlyDate format.dateFormat format.dateTimeFormat)}}
51
- @identifier={{format.key}}
52
- @name="dateFormat"
53
- @value={{format.key}}
54
- checked={{eq this.dateFormatType format.key}}
55
- @onChange={{this.setDateFormatFromKey}}
56
- />
57
- </AuFormRow>
58
- {{/each}}
59
- {{#if this.isCustomAllowed}}
60
- <AuFormRow>
61
- <AuControlRadio
62
- @label={{t "date-plugin.card.custom-date" }}
63
- @identifier="custom"
64
- @name="dateFormat"
65
- @value="custom"
66
- checked={{eq this.dateFormatType "custom"}}
67
- @onChange={{this.setDateFormatFromKey}}
68
- />
69
- </AuFormRow>
70
- {{/if}}
50
+ <AuRadioGroup
51
+ @name="dateFormat"
52
+ @selected={{this.dateFormatType}}
53
+ @onChange={{this.setDateFormatFromKey}}
54
+ as |Group|
55
+ >
56
+ {{#each this.formats as |format|}}
57
+ <Group.Radio @value={{format.key}}>
58
+ {{if format.label format.label (if this.onlyDate format.dateFormat format.dateTimeFormat)}}
59
+ </Group.Radio>
60
+ {{/each}}
61
+ {{#if this.isCustomAllowed}}
62
+ <Group.Radio @value="custom">
63
+ {{t "date-plugin.card.custom-date" }}
64
+ </Group.Radio>
65
+ {{/if}}
66
+ </AuRadioGroup>
71
67
  {{#if (eq this.dateFormatType "custom")}}
72
68
  <AuFormRow @alignment="post">
73
- <AuButton @skin="secondary" @icon="info-circle"
69
+ <AuButton @skin="secondary" @icon={{this.InfoCircleIcon}}
74
70
  {{on 'click' this.toggleHelpModal}}>
75
71
  </AuButton>
76
72
  <AuNativeInput
@@ -80,7 +76,7 @@
80
76
  />
81
77
  </AuFormRow>
82
78
  {{#if this.humanError}}
83
- <AuPill @skin="error" @icon="cross">{{this.humanError}}</AuPill>
79
+ <AuPill @skin="error" @icon={{this.CrossIcon}}>{{this.humanError}}</AuPill>
84
80
  {{/if}}
85
81
  {{/if}}
86
82
  </div>
@@ -88,4 +84,4 @@
88
84
  </AuCard>
89
85
  {{/if}}
90
86
  </div>
91
- <VariablePlugin::Date::HelpModal @modalOpen={{this.helpModalOpen}} @closeModal={{this.toggleHelpModal}} />
87
+ <VariablePlugin::Date::HelpModal @modalOpen={{this.helpModalOpen}} @closeModal={{this.toggleHelpModal}} />
@@ -1,8 +1,13 @@
1
1
  import Component from '@glimmer/component';
2
2
  import { tracked } from '@glimmer/tracking';
3
3
  import { action } from '@ember/object';
4
- import { SayController } from '@lblod/ember-rdfa-editor';
4
+ import {
5
+ SayController,
6
+ Selection,
7
+ Transaction,
8
+ } from '@lblod/ember-rdfa-editor';
5
9
  import { NodeSelection, PNode } from '@lblod/ember-rdfa-editor';
10
+ import { sayDataFactory } from '@lblod/ember-rdfa-editor/core/say-data-factory';
6
11
  import { service } from '@ember/service';
7
12
  import IntlService from 'ember-intl/services/intl';
8
13
  import {
@@ -23,6 +28,14 @@ import {
23
28
  validateDateFormat,
24
29
  } from '@lblod/ember-rdfa-editor-lblod-plugins/plugins/variable-plugin/utils/date-helpers';
25
30
  import { Velcro } from 'ember-velcro';
31
+ import {
32
+ EXT,
33
+ XSD,
34
+ } from '@lblod/ember-rdfa-editor-lblod-plugins/utils/constants';
35
+ import { OutgoingTriple } from '@lblod/ember-rdfa-editor/core/rdfa-processor';
36
+ import { getOutgoingTriple } from '@lblod/ember-rdfa-editor-lblod-plugins/utils/namespace';
37
+ import { InfoCircleIcon } from '@appuniversum/ember-appuniversum/components/icons/info-circle';
38
+ import { CrossIcon } from '@appuniversum/ember-appuniversum/components/icons/cross';
26
39
 
27
40
  type Args = {
28
41
  controller: SayController;
@@ -30,6 +43,8 @@ type Args = {
30
43
  };
31
44
  const SECONDS_REGEX = new RegExp('[sStT]|p{2,}');
32
45
  export default class DateEditComponent extends Component<Args> {
46
+ CrossIcon = CrossIcon;
47
+ InfoCircleIcon = InfoCircleIcon;
33
48
  Velcro = Velcro;
34
49
 
35
50
  @service
@@ -47,7 +62,7 @@ export default class DateEditComponent extends Component<Args> {
47
62
  return this.args.controller;
48
63
  }
49
64
 
50
- get selection() {
65
+ get selection(): Selection {
51
66
  return this.controller.activeEditorState.selection;
52
67
  }
53
68
 
@@ -63,11 +78,16 @@ export default class DateEditComponent extends Component<Args> {
63
78
  }
64
79
 
65
80
  get documentDate(): Option<Date> {
66
- const dateVal = this.selectedDateNode?.attrs.value as Option<string>;
67
- if (dateVal) {
68
- return new Date(dateVal);
81
+ if (this.selectedDateNode) {
82
+ const dateVal = getOutgoingTriple(
83
+ this.selectedDateNode.attrs,
84
+ EXT('content'),
85
+ )?.object.value as Option<string>;
86
+ if (dateVal) {
87
+ return new Date(dateVal);
88
+ }
69
89
  }
70
- return null;
90
+ return;
71
91
  }
72
92
 
73
93
  get documentDatePos(): Option<number> {
@@ -184,8 +204,27 @@ export default class DateEditComponent extends Component<Args> {
184
204
  changeDate(date: Date) {
185
205
  const pos = this.documentDatePos;
186
206
  if (pos) {
187
- this.controller.withTransaction((tr) => {
188
- return tr.setNodeAttribute(pos, 'value', date.toISOString());
207
+ this.controller.withTransaction((tr: Transaction) => {
208
+ const node = tr.doc.nodeAt(pos);
209
+ if (!node) {
210
+ return tr;
211
+ }
212
+ const properties = node.attrs.properties as OutgoingTriple[];
213
+ const newProperties = properties.filter((prop) => {
214
+ return !(
215
+ prop.object.termType === 'Literal' &&
216
+ EXT('content').matches(prop.predicate)
217
+ );
218
+ });
219
+ const datatype = this.onlyDate ? XSD('date') : XSD('dateTime');
220
+ newProperties.push({
221
+ predicate: EXT('content').full,
222
+ object: sayDataFactory.literal(
223
+ date.toISOString(),
224
+ datatype.namedNode,
225
+ ),
226
+ });
227
+ return tr.setNodeAttribute(pos, 'properties', newProperties);
189
228
  });
190
229
  }
191
230
  }
@@ -1,3 +1,4 @@
1
+ {{! @glint-nocheck: not typesafe yet }}
1
2
  <AuModal
2
3
  @title={{t 'date-plugin.help.title'}}
3
4
  @closeModal={{@closeModal}}
@@ -1,3 +1,4 @@
1
+ {{! @glint-nocheck: not typesafe yet }}
1
2
  <AuFormRow>
2
3
  <VariablePlugin::Utils::LabelInput
3
4
  @label={{this.label}}
@@ -5,6 +5,14 @@ import { service } from '@ember/service';
5
5
  import { SayController } from '@lblod/ember-rdfa-editor';
6
6
  import { v4 as uuidv4 } from 'uuid';
7
7
  import IntlService from 'ember-intl/services/intl';
8
+ import { sayDataFactory } from '@lblod/ember-rdfa-editor/core/say-data-factory';
9
+ import {
10
+ DCT,
11
+ EXT,
12
+ RDF,
13
+ XSD,
14
+ } from '@lblod/ember-rdfa-editor-lblod-plugins/utils/constants';
15
+ import { replaceSelectionWithAndSelectNode } from '@lblod/ember-rdfa-editor-lblod-plugins/commands';
8
16
 
9
17
  type Args = {
10
18
  controller: SayController;
@@ -34,24 +42,42 @@ export default class DateInsertVariableComponent extends Component<Args> {
34
42
  @action
35
43
  insert() {
36
44
  const mappingResource = `http://data.lblod.info/mappings/${uuidv4()}`;
45
+ const variableInstance = `http://data.lblod.info/variables/${uuidv4()}`;
37
46
 
38
47
  const defaultLabel = this.intl.t('variable.date.label', {
39
48
  locale: this.documentLanguage,
40
49
  });
50
+ const label = this.label ?? defaultLabel;
51
+ const variableId = uuidv4();
41
52
 
42
53
  const node = this.schema.nodes.date.create({
43
- label: this.label ?? defaultLabel,
44
- value: null,
45
- mappingResource,
54
+ rdfaNodeType: 'resource',
55
+ subject: mappingResource,
56
+ __rdfaId: variableId,
57
+ properties: [
58
+ {
59
+ predicate: RDF('type').full,
60
+ object: sayDataFactory.namedNode(EXT('Mapping').full),
61
+ },
62
+ {
63
+ predicate: EXT('instance').full,
64
+ object: sayDataFactory.namedNode(variableInstance),
65
+ },
66
+ {
67
+ predicate: EXT('label').full,
68
+ object: sayDataFactory.literal(label),
69
+ },
70
+ {
71
+ predicate: DCT('type').full,
72
+ object: sayDataFactory.literal('date', XSD('date').namedNode),
73
+ },
74
+ ],
75
+ backlinks: [],
46
76
  });
47
77
 
48
78
  this.label = undefined;
49
-
50
- this.controller.withTransaction(
51
- (tr) => {
52
- return tr.replaceSelectionWith(node);
53
- },
54
- { view: this.controller.mainEditorView },
55
- );
79
+ this.controller.doCommand(replaceSelectionWithAndSelectNode(node), {
80
+ view: this.controller.mainEditorView,
81
+ });
56
82
  }
57
83
  }
@@ -1,6 +1,7 @@
1
+ {{! @glint-nocheck: not typesafe yet }}
1
2
  <li class="au-c-list__item">
2
3
  <AuButton
3
- @icon="add"
4
+ @icon={{this.AddIcon}}
4
5
  @iconAlignment="left"
5
6
  @skin="link"
6
7
  {{on 'click' this.insert}}>
@@ -4,12 +4,22 @@ import { service } from '@ember/service';
4
4
  import { SayController } from '@lblod/ember-rdfa-editor';
5
5
  import IntlService from 'ember-intl/services/intl';
6
6
  import { v4 as uuidv4 } from 'uuid';
7
+ import { sayDataFactory } from '@lblod/ember-rdfa-editor/core/say-data-factory';
8
+ import {
9
+ DCT,
10
+ EXT,
11
+ RDF,
12
+ } from '@lblod/ember-rdfa-editor-lblod-plugins/utils/constants';
13
+ import { replaceSelectionWithAndSelectNode } from '@lblod/ember-rdfa-editor-lblod-plugins/commands';
14
+ import { AddIcon } from '@appuniversum/ember-appuniversum/components/icons/add';
7
15
 
8
16
  type Args = {
9
17
  controller: SayController;
10
18
  };
11
19
 
12
20
  export default class DateInsertComponent extends Component<Args> {
21
+ AddIcon = AddIcon;
22
+
13
23
  @service declare intl: IntlService;
14
24
 
15
25
  get controller() {
@@ -28,21 +38,39 @@ export default class DateInsertComponent extends Component<Args> {
28
38
  insert() {
29
39
  const mappingResource = `http://data.lblod.info/mappings/${uuidv4()}`;
30
40
 
41
+ const variableInstance = `http://data.lblod.info/variables/${uuidv4()}`;
31
42
  const defaultLabel = this.intl.t('variable.date.label', {
32
43
  locale: this.documentLanguage,
33
44
  });
45
+ const label = defaultLabel;
34
46
 
47
+ const variableId = uuidv4();
35
48
  const node = this.schema.nodes.date.create({
36
- label: defaultLabel,
37
- value: null,
38
- mappingResource,
49
+ rdfaNodeType: 'resource',
50
+ subject: mappingResource,
51
+ __rdfaId: variableId,
52
+ properties: [
53
+ {
54
+ predicate: RDF('type').full,
55
+ object: sayDataFactory.namedNode(EXT('Mapping').full),
56
+ },
57
+ {
58
+ predicate: EXT('instance').full,
59
+ object: sayDataFactory.namedNode(variableInstance),
60
+ },
61
+ {
62
+ predicate: EXT('label').full,
63
+ object: sayDataFactory.literal(label),
64
+ },
65
+ {
66
+ predicate: DCT('type').full,
67
+ object: sayDataFactory.literal('date'),
68
+ },
69
+ ],
70
+ backlinks: [],
71
+ });
72
+ this.controller.doCommand(replaceSelectionWithAndSelectNode(node), {
73
+ view: this.controller.mainEditorView,
39
74
  });
40
-
41
- this.controller.withTransaction(
42
- (tr) => {
43
- return tr.replaceSelectionWith(node);
44
- },
45
- { view: this.controller.mainEditorView },
46
- );
47
75
  }
48
76
  }
@@ -1,9 +1,10 @@
1
- <AuPill @icon="pencil" @iconAlignment="right" class="variable atomic" {{on 'click' this.onClick}}>
1
+ {{! @glint-nocheck: not typesafe yet }}
2
+ <AuPill @icon={{this.PencilIcon}} @iconAlignment="right" class="variable atomic" {{on 'click' this.onClick}}>
2
3
 
3
4
  {{this.humanReadableDate}}
4
- {{#if @node.attrs.label}}
5
+ {{#if this.label}}
5
6
  <span class="label">
6
- ({{@node.attrs.label}})
7
+ ({{this.label}})
7
8
  </span>
8
9
  {{/if}}
9
10
  </AuPill>
@@ -13,6 +13,9 @@ import {
13
13
  formatDate,
14
14
  validateDateFormat,
15
15
  } from '@lblod/ember-rdfa-editor-lblod-plugins/plugins/variable-plugin/utils/date-helpers';
16
+ import { getOutgoingTriple } from '@lblod/ember-rdfa-editor-lblod-plugins/utils/namespace';
17
+ import { EXT } from '@lblod/ember-rdfa-editor-lblod-plugins/utils/constants';
18
+ import { PencilIcon } from '@appuniversum/ember-appuniversum/components/icons/pencil';
16
19
 
17
20
  type Args = {
18
21
  getPos: () => number | undefined;
@@ -25,6 +28,8 @@ type Args = {
25
28
  };
26
29
 
27
30
  export default class DateNodeviewComponent extends Component<Args> {
31
+ PencilIcon = PencilIcon;
32
+
28
33
  @service declare intl: IntlService;
29
34
 
30
35
  get controller() {
@@ -48,7 +53,8 @@ export default class DateNodeviewComponent extends Component<Args> {
48
53
  }
49
54
 
50
55
  get humanReadableDate() {
51
- const value = this.args.node.attrs.value as string;
56
+ const value = getOutgoingTriple(this.args.node.attrs, EXT('content'))
57
+ ?.object.value;
52
58
  const format = this.args.node.attrs.format as string;
53
59
  if (value) {
54
60
  if (validateDateFormat(format).type === 'ok') {
@@ -66,4 +72,8 @@ export default class DateNodeviewComponent extends Component<Args> {
66
72
  });
67
73
  }
68
74
  }
75
+
76
+ get label() {
77
+ return getOutgoingTriple(this.args.node.attrs, EXT('label'))?.object.value;
78
+ }
69
79
  }
@@ -1,3 +1,4 @@
1
+ {{! @glint-nocheck: not typesafe yet }}
1
2
  {{#if this.showCard}}
2
3
  <AuCard
3
4
  @flex={{true}}
@@ -1,14 +1,22 @@
1
1
  import Component from '@glimmer/component';
2
2
  import { tracked } from '@glimmer/tracking';
3
3
  import { action } from '@ember/object';
4
+ import { type ComponentLike } from '@glint/template';
4
5
  import { NodeSelection, SayController } from '@lblod/ember-rdfa-editor';
5
6
  import { hasGroups } from '@lblod/ember-rdfa-editor/utils/node-utils';
6
7
  import { service } from '@ember/service';
7
8
  import IntlService from 'ember-intl/services/intl';
8
9
 
10
+ type VariableComponentArgs = {
11
+ Args: {
12
+ Named: {
13
+ controller: SayController;
14
+ };
15
+ };
16
+ };
9
17
  export type VariableConfig = {
10
18
  label: string;
11
- component: typeof Component;
19
+ component: ComponentLike<VariableComponentArgs>;
12
20
  options?: unknown;
13
21
  };
14
22
 
@@ -1,3 +1,4 @@
1
+ {{! @glint-nocheck: not typesafe yet }}
1
2
  {{#if this.showCard}}
2
3
  <AuCard @flex={{true}} @divided={{true}} @isOpenInitially={{true}} @expandable={{true}} @shadow={{true}} @size="small" as |c|>
3
4
  <c.header>
@@ -98,7 +98,7 @@ export default class LocationEditComponent extends Component<Args> {
98
98
  );
99
99
  result.options = result.options.map((option) => ({
100
100
  label: option.label,
101
- value: this.wrapInLocation(unwrap(option.value)),
101
+ value: unwrap(option.value),
102
102
  }));
103
103
  return result;
104
104
  });
@@ -111,12 +111,4 @@ export default class LocationEditComponent extends Component<Args> {
111
111
  updateLocationOption(locationOption: CodeListOption | CodeListOption[]) {
112
112
  this.selectedLocationOption = locationOption;
113
113
  }
114
-
115
- wrapInLocation(value: string) {
116
- return `
117
- <span property="https://data.vlaanderen.be/ns/mobiliteit#plaatsbepaling">
118
- ${value}
119
- </span>
120
- `;
121
- }
122
114
  }
@@ -1,3 +1,4 @@
1
+ {{! @glint-nocheck: not typesafe yet }}
1
2
  <AuFormRow>
2
3
  <VariablePlugin::Utils::LabelInput
3
4
  @value={{this.label}}
@@ -5,6 +5,7 @@ import { SayController } from '@lblod/ember-rdfa-editor';
5
5
  import { service } from '@ember/service';
6
6
  import IntlService from 'ember-intl/services/intl';
7
7
  import { v4 as uuidv4 } from 'uuid';
8
+ import { replaceSelectionWithAndSelectNode } from '@lblod/ember-rdfa-editor-lblod-plugins/commands';
8
9
 
9
10
  export type LocationInsertOptions = {
10
11
  endpoint: string;
@@ -63,12 +64,8 @@ export default class LocationInsertComponent extends Component<Args> {
63
64
  );
64
65
 
65
66
  this.label = undefined;
66
-
67
- this.controller.withTransaction(
68
- (tr) => {
69
- return tr.replaceSelectionWith(node);
70
- },
71
- { view: this.controller.mainEditorView },
72
- );
67
+ this.controller.doCommand(replaceSelectionWithAndSelectNode(node), {
68
+ view: this.controller.mainEditorView,
69
+ });
73
70
  }
74
71
  }
@@ -1,8 +1,19 @@
1
- <VariablePlugin::Variable::Nodeview
2
- @controller={{@controller}}
3
- @node={{@node}}
4
- @view={{@view}}
5
- @getPos={{@getPos}}
6
- @selected={{@selected}}
7
- @nodeViews={{this.nodeViews}}
8
- />
1
+ {{! @glint-nocheck: not typesafe yet }}
2
+ <AuPill @icon={{this.PencilIcon}} @iconAlignment="right" class="variable" {{on 'click' this.onClick}}>
3
+ <EmberNode::EmbeddedEditor
4
+ @controller={{@controller}}
5
+ @node={{@node}}
6
+ @view={{@view}}
7
+ @getPos={{@getPos}}
8
+ @selected={{@selected}}
9
+ @initEditor={{this.initEditor}}
10
+ @plugins={{this.plugins}}
11
+ @decorations={{@decorations}}
12
+ @contentDecorations={{@contentDecorations}}
13
+ />
14
+ {{#if this.label}}
15
+ <span class="label">
16
+ ({{this.label}})
17
+ </span>
18
+ {{/if}}
19
+ </AuPill>
@@ -1,15 +1,43 @@
1
1
  import Component from '@glimmer/component';
2
- import { SayController, SayView } from '@lblod/ember-rdfa-editor';
2
+ import { NodeSelection, ProsePlugin, SayView } from '@lblod/ember-rdfa-editor';
3
+ import { editableNodePlugin } from '@lblod/ember-rdfa-editor/plugins/editable-node';
3
4
  import { tracked } from '@glimmer/tracking';
4
- import { addressView } from '@lblod/ember-rdfa-editor-lblod-plugins/plugins/variable-plugin/variables';
5
+ import { action } from '@ember/object';
6
+ import { PencilIcon } from '@appuniversum/ember-appuniversum/components/icons/pencil';
7
+ import { EmberNodeArgs } from '@lblod/ember-rdfa-editor/utils/ember-node';
5
8
 
6
- type Args = {
7
- controller: SayController;
8
- };
9
+ export default class LocationNodeViewComponent extends Component<EmberNodeArgs> {
10
+ PencilIcon = PencilIcon;
9
11
 
10
- export default class LocationNodeViewComponent extends Component<Args> {
11
- @tracked nodeViews = {
12
- address: addressView(this.args.controller),
13
- };
14
12
  @tracked innerView?: SayView;
13
+
14
+ get plugins(): ProsePlugin[] {
15
+ return [editableNodePlugin(this.args.getPos)];
16
+ }
17
+ @action
18
+ onClick() {
19
+ if (this.innerView) {
20
+ if (this.innerView.state.doc.firstChild?.type.name === 'placeholder') {
21
+ this.innerView.focus();
22
+ // Use request animation frame to only change the selection when the focus has been established
23
+ window.requestAnimationFrame(() => {
24
+ if (this.innerView) {
25
+ const tr = this.innerView.state.tr;
26
+ tr.setSelection(NodeSelection.create(this.innerView?.state.doc, 0));
27
+ this.innerView?.dispatch(tr);
28
+ }
29
+ });
30
+ } else {
31
+ this.innerView.focus();
32
+ }
33
+ }
34
+ }
35
+ @action
36
+ initEditor(view: SayView) {
37
+ this.innerView = view;
38
+ }
39
+
40
+ get label() {
41
+ return this.args.node.attrs.label as string;
42
+ }
15
43
  }
@@ -1,4 +1,5 @@
1
1
 
2
+ {{! @glint-nocheck: not typesafe yet }}
2
3
  <AuFormRow>
3
4
  <VariablePlugin::Utils::LabelInput @label={{this.label}} @updateLabel={{this.updateLabel}}/>
4
5
  </AuFormRow>
@@ -7,6 +7,13 @@ import { isNumber } from '@lblod/ember-rdfa-editor-lblod-plugins/utils/strings';
7
7
  import { service } from '@ember/service';
8
8
  import IntlService from 'ember-intl/services/intl';
9
9
  import { modifier } from 'ember-modifier';
10
+ import { sayDataFactory } from '@lblod/ember-rdfa-editor/core/say-data-factory';
11
+ import {
12
+ DCT,
13
+ EXT,
14
+ RDF,
15
+ } from '@lblod/ember-rdfa-editor-lblod-plugins/utils/constants';
16
+ import { replaceSelectionWithAndSelectNode } from '@lblod/ember-rdfa-editor-lblod-plugins/commands';
10
17
 
11
18
  type Args = {
12
19
  controller: SayController;
@@ -85,17 +92,37 @@ export default class NumberInsertComponent extends Component<Args> {
85
92
  if (this.numberVariableError !== '') return;
86
93
 
87
94
  const mappingResource = `http://data.lblod.info/mappings/${uuidv4()}`;
95
+ const subject = mappingResource;
88
96
  const variableInstance = `http://data.lblod.info/variables/${uuidv4()}`;
89
97
 
90
98
  const defaultLabel = this.intl.t('variable.number.label', {
91
99
  locale: this.documentLanguage,
92
100
  });
101
+ const label = this.label ?? defaultLabel;
102
+ const variableId = uuidv4();
93
103
 
94
104
  const node = this.schema.nodes.number.create({
95
- label: this.label ?? defaultLabel,
96
- value: null,
97
- mappingResource,
98
- variableInstance,
105
+ subject,
106
+ rdfaNodeType: 'resource',
107
+ __rdfaId: variableId,
108
+ properties: [
109
+ {
110
+ predicate: RDF('type').full,
111
+ object: sayDataFactory.namedNode(EXT('Mapping').full),
112
+ },
113
+ {
114
+ predicate: EXT('instance').full,
115
+ object: sayDataFactory.namedNode(variableInstance),
116
+ },
117
+ {
118
+ predicate: EXT('label').full,
119
+ object: sayDataFactory.literal(label),
120
+ },
121
+ {
122
+ predicate: DCT('type').full,
123
+ object: sayDataFactory.literal('number'),
124
+ },
125
+ ],
99
126
  ...(isNumber(this.minimumValue) && {
100
127
  minimumValue: Number(this.minimumValue),
101
128
  }),
@@ -108,11 +135,8 @@ export default class NumberInsertComponent extends Component<Args> {
108
135
  this.minimumValue = '';
109
136
  this.maximumValue = '';
110
137
 
111
- this.controller.withTransaction(
112
- (tr) => {
113
- return tr.replaceSelectionWith(node);
114
- },
115
- { view: this.controller.mainEditorView },
116
- );
138
+ this.controller.doCommand(replaceSelectionWithAndSelectNode(node), {
139
+ view: this.controller.mainEditorView,
140
+ });
117
141
  }
118
142
  }