Skip to content

A set of user javascript powered features for dirty.ru. All credit goes to Stasik0, BearOff, crea7or, lamo4ok and NickJr.

Notifications You must be signed in to change notification settings

crimaniak/dirty-on-steroids

 
 

Repository files navigation

Модульный сервис-пак, инструкция по применению

Написание плагина

Плагины к сервис-паку - объекты со следующим интерфейсом:

type - тип плагина, используется для определения, в какую вкладку определять конфигурафионные контролы данного плагина
name - название плагина, используется для именования контрола с резервированным именем active, если такой есть
author - строка, определяющая автора, используется для поддержания ЧСВ
config - объект с конфигурационными данными плагина. Интерфейс, позволяющий управлять данными, создается ядром.
run - функция инициализации плагина, пускаемая ядром

Чтобы включить плагин в состав сервис-пака, необходимо вызвать метод d3.addModule(), передав в качестве параметра объект плагина.

Пример смотри в файле extra/browser.js

Описание конфигурационных данных.

Конфигурационные данные представляют собою объект шаблона {название_переменной:{свойства_переменной}}. Свойства переменной:
type - обязательное свойство, означает тип контрола для управления этой переменной. Поддерживаются text, checkbox, radio, select
value - начальное значение переменной по умолчанию
caption - метка контрола переменной. Если caption отсутствует, в качестве метки используется имя переменной
options - массив значений для контролов типа radio и select

Пример смотри в файле extra/test.js

Сервисы, предоставляемые ядром.

d3.user.name - имя пользователя. null, если пользователь не залогинен
d3.user.id - id пользователя. null, если пользователь не залогинен
d3.setStyle(element,style) - установка CSS свойств для элемента
d3.newElement(tagName,parms) - создание нового элемента и опциональня установка атрибутов, элементов стиля и свойства innerHTML
d3.newDiv(parms) - вызов d3.newElement с параметром tagName='div'
d3.get - объект с методами взятия элементов страницы d3. Пока реализованы logoutLink() и leftNavigation(). Будет развиваться.
d3.json.encode(value) - кодирование объекта в json
d3.json.decode(json) - декодирование json
d3.addModule(module) - добавление модуля (плагина) в сервис-пак
d3.window - оригинальный объект window
d3.document - оригинальный объект document
d3.xpath.get(selector,context) - поиск по документу или указанному элементу при помощи XPath. Возвращает XPathResult, тип результата - ORDERED_NODE_SNAPSHOT_TYPE
d3.xpath.each(selector,function(node,nodeIndex){},context) - поиск при помощи XPath и применение к найденным узлам указанной функции. 
 Функция получает в качестве параметров найденный элемент, индекс элемента и может вернуть false, если хочет прервать выполнение цикла для оставшихся результатов.
d3.content.posts - массив постов на странице. Пустой, если постов нет.
d3.content.comments - массив комментариев на странице. Пустой, если комментариев нет.
d3.content.onNewComment(function(comment){}) - добавление обработчика нового комментария.
d3.getLocalStorageItem(name, defaultValue) - достаёт name параметр из LocalStorage, если name==null возвращает defaultValue.

Интерфейсы постов и комментариев
offset - отступ контейнера с начала страницы
height - высота контейнера
getContent() - взять контейнер содержимого
getContentText() - взять содержимое в виде текста
ratingContainer() - взять контейнер рейтинга
ratingValue() - взять значение рейтинга как число. Для постов и комментариев со скрытым рейтингом - значение будет null.

About

A set of user javascript powered features for dirty.ru. All credit goes to Stasik0, BearOff, crea7or, lamo4ok and NickJr.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • JavaScript 88.5%
  • PHP 11.4%
  • Other 0.1%