Dave Jarvis' Repositories

git clone https://repo.autonoma.ca/repo/autonoma.ca.git
/* Copyright 2024 White Magic Software, Ltd. -- All rights reserved.
 *
 * SPDX-License-Identifier: MIT
 */

/**
 * Responsible for simplifying client-side form fields operations.
 */
export function $(selector) {
  const elements = document.querySelectorAll(selector);

  if (elements.length === 1) {
    return {
      val: function (value) {
        if (value !== undefined) {
          elements[0].value = value;
        } else {
          return parseFloat(elements[0].value);
        }
      },
      change: function (callback) {
        elements[0].addEventListener('input', callback);
      }
    };
  } else {
    return {
      change: function (callback) {
        elements.forEach(function (element) {
          element.addEventListener('input', callback);
        });
      }
    };
  }
}

export default $;