MediaWiki:Gadget-FormCheck.js

From Tsadra Foundation Advanced Contemplative Scholarships
Revision as of 08:27, 26 June 2024 by Jeremi (talk | contribs) ((by SublimeText.Mediawiker))

Note: After publishing, you may have to bypass your browser's cache to see the changes.

  • Firefox / Safari: Hold Shift while clicking Reload, or press either Ctrl-F5 or Ctrl-R (⌘-R on a Mac)
  • Google Chrome: Press Ctrl-Shift-R (⌘-Shift-R on a Mac)
  • Internet Explorer / Edge: Hold Ctrl while clicking Refresh, or press Ctrl-F5
  • Opera: Press Ctrl-F5.
$('#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 checkForm() {
        $('#TfacsSubmission input, #TfacsSubmission select, #TfacsSubmission textarea').prop('disabled', false);
        if( $('select[name="retreattype[]"]').val() === 'Three-year retreat') {
            if( $('.MustField, .ThreeMustField').filter(function() { return this.value === ''; }).length === 0 ) {
                console.log("All filled, setting status to 'Complete'.");
                $('input[name="status"]').val("Complete");
            } else {
                console.log("Fields missing... Three-year retreat");
                $('.MustField, .ThreeMustField').each( function(i, val) {
                    console.log( i + ': ' + val.attr("name") );
                });
                $('input[name="status"]').val("Saved");
            }
        } else if( $('select[name="retreattype[]"]').val() === 'Solitary hermitage') {
            if( $('.MustField, .SolMustField').filter(function() { return this.value === ''; }).length === 0 ) {
                console.log("All filled, setting status to 'Complete'.");
                $('input[name="status"]').val("Complete");
            } else {
                console.log("Fields missing... Solitary hermitage");
                $('.MustField, .SolMustField').each( function(i, value) {
                    var name = $(this).attr("name");
                    console.log( i + ': ' + name );
                });
                $('input[name="status"]').val("Saved");
            }
        } else {
            console.log("Retreat type not set." + $('select[name="retreattype[]"]').val());
        }
    }
    if( ($('input[name="status"]').val() === 'Saved') || $('input[name="status"]').val() === 'Complete' ) {
        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);
    }
})