$(document).ready(function() {
$("#search").on("click", function() {
search();
});
$("#advanced").on("click", function() {
if ($(this).data("state") === "true") {
$(this).find("i").removeClass("bi-arrow-up");
$(this).find("i").addClass("bi-arrow-down");
$("#advanced-section").addClass("d-none");
$(this).data("state", "false");
} else {
$(this).find("i").removeClass("bi-arrow-down");
$(this).find("i").addClass("bi-arrow-up");
$("#advanced-section").removeClass("d-none");
$(this).data("state", "true");
}
});
var json = $("#search-json").val();
if (json.length > 0) {
var searchData = JSON.parse(json);
for (const [key, value] of Object.entries(searchData)) {
if (key === "advanced") {
if (value) $("#advanced").trigger("click");
continue;
}
if (key === "fields") {
// TODO: gérer les champs suppl.
continue
}
if (typeof value === "boolean") {
$("[data-search-field=" + key + "]").prop("checked", value);
} else {
$("[data-search-field=" + key + "]").val(value);
}
}
}
createFieldSelection();
$("body").on("change", ".search-fields-count .field-select", function() {
var lastfield = $(this).attr("data-last-field");
var field = $(this).val();
if (field == "") {
$(this).parents(".row").remove();
return;
}
if (lastfield.length === 0) {
createFieldSelection();
}
$(this).attr("data-last-field", field);
$(this).parents(".row").find(".end-col").find("input").remove();
$(this).parents(".row").find(".end-col").find("select").remove();
$(elem).parents(".row").find(".end-col").append($("", {
class: "form-control",
type: "text",
disabled: true,
}));
var elem = $(this);
$.getJSON("/fields/" + field, function(data) {
$(this).parents(".row").find(".end-col").find("input").remove();
if (data.FieldType === "list") {
var select = $("