powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / HTML, JavaScript, VBScript, CSS [игнор отключен] [закрыт для гостей] / yui, dynamic_tree. Проблема динамической загрузки
4 сообщений из 4, страница 1 из 1
yui, dynamic_tree. Проблема динамической загрузки
    #35498224
324f4
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Доброго времени суток други! Здравы будете!
У меня такой вопросик, кто знаком с компонентами yui.
В yui есть такой компонент -dynamic_tree, который формирует динамические деревья. То есть при выборе узла скрипт "лезет" на сервер и вытаскивает узлы-потомки. Все то хорошо, но при клике на каком-либо узле дочерние узлы динамически загружаются только при первом клике после инициализации.
При последующем закрытии/открытии этого узла скрипты уже никуда не "лезут", а показывают дочерние узлы уже локально. А если например, на удаленном сервере создали новую папку, то она уже не отобразится.
Подскажите, где, что можно изменить, чтобы при клике на узле он всегда динамически загружал под-узлы (всегда загружал их с сервера).
Там используются библиотеки
treeview-min.js
connection-min.js
event-min.js
yahoo-min.js
...
Рейтинг: 0 / 0
yui, dynamic_tree. Проблема динамической загрузки
    #35502607
М.Голованов
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Я это делаю - правда, не по причине обновлений на сервере, а просто из желания сэкономить на памяти (при большом дереве все это хозяйство сильно тормозит).

Код такой:

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
// создаем объект
var pTree=new YAHOO.widget.TreeView("prjgr"+__lPrjID);
// указываем функцию, которая динамически грузит ветки
pTree.setDynamicLoad(_loadSec);
// флажок состояния объекта 
pTree.__onCollapse=false;
// рекурсивная функция - удаляет дочерние узлы указанного узла дерева и затем сам узел
pTree.__deleteNode=function(node){
  while(node.children.length) this.__deleteNode(node.children[ 0 ]);
  this.popNode(node);
};
// а это главная функция - обработчик события закрытия - при закрытии ветки вычищает все ее содержимое
pTree.onCollapse=function(node){
  // если флаг выставлен, уходим - мы как-то не туда пришли и дерево уже в процессе закрытия узла  
  if(node.tree.__onCollapse) return;
  // выставляем флаг
  node.tree.__onCollapse=true;
  // начинаем чистить
  try{
    // сначала все прячем
    node.hideChildren();
    // вычищаем все дочерние узлы данного узла
    while (node.children.length) node.tree.__deleteNode(node.children[ 0 ]);
    // меняем флаги, чтобы узел перешел в состояние "не открыт"
    node.childrenRendered=false;
    node.dynamicLoadComplete=false;
    node.getChildrenEl().innerHTML="";
  }catch(e){ showException(e); }
  // сбрасываем флаг
  node.tree.__onCollapse=false;
  // готово
  return;
};
function showException(e){
  var message=e.name+": "+e.message+"\r\n--------------------------------------------";
  for(var prop in e) if(prop!="name" && prop!="message") message=message+"\r\n  "+prop+"="+e[prop];
  alert(message);
}
...
Рейтинг: 0 / 0
yui, dynamic_tree. Проблема динамической загрузки
    #35502613
М.Голованов
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Забыл добавить, что этот обработчик переводит узел в состяние "не открыт", и при последующем открытии (клике на узле) запустится динамическая загрузка со всеми Вашими обновлениями на сервере. Ну, да это и итак ясно.

Я вообще-то такой стандартный обработчик вешаю во всех случаях. И память экономит, и возможные обновления на сервере позволяет отображать.
...
Рейтинг: 0 / 0
yui, dynamic_tree. Проблема динамической загрузки
    #35503846
324f4
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Огромное спасибо! Здоровеньку булы!!!!!!!
...
Рейтинг: 0 / 0
4 сообщений из 4, страница 1 из 1
Форумы / HTML, JavaScript, VBScript, CSS [игнор отключен] [закрыт для гостей] / yui, dynamic_tree. Проблема динамической загрузки
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]