File: elements-forms.js

package info (click to toggle)
iceweasel 38.8.0esr-1~deb7u1
  • links: PTS, VCS
  • area: main
  • in suites: wheezy
  • size: 1,578,008 kB
  • sloc: cpp: 4,134,345; ansic: 1,765,754; python: 324,651; java: 233,700; asm: 138,937; xml: 98,298; sh: 82,895; makefile: 21,621; perl: 17,235; objc: 4,014; yacc: 1,968; lex: 1,179; exp: 499; pascal: 479; lisp: 228; awk: 152; ruby: 82; sed: 43; csh: 31; ada: 16; php: 1
file content (143 lines) | stat: -rw-r--r-- 5,030 bytes parent folder | download | duplicates (2)
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
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
// Up-to-date as of 2013-04-07.
var formElements = {
	form: {
		acceptCharset: {type: "string", domAttrName: "accept-charset"},
		// TODO: action is special
		// action: "url",
		autocomplete: {type: "enum", keywords: ["on", "off"], defaultVal: "on"},
		enctype: {type: "enum", keywords: ["application/x-www-form-urlencoded", "multipart/form-data", "text/plain"], defaultVal: "application/x-www-form-urlencoded"},
		encoding: {type: "enum", keywords: ["application/x-www-form-urlencoded", "multipart/form-data", "text/plain"], defaultVal: "application/x-www-form-urlencoded", domAttrName: "enctype"},
		method: {type: "enum", keywords: ["get", "post", "dialog"], defaultVal: "get"},
		name: "string",
		noValidate: "boolean",
		target: "string",
	},
	fieldset: {
		disabled: "boolean",
		name: "string",
	},
	legend: {
		// Obsolete
		align: "string",
	},
	label: {
		htmlFor: {type: "string", domAttrName: "for"},
	},
	input: {
		// Conforming
		accept: "string",
		alt: "string",
		// TODO: autocomplete is special.
		// autocomplete: {type: "enum", keywords: ["on", "off"], defaultVal: "on"},
		autofocus: "boolean",
		defaultChecked: {type: "boolean", domAttrName: "checked"},
		dirName: "string",
		disabled: "boolean",
		// TODO: formAction is special
		// formAction: "url",
		formEnctype: {type: "enum", keywords: ["application/x-www-form-urlencoded", "multipart/form-data", "text/plain"], invalidVal: "application/x-www-form-urlencoded"},
		formMethod: {type: "enum", keywords: ["get", "post"], invalidVal: "get"},
		formNoValidate: "boolean",
		formTarget: "string",
		//TODO: only reflected on setting
		//height: "unsigned long",
		inputMode: {type: "enum", keywords: ["verbatim", "latin", "latin-name", "latin-prose", "full-width-latin", "kana", "katakana", "numeric", "tel", "email", "url"]},
		max: "string",
		maxLength: "limited long",
		min: "string",
		multiple: "boolean",
		name: "string",
		pattern: "string",
		placeholder: "string",
		readOnly: "boolean",
		required: "boolean",
		// https://html.spec.whatwg.org/multipage/#attr-input-size
		size: {type: "limited unsigned long", defaultVal: 20},
		src: "url",
		step: "string",
		type: {type: "enum", keywords: ["hidden", "text", "search", "tel",
			"url", "email", "password", "datetime", "date", "month", "week",
			"time", "datetime-local", "number", "range", "color", "checkbox",
			"radio", "file", "submit", "image", "reset", "button"], defaultVal:
			"text"},
		//TODO: only reflected on setting
		//width: "unsigned long",
		defaultValue: {type: "string", domAttrName: "value"},

		// Obsolete
		align: "string",
		useMap: "string",
	},
	button: {
		autofocus: "boolean",
		disabled: "boolean",
		// TODO: formAction is special
		// formAction: "url",
		formEnctype: {type: "enum", keywords: ["application/x-www-form-urlencoded", "multipart/form-data", "text/plain"], invalidVal: "application/x-www-form-urlencoded"},
		formMethod: {type: "enum", keywords: ["get", "post", "dialog"], invalidVal: "get"},
		formNoValidate: "boolean",
		formTarget: "string",
		name: "string",
		type: {type: "enum", keywords: ["submit", "reset", "button"], defaultVal: "submit"},
		value: "string",
		// TODO: menu
	},
	select: {
		autofocus: "boolean",
		disabled: "boolean",
		multiple: "boolean",
		name: "string",
		required: "boolean",
		size: {type: "unsigned long", defaultVal: 0},
	},
	datalist: {},
	optgroup: {
		disabled: "boolean",
		label: "string",
	},
	option: {
		disabled: "boolean",
		label: {type: "string", customGetter: true},
		defaultSelected: {type: "boolean", domAttrName: "selected"},
		value: {type: "string", customGetter: true},
	},
	textarea: {
		// TODO: autocomplete is special.
		// autocomplete: {type: "enum", keywords: ["on", "off"], defaultVal: "on"},
		autofocus: "boolean",
		cols: {type: "limited unsigned long", defaultVal: 20},
		dirName: "string",
		disabled: "boolean",
		inputMode: {type: "enum", keywords: ["verbatim", "latin", "latin-name", "latin-prose", "full-width-latin", "kana", "katakana", "numeric", "tel", "email", "url"]},
		maxLength: "limited long",
		name: "string",
		placeholder: "string",
		readOnly: "boolean",
		required: "boolean",
		rows: {type: "limited unsigned long", defaultVal: 2},
		wrap: "string",
	},
	keygen: {
		autofocus: "boolean",
		challenge: "string",
		disabled: "boolean",
		// The invalid value default is the "unknown" state, which for our
		// purposes  seems to be the same as having no invalid value default.
		// The missing  value default depends on whether "rsa" is implemented,
		// so we use null,  which is magically reserved for "don't try testing
		// this", since no one  default is required.  (TODO: we could test that
		// it's either the RSA  state or the unknown state.)
		keytype: {type: "enum", keywords: ["rsa"], defaultVal: null},
		name: "string",
	},
	output: {
		htmlFor: {type: "settable tokenlist", domAttrName: "for" },
		name: "string",
	},
	progress: {
		max: {type: "limited double", defaultVal: 1.0},
	},
	meter: {},
};

mergeElements(formElements);