UNPKG

@datalayer/primer-rjsf

Version:

React JSON Schema Form (RJSF) for Primer

178 lines (177 loc) 5.3 kB
export default { schema: { definitions: { Thing: { type: "object", properties: { name: { type: "string", default: "Default name", }, }, }, }, type: "object", properties: { listOfStrings: { type: "array", title: "A list of strings", items: { type: "string", default: "bazinga", }, }, multipleChoicesList: { type: "array", title: "A multiple choices list", items: { type: "string", enum: ["foo", "bar", "fuzz", "qux"], }, uniqueItems: true, }, fixedItemsList: { type: "array", title: "A list of fixed items", items: [ { title: "A string value", type: "string", default: "lorem ipsum", }, { title: "a boolean value", type: "boolean", }, ], additionalItems: { title: "Additional item", type: "number", }, }, minItemsList: { type: "array", title: "A list with a minimal number of items", minItems: 3, items: { $ref: "#/definitions/Thing", }, }, defaultsAndMinItems: { type: "array", title: "List and item level defaults", minItems: 5, default: ["carp", "trout", "bream"], items: { type: "string", default: "unidentified", }, }, nestedList: { type: "array", title: "Nested list", items: { type: "array", title: "Inner list", items: { type: "string", default: "lorem ipsum", }, }, }, unorderable: { title: "Unorderable items", type: "array", items: { type: "string", default: "lorem ipsum", }, }, unremovable: { title: "Unremovable items", type: "array", items: { type: "string", default: "lorem ipsum", }, }, noToolbar: { title: "No add, remove and order buttons", type: "array", items: { type: "string", default: "lorem ipsum", }, }, fixedNoToolbar: { title: "Fixed array without buttons", type: "array", items: [ { title: "A number", type: "number", default: 42, }, { title: "A boolean", type: "boolean", default: false, }, ], additionalItems: { title: "A string", type: "string", default: "lorem ipsum", }, }, }, }, uiSchema: { listOfStrings: { items: { "ui:emptyValue": "" }, }, multipleChoicesList: { "ui:widget": "checkboxes", }, fixedItemsList: { items: [{ "ui:widget": "textarea" }, { "ui:widget": "select" }], additionalItems: { "ui:widget": "updown", }, }, unorderable: { "ui:options": { orderable: false, }, }, unremovable: { "ui:options": { removable: false, }, }, noToolbar: { "ui:options": { addable: false, orderable: false, removable: false, }, }, fixedNoToolbar: { "ui:options": { addable: false, orderable: false, removable: false, }, }, }, formData: { listOfStrings: ["foo", "bar"], multipleChoicesList: ["foo", "bar"], fixedItemsList: ["Some text", true, 123], nestedList: [["lorem", "ipsum"], ["dolor"]], unorderable: ["one", "two"], unremovable: ["one", "two"], noToolbar: ["one", "two"], fixedNoToolbar: [42, true, "additional item one", "additional item two"], }, };