diff --git a/package/share/ahriman/templates/build-status.jinja2 b/package/share/ahriman/templates/build-status.jinja2 index 8b8c4134..828eacf7 100644 --- a/package/share/ahriman/templates/build-status.jinja2 +++ b/package/share/ahriman/templates/build-status.jinja2 @@ -117,7 +117,6 @@ data-sortable="true" data-sort-name="base" data-sort-order="asc" - data-toggle="table" data-toolbar="#toolbar"> diff --git a/package/share/ahriman/templates/build-status/package-info-modal.jinja2 b/package/share/ahriman/templates/build-status/package-info-modal.jinja2 index 1ba2556c..4a968736 100644 --- a/package/share/ahriman/templates/build-status/package-info-modal.jinja2 +++ b/package/share/ahriman/templates/build-status/package-info-modal.jinja2 @@ -80,8 +80,7 @@ data-classes="table table-hover" data-sortable="true" data-sort-name="timestamp" - data-sort-order="desc" - data-toggle="table"> + data-sort-order="desc"> date @@ -509,6 +508,8 @@ } ready(_ => { + packageInfoEventsTable.bootstrapTable({}); + packageInfoEventsUpdateChart = new Chart(packageInfoEventsUpdateChartCanvas, { type: "line", data: {}, @@ -539,5 +540,7 @@ clearInterval(packageInfoAutoReloadTask); packageInfoAutoReloadTask = null; // not really required (?) but lets clear everything }); + + restoreAutoReloadSettings(packageInfoAutoReloadButton, packageInfoAutoReloadInput); }); diff --git a/package/share/ahriman/templates/build-status/table.jinja2 b/package/share/ahriman/templates/build-status/table.jinja2 index 7aeb9c7d..e589af4f 100644 --- a/package/share/ahriman/templates/build-status/table.jinja2 +++ b/package/share/ahriman/templates/build-status/table.jinja2 @@ -250,6 +250,12 @@ } ready(_ => { + const onCheckFunction = function () { + if (packageRemoveButton) { + packageRemoveButton.disabled = !getSelection().length; + } + }; + document.querySelectorAll("#repositories a").forEach(element => { element.onclick = _ => { repository = { @@ -264,49 +270,53 @@ }; }); - table.on("check.bs.table uncheck.bs.table check-all.bs.table uncheck-all.bs.table", _ => { - if (packageRemoveButton) { - packageRemoveButton.disabled = !table.bootstrapTable("getSelections").length; - } - }); - table.on("click-row.bs.table", (self, data, row, cell) => { - if (0 === cell || "base" === cell) { - const method = data[0] === true ? "uncheckBy" : "checkBy"; // fck javascript - table.bootstrapTable(method, {field: "id", values: [data.id]}); - } else showPackageInfo(data.id); - }); - table.on("created-controls.bs.table", _ => { - new easepick.create({ - element: document.querySelector(".bootstrap-table-filter-control-timestamp"), - css: [ - "https://cdn.jsdelivr.net/npm/@easepick/bundle@1.2.1/dist/index.css", - ], - grid: 2, - calendars: 2, - autoApply: false, - locale: { - cancel: "Clear", - }, - RangePlugin: { - tooltip: false, - }, - plugins: [ - "RangePlugin", - ], - setup: picker => { - picker.on("select", _ => { table.bootstrapTable("triggerSearch"); }); - // replace "Cancel" behaviour to "Clear" - picker.onClickCancelButton = element => { - if (picker.isCancelButton(element)) { - picker.clear(); - picker.hide(); - table.bootstrapTable("triggerSearch"); - } - }; - }, - }); + table.bootstrapTable({ + onCheck: onCheckFunction, + onCheckAll: onCheckFunction, + onClickRow: (data, row, cell) => { + if (0 === cell || "base" === cell) { + const method = data[0] === true ? "uncheckBy" : "checkBy"; // fck javascript + table.bootstrapTable(method, {field: "id", values: [data.id]}); + } else showPackageInfo(data.id); + }, + onCreatedControls: _ => { + new easepick.create({ + element: document.querySelector(".bootstrap-table-filter-control-timestamp"), + css: [ + "https://cdn.jsdelivr.net/npm/@easepick/bundle@1.2.1/dist/index.css", + ], + grid: 2, + calendars: 2, + autoApply: false, + locale: { + cancel: "Clear", + }, + RangePlugin: { + tooltip: false, + }, + plugins: [ + "RangePlugin", + ], + setup: picker => { + picker.on("select", _ => { table.bootstrapTable("triggerSearch"); }); + // replace "Cancel" behaviour to "Clear" + picker.onClickCancelButton = element => { + if (picker.isCancelButton(element)) { + picker.clear(); + picker.hide(); + table.bootstrapTable("triggerSearch"); + } + }; + }, + }); + }, + onPageChange: (_, size) => { Cookies.set(`ahriman-${table.attr("id")}-page-size`, size); }, + onUncheck: onCheckFunction, + onUncheckAll: onCheckFunction, }); + restoreAutoReloadSettings(tableAutoReloadButton, tableAutoReloadInput); + selectRepository(); {% if autorefresh_intervals %} toggleTableAutoReload(); diff --git a/package/share/ahriman/templates/repo-index.jinja2 b/package/share/ahriman/templates/repo-index.jinja2 index ab1e7c9a..326f20ea 100644 --- a/package/share/ahriman/templates/repo-index.jinja2 +++ b/package/share/ahriman/templates/repo-index.jinja2 @@ -53,8 +53,7 @@ SigLevel = Database{% if has_repo_signed %}Required{% else %}Never{% endif %} Pa data-show-search-clear-button="true" data-sortable="true" data-sort-name="base" - data-sort-order="asc" - data-toggle="table"> + data-sort-order="asc"> package @@ -128,36 +127,38 @@ SigLevel = Database{% if has_repo_signed %}Required{% else %}Never{% endif %} Pa } ready(_ => { - table.on("created-controls.bs.table", _ => { - new easepick.create({ - element: document.querySelector(".bootstrap-table-filter-control-timestamp"), - css: [ - "https://cdn.jsdelivr.net/npm/@easepick/bundle@1.2.1/dist/index.css", - ], - grid: 2, - calendars: 2, - autoApply: false, - locale: { - cancel: "Clear", - }, - RangePlugin: { - tooltip: false, - }, - plugins: [ - "RangePlugin", - ], - setup: picker => { - picker.on("select", _ => { table.bootstrapTable("triggerSearch"); }); - // replace "Cancel" behaviour to "Clear" - picker.onClickCancelButton = element => { - if (picker.isCancelButton(element)) { - picker.clear(); - picker.hide(); - table.bootstrapTable("triggerSearch"); - } - }; - }, - }); + table.bootstrapTable({ + onCreatedControls: _ => { + new easepick.create({ + element: document.querySelector(".bootstrap-table-filter-control-timestamp"), + css: [ + "https://cdn.jsdelivr.net/npm/@easepick/bundle@1.2.1/dist/index.css", + ], + grid: 2, + calendars: 2, + autoApply: false, + locale: { + cancel: "Clear", + }, + RangePlugin: { + tooltip: false, + }, + plugins: [ + "RangePlugin", + ], + setup: picker => { + picker.on("select", _ => { table.bootstrapTable("triggerSearch"); }); + // replace "Cancel" behaviour to "Clear" + picker.onClickCancelButton = element => { + if (picker.isCancelButton(element)) { + picker.clear(); + picker.hide(); + table.bootstrapTable("triggerSearch"); + } + }; + }, + }); + }, }); }); diff --git a/package/share/ahriman/templates/utils/bootstrap-scripts.jinja2 b/package/share/ahriman/templates/utils/bootstrap-scripts.jinja2 index 52a3639c..e3b06a72 100644 --- a/package/share/ahriman/templates/utils/bootstrap-scripts.jinja2 +++ b/package/share/ahriman/templates/utils/bootstrap-scripts.jinja2 @@ -19,6 +19,8 @@ + +