github.com/kyleu/dbaudit@v0.0.2-0.20240321155047-ff2f2c940496/views/vstatement/Table.html (about)

     1  <!-- Content managed by Project Forge, see [projectforge.md] for details. -->
     2  {% import (
     3    "github.com/kyleu/dbaudit/app"
     4    "github.com/kyleu/dbaudit/app/controller/cutil"
     5    "github.com/kyleu/dbaudit/app/lib/filter"
     6    "github.com/kyleu/dbaudit/app/statement"
     7    "github.com/kyleu/dbaudit/views/components"
     8    "github.com/kyleu/dbaudit/views/components/view"
     9  ) %}
    10  
    11  {% func Table(models statement.Statements, params filter.ParamSet, as *app.State, ps *cutil.PageState) %}
    12    {%- code prms := params.Get("statement", nil, ps.Logger).Sanitize("statement") -%}
    13    <table>
    14      <thead>
    15        <tr>
    16          {%= components.TableHeaderSimple("statement", "id", "ID", "UUID in format (00000000-0000-0000-0000-000000000000)", prms, ps.URI, ps) %}
    17          {%= components.TableHeaderSimple("statement", "session_id", "Session ID", "Integer", prms, ps.URI, ps) %}
    18          {%= components.TableHeaderSimple("statement", "action", "Action", statement.AllActions.Help(), prms, ps.URI, ps) %}
    19          {%= components.TableHeaderSimple("statement", "succeeded", "Succeeded", "Value [true] or [false]", prms, ps.URI, ps) %}
    20          {%= components.TableHeaderSimple("statement", "principal", "Principal", "String text", prms, ps.URI, ps) %}
    21          {%= components.TableHeaderSimple("statement", "database", "Database", "String text", prms, ps.URI, ps) %}
    22          {%= components.TableHeaderSimple("statement", "transaction_id", "Transaction ID", "Integer", prms, ps.URI, ps) %}
    23          {%= components.TableHeaderSimple("statement", "duration", "Duration", "Integer", prms, ps.URI, ps) %}
    24          {%= components.TableHeaderSimple("statement", "rows_affected", "Rows Affected", "Integer", prms, ps.URI, ps) %}
    25          {%= components.TableHeaderSimple("statement", "rows_returned", "Rows Returned", "Integer", prms, ps.URI, ps) %}
    26          {%= components.TableHeaderSimple("statement", "occurred", "Occurred", "Date and time, in almost any format", prms, ps.URI, ps) %}
    27        </tr>
    28      </thead>
    29      <tbody>
    30        {%- for _, model := range models -%}
    31        <tr>
    32          <td><a href="/statement/{%= view.UUID(&model.ID) %}">{%= view.UUID(&model.ID) %}</a></td>
    33          <td>{%d model.SessionID %}</td>
    34          <td>{%s model.Action.String() %}</td>
    35          <td>{%v model.Succeeded %}</td>
    36          <td>{%= view.String(model.Principal) %}</td>
    37          <td>{%= view.String(model.Database) %}</td>
    38          <td>{%d model.TransactionID %}</td>
    39          <td>{%d model.Duration %}</td>
    40          <td>{%d model.RowsAffected %}</td>
    41          <td>{%d model.RowsReturned %}</td>
    42          <td>{%= view.Timestamp(&model.Occurred) %}</td>
    43        </tr>
    44        {%- endfor -%}
    45        {%- if prms.HasNextPage(len(models) + prms.Offset) || prms.HasPreviousPage() -%}
    46        <tr>
    47          <td colspan="11">{%= components.Pagination(len(models) + prms.Offset, prms, ps.URI) %}</td>
    48        </tr>
    49        {%- endif -%}
    50      </tbody>
    51    </table>
    52  {% endfunc %}