Comments 48
А есть ли варианта на mootoolse? Просто у меня на сайте используеться именно этот фреймворк.
0
Были такие мысли. На большие деревья размер куков может не хватить :) Придется использовать чтонибудь посерьезнее. А так — отличное дерево. В избранное — если вдруг мне деревья понадобятся.
0
А я придумал как поступить — буду сохранять состояние самого глубокого узла, а всех предков раскрывать просто автоматом. Тогда может кук хватить.
Кстати какое у них ограничение я не помню?
Кстати какое у них ограничение я не помню?
0
я и сам не помню :) 2 или 4 кб на сайт вроде было.
0
пишут: Имеются следующие ограничения на размер cookies: всего может храниться до 300 значений cookies. каждый cookie не может превышать 4 Кб.
У меня тут храниться 2 значения.
Я прикинул — если сохранять все раскрытые узлы, то влезет примерно 700 узлов.
Но можно инфу сжать, как я предложил постом выше — буду записывать только состояние самого глубокого открытого узла, так как по логике все родительские узлы должны быть тоже раскрыты.
Количество хранимой инфы в кукуах можно сократить.
У меня тут храниться 2 значения.
Я прикинул — если сохранять все раскрытые узлы, то влезет примерно 700 узлов.
Но можно инфу сжать, как я предложил постом выше — буду записывать только состояние самого глубокого открытого узла, так как по логике все родительские узлы должны быть тоже раскрыты.
Количество хранимой инфы в кукуах можно сократить.
0
Сокращать нужно. Дерево не одно куков хочет :)
У меня тогда проблема была более сложная. Таких деревьев на сайт могло быть и под сотню. И если запоминать состояние каждого, то куков точно не хватило бы :) Пришлось на сервере хранить. Мы еще и таблицы пользователям давали настраивать под себя(колонки добавлять/убирать) — тоже надо было сохранять.
У меня тогда проблема была более сложная. Таких деревьев на сайт могло быть и под сотню. И если запоминать состояние каждого, то куков точно не хватило бы :) Пришлось на сервере хранить. Мы еще и таблицы пользователям давали настраивать под себя(колонки добавлять/убирать) — тоже надо было сохранять.
0
может сохранять состояние в toggleNode? опера, к примеру, unload не поддерживает.
+1
Адаптивный UI :-)
0
Понимаю, что прототип. И все же, почему не вынести маркеры за лейбл? Ну не красиво же)
+1
Поясните. Не понял что значит «почему не вынести маркеры за лейбл» — видимо мой сленг немного другого профиля )
0
Я говорю, что если вынести пиктограмму папки (треугольник) за название самого пункта, т.е. левее, то будет гораздо лучше. Тогда все названия будут на одном уровне, независимо от того, содержат они вложенные элементы или нет.
0
НАрисуй, все равно не понял.
Ониже и так на одном уровне… ты про какие уровни...?
Ониже и так на одном уровне… ты про какие уровни...?
0
0
Теперь понятно. Попробую сделать.
0
Сделал я такой вариант. Подправлен скрипт и CSS.
r3code.ru/projects/multi-derevo/multi-derevo-jquery-v6-utf8-cookie.html
r3code.ru/projects/multi-derevo/multi-derevo-jquery-v6-utf8-cookie.html
0
нравицо развитие идеи
0
А драг-н-дроп версии нет часом? Чтобы можно было узлы перетаскивать мышкой…
0
Хм… теперь есть идея её сделать.
Но мне особо не нужна. Какая мотивация? Ручное упорядочивание перетаскиванием?
Но мне особо не нужна. Какая мотивация? Ручное упорядочивание перетаскиванием?
0
да, именно. Типа как слои в фотошопе — перемещать на другое место или закидывать внутрь какого-либо раздела. Применение — например упорядочивание разделов сайта в системе управления сайтом.
0
наблюдаю как растет дерево с самого начала. хорошая работа, спасибо.
скажите, а есть в планах реализовать добавление вложенности и редактирование названия вложенности?
скажите, а есть в планах реализовать добавление вложенности и редактирование названия вложенности?
0
Поподробнее пожалуйста разъясни, что значит добавлени «Вложенности» и «Название вложенности».
Как-то терминология не подобралсь универсальная, так что не сразу ясно бывает.
Как-то терминология не подобралсь универсальная, так что не сразу ясно бывает.
0
к примеру чтобы возле «Ветки» был значек "+" при нажатии на который появлялся новый «Новый лепесток»,
а после этого при нажатии на значок «редактировать» можно было прямо в дереве переименовать надпись «Новый листок»… дальше можно подумать чтобы «Лепестки» можно было сортировать между собой, перетаскивая мышью вверх-вниз… таким образом получим прирост функциональности дерева… хочу сразу оговориться, что я не программист, а следовательно не понимаю сложность реализации всего изложенного выше
а после этого при нажатии на значок «редактировать» можно было прямо в дереве переименовать надпись «Новый листок»… дальше можно подумать чтобы «Лепестки» можно было сортировать между собой, перетаскивая мышью вверх-вниз… таким образом получим прирост функциональности дерева… хочу сразу оговориться, что я не программист, а следовательно не понимаю сложность реализации всего изложенного выше
0
для вашего плагина рекомендую (делюсь) плагин jquery.namesession.js (требует jquery.js и json2.js).
(function($)
{
var state = {};
if (/^\{.*\}$/.test(window.name))
{
state = JSON.parse(window.name);
}
else
{
window.name = '{}';
}
$.namesession = {
'set': function(n, v)
{
state[n] = v;
window.name = JSON.stringify(state);
},
'get': function(n, dv)
{
if (n in state)
{
return state[n];
}
return dv;
}
};
})(jQuery);
(function($)
{
var state = {};
if (/^\{.*\}$/.test(window.name))
{
state = JSON.parse(window.name);
}
else
{
window.name = '{}';
}
$.namesession = {
'set': function(n, v)
{
state[n] = v;
window.name = JSON.stringify(state);
},
'get': function(n, dv)
{
if (n in state)
{
return state[n];
}
return dv;
}
};
})(jQuery);
0
внес плагин в plugins.jquery.com/project/namesession
0
Не пробовали загружать дерево в несколькот тысяч элементов?
Недавно воспользовался jquery TreeView, с таким количеством элементов ужасно тормозит даже на скроле
Недавно воспользовался jquery TreeView, с таким количеством элементов ужасно тормозит даже на скроле
0
записывать информацию в куки, которые передаются при каждом запросе элементов с этого каталога и ниже — это как минимум расточительно. Ограничьте видимость куки только текущей страницей, если это возможно.
0
Я разрабатывал аналогичный по назначению компонент и постараюсь дать пару дельных советов:
1) зачем вы намеренно усложняете жизнь пользователя, заставляя его формировать дерево со всеми этими
<li><span><a href="#111">1.1.1. Листик</a></span></li>
Все эти теги нужны только вашему скрипту, так пускай он их и расставляет сам, прозрачно для пользователя.
2) если на странице несколько деревьев — то каждое будет иметь одинаковый ID — парсер будет ругаться.
3) почему «multi-derevo», а не «multi-tree»? Или пишите на русском кириллическим алфавитом либо английский алфавитом на английском
4) если в ноде больше одной строки текста — чёрточки позиционируются по низу ноды — красивее было бы по середине.
5) ну и фич, конечно, совсем мало — как минимум не хватает подгрузки частей дерева по XHR, динамических чекбоксов итд.
1) зачем вы намеренно усложняете жизнь пользователя, заставляя его формировать дерево со всеми этими
<li><span><a href="#111">1.1.1. Листик</a></span></li>
Все эти теги нужны только вашему скрипту, так пускай он их и расставляет сам, прозрачно для пользователя.
2) если на странице несколько деревьев — то каждое будет иметь одинаковый ID — парсер будет ругаться.
3) почему «multi-derevo», а не «multi-tree»? Или пишите на русском кириллическим алфавитом либо английский алфавитом на английском
4) если в ноде больше одной строки текста — чёрточки позиционируются по низу ноды — красивее было бы по середине.
5) ну и фич, конечно, совсем мало — как минимум не хватает подгрузки частей дерева по XHR, динамических чекбоксов итд.
+1
1) согласен, можно это скрипту отдать
2) это разработка не завершена, никто не мешает заменить ID на класс
3) как хочу так и пишу — это мое личное дело. Может мне «мульти-дерево» слух ласкает.
4) красивее было бы, но требует дополнительной доработки скрипта — пока не критично и второстепенно
5) фич… ну вы конечно молодец, что идеи предалагаете, но я для себя в первую очередь делал — по необходимости. А эта жалоба — запрос на улучшение уже )
Динамические чекбоксы? Есть такая версия, но в личном пользовании. Доделать можно как угодно.
Вы ищите готовое решение? Тогда пока рано.
2) это разработка не завершена, никто не мешает заменить ID на класс
3) как хочу так и пишу — это мое личное дело. Может мне «мульти-дерево» слух ласкает.
4) красивее было бы, но требует дополнительной доработки скрипта — пока не критично и второстепенно
5) фич… ну вы конечно молодец, что идеи предалагаете, но я для себя в первую очередь делал — по необходимости. А эта жалоба — запрос на улучшение уже )
Динамические чекбоксы? Есть такая версия, но в личном пользовании. Доделать можно как угодно.
Вы ищите готовое решение? Тогда пока рано.
0
Дерево классное! А можно подобную штуку на prototype найти?
0
Sign up to leave a comment.
Многоуровневое дерево с маркерами, сохраняющее состояние (HTML, CSS, jQuery, Cookies)