Класс wGantt служит для построения диаграмм Гантта.
Диаграмма Ганта (англ. Gantt chart, также ленточная диаграмма, график Ганта) — это популярный тип столбчатых диаграмм и гистограмм), который используется для иллюстрации плана, графика работ по какому-либо проекту. Является одним из методов планирования проектов. Диаграмма Ганта состоит из полос, ориентированных вдоль оси времени. Каждая полоса на диаграмме представляет отдельную задачу в составе проекта и вид работы), её концы — моменты начала и завершения работы, её протяженность — длительность работы. Вертикальной осью диаграммы служит перечень задач.
Основные параметры класса
Параметр | Значение по умолчанию | Описание |
с | null | Объект класса wPrototype (connection object). |
f | null | Объект класса wPrototype (transition object). |
caption | Заголовок страницы. | |
jajaxworkflow | true | Подключение libs/js/jsgantt/jsgantt.js, main/js/jquery.gantt.js. |
cardurl | Url для карточки объекта | |
jquery | true | Подключение jquery.js. |
jqueryui | true | Подключение jqueryui.js. |
jcontextmenu | true | Подключение contextmenu.js. |
adding | false | Возможность добавления записей |
editing | false | Возможность редактирования записей. |
copying | true | Возможность копирования записей. |
editing | false | Возможность редактирования записей. |
deleting | false | Возможность удаления записей. |
projectid | 0 | Код (Id) проекта. |
Описание методов
Пример использования класса приведен в модуле wCRM. Для отображение примера установите данный модуль и поместите на страницу код, приведенный ниже.
addHidden()
public function addHidden($name = '', $val = '')
Добавляет скрытое поле к форме.
$parser->addCss('main/styles/wad-er.css'); include_once('main/classes/gantt.class.php'); class wwfg extends wGantt { public function getXml($trans = 0) { $f = new wcrmpro_models_projects_project(); $f->id = $this->projectid; return $f->getGanttXml($trans); } } $w = new wwfg('wcrmp_tasks', 'wcrmp_tasks_deps'); $cat_id = 2; $w->projectid = $cat_id; $w->addHidden('cat_id', $cat_id); $w->show();
В результате работы этого примера в форме появляется дополнительный html-код:
< input id="cat_id" name="cat_id" value="$cat_id" type="hidden" >
addContextMenu()
public function addContextMenu($name = '',$action = '', $querystring = '', $to_end = true)
Добавление контекстного меню к элементу.
$parser->addCss('main/styles/wad-er.css'); include_once('main/classes/gantt.class.php'); class wwfg extends wGantt { public function getXml($trans = 0) { $f = new wcrmpro_models_projects_project(); $f->id = $this->projectid; return $f->getGanttXml($trans); } } $w = new wwfg('wcrmp_tasks', 'wcrmp_tasks_deps'); $cat_id = 2; $w->projectid = $cat_id; $name = 'insert'; $action = 'insert'; $querystring = ''; $w->addContextMenu($name,$action, $querystring); $w->show();
getXml()
public function getXml($trans = 0)
Получение данных для диаграммы в xml-формате. Абстрактный метод, который должен переопределяться в дочернем классе.
include_once('main/classes/gantt.class.php'); class wwfg extends wGantt { public function getXml($trans = 0) { //… } } $w = new wwfg('wcrmp_tasks', 'wcrmp_tasks_deps'); //…
show()
public function show()
Отображение диаграммы.
$parser->addCss('main/styles/wad-er.css'); include_once('main/classes/gantt.class.php'); class wwfg extends wGantt { public function getXml($trans = 0) { $f = new wcrmpro_models_projects_project(); $f->id = $this->projectid; return $f->getGanttXml($trans); } } $w = new wwfg('wcrmp_tasks', 'wcrmp_tasks_deps'); $cat_id = 2; $w->caption = 'Project'; $w->projectid = $cat_id; $name = 'insert'; $action = 'insert'; $querystring = ''; $w->addContextMenu($name,$action, $querystring); $w->cardurl = $parser->makeUrl('wcrmp_tasks_card'); $w->show();