// Edit Via InPageEdit |
同步小工具 Tag: Bot |
||
Line 1: | Line 1: | ||
// 修改后须同步至 commons library en ja 等全部站点 | |||
// <pre> | // <pre> | ||
"use strict"; | "use strict"; |
// 修改后须同步至 commons library en ja 等全部站点
// <pre>
"use strict";
var __spreadArray = (this && this.__spreadArray) || function (to, from, pack) {
if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {
if (ar || !(i in from)) {
if (!ar) ar = Array.prototype.slice.call(from, 0, i);
ar[i] = from[i];
}
}
return to.concat(ar || Array.prototype.slice.call(from));
};
(function () {
var running = false;
var resArray = [];
var sizes = ["small", "medium", "large", "larger"];
window.oouiDialog = Object.fromEntries(["alert", "confirm", "prompt"].map(function (method) {
return [method, function (text_jQuery, _option) {
var option = $.isPlainObject(_option) ? _option : {};
var textInput = $.extend({
autocomplete: false
}, $.isPlainObject(option.textInput) ? option.textInput : {});
if (textInput.required || option.required) {
textInput.required = true;
if (!("indicator" in textInput)) {
textInput.indicator = "required";
}
if (!("validate" in textInput)) {
textInput.validate = "not-empty";
}
}
var size;
if (option.allowFullscreen !== true) {
var rect = OO.ui.Element.static.getDimensions(window).rect;
var windowWidth_1 = rect.right - rect.left;
var acceptableSize = sizes.filter(function (s) { return OO.ui.WindowManager.static.sizes[s].width < windowWidth_1; });
size = sizes.includes(option.size) ? acceptableSize.length > 0 ? acceptableSize.includes(option.size) ? option.size : acceptableSize[acceptableSize.length - 1] : "small" : "small";
}
else {
size = __spreadArray(__spreadArray([], sizes, true), ["full"], false).includes(option.size) ? option.size : "small";
}
return new Promise(function (res) {
if (running) {
resArray.push(res);
}
else {
running = true;
res();
}
}).then(function () {
return OO.ui[method](text_jQuery instanceof $ ? text_jQuery : $("<p>").html(text_jQuery), $.extend({
title: "萌娘百科提醒您"
}, option, {
size: size,
textInput: textInput
}));
})["catch"](function (e) {
if (resArray.length > 0) {
resArray.shift()();
}
else {
running = false;
}
throw e;
}).then(function (result) {
if (resArray.length > 0) {
resArray.shift()();
}
else {
running = false;
}
return result;
});
}];
}));
var sanity = $("<span>");
window.oouiDialog.sanitize = function (text) {
return sanity.text(text).html();
};
})();
// </pre>