Skip to content
Merged
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
89 changes: 51 additions & 38 deletions ietf/static/js/list.js
Original file line number Diff line number Diff line change
Expand Up @@ -83,31 +83,36 @@ $(document)
header_row.addClass("d-none");
}

// HTML for the search widget
var searcher = $.parseHTML(`
<div class="input-group input-group-sm my-3">
<input type="search" class="search form-control" placeholder="Search"/>
<button class="btn btn-outline-secondary search-reset" type="button">
<i class="bi bi-x"></i>
</button>
</div>`);

$(table)
.before(searcher);

var search_field = $(searcher)
.children("input.search");
// only add a search box if the table length warrants it
var enable_search = $(table).find("tr").length > 5;
if (enable_search) {
// HTML for the search widget
var searcher = $.parseHTML(`
<div class="input-group input-group-sm">
<input type="search" class="search form-control" placeholder="Search"/>
<button class="btn btn-outline-secondary search-reset" type="button">
<i class="bi bi-x"></i>
</button>
</div>`);

$(table)
.before(searcher);

var search_field = $(searcher)
.children("input.search");

var reset_search = $(searcher)
.children("button.search-reset");
}

var reset_search = $(searcher)
.children("button.search-reset");
// TODO: The pager functionality is not working yet
// var pager = $.parseHTML(`
// <nav aria-label="Pagination control" class="d-none">
// <ul class="pagination d-flex flex-wrap text-center"></ul>
// </nav>`);

var pager = $.parseHTML(`
<nav aria-label="Pagination control" class="d-none">
<ul class="pagination d-flex flex-wrap text-center"></ul>
</nav>`);

$(table)
.before(pager);
// $(table)
// .before(pager);

var list_instance = [];
var internal_table = [];
Expand Down Expand Up @@ -194,23 +199,25 @@ $(document)
}));
});

reset_search.on("click", function () {
search_field.val("");
$.each(list_instance, (i, e) => {
e.search();
});
});

search_field.on("keyup", function (event) {
if (event.key == "Escape") {
reset_search.trigger("click");
} else {
if (enable_search) {
reset_search.on("click", function () {
search_field.val("");
$.each(list_instance, (i, e) => {
e.search($(this)
.val());
e.search();
});
}
});
});

search_field.on("keyup", function (event) {
if (event.key == "Escape") {
reset_search.trigger("click");
} else {
$.each(list_instance, (i, e) => {
e.search($(this)
.val());
});
}
});
}

$(table)
.find(".sort")
Expand Down Expand Up @@ -279,4 +286,10 @@ $(document)
$(table)[0]
.dispatchEvent(new Event("tablesorter:done"));
});

// if the URL contains a #, scroll to it again, since we modified the DOM
var id = window.location.hash;
if (id) {
$(id)[0].scrollIntoView();
}
});