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

Конфігурації задаються через об'єкт 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.