1 |
|
2 |
|
3 |
|
4 |
|
5 |
|
6 |
|
7 |
|
8 |
|
9 |
|
10 |
|
11 | 'use strict';
|
12 |
|
13 | var DOMProperty = require('./DOMProperty');
|
14 |
|
15 | var MUST_USE_PROPERTY = DOMProperty.injection.MUST_USE_PROPERTY;
|
16 | var HAS_BOOLEAN_VALUE = DOMProperty.injection.HAS_BOOLEAN_VALUE;
|
17 | var HAS_NUMERIC_VALUE = DOMProperty.injection.HAS_NUMERIC_VALUE;
|
18 | var HAS_POSITIVE_NUMERIC_VALUE = DOMProperty.injection.HAS_POSITIVE_NUMERIC_VALUE;
|
19 | var HAS_OVERLOADED_BOOLEAN_VALUE = DOMProperty.injection.HAS_OVERLOADED_BOOLEAN_VALUE;
|
20 |
|
21 | var HTMLDOMPropertyConfig = {
|
22 | isCustomAttribute: RegExp.prototype.test.bind(new RegExp('^(data|aria)-[' + DOMProperty.ATTRIBUTE_NAME_CHAR + ']*$')),
|
23 | Properties: {
|
24 | |
25 |
|
26 |
|
27 | accept: 0,
|
28 | acceptCharset: 0,
|
29 | accessKey: 0,
|
30 | action: 0,
|
31 | allowFullScreen: HAS_BOOLEAN_VALUE,
|
32 | allowTransparency: 0,
|
33 | alt: 0,
|
34 |
|
35 | as: 0,
|
36 | async: HAS_BOOLEAN_VALUE,
|
37 | autoComplete: 0,
|
38 |
|
39 |
|
40 | autoPlay: HAS_BOOLEAN_VALUE,
|
41 | capture: HAS_BOOLEAN_VALUE,
|
42 | cellPadding: 0,
|
43 | cellSpacing: 0,
|
44 | charSet: 0,
|
45 | challenge: 0,
|
46 | checked: MUST_USE_PROPERTY | HAS_BOOLEAN_VALUE,
|
47 | cite: 0,
|
48 | classID: 0,
|
49 | className: 0,
|
50 | cols: HAS_POSITIVE_NUMERIC_VALUE,
|
51 | colSpan: 0,
|
52 | content: 0,
|
53 | contentEditable: 0,
|
54 | contextMenu: 0,
|
55 | controls: HAS_BOOLEAN_VALUE,
|
56 | coords: 0,
|
57 | crossOrigin: 0,
|
58 | data: 0,
|
59 | dateTime: 0,
|
60 | 'default': HAS_BOOLEAN_VALUE,
|
61 | defer: HAS_BOOLEAN_VALUE,
|
62 | dir: 0,
|
63 | disabled: HAS_BOOLEAN_VALUE,
|
64 | download: HAS_OVERLOADED_BOOLEAN_VALUE,
|
65 | draggable: 0,
|
66 | encType: 0,
|
67 | form: 0,
|
68 | formAction: 0,
|
69 | formEncType: 0,
|
70 | formMethod: 0,
|
71 | formNoValidate: HAS_BOOLEAN_VALUE,
|
72 | formTarget: 0,
|
73 | frameBorder: 0,
|
74 | headers: 0,
|
75 | height: 0,
|
76 | hidden: HAS_BOOLEAN_VALUE,
|
77 | high: 0,
|
78 | href: 0,
|
79 | hrefLang: 0,
|
80 | htmlFor: 0,
|
81 | httpEquiv: 0,
|
82 | icon: 0,
|
83 | id: 0,
|
84 | inputMode: 0,
|
85 | integrity: 0,
|
86 | is: 0,
|
87 | keyParams: 0,
|
88 | keyType: 0,
|
89 | kind: 0,
|
90 | label: 0,
|
91 | lang: 0,
|
92 | list: 0,
|
93 | loop: HAS_BOOLEAN_VALUE,
|
94 | low: 0,
|
95 | manifest: 0,
|
96 | marginHeight: 0,
|
97 | marginWidth: 0,
|
98 | max: 0,
|
99 | maxLength: 0,
|
100 | media: 0,
|
101 | mediaGroup: 0,
|
102 | method: 0,
|
103 | min: 0,
|
104 | minLength: 0,
|
105 |
|
106 |
|
107 | multiple: MUST_USE_PROPERTY | HAS_BOOLEAN_VALUE,
|
108 | muted: MUST_USE_PROPERTY | HAS_BOOLEAN_VALUE,
|
109 | name: 0,
|
110 | nonce: 0,
|
111 | noValidate: HAS_BOOLEAN_VALUE,
|
112 | open: HAS_BOOLEAN_VALUE,
|
113 | optimum: 0,
|
114 | pattern: 0,
|
115 | placeholder: 0,
|
116 | playsInline: HAS_BOOLEAN_VALUE,
|
117 | poster: 0,
|
118 | preload: 0,
|
119 | profile: 0,
|
120 | radioGroup: 0,
|
121 | readOnly: HAS_BOOLEAN_VALUE,
|
122 | referrerPolicy: 0,
|
123 | rel: 0,
|
124 | required: HAS_BOOLEAN_VALUE,
|
125 | reversed: HAS_BOOLEAN_VALUE,
|
126 | role: 0,
|
127 | rows: HAS_POSITIVE_NUMERIC_VALUE,
|
128 | rowSpan: HAS_NUMERIC_VALUE,
|
129 | sandbox: 0,
|
130 | scope: 0,
|
131 | scoped: HAS_BOOLEAN_VALUE,
|
132 | scrolling: 0,
|
133 | seamless: HAS_BOOLEAN_VALUE,
|
134 | selected: MUST_USE_PROPERTY | HAS_BOOLEAN_VALUE,
|
135 | shape: 0,
|
136 | size: HAS_POSITIVE_NUMERIC_VALUE,
|
137 | sizes: 0,
|
138 | span: HAS_POSITIVE_NUMERIC_VALUE,
|
139 | spellCheck: 0,
|
140 | src: 0,
|
141 | srcDoc: 0,
|
142 | srcLang: 0,
|
143 | srcSet: 0,
|
144 | start: HAS_NUMERIC_VALUE,
|
145 | step: 0,
|
146 | style: 0,
|
147 | summary: 0,
|
148 | tabIndex: 0,
|
149 | target: 0,
|
150 | title: 0,
|
151 |
|
152 | type: 0,
|
153 | useMap: 0,
|
154 | value: 0,
|
155 | width: 0,
|
156 | wmode: 0,
|
157 | wrap: 0,
|
158 |
|
159 | |
160 |
|
161 |
|
162 | about: 0,
|
163 | datatype: 0,
|
164 | inlist: 0,
|
165 | prefix: 0,
|
166 |
|
167 | property: 0,
|
168 | resource: 0,
|
169 | 'typeof': 0,
|
170 | vocab: 0,
|
171 |
|
172 | |
173 |
|
174 |
|
175 |
|
176 |
|
177 | autoCapitalize: 0,
|
178 | autoCorrect: 0,
|
179 |
|
180 | autoSave: 0,
|
181 |
|
182 | color: 0,
|
183 |
|
184 |
|
185 | itemProp: 0,
|
186 | itemScope: HAS_BOOLEAN_VALUE,
|
187 | itemType: 0,
|
188 |
|
189 |
|
190 |
|
191 | itemID: 0,
|
192 | itemRef: 0,
|
193 |
|
194 |
|
195 | results: 0,
|
196 |
|
197 |
|
198 | security: 0,
|
199 |
|
200 | unselectable: 0
|
201 | },
|
202 | DOMAttributeNames: {
|
203 | acceptCharset: 'accept-charset',
|
204 | className: 'class',
|
205 | htmlFor: 'for',
|
206 | httpEquiv: 'http-equiv'
|
207 | },
|
208 | DOMPropertyNames: {},
|
209 | DOMMutationMethods: {
|
210 | value: function (node, value) {
|
211 | if (value == null) {
|
212 | return node.removeAttribute('value');
|
213 | }
|
214 |
|
215 |
|
216 |
|
217 |
|
218 | if (node.type !== 'number' || node.hasAttribute('value') === false) {
|
219 | node.setAttribute('value', '' + value);
|
220 | } else if (node.validity && !node.validity.badInput && node.ownerDocument.activeElement !== node) {
|
221 |
|
222 |
|
223 |
|
224 |
|
225 |
|
226 |
|
227 |
|
228 |
|
229 | node.setAttribute('value', '' + value);
|
230 | }
|
231 | }
|
232 | }
|
233 | };
|
234 |
|
235 | module.exports = HTMLDOMPropertyConfig; |
\ | No newline at end of file |