Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 28.01.2015, 15:37
Аватар для FINoM
Новичок
Отправить личное сообщение для FINoM Посмотреть профиль Найти все сообщения от FINoM
 
Регистрация: 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

Все события срабатывают на соответствующем элементе и всплывают. Так что можно ловить событие где-нибудь выше, например, в корневом элементе дерева.

Паверед бай Балалайка.
__________________
"Matreshka is fucking awesome" © чувак с Reddit
Matreshka.js - Три возможности
Ответить с цитированием
  #2 (permalink)  
Старый 28.01.2015, 16:55
Аспирант
Отправить личное сообщение для d.skuratovich Посмотреть профиль Найти все сообщения от d.skuratovich
 
Регистрация: 19.09.2014
Сообщений: 73

Ты не написал зачем это
Ответить с цитированием
  #3 (permalink)  
Старый 28.01.2015, 16:58
Аватар для FINoM
Новичок
Отправить личное сообщение для FINoM Посмотреть профиль Найти все сообщения от FINoM
 
Регистрация: 05.09.2010
Сообщений: 2,298

Сообщение от d.skuratovich
Ты не написал зачем это
Да, не написал.
__________________
"Matreshka is fucking awesome" © чувак с Reddit
Matreshka.js - Три возможности
Ответить с цитированием
  #4 (permalink)  
Старый 28.01.2015, 16:59
Аспирант
Отправить личное сообщение для d.skuratovich Посмотреть профиль Найти все сообщения от d.skuratovich
 
Регистрация: 19.09.2014
Сообщений: 73

FINoM, ну так может стоит просветить зачем это все надо?
Ответить с цитированием
  #5 (permalink)  
Старый 28.01.2015, 17:03
Аватар для FINoM
Новичок
Отправить личное сообщение для FINoM Посмотреть профиль Найти все сообщения от FINoM
 
Регистрация: 05.09.2010
Сообщений: 2,298

Сообщение от d.skuratovich
ну так может стоит просветить зачем это все надо?
Для реализации деревообразных виджетов с неограниченным количеством вложенных ветвей, например, для вывода дерева файловой системы на сайте или в веб приложении.
__________________
"Matreshka is fucking awesome" © чувак с Reddit
Matreshka.js - Три возможности
Ответить с цитированием
  #6 (permalink)  
Старый 28.01.2015, 17:04
Аспирант
Отправить личное сообщение для d.skuratovich Посмотреть профиль Найти все сообщения от d.skuratovich
 
Регистрация: 19.09.2014
Сообщений: 73

FINoM, не-не, это я понял. Не понятно зачем еще одно решение делать
Ответить с цитированием
  #7 (permalink)  
Старый 28.01.2015, 17:19
Аватар для FINoM
Новичок
Отправить личное сообщение для FINoM Посмотреть профиль Найти все сообщения от FINoM
 
Регистрация: 05.09.2010
Сообщений: 2,298

Сообщение от d.skuratovich
Не понятно зачем еще одно решение делать
Оригинальный jstree перегружен кучей лишних, как по мне, фич, из-за этого, он чересчур тяжелый (115К против 4.5К несжатого кода). Плюс, он требует jQuery, который большинству людей не только не нужен сам по себе, но и утяжеляет страницу на дополнительныз 93К.

В итоге, мы экономим 200 килобайт трафика, не нуждаемся в зависимостях и получаем повышенную производительность самого скрипта из-за использования ваниллы.

Ссылки по теме:
http://youmightnotneedjquery.com/
http://vanilla-js.com/
__________________
"Matreshka is fucking awesome" © чувак с Reddit
Matreshka.js - Три возможности
Ответить с цитированием
  #8 (permalink)  
Старый 28.01.2015, 22:16
Аспирант
Отправить личное сообщение для d.skuratovich Посмотреть профиль Найти все сообщения от d.skuratovich
 
Регистрация: 19.09.2014
Сообщений: 73

Сообщение от FINoM Посмотреть сообщение
Оригинальный jstree перегружен кучей лишних, как по мне, фич, из-за этого, он чересчур тяжелый (115К против 4.5К несжатого кода). Плюс, он требует jQuery, который большинству людей не только не нужен сам по себе, но и утяжеляет страницу на дополнительныз 93К.

В итоге, мы экономим 200 килобайт трафика, не нуждаемся в зависимостях и получаем повышенную производительность самого скрипта из-за использования ваниллы.

Ссылки по теме:
http://youmightnotneedjquery.com/
http://vanilla-js.com/
Это я и хотел услышать. Увы, но мне кажется в наш век, где почти на каждом сайте есть jQuery, а интернет уже довольно таки дешевый-это не мотивация
Ответить с цитированием
  #9 (permalink)  
Старый 28.01.2015, 22:29
Аватар для FINoM
Новичок
Отправить личное сообщение для FINoM Посмотреть профиль Найти все сообщения от FINoM
 
Регистрация: 05.09.2010
Сообщений: 2,298

Сообщение от d.skuratovich
Увы, но мне кажется в наш век, где почти на каждом сайте есть jQuery, а интернет уже довольно таки дешевый-это не мотивация
Я слышал это многократно. Впрос один: зачем перегружать страницу, если этого можно не делать? Вопрос риторический, он направлен не вам.

Тенденции таковы, что все, кто хочет делать качественные продукты экономят на спичках. Ускорение загрузки гугла на 200 миллисекунд тиражировалось по интернету, как прездничная новость. Люди меняют Жиквери на Зепто, чтоб сэкономить несколько килобайт, используют спрайты, минификаторы и конкатенаторы скриптов и стилей... Можно сказать, что ваш продукт не требует предпринимать мер по уменьшению трафика и количества запросов, но тогда это не проект, это халтура.
__________________
"Matreshka is fucking awesome" © чувак с Reddit
Matreshka.js - Три возможности
Ответить с цитированием
  #10 (permalink)  
Старый 28.01.2015, 22:59
sinistral
Посмотреть профиль Найти все сообщения от melky
 
Регистрация: 28.03.2011
Сообщений: 5,418

Сообщение от d.skuratovich Посмотреть сообщение
Это я и хотел услышать. Увы, но мне кажется в наш век, где почти на каждом сайте есть jQuery, а интернет уже довольно таки дешевый-это не мотивация
уже далеко не на каждом
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск