Внимание! Данный способ будет работать только в браузерах, поддерживающих HTML5
С помощью javascript-модуля visualize, созданного Filament Group в TrackStudio можно строить графики четырех типов:- столбчатые диаграммы (bar)
- круговые диаграммы (pie)
- линейные графики (area и line)
Плагин работает достаточно просто: он визуализирует по определенным правилам данные, представленные в html-таблице. Наша задача сводится к формированию этой таблицы и указанию параметров отрисовки.
Для примера построим столбчатую диаграмму отработанных часов пользователей, занятых в проекте (BarChart.java):
Этот скрипт собирает список пользователей, у которых есть доступ к проекту и возможность указывать потреченное время, и строит для них диаграмму распределения потраченного времени.
Также построим круговую диаграмму распределения задач в зависимости от состояния (PieChart.java):
И, наконец, график работы разработчиков над проектом, на котором показано распределение рабочих часов по ходу проекта и рост общего количества потраченного времени: (AreaChart.java)
Этот скрипт автоматически масштабирует интервалы времени: сначала он считает количество дней от начала проекта до его последнего обновления. Если их оказывается больше 40 (число можно поменять), скрипт считает количество недель. Если и таких интервалов много - количество месяцев. Затем скрипт суммирует потраченное на проект время по интервалам и выводит график.
Графики выводятся с помощью вычисляемого дополнительного поля типа Memo (Тест), с включенным отображением в HTML.
- Создайте в папке webapps/TrackStudio/html вашего экземпляра TrackStudio папку visualize.
- Перепишите в нее файлы jquery.min.js и visualize.jQuery.js, приложенные к этой странице.
- Распакуйте архив task_custom_field_value.zip в папку etc/plugins/scripts/task_custom_field_value вашего экземпляра TrackStudio
- Запустите TrackStudio.
- В задаче, в которой вы хотите видеть графики, создайте дополнительное поле типа Memo с отображением в HTML. Название может быть любым. Поле также можно привязать к процессу (Workflow). Настройте права на это поле, чтобы оно показывалось только тем пользователям, которым разрешено видеть график.
- Сделайте это поле вычисляемым (установите соответствующую галку) и назначьте ему скрипт, формирующий график. Кеширование значений нужно отключить.
Полезные советы
Собственно график из таблицы строится с помощью вызова javascript:
<script> $('table').visualize(); </script>Просто так этот вызов использовать нельзя: плагин попробует отрисовать графики по всем таблицам на странице. Значит нужно указывать, какую именно таблицу отрисовывать:
<table id="piechartsource"> ... <script> $('table#piechartsource').visualize(); </script>
Заголовок графика берется из CAPTION таблицы. Метки - из ячеек TH.
Тип графика задается параметром type: 'bar', 'area', 'pie', 'line'. По-умолчанию выводится bar
<table id="piechartsource"> ... <script> $('table#piechartsource').visualize({type: 'area'}); </script>По-умолчанию график рисуется точно таких же размеров (ширина и высота), как и исходная таблица. Чтобы отрисовать график нужного вам типа в нужном вам масштабе, укажите параметры:
<table id="piechartsource"> ... <script> $('table#piechartsource').visualize({type: 'area', width: '800px', height: '600px'}); </script>
При отрисовке исходная таблица не скрывается. Чтобы ее скрыть, укажите для нее свойство display: none
<table id="piechartsource" style="display: none">> ... <script> $('table#piechartsource').visualize({type: 'area', width: '800px', height: '600px'}); </script>
Цвета отрисовки можно указать через параметр colors (это массив)
<table id="piechartsource" style="display: none">> ... <script> $('table#piechartsource').visualize({type: 'area', width: '800px', height: '600px', colors: ['#be1e2d','#666699','#92d5ea','#ee8310','#8d10ee','#5a3b16','#26a4ed','#f45a90','#e9e744']}); </script>
Вы также можете управлять стилями графика, редактируя соответствующие параметры стилей (они приведены в исходных кодах скриптов).
Комментариев нет:
Отправить комментарий