MediaWiki:ÇVForm.js
Not: Sayfayı kaydettikten sonra değişiklikleri görebilmek için tarayıcınızın önbelleğinizi temizlemeniz gerekir. Google Chrome, Firefox, Microsoft Edge ve Safari: ⇧ Shift tuşuna basılı tutun ve Yeniden Yükle araç çubuğu düğmesine tıklayın. Ayrıntılar ve diğer tarayıcılara yönelik yönergeler için Vikipedi:Önbelleğinizi atlayın sayfasını inceleyin.
/* <nowiki> */
$.when($.ready, mw.loader.using(['mediawiki.api', 'mediawiki.widgets', 'mediawiki.util', 'oojs-ui-core', 'oojs-ui-windows'])).then(function() {
if(mw.config.get("wgPageName") !== "Vikipedi:Çevirmenlik_başvurusu") {
return;
}
var api = new mw.Api();
var requestsPageTitle = 'Vikipedi:Çevirmenlik başvurusu';
var reasonInput;
function SingleApplicationDialog(config) {
SingleApplicationDialog.super.call(this, config);
}
OO.inheritClass(SingleApplicationDialog, OO.ui.ProcessDialog);
SingleApplicationDialog.static.name = 'SingleApplicationDialog';
SingleApplicationDialog.static.title = 'Çevirmenlik başvurusu';
SingleApplicationDialog.static.actions = [{
action: 'save',
label: 'Ekle',
flags: ['primary', 'progressive']
}, {
label: 'İptal',
flags: 'safe'
}];
SingleApplicationDialog.prototype.initialize = function() {
SingleApplicationDialog.super.prototype.initialize.apply(this, arguments);
var headerTitle = new OO.ui.MessageWidget({
type: 'notice',
inline: true,
label: new OO.ui.HtmlSnippet('<small>Çevirmen kullanıcı grubu, Special:ContentTranslation aracını kullanarak çeviri yapıp çevirileri yayınlayabilen kullanıcıların yer aldığı kullanıcı grubudur.</small>')
});
reasonInput = new OO.ui.MultilineTextInputWidget({
placeholder: 'Lütfen çevirmenlik yetkisini isteme gerekçenizi yazınız.',
required: true
});
var fieldset = new OO.ui.FieldsetLayout().addItems([
new OO.ui.FieldLayout(reasonInput, {
label: 'Gerekçe',
align: 'top'
})
]);
this.content = new OO.ui.PanelLayout({
padded: true,
expanded: false
});
this.content.$element.append(headerTitle.$element, '<br><hr><br>', fieldset.$element);
this.$body.append(this.content.$element);
};
SingleApplicationDialog.prototype.getActionProcess = function(action) {
if(action) {
return new OO.ui.Process(() => {
api.edit(requestsPageTitle, {
appendtext: `\n\n${makeRequestText()}`,
summary: 'Yeni başvuru eklendi'
}).then(() => {
window.location.href = mw.util.getUrl(requestsPageTitle);
});
this.close({
action
});
});
}
return SingleApplicationDialog.super.prototype.getActionProcess.call(this, action);
};
var windowManager = new OO.ui.WindowManager();
$(document.body).append(windowManager.$element);
var dialog = new SingleApplicationDialog();
windowManager.addWindows([dialog]);
windowManager.openWindow(dialog);
function makeRequestText() {
var reason = reasonInput.getValue();
if(!reason.includes('~~' + '~~')) {
reason += ' ~~' + '~~';
}
return `== [[Kullanıcı:{{yk:SÜRÜMKULLANICI}}]] ==\n{{aday|{{yk:REVISIONUSER}}}}\n${reason}`;
}
});
/* </nowiki> */