@riboseinc/paneron-registry-kit 2.0.0 → 2.0.1

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 (503) hide show
  1. package/LICENSE +21 -0
  2. package/README.adoc +35 -0
  3. package/compiled/common.js +2 -0
  4. package/compiled/index.js +21 -0
  5. package/compiled/migrations/initial.js +8 -0
  6. package/compiled/types/cr.js +131 -0
  7. package/compiled/types/index.js +8 -0
  8. package/compiled/types/item.js +22 -0
  9. package/compiled/types/proposal.js +21 -0
  10. package/compiled/types/register.js +25 -0
  11. package/compiled/types/registry.js +10 -0
  12. package/compiled/types/stakeholder.js +34 -0
  13. package/compiled/types/util.js +3 -0
  14. package/compiled/types/views.js +2 -0
  15. package/compiled/views/AnnotatedChange.js +57 -0
  16. package/compiled/views/BrowserCtx.js +19 -0
  17. package/compiled/views/FilterCriteria/CRITERIA_CONFIGURATION.js +110 -0
  18. package/compiled/views/FilterCriteria/criteriaGroupToQueryExpression.js +40 -0
  19. package/compiled/views/FilterCriteria/criteriaGroupToSummary.js +47 -0
  20. package/compiled/views/FilterCriteria/criteriaToNodes.js +89 -0
  21. package/compiled/views/FilterCriteria/index.js +75 -0
  22. package/compiled/views/FilterCriteria/models.js +28 -0
  23. package/compiled/views/FilterCriteria/mutateGroup.js +53 -0
  24. package/compiled/views/GenericRelatedItemView.js +147 -0
  25. package/compiled/views/RegisterStakeholder.js +19 -0
  26. package/compiled/views/RegisterVersion.js +20 -0
  27. package/compiled/views/SearchQuery.js +58 -0
  28. package/compiled/views/change-request/ChangeRequestContext.js +30 -0
  29. package/compiled/views/change-request/Proposals.js +185 -0
  30. package/compiled/views/change-request/objectChangeset.js +189 -0
  31. package/compiled/views/detail/ChangeRequest/Proposal.js +144 -0
  32. package/compiled/views/detail/ChangeRequest/index.js +140 -0
  33. package/compiled/views/detail/ChangeRequest/transitions.js +418 -0
  34. package/compiled/views/detail/CustomView/index.js +32 -0
  35. package/compiled/views/detail/RegisterHome/index.js +70 -0
  36. package/compiled/views/detail/RegisterItem/RelatedItems.d.ts +14 -0
  37. package/compiled/views/detail/RegisterItem/RelatedItems.js +28 -0
  38. package/compiled/views/detail/RegisterItem/RelatedItems.js.map +1 -0
  39. package/compiled/views/detail/RegisterItem/SupersedingItemMenu.js +27 -0
  40. package/compiled/views/detail/RegisterItem/index.js +277 -0
  41. package/compiled/views/detail/RegisterItem/index.js.map +1 -0
  42. package/compiled/views/detail/RegisterMeta/RegisterMetaForm.js +135 -0
  43. package/compiled/views/detail/RegisterMeta/index.js +61 -0
  44. package/compiled/views/detail/index.js +11 -0
  45. package/compiled/views/diffing/InlineDiff.js +20 -0
  46. package/compiled/views/diffing/StructuredDiff.js +38 -0
  47. package/compiled/views/hooks/useCustomView.js +14 -0
  48. package/compiled/views/hooks/useItemClassConfig.js +14 -0
  49. package/compiled/views/hooks/useItemRef.js +26 -0
  50. package/compiled/views/hooks/useSingleRegisterItemData.js +21 -0
  51. package/compiled/views/index.js +142 -0
  52. package/compiled/views/itemPathUtils.js +115 -0
  53. package/compiled/views/itemQueryUtils.js +42 -0
  54. package/compiled/views/protocolRegistry.js +24 -0
  55. package/compiled/views/sidebar/Browse/index.js +278 -0
  56. package/compiled/views/sidebar/Export/index.js +47 -0
  57. package/compiled/views/sidebar/ListItem.js +23 -0
  58. package/compiled/views/sidebar/Registration/index.js +114 -0
  59. package/compiled/views/sidebar/Search/index.js +100 -0
  60. package/compiled/views/sidebar/index.js +73 -0
  61. package/compiled/views/util.js +63 -0
  62. package/dependencies-local/extension-kit/SettingsContext.d.ts +8 -0
  63. package/dependencies-local/extension-kit/SettingsContext.js +19 -0
  64. package/dependencies-local/extension-kit/SettingsContext.js.map +1 -0
  65. package/dependencies-local/extension-kit/context.d.ts +11 -0
  66. package/dependencies-local/extension-kit/context.js +133 -0
  67. package/dependencies-local/extension-kit/context.js.map +1 -0
  68. package/dependencies-local/extension-kit/i18n/ContextProvider.d.ts +9 -0
  69. package/dependencies-local/extension-kit/i18n/ContextProvider.js +33 -0
  70. package/dependencies-local/extension-kit/i18n/ContextProvider.js.map +1 -0
  71. package/dependencies-local/extension-kit/i18n/context.d.ts +9 -0
  72. package/dependencies-local/extension-kit/i18n/context.js +23 -0
  73. package/dependencies-local/extension-kit/i18n/context.js.map +1 -0
  74. package/dependencies-local/extension-kit/i18n/types.d.ts +10 -0
  75. package/dependencies-local/extension-kit/i18n/types.js.map +1 -0
  76. package/dependencies-local/extension-kit/i18n/widgets.d.ts +16 -0
  77. package/dependencies-local/extension-kit/i18n/widgets.js +56 -0
  78. package/dependencies-local/extension-kit/i18n/widgets.js.map +1 -0
  79. package/dependencies-local/extension-kit/index.d.ts +3 -0
  80. package/dependencies-local/extension-kit/index.js +78 -0
  81. package/dependencies-local/extension-kit/index.js.map +1 -0
  82. package/dependencies-local/extension-kit/object-specs/index.d.ts +2 -0
  83. package/dependencies-local/extension-kit/object-specs/index.js +22 -0
  84. package/dependencies-local/extension-kit/object-specs/index.js.map +1 -0
  85. package/dependencies-local/extension-kit/object-specs/paneron-object.d.ts +6 -0
  86. package/dependencies-local/extension-kit/object-specs/paneron-object.js +161 -0
  87. package/dependencies-local/extension-kit/object-specs/paneron-object.js.map +1 -0
  88. package/dependencies-local/extension-kit/object-specs/ser-des.d.ts +31 -0
  89. package/dependencies-local/extension-kit/object-specs/ser-des.js +187 -0
  90. package/dependencies-local/extension-kit/object-specs/ser-des.js.map +1 -0
  91. package/dependencies-local/extension-kit/object-specs/yaml/custom-bool.d.ts +2 -0
  92. package/dependencies-local/extension-kit/object-specs/yaml/custom-bool.js +42 -0
  93. package/dependencies-local/extension-kit/object-specs/yaml/custom-bool.js.map +1 -0
  94. package/dependencies-local/extension-kit/object-specs/yaml/custom-timestamp.d.ts +3 -0
  95. package/dependencies-local/extension-kit/object-specs/yaml/custom-timestamp.js +110 -0
  96. package/dependencies-local/extension-kit/object-specs/yaml/custom-timestamp.js.map +1 -0
  97. package/dependencies-local/extension-kit/object-specs/yaml/index.d.ts +9 -0
  98. package/dependencies-local/extension-kit/object-specs/yaml/index.js +36 -0
  99. package/dependencies-local/extension-kit/object-specs/yaml/index.js.map +1 -0
  100. package/dependencies-local/extension-kit/object-specs/yaml/schema.d.ts +3 -0
  101. package/dependencies-local/extension-kit/object-specs/yaml/schema.js +26 -0
  102. package/dependencies-local/extension-kit/object-specs/yaml/schema.js.map +1 -0
  103. package/dependencies-local/extension-kit/package.json +53 -0
  104. package/dependencies-local/extension-kit/settings.d.ts +6 -0
  105. package/dependencies-local/extension-kit/settings.js +11 -0
  106. package/dependencies-local/extension-kit/settings.js.map +1 -0
  107. package/dependencies-local/extension-kit/types/binary-invocation.d.ts +31 -0
  108. package/dependencies-local/extension-kit/types/binary-invocation.js.map +1 -0
  109. package/dependencies-local/extension-kit/types/buffers.d.ts +17 -0
  110. package/dependencies-local/extension-kit/types/buffers.js +5 -0
  111. package/dependencies-local/extension-kit/types/buffers.js.map +1 -0
  112. package/dependencies-local/extension-kit/types/changes.d.ts +37 -0
  113. package/dependencies-local/extension-kit/types/changes.js +5 -0
  114. package/dependencies-local/extension-kit/types/changes.js.map +1 -0
  115. package/dependencies-local/extension-kit/types/data.d.ts +54 -0
  116. package/dependencies-local/extension-kit/types/data.js +5 -0
  117. package/dependencies-local/extension-kit/types/data.js.map +1 -0
  118. package/dependencies-local/extension-kit/types/dialogs.d.ts +15 -0
  119. package/dependencies-local/extension-kit/types/dialogs.js +5 -0
  120. package/dependencies-local/extension-kit/types/dialogs.js.map +1 -0
  121. package/dependencies-local/extension-kit/types/extension-maker.d.ts +17 -0
  122. package/dependencies-local/extension-kit/types/extension-maker.js +5 -0
  123. package/dependencies-local/extension-kit/types/extension-maker.js.map +1 -0
  124. package/dependencies-local/extension-kit/types/extension.d.ts +27 -0
  125. package/dependencies-local/extension-kit/types/extension.js +5 -0
  126. package/dependencies-local/extension-kit/types/extension.js.map +1 -0
  127. package/dependencies-local/extension-kit/types/index.d.ts +3 -0
  128. package/dependencies-local/extension-kit/types/index.js +41 -0
  129. package/dependencies-local/extension-kit/types/index.js.map +1 -0
  130. package/dependencies-local/extension-kit/types/indexes.d.ts +6 -0
  131. package/dependencies-local/extension-kit/types/indexes.js +15 -0
  132. package/dependencies-local/extension-kit/types/indexes.js.map +1 -0
  133. package/dependencies-local/extension-kit/types/migrations.d.ts +15 -0
  134. package/dependencies-local/extension-kit/types/migrations.js +5 -0
  135. package/dependencies-local/extension-kit/types/migrations.js.map +1 -0
  136. package/dependencies-local/extension-kit/types/object-spec.d.ts +108 -0
  137. package/dependencies-local/extension-kit/types/object-spec.js +23 -0
  138. package/dependencies-local/extension-kit/types/object-spec.js.map +1 -0
  139. package/dependencies-local/extension-kit/types/objects.d.ts +18 -0
  140. package/dependencies-local/extension-kit/types/objects.js +5 -0
  141. package/dependencies-local/extension-kit/types/objects.js.map +1 -0
  142. package/dependencies-local/extension-kit/types/progress.d.ts +5 -0
  143. package/dependencies-local/extension-kit/types/progress.js +5 -0
  144. package/dependencies-local/extension-kit/types/progress.js.map +1 -0
  145. package/dependencies-local/extension-kit/types/renderer.d.ts +495 -0
  146. package/dependencies-local/extension-kit/types/renderer.js +5 -0
  147. package/dependencies-local/extension-kit/types/renderer.js.map +1 -0
  148. package/dependencies-local/extension-kit/useDebounce.d.ts +2 -0
  149. package/dependencies-local/extension-kit/useDebounce.js +27 -0
  150. package/dependencies-local/extension-kit/useDebounce.js.map +1 -0
  151. package/dependencies-local/extension-kit/usePersistentStateReducer.d.ts +35 -0
  152. package/dependencies-local/extension-kit/usePersistentStateReducer.js +91 -0
  153. package/dependencies-local/extension-kit/usePersistentStateReducer.js.map +1 -0
  154. package/dependencies-local/extension-kit/useTimeTravelingPersistentStateReducer.d.ts +48 -0
  155. package/dependencies-local/extension-kit/useTimeTravelingPersistentStateReducer.js +116 -0
  156. package/dependencies-local/extension-kit/useTimeTravelingPersistentStateReducer.js.map +1 -0
  157. package/dependencies-local/extension-kit/util.d.ts +8 -0
  158. package/dependencies-local/extension-kit/util.js +21 -0
  159. package/dependencies-local/extension-kit/util.js.map +1 -0
  160. package/dependencies-local/extension-kit/widgets/ErrorState.d.ts +8 -0
  161. package/dependencies-local/extension-kit/widgets/ErrorState.js +44 -0
  162. package/dependencies-local/extension-kit/widgets/ErrorState.js.map +1 -0
  163. package/dependencies-local/extension-kit/widgets/Grid.d.ts +41 -0
  164. package/dependencies-local/extension-kit/widgets/Grid.js +213 -0
  165. package/dependencies-local/extension-kit/widgets/Grid.js.map +1 -0
  166. package/dependencies-local/extension-kit/widgets/HelpTooltip.d.ts +18 -0
  167. package/dependencies-local/extension-kit/widgets/HelpTooltip.js +84 -0
  168. package/dependencies-local/extension-kit/widgets/HelpTooltip.js.map +1 -0
  169. package/dependencies-local/extension-kit/widgets/ItemCount.d.ts +19 -0
  170. package/dependencies-local/extension-kit/widgets/ItemCount.js +78 -0
  171. package/dependencies-local/extension-kit/widgets/ItemCount.js.map +1 -0
  172. package/dependencies-local/extension-kit/widgets/List.d.ts +40 -0
  173. package/dependencies-local/extension-kit/widgets/List.js +191 -0
  174. package/dependencies-local/extension-kit/widgets/List.js.map +1 -0
  175. package/dependencies-local/extension-kit/widgets/Navbar.d.ts +20 -0
  176. package/dependencies-local/extension-kit/widgets/Navbar.js +75 -0
  177. package/dependencies-local/extension-kit/widgets/Navbar.js.map +1 -0
  178. package/dependencies-local/extension-kit/widgets/SearchResultList.d.ts +24 -0
  179. package/dependencies-local/extension-kit/widgets/SearchResultList.js +201 -0
  180. package/dependencies-local/extension-kit/widgets/SearchResultList.js.map +1 -0
  181. package/dependencies-local/extension-kit/widgets/Sidebar/Block.d.ts +21 -0
  182. package/dependencies-local/extension-kit/widgets/Sidebar/Block.js +94 -0
  183. package/dependencies-local/extension-kit/widgets/Sidebar/Block.js.map +1 -0
  184. package/dependencies-local/extension-kit/widgets/Sidebar/BlockStateButtonGroup.d.ts +6 -0
  185. package/dependencies-local/extension-kit/widgets/Sidebar/BlockStateButtonGroup.js +22 -0
  186. package/dependencies-local/extension-kit/widgets/Sidebar/BlockStateButtonGroup.js.map +1 -0
  187. package/dependencies-local/extension-kit/widgets/Sidebar/PropertyView.d.ts +28 -0
  188. package/dependencies-local/extension-kit/widgets/Sidebar/PropertyView.js +148 -0
  189. package/dependencies-local/extension-kit/widgets/Sidebar/PropertyView.js.map +1 -0
  190. package/dependencies-local/extension-kit/widgets/Sidebar/index.d.ts +27 -0
  191. package/dependencies-local/extension-kit/widgets/Sidebar/index.js +178 -0
  192. package/dependencies-local/extension-kit/widgets/Sidebar/index.js.map +1 -0
  193. package/dependencies-local/extension-kit/widgets/TabbedWorkspace/SuperSidebar.d.ts +13 -0
  194. package/dependencies-local/extension-kit/widgets/TabbedWorkspace/SuperSidebar.js +82 -0
  195. package/dependencies-local/extension-kit/widgets/TabbedWorkspace/SuperSidebar.js.map +1 -0
  196. package/dependencies-local/extension-kit/widgets/TabbedWorkspace/context.d.ts +10 -0
  197. package/dependencies-local/extension-kit/widgets/TabbedWorkspace/context.js +168 -0
  198. package/dependencies-local/extension-kit/widgets/TabbedWorkspace/context.js.map +1 -0
  199. package/dependencies-local/extension-kit/widgets/TabbedWorkspace/detail.d.ts +9 -0
  200. package/dependencies-local/extension-kit/widgets/TabbedWorkspace/detail.js +66 -0
  201. package/dependencies-local/extension-kit/widgets/TabbedWorkspace/detail.js.map +1 -0
  202. package/dependencies-local/extension-kit/widgets/TabbedWorkspace/index.d.ts +33 -0
  203. package/dependencies-local/extension-kit/widgets/TabbedWorkspace/index.js +204 -0
  204. package/dependencies-local/extension-kit/widgets/TabbedWorkspace/index.js.map +1 -0
  205. package/dependencies-local/extension-kit/widgets/TabbedWorkspace/types.d.ts +74 -0
  206. package/dependencies-local/extension-kit/widgets/TabbedWorkspace/types.js +5 -0
  207. package/dependencies-local/extension-kit/widgets/TabbedWorkspace/types.js.map +1 -0
  208. package/dependencies-local/extension-kit/widgets/TabbedWorkspace/util.d.ts +1 -0
  209. package/dependencies-local/extension-kit/widgets/TabbedWorkspace/util.js +14 -0
  210. package/dependencies-local/extension-kit/widgets/TabbedWorkspace/util.js.map +1 -0
  211. package/dependencies-local/extension-kit/widgets/Workspace.d.ts +38 -0
  212. package/dependencies-local/extension-kit/widgets/Workspace.js +99 -0
  213. package/dependencies-local/extension-kit/widgets/Workspace.js.map +1 -0
  214. package/dependencies-local/extension-kit/widgets/panels/PanelSeparator.d.ts +12 -0
  215. package/dependencies-local/extension-kit/widgets/panels/PanelSeparator.js +57 -0
  216. package/dependencies-local/extension-kit/widgets/panels/PanelSeparator.js.map +1 -0
  217. package/dependencies-local/extension-kit/widgets/panels/index.d.ts +28 -0
  218. package/dependencies-local/extension-kit/widgets/panels/index.js +169 -0
  219. package/dependencies-local/extension-kit/widgets/panels/index.js.map +1 -0
  220. package/dist/common.d.ts +1 -0
  221. package/dist/common.js.map +1 -0
  222. package/dist/index.d.ts +6 -0
  223. package/dist/index.js.map +1 -0
  224. package/dist/migrations/initial.d.ts +3 -0
  225. package/dist/migrations/initial.js.map +1 -0
  226. package/dist/package.json +56 -0
  227. package/dist/types/cr.d.ts +216 -0
  228. package/dist/types/cr.js.map +1 -0
  229. package/dist/types/index.d.ts +7 -0
  230. package/dist/types/index.js.map +1 -0
  231. package/dist/types/item.d.ts +59 -0
  232. package/dist/types/item.js.map +1 -0
  233. package/dist/types/proposal.d.ts +64 -0
  234. package/dist/types/proposal.js.map +1 -0
  235. package/dist/types/register.d.ts +18 -0
  236. package/dist/types/register.js.map +1 -0
  237. package/dist/types/registry.d.ts +15 -0
  238. package/dist/types/registry.js.map +1 -0
  239. package/dist/types/stakeholder.d.ts +58 -0
  240. package/dist/types/stakeholder.js.map +1 -0
  241. package/dist/types/util.d.ts +21 -0
  242. package/dist/types/util.js +5 -0
  243. package/dist/types/util.js.map +1 -0
  244. package/dist/types/views.d.ts +157 -0
  245. package/dist/types/views.js +5 -0
  246. package/dist/types/views.js.map +1 -0
  247. package/dist/views/AnnotatedChange.d.ts +7 -0
  248. package/dist/views/AnnotatedChange.js.map +1 -0
  249. package/dist/views/BrowserCtx.d.ts +73 -0
  250. package/dist/views/BrowserCtx.js.map +1 -0
  251. package/dist/views/FilterCriteria/CRITERIA_CONFIGURATION.d.ts +17 -0
  252. package/dist/views/FilterCriteria/CRITERIA_CONFIGURATION.js.map +1 -0
  253. package/dist/views/FilterCriteria/criteriaGroupToQueryExpression.d.ts +6 -0
  254. package/dist/views/FilterCriteria/criteriaGroupToQueryExpression.js.map +1 -0
  255. package/dist/views/FilterCriteria/criteriaGroupToSummary.d.ts +5 -0
  256. package/dist/views/FilterCriteria/criteriaGroupToSummary.js.map +1 -0
  257. package/dist/views/FilterCriteria/criteriaToNodes.d.ts +24 -0
  258. package/dist/views/FilterCriteria/criteriaToNodes.js.map +1 -0
  259. package/dist/views/FilterCriteria/index.d.ts +23 -0
  260. package/dist/views/FilterCriteria/index.js.map +1 -0
  261. package/dist/views/FilterCriteria/models.d.ts +68 -0
  262. package/dist/views/FilterCriteria/models.js.map +1 -0
  263. package/dist/views/FilterCriteria/mutateGroup.d.ts +17 -0
  264. package/dist/views/FilterCriteria/mutateGroup.js.map +1 -0
  265. package/dist/views/GenericRelatedItemView.d.ts +6 -0
  266. package/dist/views/GenericRelatedItemView.js.map +1 -0
  267. package/dist/views/RegisterStakeholder.d.ts +9 -0
  268. package/dist/views/RegisterStakeholder.js.map +1 -0
  269. package/dist/views/RegisterVersion.d.ts +9 -0
  270. package/dist/views/RegisterVersion.js.map +1 -0
  271. package/dist/views/SearchQuery.d.ts +13 -0
  272. package/dist/views/SearchQuery.js.map +1 -0
  273. package/dist/views/change-request/ChangeRequestContext.d.ts +20 -0
  274. package/dist/views/change-request/ChangeRequestContext.js.map +1 -0
  275. package/dist/views/change-request/Proposals.d.ts +21 -0
  276. package/dist/views/change-request/Proposals.js.map +1 -0
  277. package/dist/views/change-request/objectChangeset.d.ts +31 -0
  278. package/dist/views/change-request/objectChangeset.js.map +1 -0
  279. package/dist/views/detail/ChangeRequest/Proposal.d.ts +0 -0
  280. package/dist/views/detail/ChangeRequest/Proposal.js.map +1 -0
  281. package/dist/views/detail/ChangeRequest/index.d.ts +13 -0
  282. package/dist/views/detail/ChangeRequest/index.js.map +1 -0
  283. package/dist/views/detail/ChangeRequest/transitions.d.ts +28 -0
  284. package/dist/views/detail/ChangeRequest/transitions.js.map +1 -0
  285. package/dist/views/detail/CustomView/index.d.ts +13 -0
  286. package/dist/views/detail/CustomView/index.js.map +1 -0
  287. package/dist/views/detail/RegisterHome/index.d.ts +5 -0
  288. package/dist/views/detail/RegisterHome/index.js.map +1 -0
  289. package/dist/views/detail/RegisterItem/RelatedItems.d.ts +14 -0
  290. package/{views → dist/views}/detail/RegisterItem/RelatedItems.js +5 -5
  291. package/dist/views/detail/RegisterItem/RelatedItems.js.map +1 -0
  292. package/dist/views/detail/RegisterItem/SupersedingItemMenu.js.map +1 -0
  293. package/dist/views/detail/RegisterItem/index.d.ts +13 -0
  294. package/{views → dist/views}/detail/RegisterItem/index.js +3 -2
  295. package/dist/views/detail/RegisterItem/index.js.map +1 -0
  296. package/dist/views/detail/RegisterMeta/RegisterMetaForm.d.ts +10 -0
  297. package/dist/views/detail/RegisterMeta/RegisterMetaForm.js.map +1 -0
  298. package/dist/views/detail/RegisterMeta/index.d.ts +10 -0
  299. package/dist/views/detail/RegisterMeta/index.js.map +1 -0
  300. package/dist/views/detail/index.d.ts +1 -0
  301. package/dist/views/detail/index.js.map +1 -0
  302. package/dist/views/diffing/InlineDiff.d.ts +12 -0
  303. package/dist/views/diffing/InlineDiff.js.map +1 -0
  304. package/dist/views/diffing/StructuredDiff.d.ts +11 -0
  305. package/dist/views/diffing/StructuredDiff.js.map +1 -0
  306. package/dist/views/hooks/useCustomView.d.ts +3 -0
  307. package/dist/views/hooks/useCustomView.js.map +1 -0
  308. package/dist/views/hooks/useItemClassConfig.d.ts +3 -0
  309. package/dist/views/hooks/useItemClassConfig.js.map +1 -0
  310. package/dist/views/hooks/useItemRef.d.ts +3 -0
  311. package/dist/views/hooks/useItemRef.js.map +1 -0
  312. package/dist/views/hooks/useSingleRegisterItemData.d.ts +3 -0
  313. package/dist/views/hooks/useSingleRegisterItemData.js.map +1 -0
  314. package/dist/views/index.d.ts +7 -0
  315. package/dist/views/index.js.map +1 -0
  316. package/dist/views/itemPathUtils.d.ts +52 -0
  317. package/dist/views/itemPathUtils.js.map +1 -0
  318. package/dist/views/itemQueryUtils.d.ts +11 -0
  319. package/dist/views/itemQueryUtils.js.map +1 -0
  320. package/dist/views/protocolRegistry.d.ts +12 -0
  321. package/dist/views/protocolRegistry.js.map +1 -0
  322. package/dist/views/sidebar/Browse/index.d.ts +11 -0
  323. package/dist/views/sidebar/Browse/index.js.map +1 -0
  324. package/dist/views/sidebar/Export/index.d.ts +5 -0
  325. package/dist/views/sidebar/Export/index.js.map +1 -0
  326. package/dist/views/sidebar/ListItem.d.ts +10 -0
  327. package/dist/views/sidebar/ListItem.js.map +1 -0
  328. package/dist/views/sidebar/Registration/index.d.ts +5 -0
  329. package/dist/views/sidebar/Registration/index.js.map +1 -0
  330. package/dist/views/sidebar/Search/index.d.ts +18 -0
  331. package/dist/views/sidebar/Search/index.js.map +1 -0
  332. package/dist/views/sidebar/index.d.ts +6 -0
  333. package/dist/views/sidebar/index.js.map +1 -0
  334. package/dist/views/util.d.ts +36 -0
  335. package/dist/views/util.js.map +1 -0
  336. package/package.json +2 -1
  337. package/react-visual-diff.d.ts +9 -0
  338. package/views/detail/RegisterItem/RelatedItems.js.map +0 -1
  339. package/views/detail/RegisterItem/index.js.map +0 -1
  340. /package/{common.d.ts → compiled/common.d.ts} +0 -0
  341. /package/{common.js.map → compiled/common.js.map} +0 -0
  342. /package/{index.d.ts → compiled/index.d.ts} +0 -0
  343. /package/{index.js.map → compiled/index.js.map} +0 -0
  344. /package/{migrations → compiled/migrations}/initial.d.ts +0 -0
  345. /package/{migrations → compiled/migrations}/initial.js.map +0 -0
  346. /package/{types → compiled/types}/cr.d.ts +0 -0
  347. /package/{types → compiled/types}/cr.js.map +0 -0
  348. /package/{types → compiled/types}/index.d.ts +0 -0
  349. /package/{types → compiled/types}/index.js.map +0 -0
  350. /package/{types → compiled/types}/item.d.ts +0 -0
  351. /package/{types → compiled/types}/item.js.map +0 -0
  352. /package/{types → compiled/types}/proposal.d.ts +0 -0
  353. /package/{types → compiled/types}/proposal.js.map +0 -0
  354. /package/{types → compiled/types}/register.d.ts +0 -0
  355. /package/{types → compiled/types}/register.js.map +0 -0
  356. /package/{types → compiled/types}/registry.d.ts +0 -0
  357. /package/{types → compiled/types}/registry.js.map +0 -0
  358. /package/{types → compiled/types}/stakeholder.d.ts +0 -0
  359. /package/{types → compiled/types}/stakeholder.js.map +0 -0
  360. /package/{types → compiled/types}/util.d.ts +0 -0
  361. /package/{types → compiled/types}/util.js.map +0 -0
  362. /package/{types → compiled/types}/views.d.ts +0 -0
  363. /package/{types → compiled/types}/views.js.map +0 -0
  364. /package/{views → compiled/views}/AnnotatedChange.d.ts +0 -0
  365. /package/{views → compiled/views}/AnnotatedChange.js.map +0 -0
  366. /package/{views → compiled/views}/BrowserCtx.d.ts +0 -0
  367. /package/{views → compiled/views}/BrowserCtx.js.map +0 -0
  368. /package/{views → compiled/views}/FilterCriteria/CRITERIA_CONFIGURATION.d.ts +0 -0
  369. /package/{views → compiled/views}/FilterCriteria/CRITERIA_CONFIGURATION.js.map +0 -0
  370. /package/{views → compiled/views}/FilterCriteria/criteriaGroupToQueryExpression.d.ts +0 -0
  371. /package/{views → compiled/views}/FilterCriteria/criteriaGroupToQueryExpression.js.map +0 -0
  372. /package/{views → compiled/views}/FilterCriteria/criteriaGroupToSummary.d.ts +0 -0
  373. /package/{views → compiled/views}/FilterCriteria/criteriaGroupToSummary.js.map +0 -0
  374. /package/{views → compiled/views}/FilterCriteria/criteriaToNodes.d.ts +0 -0
  375. /package/{views → compiled/views}/FilterCriteria/criteriaToNodes.js.map +0 -0
  376. /package/{views → compiled/views}/FilterCriteria/index.d.ts +0 -0
  377. /package/{views → compiled/views}/FilterCriteria/index.js.map +0 -0
  378. /package/{views → compiled/views}/FilterCriteria/models.d.ts +0 -0
  379. /package/{views → compiled/views}/FilterCriteria/models.js.map +0 -0
  380. /package/{views → compiled/views}/FilterCriteria/mutateGroup.d.ts +0 -0
  381. /package/{views → compiled/views}/FilterCriteria/mutateGroup.js.map +0 -0
  382. /package/{views → compiled/views}/GenericRelatedItemView.d.ts +0 -0
  383. /package/{views → compiled/views}/GenericRelatedItemView.js.map +0 -0
  384. /package/{views → compiled/views}/RegisterStakeholder.d.ts +0 -0
  385. /package/{views → compiled/views}/RegisterStakeholder.js.map +0 -0
  386. /package/{views → compiled/views}/RegisterVersion.d.ts +0 -0
  387. /package/{views → compiled/views}/RegisterVersion.js.map +0 -0
  388. /package/{views → compiled/views}/SearchQuery.d.ts +0 -0
  389. /package/{views → compiled/views}/SearchQuery.js.map +0 -0
  390. /package/{views → compiled/views}/change-request/ChangeRequestContext.d.ts +0 -0
  391. /package/{views → compiled/views}/change-request/ChangeRequestContext.js.map +0 -0
  392. /package/{views → compiled/views}/change-request/Proposals.d.ts +0 -0
  393. /package/{views → compiled/views}/change-request/Proposals.js.map +0 -0
  394. /package/{views → compiled/views}/change-request/objectChangeset.d.ts +0 -0
  395. /package/{views → compiled/views}/change-request/objectChangeset.js.map +0 -0
  396. /package/{views → compiled/views}/detail/ChangeRequest/Proposal.d.ts +0 -0
  397. /package/{views → compiled/views}/detail/ChangeRequest/Proposal.js.map +0 -0
  398. /package/{views → compiled/views}/detail/ChangeRequest/index.d.ts +0 -0
  399. /package/{views → compiled/views}/detail/ChangeRequest/index.js.map +0 -0
  400. /package/{views → compiled/views}/detail/ChangeRequest/transitions.d.ts +0 -0
  401. /package/{views → compiled/views}/detail/ChangeRequest/transitions.js.map +0 -0
  402. /package/{views → compiled/views}/detail/CustomView/index.d.ts +0 -0
  403. /package/{views → compiled/views}/detail/CustomView/index.js.map +0 -0
  404. /package/{views → compiled/views}/detail/RegisterHome/index.d.ts +0 -0
  405. /package/{views → compiled/views}/detail/RegisterHome/index.js.map +0 -0
  406. /package/{views → compiled/views}/detail/RegisterItem/SupersedingItemMenu.d.ts +0 -0
  407. /package/{views → compiled/views}/detail/RegisterItem/SupersedingItemMenu.js.map +0 -0
  408. /package/{views → compiled/views}/detail/RegisterItem/index.d.ts +0 -0
  409. /package/{views → compiled/views}/detail/RegisterMeta/RegisterMetaForm.d.ts +0 -0
  410. /package/{views → compiled/views}/detail/RegisterMeta/RegisterMetaForm.js.map +0 -0
  411. /package/{views → compiled/views}/detail/RegisterMeta/index.d.ts +0 -0
  412. /package/{views → compiled/views}/detail/RegisterMeta/index.js.map +0 -0
  413. /package/{views → compiled/views}/detail/index.d.ts +0 -0
  414. /package/{views → compiled/views}/detail/index.js.map +0 -0
  415. /package/{views → compiled/views}/diffing/InlineDiff.d.ts +0 -0
  416. /package/{views → compiled/views}/diffing/InlineDiff.js.map +0 -0
  417. /package/{views → compiled/views}/diffing/StructuredDiff.d.ts +0 -0
  418. /package/{views → compiled/views}/diffing/StructuredDiff.js.map +0 -0
  419. /package/{views → compiled/views}/hooks/useCustomView.d.ts +0 -0
  420. /package/{views → compiled/views}/hooks/useCustomView.js.map +0 -0
  421. /package/{views → compiled/views}/hooks/useItemClassConfig.d.ts +0 -0
  422. /package/{views → compiled/views}/hooks/useItemClassConfig.js.map +0 -0
  423. /package/{views → compiled/views}/hooks/useItemRef.d.ts +0 -0
  424. /package/{views → compiled/views}/hooks/useItemRef.js.map +0 -0
  425. /package/{views → compiled/views}/hooks/useSingleRegisterItemData.d.ts +0 -0
  426. /package/{views → compiled/views}/hooks/useSingleRegisterItemData.js.map +0 -0
  427. /package/{views → compiled/views}/index.d.ts +0 -0
  428. /package/{views → compiled/views}/index.js.map +0 -0
  429. /package/{views → compiled/views}/itemPathUtils.d.ts +0 -0
  430. /package/{views → compiled/views}/itemPathUtils.js.map +0 -0
  431. /package/{views → compiled/views}/itemQueryUtils.d.ts +0 -0
  432. /package/{views → compiled/views}/itemQueryUtils.js.map +0 -0
  433. /package/{views → compiled/views}/protocolRegistry.d.ts +0 -0
  434. /package/{views → compiled/views}/protocolRegistry.js.map +0 -0
  435. /package/{views → compiled/views}/sidebar/Browse/index.d.ts +0 -0
  436. /package/{views → compiled/views}/sidebar/Browse/index.js.map +0 -0
  437. /package/{views → compiled/views}/sidebar/Export/index.d.ts +0 -0
  438. /package/{views → compiled/views}/sidebar/Export/index.js.map +0 -0
  439. /package/{views → compiled/views}/sidebar/ListItem.d.ts +0 -0
  440. /package/{views → compiled/views}/sidebar/ListItem.js.map +0 -0
  441. /package/{views → compiled/views}/sidebar/Registration/index.d.ts +0 -0
  442. /package/{views → compiled/views}/sidebar/Registration/index.js.map +0 -0
  443. /package/{views → compiled/views}/sidebar/Search/index.d.ts +0 -0
  444. /package/{views → compiled/views}/sidebar/Search/index.js.map +0 -0
  445. /package/{views → compiled/views}/sidebar/index.d.ts +0 -0
  446. /package/{views → compiled/views}/sidebar/index.js.map +0 -0
  447. /package/{views → compiled/views}/util.d.ts +0 -0
  448. /package/{views → compiled/views}/util.js.map +0 -0
  449. /package/{types/util.js → dependencies-local/extension-kit/i18n/types.js} +0 -0
  450. /package/{types/views.js → dependencies-local/extension-kit/types/binary-invocation.js} +0 -0
  451. /package/{common.js → dist/common.js} +0 -0
  452. /package/{index.js → dist/index.js} +0 -0
  453. /package/{migrations → dist/migrations}/initial.js +0 -0
  454. /package/{types → dist/types}/cr.js +0 -0
  455. /package/{types → dist/types}/index.js +0 -0
  456. /package/{types → dist/types}/item.js +0 -0
  457. /package/{types → dist/types}/proposal.js +0 -0
  458. /package/{types → dist/types}/register.js +0 -0
  459. /package/{types → dist/types}/registry.js +0 -0
  460. /package/{types → dist/types}/stakeholder.js +0 -0
  461. /package/{views → dist/views}/AnnotatedChange.js +0 -0
  462. /package/{views → dist/views}/BrowserCtx.js +0 -0
  463. /package/{views → dist/views}/FilterCriteria/CRITERIA_CONFIGURATION.js +0 -0
  464. /package/{views → dist/views}/FilterCriteria/criteriaGroupToQueryExpression.js +0 -0
  465. /package/{views → dist/views}/FilterCriteria/criteriaGroupToSummary.js +0 -0
  466. /package/{views → dist/views}/FilterCriteria/criteriaToNodes.js +0 -0
  467. /package/{views → dist/views}/FilterCriteria/index.js +0 -0
  468. /package/{views → dist/views}/FilterCriteria/models.js +0 -0
  469. /package/{views → dist/views}/FilterCriteria/mutateGroup.js +0 -0
  470. /package/{views → dist/views}/GenericRelatedItemView.js +0 -0
  471. /package/{views → dist/views}/RegisterStakeholder.js +0 -0
  472. /package/{views → dist/views}/RegisterVersion.js +0 -0
  473. /package/{views → dist/views}/SearchQuery.js +0 -0
  474. /package/{views → dist/views}/change-request/ChangeRequestContext.js +0 -0
  475. /package/{views → dist/views}/change-request/Proposals.js +0 -0
  476. /package/{views → dist/views}/change-request/objectChangeset.js +0 -0
  477. /package/{views → dist/views}/detail/ChangeRequest/Proposal.js +0 -0
  478. /package/{views → dist/views}/detail/ChangeRequest/index.js +0 -0
  479. /package/{views → dist/views}/detail/ChangeRequest/transitions.js +0 -0
  480. /package/{views → dist/views}/detail/CustomView/index.js +0 -0
  481. /package/{views → dist/views}/detail/RegisterHome/index.js +0 -0
  482. /package/{views/detail/RegisterItem/RelatedItems.d.ts → dist/views/detail/RegisterItem/SupersedingItemMenu.d.ts} +0 -0
  483. /package/{views → dist/views}/detail/RegisterItem/SupersedingItemMenu.js +0 -0
  484. /package/{views → dist/views}/detail/RegisterMeta/RegisterMetaForm.js +0 -0
  485. /package/{views → dist/views}/detail/RegisterMeta/index.js +0 -0
  486. /package/{views → dist/views}/detail/index.js +0 -0
  487. /package/{views → dist/views}/diffing/InlineDiff.js +0 -0
  488. /package/{views → dist/views}/diffing/StructuredDiff.js +0 -0
  489. /package/{views → dist/views}/hooks/useCustomView.js +0 -0
  490. /package/{views → dist/views}/hooks/useItemClassConfig.js +0 -0
  491. /package/{views → dist/views}/hooks/useItemRef.js +0 -0
  492. /package/{views → dist/views}/hooks/useSingleRegisterItemData.js +0 -0
  493. /package/{views → dist/views}/index.js +0 -0
  494. /package/{views → dist/views}/itemPathUtils.js +0 -0
  495. /package/{views → dist/views}/itemQueryUtils.js +0 -0
  496. /package/{views → dist/views}/protocolRegistry.js +0 -0
  497. /package/{views → dist/views}/sidebar/Browse/index.js +0 -0
  498. /package/{views → dist/views}/sidebar/Export/index.js +0 -0
  499. /package/{views → dist/views}/sidebar/ListItem.js +0 -0
  500. /package/{views → dist/views}/sidebar/Registration/index.js +0 -0
  501. /package/{views → dist/views}/sidebar/Search/index.js +0 -0
  502. /package/{views → dist/views}/sidebar/index.js +0 -0
  503. /package/{views → dist/views}/util.js +0 -0
@@ -0,0 +1,47 @@
1
+ /** @jsx jsx */
2
+ /** @jsxFrag React.Fragment */
3
+ import React, { useContext } from 'react';
4
+ import { jsx } from '@emotion/react';
5
+ import { Button, ButtonGroup } from '@blueprintjs/core';
6
+ import { DatasetContext } from '@riboseinc/paneron-extension-kit/context';
7
+ import { BrowserCtx } from '../../BrowserCtx';
8
+ export const ExportSidebarBlock = function () {
9
+ const { writeFileToFilesystem, getObjectData, getBlob } = useContext(DatasetContext);
10
+ const { selectedRegisterItem } = useContext(BrowserCtx);
11
+ async function handleExport(bufferData) {
12
+ if (!writeFileToFilesystem) {
13
+ throw new Error("Unable to export: filesystem write function unavailable");
14
+ }
15
+ await writeFileToFilesystem({
16
+ dialogOpts: {
17
+ prompt: "Choose location to export to",
18
+ filters: [{ name: 'All files', extensions: ['*'] }],
19
+ },
20
+ bufferData,
21
+ });
22
+ }
23
+ async function getExportedData(formatConfig) {
24
+ if (!selectedRegisterItem) {
25
+ throw new Error("Unable to export item: current item data not available");
26
+ }
27
+ if (!getBlob) {
28
+ throw new Error("Unable to export item: no blob helper");
29
+ }
30
+ if (formatConfig) {
31
+ return await formatConfig.exportItem(selectedRegisterItem.item, { getObjectData, getBlob });
32
+ }
33
+ else {
34
+ return await getBlob(JSON.stringify(selectedRegisterItem.item));
35
+ }
36
+ }
37
+ if (!selectedRegisterItem) {
38
+ return jsx(React.Fragment, null);
39
+ }
40
+ else {
41
+ return (jsx(ButtonGroup, { vertical: true, fill: true },
42
+ (selectedRegisterItem?.itemClass?.exportFormats ?? []).map((exportFormat, idx) => jsx(Button, { fill: true, key: idx, alignText: "left", onClick: async () => await handleExport(await getExportedData(exportFormat)) }, exportFormat.label)),
43
+ jsx(Button, { fill: true, alignText: "left", onClick: async () => await handleExport(await getExportedData()) }, "JSON")));
44
+ }
45
+ };
46
+ export default ExportSidebarBlock;
47
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1,23 @@
1
+ /** @jsx jsx */
2
+ /** @jsxFrag React.Fragment */
3
+ import { useContext } from 'react';
4
+ import { jsx, css } from '@emotion/react';
5
+ import { BrowserCtx } from '../BrowserCtx';
6
+ import { itemPathToItemRef } from '../itemPathUtils';
7
+ /** Register item list view. */
8
+ const ListItem = function ({ objectData, objectPath }) {
9
+ const { subregisters, getRelatedItemClassConfiguration } = useContext(BrowserCtx);
10
+ const itemRef = itemPathToItemRef(subregisters !== undefined, objectPath);
11
+ const clsConfig = getRelatedItemClassConfiguration(itemRef.classID);
12
+ const ListItemView = clsConfig.itemView;
13
+ const itemPayload = objectData?.data;
14
+ const itemView = itemPayload
15
+ ? jsx(ListItemView, { itemData: itemPayload, itemRef: itemRef })
16
+ : jsx("span", { css: css `opacity: .4` },
17
+ "(missing item data at ",
18
+ objectPath,
19
+ ")");
20
+ return itemView;
21
+ };
22
+ export default ListItem;
23
+ //# sourceMappingURL=ListItem.js.map
@@ -0,0 +1,114 @@
1
+ /** @jsx jsx */
2
+ /** @jsxFrag React.Fragment */
3
+ import React, { useEffect, useContext } from 'react';
4
+ import { jsx, css } from '@emotion/react';
5
+ import { Icon } from '@blueprintjs/core';
6
+ import { TabbedWorkspaceContext } from '@riboseinc/paneron-extension-kit/widgets/TabbedWorkspace/context';
7
+ import { DatasetContext } from '@riboseinc/paneron-extension-kit/context';
8
+ //import { DatasetContext } from '@riboseinc/paneron-extension-kit/context';
9
+ import makeSearchResultList from '@riboseinc/paneron-extension-kit/widgets/SearchResultList';
10
+ import { hasSubmitterInput, isDisposed, hadBeenProposed } from '../../../types/cr';
11
+ import { BrowserCtx } from '../../BrowserCtx';
12
+ import { itemRefToItemPath } from '../../itemPathUtils';
13
+ import { Datestamp } from '../../../views/util';
14
+ import { Protocols } from '../../protocolRegistry';
15
+ export const PendingChangeRequestsBlock = function () {
16
+ const { stakeholder } = useContext(BrowserCtx);
17
+ const stakeholderUsername = stakeholder?.gitServerUsername;
18
+ const stakeholderCondition = stakeholderUsername
19
+ ? `obj.submittingStakeholderGitServerUsername === "${stakeholderUsername}"`
20
+ : 'false';
21
+ // Don’t show drafts in the list of pending proposals, unless it’s user’s own drafts.
22
+ const query = `!obj.timeDisposed && (obj.state !== "draft" || ${stakeholderCondition})`;
23
+ return jsx(ChangeRequestListBlock, { impliedQuery: query });
24
+ };
25
+ export const ChangeRequestHistoryBlock = function () {
26
+ return jsx(ChangeRequestListBlock, { impliedQuery: DISPOSED_CR_QUERY });
27
+ };
28
+ const CR_BASE_QUERY = 'objPath.indexOf("/proposals/") === 0 && objPath.endsWith("main.yaml")';
29
+ const DISPOSED_CR_QUERY = 'obj.timeDisposed !== undefined && obj.timeDisposed !== null';
30
+ const ChangeRequestListBlock = function ({ impliedQuery }) {
31
+ const { usePersistentDatasetStateReducer } = useContext(DatasetContext);
32
+ const { spawnTab, focusedTabURI } = useContext(TabbedWorkspaceContext);
33
+ const { selectedRegisterItem } = useContext(BrowserCtx);
34
+ const initialState = {
35
+ quickSubstringQuery: '',
36
+ selectedItemPath: null,
37
+ };
38
+ const itemPath = selectedRegisterItem
39
+ ? itemRefToItemPath(selectedRegisterItem.ref)
40
+ : selectedRegisterItem;
41
+ // ^ Adopt undefined value if no data is available, null if item is not selected
42
+ const [state, dispatch,] = usePersistentDatasetStateReducer(`change-request-list-block-${itemPath === null ? 'global' : itemPath}-${impliedQuery}`, undefined, undefined, (prevState, action) => {
43
+ switch (action.type) {
44
+ case 'update-quick-substring-query':
45
+ return {
46
+ ...prevState,
47
+ quickSubstringQuery: action.payload.substring,
48
+ };
49
+ case 'select-item':
50
+ return {
51
+ ...prevState,
52
+ selectedItemPath: action.payload.itemPath,
53
+ };
54
+ default:
55
+ throw new Error("Unexpected search state");
56
+ }
57
+ }, initialState, null);
58
+ const query = itemPath
59
+ ? `return ${CR_BASE_QUERY} && ${impliedQuery} && obj.items["${itemPath}"] !== undefined`
60
+ : itemPath === null
61
+ ? `return ${CR_BASE_QUERY} && ${impliedQuery}`
62
+ // If item data is loading or unavailable, don’t show any CRs
63
+ // to avoid flashing all CRs during item switching.
64
+ : `return false`;
65
+ const selectedCRPath = focusedTabURI && focusedTabURI.startsWith(`${Protocols.CHANGE_REQUEST}:`)
66
+ ? focusedTabURI.split(':')[1]
67
+ : null;
68
+ useEffect(() => {
69
+ if (itemPath !== undefined && selectedCRPath) {
70
+ setTimeout(() => {
71
+ dispatch({ type: 'select-item', payload: { itemPath: selectedCRPath } });
72
+ }, 500);
73
+ }
74
+ }, [itemPath, selectedCRPath]);
75
+ return (jsx(ChangeRequestSearchResultList, { queryExpression: query, selectedItemPath: state.selectedItemPath, onSelectItem: itemPath => dispatch({ type: 'select-item', payload: { itemPath } }), onOpenItem: (itemPath) => spawnTab(`${Protocols.CHANGE_REQUEST}:${itemPath}`) }));
76
+ };
77
+ const CRHistoryItem = function ({ objectData }) {
78
+ const { activeChangeRequestID, setActiveChangeRequestID } = useContext(BrowserCtx);
79
+ const isActive = activeChangeRequestID === objectData.id;
80
+ const canToggle = activeChangeRequestID == null || isActive;
81
+ const justification = hasSubmitterInput(objectData) ? objectData.justification : 'N/A';
82
+ return jsx("span", { title: `${justification} (proposal ID: ${objectData.id})` },
83
+ jsx(Icon, { icon: isActive ? 'record' : 'dot', css: css `vertical-align: top; ${canToggle ? 'cursor: pointer; transition: all .2s;' : 'opacity: .5;'}`, title: canToggle
84
+ ? isActive
85
+ ? "Click to deactivate this proposal"
86
+ : "Click to activate this proposal"
87
+ : undefined, onClick: canToggle
88
+ ? () => setActiveChangeRequestID?.(activeChangeRequestID === objectData.id ? null : objectData.id)
89
+ : undefined, intent: isActive
90
+ ? 'danger'
91
+ : canToggle
92
+ ? 'primary'
93
+ : undefined }),
94
+ "\u00A0",
95
+ isDisposed(objectData)
96
+ ? jsx(React.Fragment, null,
97
+ jsx(Datestamp, { date: objectData.timeDisposed, title: "Disposed" }),
98
+ ": ")
99
+ : hadBeenProposed(objectData)
100
+ ? jsx(React.Fragment, null,
101
+ jsx(Datestamp, { date: objectData.timeProposed, title: "Proposed" }),
102
+ ": ")
103
+ : null,
104
+ justification);
105
+ };
106
+ const ChangeRequestSearchResultList = makeSearchResultList(CRHistoryItem, (objPath) => ({
107
+ name: 'Prp.',
108
+ iconProps: {
109
+ icon: 'lightbulb',
110
+ title: objPath,
111
+ htmlTitle: `icon for proposal at ${objPath}`,
112
+ },
113
+ }));
114
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1,100 @@
1
+ /** @jsx jsx */
2
+ /** @jsxFrag React.Fragment */
3
+ import { useContext, useEffect } from 'react';
4
+ import { jsx, css } from '@emotion/react';
5
+ import { DatasetContext } from '@riboseinc/paneron-extension-kit/context';
6
+ import { TabbedWorkspaceContext } from '@riboseinc/paneron-extension-kit/widgets/TabbedWorkspace/context';
7
+ import makeSearchResultList from '@riboseinc/paneron-extension-kit/widgets/SearchResultList';
8
+ import useDebounce from '@riboseinc/paneron-extension-kit/useDebounce';
9
+ import { BLANK_CRITERIA } from '../../FilterCriteria/models';
10
+ import criteriaGroupToQueryExpression from '../../FilterCriteria/criteriaGroupToQueryExpression';
11
+ import { RAW_SUBSTRING } from '../../FilterCriteria/CRITERIA_CONFIGURATION';
12
+ import { ChangeRequestContext } from '../../change-request/ChangeRequestContext';
13
+ import { itemRefToItemPath } from '../../itemPathUtils';
14
+ import { getRegisterItemQuery } from '../../itemQueryUtils';
15
+ import { BrowserCtx } from '../../BrowserCtx';
16
+ import SearchQuery from '../../SearchQuery';
17
+ import ListItem from '../ListItem';
18
+ import { Protocols } from '../../protocolRegistry';
19
+ const Search = function ({ implicitCriteria, availableClassIDs, stateName, onOpenItem, className, style }) {
20
+ const { usePersistentDatasetStateReducer } = useContext(DatasetContext);
21
+ const { spawnTab } = useContext(TabbedWorkspaceContext);
22
+ const { keyExpression, itemClasses, subregisters, selectedRegisterItem } = useContext(BrowserCtx);
23
+ const { changeRequest } = useContext(ChangeRequestContext);
24
+ const initialState = {
25
+ query: { criteria: BLANK_CRITERIA },
26
+ quickSubstringQuery: '',
27
+ selectedItemPath: null,
28
+ };
29
+ const [state, dispatch, stateRecalled] = usePersistentDatasetStateReducer(stateName ?? 'search-sidebar', undefined, undefined, (prevState, action) => {
30
+ switch (action.type) {
31
+ case 'update-query':
32
+ return {
33
+ ...prevState,
34
+ query: action.payload.query,
35
+ };
36
+ case 'update-quick-substring-query':
37
+ return {
38
+ ...prevState,
39
+ quickSubstringQuery: action.payload.substring,
40
+ };
41
+ case 'select-item':
42
+ return {
43
+ ...prevState,
44
+ selectedItemPath: action.payload.itemPath,
45
+ };
46
+ default:
47
+ throw new Error("Unexpected search state");
48
+ }
49
+ }, initialState, null);
50
+ const selectedItemPath = selectedRegisterItem?.ref
51
+ ? itemRefToItemPath(selectedRegisterItem.ref, changeRequest?.id)
52
+ : null;
53
+ useEffect(() => {
54
+ if (selectedItemPath) {
55
+ dispatch({ type: 'select-item', payload: { itemPath: selectedItemPath } });
56
+ }
57
+ }, [selectedItemPath]);
58
+ const quickSearchString = (state.quickSubstringQuery ?? '').trim();
59
+ const withSearchString = state.query.criteria.criteria.length < 1 && quickSearchString !== ''
60
+ ? {
61
+ require: 'all',
62
+ criteria: [
63
+ {
64
+ key: 'raw-substring',
65
+ query: RAW_SUBSTRING.toQuery({ substring: quickSearchString }, { itemClasses, subregisters }),
66
+ },
67
+ ],
68
+ }
69
+ : state.query.criteria;
70
+ const withImplicit = implicitCriteria
71
+ ? {
72
+ require: 'all',
73
+ criteria: [implicitCriteria, withSearchString],
74
+ }
75
+ : withSearchString;
76
+ const effectiveQueryExpression = withImplicit.criteria.length > 0
77
+ ? criteriaGroupToQueryExpression(withImplicit)
78
+ // If no criteria provided, don’t show anything by default.
79
+ : 'false';
80
+ const stateRecalledDebounced = useDebounce(stateRecalled, 100);
81
+ const queryExpressionDebounced = useDebounce(effectiveQueryExpression, stateRecalledDebounced ? 500 : 0);
82
+ const datasetObjectSearchQueryExpression = queryExpressionDebounced != 'false'
83
+ ? getRegisterItemQuery(queryExpressionDebounced, changeRequest ?? undefined)
84
+ : 'return false';
85
+ return (jsx("div", { css: css `display: flex; flex-flow: column nowrap;`, className: className, style: style },
86
+ jsx(SearchQuery, { rootCriteria: state.query.criteria, quickSearchString: state.quickSubstringQuery, availableClassIDs: availableClassIDs, onCriteriaChange: criteria => dispatch({ type: 'update-query', payload: { query: { criteria } } }), onQuickSearchStringChange: substring => dispatch({ type: 'update-quick-substring-query', payload: { substring } }), css: css `padding: 5px;` }),
87
+ jsx("div", { css: css `flex: 1;` }, stateRecalledDebounced
88
+ ? jsx(SearchResultList, { queryExpression: datasetObjectSearchQueryExpression, keyExpression: keyExpression, selectedItemPath: state.selectedItemPath, onSelectItem: itemPath => dispatch({ type: 'select-item', payload: { itemPath } }), onOpenItem: onOpenItem ?? (itemPath => spawnTab(`${Protocols.ITEM_DETAILS}:${itemPath}`)) })
89
+ : null)));
90
+ };
91
+ const SearchResultList = makeSearchResultList(ListItem, (objPath) => ({
92
+ name: 'reg. item',
93
+ iconProps: {
94
+ icon: 'document',
95
+ title: objPath,
96
+ htmlTitle: `Icon for item at ${objPath}`,
97
+ },
98
+ }));
99
+ export default Search;
100
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1,73 @@
1
+ /** @jsx jsx */
2
+ /** @jsxFrag React.Fragment */
3
+ import React from 'react';
4
+ import { jsx, css } from '@emotion/react';
5
+ import { Icon } from '@blueprintjs/core';
6
+ import HelpTooltip from '@riboseinc/paneron-extension-kit/widgets/HelpTooltip';
7
+ import Browse from './Browse';
8
+ import Search from './Search';
9
+ import { PendingChangeRequestsBlock, ChangeRequestHistoryBlock } from './Registration';
10
+ import Export from './Export';
11
+ export const sidebarIDs = [
12
+ 'Browse',
13
+ 'Registration',
14
+ 'Export',
15
+ ];
16
+ export const sidebarConfig = {
17
+ Browse: {
18
+ icon: () => jsx(Icon, { icon: "list" }),
19
+ title: "Register items",
20
+ blocks: [{
21
+ key: 'browse',
22
+ title: jsx("div", { css: css `display: flex; justify-content: space-between` },
23
+ "Preset searches",
24
+ jsx(HelpTooltip, { content: "Browse register items by pre-made categories" })),
25
+ content: jsx(Browse, { css: css `position: absolute; inset: 0;` }),
26
+ nonCollapsible: false,
27
+ // These have to have height specified due to absolute positioning.
28
+ height: 400,
29
+ }, {
30
+ key: 'search',
31
+ title: "New search",
32
+ content: jsx(Search, { css: css `position: absolute; inset: 0;` }),
33
+ nonCollapsible: false,
34
+ height: 400,
35
+ }],
36
+ },
37
+ Registration: {
38
+ icon: () => jsx(Icon, { icon: "lightbulb" }),
39
+ title: "Proposals",
40
+ blocks: [{
41
+ key: 'pending-crs',
42
+ title: jsx("div", { css: css `display: flex; justify-content: space-between` },
43
+ "Pending proposals",
44
+ jsx(HelpTooltip, { content: "Proposals pending decision. If a register item is selected, only proposals affecting that item are shown." })),
45
+ content: jsx(PendingChangeRequestsBlock, null),
46
+ height: 300,
47
+ }, {
48
+ key: 'cr-history',
49
+ title: jsx("div", { css: css `display: flex; justify-content: space-between` },
50
+ "History",
51
+ jsx(HelpTooltip, { content: "Resolved proposals. If a register item is selected, only proposals affecting that item are shown." })),
52
+ content: jsx(ChangeRequestHistoryBlock, null),
53
+ height: 300,
54
+ }],
55
+ },
56
+ Export: {
57
+ icon: () => jsx(Icon, { icon: "changes" }),
58
+ title: "Import and export",
59
+ blocks: [{
60
+ key: 'export',
61
+ title: "Export",
62
+ content: jsx(Export, null),
63
+ nonCollapsible: true,
64
+ }, {
65
+ key: 'import',
66
+ title: "Import",
67
+ content: jsx(React.Fragment, null, "Import TBD"),
68
+ nonCollapsible: false,
69
+ collapsedByDefault: true,
70
+ }],
71
+ },
72
+ };
73
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1,63 @@
1
+ /** @jsx jsx */
2
+ /** @jsxFrag React.Fragment */
3
+ //import log from 'electron-log';
4
+ import format from 'date-fns/format';
5
+ import { useContext } from 'react';
6
+ import { Helmet } from 'react-helmet';
7
+ import { css, jsx } from '@emotion/react';
8
+ import { FormGroup, Colors } from '@blueprintjs/core';
9
+ import { DatasetContext } from '@riboseinc/paneron-extension-kit/context';
10
+ export { GenericRelatedItemView } from './GenericRelatedItemView';
11
+ /**
12
+ * Get give string truncated & with ellipsis appended
13
+ * if its length exceeds given number of characters.
14
+ */
15
+ export function maybeEllipsizeString(str, maxLength = 20) {
16
+ return str.length > maxLength
17
+ ? `${str.slice(0, maxLength)}…`
18
+ : str;
19
+ }
20
+ export const RegisterHelmet = function (props) {
21
+ const { title: datasetTitle } = useContext(DatasetContext);
22
+ return (jsx(Helmet, { titleTemplate: `%s in ${datasetTitle} register`, defaultTitle: `${datasetTitle} register` }, props.children));
23
+ };
24
+ export const PropertyDetailView = function ({ title, inline, children, secondaryTitle }) {
25
+ return jsx(FormGroup, { label: `${title}:`, labelInfo: secondaryTitle, css: css `&, &.bp4-inline { label.bp4-label { font-weight: bold; line-height: unset } }`, inline: inline }, children);
26
+ };
27
+ /** Formats given date as a span with tooltip set to full ISO date & time. */
28
+ export const Datestamp = function ({ date, title, className }) {
29
+ const asString = formatDate(date);
30
+ return jsx("span", { className: className, title: `${title ? `${title}: ` : ''}${date?.toString() ?? 'N/A'}` }, asString);
31
+ };
32
+ /** Foramts given date as plain text. */
33
+ export function formatDate(date) {
34
+ try {
35
+ return format(date, 'yyyy-MM-dd');
36
+ }
37
+ catch (e) {
38
+ return `Invalid date (${e})`;
39
+ }
40
+ }
41
+ export const _getRelatedClass = (classes) => {
42
+ return (clsID) => {
43
+ const cfg = classes[clsID];
44
+ return {
45
+ title: cfg.meta.title,
46
+ // TODO: The itemView/listItemView inconsistency is annoying
47
+ itemView: cfg.views.listItemView,
48
+ };
49
+ };
50
+ };
51
+ /**
52
+ * Suitable for use as tab contents for TabbedWorkspace.
53
+ * Provides top bar with actions and main content.
54
+ */
55
+ export const TabContentsWithActions = function ({ actions, main, className }) {
56
+ return (jsx("div", { css: css `
57
+ position: absolute; inset: 0;
58
+ display: flex; flex-flow: column nowrap;
59
+ `, className: className },
60
+ jsx("div", { css: css `flex: 0; padding: 10px; display: flex; flex-flow: row wrap; gap: 10px;` }, actions),
61
+ jsx("div", { css: css `position: relative; flex: 1; padding: 10px; overflow-y: auto; background: ${Colors.GRAY5};` }, main)));
62
+ };
63
+ //# sourceMappingURL=util.js.map
@@ -0,0 +1,8 @@
1
+ import React from 'react';
2
+ import { GlobalSettings } from './settings';
3
+ interface ContextSpec {
4
+ settings: GlobalSettings;
5
+ refresh: () => void;
6
+ }
7
+ export declare const GlobalSettingsContext: React.Context<ContextSpec>;
8
+ export {};
@@ -0,0 +1,19 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.GlobalSettingsContext = void 0;
7
+
8
+ var _react = _interopRequireDefault(require("react"));
9
+
10
+ var _settings = require("./settings");
11
+
12
+ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
13
+
14
+ const GlobalSettingsContext = _react.default.createContext({
15
+ settings: _settings.INITIAL_GLOBAL_SETTINGS,
16
+ refresh: () => void 0
17
+ });
18
+
19
+ exports.GlobalSettingsContext = GlobalSettingsContext;
@@ -0,0 +1 @@
1
+ {"version":3,"file":"SettingsContext.js","sourceRoot":"","sources":["../src/SettingsContext.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAkB,uBAAuB,EAAE,MAAM,YAAY,CAAC;AAQrE,MAAM,CAAC,MAAM,qBAAqB,GAAG,KAAK,CAAC,aAAa,CAAc;IACpE,QAAQ,EAAE,uBAAuB;IACjC,OAAO,EAAE,GAAG,EAAE,CAAC,KAAK,CAAC;CACtB,CAAC,CAAC","sourcesContent":["import React from 'react';\nimport { GlobalSettings, INITIAL_GLOBAL_SETTINGS } from './settings';\n\n\ninterface ContextSpec {\n settings: GlobalSettings\n refresh: () => void\n}\n\nexport const GlobalSettingsContext = React.createContext<ContextSpec>({\n settings: INITIAL_GLOBAL_SETTINGS,\n refresh: () => void 0,\n});\n"]}
@@ -0,0 +1,11 @@
1
+ import React from 'react';
2
+ import { DatasetContext as DatasetContextSpec } from './types';
3
+ export declare function withDatasetContext(Component: React.FC<any>): React.FC<DatasetContextSpec>;
4
+ /**
5
+ * Provides functions for interacting with dataset data,
6
+ * and by extension the underlying repositories.
7
+ *
8
+ * NOTE: If your IDE does not expose TSDoc docstrings for DatasetContext
9
+ * members, consult DatasetContextSpec type definition.
10
+ */
11
+ export declare const DatasetContext: React.Context<DatasetContextSpec>;
@@ -0,0 +1,133 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.withDatasetContext = withDatasetContext;
7
+ exports.DatasetContext = void 0;
8
+
9
+ var _electronLog = _interopRequireDefault(require("electron-log"));
10
+
11
+ var _react = _interopRequireDefault(require("react"));
12
+
13
+ var _settings = require("./settings");
14
+
15
+ var _indexes = require("./types/indexes");
16
+
17
+ var _usePersistentStateReducer = require("./usePersistentStateReducer");
18
+
19
+ var _useTimeTravelingPersistentStateReducer = require("./useTimeTravelingPersistentStateReducer");
20
+
21
+ var _SettingsContext = require("./SettingsContext");
22
+
23
+ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
24
+
25
+ function getValueHookPlaceholder(value) {
26
+ return () => ({
27
+ value,
28
+ errors: [],
29
+ isUpdating: false,
30
+ _reqCounter: -1,
31
+ refresh: () => {}
32
+ });
33
+ }
34
+
35
+ const INITIAL_CONTEXT = {
36
+ title: '',
37
+ logger: _electronLog.default,
38
+ performOperation: (_, f) => f,
39
+ requestCopiedObjects: async () => ({}),
40
+ useObjectData: getValueHookPlaceholder({
41
+ data: {}
42
+ }),
43
+ openExternalLink: async () => void 0,
44
+ getObjectData: async () => ({
45
+ data: {}
46
+ }),
47
+ useRemoteUsername: getValueHookPlaceholder({}),
48
+ useDecodedBlob: () => ({
49
+ asString: ''
50
+ }),
51
+ useIndexDescription: getValueHookPlaceholder({
52
+ status: _indexes.INITIAL_INDEX_STATUS
53
+ }),
54
+ useFilteredIndex: getValueHookPlaceholder({
55
+ indexID: ''
56
+ }),
57
+ useObjectPathFromFilteredIndex: getValueHookPlaceholder({
58
+ objectPath: ''
59
+ }),
60
+ getObjectPathFromFilteredIndex: async () => ({
61
+ objectPath: ''
62
+ }),
63
+ useFilteredIndexPosition: getValueHookPlaceholder({
64
+ position: null
65
+ }),
66
+ getFilteredIndexPosition: async () => ({
67
+ position: null
68
+ }),
69
+ useMapReducedData: getValueHookPlaceholder({}),
70
+ getMapReducedData: async () => ({}),
71
+ usePersistentDatasetStateReducer: _usePersistentStateReducer.initialHook,
72
+ useTimeTravelingPersistentDatasetStateReducer: _useTimeTravelingPersistentStateReducer.initialHook,
73
+ copyObjects: async () => void 0,
74
+ //usePersistentDatasetStateReducer: () => [{}, () => {}, false] as [any, () => any, boolean],
75
+ getObjectView: opts => () => _react.default.createElement(_react.default.Fragment, null, opts.objectPath),
76
+ requestFileFromFilesystem: async () => ({}),
77
+ makeAbsolutePath: () => '',
78
+ useSettings: getValueHookPlaceholder({
79
+ settings: {}
80
+ }),
81
+ useGlobalSettings: getValueHookPlaceholder({
82
+ settings: _settings.INITIAL_GLOBAL_SETTINGS
83
+ }),
84
+ updateSetting: async () => ({
85
+ success: true
86
+ })
87
+ };
88
+ /* A higher-order component that:
89
+
90
+ - takes dataset view component;
91
+ - returns a component that takes dataset context as props,
92
+ and renders dataset view wrapped inside dataset context provider. */
93
+
94
+ function withDatasetContext(Component) {
95
+ // TODO: Check again whether `withDatasetContext()` helper is needed.
96
+ // Why can’t we wrap the entire view in DatasetContext.Provider
97
+ // in Paneron and gain access to it normally?
98
+ return props => {
99
+ const settings = props.useGlobalSettings();
100
+ return _react.default.createElement(DatasetContext.Provider, {
101
+ value: props
102
+ }, _react.default.createElement(_SettingsContext.GlobalSettingsContext.Provider, {
103
+ value: {
104
+ settings: settings.value.settings,
105
+ refresh: settings.refresh
106
+ }
107
+ }, _react.default.createElement(Component, null)));
108
+ };
109
+ }
110
+ /**
111
+ * Provides functions for interacting with dataset data,
112
+ * and by extension the underlying repositories.
113
+ *
114
+ * NOTE: If your IDE does not expose TSDoc docstrings for DatasetContext
115
+ * members, consult DatasetContextSpec type definition.
116
+ */
117
+
118
+
119
+ const DatasetContext = _react.default.createContext(INITIAL_CONTEXT); // export const ReadOnlyDatasetContext =
120
+ // React.createContext<ReadOnlyDatasetContextSpec>(INITIAL_CONTEXT);
121
+
122
+ /* Like withDatasetContext(), but uses read-only dataset context. */
123
+ // export function withReadOnlyDatasetContext(Component: React.FC<any>):
124
+ // React.FC<ReadOnlyDatasetContextSpec> {
125
+ // return (props: ReadOnlyDatasetContextSpec) => (
126
+ // <ReadOnlyDatasetContext.Provider value={props}>
127
+ // <Component />
128
+ // </ReadOnlyDatasetContext.Provider>
129
+ // );
130
+ // }
131
+
132
+
133
+ exports.DatasetContext = DatasetContext;
@@ -0,0 +1 @@
1
+ {"version":3,"file":"context.js","sourceRoot":"","sources":["../src/context.tsx"],"names":[],"mappings":"AAAA,OAAO,GAAG,MAAM,cAAc,CAAC;AAC/B,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAE,uBAAuB,EAAE,MAAM,YAAY,CAAC;AAKrD,OAAO,EAAE,oBAAoB,EAAE,MAAM,iBAAiB,CAAC;AACvD,OAAO,EAAE,WAAW,IAAI,iCAAiC,EAAE,MAAM,6BAA6B,CAAC;AAC/F,OAAO,EAAE,WAAW,IAAI,8CAA8C,EAAE,MAAM,0CAA0C,CAAC;AACzH,OAAO,EAAE,qBAAqB,EAAE,MAAM,mBAAmB,CAAC;AAG1D,SAAS,uBAAuB,CAAI,KAAQ;IAC1C,OAAO,GAAG,EAAE,CAAC,CAAC;QACZ,KAAK;QACL,MAAM,EAAE,EAAE;QACV,UAAU,EAAE,KAAK;QACjB,WAAW,EAAE,CAAC,CAAC;QACf,OAAO,EAAE,GAAG,EAAE,GAAE,CAAC;KAClB,CAAC,CAAC;AACL,CAAC;AAGD,MAAM,eAAe,GAAuB;IAC1C,KAAK,EAAE,EAAE;IAET,MAAM,EAAE,GAAG;IAEX,gBAAgB,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC;IAE7B,oBAAoB,EAAE,KAAK,IAAI,EAAE,CAAC,CAAC,EAAE,CAAC;IAEtC,aAAa,EAAE,uBAAuB,CAAC;QACrC,IAAI,EAAE,EAAE;KACT,CAAC;IAEF,gBAAgB,EAAE,KAAK,IAAI,EAAE,CAAC,KAAK,CAAC;IAEpC,aAAa,EAAE,KAAK,IAAI,EAAE,CAAC,CAAC,EAAE,IAAI,EAAE,EAAE,EAAE,CAAC;IAEzC,iBAAiB,EAAE,uBAAuB,CAAC,EAAE,CAAC;IAE9C,cAAc,EAAE,GAAG,EAAE,CAAC,CAAC;QACrB,QAAQ,EAAE,EAAE;KACb,CAAC;IAEF,mBAAmB,EAAE,uBAAuB,CAAC;QAC3C,MAAM,EAAE,oBAAoB;KAC7B,CAAC;IAEF,gBAAgB,EAAE,uBAAuB,CAAC;QACxC,OAAO,EAAE,EAAE;KACZ,CAAC;IAEF,8BAA8B,EAAE,uBAAuB,CAAC;QACtD,UAAU,EAAE,EAAE;KACf,CAAC;IAEF,8BAA8B,EAAE,KAAK,IAAI,EAAE,CAAC,CAAC,EAAE,UAAU,EAAE,EAAE,EAAE,CAAC;IAEhE,wBAAwB,EAAE,uBAAuB,CAAC;QAChD,QAAQ,EAAE,IAAI;KACf,CAAC;IAEF,wBAAwB,EAAE,KAAK,IAAI,EAAE,CAAC,CAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;IAE1D,iBAAiB,EAAE,uBAAuB,CAAC,EAAE,CAA4C;IACzF,iBAAiB,EAAE,CAAC,KAAK,IAAI,EAAE,CAAC,CAAC,EAAE,CAAC,CAA4C;IAEhF,gCAAgC,EAAE,iCAAiC;IACnE,6CAA6C,EAAE,8CAA8C;IAE7F,WAAW,EAAE,KAAK,IAAI,EAAE,CAAC,KAAK,CAAC;IAE/B,6FAA6F;IAE7F,aAAa,EAAE,CAAC,IAA4B,EAAE,EAAE,CAC9C,GAAG,EAAE,CAAC,0CAAG,IAAI,CAAC,UAAU,CAAI;IAE9B,yBAAyB,EAAE,KAAK,IAAI,EAAE,CAAC,CAAC,EAAE,CAAC;IAE3C,gBAAgB,EAAE,GAAG,EAAE,CAAC,EAAE;IAE1B,WAAW,EAAE,uBAAuB,CAAC,EAAE,QAAQ,EAAE,EAAE,EAAE,CAAC;IAEtD,iBAAiB,EAAE,uBAAuB,CAAC,EAAE,QAAQ,EAAE,uBAAuB,EAAE,CAAC;IAEjF,aAAa,EAAE,KAAK,IAAI,EAAE,CAAC,CAAC,EAAE,OAAO,EAAE,IAAY,EAAE,CAAC;CAE9C,CAAC;AAGX;;;;yEAIyE;AACzE,MAAM,UAAU,kBAAkB,CAAC,SAAwB;IAEzD,qEAAqE;IACrE,+DAA+D;IAC/D,6CAA6C;IAC7C,OAAO,CAAC,KAAyB,EAAE,EAAE;QACnC,MAAM,QAAQ,GAAG,KAAK,CAAC,iBAAiB,EAAE,CAAC;QAC3C,OAAO,CACL,oBAAC,cAAc,CAAC,QAAQ,IAAC,KAAK,EAAE,KAAK;YACnC,oBAAC,qBAAqB,CAAC,QAAQ,IAAC,KAAK,EAAE,EAAE,QAAQ,EAAE,QAAQ,CAAC,KAAK,CAAC,QAAQ,EAAE,OAAO,EAAE,QAAQ,CAAC,OAAO,EAAE;gBACrG,oBAAC,SAAS,OAAG,CACkB,CACT,CAC3B,CAAC;IACJ,CAAC,CAAC;AACJ,CAAC;AAGD;;;;;;GAMG;AACH,MAAM,CAAC,MAAM,cAAc,GACzB,KAAK,CAAC,aAAa,CAAqB,eAAe,CAAC,CAAC;AAG3D,wCAAwC;AACxC,sEAAsE;AAEtE,oEAAoE;AACpE,wEAAwE;AACxE,yCAAyC;AACzC,oDAAoD;AACpD,sDAAsD;AACtD,sBAAsB;AACtB,yCAAyC;AACzC,OAAO;AACP,IAAI","sourcesContent":["import log from 'electron-log';\nimport React from 'react';\nimport { INITIAL_GLOBAL_SETTINGS } from './settings';\nimport {\n DatasetContext as DatasetContextSpec,\n ValueHook,\n} from './types';\nimport { INITIAL_INDEX_STATUS } from './types/indexes';\nimport { initialHook as initialPersistentStateReducerHook } from './usePersistentStateReducer';\nimport { initialHook as initialTimeTravelingPersistentStateReducerHook } from './useTimeTravelingPersistentStateReducer';\nimport { GlobalSettingsContext } from './SettingsContext';\n\n\nfunction getValueHookPlaceholder<T>(value: T): () => ValueHook<T> {\n return () => ({\n value,\n errors: [],\n isUpdating: false,\n _reqCounter: -1,\n refresh: () => {},\n });\n}\n\n\nconst INITIAL_CONTEXT: DatasetContextSpec = {\n title: '',\n\n logger: log,\n\n performOperation: (_, f) => f,\n\n requestCopiedObjects: async () => ({}),\n\n useObjectData: getValueHookPlaceholder({\n data: {},\n }),\n\n openExternalLink: async () => void 0,\n\n getObjectData: async () => ({ data: {} }),\n\n useRemoteUsername: getValueHookPlaceholder({}),\n\n useDecodedBlob: () => ({\n asString: '',\n }),\n\n useIndexDescription: getValueHookPlaceholder({\n status: INITIAL_INDEX_STATUS,\n }),\n\n useFilteredIndex: getValueHookPlaceholder({\n indexID: '',\n }),\n\n useObjectPathFromFilteredIndex: getValueHookPlaceholder({\n objectPath: '',\n }),\n\n getObjectPathFromFilteredIndex: async () => ({ objectPath: '' }),\n\n useFilteredIndexPosition: getValueHookPlaceholder({\n position: null,\n }),\n\n getFilteredIndexPosition: async () => ({ position: null }),\n\n useMapReducedData: getValueHookPlaceholder({}) as DatasetContextSpec[\"useMapReducedData\"],\n getMapReducedData: (async () => ({})) as DatasetContextSpec[\"getMapReducedData\"],\n\n usePersistentDatasetStateReducer: initialPersistentStateReducerHook,\n useTimeTravelingPersistentDatasetStateReducer: initialTimeTravelingPersistentStateReducerHook,\n\n copyObjects: async () => void 0,\n\n //usePersistentDatasetStateReducer: () => [{}, () => {}, false] as [any, () => any, boolean],\n\n getObjectView: (opts: { objectPath: string }) =>\n () => <>{opts.objectPath}</>,\n\n requestFileFromFilesystem: async () => ({}),\n\n makeAbsolutePath: () => '',\n\n useSettings: getValueHookPlaceholder({ settings: {} }),\n\n useGlobalSettings: getValueHookPlaceholder({ settings: INITIAL_GLOBAL_SETTINGS }),\n\n updateSetting: async () => ({ success: true as true }),\n\n} as const;\n\n\n/* A higher-order component that:\n\n - takes dataset view component;\n - returns a component that takes dataset context as props,\n and renders dataset view wrapped inside dataset context provider. */\nexport function withDatasetContext(Component: React.FC<any>):\nReact.FC<DatasetContextSpec> {\n // TODO: Check again whether `withDatasetContext()` helper is needed.\n // Why can’t we wrap the entire view in DatasetContext.Provider\n // in Paneron and gain access to it normally?\n return (props: DatasetContextSpec) => {\n const settings = props.useGlobalSettings();\n return (\n <DatasetContext.Provider value={props}>\n <GlobalSettingsContext.Provider value={{ settings: settings.value.settings, refresh: settings.refresh }}>\n <Component />\n </GlobalSettingsContext.Provider>\n </DatasetContext.Provider>\n );\n };\n}\n\n\n/**\n * Provides functions for interacting with dataset data,\n * and by extension the underlying repositories.\n * \n * NOTE: If your IDE does not expose TSDoc docstrings for DatasetContext\n * members, consult DatasetContextSpec type definition.\n */\nexport const DatasetContext =\n React.createContext<DatasetContextSpec>(INITIAL_CONTEXT);\n\n\n// export const ReadOnlyDatasetContext =\n// React.createContext<ReadOnlyDatasetContextSpec>(INITIAL_CONTEXT);\n\n/* Like withDatasetContext(), but uses read-only dataset context. */\n// export function withReadOnlyDatasetContext(Component: React.FC<any>):\n// React.FC<ReadOnlyDatasetContextSpec> {\n// return (props: ReadOnlyDatasetContextSpec) => (\n// <ReadOnlyDatasetContext.Provider value={props}>\n// <Component />\n// </ReadOnlyDatasetContext.Provider>\n// );\n// }\n"]}
@@ -0,0 +1,9 @@
1
+ import React from 'react';
2
+ import { SupportedLanguages } from './types';
3
+ export declare type I18nContextProviderProps<Languages extends SupportedLanguages> = {
4
+ available: Languages;
5
+ default: keyof Languages;
6
+ selected: keyof Languages;
7
+ };
8
+ declare const I18nContextProvider: React.FC<I18nContextProviderProps<any>>;
9
+ export default I18nContextProvider;