$ = jQuery; $( document ).ready( function() { var records_offset = records_per_page = $( '.cards-container' ).data('offset'); var records_count = $( '.cards-container' ).data('count'); var records_action = $( '.cards-container' ).data('action'); $( '.submit-service-providers' ).click( function() { if( $( '.sp-clicked' ).length === 0 ) { $( '#no-sp-error' ).show(); return false; } else { var message = $(this).data('message'); confirmModal(message, function () { $('#select-service-providers-form').submit(); }); } } ); $( document ).on( 'click', '.sp-card', function() { if( $(this).hasClass('sp-clicked') ) { $(this).removeClass('sp-clicked'); $(this).find( 'input[type=checkbox]' ).prop('checked', false); } else { $(this).addClass('sp-clicked'); $(this).find( 'input[type=checkbox]' ).prop('checked', true); } } ); $( '.show-all-sp' ).click( function() { $('.provider-container').show(); $(this).parent().hide(); } ); $(".loadmore-records").click(function(event) { event.preventDefault(); $(this).attr( 'disabled', 'disabled' ); data = { action: records_action, offset : records_offset}; jQuery.ajax({ type: "POST", url: ajax_object.ajax_url, data: data, success: function(response) { obj=JSON.parse(response); if(obj.html != 0){ current_count = records_offset + obj.count; if( records_count <= current_count ) { $( '.loadmore-records' ).hide(); } else { $( '.loadmore-records' ).removeAttr( 'disabled' ); } records_offset = records_offset + records_per_page; $('.cards-container').append(obj.html); } } }); }); $( 'body' ).on('click', '.remove-sp', function() { var message = $(this).data('message'); var user = $(this).data('user'); var data = { action: 'remove-sp', user: user }; confirmModal(message, function () { showLoader(); $.ajax({ url: ajax_object.ajax_url, method: 'post', data: data, dataType: 'json' }).done(function () { hideLoader(); location.reload(); }).fail(function (response) { let message = response.responseJSON.data.message; let $errorMsg = $( '#project-error-message' ); hideLoader(); $errorMsg.html( message ); $errorMsg.show(); $('html, body').animate({ scrollTop: 0 }, 'fast'); }); }); } ); $( 'body' ).on( 'click', '.change-project-status', function() { var message = $(this).data('message'); var status = $(this).data('status'); var project = $(this).data('project'); var data = { action: 'change-project-status', status: status, project: project }; confirmModal(message, function () { $('.change-project-status').attr('disabled', 'disabled'); showLoader(); $.ajax({ url: ajax_object.ajax_url, method: 'post', data: data, dataType: 'json' }).done(function () { hideLoader(); location.reload(); }).fail(function () { hideLoader(); // TODO: Handle errors properly alert('error'); }); }); } ); $( '.show-all-records' ).click( function() { $(this).parent().hide(); $(this).closest( '.records-container' ).find('.single-record').show(); } ); $('.invite-service-provider-to-company').submit(function(e) { e.preventDefault(); var formData = new FormData(this); $.ajax({ url: ajax_object.ajax_url, method: 'post', data: formData, dataType: 'json', contentType: false, processData: false, success: function(res) { location.reload(); }, error: function(err) { console.log(err); } }) }); $('body').on('click', '.answer-request', function () { var data = $(this).data(); var message = $(this).data('message'); confirmModal(message, function () { $.ajax({ url: ajax_object.ajax_url, method: 'POST', data: data, beforeSend: function () { showLoader(); } }).done(function () { location.reload(); }).fail(function (err) { // TODO: Handle error properly if (err.message === undefined) { alert('Unknown error occurred'); } else { alert(err.message); } }); }); }); $(document).on( 'hidden.bs.modal', 'div[id^="service-provider-"]', function() { $('.error').html('').hide(); $('input[type="file"]').val('').change(); } ); }); if ( window.history.replaceState ) { window.history.replaceState( null, null, window.location.href ); } function invite_service_provider_success(wrapper_selector, modal_id) { return function() { $(wrapper_selector).find('.invite-service-provider').remove(); $(wrapper_selector).find('.reject-status').hide(); $(wrapper_selector).find('.invitation-sent').show(); $(modal_id).modal('hide'); } }