import $ from "jquery"; import alertify from "alertifyjs"; const xmlParser = require("xml2json"); const fieldDepartmentValues = new Set([ "legal_entity", "other", ]); $(window).ready( () => { let isNaturalPerson = ($("#id_entity_type").find(":selected").val() === "natural_person"); let isEmpty = ($("#id_entity_type").find(":selected").val() === ""); $(".field-date_of_birth"). css( "display", ( (isNaturalPerson) ? "block" : "none" ) ); $(".field-ico_number,.field-load_ares_data_button"). css( "display", ( (!isEmpty && !isNaturalPerson) ? "block" : "none" ) ); $(".field-department"). css( "display", ( (!isEmpty && fieldDepartmentValues.has($("#id_entity_type").find(":selected").val())) ? "block" : "none" ) ); if (!isNaturalPerson && !isEmpty) $("#id_date_of_birth").val(""); if (isNaturalPerson) $("#id_ico_number").val(""); if (!fieldDepartmentValues.has($("#id_entity_type").find(":selected").val()) && !isEmpty) $("#id_department").val(""); $("#id_entity_type").on( "change", event => { isEmpty = ($(event.target).val() === ""); isNaturalPerson = ($(event.target).val() === "natural_person"); $(".field-date_of_birth"). css( "display", ( (!isEmpty && isNaturalPerson) ? "block" : "none" ) ); $(".field-ico_number,.field-load_ares_data_button"). css( "display", ( (!isEmpty && !isNaturalPerson) ? "block" : "none" ) ); $(".field-department"). css( "display", ( (!isEmpty && fieldDepartmentValues.has($(event.target).val())) ? "block" : "none" ) ); if (!isNaturalPerson && !isEmpty) $("#id_date_of_birth").val(""); if (isNaturalPerson) $("#id_ico_number").val(""); if (!fieldDepartmentValues.has($(event.target).val()) && !isEmpty) $("#id_department").val(""); } ); $("#load_ares_data").on( "click", async (event) => { const icoValue = $("#id_ico_number").val(); const aresXMLResponse = await fetch( `https://wwwinfo.mfcr.cz/cgi-bin/ares/darv_std.cgi?ico=${icoValue}` ); if (!aresXMLResponse.ok) { alertify.error("Chyba při načítní dat z ARES. Je IČO správné?"); console.warn( "Error loading ARES data: ", await aresXMLResponse.text() ); return; } const formattedAresResponse = xmlParser.toJson(aresXMLResponse); console.log(formattedAresResponse); } ); } );