FANDOM


EmoticonsWindow добавляет окно со всеми смайликами. Пользователь может выбрать смайл, и он будет добавлен в поле набора текста.

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

Установка

Добавьте этот код в MediaWiki:Chat.js или Special:Mypage/chat.js

importArticles({
    type: 'script',
    articles: [
        // ...
        'u:kocka:MediaWiki:Emoticons/code.js',
        // ...
    ]
});
importArticles — лучший способ установки скриптов на ФЭНДОМЕ
Функция 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".

Настройки

JS

Конфигурации задаются через объект window.EmoticonsWindowConfig, и на данный момент единственной доступной опцией является chatOptionsIntegration, перемещающий кнопку со смайлами под кнопку настроек вместе с классом chat-button. Чтобы подключить данную конфигурацию используйте код ниже:

window.EmoticonsWindowConfig = {
    chatOptionsIntegration: true
};

Настроить текст, появляющийся в скрипте, можно с помощью изменения строк объекта window.EmoticonsWindowVocab. У каждой строки есть своё название, которое можно найти в разделе перевода. Например, если Вы хотите изменить текст модального окна:

window.EmoticonsWindowVocab = {
    help: "При нажатии на смайлик, он появится в поле набора текста. Хлоп!"
};

Код выше является лишь примером конфигурации и не является обязательным условием для его работы.

CSS

Эта конфигурация находится в MediaWiki:Chat.css (при локальном использовании) или Special:Mypage/chat.css (при персональном использовании).

Настройка Описание По умолчанию
.EmoticonsWindowIcon Квадрат, в котором показываются все смайлики
width: 19px;
height: 19px;
border: 1px solid black;
padding: 10px;
border-radius: 5px;
background: #5F2C60;
При наведении
background: #823C83;
.EmoticonsWindowButton Кнопка, добавленная к названию N/A
#EmoticonsWindowModal Окно, отображающее смайлики N/A
#EmoticonsWindowList Содержимое окна со смайликами
height: 400px;
overflow-y: auto;
(CSS по умолчанию для данного элемента написан らり牛ちゃん)
#EmoticonsWindowClose Кнопка "Закрыть" N/A
.EmoticonsWindowHelp Текст в окне N/A

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

#EmoticonsWindowList {
    height: 600px;
}
.EmoticonsWindowIcon {
    background: yellow;
}

Перевод

Этот скрипт можно перевести на несколько языков, отредактировав страницу интернационализации данных с соответствующей пометкой JSON, если у Вас есть права редактирования этой страницы. Если у Вас их нет, то опубликуйте перевод этого скрипта в обсуждении страницы или на стене разработчика.

Ниже показаны строки, которые нужно переводить. У каждой строки есть свой код, который показывает, для чего используется этот текст, поэтому, переводя его, пожалуйста, вставляйте код строчки рядом с ней.

Код Строка Использование
help Choose an emoticon by clicking on it. Текст в модальном окне
emoticons Emoticons Название кнопки
close Close Текст в модальном окне для закрытия

Список изменений

v1.0
Первоначальная версия
v1.1
Пользователем Dorumin исправлены ошибки, описанные ниже:
При наведении на смайлик показывается его название
При вставке смайлика после его названия вставляется пробел
Текст теперь отображается наверху
Добавлено исключение для Steven Universe Wiki
v1.2
Кэшируется содержимое модального окна
Название "kockaEmoticons" в CSS-элементах изменено на "EmoticonsWindow"
v1.3
Изменено размещение скрипта
Обновлена система интернационализации
Скрипт теперь распределяет смайлы в таком же порядке, как и Викия
Добавлена полная поддержка перемещения под настройки чата
v1.4
Система интернационализации снова обновлена
v1.5
Изменение формата кода
Полное удаление kockaEmoticons
Изменение элемента кнопки под ссылку с классом wikia-button

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.