Extract HTML from RteList::getTriggerRow method

Signed-off-by: Maurício Meneghini Fauth <mauricio@fauth.dev>
This commit is contained in:
Maurício Meneghini Fauth 2020-04-08 20:09:39 -03:00
parent 59b97640bc
commit 6239c2045e
2 changed files with 71 additions and 78 deletions

View File

@ -300,89 +300,22 @@ class RteList
* Creates the contents for a row in the list of triggers
*
* @param array $trigger An array of routine data
* @param string $rowclass Additional class
* @param string $rowClass Additional class
*
* @return string HTML code of a cell for the list of triggers
*/
public function getTriggerRow(array $trigger, $rowclass = '')
public function getTriggerRow(array $trigger, $rowClass = '')
{
global $db, $table, $titles;
global $db, $table;
$retval = " <tr class='" . $rowclass . "'>\n";
$retval .= " <td>\n";
$retval .= ' <input type="checkbox"'
. ' class="checkall" name="item_name[]"'
. ' value="' . htmlspecialchars($trigger['name']) . '">';
$retval .= " </td>\n";
$retval .= " <td>\n";
$retval .= " <span class='drop_sql hide'>"
. htmlspecialchars($trigger['drop']) . "</span>\n";
$retval .= " <strong>\n";
$retval .= ' ' . htmlspecialchars($trigger['name']) . "\n";
$retval .= " </strong>\n";
$retval .= " </td>\n";
if (empty($table)) {
$retval .= " <td>\n";
$retval .= '<a href="'
. Url::getFromRoute('/database/triggers', [
'db' => $db,
'table' => $trigger['table'],
]) . '">'
. htmlspecialchars($trigger['table']) . '</a>';
$retval .= " </td>\n";
}
$retval .= " <td>\n";
if (Util::currentUserHasPrivilege('TRIGGER', $db, $table)) {
$retval .= ' <a class="ajax edit_anchor"'
. ' href="'
. Url::getFromRoute('/database/triggers', [
'db' => $db,
'table' => $table,
'edit_item' => 1,
'item_name' => $trigger['name'],
]) . '">' . $titles['Edit'] . "</a>\n";
} else {
$retval .= ' ' . $titles['NoEdit'] . "\n";
}
$retval .= " </td>\n";
$retval .= " <td>\n";
$retval .= ' <a class="ajax export_anchor"'
. ' href="'
. Url::getFromRoute('/database/triggers', [
'db' => $db,
'table' => $table,
'export_item' => 1,
'item_name' => $trigger['name'],
]) . '">' . $titles['Export'] . "</a>\n";
$retval .= " </td>\n";
$retval .= " <td>\n";
if (Util::currentUserHasPrivilege('TRIGGER', $db)) {
$retval .= Generator::linkOrButton(
Url::getFromRoute(
'/sql',
[
'db' => $db,
'table' => $table,
'sql_query' => $trigger['drop'],
'goto' => Url::getFromRoute('/database/triggers', ['db' => $db]),
]
),
$titles['Drop'],
['class' => 'ajax drop_anchor']
);
} else {
$retval .= ' ' . $titles['NoDrop'] . "\n";
}
$retval .= " </td>\n";
$retval .= " <td>\n";
$retval .= ' ' . $trigger['action_timing'] . "\n";
$retval .= " </td>\n";
$retval .= " <td>\n";
$retval .= ' ' . $trigger['event_manipulation'] . "\n";
$retval .= " </td>\n";
$retval .= " </tr>\n";
return $retval;
return $this->template->render('rte/triggers/row', [
'db' => $db,
'table' => $table,
'trigger' => $trigger,
'has_drop_privilege' => Util::currentUserHasPrivilege('TRIGGER', $db),
'has_edit_privilege' => Util::currentUserHasPrivilege('TRIGGER', $db, $table),
'row_class' => $rowClass,
]);
}
/**

View File

@ -0,0 +1,60 @@
<tr{% if row_class is not empty %} class="{{ row_class }}"{% endif %}>
<td>
<input type="checkbox" class="checkall" name="item_name[]" value="{{ trigger.name }}">
</td>
<td>
<span class='drop_sql hide'>{{ trigger.drop }}</span>
<strong>{{ trigger.name }}</strong>
</td>
{% if table is empty %}
<td>
<a href="{{ url('/table/triggers', {'db': db, 'table': trigger.table}) }}">{{ trigger.table }}</a>
</td>
{% endif %}
<td>
{% if has_edit_privilege %}
<a class="ajax edit_anchor" href="{{ url('/database/triggers', {
'db': db,
'table': table,
'edit_item': true,
'item_name': trigger.name
}) }}">
{{ get_icon('b_edit', 'Edit'|trans) }}
</a>
{% else %}
{{ get_icon('bd_edit', 'Edit'|trans) }}
{% endif %}
</td>
<td>
<a class="ajax export_anchor" href="{{ url('/database/triggers', {
'db': db,
'table': table,
'export_item': true,
'item_name': trigger.name
}) }}">
{{ get_icon('b_export', 'Export'|trans) }}
</a>
</td>
<td>
{% if has_drop_privilege %}
{{ link_or_button(
url('/sql', {
'db': db,
'table': table,
'sql_query': trigger.drop,
'goto': url('/database/triggers', {'db': db})
}),
get_icon('b_drop', 'Drop'|trans),
{'class': 'ajax drop_anchor'}
) }}
{% else %}
{{ get_icon('bd_drop', 'Drop'|trans) }}
{% endif %}
</td>
<td>
{{ trigger.action_timing }}
</td>
<td>
{{ trigger.event_manipulation }}
</td>
</tr>