diff options
Diffstat (limited to 'src/MenuItem.mjs')
-rw-r--r-- | src/MenuItem.mjs | 35 |
1 files changed, 31 insertions, 4 deletions
diff --git a/src/MenuItem.mjs b/src/MenuItem.mjs index 56b935c..6c2a1d9 100644 --- a/src/MenuItem.mjs +++ b/src/MenuItem.mjs | |||
@@ -155,13 +155,40 @@ export const renderResults = ({ modal, modalContent }, map) => | |||
155 | // HACK find another way to override inline style | 155 | // HACK find another way to override inline style |
156 | document.querySelector('.plainmodal-overlay-force').style.position = | 156 | document.querySelector('.plainmodal-overlay-force').style.position = |
157 | 'relative'; | 157 | 'relative'; |
158 | map.renderer.results.forEach(result => | 158 | |
159 | const printDetails = result => { | ||
160 | const funcBody = result.func.toString(); | ||
161 | const loc = funcBody.split('\n').length; | ||
162 | const color = | ||
163 | { | ||
164 | success: 'green', | ||
165 | fail: 'red', | ||
166 | skip: 'black', | ||
167 | stop: 'yellow', | ||
168 | }[result.state] ?? 'black'; | ||
159 | printObject( | 169 | printObject( |
160 | result, | 170 | result, |
161 | modalContent, | 171 | modalContent, |
162 | `${result.func.name} (${result.state})`, | 172 | `${result.func.name} <span class='align-right'>${loc}LOC\x20\x20\x20<span style='display: inline-block; width: 100px; color: ${color};'>${result.state}</span></span>`, |
163 | ), | 173 | ); |
174 | }; | ||
175 | |||
176 | // Add contents about prepare steps | ||
177 | const prepareHeading = document.createElement('h3'); | ||
178 | prepareHeading.textContent = 'Prepare Steps'; | ||
179 | modalContent.appendChild(prepareHeading); | ||
180 | const prepareSteps = map.renderer.results.filter( | ||
181 | r => r.type === 'prepare', | ||
164 | ); | 182 | ); |
183 | prepareSteps.forEach(printDetails); | ||
184 | |||
185 | // Add contents about render steps | ||
186 | const renderHeading = document.createElement('h3'); | ||
187 | renderHeading.textContent = 'Render Steps'; | ||
188 | renderHeading.style.marginTop = '1em'; | ||
189 | modalContent.appendChild(renderHeading); | ||
190 | const renderSteps = map.renderer.results.filter(r => r.type === 'render'); | ||
191 | renderSteps.forEach(printDetails); | ||
165 | }, | 192 | }, |
166 | }); | 193 | }); |
167 | 194 | ||
@@ -172,7 +199,7 @@ function printObject(obj, parentElement, name) { | |||
172 | parentElement.appendChild(detailsEle); | 199 | parentElement.appendChild(detailsEle); |
173 | 200 | ||
174 | detailsEle.onclick = () => { | 201 | detailsEle.onclick = () => { |
175 | if (detailsEle.children.length > 1) return; | 202 | if (detailsEle.querySelector(':scope > :not(summary)')) return; |
176 | 203 | ||
177 | Object.entries(obj).forEach(([key, value]) => { | 204 | Object.entries(obj).forEach(([key, value]) => { |
178 | if (typeof value === 'object') { | 205 | if (typeof value === 'object') { |