@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
package/views/ItemBrowser.js
DELETED
|
@@ -1,255 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
|
|
3
|
-
Object.defineProperty(exports, "__esModule", {
|
|
4
|
-
value: true
|
|
5
|
-
});
|
|
6
|
-
exports.default = exports.RegisterItemBrowser = void 0;
|
|
7
|
-
|
|
8
|
-
var _react = require("react");
|
|
9
|
-
|
|
10
|
-
var _core = require("@emotion/core");
|
|
11
|
-
|
|
12
|
-
var _core2 = require("@blueprintjs/core");
|
|
13
|
-
|
|
14
|
-
var _context = require("@riboseinc/paneron-extension-kit/context");
|
|
15
|
-
|
|
16
|
-
var _util = require("./util");
|
|
17
|
-
|
|
18
|
-
var _BrowserCtx = require("./BrowserCtx");
|
|
19
|
-
|
|
20
|
-
var _ItemDetails = _interopRequireDefault(require("./ItemDetails"));
|
|
21
|
-
|
|
22
|
-
var _RegisterItemGrid = _interopRequireWildcard(require("./RegisterItemGrid"));
|
|
23
|
-
|
|
24
|
-
var _itemPathUtils = require("./itemPathUtils");
|
|
25
|
-
|
|
26
|
-
var _FilterCriteria = require("./FilterCriteria");
|
|
27
|
-
|
|
28
|
-
function _getRequireWildcardCache() { if (typeof WeakMap !== "function") return null; var cache = new WeakMap(); _getRequireWildcardCache = function () { return cache; }; return cache; }
|
|
29
|
-
|
|
30
|
-
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; }
|
|
31
|
-
|
|
32
|
-
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
33
|
-
|
|
34
|
-
/** @jsx jsx */
|
|
35
|
-
|
|
36
|
-
/** @jsxFrag React.Fragment */
|
|
37
|
-
//import { debounce } from 'throttle-debounce';
|
|
38
|
-
//import log from 'electron-log';
|
|
39
|
-
//import { FixedSizeList as List } from 'react-window';
|
|
40
|
-
const RegisterItemBrowser = function ({
|
|
41
|
-
availableClassIDs,
|
|
42
|
-
subregisters,
|
|
43
|
-
itemClassConfiguration,
|
|
44
|
-
useRegisterItemData,
|
|
45
|
-
itemActions,
|
|
46
|
-
className,
|
|
47
|
-
style
|
|
48
|
-
}) {
|
|
49
|
-
var _a;
|
|
50
|
-
|
|
51
|
-
const ctx = (0, _react.useContext)(_context.DatasetContext); //const { useObjectPaths } = useContext(DatasetContext);
|
|
52
|
-
|
|
53
|
-
const {
|
|
54
|
-
usePersistentDatasetStateReducer
|
|
55
|
-
} = ctx;
|
|
56
|
-
const [state, dispatch] = usePersistentDatasetStateReducer((prevState, action) => {
|
|
57
|
-
switch (action.type) {
|
|
58
|
-
case 'select-item':
|
|
59
|
-
const selectedItemPath = action.payload.itemPath;
|
|
60
|
-
|
|
61
|
-
if (selectedItemPath) {
|
|
62
|
-
return Object.assign(Object.assign({}, prevState), {
|
|
63
|
-
selectedItemPath
|
|
64
|
-
});
|
|
65
|
-
} else {
|
|
66
|
-
return Object.assign(Object.assign({}, prevState), {
|
|
67
|
-
view: 'grid',
|
|
68
|
-
selectedItemPath
|
|
69
|
-
});
|
|
70
|
-
}
|
|
71
|
-
|
|
72
|
-
case 'open-item':
|
|
73
|
-
return Object.assign(Object.assign({}, prevState), {
|
|
74
|
-
view: 'item',
|
|
75
|
-
selectedItemPath: action.payload.itemPath
|
|
76
|
-
});
|
|
77
|
-
|
|
78
|
-
case 'update-query':
|
|
79
|
-
return Object.assign(Object.assign({}, prevState), {
|
|
80
|
-
view: 'grid',
|
|
81
|
-
query: action.payload.query
|
|
82
|
-
});
|
|
83
|
-
|
|
84
|
-
case 'exit-item':
|
|
85
|
-
return Object.assign(Object.assign({}, prevState), {
|
|
86
|
-
view: 'grid'
|
|
87
|
-
});
|
|
88
|
-
|
|
89
|
-
default:
|
|
90
|
-
throw new Error("Unexpected register item browser state");
|
|
91
|
-
}
|
|
92
|
-
}, {
|
|
93
|
-
view: 'grid',
|
|
94
|
-
selectedItemPath: undefined,
|
|
95
|
-
query: {
|
|
96
|
-
criteria: (0, _FilterCriteria.makeBlankCriteria)()
|
|
97
|
-
}
|
|
98
|
-
}, null, 'item-browser'); //const subregisterIsSelected = subregisters !== undefined && selectedItemPathComponents.length === 3;
|
|
99
|
-
|
|
100
|
-
const {
|
|
101
|
-
subregisterID,
|
|
102
|
-
classID,
|
|
103
|
-
itemID
|
|
104
|
-
} = (0, _itemPathUtils.itemPathToItemRefLike)(subregisters !== undefined, (_a = state.selectedItemPath) !== null && _a !== void 0 ? _a : '');
|
|
105
|
-
const itemClasses = availableClassIDs !== null && availableClassIDs !== void 0 ? availableClassIDs : Object.keys(itemClassConfiguration); //const classConfiguration: ItemClassConfigurationSet =
|
|
106
|
-
// itemClasses.reduce((o: typeof itemClassConfiguration, k: keyof typeof itemClassConfiguration) =>
|
|
107
|
-
// { o[k] = itemClassConfiguration[k]; return o; }, {});
|
|
108
|
-
|
|
109
|
-
const jumpToItem = (classID, itemID, subregisterID) => {
|
|
110
|
-
if (subregisters === undefined && subregisterID !== undefined) {
|
|
111
|
-
console.error("Unable to jump to register item: indicates subregister, but register does not have any", subregisterID);
|
|
112
|
-
throw new Error("Unable to jump to register item: indicates subregister, but register does not have any");
|
|
113
|
-
} else if (subregisters !== undefined && subregisterID === undefined) {
|
|
114
|
-
console.error("Unable to jump to register item: subregister is required");
|
|
115
|
-
throw new Error("Unable to jump to register item: subregister is required");
|
|
116
|
-
}
|
|
117
|
-
|
|
118
|
-
if (subregisterID) {
|
|
119
|
-
if (subregisters[subregisterID] === undefined) {
|
|
120
|
-
console.error("Unable to jump to register item: requested subregister does not exist", subregisterID);
|
|
121
|
-
throw new Error("Unable to jump to register item: requested subregister does not exist");
|
|
122
|
-
} else if (itemClasses.indexOf(classID) < 0) {
|
|
123
|
-
console.error("Unable to jump to register item: requested item class is not allowed", classID);
|
|
124
|
-
throw new Error("Unable to jump to register item: requested item class is not allowed");
|
|
125
|
-
}
|
|
126
|
-
}
|
|
127
|
-
|
|
128
|
-
const itemPath = subregisterID ? `/${subregisterID}/${classID}/${itemID}.yaml` : `/${classID}/${itemID}.yaml`;
|
|
129
|
-
dispatch({
|
|
130
|
-
type: 'select-item',
|
|
131
|
-
payload: {
|
|
132
|
-
itemPath
|
|
133
|
-
}
|
|
134
|
-
});
|
|
135
|
-
};
|
|
136
|
-
|
|
137
|
-
const getRelatedClass = (0, _util._getRelatedClass)(itemClassConfiguration); // useEffect(() => {
|
|
138
|
-
// if ((selectedClass === undefined && itemClasses.length > 0) ||
|
|
139
|
-
// (selectedClass && itemClasses.indexOf(selectedClass) < 0)) {
|
|
140
|
-
// selectClass(itemClasses[0]);
|
|
141
|
-
// }
|
|
142
|
-
// }, [JSON.stringify(itemClasses)]);
|
|
143
|
-
// XXX: QUERY EXPRESSION HANDLING IS HERE
|
|
144
|
-
// const itemClassPath: string = selectedSubregisterID
|
|
145
|
-
// ? `/subregisters/${selectedSubregisterID}/${selectedClass ?? 'NONEXISTENT_CLASS'}/`
|
|
146
|
-
// : `/${selectedClass ?? 'NONEXISTENT_CLASS'}/`;
|
|
147
|
-
// const queryExpression: string = `return objPath.indexOf("${itemClassPath}") === 0`;
|
|
148
|
-
// const normalizedQueryExp = state.queryExpression.trim() || 'return objPath.';
|
|
149
|
-
// const indexReq = useFilteredIndex({ queryExpression: state.queryExpression });
|
|
150
|
-
// const indexID: string = indexReq.value.indexID ?? '';
|
|
151
|
-
// END XXX
|
|
152
|
-
//const objectPathsQuery = useObjectPaths({ pathPrefix });
|
|
153
|
-
//const registerItemQuery = objectPathsQuery.value.
|
|
154
|
-
// filter(path => path !== '.DS_Store').
|
|
155
|
-
// map(path => ({ [path.replace('.yaml', '')]: 'utf-8' as const })).
|
|
156
|
-
// reduce((prev, curr) => ({ ...prev, ...curr }), {})
|
|
157
|
-
//const items = useRegisterItemData(registerItemQuery);
|
|
158
|
-
// if (selectedClass === undefined) {
|
|
159
|
-
// return <NonIdealState title="Please select item class" />;
|
|
160
|
-
// }
|
|
161
|
-
//class ErrorBoundary extends React.Component<Record<never, never>, { error?: string }> {
|
|
162
|
-
// constructor(props: any) {
|
|
163
|
-
// super(props);
|
|
164
|
-
// this.state = { error: undefined };
|
|
165
|
-
// }
|
|
166
|
-
// componentDidCatch(error: Error, info: any) {
|
|
167
|
-
// log.error("Error rendering item details", error, info);
|
|
168
|
-
// this.setState({ error: `${error.name}: ${error.message}` });
|
|
169
|
-
// }
|
|
170
|
-
// render() {
|
|
171
|
-
// if (this.state.error !== undefined) {
|
|
172
|
-
// return <NonIdealState
|
|
173
|
-
// icon="heart-broken"
|
|
174
|
-
// title="Error rendering view"
|
|
175
|
-
// description={
|
|
176
|
-
// <>
|
|
177
|
-
// <p>
|
|
178
|
-
// This could be caused by invalid register item data format.
|
|
179
|
-
// </p>
|
|
180
|
-
// <Callout style={{ textAlign: 'left', transform: 'scale(0.9)' }} title="Technical details">
|
|
181
|
-
// <pre style={{ overflow: 'auto', paddingBottom: '1em' }}>
|
|
182
|
-
// {this.state.error}
|
|
183
|
-
// </pre>
|
|
184
|
-
// </Callout>
|
|
185
|
-
// </>
|
|
186
|
-
// }
|
|
187
|
-
// />;
|
|
188
|
-
// }
|
|
189
|
-
// return this.props.children;
|
|
190
|
-
// }
|
|
191
|
-
//}
|
|
192
|
-
|
|
193
|
-
let view;
|
|
194
|
-
|
|
195
|
-
if (state.view === 'grid') {
|
|
196
|
-
view = (0, _core.jsx)(_RegisterItemGrid.default, {
|
|
197
|
-
selectedItem: state.selectedItemPath ? (0, _itemPathUtils.itemPathToItemRef)(subregisters !== undefined, state.selectedItemPath) : undefined,
|
|
198
|
-
onSelectItem: itemRef => dispatch({
|
|
199
|
-
type: 'select-item',
|
|
200
|
-
payload: {
|
|
201
|
-
itemPath: (0, _itemPathUtils.itemRefToItemPath)(itemRef)
|
|
202
|
-
}
|
|
203
|
-
}),
|
|
204
|
-
queryExpression: (0, _FilterCriteria.criteriaGroupToQueryExpression)(state.query.criteria),
|
|
205
|
-
toolbar: (0, _core.jsx)(_RegisterItemGrid.SearchQuery, {
|
|
206
|
-
rootCriteria: state.query.criteria,
|
|
207
|
-
itemClasses: itemClassConfiguration,
|
|
208
|
-
availableClassIDs: availableClassIDs,
|
|
209
|
-
subregisters: subregisters,
|
|
210
|
-
onChange: criteria => dispatch({
|
|
211
|
-
type: 'update-query',
|
|
212
|
-
payload: {
|
|
213
|
-
query: {
|
|
214
|
-
criteria
|
|
215
|
-
}
|
|
216
|
-
}
|
|
217
|
-
})
|
|
218
|
-
}),
|
|
219
|
-
getRelatedClassConfig: getRelatedClass,
|
|
220
|
-
useRegisterItemData: useRegisterItemData
|
|
221
|
-
});
|
|
222
|
-
} else if (state.view === 'item' && classID && itemID) {
|
|
223
|
-
view = (0, _core.jsx)(_ItemDetails.default, {
|
|
224
|
-
useRegisterItemData: useRegisterItemData,
|
|
225
|
-
getRelatedClass: (0, _util._getRelatedClass)(itemClassConfiguration),
|
|
226
|
-
// TODO: convert class, subregister and ID combo into a single string item path?
|
|
227
|
-
itemClass: itemClassConfiguration[classID],
|
|
228
|
-
subregisterID: subregisterID,
|
|
229
|
-
itemID: itemID,
|
|
230
|
-
itemActions: itemActions
|
|
231
|
-
});
|
|
232
|
-
} else {
|
|
233
|
-
// If item view is requested, but item or class ID is missing,
|
|
234
|
-
// we can’t show any details because the only details view we have for now
|
|
235
|
-
// is regsiter item details view, which requires those.
|
|
236
|
-
view = (0, _core.jsx)(_core2.NonIdealState, {
|
|
237
|
-
icon: "heart-broken",
|
|
238
|
-
title: "Not sure what to show",
|
|
239
|
-
description: "Sorry! (Error code: 724A)"
|
|
240
|
-
});
|
|
241
|
-
}
|
|
242
|
-
|
|
243
|
-
return (0, _core.jsx)(_BrowserCtx.BrowserCtx.Provider, {
|
|
244
|
-
value: {
|
|
245
|
-
jumpToItem,
|
|
246
|
-
itemClasses: itemClassConfiguration,
|
|
247
|
-
subregisters,
|
|
248
|
-
useRegisterItemData
|
|
249
|
-
}
|
|
250
|
-
}, view);
|
|
251
|
-
};
|
|
252
|
-
|
|
253
|
-
exports.RegisterItemBrowser = RegisterItemBrowser;
|
|
254
|
-
var _default = RegisterItemBrowser;
|
|
255
|
-
exports.default = _default;
|
package/views/ItemBrowser.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"ItemBrowser.js","sourceRoot":"","sources":["../../src/views/ItemBrowser.tsx"],"names":[],"mappings":"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","sourcesContent":["/** @jsx jsx */\n/** @jsxFrag React.Fragment */\n\n//import { debounce } from 'throttle-debounce';\n//import log from 'electron-log';\n\nimport React, { useContext } from 'react';\nimport { jsx } from '@emotion/core';\n//import { FixedSizeList as List } from 'react-window';\nimport {\n NonIdealState,\n} from '@blueprintjs/core';\n\nimport { DatasetContext } from '@riboseinc/paneron-extension-kit/context';\nimport {\n ItemAction,\n RegisterItemDataHook,\n RegistryViewProps,\n} from '../types';\nimport { _getRelatedClass } from './util';\nimport { BrowserCtx } from './BrowserCtx';\nimport ItemDetails from './ItemDetails';\nimport RegisterItemGrid, { SearchQuery } from './RegisterItemGrid';\nimport { PersistentStateReducerHook } from '@riboseinc/paneron-extension-kit/usePersistentStateReducer';\nimport { itemPathToItemRefLike, itemPathToItemRef, itemRefToItemPath } from './itemPathUtils';\nimport { CriteriaGroup, criteriaGroupToQueryExpression, makeBlankCriteria } from './FilterCriteria';\n\n\ninterface Query {\n criteria: CriteriaGroup;\n}\ntype Action =\n | { type: 'select-item'; payload: { itemPath: string | undefined; }; }\n | { type: 'open-item'; payload: { itemPath: string; }; }\n //| { type: 'select-class', payload: { classID: string | undefined } }\n //| { type: 'open-class', payload: { classID: string } }\n //| { type: 'select-subregister', payload: { subregisterID: string | undefined } }\n //| { type: 'open-subregister', payload: { subregisterID: string } }\n | { type: 'update-query'; payload: { query: Query; }; }\n | { type: 'exit-item'; };\n\ninterface BaseState {\n view: 'item' | 'grid';\n selectedItemPath: string | undefined;\n query: Query;\n}\ninterface ItemState extends BaseState {\n view: 'item';\n selectedItemPath: string;\n query: Query;\n}\ninterface GridState extends BaseState {\n view: 'grid';\n selectedItemPath: string | undefined;\n query: Query;\n}\ntype State = ItemState |\n GridState;\n\n\nexport const RegisterItemBrowser: React.FC<\n Pick<RegistryViewProps, 'itemClassConfiguration' | 'subregisters'> & {\n availableClassIDs?: string[]\n useRegisterItemData: RegisterItemDataHook\n itemActions?: ItemAction[]\n className?: string\n style?: React.CSSProperties\n}> = function ({\n availableClassIDs,\n subregisters,\n itemClassConfiguration,\n useRegisterItemData,\n itemActions,\n className,\n style,\n}) {\n\n const ctx = useContext(DatasetContext);\n //const { useObjectPaths } = useContext(DatasetContext);\n const { usePersistentDatasetStateReducer } = ctx;\n const [ state, dispatch ] = (usePersistentDatasetStateReducer as PersistentStateReducerHook<State, Action>)(\n (prevState, action) => {\n switch (action.type) {\n case 'select-item':\n const selectedItemPath = action.payload.itemPath;\n if (selectedItemPath) {\n return {\n ...prevState,\n selectedItemPath,\n };\n } else {\n return {\n ...prevState,\n view: 'grid',\n selectedItemPath,\n };\n }\n case 'open-item':\n return {\n ...prevState,\n view: 'item',\n selectedItemPath: action.payload.itemPath,\n };\n case 'update-query':\n return {\n ...prevState,\n view: 'grid',\n query: action.payload.query,\n };\n case 'exit-item':\n return {\n ...prevState,\n view: 'grid',\n };\n default:\n throw new Error(\"Unexpected register item browser state\");\n }\n }, {\n view: 'grid',\n selectedItemPath: undefined,\n query: { criteria: makeBlankCriteria() },\n }, null, 'item-browser');\n\n //const subregisterIsSelected = subregisters !== undefined && selectedItemPathComponents.length === 3;\n\n const { subregisterID, classID, itemID } = itemPathToItemRefLike(subregisters !== undefined, state.selectedItemPath ?? '');\n\n const itemClasses = availableClassIDs ?? Object.keys(itemClassConfiguration);\n //const classConfiguration: ItemClassConfigurationSet =\n // itemClasses.reduce((o: typeof itemClassConfiguration, k: keyof typeof itemClassConfiguration) =>\n // { o[k] = itemClassConfiguration[k]; return o; }, {});\n\n const jumpToItem = (classID: string, itemID: string, subregisterID?: string) => {\n if (subregisters === undefined && subregisterID !== undefined) {\n console.error(\"Unable to jump to register item: indicates subregister, but register does not have any\", subregisterID);\n throw new Error(\"Unable to jump to register item: indicates subregister, but register does not have any\");\n } else if (subregisters !== undefined && subregisterID === undefined) {\n console.error(\"Unable to jump to register item: subregister is required\");\n throw new Error(\"Unable to jump to register item: subregister is required\");\n }\n if (subregisterID) {\n if (subregisters![subregisterID] === undefined) {\n console.error(\"Unable to jump to register item: requested subregister does not exist\", subregisterID);\n throw new Error(\"Unable to jump to register item: requested subregister does not exist\");\n } else if (itemClasses.indexOf(classID) < 0) {\n console.error(\"Unable to jump to register item: requested item class is not allowed\", classID);\n throw new Error(\"Unable to jump to register item: requested item class is not allowed\");\n }\n }\n\n const itemPath: string = subregisterID\n ? `/${subregisterID}/${classID}/${itemID}.yaml`\n : `/${classID}/${itemID}.yaml`;\n\n dispatch({ type: 'select-item', payload: { itemPath } });\n }\n\n const getRelatedClass = _getRelatedClass(itemClassConfiguration);\n\n // useEffect(() => {\n // if ((selectedClass === undefined && itemClasses.length > 0) ||\n // (selectedClass && itemClasses.indexOf(selectedClass) < 0)) {\n // selectClass(itemClasses[0]);\n // }\n // }, [JSON.stringify(itemClasses)]);\n\n\n // XXX: QUERY EXPRESSION HANDLING IS HERE\n // const itemClassPath: string = selectedSubregisterID\n // ? `/subregisters/${selectedSubregisterID}/${selectedClass ?? 'NONEXISTENT_CLASS'}/`\n // : `/${selectedClass ?? 'NONEXISTENT_CLASS'}/`;\n\n // const queryExpression: string = `return objPath.indexOf(\"${itemClassPath}\") === 0`;\n\n // const normalizedQueryExp = state.queryExpression.trim() || 'return objPath.';\n // const indexReq = useFilteredIndex({ queryExpression: state.queryExpression });\n // const indexID: string = indexReq.value.indexID ?? '';\n // END XXX\n\n\n //const objectPathsQuery = useObjectPaths({ pathPrefix });\n\n //const registerItemQuery = objectPathsQuery.value.\n // filter(path => path !== '.DS_Store').\n // map(path => ({ [path.replace('.yaml', '')]: 'utf-8' as const })).\n // reduce((prev, curr) => ({ ...prev, ...curr }), {})\n\n //const items = useRegisterItemData(registerItemQuery);\n\n // if (selectedClass === undefined) {\n // return <NonIdealState title=\"Please select item class\" />;\n // }\n\n //class ErrorBoundary extends React.Component<Record<never, never>, { error?: string }> {\n // constructor(props: any) {\n // super(props);\n // this.state = { error: undefined };\n // }\n // componentDidCatch(error: Error, info: any) {\n // log.error(\"Error rendering item details\", error, info);\n // this.setState({ error: `${error.name}: ${error.message}` });\n // }\n // render() {\n // if (this.state.error !== undefined) {\n // return <NonIdealState\n // icon=\"heart-broken\"\n // title=\"Error rendering view\"\n // description={\n // <>\n // <p>\n // This could be caused by invalid register item data format.\n // </p>\n // <Callout style={{ textAlign: 'left', transform: 'scale(0.9)' }} title=\"Technical details\">\n // <pre style={{ overflow: 'auto', paddingBottom: '1em' }}>\n // {this.state.error}\n // </pre>\n // </Callout>\n // </>\n // }\n // />;\n // }\n // return this.props.children;\n // }\n //}\n\n let view: JSX.Element;\n if (state.view === 'grid') {\n view = <RegisterItemGrid\n selectedItem={state.selectedItemPath\n ? itemPathToItemRef(subregisters !== undefined, state.selectedItemPath)\n : undefined}\n onSelectItem={(itemRef) => dispatch({\n type: 'select-item',\n payload: { itemPath: itemRefToItemPath(itemRef) },\n })}\n queryExpression={criteriaGroupToQueryExpression(state.query.criteria)}\n toolbar={<SearchQuery\n rootCriteria={state.query.criteria}\n itemClasses={itemClassConfiguration}\n availableClassIDs={availableClassIDs}\n subregisters={subregisters}\n onChange={(criteria) => dispatch({ type: 'update-query', payload: { query: { criteria } } })}\n />}\n getRelatedClassConfig={getRelatedClass}\n useRegisterItemData={useRegisterItemData}\n />;\n } else if (state.view === 'item' && classID && itemID) {\n view = <ItemDetails\n useRegisterItemData={useRegisterItemData}\n getRelatedClass={_getRelatedClass(itemClassConfiguration)}\n // TODO: convert class, subregister and ID combo into a single string item path?\n itemClass={itemClassConfiguration[classID]}\n subregisterID={subregisterID}\n itemID={itemID}\n itemActions={itemActions}\n />\n } else {\n // If item view is requested, but item or class ID is missing,\n // we can’t show any details because the only details view we have for now\n // is regsiter item details view, which requires those.\n view = <NonIdealState icon=\"heart-broken\" title=\"Not sure what to show\" description=\"Sorry! (Error code: 724A)\" />;\n }\n\n return (\n <BrowserCtx.Provider\n value={{\n jumpToItem,\n itemClasses: itemClassConfiguration,\n subregisters,\n useRegisterItemData,\n }}>\n {view}\n </BrowserCtx.Provider>\n );\n};\n\n\nexport default RegisterItemBrowser;\n"]}
|
package/views/ItemDetails.d.ts
DELETED
|
@@ -1,14 +0,0 @@
|
|
|
1
|
-
/** @jsx jsx */
|
|
2
|
-
/** @jsxFrag React.Fragment */
|
|
3
|
-
import React from 'react';
|
|
4
|
-
import { ItemAction, ItemClassConfiguration, RegisterItemDataHook, RelatedItemClassConfiguration } from '../types';
|
|
5
|
-
export declare const ItemDetails: React.FC<{
|
|
6
|
-
itemID?: string;
|
|
7
|
-
itemClass: ItemClassConfiguration<any>;
|
|
8
|
-
subregisterID?: string;
|
|
9
|
-
useRegisterItemData: RegisterItemDataHook;
|
|
10
|
-
getRelatedClass: (clsID: string) => RelatedItemClassConfiguration;
|
|
11
|
-
itemActions?: ItemAction[];
|
|
12
|
-
}>;
|
|
13
|
-
export declare const ItemDetailsWrapperDiv: import("@emotion/styled-base").StyledComponent<React.DetailedHTMLProps<React.HTMLAttributes<HTMLDivElement>, HTMLDivElement>, Pick<React.ClassAttributes<HTMLDivElement> & React.HTMLAttributes<HTMLDivElement>, keyof React.HTMLAttributes<HTMLDivElement>>, object>;
|
|
14
|
-
export default ItemDetails;
|
package/views/ItemDetails.js
DELETED
|
@@ -1,128 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
|
|
3
|
-
Object.defineProperty(exports, "__esModule", {
|
|
4
|
-
value: true
|
|
5
|
-
});
|
|
6
|
-
exports.default = exports.ItemDetailsWrapperDiv = exports.ItemDetails = void 0;
|
|
7
|
-
|
|
8
|
-
var _core = require("@emotion/core");
|
|
9
|
-
|
|
10
|
-
var _styled = _interopRequireDefault(require("@emotion/styled"));
|
|
11
|
-
|
|
12
|
-
var _core2 = require("@blueprintjs/core");
|
|
13
|
-
|
|
14
|
-
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
15
|
-
|
|
16
|
-
/** @jsx jsx */
|
|
17
|
-
|
|
18
|
-
/** @jsxFrag React.Fragment */
|
|
19
|
-
const ItemDetails = function ({
|
|
20
|
-
itemID,
|
|
21
|
-
itemClass,
|
|
22
|
-
subregisterID,
|
|
23
|
-
getRelatedClass,
|
|
24
|
-
useRegisterItemData,
|
|
25
|
-
itemActions
|
|
26
|
-
}) {
|
|
27
|
-
var _a, _b, _c, _d, _e, _f, _g, _h;
|
|
28
|
-
|
|
29
|
-
let details; //const itemPath = `${itemClass.meta.id}/${itemID}`;
|
|
30
|
-
|
|
31
|
-
const _itemPath = `/${(_b = (_a = itemClass === null || itemClass === void 0 ? void 0 : itemClass.meta) === null || _a === void 0 ? void 0 : _a.id) !== null && _b !== void 0 ? _b : 'NONEXISTENT_CLASS'}/${itemID}.yaml`;
|
|
32
|
-
const itemPath = subregisterID ? `/subregisters/${subregisterID}/${_itemPath}` : _itemPath;
|
|
33
|
-
const itemResponse = useRegisterItemData({
|
|
34
|
-
itemPaths: [itemPath]
|
|
35
|
-
});
|
|
36
|
-
const item = itemResponse.value[itemPath];
|
|
37
|
-
const ItemTitle = (_c = itemClass === null || itemClass === void 0 ? void 0 : itemClass.views) === null || _c === void 0 ? void 0 : _c.listItemView;
|
|
38
|
-
|
|
39
|
-
if (itemID === undefined) {
|
|
40
|
-
return (0, _core.jsx)(_core2.NonIdealState, {
|
|
41
|
-
title: "No item is selected"
|
|
42
|
-
});
|
|
43
|
-
} else if (!itemClass) {
|
|
44
|
-
return (0, _core.jsx)(_core2.NonIdealState, {
|
|
45
|
-
icon: "heart-broken",
|
|
46
|
-
title: "Item class not found",
|
|
47
|
-
description: "This may be an issue with registry extension configuration"
|
|
48
|
-
});
|
|
49
|
-
} else if (itemResponse.isUpdating) {
|
|
50
|
-
details = (0, _core.jsx)("div", {
|
|
51
|
-
className: _core2.Classes.SKELETON
|
|
52
|
-
}, "Loading\u2026");
|
|
53
|
-
} else if (item) {
|
|
54
|
-
const DetailView = (_d = itemClass.views.detailView) !== null && _d !== void 0 ? _d : itemClass.views.editView;
|
|
55
|
-
details = (0, _core.jsx)(DetailView, {
|
|
56
|
-
getRelatedItemClassConfiguration: getRelatedClass,
|
|
57
|
-
subregisterID: subregisterID,
|
|
58
|
-
useRegisterItemData: useRegisterItemData,
|
|
59
|
-
itemData: item.data
|
|
60
|
-
});
|
|
61
|
-
} else {
|
|
62
|
-
details = (0, _core.jsx)("div", {
|
|
63
|
-
className: _core2.Classes.SKELETON
|
|
64
|
-
}, "Loading\u2026");
|
|
65
|
-
}
|
|
66
|
-
|
|
67
|
-
function StyledTitle(props) {
|
|
68
|
-
const Component = itemResponse.isUpdating || !itemID ? props => (0, _core.jsx)("span", {
|
|
69
|
-
className: props.className
|
|
70
|
-
}, (0, _core.jsx)("span", {
|
|
71
|
-
className: _core2.Classes.SKELETON
|
|
72
|
-
}, "Loading\u2026"), "\u2003") : ItemTitle;
|
|
73
|
-
return (0, _core.jsx)(Component, Object.assign({
|
|
74
|
-
css: (0, _core.css)`
|
|
75
|
-
margin-top: 1em; font-weight: bold; font-size: 110%;
|
|
76
|
-
line-height: 1;
|
|
77
|
-
white-space: nowrap; overflow: hidden; text-overflow: ellipsis;
|
|
78
|
-
`,
|
|
79
|
-
itemID: itemID
|
|
80
|
-
}, props));
|
|
81
|
-
}
|
|
82
|
-
|
|
83
|
-
return (0, _core.jsx)("div", {
|
|
84
|
-
css: (0, _core.css)`flex: 1; display: flex; flex-flow: column nowrap; padding: 1rem; overflow: hidden;`
|
|
85
|
-
}, itemID ? (0, _core.jsx)("div", {
|
|
86
|
-
css: (0, _core.css)`flex-shrink: 0; margin-bottom: 1rem; display: flex; flex-flow: column nowrap;`
|
|
87
|
-
}, (0, _core.jsx)(_core2.ControlGroup, null, (0, _core.jsx)(_core2.Tooltip, {
|
|
88
|
-
content: "Internal unique item ID"
|
|
89
|
-
}, (0, _core.jsx)(_core2.InputGroup, {
|
|
90
|
-
disabled: true,
|
|
91
|
-
value: (item === null || item === void 0 ? void 0 : item.id) || itemID || '',
|
|
92
|
-
fill: true
|
|
93
|
-
})), (0, _core.jsx)(_core2.Button, {
|
|
94
|
-
disabled: true,
|
|
95
|
-
intent: (item === null || item === void 0 ? void 0 : item.status) === 'valid' ? 'success' : undefined,
|
|
96
|
-
title: "Item status",
|
|
97
|
-
icon: (item === null || item === void 0 ? void 0 : item.status) === 'valid' ? 'tick-circle' : 'blank'
|
|
98
|
-
}, item === null || item === void 0 ? void 0 : item.status), (0, _core.jsx)(_core2.InputGroup, {
|
|
99
|
-
disabled: true,
|
|
100
|
-
leftIcon: "calendar",
|
|
101
|
-
value: `accepted ${(_g = (_f = (_e = item === null || item === void 0 ? void 0 : item.dateAccepted) === null || _e === void 0 ? void 0 : _e.toLocaleDateString) === null || _f === void 0 ? void 0 : _f.call(_e)) !== null && _g !== void 0 ? _g : '—'}`
|
|
102
|
-
})), (0, _core.jsx)(StyledTitle, {
|
|
103
|
-
itemData: (_h = item === null || item === void 0 ? void 0 : item.data) !== null && _h !== void 0 ? _h : {},
|
|
104
|
-
useRegisterItemData: useRegisterItemData,
|
|
105
|
-
getRelatedItemClassConfiguration: getRelatedClass
|
|
106
|
-
})) : null, (0, _core.jsx)(ItemDetailsWrapperDiv, {
|
|
107
|
-
className: _core2.Classes.ELEVATION_3
|
|
108
|
-
}, details), item && (itemActions !== null && itemActions !== void 0 ? itemActions : []).length > 0 ? (0, _core.jsx)("div", {
|
|
109
|
-
css: (0, _core.css)`flex-shrink: 0; margin-top: 1rem; display: flex; flex-flow: row nowrap; align-items: center;`
|
|
110
|
-
}, (0, _core.jsx)(_core2.FormGroup, {
|
|
111
|
-
css: (0, _core.css)`margin-bottom: 0;`
|
|
112
|
-
}, itemActions.map((action, idx) => (0, _core.jsx)(_core2.Button, Object.assign({
|
|
113
|
-
css: (0, _core.css)`${idx !== itemActions.length - 1 ? 'margin-right: .5rem;' : ''}`
|
|
114
|
-
}, action.getButtonProps(item, itemClass)))))) : null);
|
|
115
|
-
};
|
|
116
|
-
|
|
117
|
-
exports.ItemDetails = ItemDetails;
|
|
118
|
-
const ItemDetailsWrapperDiv = _styled.default.div`
|
|
119
|
-
flex: 1;
|
|
120
|
-
overflow-y: auto;
|
|
121
|
-
padding: 1rem;
|
|
122
|
-
border-radius: .5rem;
|
|
123
|
-
background: ${_core2.Colors.WHITE};
|
|
124
|
-
position: relative;
|
|
125
|
-
`;
|
|
126
|
-
exports.ItemDetailsWrapperDiv = ItemDetailsWrapperDiv;
|
|
127
|
-
var _default = ItemDetails;
|
|
128
|
-
exports.default = _default;
|
package/views/ItemDetails.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"ItemDetails.js","sourceRoot":"","sources":["../../src/views/ItemDetails.tsx"],"names":[],"mappings":"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","sourcesContent":["/** @jsx jsx */\n/** @jsxFrag React.Fragment */\n\nimport React from 'react';\nimport { jsx, css } from '@emotion/core';\nimport styled from '@emotion/styled';\n\nimport {\n Button, /*Callout,*/ Classes, Colors, ControlGroup,\n FormGroup,\n InputGroup, NonIdealState, Tooltip\n} from '@blueprintjs/core';\n\nimport {\n ItemAction,\n ItemClassConfiguration, RegisterItemDataHook,\n RegistryItemViewProps,\n RelatedItemClassConfiguration\n} from '../types';\n\n\nexport const ItemDetails: React.FC<{\n itemID?: string;\n itemClass: ItemClassConfiguration<any>;\n subregisterID?: string;\n useRegisterItemData: RegisterItemDataHook;\n getRelatedClass: (clsID: string) => RelatedItemClassConfiguration;\n itemActions?: ItemAction[];\n}> = function ({ itemID, itemClass, subregisterID, getRelatedClass, useRegisterItemData, itemActions }) {\n let details: JSX.Element;\n\n //const itemPath = `${itemClass.meta.id}/${itemID}`;\n const _itemPath = `/${itemClass?.meta?.id ?? 'NONEXISTENT_CLASS'}/${itemID}.yaml`;\n const itemPath = subregisterID ? `/subregisters/${subregisterID}/${_itemPath}` : _itemPath;\n\n const itemResponse = useRegisterItemData({ itemPaths: [itemPath] });\n const item = itemResponse.value[itemPath];\n\n const ItemTitle = itemClass?.views?.listItemView;\n\n if (itemID === undefined) {\n return <NonIdealState title=\"No item is selected\" />;\n\n } else if (!itemClass) {\n return <NonIdealState\n icon=\"heart-broken\"\n title=\"Item class not found\"\n description=\"This may be an issue with registry extension configuration\" />\n\n } else if (itemResponse.isUpdating) {\n details = <div className={Classes.SKELETON}>Loading…</div>;\n\n } else if (item) {\n const DetailView = itemClass.views.detailView ?? itemClass.views.editView;\n\n details = (\n <DetailView\n getRelatedItemClassConfiguration={getRelatedClass}\n subregisterID={subregisterID}\n useRegisterItemData={useRegisterItemData}\n itemData={item.data} />\n );\n\n } else {\n details = <div className={Classes.SKELETON}>Loading…</div>;\n }\n\n function StyledTitle(props: RegistryItemViewProps<any>) {\n const Component = itemResponse.isUpdating || !itemID\n ? (props: { className?: string; }) => (\n <span className={props.className}>\n <span className={Classes.SKELETON}>Loading…</span>\n  \n </span>\n )\n : ItemTitle;\n\n return (\n <Component\n css={css`\n margin-top: 1em; font-weight: bold; font-size: 110%;\n line-height: 1;\n white-space: nowrap; overflow: hidden; text-overflow: ellipsis;\n `}\n itemID={itemID!}\n {...props} />\n );\n }\n\n return (\n <div css={css`flex: 1; display: flex; flex-flow: column nowrap; padding: 1rem; overflow: hidden;`}>\n {itemID\n ? <div css={css`flex-shrink: 0; margin-bottom: 1rem; display: flex; flex-flow: column nowrap;`}>\n <ControlGroup>\n <Tooltip content=\"Internal unique item ID\">\n <InputGroup disabled value={item?.id || itemID || ''} fill />\n </Tooltip>\n <Button\n disabled\n intent={item?.status === 'valid' ? 'success' : undefined}\n title=\"Item status\"\n icon={item?.status === 'valid' ? 'tick-circle' : 'blank'}>\n {item?.status}\n </Button>\n <InputGroup\n disabled\n leftIcon=\"calendar\"\n value={`accepted ${item?.dateAccepted?.toLocaleDateString?.() ?? '—'}`} />\n </ControlGroup>\n <StyledTitle\n itemData={item?.data ?? {}}\n useRegisterItemData={useRegisterItemData}\n getRelatedItemClassConfiguration={getRelatedClass} />\n </div>\n : null}\n\n <ItemDetailsWrapperDiv className={Classes.ELEVATION_3}>\n {details}\n </ItemDetailsWrapperDiv>\n\n {item && ((itemActions ?? []).length > 0)\n ? <div css={css`flex-shrink: 0; margin-top: 1rem; display: flex; flex-flow: row nowrap; align-items: center;`}>\n <FormGroup css={css`margin-bottom: 0;`}>\n {itemActions!.map((action, idx) =>\n <Button\n css={css`${idx !== itemActions!.length - 1 ? 'margin-right: .5rem;' : ''}`}\n {...action.getButtonProps(item, itemClass)} />\n )}\n </FormGroup>\n </div>\n : null}\n </div>\n );\n};\n\n\nexport const ItemDetailsWrapperDiv = styled.div`\n flex: 1;\n overflow-y: auto;\n padding: 1rem;\n border-radius: .5rem;\n background: ${Colors.WHITE};\n position: relative;\n`;\n\n\nexport default ItemDetails;\n"]}
|
package/views/MainView.d.ts
DELETED
package/views/MainView.js
DELETED
|
@@ -1,34 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
|
|
3
|
-
Object.defineProperty(exports, "__esModule", {
|
|
4
|
-
value: true
|
|
5
|
-
});
|
|
6
|
-
exports.MainView = void 0;
|
|
7
|
-
|
|
8
|
-
var _core = require("@blueprintjs/core");
|
|
9
|
-
|
|
10
|
-
var _core2 = require("@emotion/core");
|
|
11
|
-
|
|
12
|
-
/** @jsx jsx */
|
|
13
|
-
|
|
14
|
-
/** @jsxFrag React.Fragment */
|
|
15
|
-
const MainView = function ({
|
|
16
|
-
actions,
|
|
17
|
-
children,
|
|
18
|
-
wrapperClassName,
|
|
19
|
-
style
|
|
20
|
-
}) {
|
|
21
|
-
return (0, _core2.jsx)("div", {
|
|
22
|
-
css: (0, _core2.css)`flex: 1; display: flex; flex-flow: column nowrap; overflow: hidden;`,
|
|
23
|
-
className: wrapperClassName,
|
|
24
|
-
style: style
|
|
25
|
-
}, (0, _core2.jsx)("main", {
|
|
26
|
-
css: (0, _core2.css)`flex: 1; display: flex; flex-flow: row nowrap; align-items: stretch; overflow: hidden;`
|
|
27
|
-
}, children), actions ? (0, _core2.jsx)(_core.Navbar, null, (0, _core2.jsx)(_core.Navbar.Group, {
|
|
28
|
-
style: {
|
|
29
|
-
float: 'unset'
|
|
30
|
-
}
|
|
31
|
-
}, actions)) : null);
|
|
32
|
-
};
|
|
33
|
-
|
|
34
|
-
exports.MainView = MainView;
|
package/views/MainView.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"MainView.js","sourceRoot":"","sources":["../../src/views/MainView.tsx"],"names":[],"mappings":"AAAA,eAAe;AACf,8BAA8B;AAE9B,OAAO,EAAE,MAAM,EAAE,MAAM,mBAAmB,CAAC;AAE3C,OAAO,EAAE,GAAG,EAAE,GAAG,EAAE,MAAM,eAAe,CAAC;AAGzC,MAAM,CAAC,MAAM,QAAQ,GAIhB,UAAU,EACb,OAAO,EACP,QAAQ,EACR,gBAAgB,EAChB,KAAK,GACN;IACC,OAAO,CACL,aAAK,GAAG,EAAE,GAAG,CAAA,qEAAqE,EAAE,SAAS,EAAE,gBAAgB,EAAE,KAAK,EAAE,KAAK;QAC3H,cAAM,GAAG,EAAE,GAAG,CAAA,wFAAwF,IACnG,QAAQ,CACJ;QACN,OAAO;YACN,CAAC,CAAC,IAAC,MAAM;gBACL,IAAC,MAAM,CAAC,KAAK,IAAC,KAAK,EAAE,EAAE,KAAK,EAAE,OAAO,EAAE,IACpC,OAAO,CACK,CACR;YACX,CAAC,CAAC,IAAI,CACJ,CACP,CAAC;AACJ,CAAC,CAAC","sourcesContent":["/** @jsx jsx */\n/** @jsxFrag React.Fragment */\n\nimport { Navbar } from '@blueprintjs/core';\n\nimport { css, jsx } from '@emotion/core';\n\n\nexport const MainView: React.FC<{\n actions?: JSX.Element\n wrapperClassName?: string\n style?: React.CSSProperties\n}> = function ({\n actions,\n children,\n wrapperClassName,\n style,\n}) {\n return (\n <div css={css`flex: 1; display: flex; flex-flow: column nowrap; overflow: hidden;`} className={wrapperClassName} style={style}>\n <main css={css`flex: 1; display: flex; flex-flow: row nowrap; align-items: stretch; overflow: hidden;`}>\n {children}\n </main>\n {actions\n ? <Navbar>\n <Navbar.Group style={{ float: 'unset' }}>\n {actions}\n </Navbar.Group>\n </Navbar>\n : null}\n </div>\n );\n};\n"]}
|
|
@@ -1,7 +0,0 @@
|
|
|
1
|
-
/** @jsx jsx */
|
|
2
|
-
/// <reference types="react" />
|
|
3
|
-
import { Register } from '../types';
|
|
4
|
-
export declare const RegisterInformation: React.FC<{
|
|
5
|
-
register: Partial<Register> | null;
|
|
6
|
-
onSave?: (value: Partial<Register>, oldValue: Partial<Register> | null) => void;
|
|
7
|
-
}>;
|