LLWiki正在建设中,欢迎加入我们!
“MediaWiki:Gadget-SettingsDialog.js”的版本间差异
跳转到导航
跳转到搜索
小 |
小 |
||
// 需要同时添加数据和HTML
SettingsDialog.prototype.addTab = function(params) {
// 必要时才开始加载
const panel = new OO.ui.TabPanelLayout( params.name, {label: mw.msg( params.label )} ),▼
$('#ca-settingsDialog').one('click', function() {
$element = panel.$element,▼
▲ const panel = new OO.ui.TabPanelLayout( params.name, {label: mw.msg( params.label )} ),
dialog = this;▼
▲ $element = panel.$element,
this.gadgets.push( params );▼
▲ dialog = this;
this.content.addTabPanels( [panel] );▼
▲ this.gadgets.push( params );
(params.items || []).forEach(function(ele) {▼
▲ this.content.addTabPanels( [panel] );
ele.widget = new OO.ui[ele.type + 'InputWidget']( ele.config );▼
▲ (params.items || []).forEach(function(ele) {
$element.append( new OO.ui.FieldLayout(ele.widget, {label: mw.msg( ele.label ), help: ele.help,▼
▲ $element.append( new OO.ui.FieldLayout(ele.widget, {label: mw.msg( ele.label ), help: ele.help,
helpInline: true}).$element );
(params.fields || []).forEach(function(ele) {▼
ele.field = new OO.ui.FieldsetLayout({label: mw.msg( ele.label ), help: ele.help, helpInline: true});▼
ele.field.addItems( (ele.items || []).map(function(e) {▼
return new OO.ui.FieldLayout(e.widget, {label: mw.msg( ele.label ), help: e.help, helpInline: true
}) );▼
$element.append( ele.field.$element );▼
});
$('<div>', {class: 'panel-btns', html: [▼
new OO.ui.ButtonWidget({label: mw.msg('gadget-sd-back'), flags: 'destructive'}).on('click', function() {▼
dialog.clearOptions( params.name );▼
}), new OO.ui.ButtonWidget({label: mw.msg('gadget-sd-save'), flags: 'progressive'}).on('click', function() {▼
dialog.saveOptions( params.name );▼
})].map(function(ele) { return ele.$element; })}).appendTo( $element );▼
});
▲ (params.fields || []).forEach(function(ele) {
▲ ele.field = new OO.ui.FieldsetLayout({label: mw.msg( ele.label ), help: ele.help, helpInline: true});
▲ ele.field.addItems( (ele.items || []).map(function(e) {
▲ return new OO.ui.FieldLayout(e.widget, {label: mw.msg( ele.label ), help: e.help, helpInline: true,
▲ align: e.type == 'Text' ? 'left' : 'inline'}).$element;
▲ }) );
▲ $element.append( ele.field.$element );
▲ });
▲ $('<div>', {class: 'panel-btns', html: [
▲ new OO.ui.ButtonWidget({label: mw.msg('gadget-sd-back'), flags: 'destructive'}).on('click', function() {
▲ dialog.clearOptions( params.name );
▲ }), new OO.ui.ButtonWidget({label: mw.msg('gadget-sd-save'), flags: 'progressive'}).on('click', function() {
▲ dialog.saveOptions( params.name );
▲ })].map(function(ele) { return ele.$element; })}).appendTo( $element );
};
SettingsDialog.prototype.getIndex = function(arg) {
|