@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.
@@ -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({ filteredSchema });
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":"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"}
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.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.3.4",
45
- "@jupyterlab/apputils": "^4.4.4",
46
- "@jupyterlab/codeeditor": "^4.3.4",
47
- "@jupyterlab/inspector": "^4.3.4",
48
- "@jupyterlab/rendermime": "^4.3.4",
49
- "@jupyterlab/settingregistry": "^4.3.4",
50
- "@jupyterlab/statedb": "^4.3.4",
51
- "@jupyterlab/translation": "^4.3.4",
52
- "@jupyterlab/ui-components": "^4.3.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.3.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
- this.setState({ filteredSchema });
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
+ }