MediaWiki:Common.js: Difference between revisions

From Seven Sages of Rome
No edit summary
No edit summary
 
Line 38: Line 38:
})
})
$(document).ready(function () {
$(document).ready(function () {
     // Retrieve page titles from hidden div
     $('#copyButton').on('click', function () {
    var pageTitles = $("#pageList").text().split(',');
        var targetPage = $("#targetPageInput").val().trim();
        var embeddedStories = $("#embeddedStoryTemplates").text();


    // Input and suggestions list elements
        if (!targetPage) {
    var $input = $("#targetPageInput");
            alert("Please select a target page.");
    var $suggestions = $("#autocomplete-suggestions");
            return;
        }


    // Show suggestions based on input
        if (!embeddedStories) {
    $input.on("input", function () {
            alert("No EmbeddedStory templates found on the source page.");
        var query = $(this).val().toLowerCase().trim();
            return;
         $suggestions.empty().hide();
         }


         if (query.length < 2) return; // Start showing suggestions from 2 characters
        // Confirm action
         if (!confirm("Are you sure you want to copy the EmbeddedStory templates to " + targetPage + "?")) {
            return;
        }


         // Filter page titles
         // Use MediaWiki API to append templates to the target page
         var matches = pageTitles.filter(function (title) {
         $.post(mw.util.wikiScript('api'), {
             return title.toLowerCase().indexOf(query) !== -1;
             action: 'edit',
            title: targetPage,
            appendtext: "\n" + embeddedStories,
            token: mw.user.tokens.get('csrfToken'),
            format: 'json'
        })
        .done(function (data) {
            if (data && data.edit && data.edit.result === 'Success') {
                alert("EmbeddedStory templates copied successfully to " + targetPage + "!");
            } else {
                alert("An error occurred: " + (data.error && data.error.info));
            }
        })
        .fail(function () {
            alert("An error occurred while trying to copy the EmbeddedStory templates.");
         });
         });
        // Display matching suggestions
        if (matches.length > 0) {
            matches.forEach(function (match) {
                $("<li>").text(match).appendTo($suggestions)
                    .on("click", function () {
                        $input.val($(this).text());
                        $suggestions.empty().hide();
                    });
            });
            $suggestions.show();
        }
    });
    // Hide suggestions when clicking outside
    $(document).on("click", function (e) {
        if (!$(e.target).closest("#autocomplete-container").length) {
            $suggestions.empty().hide();
        }
     });
     });
});
});

Latest revision as of 20:18, 13 November 2024

function drilldownswitcher() {
    $('#drilldown-switch:contains("Show all filters")').length ? ($(".drilldown-filter-values:has(a)").css("display", "block"),
            $(".drilldown-values-toggle").each(function () {
                $("img").each(function () {
                    $(this).attr("src", $(this).attr("src").replace("right-arrow.png", "down-arrow.png"));
                });
            }),
            (document.getElementById("drilldown-switch").innerHTML = 'Hide all filters <i class="fa fa-minus"></i>'))
        : $('#drilldown-switch:contains("Hide all filters")').length &&
        ($(".drilldown-filter-values:has(a)").css("display", "none"),
            $(".drilldown-values-toggle").each(function () {
                $("img").each(function () {
                    $(this).attr("src", $(this).attr("src").replace("down-arrow.png", "right-arrow.png"));
                });
            }),
            (document.getElementById("drilldown-switch").innerHTML = 'Show all filters <i class="fa fa-plus"></i>'));
}
$(document).ready(function () {
    $(".drilldown-results").css({ "-webkit-filter": "blur(0)", "-moz-filter": "blur(0)", "-o-filter": "blur(0)", "-ms-filter": "blur(0)", filter: "blur(0)" }), $(".drilldown-filter-values:has(a)").css("display", "none");
    $('<br /><h3 class="drilldown-pre-header">1. Selected Filters</h3>').insertBefore("#drilldown-applied-filters"),
    $('<h3 class="drilldown-pre-filters">2. Available Filters</h3>').insertBefore("#drilldown-applicable-filters"),
    $('<h3 class="drilldown-post-filters">3. Filtered Results</h3>').insertAfter("#drilldown-applicable-filters"),
    $('<html><div class="drilldown-btn-wrapper"><a class="btn primary-btn" href="javascript:;" onclick="drilldownswitcher()" id="drilldown-switch">Show all filters <i class="fa fa-plus"></i></a></div></html>').insertBefore("#drilldown-filters");
    $(".drilldown-values-toggle").each(function () {
    	$("img").each(function () {
        	$(this).attr("src", $(this).attr("src").replace("down-arrow.png", "right-arrow.png"));
    	});
    });

    if( mw.storage.get( "wip-dismissed" ) === null || JSON.parse(mw.storage.get( "wip-dismissed" )) === false){
    	$( ".wip-alert" ).fadeIn( "slow", function() {});
    }
    
    $( "#close-wip" ).on( "click", function() {
	  mw.storage.set( "wip-dismissed", true );
	  $( ".wip-alert" ).fadeOut( "slow", function() {});
    } );
})
$(document).ready(function () {
    $('#copyButton').on('click', function () {
        var targetPage = $("#targetPageInput").val().trim();
        var embeddedStories = $("#embeddedStoryTemplates").text();

        if (!targetPage) {
            alert("Please select a target page.");
            return;
        }

        if (!embeddedStories) {
            alert("No EmbeddedStory templates found on the source page.");
            return;
        }

        // Confirm action
        if (!confirm("Are you sure you want to copy the EmbeddedStory templates to " + targetPage + "?")) {
            return;
        }

        // Use MediaWiki API to append templates to the target page
        $.post(mw.util.wikiScript('api'), {
            action: 'edit',
            title: targetPage,
            appendtext: "\n" + embeddedStories,
            token: mw.user.tokens.get('csrfToken'),
            format: 'json'
        })
        .done(function (data) {
            if (data && data.edit && data.edit.result === 'Success') {
                alert("EmbeddedStory templates copied successfully to " + targetPage + "!");
            } else {
                alert("An error occurred: " + (data.error && data.error.info));
            }
        })
        .fail(function () {
            alert("An error occurred while trying to copy the EmbeddedStory templates.");
        });
    });
});