@jupyterlab/settingeditor 4.3.4 → 4.4.0-alpha.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/lib/SettingsFormEditor.js +15 -5
- package/lib/SettingsFormEditor.js.map +1 -1
- package/package.json +11 -11
- package/src/SettingsFormEditor.tsx +18 -6
- package/style/base.css +41 -0
|
@@ -57,7 +57,8 @@ export class SettingsFormEditor extends React.Component {
|
|
|
57
57
|
filteredSchema: this.props.settings.schema,
|
|
58
58
|
formContext: {
|
|
59
59
|
defaultFormData: this.props.settings.default(),
|
|
60
|
-
settings: this.props.settings
|
|
60
|
+
settings: this.props.settings,
|
|
61
|
+
schema: JSONExt.deepCopy(this.props.settings.schema)
|
|
61
62
|
}
|
|
62
63
|
};
|
|
63
64
|
this.handleChange = this.handleChange.bind(this);
|
|
@@ -71,12 +72,13 @@ export class SettingsFormEditor extends React.Component {
|
|
|
71
72
|
this._setUiSchema(prevProps.renderers[prevProps.settings.id]);
|
|
72
73
|
this._setFilteredSchema(prevProps.filteredValues);
|
|
73
74
|
if (prevProps.settings !== this.props.settings) {
|
|
74
|
-
this.setState({
|
|
75
|
+
this.setState(previousState => ({
|
|
75
76
|
formContext: {
|
|
77
|
+
...previousState.formContext,
|
|
76
78
|
settings: this.props.settings,
|
|
77
79
|
defaultFormData: this.props.settings.default()
|
|
78
80
|
}
|
|
79
|
-
});
|
|
81
|
+
}));
|
|
80
82
|
}
|
|
81
83
|
}
|
|
82
84
|
componentWillUnmount() {
|
|
@@ -136,8 +138,10 @@ export class SettingsFormEditor extends React.Component {
|
|
|
136
138
|
}
|
|
137
139
|
_setFilteredSchema(prevFilteredValues) {
|
|
138
140
|
var _a, _b, _c, _d;
|
|
141
|
+
// Update the filtered value if the filter or the schema has changed.
|
|
139
142
|
if (prevFilteredValues === undefined ||
|
|
140
|
-
!JSONExt.deepEqual(prevFilteredValues, this.props.filteredValues)
|
|
143
|
+
!JSONExt.deepEqual(prevFilteredValues, this.props.filteredValues) ||
|
|
144
|
+
!JSONExt.deepEqual(this.state.formContext.schema, this.props.settings.schema)) {
|
|
141
145
|
/**
|
|
142
146
|
* Only show fields that match search value.
|
|
143
147
|
*/
|
|
@@ -149,7 +153,13 @@ export class SettingsFormEditor extends React.Component {
|
|
|
149
153
|
}
|
|
150
154
|
}
|
|
151
155
|
}
|
|
152
|
-
this.setState(
|
|
156
|
+
this.setState(previousState => ({
|
|
157
|
+
filteredSchema,
|
|
158
|
+
formContext: {
|
|
159
|
+
...previousState.formContext,
|
|
160
|
+
schema: JSONExt.deepCopy(this.props.settings.schema)
|
|
161
|
+
}
|
|
162
|
+
}));
|
|
153
163
|
}
|
|
154
164
|
}
|
|
155
165
|
_getFilteredFormData(filteredSchema) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SettingsFormEditor.js","sourceRoot":"","sources":["../src/SettingsFormEditor.tsx"],"names":[],"mappings":"AAAA;;;+EAG+E;AAE/E,OAAO,KAAK,MAAM,OAAO,CAAC;AAE1B,OAAO,EAAE,gBAAgB,EAAE,MAAM,sBAAsB,CAAC;AAGxD,OAAO,EAAE,aAAa,EAAE,MAAM,2BAA2B,CAAC;AAC1D,OAAO,EACL,OAAO,EAIR,MAAM,mBAAmB,CAAC;AAC3B,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAE5C,OAAO,aAAa,MAAM,sBAAsB,CAAC;AAGjD,OAAO,EAAE,MAAM,EAAE,MAAM,2BAA2B,CAAC;AAEnD;;GAEG;AACH,MAAM,gBAAgB,GAAG,CAAC,CAAC;AA0E3B;;;GAGG;AACH,MAAM,OAAO,kBAAmB,SAAQ,KAAK,CAAC,SAG7C;IACC,YAAY,KAAgC;QAC1C,KAAK,CAAC,KAAK,CAAC,CAAC;
|
|
1
|
+
{"version":3,"file":"SettingsFormEditor.js","sourceRoot":"","sources":["../src/SettingsFormEditor.tsx"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@jupyterlab/settingeditor",
|
|
3
|
-
"version": "4.
|
|
3
|
+
"version": "4.4.0-alpha.1",
|
|
4
4
|
"description": "The JupyterLab default setting editor interface",
|
|
5
5
|
"homepage": "https://github.com/jupyterlab/jupyterlab",
|
|
6
6
|
"bugs": {
|
|
@@ -41,15 +41,15 @@
|
|
|
41
41
|
"watch": "tsc -b --watch"
|
|
42
42
|
},
|
|
43
43
|
"dependencies": {
|
|
44
|
-
"@jupyterlab/application": "^4.
|
|
45
|
-
"@jupyterlab/apputils": "^4.
|
|
46
|
-
"@jupyterlab/codeeditor": "^4.
|
|
47
|
-
"@jupyterlab/inspector": "^4.
|
|
48
|
-
"@jupyterlab/rendermime": "^4.
|
|
49
|
-
"@jupyterlab/settingregistry": "^4.
|
|
50
|
-
"@jupyterlab/statedb": "^4.
|
|
51
|
-
"@jupyterlab/translation": "^4.
|
|
52
|
-
"@jupyterlab/ui-components": "^4.
|
|
44
|
+
"@jupyterlab/application": "^4.4.0-alpha.1",
|
|
45
|
+
"@jupyterlab/apputils": "^4.5.0-alpha.1",
|
|
46
|
+
"@jupyterlab/codeeditor": "^4.4.0-alpha.1",
|
|
47
|
+
"@jupyterlab/inspector": "^4.4.0-alpha.1",
|
|
48
|
+
"@jupyterlab/rendermime": "^4.4.0-alpha.1",
|
|
49
|
+
"@jupyterlab/settingregistry": "^4.4.0-alpha.1",
|
|
50
|
+
"@jupyterlab/statedb": "^4.4.0-alpha.1",
|
|
51
|
+
"@jupyterlab/translation": "^4.4.0-alpha.1",
|
|
52
|
+
"@jupyterlab/ui-components": "^4.4.0-alpha.1",
|
|
53
53
|
"@lumino/algorithm": "^2.0.2",
|
|
54
54
|
"@lumino/commands": "^2.3.1",
|
|
55
55
|
"@lumino/coreutils": "^2.2.0",
|
|
@@ -65,7 +65,7 @@
|
|
|
65
65
|
"react": "^18.2.0"
|
|
66
66
|
},
|
|
67
67
|
"devDependencies": {
|
|
68
|
-
"@jupyterlab/testing": "^4.
|
|
68
|
+
"@jupyterlab/testing": "^4.4.0-alpha.1",
|
|
69
69
|
"@types/jest": "^29.2.0",
|
|
70
70
|
"@types/react": "^18.0.26",
|
|
71
71
|
"@types/react-test-renderer": "^18.0.0",
|
|
@@ -118,7 +118,8 @@ export class SettingsFormEditor extends React.Component<
|
|
|
118
118
|
filteredSchema: this.props.settings.schema,
|
|
119
119
|
formContext: {
|
|
120
120
|
defaultFormData: this.props.settings.default(),
|
|
121
|
-
settings: this.props.settings
|
|
121
|
+
settings: this.props.settings,
|
|
122
|
+
schema: JSONExt.deepCopy(this.props.settings.schema)
|
|
122
123
|
}
|
|
123
124
|
};
|
|
124
125
|
this.handleChange = this.handleChange.bind(this);
|
|
@@ -135,12 +136,13 @@ export class SettingsFormEditor extends React.Component<
|
|
|
135
136
|
this._setFilteredSchema(prevProps.filteredValues);
|
|
136
137
|
|
|
137
138
|
if (prevProps.settings !== this.props.settings) {
|
|
138
|
-
this.setState({
|
|
139
|
+
this.setState(previousState => ({
|
|
139
140
|
formContext: {
|
|
141
|
+
...previousState.formContext,
|
|
140
142
|
settings: this.props.settings,
|
|
141
143
|
defaultFormData: this.props.settings.default()
|
|
142
144
|
}
|
|
143
|
-
});
|
|
145
|
+
}));
|
|
144
146
|
}
|
|
145
147
|
}
|
|
146
148
|
|
|
@@ -273,9 +275,14 @@ export class SettingsFormEditor extends React.Component<
|
|
|
273
275
|
}
|
|
274
276
|
|
|
275
277
|
private _setFilteredSchema(prevFilteredValues?: string[] | null) {
|
|
278
|
+
// Update the filtered value if the filter or the schema has changed.
|
|
276
279
|
if (
|
|
277
280
|
prevFilteredValues === undefined ||
|
|
278
|
-
!JSONExt.deepEqual(prevFilteredValues, this.props.filteredValues)
|
|
281
|
+
!JSONExt.deepEqual(prevFilteredValues, this.props.filteredValues) ||
|
|
282
|
+
!JSONExt.deepEqual(
|
|
283
|
+
this.state.formContext.schema,
|
|
284
|
+
this.props.settings.schema
|
|
285
|
+
)
|
|
279
286
|
) {
|
|
280
287
|
/**
|
|
281
288
|
* Only show fields that match search value.
|
|
@@ -292,8 +299,13 @@ export class SettingsFormEditor extends React.Component<
|
|
|
292
299
|
}
|
|
293
300
|
}
|
|
294
301
|
}
|
|
295
|
-
|
|
296
|
-
|
|
302
|
+
this.setState(previousState => ({
|
|
303
|
+
filteredSchema,
|
|
304
|
+
formContext: {
|
|
305
|
+
...previousState.formContext,
|
|
306
|
+
schema: JSONExt.deepCopy(this.props.settings.schema)
|
|
307
|
+
}
|
|
308
|
+
}));
|
|
297
309
|
}
|
|
298
310
|
}
|
|
299
311
|
|
package/style/base.css
CHANGED
|
@@ -285,3 +285,44 @@
|
|
|
285
285
|
.jp-SettingsEditor-placeholderContent > h3 {
|
|
286
286
|
margin-bottom: var(--jp-content-heading-margin-bottom);
|
|
287
287
|
}
|
|
288
|
+
|
|
289
|
+
/** Import Settings Widget **/
|
|
290
|
+
.jp-SettingsImport-container {
|
|
291
|
+
padding: 20px;
|
|
292
|
+
}
|
|
293
|
+
|
|
294
|
+
.jp-SettingsImport-header {
|
|
295
|
+
display: flex;
|
|
296
|
+
justify-content: space-between;
|
|
297
|
+
align-items: center;
|
|
298
|
+
}
|
|
299
|
+
|
|
300
|
+
.jp-SettingsImport-title {
|
|
301
|
+
font-size: 1rem;
|
|
302
|
+
font-weight: bold;
|
|
303
|
+
padding: 10px 15px;
|
|
304
|
+
}
|
|
305
|
+
|
|
306
|
+
.jp-SettingsImport-list {
|
|
307
|
+
margin-top: 30px;
|
|
308
|
+
max-height: 400px; /* Limit height for scrollable list */
|
|
309
|
+
overflow-y: auto;
|
|
310
|
+
}
|
|
311
|
+
|
|
312
|
+
.jp-SettingsImport-item {
|
|
313
|
+
display: flex;
|
|
314
|
+
justify-content: space-between;
|
|
315
|
+
align-items: center;
|
|
316
|
+
margin-bottom: 10px;
|
|
317
|
+
border-bottom: 1px solid var(--jp-border-color2);
|
|
318
|
+
padding: 10px 15px;
|
|
319
|
+
cursor: pointer;
|
|
320
|
+
}
|
|
321
|
+
|
|
322
|
+
.jp-SettingsImport-itemKey {
|
|
323
|
+
flex: 1;
|
|
324
|
+
}
|
|
325
|
+
|
|
326
|
+
.jp-SettingsImport-checkbox {
|
|
327
|
+
flex-shrink: 0;
|
|
328
|
+
}
|