FANDOM


AjaxDelete позволяет удалять и восстанавливать страницы, не заставляя покидать страницу, на которой пользователь находится сейчас. Скрипт работает с модальным окном, которое появляется при нажатии на ссылку удаления.

Примечание: Модальное окно не появится, если одновременно зажать кнопки Shift или Ctrl. Это позволяет пользователям в обычном режиме удалять/восстанавливать страницы.

Установка

Добавьте этот JavaScript на Вашу вики:

Глобальный Персональный Локальный
w:Special:Mypage/global.js Special:Mypage/common.js MediaWiki:Common.js
importArticles({
    type: "script",
    articles: [
        "u:dev:AjaxDelete/code.js"
    ]
});
importArticles — лучший способ установки скриптов в Fandom'е
Функция importArticles используется для объединения нескольких HTTP-запросов в один, позволяя множеству скриптов загружаться и выполнять свою работу быстрее. Если Вы устанавливаете несколько различных скриптов, возможно, в коде есть несколько ненужных импортов. Нажмите "Развернуть", чтобы посмотреть, как эффективно установить скрипты одним импортом, увеличив скорость их работы и очистив лишний код. Ещё один метод - использование страницы MediaWiki:ImportJS.
Если в вашем файле JavaScript есть множество строк с импортом importScript, importScriptPage или importArticles, то их можно соединить! Так Ваш код будет быстрее загружать скрипты с одного импорта, и его вид будет аккуратнее. Рассмотрите образцы ниже. Возможно, в данный момент Ваш код похож на образец слева. Справа же показано, как Вы можете его изменить.
Несколько импортов — грязно и медленно Один импорт — чисто и эффективно
importScriptPage('AjaxRC/code.js','dev');
 
importScript('MediaWiki:localScript.js');
 
importArticle({
  type: 'script',
  article: 'u:dev:FloatingToc/code.js'
});
 
importScriptPage('page1.js', 'wikiname');
 
importScriptPage('page2.js', 'wikiname');
importArticles({
    type: 'script',
    articles: [
        'u:dev:AjaxRC/code.js',
        'MediaWiki:localScript.js',
        'u:dev:FloatingToc/code.js',
        'u:wikiname:page1.js',
        'u:wikiname:page2.js'
    ]
});
Примечание: Обратите особое внимание на расстановку запятых и синтаксис в данном примере. Зачастую пользователи, мало знакомые с программированием (и не только!), случайно совершают ошибку, неправильно поставив запятую при написании кода, забывая написать символ или нечаянно удалив его. Это приводит к синтаксической ошибке, которая ломает код. Аккуратно импортируйте скрипты, следуя инструкции выше.
Однако, существует ещё множество требований к использованию importArticles! Для подробной информации смотрите справку "Включение дополнительных JS и CSS".


Использование

Модальное окно появится при нажатии на любую кнопку "Удалить" с ссылкой ?action=delete, использование чего особо не требует пояснений. Выберите причину удаления/восстановления из предложенных или введите её самостоятельно. Вы можете установить часто используемую причину, после которой идёт Ваш текст, что будет выглядеть следующим образом: <обычная причина>: <добавленный Вами текст>. Если Вы желаете следить за страницей, нажмите кнопку "Следить за страницей" и удалит страницу, или нажмите "Отменить", чтобы закрыть модальное окно.

При восстановлении страницы, в модальном окне Вам понадобится вписать причину. Затем нажмите "Восстановить" для произведения данного действия, либо "Отменить", чтобы закрыть модальное окно.

Личные настройки

Все индивидуальные переменные расположены в объекте window.AjaxDelete.

Чтобы создать переменные причин удаления, Вам нужно просто в объект window.AjaxDelete.deleteReasons добавить код со следующим синтаксом: 'вписанный текст': 'отображающийся текст',. А чтобы добавить причины для удаления изображений, сделайте то же самое, но в объекте window.AjaxDelete.imageDeleteReasons.

Отслеживание удалённых страниц выбрано по умолчанию. Если Вы не хотите этой функции, установите в конфигурации параметр autoCheckWatch значение false.

Также в скрипте есть модальное окно восстановления через AJAX. Если Вы не желаете, чтобы оно появлялось, измените параметр noUndelete на значение true.

Пример конфигураций:

window.AjaxDelete = {
    deleteReasons: {
        '[[w:Help:Vandalism]]': 'Vandalism',
        '[[w:Help:Spam]]': 'Spam',
        'Marked for speedy deletion': 'Speedy',
        'Empty page': 'Empty',
        'Author request': 'Author request',
        'Irrelevant to <insert wiki topic here>': 'Irrelevant',
        'Failed to comply with the [[Project:Manual of Style|manual of style]] for over 6 months': 'MoS'
    },
    imageDeleteReasons: {
        'Offensive': 'Offensive',
        'Innapropiate': 'Innapropiate',
        'Harassment': 'Harassment',
        'Housekeeping/Unused': 'Unused',
        'Copyright infringement': 'Copyright',
        'Author request': 'Author request'
    },
    autoCheckWatch: false,
    noUndelete: true
};

Все установленные переменные взяты из страниц MediaWiki (MediaWiki:Deletereason-dropdown и MediaWiki:Filedelete-reason-dropdown).

Ad blocker interference detected!


Wikia is a free-to-use site that makes money from advertising. We have a modified experience for viewers using ad blockers

Wikia is not accessible if you’ve made further modifications. Remove the custom ad blocker rule(s) and the page will load as expected.