json-editor
Version:
JSON Schema based editor
94 lines (88 loc) • 3 kB
HTML
<html>
<head>
<meta charset="utf-8" />
<title>JSON Editor Select2 Integration Example</title>
<script src="../dist/jsoneditor.js"></script>
<script type="text/javascript" src="//ajax.googleapis.com/ajax/libs/jquery/1.9.1/jquery.min.js"></script>
<script src="//cdn.jsdelivr.net/select2/3.4.8/select2.min.js"></script>
<link rel="stylesheet" href="//cdn.jsdelivr.net/select2/3.4.8/select2.css">
</head>
<body>
<h1>JSON Editor Select2 Integration Example</h1>
<p style='margin-bottom:20px;'>This example demonstrates JSONEditor's integration with Select2</p>
<div id='editor_holder'></div>
<button id='submit'>Submit (console.log)</button>
<script>
// Global Select2 options
JSONEditor.plugins.select2.width = "300px";
// Initialize the editor with a JSON schema
var editor = new JSONEditor(document.getElementById('editor_holder'),{
schema: {
type: "object",
title: "Text",
required: ["fontSize","color","font","weight","tags","possibleFonts"],
properties: {
fontSize: {
type: "integer",
enum: [10,11,12,14,16,18,20,22,24,36,48,60,72,100],
default: 24,
options: {
// Override defaullt options
select2_options: {
width: 'off'
}
}
},
color: {
type: "string",
enum: ["black","red","green","blue","yellow","orange","purple","brown","white","cyan","maagenta"]
},
font: {
type: "string",
enumSource: "possible_fonts",
watch: {
"possible_fonts": "root.possibleFonts"
},
},
weight: {
type: "string",
enum: ["normal","bold","bolder","lighter"],
options: {
enum_titles: ["Normal (400)","Bold (700)","Bolder (900)","Lighter (200)"]
}
},
tags: {
type: "array",
uniqueItems: true,
format: "select",
items: {
type: "string",
enum: ["bold","italic","smallcaps"]
}
},
possibleFonts: {
type: "array",
format: 'table',
items: {
type: "string"
},
default: ["Arial","Times","Helvetica","Comic Sans"],
options: {
collapsed: true
}
}
}
},
startval: {
color: "red"
}
});
// Hook up the submit button to log to the console
document.getElementById('submit').addEventListener('click',function() {
// Get the value from the editor
console.log(editor.getValue());
});
</script>
</body>
</html>