MediaWiki:Asset.js: Difference between revisions
Appearance
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..." |
No edit summary |
||
| Line 1: | Line 1: | ||
$(document).ready(function () { | $(document).ready(function () { | ||
function | function field(name) { | ||
return $("[name='Asset[" + name + "]']"); | return $("[name='Asset[" + name + "]']"); | ||
} | } | ||
function | function generateIdentifier() { | ||
const | const chapter = field("Chapter").val(); | ||
const | const place = field("Place").val(); | ||
const org = | const org = field("Organisation").val(); | ||
if (! | if (!chapter) return; | ||
if (place && org) { | |||
alert("Select either a Place OR an Organisation."); | |||
return; | |||
} | |||
if (!place && !org) return; | |||
new mw.Api().get({ | new mw.Api().get({ | ||
| Line 17: | Line 22: | ||
question: | question: | ||
"return require('Module:AssetID').generate{" + | "return require('Module:AssetID').generate{" + | ||
"Chapter='" + | "Chapter='" + chapter + "'," + | ||
"Place='" + | "Place='" + place + "'," + | ||
"Organisation='" + org + "'}" | "Organisation='" + org + "'}" | ||
}).done(function (data) { | }).done(function (data) { | ||
const result = JSON.parse(data.return); | |||
if (result.error) { | |||
$("input[name='pfFormPageName']").val( | alert(result.error); | ||
return; | |||
} | |||
// Store hidden values | |||
field("Label").val(result.identifier); | |||
field("Sequence").val(result.sequence); | |||
// Display values | |||
$("#asset-identifier-display").text(result.identifier); | |||
$("#asset-sequence-display").text(result.sequence); | |||
// Override page name | |||
$("input[name='pfFormPageName']").val(result.identifier); | |||
}); | }); | ||
} | } | ||
field("Chapter").change(generateIdentifier); | |||
field("Place").change(generateIdentifier); | |||
field("Organisation").change(generateIdentifier); | |||
$("input[type='file']").on("change", function () { | $("input[type='file']").on("change", function () { | ||
if (this.files[0]) | if (!this.files[0]) return; | ||
const name = this.files[0].name; | |||
field("OriginalFilename").val(name); | |||
$("#asset-originalfilename-display").text(name); | |||
}); | }); | ||
}); | }); | ||
Latest revision as of 16:27, 18 February 2026
$(document).ready(function () {
function field(name) {
return $("[name='Asset[" + name + "]']");
}
function generateIdentifier() {
const chapter = field("Chapter").val();
const place = field("Place").val();
const org = field("Organisation").val();
if (!chapter) return;
if (place && org) {
alert("Select either a Place OR an Organisation.");
return;
}
if (!place && !org) return;
new mw.Api().get({
action: "scribunto-console",
title: "Module:AssetID",
question:
"return require('Module:AssetID').generate{" +
"Chapter='" + chapter + "'," +
"Place='" + place + "'," +
"Organisation='" + org + "'}"
}).done(function (data) {
const result = JSON.parse(data.return);
if (result.error) {
alert(result.error);
return;
}
// Store hidden values
field("Label").val(result.identifier);
field("Sequence").val(result.sequence);
// Display values
$("#asset-identifier-display").text(result.identifier);
$("#asset-sequence-display").text(result.sequence);
// Override page name
$("input[name='pfFormPageName']").val(result.identifier);
});
}
field("Chapter").change(generateIdentifier);
field("Place").change(generateIdentifier);
field("Organisation").change(generateIdentifier);
$("input[type='file']").on("change", function () {
if (!this.files[0]) return;
const name = this.files[0].name;
field("OriginalFilename").val(name);
$("#asset-originalfilename-display").text(name);
});
});