All Downloads are FREE. Search and download functionalities are using the official Maven repository.

package.js.dist.quantity-selector.js.map Maven / Gradle / Ivy

Go to download

Orange Boosted with Bootstrap is a Bootstrap based, Orange branded accessible and ergonomic components library.

The newest version!
{"version":3,"file":"quantity-selector.js","sources":["../src/quantity-selector.js"],"sourcesContent":["/**\n * --------------------------------------------------------------------------\n * Boosted quantity-selector.js\n * Licensed under MIT (https://github.com/Orange-OpenSource/Orange-Boosted-Bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport BaseComponent from './base-component.js'\nimport EventHandler from './dom/event-handler.js'\nimport SelectorEngine from './dom/selector-engine.js'\nimport { defineJQueryPlugin } from './util/index.js'\n\n/**\n * Constants\n */\n\nconst NAME = 'quantityselector'\nconst DATA_KEY = 'bs.quantityselector'\nconst EVENT_KEY = `.${DATA_KEY}`\nconst DATA_API_KEY = '.data-api'\n\nconst EVENT_LOAD_DATA_API = `load${EVENT_KEY}${DATA_API_KEY}`\nconst EVENT_CHANGE_DATA_API = `change${EVENT_KEY}${DATA_API_KEY}`\nconst EVENT_CLICK_DATA_API = `click${EVENT_KEY}${DATA_API_KEY}`\n\nconst SELECTOR_STEP_UP_BUTTON = '[data-bs-step=\"up\"]'\nconst SELECTOR_STEP_DOWN_BUTTON = '[data-bs-step=\"down\"]'\nconst SELECTOR_COUNTER_INPUT = '[data-bs-step=\"counter\"]'\nconst SELECTOR_QUANTITY_SELECTOR = '.quantity-selector'\n\n/**\n * Class definition\n */\n\nclass QuantitySelector extends BaseComponent {\n  // Getters\n  static get NAME() {\n    return NAME\n  }\n\n  // Public\n  ValueOnLoad(element) {\n    const counterInput = element.querySelector(SELECTOR_COUNTER_INPUT)\n    const btnUp = element.querySelector(SELECTOR_STEP_UP_BUTTON)\n    const btnDown = element.querySelector(SELECTOR_STEP_DOWN_BUTTON)\n\n    const min = counterInput.getAttribute('min')\n    const max = counterInput.getAttribute('max')\n    const step = Number(counterInput.getAttribute('step'))\n\n    if (Number(counterInput.value) - step < min) {\n      btnDown.setAttribute('disabled', '')\n    }\n\n    if (Number(counterInput.value) + step > max) {\n      btnUp.setAttribute('disabled', '')\n    }\n  }\n\n  // Static\n  static StepUp(event) {\n    const parent = event.target.closest(SELECTOR_QUANTITY_SELECTOR)\n    const counterInput = parent.querySelector(SELECTOR_COUNTER_INPUT)\n\n    const max = counterInput.getAttribute('max')\n    const step = Number(counterInput.getAttribute('step'))\n    const round = Number(counterInput.getAttribute('data-bs-round'))\n\n    const eventChange = new Event('change')\n\n    if (Number(counterInput.value) < max) {\n      counterInput.value = (Number(counterInput.value) + step).toFixed(round).toString()\n    }\n\n    counterInput.dispatchEvent(eventChange)\n  }\n\n  static StepDown(event) {\n    const parent = event.target.closest(SELECTOR_QUANTITY_SELECTOR)\n    const counterInput = parent.querySelector(SELECTOR_COUNTER_INPUT)\n\n    const min = counterInput.getAttribute('min')\n    const step = Number(counterInput.getAttribute('step'))\n    const round = Number(counterInput.getAttribute('data-bs-round'))\n\n    const eventChange = new Event('change')\n\n    if (Number(counterInput.value) > min) {\n      counterInput.value = (Number(counterInput.value) - step).toFixed(round).toString()\n    }\n\n    counterInput.dispatchEvent(eventChange)\n  }\n\n  static CheckIfDisabledOnChange(event) {\n    const parent = event.target.closest(SELECTOR_QUANTITY_SELECTOR)\n    const counterInput = parent.querySelector(SELECTOR_COUNTER_INPUT)\n    const btnUp = parent.querySelector(SELECTOR_STEP_UP_BUTTON)\n    const btnDown = parent.querySelector(SELECTOR_STEP_DOWN_BUTTON)\n\n    const min = counterInput.getAttribute('min')\n    const max = counterInput.getAttribute('max')\n    const step = Number(counterInput.getAttribute('step'))\n\n    btnUp.removeAttribute('disabled', '')\n    btnDown.removeAttribute('disabled', '')\n\n    if (Number(counterInput.value) - step < min) {\n      btnDown.setAttribute('disabled', '')\n    }\n\n    if (Number(counterInput.value) + step > max) {\n      btnUp.setAttribute('disabled', '')\n    }\n  }\n\n  static jQueryInterface(config) {\n    return this.each(function () {\n      const data = QuantitySelector.getOrCreateInstance(this, config)\n\n      if (typeof config !== 'string') {\n        return\n      }\n\n      if (typeof data[config] === 'undefined') {\n        throw new TypeError(`No method named \"${config}\"`)\n      }\n\n      data[config]()\n    })\n  }\n}\n\n/**\n * Data API implementation\n */\n\nEventHandler.on(document, EVENT_CHANGE_DATA_API, SELECTOR_COUNTER_INPUT, QuantitySelector.CheckIfDisabledOnChange)\nEventHandler.on(document, EVENT_CLICK_DATA_API, SELECTOR_STEP_UP_BUTTON, QuantitySelector.StepUp)\nEventHandler.on(document, EVENT_CLICK_DATA_API, SELECTOR_STEP_DOWN_BUTTON, QuantitySelector.StepDown)\n\nEventHandler.on(window, EVENT_LOAD_DATA_API, () => {\n  for (const el of SelectorEngine.find(SELECTOR_QUANTITY_SELECTOR)) {\n    QuantitySelector.getOrCreateInstance(el).ValueOnLoad(el)\n  }\n})\n\n/**\n * jQuery\n */\n\ndefineJQueryPlugin(QuantitySelector)\n\nexport default QuantitySelector\n"],"names":["NAME","DATA_KEY","EVENT_KEY","DATA_API_KEY","EVENT_LOAD_DATA_API","EVENT_CHANGE_DATA_API","EVENT_CLICK_DATA_API","SELECTOR_STEP_UP_BUTTON","SELECTOR_STEP_DOWN_BUTTON","SELECTOR_COUNTER_INPUT","SELECTOR_QUANTITY_SELECTOR","QuantitySelector","BaseComponent","ValueOnLoad","element","counterInput","querySelector","btnUp","btnDown","min","getAttribute","max","step","Number","value","setAttribute","StepUp","event","parent","target","closest","round","eventChange","Event","toFixed","toString","dispatchEvent","StepDown","CheckIfDisabledOnChange","removeAttribute","jQueryInterface","config","each","data","getOrCreateInstance","TypeError","EventHandler","on","document","window","el","SelectorEngine","find","defineJQueryPlugin"],"mappings":"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"}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy