Класс 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 = '')
Устанавливает действие перед установкой значения ячейки. Служебный метод, используется при отображении списка. Может переопределяться в дочернем классе.