28.01.2015, 15:37
|
|
Новичок
|
|
Регистрация: 05.09.2010
Сообщений: 2,298
|
|
Vanillatree - ванильная реализация jstree
В связи с тем, что одобрили мой пулл-риквест в репку microjs, представляю на суд общественности свою небольшую разработку Vanillatree.
Скрипт является ванильной заменой для jQuery плагина jstree. Поддерживается Internet Explorer 10+. Чтоб работало в деватом, нужно подключить полифил classList.
API предоставляет методы для добавления, удаления, выбора, сворачивания и разворачивания ветвей.
add(options) -- добавляет ветвь
move(id, parentId) -- переносит ветвь к другому родителю
remove(id) -- удаляет ветвь
open(id) -- разврорачивает поддерево
close(id) -- сворвчивает поддерево
toggle(id) -- сворачивает или разворачивает поддерево в зависимости от состояния
select(id)-- выбирает ветвь
Кажое действие, вызванное методом или действием пользователя генерирует соответствующее кастомное DOM событие. В объекте detail события содержится id ветки.
vtree-add
vtree-move
vtree-remove
vtree-open
vtree-close
vtree-select
Все события срабатывают на соответствующем элементе и всплывают. Так что можно ловить событие где-нибудь выше, например, в корневом элементе дерева.
Паверед бай Балалайка.
|
|
28.01.2015, 16:55
|
Аспирант
|
|
Регистрация: 19.09.2014
Сообщений: 73
|
|
Ты не написал зачем это
|
|
28.01.2015, 16:58
|
|
Новичок
|
|
Регистрация: 05.09.2010
Сообщений: 2,298
|
|
Сообщение от d.skuratovich
|
Ты не написал зачем это
|
Да, не написал.
|
|
28.01.2015, 16:59
|
Аспирант
|
|
Регистрация: 19.09.2014
Сообщений: 73
|
|
FINoM, ну так может стоит просветить зачем это все надо?
|
|
28.01.2015, 17:03
|
|
Новичок
|
|
Регистрация: 05.09.2010
Сообщений: 2,298
|
|
Сообщение от d.skuratovich
|
ну так может стоит просветить зачем это все надо?
|
Для реализации деревообразных виджетов с неограниченным количеством вложенных ветвей, например, для вывода дерева файловой системы на сайте или в веб приложении.
|
|
28.01.2015, 17:04
|
Аспирант
|
|
Регистрация: 19.09.2014
Сообщений: 73
|
|
FINoM, не-не, это я понял. Не понятно зачем еще одно решение делать
|
|
28.01.2015, 17:19
|
|
Новичок
|
|
Регистрация: 05.09.2010
Сообщений: 2,298
|
|
Сообщение от d.skuratovich
|
Не понятно зачем еще одно решение делать
|
Оригинальный jstree перегружен кучей лишних, как по мне, фич, из-за этого, он чересчур тяжелый (115К против 4.5К несжатого кода). Плюс, он требует jQuery, который большинству людей не только не нужен сам по себе, но и утяжеляет страницу на дополнительныз 93К.
В итоге, мы экономим 200 килобайт трафика, не нуждаемся в зависимостях и получаем повышенную производительность самого скрипта из-за использования ваниллы.
Ссылки по теме:
http://youmightnotneedjquery.com/
http://vanilla-js.com/
|
|
28.01.2015, 22:16
|
Аспирант
|
|
Регистрация: 19.09.2014
Сообщений: 73
|
|
Сообщение от FINoM
|
Оригинальный jstree перегружен кучей лишних, как по мне, фич, из-за этого, он чересчур тяжелый (115К против 4.5К несжатого кода). Плюс, он требует jQuery, который большинству людей не только не нужен сам по себе, но и утяжеляет страницу на дополнительныз 93К.
В итоге, мы экономим 200 килобайт трафика, не нуждаемся в зависимостях и получаем повышенную производительность самого скрипта из-за использования ваниллы.
Ссылки по теме:
http://youmightnotneedjquery.com/
http://vanilla-js.com/
|
Это я и хотел услышать. Увы, но мне кажется в наш век, где почти на каждом сайте есть jQuery, а интернет уже довольно таки дешевый-это не мотивация
|
|
28.01.2015, 22:29
|
|
Новичок
|
|
Регистрация: 05.09.2010
Сообщений: 2,298
|
|
Сообщение от d.skuratovich
|
Увы, но мне кажется в наш век, где почти на каждом сайте есть jQuery, а интернет уже довольно таки дешевый-это не мотивация
|
Я слышал это многократно. Впрос один: зачем перегружать страницу, если этого можно не делать? Вопрос риторический, он направлен не вам.
Тенденции таковы, что все, кто хочет делать качественные продукты экономят на спичках. Ускорение загрузки гугла на 200 миллисекунд тиражировалось по интернету, как прездничная новость. Люди меняют Жиквери на Зепто, чтоб сэкономить несколько килобайт, используют спрайты, минификаторы и конкатенаторы скриптов и стилей... Можно сказать, что ваш продукт не требует предпринимать мер по уменьшению трафика и количества запросов, но тогда это не проект, это халтура.
|
|
28.01.2015, 22:59
|
sinistral
|
|
Регистрация: 28.03.2011
Сообщений: 5,418
|
|
Сообщение от d.skuratovich
|
Это я и хотел услышать. Увы, но мне кажется в наш век, где почти на каждом сайте есть jQuery, а интернет уже довольно таки дешевый-это не мотивация
|
уже далеко не на каждом
|
|
|
|