mirror of
https://github.com/arcan1s/ahriman.git
synced 2025-09-09 18:29:55 +00:00
Compare commits
1 Commits
7d32bc1217
...
808c4e5b1f
Author | SHA1 | Date | |
---|---|---|---|
808c4e5b1f |
@ -80,7 +80,8 @@
|
|||||||
data-classes="table table-hover"
|
data-classes="table table-hover"
|
||||||
data-sortable="true"
|
data-sortable="true"
|
||||||
data-sort-name="timestamp"
|
data-sort-name="timestamp"
|
||||||
data-sort-order="desc">
|
data-sort-order="desc"
|
||||||
|
data-toggle="table">
|
||||||
<thead class="table-primary">
|
<thead class="table-primary">
|
||||||
<tr>
|
<tr>
|
||||||
<th data-align="right" data-field="timestamp">date</th>
|
<th data-align="right" data-field="timestamp">date</th>
|
||||||
@ -508,8 +509,6 @@
|
|||||||
}
|
}
|
||||||
|
|
||||||
ready(_ => {
|
ready(_ => {
|
||||||
packageInfoEventsTable.bootstrapTable({});
|
|
||||||
|
|
||||||
packageInfoEventsUpdateChart = new Chart(packageInfoEventsUpdateChartCanvas, {
|
packageInfoEventsUpdateChart = new Chart(packageInfoEventsUpdateChartCanvas, {
|
||||||
type: "line",
|
type: "line",
|
||||||
data: {},
|
data: {},
|
||||||
@ -541,6 +540,16 @@
|
|||||||
packageInfoAutoReloadTask = null; // not really required (?) but lets clear everything
|
packageInfoAutoReloadTask = null; // not really required (?) but lets clear everything
|
||||||
});
|
});
|
||||||
|
|
||||||
restoreAutoReloadSettings(packageInfoAutoReloadButton, packageInfoAutoReloadInput);
|
// set refresh interval
|
||||||
|
for (let refreshEnabled = Cookies.get(`ahriman-${packageInfoAutoReloadButton.id}-refresh-enabled`);
|
||||||
|
!!refreshEnabled;
|
||||||
|
refreshEnabled = undefined) {
|
||||||
|
packageInfoAutoReloadButton.checked = refreshEnabled === "true";
|
||||||
|
}
|
||||||
|
for (let refreshInterval = Cookies.get(`ahriman-${packageInfoAutoReloadButton.id}-refresh-interval`);
|
||||||
|
!!refreshInterval;
|
||||||
|
refreshInterval = undefined) {
|
||||||
|
toggleActiveElement(packageInfoAutoReloadInput, "interval", refreshInterval);
|
||||||
|
}
|
||||||
});
|
});
|
||||||
</script>
|
</script>
|
||||||
|
@ -315,7 +315,17 @@
|
|||||||
onUncheckAll: onCheckFunction,
|
onUncheckAll: onCheckFunction,
|
||||||
});
|
});
|
||||||
|
|
||||||
restoreAutoReloadSettings(tableAutoReloadButton, tableAutoReloadInput);
|
// set refresh interval
|
||||||
|
for (let refreshEnabled = Cookies.get(`ahriman-${tableAutoReloadButton.id}-refresh-enabled`);
|
||||||
|
!!refreshEnabled;
|
||||||
|
refreshEnabled = undefined) {
|
||||||
|
tableAutoReloadButton.checked = refreshEnabled === "true";
|
||||||
|
}
|
||||||
|
for (let refreshInterval = Cookies.get(`ahriman-${tableAutoReloadButton.id}-refresh-interval`);
|
||||||
|
!!refreshInterval;
|
||||||
|
refreshInterval = undefined) {
|
||||||
|
toggleActiveElement(tableAutoReloadInput, "interval", refreshInterval);
|
||||||
|
}
|
||||||
|
|
||||||
selectRepository();
|
selectRepository();
|
||||||
{% if autorefresh_intervals %}
|
{% if autorefresh_intervals %}
|
||||||
|
@ -53,7 +53,8 @@ SigLevel = Database{% if has_repo_signed %}Required{% else %}Never{% endif %} Pa
|
|||||||
data-show-search-clear-button="true"
|
data-show-search-clear-button="true"
|
||||||
data-sortable="true"
|
data-sortable="true"
|
||||||
data-sort-name="base"
|
data-sort-name="base"
|
||||||
data-sort-order="asc">
|
data-sort-order="asc"
|
||||||
|
data-toggle="table">
|
||||||
<thead class="table-primary">
|
<thead class="table-primary">
|
||||||
<tr>
|
<tr>
|
||||||
<th data-sortable="true" data-switchable="false" data-field="name" data-filter-control="input" data-filter-control-placeholder="(any package)">package</th>
|
<th data-sortable="true" data-switchable="false" data-field="name" data-filter-control="input" data-filter-control-placeholder="(any package)">package</th>
|
||||||
@ -127,8 +128,7 @@ SigLevel = Database{% if has_repo_signed %}Required{% else %}Never{% endif %} Pa
|
|||||||
}
|
}
|
||||||
|
|
||||||
ready(_ => {
|
ready(_ => {
|
||||||
table.bootstrapTable({
|
table.on("created-controls.bs.table", _ => {
|
||||||
onCreatedControls: _ => {
|
|
||||||
new easepick.create({
|
new easepick.create({
|
||||||
element: document.querySelector(".bootstrap-table-filter-control-timestamp"),
|
element: document.querySelector(".bootstrap-table-filter-control-timestamp"),
|
||||||
css: [
|
css: [
|
||||||
@ -158,7 +158,6 @@ SigLevel = Database{% if has_repo_signed %}Required{% else %}Never{% endif %} Pa
|
|||||||
};
|
};
|
||||||
},
|
},
|
||||||
});
|
});
|
||||||
},
|
|
||||||
});
|
});
|
||||||
});
|
});
|
||||||
</script>
|
</script>
|
||||||
|
@ -120,19 +120,6 @@
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
function restoreAutoReloadSettings(toggle, intervalSelector) {
|
|
||||||
for (let refreshEnabled = Cookies.get(`ahriman-${toggle.id}-refresh-enabled`);
|
|
||||||
!!refreshEnabled;
|
|
||||||
refreshEnabled = undefined) {
|
|
||||||
toggle.checked = refreshEnabled === "true";
|
|
||||||
}
|
|
||||||
for (let refreshInterval = Cookies.get(`ahriman-${toggle.id}-refresh-interval`);
|
|
||||||
!!refreshInterval;
|
|
||||||
refreshInterval = undefined) {
|
|
||||||
toggleActiveElement(intervalSelector, "interval", refreshInterval);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
function safe(string) {
|
function safe(string) {
|
||||||
return String(string)
|
return String(string)
|
||||||
.replace(/&/g, "&")
|
.replace(/&/g, "&")
|
||||||
@ -152,18 +139,6 @@
|
|||||||
return element;
|
return element;
|
||||||
}
|
}
|
||||||
|
|
||||||
function toggleActiveElement(selector, dataType, value) {
|
|
||||||
const targetElement = selector.querySelector(`a[data-${dataType}="${value}"]`);
|
|
||||||
if (targetElement?.classList?.contains("active")) {
|
|
||||||
return; // element is already active, skip processing
|
|
||||||
}
|
|
||||||
|
|
||||||
Array.from(selector.children).forEach(il => {
|
|
||||||
Array.from(il.children).forEach(el => el.classList.remove("active"));
|
|
||||||
});
|
|
||||||
targetElement?.classList?.add("active");
|
|
||||||
}
|
|
||||||
|
|
||||||
function toggleAutoReload(toggle, interval, intervalSelector, callback) {
|
function toggleAutoReload(toggle, interval, intervalSelector, callback) {
|
||||||
if (interval) {
|
if (interval) {
|
||||||
toggle.checked = true; // toggle reload
|
toggle.checked = true; // toggle reload
|
||||||
@ -188,6 +163,13 @@
|
|||||||
return intervalId;
|
return intervalId;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
function toggleActiveElement(selector, dataType, value) {
|
||||||
|
Array.from(selector.children).forEach(il => {
|
||||||
|
Array.from(il.children).forEach(el => el.classList.remove("active"));
|
||||||
|
});
|
||||||
|
selector.querySelector(`a[data-${dataType}="${value}"]`)?.classList?.add("active");
|
||||||
|
}
|
||||||
|
|
||||||
Date.prototype.toISOStringShort = function() {
|
Date.prototype.toISOStringShort = function() {
|
||||||
const pad = number => String(number).padStart(2, "0");
|
const pad = number => String(number).padStart(2, "0");
|
||||||
return `${this.getFullYear()}-${pad(this.getMonth() + 1)}-${pad(this.getDate())} ${pad(this.getHours())}:${pad(this.getMinutes())}:${pad(this.getSeconds())}`;
|
return `${this.getFullYear()}-${pad(this.getMonth() + 1)}-${pad(this.getDate())} ${pad(this.getHours())}:${pad(this.getMinutes())}:${pad(this.getSeconds())}`;
|
||||||
|
@ -72,7 +72,7 @@ def _create_socket(configuration: Configuration, application: Application) -> so
|
|||||||
async def remove_socket(_: Application) -> None:
|
async def remove_socket(_: Application) -> None:
|
||||||
unix_socket.unlink(missing_ok=True)
|
unix_socket.unlink(missing_ok=True)
|
||||||
|
|
||||||
application.on_shutdown.append(remove_socket) # type: ignore[arg-type]
|
application.on_shutdown.append(remove_socket)
|
||||||
|
|
||||||
return sock
|
return sock
|
||||||
|
|
||||||
@ -142,8 +142,8 @@ def setup_server(configuration: Configuration, spawner: Spawn, repositories: lis
|
|||||||
InitializeError: if no repositories set
|
InitializeError: if no repositories set
|
||||||
"""
|
"""
|
||||||
application = Application(logger=logging.getLogger(__name__))
|
application = Application(logger=logging.getLogger(__name__))
|
||||||
application.on_shutdown.append(_on_shutdown) # type: ignore[arg-type]
|
application.on_shutdown.append(_on_shutdown)
|
||||||
application.on_startup.append(_on_startup) # type: ignore[arg-type]
|
application.on_startup.append(_on_startup)
|
||||||
|
|
||||||
application.middlewares.append(normalize_path_middleware(append_slash=False, remove_slash=True))
|
application.middlewares.append(normalize_path_middleware(append_slash=False, remove_slash=True))
|
||||||
application.middlewares.append(exception_handler(application.logger))
|
application.middlewares.append(exception_handler(application.logger))
|
||||||
|
Reference in New Issue
Block a user