Project import generated by Copybara.
GitOrigin-RevId: 63746295f1a5ab5a619056791995793d65529e62
diff --git a/src/js/incidents.js b/src/js/incidents.js
new file mode 100644
index 0000000..0397cac
--- /dev/null
+++ b/src/js/incidents.js
@@ -0,0 +1,79 @@
+function getFormData() {
+ var incidents = [];
+
+ document.querySelectorAll("input[type=\"checkbox\"][data-incident]:checked").forEach(el => {
+ incidents.push(el.getAttribute("data-incident"));
+ });
+
+ return incidents;
+}
+
+function getParameters() {
+ var parameters = [];
+ var incidents = getFormData();
+ incidents.forEach(incident => {
+ parameters.push("incidents[]="+incident);
+ });
+
+ if (parameters.length == 0) return false;
+
+ return parameters.join("&");
+}
+
+window.addEventListener("load", function() {
+ document.querySelector(".addincident").addEventListener("click", function() {
+ document.querySelector("#addincident").showModal();
+ /* Or dialog.show(); to show the dialog without a backdrop. */
+ });
+
+ document.querySelector(".addrecurringincident").addEventListener("click", function() {
+ document.querySelector("#addrecurringincident").showModal();
+ /* Or dialog.show(); to show the dialog without a backdrop. */
+ });
+
+ document.querySelector(".filter").addEventListener("click", function() {
+ document.querySelector("#filter").showModal();
+ /* Or dialog.show(); to show the dialog without a backdrop. */
+ });
+
+ if (_showResultsPaginated) {
+ document.getElementById("limit-change").addEventListener("change", _ => {
+ var limit = parseInt(document.getElementById("limit-change").value);
+ var firstIncidentPos = _page*_limit;
+ var page = Math.floor(firstIncidentPos/limit) + 1;
+
+ var url = new URL(location.href);
+ url.searchParams.set("limit", limit);
+ url.searchParams.set("page", page);
+ location.href = url;
+ });
+ }
+
+ document.querySelectorAll(".mdl-checkbox[data-check-all=\"true\"] input[type=\"checkbox\"]").forEach(el => {
+ el.addEventListener("change", e => {
+ el.parentElement.parentElement.parentElement.parentElement.parentElement.querySelectorAll(".mdl-checkbox:not([data-check-all=\"true\"])").forEach(input => {
+ var checkbox = input.MaterialCheckbox;
+ if (checkbox.inputElement_.disabled) return;
+
+ if (el.checked) checkbox.check();
+ else checkbox.uncheck();
+ });
+ });
+ });
+
+ document.getElementById("deleteincidentsbulk").addEventListener("click", e => {
+ var parameters = getParameters();
+
+ if (parameters === false) {
+ document.querySelector(".mdl-js-snackbar").MaterialSnackbar.showSnackbar({
+ message: "Debes seleccionar al menos una incidencia para poder eliminar.",
+ timeout: 5000
+ });
+
+ return;
+ }
+
+ var url = "dynamic/deleteincidentsbulk.php?"+parameters;
+ dynDialog.load(url);
+ });
+});