更改

跳到导航 跳到搜索
添加12,120字节 、 2018年5月26日 (六) 13:29
/* Any JavaScript here will be loaded for all users on every page load. */
/* Any JavaScript here will be loaded for all users on edit page load. */
$(function() {
$(".mw-summary-preset-item a").closest('.oo-ui-fieldLayout-header').width($('#wpSummary').width());
$(".mw-summary-preset-item a").on("click", function() {
$('[name="wpSummary"]').val($('[name="wpSummary"]').val() + " " + $(this).html());
});

// .wikiEditor-ui-controls 颜色修正
$('.wikiEditor-ui-controls').css('background-color', $('#content').css('background-color'));

//编辑提示检查
if ($(".editOptions > #wpSummary")[0]) $(".CheckNewSectionOn").hide(); else $(".CheckNewSectionOff").hide();

// Customized File Insertion dialog
// Copyright 2017 The Little Moe New LLC. All rights reserved.
mw.loader.using([ "oojs", "oojs-ui" ]).then(function() {
$("#wpTextbox1").on("wikiEditor-toolbar-doneInitialSections", function() {
function FileInsertionDialog(config) {
FileInsertionDialog.super.call(this, config);
}
OO.inheritClass(FileInsertionDialog, OO.ui.ProcessDialog);
// Name
FileInsertionDialog.static.name = "fileInsertionDialog";
FileInsertionDialog.static.title = mw.msg("wikieditor-toolbar-tool-file-title");
FileInsertionDialog.static.actions = [ {
flags:"primary",
label:mw.msg("wikieditor-toolbar-tool-file-insert"),
action:"insert"
}, {
flags:"safe",
label:mw.msg("wikieditor-toolbar-tool-file-cancel")
} ];
// Initialization
FileInsertionDialog.prototype.initialize = function() {
FileInsertionDialog.super.prototype.initialize.call(this);
this.panel = new OO.ui.PanelLayout({
padded:true,
expanded:false
});
this.fileMetaContent = new OO.ui.FieldsetLayout();
this.alignmentContent = new OO.ui.FieldsetLayout();
this.formatContent = new OO.ui.FieldsetLayout();
this.fileNameInput = new OO.ui.TextInputWidget({
indicator:"required"
});
this.fileNameField = new OO.ui.FieldLayout(this.fileNameInput, {
label:mw.msg("wikieditor-toolbar-file-target"),
align:"top"
});
this.fileTitleInput = new OO.ui.TextInputWidget();
this.fileTitleField = new OO.ui.FieldLayout(this.fileTitleInput, {
label:mw.msg("wikieditor-toolbar-file-caption"),
align:"top"
});
this.sizeInput = new OO.ui.TextInputWidget();
this.sizeField = new OO.ui.FieldLayout(this.sizeInput, {
label:mw.msg("wikieditor-toolbar-file-size"),
align:"top"
});
this.fileMetaContent.addItems([ this.fileNameField, this.fileTitleField, this.sizeField ]);
var alignOptionDefault = new OO.ui.ButtonOptionWidget({
data:"default",
label:mw.msg("wikieditor-toolbar-file-default"),
title:mw.msg("wikieditor-toolbar-file-default")
});
var alignOptionNone = new OO.ui.ButtonOptionWidget({
data:"none",
label:mw.msg("wikieditor-toolbar-file-format-none"),
title:mw.msg("wikieditor-toolbar-file-format-none")
});
var magicWords = mw.config.get("wgWikiEditorMagicWords");
var alignOptionMid = new OO.ui.ButtonOptionWidget({
data:"center",
label:magicWords.img_center,
title:magicWords.img_center
});
var alignOptionLeft = new OO.ui.ButtonOptionWidget({
data:"left",
label:magicWords.img_left,
title:magicWords.img_left
});
var alignOptionRight = new OO.ui.ButtonOptionWidget({
data:"right",
label:magicWords.img_right,
title:magicWords.img_right
});
this.alignmentSelect = new OO.ui.ButtonSelectWidget({
items:[ alignOptionNone, alignOptionDefault, alignOptionMid, alignOptionLeft, alignOptionRight ]
});
this.alignmentField = new OO.ui.FieldLayout(this.alignmentSelect, {
label:mw.msg("wikieditor-toolbar-file-float"),
align:"top"
});
this.alignmentContent.addItems([ this.alignmentField ]);
var formatOptionThumbnail = new OO.ui.ButtonOptionWidget({
data:"thumbnail",
label:magicWords.img_thumbnail,
title:magicWords.img_thumbnail
});
var formatOptionFramed = new OO.ui.ButtonOptionWidget({
data:"framed",
label:magicWords.img_framed,
title:magicWords.img_framed
});
var formatOptionFrameless = new OO.ui.ButtonOptionWidget({
data:"frameless",
label:magicWords.img_frameless,
title:magicWords.img_frameless
});
var formatOptionNone = new OO.ui.ButtonOptionWidget({
data:"default",
label:magicWords.img_none,
title:magicWords.img_none
});
this.formatSelect = new OO.ui.ButtonSelectWidget({
items:[ formatOptionThumbnail, formatOptionFramed, formatOptionFrameless, formatOptionNone ]
});
this.formatField = new OO.ui.FieldLayout(this.formatSelect, {
label:mw.msg("wikieditor-toolbar-file-format"),
align:"top"
});
this.formatContent.addItems([ this.formatField ]);
this.panel.$element.append(this.fileMetaContent.$element);
this.panel.$element.append(this.alignmentContent.$element);
this.panel.$element.append(this.formatContent.$element);
this.$body.append(this.panel.$element);
this.fileNameInput.connect(this, {
change:"onFileNameChange"
});
};
// Specify the dialog height (or don"t to use the automatically generated height).
FileInsertionDialog.prototype.getBodyHeight = function() {
return this.panel.$element.outerHeight(true);
};
// Name validation
FileInsertionDialog.prototype.onFileNameChange = function(value) {
this.actions.setAbilities({
insert:!!value.length
});
};
// Default state initialization
FileInsertionDialog.prototype.getSetupProcess = function(data) {
data = data || {};
return FileInsertionDialog.super.prototype.getSetupProcess.call(this, data).next(function() {
this.actions.setAbilities({
insert:false
});
this.fileNameInput.setValue("");
this.fileTitleInput.setValue("");
this.sizeInput.setValue("");
this.alignmentSelect.selectItemByData("default");
this.formatSelect.selectItemByData("thumbnail");
}, this);
};
// Context setup
FileInsertionDialog.prototype.setContext = function(context) {
this.editorContext = context;
};
// Specify processes to handle the actions.
FileInsertionDialog.prototype.getActionProcess = function(action) {
if (action === "insert") {
return new OO.ui.Process(function() {
this.insertImage();
}, this);
}
// Fallback to parent handler
return FileInsertionDialog.super.prototype.getActionProcess.call(this, action);
};
// Handles image insertion.
FileInsertionDialog.prototype.insertImage = function() {
if (!this.editorContext) return;
var fileName, caption, fileFloat, fileFormat, fileSize, fileTitle, options, fileUse, hasPxRgx = /.+px$/, magicWordsI18N = mw.config.get("wgWikiEditorMagicWords");
fileName = this.fileNameInput.getValue();
caption = this.fileTitleInput.getValue();
fileSize = this.sizeInput.getValue();
fileFloat = this.alignmentSelect.getSelectedItem().data;
fileFormat = this.formatSelect.getSelectedItem().data;
// Append px to end to size if not already contains it
if (fileSize !== "" && !hasPxRgx.test(fileSize)) {
fileSize += "px";
}
if (fileName !== "") {
fileTitle = new mw.Title(fileName);
// Append file namespace prefix to filename if not already contains it
if (fileTitle.getNamespaceId() !== 6) {
fileTitle = new mw.Title(fileName, 6);
}
fileName = fileTitle.toText();
}
options = [ fileSize, fileFormat, fileFloat ];
// Filter empty values
options = $.grep(options, function(val) {
return val.length && val !== "default";
});
if (caption.length) {
options.push(caption);
}
fileUse = options.length === 0 ? fileName :fileName + "|" + options.join("|");
$.wikiEditor.modules.toolbar.fn.doAction(this.editorContext, {
type:"replace",
options:{
pre:"[[",
peri:fileUse,
post:"]]",
ownline:true
}
});
this.close();
};
// Remove legacy file insertion
$("#wpTextbox1").wikiEditor("removeFromToolbar", {
section:"main",
group:"insert",
tool:"file"
});
$("#wpTextbox1").wikiEditor("addToToolbar", {
section:"main",
group:"insert",
tools:{
"file-alt":{
label:mw.msg("wikieditor-toolbar-tool-file-title"),
type:"button",
icon:"insert-file.png",
offset:[ 2, -1438 ],
action:{
type:"callback",
execute:function(context) {
var windowManager = new OO.ui.WindowManager();
$("body").append(windowManager.$element);
var fileInsertionDialog = new FileInsertionDialog();
fileInsertionDialog.setContext(context);
windowManager.addWindows([ fileInsertionDialog ]);
windowManager.openWindow(fileInsertionDialog);
}
}
}
}
});
});
});
});

阅读更多:https://zh.moegirl.org/MediaWiki:Common.js/edit.js
本文引自萌娘百科(https://zh.moegirl.org/),文字内容遵守【知识共享 署名-非商业性使用-相同方式共享 3.0】协议。
行政员、steward、管理员
1,111

个编辑

导航菜单