dev

WikiActivity — це скрипт, який модернізує застарілу сторінку Special:WikiActivity на уніфікованій спільнотній платформі.

Використання

Конфігурації

Об'єктом конфігурації скрипту WikiActivity є window.rwaOptions. Важливо, щоб конфігурації були додані перед імпортом скрипту на вашу вікі. Нині існує 11 налаштованих властивостей. Наступні властивості:

limit
Приймає: {number}
За замовчуванням: 50
Максимальна кількість записів для відображення на стрічці активності.
namespaces
Приймає: Array<number>
За замовчуванням: [ 0, 1 ,2, 3, 4, 5, 6, 7, 110, 111, 500, 501, 828, 829 ]
Масив просторів імен для відображення на стрічці активності.
autoInit
Приймає: {boolean}
За замовчуванням: true
Визначає, чи слід ініціювати скрипт при завантаженні сторінки.
themeName
Приймає: {string}
За замовчуванням: "main"
Встановлює тему стрічки активності.
showBotEdits
Приймає: {boolean}
За замовчуванням: false
Визначає, чи слід відображати редагування бота.
loadModule (TODO)
Приймає: {boolean}
За замовчуванням: false
Визначає, чи слід завантажувати модуль подачі активності.
customRendering
Приймає: {Object}
За замовчуванням: { }
Дозволяє здійснювати власну візуалізацію стрічки активності на основі теми.
headerLink
Приймає: {boolean}
За замовчуванням: false
Визначає, чи слід повернути посилання RecentChanges на WikiActivity.
Примітка: Цей параметр слід завжди встановлювати на false при використанні на всьому сайті.
refresh
Приймає: {boolean}
За замовчуванням: false
Визначає, чи слід автоматично оновлювати стрічку активності.
refreshDelay
Приймає: {number}
За замовчуванням: 300000
Кількість часу для затримки оновлення стрічки активності. Період оновлення за замовчуванням — 5 хвилин.
timeout (ВСЕ)
Приймає: {number}
За замовчуванням: 10000
Час очікування завантаження новинної стрічки. Період очікування за замовчуванням - 10 секунд.

Конфігурації за замовчуванням

window.rwaOptions = {
    limit : 50,
    namespaces : [ 0, 1, 2, 3, 4, 5, 6, 7, 110, 111, 500, 501, 828, 829 ],
    autoInit : true,
    themeName : "main",
    showBotEdits : false,
    loadModule : false,
    customRendering : { },
    headerLink : false,
    refresh : false,
    refreshDelay : 5 * 60 * 1000,
    timeout : 10 * 1000
};

Конструктори

Для цього сценарію існує три конструктори — WAStorage, WikiActivity та FeedUI. WAStorage — це приватний конструктор, тоді як WikiActivity та FeedUI є загальнодоступними.

WAStorage

Обгортка для localStorage, створена спеціально для цього скрипта, з деякими змінами, наприклад, зберіганням ключа протягом певного періоду часу. Цей конструктор не містить жодних параметрів.

get
Отримує значення ключа зберігання, якщо воно існує
<WAStorage>.get(k)
k
Accepts: {string}
Ключ для отримання значення.
Returns
{any}
const s = new WAStorage( );
const v = s.get( "test" );
set
Встановлює значення ключа або оновлює його, коли ключ існує
<WAStorage>.set(k, v)
k
Accepts: {string}
Ключ для встановлення (або оновлення) значення
v
Accepts: {string}
Значення, яке використовується для встановлення (або оновлення)
Returns
void
remove
Вилучає ключ зі сховища WikiActivity
<WAStorage>.remove(k)
k
Accepts: {string}
Ключ для вилучення
Returns
void
clear
Очищає сховище WikiActivity
<WAStorage>.clear()
Returns
void
store
Подібно до set; однак значення зберігаються протягом певного періоду.
<WAStorage>.store(o, d)
o
Accepts: {Object}
Об'єкт значень для встановлення
d
Accepts: {Date|number}
Термін придатності ключів
Returns
void
fetch
Подібно до get; однак ключ вилучається, якщо термін дії минув.
<WAStorage>.fetch(k)
k
Accepts: {string}
Ключ для отримання значення
Returns
{any}

WikiActivity

Основний конструктор і контролер для WikiActivity. Цей контролер може впливати на спосіб відображення його інтерфейсу та як відображаються записи каналу. Він також завантажує посилання Wiki Activity на панель інструментів, і, якщо це дозволено конфігурацією скрипта, перетворює посилання RecentChanges у посилання WikiAcitivty.

Основні методи та властивості
Властивості
Методи

msg
Обгортка для функції I18n-js msg.
<WikiActivity>.msg(...args)
args
Accepts: {string[]}
Аргументи, що використовуються для синтаксичного аналізу повідомлення I18n-js
Returns
<{parse: function, escape: function, plain: function, exists: boolean}>
getTimeDiff
Отримує різницю в часі
<WikiActivity>.getTimeDiff(x)
x
Accepts: {string|number|Date}
Число, рядок або значення об'єкту, що використовується для синтаксичного аналізу різниці в часі
Returns
{number}
configure
Налаштовує всі властивості екземпляра WikiActivity
<WikiActivity>.configure(o)
o
Accepts: {Object}
Об'єкт для налаштування властивостей
Returns
{any}

Методи та властивості діяльності
Запасні методи

Змінні CSS

Ось такі змінні CSS, що використовуються для WikiActivity:

--wa-edit
За замовчуванням: #feaf09
--wa-comment
За замовчуванням: #dddddd
--wa-new
За замовчуванням: deepskyblue
--wa-categorize
За замовчуванням: #b76801
--wa-link__color
За замовчуванням: Wiki link theme

Встановлення скрипта

Журнал змін

6 вересня 2020 (вер. 0.5b)
9 вересня 2020 (вер. 0.6b)
8 жовтня 2020 (вер. 0.81b)
9 жовтня 2020 (вер. 0.81b)
3 листопада 2020 (вер. 0.99b)

Повідомлення про проблеми

Заплановані розширення