跳转到内容
主菜单
主菜单
移至侧栏
隐藏
导航
首页
最近更改
随机页面
MediaWiki帮助
中医百科
搜索
搜索
登录
个人工具
登录
深色模式
查看“MediaWiki:Gadget-LoginToEdit.js”的源代码
系统消息
讨论
English
阅读
查看源代码
查看历史
工具
工具
移至侧栏
隐藏
操作
阅读
查看源代码
查看历史
清除缓存
常规
链入页面
相关更改
特殊页面
页面信息
页面值
←
MediaWiki:Gadget-LoginToEdit.js
因为以下原因,您没有权限编辑该页面:
您请求的操作仅限属于该用户组的用户执行:
用户
此页面为本wiki上的软件提供界面文本,并受到保护以防止滥用。 如欲修改所有wiki的翻译,请访问
translatewiki.net
上的MediaWiki本地化项目。
您无权编辑此JavaScript页面,因为编辑此页面可能会影响所有访问者。
您必须确认您的电子邮件地址才能编辑页面。请通过
参数设置
设置并确认您的电子邮件地址。
您可以查看和复制此页面的源代码。
/** * SPDX-License-Identifier: CC-BY-SA-4.0 * _addText: '{{Gadget Header|license=CC-BY-SA-4.0}}' * * @source {@link https://git.qiuwen.net.cn/InterfaceAdmin/QiuwenGadgets/src/branch/master/src/LoginToEdit} * @license CC-BY-SA-4.0 {@link https://www.qiuwenbaike.cn/wiki/H:CC-BY-SA-4.0} */ /** * +------------------------------------------------------------+ * | === WARNING: GLOBAL GADGET FILE === | * +------------------------------------------------------------+ * | All changes should be made in the repository, | * | otherwise they will be lost. | * +------------------------------------------------------------+ * | Changes to this page may affect many users. | * | Please discuss changes by opening an issue before editing. | * +------------------------------------------------------------+ */ /* <nowiki> */ (() => { "use strict"; // dist/LoginToEdit/LoginToEdit.js //! src/LoginToEdit/LoginToEdit.ts var import_ext_gadget2 = require("ext.gadget.Util"); //! src/AjaxLogin/options.json var loginElementSelector = 'a:has(.ajaxlogin-mount-point),#pt-login>a,.vector-user-menu-login>a,#user-tools>a[href*="Special"],.mainpage-top-menu>li:nth-child(2) a'; //! src/LoginToEdit/modules/i18n.ts var import_ext_gadget = require("ext.gadget.i18n"); var getI18nMessages = () => { return { Cancel: (0, import_ext_gadget.localize)({ en: "Cancel", ja: "キャンセル", "zh-hans": "暂不登录账号", "zh-hant": "暫不登入賬號" }), Edit: (0, import_ext_gadget.localize)({ en: "Edit", ja: "編集", "zh-hans": "编辑", "zh-hant": "編輯" }), Login: (0, import_ext_gadget.localize)({ en: "Login", ja: "ログイン", "zh-hans": "登录已有账号", "zh-hant": "登入已有賬號" }), Register: (0, import_ext_gadget.localize)({ en: "Register", ja: "アカウントを作成", "zh-hans": "注册新的账号", "zh-hant": "註冊新的賬號" }), DialogTitle: (0, import_ext_gadget.localize)({ en: "Welcome to Zhongyi Baike!", ja: "中醫百科へようこそ!", "zh-hans": "欢迎来到中医百科!", "zh-hant": "歡迎來到中醫百科!" }), DialogMessage: (0, import_ext_gadget.localize)({ en: "You have not yet logged in. Register and log in to your account to contribute.", ja: "あなたはまだ中醫百科にログインしていません。アカウントを作成し、ログインして中醫百科を改善することができます。", "zh-hans": "您尚未登录中医百科。您可以注册并登录账号,帮助完善中医百科。", "zh-hant": "您尚未登錄中醫百科。您可以注冊並登錄賬號,幫助完善中醫百科。" }) }; }; var i18nMessages = getI18nMessages(); var getMessage = (key) => { return i18nMessages[key] || key; }; //! src/LoginToEdit/modules/util/generateMessageDialogProperty.ts var generateMessageDialogProperty = () => { const $title = $("<b>").addClass("oo-ui-window-head").text(getMessage("DialogTitle")); const $message = $("<span>").addClass("oo-ui-window-foot").text(getMessage("DialogMessage")); const messageDialogProperty = { title: $title, message: $message, actions: [{ action: "login", flags: ["primary", "progressive"], label: $("<b>").text(getMessage("Login")) }, { action: "register", flags: "progressive", label: $("<b>").text(getMessage("Register")) }, { action: "cancel", flags: ["safe", "close"], label: $("<b>").text(getMessage("Cancel")) }] }; return messageDialogProperty; }; //! src/LoginToEdit/modules/initWindowManager.ts var initWindowManager = () => { const windowManager = new OO.ui.WindowManager(); return windowManager; }; //! src/LoginToEdit/modules/initDialog.ts var { skin, wgAction, wgPageName } = mw.config.get(); var isCitizen = skin === "citizen"; var loginURL = mw.util.getUrl("Special:UserLogin", { returnto: wgPageName }); var registerURL = mw.util.getUrl("Special:CreateAccount", { returnto: wgPageName }); var messageDialog; var initDialog = ($body) => { const windowManager = initWindowManager(); windowManager.$element.appendTo($body); const messageDialogProperty = generateMessageDialogProperty(); const openDialog = () => { if (messageDialog) { if (messageDialog.isOpened()) { messageDialog.close(); } else { messageDialog.open(messageDialogProperty); } return; } messageDialog = new OO.ui.MessageDialog(); messageDialog.getActionProcess = (action) => { if (action === "login") { const $element = $(loginElementSelector); if ($element.length) { $element.trigger("click"); } else { location.href = loginURL; } } else if (action === "register") { location.href = registerURL; } return new OO.ui.Process(() => { void windowManager.closeWindow(messageDialog); }); }; windowManager.addWindows([messageDialog]); void windowManager.openWindow(messageDialog, messageDialogProperty); }; const $caViewsource = $body.find("#ca-viewsource"); if ($caViewsource.length) { const editIcon = isCitizen ? '<span class="citizen-ui-icon mw-ui-icon-wikimedia-edit"></span>' : ""; $caViewsource.attr("id", "ca-edit").find("a").attr("aria-label", getMessage("DialogMessage")).html(editIcon + getMessage("Edit")).on("click", (event) => { event.preventDefault(); openDialog(); }); } if (["edit", "submit"].includes(wgAction)) { openDialog(); } }; //! src/LoginToEdit/LoginToEdit.ts void (0, import_ext_gadget2.getBody)().then(function loginToEdit($body) { const { wgUserName } = mw.config.get(); if (wgUserName) { return; } initDialog($body); }); })();
该页面使用的模板:
Template:Gadget Header
(
查看源代码
)
返回
MediaWiki:Gadget-LoginToEdit.js
。
开关有限宽度模式