/** * Return the HTML markup for dynamic table * * @brief Get the HTML markup for dynamic table * * @return string */ public function draw() { WPDKHTML::startCompress(); ?> <table id="<?php printf('wpdk-dynamic-table-%s', $this->id); ?> " class="wpdk-dynamic-table <?php echo $this->sortable ? 'wpdk-dynamic-table-sortable' : ''; ?> " <?php echo $this->sortable ? 'data-sortable="true"' : ''; ?> cellspacing="0" cellpadding="0" border="0"> <!-- Columns --> <thead> <?php $index = 0; foreach ($this->_columns() as $column_key => $column) { ?> <?php if (self::COLUMN_ROW_MANAGE != $column_key) { ?> <th <?php echo true == $this->sortable && empty($index) ? 'colspan="2"' : ''; ?> class="wpdk-dynamic-table-column-<?php echo $column_key; ?> "> <?php echo $column['_label']; $index++; ?> </th> <?php } ?> <?php } ?> </thead> <tbody> <!-- This row is used for clone --> <tr class="wpdk-dt-clone"> <?php $index = 0; foreach ($this->_columns() as $column_key => $column) { ?> <?php if (self::COLUMN_ROW_MANAGE == $column_key) { ?> <td class="<?php echo $column_key; ?> "> <?php echo $this->buttonAdd(); ?> <span class="wpdk-dt-clone delete"><?php echo $this->buttonDelete(); ?> </span> </td> <?php } else { ?> <?php if ($this->sortable && empty($index)) { ?> <td><?php WPDKGlyphIcons::display(WPDKGlyphIcons::MENU); ?> </td> <?php } ?> <td class="wpdk-dynamic-table-cel-<?php echo $column_key; ?> "> <?php echo WPDKUIControlsLayout::item($column); $index++; ?> </td> <?php } ?> <?php } ?> </tr> <!-- Main Body --> <?php foreach ($this->items() as $item) { ?> <tr> <?php $index = 0; foreach ($this->_columns() as $column_key => $column) { $column['value'] = isset($item[$column_key]) ? $item[$column_key] : ''; ?> <?php if (self::COLUMN_ROW_MANAGE == $column_key) { ?> <td class="<?php echo $column_key; ?> "> <?php echo $this->buttonDelete(); ?> </td> <?php } else { ?> <?php if ($this->sortable && empty($index)) { ?> <td><?php WPDKGlyphIcons::display(WPDKGlyphIcons::MENU); ?> </td> <?php } ?> <td class="wpdk-dynamic-table-cel-<?php echo $column_key; ?> "> <?php echo WPDKUIControlsLayout::item($column); $index++; ?> </td> <?php } ?> <?php } ?> </tr> <?php } ?> <!-- Extra last child row --> <tr> <?php $index = 0; foreach ($this->_columns() as $column_key => $column) { ?> <?php if (self::COLUMN_ROW_MANAGE == $column_key) { ?> <td class="<?php echo $column_key; ?> "> <?php echo $this->buttonAdd(); ?> <span class="wpdk-dt-clone delete"><?php echo $this->buttonDelete(); ?> </span> </td> <?php } else { ?> <?php if ($this->sortable && empty($index)) { ?> <td><?php WPDKGlyphIcons::display(WPDKGlyphIcons::MENU); ?> </td> <?php } ?> <td class="wpdk-dynamic-table-cel-<?php echo $column_key; ?> "> <?php echo WPDKUIControlsLayout::item($column); $index++; ?> </td> <?php } ?> <?php } ?> </tr> </tbody> <?php if (1 == 0) { ?> <!-- Footer --> <tfoot> <tr> <?php $index = 0; foreach ($this->_columns() as $column_key => $column) { ?> <?php if (self::COLUMN_ROW_MANAGE != $column_key) { ?> <td <?php echo true == $this->sortable && empty($index) ? 'colspan="2"' : ''; ?> class="wpdk-dynamic-table-cel-<?php echo $column_key; ?> "></td> <?php } $index++; ?> <?php } ?> </tr> </tfoot> <?php } ?> </table> <?php echo WPDKHTML::endHTMLCompress(); }