More updates to itb (wip)
This commit is contained in:
178
tools/itb/js/dom_analyzer.js.patch
Normal file
178
tools/itb/js/dom_analyzer.js.patch
Normal file
@@ -0,0 +1,178 @@
|
||||
136,137c136,137
|
||||
< // Get element base info
|
||||
< const elementInfo = {
|
||||
---
|
||||
> // Get element base info
|
||||
> const elementInfo = {
|
||||
140c140
|
||||
< y: Math.round(isFixed ? rect.top : rect.top + window.pageYOffset),
|
||||
---
|
||||
> y: Math.round(isFixed ? rect.top : rect.top + window.pageYOffset),
|
||||
141c141
|
||||
< width: Math.round(rect.width),
|
||||
---
|
||||
> width: Math.round(rect.width),
|
||||
142c142
|
||||
< height: Math.round(rect.height),
|
||||
---
|
||||
> height: Math.round(rect.height),
|
||||
143c143
|
||||
< interactions: [],
|
||||
---
|
||||
> interactions: [],
|
||||
144c144
|
||||
< fixed: isFixed
|
||||
---
|
||||
> fixed: isFixed
|
||||
148c148
|
||||
< if (isClickable(element) || isInputElement(element)) {
|
||||
---
|
||||
> if (isClickable(element) || isInputElement(element)) {
|
||||
150c150
|
||||
< const id = element.id;
|
||||
---
|
||||
> const id = element.id;
|
||||
151c151
|
||||
< if (id) {
|
||||
---
|
||||
> if (id) {
|
||||
152c152
|
||||
< elementInfo.id = id;
|
||||
---
|
||||
> elementInfo.id = id;
|
||||
153c153
|
||||
< } else {
|
||||
---
|
||||
> } else {
|
||||
154c154
|
||||
< // Only add suggested click if there's no ID
|
||||
---
|
||||
> // Only add suggested click if there's no ID
|
||||
155c155
|
||||
< elementInfo.suggestedClick = {
|
||||
---
|
||||
> elementInfo.suggestedClick = {
|
||||
156c156
|
||||
< x: Math.round(elementInfo.x + elementInfo.width / 2),
|
||||
---
|
||||
> x: Math.round(elementInfo.x + elementInfo.width / 2),
|
||||
157c157
|
||||
< y: Math.round(elementInfo.y + elementInfo.height / 2)
|
||||
---
|
||||
> y: Math.round(elementInfo.y + elementInfo.height / 2)
|
||||
158c158
|
||||
< };
|
||||
---
|
||||
> };
|
||||
161c161
|
||||
< const isInteractive = isClickable(element) || isInputElement(element);
|
||||
---
|
||||
> const isInteractive = isClickable(element) || isInputElement(element);
|
||||
163c163
|
||||
< if (!isInteractive) {
|
||||
---
|
||||
> if (!isInteractive) {
|
||||
164c164
|
||||
< elementInfo.text = getElementText(element);
|
||||
---
|
||||
> elementInfo.text = getElementText(element);
|
||||
166c166
|
||||
< }
|
||||
---
|
||||
> }
|
||||
168c168
|
||||
< if (isClickable(element)) {
|
||||
---
|
||||
> if (isClickable(element)) {
|
||||
169c169
|
||||
< elementInfo.interactions.push('click');
|
||||
---
|
||||
> elementInfo.interactions.push('click');
|
||||
170c170
|
||||
< elementInfo.buttonText = getElementText(element);
|
||||
---
|
||||
> elementInfo.buttonText = getElementText(element);
|
||||
172c172
|
||||
< }
|
||||
---
|
||||
> }
|
||||
173c173
|
||||
< if (isInputElement(element)) {
|
||||
---
|
||||
> if (isInputElement(element)) {
|
||||
174c174
|
||||
< const inputType = element.getAttribute('type') || 'text';
|
||||
---
|
||||
> const inputType = element.getAttribute('type') || 'text';
|
||||
175c175
|
||||
< elementInfo.interactions.push(`input:${inputType}`);
|
||||
---
|
||||
> elementInfo.interactions.push(`input:${inputType}`);
|
||||
177c177
|
||||
< const placeholder = element.getAttribute('placeholder');
|
||||
---
|
||||
> const placeholder = element.getAttribute('placeholder');
|
||||
178c178
|
||||
< if (placeholder) {
|
||||
---
|
||||
> if (placeholder) {
|
||||
179c179
|
||||
< elementInfo.placeholder = placeholder;
|
||||
---
|
||||
> elementInfo.placeholder = placeholder;
|
||||
180c180
|
||||
< }
|
||||
---
|
||||
> }
|
||||
182c182
|
||||
< }
|
||||
---
|
||||
> }
|
||||
183c183
|
||||
< if (isScrollable(element)) {
|
||||
---
|
||||
> if (isScrollable(element)) {
|
||||
184c184
|
||||
< elementInfo.interactions.push('scroll');
|
||||
---
|
||||
> elementInfo.interactions.push('scroll');
|
||||
186c186
|
||||
< }
|
||||
---
|
||||
> }
|
||||
188c188
|
||||
< if (element.tagName === 'IMG') {
|
||||
---
|
||||
> if (element.tagName === 'IMG') {
|
||||
189c189
|
||||
< elementInfo.src = element.src;
|
||||
---
|
||||
> elementInfo.src = element.src;
|
||||
190c190
|
||||
< elementInfo.alt = element.alt;
|
||||
---
|
||||
> elementInfo.alt = element.alt;
|
||||
192c192
|
||||
< }
|
||||
---
|
||||
> }
|
||||
194c194
|
||||
< elementInfo.children = Array.from(element.children)
|
||||
---
|
||||
> elementInfo.children = Array.from(element.children)
|
||||
195c195
|
||||
< .map(child => processElements(child))
|
||||
---
|
||||
> .map(child => processElements(child))
|
||||
196c196
|
||||
< .flat()
|
||||
---
|
||||
> .flat()
|
||||
197c197
|
||||
< .filter(child => child !== null);
|
||||
---
|
||||
> .filter(child => child !== null);
|
||||
199c199
|
||||
< return elementInfo;
|
||||
---
|
||||
> return elementInfo;
|
||||
Reference in New Issue
Block a user