MediaWiki:Gadget-FormCheck.js: Difference between revisions

From Tsadra Foundation Advanced Contemplative Scholarships
((by SublimeText.Mediawiker))
Tag: Reverted
((by SublimeText.Mediawiker))
Tag: Reverted
Line 26: Line 26:
     function checkFields(classes) {
     function checkFields(classes) {
         if( classes.filter(function() { return this.value === ''; }).length === 0 ) {
         if( classes.filter(function() { return this.value === ''; }).length === 0 ) {
             $('.form-status').addClass('alert-success').html('Current status: <b>SAVED</b>. All filled! Status will change to complete upon next save.');
             $('.form-status').addClass('alert-success').show().html('Current status: <b>SAVED</b>. All filled! Status will change to complete upon next save.');
             console.log('Setting STATUS to "Complete".');
             console.log('Setting STATUS to "Complete".');
             $('input[name="status"]').val("Complete");
             $('input[name="status"]').val("Complete");
Line 40: Line 40:
             });
             });
             $('input[name="status"]').val("Saved");
             $('input[name="status"]').val("Saved");
             $('.form-status').addClass('alert-primary').html('Current status: <b>SAVED</b>. Some fields are still missing.' );
             $('.form-status').addClass('alert-primary').show().html('Current status: <b>SAVED</b>. Some fields are still missing.' );
         }
         }
     }
     }
Line 53: Line 53:
         } else {
         } else {
             console.log("Retreat type not set." + $('select[name="retreattype[]"]').val());
             console.log("Retreat type not set." + $('select[name="retreattype[]"]').val());
             $('.form-status').addClass('alert-primary').html('Current status: <b>SAVED</b>. Retreat type not set.' );
             $('.form-status').addClass('alert-primary').show().html('Current status: <b>SAVED</b>. Retreat type not set.' );
         }
         }
     }
     }
Line 63: Line 63:
         $('#TfacsSubmission input, #TfacsSubmission select, #TfacsSubmission textarea').not('#DummyField, #TfacsSubmitApplication').prop('disabled', true);
         $('#TfacsSubmission input, #TfacsSubmission select, #TfacsSubmission textarea').not('#DummyField, #TfacsSubmitApplication').prop('disabled', true);
         if($('input[name="status"]').val() === 'SUBMITTED') {
         if($('input[name="status"]').val() === 'SUBMITTED') {
             $('.form-status').addClass('alert-dark').html('Current status: <b>SUBMITTED</b>. <br> Your application has been submitted. The contemplative scholarship administrator will contact you shortly.' );
             $('.form-status').addClass('alert-dark').show().html('Current status: <b>SUBMITTED</b>. <br> Your application has been submitted. The contemplative scholarship administrator will contact you shortly.' );
         } else if($('input[name="status"]').val() === 'COMPLETE') {
         } else if($('input[name="status"]').val() === 'COMPLETE') {
             $('.form-status').addClass('alert-danger').html("Current status: <b>COMPLETE</b>. It looks like you've completed your application. Please revise carefully all the fields in the form and verify that your information is correct. You can then click 'Submit your final application' at the bottom.");
             $('.form-status').addClass('alert-danger').show().html("Current status: <b>COMPLETE</b>. It looks like you've completed your application. Please revise carefully all the fields in the form and verify that your information is correct. You can then click 'Submit your final application' at the bottom.");
         }
         }
     }
     }
})
})

Revision as of 09:37, 26 June 2024

$('#TfacsSubmission').ready( function() {

    $('.section-nav-toggles').click( function(event) {
        setTimeout( function() {
            var activeTable = $('.mw-collapsible:not(.mw-collapsed)')
            var atOffset = $(activeTable).offset().top
            var navBarHeight = $('#mw-navigation').outerHeight()
            $([document.documentElement, document.body]).animate({
                scrollTop: atOffset - ( navBarHeight * 2 ) - 7
            }, 0);
        }, "1");
        $(this).next().next('.section-nav-toggles').toggle();
        $(this).prev().prev('.section-nav-toggles').toggle();
        var nextText = 'Next section <i class="fa-duotone fa-diagram-next pl-1"></i>'
        var prevText = 'Previous section <i class="fa-duotone fa-diagram-previous pl-1"></i>'
        if ( $(this).html() == nextText ) {
           $(this).html(prevText);
        } else {
           $(this).html(nextText);
        }
    });




    function checkFields(classes) {
        if( classes.filter(function() { return this.value === ''; }).length === 0 ) {
            $('.form-status').addClass('alert-success').show().html('Current status: <b>SAVED</b>. All filled! Status will change to complete upon next save.');
            console.log('Setting STATUS to "Complete".');
            $('input[name="status"]').val("Complete");
        } else {
            console.log("Fields missing... Three-year retreat");
            var fieldsMissing = ''
            $('.MustField, .ThreeMustField').each( function(index, val) {
                if( !$(this).val() ){
                    var name = $(this).attr("name");
                    console.log( index + ': ' + name );
                    fieldsMissing = fieldsMissing + '<div>' + index + ': ' + name + '</div>'
                }
            });
            $('input[name="status"]').val("Saved");
            $('.form-status').addClass('alert-primary').show().html('Current status: <b>SAVED</b>. Some fields are still missing.' );
        }
    }


    function checkForm() {
        $('#TfacsSubmission input, #TfacsSubmission select, #TfacsSubmission textarea').prop('disabled', false);
        if( $('select[name="retreattype[]"]').val() === 'Three-year retreat') {
            checkFields($('.MustField, .ThreeMustField'))
        } else if( $('select[name="retreattype[]"]').val() === 'Solitary hermitage') {
            checkFields($('.MustField, .SolMustField'))
        } else {
            console.log("Retreat type not set." + $('select[name="retreattype[]"]').val());
            $('.form-status').addClass('alert-primary').show().html('Current status: <b>SAVED</b>. Retreat type not set.' );
        }
    }

    if($('input[name="status"]').val() === 'Saved') {
        jQuery(document).ready( checkForm() );
        $('#TfacsSubmission input, #TfacsSubmission select, #TfacsSubmission textarea').on( "keyup", checkForm() );
    } else {
        $('#TfacsSubmission input, #TfacsSubmission select, #TfacsSubmission textarea').not('#DummyField, #TfacsSubmitApplication').prop('disabled', true);
        if($('input[name="status"]').val() === 'SUBMITTED') {
            $('.form-status').addClass('alert-dark').show().html('Current status: <b>SUBMITTED</b>. <br> Your application has been submitted. The contemplative scholarship administrator will contact you shortly.' );
        } else if($('input[name="status"]').val() === 'COMPLETE') {
            $('.form-status').addClass('alert-danger').show().html("Current status: <b>COMPLETE</b>. It looks like you've completed your application. Please revise carefully all the fields in the form and verify that your information is correct. You can then click 'Submit your final application' at the bottom.");
        }
    }
})