“MediaWiki:Common.js/edit.js”的版本间的差异

来自侠行天下-维基百科
跳到导航 跳到搜索
 
 
(未显示同一用户的9个中间版本)
第1行: 第1行:
/* 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. */
 
/* Any JavaScript here will be loaded for all users on edit page load. */
 +
 
$(function() {
 
$(function() {
    $(".mw-summary-preset-item a").closest('.oo-ui-fieldLayout-header').width($('#wpSummary').width());
+
$(".mw-summary-preset-item a").closest('.oo-ui-fieldLayout-header').width($('#wpSummary').width());
 
     $(".mw-summary-preset-item a").on("click", function() {
 
     $(".mw-summary-preset-item a").on("click", function() {
 
         $('[name="wpSummary"]').val($('[name="wpSummary"]').val() + " " + $(this).html());
 
         $('[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/MediaWiki:Common.js/edit.js
本文引自萌娘百科(https://zh.moegirl.org/),文字内容遵守【知识共享 署名-非商业性使用-相同方式共享 3.0】协议。
+
//本文引自萌娘百科(https://zh.moegirl.org/),文字内容遵守【知识共享 署名-非商业性使用-相同方式共享 3.0】协议。

2018年5月26日 (六) 14:50的最新版本

/* 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());
    });
});

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