<?xml version="1.0" encoding="UTF-8"?><rss xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:atom="http://www.w3.org/2005/Atom" version="2.0" xmlns:webfeeds="http://webfeeds.org/rss/1.0">
    <channel>
        <title><![CDATA[Polyeda Community]]></title>
        <description><![CDATA[Polyeda Community]]></description>
        <link>https://community.polyeda.com</link>
        <generator>Bettermode RSS Generator</generator>
        <lastBuildDate>Sun, 12 Apr 2026 14:20:50 GMT</lastBuildDate>
        <atom:link href="https://community.polyeda.com/rss/feed" rel="self" type="application/rss+xml"/>
        <pubDate>Sun, 12 Apr 2026 14:20:50 GMT</pubDate>
        <copyright><![CDATA[2026 Polyeda Community]]></copyright>
        <language><![CDATA[en-US]]></language>
        <ttl>60</ttl>
        <webfeeds:icon></webfeeds:icon>
        <webfeeds:related layout="card" target="browser"/>
        <item>
            <title><![CDATA[See Your Data in a Whole New Way 📈😯🖼️]]></title>
            <description><![CDATA[Explore your data more easily with the new Analytics Gallery, a visual dashboard that helps you view and manage multiple metrics in one place.

You can now monitor different measures side by side, ...]]></description>
            <link>https://community.polyeda.com/product-updates-92vprdq8/post/see-your-data-in-a-whole-new-way-XldkPdChAfSXzla</link>
            <guid isPermaLink="true">https://community.polyeda.com/product-updates-92vprdq8/post/see-your-data-in-a-whole-new-way-XldkPdChAfSXzla</guid>
            <category><![CDATA[Analytics]]></category>
            <dc:creator><![CDATA[Shir Weiss]]></dc:creator>
            <pubDate>Mon, 30 Mar 2026 20:11:17 GMT</pubDate>
            <content:encoded><![CDATA[<p>Explore your data more easily with the new Analytics Gallery, a visual dashboard that helps you view and manage multiple metrics in one place.</p><p>You can now monitor different measures side by side, compare results, and stay up to date as new data comes in — without switching between views.</p><p>Whether you're tracking performance, analyzing trends, or reviewing results, this feature helps you stay organized and focused on what matters most.</p><p>🧭 Open your analytics and switch to the gallery view to start exploring.</p>]]></content:encoded>
        </item>
        <item>
            <title><![CDATA[Build Smarter Surveys with Full Visibility 📋👀]]></title>
            <description><![CDATA[Build better surveys with full visibility into your measures as you work, so you can easily manage structure, length, and complexity.

You can now see a complete breakdown of your survey, including the ...]]></description>
            <link>https://community.polyeda.com/product-updates-92vprdq8/post/build-smarter-surveys-with-full-visibility-tBHfmiPCaQ16yjF</link>
            <guid isPermaLink="true">https://community.polyeda.com/product-updates-92vprdq8/post/build-smarter-surveys-with-full-visibility-tBHfmiPCaQ16yjF</guid>
            <category><![CDATA[Surveys]]></category>
            <dc:creator><![CDATA[Shir Weiss]]></dc:creator>
            <pubDate>Mon, 30 Mar 2026 20:02:23 GMT</pubDate>
            <content:encoded><![CDATA[<p>Build better surveys with full visibility into your measures as you work, so you can easily manage structure, length, and complexity.</p><p>You can now see a complete breakdown of your survey, including the number of items, pages, and question types, along with an automatic estimate of participants’ response time.</p><p>Collaboration is smoother than ever, with the ability to leave comments on specific questions and see when others are also viewing the same survey.</p><p>Whether you're refining a short feedback form or building a complex study, this helps you stay organized and create a better experience for your respondents.</p><p>🛠️ Try it in your next survey and build with more clarity and control.</p>]]></content:encoded>
        </item>
        <item>
            <title><![CDATA[JS – Carry Forward Selected Options]]></title>
            <description><![CDATA[OVERVIEW

This utility dynamically carries forward the options selected in one question and displays them as the available options in the next question.

It allows respondents to first select multiple ...]]></description>
            <link>https://community.polyeda.com/utilities-dqiz8rw8/post/js-carry-forward-selected-options-PkzqEvjnJOjr771</link>
            <guid isPermaLink="true">https://community.polyeda.com/utilities-dqiz8rw8/post/js-carry-forward-selected-options-PkzqEvjnJOjr771</guid>
            <category><![CDATA[JavaScript]]></category>
            <dc:creator><![CDATA[Shir Weiss]]></dc:creator>
            <pubDate>Wed, 04 Mar 2026 16:45:05 GMT</pubDate>
            <content:encoded><![CDATA[<h2 class="text-xl" data-toc-id="abc76bf5-dbeb-4279-9b79-6063222a4599" id="abc76bf5-dbeb-4279-9b79-6063222a4599">Overview</h2><p>This utility dynamically carries forward the options selected in one question and displays them as the available options in the next question.</p><p>It allows respondents to first select multiple items and then answer a follow-up question based only on those selected options.</p><p>This approach is useful when respondents must first <strong>identify relevant items</strong> and then <strong>choose their preferred option from that subset</strong>.</p><p>Typical use cases include:</p><ul><li><p>Selecting preferred brands and then choosing the favorite</p></li><li><p>Selecting services used and then identifying the most important</p></li><li><p>Selecting challenges and then choosing the biggest one<br></p></li></ul><h2 class="text-xl" data-toc-id="8083c3a4-7ff5-480b-b814-52a005f254e2" id="8083c3a4-7ff5-480b-b814-52a005f254e2">Example</h2><h3 class="text-lg" data-toc-id="2b283f80-e7f5-4b81-88e2-ebc0276bb3b2" id="2b283f80-e7f5-4b81-88e2-ebc0276bb3b2">Question 1</h3><p><strong>Which fruits do you like?</strong> <em>(Multiple choice – checkboxes)</em></p><ul><li><p>Apple</p></li><li><p>Banana</p></li><li><p>Orange</p></li><li><p>Mango</p></li></ul><p>The respondent selects:</p><p>✔ Apple<br>✔ Orange</p><h3 class="text-lg" data-toc-id="e534f565-f9b5-41e0-9118-e1acd8682096" id="e534f565-f9b5-41e0-9118-e1acd8682096">Question 2</h3><p><strong>Which one do you like the most?</strong> <em>(Single choice – radio buttons)</em></p><p>Only the previously selected options will appear:</p><ul><li><p>Apple</p></li><li><p>Orange</p></li></ul><p>All other options will automatically be hidden.</p><p></p><h2 class="text-xl" data-toc-id="0f91c122-a48d-429c-9a03-bdda8420f9f2" id="0f91c122-a48d-429c-9a03-bdda8420f9f2"><strong>Step 1. Create a Variable</strong></h2><p>Create a survey variable with the following configuration:</p><ul><li><p><strong>Name:</strong> <code>firstQuestionSelectedOption</code></p></li><li><p><strong>Type:</strong> <code>From URL</code></p></li></ul><p>This variable will temporarily store the selected option text from the first question.</p><p></p><h2 class="text-xl" data-toc-id="d77e79ff-4b41-4ba2-89af-c7aa90fe6755" id="d77e79ff-4b41-4ba2-89af-c7aa90fe6755"><strong>Step 2. First Question</strong></h2><h3 class="text-lg" data-toc-id="67001c6f-fc1c-4680-99fd-862e0859e3ee" id="67001c6f-fc1c-4680-99fd-862e0859e3ee">Question Type</h3><p>Multiple Choice <em>(Checkboxes)</em></p><h3 class="text-lg" data-toc-id="25a5caf0-e9fd-4ec2-960f-8e59240f2077" id="25a5caf0-e9fd-4ec2-960f-8e59240f2077">Placement</h3><p>Add the following code under:</p><p><strong>JS – On Next Button Click</strong></p><pre class="language-javascript"><code class="language-javascript">//// First Question (JS - On Next Button Click)

(function () {
  var root =
    (document.activeElement &amp;&amp; document.activeElement.closest &amp;&amp; document.activeElement.closest("app-select-form")) ||
    document.querySelector("app-select-form");

  if (!root) return;

  var selectedCheckboxes = null;
  try { selectedCheckboxes = root.querySelectorAll('[role="checkbox"][aria-checked="true"]'); } catch(e) {}

  if (!selectedCheckboxes || selectedCheckboxes.length === 0) return;

  var selectedTexts = [];
  for (var i = 0; i &lt; selectedCheckboxes.length; i++) {
    var cb = selectedCheckboxes[i];
    var labelId = cb.getAttribute("aria-labelledby");
    var labelEl = labelId ? root.querySelector("#" + CSS.escape(labelId)) : null;
    var text = (labelEl &amp;&amp; labelEl.textContent) ||
               (cb.querySelector &amp;&amp; cb.querySelector(".p-button-label") &amp;&amp; cb.querySelector(".p-button-label").textContent) ||
               "";
    text = (text || "").trim();
    if (text) selectedTexts.push(text);
  }

  PolyedaClientApi.setVariable("firstQuestionSelectedOptions", JSON.stringify(selectedTexts));
})();</code></pre><p></p><h2 class="text-xl" data-toc-id="03c9667f-dcde-4ec1-b6dc-3139f026de59" id="03c9667f-dcde-4ec1-b6dc-3139f026de59"><strong>Step 3. Second Question</strong></h2><h3 class="text-lg" data-toc-id="3e2a3051-49f7-4551-b988-b8e9f3ddde78" id="3e2a3051-49f7-4551-b988-b8e9f3ddde78">Question Type</h3><p>Multiple Choice <em>(Radio Buttons)</em></p><h3 class="text-lg" data-toc-id="f416f219-1a1a-4316-884c-b3088a246656" id="f416f219-1a1a-4316-884c-b3088a246656">Placement</h3><p>Add the following code under:</p><p><strong>JS – On Load</strong></p><pre class="language-javascript"><code class="language-javascript">//// Second Question (JS - On Load)

(function () {
  function log(msg) { try { console.log("[my-script] " + msg); } catch (e) {} }

  function normalizeText(s) {
    s = (s == null) ? "" : String(s);
    s = s.split("\u00A0").join(" ");
    for (var k = 0; k &lt; 5; k++) s = s.split("  ").join(" ");
    return s.trim();
  }

  function isVisible(el) {
    try {
      if (!el) return false;
      if (el.getClientRects &amp;&amp; el.getClientRects().length === 0) return false;
      if (el.offsetParent === null) return false;
      return true;
    } catch (e) { return false; }
  }

  function strongHide(el) {
    if (!el) return;
    try { el.style.setProperty("display", "none", "important"); } catch (e) {}
    try { el.style.setProperty("visibility", "hidden", "important"); } catch (e) {}
    try { el.style.setProperty("height", "0", "important"); } catch (e) {}
    try { el.style.setProperty("margin", "0", "important"); } catch (e) {}
    try { el.style.setProperty("padding", "0", "important"); } catch (e) {}
    try { el.style.setProperty("pointer-events", "none", "important"); } catch (e) {}
  }

  // 1) Read the stored options array (JSON string)
  var firstQuestionSelectedOptions = null;
  try { 
    firstQuestionSelectedOptions = PolyedaClientApi.getVariable("firstQuestionSelectedOptions");
  } catch (e) {}

  if (!firstQuestionSelectedOptions) {
    log("firstQuestionSelectedOptions empty -&gt; abort");
    return;
  }

  // Parse JSON array safely
  var selectedOptionsArray = [];
  try {
    selectedOptionsArray = JSON.parse(firstQuestionSelectedOptions);
  } catch(e) {
    log("Error parsing firstQuestionSelectedOptions JSON: " + e);
    return;
  }

  // Normalize all selected options texts
  for (var idx = 0; idx &lt; selectedOptionsArray.length; idx++) {
    selectedOptionsArray[idx] = normalizeText(selectedOptionsArray[idx]);
  }
  log("Selected options array: [" + selectedOptionsArray.join(", ") + "]");

  // 2) Find the current question container by title text (like your example)
  var titles = null;
  try { titles = document.querySelectorAll(".question-title"); } catch (e) {}

  var questionRoot = null;
  if (titles &amp;&amp; titles.length) {
    for (var i = 0; i &lt; titles.length; i++) {
      var t = titles[i];
      var txt = normalizeText(t.textContent || "");
      if (txt.indexOf("בחירה שנייה") &gt;= 0) {
        questionRoot = (t.closest &amp;&amp; t.closest(".question")) ? t.closest(".question") : null;
        if (!questionRoot) {
          questionRoot = (t.parentNode &amp;&amp; t.parentNode.parentNode) ? t.parentNode.parentNode : null;
        }
        break;
      }
    }
  }

  if (!questionRoot) {
    log("questionRoot not found by title -&gt; fallback to first app-select-form");
    try { questionRoot = document.querySelector("app-select-form"); } catch (e) {}
  }

  if (!questionRoot) {
    log("no usable root found -&gt; abort");
    return;
  }

  // 3) Hide options that are NOT included in selectedOptionsArray
  function hideUnselectedOptions(root) {
    if (!root) return 0;
    var count = 0;

    // Hide by role="radio" using aria-labelledby match
    var radios = null;
    try { radios = root.querySelectorAll('[role="radio"]'); } catch (e) {}

    if (radios &amp;&amp; radios.length) {
      for (var r = 0; r &lt; radios.length; r++) {
        var radio = radios[r];
        var al = "";
        try { al = normalizeText(radio.getAttribute ? radio.getAttribute("aria-labelledby") : ""); } catch (e) {}

        if (selectedOptionsArray.indexOf(al) === -1) {
          var block = (radio.closest &amp;&amp; radio.closest(".select-question")) ? radio.closest(".select-question") : null;
          if (!block) block = radio.parentNode;

          log("Hiding block by aria-labelledby (visible=" + (isVisible(block) ? "true" : "false") + "): " + al);
          strongHide(block);
          count++;
        }
      }
    }

    // Additional check using label text
    var labels = null;
    try { labels = root.querySelectorAll(".select-question .p-button-label"); } catch (e) {}

    if (labels &amp;&amp; labels.length) {
      for (var j = 0; j &lt; labels.length; j++) {
        var labelEl = labels[j];
        var lt = normalizeText(labelEl.textContent || "");

        if (selectedOptionsArray.indexOf(lt) === -1) {
          var block2 = (labelEl.closest &amp;&amp; labelEl.closest(".select-question")) ? labelEl.closest(".select-question") : null;
          if (!block2) block2 = labelEl.parentNode;

          log("Hiding block by label text (visible=" + (isVisible(block2) ? "true" : "false") + "): " + lt);
          strongHide(block2);
          count++;
        }
      }
    }

    return count;
  }

  var hiddenCount = hideUnselectedOptions(questionRoot);
  log("Hidden inside questionRoot: " + hiddenCount);

  // 4) Global safety pass to hide duplicates rendered elsewhere
  var globalHidden = hideUnselectedOptions(document);
  log("Hidden in global pass: " + globalHidden);

  // 5) Attach MutationObserver to reapply hiding after rerender
  try {
    var observer = new MutationObserver(function () {
      var c1 = hideUnselectedOptions(questionRoot);
      var c2 = hideUnselectedOptions(document);
      if (c1 || c2) log("Observer reapplied hide (question=" + c1 + ", global=" + c2 + ")");
    });

    observer.observe(questionRoot, { childList: true, subtree: true });
    log("MutationObserver attached on questionRoot");
  } catch (e) {
    log("MutationObserver blocked/unavailable");
  }
})();</code></pre>]]></content:encoded>
        </item>
        <item>
            <title><![CDATA[כיצד לתרגם סקרים לשפות מותאמות אישית?]]></title>
            <link>https://community.polyeda.com/short-guides-he-zeb3tfsc/post/kytsd-ltrgm-sqrym-lshpvt-mvtmvt-yshyt-tF8k4JoayvyuE3C</link>
            <guid isPermaLink="true">https://community.polyeda.com/short-guides-he-zeb3tfsc/post/kytsd-ltrgm-sqrym-lshpvt-mvtmvt-yshyt-tF8k4JoayvyuE3C</guid>
            <category><![CDATA[Surveys]]></category>
            <dc:creator><![CDATA[Tomer Toueg]]></dc:creator>
            <pubDate>Tue, 03 Mar 2026 14:13:05 GMT</pubDate>
            <content:encoded><![CDATA[<div data-embed-url="https://docs.google.com/document/d/1aUH5yA80K26ijYA0UwOBj8hyLm2uQRsgQFhB5-s0B9M/edit?usp=sharing" data-id="4FuOLoyeGgpIvsPSwemyl" data-type="embed"></div>]]></content:encoded>
        </item>
        <item>
            <title><![CDATA[How to Translate Surveys into Custom Languages?]]></title>
            <link>https://community.polyeda.com/quick-guides-o9ngtv5b/post/how-to-translate-surveys-into-custom-languages-0IHAE3O1jP2vjNN</link>
            <guid isPermaLink="true">https://community.polyeda.com/quick-guides-o9ngtv5b/post/how-to-translate-surveys-into-custom-languages-0IHAE3O1jP2vjNN</guid>
            <category><![CDATA[Surveys]]></category>
            <dc:creator><![CDATA[Tomer Toueg]]></dc:creator>
            <pubDate>Tue, 03 Mar 2026 14:10:31 GMT</pubDate>
            <content:encoded><![CDATA[<div data-embed-url="https://docs.google.com/document/d/1lZHPMiDRVF_i83LV3MQDdgt-OxLCOtJdLmTV4xrf0S4/edit?usp=sharing" data-id="T7KX7LHSg55i44vIKqmd0" data-type="embed"></div>]]></content:encoded>
        </item>
        <item>
            <title><![CDATA[JS – Hide Previously Selected Option]]></title>
            <description><![CDATA[OVERVIEW

This utility allows you to dynamically hide a specific answer option in a question based on a respondent’s selection in a previous question.

Example:
If the respondent selects option “C” in ...]]></description>
            <link>https://community.polyeda.com/utilities-dqiz8rw8/post/js-hide-previously-selected-option-aInQcZPSEpEW0ot</link>
            <guid isPermaLink="true">https://community.polyeda.com/utilities-dqiz8rw8/post/js-hide-previously-selected-option-aInQcZPSEpEW0ot</guid>
            <category><![CDATA[JavaScript]]></category>
            <dc:creator><![CDATA[Shir Weiss]]></dc:creator>
            <pubDate>Wed, 25 Feb 2026 07:40:56 GMT</pubDate>
            <content:encoded><![CDATA[<h2 class="text-xl" data-toc-id="2f1d3389-2eda-4956-941b-81705fc8f350" id="2f1d3389-2eda-4956-941b-81705fc8f350">Overview</h2><p>This utility allows you to dynamically hide a specific answer option in a question based on a respondent’s selection in a previous question.</p><p><strong>Example:</strong><br>If the respondent selects option “C” in Question 1, option “C” will be hidden in Question 2.</p><p>This is useful for:</p><ul><li><p>Preventing duplicate selections</p></li><li><p>Creating elimination-style logic</p></li></ul><h2 class="text-xl" data-toc-id="eeb6bbc8-35c8-4370-a50a-045723940c42" id="eeb6bbc8-35c8-4370-a50a-045723940c42">Step 1. Create a Variable</h2><p>Create a survey variable with the following configuration:</p><ul><li><p><strong>Name:</strong> <code>firstQuestionSelectedOption</code></p></li><li><p><strong>Type:</strong> <code>From URL</code></p></li></ul><p>This variable will temporarily store the selected option text from the first question.</p><p></p><h2 class="text-xl" data-toc-id="6b965b48-e67d-4ff2-86ca-60127e5cc74b" id="6b965b48-e67d-4ff2-86ca-60127e5cc74b">Step 2. First Question</h2><h3 class="text-lg" data-toc-id="bab778ce-b6af-49fc-8c6e-ec31e70a549d" id="bab778ce-b6af-49fc-8c6e-ec31e70a549d">Placement</h3><p>Add the following code under:</p><p><strong>JS – On Next Button Click</strong></p><pre class="language-javascript"><code class="language-javascript">//// First Question (JS - On Next Button Click)

(function () {
  // Scope to the current question only:
  // 1) Prefer the container that contains the currently focused element (after click/keyboard select)
  // 2) Fallback to the first rendered &lt;app-select-form&gt; (still safe because this hook runs per-question)
  var root =
    (document.activeElement &amp;&amp; document.activeElement.closest &amp;&amp; document.activeElement.closest("app-select-form")) ||
    document.querySelector("app-select-form");

  if (!root) return;

  // In your markup, the chosen option is reflected via aria-checked="true"
  var selectedRadio = root.querySelector('[role="radio"][aria-checked="true"]');
  console.log('selected radio: ',selectedRadio);
  if (!selectedRadio) return;

  // Best source: aria-labelledby -&gt; element id -&gt; textContent
  var labelId = selectedRadio.getAttribute("aria-labelledby");
  var labelEl = labelId ? root.querySelector("#" + CSS.escape(labelId)) : null;
console.log('labelId: ',labelId);
console.log('labelEl: ',labelEl);
  // Fallback: the visible label span inside the button
  var text =
    (labelEl &amp;&amp; labelEl.textContent) ||
    (selectedRadio.querySelector &amp;&amp; selectedRadio.querySelector(".p-button-label") &amp;&amp; selectedRadio.querySelector(".p-button-label").textContent) ||
    "";
    console.log('text: ',text);

  text = (text || "").trim();
  if (!text) return;

  // Store it in the survey variable
  PolyedaClientApi.setVariable("firstQuestionSelectedOption", text);
  console.log('firstQuestionSelectedOption set to '+text);
})();</code></pre><h2 class="text-xl" data-toc-id="fd0ba955-d273-4bac-ad91-80f501f6bd7b" id="fd0ba955-d273-4bac-ad91-80f501f6bd7b">Step 3. Second Question</h2><h3 class="text-lg" data-toc-id="5ebfc217-b025-4176-9426-4008c2c8acac" id="5ebfc217-b025-4176-9426-4008c2c8acac">Placement</h3><p>Add the following code under:</p><p><strong>JS – On Load</strong></p><pre class="language-javascript"><code class="language-javascript">//// Second Question (JS - On Load)
(function () {
  function log(msg) { try { console.log("[my-script] " + msg); } catch (e) {} }

  function normalizeText(s) {
    s = (s == null) ? "" : String(s);
    s = s.split("\u00A0").join(" ");
    for (var k = 0; k &lt; 5; k++) s = s.split("  ").join(" ");
    return s.trim();
  }

  function isVisible(el) {
    try {
      if (!el) return false;
      if (el.getClientRects &amp;&amp; el.getClientRects().length === 0) return false;
      if (el.offsetParent === null) return false;
      return true;
    } catch (e) { return false; }
  }

  function strongHide(el) {
    if (!el) return;
    try { el.style.setProperty("display", "none", "important"); } catch (e) {}
    try { el.style.setProperty("visibility", "hidden", "important"); } catch (e) {}
    try { el.style.setProperty("height", "0", "important"); } catch (e) {}
    try { el.style.setProperty("margin", "0", "important"); } catch (e) {}
    try { el.style.setProperty("padding", "0", "important"); } catch (e) {}
    try { el.style.setProperty("pointer-events", "none", "important"); } catch (e) {}
  }

  // 1) Read the stored option text
  var firstQuestionSelectedOption = null;
  try { firstQuestionSelectedOption = PolyedaClientApi.getVariable("firstQuestionSelectedOption"); } catch (e) {}

  firstQuestionSelectedOption = normalizeText(firstQuestionSelectedOption);
  log("firstQuestionSelectedOption = [" + firstQuestionSelectedOption + "]");

  if (!firstQuestionSelectedOption) {
    log("firstQuestionSelectedOption empty -&gt; abort");
    return;
  }

  // 2) Find the current question container by title text
  var titles = null;
  try { titles = document.querySelectorAll(".question-title"); } catch (e) {}

  var questionRoot = null;
  if (titles &amp;&amp; titles.length) {
    for (var i = 0; i &lt; titles.length; i++) {
      var t = titles[i];
      var txt = normalizeText(t.textContent || "");
      if (txt.indexOf("באפשרות שנייה") &gt;= 0) {
        questionRoot = (t.closest &amp;&amp; t.closest(".question")) ? t.closest(".question") : null;
        if (!questionRoot) {
          // fallback: walk up a bit
          questionRoot = (t.parentNode &amp;&amp; t.parentNode.parentNode) ? t.parentNode.parentNode : null;
        }
        break;
      }
    }
  }

  if (!questionRoot) {
    log("questionRoot not found by title -&gt; fallback to first app-select-form");
    try { questionRoot = document.querySelector("app-select-form"); } catch (e) {}
  }

  if (!questionRoot) {
    log("no usable root found -&gt; abort");
    return;
  }

  // 3) Hide inside the current question: match by aria-labelledby FIRST (most exact)
  var hiddenCount = 0;

  function hideMatchesUnder(root) {
    if (!root) return 0;

    var count = 0;

    // (A) Match by aria-labelledby = saved text (your DOM uses aria-labelledby equal to that id)
    var radios = null;
    try { radios = root.querySelectorAll('[role="radio"]'); } catch (e) {}

    if (radios &amp;&amp; radios.length) {
      for (var r = 0; r &lt; radios.length; r++) {
        var radio = radios[r];
        var al = "";
        try { al = normalizeText(radio.getAttribute ? radio.getAttribute("aria-labelledby") : ""); } catch (e) {}

        if (al === firstQuestionSelectedOption) {
          var block = (radio.closest &amp;&amp; radio.closest(".select-question")) ? radio.closest(".select-question") : null;
          if (!block) block = radio.parentNode;

          log("match by aria-labelledby -&gt; hiding block (visible=" + (isVisible(block) ? "true" : "false") + ")");
          strongHide(block);
          count++;
        }
      }
    }

    // (B) Fallback: match by label text
    var labels = null;
    try { labels = root.querySelectorAll(".p-button-label"); } catch (e) {}

    if (labels &amp;&amp; labels.length) {
      for (var j = 0; j &lt; labels.length; j++) {
        var labelEl = labels[j];
        var lt = normalizeText(labelEl.textContent || "");
        if (lt === firstQuestionSelectedOption) {
          var block2 = (labelEl.closest &amp;&amp; labelEl.closest(".select-question")) ? labelEl.closest(".select-question") : null;
          if (!block2) block2 = labelEl.parentNode;

          log("match by label text -&gt; hiding block (visible=" + (isVisible(block2) ? "true" : "false") + ")");
          strongHide(block2);
          count++;
        }
      }
    }

    return count;
  }

  hiddenCount += hideMatchesUnder(questionRoot);
  log("hidden inside questionRoot: " + hiddenCount);

  // 4) Global safety pass: if PrimeNG/Angular rendered a visible clone elsewhere, hide it too
  var globalHidden = hideMatchesUnder(document);
  log("hidden in global pass: " + globalHidden);

  // 5) Keep watching for rerenders and re-apply once more when nodes change
  try {
    var obs = new MutationObserver(function () {
      var c1 = hideMatchesUnder(questionRoot);
      var c2 = hideMatchesUnder(document);
      if (c1 || c2) log("observer reapplied hide (question=" + c1 + ", global=" + c2 + ")");
    });

    obs.observe(questionRoot, { childList: true, subtree: true });
    log("observer attached on questionRoot");
  } catch (e) {
    log("MutationObserver blocked/unavailable");
  }
})();</code></pre>]]></content:encoded>
        </item>
        <item>
            <title><![CDATA[Creating, Importing, and Exporting Managers]]></title>
            <link>https://community.polyeda.com/quick-guides-o9ngtv5b/post/creating-importing-and-exporting-managers-XTZ5of7bH6Fj57t</link>
            <guid isPermaLink="true">https://community.polyeda.com/quick-guides-o9ngtv5b/post/creating-importing-and-exporting-managers-XTZ5of7bH6Fj57t</guid>
            <category><![CDATA[Projects]]></category>
            <dc:creator><![CDATA[Tomer Toueg]]></dc:creator>
            <pubDate>Mon, 23 Feb 2026 11:22:06 GMT</pubDate>
            <content:encoded><![CDATA[<div data-embed-url="https://docs.google.com/document/d/11bA64kg-EJM8tcvWonsJa0EEIEo0E7xNGDkpzzeW2f0/edit?usp=sharing" data-id="nDHdOc4WpeP3dwHJ7xJC0" data-type="embed"></div>]]></content:encoded>
        </item>
        <item>
            <title><![CDATA[יצירה, ייבוא וייצוא של מנהלים]]></title>
            <link>https://community.polyeda.com/short-guides-he-zeb3tfsc/post/ytsyrh-yybv-vyytsv-shl-mnhlym-3uLCq8gS4b3RmqD</link>
            <guid isPermaLink="true">https://community.polyeda.com/short-guides-he-zeb3tfsc/post/ytsyrh-yybv-vyytsv-shl-mnhlym-3uLCq8gS4b3RmqD</guid>
            <category><![CDATA[Projects]]></category>
            <dc:creator><![CDATA[Tomer Toueg]]></dc:creator>
            <pubDate>Mon, 23 Feb 2026 10:53:40 GMT</pubDate>
            <content:encoded><![CDATA[<div data-embed-url="https://docs.google.com/document/d/1cx5cK5ziajBwSTMBsyCK7MIfI9pK2WXK7elOF0lCkp0/edit?tab=t.0" data-id="uJPxptppHxSWpMU8EJpAQ" data-type="embed"></div>]]></content:encoded>
        </item>
        <item>
            <title><![CDATA[How to Identify Participants Entering a Survey via a Generic Link Using Existing System Data]]></title>
            <link>https://community.polyeda.com/quick-guides-o9ngtv5b/post/how-to-identify-participants-entering-a-survey-via-a-generic-link-using-7OhJ4tMWn9kuTtv</link>
            <guid isPermaLink="true">https://community.polyeda.com/quick-guides-o9ngtv5b/post/how-to-identify-participants-entering-a-survey-via-a-generic-link-using-7OhJ4tMWn9kuTtv</guid>
            <category><![CDATA[Participants]]></category>
            <category><![CDATA[Projects]]></category>
            <dc:creator><![CDATA[Tomer Toueg]]></dc:creator>
            <pubDate>Tue, 13 Jan 2026 10:18:48 GMT</pubDate>
            <content:encoded><![CDATA[<div data-embed-url="https://docs.google.com/document/d/1El-7JyHY2oh6u7Bm69RcPAuEPfsD3I7-mp90Cuh6hYs/edit?usp=sharing" data-id="vQMygiEcKlFS6lUW4VCZE" data-type="embed"></div>]]></content:encoded>
        </item>
        <item>
            <title><![CDATA[כיצד לזהות משתתפים שנכנסו לסקר מקישור גנרי באמצעות מידע קיים במערכת]]></title>
            <link>https://community.polyeda.com/short-guides-he-zeb3tfsc/post/kytsd-lzhvt-mshttpym-shnknsv-lsqr-mqyshvr-gnry-bmts-vt-myd-qyym-bm-rkt-HCAHN4MnRKIKVHn</link>
            <guid isPermaLink="true">https://community.polyeda.com/short-guides-he-zeb3tfsc/post/kytsd-lzhvt-mshttpym-shnknsv-lsqr-mqyshvr-gnry-bmts-vt-myd-qyym-bm-rkt-HCAHN4MnRKIKVHn</guid>
            <category><![CDATA[Participants]]></category>
            <category><![CDATA[Projects]]></category>
            <dc:creator><![CDATA[Tomer Toueg]]></dc:creator>
            <pubDate>Tue, 13 Jan 2026 09:31:59 GMT</pubDate>
            <content:encoded><![CDATA[<div data-embed-url="https://docs.google.com/document/d/1mEJmU_EGC9LLe_SUrOUeq2eU-u2tD_JsgJTPFDbdz_8/edit?usp=sharing" data-id="qFhHIhoV8iiw0oAnIKgq5" data-type="embed"></div>]]></content:encoded>
        </item>
    </channel>
</rss>