Jump to content

MediaWiki:Asset.js

From Costa Sano MediaWiki
Revision as of 15:48, 18 February 2026 by Mngr (talk | contribs) (Created page with "$(document).ready(function () { function f(name) { return $("[name='Asset[" + name + "]']"); } function generate() { const ch = f("Chapter").val(); const pl = f("Place").val(); const org = f("Organisation").val(); if (!ch || (pl && org) || (!pl && !org)) return; new mw.Api().get({ action: "scribunto-console", title: "Module:AssetID", question: "return requi...")
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)

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)
  • Edge: Hold Ctrl while clicking Refresh, or press Ctrl-F5.
$(document).ready(function () {

    function f(name) {
        return $("[name='Asset[" + name + "]']");
    }

    function generate() {
        const ch = f("Chapter").val();
        const pl = f("Place").val();
        const org = f("Organisation").val();

        if (!ch || (pl && org) || (!pl && !org)) return;

        new mw.Api().get({
            action: "scribunto-console",
            title: "Module:AssetID",
            question:
                "return require('Module:AssetID').generate{" +
                "Chapter='" + ch + "'," +
                "Place='" + pl + "'," +
                "Organisation='" + org + "'}"
        }).done(function (data) {
            const r = JSON.parse(data.return);
            if (r.error) { alert(r.error); return; }

            f("Label").val(r.identifier);
            f("Sequence").val(r.sequence);
            $("input[name='pfFormPageName']").val(r.identifier);
        });
    }

    f("Chapter").change(generate);
    f("Place").change(generate);
    f("Organisation").change(generate);

    $("input[type='file']").on("change", function () {
        if (this.files[0]) {
            f("OriginalFilename").val(this.files[0].name);
        }
    });
});