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

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

跳转到导航 跳转到搜索
//避免使用API加载消息,直接手动添加
mw.messages.set( wgULS({
'gadget-sd-title': '小工具设置', 'gadget-sd-notify': '您的设置已保存!', 'gadget-sd-save': '保存新设置将于刷新页面后生效。',
'gadget-sd-tooltip': '为当前浏览器设置小工具偏好', 'gadget-sd-help': '您可以在这里修改小工具偏好,修改仅对当前浏览器有效。',
'gadget-sd-back': '还原', 'gadget-sd-helppage': '如果想要修改设置对所有浏览器生效,请查阅', 'gadget-sd-save': '保存'
}, {
'gadget-sd-title': '小工具偏好設定', 'gadget-sd-notify': '您的偏好設定已儲存!', 'gadget-sd-save': '儲存新設定將於重新載入頁面後生效。',
'gadget-sd-tooltip': '為當前瀏覽器設定小工具偏好', 'gadget-sd-help': '您可以在這裡修改小工具偏好,修改僅對當前瀏覽器有效。',
'gadget-sd-back': '復原', 'gadget-sd-helppage': '如果想要修改設定對所有瀏覽器生效,請查閱', 'gadget-sd-save': '儲存'
}) );
// constructor只添加一个CSS类,剩下的交给addTab方法逐一添加小工具
};
SettingsDialog.prototype.getActionProcess = function(action) {
const dialog = this;,
gadgets = this.gadgets.filter(function(ele) { return ele.ready; }); // 忽略未加载的小工具
if (action == 'save') {
this.gadgets.forEach(function(ele) { dialog.saveOptions(ele); });
mw.notify(mw.msg( 'gadget-sd-notify' ), {type: 'success'});
}
else { this.gadgets.forEach(function(ele) { dialog.clearOptions(ele); }); }
this.close();
return new OO.ui.Process();
return;
}
(gadget.clearOptions || function() {})();
const name = gadget.name,
settings = mw.gadgets[ name ];
gadget.items.forEach(function(ele) { ele.widget.setValue( (ele.parent || settings)[ ele.key ] ); });
})();
};
SettingsDialog.prototype.saveOptions = function(arg) {
return;
}
(gadget.saveOptions || function() {})();
const name = gadget.name,
settings = mw.gadgets[ name ];
gadget.items.filter(function(ele) { return !ele.widget.isDisabled(); })
.forEach(function(ele) { (ele.parent || settings)[ ele.key ] = ele.widget.getValue(); });
mw.storage.setObject('gadget-' + name, settings);
mw.notify('', {type: 'success', tag: 'gadgetSettings'});
})();
};
SettingsDialog.static = {name: 'settingsDialog', tagName: 'div', title: mw.msg('gadget-sd-title'),