@json-editor/json-editor 2.9.1 → 2.10.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.
Files changed (87) hide show
  1. package/CHANGELOG.md +18 -0
  2. package/README.md +47 -1
  3. package/dist/jsoneditor.js +1 -1
  4. package/dist/jsoneditor.js.LICENSE.txt +1 -1
  5. package/dist/nonmin/jsoneditor.js +445 -124
  6. package/dist/nonmin/jsoneditor.js.map +1 -1
  7. package/docs/css_integration.html +17 -15
  8. package/docs/custom-editor.html +92 -0
  9. package/docs/index.html +4 -1
  10. package/docs/meta_schema.json +426 -398
  11. package/package.json +1 -1
  12. package/src/defaults.js +15 -1
  13. package/src/editor.js +23 -6
  14. package/src/editors/multiple.js +64 -7
  15. package/src/editors/object.js +0 -1
  16. package/src/iconlibs/bootstrap.js +28 -0
  17. package/src/iconlibs/index.js +2 -0
  18. package/src/resolvers.js +5 -2
  19. package/src/schemaloader.js +3 -1
  20. package/src/themes/bootstrap3.js +1 -1
  21. package/src/utilities.js +22 -0
  22. package/src/validator.js +93 -0
  23. package/tests/codeceptjs/constrains/contains_test.js +36 -0
  24. package/tests/codeceptjs/constrains/dependentSchemas_test.js +15 -0
  25. package/tests/codeceptjs/constrains/if-then-else_test.js +143 -0
  26. package/tests/codeceptjs/core_test.js +27 -27
  27. package/tests/codeceptjs/editors/advanced_test.js +11 -10
  28. package/tests/codeceptjs/editors/array_any_of_test.js +35 -35
  29. package/tests/codeceptjs/editors/array_test.js +757 -767
  30. package/tests/codeceptjs/editors/autocomplete_test.js +1 -3
  31. package/tests/codeceptjs/editors/button_test.js +25 -24
  32. package/tests/codeceptjs/editors/checkbox_test.js +17 -16
  33. package/tests/codeceptjs/editors/colorpicker_test.js +18 -16
  34. package/tests/codeceptjs/editors/datetime_test.js +7 -7
  35. package/tests/codeceptjs/editors/inheritance_test.js +7 -8
  36. package/tests/codeceptjs/editors/integer_test.js +71 -72
  37. package/tests/codeceptjs/editors/jodit_test.js +16 -17
  38. package/tests/codeceptjs/editors/multiselect_test.js +5 -5
  39. package/tests/codeceptjs/editors/number_test.js +64 -65
  40. package/tests/codeceptjs/editors/object_test.js +39 -13
  41. package/tests/codeceptjs/editors/option-no_default_values_test.js +4 -4
  42. package/tests/codeceptjs/editors/programmatic-changes_test.js +2 -3
  43. package/tests/codeceptjs/editors/range_test.js +1 -3
  44. package/tests/codeceptjs/editors/select_test.js +3 -5
  45. package/tests/codeceptjs/editors/stepper_test.js +5 -7
  46. package/tests/codeceptjs/editors/string_test.js +8 -8
  47. package/tests/codeceptjs/editors/table-confirm-delete_test.js +7 -9
  48. package/tests/codeceptjs/editors/uuid_test.js +10 -10
  49. package/tests/codeceptjs/editors/validation_test.js +1 -1
  50. package/tests/codeceptjs/{editors/issues → issues}/issue-gh-1133_test.js +1 -3
  51. package/tests/codeceptjs/issues/issue-gh-1158-2_test.js +10 -0
  52. package/tests/codeceptjs/{editors/issues → issues}/issue-gh-1158_test.js +0 -2
  53. package/tests/codeceptjs/issues/issue-gh-1164_test.js +10 -0
  54. package/tests/codeceptjs/issues/issue-gh-1211_test.js +17 -0
  55. package/tests/codeceptjs/{editors/issues → issues}/issue-gh-1257_test.js +2 -4
  56. package/tests/codeceptjs/issues/issue-gh-1338_test.js +16 -0
  57. package/tests/codeceptjs/issues/issue-gh-1347_test.js +8 -0
  58. package/tests/codeceptjs/issues/issue-gh-795_test.js +13 -0
  59. package/tests/codeceptjs/issues/issue-gh-810_test.js +52 -0
  60. package/tests/codeceptjs/issues/issue-gh-812_test.js +25 -0
  61. package/tests/codeceptjs/meta-schema_test.js +10 -10
  62. package/tests/codeceptjs/schemaloader_test.js +7 -7
  63. package/tests/codeceptjs/themes_test.js +31 -0
  64. package/tests/pages/autocomplete.html +1 -0
  65. package/tests/pages/contains.html +38 -0
  66. package/tests/pages/dependentSchemas.html +52 -0
  67. package/tests/pages/if-else.html +57 -0
  68. package/tests/pages/if-then-else-allOf.html +117 -0
  69. package/tests/pages/if-then-else.html +64 -0
  70. package/tests/pages/if-then.html +57 -0
  71. package/tests/pages/issues/issue-gh-1158-2.html +189 -0
  72. package/tests/pages/issues/issue-gh-1165.html +63 -0
  73. package/tests/pages/issues/issue-gh-1165.json +8 -0
  74. package/tests/pages/issues/issue-gh-1211.html +1022 -0
  75. package/tests/pages/issues/issue-gh-1338.html +74 -0
  76. package/tests/pages/issues/issue-gh-1347.html +142 -0
  77. package/tests/pages/issues/issue-gh-795.html +58 -0
  78. package/tests/pages/issues/issue-gh-810.html +149 -0
  79. package/tests/pages/maxContains.html +39 -0
  80. package/tests/pages/meta-schema.html +28 -0
  81. package/tests/pages/meta_schema.json +426 -398
  82. package/tests/pages/minContains.html +39 -0
  83. package/tests/pages/option-dependencies.html +106 -0
  84. package/tests/pages/themes.html +3 -1
  85. package/tests/unit/core.spec.js +2 -5
  86. package/tests/codeceptjs/editors/issues/issue-gh-1164_test.js +0 -12
  87. package/tests/codeceptjs/editors/issues/issue-gh-812_test.js +0 -32
package/CHANGELOG.md CHANGED
@@ -1,5 +1,23 @@
1
1
  ### Unreleased
2
2
 
3
+ ### 2.10.0
4
+
5
+ - Fixed schema loader bug and added test for relative issues
6
+ - Using multiple for schemas with if-then-else
7
+ - Added support for shell script highlighting
8
+ - Added support for contains, minContains and maxContains constrains
9
+ - Added support for if-then-else constrains
10
+ - Added support for dependentSchemas constrains
11
+ - Added support for absolute paths in dependencies
12
+ - Added support for bootstrap icons
13
+ - Added custom editor example page
14
+ - Added bootstrap 5 theme option in example page
15
+ - Fixed property checkboxes display
16
+ - Updated array delete message
17
+ - Refactored tests with codeceptjs native waitForValue()
18
+ - Fixed bootstrap 3 import warnings
19
+ - Updated autocomplete example with library css
20
+
3
21
  ### 2.9.1
4
22
 
5
23
  - Fixed past merge
package/README.md CHANGED
@@ -462,6 +462,7 @@ The currently supported themes are:
462
462
 
463
463
  * barebones
464
464
  * html (the default)
465
+ * bootstrap3
465
466
  * bootstrap4
466
467
  * bootstrap5
467
468
  * spectre
@@ -471,7 +472,6 @@ Note: The following themes have NOT been updated to 2.x format and will be remov
471
472
  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
473
 
473
474
  * bootstrap2
474
- * bootstrap3
475
475
  * foundation3
476
476
  * foundation4
477
477
  * foundation5
@@ -509,6 +509,7 @@ The supported icon libs are:
509
509
  * fontawesome5
510
510
  * openiconic
511
511
  * spectre
512
+ * bootstrap
512
513
 
513
514
  By default, no icons are used. Just like the CSS theme, you can set the icon lib globally or when initializing:
514
515
 
@@ -1247,6 +1248,51 @@ Here's an example schema:
1247
1248
  }
1248
1249
  ```
1249
1250
 
1251
+ Keys can also be an absolute path like `root.property.nested_property`
1252
+
1253
+ ```json
1254
+ {
1255
+ "title": "Person",
1256
+ "type": "object",
1257
+ "required": [
1258
+ "gender"
1259
+ ],
1260
+ "properties": {
1261
+ "gender": {
1262
+ "title": "Gender",
1263
+ "type": "string",
1264
+ "enum": [
1265
+ "female",
1266
+ "male"
1267
+ ]
1268
+ },
1269
+ "age": {
1270
+ "type": "object",
1271
+ "properties": {
1272
+ "maleSpecificAge": {
1273
+ "type": "string",
1274
+ "title": "Male specific age question?",
1275
+ "options": {
1276
+ "dependencies": {
1277
+ "root.gender": "male"
1278
+ }
1279
+ }
1280
+ },
1281
+ "femaleSpecificAge": {
1282
+ "type": "string",
1283
+ "title": "Female specific age question?",
1284
+ "options": {
1285
+ "dependencies": {
1286
+ "root.gender": "female"
1287
+ }
1288
+ }
1289
+ }
1290
+ }
1291
+ }
1292
+ }
1293
+ }
1294
+ ```
1295
+
1250
1296
  The `dependencies` keyword from the JSON Schema specification is not nearly flexible enough to handle most use cases,
1251
1297
  so JSON Editor introduces a couple custom keywords that help in this regard.
1252
1298