| 10745 | var isManualInput = false; | 10745 | var isManualInput = false; |
| 10746 | var valueBeforeManualInput; | 10746 | var valueBeforeManualInput; |
| 10747 | | 10747 | |
| 10748 | $('.range-block-counter input, .neo-range-input').on('click', function () { | 10748 | $(document).on('input', '.range-block-counter input, .neo-range-input', function () { |
| 10749 | valueBeforeManualInput = $(this).val(); | 10749 | valueBeforeManualInput = $(this).val(); |
| 10750 | console.log(valueBeforeManualInput); | 10750 | console.log(valueBeforeManualInput); |
| 10751 | }) | 10751 | }); |
| 10752 | .on('change', function (e) { | 10752 | |
| 10753 | e.target.focus(); | 10753 | $(document).on('change', '.range-block-counter input, .neo-range-input', function (e) { |
| 10754 | e.target.dispatchEvent(new Event('keyup')); | 10754 | e.target.focus(); |
| 10755 | }) | 10755 | e.target.dispatchEvent(new KeyboardEvent('keyup', { bubbles: true })); |
| 10756 | .on('keydown', function (e) { | 10756 | }); |
| 10757 | const masterSelector = '#' + $(this).data('for'); | 10757 | |
| 10758 | const masterElement = $(masterSelector); | 10758 | $(document).on('keydown', '.range-block-counter input, .neo-range-input', function (e) { |
| 10759 | if (e.key === 'Enter') { | 10759 | const masterSelector = '#' + $(this).data('for'); |
| 10760 | let manualInput = Number($(this).val()); | 10760 | const masterElement = $(masterSelector); |
| 10761 | if (isManualInput) { | 10761 | if (e.key === 'Enter') { |
| 10762 | //disallow manual inputs outside acceptable range | | |
| 10763 | if (manualInput >= Number($(this).attr('min')) && manualInput <= Number($(this).attr('max'))) { | | |
| 10764 | //if value is ok, assign to slider and update handle text and position | | |
| 10765 | //newSlider.val(manualInput) | | |
| 10766 | //handleSlideEvent.call(newSlider, null, { value: parseFloat(manualInput) }, 'manual'); | | |
| 10767 | valueBeforeManualInput = manualInput; | | |
| 10768 | $(masterElement).val($(this).val()).trigger('input', { forced: true }); | | |
| 10769 | } else { | | |
| 10770 | //if value not ok, warn and reset to last known valid value | | |
| 10771 | toastr.warning(`Invalid value. Must be between ${$(this).attr('min')} and ${$(this).attr('max')}`); | | |
| 10772 | console.log(valueBeforeManualInput); | | |
| 10773 | //newSlider.val(valueBeforeManualInput) | | |
| 10774 | $(this).val(valueBeforeManualInput); | | |
| 10775 | } | | |
| 10776 | } | | |
| 10777 | } | | |
| 10778 | }) | | |
| 10779 | .on('keyup', function () { | | |
| 10780 | valueBeforeManualInput = $(this).val(); | | |
| 10781 | console.log(valueBeforeManualInput); | | |
| 10782 | isManualInput = true; | | |
| 10783 | }) | | |
| 10784 | //trigger slider changes when user clicks away | | |
| 10785 | .on('mouseup blur', function () { | | |
| 10786 | const masterSelector = '#' + $(this).data('for'); | | |
| 10787 | const masterElement = $(masterSelector); | | |
| 10788 | let manualInput = Number($(this).val()); | 10762 | let manualInput = Number($(this).val()); |
| 10789 | if (isManualInput) { | 10763 | if (isManualInput) { |
| 10790 | //if value is between correct range for the slider | 10764 | //disallow manual inputs outside acceptable range |
| 10791 | if (manualInput >= Number($(this).attr('min')) && manualInput <= Number($(this).attr('max'))) { | 10765 | if (manualInput >= Number($(this).attr('min')) && manualInput <= Number($(this).attr('max'))) { |
| | 10766 | //if value is ok, assign to slider and update handle text and position |
| | 10767 | //newSlider.val(manualInput) |
| | 10768 | //handleSlideEvent.call(newSlider, null, { value: parseFloat(manualInput) }, 'manual'); |
| 10792 | valueBeforeManualInput = manualInput; | 10769 | valueBeforeManualInput = manualInput; |
| 10793 | //set the slider value to input value | | |
| 10794 | $(masterElement).val($(this).val()).trigger('input', { forced: true }); | 10770 | $(masterElement).val($(this).val()).trigger('input', { forced: true }); |
| 10795 | } else { | 10771 | } else { |
| 10796 | //if value not ok, warn and reset to last known valid value | 10772 | //if value not ok, warn and reset to last known valid value |
| 10797 | toastr.warning(`Invalid value. Must be between ${$(this).attr('min')} and ${$(this).attr('max')}`); | 10773 | toastr.warning(`Invalid value. Must be between ${$(this).attr('min')} and ${$(this).attr('max')}`); |
| 10798 | console.log(valueBeforeManualInput); | 10774 | console.log(valueBeforeManualInput); |
| | 10775 | //newSlider.val(valueBeforeManualInput) |
| 10799 | $(this).val(valueBeforeManualInput); | 10776 | $(this).val(valueBeforeManualInput); |
| 10800 | } | 10777 | } |
| 10801 | } | 10778 | } |
| 10802 | isManualInput = false; | 10779 | } |
| 10803 | }); | 10780 | }); |
| | 10781 | |
| | 10782 | $(document).on('keyup', '.range-block-counter input, .neo-range-input', function () { |
| | 10783 | valueBeforeManualInput = $(this).val(); |
| | 10784 | console.log(valueBeforeManualInput); |
| | 10785 | isManualInput = true; |
| | 10786 | }); |
| | 10787 | |
| | 10788 | //trigger slider changes when user clicks away |
| | 10789 | $(document).on('mouseup blur', '.range-block-counter input, .neo-range-input', function () { |
| | 10790 | const masterSelector = '#' + $(this).data('for'); |
| | 10791 | const masterElement = $(masterSelector); |
| | 10792 | let manualInput = Number($(this).val()); |
| | 10793 | if (isManualInput) { |
| | 10794 | //if value is between correct range for the slider |
| | 10795 | if (manualInput >= Number($(this).attr('min')) && manualInput <= Number($(this).attr('max'))) { |
| | 10796 | valueBeforeManualInput = manualInput; |
| | 10797 | //set the slider value to input value |
| | 10798 | $(masterElement).val($(this).val()).trigger('input', { forced: true }); |
| | 10799 | } else { |
| | 10800 | //if value not ok, warn and reset to last known valid value |
| | 10801 | toastr.warning(`Invalid value. Must be between ${$(this).attr('min')} and ${$(this).attr('max')}`); |
| | 10802 | console.log(valueBeforeManualInput); |
| | 10803 | $(this).val(valueBeforeManualInput); |
| | 10804 | } |
| | 10805 | } |
| | 10806 | isManualInput = false; |
| | 10807 | }); |
| 10804 | | 10808 | |
| 10805 | $('.user_stats_button').on('click', function () { | 10809 | $('.user_stats_button').on('click', function () { |
| 10806 | userStatsHandler(); | 10810 | userStatsHandler(); |