@jbrowse/plugin-config 1.7.8 → 1.7.11
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/dist/ConfigurationEditorWidget/components/CodeEditor.js +16 -13
- package/dist/ConfigurationEditorWidget/components/SlotEditor.js +72 -110
- package/dist/ConfigurationEditorWidget/components/StringArrayEditor.d.ts +12 -0
- package/dist/ConfigurationEditorWidget/components/StringArrayEditor.js +110 -0
- package/dist/ConfigurationEditorWidget/index.js +2 -2
- package/dist/RefNameAliasAdapter/RefNameAliasAdapter.js +3 -1
- package/package.json +2 -2
- package/src/ConfigurationEditorWidget/components/CodeEditor.js +4 -3
- package/src/ConfigurationEditorWidget/components/SlotEditor.js +28 -73
- package/src/ConfigurationEditorWidget/components/StringArrayEditor.tsx +115 -0
- package/src/ConfigurationEditorWidget/components/__snapshots__/ConfigurationEditor.test.js.snap +109 -141
- package/src/ConfigurationEditorWidget/index.js +2 -2
- package/src/RefNameAliasAdapter/RefNameAliasAdapter.ts +1 -1
|
@@ -31,19 +31,22 @@ function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj &&
|
|
|
31
31
|
var fontSize = '12px'; // Optimize by using system default fonts: https://css-tricks.com/snippets/css/font-stacks/
|
|
32
32
|
|
|
33
33
|
var fontFamily = 'Consolas, "Andale Mono WT", "Andale Mono", "Lucida Console", "Lucida Sans Typewriter", "DejaVu Sans Mono", "Bitstream Vera Sans Mono", "Liberation Mono", "Nimbus Mono L", Monaco, "Courier New", Courier, monospace';
|
|
34
|
-
var useStyles = (0, _core.makeStyles)({
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
34
|
+
var useStyles = (0, _core.makeStyles)(function (theme) {
|
|
35
|
+
return {
|
|
36
|
+
callbackEditor: {
|
|
37
|
+
fontFamily: fontFamily,
|
|
38
|
+
fontSize: fontSize,
|
|
39
|
+
background: theme.palette.background.default,
|
|
40
|
+
overflowX: 'auto',
|
|
41
|
+
marginTop: '16px',
|
|
42
|
+
border: '1px solid rgba(0,0,0,0.42)'
|
|
43
|
+
},
|
|
44
|
+
syntaxHighlighter: {
|
|
45
|
+
margin: 0,
|
|
46
|
+
fontFamily: fontFamily,
|
|
47
|
+
fontSize: fontSize
|
|
48
|
+
}
|
|
49
|
+
};
|
|
47
50
|
}); // eslint-disable-next-line react/prop-types
|
|
48
51
|
|
|
49
52
|
function CodeEditor(_ref) {
|
|
@@ -11,6 +11,8 @@ exports.useSlotEditorStyles = exports.default = void 0;
|
|
|
11
11
|
|
|
12
12
|
var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
|
|
13
13
|
|
|
14
|
+
var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
|
|
15
|
+
|
|
14
16
|
var _react = _interopRequireWildcard(require("react"));
|
|
15
17
|
|
|
16
18
|
var _mobxReact = require("mobx-react");
|
|
@@ -29,6 +31,8 @@ var _Add = _interopRequireDefault(require("@material-ui/icons/Add"));
|
|
|
29
31
|
|
|
30
32
|
var _RadioButtonUnchecked = _interopRequireDefault(require("@material-ui/icons/RadioButtonUnchecked"));
|
|
31
33
|
|
|
34
|
+
var _StringArrayEditor = _interopRequireDefault(require("./StringArrayEditor"));
|
|
35
|
+
|
|
32
36
|
var _CallbackEditor = _interopRequireDefault(require("./CallbackEditor"));
|
|
33
37
|
|
|
34
38
|
var _ColorEditor = _interopRequireDefault(require("./ColorEditor"));
|
|
@@ -41,13 +45,27 @@ function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj &&
|
|
|
41
45
|
|
|
42
46
|
// icons
|
|
43
47
|
// locals
|
|
48
|
+
// adds ability to have html in helperText. note that FormHelperTextProps is
|
|
49
|
+
// div because the default is p which does not like div children
|
|
50
|
+
var MyTextField = function MyTextField(props) {
|
|
51
|
+
// eslint-disable-next-line react/prop-types
|
|
52
|
+
var helperText = props.helperText;
|
|
53
|
+
return /*#__PURE__*/_react.default.createElement(_core.TextField, (0, _extends2.default)({}, props, {
|
|
54
|
+
helperText: /*#__PURE__*/_react.default.createElement(_ui.SanitizedHTML, {
|
|
55
|
+
html: helperText
|
|
56
|
+
}),
|
|
57
|
+
FormHelperTextProps: {
|
|
58
|
+
component: 'div'
|
|
59
|
+
},
|
|
60
|
+
fullWidth: true
|
|
61
|
+
}));
|
|
62
|
+
};
|
|
63
|
+
|
|
44
64
|
var StringEditor = (0, _mobxReact.observer)(function (_ref) {
|
|
45
65
|
var slot = _ref.slot;
|
|
46
|
-
return /*#__PURE__*/_react.default.createElement(
|
|
47
|
-
label: slot.name
|
|
48
|
-
,
|
|
66
|
+
return /*#__PURE__*/_react.default.createElement(MyTextField, {
|
|
67
|
+
label: slot.name,
|
|
49
68
|
helperText: slot.description,
|
|
50
|
-
fullWidth: true,
|
|
51
69
|
value: slot.value,
|
|
52
70
|
onChange: function onChange(evt) {
|
|
53
71
|
return slot.set(evt.target.value);
|
|
@@ -59,7 +77,6 @@ var TextEditor = (0, _mobxReact.observer)(function (_ref2) {
|
|
|
59
77
|
return /*#__PURE__*/_react.default.createElement(_core.TextField, {
|
|
60
78
|
label: slot.name,
|
|
61
79
|
helperText: slot.description,
|
|
62
|
-
fullWidth: true,
|
|
63
80
|
multiline: true,
|
|
64
81
|
value: slot.value,
|
|
65
82
|
onChange: function onChange(evt) {
|
|
@@ -74,59 +91,6 @@ var SvgCheckbox = function SvgCheckbox() {
|
|
|
74
91
|
}));
|
|
75
92
|
};
|
|
76
93
|
|
|
77
|
-
var StringArrayEditor = (0, _mobxReact.observer)(function (_ref3) {
|
|
78
|
-
var slot = _ref3.slot;
|
|
79
|
-
|
|
80
|
-
var _useState = (0, _react.useState)(''),
|
|
81
|
-
_useState2 = (0, _slicedToArray2.default)(_useState, 2),
|
|
82
|
-
value = _useState2[0],
|
|
83
|
-
setValue = _useState2[1];
|
|
84
|
-
|
|
85
|
-
return /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, slot.name ? /*#__PURE__*/_react.default.createElement(_core.InputLabel, null, slot.name) : null, /*#__PURE__*/_react.default.createElement(_core.List, {
|
|
86
|
-
disablePadding: true
|
|
87
|
-
}, slot.value.map(function (val, idx) {
|
|
88
|
-
return /*#__PURE__*/_react.default.createElement(_core.ListItem, {
|
|
89
|
-
key: idx,
|
|
90
|
-
disableGutters: true
|
|
91
|
-
}, /*#__PURE__*/_react.default.createElement(_core.TextField, {
|
|
92
|
-
value: val,
|
|
93
|
-
onChange: function onChange(evt) {
|
|
94
|
-
return slot.setAtIndex(idx, evt.target.value);
|
|
95
|
-
},
|
|
96
|
-
InputProps: {
|
|
97
|
-
endAdornment: /*#__PURE__*/_react.default.createElement(_core.InputAdornment, {
|
|
98
|
-
position: "end"
|
|
99
|
-
}, /*#__PURE__*/_react.default.createElement(_core.IconButton, {
|
|
100
|
-
color: "secondary",
|
|
101
|
-
onClick: function onClick() {
|
|
102
|
-
return slot.removeAtIndex(idx);
|
|
103
|
-
}
|
|
104
|
-
}, /*#__PURE__*/_react.default.createElement(_Delete.default, null)))
|
|
105
|
-
}
|
|
106
|
-
}));
|
|
107
|
-
}), /*#__PURE__*/_react.default.createElement(_core.ListItem, {
|
|
108
|
-
disableGutters: true
|
|
109
|
-
}, /*#__PURE__*/_react.default.createElement(_core.TextField, {
|
|
110
|
-
value: value,
|
|
111
|
-
placeholder: "add new",
|
|
112
|
-
onChange: function onChange(event) {
|
|
113
|
-
return setValue(event.target.value);
|
|
114
|
-
},
|
|
115
|
-
InputProps: {
|
|
116
|
-
endAdornment: /*#__PURE__*/_react.default.createElement(_core.InputAdornment, {
|
|
117
|
-
position: "end"
|
|
118
|
-
}, /*#__PURE__*/_react.default.createElement(_core.IconButton, {
|
|
119
|
-
onClick: function onClick() {
|
|
120
|
-
slot.add(value);
|
|
121
|
-
setValue('');
|
|
122
|
-
},
|
|
123
|
-
disabled: value === '',
|
|
124
|
-
color: "secondary",
|
|
125
|
-
"data-testid": "stringArrayAdd-".concat(slot.name)
|
|
126
|
-
}, /*#__PURE__*/_react.default.createElement(_Add.default, null)))
|
|
127
|
-
}
|
|
128
|
-
}))), /*#__PURE__*/_react.default.createElement(_core.FormHelperText, null, slot.description));
|
|
129
|
-
});
|
|
130
94
|
var useMapEditorStyles = (0, _core.makeStyles)(function (theme) {
|
|
131
95
|
return {
|
|
132
96
|
card: {
|
|
@@ -134,19 +98,19 @@ var useMapEditorStyles = (0, _core.makeStyles)(function (theme) {
|
|
|
134
98
|
}
|
|
135
99
|
};
|
|
136
100
|
});
|
|
137
|
-
var StringArrayMapEditor = (0, _mobxReact.observer)(function (
|
|
138
|
-
var slot =
|
|
101
|
+
var StringArrayMapEditor = (0, _mobxReact.observer)(function (_ref3) {
|
|
102
|
+
var slot = _ref3.slot;
|
|
139
103
|
var classes = useMapEditorStyles();
|
|
140
104
|
|
|
141
|
-
var
|
|
142
|
-
|
|
143
|
-
value =
|
|
144
|
-
setValue =
|
|
105
|
+
var _useState = (0, _react.useState)(''),
|
|
106
|
+
_useState2 = (0, _slicedToArray2.default)(_useState, 2),
|
|
107
|
+
value = _useState2[0],
|
|
108
|
+
setValue = _useState2[1];
|
|
145
109
|
|
|
146
|
-
return /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, /*#__PURE__*/_react.default.createElement(_core.InputLabel, null, slot.name), Array.from(slot.value, function (
|
|
147
|
-
var
|
|
148
|
-
key =
|
|
149
|
-
val =
|
|
110
|
+
return /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, /*#__PURE__*/_react.default.createElement(_core.InputLabel, null, slot.name), Array.from(slot.value, function (_ref4) {
|
|
111
|
+
var _ref5 = (0, _slicedToArray2.default)(_ref4, 2),
|
|
112
|
+
key = _ref5[0],
|
|
113
|
+
val = _ref5[1];
|
|
150
114
|
|
|
151
115
|
return /*#__PURE__*/_react.default.createElement(_core.Card, {
|
|
152
116
|
raised: true,
|
|
@@ -160,7 +124,7 @@ var StringArrayMapEditor = (0, _mobxReact.observer)(function (_ref4) {
|
|
|
160
124
|
return slot.remove(key);
|
|
161
125
|
}
|
|
162
126
|
}, /*#__PURE__*/_react.default.createElement(_Delete.default, null))
|
|
163
|
-
}), /*#__PURE__*/_react.default.createElement(_core.CardContent, null, /*#__PURE__*/_react.default.createElement(
|
|
127
|
+
}), /*#__PURE__*/_react.default.createElement(_core.CardContent, null, /*#__PURE__*/_react.default.createElement(_StringArrayEditor.default, {
|
|
164
128
|
slot: {
|
|
165
129
|
value: val,
|
|
166
130
|
description: "Values associated with entry ".concat(key),
|
|
@@ -202,19 +166,19 @@ var StringArrayMapEditor = (0, _mobxReact.observer)(function (_ref4) {
|
|
|
202
166
|
})
|
|
203
167
|
})), /*#__PURE__*/_react.default.createElement(_core.FormHelperText, null, slot.description));
|
|
204
168
|
});
|
|
205
|
-
var NumberMapEditor = (0, _mobxReact.observer)(function (
|
|
206
|
-
var slot =
|
|
169
|
+
var NumberMapEditor = (0, _mobxReact.observer)(function (_ref6) {
|
|
170
|
+
var slot = _ref6.slot;
|
|
207
171
|
var classes = useMapEditorStyles();
|
|
208
172
|
|
|
209
|
-
var
|
|
210
|
-
|
|
211
|
-
value =
|
|
212
|
-
setValue =
|
|
173
|
+
var _useState3 = (0, _react.useState)(''),
|
|
174
|
+
_useState4 = (0, _slicedToArray2.default)(_useState3, 2),
|
|
175
|
+
value = _useState4[0],
|
|
176
|
+
setValue = _useState4[1];
|
|
213
177
|
|
|
214
|
-
return /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, /*#__PURE__*/_react.default.createElement(_core.InputLabel, null, slot.name), Array.from(slot.value, function (
|
|
215
|
-
var
|
|
216
|
-
key =
|
|
217
|
-
val =
|
|
178
|
+
return /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, /*#__PURE__*/_react.default.createElement(_core.InputLabel, null, slot.name), Array.from(slot.value, function (_ref7) {
|
|
179
|
+
var _ref8 = (0, _slicedToArray2.default)(_ref7, 2),
|
|
180
|
+
key = _ref8[0],
|
|
181
|
+
val = _ref8[1];
|
|
218
182
|
|
|
219
183
|
return /*#__PURE__*/_react.default.createElement(_core.Card, {
|
|
220
184
|
raised: true,
|
|
@@ -263,13 +227,13 @@ var NumberMapEditor = (0, _mobxReact.observer)(function (_ref7) {
|
|
|
263
227
|
})
|
|
264
228
|
})), /*#__PURE__*/_react.default.createElement(_core.FormHelperText, null, slot.description));
|
|
265
229
|
});
|
|
266
|
-
var NumberEditor = (0, _mobxReact.observer)(function (
|
|
267
|
-
var slot =
|
|
230
|
+
var NumberEditor = (0, _mobxReact.observer)(function (_ref9) {
|
|
231
|
+
var slot = _ref9.slot;
|
|
268
232
|
|
|
269
|
-
var
|
|
270
|
-
|
|
271
|
-
val =
|
|
272
|
-
setVal =
|
|
233
|
+
var _useState5 = (0, _react.useState)(slot.value),
|
|
234
|
+
_useState6 = (0, _slicedToArray2.default)(_useState5, 2),
|
|
235
|
+
val = _useState6[0],
|
|
236
|
+
setVal = _useState6[1];
|
|
273
237
|
|
|
274
238
|
(0, _react.useEffect)(function () {
|
|
275
239
|
var num = parseFloat(val, 10);
|
|
@@ -280,7 +244,7 @@ var NumberEditor = (0, _mobxReact.observer)(function (_ref10) {
|
|
|
280
244
|
slot.reset();
|
|
281
245
|
}
|
|
282
246
|
}, [slot, val]);
|
|
283
|
-
return /*#__PURE__*/_react.default.createElement(
|
|
247
|
+
return /*#__PURE__*/_react.default.createElement(MyTextField, {
|
|
284
248
|
label: slot.name,
|
|
285
249
|
helperText: slot.description,
|
|
286
250
|
value: val,
|
|
@@ -290,13 +254,13 @@ var NumberEditor = (0, _mobxReact.observer)(function (_ref10) {
|
|
|
290
254
|
}
|
|
291
255
|
});
|
|
292
256
|
});
|
|
293
|
-
var IntegerEditor = (0, _mobxReact.observer)(function (
|
|
294
|
-
var slot =
|
|
257
|
+
var IntegerEditor = (0, _mobxReact.observer)(function (_ref10) {
|
|
258
|
+
var slot = _ref10.slot;
|
|
295
259
|
|
|
296
|
-
var
|
|
297
|
-
|
|
298
|
-
val =
|
|
299
|
-
setVal =
|
|
260
|
+
var _useState7 = (0, _react.useState)(slot.value),
|
|
261
|
+
_useState8 = (0, _slicedToArray2.default)(_useState7, 2),
|
|
262
|
+
val = _useState8[0],
|
|
263
|
+
setVal = _useState8[1];
|
|
300
264
|
|
|
301
265
|
(0, _react.useEffect)(function () {
|
|
302
266
|
var num = parseInt(val, 10);
|
|
@@ -305,7 +269,7 @@ var IntegerEditor = (0, _mobxReact.observer)(function (_ref11) {
|
|
|
305
269
|
slot.set(num);
|
|
306
270
|
}
|
|
307
271
|
}, [slot, val]);
|
|
308
|
-
return /*#__PURE__*/_react.default.createElement(
|
|
272
|
+
return /*#__PURE__*/_react.default.createElement(MyTextField, {
|
|
309
273
|
label: slot.name,
|
|
310
274
|
helperText: slot.description,
|
|
311
275
|
value: val,
|
|
@@ -315,8 +279,8 @@ var IntegerEditor = (0, _mobxReact.observer)(function (_ref11) {
|
|
|
315
279
|
}
|
|
316
280
|
});
|
|
317
281
|
});
|
|
318
|
-
var
|
|
319
|
-
var slot =
|
|
282
|
+
var BooleanEditor = (0, _mobxReact.observer)(function (_ref11) {
|
|
283
|
+
var slot = _ref11.slot;
|
|
320
284
|
return /*#__PURE__*/_react.default.createElement(_core.FormControl, null, /*#__PURE__*/_react.default.createElement(_core.FormControlLabel, {
|
|
321
285
|
label: slot.name,
|
|
322
286
|
control: /*#__PURE__*/_react.default.createElement(_core.Checkbox, {
|
|
@@ -327,20 +291,18 @@ var booleanEditor = (0, _mobxReact.observer)(function (_ref12) {
|
|
|
327
291
|
})
|
|
328
292
|
}), /*#__PURE__*/_react.default.createElement(_core.FormHelperText, null, slot.description));
|
|
329
293
|
});
|
|
330
|
-
var
|
|
331
|
-
var slot =
|
|
332
|
-
slotSchema =
|
|
294
|
+
var StringEnumEditor = (0, _mobxReact.observer)(function (_ref12) {
|
|
295
|
+
var slot = _ref12.slot,
|
|
296
|
+
slotSchema = _ref12.slotSchema;
|
|
333
297
|
var p = (0, _mobxStateTree.getPropertyMembers)((0, _mstReflection.getSubType)(slotSchema));
|
|
334
298
|
var choices = (0, _mstReflection.getUnionSubTypes)((0, _mstReflection.getUnionSubTypes)((0, _mstReflection.getSubType)((0, _mstReflection.getPropertyType)(p, 'value')))[1]).map(function (t) {
|
|
335
299
|
return t.value;
|
|
336
300
|
});
|
|
337
|
-
return /*#__PURE__*/_react.default.createElement(
|
|
301
|
+
return /*#__PURE__*/_react.default.createElement(MyTextField, {
|
|
338
302
|
value: slot.value,
|
|
339
303
|
label: slot.name,
|
|
340
|
-
select: true
|
|
341
|
-
,
|
|
304
|
+
select: true,
|
|
342
305
|
helperText: slot.description,
|
|
343
|
-
fullWidth: true,
|
|
344
306
|
onChange: function onChange(evt) {
|
|
345
307
|
return slot.set(evt.target.value);
|
|
346
308
|
}
|
|
@@ -351,10 +313,10 @@ var stringEnumEditor = (0, _mobxReact.observer)(function (_ref13) {
|
|
|
351
313
|
}, str);
|
|
352
314
|
}));
|
|
353
315
|
});
|
|
354
|
-
var FileSelectorWrapper = (0, _mobxReact.observer)(function (
|
|
316
|
+
var FileSelectorWrapper = (0, _mobxReact.observer)(function (_ref13) {
|
|
355
317
|
var _getEnv$pluginManager;
|
|
356
318
|
|
|
357
|
-
var slot =
|
|
319
|
+
var slot = _ref13.slot;
|
|
358
320
|
return /*#__PURE__*/_react.default.createElement(_ui.FileSelector, {
|
|
359
321
|
location: slot.value,
|
|
360
322
|
setLocation: function setLocation(location) {
|
|
@@ -369,14 +331,14 @@ var valueComponents = {
|
|
|
369
331
|
string: StringEditor,
|
|
370
332
|
text: TextEditor,
|
|
371
333
|
fileLocation: FileSelectorWrapper,
|
|
372
|
-
stringArray:
|
|
334
|
+
stringArray: _StringArrayEditor.default,
|
|
373
335
|
stringArrayMap: StringArrayMapEditor,
|
|
374
336
|
numberMap: NumberMapEditor,
|
|
375
337
|
number: NumberEditor,
|
|
376
338
|
integer: IntegerEditor,
|
|
377
339
|
color: _ColorEditor.default,
|
|
378
|
-
stringEnum:
|
|
379
|
-
boolean:
|
|
340
|
+
stringEnum: StringEnumEditor,
|
|
341
|
+
boolean: BooleanEditor,
|
|
380
342
|
frozen: _JsonEditor.default,
|
|
381
343
|
configRelationships: _JsonEditor.default
|
|
382
344
|
};
|
|
@@ -400,9 +362,9 @@ var useSlotEditorStyles = (0, _core.makeStyles)(function (theme) {
|
|
|
400
362
|
};
|
|
401
363
|
});
|
|
402
364
|
exports.useSlotEditorStyles = useSlotEditorStyles;
|
|
403
|
-
var SlotEditor = (0, _mobxReact.observer)(function (
|
|
404
|
-
var slot =
|
|
405
|
-
slotSchema =
|
|
365
|
+
var SlotEditor = (0, _mobxReact.observer)(function (_ref14) {
|
|
366
|
+
var slot = _ref14.slot,
|
|
367
|
+
slotSchema = _ref14.slotSchema;
|
|
406
368
|
var classes = useSlotEditorStyles();
|
|
407
369
|
var type = slot.type;
|
|
408
370
|
var ValueComponent = slot.isCallback ? _CallbackEditor.default : valueComponents[type];
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
/// <reference types="react" />
|
|
2
|
+
declare const StringArrayEditor: ({ slot, }: {
|
|
3
|
+
slot: {
|
|
4
|
+
name: string;
|
|
5
|
+
value: string[];
|
|
6
|
+
setAtIndex: Function;
|
|
7
|
+
removeAtIndex: Function;
|
|
8
|
+
add: Function;
|
|
9
|
+
description: string;
|
|
10
|
+
};
|
|
11
|
+
}) => JSX.Element;
|
|
12
|
+
export default StringArrayEditor;
|
|
@@ -0,0 +1,110 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
|
+
|
|
5
|
+
var _typeof = require("@babel/runtime/helpers/typeof");
|
|
6
|
+
|
|
7
|
+
Object.defineProperty(exports, "__esModule", {
|
|
8
|
+
value: true
|
|
9
|
+
});
|
|
10
|
+
exports.default = void 0;
|
|
11
|
+
|
|
12
|
+
var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
|
|
13
|
+
|
|
14
|
+
var _react = _interopRequireWildcard(require("react"));
|
|
15
|
+
|
|
16
|
+
var _mobxReact = require("mobx-react");
|
|
17
|
+
|
|
18
|
+
var _core = require("@material-ui/core");
|
|
19
|
+
|
|
20
|
+
var _Delete = _interopRequireDefault(require("@material-ui/icons/Delete"));
|
|
21
|
+
|
|
22
|
+
function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
|
|
23
|
+
|
|
24
|
+
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; }
|
|
25
|
+
|
|
26
|
+
// icons
|
|
27
|
+
var StringArrayEditor = (0, _mobxReact.observer)(function (_ref) {
|
|
28
|
+
var slot = _ref.slot;
|
|
29
|
+
|
|
30
|
+
var _useState = (0, _react.useState)(''),
|
|
31
|
+
_useState2 = (0, _slicedToArray2.default)(_useState, 2),
|
|
32
|
+
value = _useState2[0],
|
|
33
|
+
setValue = _useState2[1];
|
|
34
|
+
|
|
35
|
+
var _useState3 = (0, _react.useState)(false),
|
|
36
|
+
_useState4 = (0, _slicedToArray2.default)(_useState3, 2),
|
|
37
|
+
addNew = _useState4[0],
|
|
38
|
+
setAddNew = _useState4[1];
|
|
39
|
+
|
|
40
|
+
return /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, slot.name ? /*#__PURE__*/_react.default.createElement(_core.InputLabel, null, slot.name) : null, /*#__PURE__*/_react.default.createElement(_core.List, {
|
|
41
|
+
disablePadding: true
|
|
42
|
+
}, slot.value.map(function (val, idx) {
|
|
43
|
+
return /*#__PURE__*/_react.default.createElement(_core.ListItem, {
|
|
44
|
+
key: idx,
|
|
45
|
+
disableGutters: true
|
|
46
|
+
}, /*#__PURE__*/_react.default.createElement(_core.TextField, {
|
|
47
|
+
value: val,
|
|
48
|
+
onChange: function onChange(evt) {
|
|
49
|
+
return slot.setAtIndex(idx, evt.target.value);
|
|
50
|
+
},
|
|
51
|
+
InputProps: {
|
|
52
|
+
endAdornment: /*#__PURE__*/_react.default.createElement(_core.InputAdornment, {
|
|
53
|
+
position: "end"
|
|
54
|
+
}, /*#__PURE__*/_react.default.createElement(_core.IconButton, {
|
|
55
|
+
color: "secondary",
|
|
56
|
+
onClick: function onClick() {
|
|
57
|
+
return slot.removeAtIndex(idx);
|
|
58
|
+
}
|
|
59
|
+
}, /*#__PURE__*/_react.default.createElement(_Delete.default, null)))
|
|
60
|
+
}
|
|
61
|
+
}));
|
|
62
|
+
}), addNew ? /*#__PURE__*/_react.default.createElement(_core.ListItem, {
|
|
63
|
+
disableGutters: true
|
|
64
|
+
}, /*#__PURE__*/_react.default.createElement(_core.TextField, {
|
|
65
|
+
value: value,
|
|
66
|
+
placeholder: "add new",
|
|
67
|
+
onChange: function onChange(event) {
|
|
68
|
+
return setValue(event.target.value);
|
|
69
|
+
},
|
|
70
|
+
InputProps: {
|
|
71
|
+
endAdornment: /*#__PURE__*/_react.default.createElement(_core.InputAdornment, {
|
|
72
|
+
position: "end"
|
|
73
|
+
}, /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, /*#__PURE__*/_react.default.createElement(_core.Button, {
|
|
74
|
+
color: "primary",
|
|
75
|
+
variant: "contained",
|
|
76
|
+
style: {
|
|
77
|
+
margin: 2
|
|
78
|
+
},
|
|
79
|
+
"data-testid": "stringArrayAdd-".concat(slot.name),
|
|
80
|
+
onClick: function onClick() {
|
|
81
|
+
setAddNew(false);
|
|
82
|
+
slot.add(value);
|
|
83
|
+
setValue('');
|
|
84
|
+
}
|
|
85
|
+
}, "OK"), /*#__PURE__*/_react.default.createElement(_core.Button, {
|
|
86
|
+
color: "primary",
|
|
87
|
+
variant: "contained",
|
|
88
|
+
style: {
|
|
89
|
+
margin: 2
|
|
90
|
+
},
|
|
91
|
+
onClick: function onClick() {
|
|
92
|
+
setAddNew(false);
|
|
93
|
+
setValue('');
|
|
94
|
+
}
|
|
95
|
+
}, "Cancel")))
|
|
96
|
+
}
|
|
97
|
+
})) : null, /*#__PURE__*/_react.default.createElement(_core.Button, {
|
|
98
|
+
color: "primary",
|
|
99
|
+
variant: "contained",
|
|
100
|
+
style: {
|
|
101
|
+
margin: 4
|
|
102
|
+
},
|
|
103
|
+
disabled: addNew,
|
|
104
|
+
onClick: function onClick() {
|
|
105
|
+
return setAddNew(true);
|
|
106
|
+
}
|
|
107
|
+
}, "Add item")), /*#__PURE__*/_react.default.createElement(_core.FormHelperText, null, slot.description));
|
|
108
|
+
});
|
|
109
|
+
var _default = StringArrayEditor;
|
|
110
|
+
exports.default = _default;
|
|
@@ -26,7 +26,7 @@ exports.configSchema = configSchema;
|
|
|
26
26
|
var HeadingComponent = (0, _mobxReact.observer)(function (_ref) {
|
|
27
27
|
var model = _ref.model;
|
|
28
28
|
|
|
29
|
-
if (model && model.target) {
|
|
29
|
+
if (model !== null && model !== void 0 && model.target) {
|
|
30
30
|
if (model.target.type) {
|
|
31
31
|
return "".concat(model.target.type, " settings");
|
|
32
32
|
}
|
|
@@ -34,7 +34,7 @@ var HeadingComponent = (0, _mobxReact.observer)(function (_ref) {
|
|
|
34
34
|
if ((0, _mobxStateTree.isStateTreeNode)(model.target)) {
|
|
35
35
|
var type = (0, _mobxStateTree.getType)(model.target);
|
|
36
36
|
|
|
37
|
-
if (type && type.name) {
|
|
37
|
+
if (type !== null && type !== void 0 && type.name) {
|
|
38
38
|
return "".concat(type.name.replace('ConfigurationSchema', ''), " settings");
|
|
39
39
|
}
|
|
40
40
|
}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@jbrowse/plugin-config",
|
|
3
|
-
"version": "1.7.
|
|
3
|
+
"version": "1.7.11",
|
|
4
4
|
"description": "JBrowse 2 config utilities",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"jbrowse",
|
|
@@ -53,5 +53,5 @@
|
|
|
53
53
|
"publishConfig": {
|
|
54
54
|
"access": "public"
|
|
55
55
|
},
|
|
56
|
-
"gitHead": "
|
|
56
|
+
"gitHead": "5c21beb48a21f08b0091d293f09ac99174c48f77"
|
|
57
57
|
}
|
|
@@ -12,20 +12,21 @@ const fontSize = '12px'
|
|
|
12
12
|
const fontFamily =
|
|
13
13
|
'Consolas, "Andale Mono WT", "Andale Mono", "Lucida Console", "Lucida Sans Typewriter", "DejaVu Sans Mono", "Bitstream Vera Sans Mono", "Liberation Mono", "Nimbus Mono L", Monaco, "Courier New", Courier, monospace'
|
|
14
14
|
|
|
15
|
-
const useStyles = makeStyles({
|
|
15
|
+
const useStyles = makeStyles(theme => ({
|
|
16
16
|
callbackEditor: {
|
|
17
17
|
fontFamily,
|
|
18
18
|
fontSize,
|
|
19
|
+
background: theme.palette.background.default,
|
|
19
20
|
overflowX: 'auto',
|
|
20
21
|
marginTop: '16px',
|
|
21
|
-
|
|
22
|
+
border: '1px solid rgba(0,0,0,0.42)',
|
|
22
23
|
},
|
|
23
24
|
syntaxHighlighter: {
|
|
24
25
|
margin: 0,
|
|
25
26
|
fontFamily,
|
|
26
27
|
fontSize,
|
|
27
28
|
},
|
|
28
|
-
})
|
|
29
|
+
}))
|
|
29
30
|
|
|
30
31
|
// eslint-disable-next-line react/prop-types
|
|
31
32
|
export default function CodeEditor({ contents, setContents }) {
|