MOON
Server: Apache
System: Linux server1.studioinfinity.com.br 2.6.32-954.3.5.lve1.4.90.el6.x86_64 #1 SMP Tue Feb 21 12:26:30 UTC 2023 x86_64
User: artinside (517)
PHP: 7.4.33
Disabled: exec,passthru,shell_exec,system
Upload Files
File: /home/artinside/mpita.artinside.com.br/themes/web/assets/js/modules/quantity.js
CNVS.Quantity = function() {
	var __core = SEMICOLON.Core;

	return {
		init: function(selector) {
			if( __core.getSelector(selector, false, false).length < 1 ){
				return true;
			}

			__core.initFunction({ class: 'has-plugin-quantity', event: 'pluginQuantityReady' });

			selector = __core.getSelector( selector, false );
			if( selector.length < 1 ){
				return true;
			}

			selector.forEach( function(element) {
				var plus = element.querySelector('.plus'),
					minus = element.querySelector('.minus'),
					input = element.querySelector('.qty');

				var eventChange = new Event("change");

				plus.onclick = function(e) {
					e.preventDefault();

					var value = input.value,
						step = input.getAttribute('step') || 1,
						max = input.getAttribute('max'),
						intRegex = /^\d+$/;

					if( max && ( Number(elValue) >= Number( max ) ) ) {
						return false;
					}

					if( intRegex.test( value ) ) {
						var valuePlus = Number(value) + Number(step);
						input.value = valuePlus;
					} else {
						input.value = Number(step);
					}

					input.dispatchEvent(eventChange);
				};

				minus.onclick = function(e) {
					e.preventDefault();

					var value = input.value,
						step = input.getAttribute('step') || 1,
						min = input.getAttribute('min'),
						intRegex = /^\d+$/;

					if( !min || min < 0 ) {
						min = 1;
					}

					if( intRegex.test( value ) ) {
						if( Number(value) > Number(min) ) {
							var valueMinus = Number(value) - Number(step);
							input.value = valueMinus;
						}
					} else {
						input.value = Number(step);
					}

					input.dispatchEvent(eventChange);
				};
			});
		}
	};
}();