Класс wAjaxTree служит для построения древовидных списков (простых, с контекстными меню и событиями, с разнородными уровнями и т.д.).
Основные параметры класса
| Параметр | Значение по умолчанию | Описание |
| q | null | wSql-объект. |
| f | null | Объект класса wPrototype. |
| _data | array() | Массив данных для списка. |
| sql | Sql-запрос для формирования данных списка. | |
| caption | Заголовок страницы. | |
| edit_table | Название редактируемой таблицы в sql-запросе. | |
| edit_keyfield | id | Ключевое поле редактируемой таблицы в sql-запросе. |
| edit_parent | parent | Родительское поле в редактируемой таблице. |
| card_func | Callback-функция при клике на карточке. | |
| title_func | Callback-функция при рисовании заголовка | |
| jajaxtree | true | Подключение wajaxtree.js. |
| jquery | true | Подключение jquery.js. |
| jqueryui | true | Подключение jqueryui.js. |
| jcontextmenu | true | Подключение contextmenu.js. |
| adding | false | Возможность добавления записей |
| editing | false | Возможность редактирования записей. |
| copying | true | Возможность копирования записей. |
| editing | false | Возможность редактирования записей. |
| deleting | false | Возможность удаления записей. |
| folder_func | Callback-функция, которая срабатывает при клике на папке. | |
| folder_menu | true | Отображение контекстного меню папки (если доступно). |
| leaf_func | Callback-функция, которая срабатывает при клике на дочернем элементе. | |
| unselect | false | Возможность отмены выбора ветки дерева и отображение всех записей. |
| unselect_text | Заголовок ссылки для отмены выбора ветки дерева. | |
| a_root_folder | Css-стили для корневой папки. | |
| a_root_folder_open | Css-стили для раскрытой корневой папки. | |
| a_root_leaf | Css-стили для первого дочернего элемента. | |
| a_folder | Css-стили для папки. | |
| a_folder_open | Css-стили для открытой папки. | |
| a_leaf | Css-стили для дочернего элемента. | |
| a_leaf_active | Css-стили для активного дочернего элемента. | |
| active_css | active | Дополнительный css-класс для активного дочернего элемента. |
| li_css | li_tree | Css-класс для элементов < li > |
| show_root_plus | 1 | Отображение иконки раскрытия на корневой папке. |
| _contextmenu | array() | Контекстное меню элементов. |
| subgrid | Название контейнера для подчиненной таблицы. | |
| onopendialog | Название Callback-функции, которая вызывается при открытии диалогового окна. | |
| onclosedialog | Название Callback-функции, которая вызывается при закрытии диалогового окна. | |
| onloadnode | Callback-функция, которая срабатывает после загрузки узла списка. | |
| startfrom | 0 | Код (id) объекта, начиная с которого надо рисовать элементы списка. |
Описание методов
addHidden()
public function addHidden($name = '', $val = '')
Добавляет скрытое поле к списку.
$parser->addCss('main/styles/wad-er.css');
include_once(SYS_BASE_PATH.'main/classes/wajaxtree.class.php');
$w = new wAjaxTree();
//…
$w->addHidden('name_hidden','value_hidden');
$w->show();
В результате работы этого примера в списке появляется дополнительный html-код:
< input id="name_hidden" name="name_hidden" value="value_hidden" type="hidden" >
addContextMenu()
public function addContextMenu($name = '',$action = '', $querystring = '', $to_end = true)
Добавляет в контекстное меню элемента новый пункт.
$parser->addCss('main/styles/wad-er.css');
include_once(SYS_BASE_PATH.'main/classes/wajaxtree.class.php');
$w = new wAjaxTree ();
//…
$w->addContextMenu($parser->gt('delete', __FILE__),'delete', '', false);
$w->show();
addData()
public function addData()
Добавление данных к набору данных списка.
$parser->addCss('main/styles/wad-er.css');
include_once(SYS_BASE_PATH.'main/classes/wajaxtree.class.php');
$w = new wAjaxTree();
$w->addData('name','name');
$w->addData('name1','name1');
$w->addData('name2','name2');
$w->show();
makeNotes()
public function makeNotes($d, $r)
Добавляет примечание в тег , если данные для списка передаются в xml-формате.
makeFuncpars()
public function makeFuncpars($d, $r)
Добавляет функцию в тег < funpars >, если данные для списка передаются в xml-формате.
makeTreetype()
public function makeTreetype($d, $r)
Добавляет тип древовидного списка в тег < treetype >, если данные для списка передаются в xml-формате.
makeTreeclass()
public function makeTreeclass($d, $r)
Добавляет класс древовидного списка в тег < treeclass >, если данные для списка передаются в xml-формате.
show()
public function show()
Отображение древовидного списка. Пример простого древовидного списка с использованием конструктора запросов wSql:
$parser->addCss('main/styles/wad-er.css');
// Create new instance of the wAjaxTree class
include_once(SYS_BASE_PATH.'main/classes/wajaxtree.class.php');
$w = new wAjaxTree();
// Set sql
$w->q->select('objid');
$w->q->select('name', '', array('lang' => true)); // Or $w->q->lselect('name');
$w->q->select('isfolder');
$w->q->select('parent');
$w->q->from('sys_objects');
$w->q->where("objid<>'0'");
$w->q->where("objtype='sys_elements_pages'");
$w->q->where("parent=:parent:");
$w->q->orderby('name', true); // Or $w->q->lorderby('name');
// Print the tree
$w->show();