@riboseinc/paneron-registry-kit 2.0.0-dev9 → 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.
- package/LICENSE +21 -0
- package/README.adoc +35 -0
- package/compiled/common.d.ts +1 -0
- package/compiled/common.js +2 -0
- package/{common.js.map → compiled/common.js.map} +1 -1
- package/{index.d.ts → compiled/index.d.ts} +3 -3
- package/compiled/index.js +21 -0
- package/compiled/index.js.map +1 -0
- package/compiled/migrations/initial.js +8 -0
- package/compiled/types/cr.d.ts +216 -0
- package/compiled/types/cr.js +131 -0
- package/compiled/types/cr.js.map +1 -0
- package/{types → compiled/types}/index.d.ts +1 -0
- package/compiled/types/index.js +8 -0
- package/compiled/types/index.js.map +1 -0
- package/{types → compiled/types}/item.d.ts +13 -3
- package/compiled/types/item.js +22 -0
- package/compiled/types/item.js.map +1 -0
- package/compiled/types/proposal.d.ts +64 -0
- package/compiled/types/proposal.js +21 -0
- package/compiled/types/proposal.js.map +1 -0
- package/{types → compiled/types}/register.d.ts +6 -5
- package/compiled/types/register.js +25 -0
- package/compiled/types/register.js.map +1 -0
- package/compiled/types/registry.d.ts +15 -0
- package/compiled/types/registry.js +10 -0
- package/compiled/types/registry.js.map +1 -0
- package/compiled/types/stakeholder.d.ts +58 -0
- package/compiled/types/stakeholder.js +34 -0
- package/compiled/types/stakeholder.js.map +1 -0
- package/compiled/types/util.js +3 -0
- package/compiled/types/views.d.ts +157 -0
- package/compiled/types/views.js +2 -0
- package/compiled/types/views.js.map +1 -0
- package/compiled/views/AnnotatedChange.d.ts +7 -0
- package/compiled/views/AnnotatedChange.js +57 -0
- package/compiled/views/AnnotatedChange.js.map +1 -0
- package/compiled/views/BrowserCtx.d.ts +73 -0
- package/compiled/views/BrowserCtx.js +19 -0
- package/compiled/views/BrowserCtx.js.map +1 -0
- package/compiled/views/FilterCriteria/CRITERIA_CONFIGURATION.d.ts +17 -0
- package/compiled/views/FilterCriteria/CRITERIA_CONFIGURATION.js +110 -0
- package/compiled/views/FilterCriteria/CRITERIA_CONFIGURATION.js.map +1 -0
- package/{views → compiled/views}/FilterCriteria/criteriaGroupToQueryExpression.d.ts +4 -0
- package/compiled/views/FilterCriteria/criteriaGroupToQueryExpression.js +40 -0
- package/compiled/views/FilterCriteria/criteriaGroupToQueryExpression.js.map +1 -0
- package/compiled/views/FilterCriteria/criteriaGroupToSummary.js +47 -0
- package/compiled/views/FilterCriteria/criteriaGroupToSummary.js.map +1 -0
- package/{views → compiled/views}/FilterCriteria/criteriaToNodes.d.ts +9 -0
- package/compiled/views/FilterCriteria/criteriaToNodes.js +89 -0
- package/compiled/views/FilterCriteria/criteriaToNodes.js.map +1 -0
- package/{views → compiled/views}/FilterCriteria/index.d.ts +1 -0
- package/compiled/views/FilterCriteria/index.js +75 -0
- package/compiled/views/FilterCriteria/index.js.map +1 -0
- package/{views → compiled/views}/FilterCriteria/models.d.ts +29 -2
- package/compiled/views/FilterCriteria/models.js +28 -0
- package/compiled/views/FilterCriteria/models.js.map +1 -0
- package/{views → compiled/views}/FilterCriteria/mutateGroup.d.ts +4 -1
- package/compiled/views/FilterCriteria/mutateGroup.js +53 -0
- package/compiled/views/FilterCriteria/mutateGroup.js.map +1 -0
- package/{views → compiled/views}/GenericRelatedItemView.d.ts +1 -1
- package/compiled/views/GenericRelatedItemView.js +147 -0
- package/compiled/views/GenericRelatedItemView.js.map +1 -0
- package/compiled/views/RegisterStakeholder.d.ts +9 -0
- package/compiled/views/RegisterStakeholder.js +19 -0
- package/compiled/views/RegisterStakeholder.js.map +1 -0
- package/compiled/views/RegisterVersion.d.ts +9 -0
- package/compiled/views/RegisterVersion.js +20 -0
- package/compiled/views/RegisterVersion.js.map +1 -0
- package/compiled/views/SearchQuery.d.ts +13 -0
- package/compiled/views/SearchQuery.js +58 -0
- package/compiled/views/SearchQuery.js.map +1 -0
- package/compiled/views/change-request/ChangeRequestContext.d.ts +20 -0
- package/compiled/views/change-request/ChangeRequestContext.js +30 -0
- package/compiled/views/change-request/ChangeRequestContext.js.map +1 -0
- package/compiled/views/change-request/Proposals.d.ts +21 -0
- package/compiled/views/change-request/Proposals.js +185 -0
- package/compiled/views/change-request/Proposals.js.map +1 -0
- package/compiled/views/change-request/objectChangeset.d.ts +31 -0
- package/compiled/views/change-request/objectChangeset.js +189 -0
- package/compiled/views/change-request/objectChangeset.js.map +1 -0
- package/compiled/views/detail/ChangeRequest/Proposal.d.ts +0 -0
- package/compiled/views/detail/ChangeRequest/Proposal.js +144 -0
- package/compiled/views/detail/ChangeRequest/Proposal.js.map +1 -0
- package/compiled/views/detail/ChangeRequest/index.d.ts +13 -0
- package/compiled/views/detail/ChangeRequest/index.js +140 -0
- package/compiled/views/detail/ChangeRequest/index.js.map +1 -0
- package/compiled/views/detail/ChangeRequest/transitions.d.ts +28 -0
- package/compiled/views/detail/ChangeRequest/transitions.js +418 -0
- package/compiled/views/detail/ChangeRequest/transitions.js.map +1 -0
- package/compiled/views/detail/CustomView/index.d.ts +13 -0
- package/compiled/views/detail/CustomView/index.js +32 -0
- package/compiled/views/detail/CustomView/index.js.map +1 -0
- package/compiled/views/detail/RegisterHome/index.d.ts +5 -0
- package/compiled/views/detail/RegisterHome/index.js +70 -0
- package/compiled/views/detail/RegisterHome/index.js.map +1 -0
- package/compiled/views/detail/RegisterItem/RelatedItems.d.ts +14 -0
- package/compiled/views/detail/RegisterItem/RelatedItems.js +28 -0
- package/compiled/views/detail/RegisterItem/RelatedItems.js.map +1 -0
- package/compiled/views/detail/RegisterItem/SupersedingItemMenu.d.ts +13 -0
- package/compiled/views/detail/RegisterItem/SupersedingItemMenu.js +27 -0
- package/compiled/views/detail/RegisterItem/SupersedingItemMenu.js.map +1 -0
- package/compiled/views/detail/RegisterItem/index.d.ts +13 -0
- package/compiled/views/detail/RegisterItem/index.js +277 -0
- package/compiled/views/detail/RegisterItem/index.js.map +1 -0
- package/compiled/views/detail/RegisterMeta/RegisterMetaForm.d.ts +10 -0
- package/compiled/views/detail/RegisterMeta/RegisterMetaForm.js +135 -0
- package/compiled/views/detail/RegisterMeta/RegisterMetaForm.js.map +1 -0
- package/compiled/views/detail/RegisterMeta/index.d.ts +10 -0
- package/compiled/views/detail/RegisterMeta/index.js +61 -0
- package/compiled/views/detail/RegisterMeta/index.js.map +1 -0
- package/compiled/views/detail/index.d.ts +1 -0
- package/compiled/views/detail/index.js +11 -0
- package/compiled/views/detail/index.js.map +1 -0
- package/compiled/views/diffing/InlineDiff.d.ts +12 -0
- package/compiled/views/diffing/InlineDiff.js +20 -0
- package/compiled/views/diffing/InlineDiff.js.map +1 -0
- package/compiled/views/diffing/StructuredDiff.d.ts +11 -0
- package/compiled/views/diffing/StructuredDiff.js +38 -0
- package/compiled/views/diffing/StructuredDiff.js.map +1 -0
- package/compiled/views/hooks/useCustomView.d.ts +3 -0
- package/compiled/views/hooks/useCustomView.js +14 -0
- package/compiled/views/hooks/useCustomView.js.map +1 -0
- package/compiled/views/hooks/useItemClassConfig.d.ts +3 -0
- package/compiled/views/hooks/useItemClassConfig.js +14 -0
- package/compiled/views/hooks/useItemClassConfig.js.map +1 -0
- package/compiled/views/hooks/useItemRef.d.ts +3 -0
- package/compiled/views/hooks/useItemRef.js +26 -0
- package/compiled/views/hooks/useItemRef.js.map +1 -0
- package/compiled/views/hooks/useSingleRegisterItemData.d.ts +3 -0
- package/compiled/views/hooks/useSingleRegisterItemData.js +21 -0
- package/compiled/views/hooks/useSingleRegisterItemData.js.map +1 -0
- package/{views → compiled/views}/index.d.ts +2 -2
- package/compiled/views/index.js +142 -0
- package/compiled/views/index.js.map +1 -0
- package/compiled/views/itemPathUtils.d.ts +52 -0
- package/compiled/views/itemPathUtils.js +115 -0
- package/compiled/views/itemPathUtils.js.map +1 -0
- package/compiled/views/itemQueryUtils.d.ts +11 -0
- package/compiled/views/itemQueryUtils.js +42 -0
- package/compiled/views/itemQueryUtils.js.map +1 -0
- package/compiled/views/protocolRegistry.d.ts +12 -0
- package/compiled/views/protocolRegistry.js +24 -0
- package/compiled/views/protocolRegistry.js.map +1 -0
- package/compiled/views/sidebar/Browse/index.d.ts +11 -0
- package/compiled/views/sidebar/Browse/index.js +278 -0
- package/compiled/views/sidebar/Browse/index.js.map +1 -0
- package/compiled/views/sidebar/Export/index.d.ts +5 -0
- package/compiled/views/sidebar/Export/index.js +47 -0
- package/compiled/views/sidebar/Export/index.js.map +1 -0
- package/compiled/views/sidebar/ListItem.d.ts +10 -0
- package/compiled/views/sidebar/ListItem.js +23 -0
- package/compiled/views/sidebar/ListItem.js.map +1 -0
- package/compiled/views/sidebar/Registration/index.d.ts +5 -0
- package/compiled/views/sidebar/Registration/index.js +114 -0
- package/compiled/views/sidebar/Registration/index.js.map +1 -0
- package/compiled/views/sidebar/Search/index.d.ts +18 -0
- package/compiled/views/sidebar/Search/index.js +100 -0
- package/compiled/views/sidebar/Search/index.js.map +1 -0
- package/compiled/views/sidebar/index.d.ts +6 -0
- package/compiled/views/sidebar/index.js +73 -0
- package/compiled/views/sidebar/index.js.map +1 -0
- package/compiled/views/util.d.ts +36 -0
- package/compiled/views/util.js +63 -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/context.d.ts +11 -0
- package/dependencies-local/extension-kit/context.js +133 -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 +56 -0
- package/dependencies-local/extension-kit/i18n/widgets.js.map +1 -0
- package/dependencies-local/extension-kit/index.d.ts +3 -0
- package/dependencies-local/extension-kit/index.js +78 -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 +6 -0
- package/dependencies-local/extension-kit/object-specs/paneron-object.js +161 -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 +31 -0
- package/dependencies-local/extension-kit/object-specs/ser-des.js +187 -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 +2 -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 +3 -0
- package/{index.js → dependencies-local/extension-kit/object-specs/yaml/schema.js} +11 -30
- package/dependencies-local/extension-kit/object-specs/yaml/schema.js.map +1 -0
- package/dependencies-local/extension-kit/package.json +53 -0
- package/dependencies-local/extension-kit/settings.d.ts +6 -0
- package/dependencies-local/extension-kit/settings.js +11 -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 +17 -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 +15 -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/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 +27 -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 +15 -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 +108 -0
- package/dependencies-local/extension-kit/types/object-spec.js +23 -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 +495 -0
- package/dependencies-local/extension-kit/types/renderer.js +5 -0
- package/dependencies-local/extension-kit/types/renderer.js.map +1 -0
- package/dependencies-local/extension-kit/useDebounce.d.ts +2 -0
- package/dependencies-local/extension-kit/useDebounce.js +27 -0
- package/dependencies-local/extension-kit/useDebounce.js.map +1 -0
- package/dependencies-local/extension-kit/usePersistentStateReducer.d.ts +35 -0
- package/dependencies-local/extension-kit/usePersistentStateReducer.js +91 -0
- package/dependencies-local/extension-kit/usePersistentStateReducer.js.map +1 -0
- package/dependencies-local/extension-kit/useTimeTravelingPersistentStateReducer.d.ts +48 -0
- package/dependencies-local/extension-kit/useTimeTravelingPersistentStateReducer.js +116 -0
- package/dependencies-local/extension-kit/useTimeTravelingPersistentStateReducer.js.map +1 -0
- package/dependencies-local/extension-kit/util.d.ts +8 -0
- package/dependencies-local/extension-kit/util.js +21 -0
- package/dependencies-local/extension-kit/util.js.map +1 -0
- package/dependencies-local/extension-kit/widgets/ErrorState.d.ts +8 -0
- package/dependencies-local/extension-kit/widgets/ErrorState.js +44 -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 +84 -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 +78 -0
- package/dependencies-local/extension-kit/widgets/ItemCount.js.map +1 -0
- package/dependencies-local/extension-kit/widgets/List.d.ts +40 -0
- package/dependencies-local/extension-kit/widgets/List.js +191 -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 +75 -0
- package/dependencies-local/extension-kit/widgets/Navbar.js.map +1 -0
- package/dependencies-local/extension-kit/widgets/SearchResultList.d.ts +24 -0
- package/dependencies-local/extension-kit/widgets/SearchResultList.js +201 -0
- package/dependencies-local/extension-kit/widgets/SearchResultList.js.map +1 -0
- package/dependencies-local/extension-kit/widgets/Sidebar/Block.d.ts +21 -0
- package/dependencies-local/extension-kit/widgets/Sidebar/Block.js +94 -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 +22 -0
- package/dependencies-local/extension-kit/widgets/Sidebar/BlockStateButtonGroup.js.map +1 -0
- package/dependencies-local/extension-kit/widgets/Sidebar/PropertyView.d.ts +28 -0
- package/dependencies-local/extension-kit/widgets/Sidebar/PropertyView.js +148 -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 +178 -0
- package/dependencies-local/extension-kit/widgets/Sidebar/index.js.map +1 -0
- package/dependencies-local/extension-kit/widgets/TabbedWorkspace/SuperSidebar.d.ts +13 -0
- package/dependencies-local/extension-kit/widgets/TabbedWorkspace/SuperSidebar.js +82 -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 +168 -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 +66 -0
- package/dependencies-local/extension-kit/widgets/TabbedWorkspace/detail.js.map +1 -0
- package/dependencies-local/extension-kit/widgets/TabbedWorkspace/index.d.ts +33 -0
- package/dependencies-local/extension-kit/widgets/TabbedWorkspace/index.js +204 -0
- package/dependencies-local/extension-kit/widgets/TabbedWorkspace/index.js.map +1 -0
- package/dependencies-local/extension-kit/widgets/TabbedWorkspace/types.d.ts +74 -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 +38 -0
- package/dependencies-local/extension-kit/widgets/Workspace.js +99 -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 +57 -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/{common.js → dist/common.js} +1 -1
- package/dist/common.js.map +1 -0
- package/dist/index.d.ts +6 -0
- package/dist/index.js +45 -0
- package/dist/index.js.map +1 -0
- package/dist/migrations/initial.d.ts +3 -0
- package/dist/migrations/initial.js.map +1 -0
- package/dist/package.json +56 -0
- package/dist/types/cr.d.ts +216 -0
- package/dist/types/cr.js +175 -0
- package/dist/types/cr.js.map +1 -0
- package/dist/types/index.d.ts +7 -0
- package/{types → dist/types}/index.js +19 -0
- package/dist/types/index.js.map +1 -0
- package/dist/types/item.d.ts +59 -0
- package/dist/types/item.js +16 -0
- package/dist/types/item.js.map +1 -0
- package/dist/types/proposal.d.ts +64 -0
- package/{types → dist/types}/proposal.js +1 -1
- package/dist/types/proposal.js.map +1 -0
- package/dist/types/register.d.ts +18 -0
- package/dist/types/register.js +23 -0
- package/dist/types/register.js.map +1 -0
- package/dist/types/registry.d.ts +15 -0
- package/dist/types/registry.js +14 -0
- package/dist/types/registry.js.map +1 -0
- package/dist/types/stakeholder.d.ts +58 -0
- package/dist/types/stakeholder.js +53 -0
- package/dist/types/stakeholder.js.map +1 -0
- package/dist/types/util.d.ts +21 -0
- package/dist/types/util.js +5 -0
- package/dist/types/util.js.map +1 -0
- package/dist/types/views.d.ts +157 -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 +91 -0
- package/dist/views/AnnotatedChange.js.map +1 -0
- package/dist/views/BrowserCtx.d.ts +73 -0
- package/dist/views/BrowserCtx.js +31 -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 +202 -0
- package/dist/views/FilterCriteria/CRITERIA_CONFIGURATION.js.map +1 -0
- package/dist/views/FilterCriteria/criteriaGroupToQueryExpression.d.ts +6 -0
- package/{views → dist/views}/FilterCriteria/criteriaGroupToQueryExpression.js +10 -3
- package/dist/views/FilterCriteria/criteriaGroupToQueryExpression.js.map +1 -0
- package/dist/views/FilterCriteria/criteriaGroupToSummary.d.ts +5 -0
- package/{views → dist/views}/FilterCriteria/criteriaGroupToSummary.js +7 -7
- package/dist/views/FilterCriteria/criteriaGroupToSummary.js.map +1 -0
- package/dist/views/FilterCriteria/criteriaToNodes.d.ts +24 -0
- package/{views → dist/views}/FilterCriteria/criteriaToNodes.js +42 -28
- package/dist/views/FilterCriteria/criteriaToNodes.js.map +1 -0
- package/dist/views/FilterCriteria/index.d.ts +23 -0
- package/{views → dist/views}/FilterCriteria/index.js +29 -21
- package/dist/views/FilterCriteria/index.js.map +1 -0
- package/dist/views/FilterCriteria/models.d.ts +68 -0
- package/dist/views/FilterCriteria/models.js +34 -0
- package/dist/views/FilterCriteria/models.js.map +1 -0
- package/dist/views/FilterCriteria/mutateGroup.d.ts +17 -0
- package/{views → dist/views}/FilterCriteria/mutateGroup.js +4 -3
- package/dist/views/FilterCriteria/mutateGroup.js.map +1 -0
- package/dist/views/GenericRelatedItemView.d.ts +6 -0
- package/dist/views/GenericRelatedItemView.js +242 -0
- package/dist/views/GenericRelatedItemView.js.map +1 -0
- package/dist/views/RegisterStakeholder.d.ts +9 -0
- package/dist/views/RegisterStakeholder.js +40 -0
- package/dist/views/RegisterStakeholder.js.map +1 -0
- package/dist/views/RegisterVersion.d.ts +9 -0
- package/dist/views/RegisterVersion.js +41 -0
- package/dist/views/RegisterVersion.js.map +1 -0
- package/dist/views/SearchQuery.d.ts +13 -0
- package/dist/views/SearchQuery.js +137 -0
- package/dist/views/SearchQuery.js.map +1 -0
- package/dist/views/change-request/ChangeRequestContext.d.ts +20 -0
- package/dist/views/change-request/ChangeRequestContext.js +56 -0
- package/dist/views/change-request/ChangeRequestContext.js.map +1 -0
- package/dist/views/change-request/Proposals.d.ts +21 -0
- package/dist/views/change-request/Proposals.js +331 -0
- package/dist/views/change-request/Proposals.js.map +1 -0
- package/dist/views/change-request/objectChangeset.d.ts +31 -0
- package/dist/views/change-request/objectChangeset.js +229 -0
- package/dist/views/change-request/objectChangeset.js.map +1 -0
- package/dist/views/detail/ChangeRequest/Proposal.d.ts +0 -0
- package/dist/views/detail/ChangeRequest/Proposal.js +142 -0
- package/dist/views/detail/ChangeRequest/Proposal.js.map +1 -0
- package/dist/views/detail/ChangeRequest/index.d.ts +13 -0
- package/dist/views/detail/ChangeRequest/index.js +207 -0
- package/dist/views/detail/ChangeRequest/index.js.map +1 -0
- package/dist/views/detail/ChangeRequest/transitions.d.ts +28 -0
- package/dist/views/detail/ChangeRequest/transitions.js +530 -0
- package/dist/views/detail/ChangeRequest/transitions.js.map +1 -0
- package/dist/views/detail/CustomView/index.d.ts +13 -0
- package/dist/views/detail/CustomView/index.js +68 -0
- package/dist/views/detail/CustomView/index.js.map +1 -0
- package/dist/views/detail/RegisterHome/index.d.ts +5 -0
- package/dist/views/detail/RegisterHome/index.js +128 -0
- package/dist/views/detail/RegisterHome/index.js.map +1 -0
- package/dist/views/detail/RegisterItem/RelatedItems.d.ts +14 -0
- package/dist/views/detail/RegisterItem/RelatedItems.js +61 -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 +56 -0
- package/dist/views/detail/RegisterItem/SupersedingItemMenu.js.map +1 -0
- package/dist/views/detail/RegisterItem/index.d.ts +13 -0
- package/dist/views/detail/RegisterItem/index.js +357 -0
- package/dist/views/detail/RegisterItem/index.js.map +1 -0
- package/dist/views/detail/RegisterMeta/RegisterMetaForm.d.ts +10 -0
- package/dist/views/detail/RegisterMeta/RegisterMetaForm.js +331 -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 +111 -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 +24 -0
- package/dist/views/detail/index.js.map +1 -0
- package/dist/views/diffing/InlineDiff.d.ts +12 -0
- package/dist/views/diffing/InlineDiff.js +58 -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 +65 -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 +24 -0
- package/dist/views/hooks/useCustomView.js.map +1 -0
- package/dist/views/hooks/useItemClassConfig.d.ts +3 -0
- package/dist/views/hooks/useItemClassConfig.js +24 -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 +39 -0
- package/dist/views/hooks/useItemRef.js.map +1 -0
- package/dist/views/hooks/useSingleRegisterItemData.d.ts +3 -0
- package/dist/views/hooks/useSingleRegisterItemData.js +32 -0
- package/dist/views/hooks/useSingleRegisterItemData.js.map +1 -0
- package/dist/views/index.d.ts +7 -0
- package/dist/views/index.js +197 -0
- package/dist/views/index.js.map +1 -0
- package/dist/views/itemPathUtils.d.ts +52 -0
- package/dist/views/itemPathUtils.js +144 -0
- package/dist/views/itemPathUtils.js.map +1 -0
- package/dist/views/itemQueryUtils.d.ts +11 -0
- package/dist/views/itemQueryUtils.js +48 -0
- package/dist/views/itemQueryUtils.js.map +1 -0
- package/dist/views/protocolRegistry.d.ts +12 -0
- package/dist/views/protocolRegistry.js +42 -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 +453 -0
- package/dist/views/sidebar/Browse/index.js.map +1 -0
- package/dist/views/sidebar/Export/index.d.ts +5 -0
- package/dist/views/sidebar/Export/index.js +94 -0
- package/dist/views/sidebar/Export/index.js.map +1 -0
- package/dist/views/sidebar/ListItem.d.ts +10 -0
- package/dist/views/sidebar/ListItem.js +43 -0
- package/dist/views/sidebar/ListItem.js.map +1 -0
- package/dist/views/sidebar/Registration/index.d.ts +5 -0
- package/dist/views/sidebar/Registration/index.js +163 -0
- package/dist/views/sidebar/Registration/index.js.map +1 -0
- package/dist/views/sidebar/Search/index.d.ts +18 -0
- package/dist/views/sidebar/Search/index.js +177 -0
- package/dist/views/sidebar/Search/index.js.map +1 -0
- package/dist/views/sidebar/index.d.ts +6 -0
- package/dist/views/sidebar/index.js +104 -0
- package/dist/views/sidebar/index.js.map +1 -0
- package/dist/views/util.d.ts +36 -0
- package/dist/views/util.js +135 -0
- package/dist/views/util.js.map +1 -0
- package/package.json +27 -19
- package/react-visual-diff.d.ts +9 -0
- package/common.d.ts +0 -1
- package/index.js.map +0 -1
- package/types/index.js.map +0 -1
- package/types/item.js +0 -6
- package/types/item.js.map +0 -1
- package/types/proposal.d.ts +0 -47
- package/types/proposal.js.map +0 -1
- package/types/register.js.map +0 -1
- package/types/registry.d.ts +0 -10
- package/types/registry.js +0 -7
- package/types/registry.js.map +0 -1
- package/types/stakeholder.d.ts +0 -34
- package/types/stakeholder.js +0 -9
- package/types/stakeholder.js.map +0 -1
- package/types/views.d.ts +0 -83
- package/types/views.js.map +0 -1
- package/views/BrowserCtx.d.ts +0 -9
- package/views/BrowserCtx.js +0 -20
- package/views/BrowserCtx.js.map +0 -1
- package/views/ChangeRequest.d.ts +0 -12
- package/views/ChangeRequest.js +0 -689
- package/views/ChangeRequest.js.map +0 -1
- package/views/FilterCriteria/CRITERIA_CONFIGURATION.d.ts +0 -5
- package/views/FilterCriteria/CRITERIA_CONFIGURATION.js +0 -109
- package/views/FilterCriteria/CRITERIA_CONFIGURATION.js.map +0 -1
- package/views/FilterCriteria/criteriaGroupToQueryExpression.js.map +0 -1
- package/views/FilterCriteria/criteriaGroupToSummary.js.map +0 -1
- package/views/FilterCriteria/criteriaToNodes.js.map +0 -1
- package/views/FilterCriteria/index.js.map +0 -1
- package/views/FilterCriteria/models.js +0 -27
- package/views/FilterCriteria/models.js.map +0 -1
- package/views/FilterCriteria/mutateGroup.js.map +0 -1
- package/views/GenericRelatedItemView.js +0 -202
- package/views/GenericRelatedItemView.js.map +0 -1
- package/views/ItemBrowser.d.ts +0 -12
- package/views/ItemBrowser.js +0 -258
- package/views/ItemBrowser.js.map +0 -1
- package/views/ItemDetails.d.ts +0 -14
- package/views/ItemDetails.js +0 -128
- package/views/ItemDetails.js.map +0 -1
- package/views/MainView.d.ts +0 -8
- package/views/MainView.js +0 -34
- package/views/MainView.js.map +0 -1
- package/views/RegisterInformation.d.ts +0 -7
- package/views/RegisterInformation.js +0 -264
- package/views/RegisterInformation.js.map +0 -1
- package/views/RegisterItemGrid.d.ts +0 -25
- package/views/RegisterItemGrid.js +0 -276
- package/views/RegisterItemGrid.js.map +0 -1
- package/views/index.js +0 -166
- package/views/index.js.map +0 -1
- package/views/itemPathUtils.d.ts +0 -9
- package/views/itemPathUtils.js +0 -57
- package/views/itemPathUtils.js.map +0 -1
- package/views/util.d.ts +0 -12
- package/views/util.js +0 -49
- package/views/util.js.map +0 -1
- /package/{migrations → compiled/migrations}/initial.d.ts +0 -0
- /package/{migrations → compiled/migrations}/initial.js.map +0 -0
- /package/{types → compiled/types}/util.d.ts +0 -0
- /package/{types → compiled/types}/util.js.map +0 -0
- /package/{views → compiled/views}/FilterCriteria/criteriaGroupToSummary.d.ts +0 -0
- /package/{types/register.js → 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/{migrations → dist/migrations}/initial.js +0 -0
|
@@ -0,0 +1,202 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.default = exports.CRITERIA_CONFIGURATION = exports.CUSTOM_CONDITION = exports.RAW_SUBSTRING = exports.SUBREGISTER = exports.ITEM_CLASS = void 0;
|
|
7
|
+
|
|
8
|
+
var _react = require("@emotion/react");
|
|
9
|
+
|
|
10
|
+
var _PropertyView = require("@riboseinc/paneron-extension-kit/widgets/Sidebar/PropertyView");
|
|
11
|
+
|
|
12
|
+
var _index = require("./index");
|
|
13
|
+
|
|
14
|
+
/** @jsx jsx */
|
|
15
|
+
|
|
16
|
+
/** @jsxFrag React.Fragment */
|
|
17
|
+
const ITEM_CLASS = {
|
|
18
|
+
label: "item class is",
|
|
19
|
+
icon: 'cube',
|
|
20
|
+
toQuery: ({
|
|
21
|
+
classID
|
|
22
|
+
}, {
|
|
23
|
+
subregisters
|
|
24
|
+
}) => `objPath.indexOf("/${classID}/") >= ${subregisters ? _index.SUBREGISTER_PATH_PREFIX.length - 1 : 0}`,
|
|
25
|
+
fromQuery: query => ({
|
|
26
|
+
classID: query.split('/')[1]
|
|
27
|
+
}),
|
|
28
|
+
toSummary: ({
|
|
29
|
+
classID
|
|
30
|
+
}, {
|
|
31
|
+
itemClasses
|
|
32
|
+
}) => {
|
|
33
|
+
if (classID) {
|
|
34
|
+
var _itemClasses$classID;
|
|
35
|
+
|
|
36
|
+
return ((_itemClasses$classID = itemClasses[classID]) === null || _itemClasses$classID === void 0 ? void 0 : _itemClasses$classID.meta.title) ?? classID;
|
|
37
|
+
} else {
|
|
38
|
+
return "(N/A)";
|
|
39
|
+
}
|
|
40
|
+
},
|
|
41
|
+
widget: ({
|
|
42
|
+
data,
|
|
43
|
+
onChange,
|
|
44
|
+
itemClasses,
|
|
45
|
+
availableClassIDs,
|
|
46
|
+
className,
|
|
47
|
+
style
|
|
48
|
+
}) => {
|
|
49
|
+
const itemClassChoices = [...Object.entries(itemClasses).filter(([clsID]) => availableClassIDs.indexOf(clsID) >= 0).map(([classID, classData]) => {
|
|
50
|
+
var _classData$meta;
|
|
51
|
+
|
|
52
|
+
return {
|
|
53
|
+
value: classID,
|
|
54
|
+
label: (classData === null || classData === void 0 ? void 0 : (_classData$meta = classData.meta) === null || _classData$meta === void 0 ? void 0 : _classData$meta.title) ?? "Unknown class"
|
|
55
|
+
};
|
|
56
|
+
}), {
|
|
57
|
+
value: '',
|
|
58
|
+
label: "(not selected)"
|
|
59
|
+
}];
|
|
60
|
+
return (0, _react.jsx)(_PropertyView.Select, {
|
|
61
|
+
className: className,
|
|
62
|
+
style: style,
|
|
63
|
+
fill: true,
|
|
64
|
+
options: itemClassChoices,
|
|
65
|
+
value: data.classID ?? '',
|
|
66
|
+
disabled: !onChange,
|
|
67
|
+
onChange: onChange ? evt => onChange({
|
|
68
|
+
classID: evt.currentTarget.value
|
|
69
|
+
}) : undefined
|
|
70
|
+
});
|
|
71
|
+
}
|
|
72
|
+
};
|
|
73
|
+
exports.ITEM_CLASS = ITEM_CLASS;
|
|
74
|
+
const SUBREGISTER = {
|
|
75
|
+
label: "is in subregister",
|
|
76
|
+
icon: 'folder-open',
|
|
77
|
+
isEnabled: ({
|
|
78
|
+
subregisters
|
|
79
|
+
}) => subregisters !== undefined,
|
|
80
|
+
toQuery: ({
|
|
81
|
+
subregisterID
|
|
82
|
+
}, {
|
|
83
|
+
subregisters
|
|
84
|
+
}) => subregisters !== undefined && subregisterID !== null && subregisterID !== void 0 && subregisterID.trim() ? `objPath.indexOf("/subregisters/${subregisterID}/") === 0` : 'true',
|
|
85
|
+
fromQuery: query => ({
|
|
86
|
+
subregisterID: query.split('/')[2]
|
|
87
|
+
}),
|
|
88
|
+
toSummary: ({
|
|
89
|
+
subregisterID
|
|
90
|
+
}, {
|
|
91
|
+
subregisters
|
|
92
|
+
}) => {
|
|
93
|
+
if (subregisters && subregisterID) {
|
|
94
|
+
return subregisters[subregisterID].title;
|
|
95
|
+
} else {
|
|
96
|
+
return "(N/A)";
|
|
97
|
+
}
|
|
98
|
+
},
|
|
99
|
+
widget: ({
|
|
100
|
+
data,
|
|
101
|
+
onChange,
|
|
102
|
+
subregisters,
|
|
103
|
+
className,
|
|
104
|
+
style
|
|
105
|
+
}) => {
|
|
106
|
+
const subregisterChoices = [...Object.entries(subregisters ?? {}).map(([subregisterID, subregisterInfo]) => {
|
|
107
|
+
return {
|
|
108
|
+
value: subregisterID,
|
|
109
|
+
label: subregisterInfo.title
|
|
110
|
+
};
|
|
111
|
+
}), {
|
|
112
|
+
value: '',
|
|
113
|
+
label: "(not selected)"
|
|
114
|
+
}];
|
|
115
|
+
return (0, _react.jsx)(_PropertyView.Select, {
|
|
116
|
+
className: className,
|
|
117
|
+
style: style,
|
|
118
|
+
fill: true,
|
|
119
|
+
options: subregisterChoices,
|
|
120
|
+
value: data.subregisterID ?? '',
|
|
121
|
+
disabled: !onChange,
|
|
122
|
+
onChange: onChange ? evt => onChange({
|
|
123
|
+
subregisterID: evt.currentTarget.value
|
|
124
|
+
}) : undefined
|
|
125
|
+
});
|
|
126
|
+
}
|
|
127
|
+
};
|
|
128
|
+
exports.SUBREGISTER = SUBREGISTER;
|
|
129
|
+
const RAW_SUBSTRING = {
|
|
130
|
+
label: "raw data contains",
|
|
131
|
+
icon: 'search-text',
|
|
132
|
+
toQuery: ({
|
|
133
|
+
substring
|
|
134
|
+
}) => substring !== null && substring !== void 0 && substring.trim() ? `JSON.stringify(obj.data ?? {}).toLowerCase().indexOf("${substring.toLowerCase().replace(/"/g, "\\\"")}") >= 0` : `true`,
|
|
135
|
+
fromQuery: query => {
|
|
136
|
+
var _query$split$;
|
|
137
|
+
|
|
138
|
+
return {
|
|
139
|
+
substring: (((_query$split$ = query.split('JSON.stringify(obj.data ?? {}).toLowerCase().indexOf("')[1]) === null || _query$split$ === void 0 ? void 0 : _query$split$.split('") >= 0')[0]) ?? '').replace(/\\"/g, '"')
|
|
140
|
+
};
|
|
141
|
+
},
|
|
142
|
+
toSummary: ({
|
|
143
|
+
substring
|
|
144
|
+
}) => {
|
|
145
|
+
if (substring) {
|
|
146
|
+
return substring.length > 20 ? `${substring.slice(0, 20)}…` : substring;
|
|
147
|
+
} else {
|
|
148
|
+
return 'N/A';
|
|
149
|
+
}
|
|
150
|
+
},
|
|
151
|
+
widget: ({
|
|
152
|
+
data,
|
|
153
|
+
onChange,
|
|
154
|
+
className,
|
|
155
|
+
style
|
|
156
|
+
}) => {
|
|
157
|
+
return (0, _react.jsx)(_PropertyView.TextInput, {
|
|
158
|
+
className: className,
|
|
159
|
+
style: style,
|
|
160
|
+
value: data.substring ?? '',
|
|
161
|
+
onChange: onChange ? substring => onChange({
|
|
162
|
+
substring
|
|
163
|
+
}) : undefined
|
|
164
|
+
});
|
|
165
|
+
}
|
|
166
|
+
};
|
|
167
|
+
exports.RAW_SUBSTRING = RAW_SUBSTRING;
|
|
168
|
+
const CUSTOM_CONDITION = {
|
|
169
|
+
label: "condition is met",
|
|
170
|
+
icon: 'code',
|
|
171
|
+
toQuery: ({
|
|
172
|
+
customExpression
|
|
173
|
+
}) => customExpression ?? 'true',
|
|
174
|
+
fromQuery: query => ({
|
|
175
|
+
customExpression: query
|
|
176
|
+
}),
|
|
177
|
+
toSummary: () => "(custom test expr.)",
|
|
178
|
+
widget: ({
|
|
179
|
+
data,
|
|
180
|
+
onChange,
|
|
181
|
+
className
|
|
182
|
+
}) => {
|
|
183
|
+
return (0, _react.jsx)(_PropertyView.TextInput, {
|
|
184
|
+
className: className,
|
|
185
|
+
value: data.customExpression ?? 'true',
|
|
186
|
+
placeholder: "Enter a valid query expression\u2026",
|
|
187
|
+
onChange: onChange ? customExpression => onChange({
|
|
188
|
+
customExpression
|
|
189
|
+
}) : undefined
|
|
190
|
+
});
|
|
191
|
+
}
|
|
192
|
+
};
|
|
193
|
+
exports.CUSTOM_CONDITION = CUSTOM_CONDITION;
|
|
194
|
+
const CRITERIA_CONFIGURATION = {
|
|
195
|
+
'item-class': ITEM_CLASS,
|
|
196
|
+
'subregister': SUBREGISTER,
|
|
197
|
+
'raw-substring': RAW_SUBSTRING,
|
|
198
|
+
'custom': CUSTOM_CONDITION
|
|
199
|
+
};
|
|
200
|
+
exports.CRITERIA_CONFIGURATION = CRITERIA_CONFIGURATION;
|
|
201
|
+
var _default = CRITERIA_CONFIGURATION;
|
|
202
|
+
exports.default = _default;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"CRITERIA_CONFIGURATION.js","sourceRoot":"","sources":["../../../src/views/FilterCriteria/CRITERIA_CONFIGURATION.tsx"],"names":[],"mappings":"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","sourcesContent":["/** @jsx jsx */\n/** @jsxFrag React.Fragment */\n\nimport { jsx } from '@emotion/react';\nimport { OptionProps } from '@blueprintjs/core';\nimport { Select, TextInput } from '@riboseinc/paneron-extension-kit/widgets/Sidebar/PropertyView';\nimport { CriteriaConfiguration, CriterionConfiguration } from './models';\nimport { SUBREGISTER_PATH_PREFIX } from './index';\n\n\nexport const ITEM_CLASS: CriterionConfiguration<{ classID?: string }> = {\n label: \"item class is\",\n icon: 'cube',\n toQuery: ({ classID }, { subregisters }) => `objPath.indexOf(\"/${classID}/\") >= ${subregisters ? SUBREGISTER_PATH_PREFIX.length - 1 : 0}`,\n fromQuery: (query) => ({\n classID: query.split('/')[1],\n }),\n toSummary: ({ classID }, { itemClasses }) => {\n if (classID) {\n return itemClasses[classID]?.meta.title ?? classID;\n } else {\n return \"(N/A)\";\n }\n },\n widget: ({ data, onChange, itemClasses, availableClassIDs, className, style }) => {\n const itemClassChoices: OptionProps[] = [\n ...Object.entries(itemClasses).\n filter(([clsID, ]) => availableClassIDs.indexOf(clsID) >= 0).\n map(([classID, classData]) => {\n return { value: classID, label: classData?.meta?.title ?? \"Unknown class\" };\n }),\n { value: '', label: \"(not selected)\" },\n ];\n return (\n <Select\n className={className}\n style={style}\n fill\n options={itemClassChoices}\n value={data.classID ?? ''}\n disabled={!onChange}\n onChange={onChange\n ? (evt) => onChange!({ classID: evt.currentTarget.value })\n : undefined} />\n );\n },\n};\n\n\nexport const SUBREGISTER: CriterionConfiguration<{ subregisterID?: string }> = {\n label: \"is in subregister\",\n icon: 'folder-open',\n isEnabled: ({ subregisters }) => subregisters !== undefined,\n toQuery: ({ subregisterID }, { subregisters }) => subregisters !== undefined && subregisterID?.trim()\n ? `objPath.indexOf(\"/subregisters/${subregisterID}/\") === 0`\n : 'true',\n fromQuery: (query) => ({\n subregisterID: query.split('/')[2],\n }),\n toSummary: ({ subregisterID }, { subregisters }) => {\n if (subregisters && subregisterID) {\n return subregisters[subregisterID].title;\n } else {\n return \"(N/A)\";\n }\n },\n widget: ({ data, onChange, subregisters, className, style }) => {\n const subregisterChoices: OptionProps[] = [\n ...Object.entries(subregisters ?? {}).\n map(([subregisterID, subregisterInfo]) => {\n return { value: subregisterID, label: subregisterInfo.title };\n }),\n { value: '', label: \"(not selected)\" },\n ];\n return (\n <Select\n className={className}\n style={style}\n fill\n options={subregisterChoices}\n value={data.subregisterID ?? ''}\n disabled={!onChange}\n onChange={onChange\n ? (evt) => onChange!({ subregisterID: evt.currentTarget.value })\n : undefined} />\n );\n },\n};\n\n\nexport const RAW_SUBSTRING: CriterionConfiguration<{ substring?: string }> = {\n label: \"raw data contains\",\n icon: 'search-text',\n toQuery: ({ substring }) =>\n substring?.trim()\n ? `JSON.stringify(obj.data ?? {}).toLowerCase().indexOf(\"${substring.toLowerCase().replace(/\"/g, \"\\\\\\\"\")}\") >= 0`\n : `true`,\n fromQuery: (query) => ({\n substring: (query.\n split('JSON.stringify(obj.data ?? {}).toLowerCase().indexOf(\"')[1]?.\n split('\") >= 0')[0] ?? '').replace(/\\\\\"/g, '\"'),\n }),\n toSummary: ({ substring }) => {\n if (substring) {\n return substring.length > 20 ? `${substring.slice(0, 20)}…` : substring;\n } else {\n return 'N/A';\n }\n },\n widget: ({ data, onChange, className, style }) => {\n return <TextInput\n className={className}\n style={style}\n value={data.substring ?? ''}\n onChange={onChange ? substring => onChange!({ substring }) : undefined}\n />;\n },\n}\n\n\nexport const CUSTOM_CONDITION: CriterionConfiguration<{ customExpression?: string; }> = {\n label: \"condition is met\",\n icon: 'code',\n toQuery: ({ customExpression }) => customExpression ?? 'true',\n fromQuery: (query) => ({\n customExpression: query,\n }),\n toSummary: () => \"(custom test expr.)\",\n widget: ({ data, onChange, className }) => {\n return (\n <TextInput\n className={className}\n value={data.customExpression ?? 'true'}\n placeholder=\"Enter a valid query expression…\"\n onChange={onChange\n ? (customExpression) => onChange!({ customExpression })\n : undefined} />\n );\n },\n}\n\n\nexport const CRITERIA_CONFIGURATION: CriteriaConfiguration = {\n 'item-class': ITEM_CLASS,\n 'subregister': SUBREGISTER,\n 'raw-substring': RAW_SUBSTRING,\n 'custom': CUSTOM_CONDITION,\n};\n\n\nexport default CRITERIA_CONFIGURATION;\n"]}
|
|
@@ -7,13 +7,20 @@ exports.default = criteriaGroupToQueryExpression;
|
|
|
7
7
|
|
|
8
8
|
var _models = require("./models");
|
|
9
9
|
|
|
10
|
-
|
|
10
|
+
/**
|
|
11
|
+
* Given a CriteriaGroup,
|
|
12
|
+
* returns a query expression suitable for use with filtered object indexes..
|
|
13
|
+
*/
|
|
11
14
|
function criteriaGroupToQueryExpression(cg) {
|
|
12
15
|
const exps = [];
|
|
13
16
|
|
|
14
17
|
for (const c of cg.criteria) {
|
|
15
18
|
if ((0, _models.isCriteriaGroup)(c)) {
|
|
16
|
-
|
|
19
|
+
if (c.criteria.length > 1) {
|
|
20
|
+
exps.push(`(${criteriaGroupToQueryExpression(c)})`);
|
|
21
|
+
} else if (c.criteria.length > 0) {
|
|
22
|
+
exps.push(`${criteriaGroupToQueryExpression(c)}`);
|
|
23
|
+
}
|
|
17
24
|
} else {
|
|
18
25
|
exps.push(c.query);
|
|
19
26
|
}
|
|
@@ -22,7 +29,7 @@ function criteriaGroupToQueryExpression(cg) {
|
|
|
22
29
|
let result;
|
|
23
30
|
|
|
24
31
|
if (exps.length < 1) {
|
|
25
|
-
result =
|
|
32
|
+
result = 'true';
|
|
26
33
|
} else {
|
|
27
34
|
switch (cg.require) {
|
|
28
35
|
case 'all':
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"criteriaGroupToQueryExpression.js","sourceRoot":"","sources":["../../../src/views/FilterCriteria/criteriaGroupToQueryExpression.ts"],"names":[],"mappings":"AAAA,OAAO,EAAiB,eAAe,EAAE,MAAM,UAAU,CAAC;AAG1D;;;GAGG;AACH,MAAM,CAAC,OAAO,UAAU,8BAA8B,CAAC,EAAiB;IACtE,MAAM,IAAI,GAAa,EAAE,CAAC;IAE1B,KAAK,MAAM,CAAC,IAAI,EAAE,CAAC,QAAQ,EAAE;QAC3B,IAAI,eAAe,CAAC,CAAC,CAAC,EAAE;YACtB,IAAI,CAAC,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC,EAAE;gBACzB,IAAI,CAAC,IAAI,CAAC,IAAI,8BAA8B,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC;aACrD;iBAAM,IAAI,CAAC,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC,EAAE;gBAChC,IAAI,CAAC,IAAI,CAAC,GAAG,8BAA8B,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;aACnD;SACF;aAAM;YACL,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC;SACpB;KACF;IAED,IAAI,MAAc,CAAC;IACnB,IAAI,IAAI,CAAC,MAAM,GAAG,CAAC,EAAE;QACnB,MAAM,GAAG,MAAM,CAAC;KACjB;SAAM;QACL,QAAQ,EAAE,CAAC,OAAO,EAAE;YAClB,KAAK,KAAK;gBACR,MAAM,GAAG,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;gBAC3B,MAAM;YACR,KAAK,KAAK;gBACR,MAAM,GAAG,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;gBAC3B,MAAM;YACR,KAAK,MAAM;gBACT,MAAM,GAAG,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,GAAG,YAAY,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;gBAC1D,MAAM;SACT;KACF;IAED,OAAO,MAAM,CAAC;AAChB,CAAC","sourcesContent":["import { CriteriaGroup, isCriteriaGroup } from './models';\n\n\n/**\n * Given a CriteriaGroup,\n * returns a query expression suitable for use with filtered object indexes..\n */\nexport default function criteriaGroupToQueryExpression(cg: CriteriaGroup): string {\n const exps: string[] = [];\n\n for (const c of cg.criteria) {\n if (isCriteriaGroup(c)) {\n if (c.criteria.length > 1) {\n exps.push(`(${criteriaGroupToQueryExpression(c)})`);\n } else if (c.criteria.length > 0) {\n exps.push(`${criteriaGroupToQueryExpression(c)}`);\n }\n } else {\n exps.push(c.query);\n }\n }\n\n let result: string;\n if (exps.length < 1) {\n result = 'true';\n } else {\n switch (cg.require) {\n case 'all':\n result = exps.join(' && ');\n break;\n case 'any':\n result = exps.join(' || ');\n break;\n case 'none':\n result = exps.map(exp => `${exp} === false`).join(' && ');\n break;\n }\n }\n\n return result;\n}\n"]}
|
|
@@ -5,9 +5,9 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
5
5
|
});
|
|
6
6
|
exports.default = criteriaGroupToSummary;
|
|
7
7
|
|
|
8
|
-
var
|
|
8
|
+
var _react = require("@emotion/react");
|
|
9
9
|
|
|
10
|
-
var
|
|
10
|
+
var _react2 = _interopRequireDefault(require("react"));
|
|
11
11
|
|
|
12
12
|
var _models = require("./models");
|
|
13
13
|
|
|
@@ -34,26 +34,26 @@ function criteriaGroupToSummary(cg, opts) {
|
|
|
34
34
|
throw new Error("Missing criterion configuration");
|
|
35
35
|
}
|
|
36
36
|
|
|
37
|
-
exps.push((0,
|
|
37
|
+
exps.push((0, _react.jsx)(_react2.default.Fragment, null, cfg.label, " ", (0, _react.jsx)("em", null, cfg.toSummary(cfg.fromQuery(c.query, opts), opts))));
|
|
38
38
|
}
|
|
39
39
|
}
|
|
40
40
|
|
|
41
41
|
let result;
|
|
42
42
|
|
|
43
43
|
if (exps.length < 1) {
|
|
44
|
-
result = (0,
|
|
44
|
+
result = (0, _react.jsx)(_react2.default.Fragment, null, "(no criteria)");
|
|
45
45
|
} else {
|
|
46
46
|
switch (cg.require) {
|
|
47
47
|
case 'all':
|
|
48
|
-
result = (0,
|
|
48
|
+
result = (0, _react.jsx)(_react2.default.Fragment, null, exps.reduce((acc, current, index) => [...acc, index ? ', ' : '', current], []));
|
|
49
49
|
break;
|
|
50
50
|
|
|
51
51
|
case 'any':
|
|
52
|
-
result = (0,
|
|
52
|
+
result = (0, _react.jsx)(_react2.default.Fragment, null, exps.reduce((acc, current, index) => [...acc, index ? ' or ' : '', current], []));
|
|
53
53
|
break;
|
|
54
54
|
|
|
55
55
|
case 'none':
|
|
56
|
-
result = (0,
|
|
56
|
+
result = (0, _react.jsx)(_react2.default.Fragment, null, "neither ", exps.reduce((acc, current, index) => [...acc, index ? ' nor ' : '', current], []));
|
|
57
57
|
break;
|
|
58
58
|
}
|
|
59
59
|
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"criteriaGroupToSummary.js","sourceRoot":"","sources":["../../../src/views/FilterCriteria/criteriaGroupToSummary.tsx"],"names":[],"mappings":"AAAA,eAAe;AACf,8BAA8B;AAE9B,OAAO,EAAE,GAAG,EAAE,MAAM,gBAAgB,CAAC;AACrC,OAAO,KAAoC,MAAM,OAAO,CAAC;AACzD,OAAO,EAA6B,eAAe,EAAE,MAAM,UAAU,CAAC;AACtE,OAAO,EAAE,sBAAsB,EAAE,MAAM,0BAA0B,CAAC;AAElE,4BAA4B;AAG5B,MAAM,CAAC,OAAO,UAAU,sBAAsB,CAAC,EAAiB,EAAE,IAAgB;IAChF,MAAM,IAAI,GAAkB,EAAE,CAAC;IAE/B,KAAK,MAAM,CAAC,IAAI,EAAE,CAAC,QAAQ,EAAE;QAC3B,IAAI,eAAe,CAAC,CAAC,CAAC,EAAE;YACtB,IAAI,CAAC,IAAI,CAAC,sBAAsB,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC,CAAC;SAC5C;aAAM;YACL,MAAM,GAAG,GAAG,sBAAsB,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC;YAC1C,IAAI,CAAC,GAAG,EAAE;gBACR,OAAO,CAAC,KAAK,CAAC,yCAAyC,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC;gBAChE,MAAM,IAAI,KAAK,CAAC,iCAAiC,CAAC,CAAC;aACpD;YACD,IAAI,CAAC,IAAI,CAAC;gBAAG,GAAG,CAAC,KAAK;;gBAAE,gBAAK,GAAG,CAAC,SAAS,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC,CAAC,KAAK,EAAE,IAAI,CAAC,EAAE,IAAI,CAAC,CAAM,CAAG,CAAC,CAAC;SAC1F;KACF;IAED,IAAI,MAAmB,CAAC;IACxB,IAAI,IAAI,CAAC,MAAM,GAAG,CAAC,EAAE;QACnB,MAAM,GAAG,0CAAkB,CAAC;KAC7B;SAAM;QACL,QAAQ,EAAE,CAAC,OAAO,EAAE;YAClB,KAAK,KAAK;gBACR,MAAM,GAAG,0BAAG,IAAI,CAAC,MAAM,CAAC,CAAC,GAAmB,EAAE,OAAkB,EAAE,KAAa,EAAE,EAAE,CAAC,CAAC,GAAG,GAAG,EAAE,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,OAAO,CAAC,EAAE,EAAE,CAAC,CAAI,CAAC;gBAClI,MAAM;YACR,KAAK,KAAK;gBACR,MAAM,GAAG,0BAAG,IAAI,CAAC,MAAM,CAAC,CAAC,GAAmB,EAAE,OAAkB,EAAE,KAAa,EAAE,EAAE,CAAC,CAAC,GAAG,GAAG,EAAE,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,OAAO,CAAC,EAAE,EAAE,CAAC,CAAI,CAAC;gBACpI,MAAM;YACR,KAAK,MAAM;gBACT,MAAM,GAAG;;oBAAW,IAAI,CAAC,MAAM,CAAC,CAAC,GAAmB,EAAE,OAAkB,EAAE,KAAa,EAAE,EAAE,CAAC,CAAC,GAAG,GAAG,EAAE,KAAK,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE,OAAO,CAAC,EAAE,EAAE,CAAC,CAAI,CAAC;gBAC7I,MAAM;SACT;KACF;IAED,OAAO,MAAM,CAAC;AAChB,CAAC","sourcesContent":["/** @jsx jsx */\n/** @jsxFrag React.Fragment */\n\nimport { jsx } from '@emotion/react';\nimport React, { ReactNode, ReactNodeArray } from 'react';\nimport { CriteriaGroup, CommonOpts, isCriteriaGroup } from './models';\nimport { CRITERIA_CONFIGURATION } from \"./CRITERIA_CONFIGURATION\";\n\n/* Building query summary */\n\n\nexport default function criteriaGroupToSummary(cg: CriteriaGroup, opts: CommonOpts): JSX.Element {\n const exps: JSX.Element[] = [];\n\n for (const c of cg.criteria) {\n if (isCriteriaGroup(c)) {\n exps.push(criteriaGroupToSummary(c, opts));\n } else {\n const cfg = CRITERIA_CONFIGURATION[c.key];\n if (!cfg) {\n console.error(\"Missing criterion configuration for key\", c.key);\n throw new Error(\"Missing criterion configuration\");\n }\n exps.push(<>{cfg.label} <em>{cfg.toSummary(cfg.fromQuery(c.query, opts), opts)}</em></>);\n }\n }\n\n let result: JSX.Element;\n if (exps.length < 1) {\n result = <>(no criteria)</>;\n } else {\n switch (cg.require) {\n case 'all':\n result = <>{exps.reduce((acc: ReactNodeArray, current: ReactNode, index: number) => [...acc, index ? ', ' : '', current], [])}</>;\n break;\n case 'any':\n result = <>{exps.reduce((acc: ReactNodeArray, current: ReactNode, index: number) => [...acc, index ? ' or ' : '', current], [])}</>;\n break;\n case 'none':\n result = <>neither {exps.reduce((acc: ReactNodeArray, current: ReactNode, index: number) => [...acc, index ? ' nor ' : '', current], [])}</>;\n break;\n }\n }\n\n return result;\n}\n"]}
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
/** @jsx jsx */
|
|
2
|
+
/** @jsxFrag React.Fragment */
|
|
3
|
+
import { TreeNodeInfo } from '@blueprintjs/core';
|
|
4
|
+
import { ItemClassConfigurationSet, Subregisters } from '../../types';
|
|
5
|
+
import { CriteriaGroup, Criterion } from './models';
|
|
6
|
+
/**
|
|
7
|
+
* Builds Blueprint’s tree nodes given criteria,
|
|
8
|
+
* callbacks and relevant register configuration.
|
|
9
|
+
*/
|
|
10
|
+
export default function criteriaToNodes(cs: (CriteriaGroup | Criterion)[], opts: {
|
|
11
|
+
path?: number[];
|
|
12
|
+
/** XXX: This seems to be obsolete. Don’t use, investigate for usefulness. */
|
|
13
|
+
implied?: true;
|
|
14
|
+
/**
|
|
15
|
+
* Called when criteria is being edited. `commit` is set to true
|
|
16
|
+
* when change should take effect.
|
|
17
|
+
*/
|
|
18
|
+
onEditItem?: (parent: number[], idx: number, newItem: CriteriaGroup | Criterion, commit?: true) => void;
|
|
19
|
+
onDeleteItem?: (parent: number[], idx: number) => void;
|
|
20
|
+
onAddGroup?: (parent: number[]) => void;
|
|
21
|
+
itemClasses: ItemClassConfigurationSet;
|
|
22
|
+
availableClassIDs: string[];
|
|
23
|
+
subregisters?: Subregisters;
|
|
24
|
+
}): TreeNodeInfo[];
|
|
@@ -5,11 +5,13 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
5
5
|
});
|
|
6
6
|
exports.default = criteriaToNodes;
|
|
7
7
|
|
|
8
|
-
var
|
|
8
|
+
var _react = require("@emotion/react");
|
|
9
9
|
|
|
10
|
-
var
|
|
10
|
+
var _react2 = _interopRequireDefault(require("react"));
|
|
11
11
|
|
|
12
|
-
var
|
|
12
|
+
var _core = require("@blueprintjs/core");
|
|
13
|
+
|
|
14
|
+
var _PropertyView = require("@riboseinc/paneron-extension-kit/widgets/Sidebar/PropertyView");
|
|
13
15
|
|
|
14
16
|
var _models = require("./models");
|
|
15
17
|
|
|
@@ -23,50 +25,58 @@ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { de
|
|
|
23
25
|
|
|
24
26
|
/** @jsxFrag React.Fragment */
|
|
25
27
|
|
|
26
|
-
|
|
28
|
+
/**
|
|
29
|
+
* Builds Blueprint’s tree nodes given criteria,
|
|
30
|
+
* callbacks and relevant register configuration.
|
|
31
|
+
*/
|
|
27
32
|
function criteriaToNodes(cs, opts) {
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
const path = (_a = opts.path) !== null && _a !== void 0 ? _a : [];
|
|
33
|
+
const path = opts.path ?? [];
|
|
31
34
|
return [...cs.entries()].map(([idx, c]) => {
|
|
32
35
|
const isRoot = path.length < 1;
|
|
33
|
-
const
|
|
36
|
+
const defaultIcon = isRoot && opts.implied === true ? 'manual' : undefined;
|
|
34
37
|
const disabled = opts.implied === true;
|
|
35
|
-
const deleteButton = idx < cs.length - 1 && opts.onDeleteItem
|
|
38
|
+
const deleteButton = idx < cs.length - 1 && opts.onDeleteItem ? (0, _react.jsx)(_core.Button, {
|
|
36
39
|
minimal: true,
|
|
37
40
|
small: true,
|
|
38
41
|
onClick: () => opts.onDeleteItem(path, idx),
|
|
42
|
+
title: "Delete this criterion or criteria block",
|
|
43
|
+
disabled: isRoot,
|
|
39
44
|
icon: "cross"
|
|
40
45
|
}) : null;
|
|
46
|
+
const addGroupButton = opts.onAddGroup ? (0, _react.jsx)(_core.Button, {
|
|
47
|
+
minimal: true,
|
|
48
|
+
small: true,
|
|
49
|
+
title: "Add nested criteria block",
|
|
50
|
+
icon: "add-to-artifact",
|
|
51
|
+
onClick: () => opts.onAddGroup([...path, idx])
|
|
52
|
+
}) : null;
|
|
41
53
|
|
|
42
54
|
if ((0, _models.isCriteriaGroup)(c)) {
|
|
55
|
+
// Render criteria group recursively
|
|
43
56
|
const cg = c;
|
|
44
57
|
return {
|
|
45
58
|
id: `${path.join('-')}-${idx}-${opts.implied}`,
|
|
46
59
|
disabled,
|
|
47
60
|
hasCaret: true,
|
|
48
61
|
isExpanded: true,
|
|
49
|
-
icon,
|
|
50
|
-
label: (0,
|
|
62
|
+
icon: defaultIcon,
|
|
63
|
+
label: (0, _react.jsx)(_index.CriteriaGroupLabel, {
|
|
64
|
+
css: (0, _react.css)`margin: 2.5px 0`,
|
|
51
65
|
criteriaGroup: cg,
|
|
52
|
-
onUpdate: opts.onEditItem ? op => opts.onEditItem(path, idx,
|
|
66
|
+
onUpdate: opts.onEditItem ? op => opts.onEditItem(path, idx, { ...cg,
|
|
53
67
|
require: op
|
|
54
|
-
}
|
|
68
|
+
}, true) : undefined
|
|
55
69
|
}),
|
|
56
|
-
secondaryLabel: (0,
|
|
57
|
-
minimal: true,
|
|
58
|
-
small: true,
|
|
59
|
-
onClick: () => opts.onAddGroup([...path, idx]),
|
|
60
|
-
icon: "more"
|
|
61
|
-
}) : null, deleteButton),
|
|
70
|
+
secondaryLabel: (0, _react.jsx)(_core.ButtonGroup, null, opts.implied && isRoot ? (0, _react.jsx)(_react2.default.Fragment, null, "(implied)") : null, addGroupButton, deleteButton),
|
|
62
71
|
childNodes: criteriaToNodes(opts.onEditItem ? [...cg.criteria, {
|
|
63
72
|
key: 'custom',
|
|
64
73
|
query: ''
|
|
65
|
-
}] : cg.criteria,
|
|
74
|
+
}] : cg.criteria, { ...opts,
|
|
66
75
|
path: [...path, idx]
|
|
67
|
-
})
|
|
76
|
+
})
|
|
68
77
|
};
|
|
69
78
|
} else {
|
|
79
|
+
// Render leaf criterion
|
|
70
80
|
const ci = c;
|
|
71
81
|
const {
|
|
72
82
|
subregisters,
|
|
@@ -96,19 +106,24 @@ function criteriaToNodes(cs, opts) {
|
|
|
96
106
|
label: cfg.label
|
|
97
107
|
};
|
|
98
108
|
});
|
|
99
|
-
const
|
|
109
|
+
const isPlaceholder = ci.key === 'custom' && ci.query === '';
|
|
110
|
+
const label = isPlaceholder ? (0, _react.jsx)(_core.Button, {
|
|
100
111
|
small: true,
|
|
112
|
+
minimal: true,
|
|
113
|
+
icon: "plus",
|
|
101
114
|
onClick: () => opts.onEditItem(path, idx, {
|
|
102
115
|
key: 'custom',
|
|
103
116
|
query: cfg.toQuery({
|
|
104
|
-
customExpression: '
|
|
117
|
+
customExpression: 'false'
|
|
105
118
|
}, {
|
|
106
119
|
subregisters,
|
|
107
120
|
itemClasses
|
|
108
121
|
})
|
|
109
122
|
}, true)
|
|
110
|
-
}, "
|
|
111
|
-
|
|
123
|
+
}, "criteria") : (0, _react.jsx)(_core.ControlGroup, {
|
|
124
|
+
vertical: true,
|
|
125
|
+
css: (0, _react.css)`margin-bottom: 2.5px;`
|
|
126
|
+
}, (0, _react.jsx)(_PropertyView.Select, {
|
|
112
127
|
options: criterionTypeOptions,
|
|
113
128
|
value: ci.key,
|
|
114
129
|
disabled: !opts.onEditItem,
|
|
@@ -120,7 +135,7 @@ function criteriaToNodes(cs, opts) {
|
|
|
120
135
|
});
|
|
121
136
|
}
|
|
122
137
|
} : undefined
|
|
123
|
-
}), (0,
|
|
138
|
+
}), (0, _react.jsx)(Widget, {
|
|
124
139
|
itemClasses: opts.itemClasses,
|
|
125
140
|
availableClassIDs: opts.availableClassIDs,
|
|
126
141
|
subregisters: opts.subregisters,
|
|
@@ -136,9 +151,8 @@ function criteriaToNodes(cs, opts) {
|
|
|
136
151
|
return {
|
|
137
152
|
id: `${path.join('-')}-${idx}-${opts.implied ? 'implied' : ''}`,
|
|
138
153
|
disabled,
|
|
139
|
-
icon,
|
|
140
154
|
label,
|
|
141
|
-
secondaryLabel: (0,
|
|
155
|
+
secondaryLabel: (0, _react.jsx)(_core.ButtonGroup, null, deleteButton)
|
|
142
156
|
};
|
|
143
157
|
}
|
|
144
158
|
});
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"criteriaToNodes.js","sourceRoot":"","sources":["../../../src/views/FilterCriteria/criteriaToNodes.tsx"],"names":[],"mappings":"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","sourcesContent":["/** @jsx jsx */\n/** @jsxFrag React.Fragment */\n\nimport { jsx, css } from '@emotion/react';\nimport React from 'react';\nimport { Button, ButtonGroup, OptionProps, TreeNodeInfo, ControlGroup } from '@blueprintjs/core';\nimport { Select } from '@riboseinc/paneron-extension-kit/widgets/Sidebar/PropertyView';\nimport { ItemClassConfigurationSet, Subregisters } from '../../types';\nimport { CriteriaGroup, Criterion, isCriteriaGroup, isCriteriaKey } from './models';\nimport { CriteriaGroupLabel } from './index';\nimport { CRITERIA_CONFIGURATION } from './CRITERIA_CONFIGURATION';\n\n\n/**\n * Builds Blueprint’s tree nodes given criteria,\n * callbacks and relevant register configuration.\n */\nexport default function criteriaToNodes(\n cs: (CriteriaGroup | Criterion)[],\n opts: {\n path?: number[];\n\n /** XXX: This seems to be obsolete. Don’t use, investigate for usefulness. */\n implied?: true;\n\n /**\n * Called when criteria is being edited. `commit` is set to true\n * when change should take effect.\n */\n onEditItem?: (parent: number[], idx: number, newItem: CriteriaGroup | Criterion, commit?: true) => void;\n onDeleteItem?: (parent: number[], idx: number) => void;\n onAddGroup?: (parent: number[]) => void;\n\n itemClasses: ItemClassConfigurationSet;\n availableClassIDs: string[];\n subregisters?: Subregisters;\n }): TreeNodeInfo[] {\n const path = opts.path ?? [];\n\n return [...cs.entries()].map(([idx, c]): TreeNodeInfo => {\n const isRoot = path.length < 1;\n const defaultIcon = isRoot && opts.implied === true\n ? 'manual'\n : undefined;\n\n const disabled = opts.implied === true;\n const deleteButton: JSX.Element | null =\n idx < (cs.length - 1) && opts.onDeleteItem\n ? <Button minimal small\n onClick={() => opts.onDeleteItem!(path, idx)}\n title=\"Delete this criterion or criteria block\"\n disabled={isRoot}\n icon=\"cross\" />\n : null;\n const addGroupButton: JSX.Element | null = opts.onAddGroup\n ? <Button\n minimal\n small\n title=\"Add nested criteria block\"\n icon=\"add-to-artifact\"\n onClick={() => opts.onAddGroup!([...path, idx])} />\n : null;\n\n if (isCriteriaGroup(c)) {\n\n // Render criteria group recursively\n\n const cg = c as CriteriaGroup;\n return {\n id: `${path.join('-')}-${idx}-${opts.implied}`,\n disabled,\n hasCaret: true,\n isExpanded: true,\n icon: defaultIcon,\n label: <CriteriaGroupLabel\n css={css`margin: 2.5px 0`}\n criteriaGroup={cg}\n onUpdate={opts.onEditItem\n ? ((op) => opts.onEditItem!(path, idx, { ...cg, require: op }, true))\n : undefined} />,\n secondaryLabel: <ButtonGroup>\n {opts.implied && isRoot ? <>(implied)</> : null}\n {addGroupButton}\n {deleteButton}\n </ButtonGroup>,\n childNodes: criteriaToNodes(\n opts.onEditItem\n ? [...cg.criteria, { key: 'custom', query: '' }]\n : cg.criteria,\n { ...opts, path: [...path, idx] }),\n };\n\n } else {\n\n // Render leaf criterion\n\n const ci = c as Criterion;\n const { subregisters, itemClasses } = opts;\n if (!isCriteriaKey(ci.key)) {\n console.error(\"Invalid criteria key encountered\", ci.key);\n throw new Error(\"Invalid criteria key encountered\");\n }\n const cfg = CRITERIA_CONFIGURATION[ci.key];\n if (!cfg) {\n console.error(\"Missing criterion configuration for key\", ci.key);\n throw new Error(\"Missing criterion configuration\");\n }\n const Widget = cfg.widget;\n const data = cfg.fromQuery(ci.query, { subregisters, itemClasses });\n const criterionTypeOptions: OptionProps[] = Object.entries(CRITERIA_CONFIGURATION).\n map(([key, cfg]) => {\n return { value: key, label: cfg.label };\n });\n const isPlaceholder = ci.key === 'custom' && ci.query === '';\n const label = isPlaceholder\n ? <Button\n small\n minimal\n icon=\"plus\"\n onClick={() => opts.onEditItem!(\n path,\n idx,\n { key: 'custom', query: cfg.toQuery({ customExpression: 'false' }, { subregisters, itemClasses }) },\n true)}>\n criteria\n </Button>\n : <ControlGroup vertical css={css`margin-bottom: 2.5px;`}>\n <Select\n options={criterionTypeOptions}\n value={ci.key}\n disabled={!opts.onEditItem}\n onChange={opts.onEditItem\n ? (evt) => {\n if (evt.currentTarget.value !== '' && isCriteriaKey(evt.currentTarget.value)) {\n opts.onEditItem!(\n path,\n idx,\n { key: evt.currentTarget.value, query: '' }\n );\n }\n }\n : undefined} />\n <Widget\n itemClasses={opts.itemClasses}\n availableClassIDs={opts.availableClassIDs}\n subregisters={opts.subregisters}\n data={data}\n onChange={(val) => opts.onEditItem!(\n path,\n idx,\n { key: ci.key, query: cfg.toQuery(val, { subregisters, itemClasses }) },\n true)} />\n </ControlGroup>;\n return {\n id: `${path.join('-')}-${idx}-${opts.implied ? 'implied' : ''}`,\n disabled,\n label,\n secondaryLabel: <ButtonGroup>\n {deleteButton}\n </ButtonGroup>,\n };\n\n }\n\n });\n}\n"]}
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
/** @jsx jsx */
|
|
2
|
+
/** @jsxFrag React.Fragment */
|
|
3
|
+
import React from 'react';
|
|
4
|
+
import { ItemClassConfigurationSet, Subregisters } from '../../types';
|
|
5
|
+
import { CriteriaGroup, CompositionOperator } from './models';
|
|
6
|
+
export declare const SUBREGISTER_PATH_PREFIX = "/subregisters/";
|
|
7
|
+
interface CriteriaTreeProps {
|
|
8
|
+
impliedCriteria?: CriteriaGroup;
|
|
9
|
+
criteria: CriteriaGroup;
|
|
10
|
+
onChange?: (criteria: CriteriaGroup) => void;
|
|
11
|
+
className?: string;
|
|
12
|
+
availableClassIDs: string[];
|
|
13
|
+
itemClasses: ItemClassConfigurationSet;
|
|
14
|
+
subregisters?: Subregisters;
|
|
15
|
+
}
|
|
16
|
+
export declare const CriteriaTree: React.FC<CriteriaTreeProps>;
|
|
17
|
+
export default CriteriaTree;
|
|
18
|
+
interface CriteriaGroupLabelProps {
|
|
19
|
+
criteriaGroup: CriteriaGroup;
|
|
20
|
+
onUpdate?: (op: CompositionOperator) => void;
|
|
21
|
+
className?: string;
|
|
22
|
+
}
|
|
23
|
+
export declare const CriteriaGroupLabel: React.FC<CriteriaGroupLabelProps>;
|
|
@@ -5,11 +5,11 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
5
5
|
});
|
|
6
6
|
exports.CriteriaGroupLabel = exports.default = exports.CriteriaTree = exports.SUBREGISTER_PATH_PREFIX = void 0;
|
|
7
7
|
|
|
8
|
-
var
|
|
8
|
+
var _react = require("@emotion/react");
|
|
9
9
|
|
|
10
|
-
var
|
|
10
|
+
var _react2 = require("react");
|
|
11
11
|
|
|
12
|
-
var
|
|
12
|
+
var _core = require("@blueprintjs/core");
|
|
13
13
|
|
|
14
14
|
var _models = require("./models");
|
|
15
15
|
|
|
@@ -19,10 +19,6 @@ var _criteriaToNodes = _interopRequireDefault(require("./criteriaToNodes"));
|
|
|
19
19
|
|
|
20
20
|
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
21
21
|
|
|
22
|
-
function _getRequireWildcardCache() { if (typeof WeakMap !== "function") return null; var cache = new WeakMap(); _getRequireWildcardCache = function () { return cache; }; return cache; }
|
|
23
|
-
|
|
24
|
-
function _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } if (obj === null || typeof obj !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
|
|
25
|
-
|
|
26
22
|
/** @jsx jsx */
|
|
27
23
|
|
|
28
24
|
/** @jsxFrag React.Fragment */
|
|
@@ -38,14 +34,13 @@ const CriteriaTree = function ({
|
|
|
38
34
|
subregisters,
|
|
39
35
|
className
|
|
40
36
|
}) {
|
|
41
|
-
const [crit, updateCriteria] = (0,
|
|
42
|
-
(0,
|
|
37
|
+
const [crit, updateCriteria] = (0, _react2.useState)(criteria);
|
|
38
|
+
(0, _react2.useEffect)(() => {
|
|
43
39
|
updateCriteria(criteria);
|
|
44
40
|
}, [JSON.stringify(criteria)]);
|
|
45
41
|
|
|
46
42
|
function onAddGroup(parent) {
|
|
47
|
-
|
|
48
|
-
p.reverse();
|
|
43
|
+
const p = reverseArray(parent);
|
|
49
44
|
var newCriteria = JSON.parse(JSON.stringify([crit]));
|
|
50
45
|
const newGroup = (0, _models.makeBlankCriteria)();
|
|
51
46
|
(0, _mutateGroup.default)(newCriteria, p, {
|
|
@@ -57,8 +52,7 @@ const CriteriaTree = function ({
|
|
|
57
52
|
}
|
|
58
53
|
|
|
59
54
|
function onDelete(parent, idx) {
|
|
60
|
-
|
|
61
|
-
p.reverse();
|
|
55
|
+
const p = reverseArray(parent);
|
|
62
56
|
var newCriteria = JSON.parse(JSON.stringify([crit]));
|
|
63
57
|
(0, _mutateGroup.default)(newCriteria, p, {
|
|
64
58
|
action: 'delete',
|
|
@@ -69,8 +63,7 @@ const CriteriaTree = function ({
|
|
|
69
63
|
}
|
|
70
64
|
|
|
71
65
|
function onEditItem(parent, idx, newItem, commit) {
|
|
72
|
-
|
|
73
|
-
p.reverse();
|
|
66
|
+
const p = reverseArray(parent);
|
|
74
67
|
var newCriteria = JSON.parse(JSON.stringify([crit]));
|
|
75
68
|
(0, _mutateGroup.default)(newCriteria, p, {
|
|
76
69
|
action: 'edit',
|
|
@@ -98,8 +91,14 @@ const CriteriaTree = function ({
|
|
|
98
91
|
subregisters,
|
|
99
92
|
availableClassIDs
|
|
100
93
|
}) : [];
|
|
101
|
-
return (0,
|
|
102
|
-
contents: [...implied, ...nodes]
|
|
94
|
+
return (0, _react.jsx)(_core.Tree, {
|
|
95
|
+
contents: [...implied, ...nodes],
|
|
96
|
+
className: className,
|
|
97
|
+
css: (0, _react.css)`
|
|
98
|
+
.bp4-tree-node-content { height: unset; }
|
|
99
|
+
.bp4-tree-node-label { overflow: unset; }
|
|
100
|
+
.bp4-tree-node-caret, .bp4-tree-node-caret-none { display: none; }
|
|
101
|
+
`
|
|
103
102
|
});
|
|
104
103
|
};
|
|
105
104
|
|
|
@@ -109,14 +108,23 @@ exports.default = _default;
|
|
|
109
108
|
|
|
110
109
|
const CriteriaGroupLabel = function ({
|
|
111
110
|
criteriaGroup,
|
|
112
|
-
onUpdate
|
|
111
|
+
onUpdate,
|
|
112
|
+
className
|
|
113
113
|
}) {
|
|
114
|
-
return (0,
|
|
114
|
+
return (0, _react.jsx)("div", {
|
|
115
|
+
className: className
|
|
116
|
+
}, onUpdate ? (0, _react.jsx)(_core.ButtonGroup, null, _models.COMPOSITION_OPERATORS.map(op => (0, _react.jsx)(_core.Button, {
|
|
115
117
|
key: op,
|
|
116
118
|
small: true,
|
|
117
119
|
onClick: () => onUpdate ? onUpdate(op) : void 0,
|
|
118
120
|
active: criteriaGroup.require === op
|
|
119
|
-
}, op))) : (0,
|
|
121
|
+
}, op))) : (0, _react.jsx)("strong", null, criteriaGroup.require), " ", "of:");
|
|
120
122
|
};
|
|
121
123
|
|
|
122
|
-
exports.CriteriaGroupLabel = CriteriaGroupLabel;
|
|
124
|
+
exports.CriteriaGroupLabel = CriteriaGroupLabel;
|
|
125
|
+
|
|
126
|
+
function reverseArray(arr) {
|
|
127
|
+
var copy = JSON.parse(JSON.stringify(arr));
|
|
128
|
+
copy.reverse();
|
|
129
|
+
return copy;
|
|
130
|
+
}
|