@riboseinc/paneron-registry-kit 2.0.1 → 2.0.3

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 (502) hide show
  1. package/package.json +2 -2
  2. package/{dist/views → views}/index.js +20 -1
  3. package/views/index.js.map +1 -0
  4. package/LICENSE +0 -21
  5. package/README.adoc +0 -35
  6. package/compiled/common.js +0 -2
  7. package/compiled/index.js +0 -21
  8. package/compiled/migrations/initial.js +0 -8
  9. package/compiled/types/cr.js +0 -131
  10. package/compiled/types/index.js +0 -8
  11. package/compiled/types/item.js +0 -22
  12. package/compiled/types/proposal.js +0 -21
  13. package/compiled/types/register.js +0 -25
  14. package/compiled/types/registry.js +0 -10
  15. package/compiled/types/stakeholder.js +0 -34
  16. package/compiled/types/util.js +0 -3
  17. package/compiled/types/views.js +0 -2
  18. package/compiled/views/AnnotatedChange.js +0 -57
  19. package/compiled/views/BrowserCtx.js +0 -19
  20. package/compiled/views/FilterCriteria/CRITERIA_CONFIGURATION.js +0 -110
  21. package/compiled/views/FilterCriteria/criteriaGroupToQueryExpression.js +0 -40
  22. package/compiled/views/FilterCriteria/criteriaGroupToSummary.js +0 -47
  23. package/compiled/views/FilterCriteria/criteriaToNodes.js +0 -89
  24. package/compiled/views/FilterCriteria/index.js +0 -75
  25. package/compiled/views/FilterCriteria/models.js +0 -28
  26. package/compiled/views/FilterCriteria/mutateGroup.js +0 -53
  27. package/compiled/views/GenericRelatedItemView.js +0 -147
  28. package/compiled/views/RegisterStakeholder.js +0 -19
  29. package/compiled/views/RegisterVersion.js +0 -20
  30. package/compiled/views/SearchQuery.js +0 -58
  31. package/compiled/views/change-request/ChangeRequestContext.js +0 -30
  32. package/compiled/views/change-request/Proposals.js +0 -185
  33. package/compiled/views/change-request/objectChangeset.js +0 -189
  34. package/compiled/views/detail/ChangeRequest/Proposal.js +0 -144
  35. package/compiled/views/detail/ChangeRequest/index.js +0 -140
  36. package/compiled/views/detail/ChangeRequest/transitions.js +0 -418
  37. package/compiled/views/detail/CustomView/index.js +0 -32
  38. package/compiled/views/detail/RegisterHome/index.js +0 -70
  39. package/compiled/views/detail/RegisterItem/RelatedItems.js +0 -28
  40. package/compiled/views/detail/RegisterItem/SupersedingItemMenu.js +0 -27
  41. package/compiled/views/detail/RegisterItem/index.js +0 -277
  42. package/compiled/views/detail/RegisterMeta/RegisterMetaForm.js +0 -135
  43. package/compiled/views/detail/RegisterMeta/index.js +0 -61
  44. package/compiled/views/detail/index.js +0 -11
  45. package/compiled/views/diffing/InlineDiff.js +0 -20
  46. package/compiled/views/diffing/StructuredDiff.js +0 -38
  47. package/compiled/views/hooks/useCustomView.js +0 -14
  48. package/compiled/views/hooks/useItemClassConfig.js +0 -14
  49. package/compiled/views/hooks/useItemRef.js +0 -26
  50. package/compiled/views/hooks/useSingleRegisterItemData.js +0 -21
  51. package/compiled/views/index.js +0 -142
  52. package/compiled/views/index.js.map +0 -1
  53. package/compiled/views/itemPathUtils.js +0 -115
  54. package/compiled/views/itemQueryUtils.js +0 -42
  55. package/compiled/views/protocolRegistry.js +0 -24
  56. package/compiled/views/sidebar/Browse/index.js +0 -278
  57. package/compiled/views/sidebar/Export/index.js +0 -47
  58. package/compiled/views/sidebar/ListItem.js +0 -23
  59. package/compiled/views/sidebar/Registration/index.js +0 -114
  60. package/compiled/views/sidebar/Search/index.js +0 -100
  61. package/compiled/views/sidebar/index.js +0 -73
  62. package/compiled/views/util.js +0 -63
  63. package/dependencies-local/extension-kit/SettingsContext.d.ts +0 -8
  64. package/dependencies-local/extension-kit/SettingsContext.js +0 -19
  65. package/dependencies-local/extension-kit/SettingsContext.js.map +0 -1
  66. package/dependencies-local/extension-kit/context.d.ts +0 -11
  67. package/dependencies-local/extension-kit/context.js +0 -133
  68. package/dependencies-local/extension-kit/context.js.map +0 -1
  69. package/dependencies-local/extension-kit/i18n/ContextProvider.d.ts +0 -9
  70. package/dependencies-local/extension-kit/i18n/ContextProvider.js +0 -33
  71. package/dependencies-local/extension-kit/i18n/ContextProvider.js.map +0 -1
  72. package/dependencies-local/extension-kit/i18n/context.d.ts +0 -9
  73. package/dependencies-local/extension-kit/i18n/context.js +0 -23
  74. package/dependencies-local/extension-kit/i18n/context.js.map +0 -1
  75. package/dependencies-local/extension-kit/i18n/types.d.ts +0 -10
  76. package/dependencies-local/extension-kit/i18n/types.js +0 -5
  77. package/dependencies-local/extension-kit/i18n/types.js.map +0 -1
  78. package/dependencies-local/extension-kit/i18n/widgets.d.ts +0 -16
  79. package/dependencies-local/extension-kit/i18n/widgets.js +0 -56
  80. package/dependencies-local/extension-kit/i18n/widgets.js.map +0 -1
  81. package/dependencies-local/extension-kit/index.d.ts +0 -3
  82. package/dependencies-local/extension-kit/index.js +0 -78
  83. package/dependencies-local/extension-kit/index.js.map +0 -1
  84. package/dependencies-local/extension-kit/object-specs/index.d.ts +0 -2
  85. package/dependencies-local/extension-kit/object-specs/index.js +0 -22
  86. package/dependencies-local/extension-kit/object-specs/index.js.map +0 -1
  87. package/dependencies-local/extension-kit/object-specs/paneron-object.d.ts +0 -6
  88. package/dependencies-local/extension-kit/object-specs/paneron-object.js +0 -161
  89. package/dependencies-local/extension-kit/object-specs/paneron-object.js.map +0 -1
  90. package/dependencies-local/extension-kit/object-specs/ser-des.d.ts +0 -31
  91. package/dependencies-local/extension-kit/object-specs/ser-des.js +0 -187
  92. package/dependencies-local/extension-kit/object-specs/ser-des.js.map +0 -1
  93. package/dependencies-local/extension-kit/object-specs/yaml/custom-bool.d.ts +0 -2
  94. package/dependencies-local/extension-kit/object-specs/yaml/custom-bool.js +0 -42
  95. package/dependencies-local/extension-kit/object-specs/yaml/custom-bool.js.map +0 -1
  96. package/dependencies-local/extension-kit/object-specs/yaml/custom-timestamp.d.ts +0 -3
  97. package/dependencies-local/extension-kit/object-specs/yaml/custom-timestamp.js +0 -110
  98. package/dependencies-local/extension-kit/object-specs/yaml/custom-timestamp.js.map +0 -1
  99. package/dependencies-local/extension-kit/object-specs/yaml/index.d.ts +0 -9
  100. package/dependencies-local/extension-kit/object-specs/yaml/index.js +0 -36
  101. package/dependencies-local/extension-kit/object-specs/yaml/index.js.map +0 -1
  102. package/dependencies-local/extension-kit/object-specs/yaml/schema.d.ts +0 -3
  103. package/dependencies-local/extension-kit/object-specs/yaml/schema.js +0 -26
  104. package/dependencies-local/extension-kit/object-specs/yaml/schema.js.map +0 -1
  105. package/dependencies-local/extension-kit/package.json +0 -53
  106. package/dependencies-local/extension-kit/settings.d.ts +0 -6
  107. package/dependencies-local/extension-kit/settings.js +0 -11
  108. package/dependencies-local/extension-kit/settings.js.map +0 -1
  109. package/dependencies-local/extension-kit/types/binary-invocation.d.ts +0 -31
  110. package/dependencies-local/extension-kit/types/binary-invocation.js +0 -5
  111. package/dependencies-local/extension-kit/types/binary-invocation.js.map +0 -1
  112. package/dependencies-local/extension-kit/types/buffers.d.ts +0 -17
  113. package/dependencies-local/extension-kit/types/buffers.js +0 -5
  114. package/dependencies-local/extension-kit/types/buffers.js.map +0 -1
  115. package/dependencies-local/extension-kit/types/changes.d.ts +0 -37
  116. package/dependencies-local/extension-kit/types/changes.js +0 -5
  117. package/dependencies-local/extension-kit/types/changes.js.map +0 -1
  118. package/dependencies-local/extension-kit/types/data.d.ts +0 -54
  119. package/dependencies-local/extension-kit/types/data.js +0 -5
  120. package/dependencies-local/extension-kit/types/data.js.map +0 -1
  121. package/dependencies-local/extension-kit/types/dialogs.d.ts +0 -15
  122. package/dependencies-local/extension-kit/types/dialogs.js +0 -5
  123. package/dependencies-local/extension-kit/types/dialogs.js.map +0 -1
  124. package/dependencies-local/extension-kit/types/extension-maker.d.ts +0 -17
  125. package/dependencies-local/extension-kit/types/extension-maker.js +0 -5
  126. package/dependencies-local/extension-kit/types/extension-maker.js.map +0 -1
  127. package/dependencies-local/extension-kit/types/extension.d.ts +0 -27
  128. package/dependencies-local/extension-kit/types/extension.js +0 -5
  129. package/dependencies-local/extension-kit/types/extension.js.map +0 -1
  130. package/dependencies-local/extension-kit/types/index.d.ts +0 -3
  131. package/dependencies-local/extension-kit/types/index.js +0 -41
  132. package/dependencies-local/extension-kit/types/index.js.map +0 -1
  133. package/dependencies-local/extension-kit/types/indexes.d.ts +0 -6
  134. package/dependencies-local/extension-kit/types/indexes.js +0 -15
  135. package/dependencies-local/extension-kit/types/indexes.js.map +0 -1
  136. package/dependencies-local/extension-kit/types/migrations.d.ts +0 -15
  137. package/dependencies-local/extension-kit/types/migrations.js +0 -5
  138. package/dependencies-local/extension-kit/types/migrations.js.map +0 -1
  139. package/dependencies-local/extension-kit/types/object-spec.d.ts +0 -108
  140. package/dependencies-local/extension-kit/types/object-spec.js +0 -23
  141. package/dependencies-local/extension-kit/types/object-spec.js.map +0 -1
  142. package/dependencies-local/extension-kit/types/objects.d.ts +0 -18
  143. package/dependencies-local/extension-kit/types/objects.js +0 -5
  144. package/dependencies-local/extension-kit/types/objects.js.map +0 -1
  145. package/dependencies-local/extension-kit/types/progress.d.ts +0 -5
  146. package/dependencies-local/extension-kit/types/progress.js +0 -5
  147. package/dependencies-local/extension-kit/types/progress.js.map +0 -1
  148. package/dependencies-local/extension-kit/types/renderer.d.ts +0 -495
  149. package/dependencies-local/extension-kit/types/renderer.js +0 -5
  150. package/dependencies-local/extension-kit/types/renderer.js.map +0 -1
  151. package/dependencies-local/extension-kit/useDebounce.d.ts +0 -2
  152. package/dependencies-local/extension-kit/useDebounce.js +0 -27
  153. package/dependencies-local/extension-kit/useDebounce.js.map +0 -1
  154. package/dependencies-local/extension-kit/usePersistentStateReducer.d.ts +0 -35
  155. package/dependencies-local/extension-kit/usePersistentStateReducer.js +0 -91
  156. package/dependencies-local/extension-kit/usePersistentStateReducer.js.map +0 -1
  157. package/dependencies-local/extension-kit/useTimeTravelingPersistentStateReducer.d.ts +0 -48
  158. package/dependencies-local/extension-kit/useTimeTravelingPersistentStateReducer.js +0 -116
  159. package/dependencies-local/extension-kit/useTimeTravelingPersistentStateReducer.js.map +0 -1
  160. package/dependencies-local/extension-kit/util.d.ts +0 -8
  161. package/dependencies-local/extension-kit/util.js +0 -21
  162. package/dependencies-local/extension-kit/util.js.map +0 -1
  163. package/dependencies-local/extension-kit/widgets/ErrorState.d.ts +0 -8
  164. package/dependencies-local/extension-kit/widgets/ErrorState.js +0 -44
  165. package/dependencies-local/extension-kit/widgets/ErrorState.js.map +0 -1
  166. package/dependencies-local/extension-kit/widgets/Grid.d.ts +0 -41
  167. package/dependencies-local/extension-kit/widgets/Grid.js +0 -213
  168. package/dependencies-local/extension-kit/widgets/Grid.js.map +0 -1
  169. package/dependencies-local/extension-kit/widgets/HelpTooltip.d.ts +0 -18
  170. package/dependencies-local/extension-kit/widgets/HelpTooltip.js +0 -84
  171. package/dependencies-local/extension-kit/widgets/HelpTooltip.js.map +0 -1
  172. package/dependencies-local/extension-kit/widgets/ItemCount.d.ts +0 -19
  173. package/dependencies-local/extension-kit/widgets/ItemCount.js +0 -78
  174. package/dependencies-local/extension-kit/widgets/ItemCount.js.map +0 -1
  175. package/dependencies-local/extension-kit/widgets/List.d.ts +0 -40
  176. package/dependencies-local/extension-kit/widgets/List.js +0 -191
  177. package/dependencies-local/extension-kit/widgets/List.js.map +0 -1
  178. package/dependencies-local/extension-kit/widgets/Navbar.d.ts +0 -20
  179. package/dependencies-local/extension-kit/widgets/Navbar.js +0 -75
  180. package/dependencies-local/extension-kit/widgets/Navbar.js.map +0 -1
  181. package/dependencies-local/extension-kit/widgets/SearchResultList.d.ts +0 -24
  182. package/dependencies-local/extension-kit/widgets/SearchResultList.js +0 -201
  183. package/dependencies-local/extension-kit/widgets/SearchResultList.js.map +0 -1
  184. package/dependencies-local/extension-kit/widgets/Sidebar/Block.d.ts +0 -21
  185. package/dependencies-local/extension-kit/widgets/Sidebar/Block.js +0 -94
  186. package/dependencies-local/extension-kit/widgets/Sidebar/Block.js.map +0 -1
  187. package/dependencies-local/extension-kit/widgets/Sidebar/BlockStateButtonGroup.d.ts +0 -6
  188. package/dependencies-local/extension-kit/widgets/Sidebar/BlockStateButtonGroup.js +0 -22
  189. package/dependencies-local/extension-kit/widgets/Sidebar/BlockStateButtonGroup.js.map +0 -1
  190. package/dependencies-local/extension-kit/widgets/Sidebar/PropertyView.d.ts +0 -28
  191. package/dependencies-local/extension-kit/widgets/Sidebar/PropertyView.js +0 -148
  192. package/dependencies-local/extension-kit/widgets/Sidebar/PropertyView.js.map +0 -1
  193. package/dependencies-local/extension-kit/widgets/Sidebar/index.d.ts +0 -27
  194. package/dependencies-local/extension-kit/widgets/Sidebar/index.js +0 -178
  195. package/dependencies-local/extension-kit/widgets/Sidebar/index.js.map +0 -1
  196. package/dependencies-local/extension-kit/widgets/TabbedWorkspace/SuperSidebar.d.ts +0 -13
  197. package/dependencies-local/extension-kit/widgets/TabbedWorkspace/SuperSidebar.js +0 -82
  198. package/dependencies-local/extension-kit/widgets/TabbedWorkspace/SuperSidebar.js.map +0 -1
  199. package/dependencies-local/extension-kit/widgets/TabbedWorkspace/context.d.ts +0 -10
  200. package/dependencies-local/extension-kit/widgets/TabbedWorkspace/context.js +0 -168
  201. package/dependencies-local/extension-kit/widgets/TabbedWorkspace/context.js.map +0 -1
  202. package/dependencies-local/extension-kit/widgets/TabbedWorkspace/detail.d.ts +0 -9
  203. package/dependencies-local/extension-kit/widgets/TabbedWorkspace/detail.js +0 -66
  204. package/dependencies-local/extension-kit/widgets/TabbedWorkspace/detail.js.map +0 -1
  205. package/dependencies-local/extension-kit/widgets/TabbedWorkspace/index.d.ts +0 -33
  206. package/dependencies-local/extension-kit/widgets/TabbedWorkspace/index.js +0 -204
  207. package/dependencies-local/extension-kit/widgets/TabbedWorkspace/index.js.map +0 -1
  208. package/dependencies-local/extension-kit/widgets/TabbedWorkspace/types.d.ts +0 -74
  209. package/dependencies-local/extension-kit/widgets/TabbedWorkspace/types.js +0 -5
  210. package/dependencies-local/extension-kit/widgets/TabbedWorkspace/types.js.map +0 -1
  211. package/dependencies-local/extension-kit/widgets/TabbedWorkspace/util.d.ts +0 -1
  212. package/dependencies-local/extension-kit/widgets/TabbedWorkspace/util.js +0 -14
  213. package/dependencies-local/extension-kit/widgets/TabbedWorkspace/util.js.map +0 -1
  214. package/dependencies-local/extension-kit/widgets/Workspace.d.ts +0 -38
  215. package/dependencies-local/extension-kit/widgets/Workspace.js +0 -99
  216. package/dependencies-local/extension-kit/widgets/Workspace.js.map +0 -1
  217. package/dependencies-local/extension-kit/widgets/panels/PanelSeparator.d.ts +0 -12
  218. package/dependencies-local/extension-kit/widgets/panels/PanelSeparator.js +0 -57
  219. package/dependencies-local/extension-kit/widgets/panels/PanelSeparator.js.map +0 -1
  220. package/dependencies-local/extension-kit/widgets/panels/index.d.ts +0 -28
  221. package/dependencies-local/extension-kit/widgets/panels/index.js +0 -169
  222. package/dependencies-local/extension-kit/widgets/panels/index.js.map +0 -1
  223. package/dist/common.d.ts +0 -1
  224. package/dist/common.js.map +0 -1
  225. package/dist/index.d.ts +0 -6
  226. package/dist/index.js.map +0 -1
  227. package/dist/migrations/initial.d.ts +0 -3
  228. package/dist/migrations/initial.js.map +0 -1
  229. package/dist/package.json +0 -56
  230. package/dist/types/cr.d.ts +0 -216
  231. package/dist/types/cr.js.map +0 -1
  232. package/dist/types/index.d.ts +0 -7
  233. package/dist/types/index.js.map +0 -1
  234. package/dist/types/item.d.ts +0 -59
  235. package/dist/types/item.js.map +0 -1
  236. package/dist/types/proposal.d.ts +0 -64
  237. package/dist/types/proposal.js.map +0 -1
  238. package/dist/types/register.d.ts +0 -18
  239. package/dist/types/register.js.map +0 -1
  240. package/dist/types/registry.d.ts +0 -15
  241. package/dist/types/registry.js.map +0 -1
  242. package/dist/types/stakeholder.d.ts +0 -58
  243. package/dist/types/stakeholder.js.map +0 -1
  244. package/dist/types/util.d.ts +0 -21
  245. package/dist/types/util.js.map +0 -1
  246. package/dist/types/views.d.ts +0 -157
  247. package/dist/types/views.js.map +0 -1
  248. package/dist/views/AnnotatedChange.d.ts +0 -7
  249. package/dist/views/AnnotatedChange.js.map +0 -1
  250. package/dist/views/BrowserCtx.d.ts +0 -73
  251. package/dist/views/BrowserCtx.js.map +0 -1
  252. package/dist/views/FilterCriteria/CRITERIA_CONFIGURATION.d.ts +0 -17
  253. package/dist/views/FilterCriteria/CRITERIA_CONFIGURATION.js.map +0 -1
  254. package/dist/views/FilterCriteria/criteriaGroupToQueryExpression.d.ts +0 -6
  255. package/dist/views/FilterCriteria/criteriaGroupToQueryExpression.js.map +0 -1
  256. package/dist/views/FilterCriteria/criteriaGroupToSummary.d.ts +0 -5
  257. package/dist/views/FilterCriteria/criteriaGroupToSummary.js.map +0 -1
  258. package/dist/views/FilterCriteria/criteriaToNodes.d.ts +0 -24
  259. package/dist/views/FilterCriteria/criteriaToNodes.js.map +0 -1
  260. package/dist/views/FilterCriteria/index.d.ts +0 -23
  261. package/dist/views/FilterCriteria/index.js.map +0 -1
  262. package/dist/views/FilterCriteria/models.d.ts +0 -68
  263. package/dist/views/FilterCriteria/models.js.map +0 -1
  264. package/dist/views/FilterCriteria/mutateGroup.d.ts +0 -17
  265. package/dist/views/FilterCriteria/mutateGroup.js.map +0 -1
  266. package/dist/views/GenericRelatedItemView.d.ts +0 -6
  267. package/dist/views/GenericRelatedItemView.js.map +0 -1
  268. package/dist/views/RegisterStakeholder.d.ts +0 -9
  269. package/dist/views/RegisterStakeholder.js.map +0 -1
  270. package/dist/views/RegisterVersion.d.ts +0 -9
  271. package/dist/views/RegisterVersion.js.map +0 -1
  272. package/dist/views/SearchQuery.d.ts +0 -13
  273. package/dist/views/SearchQuery.js.map +0 -1
  274. package/dist/views/change-request/ChangeRequestContext.d.ts +0 -20
  275. package/dist/views/change-request/ChangeRequestContext.js.map +0 -1
  276. package/dist/views/change-request/Proposals.d.ts +0 -21
  277. package/dist/views/change-request/Proposals.js.map +0 -1
  278. package/dist/views/change-request/objectChangeset.d.ts +0 -31
  279. package/dist/views/change-request/objectChangeset.js.map +0 -1
  280. package/dist/views/detail/ChangeRequest/Proposal.d.ts +0 -0
  281. package/dist/views/detail/ChangeRequest/Proposal.js.map +0 -1
  282. package/dist/views/detail/ChangeRequest/index.d.ts +0 -13
  283. package/dist/views/detail/ChangeRequest/index.js.map +0 -1
  284. package/dist/views/detail/ChangeRequest/transitions.d.ts +0 -28
  285. package/dist/views/detail/ChangeRequest/transitions.js.map +0 -1
  286. package/dist/views/detail/CustomView/index.d.ts +0 -13
  287. package/dist/views/detail/CustomView/index.js.map +0 -1
  288. package/dist/views/detail/RegisterHome/index.d.ts +0 -5
  289. package/dist/views/detail/RegisterHome/index.js.map +0 -1
  290. package/dist/views/detail/RegisterItem/RelatedItems.d.ts +0 -14
  291. package/dist/views/detail/RegisterItem/RelatedItems.js.map +0 -1
  292. package/dist/views/detail/RegisterItem/SupersedingItemMenu.d.ts +0 -13
  293. package/dist/views/detail/RegisterItem/SupersedingItemMenu.js.map +0 -1
  294. package/dist/views/detail/RegisterItem/index.d.ts +0 -13
  295. package/dist/views/detail/RegisterItem/index.js.map +0 -1
  296. package/dist/views/detail/RegisterMeta/RegisterMetaForm.d.ts +0 -10
  297. package/dist/views/detail/RegisterMeta/RegisterMetaForm.js.map +0 -1
  298. package/dist/views/detail/RegisterMeta/index.d.ts +0 -10
  299. package/dist/views/detail/RegisterMeta/index.js.map +0 -1
  300. package/dist/views/detail/index.d.ts +0 -1
  301. package/dist/views/detail/index.js.map +0 -1
  302. package/dist/views/diffing/InlineDiff.d.ts +0 -12
  303. package/dist/views/diffing/InlineDiff.js.map +0 -1
  304. package/dist/views/diffing/StructuredDiff.d.ts +0 -11
  305. package/dist/views/diffing/StructuredDiff.js.map +0 -1
  306. package/dist/views/hooks/useCustomView.d.ts +0 -3
  307. package/dist/views/hooks/useCustomView.js.map +0 -1
  308. package/dist/views/hooks/useItemClassConfig.d.ts +0 -3
  309. package/dist/views/hooks/useItemClassConfig.js.map +0 -1
  310. package/dist/views/hooks/useItemRef.d.ts +0 -3
  311. package/dist/views/hooks/useItemRef.js.map +0 -1
  312. package/dist/views/hooks/useSingleRegisterItemData.d.ts +0 -3
  313. package/dist/views/hooks/useSingleRegisterItemData.js.map +0 -1
  314. package/dist/views/index.d.ts +0 -7
  315. package/dist/views/index.js.map +0 -1
  316. package/dist/views/itemPathUtils.d.ts +0 -52
  317. package/dist/views/itemPathUtils.js.map +0 -1
  318. package/dist/views/itemQueryUtils.d.ts +0 -11
  319. package/dist/views/itemQueryUtils.js.map +0 -1
  320. package/dist/views/protocolRegistry.d.ts +0 -12
  321. package/dist/views/protocolRegistry.js.map +0 -1
  322. package/dist/views/sidebar/Browse/index.d.ts +0 -11
  323. package/dist/views/sidebar/Browse/index.js.map +0 -1
  324. package/dist/views/sidebar/Export/index.d.ts +0 -5
  325. package/dist/views/sidebar/Export/index.js.map +0 -1
  326. package/dist/views/sidebar/ListItem.d.ts +0 -10
  327. package/dist/views/sidebar/ListItem.js.map +0 -1
  328. package/dist/views/sidebar/Registration/index.d.ts +0 -5
  329. package/dist/views/sidebar/Registration/index.js.map +0 -1
  330. package/dist/views/sidebar/Search/index.d.ts +0 -18
  331. package/dist/views/sidebar/Search/index.js.map +0 -1
  332. package/dist/views/sidebar/index.d.ts +0 -6
  333. package/dist/views/sidebar/index.js.map +0 -1
  334. package/dist/views/util.d.ts +0 -36
  335. package/dist/views/util.js.map +0 -1
  336. package/react-visual-diff.d.ts +0 -9
  337. /package/{compiled/common.d.ts → common.d.ts} +0 -0
  338. /package/{dist/common.js → common.js} +0 -0
  339. /package/{compiled/common.js.map → common.js.map} +0 -0
  340. /package/{compiled/index.d.ts → index.d.ts} +0 -0
  341. /package/{dist/index.js → index.js} +0 -0
  342. /package/{compiled/index.js.map → index.js.map} +0 -0
  343. /package/{compiled/migrations → migrations}/initial.d.ts +0 -0
  344. /package/{dist/migrations → migrations}/initial.js +0 -0
  345. /package/{compiled/migrations → migrations}/initial.js.map +0 -0
  346. /package/{compiled/types → types}/cr.d.ts +0 -0
  347. /package/{dist/types → types}/cr.js +0 -0
  348. /package/{compiled/types → types}/cr.js.map +0 -0
  349. /package/{compiled/types → types}/index.d.ts +0 -0
  350. /package/{dist/types → types}/index.js +0 -0
  351. /package/{compiled/types → types}/index.js.map +0 -0
  352. /package/{compiled/types → types}/item.d.ts +0 -0
  353. /package/{dist/types → types}/item.js +0 -0
  354. /package/{compiled/types → types}/item.js.map +0 -0
  355. /package/{compiled/types → types}/proposal.d.ts +0 -0
  356. /package/{dist/types → types}/proposal.js +0 -0
  357. /package/{compiled/types → types}/proposal.js.map +0 -0
  358. /package/{compiled/types → types}/register.d.ts +0 -0
  359. /package/{dist/types → types}/register.js +0 -0
  360. /package/{compiled/types → types}/register.js.map +0 -0
  361. /package/{compiled/types → types}/registry.d.ts +0 -0
  362. /package/{dist/types → types}/registry.js +0 -0
  363. /package/{compiled/types → types}/registry.js.map +0 -0
  364. /package/{compiled/types → types}/stakeholder.d.ts +0 -0
  365. /package/{dist/types → types}/stakeholder.js +0 -0
  366. /package/{compiled/types → types}/stakeholder.js.map +0 -0
  367. /package/{compiled/types → types}/util.d.ts +0 -0
  368. /package/{dist/types → types}/util.js +0 -0
  369. /package/{compiled/types → types}/util.js.map +0 -0
  370. /package/{compiled/types → types}/views.d.ts +0 -0
  371. /package/{dist/types → types}/views.js +0 -0
  372. /package/{compiled/types → types}/views.js.map +0 -0
  373. /package/{compiled/views → views}/AnnotatedChange.d.ts +0 -0
  374. /package/{dist/views → views}/AnnotatedChange.js +0 -0
  375. /package/{compiled/views → views}/AnnotatedChange.js.map +0 -0
  376. /package/{compiled/views → views}/BrowserCtx.d.ts +0 -0
  377. /package/{dist/views → views}/BrowserCtx.js +0 -0
  378. /package/{compiled/views → views}/BrowserCtx.js.map +0 -0
  379. /package/{compiled/views → views}/FilterCriteria/CRITERIA_CONFIGURATION.d.ts +0 -0
  380. /package/{dist/views → views}/FilterCriteria/CRITERIA_CONFIGURATION.js +0 -0
  381. /package/{compiled/views → views}/FilterCriteria/CRITERIA_CONFIGURATION.js.map +0 -0
  382. /package/{compiled/views → views}/FilterCriteria/criteriaGroupToQueryExpression.d.ts +0 -0
  383. /package/{dist/views → views}/FilterCriteria/criteriaGroupToQueryExpression.js +0 -0
  384. /package/{compiled/views → views}/FilterCriteria/criteriaGroupToQueryExpression.js.map +0 -0
  385. /package/{compiled/views → views}/FilterCriteria/criteriaGroupToSummary.d.ts +0 -0
  386. /package/{dist/views → views}/FilterCriteria/criteriaGroupToSummary.js +0 -0
  387. /package/{compiled/views → views}/FilterCriteria/criteriaGroupToSummary.js.map +0 -0
  388. /package/{compiled/views → views}/FilterCriteria/criteriaToNodes.d.ts +0 -0
  389. /package/{dist/views → views}/FilterCriteria/criteriaToNodes.js +0 -0
  390. /package/{compiled/views → views}/FilterCriteria/criteriaToNodes.js.map +0 -0
  391. /package/{compiled/views → views}/FilterCriteria/index.d.ts +0 -0
  392. /package/{dist/views → views}/FilterCriteria/index.js +0 -0
  393. /package/{compiled/views → views}/FilterCriteria/index.js.map +0 -0
  394. /package/{compiled/views → views}/FilterCriteria/models.d.ts +0 -0
  395. /package/{dist/views → views}/FilterCriteria/models.js +0 -0
  396. /package/{compiled/views → views}/FilterCriteria/models.js.map +0 -0
  397. /package/{compiled/views → views}/FilterCriteria/mutateGroup.d.ts +0 -0
  398. /package/{dist/views → views}/FilterCriteria/mutateGroup.js +0 -0
  399. /package/{compiled/views → views}/FilterCriteria/mutateGroup.js.map +0 -0
  400. /package/{compiled/views → views}/GenericRelatedItemView.d.ts +0 -0
  401. /package/{dist/views → views}/GenericRelatedItemView.js +0 -0
  402. /package/{compiled/views → views}/GenericRelatedItemView.js.map +0 -0
  403. /package/{compiled/views → views}/RegisterStakeholder.d.ts +0 -0
  404. /package/{dist/views → views}/RegisterStakeholder.js +0 -0
  405. /package/{compiled/views → views}/RegisterStakeholder.js.map +0 -0
  406. /package/{compiled/views → views}/RegisterVersion.d.ts +0 -0
  407. /package/{dist/views → views}/RegisterVersion.js +0 -0
  408. /package/{compiled/views → views}/RegisterVersion.js.map +0 -0
  409. /package/{compiled/views → views}/SearchQuery.d.ts +0 -0
  410. /package/{dist/views → views}/SearchQuery.js +0 -0
  411. /package/{compiled/views → views}/SearchQuery.js.map +0 -0
  412. /package/{compiled/views → views}/change-request/ChangeRequestContext.d.ts +0 -0
  413. /package/{dist/views → views}/change-request/ChangeRequestContext.js +0 -0
  414. /package/{compiled/views → views}/change-request/ChangeRequestContext.js.map +0 -0
  415. /package/{compiled/views → views}/change-request/Proposals.d.ts +0 -0
  416. /package/{dist/views → views}/change-request/Proposals.js +0 -0
  417. /package/{compiled/views → views}/change-request/Proposals.js.map +0 -0
  418. /package/{compiled/views → views}/change-request/objectChangeset.d.ts +0 -0
  419. /package/{dist/views → views}/change-request/objectChangeset.js +0 -0
  420. /package/{compiled/views → views}/change-request/objectChangeset.js.map +0 -0
  421. /package/{compiled/views → views}/detail/ChangeRequest/Proposal.d.ts +0 -0
  422. /package/{dist/views → views}/detail/ChangeRequest/Proposal.js +0 -0
  423. /package/{compiled/views → views}/detail/ChangeRequest/Proposal.js.map +0 -0
  424. /package/{compiled/views → views}/detail/ChangeRequest/index.d.ts +0 -0
  425. /package/{dist/views → views}/detail/ChangeRequest/index.js +0 -0
  426. /package/{compiled/views → views}/detail/ChangeRequest/index.js.map +0 -0
  427. /package/{compiled/views → views}/detail/ChangeRequest/transitions.d.ts +0 -0
  428. /package/{dist/views → views}/detail/ChangeRequest/transitions.js +0 -0
  429. /package/{compiled/views → views}/detail/ChangeRequest/transitions.js.map +0 -0
  430. /package/{compiled/views → views}/detail/CustomView/index.d.ts +0 -0
  431. /package/{dist/views → views}/detail/CustomView/index.js +0 -0
  432. /package/{compiled/views → views}/detail/CustomView/index.js.map +0 -0
  433. /package/{compiled/views → views}/detail/RegisterHome/index.d.ts +0 -0
  434. /package/{dist/views → views}/detail/RegisterHome/index.js +0 -0
  435. /package/{compiled/views → views}/detail/RegisterHome/index.js.map +0 -0
  436. /package/{compiled/views → views}/detail/RegisterItem/RelatedItems.d.ts +0 -0
  437. /package/{dist/views → views}/detail/RegisterItem/RelatedItems.js +0 -0
  438. /package/{compiled/views → views}/detail/RegisterItem/RelatedItems.js.map +0 -0
  439. /package/{compiled/views → views}/detail/RegisterItem/SupersedingItemMenu.d.ts +0 -0
  440. /package/{dist/views → views}/detail/RegisterItem/SupersedingItemMenu.js +0 -0
  441. /package/{compiled/views → views}/detail/RegisterItem/SupersedingItemMenu.js.map +0 -0
  442. /package/{compiled/views → views}/detail/RegisterItem/index.d.ts +0 -0
  443. /package/{dist/views → views}/detail/RegisterItem/index.js +0 -0
  444. /package/{compiled/views → views}/detail/RegisterItem/index.js.map +0 -0
  445. /package/{compiled/views → views}/detail/RegisterMeta/RegisterMetaForm.d.ts +0 -0
  446. /package/{dist/views → views}/detail/RegisterMeta/RegisterMetaForm.js +0 -0
  447. /package/{compiled/views → views}/detail/RegisterMeta/RegisterMetaForm.js.map +0 -0
  448. /package/{compiled/views → views}/detail/RegisterMeta/index.d.ts +0 -0
  449. /package/{dist/views → views}/detail/RegisterMeta/index.js +0 -0
  450. /package/{compiled/views → views}/detail/RegisterMeta/index.js.map +0 -0
  451. /package/{compiled/views → views}/detail/index.d.ts +0 -0
  452. /package/{dist/views → views}/detail/index.js +0 -0
  453. /package/{compiled/views → views}/detail/index.js.map +0 -0
  454. /package/{compiled/views → views}/diffing/InlineDiff.d.ts +0 -0
  455. /package/{dist/views → views}/diffing/InlineDiff.js +0 -0
  456. /package/{compiled/views → views}/diffing/InlineDiff.js.map +0 -0
  457. /package/{compiled/views → views}/diffing/StructuredDiff.d.ts +0 -0
  458. /package/{dist/views → views}/diffing/StructuredDiff.js +0 -0
  459. /package/{compiled/views → views}/diffing/StructuredDiff.js.map +0 -0
  460. /package/{compiled/views → views}/hooks/useCustomView.d.ts +0 -0
  461. /package/{dist/views → views}/hooks/useCustomView.js +0 -0
  462. /package/{compiled/views → views}/hooks/useCustomView.js.map +0 -0
  463. /package/{compiled/views → views}/hooks/useItemClassConfig.d.ts +0 -0
  464. /package/{dist/views → views}/hooks/useItemClassConfig.js +0 -0
  465. /package/{compiled/views → views}/hooks/useItemClassConfig.js.map +0 -0
  466. /package/{compiled/views → views}/hooks/useItemRef.d.ts +0 -0
  467. /package/{dist/views → views}/hooks/useItemRef.js +0 -0
  468. /package/{compiled/views → views}/hooks/useItemRef.js.map +0 -0
  469. /package/{compiled/views → views}/hooks/useSingleRegisterItemData.d.ts +0 -0
  470. /package/{dist/views → views}/hooks/useSingleRegisterItemData.js +0 -0
  471. /package/{compiled/views → views}/hooks/useSingleRegisterItemData.js.map +0 -0
  472. /package/{compiled/views → views}/index.d.ts +0 -0
  473. /package/{compiled/views → views}/itemPathUtils.d.ts +0 -0
  474. /package/{dist/views → views}/itemPathUtils.js +0 -0
  475. /package/{compiled/views → views}/itemPathUtils.js.map +0 -0
  476. /package/{compiled/views → views}/itemQueryUtils.d.ts +0 -0
  477. /package/{dist/views → views}/itemQueryUtils.js +0 -0
  478. /package/{compiled/views → views}/itemQueryUtils.js.map +0 -0
  479. /package/{compiled/views → views}/protocolRegistry.d.ts +0 -0
  480. /package/{dist/views → views}/protocolRegistry.js +0 -0
  481. /package/{compiled/views → views}/protocolRegistry.js.map +0 -0
  482. /package/{compiled/views → views}/sidebar/Browse/index.d.ts +0 -0
  483. /package/{dist/views → views}/sidebar/Browse/index.js +0 -0
  484. /package/{compiled/views → views}/sidebar/Browse/index.js.map +0 -0
  485. /package/{compiled/views → views}/sidebar/Export/index.d.ts +0 -0
  486. /package/{dist/views → views}/sidebar/Export/index.js +0 -0
  487. /package/{compiled/views → views}/sidebar/Export/index.js.map +0 -0
  488. /package/{compiled/views → views}/sidebar/ListItem.d.ts +0 -0
  489. /package/{dist/views → views}/sidebar/ListItem.js +0 -0
  490. /package/{compiled/views → views}/sidebar/ListItem.js.map +0 -0
  491. /package/{compiled/views → views}/sidebar/Registration/index.d.ts +0 -0
  492. /package/{dist/views → views}/sidebar/Registration/index.js +0 -0
  493. /package/{compiled/views → views}/sidebar/Registration/index.js.map +0 -0
  494. /package/{compiled/views → views}/sidebar/Search/index.d.ts +0 -0
  495. /package/{dist/views → views}/sidebar/Search/index.js +0 -0
  496. /package/{compiled/views → views}/sidebar/Search/index.js.map +0 -0
  497. /package/{compiled/views → views}/sidebar/index.d.ts +0 -0
  498. /package/{dist/views → views}/sidebar/index.js +0 -0
  499. /package/{compiled/views → views}/sidebar/index.js.map +0 -0
  500. /package/{compiled/views → views}/util.d.ts +0 -0
  501. /package/{dist/views → views}/util.js +0 -0
  502. /package/{compiled/views → views}/util.js.map +0 -0
@@ -1,277 +0,0 @@
1
- /** @jsx jsx */
2
- /** @jsxFrag React.Fragment */
3
- import React, { useContext, useState, useCallback } from 'react';
4
- import { jsx, css } from '@emotion/react';
5
- import styled from '@emotion/styled';
6
- import { Button, ButtonGroup, Card, Classes, FormGroup as BaseFormGroup, ControlGroup, InputGroup, NonIdealState, UL, H5, } from '@blueprintjs/core';
7
- import { DatasetContext } from '@riboseinc/paneron-extension-kit/context';
8
- import HelpTooltip from '@riboseinc/paneron-extension-kit/widgets/HelpTooltip';
9
- import useItemRef from '../../hooks/useItemRef';
10
- import useSingleRegisterItemData from '../../hooks/useSingleRegisterItemData';
11
- import useItemClassConfig from '../../hooks/useItemClassConfig';
12
- import { Protocols } from '../../protocolRegistry';
13
- import { isRegisterItem, } from '../../../types';
14
- import { BrowserCtx } from '../../BrowserCtx';
15
- import { RegisterHelmet as Helmet, maybeEllipsizeString, TabContentsWithActions, } from '../../util';
16
- import { crIDToCRPath, getCRIDFromProposedItemPath } from '../../itemPathUtils';
17
- import { updateCRObjectChangeset, } from '../../change-request/objectChangeset';
18
- import { ChangeRequestContext } from '../../change-request/ChangeRequestContext';
19
- import { RelatedItems } from './RelatedItems';
20
- /**
21
- * Main register item view.
22
- *
23
- * NOTE: while generally intended as tab content handler,
24
- * is also reused within change request view.
25
- */
26
- const ItemDetail = function ({ uri, inProposalWithID }) {
27
- const { value: ref } = useItemRef(uri);
28
- const { value: clsConfig } = useItemClassConfig(ref?.classID ?? 'NONEXISTENT_CLASS_ID');
29
- //const { value: itemData } = useSingleRegisterItemData(ref);
30
- const { updateObjects, performOperation, operationKey } = useContext(DatasetContext);
31
- const isBusy = operationKey !== undefined;
32
- const { jumpTo, subregisters, useRegisterItemData, activeChangeRequestID: globallyActiveCRID, } = useContext(BrowserCtx);
33
- const { changeRequest: activeCR, canEdit: activeCRIsEditable } = useContext(ChangeRequestContext);
34
- const itemClass = clsConfig;
35
- const itemClassID = itemClass?.meta?.id;
36
- const itemRef = ref ?? dummyRef;
37
- const { itemID, subregisterID } = itemRef;
38
- const _itemPath = `${itemClassID ?? 'NONEXISTENT_CLASS'}/${itemID}.yaml`;
39
- const itemPath = subregisterID ? `/subregisters/${subregisterID}/${_itemPath}` : `/${_itemPath}`;
40
- const itemRequest = {
41
- itemPaths: [itemPath],
42
- };
43
- const itemResponse = useRegisterItemData(itemRequest);
44
- const itemData = itemResponse.value[itemPath];
45
- const [editedClarification, setEditedClarification] = useState(null);
46
- //const [ diffMode, setDiffMode ] = useState<boolean>(false);
47
- // TODO: Implement diff mode
48
- const diffMode = false;
49
- const proposal = ((activeCR && activeCR.items[itemPath])
50
- ? activeCR.items[itemPath]
51
- : null) ?? null;
52
- const handleClearProposal = () => performProposalOperation("draft: clear proposal", null);
53
- const handleRetire = () => performProposalOperation("draft: propose retirement", {
54
- type: 'amendment',
55
- amendmentType: 'retirement',
56
- });
57
- const handleInvalidate = () => performProposalOperation("draft: propose invalidation", {
58
- type: 'amendment',
59
- amendmentType: 'invalidation',
60
- });
61
- const handleSupersedeWith = (items) => performProposalOperation("draft: propose supersession", {
62
- type: 'amendment',
63
- amendmentType: 'supersession',
64
- supersedingItemIDs: items,
65
- });
66
- const handleClarify = async () => {
67
- await performProposalOperation("draft: clarify item", {
68
- type: 'clarification',
69
- });
70
- setEditedClarification(null);
71
- };
72
- const handleEditAddition = async () => {
73
- await performProposalOperation("draft: edit added item", {
74
- type: 'addition',
75
- });
76
- setEditedClarification(null);
77
- };
78
- async function performProposalOperation(summary, proposal) {
79
- return await performOperation(summary, handleSetProposal)(summary, proposal);
80
- }
81
- const handleSetProposal = useCallback(async function _handleSetProposal(summary, proposal) {
82
- if (!activeCRIsEditable || !updateObjects || !isRegisterItem(itemData)) {
83
- throw new Error("Proposal isn’t editable");
84
- }
85
- if (proposal && proposal?.type !== 'amendment' && !editedClarification) {
86
- throw new Error("Missing item data");
87
- }
88
- await updateObjects({
89
- commitMessage: `${summary} for ${itemPath}`,
90
- objectChangeset: updateCRObjectChangeset(
91
- // TODO: We are sure it’s editable already, but casting should be avoided
92
- activeCR, { [itemPath]: proposal }, ((proposal && proposal?.type !== 'amendment') && editedClarification)
93
- ? { [itemPath]: { ...itemData, data: editedClarification } }
94
- : {}),
95
- // We need this because updateCRObjectChangeset
96
- // omits oldValue for item data payloads.
97
- _dangerouslySkipValidation: true,
98
- });
99
- }, [
100
- updateObjects,
101
- activeCRIsEditable,
102
- JSON.stringify(activeCR),
103
- JSON.stringify(itemData),
104
- JSON.stringify(editedClarification),
105
- ]);
106
- if (!itemClass) {
107
- return jsx(NonIdealState, { icon: "heart-broken", title: "Unable to show item", description: `View for ${ref?.itemID ?? uri} cannot be retrieved from item class configuration` });
108
- }
109
- else if (isRegisterItem(itemData)) {
110
- let details;
111
- if (editedClarification !== null && activeCRIsEditable) {
112
- const EditView = itemClass.views.editView;
113
- details = (jsx(EditView, { itemData: editedClarification, itemRef: itemRef, onChange: !isBusy
114
- ? (newData) => {
115
- setEditedClarification(newData);
116
- }
117
- : undefined }));
118
- }
119
- else {
120
- const DetailView = itemClass.views.detailView ?? itemClass.views.editView;
121
- details = (jsx(DetailView, { itemRef: itemRef, itemData: itemData.data }));
122
- }
123
- //const canAmend = activeCR && itemData.status === 'valid';
124
- const itemStatus = jsx(FormGroup, { inline: true, label: "status:", css: css `margin: 0;` },
125
- jsx(ControlGroup, { fill: true },
126
- jsx(InputGroup, { value: proposal?.type === 'amendment'
127
- ? `${proposal.amendmentType} proposed`
128
- : proposal?.type === 'addition'
129
- ? "addition proposed"
130
- : itemData.status, intent: proposal?.type === 'amendment'
131
- ? 'warning'
132
- : proposal?.type === 'addition'
133
- ? 'primary'
134
- : itemData.status === 'valid'
135
- ? 'success'
136
- : undefined, leftIcon: proposal && (proposal.type === 'amendment' || proposal.type === 'addition')
137
- ? 'asterisk'
138
- : itemData.status === 'valid'
139
- ? 'tick'
140
- : itemData.status === 'invalid'
141
- ? 'ban-circle'
142
- : 'warning-sign', readOnly: true }),
143
- activeCRIsEditable && !editedClarification
144
- ? jsx(React.Fragment, null,
145
- proposal?.type === 'addition'
146
- ? jsx(Button, { intent: "warning", title: "Remove the proposal to add this new item.", disabled: isBusy, onClick: handleClearProposal }, "Remove proposed addition")
147
- : null,
148
- proposal?.type === 'amendment'
149
- ? jsx(Button, { intent: "warning", title: `Remove amendment (${proposal.amendmentType}) for this item from current proposal.`, disabled: isBusy, onClick: handleClearProposal }, "Clear proposed amendment")
150
- : !proposal && itemData.status === 'valid'
151
- ? jsx(ButtonGroup, null,
152
- jsx(Button, { intent: "primary", disabled: isBusy, onClick: handleRetire }, "Retire"),
153
- jsx(Button, { intent: "primary", disabled: isBusy, onClick: handleInvalidate }, "Invalidate"))
154
- : null)
155
- : null));
156
- const supersedingItems = (
157
- // It’s superseded (whether in current proposal or not)
158
- itemData.status === 'superseded'
159
- // Item is valid, proposal is editable, and no change to this item is proposed yet
160
- || (activeCRIsEditable && !proposal && !editedClarification && itemData.status === 'valid')
161
- // This item is being superseded in active proposal
162
- // XXX: Redundant condition with the first one?
163
- || (proposal?.type === 'amendment' && proposal.amendmentType === 'supersession'))
164
- ? jsx(FormGroup, { inline: true, label: "superseded by: ", css: css `margin: 0;` },
165
- jsx(RelatedItems, { availableClassIDs: [itemClass.meta.id], itemRefs: proposal?.type === 'amendment' && proposal.amendmentType === 'supersession'
166
- ? proposal.supersedingItemIDs.
167
- map(id => ({ itemID: id, classID: itemClass.meta.id, subregisterID }))
168
- : (itemData.supersededBy ?? []), onChange: !isBusy && activeCRIsEditable && ((proposal?.type === 'amendment' && proposal.amendmentType === 'supersession') ||
169
- (!proposal && itemData.status === 'valid'))
170
- ? (items) => items.length > 0
171
- ? handleSupersedeWith(items.map(ref => ref.itemID))
172
- : handleClearProposal()
173
- : undefined }))
174
- : null;
175
- const clarificationHasChanges = JSON.stringify(editedClarification) !== JSON.stringify(itemData.data);
176
- const clarificationAction = ((proposal && proposal?.type !== 'amendment')
177
- || (activeCRIsEditable && !proposal && itemData.status === 'valid'))
178
- ? jsx(FormGroup, { inline: true, label: `${proposal?.type ?? "clarification"}: `, css: css `margin: 0;` }, activeCRIsEditable
179
- ? jsx(ButtonGroup, null, editedClarification
180
- ? jsx(React.Fragment, null,
181
- jsx(Button, { intent: clarificationHasChanges ? "primary" : undefined,
182
- // TODO(perf): this is expensive if renders are frequent…
183
- disabled: !clarificationHasChanges || isBusy, onClick: (!proposal || proposal?.type === 'clarification')
184
- ? handleClarify
185
- : handleEditAddition }, "Save"),
186
- jsx(Button, { onClick: () => setEditedClarification(null) }, "Do not save"))
187
- : jsx(React.Fragment, null,
188
- jsx(Button, { disabled: diffMode || isBusy, intent: "primary", outlined: true, onClick: () => setEditedClarification(itemData.data) }, !proposal ? "Clarify" : "Edit"),
189
- proposal?.type === 'clarification'
190
- ? jsx(React.Fragment, null,
191
- jsx(Button, { disabled: diffMode || isBusy || proposal?.type !== 'clarification', intent: "warning", onClick: handleClearProposal }, "Clear"))
192
- : null))
193
- : jsx(Button, { disabled: true },
194
- proposal?.type === 'clarification' ? "Clarified" : "Added",
195
- " in active proposal"))
196
- : null;
197
- // If there’s a CR context without active CR,
198
- // or active CR isn’t the same as the one in CR context,
199
- // then we can assume that the item is shown in proposal window
200
- // and we’d set window title to proposal’s title rather than item’s.
201
- // If there’s a CR context and active CR and they’re the same
202
- // then it *could* be that the item is shown in its own tab;
203
- // we will render proposal’s title if the item appears in the change request
204
- // (makes sense because the user *is* technically viewing a proposal then).
205
- const windowTitle = (activeCR && (!globallyActiveCRID
206
- || activeCR.id !== globallyActiveCRID
207
- || activeCR.items[itemPath])) ? `Proposal ${maybeEllipsizeString(activeCR.justification, 20)}…`
208
- : `${itemClass.meta.title ?? 'register item'} #${itemData.id}`;
209
- return (jsx(TabContentsWithActions, { actions: jsx(React.Fragment, null,
210
- jsx(FormGroup, { inline: true, labelInfo: jsx(HelpTooltip, { icon: 'info-sign', content: jsx(React.Fragment, null,
211
- jsx(H5, null, itemClass.meta.title),
212
- itemClass.meta.description ?? "No description is provided for this register item class.",
213
- jsx(UL, null,
214
- jsx("li", null,
215
- "Class ID: ",
216
- itemClassID),
217
- jsx("li", null,
218
- "Subregister ID: ",
219
- subregisterID ?? 'N/A'),
220
- jsx("li", null,
221
- "UUID: ",
222
- itemID))) }), label: jsx(React.Fragment, null,
223
- jsx("strong", null, itemClass.meta.title),
224
- subregisterID
225
- ? jsx("span", { title: "Subregister" },
226
- " in ",
227
- subregisters?.[subregisterID]?.title ?? subregisterID)
228
- : null), css: css `margin: 0; .bp4-form-content { display: flex; flex-flow: row wrap; gap: 10px; }` },
229
- itemStatus,
230
- supersedingItems,
231
- clarificationAction)), main: jsx(Card, { css: css `position: absolute; inset: ${inProposalWithID ? '0' : '10px'}; overflow-y: auto;` },
232
- jsx(Helmet, null,
233
- jsx("title", null, windowTitle)),
234
- details) }));
235
- }
236
- else if (itemResponse.isUpdating) {
237
- return jsx("div", { className: Classes.SKELETON }, "Loading\u2026");
238
- }
239
- else {
240
- const inCRWithID = getCRIDFromProposedItemPath(uri);
241
- if (inCRWithID !== null && activeCR?.id !== inCRWithID) {
242
- return jsx(NonIdealState, { icon: "help", title: "This item does not exist\u2026", description: jsx(React.Fragment, null,
243
- "\u2026but it might be proposed.",
244
- jsx("br", null),
245
- jumpTo
246
- ? jsx(Button, { css: css `margin: 10px;`, intent: "primary", onClick: () => jumpTo?.(`${Protocols.CHANGE_REQUEST}:${crIDToCRPath(inCRWithID)}`) }, "Go to proposal")
247
- : null) });
248
- }
249
- else {
250
- return jsx(NonIdealState, { icon: "heart-broken", title: "Unable to show item", description: "Item may not exist, or use unexpected data format." });
251
- }
252
- }
253
- };
254
- const ItemTitle = function ({ uri }) {
255
- const { value: ref } = useItemRef(uri);
256
- const { value: clsConfig } = useItemClassConfig(ref?.classID ?? 'NONEXISTENT_CLASS_ID');
257
- const { value: itemData } = useSingleRegisterItemData(ref);
258
- const fallbackView = (() => jsx(React.Fragment, null, ref?.itemID ?? uri));
259
- const View = itemData ? (clsConfig?.views.listItemView ?? fallbackView) : fallbackView;
260
- return jsx(View, { itemRef: ref ?? dummyRef, itemData: itemData });
261
- };
262
- export default {
263
- main: ItemDetail,
264
- title: ItemTitle,
265
- };
266
- const dummyRef = {
267
- itemID: 'NONEXISTENT_ITEM_ID',
268
- classID: 'NONEXISTENT_CLASS_ID',
269
- subregisterID: undefined,
270
- };
271
- const FormGroup = styled(BaseFormGroup) `
272
- margin: 0;
273
- label.bp4-label {
274
- white-space: nowrap;
275
- }
276
- `;
277
- //# sourceMappingURL=index.js.map
@@ -1,135 +0,0 @@
1
- /** @jsx jsx */
2
- /** @jsxFrag React.Fragment */
3
- import update from 'immutability-helper';
4
- import React from 'react';
5
- import { jsx, css } from '@emotion/react';
6
- import styled from '@emotion/styled';
7
- import { FormGroup as BaseFormGroup, Classes, ControlGroup, InputGroup, TextArea, HTMLTable, HTMLSelect, Button, ButtonGroup, } from '@blueprintjs/core';
8
- import { DatePicker, TimePrecision } from '@blueprintjs/datetime';
9
- import HelpTooltip from '@riboseinc/paneron-extension-kit/widgets/HelpTooltip';
10
- import { isStakeholderRole } from '../../../types';
11
- import { STAKEHOLDER_ROLES, StakeholderRole } from '../../../types/stakeholder';
12
- const DUMMY_VERSION = { id: '', timestamp: new Date() };
13
- const DUMMY_CONTACT = {
14
- label: 'email',
15
- value: ''
16
- };
17
- const DUMMY_PARTY = {
18
- name: '',
19
- contacts: [DUMMY_CONTACT],
20
- };
21
- const DUMMY_STAKEHOLDER = {
22
- role: StakeholderRole.Submitter,
23
- name: '',
24
- gitServerUsername: undefined,
25
- parties: [DUMMY_PARTY],
26
- };
27
- const RegisterMetaForm = function ({ value, onChange, className }) {
28
- function handleOperatingLanguageChange(fieldName) {
29
- return (evt) => {
30
- const newValue = update(value, { operatingLanguage: op => update(op ?? {}, { [fieldName]: { $set: evt.currentTarget.value } }) });
31
- onChange(newValue);
32
- };
33
- }
34
- function makeFormEventHandler(func) {
35
- return (evt) => {
36
- const spec = func(evt.currentTarget.value);
37
- if (spec) {
38
- onChange(update(value, spec));
39
- }
40
- };
41
- }
42
- const stakeholders = value.stakeholders ?? [];
43
- function makeStakeholderChangeHandler(idx, func) {
44
- return makeFormEventHandler(val => ({ stakeholders: { [idx]: func(val) } }));
45
- }
46
- function handleStakeholderAdd() {
47
- onChange({ ...value, stakeholders: [...stakeholders, DUMMY_STAKEHOLDER] });
48
- }
49
- return (jsx("div", { css: css `display: flex; flex-flow: row wrap; align-content: flex-start; align-items: flex-start; gap: 10px;`, className: className },
50
- jsx(SuperFormGroup, { label: "Basics:" },
51
- jsx(FormGroup, { label: "Name:" },
52
- jsx(InputGroup, { fill: true, value: value.name || '', readOnly: !onChange, onChange: makeFormEventHandler(val => ({ name: { $set: val } })) })),
53
- jsx(FormGroup, { label: "Uniform resource identifier:" },
54
- jsx(InputGroup, { fill: true, type: "url", value: value.uniformResourceIdentifier || '', readOnly: !onChange, onChange: makeFormEventHandler(val => ({ uniformResourceIdentifier: { $set: val } })) })),
55
- jsx(FormGroup, { label: "Content summary:" },
56
- jsx(TextArea, { fill: true, value: value.contentSummary || '', readOnly: !onChange, onChange: makeFormEventHandler(val => ({ contentSummary: { $set: val } })) })),
57
- jsx(FormGroup, { label: "Operating language (locale):", helperText: "Name, country and ISO 639-2 language code." },
58
- jsx(ControlGroup, { vertical: true },
59
- jsx(InputGroup, { readOnly: !onChange, placeholder: "E.g., Welsh", value: value.operatingLanguage?.name ?? '', onChange: handleOperatingLanguageChange('name') }),
60
- jsx(InputGroup, { readOnly: !onChange, placeholder: "3-character numerical country code from ISO 3166-1", value: value.operatingLanguage?.country ?? '', onChange: handleOperatingLanguageChange('country') }),
61
- jsx(InputGroup, { readOnly: !onChange, placeholder: "3-character language code from ISO 639-2", value: value.operatingLanguage?.languageCode ?? '', onChange: handleOperatingLanguageChange('languageCode') })))),
62
- jsx(SuperFormGroup, { label: "Version: ", css: css `padding-bottom: 0;` },
63
- jsx(FormGroup, { label: "Identifier: " },
64
- jsx(InputGroup, { value: value.version?.id ?? '', readOnly: !onChange, placeholder: "E.g., 1.2", onChange: makeFormEventHandler(val => ({ version: v => update(v ?? DUMMY_VERSION, { id: { $set: val } }) })) })),
65
- jsx(FormGroup, { label: "Published on: ", helperText: jsx(React.Fragment, null,
66
- "Date and time are",
67
- jsx("br", null),
68
- "in ",
69
- Intl.DateTimeFormat().resolvedOptions().timeZone,
70
- ".",
71
- " ",
72
- jsx(HelpTooltip, { content: jsx(React.Fragment, null,
73
- "Times are in your computer\u2019s current time zone.",
74
- onChange
75
- ? " When specifying, make sure to offset accordingly if it is different than register publication time zone."
76
- : null) })) },
77
- jsx(DatePicker, { css: css `margin: 0 -${PADDING};`, timePrecision: TimePrecision.MINUTE, value: value.version?.timestamp ?? null, showActionsBar: onChange ? true : false, onChange: (val) => onChange(update(value, val !== null
78
- ? { version: v => update(v ?? DUMMY_VERSION, { timestamp: { $set: val } }) }
79
- : { $unset: ['version'] })) }))),
80
- jsx(SuperFormGroup, { label: "Stakeholders:", helperText: onChange
81
- ? jsx(Button, { onClick: handleStakeholderAdd, icon: "add" }, "Add")
82
- : null }, stakeholders.length > 0
83
- ? jsx(HTMLTable, { css: css `margin: 0 -${PADDING};` },
84
- jsx("thead", null,
85
- jsx("tr", { css: css `& > * { white-space: nowrap }` },
86
- jsx("th", null, "Role"),
87
- jsx("th", null, "Name"),
88
- jsx("th", null, "Git server username"),
89
- jsx("th", null, "Parties"),
90
- jsx("th", null, "Name"),
91
- jsx("th", null, "Email"))),
92
- jsx("tbody", null, [...stakeholders.entries()].map(([idx, s]) => jsx("tr", { key: idx },
93
- jsx("td", null,
94
- jsx(HTMLSelect, { options: STAKEHOLDER_ROLES.map(r => ({ value: r, label: r })), disabled: !onChange, onChange: makeStakeholderChangeHandler(idx, (val) => isStakeholderRole(val)
95
- ? { role: { $set: val } } // Why do we need to cast this
96
- : {}), value: s.role })),
97
- jsx("td", null,
98
- jsx(InputGroup, { readOnly: !onChange, onChange: makeStakeholderChangeHandler(idx, (val) => ({ name: { $set: val } })), value: s.name })),
99
- jsx("td", null,
100
- jsx(InputGroup, { readOnly: !onChange, onChange: makeStakeholderChangeHandler(idx, (val) => ({ gitServerUsername: { $set: val || undefined } })), value: s.gitServerUsername || '' })),
101
- jsx("td", null,
102
- jsx(ControlGroup, { vertical: s.parties.length > 1 }, s.parties.map((party, partyIdx) => jsx(ButtonGroup, { key: partyIdx },
103
- jsx(Button, { key: "delete", outlined: true, disabled: !onChange || s.parties.length < 2 || party.name !== '', title: "Delete this party", onClick: () => onChange(update(value, { stakeholders: { [idx]: { parties: { $splice: [[partyIdx, 1]] } } } })), icon: "cross" }),
104
- partyIdx === s.parties.length - 1
105
- ? jsx(Button, { key: "add", outlined: true, disabled: !onChange, onClick: () => onChange(update(value, { stakeholders: { [idx]: { parties: { $push: [DUMMY_PARTY] } } } })), title: "Append a party", icon: "plus" })
106
- : null)))),
107
- jsx("td", null,
108
- jsx(ControlGroup, { vertical: s.parties.length > 1 }, s.parties.map((party, partyIdx) => jsx(InputGroup, { key: partyIdx, readOnly: !onChange, placeholder: "Individual or organization", onChange: makeStakeholderChangeHandler(idx, (val) => ({ parties: { [partyIdx]: { name: { $set: val } } } })), value: party.name })))),
109
- jsx("td", null,
110
- jsx(ControlGroup, { vertical: s.parties.length > 1 }, s.parties.map((party, partyIdx) => jsx(InputGroup, { key: partyIdx, type: "email", placeholder: "Contact email", readOnly: !onChange, onChange: makeStakeholderChangeHandler(idx, (val) => ({ parties: { [partyIdx]: { contacts: { 0: { value: { $set: val } } } } } })), value: party.contacts[0].value || '' }))))))))
111
- : null)));
112
- };
113
- const PADDING = '11px';
114
- const FormGroup = styled(BaseFormGroup) `
115
- margin: 0;
116
- `;
117
- const SuperFormGroup_ = styled(FormGroup) `
118
- border-radius: 5px;
119
- padding: ${PADDING};
120
- background: white;
121
- > label.bp4-label {
122
- font-weight: bold;
123
- margin-bottom: ${PADDING};
124
- }
125
- > .bp4-form-content {
126
- display: flex;
127
- flex-flow: column nowrap;
128
- gap: ${PADDING};
129
- }
130
- `;
131
- const SuperFormGroup = function (props) {
132
- return jsx(SuperFormGroup_, { ...props, className: Classes.ELEVATION_3 });
133
- };
134
- export default RegisterMetaForm;
135
- //# sourceMappingURL=RegisterMetaForm.js.map
@@ -1,61 +0,0 @@
1
- /** @jsx jsx */
2
- /** @jsxFrag React.Fragment */
3
- import React, { useState, useContext } from 'react';
4
- import { jsx } from '@emotion/react';
5
- import { Button, ButtonGroup, NonIdealState, Spinner } from '@blueprintjs/core';
6
- import { DatasetContext } from '@riboseinc/paneron-extension-kit/context';
7
- import { BrowserCtx } from '../../BrowserCtx';
8
- import { isRegisterMetadata } from '../../../types';
9
- import { isOwner } from '../../../types/stakeholder';
10
- import { REGISTER_METADATA_FILENAME } from '../../../common';
11
- import { TabContentsWithActions } from '../../util';
12
- import RegisterMetaForm from './RegisterMetaForm';
13
- const RegisterMeta = function () {
14
- const { updateObjects, performOperation } = useContext(DatasetContext);
15
- const { registerMetadata, stakeholder } = useContext(BrowserCtx);
16
- const [editedMetadata, setEditedMetadata] = useState(null);
17
- const canChange = updateObjects ? true : false;
18
- const didChange = registerMetadata && editedMetadata && JSON.stringify(editedMetadata) !== JSON.stringify(registerMetadata);
19
- function handleClear() {
20
- setEditedMetadata(null);
21
- }
22
- async function handleSave() {
23
- if (!updateObjects) {
24
- throw new Error("Dataset is read-only");
25
- }
26
- if (!stakeholder || !isOwner(stakeholder)) {
27
- throw new Error("Register meta is only meant to be edited by owner");
28
- }
29
- if (!isRegisterMetadata(editedMetadata)) {
30
- throw new Error("Invalid register metadata");
31
- }
32
- await performOperation('saving register meta', updateObjects)({
33
- commitMessage: "edited register metadata",
34
- objectChangeset: {
35
- [REGISTER_METADATA_FILENAME]: {
36
- oldValue: registerMetadata,
37
- newValue: editedMetadata,
38
- },
39
- },
40
- });
41
- setEditedMetadata(null);
42
- }
43
- if (registerMetadata) {
44
- return (jsx(TabContentsWithActions, { actions: jsx(React.Fragment, null,
45
- jsx(ButtonGroup, null,
46
- jsx(Button, { onClick: handleSave, disabled: !didChange || !canChange, intent: didChange && canChange ? "primary" : undefined }, "Save"),
47
- jsx(Button, { onClick: handleClear, disabled: !didChange || !canChange }, "Clear changes"))), main: jsx(RegisterMetaForm, { value: editedMetadata ?? registerMetadata, onChange: updateObjects ? setEditedMetadata : undefined }) }));
48
- }
49
- else if (registerMetadata === undefined) {
50
- return jsx(NonIdealState, { icon: jsx(Spinner, null) });
51
- }
52
- else {
53
- return jsx(NonIdealState, { icon: "heart-broken", description: "Failed to read registry metadata." });
54
- }
55
- };
56
- export default {
57
- main: RegisterMeta,
58
- title: () => jsx(React.Fragment, null, "Register Metadata"),
59
- plainTitle: async () => "register metadata",
60
- };
61
- //# sourceMappingURL=index.js.map
@@ -1,11 +0,0 @@
1
- import protocolRegistry, { isValidProtocol } from '../protocolRegistry';
2
- export async function getPlainTitle(uri) {
3
- const [proto, _path] = uri.split(':');
4
- if (isValidProtocol(proto)) {
5
- return await protocolRegistry[proto].plainTitle?.(_path) ?? 'N/A';
6
- }
7
- else {
8
- throw new Error("Invalid protocol");
9
- }
10
- }
11
- //# sourceMappingURL=index.js.map
@@ -1,20 +0,0 @@
1
- /** @jsx jsx */
2
- /** @jsxFrag React.Fragment */
3
- import { jsx } from '@emotion/react';
4
- import React from 'react';
5
- import ReactDOM from 'react-dom/server';
6
- import VisualDiff from 'react-visual-diff';
7
- import AnnotatedChange from '../AnnotatedChange';
8
- const InlineDiff = React.memo(({ DetailView, sharedRefComponents, item1, item2 }) => {
9
- // TODO: Make VisualDiff work. Currently, it doesn’t apparently when item detail views use hooks.
10
- // Which is often. Either make item views hook-free
11
- // (which means primarily eliminating useRegisterItemData() by inferring and pre-fetching
12
- // related item data), or work out another way to diff two React elements.
13
- console.debug(item1.description, item2.description);
14
- const left = jsx("div", { dangerouslySetInnerHTML: { __html: ReactDOM.renderToString(jsx(DetailView, { itemRef: sharedRefComponents, itemData: item1 })) } });
15
- const right = jsx("div", { dangerouslySetInnerHTML: { __html: ReactDOM.renderToString(jsx(DetailView, { itemRef: sharedRefComponents, itemData: item2 })) } });
16
- return jsx(VisualDiff, { left: left, right: right, renderChange: AnnotatedChange });
17
- }, (prevProps, nextProps) => JSON.stringify(prevProps.item2) === JSON.stringify(nextProps.item2) &&
18
- JSON.stringify(prevProps.item1) === JSON.stringify(nextProps.item1));
19
- export default InlineDiff;
20
- //# sourceMappingURL=InlineDiff.js.map
@@ -1,38 +0,0 @@
1
- /** @jsx jsx */
2
- /** @jsxFrag React.Fragment */
3
- import { diff, formatters } from 'jsondiffpatch';
4
- import { jsx, css } from '@emotion/react';
5
- import React, { useEffect, useRef, useState } from 'react';
6
- import { Switch } from '@blueprintjs/core';
7
- const StructuredDiff = React.memo(({ item1, item2, showUnchanged, className }) => {
8
- const diffContainerRef = useRef(null);
9
- // Is ignored if managed via prop.
10
- const [_showUnchanged, setShowUnchanged] = useState(false);
11
- const item1json = JSON.stringify(item1);
12
- const item2json = JSON.stringify(item2);
13
- useEffect(() => {
14
- if (diffContainerRef.current) {
15
- const delta = diff(item1, item2);
16
- formatters.html.showUnchanged(showUnchanged ?? _showUnchanged);
17
- if (delta) {
18
- diffContainerRef.current.innerHTML = formatters.html.format(delta, item1);
19
- }
20
- else {
21
- diffContainerRef.current.innerHTML = formatters.html.format({}, item1);
22
- }
23
- }
24
- }, [item1json, item2json, diffContainerRef.current, showUnchanged, _showUnchanged]);
25
- // TODO: Make VisualDiff work. Currently, it doesn’t apparently when item detail views use hooks.
26
- // Which is often. Either make item views hook-free
27
- // (which means primarily eliminating useRegisterItemData() by inferring and pre-fetching
28
- // related item data), or work out another way to diff two React elements.
29
- return jsx("div", { css: css `display: flex; flex-flow: column nowrap;`, className: className },
30
- showUnchanged === undefined
31
- ? jsx(Switch, { checked: _showUnchanged, onChange: evt => setShowUnchanged(evt.currentTarget.checked), label: "Show unchanged properties" })
32
- : null,
33
- jsx("div", { ref: diffContainerRef, css: css `flex: 1; overflow: auto;` }));
34
- }, (prevProps, nextProps) => JSON.stringify(prevProps.item2) === JSON.stringify(nextProps.item2) &&
35
- JSON.stringify(prevProps.item1) === JSON.stringify(nextProps.item1) &&
36
- prevProps.showUnchanged === nextProps.showUnchanged);
37
- export default StructuredDiff;
38
- //# sourceMappingURL=StructuredDiff.js.map
@@ -1,14 +0,0 @@
1
- import { useContext } from 'react';
2
- import { BrowserCtx } from '../BrowserCtx';
3
- export default function useCustomView(viewID) {
4
- const { customViews } = useContext(BrowserCtx);
5
- const view = customViews.find(v => v.id === viewID);
6
- return {
7
- value: view,
8
- errors: [],
9
- refresh: () => void 0,
10
- isUpdating: false,
11
- _reqCounter: 0,
12
- };
13
- }
14
- //# sourceMappingURL=useCustomView.js.map
@@ -1,14 +0,0 @@
1
- import { useContext } from 'react';
2
- import { BrowserCtx } from '../BrowserCtx';
3
- export default function useItemClassConfig(clsID) {
4
- const { itemClasses } = useContext(BrowserCtx);
5
- const clsConfig = itemClasses[clsID];
6
- return {
7
- value: clsConfig,
8
- errors: [],
9
- refresh: () => void 0,
10
- isUpdating: false,
11
- _reqCounter: 0,
12
- };
13
- }
14
- //# sourceMappingURL=useItemClassConfig.js.map
@@ -1,26 +0,0 @@
1
- import { useContext } from 'react';
2
- import { BrowserCtx } from '../BrowserCtx';
3
- import { itemPathToItemRef } from '../itemPathUtils';
4
- export default function useItemRef(itemPath) {
5
- const { subregisters } = useContext(BrowserCtx);
6
- try {
7
- const value = itemPathToItemRef(subregisters !== undefined, itemPath);
8
- return {
9
- value,
10
- isUpdating: false,
11
- refresh: () => void 0,
12
- _reqCounter: 0,
13
- errors: [],
14
- };
15
- }
16
- catch (e) {
17
- return {
18
- value: undefined,
19
- isUpdating: false,
20
- refresh: () => void 0,
21
- _reqCounter: 0,
22
- errors: [`${e.toString?.() ?? e}`],
23
- };
24
- }
25
- }
26
- //# sourceMappingURL=useItemRef.js.map
@@ -1,21 +0,0 @@
1
- import { useContext } from 'react';
2
- import { BrowserCtx } from '../BrowserCtx';
3
- import { itemRefToItemPath } from '../itemPathUtils';
4
- export default function useSingleRegisterItemData(ref) {
5
- const { useRegisterItemData } = useContext(BrowserCtx);
6
- const itemPath = ref ? itemRefToItemPath(ref) : 'NONEXISTENT_ITEM';
7
- const itemResponse = useRegisterItemData({ itemPaths: [itemPath] });
8
- const itemResponseValue = itemResponse.value[itemPath];
9
- const itemData = itemResponseValue?.data ?? null;
10
- const errMsg = "Item data cannot be loaded";
11
- return {
12
- value: itemData,
13
- errors: itemData === null
14
- ? [errMsg, ...itemResponse.errors]
15
- : itemResponse.errors,
16
- isUpdating: itemResponse.isUpdating,
17
- _reqCounter: itemResponse._reqCounter,
18
- refresh: itemResponse.refresh,
19
- };
20
- }
21
- //# sourceMappingURL=useSingleRegisterItemData.js.map