MediaWiki:Gadget-libOOUIDialog.js:修订间差异

MediaWiki系统消息页面
(// Edit via Wikiplus)
标签已被回退
(已还原Zorua Fox讨论)的编辑至最后由Github-bot修订的版本)
标签回退
第19行: 第19行:
/* <nowiki> */
/* <nowiki> */
"use strict";
"use strict";
var __awaiter = void 0 && (void 0).__awaiter || function (thisArg, _arguments, P, generator) {
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
function adopt(value) {
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
return value instanceof P ? value : new P(function (resolve) {
return new (P || (P = Promise))(function (resolve, reject) {
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
resolve(value);
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
step((generator = generator.apply(thisArg, _arguments || [])).next());
});
});
}
return new (P || (P = Promise))(function (resolve, reject) {
function fulfilled(value) {
try {
step(generator.next(value));
} catch (e) {
reject(e);
}
}
function rejected(value) {
try {
step(generator["throw"](value));
} catch (e) {
reject(e);
}
}
function step(result) {
result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected);
}
step((generator = generator.apply(thisArg, _arguments || [])).next());
});
};
};
var __generator = void 0 && (void 0).__generator || function (thisArg, body) {
var __generator = (this && this.__generator) || function (thisArg, body) {
var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;
var _ = {
return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g;
label: 0,
sent: function sent() {
function verb(n) { return function (v) { return step([n, v]); }; }
function step(op) {
if (t[0] & 1) throw t[1];
if (f) throw new TypeError("Generator is already executing.");
return t[1];
while (g && (g = 0, op[0] && (_ = 0)), _) try {
},
if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;
trys: [],
if (y = 0, t) op = [op[0] & 2, t.value];
ops: []
switch (op[0]) {
},
case 0: case 1: t = op; break;
f,
case 4: _.label++; return { value: op[1], done: false };
y,
case 5: _.label++; y = op[1]; op = [0]; continue;
t,
case 7: op = _.ops.pop(); _.trys.pop(); continue;
g;
default:
return g = {
if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }
next: verb(0),
if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }
"throw": verb(1),
if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }
"return": verb(2)
if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }
}, typeof Symbol === "function" && (g[Symbol.iterator] = function () {
if (t[2]) _.ops.pop();
return this;
_.trys.pop(); continue;
}), g;
}
function verb(n) {
op = body.call(thisArg, _);
return function (v) {
} catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }
return step([n, v]);
if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
};
}
function step(op) {
if (f) throw new TypeError("Generator is already executing.");
while (g && (g = 0, op[0] && (_ = 0)), _) try {
if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;
if (y = 0, t) op = [op[0] & 2, t.value];
switch (op[0]) {
case 0:
case 1:
t = op;
break;
case 4:
_.label++;
return {
value: op[1],
done: false
};
case 5:
_.label++;
y = op[1];
op = [0];
continue;
case 7:
op = _.ops.pop();
_.trys.pop();
continue;
default:
if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) {
_ = 0;
continue;
}
if (op[0] === 3 && (!t || op[1] > t[0] && op[1] < t[3])) {
_.label = op[1];
break;
}
if (op[0] === 6 && _.label < t[1]) {
_.label = t[1];
t = op;
break;
}
if (t && _.label < t[2]) {
_.label = t[2];
_.ops.push(op);
break;
}
if (t[2]) _.ops.pop();
_.trys.pop();
continue;
}
op = body.call(thisArg, _);
} catch (e) {
op = [6, e];
y = 0;
} finally {
f = t = 0;
}
}
if (op[0] & 5) throw op[1];
return {
value: op[0] ? op[1] : void 0,
done: true
};
}
};
};
var __read = void 0 && (void 0).__read || function (o, n) {
var __read = (this && this.__read) || function (o, n) {
var m = typeof Symbol === "function" && o[Symbol.iterator];
var m = typeof Symbol === "function" && o[Symbol.iterator];
if (!m) return o;
if (!m) return o;
var i = m.call(o),
var i = m.call(o), r, ar = [], e;
r,
ar = [],
e;
try {
while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);
} catch (error) {
e = {
error: error
};
} finally {
try {
try {
if (r && !r.done && (m = i["return"])) m.call(i);
while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);
} finally {
if (e) throw e.error;
}
}
catch (error) { e = { error: error }; }
}
finally {
return ar;
try {
if (r && !r.done && (m = i["return"])) m.call(i);
}
finally { if (e) throw e.error; }
}
return ar;
};
};
var __spreadArray = void 0 && (void 0).__spreadArray || function (to, from, pack) {
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 (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {
if (ar || !(i in from)) {
if (ar || !(i in from)) {
if (!ar) ar = Array.prototype.slice.call(from, 0, i);
if (!ar) ar = Array.prototype.slice.call(from, 0, i);
ar[i] = from[i];
ar[i] = from[i];
}
}
}
return to.concat(ar || Array.prototype.slice.call(from));
}
return to.concat(ar || Array.prototype.slice.call(from));
};
};
(function () {
(function () {
var running = false;
var running = false;
var resArray = [];
var resArray = [];
var sizes = ["small", "medium", "large", "larger"];
var sizes = ["small", "medium", "large", "larger"];
window.oouiDialog = Object.fromEntries(["alert", "confirm", "prompt"].map(function (method) {
window.oouiDialog = Object.fromEntries(["alert", "confirm", "prompt"].map(function (method) { return [method, function (text_jQuery, _option) { return __awaiter(void 0, void 0, void 0, function () {
var option, base, rect, windowWidth_1, acceptableSize, config, result, _a;
return [method, function (text_jQuery, _option) {
return __awaiter(void 0, void 0, void 0, function () {
return __generator(this, function (_b) {
switch (_b.label) {
var option, base, rect, windowWidth_1, acceptableSize, config, result, _a;
case 0:
return __generator(this, function (_b) {
option = $.isPlainObject(_option) ? _option : {};
switch (_b.label) {
case 0:
base = {
option = $.isPlainObject(_option) ? _option : {};
size: "medium",
base = {
};
size: "medium"
if (option.allowFullscreen !== true) {
rect = OO.ui.Element.static.getDimensions(window).rect;
};
if (option.allowFullscreen !== true) {
windowWidth_1 = rect.right - rect.left;
rect = OO.ui.Element["static"].getDimensions(window).rect;
acceptableSize = sizes.filter(function (s) { return OO.ui.WindowManager.static.sizes[s].width < windowWidth_1; });
base.size = sizes.includes(option.size) ? acceptableSize.length > 0 ? acceptableSize.includes(option.size) ? option.size : acceptableSize[acceptableSize.length - 1] : "small" : "small";
windowWidth_1 = rect.right - rect.left;
acceptableSize = sizes.filter(function (s) {
}
return OO.ui.WindowManager["static"].sizes[s].width < windowWidth_1;
else {
base.size = __spreadArray(__spreadArray([], __read(sizes), false), ["full"], false).includes(option.size) ? option.size : "small";
});
}
base.size = sizes.includes(option.size) ? acceptableSize.length > 0 ? acceptableSize.includes(option.size) ? option.size : acceptableSize[acceptableSize.length - 1] : "small" : "small";
} else {
if (method === "prompt") {
config = $.extend({
base.size = __spreadArray(__spreadArray([], __read(sizes), false), ["full"], false).includes(option.size) ? option.size : "small";
}
autocomplete: false,
}, $.isPlainObject(option.textInput) ? option.textInput : {});
if (method === "prompt") {
config = $.extend({
base.textInput = new OO.ui.TextInputWidget(config);
autocomplete: false
if (option.required) {
}, $.isPlainObject(option.textInput) ? option.textInput : {});
base.textInput.setIndicator(config.indicator || "required");
base.textInput = new OO.ui.TextInputWidget(config);
base.textInput.setValidation(config.validate || "non-empty");
if (option.required) {
}
base.textInput.setIndicator(config.indicator || "required");
}
return [4, new Promise(function (res) {
base.textInput.setValidation(config.validate || "non-empty");
}
if (running) {
}
resArray.push(res);
return [4, new Promise(function (res) {
}
if (running) {
else {
resArray.push(res);
running = true;
} else {
res();
running = true;
}
res();
})];
case 1:
_b.sent();
_b.label = 2;
case 2:
_b.trys.push([2, , 12, 13]);
result = void 0;
_b.label = 3;
case 3:
if (!(Number.MAX_SAFE_INTEGER > Number.MIN_SAFE_INTEGER)) return [3, 11];
return [4, OO.ui[method](text_jQuery instanceof $ ? text_jQuery : $("<p>").html(text_jQuery), $.extend({
title: "皮皮の提醒",
}, option, base))];
case 4:
result = _b.sent();
_b.label = 5;
case 5:
_b.trys.push([5, 8, , 10]);
if (!(base.textInput && result !== null)) return [3, 7];
return [4, base.textInput.getValidity()];
case 6:
_b.sent();
_b.label = 7;
case 7: return [3, 11];
case 8:
_a = _b.sent();
return [4, OO.ui.alert($("<p>").html("您没有在刚才的输入框内填写符合要求的信息,请重新填写!"), $.extend({}, option, base, {
title: "未填写符合要求的信息",
textInput: null,
}))];
case 9:
_b.sent();
return [3, 3];
case 10: return [3, 3];
case 11: return [2, result];
case 12:
if (resArray.length > 0) {
resArray.shift()();
}
else {
running = false;
}
return [7];
case 13: return [2];
}
}
})];
});
case 1:
}); }]; }));
_b.sent();
var sanity = $("<span>");
window.oouiDialog.sanitize = function (text) { return sanity.text(text).html(); };
_b.label = 2;
case 2:
_b.trys.push([2,, 12, 13]);
result = void 0;
_b.label = 3;
case 3:
if (!(Number.MAX_SAFE_INTEGER > Number.MIN_SAFE_INTEGER)) return [3, 11];
return [4, OO.ui[method](text_jQuery instanceof $ ? text_jQuery : $("<p>").html(text_jQuery), $.extend({
title: "有兽档案馆提醒您"
}, option, base))];
case 4:
result = _b.sent();
_b.label = 5;
case 5:
_b.trys.push([5, 8,, 10]);
if (!(base.textInput && result !== null)) return [3, 7];
return [4, base.textInput.getValidity()];
case 6:
_b.sent();
_b.label = 7;
case 7:
return [3, 11];
case 8:
_a = _b.sent();
return [4, OO.ui.alert($("<p>").html("您没有在刚才的输入框内填写符合要求的信息,请重新填写!"), $.extend({}, option, base, {
title: "未填写符合要求的信息",
textInput: null
}))];
case 9:
_b.sent();
return [3, 3];
case 10:
return [3, 3];
case 11:
return [2, result];
case 12:
if (resArray.length > 0) {
resArray.shift()();
} else {
running = false;
}
return [7];
case 13:
return [2];
}
});
});
}];
}));
var sanity = $("<span>");
window.oouiDialog.sanitize = function (text) {
return sanity.text(text).html();
};
})();
})();

/* </nowiki> */
/* </nowiki> */

2023年7月27日 (四) 19:07的版本

/**
 * SPDX-License-Identifier: CC-BY-SA-4.0
 * _addText: '{{Gadget Header|license=CC-BY-SA-4.0|import=}}'
 *
 * @source <https://github.com/TopRealm/InterfaceCodes/tree/master/src/Gadgets/Compatibility/libOOUIDialogs>
 * @dependency oojs-ui,oojs-ui-core,oojs-ui-core.styles,oojs-ui-widgets,oojs-ui-toolbars,oojs-ui-windows,oojs-ui.styles.indicators,oojs-ui.styles.textures,oojs-ui.styles.icons-accessibility,oojs-ui.styles.icons-alerts,oojs-ui.styles.icons-content,oojs-ui.styles.icons-editing-advanced,oojs-ui.styles.icons-editing-core,oojs-ui.styles.icons-editing-list,oojs-ui.styles.icons-editing-styling,oojs-ui.styles.icons-interactions,oojs-ui.styles.icons-layout,oojs-ui.styles.icons-location,oojs-ui.styles.icons-media,oojs-ui.styles.icons-moderation,oojs-ui.styles.icons-movement,oojs-ui.styles.icons-user,oojs-ui.styles.icons-wikimedia,ext.gadget.libPolyfill
 */
/**
 * +--------------------------------------------------------+
 * |         === WARNING: GLOBAL GADGET FILE ===            |
 * +--------------------------------------------------------+
 * |      All changes should be made in the repository,     |
 * |              otherwise they will be lost.              |
 * +--------------------------------------------------------+
 * |        Changes to this page affect many users.         |
 * |  Please discuss changes at Talk page before editing.   |
 * +--------------------------------------------------------+
 */
/* <nowiki> */
"use strict";
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
    function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
    return new (P || (P = Promise))(function (resolve, reject) {
        function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
        function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
        function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
        step((generator = generator.apply(thisArg, _arguments || [])).next());
    });
};
var __generator = (this && this.__generator) || function (thisArg, body) {
    var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;
    return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g;
    function verb(n) { return function (v) { return step([n, v]); }; }
    function step(op) {
        if (f) throw new TypeError("Generator is already executing.");
        while (g && (g = 0, op[0] && (_ = 0)), _) try {
            if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;
            if (y = 0, t) op = [op[0] & 2, t.value];
            switch (op[0]) {
                case 0: case 1: t = op; break;
                case 4: _.label++; return { value: op[1], done: false };
                case 5: _.label++; y = op[1]; op = [0]; continue;
                case 7: op = _.ops.pop(); _.trys.pop(); continue;
                default:
                    if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }
                    if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }
                    if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }
                    if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }
                    if (t[2]) _.ops.pop();
                    _.trys.pop(); continue;
            }
            op = body.call(thisArg, _);
        } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }
        if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
    }
};
var __read = (this && this.__read) || function (o, n) {
    var m = typeof Symbol === "function" && o[Symbol.iterator];
    if (!m) return o;
    var i = m.call(o), r, ar = [], e;
    try {
        while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);
    }
    catch (error) { e = { error: error }; }
    finally {
        try {
            if (r && !r.done && (m = i["return"])) m.call(i);
        }
        finally { if (e) throw e.error; }
    }
    return ar;
};
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) { return __awaiter(void 0, void 0, void 0, function () {
            var option, base, rect, windowWidth_1, acceptableSize, config, result, _a;
            return __generator(this, function (_b) {
                switch (_b.label) {
                    case 0:
                        option = $.isPlainObject(_option) ? _option : {};
                        base = {
                            size: "medium",
                        };
                        if (option.allowFullscreen !== true) {
                            rect = OO.ui.Element.static.getDimensions(window).rect;
                            windowWidth_1 = rect.right - rect.left;
                            acceptableSize = sizes.filter(function (s) { return OO.ui.WindowManager.static.sizes[s].width < windowWidth_1; });
                            base.size = sizes.includes(option.size) ? acceptableSize.length > 0 ? acceptableSize.includes(option.size) ? option.size : acceptableSize[acceptableSize.length - 1] : "small" : "small";
                        }
                        else {
                            base.size = __spreadArray(__spreadArray([], __read(sizes), false), ["full"], false).includes(option.size) ? option.size : "small";
                        }
                        if (method === "prompt") {
                            config = $.extend({
                                autocomplete: false,
                            }, $.isPlainObject(option.textInput) ? option.textInput : {});
                            base.textInput = new OO.ui.TextInputWidget(config);
                            if (option.required) {
                                base.textInput.setIndicator(config.indicator || "required");
                                base.textInput.setValidation(config.validate || "non-empty");
                            }
                        }
                        return [4, new Promise(function (res) {
                                if (running) {
                                    resArray.push(res);
                                }
                                else {
                                    running = true;
                                    res();
                                }
                            })];
                    case 1:
                        _b.sent();
                        _b.label = 2;
                    case 2:
                        _b.trys.push([2, , 12, 13]);
                        result = void 0;
                        _b.label = 3;
                    case 3:
                        if (!(Number.MAX_SAFE_INTEGER > Number.MIN_SAFE_INTEGER)) return [3, 11];
                        return [4, OO.ui[method](text_jQuery instanceof $ ? text_jQuery : $("<p>").html(text_jQuery), $.extend({
                                title: "皮皮の提醒",
                            }, option, base))];
                    case 4:
                        result = _b.sent();
                        _b.label = 5;
                    case 5:
                        _b.trys.push([5, 8, , 10]);
                        if (!(base.textInput && result !== null)) return [3, 7];
                        return [4, base.textInput.getValidity()];
                    case 6:
                        _b.sent();
                        _b.label = 7;
                    case 7: return [3, 11];
                    case 8:
                        _a = _b.sent();
                        return [4, OO.ui.alert($("<p>").html("您没有在刚才的输入框内填写符合要求的信息,请重新填写!"), $.extend({}, option, base, {
                                title: "未填写符合要求的信息",
                                textInput: null,
                            }))];
                    case 9:
                        _b.sent();
                        return [3, 3];
                    case 10: return [3, 3];
                    case 11: return [2, result];
                    case 12:
                        if (resArray.length > 0) {
                            resArray.shift()();
                        }
                        else {
                            running = false;
                        }
                        return [7];
                    case 13: return [2];
                }
            });
        }); }]; }));
    var sanity = $("<span>");
    window.oouiDialog.sanitize = function (text) { return sanity.text(text).html(); };
})();
/* </nowiki> */