Widget:ToggleFolioNumbers: Difference between revisions

From Dudjom Wiki
(VSCode edit)
 
(VSCode edit)
 
(10 intermediate revisions by the same user not shown)
Line 1: Line 1:
<script>
<script>
(function() {
(function() {
   var folios = document.querySelectorAll('span.folio-number');
   function init() {
  if (!folios.length) return;
    var container = parent.document.querySelector('#Tibetan_Text .oo-ui-fieldsetLayout-group');
    if (!container) return;


  var container = document.getElementById('Tibetan_Text');
    // Check at least one folio exists
  if (!container) return;
    if (!parent.document.querySelector('span.folio-number')) return;


  var visible = false;
    var visible = false;
  var link = document.createElement('a');
    var link = parent.document.createElement('a');
  link.href = '#';
    link.href = '#';
  link.textContent = 'Show folio numbers';
    link.textContent = 'Show folio numbers';


  link.onclick = function(e) {
    link.onclick = function(e) {
    e.preventDefault();
      e.preventDefault();
    visible = !visible;
      visible = !visible;
    for (var i = 0; i < folios.length; i++) {
      // Query fresh each click so all folios are found
      folios[i].style.display = visible ? '' : 'none';
      var folios = parent.document.querySelectorAll('span.folio-number');
    }
      for (var i = 0; i < folios.length; i++) {
    link.textContent = visible ? 'Hide folio numbers' : 'Show folio numbers';
        folios[i].style.display = visible ? '' : 'none';
  };
      }
      link.textContent = visible ? 'Hide folio numbers' : 'Show folio numbers';
    };


  for (var i = 0; i < folios.length; i++) {
    var div = parent.document.createElement('div');
     folios[i].style.display = 'none';
     div.style.textAlign = 'right';
    div.appendChild(link);
    container.insertBefore(div, container.firstChild);
   }
   }


   var div = document.createElement('div');
   var observer = new MutationObserver(function(mutations, obs) {
  div.style.textAlign = 'right';
    var container = parent.document.querySelector('#Tibetan_Text .oo-ui-fieldsetLayout-group');
   div.appendChild(link);
    if (container) {
   container.insertBefore(div, container.firstChild);
      obs.disconnect();
      init();
    }
   });
 
   observer.observe(parent.document.body, { childList: true, subtree: true });
})();
})();
</script>
</script>

Latest revision as of 18:38, 24 February 2026

<script> (function() {

 function init() {
   var container = parent.document.querySelector('#Tibetan_Text .oo-ui-fieldsetLayout-group');
   if (!container) return;
   // Check at least one folio exists
   if (!parent.document.querySelector('span.folio-number')) return;
   var visible = false;
   var link = parent.document.createElement('a');
   link.href = '#';
   link.textContent = 'Show folio numbers';
   link.onclick = function(e) {
     e.preventDefault();
     visible = !visible;
     // Query fresh each click so all folios are found
     var folios = parent.document.querySelectorAll('span.folio-number');
     for (var i = 0; i < folios.length; i++) {
       folios[i].style.display = visible ?  : 'none';
     }
     link.textContent = visible ? 'Hide folio numbers' : 'Show folio numbers';
   };
   var div = parent.document.createElement('div');
   div.style.textAlign = 'right';
   div.appendChild(link);
   container.insertBefore(div, container.firstChild);
 }
 var observer = new MutationObserver(function(mutations, obs) {
   var container = parent.document.querySelector('#Tibetan_Text .oo-ui-fieldsetLayout-group');
   if (container) {
     obs.disconnect();
     init();
   }
 });
 observer.observe(parent.document.body, { childList: true, subtree: true });

})(); </script>