/** * Add default delete button * * @param string $link * @param array $binds * @param array $attr * @return \FrenchFrogs\Table\Column\Button */ public function addButtonDelete($link = '#', $binds = [], $is_remote = true, $method = 'delete') { $c = new Column\Button(configurator()->get('button.delete.name'), configurator()->get('button.delete.label'), $link, $binds); $c->setOptionAsDanger(); $c->icon(configurator()->get('button.delete.icon')); if ($is_remote) { $c->enableRemote($method); } $this->addColumn($c); return $c; }
/** * Render a button * * @param \FrenchFrogs\Table\Column\Button $column * @param array $row * @return mixed */ public function button(Column\Button $column, array $row) { if ($column->hasOption()) { $column->addClass(constant(Style::class . '::' . $column->getOption())); } if ($column->hasSize()) { $column->addClass(constant(Style::class . '::' . $column->getSize())); } $column->addClass(Style::BUTTON_CLASS); $column->addAttribute('href', $column->getBindedLink($row)); $label = ''; if ($column->hasIcon()) { $label .= html('i', ['class' => $column->getIcon()]); $label .= PHP_EOL; } $name = $column->getBindedLabel($row); if ($column->isIconOnly()) { $column->addClass('ff-tooltip-left'); } else { $label .= $name; } if ($column->isRemote()) { $column->addAttribute('data-target', '#' . $column->getRemoteId())->addClass('modal-remote'); } elseif ($column->isCallback()) { $column->addClass('callback-remote'); } $column->addAttribute('title', $name); $html = html('a', $column->getAttributes(), $label); $column->clearClasses()->center(); return $html; }