aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/MenuItem.mjs
diff options
context:
space:
mode:
Diffstat (limited to 'src/MenuItem.mjs')
-rw-r--r--src/MenuItem.mjs35
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') {