(domElement, updatePayload, tag, lastRawProps, nextRawProps)
| 10140 | } // Apply the diff. |
| 10141 | |
| 10142 | function updateProperties(domElement, updatePayload, tag, lastRawProps, nextRawProps) { |
| 10143 | // Update checked *before* name. |
| 10144 | // In the middle of an update, it is possible to have multiple checked. |
| 10145 | // When a checked radio tries to change name, browser makes another radio's checked false. |
| 10146 | if (tag === 'input' && nextRawProps.type === 'radio' && nextRawProps.name != null) { |
| 10147 | updateChecked(domElement, nextRawProps); |
| 10148 | } |
| 10149 | |
| 10150 | var wasCustomComponentTag = isCustomComponent(tag, lastRawProps); |
| 10151 | var isCustomComponentTag = isCustomComponent(tag, nextRawProps); // Apply the diff. |
| 10152 | |
| 10153 | updateDOMProperties(domElement, updatePayload, wasCustomComponentTag, isCustomComponentTag); // TODO: Ensure that an update gets scheduled if any of the special props |
| 10154 | // changed. |
| 10155 | |
| 10156 | switch (tag) { |
| 10157 | case 'input': |
| 10158 | // Update the wrapper around inputs *after* updating props. This has to |
| 10159 | // happen after `updateDOMProperties`. Otherwise HTML5 input validations |
| 10160 | // raise warnings and prevent the new value from being assigned. |
| 10161 | updateWrapper(domElement, nextRawProps); |
| 10162 | break; |
| 10163 | |
| 10164 | case 'textarea': |
| 10165 | updateWrapper$1(domElement, nextRawProps); |
| 10166 | break; |
| 10167 | |
| 10168 | case 'select': |
| 10169 | // <select> value update needs to occur after <option> children |
| 10170 | // reconciliation |
| 10171 | postUpdateWrapper(domElement, nextRawProps); |
| 10172 | break; |
| 10173 | } |
| 10174 | } |
| 10175 | |
| 10176 | function getPossibleStandardName(propName) { |
| 10177 | { |
no test coverage detected
searching dependent graphs…