From cca746babcf70cc98dd8a282e9f9236133c04e49 Mon Sep 17 00:00:00 2001 From: Hsieh Chin Fan Date: Tue, 1 Oct 2024 11:25:55 +0800 Subject: feat: print details of renderer result (finally) --- src/MenuItem.mjs | 35 +++++++++++++++++++++++++++++++++-- 1 file changed, 33 insertions(+), 2 deletions(-) (limited to 'src/MenuItem.mjs') diff --git a/src/MenuItem.mjs b/src/MenuItem.mjs index 5604ef1..b4d4650 100644 --- a/src/MenuItem.mjs +++ b/src/MenuItem.mjs @@ -171,7 +171,38 @@ export const renderResults = (dumbymap, map) => modal.closeByEscKey = false; // HACK find another way to override inline style document.querySelector('.plainmodal-overlay-force').style.position = - 'static'; - console.log(map.renderer.results) + 'relative'; + map.renderer.results.forEach(result => + printObject( + result, + dumbymap.modalContent, + `${result.func.name} (${result.state})`, + ), + ); }, }); + +function printObject(obj, parentElement, name) { + const detailsEle = document.createElement('details'); + const details = name ?? Object.values(obj)[0]; + detailsEle.innerHTML = `${details} { + if (detailsEle.children.length > 1) return; + + Object.entries(obj).forEach(([key, value]) => { + if (typeof value === 'object') { + printObject(value, detailsEle, key); + } else { + let valueString = + typeof value === 'function' + ? `
${value}
` + : value ?? typeof value; + const propertyElement = document.createElement('p'); + propertyElement.innerHTML = `${key}: ${valueString}`; + detailsEle.appendChild(propertyElement); + } + }); + }; +} -- cgit v1.2.3-70-g09d2