@wirenboard/json-editor 2.5.3-wb13

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 (283) hide show
  1. package/.env-dist +2 -0
  2. package/.eslintrc +7 -0
  3. package/.gitattributes +1 -0
  4. package/.github/PULL_REQUEST_TEMPLATE.md +9 -0
  5. package/.github/issue_template +25 -0
  6. package/.github/workflows/build.yml +58 -0
  7. package/.travis.yml +70 -0
  8. package/CHANGELOG.md +915 -0
  9. package/CONTRIBUTING.md +92 -0
  10. package/LICENSE +20 -0
  11. package/Makefile +26 -0
  12. package/README.md +1646 -0
  13. package/README_ADDON.md +573 -0
  14. package/UPGRADING.md +46 -0
  15. package/build/CssToJson.js +55 -0
  16. package/codecept.conf.js +35 -0
  17. package/config/.eslintrc +7 -0
  18. package/config/codeceptjs_helpers.js +139 -0
  19. package/config/helpers.js +10 -0
  20. package/config/karma.conf.js +93 -0
  21. package/config/readme.md +31 -0
  22. package/config/webpack.common.js +75 -0
  23. package/config/webpack.dev.js +15 -0
  24. package/config/webpack.nonmin.js +19 -0
  25. package/config/webpack.prod.js +25 -0
  26. package/dist/jsoneditor.js +14 -0
  27. package/dist/nonmin/jsoneditor.js +29097 -0
  28. package/dist/nonmin/jsoneditor.js.map +1 -0
  29. package/docs/ace_editor.html +56 -0
  30. package/docs/advanced.html +136 -0
  31. package/docs/basic.html +63 -0
  32. package/docs/basic_person.json +26 -0
  33. package/docs/choices.html +86 -0
  34. package/docs/cleave.html +132 -0
  35. package/docs/colorpicker.html +194 -0
  36. package/docs/css_integration.html +135 -0
  37. package/docs/datetime.html +305 -0
  38. package/docs/describedby.html +161 -0
  39. package/docs/enumsource.html +67 -0
  40. package/docs/images/categoriesDemo.png +0 -0
  41. package/docs/images/inheritance_tree.png +0 -0
  42. package/docs/images/jsoneditor.png +0 -0
  43. package/docs/imask.html +192 -0
  44. package/docs/index.html +579 -0
  45. package/docs/materialize_css.html +164 -0
  46. package/docs/meta_schema.json +705 -0
  47. package/docs/multiple_upload_base64.html +65 -0
  48. package/docs/person.json +73 -0
  49. package/docs/polyfills/assign.js +29 -0
  50. package/docs/radio.html +156 -0
  51. package/docs/recursive.html +170 -0
  52. package/docs/select2.html +99 -0
  53. package/docs/selectize.html +100 -0
  54. package/docs/signature.html +42 -0
  55. package/docs/starrating.html +137 -0
  56. package/docs/upload.html +131 -0
  57. package/docs/uuid.html +70 -0
  58. package/docs/wysiwyg.html +56 -0
  59. package/jasmine.json +11 -0
  60. package/json-editor-json-editor-2.5.3-wb13.tgz +0 -0
  61. package/package.json +100 -0
  62. package/release-notes.md +88 -0
  63. package/src/core.js +412 -0
  64. package/src/defaults.js +402 -0
  65. package/src/editor.js +707 -0
  66. package/src/editors/ace.js +89 -0
  67. package/src/editors/array/choices.js +103 -0
  68. package/src/editors/array/select2.js +110 -0
  69. package/src/editors/array/selectize.js +103 -0
  70. package/src/editors/array.css +9 -0
  71. package/src/editors/array.css.js +3 -0
  72. package/src/editors/array.js +818 -0
  73. package/src/editors/autocomplete.js +58 -0
  74. package/src/editors/base64.js +157 -0
  75. package/src/editors/button.js +97 -0
  76. package/src/editors/checkbox.js +95 -0
  77. package/src/editors/choices.css +3 -0
  78. package/src/editors/choices.css.js +3 -0
  79. package/src/editors/choices.js +69 -0
  80. package/src/editors/colorpicker.js +103 -0
  81. package/src/editors/datetime.js +141 -0
  82. package/src/editors/describedby.js +188 -0
  83. package/src/editors/enum.js +136 -0
  84. package/src/editors/hidden.js +127 -0
  85. package/src/editors/index.js +81 -0
  86. package/src/editors/info.js +20 -0
  87. package/src/editors/integer.js +19 -0
  88. package/src/editors/ip.js +36 -0
  89. package/src/editors/jodit.js +64 -0
  90. package/src/editors/multiple.js +409 -0
  91. package/src/editors/multiselect.js +218 -0
  92. package/src/editors/null.js +18 -0
  93. package/src/editors/number.js +51 -0
  94. package/src/editors/object.css +41 -0
  95. package/src/editors/object.css.js +3 -0
  96. package/src/editors/object.js +1290 -0
  97. package/src/editors/radio.js +111 -0
  98. package/src/editors/sceditor.js +72 -0
  99. package/src/editors/select.js +370 -0
  100. package/src/editors/select2.js +110 -0
  101. package/src/editors/selectize.js +112 -0
  102. package/src/editors/signature.js +113 -0
  103. package/src/editors/simplemde.js +100 -0
  104. package/src/editors/starrating.css +52 -0
  105. package/src/editors/starrating.css.js +3 -0
  106. package/src/editors/starrating.js +135 -0
  107. package/src/editors/stepper.js +27 -0
  108. package/src/editors/string.js +372 -0
  109. package/src/editors/table.js +516 -0
  110. package/src/editors/upload.js +321 -0
  111. package/src/editors/uuid.js +56 -0
  112. package/src/iconlib.js +24 -0
  113. package/src/iconlibs/bootstrap2.js +28 -0
  114. package/src/iconlibs/bootstrap3.js +28 -0
  115. package/src/iconlibs/fontawesome3.js +28 -0
  116. package/src/iconlibs/fontawesome4.js +28 -0
  117. package/src/iconlibs/fontawesome5.js +28 -0
  118. package/src/iconlibs/foundation2.js +24 -0
  119. package/src/iconlibs/foundation3.js +28 -0
  120. package/src/iconlibs/index.js +25 -0
  121. package/src/iconlibs/jqueryui.js +28 -0
  122. package/src/iconlibs/materialicons.js +49 -0
  123. package/src/iconlibs/openiconic.js +28 -0
  124. package/src/iconlibs/spectre.js +28 -0
  125. package/src/resolvers.js +128 -0
  126. package/src/schemaloader.js +408 -0
  127. package/src/style.css +150 -0
  128. package/src/style.css.js +3 -0
  129. package/src/templates/default.js +52 -0
  130. package/src/templates/ejs.js +13 -0
  131. package/src/templates/handlebars.js +1 -0
  132. package/src/templates/hogan.js +10 -0
  133. package/src/templates/index.js +21 -0
  134. package/src/templates/lodash.js +9 -0
  135. package/src/templates/markup.js +9 -0
  136. package/src/templates/mustache.js +9 -0
  137. package/src/templates/swig.js +1 -0
  138. package/src/templates/underscore.js +9 -0
  139. package/src/theme.js +659 -0
  140. package/src/themes/barebones.css +35 -0
  141. package/src/themes/barebones.css.js +3 -0
  142. package/src/themes/barebones.js +28 -0
  143. package/src/themes/bootstrap2.js +319 -0
  144. package/src/themes/bootstrap3.css +0 -0
  145. package/src/themes/bootstrap3.css.js +3 -0
  146. package/src/themes/bootstrap3.js +315 -0
  147. package/src/themes/bootstrap4.css +89 -0
  148. package/src/themes/bootstrap4.css.js +3 -0
  149. package/src/themes/bootstrap4.js +690 -0
  150. package/src/themes/bootstrap5.css.js +3 -0
  151. package/src/themes/foundation.js +569 -0
  152. package/src/themes/html.css +60 -0
  153. package/src/themes/html.css.js +3 -0
  154. package/src/themes/html.js +71 -0
  155. package/src/themes/index.js +28 -0
  156. package/src/themes/jqueryui.js +198 -0
  157. package/src/themes/materialize.js +426 -0
  158. package/src/themes/spectre.css +208 -0
  159. package/src/themes/spectre.css.js +3 -0
  160. package/src/themes/spectre.js +406 -0
  161. package/src/themes/tailwind.css +249 -0
  162. package/src/themes/tailwind.css.js +3 -0
  163. package/src/themes/tailwind.js +443 -0
  164. package/src/utilities.js +138 -0
  165. package/src/validator.js +877 -0
  166. package/src/validators/ip-validator.js +51 -0
  167. package/tests/Dockerfile +3 -0
  168. package/tests/README.md +48 -0
  169. package/tests/codeceptjs/codecept.json +42 -0
  170. package/tests/codeceptjs/constrains/if-then-else_test.js +143 -0
  171. package/tests/codeceptjs/core_test.js +217 -0
  172. package/tests/codeceptjs/editors/advanced_test.js +13 -0
  173. package/tests/codeceptjs/editors/array_any_of_test.js +50 -0
  174. package/tests/codeceptjs/editors/array_test.js +900 -0
  175. package/tests/codeceptjs/editors/button_test.js +35 -0
  176. package/tests/codeceptjs/editors/checkbox_test.js +21 -0
  177. package/tests/codeceptjs/editors/colorpicker_test.js +27 -0
  178. package/tests/codeceptjs/editors/datetime_test.js +33 -0
  179. package/tests/codeceptjs/editors/inheritance_test.js +11 -0
  180. package/tests/codeceptjs/editors/integer_test.js +84 -0
  181. package/tests/codeceptjs/editors/issues/issue-gh-812_test.js +32 -0
  182. package/tests/codeceptjs/editors/jodit_test.js +24 -0
  183. package/tests/codeceptjs/editors/multiselect_test.js +8 -0
  184. package/tests/codeceptjs/editors/number_test.js +82 -0
  185. package/tests/codeceptjs/editors/object_test.js +204 -0
  186. package/tests/codeceptjs/editors/option-no_default_values_test.js +42 -0
  187. package/tests/codeceptjs/editors/programmatic-changes_test.js +20 -0
  188. package/tests/codeceptjs/editors/radio_test.js +10 -0
  189. package/tests/codeceptjs/editors/rating_test.js +13 -0
  190. package/tests/codeceptjs/editors/select_test.js +22 -0
  191. package/tests/codeceptjs/editors/stepper_test.js +27 -0
  192. package/tests/codeceptjs/editors/string_test.js +118 -0
  193. package/tests/codeceptjs/editors/table-confirm-delete_test.js +67 -0
  194. package/tests/codeceptjs/editors/tabs_test.js +14 -0
  195. package/tests/codeceptjs/editors/uuid_test.js +21 -0
  196. package/tests/codeceptjs/editors/validation_test.js +14 -0
  197. package/tests/codeceptjs/meta-schema_test.js +17 -0
  198. package/tests/codeceptjs/schemaloader_test.js +13 -0
  199. package/tests/codeceptjs/steps.d.ts +13 -0
  200. package/tests/codeceptjs/steps_file.js +12 -0
  201. package/tests/codeceptjs/themes_test.js +519 -0
  202. package/tests/docker-compose.yml +34 -0
  203. package/tests/fixtures/basic_person.json +26 -0
  204. package/tests/fixtures/nested_object.json +26 -0
  205. package/tests/fixtures/person.json +55 -0
  206. package/tests/fixtures/recursive.json +8 -0
  207. package/tests/fixtures/some_types.json +32 -0
  208. package/tests/fixtures/string.json +3 -0
  209. package/tests/fixtures/validation.json +1140 -0
  210. package/tests/pages/_demo.html +475 -0
  211. package/tests/pages/advanced.html +137 -0
  212. package/tests/pages/anyof.html +80 -0
  213. package/tests/pages/array-anyof.html +142 -0
  214. package/tests/pages/array-checkboxes.html +41 -0
  215. package/tests/pages/array-choices.html +45 -0
  216. package/tests/pages/array-integers.html +37 -0
  217. package/tests/pages/array-move-events.html +61 -0
  218. package/tests/pages/array-multiselects.html +42 -0
  219. package/tests/pages/array-nested-arrays.html +40 -0
  220. package/tests/pages/array-numbers.html +37 -0
  221. package/tests/pages/array-objects.html +42 -0
  222. package/tests/pages/array-ratings.html +40 -0
  223. package/tests/pages/array-selectize.html +51 -0
  224. package/tests/pages/array-selects.html +36 -0
  225. package/tests/pages/array-strings.html +36 -0
  226. package/tests/pages/array.html +42 -0
  227. package/tests/pages/assets/pages.css +130 -0
  228. package/tests/pages/button-callbacks.html +77 -0
  229. package/tests/pages/checkbox-labels.html +114 -0
  230. package/tests/pages/colorpicker-no-3rd-party.html +43 -0
  231. package/tests/pages/colorpicker-use-vanilla-picker.html +50 -0
  232. package/tests/pages/core.html +118 -0
  233. package/tests/pages/datetime.html +76 -0
  234. package/tests/pages/form-name.html +108 -0
  235. package/tests/pages/grid-strict.html +311 -0
  236. package/tests/pages/grid.html +284 -0
  237. package/tests/pages/if-then-else-allOf.html +117 -0
  238. package/tests/pages/inheritance.html +76 -0
  239. package/tests/pages/integer.html +68 -0
  240. package/tests/pages/issues/_template.html +50 -0
  241. package/tests/pages/issues/issue-gh-812.html +110 -0
  242. package/tests/pages/issues/issue-gh-823-meta-schema.html +35 -0
  243. package/tests/pages/issues/issue-gh-848.html +81 -0
  244. package/tests/pages/meta_schema.json +705 -0
  245. package/tests/pages/number.html +89 -0
  246. package/tests/pages/object-no-additional-properties.html +65 -0
  247. package/tests/pages/object-no-duplicated-id.html +68 -0
  248. package/tests/pages/object-required-properties.html +236 -0
  249. package/tests/pages/object-with-dependencies-array.html +46 -0
  250. package/tests/pages/object-with-dependencies.html +60 -0
  251. package/tests/pages/object.html +79 -0
  252. package/tests/pages/oneof.html +103 -0
  253. package/tests/pages/option-no_default_values.html +58 -0
  254. package/tests/pages/programmatic-changes.html +120 -0
  255. package/tests/pages/read-only.html +105 -0
  256. package/tests/pages/select.html +41 -0
  257. package/tests/pages/stepper.html +59 -0
  258. package/tests/pages/string-ace-editor.html +52 -0
  259. package/tests/pages/string-cleave.html +46 -0
  260. package/tests/pages/string-custom-attributes.html +62 -0
  261. package/tests/pages/string-formats.html +52 -0
  262. package/tests/pages/string-formats2.html +57 -0
  263. package/tests/pages/string-jodit-editor.html +49 -0
  264. package/tests/pages/string-sceditor.html +62 -0
  265. package/tests/pages/table-move-events.html +56 -0
  266. package/tests/pages/table.html +46 -0
  267. package/tests/pages/tabs.html +131 -0
  268. package/tests/pages/themes.html +527 -0
  269. package/tests/pages/translate-property.html +247 -0
  270. package/tests/pages/urn.html +93 -0
  271. package/tests/pages/uuid.html +72 -0
  272. package/tests/pages/validation.html +99 -0
  273. package/tests/unit/.eslintrc +8 -0
  274. package/tests/unit/core.spec.js +309 -0
  275. package/tests/unit/defaults.spec.js +40 -0
  276. package/tests/unit/editor.spec.js +160 -0
  277. package/tests/unit/editors/array.spec.js +86 -0
  278. package/tests/unit/editors/object.spec.js +79 -0
  279. package/tests/unit/editors/table.spec.js +91 -0
  280. package/tests/unit/readme.md +35 -0
  281. package/tests/unit/schemaloader.spec.js +498 -0
  282. package/tests/unit/validator.spec.js +94 -0
  283. package/tests/unit/validators/ip-validator.spec.js +62 -0
@@ -0,0 +1,705 @@
1
+ {
2
+ "definitions":{
3
+ "schemaArray":{
4
+ "type":"array",
5
+ "minItems":1,
6
+ "items":{
7
+ "$ref":"#/definitions/schema",
8
+ "title":"schema"
9
+ }
10
+ },
11
+ "null":{
12
+ "properties":{
13
+ "type":{
14
+ "enum":[
15
+ "null"
16
+ ]
17
+ },
18
+ "enum":{
19
+ "items":{
20
+ "type":"null"
21
+ }
22
+ },
23
+ "default":{
24
+ "type":"null",
25
+ "propertyOrder":10
26
+ }
27
+ }
28
+ },
29
+ "boolean":{
30
+ "properties":{
31
+ "type":{
32
+ "enum":[
33
+ "boolean"
34
+ ]
35
+ },
36
+ "enum":{
37
+ "items":{
38
+ "type":"boolean"
39
+ }
40
+ },
41
+ "format":{
42
+ "type":"string",
43
+ "enum":[
44
+ "select",
45
+ "checkbox"
46
+ ]
47
+ },
48
+ "default":{
49
+ "type":"boolean",
50
+ "propertyOrder":10
51
+ }
52
+ }
53
+ },
54
+ "string":{
55
+ "properties":{
56
+ "options":{
57
+ "properties":{
58
+ "input_width":{
59
+ "type":"string"
60
+ },
61
+ "input_height":{
62
+ "type":"string"
63
+ },
64
+ "expand_height":{
65
+ "type":"boolean"
66
+ },
67
+ "wysiwyg":{
68
+ "type":"boolean"
69
+ }
70
+ }
71
+ },
72
+ "format":{
73
+ "type":"string",
74
+ "propertyOrder":20,
75
+ "enum":[
76
+ "color",
77
+ "date",
78
+ "datetime",
79
+ "datetime-local",
80
+ "email",
81
+ "month",
82
+ "number",
83
+ "range",
84
+ "tel",
85
+ "text",
86
+ "textarea",
87
+ "time",
88
+ "url",
89
+ "week",
90
+ "actionscript",
91
+ "batchfile",
92
+ "c",
93
+ "c++",
94
+ "cpp",
95
+ "coffee",
96
+ "cshart",
97
+ "css",
98
+ "dart",
99
+ "django",
100
+ "ejs",
101
+ "erlang",
102
+ "golang",
103
+ "groovy",
104
+ "handlebars",
105
+ "haskell",
106
+ "haxe",
107
+ "html",
108
+ "ini",
109
+ "jade",
110
+ "java",
111
+ "javascript",
112
+ "json",
113
+ "less",
114
+ "lisp",
115
+ "lua",
116
+ "makefile",
117
+ "markdown",
118
+ "matlab",
119
+ "mysql",
120
+ "objectivec",
121
+ "pascal",
122
+ "perl",
123
+ "pgsql",
124
+ "php",
125
+ "python",
126
+ "r",
127
+ "ruby",
128
+ "sass",
129
+ "scala",
130
+ "scss",
131
+ "smarty",
132
+ "sql",
133
+ "stylus",
134
+ "svg",
135
+ "twig",
136
+ "vbscript",
137
+ "xml",
138
+ "yaml"
139
+ ]
140
+ },
141
+ "minLength":{
142
+ "type":"integer",
143
+ "minimum":0,
144
+ "propertyOrder":25
145
+ },
146
+ "maxLength":{
147
+ "type":"integer",
148
+ "minimum":0,
149
+ "propertyOrder":30
150
+ },
151
+ "pattern":{
152
+ "type":"string",
153
+ "format":"regex",
154
+ "propertyOrder":35
155
+ },
156
+ "type":{
157
+ "enum":[
158
+ "string"
159
+ ]
160
+ },
161
+ "enum":{
162
+ "items":{
163
+ "type":"string"
164
+ }
165
+ },
166
+ "default":{
167
+ "type": "string",
168
+ "propertyOrder":10
169
+ },
170
+ "media":{
171
+ "type":"object",
172
+ "additionalProperties":false,
173
+ "properties":{
174
+ "type":{
175
+ "type":"string"
176
+ }
177
+ }
178
+ },
179
+ "template":{
180
+ "type":"string"
181
+ }
182
+ }
183
+ },
184
+ "number":{
185
+ "properties":{
186
+ "options":{
187
+ "properties":{
188
+ "input_width":{
189
+ "type":"string"
190
+ },
191
+ "input_height":{
192
+ "type":"string"
193
+ },
194
+ "expand_height":{
195
+ "type":"boolean"
196
+ }
197
+ }
198
+ },
199
+ "type":{
200
+ "enum":[
201
+ "number"
202
+ ]
203
+ },
204
+ "enum":{
205
+ "items":{
206
+ "type":"number"
207
+ }
208
+ },
209
+ "default":{
210
+ "type":"number"
211
+ },
212
+ "minimum":{
213
+ "type":"number",
214
+ "propertyOrder":25
215
+ },
216
+ "maximum":{
217
+ "type":"number",
218
+ "propertyOrder":30
219
+ },
220
+ "multipleOf":{
221
+ "type":"number",
222
+ "propertyOrder":35
223
+ }
224
+ }
225
+ },
226
+ "integer":{
227
+ "properties":{
228
+ "options":{
229
+ "properties":{
230
+ "input_width":{
231
+ "type":"string"
232
+ },
233
+ "input_height":{
234
+ "type":"string"
235
+ },
236
+ "expand_height":{
237
+ "type":"boolean"
238
+ }
239
+ }
240
+ },
241
+ "default":{
242
+ "type":"integer"
243
+ },
244
+ "minimum":{
245
+ "type":"number",
246
+ "propertyOrder":25
247
+ },
248
+ "maximum":{
249
+ "type":"number",
250
+ "propertyOrder":30
251
+ },
252
+ "multipleOf":{
253
+ "type":"number",
254
+ "propertyOrder":35
255
+ },
256
+ "type":{
257
+ "enum":[
258
+ "integer"
259
+ ]
260
+ },
261
+ "enum":{
262
+ "items":{
263
+ "type":"integer"
264
+ }
265
+ }
266
+ }
267
+ },
268
+
269
+ "object":{
270
+ "defaultProperties":[
271
+ "properties"
272
+ ],
273
+ "properties":{
274
+ "options":{
275
+ "properties":{
276
+ "collapsed":{
277
+ "type":"boolean"
278
+ },
279
+ "disable_collapse":{
280
+ "type":"boolean"
281
+ },
282
+ "disable_edit_json":{
283
+ "type":"boolean"
284
+ },
285
+ "disable_properties":{
286
+ "type":"boolean"
287
+ },
288
+ "remove_empty_properties":{
289
+ "type":"boolean"
290
+ },
291
+ "layout":{
292
+ "type":"string",
293
+ "enum":[
294
+ "grid"
295
+ ]
296
+ }
297
+ }
298
+ },
299
+ "type":{
300
+ "enum":[
301
+ "object"
302
+ ]
303
+ },
304
+ "default":{
305
+ "type":"object"
306
+ },
307
+ "properties":{
308
+ "type":"object",
309
+ "patternProperties":{
310
+ ".*":{
311
+ "$ref":"#/definitions/schema"
312
+ }
313
+ }
314
+ },
315
+ "patternProperties":{
316
+ "type":"object",
317
+ "patternProperties":{
318
+ ".*":{
319
+ "$ref":"#/definitions/schema"
320
+ }
321
+ }
322
+ },
323
+ "additionalProperties":{
324
+ "type":"boolean"
325
+ },
326
+ "required":{
327
+ "type":"array",
328
+ "uniqueItems":true,
329
+ "format":"table",
330
+ "items":{
331
+ "type":"string",
332
+ "title":"property"
333
+ }
334
+ },
335
+ "format":{
336
+ "type":"string",
337
+ "enum":[
338
+ "grid"
339
+ ]
340
+ }
341
+ }
342
+ },
343
+ "array":{
344
+ "defaultProperties":[
345
+ "items"
346
+ ],
347
+ "properties":{
348
+ "options":{
349
+ "properties":{
350
+ "collapsed":{
351
+ "type":"boolean"
352
+ },
353
+ "disable_array_add":{
354
+ "type":"boolean"
355
+ },
356
+ "disable_array_delete":{
357
+ "type":"boolean"
358
+ },
359
+ "disable_array_delete_all_rows":{
360
+ "type":"boolean"
361
+ },
362
+ "disable_array_delete_last_row":{
363
+ "type":"boolean"
364
+ },
365
+ "disable_array_reorder":{
366
+ "type":"boolean"
367
+ },
368
+ "disable_collapse":{
369
+ "type":"boolean"
370
+ }
371
+ }
372
+ },
373
+ "type":{
374
+ "enum":[
375
+ "array"
376
+ ]
377
+ },
378
+ "default":{
379
+ "type":"array",
380
+ "format":"table"
381
+ },
382
+ "items":{
383
+ "oneOf":[
384
+ {
385
+ "$ref":"#/definitions/schema"
386
+ },
387
+ {
388
+ "type":"array",
389
+ "$ref":"#/definitions/schemaArray",
390
+ "format":"tabs"
391
+ }
392
+ ]
393
+ },
394
+ "uniqueItems":{
395
+ "type":"boolean"
396
+ },
397
+ "minItems":{
398
+ "type":"integer",
399
+ "minimum":0
400
+ },
401
+ "maxItems":{
402
+ "type":"integer",
403
+ "minimum":0
404
+ },
405
+ "additionalItems":{
406
+ "$ref":"#/definitions/schema"
407
+ },
408
+ "format":{
409
+ "type":"string",
410
+ "enum":[
411
+ "array",
412
+ "table",
413
+ "tabs",
414
+ "tabs-top",
415
+ "checkbox",
416
+ "select",
417
+ "categories"
418
+ ]
419
+ }
420
+ }
421
+ },
422
+
423
+ "schemaBase":{
424
+ "type":"object",
425
+ "defaultProperties":[
426
+ "title",
427
+ "type"
428
+ ],
429
+ "required": ["type"],
430
+
431
+ "properties":{
432
+ "type":{
433
+ "propertyOrder":1,
434
+ "type":"string",
435
+ "options":{
436
+ "hidden":true
437
+ }
438
+ },
439
+ "id":{
440
+ "type":"string",
441
+ "format":"uri"
442
+ },
443
+ "$schema":{
444
+ "type":"string",
445
+ "format":"uri"
446
+ },
447
+ "title":{
448
+ "type":"string",
449
+ "propertyOrder":2
450
+ },
451
+ "description":{
452
+ "type":"string",
453
+ "propertyOrder":4
454
+ },
455
+
456
+ "enum":{
457
+ "type":"array",
458
+ "minItems":1,
459
+ "uniqueItems":true,
460
+ "propertyOrder":50,
461
+ "format":"table"
462
+ },
463
+ "enumSource":{
464
+ "oneOf":[
465
+ {
466
+ "title":"Simple Source",
467
+ "type":"string"
468
+ },
469
+ {
470
+ "title":"Complex Source",
471
+ "type":"array",
472
+ "format":"tabs",
473
+ "minItems":1,
474
+ "items":{
475
+ "oneOf":[
476
+ {
477
+ "title":"Constant Values",
478
+ "type":"array",
479
+ "format":"table",
480
+ "uniqueItems":true,
481
+ "items":{
482
+ "type":"string"
483
+ }
484
+ },
485
+ {
486
+ "title":"Source",
487
+ "type":"object",
488
+ "additionalProperties":false,
489
+ "required":[
490
+ "source"
491
+ ],
492
+ "defaultProperties":[
493
+ "source"
494
+ ],
495
+ "properties":{
496
+ "source":{
497
+ "oneOf":[
498
+ {
499
+ "title":"Watched Field",
500
+ "type":"string"
501
+ },
502
+ {
503
+ "title":"Constant Values",
504
+ "type":"array",
505
+ "format":"table",
506
+ "minItems":1,
507
+ "items":{
508
+ "title":"value",
509
+ "type":"object",
510
+ "additionalProperties":false,
511
+ "properties":{
512
+ "value":{
513
+ "type":"string"
514
+ },
515
+ "title":{
516
+ "type":"string"
517
+ }
518
+ }
519
+ }
520
+ }
521
+ ]
522
+ },
523
+ "slice":{
524
+ "type":"array",
525
+ "format":"table",
526
+ "minItems":2,
527
+ "maxItems":2,
528
+ "items":{
529
+ "type":"integer"
530
+ }
531
+ },
532
+ "filter":{
533
+ "type":"string"
534
+ },
535
+ "title":{
536
+ "type":"string"
537
+ },
538
+ "value":{
539
+ "type":"string"
540
+ }
541
+ }
542
+ }
543
+ ]
544
+ }
545
+ }
546
+ ]
547
+ },
548
+ "$ref":{
549
+ "type":"string"
550
+ },
551
+ "oneOf":{
552
+ "$ref":"#/definitions/schemaArray"
553
+ },
554
+ "anyOf":{
555
+ "$ref":"#/definitions/schemaArray"
556
+ },
557
+ "allOf":{
558
+ "$ref":"#/definitions/schemaArray"
559
+ },
560
+ "not":{
561
+ "$ref":"#/definitions/schema"
562
+ },
563
+ "propertyOrder":{
564
+ "type":"number",
565
+ "default":1000
566
+ },
567
+ "links":{
568
+ "type":"array",
569
+ "format":"table",
570
+ "items":{
571
+ "type":"object",
572
+ "title":"link",
573
+ "additionalProperties":false,
574
+ "properties":{
575
+ "rel":{
576
+ "type":"string"
577
+ },
578
+ "href":{
579
+ "type":"string",
580
+ "format":"url"
581
+ },
582
+ "class":{
583
+ "type":"string"
584
+ },
585
+ "download":{
586
+ "oneOf":[
587
+ {
588
+ "type":"boolean"
589
+ },
590
+ {
591
+ "type":"string"
592
+ }
593
+ ]
594
+ },
595
+ "mediaType":{
596
+ "type":"string"
597
+ }
598
+ }
599
+ }
600
+ },
601
+ "watch":{
602
+ "type":"object",
603
+ "patternProperties":{
604
+ ".*":{
605
+ "type":"string"
606
+ }
607
+ }
608
+ },
609
+ "headerTemplate":{
610
+ "type":"string"
611
+ },
612
+ "options":{
613
+ "type":"object",
614
+ "options":{
615
+ "keep_oneof_values":false
616
+ },
617
+ "default":{ },
618
+ "defaultProperties":{ },
619
+ "properties":{
620
+ "enum_titles":{
621
+ "type":"array",
622
+ "uniqueItems":true,
623
+ "format":"table",
624
+ "items":{
625
+ "type":"string",
626
+ "tilte":"title"
627
+ }
628
+ },
629
+ "grid_columns":{
630
+ "type":"integer",
631
+ "default": 1,
632
+ "minimum":1,
633
+ "maximum":12
634
+ },
635
+ "hidden":{
636
+ "type":"boolean"
637
+ },
638
+ "keep_oneof_values":{
639
+ "type":"boolean"
640
+ }
641
+ }
642
+ }
643
+ }
644
+ },
645
+
646
+ "schema":{
647
+ "$ref":"#/definitions/schemaBase",
648
+ "options":{
649
+ "keep_oneof_values":false
650
+ },
651
+ "default":{
652
+ "type":"object"
653
+ },
654
+ "oneOf":[
655
+ {
656
+ "title":"Object",
657
+ "additionalProperties":false,
658
+ "$ref":"#/definitions/object"
659
+ },
660
+ {
661
+ "title":"Array",
662
+ "additionalProperties":false,
663
+ "$ref":"#/definitions/array"
664
+ },
665
+ {
666
+ "title":"String",
667
+ "additionalProperties":false,
668
+ "$ref":"#/definitions/string"
669
+ },
670
+ {
671
+ "title":"Number",
672
+ "additionalProperties":false,
673
+ "$ref":"#/definitions/number"
674
+ },
675
+ {
676
+ "title":"Integer",
677
+ "additionalProperties":false,
678
+ "$ref":"#/definitions/integer"
679
+ },
680
+ {
681
+ "title":"Boolean",
682
+ "additionalProperties":false,
683
+ "$ref":"#/definitions/boolean"
684
+ },
685
+ {
686
+ "title":"Null",
687
+ "additionalProperties":false,
688
+ "$ref":"#/definitions/null"
689
+ }
690
+ ]
691
+ }
692
+ },
693
+ "title":"JSON Schema",
694
+ "$ref":"#/definitions/schema",
695
+ "properties":{
696
+ "definitions":{
697
+ "type":"object",
698
+ "patternProperties":{
699
+ ".*":{
700
+ "$ref":"#/definitions/schema"
701
+ }
702
+ }
703
+ }
704
+ }
705
+ }