Sha256: 1670f22bdc19cd37d083038e850ae6a36d0f98947147e67e6f2a6286765637b8

Contents?: true

Size: 1.38 KB

Versions: 10

Compression:

Stored size: 1.38 KB

Contents

(() => {
  const cloneElement = (id) => ActiveElement.cloneElement('secret', id);

  if (window._active_element_secrets_loaded) return;

  window.addEventListener(ActiveElement.reloadEvent, () => {
    document.querySelectorAll('span[data-field-type="secret"]').forEach((element) => {
      const secret = element.dataset.secret;
      const showButton = cloneElement('show-button');
      const hideButton = cloneElement('hide-button');
      const content = cloneElement('content');
      const placeholder = secret.replace(/./g, '*');

      hideButton.classList.add('d-none');
      content.classList.add('font-monospace');
      content.classList.add('text-secondary');
      content.innerText = placeholder;

      showButton.addEventListener('click', () => {
        showButton.classList.add('d-none');
        hideButton.classList.remove('d-none');
        content.classList.remove('text-secondary');
        content.innerText = secret;

        return false;
      });

      hideButton.addEventListener('click', () => {
        showButton.classList.remove('d-none');
        hideButton.classList.add('d-none');
        content.classList.add('text-secondary');
        content.innerText = placeholder;

        return false;
      });

      element.append(content);
      element.append(showButton);
      element.append(hideButton);
    });
    window._active_element_secrets_loaded = true;
  });
})();

Version data entries

10 entries across 10 versions & 1 rubygems

Version Path
active_element-0.0.31 app/assets/javascripts/active_element/secret.js
active_element-0.0.30 app/assets/javascripts/active_element/secret.js
active_element-0.0.29 app/assets/javascripts/active_element/secret.js
active_element-0.0.28 app/assets/javascripts/active_element/secret.js
active_element-0.0.27 app/assets/javascripts/active_element/secret.js
active_element-0.0.26 app/assets/javascripts/active_element/secret.js
active_element-0.0.24 app/assets/javascripts/active_element/secret.js
active_element-0.0.23 app/assets/javascripts/active_element/secret.js
active_element-0.0.22 app/assets/javascripts/active_element/secret.js
active_element-0.0.21 app/assets/javascripts/active_element/secret.js