|
51 | 51 | });
|
52 | 52 |
|
53 | 53 | // Customize header changes dropdown menu
|
54 |
| - plugin.hook('header-dropdown-Changes').onAttached(element => { |
| 54 | + plugin.hook('header-dropdown-changes').onAttached(element => { |
55 | 55 | // this is ugly, but there is no API for this
|
56 |
| - var ul_elem = element.content.children[1].children[0].children[0].children[0]; |
| 56 | + var parent_elem = element.parentNode.host; |
| 57 | + var ul_elem = parent_elem.childNodes[1].root.childNodes[4].childNodes[1].childNodes[1]; |
57 | 58 | var li_elem;
|
58 | 59 | var link_elem;
|
59 | 60 |
|
|
77 | 78 | });
|
78 | 79 |
|
79 | 80 | // Hide Sanity Bot review score row by default in reply dialog
|
80 |
| - plugin.hook('review-label-scores-Sanity-Review').onAttached(element => { |
81 |
| - const html = '<div onclick="\ |
82 |
| - document.getElementById(\'sanitybotreviewmorediv\').style.display=\'none\'; \ |
83 |
| - document.getElementById(\'sanitybotreviewscorediv\').style.display=\'block\'; \ |
84 |
| - \"> \ |
| 81 | + plugin.hook('review-label-scores-sanity-review').onAttached(element => { |
| 82 | + const html = '<div id="review-label-scores-sanity-review-more-button"> \ |
85 | 83 | <div id="sanitybotreviewmorediv" style="display:block;">more...</div> \
|
86 | 84 | <div id="sanitybotreviewscorediv" style="display:none;"></div> \
|
87 | 85 | </div>';
|
88 | 86 | var wrapper_elem = document.createElement('div');
|
89 | 87 | wrapper_elem.innerHTML = html;
|
90 |
| - var child_elem = element.content.children[0]; |
91 |
| - element.content.replaceChild(wrapper_elem, child_elem); |
92 |
| - document.getElementById('sanitybotreviewscorediv').appendChild(child_elem); |
| 88 | + |
| 89 | + // Access the shadow DOM root (seems to be the same as .shadowRoot). |
| 90 | + var child_elem = element.content.root.childNodes[2]; |
| 91 | + element.content.root.replaceChild(wrapper_elem, child_elem); |
| 92 | + |
| 93 | + // Append the original content inside the just-replaced element. |
| 94 | + wrapper_elem.querySelector("#sanitybotreviewscorediv").appendChild(child_elem); |
| 95 | + |
| 96 | + // Install click listener to show the score buttons when clicking on more. |
| 97 | + var more_button_handler = wrapper_elem.querySelector("#review-label-scores-sanity-review-more-button"); |
| 98 | + var more_button_div = wrapper_elem.querySelector("#sanitybotreviewmorediv"); |
| 99 | + var review_score_div = wrapper_elem.querySelector("#sanitybotreviewscorediv"); |
| 100 | + more_button_handler.addEventListener("click", function() { |
| 101 | + more_button_div.style.display = "none"; |
| 102 | + review_score_div.style.display = "block"; |
| 103 | + }); |
| 104 | + |
93 | 105 | });
|
94 | 106 |
|
95 | 107 | // Customize change view
|
|
100 | 112 | plugin.ca.setActionHidden('revision', 'rebase', true);
|
101 | 113 |
|
102 | 114 | // Hide 'Sanity-Review+1' button in header
|
103 |
| - var secondaryActionsElem = document.getElementById("secondaryActions"); |
| 115 | + var secondaryActionsElem = plugin.ca._el.root.querySelector("#secondaryActions"); |
104 | 116 | if (secondaryActionsElem &&
|
105 | 117 | secondaryActionsElem.innerHTML &&
|
106 | 118 | secondaryActionsElem.innerHTML.indexOf('Sanity-Review+1') != -1) {
|
|
0 commit comments