@json-editor/json-editor 2.9.1 → 2.10.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/CHANGELOG.md +23 -0
- package/README.md +52 -1
- package/dist/jsoneditor.js +1 -1
- package/dist/jsoneditor.js.LICENSE.txt +1 -1
- package/dist/nonmin/jsoneditor.js +462 -124
- package/dist/nonmin/jsoneditor.js.map +1 -1
- package/docs/css_integration.html +17 -15
- package/docs/custom-editor.html +92 -0
- package/docs/index.html +4 -1
- package/docs/meta_schema.json +426 -398
- package/package.json +1 -1
- package/src/defaults.js +15 -1
- package/src/editor.js +23 -6
- package/src/editors/multiple.js +76 -8
- package/src/editors/object.js +0 -1
- package/src/iconlibs/bootstrap.js +28 -0
- package/src/iconlibs/index.js +2 -0
- package/src/resolvers.js +5 -2
- package/src/schemaloader.js +3 -1
- package/src/themes/bootstrap3.js +1 -1
- package/src/utilities.js +32 -0
- package/src/validator.js +93 -0
- package/tests/codeceptjs/constrains/contains_test.js +36 -0
- package/tests/codeceptjs/constrains/dependentSchemas_test.js +15 -0
- package/tests/codeceptjs/constrains/if-then-else_test.js +186 -0
- package/tests/codeceptjs/core_test.js +35 -27
- package/tests/codeceptjs/editors/advanced_test.js +11 -10
- package/tests/codeceptjs/editors/array_any_of_test.js +35 -35
- package/tests/codeceptjs/editors/array_test.js +757 -767
- package/tests/codeceptjs/editors/autocomplete_test.js +1 -3
- package/tests/codeceptjs/editors/button_test.js +25 -24
- package/tests/codeceptjs/editors/checkbox_test.js +17 -16
- package/tests/codeceptjs/editors/colorpicker_test.js +18 -16
- package/tests/codeceptjs/editors/datetime_test.js +7 -7
- package/tests/codeceptjs/editors/inheritance_test.js +7 -8
- package/tests/codeceptjs/editors/integer_test.js +71 -72
- package/tests/codeceptjs/editors/jodit_test.js +16 -17
- package/tests/codeceptjs/editors/multiselect_test.js +5 -5
- package/tests/codeceptjs/editors/number_test.js +64 -65
- package/tests/codeceptjs/editors/object_test.js +39 -13
- package/tests/codeceptjs/editors/option-no_default_values_test.js +4 -4
- package/tests/codeceptjs/editors/programmatic-changes_test.js +2 -3
- package/tests/codeceptjs/editors/range_test.js +1 -3
- package/tests/codeceptjs/editors/select_test.js +3 -5
- package/tests/codeceptjs/editors/stepper_test.js +5 -7
- package/tests/codeceptjs/editors/string_test.js +8 -8
- package/tests/codeceptjs/editors/table-confirm-delete_test.js +7 -9
- package/tests/codeceptjs/editors/uuid_test.js +10 -10
- package/tests/codeceptjs/editors/validation_test.js +1 -1
- package/tests/codeceptjs/{editors/issues → issues}/issue-gh-1133_test.js +1 -3
- package/tests/codeceptjs/issues/issue-gh-1158-2_test.js +10 -0
- package/tests/codeceptjs/{editors/issues → issues}/issue-gh-1158_test.js +0 -2
- package/tests/codeceptjs/issues/issue-gh-1164_test.js +10 -0
- package/tests/codeceptjs/issues/issue-gh-1211_test.js +17 -0
- package/tests/codeceptjs/{editors/issues → issues}/issue-gh-1257_test.js +2 -4
- package/tests/codeceptjs/issues/issue-gh-1338_test.js +16 -0
- package/tests/codeceptjs/issues/issue-gh-1347_test.js +8 -0
- package/tests/codeceptjs/issues/issue-gh-795_test.js +13 -0
- package/tests/codeceptjs/issues/issue-gh-810_test.js +52 -0
- package/tests/codeceptjs/issues/issue-gh-812_test.js +25 -0
- package/tests/codeceptjs/meta-schema_test.js +10 -10
- package/tests/codeceptjs/schemaloader_test.js +7 -7
- package/tests/codeceptjs/themes_test.js +31 -0
- package/tests/pages/autocomplete.html +1 -0
- package/tests/pages/contains.html +38 -0
- package/tests/pages/dependentSchemas.html +52 -0
- package/tests/pages/if-else.html +57 -0
- package/tests/pages/if-then-else-allOf.html +117 -0
- package/tests/pages/if-then-else-disable-fields.html +69 -0
- package/tests/pages/if-then-else.html +64 -0
- package/tests/pages/if-then.html +57 -0
- package/tests/pages/issues/issue-gh-1158-2.html +189 -0
- package/tests/pages/issues/issue-gh-1165.html +63 -0
- package/tests/pages/issues/issue-gh-1165.json +8 -0
- package/tests/pages/issues/issue-gh-1211.html +1022 -0
- package/tests/pages/issues/issue-gh-1338.html +74 -0
- package/tests/pages/issues/issue-gh-1347.html +142 -0
- package/tests/pages/issues/issue-gh-795.html +58 -0
- package/tests/pages/issues/issue-gh-810.html +149 -0
- package/tests/pages/keep_only_existing_values.html +80 -0
- package/tests/pages/maxContains.html +39 -0
- package/tests/pages/meta-schema.html +28 -0
- package/tests/pages/meta_schema.json +426 -398
- package/tests/pages/minContains.html +39 -0
- package/tests/pages/option-dependencies.html +106 -0
- package/tests/pages/themes.html +3 -1
- package/tests/unit/core.spec.js +2 -5
- package/tests/codeceptjs/editors/issues/issue-gh-1164_test.js +0 -12
- package/tests/codeceptjs/editors/issues/issue-gh-812_test.js +0 -32
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,28 @@
|
|
|
1
1
|
### Unreleased
|
|
2
2
|
|
|
3
|
+
### 2.10.1
|
|
4
|
+
|
|
5
|
+
- Added keep_only_existing_values option
|
|
6
|
+
- Fixed if-then-else edge case bug with disabled fields
|
|
7
|
+
|
|
8
|
+
### 2.10.0
|
|
9
|
+
|
|
10
|
+
- Fixed schema loader bug and added test for relative issues
|
|
11
|
+
- Using multiple for schemas with if-then-else
|
|
12
|
+
- Added support for shell script highlighting
|
|
13
|
+
- Added support for contains, minContains and maxContains constrains
|
|
14
|
+
- Added support for if-then-else constrains
|
|
15
|
+
- Added support for dependentSchemas constrains
|
|
16
|
+
- Added support for absolute paths in dependencies
|
|
17
|
+
- Added support for bootstrap icons
|
|
18
|
+
- Added custom editor example page
|
|
19
|
+
- Added bootstrap 5 theme option in example page
|
|
20
|
+
- Fixed property checkboxes display
|
|
21
|
+
- Updated array delete message
|
|
22
|
+
- Refactored tests with codeceptjs native waitForValue()
|
|
23
|
+
- Fixed bootstrap 3 import warnings
|
|
24
|
+
- Updated autocomplete example with library css
|
|
25
|
+
|
|
3
26
|
### 2.9.1
|
|
4
27
|
|
|
5
28
|
- Fixed past merge
|
package/README.md
CHANGED
|
@@ -240,6 +240,11 @@ Here are all the available options:
|
|
|
240
240
|
<td>If <code>true</code>, makes oneOf copy properties over when switching.</td>
|
|
241
241
|
<td><code>true</code></td>
|
|
242
242
|
</tr>
|
|
243
|
+
<tr>
|
|
244
|
+
<td>keep_only_existing_values</td>
|
|
245
|
+
<td>If <code>true</code>, copy only existing properties over when switching.</td>
|
|
246
|
+
<td><code>false</code></td>
|
|
247
|
+
</tr>
|
|
243
248
|
<tr>
|
|
244
249
|
<td>schema</td>
|
|
245
250
|
<td>A valid JSON Schema to use for the editor. Version 3 and Version 4 of the draft specification are supported.</td>
|
|
@@ -462,6 +467,7 @@ The currently supported themes are:
|
|
|
462
467
|
|
|
463
468
|
* barebones
|
|
464
469
|
* html (the default)
|
|
470
|
+
* bootstrap3
|
|
465
471
|
* bootstrap4
|
|
466
472
|
* bootstrap5
|
|
467
473
|
* spectre
|
|
@@ -471,7 +477,6 @@ Note: The following themes have NOT been updated to 2.x format and will be remov
|
|
|
471
477
|
Old 1.x themes displays the message **"This is an old JSON-Editor 1.x Theme and might not display elements correctly when used with the 2.x version"** at the bottom of the form output.
|
|
472
478
|
|
|
473
479
|
* bootstrap2
|
|
474
|
-
* bootstrap3
|
|
475
480
|
* foundation3
|
|
476
481
|
* foundation4
|
|
477
482
|
* foundation5
|
|
@@ -509,6 +514,7 @@ The supported icon libs are:
|
|
|
509
514
|
* fontawesome5
|
|
510
515
|
* openiconic
|
|
511
516
|
* spectre
|
|
517
|
+
* bootstrap
|
|
512
518
|
|
|
513
519
|
By default, no icons are used. Just like the CSS theme, you can set the icon lib globally or when initializing:
|
|
514
520
|
|
|
@@ -1247,6 +1253,51 @@ Here's an example schema:
|
|
|
1247
1253
|
}
|
|
1248
1254
|
```
|
|
1249
1255
|
|
|
1256
|
+
Keys can also be an absolute path like `root.property.nested_property`
|
|
1257
|
+
|
|
1258
|
+
```json
|
|
1259
|
+
{
|
|
1260
|
+
"title": "Person",
|
|
1261
|
+
"type": "object",
|
|
1262
|
+
"required": [
|
|
1263
|
+
"gender"
|
|
1264
|
+
],
|
|
1265
|
+
"properties": {
|
|
1266
|
+
"gender": {
|
|
1267
|
+
"title": "Gender",
|
|
1268
|
+
"type": "string",
|
|
1269
|
+
"enum": [
|
|
1270
|
+
"female",
|
|
1271
|
+
"male"
|
|
1272
|
+
]
|
|
1273
|
+
},
|
|
1274
|
+
"age": {
|
|
1275
|
+
"type": "object",
|
|
1276
|
+
"properties": {
|
|
1277
|
+
"maleSpecificAge": {
|
|
1278
|
+
"type": "string",
|
|
1279
|
+
"title": "Male specific age question?",
|
|
1280
|
+
"options": {
|
|
1281
|
+
"dependencies": {
|
|
1282
|
+
"root.gender": "male"
|
|
1283
|
+
}
|
|
1284
|
+
}
|
|
1285
|
+
},
|
|
1286
|
+
"femaleSpecificAge": {
|
|
1287
|
+
"type": "string",
|
|
1288
|
+
"title": "Female specific age question?",
|
|
1289
|
+
"options": {
|
|
1290
|
+
"dependencies": {
|
|
1291
|
+
"root.gender": "female"
|
|
1292
|
+
}
|
|
1293
|
+
}
|
|
1294
|
+
}
|
|
1295
|
+
}
|
|
1296
|
+
}
|
|
1297
|
+
}
|
|
1298
|
+
}
|
|
1299
|
+
```
|
|
1300
|
+
|
|
1250
1301
|
The `dependencies` keyword from the JSON Schema specification is not nearly flexible enough to handle most use cases,
|
|
1251
1302
|
so JSON Editor introduces a couple custom keywords that help in this regard.
|
|
1252
1303
|
|