forked from jdorn/json-editor
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathselect2.html
93 lines (88 loc) · 2.93 KB
/
select2.html
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
<!DOCTYPE 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>