@riboseinc/paneron-registry-kit 2.0.0-dev8 → 2.0.0
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/common.d.ts +1 -1
- package/common.js +1 -1
- package/common.js.map +1 -1
- package/index.d.ts +3 -3
- package/index.js +3 -3
- package/index.js.map +1 -1
- package/package.json +26 -18
- package/types/cr.d.ts +216 -0
- package/types/cr.js +175 -0
- package/types/cr.js.map +1 -0
- package/types/index.d.ts +1 -0
- package/types/index.js +19 -0
- package/types/index.js.map +1 -1
- package/types/item.d.ts +13 -3
- package/types/item.js +11 -1
- package/types/item.js.map +1 -1
- package/types/proposal.d.ts +31 -14
- package/types/proposal.js +1 -1
- package/types/proposal.js.map +1 -1
- package/types/register.d.ts +6 -5
- package/types/register.js +19 -1
- package/types/register.js.map +1 -1
- package/types/registry.d.ts +8 -3
- package/types/registry.js +8 -1
- package/types/registry.js.map +1 -1
- package/types/stakeholder.d.ts +40 -16
- package/types/stakeholder.js +47 -3
- package/types/stakeholder.js.map +1 -1
- package/types/views.d.ts +98 -24
- package/types/views.js.map +1 -1
- package/views/AnnotatedChange.d.ts +7 -0
- package/views/AnnotatedChange.js +91 -0
- package/views/AnnotatedChange.js.map +1 -0
- package/views/BrowserCtx.d.ts +66 -2
- package/views/BrowserCtx.js +13 -2
- package/views/BrowserCtx.js.map +1 -1
- package/views/FilterCriteria/CRITERIA_CONFIGURATION.d.ts +17 -0
- package/views/FilterCriteria/CRITERIA_CONFIGURATION.js +202 -0
- package/views/FilterCriteria/CRITERIA_CONFIGURATION.js.map +1 -0
- package/views/FilterCriteria/criteriaGroupToQueryExpression.d.ts +6 -0
- package/views/FilterCriteria/criteriaGroupToQueryExpression.js +50 -0
- package/views/FilterCriteria/criteriaGroupToQueryExpression.js.map +1 -0
- package/views/FilterCriteria/criteriaGroupToSummary.d.ts +5 -0
- package/views/FilterCriteria/criteriaGroupToSummary.js +62 -0
- package/views/FilterCriteria/criteriaGroupToSummary.js.map +1 -0
- package/views/FilterCriteria/criteriaToNodes.d.ts +24 -0
- package/views/FilterCriteria/criteriaToNodes.js +159 -0
- package/views/FilterCriteria/criteriaToNodes.js.map +1 -0
- package/views/FilterCriteria/index.d.ts +23 -0
- package/views/FilterCriteria/index.js +130 -0
- package/views/FilterCriteria/index.js.map +1 -0
- package/views/FilterCriteria/models.d.ts +68 -0
- package/views/FilterCriteria/models.js +34 -0
- package/views/FilterCriteria/models.js.map +1 -0
- package/views/FilterCriteria/mutateGroup.d.ts +17 -0
- package/views/FilterCriteria/mutateGroup.js +59 -0
- package/views/FilterCriteria/mutateGroup.js.map +1 -0
- package/views/GenericRelatedItemView.d.ts +1 -1
- package/views/GenericRelatedItemView.js +143 -101
- package/views/GenericRelatedItemView.js.map +1 -1
- package/views/RegisterStakeholder.d.ts +9 -0
- package/views/RegisterStakeholder.js +40 -0
- package/views/RegisterStakeholder.js.map +1 -0
- package/views/RegisterVersion.d.ts +9 -0
- package/views/RegisterVersion.js +41 -0
- package/views/RegisterVersion.js.map +1 -0
- package/views/SearchQuery.d.ts +13 -0
- package/views/SearchQuery.js +137 -0
- package/views/SearchQuery.js.map +1 -0
- package/views/change-request/ChangeRequestContext.d.ts +20 -0
- package/views/change-request/ChangeRequestContext.js +56 -0
- package/views/change-request/ChangeRequestContext.js.map +1 -0
- package/views/change-request/Proposals.d.ts +21 -0
- package/views/change-request/Proposals.js +331 -0
- package/views/change-request/Proposals.js.map +1 -0
- package/views/change-request/objectChangeset.d.ts +31 -0
- package/views/change-request/objectChangeset.js +229 -0
- package/views/change-request/objectChangeset.js.map +1 -0
- package/views/detail/ChangeRequest/Proposal.d.ts +0 -0
- package/views/detail/ChangeRequest/Proposal.js +142 -0
- package/views/detail/ChangeRequest/Proposal.js.map +1 -0
- package/views/detail/ChangeRequest/index.d.ts +13 -0
- package/views/detail/ChangeRequest/index.js +207 -0
- package/views/detail/ChangeRequest/index.js.map +1 -0
- package/views/detail/ChangeRequest/transitions.d.ts +28 -0
- package/views/detail/ChangeRequest/transitions.js +530 -0
- package/views/detail/ChangeRequest/transitions.js.map +1 -0
- package/views/detail/CustomView/index.d.ts +13 -0
- package/views/detail/CustomView/index.js +68 -0
- package/views/detail/CustomView/index.js.map +1 -0
- package/views/detail/RegisterHome/index.d.ts +5 -0
- package/views/detail/RegisterHome/index.js +128 -0
- package/views/detail/RegisterHome/index.js.map +1 -0
- package/views/detail/RegisterItem/RelatedItems.d.ts +13 -0
- package/views/detail/RegisterItem/RelatedItems.js +61 -0
- package/views/detail/RegisterItem/RelatedItems.js.map +1 -0
- package/views/detail/RegisterItem/SupersedingItemMenu.d.ts +13 -0
- package/views/detail/RegisterItem/SupersedingItemMenu.js +56 -0
- package/views/detail/RegisterItem/SupersedingItemMenu.js.map +1 -0
- package/views/detail/RegisterItem/index.d.ts +13 -0
- package/views/detail/RegisterItem/index.js +356 -0
- package/views/detail/RegisterItem/index.js.map +1 -0
- package/views/detail/RegisterMeta/RegisterMetaForm.d.ts +10 -0
- package/views/detail/RegisterMeta/RegisterMetaForm.js +331 -0
- package/views/detail/RegisterMeta/RegisterMetaForm.js.map +1 -0
- package/views/detail/RegisterMeta/index.d.ts +10 -0
- package/views/detail/RegisterMeta/index.js +111 -0
- package/views/detail/RegisterMeta/index.js.map +1 -0
- package/views/detail/index.d.ts +1 -0
- package/views/detail/index.js +24 -0
- package/views/detail/index.js.map +1 -0
- package/views/diffing/InlineDiff.d.ts +12 -0
- package/views/diffing/InlineDiff.js +58 -0
- package/views/diffing/InlineDiff.js.map +1 -0
- package/views/diffing/StructuredDiff.d.ts +11 -0
- package/views/diffing/StructuredDiff.js +65 -0
- package/views/diffing/StructuredDiff.js.map +1 -0
- package/views/hooks/useCustomView.d.ts +3 -0
- package/views/hooks/useCustomView.js +24 -0
- package/views/hooks/useCustomView.js.map +1 -0
- package/views/hooks/useItemClassConfig.d.ts +3 -0
- package/views/hooks/useItemClassConfig.js +24 -0
- package/views/hooks/useItemClassConfig.js.map +1 -0
- package/views/hooks/useItemRef.d.ts +3 -0
- package/views/hooks/useItemRef.js +39 -0
- package/views/hooks/useItemRef.js.map +1 -0
- package/views/hooks/useSingleRegisterItemData.d.ts +3 -0
- package/views/hooks/useSingleRegisterItemData.js +32 -0
- package/views/hooks/useSingleRegisterItemData.js.map +1 -0
- package/views/index.d.ts +2 -2
- package/views/index.js +161 -130
- package/views/index.js.map +1 -1
- package/views/itemPathUtils.d.ts +45 -2
- package/views/itemPathUtils.js +101 -14
- package/views/itemPathUtils.js.map +1 -1
- package/views/itemQueryUtils.d.ts +11 -0
- package/views/itemQueryUtils.js +48 -0
- package/views/itemQueryUtils.js.map +1 -0
- package/views/protocolRegistry.d.ts +12 -0
- package/views/protocolRegistry.js +42 -0
- package/views/protocolRegistry.js.map +1 -0
- package/views/sidebar/Browse/index.d.ts +11 -0
- package/views/sidebar/Browse/index.js +453 -0
- package/views/sidebar/Browse/index.js.map +1 -0
- package/views/sidebar/Export/index.d.ts +5 -0
- package/views/sidebar/Export/index.js +94 -0
- package/views/sidebar/Export/index.js.map +1 -0
- package/views/sidebar/ListItem.d.ts +10 -0
- package/views/sidebar/ListItem.js +43 -0
- package/views/sidebar/ListItem.js.map +1 -0
- package/views/sidebar/Registration/index.d.ts +5 -0
- package/views/sidebar/Registration/index.js +163 -0
- package/views/sidebar/Registration/index.js.map +1 -0
- package/views/sidebar/Search/index.d.ts +18 -0
- package/views/sidebar/Search/index.js +177 -0
- package/views/sidebar/Search/index.js.map +1 -0
- package/views/sidebar/index.d.ts +6 -0
- package/views/sidebar/index.js +104 -0
- package/views/sidebar/index.js.map +1 -0
- package/views/util.d.ts +29 -5
- package/views/util.js +92 -6
- package/views/util.js.map +1 -1
- package/views/ChangeRequest.d.ts +0 -12
- package/views/ChangeRequest.js +0 -689
- package/views/ChangeRequest.js.map +0 -1
- package/views/FilterCriteria.d.ts +0 -27
- package/views/FilterCriteria.js +0 -410
- package/views/FilterCriteria.js.map +0 -1
- package/views/ItemBrowser.d.ts +0 -12
- package/views/ItemBrowser.js +0 -255
- 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 -248
- package/views/RegisterItemGrid.js.map +0 -1
|
@@ -0,0 +1,207 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.default = void 0;
|
|
7
|
+
|
|
8
|
+
var _react = _interopRequireWildcard(require("react"));
|
|
9
|
+
|
|
10
|
+
var _react2 = require("@emotion/react");
|
|
11
|
+
|
|
12
|
+
var _core = require("@blueprintjs/core");
|
|
13
|
+
|
|
14
|
+
var _context = require("@riboseinc/paneron-extension-kit/context");
|
|
15
|
+
|
|
16
|
+
var _HelpTooltip = _interopRequireDefault(require("@riboseinc/paneron-extension-kit/widgets/HelpTooltip"));
|
|
17
|
+
|
|
18
|
+
var _BrowserCtx = require("../../BrowserCtx");
|
|
19
|
+
|
|
20
|
+
var _itemPathUtils = require("../../itemPathUtils");
|
|
21
|
+
|
|
22
|
+
var _ChangeRequestContext = require("../../change-request/ChangeRequestContext");
|
|
23
|
+
|
|
24
|
+
var _Proposals = _interopRequireDefault(require("../../change-request/Proposals"));
|
|
25
|
+
|
|
26
|
+
var _cr = require("../../../types/cr");
|
|
27
|
+
|
|
28
|
+
var _RegisterStakeholder = require("../../RegisterStakeholder");
|
|
29
|
+
|
|
30
|
+
var _util = require("../../util");
|
|
31
|
+
|
|
32
|
+
var _transitions = require("./transitions");
|
|
33
|
+
|
|
34
|
+
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
35
|
+
|
|
36
|
+
function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function (nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
|
|
37
|
+
|
|
38
|
+
function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || typeof obj !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && 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; }
|
|
39
|
+
|
|
40
|
+
/** @jsx jsx */
|
|
41
|
+
|
|
42
|
+
/** @jsxFrag React.Fragment */
|
|
43
|
+
const View = function ({
|
|
44
|
+
uri
|
|
45
|
+
}) {
|
|
46
|
+
const crID = (0, _itemPathUtils.crPathToCRID)(uri);
|
|
47
|
+
return (0, _react2.jsx)(_ChangeRequestContext.ChangeRequestContextProvider, {
|
|
48
|
+
changeRequestID: crID
|
|
49
|
+
}, (0, _react2.jsx)(ChangeRequestDetails, {
|
|
50
|
+
css: (0, _react2.css)`
|
|
51
|
+
position: absolute;
|
|
52
|
+
inset: 0;
|
|
53
|
+
overflow-y: auto;
|
|
54
|
+
`
|
|
55
|
+
}));
|
|
56
|
+
};
|
|
57
|
+
|
|
58
|
+
const ChangeRequestDetails = function ({
|
|
59
|
+
className
|
|
60
|
+
}) {
|
|
61
|
+
const {
|
|
62
|
+
changeRequest: cr,
|
|
63
|
+
canEdit
|
|
64
|
+
} = (0, _react.useContext)(_ChangeRequestContext.ChangeRequestContext);
|
|
65
|
+
const {
|
|
66
|
+
registerMetadata,
|
|
67
|
+
stakeholder,
|
|
68
|
+
activeChangeRequestID,
|
|
69
|
+
setActiveChangeRequestID
|
|
70
|
+
} = (0, _react.useContext)(_BrowserCtx.BrowserCtx);
|
|
71
|
+
const helmet = (0, _react2.jsx)(_util.RegisterHelmet, null, (0, _react2.jsx)("title", null, "Viewing proposal: ", (cr === null || cr === void 0 ? void 0 : cr.justification) ?? "N/A"));
|
|
72
|
+
|
|
73
|
+
if (cr) {
|
|
74
|
+
var _registerMetadata$ver, _registerMetadata$ver2, _cr$state;
|
|
75
|
+
|
|
76
|
+
const isActive = activeChangeRequestID === cr.id;
|
|
77
|
+
const anotherIsActive = activeChangeRequestID && activeChangeRequestID !== cr.id;
|
|
78
|
+
const canTransition = stakeholder && (0, _transitions.getTransitions)(cr, stakeholder).length > 0;
|
|
79
|
+
const crStakeholder = ((registerMetadata === null || registerMetadata === void 0 ? void 0 : registerMetadata.stakeholders) ?? []).find(s => s.gitServerUsername === cr.submittingStakeholderGitServerUsername);
|
|
80
|
+
return (0, _react2.jsx)(_util.TabContentsWithActions, {
|
|
81
|
+
className: className,
|
|
82
|
+
actions: (0, _react2.jsx)(_react.default.Fragment, null, (0, _react2.jsx)(_core.FormGroup, {
|
|
83
|
+
inline: true,
|
|
84
|
+
labelInfo: (0, _react2.jsx)(_HelpTooltip.default, {
|
|
85
|
+
icon: 'info-sign',
|
|
86
|
+
content: (0, _react2.jsx)(_react.default.Fragment, null, (0, _react2.jsx)(_core.UL, null, (0, _react2.jsx)("li", null, "Proposal ID: ", cr.id)))
|
|
87
|
+
}),
|
|
88
|
+
label: (0, _react2.jsx)("strong", null, "Proposal"),
|
|
89
|
+
css: (0, _react2.css)`margin: 0; .bp4-form-content { display: flex; flex-flow: row wrap; gap: 10px; }`
|
|
90
|
+
}, (0, _react2.jsx)(CRActivation, {
|
|
91
|
+
isActive: isActive,
|
|
92
|
+
htmlTitle: anotherIsActive ? "You are in another proposal so you can’t enter this one. " : canEdit && !isActive ? "Enter proposal to preview or add to proposed changes. " : !isActive ? "Enter proposal to preview the register as proposed." : "You’re previewing the register with this proposal applied.",
|
|
93
|
+
onChangeActiveStatus: !anotherIsActive && setActiveChangeRequestID ? active => active ? setActiveChangeRequestID === null || setActiveChangeRequestID === void 0 ? void 0 : setActiveChangeRequestID(cr.id) : setActiveChangeRequestID === null || setActiveChangeRequestID === void 0 ? void 0 : setActiveChangeRequestID(null) : undefined
|
|
94
|
+
}))),
|
|
95
|
+
main: (0, _react2.jsx)("div", {
|
|
96
|
+
css: (0, _react2.css)`
|
|
97
|
+
display: flex;
|
|
98
|
+
flex-flow: row wrap;
|
|
99
|
+
padding: 10px;
|
|
100
|
+
gap: 10px;
|
|
101
|
+
align-content: flex-start;
|
|
102
|
+
align-items: flex-start;
|
|
103
|
+
`,
|
|
104
|
+
className: className
|
|
105
|
+
}, helmet, (0, _react2.jsx)(_core.Card, {
|
|
106
|
+
elevation: 0,
|
|
107
|
+
css: (0, _react2.css)`
|
|
108
|
+
flex: 100%;
|
|
109
|
+
background: ${_core.Colors.LIGHT_GRAY3};
|
|
110
|
+
padding: 11px;
|
|
111
|
+
display: flex;
|
|
112
|
+
min-height: 70vh;
|
|
113
|
+
`
|
|
114
|
+
}, (0, _react2.jsx)(_Proposals.default, {
|
|
115
|
+
proposals: cr.items,
|
|
116
|
+
css: (0, _react2.css)`flex: 1;`
|
|
117
|
+
})), (0, _react2.jsx)(_core.Card, {
|
|
118
|
+
elevation: 1,
|
|
119
|
+
css: (0, _react2.css)`flex: 30%; padding: 11px;`
|
|
120
|
+
}, crStakeholder ? (0, _react2.jsx)("div", null, "Author: ", (0, _react2.jsx)(_RegisterStakeholder.RegisterStakeholderListItem, {
|
|
121
|
+
stakeholder: crStakeholder,
|
|
122
|
+
isCurrentUser: cr.submittingStakeholderGitServerUsername === (stakeholder === null || stakeholder === void 0 ? void 0 : stakeholder.gitServerUsername) ? true : undefined
|
|
123
|
+
})) : null, (0, _react2.jsx)(_core.Divider, null), (0, _react2.jsx)("div", null, "To register version: ", (0, _react2.jsx)("strong", null, cr.registerVersion ?? 'N/A'), " ", cr.registerVersion === (registerMetadata === null || registerMetadata === void 0 ? void 0 : (_registerMetadata$ver = registerMetadata.version) === null || _registerMetadata$ver === void 0 ? void 0 : _registerMetadata$ver.id) ? (0, _react2.jsx)(_core.Tag, {
|
|
124
|
+
css: (0, _react2.css)`display: inline;`,
|
|
125
|
+
intent: 'success',
|
|
126
|
+
minimal: true,
|
|
127
|
+
round: true
|
|
128
|
+
}, "current") : (0, _react2.jsx)(_core.Tag, {
|
|
129
|
+
css: (0, _react2.css)`display: inline;`,
|
|
130
|
+
intent: 'warning',
|
|
131
|
+
minimal: true,
|
|
132
|
+
round: true
|
|
133
|
+
}, "not current", " ", (0, _react2.jsx)(_HelpTooltip.default, {
|
|
134
|
+
intent: 'warning',
|
|
135
|
+
icon: 'warning-sign',
|
|
136
|
+
content: (0, _react2.jsx)(_react.default.Fragment, null, "Register is currently at version ", (0, _react2.jsx)("strong", null, (registerMetadata === null || registerMetadata === void 0 ? void 0 : (_registerMetadata$ver2 = registerMetadata.version) === null || _registerMetadata$ver2 === void 0 ? void 0 : _registerMetadata$ver2.id) ?? 'N/A'), ",", " ", "which is different from version proposal author may have had in mind.", " ", "It is recommended that proposed changes are reviewed to avoid unintentionally", " ", "undoing a prior change.")
|
|
137
|
+
}))), (0, _react2.jsx)(_core.Divider, null), (0, _react2.jsx)("div", null, "Edited: ", (0, _react2.jsx)(_util.Datestamp, {
|
|
138
|
+
date: cr.timeEdited
|
|
139
|
+
})), (0, _react2.jsx)(_core.Divider, null), (0, _react2.jsx)("div", null, "Proposed: ", (0, _cr.hadBeenProposed)(cr) ? (0, _react2.jsx)(_util.Datestamp, {
|
|
140
|
+
date: cr.timeProposed
|
|
141
|
+
}) : 'not yet'), (0, _react2.jsx)(_core.Divider, null), (0, _react2.jsx)("div", null, "Disposed: ", (0, _cr.isDisposed)(cr) ? (0, _react2.jsx)(_util.Datestamp, {
|
|
142
|
+
date: cr.timeDisposed
|
|
143
|
+
}) : 'not yet'), (0, _react2.jsx)(_core.Divider, null), (0, _react2.jsx)(_core.H5, null, ((_cr$state = cr.state) === null || _cr$state === void 0 ? void 0 : _cr$state.replaceAll('-', ' ')) || 'N/A')), (0, _react2.jsx)(_core.Card, {
|
|
144
|
+
elevation: 1,
|
|
145
|
+
css: (0, _react2.css)`flex: 30%; padding: 11px;`
|
|
146
|
+
}, (0, _transitions.getPastTransitions)(cr).map(([key, el], idx) => (0, _react2.jsx)(_react.default.Fragment, {
|
|
147
|
+
key: key
|
|
148
|
+
}, idx !== 0 ? (0, _react2.jsx)(_core.Divider, null) : null, (0, _react2.jsx)(_core.FormGroup, {
|
|
149
|
+
label: `${key}:`
|
|
150
|
+
}, (0, _react2.jsx)("div", {
|
|
151
|
+
css: (0, _react2.css)`white-space: pre-wrap;`,
|
|
152
|
+
className: _core.Classes.RUNNING_TEXT
|
|
153
|
+
}, el))))), canTransition ? (0, _react2.jsx)(_core.Card, {
|
|
154
|
+
elevation: 3,
|
|
155
|
+
css: (0, _react2.css)`flex: 30%; padding: 11px;`
|
|
156
|
+
}, (0, _react2.jsx)(_transitions.TransitionOptions, {
|
|
157
|
+
cr: cr
|
|
158
|
+
})) : null)
|
|
159
|
+
});
|
|
160
|
+
} else {
|
|
161
|
+
return (0, _react2.jsx)(_core.NonIdealState, {
|
|
162
|
+
icon: (0, _react2.jsx)(_core.Spinner, null),
|
|
163
|
+
className: className,
|
|
164
|
+
description: helmet
|
|
165
|
+
});
|
|
166
|
+
}
|
|
167
|
+
};
|
|
168
|
+
|
|
169
|
+
const CRActivation = function ({
|
|
170
|
+
isActive,
|
|
171
|
+
htmlTitle,
|
|
172
|
+
labels,
|
|
173
|
+
onChangeActiveStatus
|
|
174
|
+
}) {
|
|
175
|
+
return onChangeActiveStatus && isActive ? (0, _react2.jsx)(_core.Button, {
|
|
176
|
+
title: htmlTitle,
|
|
177
|
+
intent: "warning",
|
|
178
|
+
disabled: !onChangeActiveStatus,
|
|
179
|
+
onClick: () => onChangeActiveStatus === null || onChangeActiveStatus === void 0 ? void 0 : onChangeActiveStatus(false)
|
|
180
|
+
}, (labels === null || labels === void 0 ? void 0 : labels.deactivate) ?? "Exit proposal") : (0, _react2.jsx)(_core.Button, {
|
|
181
|
+
title: htmlTitle,
|
|
182
|
+
intent: onChangeActiveStatus ? 'primary' : undefined,
|
|
183
|
+
disabled: !onChangeActiveStatus,
|
|
184
|
+
onClick: () => onChangeActiveStatus === null || onChangeActiveStatus === void 0 ? void 0 : onChangeActiveStatus(true)
|
|
185
|
+
}, (labels === null || labels === void 0 ? void 0 : labels.activate) ?? "Enter proposal");
|
|
186
|
+
};
|
|
187
|
+
|
|
188
|
+
const CRTitle = function ({
|
|
189
|
+
uri
|
|
190
|
+
}) {
|
|
191
|
+
var _useObjectData$value$, _useObjectData$value$2;
|
|
192
|
+
|
|
193
|
+
const {
|
|
194
|
+
useObjectData
|
|
195
|
+
} = (0, _react.useContext)(_context.DatasetContext);
|
|
196
|
+
const justification = (_useObjectData$value$ = useObjectData({
|
|
197
|
+
objectPaths: [uri]
|
|
198
|
+
}).value.data) === null || _useObjectData$value$ === void 0 ? void 0 : (_useObjectData$value$2 = _useObjectData$value$[uri]) === null || _useObjectData$value$2 === void 0 ? void 0 : _useObjectData$value$2.justification;
|
|
199
|
+
return (0, _react2.jsx)(_react.default.Fragment, null, "Proposal \u201C", (0, _util.maybeEllipsizeString)(justification ?? uri), "\u201D");
|
|
200
|
+
};
|
|
201
|
+
|
|
202
|
+
var _default = {
|
|
203
|
+
main: View,
|
|
204
|
+
title: CRTitle,
|
|
205
|
+
plainTitle: async uri => `proposal ${uri}`
|
|
206
|
+
};
|
|
207
|
+
exports.default = _default;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/views/detail/ChangeRequest/index.tsx"],"names":[],"mappings":"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","sourcesContent":["/** @jsx jsx */\n/** @jsxFrag React.Fragment */\n\nimport React, { useContext } from 'react';\nimport { jsx, css } from '@emotion/react';\nimport {\n Button,\n Card,\n FormGroup,\n Colors,\n NonIdealState,\n Spinner,\n H5,\n UL,\n Tag,\n Divider,\n Classes,\n} from '@blueprintjs/core';\nimport { DatasetContext } from '@riboseinc/paneron-extension-kit/context';\nimport HelpTooltip from '@riboseinc/paneron-extension-kit/widgets/HelpTooltip';\nimport { BrowserCtx } from '../../BrowserCtx';\nimport { crPathToCRID } from '../../itemPathUtils';\nimport {\n ChangeRequestContextProvider,\n ChangeRequestContext,\n} from '../../change-request/ChangeRequestContext';\nimport Proposals from '../../change-request/Proposals';\nimport { hadBeenProposed, isDisposed } from '../../../types/cr';\nimport { RegisterStakeholderListItem } from '../../RegisterStakeholder';\nimport {\n TabContentsWithActions,\n RegisterHelmet as Helmet,\n maybeEllipsizeString,\n Datestamp,\n} from '../../util';\nimport { TransitionOptions, getPastTransitions, getTransitions } from './transitions';\n\n\nconst View: React.FC<{ uri: string }> = function ({ uri }) {\n const crID = crPathToCRID(uri);\n\n return (\n <ChangeRequestContextProvider changeRequestID={crID}>\n <ChangeRequestDetails css={css`\n position: absolute;\n inset: 0;\n overflow-y: auto;\n `} />\n </ChangeRequestContextProvider>\n );\n};\n\n\nconst ChangeRequestDetails:\nReact.VoidFunctionComponent<{ className?: string }> =\nfunction ({ className }) {\n const { changeRequest: cr, canEdit } = useContext(ChangeRequestContext);\n const {\n registerMetadata,\n stakeholder,\n activeChangeRequestID,\n setActiveChangeRequestID,\n } = useContext(BrowserCtx);\n\n const helmet = \n <Helmet>\n <title>Viewing proposal: {cr?.justification ?? \"N/A\"}</title>\n </Helmet>;\n\n if (cr) {\n const isActive = activeChangeRequestID === cr.id;\n const anotherIsActive = activeChangeRequestID && activeChangeRequestID !== cr.id;\n const canTransition = stakeholder && getTransitions(cr, stakeholder).length > 0;\n\n const crStakeholder = (registerMetadata?.stakeholders ?? []).\n find(s => s.gitServerUsername === cr.submittingStakeholderGitServerUsername);\n\n return (\n <TabContentsWithActions\n className={className}\n actions={<>\n <FormGroup\n inline\n labelInfo={<HelpTooltip\n icon='info-sign'\n content={<>\n <UL>\n <li>Proposal ID: {cr.id}</li>\n </UL>\n </>}\n />}\n label={<strong>Proposal</strong>}\n css={css`margin: 0; .bp4-form-content { display: flex; flex-flow: row wrap; gap: 10px; }`}>\n <CRActivation\n isActive={isActive}\n htmlTitle={anotherIsActive\n ? \"You are in another proposal so you can’t enter this one. \"\n : canEdit && !isActive\n ? \"Enter proposal to preview or add to proposed changes. \"\n : !isActive\n ? \"Enter proposal to preview the register as proposed.\"\n : \"You’re previewing the register with this proposal applied.\"}\n onChangeActiveStatus={!anotherIsActive && setActiveChangeRequestID\n ? ((active) => active\n ? setActiveChangeRequestID?.(cr.id)\n : setActiveChangeRequestID?.(null)\n )\n : undefined}\n />\n </FormGroup>\n </>}\n main={\n <div\n css={css`\n display: flex;\n flex-flow: row wrap;\n padding: 10px;\n gap: 10px;\n align-content: flex-start;\n align-items: flex-start;\n `}\n className={className}>\n {helmet}\n\n <Card elevation={0} css={css`\n flex: 100%;\n background: ${Colors.LIGHT_GRAY3};\n padding: 11px;\n display: flex;\n min-height: 70vh;\n `}>\n <Proposals\n proposals={cr.items}\n css={css`flex: 1;`}\n />\n </Card>\n\n <Card elevation={1} css={css`flex: 30%; padding: 11px;`}>\n\n {crStakeholder\n ? <div>\n Author: <RegisterStakeholderListItem\n stakeholder={crStakeholder}\n isCurrentUser={cr.submittingStakeholderGitServerUsername === stakeholder?.gitServerUsername\n ? true\n : undefined}\n />\n </div>\n : null}\n\n <Divider />\n <div>\n To register version: <strong>{cr.registerVersion ?? 'N/A'}</strong>\n {\" \"}\n {cr.registerVersion === registerMetadata?.version?.id\n ? <Tag css={css`display: inline;`} intent='success' minimal round>current</Tag>\n : <Tag css={css`display: inline;`} intent='warning' minimal round>\n not current\n {\" \"}\n <HelpTooltip intent='warning' icon='warning-sign' content={<>\n Register is currently at version <strong>{registerMetadata?.version?.id ?? 'N/A'}</strong>,\n {\" \"}\n which is different from version proposal author may have had in mind.\n {\" \"}\n It is recommended that proposed changes are reviewed to avoid unintentionally\n {\" \"}\n undoing a prior change.\n </>} />\n </Tag>}\n </div>\n <Divider />\n <div>Edited: <Datestamp date={cr.timeEdited} /></div>\n <Divider />\n <div>Proposed: {hadBeenProposed(cr) ? <Datestamp date={cr.timeProposed} /> : 'not yet'}</div>\n <Divider />\n <div>Disposed: {isDisposed(cr) ? <Datestamp date={cr.timeDisposed} /> : 'not yet'}</div>\n <Divider />\n\n <H5>\n {cr.state?.replaceAll('-', ' ') || 'N/A'}\n </H5>\n </Card>\n\n <Card elevation={1} css={css`flex: 30%; padding: 11px;`}>\n {getPastTransitions(cr).map(([key, el], idx) =>\n <React.Fragment key={key}>\n {idx !== 0 ? <Divider /> : null}\n <FormGroup label={`${key}:`}>\n <div\n css={css`white-space: pre-wrap;`}\n className={Classes.RUNNING_TEXT}>\n {el}\n </div>\n </FormGroup>\n </React.Fragment>\n )}\n </Card>\n\n {canTransition\n ? <Card elevation={3} css={css`flex: 30%; padding: 11px;`}>\n <TransitionOptions cr={cr} />\n </Card>\n : null}\n </div>}\n />\n );\n } else {\n return <NonIdealState\n icon={<Spinner />}\n className={className}\n description={helmet}\n />;\n }\n};\n\n\nconst CRActivation: React.FC<{\n isActive: boolean;\n htmlTitle?: string;\n\n /** Labels for the “activate” and “deactivate” buttons. */\n labels?: { activate?: string, deactivate?: string };\n\n onChangeActiveStatus?: (newStatus: boolean) => void;\n}> = function ({ isActive, htmlTitle, labels, onChangeActiveStatus }) {\n return onChangeActiveStatus && isActive\n ? <Button\n title={htmlTitle}\n intent=\"warning\"\n disabled={!onChangeActiveStatus}\n onClick={() => onChangeActiveStatus?.(false)}>\n {labels?.deactivate ?? \"Exit proposal\"}\n </Button>\n : <Button\n title={htmlTitle}\n intent={onChangeActiveStatus ? 'primary' : undefined}\n disabled={!onChangeActiveStatus}\n onClick={() => onChangeActiveStatus?.(true)}>\n {labels?.activate ?? \"Enter proposal\"}\n </Button>;\n};\n\n\nconst CRTitle: React.FC<{ uri: string }> = function ({ uri }) {\n const { useObjectData } = useContext(DatasetContext);\n const justification = useObjectData({ objectPaths: [uri] }).value.data?.[uri]?.justification;\n return <>Proposal “{maybeEllipsizeString(justification ?? uri)}”</>;\n}\n\nexport default { main: View, title: CRTitle, plainTitle: async (uri: string) => `proposal ${uri}` };\n"]}
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
/** @jsx jsx */
|
|
2
|
+
/** @jsxFrag React.Fragment */
|
|
3
|
+
import React from 'react';
|
|
4
|
+
import { Intent } from '@blueprintjs/core';
|
|
5
|
+
import type { RegisterStakeholder } from '../../../types';
|
|
6
|
+
import * as CR from '../../../types/cr';
|
|
7
|
+
export declare const TransitionOptions: React.FC<{
|
|
8
|
+
cr: CR.Base;
|
|
9
|
+
className?: string;
|
|
10
|
+
}>;
|
|
11
|
+
export declare function getPastTransitions(cr: CR.Base): [key: string, el: JSX.Element][];
|
|
12
|
+
declare type PossibleTransitionForCR<CR extends CR.Base> = [
|
|
13
|
+
targetState: CR.StateType,
|
|
14
|
+
cfg: CR.TransitionConfig<CR, CR.SomeCR, any>
|
|
15
|
+
];
|
|
16
|
+
/**
|
|
17
|
+
* Returns a list of transitions
|
|
18
|
+
* that can be performed on given CR by given stakeholder.
|
|
19
|
+
*/
|
|
20
|
+
export declare function getTransitions<CR extends CR.Base>(cr: CR, stakeholder: RegisterStakeholder): PossibleTransitionForCR<CR>[];
|
|
21
|
+
/**
|
|
22
|
+
* Returns True if there is no possible transition for given state.
|
|
23
|
+
*/
|
|
24
|
+
export declare function isFinalState(state: CR.StateType): boolean;
|
|
25
|
+
export declare const STATE_INTENT: {
|
|
26
|
+
[key in CR.StateType]?: Intent;
|
|
27
|
+
};
|
|
28
|
+
export {};
|