@riboseinc/paneron-registry-kit 2.2.58 → 2.2.60
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.
- package/LICENSE +21 -0
- package/README.adoc +67 -0
- package/compiled/common.js +2 -0
- package/compiled/index.js +42 -0
- package/compiled/item-classes/Tree.js +61 -0
- package/compiled/item-classes/treeNodes.js +56 -0
- package/compiled/migrations/initial.js +28 -0
- package/compiled/proposals/ChangeRequestContext.js +121 -0
- package/compiled/proposals/HistoryDrawer.js +55 -0
- package/compiled/proposals/ListItem.js +22 -0
- package/compiled/proposals/MetaProperties.js +98 -0
- package/compiled/proposals/NewProposalMenu.js +53 -0
- package/compiled/proposals/ProposalBrowser.js +141 -0
- package/compiled/proposals/ProposalDetail.js +27 -0
- package/compiled/proposals/ProposalItem.js +24 -0
- package/compiled/proposals/ProposalSummary.js +28 -0
- package/compiled/proposals/ProposalTab.js +89 -0
- package/compiled/proposals/ProposalType.js +62 -0
- package/compiled/proposals/ProposalWorkspace.js +70 -0
- package/compiled/proposals/Search.js +106 -0
- package/compiled/proposals/TransitionHistory.js +271 -0
- package/compiled/proposals/TransitionOptions.js +432 -0
- package/compiled/proposals/actionableGroups/Tree.js +170 -0
- package/compiled/proposals/actionableGroups/queries.js +78 -0
- package/compiled/proposals/actionableGroups/treeNodes.js +90 -0
- package/compiled/proposals/actionableGroups/types.js +2 -0
- package/compiled/proposals/index.js +7 -0
- package/compiled/proposals/objectChangeset.js +331 -0
- package/compiled/proposals/queries.js +5 -0
- package/compiled/proposals/types.js +229 -0
- package/compiled/types/index.js +7 -0
- package/compiled/types/item.js +28 -0
- package/compiled/types/register.js +25 -0
- package/compiled/types/registry.js +10 -0
- package/compiled/types/stakeholder.js +81 -0
- package/compiled/types/util.js +3 -0
- package/compiled/types/views.js +2 -0
- package/compiled/views/AnnotatedChange.js +62 -0
- package/compiled/views/BrowserCtx.js +20 -0
- package/compiled/views/FilterCriteria/CRITERIA_CONFIGURATION.js +121 -0
- package/compiled/views/FilterCriteria/criteriaGroupToQueryExpression.js +45 -0
- package/compiled/views/FilterCriteria/criteriaGroupToSummary.js +47 -0
- package/compiled/views/FilterCriteria/criteriaToNodes.js +92 -0
- package/compiled/views/FilterCriteria/index.js +75 -0
- package/compiled/views/FilterCriteria/models.js +45 -0
- package/compiled/views/FilterCriteria/mutateGroup.js +74 -0
- package/compiled/views/GenericRelatedItemView.js +179 -0
- package/compiled/views/ItemDetailsDrawer.js +21 -0
- package/compiled/views/ItemSearchDrawer.js +29 -0
- package/compiled/views/Party.js +156 -0
- package/compiled/views/RegisterStakeholder.js +22 -0
- package/compiled/views/RegisterVersion.js +20 -0
- package/compiled/views/SearchQuery.js +90 -0
- package/compiled/views/StatefulTree.js +95 -0
- package/compiled/views/detail/AllItems.js +31 -0
- package/compiled/views/detail/ChangeRequest/index.js +49 -0
- package/compiled/views/detail/CustomView/index.js +34 -0
- package/compiled/views/detail/ProposalWork.js +167 -0
- package/compiled/views/detail/RegisterHome/ActiveProposalDetails.js +64 -0
- package/compiled/views/detail/RegisterHome/Block.js +39 -0
- package/compiled/views/detail/RegisterHome/MetaSummary.js +27 -0
- package/compiled/views/detail/RegisterHome/Proposal.js +105 -0
- package/compiled/views/detail/RegisterHome/index.js +381 -0
- package/compiled/views/detail/RegisterHome2/index.js +36 -0
- package/compiled/views/detail/RegisterItem/RelatedItems.js +28 -0
- package/compiled/views/detail/RegisterItem/SupersedingItemMenu.js +27 -0
- package/compiled/views/detail/RegisterItem/index.js +576 -0
- package/compiled/views/detail/RegisterItem/index.js.map +1 -0
- package/compiled/views/detail/RegisterItemClass.js +59 -0
- package/compiled/views/detail/RegisterMeta/RegisterMetaForm.js +176 -0
- package/compiled/views/detail/RegisterMeta/index.js +73 -0
- package/compiled/views/detail/index.js +12 -0
- package/compiled/views/diffing/InlineDiff.js +117 -0
- package/compiled/views/diffing/StructuredDiff.js +38 -0
- package/compiled/views/hooks/useCustomView.js +14 -0
- package/compiled/views/hooks/useItemClassConfig.js +8 -0
- package/compiled/views/hooks/useItemRef.js +27 -0
- package/compiled/views/hooks/useLatestAcceptedProposal.js +39 -0
- package/compiled/views/hooks/useRegisterVersion.js +35 -0
- package/compiled/views/hooks/useSingleRegisterItemData.js +22 -0
- package/compiled/views/hooks/useStakeholder.js +2 -0
- package/compiled/views/index.js +247 -0
- package/compiled/views/itemPathUtils.js +139 -0
- package/compiled/views/itemQueryUtils.js +49 -0
- package/compiled/views/protocolRegistry.js +30 -0
- package/compiled/views/sidebar/Browse/index.js +291 -0
- package/compiled/views/sidebar/ExportImport/ExportOptions.js +56 -0
- package/compiled/views/sidebar/ExportImport/ImportOptions.js +9 -0
- package/compiled/views/sidebar/ExportImport/index.js +4 -0
- package/compiled/views/sidebar/ListItem.js +31 -0
- package/compiled/views/sidebar/Registration/index.js +89 -0
- package/compiled/views/sidebar/Search/index.js +129 -0
- package/{views → compiled/views}/sidebar/Search/index.js.map +1 -1
- package/compiled/views/sidebar/index.js +115 -0
- package/compiled/views/util.js +278 -0
- package/compiled/views/util.js.map +1 -0
- package/dependencies-local/extension-kit/SettingsContext.d.ts +8 -0
- package/dependencies-local/extension-kit/SettingsContext.js +19 -0
- package/dependencies-local/extension-kit/SettingsContext.js.map +1 -0
- package/dependencies-local/extension-kit/build_site.d.ts +1 -0
- package/dependencies-local/extension-kit/build_site.js +4 -0
- package/dependencies-local/extension-kit/build_site.js.map +1 -0
- package/dependencies-local/extension-kit/context.d.ts +18 -0
- package/dependencies-local/extension-kit/context.js +143 -0
- package/dependencies-local/extension-kit/context.js.map +1 -0
- package/dependencies-local/extension-kit/i18n/ContextProvider.d.ts +9 -0
- package/dependencies-local/extension-kit/i18n/ContextProvider.js +33 -0
- package/dependencies-local/extension-kit/i18n/ContextProvider.js.map +1 -0
- package/dependencies-local/extension-kit/i18n/context.d.ts +9 -0
- package/dependencies-local/extension-kit/i18n/context.js +23 -0
- package/dependencies-local/extension-kit/i18n/context.js.map +1 -0
- package/dependencies-local/extension-kit/i18n/types.d.ts +10 -0
- package/dependencies-local/extension-kit/i18n/types.js.map +1 -0
- package/dependencies-local/extension-kit/i18n/widgets.d.ts +16 -0
- package/dependencies-local/extension-kit/i18n/widgets.js +59 -0
- package/dependencies-local/extension-kit/i18n/widgets.js.map +1 -0
- package/dependencies-local/extension-kit/index.d.ts +16 -0
- package/dependencies-local/extension-kit/index.js +149 -0
- package/dependencies-local/extension-kit/index.js.map +1 -0
- package/dependencies-local/extension-kit/object-specs/index.d.ts +2 -0
- package/dependencies-local/extension-kit/object-specs/index.js +22 -0
- package/dependencies-local/extension-kit/object-specs/index.js.map +1 -0
- package/dependencies-local/extension-kit/object-specs/paneron-object.d.ts +7 -0
- package/dependencies-local/extension-kit/object-specs/paneron-object.js +159 -0
- package/dependencies-local/extension-kit/object-specs/paneron-object.js.map +1 -0
- package/dependencies-local/extension-kit/object-specs/ser-des.d.ts +32 -0
- package/dependencies-local/extension-kit/object-specs/ser-des.js +232 -0
- package/dependencies-local/extension-kit/object-specs/ser-des.js.map +1 -0
- package/dependencies-local/extension-kit/object-specs/yaml/custom-bool.d.ts +3 -0
- package/dependencies-local/extension-kit/object-specs/yaml/custom-bool.js +42 -0
- package/dependencies-local/extension-kit/object-specs/yaml/custom-bool.js.map +1 -0
- package/dependencies-local/extension-kit/object-specs/yaml/custom-timestamp.d.ts +3 -0
- package/dependencies-local/extension-kit/object-specs/yaml/custom-timestamp.js +110 -0
- package/dependencies-local/extension-kit/object-specs/yaml/custom-timestamp.js.map +1 -0
- package/dependencies-local/extension-kit/object-specs/yaml/index.d.ts +9 -0
- package/dependencies-local/extension-kit/object-specs/yaml/index.js +36 -0
- package/dependencies-local/extension-kit/object-specs/yaml/index.js.map +1 -0
- package/dependencies-local/extension-kit/object-specs/yaml/schema.d.ts +4 -0
- package/dependencies-local/extension-kit/object-specs/yaml/schema.js +26 -0
- package/dependencies-local/extension-kit/object-specs/yaml/schema.js.map +1 -0
- package/dependencies-local/extension-kit/settings.d.ts +9 -0
- package/dependencies-local/extension-kit/settings.js +17 -0
- package/dependencies-local/extension-kit/settings.js.map +1 -0
- package/dependencies-local/extension-kit/types/binary-invocation.d.ts +31 -0
- package/dependencies-local/extension-kit/types/binary-invocation.js.map +1 -0
- package/dependencies-local/extension-kit/types/buffers.d.ts +19 -0
- package/dependencies-local/extension-kit/types/buffers.js.map +1 -0
- package/dependencies-local/extension-kit/types/changes.d.ts +37 -0
- package/dependencies-local/extension-kit/types/changes.js +5 -0
- package/dependencies-local/extension-kit/types/changes.js.map +1 -0
- package/dependencies-local/extension-kit/types/data.d.ts +54 -0
- package/dependencies-local/extension-kit/types/data.js +5 -0
- package/dependencies-local/extension-kit/types/data.js.map +1 -0
- package/dependencies-local/extension-kit/types/dialogs.d.ts +21 -0
- package/dependencies-local/extension-kit/types/dialogs.js +5 -0
- package/dependencies-local/extension-kit/types/dialogs.js.map +1 -0
- package/dependencies-local/extension-kit/types/export-formats.d.ts +23 -0
- package/dependencies-local/extension-kit/types/export-formats.js +5 -0
- package/dependencies-local/extension-kit/types/export-formats.js.map +1 -0
- package/dependencies-local/extension-kit/types/extension-maker.d.ts +17 -0
- package/dependencies-local/extension-kit/types/extension-maker.js +5 -0
- package/dependencies-local/extension-kit/types/extension-maker.js.map +1 -0
- package/dependencies-local/extension-kit/types/extension.d.ts +40 -0
- package/dependencies-local/extension-kit/types/extension.js +5 -0
- package/dependencies-local/extension-kit/types/extension.js.map +1 -0
- package/dependencies-local/extension-kit/types/index.d.ts +3 -0
- package/dependencies-local/extension-kit/types/index.js +41 -0
- package/dependencies-local/extension-kit/types/index.js.map +1 -0
- package/dependencies-local/extension-kit/types/indexes.d.ts +6 -0
- package/dependencies-local/extension-kit/types/indexes.js +15 -0
- package/dependencies-local/extension-kit/types/indexes.js.map +1 -0
- package/dependencies-local/extension-kit/types/migrations.d.ts +35 -0
- package/dependencies-local/extension-kit/types/migrations.js +5 -0
- package/dependencies-local/extension-kit/types/migrations.js.map +1 -0
- package/dependencies-local/extension-kit/types/object-spec.d.ts +109 -0
- package/dependencies-local/extension-kit/types/object-spec.js +24 -0
- package/dependencies-local/extension-kit/types/object-spec.js.map +1 -0
- package/dependencies-local/extension-kit/types/objects.d.ts +18 -0
- package/dependencies-local/extension-kit/types/objects.js +5 -0
- package/dependencies-local/extension-kit/types/objects.js.map +1 -0
- package/dependencies-local/extension-kit/types/progress.d.ts +5 -0
- package/dependencies-local/extension-kit/types/progress.js +5 -0
- package/dependencies-local/extension-kit/types/progress.js.map +1 -0
- package/dependencies-local/extension-kit/types/renderer.d.ts +505 -0
- package/dependencies-local/extension-kit/types/renderer.js +16 -0
- package/dependencies-local/extension-kit/types/renderer.js.map +1 -0
- package/dependencies-local/extension-kit/useDebounce.d.ts +5 -0
- package/dependencies-local/extension-kit/useDebounce.js +25 -0
- package/dependencies-local/extension-kit/useDebounce.js.map +1 -0
- package/dependencies-local/extension-kit/usePersistentStateReducer.d.ts +39 -0
- package/dependencies-local/extension-kit/usePersistentStateReducer.js +133 -0
- package/dependencies-local/extension-kit/usePersistentStateReducer.js.map +1 -0
- package/dependencies-local/extension-kit/useTimeTravelingPersistentStateReducer.d.ts +71 -0
- package/dependencies-local/extension-kit/useTimeTravelingPersistentStateReducer.js +107 -0
- package/dependencies-local/extension-kit/useTimeTravelingPersistentStateReducer.js.map +1 -0
- package/dependencies-local/extension-kit/util.d.ts +37 -0
- package/dependencies-local/extension-kit/util.js +179 -0
- package/dependencies-local/extension-kit/util.js.map +1 -0
- package/dependencies-local/extension-kit/widgets/DL.d.ts +44 -0
- package/dependencies-local/extension-kit/widgets/DL.js +89 -0
- package/dependencies-local/extension-kit/widgets/DL.js.map +1 -0
- package/dependencies-local/extension-kit/widgets/ErrorBoundary.d.ts +17 -0
- package/dependencies-local/extension-kit/widgets/ErrorBoundary.js +49 -0
- package/dependencies-local/extension-kit/widgets/ErrorBoundary.js.map +1 -0
- package/dependencies-local/extension-kit/widgets/ErrorState.d.ts +10 -0
- package/dependencies-local/extension-kit/widgets/ErrorState.js +54 -0
- package/dependencies-local/extension-kit/widgets/ErrorState.js.map +1 -0
- package/dependencies-local/extension-kit/widgets/Grid.d.ts +41 -0
- package/dependencies-local/extension-kit/widgets/Grid.js +213 -0
- package/dependencies-local/extension-kit/widgets/Grid.js.map +1 -0
- package/dependencies-local/extension-kit/widgets/HelpTooltip.d.ts +18 -0
- package/dependencies-local/extension-kit/widgets/HelpTooltip.js +72 -0
- package/dependencies-local/extension-kit/widgets/HelpTooltip.js.map +1 -0
- package/dependencies-local/extension-kit/widgets/ItemCount.d.ts +19 -0
- package/dependencies-local/extension-kit/widgets/ItemCount.js +79 -0
- package/dependencies-local/extension-kit/widgets/ItemCount.js.map +1 -0
- package/dependencies-local/extension-kit/widgets/List.d.ts +41 -0
- package/dependencies-local/extension-kit/widgets/List.js +210 -0
- package/dependencies-local/extension-kit/widgets/List.js.map +1 -0
- package/dependencies-local/extension-kit/widgets/Navbar.d.ts +20 -0
- package/dependencies-local/extension-kit/widgets/Navbar.js +76 -0
- package/dependencies-local/extension-kit/widgets/Navbar.js.map +1 -0
- package/dependencies-local/extension-kit/widgets/Navbar2.d.ts +17 -0
- package/dependencies-local/extension-kit/widgets/Navbar2.js +95 -0
- package/dependencies-local/extension-kit/widgets/Navbar2.js.map +1 -0
- package/dependencies-local/extension-kit/widgets/OperationQueue/context.d.ts +17 -0
- package/dependencies-local/extension-kit/widgets/OperationQueue/context.js +21 -0
- package/dependencies-local/extension-kit/widgets/OperationQueue/context.js.map +1 -0
- package/dependencies-local/extension-kit/widgets/OperationQueue/index.d.ts +8 -0
- package/dependencies-local/extension-kit/widgets/OperationQueue/index.js +159 -0
- package/dependencies-local/extension-kit/widgets/OperationQueue/index.js.map +1 -0
- package/dependencies-local/extension-kit/widgets/OperationQueue/types.d.ts +19 -0
- package/dependencies-local/extension-kit/widgets/OperationQueue/types.js +5 -0
- package/dependencies-local/extension-kit/widgets/OperationQueue/types.js.map +1 -0
- package/dependencies-local/extension-kit/widgets/SearchResultList.d.ts +31 -0
- package/dependencies-local/extension-kit/widgets/SearchResultList.js +203 -0
- package/dependencies-local/extension-kit/widgets/SearchResultList.js.map +1 -0
- package/dependencies-local/extension-kit/widgets/Sidebar/Block.d.ts +24 -0
- package/dependencies-local/extension-kit/widgets/Sidebar/Block.js +109 -0
- package/dependencies-local/extension-kit/widgets/Sidebar/Block.js.map +1 -0
- package/dependencies-local/extension-kit/widgets/Sidebar/BlockStateButtonGroup.d.ts +6 -0
- package/dependencies-local/extension-kit/widgets/Sidebar/BlockStateButtonGroup.js +23 -0
- package/dependencies-local/extension-kit/widgets/Sidebar/BlockStateButtonGroup.js.map +1 -0
- package/dependencies-local/extension-kit/widgets/Sidebar/PropertyView.d.ts +29 -0
- package/dependencies-local/extension-kit/widgets/Sidebar/PropertyView.js +157 -0
- package/dependencies-local/extension-kit/widgets/Sidebar/PropertyView.js.map +1 -0
- package/dependencies-local/extension-kit/widgets/Sidebar/index.d.ts +27 -0
- package/dependencies-local/extension-kit/widgets/Sidebar/index.js +197 -0
- package/dependencies-local/extension-kit/widgets/Sidebar/index.js.map +1 -0
- package/dependencies-local/extension-kit/widgets/TabbedWorkspace/SuperSidebar.d.ts +29 -0
- package/dependencies-local/extension-kit/widgets/TabbedWorkspace/SuperSidebar.js +135 -0
- package/dependencies-local/extension-kit/widgets/TabbedWorkspace/SuperSidebar.js.map +1 -0
- package/dependencies-local/extension-kit/widgets/TabbedWorkspace/context.d.ts +10 -0
- package/dependencies-local/extension-kit/widgets/TabbedWorkspace/context.js +205 -0
- package/dependencies-local/extension-kit/widgets/TabbedWorkspace/context.js.map +1 -0
- package/dependencies-local/extension-kit/widgets/TabbedWorkspace/detail.d.ts +9 -0
- package/dependencies-local/extension-kit/widgets/TabbedWorkspace/detail.js +69 -0
- package/dependencies-local/extension-kit/widgets/TabbedWorkspace/detail.js.map +1 -0
- package/dependencies-local/extension-kit/widgets/TabbedWorkspace/index.d.ts +54 -0
- package/dependencies-local/extension-kit/widgets/TabbedWorkspace/index.js +301 -0
- package/dependencies-local/extension-kit/widgets/TabbedWorkspace/index.js.map +1 -0
- package/dependencies-local/extension-kit/widgets/TabbedWorkspace/types.d.ts +102 -0
- package/dependencies-local/extension-kit/widgets/TabbedWorkspace/types.js +5 -0
- package/dependencies-local/extension-kit/widgets/TabbedWorkspace/types.js.map +1 -0
- package/dependencies-local/extension-kit/widgets/TabbedWorkspace/util.d.ts +1 -0
- package/dependencies-local/extension-kit/widgets/TabbedWorkspace/util.js +14 -0
- package/dependencies-local/extension-kit/widgets/TabbedWorkspace/util.js.map +1 -0
- package/dependencies-local/extension-kit/widgets/Workspace.d.ts +40 -0
- package/dependencies-local/extension-kit/widgets/Workspace.js +96 -0
- package/dependencies-local/extension-kit/widgets/Workspace.js.map +1 -0
- package/dependencies-local/extension-kit/widgets/panels/PanelSeparator.d.ts +12 -0
- package/dependencies-local/extension-kit/widgets/panels/PanelSeparator.js +60 -0
- package/dependencies-local/extension-kit/widgets/panels/PanelSeparator.js.map +1 -0
- package/dependencies-local/extension-kit/widgets/panels/index.d.ts +28 -0
- package/dependencies-local/extension-kit/widgets/panels/index.js +169 -0
- package/dependencies-local/extension-kit/widgets/panels/index.js.map +1 -0
- package/dist/common.d.ts +1 -0
- package/dist/common.js.map +1 -0
- package/dist/index.d.ts +18 -0
- package/dist/index.js.map +1 -0
- package/dist/item-classes/Tree.d.ts +5 -0
- package/dist/item-classes/Tree.js.map +1 -0
- package/dist/item-classes/treeNodes.d.ts +12 -0
- package/dist/item-classes/treeNodes.js.map +1 -0
- package/dist/migrations/initial.d.ts +3 -0
- package/dist/migrations/initial.js.map +1 -0
- package/dist/proposals/ChangeRequestContext.d.ts +44 -0
- package/dist/proposals/ChangeRequestContext.js.map +1 -0
- package/dist/proposals/HistoryDrawer.d.ts +12 -0
- package/dist/proposals/HistoryDrawer.js.map +1 -0
- package/dist/proposals/ListItem.d.ts +9 -0
- package/dist/proposals/ListItem.js.map +1 -0
- package/dist/proposals/MetaProperties.d.ts +14 -0
- package/dist/proposals/MetaProperties.js.map +1 -0
- package/dist/proposals/NewProposalMenu.d.ts +10 -0
- package/dist/proposals/NewProposalMenu.js.map +1 -0
- package/dist/proposals/ProposalBrowser.d.ts +29 -0
- package/dist/proposals/ProposalBrowser.js.map +1 -0
- package/dist/proposals/ProposalDetail.d.ts +6 -0
- package/dist/proposals/ProposalDetail.js.map +1 -0
- package/dist/proposals/ProposalItem.d.ts +16 -0
- package/dist/proposals/ProposalItem.js.map +1 -0
- package/dist/proposals/ProposalSummary.d.ts +6 -0
- package/dist/proposals/ProposalSummary.js.map +1 -0
- package/dist/proposals/ProposalTab.d.ts +14 -0
- package/dist/proposals/ProposalTab.js.map +1 -0
- package/dist/proposals/ProposalType.d.ts +11 -0
- package/dist/proposals/ProposalType.js.map +1 -0
- package/dist/proposals/ProposalWorkspace.d.ts +15 -0
- package/dist/proposals/ProposalWorkspace.js.map +1 -0
- package/dist/proposals/Search.d.ts +26 -0
- package/dist/proposals/Search.js.map +1 -0
- package/dist/proposals/TransitionHistory.d.ts +31 -0
- package/dist/proposals/TransitionHistory.js.map +1 -0
- package/dist/proposals/TransitionOptions.d.ts +38 -0
- package/dist/proposals/TransitionOptions.js.map +1 -0
- package/dist/proposals/actionableGroups/Tree.d.ts +7 -0
- package/dist/proposals/actionableGroups/Tree.js.map +1 -0
- package/dist/proposals/actionableGroups/queries.d.ts +4 -0
- package/dist/proposals/actionableGroups/queries.js.map +1 -0
- package/dist/proposals/actionableGroups/treeNodes.d.ts +27 -0
- package/dist/proposals/actionableGroups/treeNodes.js.map +1 -0
- package/dist/proposals/actionableGroups/types.d.ts +6 -0
- package/dist/proposals/actionableGroups/types.js +5 -0
- package/dist/proposals/actionableGroups/types.js.map +1 -0
- package/dist/proposals/index.d.ts +6 -0
- package/dist/proposals/index.js.map +1 -0
- package/dist/proposals/objectChangeset.d.ts +72 -0
- package/dist/proposals/objectChangeset.js.map +1 -0
- package/dist/proposals/queries.d.ts +4 -0
- package/dist/proposals/queries.js.map +1 -0
- package/dist/proposals/types.d.ts +332 -0
- package/dist/proposals/types.js.map +1 -0
- package/dist/types/index.d.ts +6 -0
- package/dist/types/index.js.map +1 -0
- package/dist/types/item.d.ts +55 -0
- package/dist/types/item.js.map +1 -0
- package/dist/types/register.d.ts +21 -0
- package/dist/types/register.js.map +1 -0
- package/dist/types/registry.d.ts +15 -0
- package/dist/types/registry.js.map +1 -0
- package/dist/types/stakeholder.d.ts +43 -0
- package/dist/types/stakeholder.js.map +1 -0
- package/dist/types/util.d.ts +28 -0
- package/dist/types/util.js +5 -0
- package/dist/types/util.js.map +1 -0
- package/dist/types/views.d.ts +228 -0
- package/dist/types/views.js +5 -0
- package/dist/types/views.js.map +1 -0
- package/dist/views/AnnotatedChange.d.ts +7 -0
- package/dist/views/AnnotatedChange.js.map +1 -0
- package/dist/views/BrowserCtx.d.ts +69 -0
- package/dist/views/BrowserCtx.js.map +1 -0
- package/dist/views/FilterCriteria/CRITERIA_CONFIGURATION.d.ts +17 -0
- package/dist/views/FilterCriteria/CRITERIA_CONFIGURATION.js.map +1 -0
- package/dist/views/FilterCriteria/criteriaGroupToQueryExpression.d.ts +6 -0
- package/dist/views/FilterCriteria/criteriaGroupToQueryExpression.js.map +1 -0
- package/dist/views/FilterCriteria/criteriaGroupToSummary.d.ts +5 -0
- package/dist/views/FilterCriteria/criteriaGroupToSummary.js.map +1 -0
- package/dist/views/FilterCriteria/criteriaToNodes.d.ts +24 -0
- package/dist/views/FilterCriteria/criteriaToNodes.js.map +1 -0
- package/dist/views/FilterCriteria/index.d.ts +23 -0
- package/dist/views/FilterCriteria/index.js.map +1 -0
- package/dist/views/FilterCriteria/models.d.ts +70 -0
- package/dist/views/FilterCriteria/models.js.map +1 -0
- package/dist/views/FilterCriteria/mutateGroup.d.ts +24 -0
- package/dist/views/FilterCriteria/mutateGroup.js.map +1 -0
- package/dist/views/GenericRelatedItemView.d.ts +9 -0
- package/dist/views/GenericRelatedItemView.js.map +1 -0
- package/dist/views/ItemDetailsDrawer.d.ts +12 -0
- package/dist/views/ItemDetailsDrawer.js.map +1 -0
- package/dist/views/ItemSearchDrawer.d.ts +11 -0
- package/dist/views/ItemSearchDrawer.js.map +1 -0
- package/dist/views/Party.d.ts +0 -0
- package/dist/views/Party.js.map +1 -0
- package/dist/views/RegisterStakeholder.d.ts +12 -0
- package/dist/views/RegisterStakeholder.js.map +1 -0
- package/dist/views/RegisterVersion.d.ts +9 -0
- package/dist/views/RegisterVersion.js.map +1 -0
- package/dist/views/SearchQuery.d.ts +19 -0
- package/dist/views/SearchQuery.js.map +1 -0
- package/dist/views/StatefulTree.d.ts +28 -0
- package/dist/views/StatefulTree.js.map +1 -0
- package/dist/views/detail/AllItems.d.ts +8 -0
- package/dist/views/detail/AllItems.js.map +1 -0
- package/dist/views/detail/ChangeRequest/index.d.ts +12 -0
- package/dist/views/detail/ChangeRequest/index.js.map +1 -0
- package/dist/views/detail/CustomView/index.d.ts +13 -0
- package/dist/views/detail/CustomView/index.js.map +1 -0
- package/dist/views/detail/ProposalWork.d.ts +8 -0
- package/dist/views/detail/ProposalWork.js.map +1 -0
- package/dist/views/detail/RegisterHome/ActiveProposalDetails.d.ts +15 -0
- package/dist/views/detail/RegisterHome/ActiveProposalDetails.js.map +1 -0
- package/dist/views/detail/RegisterHome/Block.d.ts +29 -0
- package/dist/views/detail/RegisterHome/Block.js.map +1 -0
- package/dist/views/detail/RegisterHome/MetaSummary.d.ts +9 -0
- package/dist/views/detail/RegisterHome/MetaSummary.js.map +1 -0
- package/dist/views/detail/RegisterHome/Proposal.d.ts +14 -0
- package/dist/views/detail/RegisterHome/Proposal.js.map +1 -0
- package/dist/views/detail/RegisterHome/index.d.ts +5 -0
- package/dist/views/detail/RegisterHome/index.js.map +1 -0
- package/dist/views/detail/RegisterHome2/index.d.ts +5 -0
- package/dist/views/detail/RegisterHome2/index.js.map +1 -0
- package/dist/views/detail/RegisterItem/RelatedItems.d.ts +14 -0
- package/dist/views/detail/RegisterItem/RelatedItems.js.map +1 -0
- package/dist/views/detail/RegisterItem/SupersedingItemMenu.d.ts +13 -0
- package/dist/views/detail/RegisterItem/SupersedingItemMenu.js.map +1 -0
- package/dist/views/detail/RegisterItem/index.d.ts +21 -0
- package/{views → dist/views}/detail/RegisterItem/index.js +1 -1
- package/dist/views/detail/RegisterItem/index.js.map +1 -0
- package/dist/views/detail/RegisterItemClass.d.ts +12 -0
- package/dist/views/detail/RegisterItemClass.js.map +1 -0
- package/dist/views/detail/RegisterMeta/RegisterMetaForm.d.ts +10 -0
- package/dist/views/detail/RegisterMeta/RegisterMetaForm.js.map +1 -0
- package/dist/views/detail/RegisterMeta/index.d.ts +10 -0
- package/dist/views/detail/RegisterMeta/index.js.map +1 -0
- package/dist/views/detail/index.d.ts +1 -0
- package/dist/views/detail/index.js.map +1 -0
- package/dist/views/diffing/InlineDiff.d.ts +38 -0
- package/dist/views/diffing/InlineDiff.js.map +1 -0
- package/dist/views/diffing/StructuredDiff.d.ts +11 -0
- package/dist/views/diffing/StructuredDiff.js.map +1 -0
- package/dist/views/hooks/useCustomView.d.ts +3 -0
- package/dist/views/hooks/useCustomView.js.map +1 -0
- package/dist/views/hooks/useItemClassConfig.d.ts +2 -0
- package/dist/views/hooks/useItemClassConfig.js.map +1 -0
- package/dist/views/hooks/useItemRef.d.ts +3 -0
- package/dist/views/hooks/useItemRef.js.map +1 -0
- package/dist/views/hooks/useLatestAcceptedProposal.d.ts +2 -0
- package/dist/views/hooks/useLatestAcceptedProposal.js.map +1 -0
- package/dist/views/hooks/useRegisterVersion.d.ts +5 -0
- package/dist/views/hooks/useRegisterVersion.js.map +1 -0
- package/dist/views/hooks/useSingleRegisterItemData.d.ts +3 -0
- package/dist/views/hooks/useSingleRegisterItemData.js.map +1 -0
- package/dist/views/hooks/useStakeholder.d.ts +0 -0
- package/dist/views/hooks/useStakeholder.js.map +1 -0
- package/dist/views/index.d.ts +8 -0
- package/dist/views/index.js.map +1 -0
- package/dist/views/itemPathUtils.d.ts +47 -0
- package/dist/views/itemPathUtils.js.map +1 -0
- package/dist/views/itemQueryUtils.d.ts +12 -0
- package/dist/views/itemQueryUtils.js.map +1 -0
- package/dist/views/protocolRegistry.d.ts +14 -0
- package/dist/views/protocolRegistry.js.map +1 -0
- package/dist/views/sidebar/Browse/index.d.ts +11 -0
- package/dist/views/sidebar/Browse/index.js.map +1 -0
- package/dist/views/sidebar/ExportImport/ExportOptions.d.ts +5 -0
- package/dist/views/sidebar/ExportImport/ExportOptions.js.map +1 -0
- package/dist/views/sidebar/ExportImport/ImportOptions.d.ts +4 -0
- package/dist/views/sidebar/ExportImport/ImportOptions.js.map +1 -0
- package/dist/views/sidebar/ExportImport/index.d.ts +3 -0
- package/dist/views/sidebar/ExportImport/index.js.map +1 -0
- package/dist/views/sidebar/ListItem.d.ts +10 -0
- package/dist/views/sidebar/ListItem.js.map +1 -0
- package/dist/views/sidebar/Registration/index.d.ts +9 -0
- package/dist/views/sidebar/Registration/index.js.map +1 -0
- package/dist/views/sidebar/Search/index.d.ts +29 -0
- package/{views → dist/views}/sidebar/Search/index.js +1 -1
- package/dist/views/sidebar/Search/index.js.map +1 -0
- package/dist/views/sidebar/index.d.ts +7 -0
- package/dist/views/sidebar/index.js.map +1 -0
- package/dist/views/util.d.ts +98 -0
- package/{views → dist/views}/util.js +33 -7
- package/dist/views/util.js.map +1 -0
- package/package.json +1 -1
- package/react-visual-diff.d.ts +9 -0
- package/views/detail/RegisterItem/index.js.map +0 -1
- package/views/util.js.map +0 -1
- /package/{common.d.ts → compiled/common.d.ts} +0 -0
- /package/{common.js.map → compiled/common.js.map} +0 -0
- /package/{index.d.ts → compiled/index.d.ts} +0 -0
- /package/{index.js.map → compiled/index.js.map} +0 -0
- /package/{item-classes → compiled/item-classes}/Tree.d.ts +0 -0
- /package/{item-classes → compiled/item-classes}/Tree.js.map +0 -0
- /package/{item-classes → compiled/item-classes}/treeNodes.d.ts +0 -0
- /package/{item-classes → compiled/item-classes}/treeNodes.js.map +0 -0
- /package/{migrations → compiled/migrations}/initial.d.ts +0 -0
- /package/{migrations → compiled/migrations}/initial.js.map +0 -0
- /package/{proposals → compiled/proposals}/ChangeRequestContext.d.ts +0 -0
- /package/{proposals → compiled/proposals}/ChangeRequestContext.js.map +0 -0
- /package/{proposals → compiled/proposals}/HistoryDrawer.d.ts +0 -0
- /package/{proposals → compiled/proposals}/HistoryDrawer.js.map +0 -0
- /package/{proposals → compiled/proposals}/ListItem.d.ts +0 -0
- /package/{proposals → compiled/proposals}/ListItem.js.map +0 -0
- /package/{proposals → compiled/proposals}/MetaProperties.d.ts +0 -0
- /package/{proposals → compiled/proposals}/MetaProperties.js.map +0 -0
- /package/{proposals → compiled/proposals}/NewProposalMenu.d.ts +0 -0
- /package/{proposals → compiled/proposals}/NewProposalMenu.js.map +0 -0
- /package/{proposals → compiled/proposals}/ProposalBrowser.d.ts +0 -0
- /package/{proposals → compiled/proposals}/ProposalBrowser.js.map +0 -0
- /package/{proposals → compiled/proposals}/ProposalDetail.d.ts +0 -0
- /package/{proposals → compiled/proposals}/ProposalDetail.js.map +0 -0
- /package/{proposals → compiled/proposals}/ProposalItem.d.ts +0 -0
- /package/{proposals → compiled/proposals}/ProposalItem.js.map +0 -0
- /package/{proposals → compiled/proposals}/ProposalSummary.d.ts +0 -0
- /package/{proposals → compiled/proposals}/ProposalSummary.js.map +0 -0
- /package/{proposals → compiled/proposals}/ProposalTab.d.ts +0 -0
- /package/{proposals → compiled/proposals}/ProposalTab.js.map +0 -0
- /package/{proposals → compiled/proposals}/ProposalType.d.ts +0 -0
- /package/{proposals → compiled/proposals}/ProposalType.js.map +0 -0
- /package/{proposals → compiled/proposals}/ProposalWorkspace.d.ts +0 -0
- /package/{proposals → compiled/proposals}/ProposalWorkspace.js.map +0 -0
- /package/{proposals → compiled/proposals}/Search.d.ts +0 -0
- /package/{proposals → compiled/proposals}/Search.js.map +0 -0
- /package/{proposals → compiled/proposals}/TransitionHistory.d.ts +0 -0
- /package/{proposals → compiled/proposals}/TransitionHistory.js.map +0 -0
- /package/{proposals → compiled/proposals}/TransitionOptions.d.ts +0 -0
- /package/{proposals → compiled/proposals}/TransitionOptions.js.map +0 -0
- /package/{proposals → compiled/proposals}/actionableGroups/Tree.d.ts +0 -0
- /package/{proposals → compiled/proposals}/actionableGroups/Tree.js.map +0 -0
- /package/{proposals → compiled/proposals}/actionableGroups/queries.d.ts +0 -0
- /package/{proposals → compiled/proposals}/actionableGroups/queries.js.map +0 -0
- /package/{proposals → compiled/proposals}/actionableGroups/treeNodes.d.ts +0 -0
- /package/{proposals → compiled/proposals}/actionableGroups/treeNodes.js.map +0 -0
- /package/{proposals → compiled/proposals}/actionableGroups/types.d.ts +0 -0
- /package/{proposals → compiled/proposals}/actionableGroups/types.js.map +0 -0
- /package/{proposals → compiled/proposals}/index.d.ts +0 -0
- /package/{proposals → compiled/proposals}/index.js.map +0 -0
- /package/{proposals → compiled/proposals}/objectChangeset.d.ts +0 -0
- /package/{proposals → compiled/proposals}/objectChangeset.js.map +0 -0
- /package/{proposals → compiled/proposals}/queries.d.ts +0 -0
- /package/{proposals → compiled/proposals}/queries.js.map +0 -0
- /package/{proposals → compiled/proposals}/types.d.ts +0 -0
- /package/{proposals → compiled/proposals}/types.js.map +0 -0
- /package/{types → compiled/types}/index.d.ts +0 -0
- /package/{types → compiled/types}/index.js.map +0 -0
- /package/{types → compiled/types}/item.d.ts +0 -0
- /package/{types → compiled/types}/item.js.map +0 -0
- /package/{types → compiled/types}/register.d.ts +0 -0
- /package/{types → compiled/types}/register.js.map +0 -0
- /package/{types → compiled/types}/registry.d.ts +0 -0
- /package/{types → compiled/types}/registry.js.map +0 -0
- /package/{types → compiled/types}/stakeholder.d.ts +0 -0
- /package/{types → compiled/types}/stakeholder.js.map +0 -0
- /package/{types → compiled/types}/util.d.ts +0 -0
- /package/{types → compiled/types}/util.js.map +0 -0
- /package/{types → compiled/types}/views.d.ts +0 -0
- /package/{types → compiled/types}/views.js.map +0 -0
- /package/{views → compiled/views}/AnnotatedChange.d.ts +0 -0
- /package/{views → compiled/views}/AnnotatedChange.js.map +0 -0
- /package/{views → compiled/views}/BrowserCtx.d.ts +0 -0
- /package/{views → compiled/views}/BrowserCtx.js.map +0 -0
- /package/{views → compiled/views}/FilterCriteria/CRITERIA_CONFIGURATION.d.ts +0 -0
- /package/{views → compiled/views}/FilterCriteria/CRITERIA_CONFIGURATION.js.map +0 -0
- /package/{views → compiled/views}/FilterCriteria/criteriaGroupToQueryExpression.d.ts +0 -0
- /package/{views → compiled/views}/FilterCriteria/criteriaGroupToQueryExpression.js.map +0 -0
- /package/{views → compiled/views}/FilterCriteria/criteriaGroupToSummary.d.ts +0 -0
- /package/{views → compiled/views}/FilterCriteria/criteriaGroupToSummary.js.map +0 -0
- /package/{views → compiled/views}/FilterCriteria/criteriaToNodes.d.ts +0 -0
- /package/{views → compiled/views}/FilterCriteria/criteriaToNodes.js.map +0 -0
- /package/{views → compiled/views}/FilterCriteria/index.d.ts +0 -0
- /package/{views → compiled/views}/FilterCriteria/index.js.map +0 -0
- /package/{views → compiled/views}/FilterCriteria/models.d.ts +0 -0
- /package/{views → compiled/views}/FilterCriteria/models.js.map +0 -0
- /package/{views → compiled/views}/FilterCriteria/mutateGroup.d.ts +0 -0
- /package/{views → compiled/views}/FilterCriteria/mutateGroup.js.map +0 -0
- /package/{views → compiled/views}/GenericRelatedItemView.d.ts +0 -0
- /package/{views → compiled/views}/GenericRelatedItemView.js.map +0 -0
- /package/{views → compiled/views}/ItemDetailsDrawer.d.ts +0 -0
- /package/{views → compiled/views}/ItemDetailsDrawer.js.map +0 -0
- /package/{views → compiled/views}/ItemSearchDrawer.d.ts +0 -0
- /package/{views → compiled/views}/ItemSearchDrawer.js.map +0 -0
- /package/{views → compiled/views}/Party.d.ts +0 -0
- /package/{views → compiled/views}/Party.js.map +0 -0
- /package/{views → compiled/views}/RegisterStakeholder.d.ts +0 -0
- /package/{views → compiled/views}/RegisterStakeholder.js.map +0 -0
- /package/{views → compiled/views}/RegisterVersion.d.ts +0 -0
- /package/{views → compiled/views}/RegisterVersion.js.map +0 -0
- /package/{views → compiled/views}/SearchQuery.d.ts +0 -0
- /package/{views → compiled/views}/SearchQuery.js.map +0 -0
- /package/{views → compiled/views}/StatefulTree.d.ts +0 -0
- /package/{views → compiled/views}/StatefulTree.js.map +0 -0
- /package/{views → compiled/views}/detail/AllItems.d.ts +0 -0
- /package/{views → compiled/views}/detail/AllItems.js.map +0 -0
- /package/{views → compiled/views}/detail/ChangeRequest/index.d.ts +0 -0
- /package/{views → compiled/views}/detail/ChangeRequest/index.js.map +0 -0
- /package/{views → compiled/views}/detail/CustomView/index.d.ts +0 -0
- /package/{views → compiled/views}/detail/CustomView/index.js.map +0 -0
- /package/{views → compiled/views}/detail/ProposalWork.d.ts +0 -0
- /package/{views → compiled/views}/detail/ProposalWork.js.map +0 -0
- /package/{views → compiled/views}/detail/RegisterHome/ActiveProposalDetails.d.ts +0 -0
- /package/{views → compiled/views}/detail/RegisterHome/ActiveProposalDetails.js.map +0 -0
- /package/{views → compiled/views}/detail/RegisterHome/Block.d.ts +0 -0
- /package/{views → compiled/views}/detail/RegisterHome/Block.js.map +0 -0
- /package/{views → compiled/views}/detail/RegisterHome/MetaSummary.d.ts +0 -0
- /package/{views → compiled/views}/detail/RegisterHome/MetaSummary.js.map +0 -0
- /package/{views → compiled/views}/detail/RegisterHome/Proposal.d.ts +0 -0
- /package/{views → compiled/views}/detail/RegisterHome/Proposal.js.map +0 -0
- /package/{views → compiled/views}/detail/RegisterHome/index.d.ts +0 -0
- /package/{views → compiled/views}/detail/RegisterHome/index.js.map +0 -0
- /package/{views → compiled/views}/detail/RegisterHome2/index.d.ts +0 -0
- /package/{views → compiled/views}/detail/RegisterHome2/index.js.map +0 -0
- /package/{views → compiled/views}/detail/RegisterItem/RelatedItems.d.ts +0 -0
- /package/{views → compiled/views}/detail/RegisterItem/RelatedItems.js.map +0 -0
- /package/{views → compiled/views}/detail/RegisterItem/SupersedingItemMenu.d.ts +0 -0
- /package/{views → compiled/views}/detail/RegisterItem/SupersedingItemMenu.js.map +0 -0
- /package/{views → compiled/views}/detail/RegisterItem/index.d.ts +0 -0
- /package/{views → compiled/views}/detail/RegisterItemClass.d.ts +0 -0
- /package/{views → compiled/views}/detail/RegisterItemClass.js.map +0 -0
- /package/{views → compiled/views}/detail/RegisterMeta/RegisterMetaForm.d.ts +0 -0
- /package/{views → compiled/views}/detail/RegisterMeta/RegisterMetaForm.js.map +0 -0
- /package/{views → compiled/views}/detail/RegisterMeta/index.d.ts +0 -0
- /package/{views → compiled/views}/detail/RegisterMeta/index.js.map +0 -0
- /package/{views → compiled/views}/detail/index.d.ts +0 -0
- /package/{views → compiled/views}/detail/index.js.map +0 -0
- /package/{views → compiled/views}/diffing/InlineDiff.d.ts +0 -0
- /package/{views → compiled/views}/diffing/InlineDiff.js.map +0 -0
- /package/{views → compiled/views}/diffing/StructuredDiff.d.ts +0 -0
- /package/{views → compiled/views}/diffing/StructuredDiff.js.map +0 -0
- /package/{views → compiled/views}/hooks/useCustomView.d.ts +0 -0
- /package/{views → compiled/views}/hooks/useCustomView.js.map +0 -0
- /package/{views → compiled/views}/hooks/useItemClassConfig.d.ts +0 -0
- /package/{views → compiled/views}/hooks/useItemClassConfig.js.map +0 -0
- /package/{views → compiled/views}/hooks/useItemRef.d.ts +0 -0
- /package/{views → compiled/views}/hooks/useItemRef.js.map +0 -0
- /package/{views → compiled/views}/hooks/useLatestAcceptedProposal.d.ts +0 -0
- /package/{views → compiled/views}/hooks/useLatestAcceptedProposal.js.map +0 -0
- /package/{views → compiled/views}/hooks/useRegisterVersion.d.ts +0 -0
- /package/{views → compiled/views}/hooks/useRegisterVersion.js.map +0 -0
- /package/{views → compiled/views}/hooks/useSingleRegisterItemData.d.ts +0 -0
- /package/{views → compiled/views}/hooks/useSingleRegisterItemData.js.map +0 -0
- /package/{views → compiled/views}/hooks/useStakeholder.d.ts +0 -0
- /package/{views → compiled/views}/hooks/useStakeholder.js.map +0 -0
- /package/{views → compiled/views}/index.d.ts +0 -0
- /package/{views → compiled/views}/index.js.map +0 -0
- /package/{views → compiled/views}/itemPathUtils.d.ts +0 -0
- /package/{views → compiled/views}/itemPathUtils.js.map +0 -0
- /package/{views → compiled/views}/itemQueryUtils.d.ts +0 -0
- /package/{views → compiled/views}/itemQueryUtils.js.map +0 -0
- /package/{views → compiled/views}/protocolRegistry.d.ts +0 -0
- /package/{views → compiled/views}/protocolRegistry.js.map +0 -0
- /package/{views → compiled/views}/sidebar/Browse/index.d.ts +0 -0
- /package/{views → compiled/views}/sidebar/Browse/index.js.map +0 -0
- /package/{views → compiled/views}/sidebar/ExportImport/ExportOptions.d.ts +0 -0
- /package/{views → compiled/views}/sidebar/ExportImport/ExportOptions.js.map +0 -0
- /package/{views → compiled/views}/sidebar/ExportImport/ImportOptions.d.ts +0 -0
- /package/{views → compiled/views}/sidebar/ExportImport/ImportOptions.js.map +0 -0
- /package/{views → compiled/views}/sidebar/ExportImport/index.d.ts +0 -0
- /package/{views → compiled/views}/sidebar/ExportImport/index.js.map +0 -0
- /package/{views → compiled/views}/sidebar/ListItem.d.ts +0 -0
- /package/{views → compiled/views}/sidebar/ListItem.js.map +0 -0
- /package/{views → compiled/views}/sidebar/Registration/index.d.ts +0 -0
- /package/{views → compiled/views}/sidebar/Registration/index.js.map +0 -0
- /package/{views → compiled/views}/sidebar/Search/index.d.ts +0 -0
- /package/{views → compiled/views}/sidebar/index.d.ts +0 -0
- /package/{views → compiled/views}/sidebar/index.js.map +0 -0
- /package/{views → compiled/views}/util.d.ts +0 -0
- /package/{proposals/actionableGroups → dependencies-local/extension-kit/i18n}/types.js +0 -0
- /package/{types/util.js → dependencies-local/extension-kit/types/binary-invocation.js} +0 -0
- /package/{types/views.js → dependencies-local/extension-kit/types/buffers.js} +0 -0
- /package/{common.js → dist/common.js} +0 -0
- /package/{index.js → dist/index.js} +0 -0
- /package/{item-classes → dist/item-classes}/Tree.js +0 -0
- /package/{item-classes → dist/item-classes}/treeNodes.js +0 -0
- /package/{migrations → dist/migrations}/initial.js +0 -0
- /package/{proposals → dist/proposals}/ChangeRequestContext.js +0 -0
- /package/{proposals → dist/proposals}/HistoryDrawer.js +0 -0
- /package/{proposals → dist/proposals}/ListItem.js +0 -0
- /package/{proposals → dist/proposals}/MetaProperties.js +0 -0
- /package/{proposals → dist/proposals}/NewProposalMenu.js +0 -0
- /package/{proposals → dist/proposals}/ProposalBrowser.js +0 -0
- /package/{proposals → dist/proposals}/ProposalDetail.js +0 -0
- /package/{proposals → dist/proposals}/ProposalItem.js +0 -0
- /package/{proposals → dist/proposals}/ProposalSummary.js +0 -0
- /package/{proposals → dist/proposals}/ProposalTab.js +0 -0
- /package/{proposals → dist/proposals}/ProposalType.js +0 -0
- /package/{proposals → dist/proposals}/ProposalWorkspace.js +0 -0
- /package/{proposals → dist/proposals}/Search.js +0 -0
- /package/{proposals → dist/proposals}/TransitionHistory.js +0 -0
- /package/{proposals → dist/proposals}/TransitionOptions.js +0 -0
- /package/{proposals → dist/proposals}/actionableGroups/Tree.js +0 -0
- /package/{proposals → dist/proposals}/actionableGroups/queries.js +0 -0
- /package/{proposals → dist/proposals}/actionableGroups/treeNodes.js +0 -0
- /package/{proposals → dist/proposals}/index.js +0 -0
- /package/{proposals → dist/proposals}/objectChangeset.js +0 -0
- /package/{proposals → dist/proposals}/queries.js +0 -0
- /package/{proposals → dist/proposals}/types.js +0 -0
- /package/{types → dist/types}/index.js +0 -0
- /package/{types → dist/types}/item.js +0 -0
- /package/{types → dist/types}/register.js +0 -0
- /package/{types → dist/types}/registry.js +0 -0
- /package/{types → dist/types}/stakeholder.js +0 -0
- /package/{views → dist/views}/AnnotatedChange.js +0 -0
- /package/{views → dist/views}/BrowserCtx.js +0 -0
- /package/{views → dist/views}/FilterCriteria/CRITERIA_CONFIGURATION.js +0 -0
- /package/{views → dist/views}/FilterCriteria/criteriaGroupToQueryExpression.js +0 -0
- /package/{views → dist/views}/FilterCriteria/criteriaGroupToSummary.js +0 -0
- /package/{views → dist/views}/FilterCriteria/criteriaToNodes.js +0 -0
- /package/{views → dist/views}/FilterCriteria/index.js +0 -0
- /package/{views → dist/views}/FilterCriteria/models.js +0 -0
- /package/{views → dist/views}/FilterCriteria/mutateGroup.js +0 -0
- /package/{views → dist/views}/GenericRelatedItemView.js +0 -0
- /package/{views → dist/views}/ItemDetailsDrawer.js +0 -0
- /package/{views → dist/views}/ItemSearchDrawer.js +0 -0
- /package/{views → dist/views}/Party.js +0 -0
- /package/{views → dist/views}/RegisterStakeholder.js +0 -0
- /package/{views → dist/views}/RegisterVersion.js +0 -0
- /package/{views → dist/views}/SearchQuery.js +0 -0
- /package/{views → dist/views}/StatefulTree.js +0 -0
- /package/{views → dist/views}/detail/AllItems.js +0 -0
- /package/{views → dist/views}/detail/ChangeRequest/index.js +0 -0
- /package/{views → dist/views}/detail/CustomView/index.js +0 -0
- /package/{views → dist/views}/detail/ProposalWork.js +0 -0
- /package/{views → dist/views}/detail/RegisterHome/ActiveProposalDetails.js +0 -0
- /package/{views → dist/views}/detail/RegisterHome/Block.js +0 -0
- /package/{views → dist/views}/detail/RegisterHome/MetaSummary.js +0 -0
- /package/{views → dist/views}/detail/RegisterHome/Proposal.js +0 -0
- /package/{views → dist/views}/detail/RegisterHome/index.js +0 -0
- /package/{views → dist/views}/detail/RegisterHome2/index.js +0 -0
- /package/{views → dist/views}/detail/RegisterItem/RelatedItems.js +0 -0
- /package/{views → dist/views}/detail/RegisterItem/SupersedingItemMenu.js +0 -0
- /package/{views → dist/views}/detail/RegisterItemClass.js +0 -0
- /package/{views → dist/views}/detail/RegisterMeta/RegisterMetaForm.js +0 -0
- /package/{views → dist/views}/detail/RegisterMeta/index.js +0 -0
- /package/{views → dist/views}/detail/index.js +0 -0
- /package/{views → dist/views}/diffing/InlineDiff.js +0 -0
- /package/{views → dist/views}/diffing/StructuredDiff.js +0 -0
- /package/{views → dist/views}/hooks/useCustomView.js +0 -0
- /package/{views → dist/views}/hooks/useItemClassConfig.js +0 -0
- /package/{views → dist/views}/hooks/useItemRef.js +0 -0
- /package/{views → dist/views}/hooks/useLatestAcceptedProposal.js +0 -0
- /package/{views → dist/views}/hooks/useRegisterVersion.js +0 -0
- /package/{views → dist/views}/hooks/useSingleRegisterItemData.js +0 -0
- /package/{views → dist/views}/hooks/useStakeholder.js +0 -0
- /package/{views → dist/views}/index.js +0 -0
- /package/{views → dist/views}/itemPathUtils.js +0 -0
- /package/{views → dist/views}/itemQueryUtils.js +0 -0
- /package/{views → dist/views}/protocolRegistry.js +0 -0
- /package/{views → dist/views}/sidebar/Browse/index.js +0 -0
- /package/{views → dist/views}/sidebar/ExportImport/ExportOptions.js +0 -0
- /package/{views → dist/views}/sidebar/ExportImport/ImportOptions.js +0 -0
- /package/{views → dist/views}/sidebar/ExportImport/index.js +0 -0
- /package/{views → dist/views}/sidebar/ListItem.js +0 -0
- /package/{views → dist/views}/sidebar/Registration/index.js +0 -0
- /package/{views → dist/views}/sidebar/index.js +0 -0
package/LICENSE
ADDED
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
MIT License
|
|
2
|
+
|
|
3
|
+
Copyright (c) 2020 Ribose
|
|
4
|
+
|
|
5
|
+
Permission is hereby granted, free of charge, to any person obtaining a copy
|
|
6
|
+
of this software and associated documentation files (the "Software"), to deal
|
|
7
|
+
in the Software without restriction, including without limitation the rights
|
|
8
|
+
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
|
9
|
+
copies of the Software, and to permit persons to whom the Software is
|
|
10
|
+
furnished to do so, subject to the following conditions:
|
|
11
|
+
|
|
12
|
+
The above copyright notice and this permission notice shall be included in all
|
|
13
|
+
copies or substantial portions of the Software.
|
|
14
|
+
|
|
15
|
+
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
|
16
|
+
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
|
17
|
+
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
|
18
|
+
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
|
19
|
+
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
|
20
|
+
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
|
21
|
+
SOFTWARE.
|
package/README.adoc
ADDED
|
@@ -0,0 +1,67 @@
|
|
|
1
|
+
= Paneron registry kit
|
|
2
|
+
|
|
3
|
+
ifdef::env-github[]
|
|
4
|
+
image:https://github.com/paneron/registry-kit/actions/workflows/tests.yml/badge.svg[
|
|
5
|
+
"Test Status",
|
|
6
|
+
link="https://github.com/paneron/registry-kit/actions/workflows/tests.yml"]
|
|
7
|
+
image:https://github.com/paneron/registry-kit/actions/workflows/audit.yml/badge.svg[
|
|
8
|
+
"Audit Status",
|
|
9
|
+
link="https://github.com/paneron/registry-kit/actions/workflows/audit.yml"]
|
|
10
|
+
|
|
11
|
+
image:https://github.com/paneron/registry-kit/actions/workflows/release.yml/badge.svg[
|
|
12
|
+
"Release Status",
|
|
13
|
+
link="https://github.com/paneron/registry-kit/actions/workflows/release.yml"]
|
|
14
|
+
|
|
15
|
+
image:https://img.shields.io/npm/v/%40riboseinc%2Fpaneron-registry-kit[
|
|
16
|
+
NPM release,
|
|
17
|
+
link="https://www.npmjs.com/package/@riboseinc/paneron-registry-kit"]
|
|
18
|
+
|
|
19
|
+
// image:https://img.shields.io/github/v/release/paneron/registry-kit?display_name=tag&include_prereleases&sort=semver[
|
|
20
|
+
// GitHub release (latest SemVer including pre-releases),
|
|
21
|
+
// link="https://www.npmjs.com/package/@paneron/registry-kit"
|
|
22
|
+
// ]
|
|
23
|
+
endif::[]
|
|
24
|
+
|
|
25
|
+
|
|
26
|
+
A common case of structured data is _registers_, as defined by ISO 19135-1 standard.
|
|
27
|
+
|
|
28
|
+
Registry kit defines a model for expressing ISO 19135-1 register data as a collection of YAML files,
|
|
29
|
+
and simplifies creating Paneron extensions that work with that data.
|
|
30
|
+
|
|
31
|
+
|
|
32
|
+
== Extension development
|
|
33
|
+
|
|
34
|
+
See
|
|
35
|
+
link:https://github.com/paneron/extension-kit/blob/master/EXTENSION_DEVELOPMENT.adoc[extension kit’s documentation^]
|
|
36
|
+
for general extension development notes.
|
|
37
|
+
|
|
38
|
+
|
|
39
|
+
== Extensions for editing registry data
|
|
40
|
+
|
|
41
|
+
An extension is essentially a React component that is given as props
|
|
42
|
+
some functions that simplify interaction with underlying data repository.
|
|
43
|
+
|
|
44
|
+
In case of registry type extensions, instead of writing your own repository view component from scratch,
|
|
45
|
+
with registry kit you can import its registry view component
|
|
46
|
+
and pass it a configuration of register item classes that your register supports
|
|
47
|
+
alongside props passed by Paneron to your extension.
|
|
48
|
+
|
|
49
|
+
The configuration of register item classes includes the following:
|
|
50
|
+
|
|
51
|
+
- General item metadata
|
|
52
|
+
-- Machine-readable class identifier, which will also serve as the name of the directory item contents reside in
|
|
53
|
+
-- Human-readable item class title, as well as alternative names (if any)
|
|
54
|
+
-- Item class description, as plain string
|
|
55
|
+
- Default values for register item data
|
|
56
|
+
- React components that serve as views of a given register item
|
|
57
|
+
-- Displaying item data
|
|
58
|
+
-- Editing item data
|
|
59
|
+
-- Displaying item in list
|
|
60
|
+
|
|
61
|
+
For an example of a Paneron extension built with registry kit, see the
|
|
62
|
+
link:https://github.com/paneron/extension-geodetic-registry/[ISO/TC 211 Geodetic registry extension^].
|
|
63
|
+
|
|
64
|
+
|
|
65
|
+
==== License
|
|
66
|
+
|
|
67
|
+
See link:./LICENSE[`LICENSE`^] for license information.
|
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
import { makeExtension } from '@riboseinc/paneron-extension-kit';
|
|
3
|
+
import ErrorBoundary from '@riboseinc/paneron-extension-kit/widgets/ErrorBoundary';
|
|
4
|
+
import datasetInitializer from './migrations/initial';
|
|
5
|
+
import { RegistryView } from './views';
|
|
6
|
+
export const makeRegistryExtension = function (opts) {
|
|
7
|
+
const { name } = opts;
|
|
8
|
+
for (const cls of Object.values(opts.itemClassConfiguration)) {
|
|
9
|
+
for (const [viewID, view] of Object.entries(cls.views)) {
|
|
10
|
+
const View = view;
|
|
11
|
+
if (View) {
|
|
12
|
+
cls.views[viewID] = function WrappedRegisterItemView(props) {
|
|
13
|
+
return (React.createElement(ErrorBoundary, { viewName: `Detail view for ${cls.meta.title}`, inline: viewID === 'listItemView' },
|
|
14
|
+
React.createElement(View, { ...props })));
|
|
15
|
+
};
|
|
16
|
+
}
|
|
17
|
+
}
|
|
18
|
+
}
|
|
19
|
+
const mainView = function _RegistryView() {
|
|
20
|
+
return (React.createElement(RegistryView, { itemClassConfiguration: opts.itemClassConfiguration, itemClassGroups: opts.itemClassGroups, subregisters: opts.subregisters, CustomWorkspace: opts.CustomWorkspace, defaultSearchCriteria: opts.defaultSearchCriteria, keyExpression: opts.keyExpression, getQuickSearchPredicate: opts.getQuickSearchPredicate, alterApprovedCR: opts.alterApprovedCR }));
|
|
21
|
+
};
|
|
22
|
+
return makeExtension({
|
|
23
|
+
mainView,
|
|
24
|
+
name,
|
|
25
|
+
requiredHostAppVersion: '2.0.0',
|
|
26
|
+
datasetMigrations: {},
|
|
27
|
+
datasetInitializer,
|
|
28
|
+
});
|
|
29
|
+
};
|
|
30
|
+
// Re-exports
|
|
31
|
+
import { BrowserCtx } from './views/BrowserCtx';
|
|
32
|
+
import { itemPathInCR, itemPathToItemRef, itemRefToItemPath, incompleteItemRefToItemPathPrefix } from './views/itemPathUtils';
|
|
33
|
+
import GenericRelatedItemView from './views/GenericRelatedItemView';
|
|
34
|
+
import { PropertyDetailView } from './views/util';
|
|
35
|
+
import CRITERIA_CONFIGURATION from './views/FilterCriteria/CRITERIA_CONFIGURATION';
|
|
36
|
+
import useSingleRegisterItemData from './views/hooks/useSingleRegisterItemData';
|
|
37
|
+
import { isAddition } from './proposals/types';
|
|
38
|
+
import { Protocols } from './views/protocolRegistry';
|
|
39
|
+
import { ChangeRequestContext } from './proposals/ChangeRequestContext';
|
|
40
|
+
import RegisterHome from './views/detail/RegisterHome';
|
|
41
|
+
export { itemRefToItemPath, itemPathToItemRef, itemPathInCR, incompleteItemRefToItemPathPrefix, BrowserCtx, CRITERIA_CONFIGURATION, GenericRelatedItemView, PropertyDetailView, useSingleRegisterItemData, isAddition, Protocols, ChangeRequestContext, RegisterHome, };
|
|
42
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1,61 @@
|
|
|
1
|
+
/** @jsx jsx */
|
|
2
|
+
/** @jsxFrag React.Fragment */
|
|
3
|
+
import { useContext, useMemo, useCallback } from 'react';
|
|
4
|
+
import { jsx } 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 { ChangeRequestContext, updateCRObjectChangeset } from '../proposals';
|
|
8
|
+
import GenericStatefulTree from '../views/StatefulTree';
|
|
9
|
+
import { BrowserCtx } from '../views/BrowserCtx';
|
|
10
|
+
import { itemRefToItemPath } from '../views/itemPathUtils';
|
|
11
|
+
import { Protocols } from '../views/protocolRegistry';
|
|
12
|
+
import { getMaybeGroupedItemClassesAsTreeNodes } from './treeNodes';
|
|
13
|
+
const ItemClassTree = function () {
|
|
14
|
+
const { isBusy, performOperation, updateObjects, makeRandomID } = useContext(DatasetContext);
|
|
15
|
+
const { spawnTab } = useContext(TabbedWorkspaceContext);
|
|
16
|
+
const { changeRequest: activeCR, canEdit: activeCRIsEditable } = useContext(ChangeRequestContext);
|
|
17
|
+
const { subregisters, itemClasses, itemClassGroups } = useContext(BrowserCtx);
|
|
18
|
+
const createItem = useCallback(async function _createItem(classID, subregisterID) {
|
|
19
|
+
var _a;
|
|
20
|
+
if (!updateObjects || !makeRandomID || !activeCRIsEditable || !activeCR) {
|
|
21
|
+
throw new Error("Unable to create item: likely current proposal is not editable or dataset is read-only");
|
|
22
|
+
}
|
|
23
|
+
if (subregisters && !subregisterID) {
|
|
24
|
+
throw new Error("Unable to create item: register uses subregisters, but subregister ID was not provided");
|
|
25
|
+
}
|
|
26
|
+
const clsConfig = itemClasses[classID];
|
|
27
|
+
if (!clsConfig) {
|
|
28
|
+
throw new Error("Unable to generate new item data: item class configuration is missing");
|
|
29
|
+
}
|
|
30
|
+
const initialItemData = (_a = clsConfig === null || clsConfig === void 0 ? void 0 : clsConfig.defaults) !== null && _a !== void 0 ? _a : {};
|
|
31
|
+
const itemID = await makeRandomID();
|
|
32
|
+
const ref = { classID, itemID, subregisterID };
|
|
33
|
+
const registerItem = {
|
|
34
|
+
id: itemID,
|
|
35
|
+
dateAccepted: new Date(),
|
|
36
|
+
status: 'valid',
|
|
37
|
+
data: initialItemData,
|
|
38
|
+
};
|
|
39
|
+
const itemPath = itemRefToItemPath(ref);
|
|
40
|
+
await updateObjects({
|
|
41
|
+
commitMessage: `propose to add new ${ref.classID}`,
|
|
42
|
+
objectChangeset: updateCRObjectChangeset(activeCR, { [itemPath]: { type: 'addition' } }, { [itemPath]: registerItem }),
|
|
43
|
+
_dangerouslySkipValidation: true,
|
|
44
|
+
});
|
|
45
|
+
spawnTab(Protocols.PROPOSAL_WORK);
|
|
46
|
+
}, [activeCR, activeCRIsEditable, subregisters === undefined, updateObjects, makeRandomID]);
|
|
47
|
+
const handleAdd = useMemo((() => !subregisters && activeCRIsEditable && performOperation
|
|
48
|
+
? (clsID) => performOperation('generating new item', createItem)(clsID)
|
|
49
|
+
: undefined), [createItem, subregisters === undefined, activeCRIsEditable, performOperation]);
|
|
50
|
+
const getNodes = useCallback(((state) => {
|
|
51
|
+
var _a;
|
|
52
|
+
return getMaybeGroupedItemClassesAsTreeNodes(itemClasses, itemClassGroups, {
|
|
53
|
+
selectedItemID: (_a = state.selectedItemID) !== null && _a !== void 0 ? _a : undefined,
|
|
54
|
+
expandedGroupLabels: new Set(state.expandedItemIDs),
|
|
55
|
+
onProposeItem: !isBusy ? handleAdd : undefined,
|
|
56
|
+
});
|
|
57
|
+
}), [isBusy, itemClasses, itemClassGroups, handleAdd]);
|
|
58
|
+
return jsx(GenericStatefulTree, { getNodes: getNodes, stateKey: "item-browser", onItemDoubleClick: (node) => spawnTab(`${Protocols.ITEM_CLASS}:${node.id}`) });
|
|
59
|
+
};
|
|
60
|
+
export default ItemClassTree;
|
|
61
|
+
//# sourceMappingURL=Tree.js.map
|
|
@@ -0,0 +1,56 @@
|
|
|
1
|
+
/** @jsx jsx */
|
|
2
|
+
/** @jsxFrag React.Fragment */
|
|
3
|
+
/**
|
|
4
|
+
* Tools for rendering proposal groups as tree nodes.
|
|
5
|
+
* Each proposal group is top-level node, with proposals as nested nodes.
|
|
6
|
+
*/
|
|
7
|
+
//import React, { useContext, useMemo } from 'react';
|
|
8
|
+
import { jsx } from '@emotion/react';
|
|
9
|
+
import { MoreMenu, ItemClassMenu } from '../views/util';
|
|
10
|
+
export function getMaybeGroupedItemClassesAsTreeNodes(itemClasses, itemClassGroups, opts) {
|
|
11
|
+
if (!itemClassGroups) {
|
|
12
|
+
return getItemClassesAsTreeNodes(itemClasses, Object.keys(itemClasses), opts);
|
|
13
|
+
}
|
|
14
|
+
else {
|
|
15
|
+
return Object.entries(itemClassGroups).map(([groupLabel, clsIDs]) => {
|
|
16
|
+
var _a;
|
|
17
|
+
const hasSelectedClass = (opts === null || opts === void 0 ? void 0 : opts.selectedItemID) && clsIDs.includes(opts.selectedItemID);
|
|
18
|
+
const isSelected = (opts === null || opts === void 0 ? void 0 : opts.selectedItemID) && groupLabel === opts.selectedItemID
|
|
19
|
+
? true
|
|
20
|
+
: false;
|
|
21
|
+
const isExpanded = hasSelectedClass || ((_a = opts === null || opts === void 0 ? void 0 : opts.expandedGroupLabels) === null || _a === void 0 ? void 0 : _a.has(groupLabel));
|
|
22
|
+
return {
|
|
23
|
+
id: groupLabel,
|
|
24
|
+
label: groupLabel,
|
|
25
|
+
hasCaret: true,
|
|
26
|
+
isSelected,
|
|
27
|
+
isExpanded,
|
|
28
|
+
icon: isExpanded ? 'folder-open' : 'folder-close',
|
|
29
|
+
childNodes: isExpanded
|
|
30
|
+
? getItemClassesAsTreeNodes(itemClasses, clsIDs, opts)
|
|
31
|
+
: [],
|
|
32
|
+
nodeData: { type: 'group' },
|
|
33
|
+
};
|
|
34
|
+
});
|
|
35
|
+
}
|
|
36
|
+
}
|
|
37
|
+
function getItemClassesAsTreeNodes(itemClasses,
|
|
38
|
+
/** Used for ordering. */
|
|
39
|
+
classIDs, opts) {
|
|
40
|
+
return classIDs.map(clsID => {
|
|
41
|
+
var _a;
|
|
42
|
+
const cls = itemClasses[clsID];
|
|
43
|
+
return {
|
|
44
|
+
id: clsID,
|
|
45
|
+
label: (_a = cls === null || cls === void 0 ? void 0 : cls.meta.title) !== null && _a !== void 0 ? _a : 'unknown class',
|
|
46
|
+
icon: 'folder-close',
|
|
47
|
+
isSelected: (opts === null || opts === void 0 ? void 0 : opts.selectedItemID) === clsID,
|
|
48
|
+
nodeData: { type: 'item' },
|
|
49
|
+
secondaryLabel: jsx(MoreMenu, null,
|
|
50
|
+
jsx(ItemClassMenu, { cfg: cls, onCreate: (opts === null || opts === void 0 ? void 0 : opts.onProposeItem) ?
|
|
51
|
+
() => opts.onProposeItem(clsID)
|
|
52
|
+
: undefined })),
|
|
53
|
+
};
|
|
54
|
+
});
|
|
55
|
+
}
|
|
56
|
+
//# sourceMappingURL=treeNodes.js.map
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
import { REGISTER_METADATA_FILENAME } from '../common';
|
|
2
|
+
const enc = new TextEncoder();
|
|
3
|
+
const metadata = enc.encode(`
|
|
4
|
+
name: Unnamed registry
|
|
5
|
+
stakeholders:
|
|
6
|
+
- role: submitter
|
|
7
|
+
name: owner entity name here...
|
|
8
|
+
gitServerUsername: VCS username here...
|
|
9
|
+
parties:
|
|
10
|
+
- name: owner entity party name here...
|
|
11
|
+
contacts:
|
|
12
|
+
- label: email
|
|
13
|
+
value: owner entity party contact email here...
|
|
14
|
+
version:
|
|
15
|
+
id: '1'
|
|
16
|
+
timestamp: ${(new Date()).toISOString()}
|
|
17
|
+
contentSummary: content summary goes here...
|
|
18
|
+
`);
|
|
19
|
+
const initialMigration = {
|
|
20
|
+
versionAfter: '1.0.0',
|
|
21
|
+
migrator: async function* initialRegistryMigration() {
|
|
22
|
+
yield {
|
|
23
|
+
[REGISTER_METADATA_FILENAME]: metadata,
|
|
24
|
+
};
|
|
25
|
+
},
|
|
26
|
+
};
|
|
27
|
+
export default initialMigration;
|
|
28
|
+
//# sourceMappingURL=initial.js.map
|
|
@@ -0,0 +1,121 @@
|
|
|
1
|
+
/** @jsx jsx */
|
|
2
|
+
/** @jsxFrag React.Fragment */
|
|
3
|
+
import { jsx } from '@emotion/react';
|
|
4
|
+
import React, { useMemo, useContext } from 'react';
|
|
5
|
+
import { DatasetContext } from '@riboseinc/paneron-extension-kit/context';
|
|
6
|
+
import { isRegisterItem } from '../types';
|
|
7
|
+
import { BrowserCtx } from '../views/BrowserCtx';
|
|
8
|
+
import { itemRefToItemPath, crIDToCRPath } from '../views/itemPathUtils';
|
|
9
|
+
import { canBeTransitionedBy } from './TransitionOptions';
|
|
10
|
+
import { updateCRObjectChangeset } from './objectChangeset';
|
|
11
|
+
import { canBeDeletedBy, canBeEditedBy } from './types';
|
|
12
|
+
export const ChangeRequestContext = React.createContext({
|
|
13
|
+
changeRequest: null,
|
|
14
|
+
canEdit: false,
|
|
15
|
+
canTransition: false,
|
|
16
|
+
canDelete: false,
|
|
17
|
+
});
|
|
18
|
+
export const ChangeRequestContextProvider = function ({ changeRequestID, children }) {
|
|
19
|
+
var _a, _b;
|
|
20
|
+
const { useObjectData, makeRandomID, updateObjects, updateTree, performOperation, isBusy } = useContext(DatasetContext);
|
|
21
|
+
const { itemClasses, subregisters, stakeholder } = useContext(BrowserCtx);
|
|
22
|
+
const crPath = changeRequestID ? crIDToCRPath(changeRequestID) : null;
|
|
23
|
+
const changeRequest = (_b = (_a = useObjectData({
|
|
24
|
+
objectPaths: crPath ? [crPath] : [],
|
|
25
|
+
nounLabel: 'proposal(s)',
|
|
26
|
+
}).value) === null || _a === void 0 ? void 0 : _a.data[crPath !== null && crPath !== void 0 ? crPath : '']) !== null && _b !== void 0 ? _b : (crPath ? undefined : null);
|
|
27
|
+
const canEdit = changeRequest
|
|
28
|
+
&& stakeholder
|
|
29
|
+
&& canBeEditedBy(stakeholder, changeRequest)
|
|
30
|
+
? true
|
|
31
|
+
: false;
|
|
32
|
+
const canTransition = changeRequest
|
|
33
|
+
&& stakeholder
|
|
34
|
+
&& canBeTransitionedBy(stakeholder, changeRequest)
|
|
35
|
+
? true
|
|
36
|
+
: false;
|
|
37
|
+
const canDelete = changeRequest
|
|
38
|
+
&& stakeholder
|
|
39
|
+
&& canBeDeletedBy(stakeholder, changeRequest)
|
|
40
|
+
? true
|
|
41
|
+
: false;
|
|
42
|
+
const deleteCR = useMemo((() => !isBusy && canDelete && updateTree
|
|
43
|
+
? performOperation('deleting proposal', async function handleDelete() {
|
|
44
|
+
const subtreeRoot = crIDToCRPath(changeRequest.id).replace('/main.yaml', '');
|
|
45
|
+
await updateTree({
|
|
46
|
+
subtreeRoot,
|
|
47
|
+
newSubtreeRoot: null,
|
|
48
|
+
commitMessage: 'remove unproposed CR draft',
|
|
49
|
+
});
|
|
50
|
+
})
|
|
51
|
+
: undefined), [
|
|
52
|
+
isBusy, performOperation,
|
|
53
|
+
updateTree,
|
|
54
|
+
canDelete,
|
|
55
|
+
]);
|
|
56
|
+
const proposeBlankItem = useMemo((() => {
|
|
57
|
+
if (!updateObjects || !makeRandomID || !canEdit || !changeRequest) {
|
|
58
|
+
return undefined;
|
|
59
|
+
}
|
|
60
|
+
else {
|
|
61
|
+
return performOperation('creating blank item', async function _createItem(classID, subregisterID) {
|
|
62
|
+
var _a;
|
|
63
|
+
if (subregisters && !subregisterID) {
|
|
64
|
+
throw new Error("Unable to create item: register uses subregisters, but subregister ID was not provided");
|
|
65
|
+
}
|
|
66
|
+
const clsConfig = itemClasses[classID];
|
|
67
|
+
if (!clsConfig) {
|
|
68
|
+
throw new Error("Unable to generate new item data: item class configuration is missing");
|
|
69
|
+
}
|
|
70
|
+
const initialItemData = (_a = clsConfig === null || clsConfig === void 0 ? void 0 : clsConfig.defaults) !== null && _a !== void 0 ? _a : {};
|
|
71
|
+
const itemID = await makeRandomID();
|
|
72
|
+
const ref = { classID, itemID, subregisterID };
|
|
73
|
+
const registerItem = {
|
|
74
|
+
id: itemID,
|
|
75
|
+
dateAccepted: new Date(),
|
|
76
|
+
status: 'valid',
|
|
77
|
+
data: initialItemData,
|
|
78
|
+
};
|
|
79
|
+
const itemPath = itemRefToItemPath(ref);
|
|
80
|
+
await updateObjects({
|
|
81
|
+
commitMessage: `propose to add new ${ref.classID}`,
|
|
82
|
+
objectChangeset: updateCRObjectChangeset(changeRequest, { [itemPath]: { type: 'addition' } }, { [itemPath]: registerItem }),
|
|
83
|
+
_dangerouslySkipValidation: true,
|
|
84
|
+
});
|
|
85
|
+
return ref;
|
|
86
|
+
});
|
|
87
|
+
}
|
|
88
|
+
}), [changeRequest, canEdit, subregisters === undefined, updateObjects, makeRandomID]);
|
|
89
|
+
const updateItemProposal = useMemo((() => changeRequest && canEdit && updateObjects
|
|
90
|
+
? async function _handleSetProposal(summary, proposal, itemPath, item, editedItemData) {
|
|
91
|
+
if (proposal && !item) {
|
|
92
|
+
throw new Error("Missing item");
|
|
93
|
+
}
|
|
94
|
+
if (proposal && (proposal === null || proposal === void 0 ? void 0 : proposal.type) !== 'amendment' && (!editedItemData || !isRegisterItem(editedItemData))) {
|
|
95
|
+
throw new Error("Missing item data");
|
|
96
|
+
}
|
|
97
|
+
await updateObjects({
|
|
98
|
+
commitMessage: `${summary} for ${itemPath}`,
|
|
99
|
+
objectChangeset: updateCRObjectChangeset(
|
|
100
|
+
// TODO: We are sure it’s editable already, but casting should be avoided
|
|
101
|
+
changeRequest, { [itemPath]: proposal }, ((proposal && (proposal === null || proposal === void 0 ? void 0 : proposal.type) !== 'amendment') && editedItemData && item)
|
|
102
|
+
? { [itemPath]: { ...item, data: editedItemData } }
|
|
103
|
+
: {}),
|
|
104
|
+
// We need this because updateCRObjectChangeset
|
|
105
|
+
// omits oldValue for item data payloads.
|
|
106
|
+
_dangerouslySkipValidation: true,
|
|
107
|
+
});
|
|
108
|
+
}
|
|
109
|
+
: undefined), [canEdit, changeRequest, updateObjects]);
|
|
110
|
+
const ctx = useMemo((() => ({
|
|
111
|
+
changeRequest,
|
|
112
|
+
canEdit,
|
|
113
|
+
canTransition,
|
|
114
|
+
canDelete,
|
|
115
|
+
deleteCR,
|
|
116
|
+
proposeBlankItem,
|
|
117
|
+
updateItemProposal,
|
|
118
|
+
})), [changeRequest, canEdit, deleteCR, canDelete, proposeBlankItem, updateItemProposal]);
|
|
119
|
+
return (jsx(ChangeRequestContext.Provider, { value: ctx }, children));
|
|
120
|
+
};
|
|
121
|
+
//# sourceMappingURL=ChangeRequestContext.js.map
|
|
@@ -0,0 +1,55 @@
|
|
|
1
|
+
/** @jsx jsx */
|
|
2
|
+
/** @jsxFrag React.Fragment */
|
|
3
|
+
import { jsx } from '@emotion/react';
|
|
4
|
+
import React, { useCallback, useContext, useMemo, useState } from 'react';
|
|
5
|
+
import { Drawer } from '@blueprintjs/core';
|
|
6
|
+
import { TabbedWorkspaceContext } from '@riboseinc/paneron-extension-kit/widgets/TabbedWorkspace/context';
|
|
7
|
+
import makeSearchResultList from '@riboseinc/paneron-extension-kit/widgets/SearchResultList';
|
|
8
|
+
import { State, hasSubmitterInput, isDisposed, hadBeenProposed } from '../proposals/types';
|
|
9
|
+
import { isProposal } from '../proposals/types';
|
|
10
|
+
import { ProposalType } from './ProposalType';
|
|
11
|
+
import { Datestamp } from '../views/util';
|
|
12
|
+
import { DISPOSED_CR_QUERY } from './queries';
|
|
13
|
+
import { Protocols } from '../views/protocolRegistry';
|
|
14
|
+
/** History of changes affecting given item. */
|
|
15
|
+
const ProposalHistoryDrawer = function ({ itemPath, isOpen, onClose, }) {
|
|
16
|
+
const { spawnTab } = useContext(TabbedWorkspaceContext);
|
|
17
|
+
const [selectedItemPath, setSelectedItemPath] = useState(null);
|
|
18
|
+
// Return disposed CRs
|
|
19
|
+
// that were either accepted or accepted on appeal
|
|
20
|
+
// and have the item in question.
|
|
21
|
+
const query = `return (
|
|
22
|
+
(${DISPOSED_CR_QUERY})
|
|
23
|
+
&& (obj.state === "${State.ACCEPTED}" || obj.state === "${State.ACCEPTED_ON_APPEAL}")
|
|
24
|
+
&& obj.items["${itemPath}"] !== undefined
|
|
25
|
+
)`;
|
|
26
|
+
return (jsx(Drawer, { isOpen: isOpen, onClose: onClose, enforceFocus: false, size: "50vw", style: { padding: '0', width: 'unset' } },
|
|
27
|
+
jsx(ProposalList, { queryExpression: query, keyExpression: "(new Date()).getTime() * 100 - (typeof obj.timeDisposed === 'object' ? (obj.timeDisposed ?? new Date()) : new Date(obj.timeDisposed)).getTime() + Math.floor(Math.random() * 1000)", selectedItemPath: selectedItemPath, onSelectItem: setSelectedItemPath, onOpenItem: useCallback((itemPath => spawnTab(`${Protocols.CHANGE_REQUEST}:${itemPath}`)), [spawnTab]), extraItemViewData: useMemo(() => ({ itemPath }), [itemPath]) })));
|
|
28
|
+
};
|
|
29
|
+
const ProposalHistoryItem = function ({ objectData, extraData }) {
|
|
30
|
+
const justification = hasSubmitterInput(objectData) ? objectData.justification : 'N/A';
|
|
31
|
+
const change_ = (extraData === null || extraData === void 0 ? void 0 : extraData.itemPath) ? objectData.items[extraData === null || extraData === void 0 ? void 0 : extraData.itemPath] : undefined;
|
|
32
|
+
const change = isProposal(change_) ? change_ : null;
|
|
33
|
+
return jsx("span", { title: `Accepted proposal “${justification}” (proposal ID: ${objectData.id})` },
|
|
34
|
+
change ? jsx(ProposalType, { proposal: change }) : null,
|
|
35
|
+
isDisposed(objectData)
|
|
36
|
+
? jsx(React.Fragment, null,
|
|
37
|
+
jsx(Datestamp, { date: objectData.timeDisposed, title: "Disposed" }),
|
|
38
|
+
": ")
|
|
39
|
+
: hadBeenProposed(objectData)
|
|
40
|
+
? jsx(React.Fragment, null,
|
|
41
|
+
jsx(Datestamp, { date: objectData.timeProposed, title: "Proposed" }),
|
|
42
|
+
": ")
|
|
43
|
+
: null,
|
|
44
|
+
justification);
|
|
45
|
+
};
|
|
46
|
+
const ProposalList = makeSearchResultList(ProposalHistoryItem, (objPath) => ({
|
|
47
|
+
name: 'Prp.',
|
|
48
|
+
iconProps: {
|
|
49
|
+
icon: 'lightbulb',
|
|
50
|
+
title: objPath,
|
|
51
|
+
htmlTitle: `icon for proposal at ${objPath}`,
|
|
52
|
+
},
|
|
53
|
+
}));
|
|
54
|
+
export default ProposalHistoryDrawer;
|
|
55
|
+
//# sourceMappingURL=HistoryDrawer.js.map
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
/** @jsx jsx */
|
|
2
|
+
/** @jsxFrag React.Fragment */
|
|
3
|
+
import React from 'react';
|
|
4
|
+
import { jsx } from '@emotion/react';
|
|
5
|
+
import { Datestamp } from '../views/util';
|
|
6
|
+
import { isDisposed, hadBeenProposed, hasSubmitterInput } from './types';
|
|
7
|
+
export const ProposalAsListItem = function ({ proposal, showTime }) {
|
|
8
|
+
const justification = hasSubmitterInput(proposal) ? proposal.justification : 'N/A';
|
|
9
|
+
return jsx("span", { title: `${justification} (proposal ID: ${proposal.id})` },
|
|
10
|
+
isDisposed(proposal)
|
|
11
|
+
? jsx(React.Fragment, null,
|
|
12
|
+
jsx(Datestamp, { useUTC: true, showTimeIfNonZero: showTime, date: proposal.timeDisposed, title: "Disposed" }),
|
|
13
|
+
": ")
|
|
14
|
+
: hadBeenProposed(proposal)
|
|
15
|
+
? jsx(React.Fragment, null,
|
|
16
|
+
jsx(Datestamp, { useUTC: true, showTimeIfNonZero: showTime, date: proposal.timeProposed, title: "Proposed" }),
|
|
17
|
+
": ")
|
|
18
|
+
: null,
|
|
19
|
+
justification);
|
|
20
|
+
};
|
|
21
|
+
export default ProposalAsListItem;
|
|
22
|
+
//# sourceMappingURL=ListItem.js.map
|
|
@@ -0,0 +1,98 @@
|
|
|
1
|
+
/** @jsx jsx */
|
|
2
|
+
/** @jsxFrag React.Fragment */
|
|
3
|
+
import React, { useContext, useMemo } from 'react';
|
|
4
|
+
import { jsx, css } from '@emotion/react';
|
|
5
|
+
import { Tag } from '@blueprintjs/core';
|
|
6
|
+
import HelpTooltip from '@riboseinc/paneron-extension-kit/widgets/HelpTooltip';
|
|
7
|
+
import { DatasetContext } from '@riboseinc/paneron-extension-kit/context';
|
|
8
|
+
import { RegisterStakeholderListItem } from '../views/RegisterStakeholder';
|
|
9
|
+
import { crIDToCRPath } from '../views/itemPathUtils';
|
|
10
|
+
import useLatestAcceptedProposal from '../views/hooks/useLatestAcceptedProposal';
|
|
11
|
+
import ProposalAsListItem from './ListItem';
|
|
12
|
+
import { hasSubmitterInput, isCreatedBy } from './types';
|
|
13
|
+
/** Proposal meta properties, must be nested within a DL. */
|
|
14
|
+
const Summary = function ({ cr, currentStakeholder, register, compareRegisterVersion }) {
|
|
15
|
+
var _a, _b, _c, _d, _e;
|
|
16
|
+
const { useObjectData } = useContext(DatasetContext);
|
|
17
|
+
const crPath = crIDToCRPath(cr.registerVersion);
|
|
18
|
+
const previousProposal = (_b = (_a = useObjectData({
|
|
19
|
+
objectPaths: crPath ? [crPath] : [],
|
|
20
|
+
nounLabel: 'proposal(s)',
|
|
21
|
+
}).value) === null || _a === void 0 ? void 0 : _a.data[crPath !== null && crPath !== void 0 ? crPath : '']) !== null && _b !== void 0 ? _b : (crPath ? undefined : null);
|
|
22
|
+
const registerVersion = previousProposal && hasSubmitterInput(previousProposal)
|
|
23
|
+
? jsx(ProposalAsListItem, { showTime: true, proposal: previousProposal })
|
|
24
|
+
: (_c = cr.registerVersion) !== null && _c !== void 0 ? _c : 'N/A';
|
|
25
|
+
let currentVersion;
|
|
26
|
+
try {
|
|
27
|
+
currentVersion = (_e = (_d = useLatestAcceptedProposal()) === null || _d === void 0 ? void 0 : _d.id) !== null && _e !== void 0 ? _e : undefined;
|
|
28
|
+
}
|
|
29
|
+
catch (e) {
|
|
30
|
+
console.error("Failed to obtain latest accepted proposal");
|
|
31
|
+
currentVersion = undefined;
|
|
32
|
+
}
|
|
33
|
+
const submittingStakeholder = useMemo((() => { var _a; return ((_a = register === null || register === void 0 ? void 0 : register.stakeholders) !== null && _a !== void 0 ? _a : []).find(s => isCreatedBy(s, cr)); }), [register, cr]);
|
|
34
|
+
const isCurrentMarker = useMemo(() => {
|
|
35
|
+
const proposedAgainstCurrentVersion = cr.registerVersion === currentVersion;
|
|
36
|
+
const shouldShowMarker = compareRegisterVersion && cr.registerVersion;
|
|
37
|
+
const marker = shouldShowMarker
|
|
38
|
+
? jsx(Tag, { css: css `display: inline;`, intent: currentVersion
|
|
39
|
+
? proposedAgainstCurrentVersion
|
|
40
|
+
? 'success'
|
|
41
|
+
: 'warning'
|
|
42
|
+
: undefined, minimal: true, round: true }, currentVersion
|
|
43
|
+
? proposedAgainstCurrentVersion
|
|
44
|
+
? jsx(React.Fragment, null,
|
|
45
|
+
"current",
|
|
46
|
+
" ",
|
|
47
|
+
jsx(HelpTooltip, { intent: 'success', content: jsx(React.Fragment, null,
|
|
48
|
+
"Published version of the register",
|
|
49
|
+
" ",
|
|
50
|
+
"had not changed since this proposal started.") }))
|
|
51
|
+
: jsx(React.Fragment, null,
|
|
52
|
+
"not current",
|
|
53
|
+
" ",
|
|
54
|
+
jsx(HelpTooltip, { intent: 'warning', icon: 'warning-sign', content: jsx(React.Fragment, null,
|
|
55
|
+
"Register is currently at version ",
|
|
56
|
+
jsx("strong", null, currentVersion),
|
|
57
|
+
",",
|
|
58
|
+
" ",
|
|
59
|
+
"which is different from version proposal author may have had in mind.",
|
|
60
|
+
" ",
|
|
61
|
+
"It is recommended that proposed changes are reviewed to avoid unintentionally",
|
|
62
|
+
" ",
|
|
63
|
+
"undoing a prior change.") }))
|
|
64
|
+
: jsx(React.Fragment, null,
|
|
65
|
+
"unable to compare",
|
|
66
|
+
" ",
|
|
67
|
+
jsx(HelpTooltip, { intent: undefined, icon: 'warning-sign', content: jsx(React.Fragment, null,
|
|
68
|
+
"Unable to determine current register version.",
|
|
69
|
+
" ",
|
|
70
|
+
"This may be the case if there are no accepted proposals (since register version is derived from latest accepted proposal).",
|
|
71
|
+
" ",
|
|
72
|
+
"Barring that, there may be a data integrity issue.") })))
|
|
73
|
+
: null;
|
|
74
|
+
return marker ? jsx(React.Fragment, null,
|
|
75
|
+
"\u2002",
|
|
76
|
+
marker) : null;
|
|
77
|
+
}, [cr.registerVersion, currentVersion, compareRegisterVersion]);
|
|
78
|
+
return (jsx(React.Fragment, null,
|
|
79
|
+
submittingStakeholder
|
|
80
|
+
? jsx("div", null,
|
|
81
|
+
jsx("dt", null, "Author:"),
|
|
82
|
+
jsx("dd", null,
|
|
83
|
+
jsx(RegisterStakeholderListItem, { stakeholder: submittingStakeholder, showRole: true, isCurrentUser: (currentStakeholder
|
|
84
|
+
? isCreatedBy(currentStakeholder, cr)
|
|
85
|
+
: false) || undefined })))
|
|
86
|
+
: null,
|
|
87
|
+
jsx("div", null,
|
|
88
|
+
jsx("dt", null, "Register\u00A0version before\u00A0proposal:"),
|
|
89
|
+
jsx("dd", null,
|
|
90
|
+
registerVersion,
|
|
91
|
+
isCurrentMarker)),
|
|
92
|
+
jsx("div", null,
|
|
93
|
+
jsx("dt", null, "Proposal\u00A0ID:"),
|
|
94
|
+
jsx("dd", null,
|
|
95
|
+
jsx("code", { css: css `white-space: nowrap;` }, cr.id)))));
|
|
96
|
+
};
|
|
97
|
+
export default Summary;
|
|
98
|
+
//# sourceMappingURL=MetaProperties.js.map
|
|
@@ -0,0 +1,53 @@
|
|
|
1
|
+
/** @jsx jsx */
|
|
2
|
+
/** @jsxFrag React.Fragment */
|
|
3
|
+
import React, { useState, useCallback, useMemo, } from 'react';
|
|
4
|
+
import { jsx, css } from '@emotion/react';
|
|
5
|
+
import { Button, FormGroup, ControlGroup, TextArea, PanelStack2 as PanelStack, Menu, MenuItem, NonIdealState, } from '@blueprintjs/core';
|
|
6
|
+
const NewProposalMenu = function ({ previousVersion, onCreateBlank, onImport, className }) {
|
|
7
|
+
const [createMode, setCreateMode] = useState(false);
|
|
8
|
+
const creatingBlank = onCreateBlank && createMode;
|
|
9
|
+
const stack = useMemo(() => {
|
|
10
|
+
const stack = [];
|
|
11
|
+
const createMenu = (jsx(Menu, { css: css `overflow-y: auto; background: none !important;` },
|
|
12
|
+
jsx(MenuItem, { text: "Start a proposal from scratch", onClick: (onCreateBlank && !createMode)
|
|
13
|
+
? (() => setCreateMode(true))
|
|
14
|
+
: undefined, disabled: !onCreateBlank, active: creatingBlank, selected: creatingBlank, icon: "add" }),
|
|
15
|
+
jsx(MenuItem, { text: "Import a pre-existing proposal", onClick: onImport, disabled: !onImport || creatingBlank, icon: "import" })));
|
|
16
|
+
stack.push({
|
|
17
|
+
title: "Start new proposal",
|
|
18
|
+
renderPanel: () => createMenu,
|
|
19
|
+
});
|
|
20
|
+
if (creatingBlank) {
|
|
21
|
+
stack.push({
|
|
22
|
+
title: "Start a proposal from scratch",
|
|
23
|
+
renderPanel: () => jsx(NewProposal, { previousVersion: previousVersion, onCreateBlank: onCreateBlank, css: css `padding: 5px;` }),
|
|
24
|
+
});
|
|
25
|
+
}
|
|
26
|
+
return stack;
|
|
27
|
+
}, [onCreateBlank, onImport, creatingBlank, previousVersion]);
|
|
28
|
+
return jsx(PanelStack, { css: css `flex: 1; overflow: unset; .bp4-panel-stack-view { background: none; border: none; }`, className: className, onClose: () => setCreateMode(false), stack: stack.length > 0
|
|
29
|
+
? stack
|
|
30
|
+
: [{ title: '', renderPanel: () => jsx(NonIdealState, { title: "Nothing to show" }) }] });
|
|
31
|
+
};
|
|
32
|
+
export default NewProposalMenu;
|
|
33
|
+
const NewProposal = function ({ previousVersion, onCreateBlank, className }) {
|
|
34
|
+
const [newProposalIdea, setNewProposalIdea] = useState('');
|
|
35
|
+
const handleNewProposal = useCallback(async function handleNewProposal() {
|
|
36
|
+
if (newProposalIdea.trim()) {
|
|
37
|
+
await (onCreateBlank === null || onCreateBlank === void 0 ? void 0 : onCreateBlank(newProposalIdea));
|
|
38
|
+
setNewProposalIdea('');
|
|
39
|
+
}
|
|
40
|
+
else {
|
|
41
|
+
throw new Error("Cannot create proposal: need some initial motivation for the change");
|
|
42
|
+
}
|
|
43
|
+
}, [newProposalIdea, onCreateBlank]);
|
|
44
|
+
return (jsx(FormGroup, { className: className, css: css `overflow-y: auto;`, label: jsx(React.Fragment, null,
|
|
45
|
+
"Propose",
|
|
46
|
+
previousVersion
|
|
47
|
+
? ` a change to version ${previousVersion}:`
|
|
48
|
+
: ` the first change:`) },
|
|
49
|
+
jsx(ControlGroup, { vertical: true },
|
|
50
|
+
jsx(TextArea, { value: newProposalIdea !== null && newProposalIdea !== void 0 ? newProposalIdea : '', placeholder: "Your idea\u2026", title: "Justification draft (you can change this later)", onChange: evt => setNewProposalIdea(evt.currentTarget.value) }),
|
|
51
|
+
jsx(Button, { fill: true, intent: newProposalIdea ? 'primary' : undefined, disabled: !newProposalIdea.trim() || !onCreateBlank, title: "A blank proposal will be created and opened in a new tab.", onClick: handleNewProposal, icon: "tick" }, "Create"))));
|
|
52
|
+
};
|
|
53
|
+
//# sourceMappingURL=NewProposalMenu.js.map
|