diff options
Diffstat (limited to 'src')
-rw-r--r-- | src/MenuItem.mjs | 35 | ||||
-rw-r--r-- | src/css/dumbymap.css | 10 | ||||
-rw-r--r-- | src/dumbymap.mjs | 4 |
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 | ||