![JAR search and dependency download from the Maven repository](/logo.png)
package.js.dist.quantity-selector.js.map Maven / Gradle / Ivy
Go to download
Show more of this group Show more artifacts with this name
Show all versions of boosted Show documentation
Show all versions of boosted Show documentation
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