Класс 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();