forked from MyOutDeskLLC/auto-bcc
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathtrash.js
83 lines (71 loc) · 2.6 KB
/
trash.js
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
// this.focusToField(formElement);
// this.locateRecipientContainer(formElement);
// this.focusToField(formElement);
// console.log(formElement.querySelector(SELECTOR_FOR_CC_SPAN));
// this.observeCcField(formElement.querySelector(SELECTOR_FOR_CC_SPAN));
// this.observeCcField(formElement.querySelector(SELECTOR_FOR_CC_SPAN));
// formElement.querySelector(SELECTOR_FOR_CC_SPAN)?.click();
// formElement.querySelector(SELECTOR_FOR_BCC_SPAN)?.click();
//
// this.autofillField(formElement, this.bccEmails, 'bcc');
// this.autofillField(formElement, this.ccEmails, 'cc');
//
// this.locateRecipientContainer(formElement);
// this.focusToField(formElement);
//
// formElement.children[1].click();
locateRecipientContainer = (formElement) => {
let keepGoing = true;
formElement.querySelectorAll('div').forEach(divAvailable => {
if(!keepGoing) {
return;
}
if(divAvailable.innerText === 'Recipients') {
divAvailable.click();
keepGoing = false;
}
})
}
focusToField = (formElement) => {
formElement.querySelectorAll('div.afx').forEach(divElement => {
if(divElement.ariaLabel && divElement.ariaLabel.toLowerCase().startsWith(`search field`)) {
let properEmailInputField = divElement.querySelector('input');
properEmailInputField.focus();
// let properToField = spanElement.parentElement.parentElement.querySelector('input');
}
})
}
observeEmailInputField = (element) => {
let primaryInputField = this.locateRecipientField(element);
console.log(primaryInputField)
primaryInputField.addEventListener('change', (e) => {
console.log(e.target.value);
})
}
locateRecipientField = (element) => {
let foundElement = null;
element.querySelectorAll('div.afx').forEach(divElement => {
if(divElement.ariaLabel && divElement.ariaLabel.toLowerCase().startsWith(`search field`)) {
foundElement = divElement.querySelector('input');
}
})
return foundElement
}
observeCcField = (element) => {
const bccConfiguration = {
attributes: true,
childList: false,
subtree: false
}
const fieldReadyCallback = (mutationList, observer) => {
for (const mutation of mutationList) {
if (mutation.attributeName === 'style') {
console.log(`The ${mutation.attributeName} attribute was modified.`);
element.click();
observer.disconnect();
}
}
}
const observer = new MutationObserver(fieldReadyCallback);
observer.observe(element, bccConfiguration);
}