meta_schema.json 15 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681
  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. "type":{
  13. "enum":[
  14. "null"
  15. ]
  16. },
  17. "enum":{
  18. "items":{
  19. "type":"null"
  20. }
  21. }
  22. },
  23. "boolean":{
  24. "properties":{
  25. "default":{
  26. "type":"boolean"
  27. },
  28. "type":{
  29. "enum":[
  30. "boolean"
  31. ]
  32. },
  33. "enum":{
  34. "items":{
  35. "type":"boolean"
  36. }
  37. },
  38. "format":{
  39. "type":"string",
  40. "enum":[
  41. "select",
  42. "checkbox"
  43. ]
  44. }
  45. }
  46. },
  47. "string":{
  48. "properties":{
  49. "options":{
  50. "properties":{
  51. "input_width":{
  52. "type":"string"
  53. },
  54. "input_height":{
  55. "type":"string"
  56. },
  57. "expand_height":{
  58. "type":"boolean"
  59. },
  60. "wysiwyg":{
  61. "type":"boolean"
  62. }
  63. }
  64. },
  65. "format":{
  66. "type":"string",
  67. "propertyOrder":20,
  68. "enum":[
  69. "color",
  70. "date",
  71. "datetime",
  72. "datetime-local",
  73. "email",
  74. "month",
  75. "number",
  76. "range",
  77. "tel",
  78. "text",
  79. "textarea",
  80. "time",
  81. "url",
  82. "week",
  83. "actionscript",
  84. "batchfile",
  85. "c",
  86. "c++",
  87. "cpp",
  88. "coffee",
  89. "cshart",
  90. "css",
  91. "dart",
  92. "django",
  93. "ejs",
  94. "erlang",
  95. "golang",
  96. "groovy",
  97. "handlebars",
  98. "haskell",
  99. "haxe",
  100. "html",
  101. "ini",
  102. "jade",
  103. "java",
  104. "javascript",
  105. "json",
  106. "less",
  107. "lisp",
  108. "lua",
  109. "makefile",
  110. "markdown",
  111. "matlab",
  112. "mysql",
  113. "objectivec",
  114. "pascal",
  115. "perl",
  116. "pgsql",
  117. "php",
  118. "python",
  119. "r",
  120. "ruby",
  121. "sass",
  122. "scala",
  123. "scss",
  124. "smarty",
  125. "sql",
  126. "stylus",
  127. "svg",
  128. "twig",
  129. "vbscript",
  130. "xml",
  131. "yaml"
  132. ]
  133. },
  134. "default":{
  135. "type":"string"
  136. },
  137. "minLength":{
  138. "type":"integer",
  139. "minimum":0,
  140. "propertyOrder":25
  141. },
  142. "maxLength":{
  143. "type":"integer",
  144. "minimum":0,
  145. "propertyOrder":30
  146. },
  147. "pattern":{
  148. "type":"string",
  149. "format":"regex",
  150. "propertyOrder":35
  151. },
  152. "type":{
  153. "enum":[
  154. "string"
  155. ]
  156. },
  157. "enum":{
  158. "items":{
  159. "type":"string"
  160. }
  161. },
  162. "media":{
  163. "type":"object",
  164. "additionalProperties":false,
  165. "properties":{
  166. "type":{
  167. "type":"string"
  168. }
  169. }
  170. },
  171. "template":{
  172. "type":"string"
  173. }
  174. }
  175. },
  176. "number":{
  177. "properties":{
  178. "options":{
  179. "properties":{
  180. "input_width":{
  181. "type":"string"
  182. },
  183. "input_height":{
  184. "type":"string"
  185. },
  186. "expand_height":{
  187. "type":"boolean"
  188. }
  189. }
  190. },
  191. "type":{
  192. "enum":[
  193. "number"
  194. ]
  195. },
  196. "enum":{
  197. "items":{
  198. "type":"number"
  199. }
  200. },
  201. "default":{
  202. "type":"number"
  203. },
  204. "minimum":{
  205. "type":"number",
  206. "propertyOrder":25
  207. },
  208. "maximum":{
  209. "type":"number",
  210. "propertyOrder":30
  211. },
  212. "multipleOf":{
  213. "type":"number",
  214. "propertyOrder":35
  215. }
  216. }
  217. },
  218. "integer":{
  219. "properties":{
  220. "options":{
  221. "properties":{
  222. "input_width":{
  223. "type":"string"
  224. },
  225. "input_height":{
  226. "type":"string"
  227. },
  228. "expand_height":{
  229. "type":"boolean"
  230. }
  231. }
  232. },
  233. "default":{
  234. "type":"integer"
  235. },
  236. "minimum":{
  237. "type":"number",
  238. "propertyOrder":25
  239. },
  240. "maximum":{
  241. "type":"number",
  242. "propertyOrder":30
  243. },
  244. "multipleOf":{
  245. "type":"number",
  246. "propertyOrder":35
  247. },
  248. "type":{
  249. "enum":[
  250. "integer"
  251. ]
  252. },
  253. "enum":{
  254. "items":{
  255. "type":"integer"
  256. }
  257. }
  258. }
  259. },
  260. "schemaBase":{
  261. "type":"object",
  262. "additionalProperties":false,
  263. "defaultProperties":[
  264. "title",
  265. "type"
  266. ],
  267. "options":{
  268. "type":"object",
  269. "options":{
  270. "keep_oneof_values":false
  271. },
  272. "default":{
  273. },
  274. "properties":{
  275. "enum_titles":{
  276. "type":"array",
  277. "uniqueItems":true,
  278. "format":"table",
  279. "items":{
  280. "type":"string",
  281. "tilte":"title"
  282. }
  283. },
  284. "grid_columns":{
  285. "type":"integer",
  286. "minimum":1,
  287. "maximum":12
  288. },
  289. "hidden":{
  290. "type":"boolean"
  291. },
  292. "keep_oneof_values":{
  293. "type":"boolean"
  294. }
  295. }
  296. },
  297. "properties":{
  298. "type":{
  299. "propertyOrder":1,
  300. "type":"string",
  301. "options":{
  302. "hidden":true
  303. }
  304. },
  305. "id":{
  306. "type":"string",
  307. "format":"uri"
  308. },
  309. "$schema":{
  310. "type":"string",
  311. "format":"uri"
  312. },
  313. "title":{
  314. "type":"string",
  315. "propertyOrder":2
  316. },
  317. "description":{
  318. "type":"string",
  319. "propertyOrder":4
  320. },
  321. "default":{
  322. "propertyOrder":10
  323. },
  324. "enum":{
  325. "type":"array",
  326. "minItems":1,
  327. "uniqueItems":true,
  328. "propertyOrder":50
  329. },
  330. "enumSource":{
  331. "oneOf":[
  332. {
  333. "title":"Simple Source",
  334. "type":"string"
  335. },
  336. {
  337. "title":"Complex Source",
  338. "type":"array",
  339. "format":"tabs",
  340. "minItems":1,
  341. "items":{
  342. "oneOf":[
  343. {
  344. "title":"Constant Values",
  345. "type":"array",
  346. "format":"table",
  347. "uniqueItems":true,
  348. "items":{
  349. "type":"string"
  350. }
  351. },
  352. {
  353. "title":"Source",
  354. "type":"object",
  355. "additionalProperties":false,
  356. "required":[
  357. "source"
  358. ],
  359. "defaultProperties":[
  360. "source"
  361. ],
  362. "properties":{
  363. "source":{
  364. "oneOf":[
  365. {
  366. "title":"Watched Field",
  367. "type":"string"
  368. },
  369. {
  370. "title":"Constant Values",
  371. "type":"array",
  372. "format":"table",
  373. "minItems":1,
  374. "items":{
  375. "title":"value",
  376. "type":"object",
  377. "additionalProperties":false,
  378. "properties":{
  379. "value":{
  380. "type":"string"
  381. },
  382. "title":{
  383. "type":"string"
  384. }
  385. }
  386. }
  387. }
  388. ]
  389. },
  390. "slice":{
  391. "type":"array",
  392. "format":"table",
  393. "minItems":2,
  394. "maxItems":2,
  395. "items":{
  396. "type":"integer"
  397. }
  398. },
  399. "filter":{
  400. "type":"string"
  401. },
  402. "title":{
  403. "type":"string"
  404. },
  405. "value":{
  406. "type":"string"
  407. }
  408. }
  409. }
  410. ]
  411. }
  412. }
  413. ]
  414. },
  415. "$ref":{
  416. "type":"string"
  417. },
  418. "oneOf":{
  419. "$ref":"#/definitions/schemaArray"
  420. },
  421. "anyOf":{
  422. "$ref":"#/definitions/schemaArray"
  423. },
  424. "allOf":{
  425. "$ref":"#/definitions/schemaArray"
  426. },
  427. "not":{
  428. "$ref":"#/definitions/schema"
  429. },
  430. "propertyOrder":{
  431. "type":"number",
  432. "default":1000
  433. },
  434. "links":{
  435. "type":"array",
  436. "items":{
  437. "type":"object",
  438. "title":"link",
  439. "additionalProperties":false,
  440. "properties":{
  441. "rel":{
  442. "type":"string"
  443. },
  444. "href":{
  445. "type":"string",
  446. "format":"url"
  447. },
  448. "class":{
  449. "type":"string"
  450. },
  451. "download":{
  452. "oneOf":[
  453. {
  454. "type":"boolean"
  455. },
  456. {
  457. "type":"string"
  458. }
  459. ]
  460. },
  461. "mediaType":{
  462. "type":"string"
  463. }
  464. }
  465. }
  466. },
  467. "watch":{
  468. "type":"object",
  469. "patternProperties":{
  470. ".*":{
  471. "type":"string"
  472. }
  473. }
  474. },
  475. "headerTemplate":{
  476. "type":"string"
  477. }
  478. }
  479. },
  480. "object":{
  481. "defaultProperties":[
  482. "properties"
  483. ],
  484. "properties":{
  485. "options":{
  486. "properties":{
  487. "collapsed":{
  488. "type":"boolean"
  489. },
  490. "disable_collapse":{
  491. "type":"boolean"
  492. },
  493. "disable_edit_json":{
  494. "type":"boolean"
  495. },
  496. "disable_properties":{
  497. "type":"boolean"
  498. },
  499. "remove_empty_properties":{
  500. "type":"boolean"
  501. },
  502. "layout":{
  503. "type":"string",
  504. "enum":[
  505. "grid"
  506. ]
  507. }
  508. }
  509. },
  510. "type":{
  511. "enum":[
  512. "object"
  513. ]
  514. },
  515. "default":{
  516. "type":"object"
  517. },
  518. "properties":{
  519. "type":"object",
  520. "patternProperties":{
  521. ".*":{
  522. "$ref":"#/definitions/schema"
  523. }
  524. }
  525. },
  526. "patternProperties":{
  527. "type":"object",
  528. "patternProperties":{
  529. ".*":{
  530. "$ref":"#/definitions/schema"
  531. }
  532. }
  533. },
  534. "additionalProperties":{
  535. "type":"boolean"
  536. },
  537. "required":{
  538. "type":"array",
  539. "uniqueItems":true,
  540. "format":"table",
  541. "items":{
  542. "type":"string",
  543. "title":"property"
  544. }
  545. },
  546. "format":{
  547. "type":"string",
  548. "enum":[
  549. "grid"
  550. ]
  551. }
  552. }
  553. },
  554. "array":{
  555. "defaultProperties":[
  556. "items"
  557. ],
  558. "properties":{
  559. "options":{
  560. "properties":{
  561. "collapsed":{
  562. "type":"boolean"
  563. },
  564. "disable_array_add":{
  565. "type":"boolean"
  566. },
  567. "disable_array_delete":{
  568. "type":"boolean"
  569. },
  570. "disable_array_delete_all_rows":{
  571. "type":"boolean"
  572. },
  573. "disable_array_delete_last_row":{
  574. "type":"boolean"
  575. },
  576. "disable_array_reorder":{
  577. "type":"boolean"
  578. },
  579. "disable_collapse":{
  580. "type":"boolean"
  581. }
  582. }
  583. },
  584. "type":{
  585. "enum":[
  586. "array"
  587. ]
  588. },
  589. "default":{
  590. "type":"array"
  591. },
  592. "items":{
  593. "$ref":"#/definitions/schema"
  594. },
  595. "uniqueItems":{
  596. "type":"boolean"
  597. },
  598. "minItems":{
  599. "type":"integer",
  600. "minimum":0
  601. },
  602. "maxItems":{
  603. "type":"integer",
  604. "minimum":0
  605. },
  606. "additionalItems":{
  607. "$ref":"#/definitions/schema"
  608. },
  609. "format":{
  610. "type":"string",
  611. "enum":[
  612. "array",
  613. "table",
  614. "tabs",
  615. "tabs-top",
  616. "checkbox",
  617. "select",
  618. "categories"
  619. ]
  620. }
  621. }
  622. },
  623. "schema":{
  624. "$ref":"#/definitions/schemaBase",
  625. "options":{
  626. "keep_oneof_values":false
  627. },
  628. "default":{
  629. "type":"object"
  630. },
  631. "oneOf":[
  632. {
  633. "title":"String",
  634. "$ref":"#/definitions/string"
  635. },
  636. {
  637. "title":"Number",
  638. "$ref":"#/definitions/number"
  639. },
  640. {
  641. "title":"Integer",
  642. "$ref":"#/definitions/integer"
  643. },
  644. {
  645. "title":"Boolean",
  646. "$ref":"#/definitions/boolean"
  647. },
  648. {
  649. "title":"Object",
  650. "$ref":"#/definitions/object"
  651. },
  652. {
  653. "title":"Array",
  654. "$ref":"#/definitions/array"
  655. },
  656. {
  657. "title":"Null",
  658. "$ref":"#/definitions/null"
  659. },
  660. {
  661. "title":"No Type",
  662. "$ref":"#/definitions/schemaBase"
  663. }
  664. ]
  665. }
  666. },
  667. "title":"JSON Schema",
  668. "$ref":"#/definitions/schema",
  669. "properties":{
  670. "definitions":{
  671. "type":"object",
  672. "patternProperties":{
  673. ".*":{
  674. "$ref":"#/definitions/schema"
  675. }
  676. }
  677. }
  678. }
  679. }