function init_once()

in src/js/index.js [185:222]


function init_once() {

  // update the global state with the default values
  hash_change_event();

  // set listener to update state when URL hash is changed
  // e.g. via navigation of Back or Forward buttons
  window.addEventListener('hashchange', (event) => {
    hash_change_event();
  });

  // set listeners on the form to update state any time form is changed
  document.getElementById('form-config').addEventListener('change', async () => {
    form_change_event(false);
  });
  document.getElementById('form-environment').addEventListener('change', async () => {
    form_change_event(false);
  });
  document.getElementById('form-server-1').addEventListener('change', async () => {
    form_change_event(true);
  });
  document.getElementById('form-server-2').addEventListener('change', async () => {
    form_change_event(true);
  });

  // instantiate tooltips
  const copy_btn = document.getElementById('copy');
  const copy_tt = new BSN.Tooltip(copy_btn, { trigger: "manual", delay: 500, title: "Copied!" });

  // instantiate clipboard thingie
  const clipboard = new ClipboardJS('#copy');
  clipboard.on('success', async e => {
    e.clearSelection();
    copy_tt.show();
    await sleep(250);
    copy_tt.hide();
  });
}