Pull to refresh

Хабра-редактор комментариев ноль.два

Habr
Вот и вышла новая версия моего тулбара для каментов, внешний вид, в прочем как и функционал, довольно таки сильно изменился:

возможно благодаря активной поддержке пользователей в виде предложений и критики, будет еще много изменений и добавлений


Собственно вот и сам исходник: http://webcodes.ru/publ/1-1-0-1971 (не знаю на сколько выдерживает хабраэффект, будет лагать, говорите, я перенесу куда нить) прямая ссылка на JS файл, спасибо SKYnv, исправлен маленький но противный баг с подсказкой
Пользоваться им так же как и с предыдущей версией

баг фиксы:
— полностью поменял внешний вид, сделал его «клоном» других аналогичных скриптов, теперь он не выделяется
— изменил действия кнопок (если добавлять пользователя, но не ввести имя, ничего не вставиться)
+ добавил подсветку синтаксиса (пока только для JS, хотя сносно будет подсвечивать и некоторые другие)
+ добавил несколько полезных кнопочек
+ добавил одину «фичу», возле каждой ссылки «ответить» пояится ссылка «свернуть» которая сворачивает всю ветку каментов

дальше было бы неплохо добавить еще несколько языков «из коробки», пока больше идей нет, быо бы неплохо если бы ты, %userName% подсказал бы свои желания, предложения и багрепорты… заранее благодарен

UPD: прямая ссылка на JS файл сервачок не ахти, может тухнуть иногда
UPD2: мини мануал как встаить свою/заменить существующую кнопку:
открываем файлик, в 6-й строке видим переменную buttons — это все кнопки которые есть
допустим надо изменить кнопку ± на смайлик ":)"
смотрим в кнопках нужную кнопочку, в данном случае это
{
    type: 'text',
    caption: '±',
    title: 'Plus/Minus',
    text: '±'
}, 

и заменяем нужные поля:
type — тип кнопки text/delimeter/image, в нашем случае это текстовая кнопка
caption — текст корорый будет отображаться на кнопке
title — подсказка которая будет показываться при наведении
text — текст который вставится в поле при нажатии
меняем поля натакие:
{
    type: 'text',
    caption: ':-)',
    title: 'Plus/Minus',
    text: ':)'
}, 


допустим нам надо добавить кнопку ":(" после только что измененной:
для начала создаем макет кнопки, можно за основу взять любую другую, берем только что измененную
{
    type: 'text',
    caption: ':-)',
    title: 'Plus/Minus',
    text: ':)'
},

и делаем тоже самое что и в тот раз:
{
    type: 'text',
    caption: ':-(',
    title: 'Plus/Minus',
    text: ':('
},

и вставляем этот кусок после нужной кнопки (обратите внимание на запятые)

все доступные поля:
type — кнопки могут быть 3-х типов: image (кнопка ввиде картинки), delimiter (разделитель) и text (кнопка с текстом)

src — ссылка на картинку которая будет отображаться на кнопке (при условии что тип — image)

title — подсказка которая появляется при наведении (при условии что тип — image)

text — текст который вставится при нажатии на кнопку (? и %%% считаются управляющими символами см. дальше,? так же заменяется выделенным текстом в поле ввода)

processFunc — функця которая обрабатывает текст перед показом (заменяет? на результат функции)

prompt — показывает диалог ввода текста (например ник пользователя для создания ссылки на его профиль, введенный текст заменяет %%% в поле text например: text: '<hh user="%%%">')

caption — текст на кнопке, при условии что кнопка имеет тип text

скрипт для оперы, для других браузеров его надо будет немного подправить

upd3: изменися внешний вид, теперь панелька на всю длину поля, спасибо Dlussky
upd4 если используете скрипт, и собираетесь переименовать скрипт, не используйте шаблон имени типа *.jser.js опера его не подхватывает, спасибо SKYnv
Tags: javascriptoperaхабрахабр
Hubs: Habr
Total votes 68: ↑54 and ↓14 +40
Comments 95
Comments Comments 95

Popular right now