Implement searching different indexes
This commit is contained in:
@@ -1,94 +0,0 @@
|
||||
<div id="alerts">
|
||||
{% include 'manage/threshold/partials/notify.html' %}
|
||||
{% if alerts is not None %}
|
||||
<div class="icons">
|
||||
<button
|
||||
class="button is-small">
|
||||
<span class="icon" data-tooltip="Conn">
|
||||
<i class="fa-solid fa-cloud-exclamation"></i>
|
||||
</span>
|
||||
</button>
|
||||
<button
|
||||
class="button is-small">
|
||||
<span class="icon" data-tooltip="Highlight">
|
||||
<i class="fa-solid fa-square-quote"></i>
|
||||
</span>
|
||||
</button>
|
||||
|
||||
<button
|
||||
class="button is-small">
|
||||
<span class="icon" data-tooltip="ZNC">
|
||||
<i class="fa-brands fa-unity"></i>
|
||||
</span>
|
||||
</button>
|
||||
|
||||
<button
|
||||
class="button is-small">
|
||||
<span class="icon" data-tooltip="Query">
|
||||
<i class="fa-solid fa-inbox"></i>
|
||||
</span>
|
||||
</button>
|
||||
|
||||
<button class="button is-small">
|
||||
<span class="icon" data-tooltip="Self">
|
||||
<i class="fa-solid fa-message-bot"></i>
|
||||
</span>
|
||||
</button>
|
||||
|
||||
</div>
|
||||
<div class="content" style="max-height: 30em; overflow: auto;">
|
||||
|
||||
<div class="table-container">
|
||||
<table class="table is-fullwidth is-hoverable">
|
||||
<thead>
|
||||
<th>ts</th>
|
||||
<th>name</th>
|
||||
<th>type</th>
|
||||
<th>msg</th>
|
||||
</thead>
|
||||
<tbody>
|
||||
{% for alert in alerts %}
|
||||
<tr>
|
||||
<td>
|
||||
<p>{{ alert.date }}</p>
|
||||
<p>{{ alert.time }}</p>
|
||||
</td>
|
||||
<td>
|
||||
{{ alert.net }}/{{ alert.num }}
|
||||
</td>
|
||||
<td>
|
||||
{% if alert.type == 'conn' %}
|
||||
<span class="icon" data-tooltip="Conn">
|
||||
<i class="fa-solid fa-cloud-exclamation"></i>
|
||||
</span>
|
||||
{% elif alert.type == 'highlight' %}
|
||||
<span class="icon" data-tooltip="Highlight">
|
||||
<i class="fa-solid fa-square-quote"></i>
|
||||
</span>
|
||||
{% elif alert.type == 'znc' %}
|
||||
<span class="icon" data-tooltip="ZNC">
|
||||
<i class="fa-brands fa-unity"></i>
|
||||
</span>
|
||||
{% elif alert.type == 'query' %}
|
||||
<span class="icon" data-tooltip="Query">
|
||||
<i class="fa-solid fa-inbox"></i>
|
||||
</span>
|
||||
{% elif alert.type == 'self' %}
|
||||
<span class="icon" data-tooltip="Self">
|
||||
<i class="fa-solid fa-message-bot"></i>
|
||||
</span>
|
||||
{% else %}
|
||||
{{ alert.type }}
|
||||
{% endif %}
|
||||
</td>
|
||||
<td class="wrap" style="max-width: 10em">
|
||||
{{ alert.msg }}
|
||||
</td>
|
||||
</tr>
|
||||
{% endfor %}
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
</div>
|
||||
{% endif %}
|
||||
</div>
|
||||
@@ -37,15 +37,6 @@
|
||||
hx-swap="outerHTML">
|
||||
</div>
|
||||
|
||||
<div
|
||||
style="display: none;"
|
||||
hx-headers='{"X-CSRFToken": "{{ csrf_token }}"}'
|
||||
hx-get="{% url 'threshold_irc_overview_alerts' %}"
|
||||
hx-trigger="load"
|
||||
hx-target="#alerts"
|
||||
hx-swap="outerHTML">
|
||||
</div>
|
||||
|
||||
<div class="columns">
|
||||
<div class="column">
|
||||
<div class="box">
|
||||
@@ -71,6 +62,7 @@
|
||||
<div class="column">
|
||||
<div class="box">
|
||||
<div id="alerts">
|
||||
Alerts here
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
@@ -351,6 +351,44 @@
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="column is-narrow">
|
||||
<div class="field has-addons">
|
||||
<div class="control has-icons-left">
|
||||
<span class="select is-warning">
|
||||
<select {% if not user.is_superuser %}disabled{% endif %} id="index" name="index">
|
||||
{% if params.index == 'main' %}
|
||||
<option selected value="main">Main</option>
|
||||
{% elif params.index == None %}
|
||||
<option selected value="main">Main</option>
|
||||
{% else %}
|
||||
<option value="main">Main</option>
|
||||
{% endif %}
|
||||
|
||||
{% if params.index == 'int' %}
|
||||
<option selected value="int">Internal</option>
|
||||
{% else %}
|
||||
<option value="int">Internal</option>
|
||||
{% endif %}
|
||||
|
||||
{% if params.index == 'meta' %}
|
||||
<option selected value="meta">Meta</option>
|
||||
{% else %}
|
||||
<option value="meta">Meta</option>
|
||||
{% endif %}
|
||||
|
||||
</select>
|
||||
<span class="icon is-small is-left">
|
||||
<i class="fas fa-magnifying-glass"></i>
|
||||
</span>
|
||||
</span>
|
||||
</div>
|
||||
<p class="control">
|
||||
<a class="button is-static">
|
||||
index
|
||||
</a>
|
||||
</p>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="is-hidden"></div>
|
||||
|
||||
@@ -109,7 +109,14 @@
|
||||
<tbody {{ table.attrs.tbody.as_html }}>
|
||||
{% for row in table.paginated_rows %}
|
||||
{% block table.tbody.row %}
|
||||
<tr class="{% if row.cells.exemption == True %}has-background-grey-lighter{% elif row.cells.type == 'join' %}has-background-success-light{% elif row.cells.type == 'quit' %}has-background-danger-light{% elif row.cells.type == 'kick' %}has-background-danger-light{% elif row.cells.type == 'part' %}has-background-warning-light{% elif row.cells.type == 'mode' %}has-background-info-light{% endif %}">
|
||||
<tr class="
|
||||
{% if row.cells.exemption == True %}has-background-grey-lighter
|
||||
{% elif cell == 'join' %}has-background-success-light
|
||||
{% elif cell == 'quit' %}has-background-danger-light
|
||||
{% elif cell == 'kick' %}has-background-danger-light
|
||||
{% elif cell == 'part' %}has-background-warning-light
|
||||
{% elif cell == 'mode' %}has-background-info-light
|
||||
{% endif %}">
|
||||
{% for column, cell in row.items %}
|
||||
{% if column.name in show %}
|
||||
{% block table.tbody.td %}
|
||||
@@ -139,56 +146,73 @@
|
||||
<p>{{ row.cells.date }}</p>
|
||||
<p>{{ row.cells.time }}</p>
|
||||
</td>
|
||||
{% elif column.name == 'type' %}
|
||||
{% elif column.name == 'type' or column.name == 'mtype' %}
|
||||
<td class="{{ column.name }}">
|
||||
<a class="has-text-link is-underlined"
|
||||
onclick="populateSearch('type', '{{ cell|escapejs }}')">
|
||||
{% if row.cells.type == 'msg' %}
|
||||
onclick="populateSearch('{{ column.name }}', '{{ cell|escapejs }}')">
|
||||
{% if cell == 'msg' %}
|
||||
<span class="icon" data-tooltip="Message">
|
||||
<i class="fa-solid fa-message"></i>
|
||||
</span>
|
||||
{% elif row.cells.type == 'join' %}
|
||||
{% elif cell == 'join' %}
|
||||
<span class="icon" data-tooltip="Join">
|
||||
<i class="fa-solid fa-person-to-portal"></i>
|
||||
</span>
|
||||
{% elif row.cells.type == 'part' %}
|
||||
{% elif cell == 'part' %}
|
||||
<span class="icon" data-tooltip="Part">
|
||||
<i class="fa-solid fa-person-from-portal"></i>
|
||||
</span>
|
||||
{% elif row.cells.type == 'quit' %}
|
||||
{% elif cell == 'quit' %}
|
||||
<span class="icon" data-tooltip="Quit">
|
||||
<i class="fa-solid fa-circle-xmark"></i>
|
||||
</span>
|
||||
{% elif row.cells.type == 'kick' %}
|
||||
{% elif cell == 'kick' %}
|
||||
<span class="icon" data-tooltip="Kick">
|
||||
<i class="fa-solid fa-user-slash"></i>
|
||||
</span>
|
||||
{% elif row.cells.type == 'nick' %}
|
||||
{% elif cell == 'nick' %}
|
||||
<span class="icon" data-tooltip="Nick">
|
||||
<i class="fa-solid fa-signature"></i>
|
||||
</span>
|
||||
{% elif row.cells.type == 'mode' %}
|
||||
{% elif cell == 'mode' %}
|
||||
<span class="icon" data-tooltip="Mode">
|
||||
<i class="fa-solid fa-gear"></i>
|
||||
</span>
|
||||
{% elif row.cells.type == 'action' %}
|
||||
{% elif cell == 'action' %}
|
||||
<span class="icon" data-tooltip="Action">
|
||||
<i class="fa-solid fa-exclamation"></i>
|
||||
</span>
|
||||
{% elif cell == 'notice' %}
|
||||
<span class="icon" data-tooltip="Notice">
|
||||
<i class="fa-solid fa-message-code"></i>
|
||||
</span>
|
||||
{% elif cell == 'conn' %}
|
||||
<span class="icon" data-tooltip="Connection">
|
||||
<i class="fa-solid fa-cloud-exclamation"></i>
|
||||
</span>
|
||||
{% elif cell == 'znc' %}
|
||||
<span class="icon" data-tooltip="ZNC">
|
||||
<i class="fa-brands fa-unity"></i>
|
||||
</span>
|
||||
{% elif cell == 'query' %}
|
||||
<span class="icon" data-tooltip="Query">
|
||||
<i class="fa-solid fa-message"></i>
|
||||
</span>
|
||||
{% elif cell == 'highlight' %}
|
||||
<span class="icon" data-tooltip="Highlight">
|
||||
<i class="fa-solid fa-exclamation"></i>
|
||||
</span>
|
||||
{% elif cell == 'who' %}
|
||||
<span class="icon" data-tooltip="Who">
|
||||
<i class="fa-solid fa-passport"></i>
|
||||
</span>
|
||||
{% else %}
|
||||
{{ row.cells.type }}
|
||||
{{ cell }}
|
||||
{% endif %}
|
||||
</a>
|
||||
</td>
|
||||
{% elif column.name == 'msg' %}
|
||||
<td class="{{ column.name }} wrap" style="max-width: 10em">{{ row.cells.msg }}</td>
|
||||
{% elif column.name == 'host' %}
|
||||
<td class="{{ column.name }}">
|
||||
<a class="has-text-link is-underlined"
|
||||
onclick="populateSearch('host', '{{ cell|escapejs }}')">
|
||||
{{ cell }}
|
||||
</a>
|
||||
</td>
|
||||
{% elif column.name == 'nick' %}
|
||||
<td class="{{ column.name }}">
|
||||
<div class="nowrap-parent">
|
||||
@@ -252,34 +276,6 @@
|
||||
{{ cell }}
|
||||
{% endif %}
|
||||
</td>
|
||||
{% elif column.name == 'net' %}
|
||||
<td class="{{ column.name }}">
|
||||
<a class="has-text-link is-underlined"
|
||||
onclick="populateSearch('net', '{{ cell|escapejs }}')">
|
||||
{{ cell }}
|
||||
</a>
|
||||
</td>
|
||||
{% elif column.name == 'nick_id' %}
|
||||
<td class="{{ column.name }}">
|
||||
<a class="has-text-link is-underlined"
|
||||
onclick="populateSearch('nick_id', '{{ cell|escapejs }}')">
|
||||
{{ cell }}
|
||||
</a>
|
||||
</td>
|
||||
{% elif column.name == 'user_id' %}
|
||||
<td class="{{ column.name }}">
|
||||
<a class="has-text-link is-underlined"
|
||||
onclick="populateSearch('user_id', '{{ cell|escapejs }}')">
|
||||
{{ cell }}
|
||||
</a>
|
||||
</td>
|
||||
{% elif column.name == 'channel_id' %}
|
||||
<td class="{{ column.name }}">
|
||||
<a class="has-text-link is-underlined"
|
||||
onclick="populateSearch('channel_id', '{{ cell|escapejs }}')">
|
||||
{{ cell }}
|
||||
</a>
|
||||
</td>
|
||||
{% elif cell is True or cell is False %}
|
||||
<td class="{{ column.name }}">
|
||||
{% if cell is True %}
|
||||
@@ -294,7 +290,10 @@
|
||||
</td>
|
||||
{% else %}
|
||||
<td class="{{ column.name }}">
|
||||
{{ cell }}
|
||||
<a class="has-text-link is-underlined"
|
||||
onclick="populateSearch('{{ column.name }}', '{{ cell|escapejs }}')">
|
||||
{{ cell }}
|
||||
</a>
|
||||
</td>
|
||||
{% endif %}
|
||||
{% endblock table.tbody.td %}
|
||||
|
||||
Reference in New Issue
Block a user