Last active
December 27, 2018 09:24
-
-
Save prajwal-stha/97315f8b81dbc8d17fe76913901f1621 to your computer and use it in GitHub Desktop.
Sample Codes for The Module Pattern.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| jQuery(document).ready(function($) { | |
| 'use strict'; | |
| var mblPPSeparateQty = { | |
| addBtn: function() { | |
| var topclass = '<div class="eci-add-to-cart-203204"><h5>Quantity:</h5>'; | |
| var inputgroup = '<div class="input-group"><span class="input-group-btn"><button type="button" class="btn btn-default btn-number" disabled="disabled" data-type="minus" data-field="quant[1]"><span class="eci-icon eci-icon-minus"></span></button></span><input type="text" name="quant[1]" class="form-control input-number" value="1" min="1" max="100000000"><span class="input-group-btn"><button type="button" class="btn btn-default btn-number" data-type="plus"data-field="quant[1]"><span class="eci-icon eci-icon-plus"></span></button></span></div>'; | |
| var btn = '<input class="eci-add-to-cart-btn" value="Add to Cart" id="ysw-add-to-cart" type="submit">'; | |
| var endclass = '</div>' | |
| var atc = topclass + inputgroup + btn + endclass; | |
| $('#cf-item-details').children('#ysw-cart').children('#cf-atc').after(atc); | |
| }, | |
| swapValue: function() { | |
| $(".input-number").bind("change paste keyup", function() { | |
| $('#cf-item-details').children('#ysw-cart').children('#cf-atc').children('.qty-input').val($('.input-number').val()); | |
| }); | |
| $('.btn-number').click(function() { | |
| $('#cf-item-details').children('#ysw-cart').children('#cf-atc').children('.qty-input').val($('.input-number').val()); | |
| }); | |
| $(document).on("scroll", function() { | |
| var mainatc_val = $('#cf-item-details').children('#ysw-cart').children('#cf-atc').children('.qty-input').val(); | |
| var added_atc = $('.input-number').val(); | |
| if (mainatc_val != added_atc) { | |
| $('.input-number').val($('#cf-item-details').children('#ysw-cart').children('#cf-atc').children('.qty-input').val()); | |
| } | |
| }); | |
| }, | |
| pluginCode: function() { | |
| $('.btn-number').click(function(e) { | |
| e.preventDefault(); | |
| fieldName = $(this).attr('data-field'); | |
| type = $(this).attr('data-type'); | |
| var input = $("input[name='" + fieldName + "']"); | |
| var currentVal = parseInt(input.val()); | |
| if (!isNaN(currentVal)) { | |
| if (type == 'minus') { | |
| if (currentVal > input.attr('min')) { | |
| input.val(currentVal - 1).change(); | |
| } | |
| if (parseInt(input.val()) == input.attr('min')) { | |
| $(this).attr('disabled', true); | |
| } | |
| } else if (type == 'plus') { | |
| if (currentVal < input.attr('max')) { | |
| input.val(currentVal + 1).change(); | |
| } | |
| if (parseInt(input.val()) == input.attr('max')) { | |
| $(this).attr('disabled', true); | |
| } | |
| } | |
| } else { | |
| input.val(0); | |
| } | |
| }); | |
| $('.input-number').focusin(function() { | |
| $(this).data('oldValue', $(this).val()); | |
| }); | |
| $('.input-number').change(function() { | |
| minValue = parseInt($(this).attr('min')); | |
| maxValue = parseInt($(this).attr('max')); | |
| valueCurrent = parseInt($(this).val()); | |
| name = $(this).attr('name'); | |
| if (valueCurrent >= minValue) { | |
| $(".btn-number[data-type='minus'][data-field='" + name + "']").removeAttr('disabled') | |
| } else { | |
| /*alert('Sorry, the minimum value was reached');*/ | |
| $(this).val($(this).data('oldValue')); | |
| } | |
| if (valueCurrent <= maxValue) { | |
| $(".btn-number[data-type='plus'][data-field='" + name + "']").removeAttr('disabled') | |
| } else { | |
| /*alert('Sorry, the maximum value was reached');*/ | |
| $(this).val($(this).data('oldValue')); | |
| } | |
| }); | |
| }, | |
| init: function() { | |
| var module = this; | |
| if($('.discontinued').length){ | |
| $('#cf-item-details .add-to-cart').css("visibility", 'show'); | |
| $('#cf-atc').addClass('atcdiscontinue'); | |
| } | |
| else{ | |
| $('#cf-item-details .add-to-cart').css("visibility", 'hidden'); | |
| module.addBtn(); | |
| module.swapValue(); | |
| module.pluginCode(); | |
| } | |
| } | |
| }.init(); | |
| }); |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment