Github-bot(留言 | 贡献) (Git更新:([https://github.com/TopRealm/InterfaceCodes/commit/d673b688da358d0b91d8558f426abcbe038be722 d673b68]) Fix: Registration available (#101)) |
Github-bot(留言 | 贡献) (Git更新:([https://github.com/TopRealm/InterfaceCodes/commit/b406e1cfa7effb273a2468d63cfe7990ea21ecbc b406e1c]) refactor(LoginToEdit):pull codes (#158)) |
||
第4行: | 第4行: | ||
* |
* |
||
* @source <https://git.qiuwen.wiki/InterfaceAdmin/Gadgets/src/branch/master/src/Gadgets/LoginToEdit> |
* @source <https://git.qiuwen.wiki/InterfaceAdmin/Gadgets/src/branch/master/src/Gadgets/LoginToEdit> |
||
* @dependency ext.gadget.i18n, mediawiki.util |
* @dependency ext.gadget.i18n, mediawiki.util, oojs-ui-windows |
||
*/ |
*/ |
||
/** |
/** |
||
第18行: | 第18行: | ||
*/ |
*/ |
||
/* <nowiki> */ |
/* <nowiki> */ |
||
'use strict'; |
|||
$(function loginToEdit() { |
$(function loginToEdit() { |
||
if (mw.config.get('wgUserName')) { |
if (mw.config.get('wgUserName')) { |
||
第29行: | 第27行: | ||
return { |
return { |
||
Cancel: localize({ |
Cancel: localize({ |
||
⚫ | |||
ja: 'キャンセル', |
ja: 'キャンセル', |
||
'zh-hans': '暂不登录账号', |
'zh-hans': '暂不登录账号', |
||
'zh-hant': '暫不登入賬戶' |
'zh-hant': '暫不登入賬戶' |
||
⚫ | |||
⚫ | |||
⚫ | |||
⚫ | |||
⚫ | |||
⚫ | |||
}), |
}), |
||
Login: localize({ |
Login: localize({ |
||
⚫ | |||
ja: 'ログイン', |
ja: 'ログイン', |
||
'zh-hans': '登录已有账号', |
'zh-hans': '登录已有账号', |
||
第39行: | 第45行: | ||
}), |
}), |
||
Register: localize({ |
Register: localize({ |
||
⚫ | |||
ja: 'アカウントを作成', |
ja: 'アカウントを作成', |
||
'zh-hans': '注册新的账号', |
'zh-hans': '注册新的账号', |
||
'zh-hant': '註冊新的賬戶' |
'zh-hant': '註冊新的賬戶' |
||
}), |
}), |
||
DialogTitle: localize({ |
|||
⚫ | |||
⚫ | |||
⚫ | |||
⚫ | |||
⚫ | |||
en: 'Welcome to Youshou Archives!', |
en: 'Welcome to Youshou Archives!', |
||
ja: '有獣アーカイブスへようこそ!', |
ja: '有獣アーカイブスへようこそ!', |
||
第54行: | 第56行: | ||
'zh-hant': '歡迎來到有獸檔案館!' |
'zh-hant': '歡迎來到有獸檔案館!' |
||
}), |
}), |
||
DialogMessage: localize({ |
|||
en: 'You have not yet logged in. Register and log in to your account to contribute.', |
en: 'You have not yet logged in. Register and log in to your account to contribute.', |
||
ja: 'あなたはまだ有獣アーカイブスにログインしていません。アカウントを作成し、ログインして有獣アーカイブスを改善することができます。', |
ja: 'あなたはまだ有獣アーカイブスにログインしていません。アカウントを作成し、ログインして有獣アーカイブスを改善することができます。', |
||
'zh-hans': '您尚未登录到有兽档案馆。您可以注册并登录账号,帮助完善有兽档案馆。', |
'zh-hans': '您尚未登录到有兽档案馆。您可以注册并登录账号,帮助完善有兽档案馆。', |
||
第67行: | 第69行: | ||
}; |
}; |
||
var isCitizen = mw.config.get('skin') === 'citizen'; |
var isCitizen = mw.config.get('skin') === 'citizen'; |
||
var loginURL = "/wiki/Special:Userlogin?returnto=".concat(mw.util.rawurlencode(mw.config.get('wgPageName'))); |
|||
var registerURL = "/wiki/Special:CreateAccount?returnto=".concat(mw.util.rawurlencode(mw.config.get('wgPageName'))); |
var registerURL = "/wiki/Special:CreateAccount?returnto=".concat(mw.util.rawurlencode(mw.config.get('wgPageName'))); |
||
var messageDialog; |
|||
var windowManager; |
|||
⚫ | |||
title: $('<b>').addClass('oo-ui-window-head').text(message('DialogTitle')), |
|||
message: $('<span>').addClass('oo-ui-window-foot').text(message('DialogMessage')), |
|||
⚫ | |||
⚫ | |||
⚫ | |||
⚫ | |||
⚫ | |||
⚫ | |||
⚫ | |||
⚫ | |||
⚫ | |||
action: 'cancel', |
|||
flags: ['safe', 'close'], |
|||
⚫ | |||
⚫ | |||
⚫ | |||
var openDialog = function openDialog() { |
var openDialog = function openDialog() { |
||
if (!windowManager) { |
|||
var messageDialog = new OO.ui.MessageDialog(); |
|||
messageDialog = new OO.ui.MessageDialog(); |
|||
⚫ | |||
⚫ | |||
if (action === 'login') { |
|||
$('#pt-login').trigger('click'); |
|||
message: message('dialogMessage'), |
|||
} else if (action === 'register') { |
|||
⚫ | |||
⚫ | |||
⚫ | |||
⚫ | |||
⚫ | |||
⚫ | |||
⚫ | |||
⚫ | |||
⚫ | |||
⚫ | |||
⚫ | |||
⚫ | |||
⚫ | |||
}] |
|||
⚫ | |||
⚫ | |||
⚫ | |||
if ('ontouchstart' in document) { |
|||
⚫ | |||
} |
} |
||
return new OO.ui.Process(function () { |
|||
⚫ | |||
⚫ | |||
}); |
|||
} |
}; |
||
windowManager = new OO.ui.WindowManager(); |
|||
windowManager.$element.appendTo(document.body); |
|||
windowManager.addWindows([messageDialog]); |
|||
⚫ | |||
} |
} |
||
windowManager.$element.appendTo(document.body); |
|||
⚫ | |||
windowManager.openWindow(messageDialog, windowOpeningData); |
windowManager.openWindow(messageDialog, windowOpeningData); |
||
}; |
}; |
2023年10月10日 (二) 23:12的版本
/**
* SPDX-License-Identifier: CC-BY-SA-4.0
* _addText: '{{Gadget Header|license=CC-BY-SA-4.0}}'
*
* @source <https://git.qiuwen.wiki/InterfaceAdmin/Gadgets/src/branch/master/src/Gadgets/LoginToEdit>
* @dependency ext.gadget.i18n, mediawiki.util, oojs-ui-windows
*/
/**
* +--------------------------------------------------------+
* | === WARNING: GLOBAL GADGET FILE === |
* +--------------------------------------------------------+
* | All changes should be made in the repository, |
* | otherwise they will be lost. |
* +--------------------------------------------------------+
* | Changes to this page may affect many users. |
* | Please discuss changes at talk page before editing. |
* +--------------------------------------------------------+
*/
/* <nowiki> */
$(function loginToEdit() {
if (mw.config.get('wgUserName')) {
return;
}
var i18nMessages = function i18nMessages() {
var _i18n = i18n,
localize = _i18n.localize;
return {
Cancel: localize({
en: 'Cancel',
ja: 'キャンセル',
'zh-hans': '暂不登录账号',
'zh-hant': '暫不登入賬戶'
}),
Edit: localize({
en: 'Edit',
ja: '編集',
'zh-hans': '编辑',
'zh-hant': '編輯'
}),
Login: localize({
en: 'Login',
ja: 'ログイン',
'zh-hans': '登录已有账号',
'zh-hant': '登入已有賬戶'
}),
Register: localize({
en: 'Register',
ja: 'アカウントを作成',
'zh-hans': '注册新的账号',
'zh-hant': '註冊新的賬戶'
}),
DialogTitle: localize({
en: 'Welcome to Youshou Archives!',
ja: '有獣アーカイブスへようこそ!',
'zh-hans': '欢迎来到有兽档案馆!',
'zh-hant': '歡迎來到有獸檔案館!'
}),
DialogMessage: localize({
en: 'You have not yet logged in. Register and log in to your account to contribute.',
ja: 'あなたはまだ有獣アーカイブスにログインしていません。アカウントを作成し、ログインして有獣アーカイブスを改善することができます。',
'zh-hans': '您尚未登录到有兽档案馆。您可以注册并登录账号,帮助完善有兽档案馆。',
'zh-hant': '您尚未登錄到有獸檔案館。您可以注冊並登錄賬戶,幫助完善有獸檔案館。'
})
};
};
var messages = i18nMessages();
var message = function message(key) {
return messages[key] || key;
};
var isCitizen = mw.config.get('skin') === 'citizen';
var registerURL = "/wiki/Special:CreateAccount?returnto=".concat(mw.util.rawurlencode(mw.config.get('wgPageName')));
var messageDialog;
var windowManager;
var windowOpeningData = {
title: $('<b>').addClass('oo-ui-window-head').text(message('DialogTitle')),
message: $('<span>').addClass('oo-ui-window-foot').text(message('DialogMessage')),
actions: [{
action: 'login',
flags: ['primary', 'progressive'],
label: $('<b>').text(message('Login'))
}, {
action: 'register',
flags: 'progressive',
label: $('<b>').text(message('Register'))
}, {
action: 'cancel',
flags: ['safe', 'close'],
label: $('<b>').text(message('Cancel'))
}]
};
var openDialog = function openDialog() {
if (!windowManager) {
messageDialog = new OO.ui.MessageDialog();
messageDialog.getActionProcess = function (action) {
if (action === 'login') {
$('#pt-login').trigger('click');
} else if (action === 'register') {
location.href = registerURL;
}
return new OO.ui.Process(function () {
windowManager.closeWindow(messageDialog);
});
};
windowManager = new OO.ui.WindowManager();
windowManager.$element.appendTo(document.body);
windowManager.addWindows([messageDialog]);
}
windowManager.openWindow(messageDialog, windowOpeningData);
};
var $caViewsource = $('#ca-viewsource');
if ($caViewsource.length) {
var editIcon = isCitizen ? '<span class="citizen-ui-icon mw-ui-icon-wikimedia-edit"></span>' : '';
$caViewsource.attr('id', 'ca-edit').find('a').attr('title', message('Edit')).html("".concat(editIcon).concat(message('Edit')));
$('#ca-edit a').on('click', function (event) {
event.preventDefault();
openDialog();
});
}
if (['edit', 'submit'].indexOf(mw.config.get('wgAction')) !== -1) {
openDialog();
}
});
/* </nowiki> */