mirror of
https://github.com/arcan1s/ahriman.git
synced 2025-04-28 09:17:17 +00:00
split by classes
This commit is contained in:
parent
fb0673d566
commit
d1842bd028
@ -103,11 +103,14 @@
|
|||||||
{% include "build-status/login-modal.jinja2" %}
|
{% include "build-status/login-modal.jinja2" %}
|
||||||
{% endif %}
|
{% endif %}
|
||||||
|
|
||||||
{% include "build-status/package-modals.jinja2" %}
|
|
||||||
|
|
||||||
{% include "utils/bootstrap-scripts.jinja2" %}
|
{% include "utils/bootstrap-scripts.jinja2" %}
|
||||||
|
|
||||||
{% include "build-status/scripts.jinja2" %}
|
{% include "build-status/failed-modal.jinja2" %}
|
||||||
|
{% include "build-status/success-modal.jinja2" %}
|
||||||
|
|
||||||
|
{% include "build-status/package-add-modal.jinja2" %}
|
||||||
|
|
||||||
|
{% include "build-status/table.jinja2" %}
|
||||||
|
|
||||||
</body>
|
</body>
|
||||||
|
|
||||||
|
@ -0,0 +1,28 @@
|
|||||||
|
<div id="failed-form" tabindex="-1" role="dialog" class="modal fade">
|
||||||
|
<div class="modal-dialog" role="document">
|
||||||
|
<div class="modal-content">
|
||||||
|
<div class="modal-header bg-danger">
|
||||||
|
<h4 class="modal-title">failed</h4>
|
||||||
|
<button type="button" class="btn-close" data-bs-dismiss="modal" aria-label="close"></button>
|
||||||
|
</div>
|
||||||
|
<div class="modal-body">
|
||||||
|
<p>Packages update has failed.</p>
|
||||||
|
<p id="error-details"></p>
|
||||||
|
</div>
|
||||||
|
<div class="modal-footer">
|
||||||
|
<button type="button" class="btn btn-primary" data-bs-dismiss="modal">close</button>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<script>
|
||||||
|
const failedForm = $("#failed-form");
|
||||||
|
const errorDetails = $("#error-details");
|
||||||
|
failedForm.on("hidden.bs.modal", () => { reload(); });
|
||||||
|
|
||||||
|
function showFailure(details) {
|
||||||
|
errorDetails.text(details);
|
||||||
|
failedForm.modal("show");
|
||||||
|
}
|
||||||
|
</script>
|
@ -26,4 +26,4 @@
|
|||||||
</form>
|
</form>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
@ -0,0 +1,62 @@
|
|||||||
|
<div id="add-form" tabindex="-1" role="dialog" class="modal fade">
|
||||||
|
<div class="modal-dialog" role="document">
|
||||||
|
<div class="modal-content">
|
||||||
|
<div class="modal-header">
|
||||||
|
<h4 class="modal-title">add new packages</h4>
|
||||||
|
<button type="button" class="btn-close" data-bs-dismiss="modal" aria-label="close"></button>
|
||||||
|
</div>
|
||||||
|
<div class="modal-body">
|
||||||
|
<div class="form-group row">
|
||||||
|
<label for="package" class="col-sm-2 col-form-label">package</label>
|
||||||
|
<div class="col-sm-10">
|
||||||
|
<input id="package-form" type="text" list="known-packages-dlist" class="form-control" placeholder="AUR package" name="package" required>
|
||||||
|
<datalist id="known-packages-dlist"></datalist>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div class="modal-footer">
|
||||||
|
<button type="button" class="btn btn-secondary" data-bs-dismiss="modal">close</button>
|
||||||
|
<button type="button" class="btn btn-success" data-bs-dismiss="modal" onclick="requestPackages()">request</button>
|
||||||
|
<button type="button" class="btn btn-primary" data-bs-dismiss="modal" onclick="addPackages()">add</button>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<script>
|
||||||
|
const packageInput = $("#package-form");
|
||||||
|
const knownPackages = $("#known-packages-dlist");
|
||||||
|
packageInput.keyup(() => {
|
||||||
|
clearTimeout(packageInput.data("timeout"));
|
||||||
|
packageInput.data("timeout", setTimeout($.proxy(() => {
|
||||||
|
const value = packageInput.val();
|
||||||
|
|
||||||
|
$.ajax({
|
||||||
|
url: "/service-api/v1/search",
|
||||||
|
data: {"for": value},
|
||||||
|
type: "GET",
|
||||||
|
dataType: "json",
|
||||||
|
success: response => {
|
||||||
|
const options = response.map(pkg => {
|
||||||
|
const option = document.createElement("option");
|
||||||
|
option.value = pkg.package;
|
||||||
|
option.innerText = `${pkg.package} (${pkg.description})`;
|
||||||
|
return option;
|
||||||
|
});
|
||||||
|
knownPackages.empty().append(options);
|
||||||
|
packageInput.focus();
|
||||||
|
},
|
||||||
|
})
|
||||||
|
}, this), 500));
|
||||||
|
});
|
||||||
|
|
||||||
|
function addPackages() {
|
||||||
|
const packages = [packageInput.val()]
|
||||||
|
doPackageAction("/service-api/v1/add", packages);
|
||||||
|
}
|
||||||
|
|
||||||
|
function requestPackages() {
|
||||||
|
const packages = [packageInput.val()]
|
||||||
|
doPackageAction("/service-api/v1/request", packages);
|
||||||
|
}
|
||||||
|
</script>
|
@ -1,60 +0,0 @@
|
|||||||
<div id="add-form" tabindex="-1" role="dialog" class="modal fade">
|
|
||||||
<div class="modal-dialog" role="document">
|
|
||||||
<div class="modal-content">
|
|
||||||
<div class="modal-header">
|
|
||||||
<h4 class="modal-title">add new packages</h4>
|
|
||||||
<button type="button" class="btn-close" data-bs-dismiss="modal" aria-label="close"></button>
|
|
||||||
</div>
|
|
||||||
<div class="modal-body">
|
|
||||||
<div class="form-group row">
|
|
||||||
<label for="package" class="col-sm-2 col-form-label">package</label>
|
|
||||||
<div class="col-sm-10">
|
|
||||||
<input id="package-form" type="text" list="known-packages-dlist" class="form-control" placeholder="AUR package" name="package" required>
|
|
||||||
<datalist id="known-packages-dlist"></datalist>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
<div class="modal-footer">
|
|
||||||
<button type="button" class="btn btn-secondary" data-bs-dismiss="modal">close</button>
|
|
||||||
<button type="button" class="btn btn-success" data-bs-dismiss="modal" onclick="requestPackages()">request</button>
|
|
||||||
<button type="button" class="btn btn-primary" data-bs-dismiss="modal" onclick="addPackages()">add</button>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
|
|
||||||
<div id="failed-form" tabindex="-1" role="dialog" class="modal fade">
|
|
||||||
<div class="modal-dialog" role="document">
|
|
||||||
<div class="modal-content">
|
|
||||||
<div class="modal-header bg-danger">
|
|
||||||
<h4 class="modal-title">failed</h4>
|
|
||||||
<button type="button" class="btn-close" data-bs-dismiss="modal" aria-label="close"></button>
|
|
||||||
</div>
|
|
||||||
<div class="modal-body">
|
|
||||||
<p>Packages update has failed.</p>
|
|
||||||
<p id="error-details"></p>
|
|
||||||
</div>
|
|
||||||
<div class="modal-footer">
|
|
||||||
<button type="button" class="btn btn-primary" data-bs-dismiss="modal">close</button>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
|
|
||||||
<div id="success-form" tabindex="-1" role="dialog" class="modal fade">
|
|
||||||
<div class="modal-dialog" role="document">
|
|
||||||
<div class="modal-content">
|
|
||||||
<div class="modal-header bg-success">
|
|
||||||
<h4 class="modal-title">success</h4>
|
|
||||||
<button type="button" class="btn-close" data-bs-dismiss="modal" aria-label="close"></button>
|
|
||||||
</div>
|
|
||||||
<div class="modal-body">
|
|
||||||
<p>Packages update has been run.</p>
|
|
||||||
<ul id="success-details"></ul>
|
|
||||||
</div>
|
|
||||||
<div class="modal-footer">
|
|
||||||
<button type="button" class="btn btn-primary" data-bs-dismiss="modal">close</button>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
@ -0,0 +1,28 @@
|
|||||||
|
<div id="success-form" tabindex="-1" role="dialog" class="modal fade">
|
||||||
|
<div class="modal-dialog" role="document">
|
||||||
|
<div class="modal-content">
|
||||||
|
<div class="modal-header bg-success">
|
||||||
|
<h4 class="modal-title">success</h4>
|
||||||
|
<button type="button" class="btn-close" data-bs-dismiss="modal" aria-label="close"></button>
|
||||||
|
</div>
|
||||||
|
<div class="modal-body">
|
||||||
|
<p>Packages update has been run.</p>
|
||||||
|
<ul id="success-details"></ul>
|
||||||
|
</div>
|
||||||
|
<div class="modal-footer">
|
||||||
|
<button type="button" class="btn btn-primary" data-bs-dismiss="modal">close</button>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<script>
|
||||||
|
const successForm = $("#success-form");
|
||||||
|
const successDetails = $("#success-details");
|
||||||
|
successForm.on("hidden.bs.modal", () => { reload(); });
|
||||||
|
|
||||||
|
function showSuccess(details) {
|
||||||
|
successDetails.empty().append(details);
|
||||||
|
successForm.modal("show");
|
||||||
|
}
|
||||||
|
</script>
|
@ -10,40 +10,6 @@
|
|||||||
updateButton.prop("disabled", !table.bootstrapTable("getSelections").length);
|
updateButton.prop("disabled", !table.bootstrapTable("getSelections").length);
|
||||||
});
|
});
|
||||||
|
|
||||||
const successForm = $("#success-form");
|
|
||||||
const successDetails = $("#success-details");
|
|
||||||
successForm.on("hidden.bs.modal", () => { reload(); });
|
|
||||||
|
|
||||||
const failedForm = $("#failed-form");
|
|
||||||
const errorDetails = $("#error-details");
|
|
||||||
failedForm.on("hidden.bs.modal", () => { reload(); });
|
|
||||||
|
|
||||||
const packageInput = $("#package-form");
|
|
||||||
const knownPackages = $("#known-packages-dlist");
|
|
||||||
packageInput.keyup(() => {
|
|
||||||
clearTimeout(packageInput.data("timeout"));
|
|
||||||
packageInput.data("timeout", setTimeout($.proxy(() => {
|
|
||||||
const value = packageInput.val();
|
|
||||||
|
|
||||||
$.ajax({
|
|
||||||
url: "/service-api/v1/search",
|
|
||||||
data: {"for": value},
|
|
||||||
type: "GET",
|
|
||||||
dataType: "json",
|
|
||||||
success: response => {
|
|
||||||
const options = response.map(pkg => {
|
|
||||||
const option = document.createElement("option");
|
|
||||||
option.value = pkg.package;
|
|
||||||
option.innerText = `${pkg.package} (${pkg.description})`;
|
|
||||||
return option;
|
|
||||||
});
|
|
||||||
knownPackages.empty().append(options);
|
|
||||||
packageInput.focus();
|
|
||||||
},
|
|
||||||
})
|
|
||||||
}, this), 500));
|
|
||||||
});
|
|
||||||
|
|
||||||
const architectureBadge = $("#badge-architecture");
|
const architectureBadge = $("#badge-architecture");
|
||||||
const repositoryBadge = $("#badge-repository");
|
const repositoryBadge = $("#badge-repository");
|
||||||
const statusBadge = $("#badge-status");
|
const statusBadge = $("#badge-status");
|
||||||
@ -63,13 +29,9 @@
|
|||||||
li.innerText = pkg;
|
li.innerText = pkg;
|
||||||
return li;
|
return li;
|
||||||
});
|
});
|
||||||
successDetails.empty().append(details);
|
showSuccess(details);
|
||||||
successForm.modal("show");
|
|
||||||
},
|
|
||||||
error: (jqXHR, _, errorThrown) => {
|
|
||||||
errorDetails.text(errorThrown);
|
|
||||||
failedForm.modal("show");
|
|
||||||
},
|
},
|
||||||
|
error: (jqXHR, _, errorThrown) => { showFailure(errorThrown); },
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -77,16 +39,6 @@
|
|||||||
return table.bootstrapTable("getSelections").map(row => { return row.id; });
|
return table.bootstrapTable("getSelections").map(row => { return row.id; });
|
||||||
}
|
}
|
||||||
|
|
||||||
function addPackages() {
|
|
||||||
const packages = [packageInput.val()]
|
|
||||||
doPackageAction("/service-api/v1/add", packages);
|
|
||||||
}
|
|
||||||
|
|
||||||
function requestPackages() {
|
|
||||||
const packages = [packageInput.val()]
|
|
||||||
doPackageAction("/service-api/v1/request", packages);
|
|
||||||
}
|
|
||||||
|
|
||||||
function removePackages() { doPackageAction("/service-api/v1/remove", getSelection()); }
|
function removePackages() { doPackageAction("/service-api/v1/remove", getSelection()); }
|
||||||
|
|
||||||
function updatePackages() { doPackageAction("/service-api/v1/add", getSelection()); }
|
function updatePackages() { doPackageAction("/service-api/v1/add", getSelection()); }
|
||||||
@ -142,8 +94,7 @@
|
|||||||
table.bootstrapTable("hideLoading");
|
table.bootstrapTable("hideLoading");
|
||||||
} else {
|
} else {
|
||||||
// other errors
|
// other errors
|
||||||
errorDetails.text(errorThrown);
|
showFailure(errorThrown);
|
||||||
failedForm.modal("show");
|
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
});
|
});
|
6
setup.py
6
setup.py
@ -69,9 +69,11 @@ setup(
|
|||||||
"package/share/ahriman/templates/telegram-index.jinja2",
|
"package/share/ahriman/templates/telegram-index.jinja2",
|
||||||
]),
|
]),
|
||||||
("share/ahriman/templates/build-status", [
|
("share/ahriman/templates/build-status", [
|
||||||
|
"package/share/ahriman/templates/build-status/failed-modal.jinja2",
|
||||||
"package/share/ahriman/templates/build-status/login-modal.jinja2",
|
"package/share/ahriman/templates/build-status/login-modal.jinja2",
|
||||||
"package/share/ahriman/templates/build-status/package-modals.jinja2",
|
"package/share/ahriman/templates/build-status/package-add-modal.jinja2",
|
||||||
"package/share/ahriman/templates/build-status/scripts.jinja2",
|
"package/share/ahriman/templates/build-status/success-modal.jinja2",
|
||||||
|
"package/share/ahriman/templates/build-status/table.jinja2",
|
||||||
]),
|
]),
|
||||||
("share/ahriman/templates/static", [
|
("share/ahriman/templates/static", [
|
||||||
"package/share/ahriman/templates/static/favicon.ico",
|
"package/share/ahriman/templates/static/favicon.ico",
|
||||||
|
@ -320,9 +320,11 @@ def test_walk(resource_path_root: Path) -> None:
|
|||||||
resource_path_root / "models" / "package_gcc10_srcinfo",
|
resource_path_root / "models" / "package_gcc10_srcinfo",
|
||||||
resource_path_root / "models" / "package_tpacpi-bat-git_srcinfo",
|
resource_path_root / "models" / "package_tpacpi-bat-git_srcinfo",
|
||||||
resource_path_root / "models" / "package_yay_srcinfo",
|
resource_path_root / "models" / "package_yay_srcinfo",
|
||||||
|
resource_path_root / "web" / "templates" / "build-status" / "failed-modal.jinja2",
|
||||||
resource_path_root / "web" / "templates" / "build-status" / "login-modal.jinja2",
|
resource_path_root / "web" / "templates" / "build-status" / "login-modal.jinja2",
|
||||||
resource_path_root / "web" / "templates" / "build-status" / "package-modals.jinja2",
|
resource_path_root / "web" / "templates" / "build-status" / "package-add-modal.jinja2",
|
||||||
resource_path_root / "web" / "templates" / "build-status" / "scripts.jinja2",
|
resource_path_root / "web" / "templates" / "build-status" / "success-modal.jinja2",
|
||||||
|
resource_path_root / "web" / "templates" / "build-status" / "table.jinja2",
|
||||||
resource_path_root / "web" / "templates" / "static" / "favicon.ico",
|
resource_path_root / "web" / "templates" / "static" / "favicon.ico",
|
||||||
resource_path_root / "web" / "templates" / "utils" / "bootstrap-scripts.jinja2",
|
resource_path_root / "web" / "templates" / "utils" / "bootstrap-scripts.jinja2",
|
||||||
resource_path_root / "web" / "templates" / "utils" / "style.jinja2",
|
resource_path_root / "web" / "templates" / "utils" / "style.jinja2",
|
||||||
|
Loading…
Reference in New Issue
Block a user