aboutsummaryrefslogtreecommitdiffhomepage
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/MenuItem.mjs35
-rw-r--r--src/css/dumbymap.css10
-rw-r--r--src/dumbymap.mjs4
3 files changed, 42 insertions, 7 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') {
diff --git a/src/css/dumbymap.css b/src/css/dumbymap.css
index d84ec2b..7cb4d8c 100644
--- a/src/css/dumbymap.css
+++ b/src/css/dumbymap.css
@@ -694,17 +694,20 @@ root {
694 694
695 transform: translate(-50%, -50%); 695 transform: translate(-50%, -50%);
696 overflow-y: scroll; 696 overflow-y: scroll;
697 white-space: pre;
697 698
698 details { 699 details {
699 margin-bottom: 0.5em; 700 margin-bottom: 0.5em;
700 } 701 }
701 702
702 summary { 703 summary {
704 max-width: 60%;
705
703 cursor: pointer; 706 cursor: pointer;
704 } 707 }
705 708
706 details > :not(summary) { 709 details > :not(summary) {
707 padding-left: 1em; 710 padding-left: 2em;
708 } 711 }
709 712
710 p { 713 p {
@@ -718,4 +721,9 @@ root {
718 721
719 background: #f0f0f0; 722 background: #f0f0f0;
720 } 723 }
724
725 .align-right {
726 display: inline-block;
727 float: right;
728 }
721} 729}
diff --git a/src/dumbymap.mjs b/src/dumbymap.mjs
index d77d49c..2a6f332 100644
--- a/src/dumbymap.mjs
+++ b/src/dumbymap.mjs
@@ -379,11 +379,11 @@ export const generateMaps = (container, { delay, mapCallback }) => {
379 */ 379 */
380 const updateAttributeByStep = ({ results, target, steps }) => { 380 const updateAttributeByStep = ({ results, target, steps }) => {
381 let passNum = results.filter( 381 let passNum = results.filter(
382 r => r.type === 'step' && r.state.match(/success|skip/), 382 r => r.type === 'render' && r.state.match(/success|skip/),
383 ).length; 383 ).length;
384 const total = steps.length; 384 const total = steps.length;
385 passNum += `/${total}`; 385 passNum += `/${total}`;
386 if (results.filter(r => r.type === 'step').length === total) { 386 if (results.filter(r => r.type === 'render').length === total) {
387 passNum += '\u0020'; 387 passNum += '\u0020';
388 } 388 }
389 389