LLWiki正在建设中,欢迎加入我们

“MediaWiki:Gadget-site-lib.js”的版本间差异

跳转到导航 跳转到搜索
* @Function: 根据界面语言或内容语言手动繁简转换
* @Source: [[moegirl:mediawiki:gadget-site-lib.js]]
* @Parameter {stringString} 简体文字内容hans
* @Parameter {stringString} 繁体文字内容hant(可选)
* @Return {stringString} 转换后的文字
*/
function wgUXS(wg, hans, hant) { return ['zh-hant', 'zh-tw', 'zh-hk', 'zh-mo'].includes(wg) ? hant || hans : hans; }
* @Function: 当前页面标题转义
* @Dependencies: mediawiki.util
* @Return {stringString} 转义后的标题
*/
mw.pagenamee = function() { return mw.util.wikiUrlencode( pagename ); };
/**
* @Function: 添加手机版菜单项
* @Parameter {arrayArray} 形如{icon, text, href}或{icon, msg, href}的对象数组
* @Parameter {stringString} FontAwesome图标名称icon
* @Parameter {stringString} 文字text(需手动繁简转换)
* @Parameter {stringString} mw.messages的键值msg
* @Parameter {stringString} 目标地址href
* @Return {arrayArray} 一组<li>元素
*/
mw.addMobileLinks = function(links) {
/**
* @Function: API请求失败时通知错误信息
* @Parameter {stringString} API返回的错误信息reason
* @Parameter {stringString} API请求的内容topic(需手动繁简转换)
*/
mw.apiFailure = function(reason, topic) {
* @Function: 提交一个API查询请求并计时,以方便评估表现
* @Dependencies: mediawiki.api
* @Parameter {objectApi} mw.Api对象api
* @Parameter {objectObject} API参数对象params
* @Parameter {stringString} API请求内容topic(需手动繁简转换)
* @Return {objectPromise} Promise对象,且在请求成功时记录用时,失败时通知错误信息
*/
mw.timedQuery = function(api, params, topic) {
* @Function: 類似mw.timedQuery,但改用POST,適合用於預覽
* @Dependencies: mediawiki.api
* @Parameter {objectApi} mw.Api对象api
* @Parameter {objectObject} API参数对象params
* @Parameter {stringString} API请求内容topic(需手动繁简转换)
* @Return {objectPromise} Promise对象,且在请求成功时记录用时,失败时通知错误信息
*/
mw.timedParse = function(api, params, topic) {
* @Function: 提交一个标准API请求以获得当前版本的Wikitext,这是在多个小工具中广泛使用的请求
* @Dependencies: mediawiki.api
* @Parameter {objectApi} mw.Api对象api
* @Return {objectPromise} Promise对象,且在请求成功时记录用时,失败时通知错误信息
*/
mw.standardQuery = function(api) {
* @Function: 提交一个标准API请求以获得当前版本的段落Wikitext,一般不可用于历史版本
* @Dependencies: mediawiki.api
* @Parameter {objectApi} mw.Api对象api
* @Parameter {numberNumber} 段落编号section
* @Parameter {booleanBoolean} 强制历史版本force(可选)
* @Return {objectPromise} Promise对象,且在请求成功时记录用时,失败时通知错误信息
*/
mw.sectionQuery = function(api, section, force) {
* @Function: 检查编辑冲突后提交编辑
* @Dependencies: mediawiki.api
* @Parameter {objectApi} mw.Api对象api
* @Parameter {numberNumber} 最新修订编号curRevid
* @Parameter {objectObject} API参数对象params
* @Parameter {booleanBoolean} 是否启用自动备份flag(可选)
* @Return {objectPromise} Promise对象,API请求失败时抛出revisionQueryFailure或editFailure,编辑冲突时抛出editConflict
*/
mw.safeEdit = function(api, curRevid, params, flag) {
* @Function: 检查页面是否存在后新建重定向
* @Dependencies: mediawiki.api, mediawiki.util
* @Parameter {objectApi} mw.Api对象api
* @Parameter {stringString} 重定向页标题title
* @Parameter {stringString} 重定向目标target
* @Parameter {stringString} 编辑摘要summary(可选)
* @Return {objectPromise} Promise对象,API请求失败时抛出queryFailure或createFailure,页面已存在时抛出pageExists
*/
mw.safeRedirect = function(api, title, target, summary) {
* @Function: 生成标准化的确认对话框
* @Dependencies: oojs-ui-core, oojs-ui-windows
* @Parameter {stringString} 文字提示text
* @Parameter {arrayArray} 确认按钮样式flags
* @Return {objectPromise} Promise对象
*/
mw.confirm = function(text, flags) {
* @Function: 生成标准化的对话框
* @Dependencies: oojs-ui-core, oojs-ui-windows
* @Parameter {objectMessageDialog} OO.ui.MessageDialog对象dialog
* @Parameter {arrayArray} 按钮actions
* @Parameter {jQuery} 文字$message
* @Parameter {jQuery} 标题$title(可选)
* @Return {objectPromise} Promise对象
*/
mw.dialog = function(dialog, actions, $message, $title) {
* @Dependencies: oojs-ui-core
* @Parameter {jQuery} 容器$container
* @Parameter {stringString} 目标选择器target
* @Parameter {objectObject} 参数params(可选)
* @Parameter {jQuery} 标签对象$content(可选)
*/
mw.tipsy = function($container, target, params, $content) {
const $label = $('<span>'),
// 这里不用PopupWidget自带的autoClose功能,因为效果很奇怪
popup = new OO.ui.PopupWidget( $.extend({$content: $content || $label, padded: true, width: null}, params) );
if ($content) { $content.append( $label ); } // 没有title时,$label没有效果
popup.$element.appendTo( 'body' );
$container.on('mouseenter focus', target, function() {