public function setup_grid() { if ($this->_datatype == 'local') { $this->_grid->prepend_js($this->_convert_to_localdata()); $this->_grid->set_option('data', $this->_grid->get_identifier() . '_entries', false); if (null === $this->_get_grid_option('rowNum')) { $this->_grid->set_option('rowNum', $this->count_rows()); } } }
$grid_id = 'hours_week'; $time = $data['week_start']; $date_columns = array(); $grid = new org_openpsa_widgets_grid($grid_id, 'local'); $grid->set_column('task', $data['l10n']->get('task'), '', 'string')->set_column('person', $data['l10n']->get('person')); $date_tooltips = array(); $i = 4; while ($time < $data['week_end']) { $date_identifier = date('Y-m-d', $time); $grid->set_column($date_identifier, strftime('%a', $time), 'fixed: true, width: 40, formatter: "number", formatoptions: {defaultValue: ""}, sorttype: "float", summaryType: calculate_subtotal, align: "right"'); // Hop to next day $date_columns[] = $date_identifier; $date_tooltips[$i++] = date($data['l10n_midcom']->get('short date'), $time); $time = $time + 3600 * 24; } $grid->set_option('footerrow', true)->set_option('grouping', true)->set_option('groupingView', array('groupField' => array('task'), 'groupColumnShow' => array(false), 'groupText' => array('<strong>{0}</strong> ({1})'), 'groupOrder' => array('asc'), 'groupSummary' => array(true), 'showSummaryOnHide' => true)); ?> <div class="area"> <?php $data['qf']->render(); echo midcom::get('i18n')->get_string('group by', 'org.openpsa.core') . ': '; echo '<select id="chgrouping_' . $grid_id . '">'; echo '<option value="task">' . $data['l10n']->get('task') . "</option>\n"; echo '<option value="person">' . $data['l10n']->get('person') . "</option>\n"; echo '<option value="clear">' . midcom::get('i18n')->get_string('no grouping', 'org.openpsa.core') . "</option>\n"; echo '</select>'; ?> </div> <script type="text/javascript"> var &(grid_id);_grouping = "task";