Класс wAjaxTreeList служит для построения древовидного списка в виде таблицы с контекстным меню.
Основные параметры класса
| Параметр | Значение по умолчанию | Описание |
| q | null | wSql-объект. |
| f | null | Объект класса wPrototype. |
| sql | Sql-запрос для формирования данных списка. | |
| caption | Заголовок страницы. | |
| colnames | Названия колонок (список через запятую). | |
| addpost_script | true | Возможность добавления скрипта для отправки формы. |
| pagelen | 30 | Количество строк на одной странице в постраничной разбивке записей. |
| cardurl | URL для карточки объекта | |
| rowclass_handler | Название функции для вычисления css-класса строки. | |
| rowclass_col | Колонка, в которой находится название css-класса для строки. | |
| adding | false | Возможность добавления записей |
| editing | false | Возможность редактирования записей. |
| copying | true | Возможность копирования записей. |
| editing | false | Возможность редактирования записей. |
| deleting | false | Возможность удаления записей. |
| folder_func | Callback-функция, которая срабатывает при клике на папке. | |
| leaf_func | Callback-функция, которая срабатывает при клике на дочернем элементе. | |
| onopendialog | Название Callback-функции, которая вызывается при открытии диалогового окна. | |
| onclosedialog | Название Callback-функции, которая вызывается при закрытии диалогового окна. | |
| edit_parent | parent | Родительское поле в редактируемой таблице. |
| startid | 0 | Код (id) объекта, начиная с которого надо рисовать элементы списка. |
| _caption_cells | array() | Дополнительные ячейки таблицы над списком. |
| popup_script | false | Подключение popupWindow.js |
| mess | Сообщение, которое будет напечатано над списком. | |
| addingpars | Дополнительные параметры, которые передаются popup-карточку объекта. | |
| debug | false | Запись sql-выражений в системные сообщения. |
Описание методов
addHidden()
public function addHidden($name = '', $val = '')
Добавляет скрытое поле к списку.
include_once(SYS_BASE_PATH.'main/classes/wajaxtreelist.class.php');
$w = new wAjaxTreeList ();
//…
$w->addHidden('name_hidden','value_hidden');
$w->show();
В результате работы этого примера в списке появляется дополнительный html-код:
< input id="name_hidden" name="name_hidden" value="value_hidden" type="hidden" >
addCell()
public function addCell($text = '', $align = '')
Добавляет дополнительную ячейку в заголовок списка.
include_once(SYS_BASE_PATH.'main/classes/wajaxtreelist.class.php');
$w = new wAjaxTreeList ();
//…
$w->addCell('Data');
$w->show();
addContextMenu()
public function addContextMenu($name = '',$action = '', $querystring = '', $to_end = true)
Добавляет в контекстное меню элемента новый пункт.
$w = new wAjaxTreeList ();
//…
$w->addContextMenu($parser->gt('delete', __FILE__),'delete', '', false);
$w->show();
addMainMenu0()
public function addMainMenu0($name = '', $action = '', $querystring = '', $to_end = true)
Добавление элемента в меню (0 уровень) над списком.
$w = new wAjaxTreeList ();
//…
$w->addMainMenu0($parser->gt('delete', __FILE__),'delete', '', false);
$w->show();
addMainMenu1()
public function addMainMenu1($name = '', $action = '', $querystring = '')
Добавление элемента в меню (1 уровень) над списком.
$w = new wAjaxTreeList ();
//…
$w->addMainMenu1($parser->gt('delete', __FILE__),'delete', '', false);
$w->show();
addMainMenu2()
public function addMainMenu2($name = '', $action = '', $querystring = '')
Добавление элемента в меню (2 уровень) над списком.
$w = new wAjaxTreeList ();
//…
$w->addMainMenu2($parser->gt('delete', __FILE__),'delete', '', false);
$w->show();
show()
public function show()
Отображение списка.
Пример отображения списка. Создадим древовидный список объектов системы, которые имеют вложенные объекты.
$parser->addCss('main/styles/wad-er.css');
include_once(SYS_BASE_PATH.'main/classes/wajaxtreelist.class.php');
$w = new wAjaxTreeList();
$w->caption = 'Test';
$w->q->select('o.objid', $parser->gt('id'));
$w->q->lselect('o.name');
$w->q->select('o.isfolder', $parser->gt('isfolder'));
$w->q->select('o.parent', $parser->gt('parent'));
$w->q->select('o.creaton', $parser->gt('createdon'));
$w->q->from('sys_objects o');
$w->q->where("o.objid<>'0'");
$w->q->where("o.parent=:parent:");
$w->q->where("isfolder=1");
$w->q->lorderby('o.name');
$w->editing = true;
$w->adding = true;
$w->copying = true;
$w->deleting = true;
$w->cardurl = $parser->makeUrl('sys_object_form');
$w->show();
setRowclass()
public function setRowclass($rs)
Устанавливает css-класс для строки.
$w = wAjaxTreeList ();
//…
$w-> setRowclass ('class');
$w->show();
onBeforeSetRow()
public function onBeforeSetRow($rs = null)
Вызывает действие перед установкой значения строки. Служебный метод, используется при отображении списка. Может переопределяться в дочернем классе.
onBeforeSetCell()
public function onBeforeSetCell($rs = null, $i = 0, $type = 'S', $v = '')
Устанавливает действие перед установкой значения ячейки. Служебный метод, используется при отображении списка. Может переопределяться в дочернем классе.