Qeyd: Dəyişiklikləri yayımladıqdan sonra etdiyiniz dəyişikliklərin görünməsi üçün brauzerinizin keşinin təmizlənməsi lazım ola bilər.
- Firefox / Safari: Reload düyməsinə basılı tutarkən Shift düyməsinə basın, və ya Ctrl+F5 və ya Ctrl+R (Mac üçün ⌘-R )
- Google Chrome: Ctrl-Shift-R (Mac üçün ⌘-Shift-R)
- Edge: Ctrl düyməsini basılı tutarkən Refresh düyməsinə basın, və ya sadəcə Ctrl+F5.
/**
* [[İstifadəçi:Əkrəm]] tərəfindən
* "CodexEnhanced" qadcetinin tərkib hissəsi kimi hazırlanmışdır.
* Ətraflı [[Vikipediya:CodexEnhanced]] səhifəsində.
*/
/* <nowiki> */
mw.loader.using(['mediawiki.api', 'mediawiki.util', 'mediawiki.Title', '@wikimedia/codex'], require => {
var { createMwApp } = require('vue'),
{ CdxDialog, CdxField, CdxSelect } = require('@wikimedia/codex'),
api = new mw.Api({ userAgent: 'CodexEnhanced/azwiki' }),
portletLink = mw.util.addPortletLink('p-tb', 'javascript:void(0);', 'Sürətli silinmə müraciəti et', 'p-tb-sd')
createMwApp({
data: () => ({
dialogShown: false,
disabled: true,
error: false,
menuItems: [
{
label: 'Ümumi',
items: [
{ value: 'Ü1', label: 'Ü1. Heç bir məna ifadə etməyən', },
{ value: 'Ü2', label: 'Ü2. Test səhifələri', },
{ value: 'Ü3', label: 'Ü3. Birmənalı şəkildə vandalizm və saxtakarlıq halları', },
{ value: 'Ü4', label: 'Ü4. Müzakirə nəticəsində silinən səhifənin yenidən yaradılması', },
{ value: 'Ü5', label: 'Ü5. Bloklanmış və ya qadağan edilmiş istifadəçilərin töhfələri', },
{ value: 'Ü6', label: 'Ü6. Texniki silmələr', },
{ value: 'Ü7', label: 'Ü7. Müəllif istəyi ilə silinmə', },
{ value: 'Ü8', label: 'Ü8. Silinmiş və ya mövcud olmayan səhifələrdən asılı səhifələr', },
{ value: 'Ü9', label: 'Ü9. Fondun tələbi', },
{ value: 'Ü10', label: 'Ü10. Alçaldıcı, hədələyici, təhdid və ya təqib edən məzmuna malik səhifələr', },
{ value: 'Ü11', label: 'Ü11. Birmənalı şəkildə reklam və ya təbliğat', },
{ value: 'Ü12', label: 'Ü12. Birmənalı şəkildə müəllif hüquqlarının pozulması', },
{ value: 'Ü13', label: 'Ü13. Tərk edilmiş qaralamalar', },
{ value: 'Ü14', label: 'Ü14. Lazımsız dəqiqləşdirmə səhifələri', },
]
},
{
label: 'Məqalələr',
items: [
{ value: 'M1', label: 'M1. Boş məqalə', },
{ value: 'M2', label: 'M2. Azərbaycan dilində olmayan və ya maşın tərcüməsi olan səhifələr', },
{ value: 'M3', label: 'M3. Məzmunsuz məqalə', },
{ value: 'M4', label: 'M4. Digər Vikimedia layihələrinə köçürülməli olan məqalə', },
{ value: 'M5', label: 'M5. Əhəmiyyəti təsdiqlənməyən məqalə (şəxs, heyvan, təşkilat, veb-kontent, hadisə)', },
{ value: 'M6', label: 'M6. Əhəmiyyəti təsdiqlənməyən məqalə (mahnılar, musiqi məhsulları və s.)', },
{ value: 'M7', label: 'M7. Mövcud olan bir mövzunun dublikatı və ya oxşarı olan yeni yaradılmış məqalələr', },
{ value: 'M8', label: 'M8. Orijinal tədqiqat', },
{ value: 'M9', label: 'M9. Stil kitabçası pozuntuları ehtiva edən məqalələr', }
]
},
{
label: 'İstiqamətləndirmələr',
items: [
{ value: 'İ1', label: 'İ1. Ad fəzaları arasında istiqamətləndirmələr', },
{ value: 'İ2', label: 'İ2. Həddən artıq yazı səhvləri', },
{ value: 'İ3', label: 'İ3. Fayl fəzasında olan və Vikianbardakı səhifəyə istiqamətləndirilənlər', }
]
},
{
label: 'Fayllar',
items: [
{ value: 'F1', label: 'F1. Lazımsız fayllar', },
{ value: 'F2', label: 'F2. Pozulmuş, mövcud olmayan və ya boş fayllar', },
{ value: 'F3', label: 'F3. Uyğun olmayan, yanlış lisenziya', },
{ value: 'F4', label: 'F4. Lisenziyasız fayllar', },
{ value: 'F5', label: 'F5. İstifadəsiz fayl', },
{ value: 'F6', label: 'F6. Azad olmayan fayl istifadəsinin əsaslandırılmasında əskiklik', },
{ value: 'F7', label: 'F7. Yanlış ədalətli istifadə iddiası', },
{ value: 'F8', label: 'F8. Vikianbarda eynisi (dublikatı) mövcud olan fayllar', },
{ value: 'F9', label: 'F9. Birmənalı şəkildə müəllif hüquqları pozuntusu', },
{ value: 'F10', label: 'F10. İstifadəsiz qeyri-mediafayllar', },
{ value: 'F11', label: 'F11. İcazənin dəlilinin olmaması', }
]
},
{
label: 'Kateqoriyalar',
items: [
{ value: 'K1', label: 'K1. Boş kateqoriyalar', },
{ value: 'K2', label: 'K2. İstiqamətləndirmə, ad dəyişdirmə və ya birləşdirmə', },
{ value: 'K3', label: 'K3. Təkrarlanan kateqoriya', }
]
},
{
label: 'İstifadəçi səhifələri',
items: [
{ value: 'İS1', label: 'İS1. İstifadəçi istəyi', },
{ value: 'İS2', label: 'İS2. Qeydiyyatsız, mövcud olmayan istifadəçi', },
{ value: 'İS3', label: 'İS3. Azad olmayan albomdan ibarət', },
{ value: 'İS4', label: 'İS4. Vikipediyanın reklam, təbliğat və bu kimi məqsədlərlə istifadəsi', }
]
},
{
label: 'Portallar',
items: [
{ value: 'P1', label: 'P1. Məqalə olarsa, sürətli silinməli olan hər hansı bir portal', },
{ value: 'P2', label: 'P2. Boş portallar', }
]
}
],
selected: null
}),
methods: {
getUrl(pageName) {
return mw.util.getUrl(pageName)
},
onSubmit() {
api.postWithEditToken({
action: 'edit',
title: mw.config.get('wgPageName'),
summary: '[[VP:CE]] vasitəsilə sürətli silinmə müraciəti edilir',
prependtext: `${mw.config.get('wgPageName').startsWith('Şablon:') ? '<noinclude>' : ''}{{sil|${this.selected}}}${mw.config.get('wgPageName').startsWith('Şablon:') ? '</noinclude>' : ''}\n`,
format: 'json'
})
.fail(error => {
var errorMessage = ''
switch (error) {
default:
errorMessage = `Gözlənilməyən bir problem aşkarlandı. Zəhmət olmasa, məsələ ilə bağlı <a href="${getUrl('Vikipediya:İnterfeys inzibatçılarına müraciət')}">interfeys inzibatçıları ilə əlaqə saxlayın</a>.`
}
mw.notify(errorMessage, { type: 'error' })
})
.done(() => window.location.reload())
},
toggleDialog() {
this.dialogShown = !this.dialogShown
},
validateSelection(selection) {
var ns = new mw.Title(mw.config.get('wgPageName')).getNamespaceId()
switch (selection.match(/\D+/)[0]) {
case 'M':
return new Promise(res => res(ns === 0))
case 'İ':
return api.get({
action: 'parse',
page: mw.config.get('wgPageName'),
prop: 'wikitext'
})
.then(data => data.parse.wikitext['*'].match(/^#[İSTİQAMƏT|REDIRECT]/))
case 'F':
return new Promise(res => res(ns === 6))
case 'K':
return new Promise(res => res(ns === 14))
case 'İS':
return new Promise(res => res(ns === 2))
case 'P':
return new Promise(res => res(ns === 100))
default:
return new Promise(res => res(true))
}
}
},
watch: {
selected(selection) {
if (!selection) this.disabled = true
this.validateSelection(selection)
.then(validated => {
this.disabled = this.error = !validated
})
}
},
template: `
<cdx-dialog
v-model:open="dialogShown"
title="Sürətli silinmə müraciəti"
subtitle="Aşağıdan səhifənin hansı səbəbdən sürətlə silinməsini istədiyinizi seçin."
use-close-button
close-button-label="Bağla"
:primary-action="{ label: 'Müraciət', disabled, actionType: 'progressive' }"
:default-action="{ label: 'İmtina' }"
@primary="onSubmit"
@default="toggleDialog"
>
<cdx-field
label-icon="\u003Cpath d='M9 1.28A1 1 0 008.35 1H2a1 1 0 00-1 1v6.35a1 1 0 00.28.65L11 18.72a1 1 0 001.37 0l6.38-6.38a1 1 0 00-.03-1.34zM5 7a2 2 0 112-2 2 2 0 01-2 2' /\u003E"
:status="error ? 'error' : 'default'"
:messages="{ error: 'Seçdiyiniz səbəb bu səhifə üçün uyğun deyil.' }"
>
<template #label>Səbəb</template>
<template #description>Menyudan bir səbəb seçin.</template>
<cdx-select
:menu-items="menuItems"
v-model:selected="selected"
defaultLabel="Səbəb seçin"
/>
</cdx-field>
<template #footer-text>
Müraciəti etməmişdən əvvəl <a :href="getUrl('Vikipediya:Sürətli silmə kriteriyaları')">sürətli silmə kriteriyaları</a> haqqında məlumat əldə etməyiniz tövsiyə olunur.
</template>
</cdx-dialog>
`,
mounted() {
portletLink.addEventListener('click', this.toggleDialog)
},
unmounted() {
portletLink.removeEventListener('click')
}
})
.component('cdx-dialog', CdxDialog)
.component('cdx-field', CdxField)
.component('cdx-select', CdxSelect)
.mount(document.body.appendChild(document.createElement('div')))
})
/* </nowiki> */