LLWiki正在建设中,欢迎加入我们!
“MediaWiki:Gadget-SettingsDialog.js”的版本间差异
跳转到导航
跳转到搜索
小 |
小 |
||
"use strict";
/* global OO, wgULS */
mw.messages.set( wgULS({'gadget-sd-title': '小工具设置', 'gadget-sd-notify': '您的设置已保存!'
{'gadget-sd-title': '小工具偏好設定', 'gadget-sd-notify': '您的偏好設定已儲存!',
// constructor只添加一个CSS类,剩下的交给addTab方法逐一添加小工具或initialize方法生成html▼
'gadget-sd-save': '儲存', 'gadget-sd-cancel': '取消'}) );
function SettingsDialog(config) {
config.classes = (config.classes || []).concat( 'settingsDialog' );
}
OO.inheritClass(SettingsDialog, OO.ui.ProcessDialog);
// initialize只创建一个OO.ui.IndexLayout对象,剩下的交给addTab方法填入内容
SettingsDialog.prototype.initialize = function() {
SettingsDialog.super.prototype.initialize.apply(this, arguments);
this.content = new OO.ui.IndexLayout();
this.gadgets.forEach(function(gadget) {▼
gadget.panel = new OO.ui.TabPanelLayout( gadget.name, {label: gadget.label} );▼
gadget.checkboxes.forEach(function(ele) {▼
ele.widget = new OO.ui.CheckboxInputWidget();▼
});▼
gadget.radios.forEach(function(ele) {▼
ele.widget = new OO.ui.RadioSelectInputWidget({options: ele.options});▼
return new OO.ui.FieldLayout(ele.widget, {label: ele.label, align: 'inline', help: ele.help,▼
helpinline: true}).$element;▼
return new OO.ui.FieldLayout(ele.widget, {label: ele.label, align: 'inline', help: ele.help,▼
helpinline: true, classes: ['multioptions-wrap']}).$element;▼
};
SettingsDialog.prototype.getActionProcess = function(action) {
};
SettingsDialog.prototype.addTab = function(params) {
const
params.radios = params.radios || [];
});
▲
});
this.gadgets.push( gadget );▼
};
SettingsDialog.prototype.removeTab = function(index) {
};
SettingsDialog.static = {name: 'settingsDialog', tagName: 'div', title: mw.msg('gadget-sd-title'),
actions: [{action: 'save', label: mw.msg('
{action: 'cancel', label: mw.msg('
};
mw.settingsDialog = new SettingsDialog({});
|