1(function( $ ) { 2 'use strict'; 3 4 const caapi = {}; 5 const lang = location.href.indexOf('/es/') > 0 ? 'es' : 'en'; 6 const LANGUAGE = { 7 en: { 8 name: 'English', 9 language: 'Language', 10 all: 'All', 11 between: 'Between', 12 and: 'and', 13 any: 'any', 14 regime_col: 'Regime', 15 aliases: 'Alias', 16 day_of_death: 'Day of death/disappearance', 17 month_of_death: 'Month of death/disappearance', 18 year_of_death: 'Year of death/disappearance', 19 citizenship: 'Citizenship', 20 last_know_city: 'Last known city', 21 last_known_province_TOD: 'Last known province', 22 provincedeathcurrent: 'Last known province current', 23 last_known_country: 'Last known country', 24 location_death_country: 'Country of death', 25 location_death_city: 'City of death/disappearance', 26 location_death_TOD: 'Location of death/disappearance', 27 death_atttributed: 'Death attributed to', 28 cause_death: 'Cause of death', 29 choose_an_option: 'Choose...', 30 showing_results: 'Showing results from', 31 to: 'to', 32 of: 'of', 33 associated_event: 'Associated event' 34 }, 35 es: { 36 name: 'Español', 37 language: 'Lenguage', 38 all: 'Todos', 39 between: 'Entre', 40 and: 'y', 41 any: '-', 42 regime_col: 'Regimen', 43 aliases: 'Alias', 44 day_of_death: 'Dia de muerte', 45 month_of_death: 'Mes de muerte', 46 year_of_death: 'Año de muerte', 47 citizenship: 'CiudadanÃa', 48 last_known_province_TOD: 'Ãltima provincia conocida (al morir)', 49 provincedeathcurrent: 'Ãltima provincia conocida', 50 last_know_city: 'Ãltima ciudad conocida', 51 last_known_country: 'Ãltimo paÃs conocido', 52 location_death_country: 'PaÃs donde murió', 53 location_death_city: 'Ciudad donde murió', 54 location_death_TOD: 'Lugar donde murió', 55 death_atttributed: 'Muerte atribuÃda a', 56 cause_death: 'Causa de muerte', 57 choose_an_option: 'Seleccione...', 58 showing_results: 'Mostrando resultados de', 59 to: 'a', 60 of: 'de', 61 associated_event: 'Evento asociado' 62 } 63 }; 64 65 const LL = LANGUAGE[lang]; 66 67 const loadingHtml = ` 68 <div class="ca-loading" style=" 69 z-index: 999; 70 position: fixed; 71 left: 0; 72 top: 0; 73 bottom: 0; 74 right: 0; 75 background-color: rgba(50, 50, 50, 0.5); 76 "> 77 <i class="fa fa-2x fa-spinner fa-spin" style="position: absolute; left: 50%; top: 50%; color: #fff; transform: translate(-50%, -50%)"></i> 78 79 </div> 80 `; 81 82 83 const tableBodySelector = '#results-table table tbody'; 84 const filtersButtonSelector = '#filters-button'; 85 const base_url = 'https://cubaarchive.org/database-admin/web/json'; 86 const blankOrNull = (source, value = '<->') => source == '' || source == null ? value : source; 87 let inputStyle = ` 88 width: 100%; 89 height: 2.5em; 90 background: transparent; 91 text-align: left; 92 padding-right: 5px; 93 color: #aaa; 94 border: 1px solid #aaa;`; 95 96 const filterTemplates = { 97 regime: ` 98 <select name="form_advanced[regimen]" class="filter-value field-regime" style="${inputStyle}"> 99 <option selected value="">${LANGUAGE[lang].all}</option> 100 <option value="castro">Castro</option> 101 <option value="batista">Batista</option> 102 </select>`, 103 aliases: `<input name="form_advanced[aliases]" class="filter-value field-aliases" value="" style="${inputStyle}" type="text">`, 104 day_death: `<select id="form_advanced_day_death" name="form_advanced[day_death]" class="filter-value" style="display: block; ${inputStyle}"><option value="" selected="selected">${LANGUAGE[lang].any}</option><option value="1">1</option><option value="2">2</option><option value="3">3</option><option value="4">4</option><option value="5">5</option><option value="6">6</option><option value="7">7</option><option value="8">8</option><option value="9">9</option><option value="10">10</option><option value="11">11</option><option value="12">12</option><option value="13">13</option><option value="14">14</option><option value="15">15</option><option value="16">16</option><option value="17">17</option><option value="18">18</option><option value="19">19</option><option value="20">20</option><option value="21">21</option><option value="22">22</option><option value="23">23</option><option value="24">24</option><option value="25">25</option><option value="26">26</option><option value="27">27</option><option value="28">28</option><option value="29">29</option><option value="30">30</option><option value="31">31</option></select>`, 105 month_of_death: `<div style="text-align: left;">${LANGUAGE[lang].between} <select id="form_advanced_month_death_start" name="form_advanced[month_death_start]" class="filter-value" style="display: inline-block; ${inputStyle}; width: 55px !important;"><option value="" selected="selected">${LANGUAGE[lang].any}</option><option value="1">Jan</option><option value="2">Feb</option><option value="3">Mar</option><option value="4">Apr</option><option value="5">May</option><option value="6">June</option><option value="7">July</option><option value="8">Aug</option><option value="9">Sep</option><option value="10">
105Oct</option><option value="11">Nov</option><option value="12">Dec</option></select> ${LANGUAGE[lang].and} <select id="form_advanced_month_death_end" name="form_advanced[month_death_end]" class="filter-value" style="display: inline-block; width: 55px !important; ${inputStyle}"><option value="" selected="selected">${LANGUAGE[lang].any}</option><option value="1">Jan</option><option value="2">Feb</option><option value="3">Mar</option><option value="4">Apr</option><option value="5">May</option><option value="6">June</option><option value="7">July</option><option value="8">Aug</option><option value="9">Sep</option><option value="10">Oct</option><option value="11">Nov</option><option value="12">Dec</option></select></div>`, 106 year_of_death: `<div style="text-align: left;" >${LANGUAGE[lang].between} <select id="form_advanced_year_death_start" name="form_advanced[year_death_start]" class="filter-value" style="display: inline-block; ${inputStyle}; width: 65px !important;"><option value="" selected="selected">none</option><option value="1952">1952</option><option value="1953">1953</option><option value="1954">1954</option><option value="1955">1955</option><option value="1956">1956</option><option value="1957">1957</option><option value="1958">1958</option><option value="1959">1959</option><option value="1960">1960</option><option value="1961">1961</option><option value="1962">1962</option><option value="1963">1963</option><option value="1964">1964</option><option value="1965">1965</option><option value="1966">1966</option><option value="1967">1967</option><option value="1968">1968</option><option value="1969">1969</option><option value="1970">1970</option><option value="1971">1971</option><option value="1972">1972</option><option value="1973">1973</option><option value="1974">1974</option><option value="1975">1975</option><option value="1976">1976</option><option value="1977">1977</option><option value="1978">1978</option><option value="1979">1979</option><option value="1980">1980</option><option value="1981">1981</option><option value="1982">1982</option><option value="1983">1983</option><option value="1984">1984</option><option value="1985">1985</option><option value="1986">1986</option><option value="1987">1987</option><option value="1988">1988</option><option value="1989">1989</option><option value="1990">1990</option><option value="1991">1991</option><option value="1992">1992</option><option value="1993">1993</option><option value="1994">1994</option><option value="1995">1995</option><option value="1996">1996</option><option value="1997">1997</option><option value="1998">1998</option><option value="1999">1999</option><option value="2000">2000</option><option value="2001">2001</option><option value="2002">2002</option><option value="2003">2003</option><option value="2004">2004</option><option value="2005">2005</option><option value="2006">2006</option><option value="2007">2007</option><option value="2008">2008</option><option value="2009">2009</option><option value="2010">2010</option><option value="2011">2011</option><option value="2012">2012</option><option value="2013">2013</option><option value="2014">2014</option><option value="2015">2015</option><option value="2016">2016</option><option value="2017">2017</option><option value="2018">2018</option><option value="2019">2019</option><option value="2020">2020</option><option value="2021">2021</option><option value="2022">2022</option></select> ${LANGUAGE[lang].and} <select id="form_advanced_year_death_end" name="form_advanced[year_death_end]" class=" filter-value" style="display: inline-block; ${inputStyle}; width: 65px !important;"><option value="" selected="selected">none</option><option value="1952">1952</option><option value="1953">1953</option><option value="1954">1954</option><option value="1955">1955</option><option value="1956">1956</option><option value="1957">1957</option><option value="1958">1958</option><option value="1959">1959</option><option value="1960">1960</option><option value="1961">1961</option><option value="1962">1962</option><option value="1963">1963</option><option value="1964">1964</option><option value="1965">1965</option><option value="1966">1966</option><option value="1967">1967</option><option value="1968">1968</option><option value="1969">1969</option><option value="1970">1970</option><option value="1971">1971</option><option value="1972">1972</option><option value="1973">1973</option><option value="1974">1974</option><option value="1975">1975</option><option value="1976">1976</option><option value="1977">1977</option><option value="1978">1978</option><option value="1979">1979</option><option value="1980">1980</option><option value="1981">1981</option><option value="1982">1982</option><option value="1983">1983</option><option value="1984">1984</option><option value="1985">1985</option><option value="1986">1986</option><option value="1987">1987</option><option value="1988">1988</option><option value="1989">
1061989</option><option value="1990">1990</option><option value="1991">1991</option><option value="1992">1992</option><option value="1993">1993</option><option value="1994">1994</option><option value="1995">1995</option><option value="1996">1996</option><option value="1997">1997</option><option value="1998">1998</option><option value="1999">1999</option><option value="2000">2000</option><option value="2001">2001</option><option value="2002">2002</option><option value="2003">2003</option><option value="2004">2004</option><option value="2005">2005</option><option value="2006">2006</option><option value="2007">2007</option><option value="2008">2008</option><option value="2009">2009</option><option value="2010">2010</option><option value="2011">2011</option><option value="2012">2012</option><option value="2013">2013</option><option value="2014">2014</option><option value="2015">2015</option><option value="2016">2016</option><option value="2017">2017</option><option value="2018">2018</option><option value="2019">2019</option><option value="2020">2020</option><option value="2021">2021</option><option value="2022">2022</option></select></select>`, 107 citizenship: `<select id="form_advanced_citizenship" name="form_advanced[citizenship]" class="filter-value" style="display: block; ${inputStyle};"><option value="">${LL.choose_an_option}</option><option value="1">Cuba</option><option value="2">United States</option><option value="3">Afghanistan</option><option value="4">Aland Islands</option><option value="5">Albania</option><option value="6">Algeria</option><option value="7">American Samoa</option><option value="8">Andorra</option><option value="9">Angola</option><option value="10">Anguilla</option><option value="11">Antarctica</option><option value="12">Antigua and Barbuda</option><option value="13">Argentina</option><option value="14">Armenia</option><option value="15">Aruba</option><option value="16">Ascension Island</option><option value="17">Australia</option><option value="18">Austria</option><option value="19">Azerbaijan</option><option value="20">Bahamas</option><option value="21">Bahrain</option><option value="22">Bangladesh</option><option value="23">Barbados</option><option value="24">Belarus</option><option value="25">Belgium</option><option value="26">Belize</option><option value="27">Benin</option><option value="28">Bermuda</option><option value="29">Bhutan</option><option value="30">Bolivia</option><option value="31">Bosnia and Herzegovina</option><option value="32">Botswana</option><option value="33">Bouvet Island</option><option value="34">Brazil</option><option value="35">British Indian Ocean Territory</option><option value="36">Brunei Darussalam</option><option value="37">Bulgaria</option><option value="38">Burkina Faso</option><option value="39">Burundi</option><option value="40">Cambodia</option><option value="41">Cameroon</option><option value="42">Canada</option><option value="43">Cape Verde</option><option value="44">Cayman Islands</option><option value="45">Central African Republic</option><option value="46">Chad</option><option value="47">Chile</option><option value="48">China</option><option value="49">Christmas Island</option><option value="50">Cocos (Keeling) Islands</option><option value="51">Colombia</option><option value="52">Comoros</option><option value="53">Republic of Congo</option><option value="54">Democratic Republic of Congo</option><option value="55">Cook Islands</option><option value="56">Costa Rica</option><option value="57">Cote d'Ivoire</option><option value="58">Croatia</option><option value="59">Cyprus</option><option value="60">Czech Republic</option><option value="61">Denmark</option><option value="62">Djibouti</option><option value="63">Dominica</option><option value="64">Dominican Republic</option><option value="65">East Timor</option><option value="66">Ecuador</option><option value="67">Egypt</option><option value="68">El Salvador</option><option value="69">Equatorial Guinea</option><option value="70">Eritrea</option><option value="71">Estonia</option><option value="72">Ethiopia</option><option value="73">European Union</option><option value="74">Falkland Islands (Malvinas)</option><option value="75">Faroe Islands</option><option value="76">Fiji</option><option value="77">Finland</option><option value="78">France</option><option value="79">French Guiana</option><option value="80">French Polynesia</option><option value="81">French Southern Territories</option><option value="82">Gabon</option><option value="83">Gambia</option><option value="84">Georgia</option><option value="85">Germany</option><option value="86">Ghana</option><option value="87">Gibraltar</option><option value="88">Greece</option><option value="89">Greenland</option><option value="90">Grenada</option><option value="91">Guadeloupe</option><option value="92">Guam</option><option value="93">Guatemala</option><option value="94">Guernsey</option><option value="95">Guinea</option><option value="96">Guinea-Bissau</option><option value="97">Guyana</option><option value="98">
107Haiti</option><option value="99">Heard and McDonald Islands</option><option value="100">Holy See (Vatican City State)</option><option value="101">Honduras</option><option value="102">Hong Kong</option><option value="103">Hungary</option><option value="104">Iceland</option><option value="105">India</option><option value="106">Indonesia</option><option value="107">Iran</option><option value="108">Iraq</option><option value="109">Ireland</option><option value="110">Isle of Man</option><option value="111">Israel</option><option value="112">Italy</option><option value="113">Jamaica</option><option value="114">Japan</option><option value="115">Jersey</option><option value="116">Jordan</option><option value="117">Kazakhstan</option><option value="118">Kenya</option><option value="119">Kiribati</option><option value="120">Korea</option><option value="122">Kuwait</option><option value="123">Kyrgyzstan</option><option value="124">Lao People's Democratic Republic</option><option value="125">Latvia</option><option value="126">Lebanon</option><option value="127">Lesotho</option><option value="128">Liberia</option><option value="129">Libyan Arab Jamahiriya</option><option value="130">Liechtenstein</option><option value="131">Lithuania</option><option value="132">Luxembourg</option><option value="133">Macao</option><option value="134">Macedonia</option><option value="135">Madagascar</option><option value="136">Malawi</option><option value="137">Malaysia</option><option value="138">Maldives</option><option value="139">Mali</option><option value="140">Malta</option><option value="141">Marshall Islands</option><option value="142">Martinique</option><option value="143">Mauritania</option><option value="144">Mauritius</option><option value="145">Mayotte</option><option value="146">Mexico</option><option value="147">Micronesia</option><option value="148">Moldova</option><option value="149">Monaco</option><option value="150">Mongolia</option><option value="151">Montenegro</option><option value="152">Montserrat</option><option value="153">Morocco</option><option value="154">Mozambique</option><option value="155">Myanmar</option><option value="156">Namibia</option><option value="157">Nauru</option><option value="158">Nepal</option><option value="159">Netherlands</option><option value="160">Netherlands Antilles</option><option value="161">New Caledonia</option><option value="162">New Zealand</option><option value="163">Nicaragua</option><option value="164">Niger</option><option value="165">Nigeria</option><option value="166">Niue</option><option value="167">Norfolk Island</option><option value="168">Northern Mariana Islands</option><option value="169">Norway</option><option value="170">Oman</option><option value="171">Pakistan</option><option value="172">Palau</option><option value="173">Palestinian Territory</option><option value="174">Panama</option><option value="175">Papua New Guinea</option><option value="176">Paraguay</option><option value="177">Peru</option><option value="178">Philippines</option><option value="179">Pitcairn Island</option><option value="180">Poland</option><option value="181">Portugal</option><option value="182">Puerto Rico</option><option value="183">Qatar</option><option value="184">Reunion Island</option><option value="185">Romania</option><option value="186">Russian Federation</option><option value="187">Rwanda</option><option value="188">Saint Helena</option><option value="189">Saint Kitts and Nevis</option><option value="190">Saint Lucia</option><option value="191">Saint Pierre and Miquelon</option><option value="192">Saint Vincent and the Grenadines</option><option value="193">Samoa</option><option value="194">San Marino</option><option value="195">Sao Tome and Principe</option><option value="196">Saudi Arabia</option><option value="197">Senegal</option><option value="198">Serbia</option><option value="199">Seychelles</option><option value="200">Sierra Leone</option><option value="201">Singapore</option><option value="202">Slovak Republic</option><option value="203">Slovenia</option><option value="204">Solomon Islands</option><option value="205">Somalia</option><option value="206">South Africa</option><option value="207">South Georgia and the South Sandwich Islands</option><option value="208">Soviet Union</option><option value="209">Spain</option><option value="210">Sri Lanka</option><option value="211">Sudan</option><option value="212">Suriname</option><option value="213">Svalbard and Jan Mayen Islands</option><option value="214">Swaziland</option><option value="215">Sweden</option><option value="216">Switzerland</option><option value="217">Syrian Arab Republic</option><option value="218">Taiwan</option><option value="219">Tajikistan</option><option value="220">Tanzania</option><option value="221">Thailand</option><option value="222">Timor-Leste</option><option value="223">Togo</option><option value="224">Tokelau</option><option value="225">Tonga</option><option value="226">Trinidad and Tobago</option><option value="227">Tunisia</option><option value="228">Turkey</option><option value="229">Turkmenistan</option><option value="230">Turks and Caicos Islands</option><option value="231">Tuvalu</option><option value="232">Uganda</option><option value="233">Ukraine</option><option value="234">United Arab Emirates</option><option value="235">United Kingdom</option><option value="237">United States Minor Outlying Islands</option><option value="238">Uruguay</option><option value="239">Uzbekistan</option><option value="240">Vanuatu</option><option value="241">Venezuela</option><option value="242">Vietnam</option><option value="243">Virgin Islands, British</option><option value="244">Virgin Islands, US</option><option value="245">Wallis and Futuna Islands</option><option value="246">Western Sahara</option><option value="247">Yemen</option><option value="248">Yugoslavia</option><option value="249">Zambia</option><option value="250">Zimbabwe</option></select>`, 108 last_known_province_TOD: `<select style="display: block; ${inputStyle};" class="filter-value select-multiple" id="form_advanced_last_know_province_TOD" name="form_advanced[last_know_province_TOD][]" multiple="multiple"><option value="11">Camagüey</option><option value="15">Ciego de Ãvila</option><option value="10">Cienfuegos</option><option value="6">Ciudad de La Habana</option><option value="2">Granma</option><option value="14">Guantánamo</option><option value="4">HolguÃn</option><option value="13">Isla de la Juventud</option><option value="9">La Habana</option><option value="16">Las Tunas</option><option value="17">Las Villas</option><option value="8">Matanzas</option><option value="19">Mayabeque</option><option value="1">N/A</option><option value="18">Oriente</option><option value="7">Pinar del RÃo</option><option value="12">Sancti SpÃritus</option><option value="3">Santiago de Cuba</option><option value="5">Villa Clara</option></select>`, 109 last_know_city: `<input type="text" style="display: block; ${inputStyle};" class="filter-value" id="form_advanced_last_know_city" name="form_advanced[last_know_city]">`, 110 last_known_country: `<select id="form_advanced_last_know_country" name="form_advanced[last_know_country]" style="display: block; ${inputStyle};" class="filter-value" ><option value="">${LL.choose_an_option}</option><option value="1">Cuba</option><option value="2">United States</option><option value="3">Afghanistan</option><option value="4">Aland Islands</option><option value="5">Albania</option><option value="6">Algeria</option><option value="7">American Samoa</option><option value="8">Andorra</option><option value="9">Angola</option><option value="10">Anguilla</option><option value="11">Antarctica</option><option value="12">Antigua and Barbuda</option><option value="13">Argentina</option><option value="14">Armenia</option><option value="15">Aruba</option><option value="16">Ascension Island</option><option value="17">Australia</option><option value="18">Austria</option><option value="19">Azerbaijan</option><option value="20">Bahamas</option><option value="21">Bahrain</option><option value="22">Bangladesh</option><option value="23">Barbados</option><option value="24">Belarus</option><option value="25">Belgium</option><option value="26">Belize</option><option value="27">Benin</option><option value="28">Bermuda</option><option value="29">Bhutan</option><option value="30">Bolivia</option><option value="31">Bosnia and Herzegovina</option><option value="32">Botswana</option><option value="33">Bouvet Island</option><option value="34">Brazil</option><option value="35">British Indian Ocean Territory</option><option value="36">Brunei Darussalam</option><option value="37">Bulgaria</option><option value="38">Burkina Faso</option><option value="39">Burundi</option><option value="40">Cambodia</option><option value="41">Cameroon</option><option value="42">Canada</option><option value="43">Cape Verde</option><option value="44">Cayman Islands</option><option value="45">Central African Republic</option><option value="46">Chad</option><option value="47">Chile</option><option value="48">China</option><option value="49">Christmas Island</option><option value="50">Cocos (Keeling) Islands</option><option value="51">Colombia</option><option value="52">Comoros</option><option value="53">Republic of Congo</option><option value="54">Democratic Republic of Congo</option><option value="55">Cook Islands</option><option value="56">Costa Rica</option>
110<option value="57">Cote d'Ivoire</option><option value="58">Croatia</option><option value="59">Cyprus</option><option value="60">Czech Republic</option><option value="61">Denmark</option><option value="62">Djibouti</option><option value="63">Dominica</option><option value="64">Dominican Republic</option><option value="65">East Timor</option><option value="66">Ecuador</option><option value="67">Egypt</option><option value="68">El Salvador</option><option value="69">Equatorial Guinea</option><option value="70">Eritrea</option><option value="71">Estonia</option><option value="72">Ethiopia</option><option value="73">European Union</option><option value="74">Falkland Islands (Malvinas)</option><option value="75">Faroe Islands</option><option value="76">Fiji</option><option value="77">Finland</option><option value="78">France</option><option value="79">French Guiana</option><option value="80">French Polynesia</option><option value="81">French Southern Territories</option><option value="82">Gabon</option><option value="83">Gambia</option><option value="84">Georgia</option><option value="85">Germany</option><option value="86">Ghana</option><option value="87">Gibraltar</option><option value="88">Greece</option><option value="89">Greenland</option><option value="90">Grenada</option><option value="91">Guadeloupe</option><option value="92">Guam</option><option value="93">Guatemala</option><option value="94">Guernsey</option><option value="95">Guinea</option><option value="96">Guinea-Bissau</option><option value="97">Guyana</option><option value="98">Haiti</option><option value="99">Heard and McDonald Islands</option><option value="100">Holy See (Vatican City State)</option><option value="101">Honduras</option><option value="102">Hong Kong</option><option value="103">Hungary</option><option value="104">Iceland</option><option value="105">India</option><option value="106">Indonesia</option><option value="107">Iran</option><option value="108">Iraq</option><option value="109">Ireland</option><option value="110">Isle of Man</option><option value="111">Israel</option><option value="112">Italy</option><option value="113">Jamaica</option><option value="114">Japan</option><option value="115">Jersey</option><option value="116">Jordan</option><option value="117">Kazakhstan</option><option value="118">Kenya</option><option value="119">Kiribati</option><option value="120">Korea</option><option value="122">Kuwait</option><option value="123">Kyrgyzstan</option><option value="124">Lao People's Democratic Republic</option><option value="125">Latvia</option><option value="126">Lebanon</option><option value="127">Lesotho</option><option value="128">Liberia</option><option value="129">Libyan Arab Jamahiriya</option><option value="130">Liechtenstein</option><option value="131">Lithuania</option><option value="132">Luxembourg</option><option value="133">Macao</option><option value="134">Macedonia</option><option value="135">Madagascar</option><option value="136">Malawi</option><option value="137">Malaysia</option><option value="138">Maldives</option><option value="139">Mali</option><option value="140">Malta</option><option value="141">Marshall Islands</option><option value="142">Martinique</option><option value="143">Mauritania</option><option value="144">Mauritius</option><option value="145">Mayotte</option><option value="146">Mexico</option><option value="147">Micronesia</option><option value="148">Moldova</option><option value="149">Monaco</option><option value="150">Mongolia</option><option value="151">Montenegro</option><option value="152">Montserrat</option><option value="153">Morocco</option><option value="154">Mozambique</option><option value="155">Myanmar</option><option value="156">Namibia</option><option value="157">Nauru</option><option value="158">Nepal</option><option value="159">Netherlands</option><option value="160">Netherlands Antilles</option><option value="161">New Caledonia</option><option value="162">New Zealand</option><option value="163">Nicaragua</option><option value="164">Niger</option><option value="165">Nigeria</option><option value="166">Niue</option><option value="167">Norfolk Island</option><option value="168">Northern Mariana Islands</option><option value="169">Norway</option><option value="170">Oman</option><option value="171">Pakistan</option><option value="172">Palau</option><option value="173">Palestinian Territory</option><option value="174">Panama</option><option value="175">Papua New Guinea</option><option value="176">Paraguay</option><option value="177">
110Peru</option><option value="178">Philippines</option><option value="179">Pitcairn Island</option><option value="180">Poland</option><option value="181">Portugal</option><option value="182">Puerto Rico</option><option value="183">Qatar</option><option value="184">Reunion Island</option><option value="185">Romania</option><option value="186">Russian Federation</option><option value="187">Rwanda</option><option value="188">Saint Helena</option><option value="189">Saint Kitts and Nevis</option><option value="190">Saint Lucia</option><option value="191">Saint Pierre and Miquelon</option><option value="192">Saint Vincent and the Grenadines</option><option value="193">Samoa</option><option value="194">San Marino</option><option value="195">Sao Tome and Principe</option><option value="196">Saudi Arabia</option><option value="197">Senegal</option><option value="198">Serbia</option><option value="199">Seychelles</option><option value="200">Sierra Leone</option><option value="201">Singapore</option><option value="202">Slovak Republic</option><option value="203">Slovenia</option><option value="204">Solomon Islands</option><option value="205">Somalia</option><option value="206">South Africa</option><option value="207">South Georgia and the South Sandwich Islands</option><option value="208">Soviet Union</option><option value="209">Spain</option><option value="210">Sri Lanka</option><option value="211">Sudan</option><option value="212">Suriname</option><option value="213">Svalbard and Jan Mayen Islands</option><option value="214">Swaziland</option><option value="215">Sweden</option><option value="216">Switzerland</option><option value="217">Syrian Arab Republic</option><option value="218">Taiwan</option><option value="219">Tajikistan</option><option value="220">Tanzania</option><option value="221">Thailand</option><option value="222">Timor-Leste</option><option value="223">Togo</option><option value="224">Tokelau</option><option value="225">Tonga</option><option value="226">Trinidad and Tobago</option><option value="227">Tunisia</option><option value="228">Turkey</option><option value="229">Turkmenistan</option><option value="230">Turks and Caicos Islands</option><option value="231">Tuvalu</option><option value="232">Uganda</option><option value="233">Ukraine</option><option value="234">United Arab Emirates</option><option value="235">United Kingdom</option><option value="237">United States Minor Outlying Islands</option><option value="238">Uruguay</option><option value="239">Uzbekistan</option><option value="240">Vanuatu</option><option value="241">Venezuela</option><option value="242">Vietnam</option><option value="243">Virgin Islands, British</option><option value="244">Virgin Islands, US</option><option value="245">Wallis and Futuna Islands</option><option value="246">Western Sahara</option><option value="247">Yemen</option><option value="248">Yugoslavia</option><option value="249">Zambia</option><option value="250">Zimbabwe</option></select>`, 111 associated_event: `<select id="form_advanced_associated_event" name="form_advanced[associated_event][]" style="display: block; ${inputStyle};" class="filter-value select-multiple" multiple="multiple"><option value="28">1953 Attack on Moncada Barracks</option><option value="19">1956 Attack on GoicurÃa Army Barracks</option><option value="20">1956 Attack/Massacre at Haiti Embassy</option><option value="23">1956 Bloody Christmas Night</option><option value="22">1956 Granma landing - Ambush at AlegrÃa de PÃo</option><option value="21">1956 Santiago de Cuba insurrection</option><option value="24">1957 Attack on Presidential Palace</option><option value="46">1957 Cienfuegos uprising</option><option value="25">1957 Corynthia landing</option><option value="31">1958 Cubana de Aviación hijacking</option><option value="26">1958 General Labor Strike</option><option value="27">1958 Los Cocos Massacre</option><option value="43">1959 Guanabaquilla massacre</option><option value="7">1959 San Juan Hill Massacre</option><option value="9">1960 La Coubre explosion</option><option value="8">1961 Bay of Pigs invasion</option><option value="2">1961 Bay of Pigs/Celia</option><option value="33">1962 August 30th (Sta. Rosa) Conspiracy</option><option value="39">1962 Barlovento Massacre</option><option value="12">1963 Flying Tiger II friendly fire incident</option><option value="38">1976 Cubana de Aviación bombing -Barbados</option><option value="14">1980 Canimar River massacre</option><option value="42">1983 Grenada battle (U.S. invasion)</option><option value="37">1985 Cubana de Aviación crash</option><option value="15">1989 General Ochoa purge</option><option value="16">1994 Tugboat massacre</option><option value="44">2008 Jan. 31 balsero disappearance</option><option value="41">Angola war</option><option value="3">Anti-Batista insurgency/resistance</option><option value="6">Anti-Castro insurgency - Escambray uprising</option><option value="47">
111Anti-Castro insurgency - La Ceiba Massacre</option><option value="10">Anti-Castro insurgency -1960 Navas Bay/Armentino Feria operation</option><option value="11">Anti-Castro insurgency -Sta. Rosa de Lima conspiracy/Causa 152</option><option value="5">Anti-Castro insurgency/resistance</option><option value="40">Congo War</option><option value="50">Ethiopia military intervention</option><option value="51">Execution with prior blood extraction</option><option value="36">Guantanamo Naval Base exit attempt</option><option value="48">International intervention (armed/subversion)</option><option value="52">International intervention armed/subversion (Venezuela)</option><option value="35">LGBT or HIV/Aids patient</option><option value="34">Missing body parts or tampering/Denied remains</option><option value="4">Religious persecution / religious leader</option><option value="49">UMAP</option></select>`, 112 location_death_country: `<select id="form_advanced_location_death_country" name="form_advanced[location_death_country]" style="display: block; ${inputStyle};" class="filter-value" ><option value="">${LL.choose_an_option}</option><option value="1">Cuba</option><option value="2">United States</option><option value="3">Afghanistan</option><option value="4">Aland Islands</option><option value="5">Albania</option><option value="6">Algeria</option><option value="7">American Samoa</option><option value="8">Andorra</option><option value="9">Angola</option><option value="10">Anguilla</option><option value="11">Antarctica</option><option value="12">Antigua and Barbuda</option><option value="13">Argentina</option><option value="14">Armenia</option><option value="15">Aruba</option><option value="16">Ascension Island</option><option value="17">Australia</option><option value="18">Austria</option><option value="19">Azerbaijan</option><option value="20">Bahamas</option><option value="21">Bahrain</option><option value="22">Bangladesh</option><option value="23">Barbados</option><option value="24">Belarus</option><option value="25">Belgium</option><option value="26">Belize</option><option value="27">Benin</option><option value="28">Bermuda</option><option value="29">Bhutan</option><option value="30">Bolivia</option><option value="31">Bosnia and Herzegovina</option><option value="32">Botswana</option><option value="33">Bouvet Island</option><option value="34">Brazil</option><option value="35">British Indian Ocean Territory</option><option value="36">Brunei Darussalam</option><option value="37">Bulgaria</option><option value="38">Burkina Faso</option><option value="39">Burundi</option><option value="40">Cambodia</option><option value="41">Cameroon</option><option value="42">Canada</option><option value="43">Cape Verde</option><option value="44">Cayman Islands</option><option value="45">Central African Republic</option><option value="46">Chad</option><option value="47">Chile</option><option value="48">China</option><option value="49">Christmas Island</option><option value="50">Cocos (Keeling) Islands</option><option value="51">Colombia</option><option value="52">Comoros</option><option value="53">Republic of Congo</option><option value="54">Democratic Republic of Congo</option><option value="55">Cook Islands</option><option value="56">Costa Rica</option><option value="57">Cote d'Ivoire</option><option value="58">Croatia</option><option value="59">Cyprus</option><option value="60">Czech Republic</option><option value="61">Denmark</option><option value="62">Djibouti</option><option value="63">Dominica</option><option value="64">Dominican Republic</option><option value="65">East Timor</option><option value="66">Ecuador</option><option value="67">Egypt</option><option value="68">El Salvador</option><option value="69">Equatorial Guinea</option><option value="70">Eritrea</option><option value="71">Estonia</option><option value="72">Ethiopia</option><option value="73">European Union</option><option value="74">Falkland Islands (Malvinas)</option><option value="75">Faroe Islands</option><option value="76">Fiji</option><option value="77">Finland</option><option value="78">France</option><option value="79">French Guiana</option><option value="80">French Polynesia</option><option value="81">French Southern Territories</option><option value="82">Gabon</option><option value="83">Gambia</option><option value="84">Georgia</option><option value="85">Germany</option><option value="86">Ghana</option><option value="87">Gibraltar</option><option value="88">Greece</option><option value="89">Greenland</option><option value="90">Grenada</option><option value="91">Guadeloupe</option><option value="92">Guam</option><option value="93">Guatemala</option><option value="94">Guernsey</option><option value="95">Guinea</option><option value="96">Guinea-Bissau</option><option value="97">Guyana</option><option value="98">
112Haiti</option><option value="99">Heard and McDonald Islands</option><option value="100">Holy See (Vatican City State)</option><option value="101">Honduras</option><option value="102">Hong Kong</option><option value="103">Hungary</option><option value="104">Iceland</option><option value="105">India</option><option value="106">Indonesia</option><option value="107">Iran</option><option value="108">Iraq</option><option value="109">Ireland</option><option value="110">Isle of Man</option><option value="111">Israel</option><option value="112">Italy</option><option value="113">Jamaica</option><option value="114">Japan</option><option value="115">Jersey</option><option value="116">Jordan</option><option value="117">Kazakhstan</option><option value="118">Kenya</option><option value="119">Kiribati</option><option value="120">Korea</option><option value="122">Kuwait</option><option value="123">Kyrgyzstan</option><option value="124">Lao People's Democratic Republic</option><option value="125">Latvia</option><option value="126">Lebanon</option><option value="127">Lesotho</option><option value="128">Liberia</option><option value="129">Libyan Arab Jamahiriya</option><option value="130">Liechtenstein</option><option value="131">Lithuania</option><option value="132">Luxembourg</option><option value="133">Macao</option><option value="134">Macedonia</option><option value="135">Madagascar</option><option value="136">Malawi</option><option value="137">Malaysia</option><option value="138">Maldives</option><option value="139">Mali</option><option value="140">Malta</option><option value="141">Marshall Islands</option><option value="142">Martinique</option><option value="143">Mauritania</option><option value="144">Mauritius</option><option value="145">Mayotte</option><option value="146">Mexico</option><option value="147">Micronesia</option><option value="148">Moldova</option><option value="149">Monaco</option><option value="150">Mongolia</option><option value="151">Montenegro</option><option value="152">Montserrat</option><option value="153">Morocco</option><option value="154">Mozambique</option><option value="155">Myanmar</option><option value="156">Namibia</option><option value="157">Nauru</option><option value="158">Nepal</option><option value="159">Netherlands</option><option value="160">Netherlands Antilles</option><option value="161">New Caledonia</option><option value="162">New Zealand</option><option value="163">Nicaragua</option><option value="164">Niger</option><option value="165">Nigeria</option><option value="166">Niue</option><option value="167">Norfolk Island</option><option value="168">Northern Mariana Islands</option><option value="169">Norway</option><option value="170">Oman</option><option value="171">Pakistan</option><option value="172">Palau</option><option value="173">Palestinian Territory</option><option value="174">Panama</option><option value="175">Papua New Guinea</option><option value="176">Paraguay</option><option value="177">Peru</option><option value="178">Philippines</option><option value="179">Pitcairn Island</option><option value="180">Poland</option><option value="181">Portugal</option><option value="182">Puerto Rico</option><option value="183">Qatar</option><option value="184">Reunion Island</option><option value="185">Romania</option><option value="186">Russian Federation</option><option value="187">Rwanda</option><option value="188">Saint Helena</option><option value="189">Saint Kitts and Nevis</option><option value="190">Saint Lucia</option><option value="191">Saint Pierre and Miquelon</option><option value="192">Saint Vincent and the Grenadines</option><option value="193">Samoa</option><option value="194">San Marino</option><option value="195">Sao Tome and Principe</option><option value="196">Saudi Arabia</option><option value="197">Senegal</option><option value="198">Serbia</option><option value="199">Seychelles</option><option value="200">Sierra Leone</option><option value="201">Singapore</option><option value="202">Slovak Republic</option><option value="203">Slovenia</option><option value="204">Solomon Islands</option><option value="205">Somalia</option><option value="206">South Africa</option><option value="207">South Georgia and the South Sandwich Islands</option><option value="208">Soviet Union</option><option value="209">Spain</option><option value="210">Sri Lanka</option><option value="211">Sudan</option><option value="212">Suriname</option><option value="213">Svalbard and Jan Mayen Islands</option><option value="214">Swaziland</option><option value="215">Sweden</option><option value="216">Switzerland</option><option value="217">Syrian Arab Republic</option><option value="218">Taiwan</option><option value="219">Tajikistan</option><option value="220">Tanzania</option><option value="221">Thailand</option><option value="222">Timor-Leste</option><option value="223">Togo</option><option value="224">Tokelau</option><option value="225">Tonga</option><option value="226">Trinidad and Tobago</option><option value="227">Tunisia</option><option value="228">Turkey</option><option value="229">Turkmenistan</option><option value="230">Turks and Caicos Islands</option><option value="231">Tuvalu</option><option value="232">Uganda</option><option value="233">Ukraine</option><option value="234">United Arab Emirates</option><option value="235">United Kingdom</option><option value="237">United States Minor Outlying Islands</option><option value="238">Uruguay</option><option value="239">Uzbekistan</option><option value="240">Vanuatu</option><option value="241">Venezuela</option><option value="242">Vietnam</option><option value="243">Virgin Islands, British</option><option value="244">Virgin Islands, US</option><option value="245">Wallis and Futuna Islands</option><option value="246">Western Sahara</option><option value="247">Yemen</option><option value="248">Yugoslavia</option><option value="249">Zambia</option><option value="250">Zimbabwe</option></select>`, 113 location_death_city: `<input type="text" id="form_advanced_location_death_city" name="form_advanced[location_death_city]" style="display: block; ${inputStyle};" class="filter-value">`, 114 location_death_TOD: `<select id="form_advanced_location_death_TOD" name="form_advanced[location_death_TOD][]" style="display: block; ${inputStyle};" class="filter-value select-multiple" multiple="multiple"><option value="11">Camagüey</option><option value="15">Ciego de Ãvila</option><option value="10">Cienfuegos</option><option value="6">Ciudad de La Habana</option><option value="2">Granma</option><option value="14">Guantánamo</option><option value="4">HolguÃn</option><option value="13">Isla de la Juventud</option><option value="9">La Habana</option><option value="16">Las Tunas</option><option value="17">Las Villas</option><option value="8">Matanzas</option><option value="19">Mayabeque</option><option value="1">N/A</option><option value="18">Oriente</option><option value="7">Pinar del RÃo</option><option value="12">Sancti SpÃritus</option><option value="3">Santiago de Cuba</option><option value="5">Villa Clara</option></select>`, 115 death_atttributed: `<select id="form_advanced_death_atttributed" name="form_advanced[death_atttributed][]" style="display: block; ${inputStyle};" class="filter-value select-multiple" multiple="multiple"><option value="3">Anti-Batista Resistance / Rebel Army</option><option value="6">Anti-Castro non-state actors</option><option value="5">Armed forces of another country</option><option value="7">Batista regime</option><option value="1">Castro regime</option><option value="2">N/A or Undetermined</option><option value="4">Other</option></select>`, 116 cause_death: `<select id="form_advanced_cause_death" name="form_advanced[cause_death][]" style="display: block; ${inputStyle};" class="filter-value select-multiple" multiple="multiple"><option value="7">Accidental / Unintentional</option><option value="58">Combat: civilian casualty of war</option><option value="5">Combat: fatality or Missing in Action</option><option value="60">Combat: war crime</option><option value="53">Disappearance: exit attempt - forced</option><option value="1">Disappearance: exit attempt</option><option value="61">Disappearance: exit attempt - forced (suspected)</option><option value="62">Disappearance: forced (suspected) not in exit attempt</option><option value="50">Disappearance: forced not in exit attempt</option><option value="6">Disappearance: not forced, not exit atempt, not combat</option><option value="12">Execution</option><option value="3">Execution: by firing squad</option><option value="55">Execution: with prior blood extraction</option><option value="13">Exit attempt: dehydration/drowning/etc.</option><option value="49">Exit attempt: killed by mines</option><option value="54">Exit attempt: other</option><option value="2">Extrajudicial killing</option>
116<option value="57">Extrajudicial killing - possible/suspected</option><option value="52">Extrajudicial killing: exit attempt</option><option value="59">Gross or criminal negligence</option><option value="21">Hunger strike</option><option value="20">Killed by bomb, mine or other explosion</option><option value="8">Medical condition/Denial of medical care</option><option value="4">N/A or Undetermined</option><option value="10">Other</option><option value="51">Politically-motivated killing by non-state agent(s)</option><option value="56">Prisoner/Detainee: assassination or other</option><option value="18">Prisoner/Detainee: reported natural causes</option><option value="9">Suicide/Alleged Suicide</option><option value="16">Terrorism/Attack on civilian</option></select>`, 117 }; 118 119 const getRow = element => { 120 return `<tr data-case-id="${element.caseid}" style="cursor: pointer"> 121 <td>${element.caseid}</td> 122 <td>${blankOrNull(element.firstname)}</td> 123 <td>${blankOrNull( element.lastname)}</td> 124 <tr/>`; 125 }; 126 127 const performSearch = (evt) => { 128 const firstNameElement = $('#first_Name'); 129 const lastNameElement = $('#last_Name'); 130 const caseIdElement = $('#case_id'); 131 const advancedFields = $('.filter-value'); 132 let query = ``; 133 134 if (caseIdElement.val().length == 0) { 135 // let queryElems = []; 136 // $(advancedFields).each((index, elem) => { 137 // console.log($(elem).val()); 138 // queryElems.push(`${elem.name}=${$(elem).val()}`); 139 // }); 140 // query = queryElems.join('&'); 141 console.log('executing advanced search...'); 142 let newQuery = $('#advanced-search-form').serialize(); 143 caapi.advancedSearch(newQuery); 144 } else { 145 console.log('executing simple search...'); 146 caapi.singleSearch(caseIdElement.val(), firstNameElement.val(), lastNameElement.val()); 147 } 148 }; 149 150 const getUrlParameter = function getUrlParameter(sParam) { 151 var sPageURL = window.location.search.substring(1), 152 sURLVariables = sPageURL.split('&'), 153 sParameterName, 154 i; 155 156 for (i = 0; i < sURLVariables.length; i++) { 157 sParameterName = sURLVariables[i].split('='); 158 159 if (sParameterName[0] === sParam) { 160 return sParameterName[1] === undefined ? true : decodeURIComponent(sParameterName[1]); 161 } 162 } 163 164 return false; 165 }; 166 167 caapi.singleSearch = (caseId, first_name, last_name) => { 168 $(document.body).prepend(loadingHtml); 169 caapi.setMessage('Searching...'); 170 $.get(`${base_url}/get-simple-search-results/?caseId=${caseId}&first=${first_name}&last=${last_name}`, (results, status) => { 171 $('.ca-loading').remove(); 172 if (status == 'success') { 173 caapi.setData(results.data, results.recordsTotal); 174 } else { 175 alert(`Error getting data from API. `); 176 caapi.setMessage(`Error getting data from API.`); 177 } 178 }); 179 }; 180 181 caapi.advancedSearch = (query) => { 182 $(document.body).prepend(loadingHtml); 183 caapi.setMessage('Searching...'); 184 $.get(`${base_url}/get-advance-search/?${query}`, (results, status) => { 185 $('.ca-loading').remove(); 186 if (status == 'success') { 187 caapi.setData(results, results.length); 188 } else { 189 alert(`Error getting data from API. `); 190 caapi.setMessage(`Error getting data from API.`); 191 } 192 }); 193 }; 194 195 // initialize and set 196 caapi.setData = (data, count) => { 197 caapi.data = data; 198 caapi.recordCount = count; 199 caapi.currentPage = 0; 200 caapi.perPage = 15; 201 caapi.drawPage(0); 202 }; 203 204 caapi.setMessage = (msg) => { 205 const tableBody = $(tableBodySelector); 206 tableBody.html(` 207 <tr> 208 <td style="text-align: center" colspan="3"> 209 <h4>${msg}</h4> 210 </td> 211 </tr>`); 212 }; 213 214 caapi.drawPage = (pageNumber) => { 215 if (!pageNumber) pageNumber = caapi.currentPage; 216 const elements = caapi.data.slice(pageNumber * caapi.perPage, (pageNumber + 1) * caapi.perPage); 217 // clear table and spawn new elements 218 const tableBody = $(tableBodySelector); 219 tableBody.html(''); 220 elements.forEach(element => { 221 const row = getRow(element); 222 tableBody.append(row); 223 }); 224 // set click event 225 $('#results-table tr td').on('click', function(evt) { 226 let caseId = $(this).parent().data('case-id');
227 caapi.showDetailsModal(caseId); 228 }); 229 // update pagination 230 let start = pageNumber * caapi.perPage + 1; 231 let end = (pageNumber + 1) * caapi.perPage; 232 if (end > caapi.data.length) end = caapi.data.length; 233 if (end == 0) start = 0; 234 const pagStyle = `display: inline-block; font-size: 14px; font-family: Arial;`; 235 let pagesHtml = ''; 236 let totalPages = Math.floor(caapi.data.length / caapi.perPage); 237 238 for (let i = 0; i < totalPages; i++) { 239 if (i == pageNumber) { 240 pagesHtml += `<option selected="selected" value="${i}">${i+1}</option>`; 241 } else { 242 pagesHtml += `<option value="${i}">${i+1}</option>`; 243 } 244 } 245 246 $('#ca-pagination').html(` 247 <div style="${pagStyle}"> 248 <p>${LL.showing_results} <b>${start}</b> ${LL.to} <b>${end}</b> ${LL.of} <b>${caapi.data.length}</b></p> 249 </div> 250 <div style="float: right; ${pagStyle}"> 251 <span style="margin-right: 4px">Go to page:</span> 252 <select id="ca-go-to-page" style="${inputStyle}; width: auto;"> 253 ${pagesHtml} 254 </select> 255 </div> 256 `); 257 258 $('#ca-go-to-page').on('change', function(evt) { 259 caapi.goto(parseInt($(this).val())); 260 }); 261 }; 262 263 caapi.next = () => { 264 caapi.currentPage++; 265 if (caapi.currentPage * caapi.perPage >= caapi.data.length) { 266 caapi.currentPage = Math.floor(caapi.data.length / caapi.perPage); 267 return; 268 }; 269 caapi.drawPage(caapi.currentPage); 270 }; 271 272 caapi.goto = (page) => { 273 caapi.currentPage = page; 274 if (caapi.currentPage * caapi.perPage >= caapi.data.length) { 275 caapi.currentPage = Math.floor(caapi.data.length / caapi.perPage); 276 return; 277 }; 278 caapi.drawPage(caapi.currentPage); 279 }; 280 281 caapi.prev = () => { 282 caapi.currentPage--; 283 if (caapi.currentPage < 0) { 284 caapi.currentPage = 0; 285 return; 286 }; 287 288 caapi.drawPage(caapi.currentPage); 289 }; 290
291 caapi.showDetailsModal = (caseId) => { 292 const detailsModal = $('.fusion-modal.Details'); 293 const leftContent = $('#case-description-left'); 294 const rightContent = $('#case-description-right'); 295 const topContent = $('#case-description-top'); 296 const bottomContent = $('#case-description-bottom'); 297 298 leftContent.html(''); 299 rightContent.html(''); 300 topContent.html(''); 301 bottomContent.html(''); 302 303 $(`${detailsModal.selector} .modal-dialog`).css('overflow', 'hidden'); 304 305 $.get(`${base_url}/get-case-details/?caseId=${caseId}`, (data, response) => { 306 const addField = (attr, text, container) => { 307 308 if (['externalFiles'].indexOf(attr) >= 0 && data[attr].length == 0) return; 309 310 if (!data[attr] || data[attr] == "" || data[attr].length == 0) { 311 container.append(`<div style="color: #aa1a1a; font-size: 14px"><b>${text}:</b> -</div>`); 312 return; 313 } 314 315 // associatedeventid 316 if (attr == 'associatedeventid') { 317 let relatives = []; 318 319 if (!data[attr]) { 320 container.append(`<div style="color: #aa1a1a; font-size: 14px"><b>${text}:</b> -</div>`); 321 return; 322 } 323 324 container.append(`<div style="color: #434343; font-size: 14px"><b>${text}:</b> ${data[attr].associatedeventsname}</div>`); 325 326 return; 327 } 328 329 // relativesInArchive 330 if (attr == 'relativesInArchive') { 331 let relatives = []; 332 333 if (data[attr].length == 0) { 334 container.append(`<div style="color: #aa1a1a; font-size: 14px"><b>${text}:</b> -</div>`); 335 return; 336 } 337 338 data[attr].forEach((v, i) => { 339 let value = `[${v.relatedvictimcaseid.caseid}] - ${v.relatedvictimcaseid.firstname} ${v.relatedvictimcaseid.lastname} (${v.reltypeid.relationshiptype})` 340 relatives.push(value); 341 }); 342 343 container.append(`<div style="color: #434343; font-size: 14px"><b>${text}:</b><br/> ${relatives.join('<br/>')}</div>`); 344 345 return; 346 } 347 348 // otherVictimSameEvent 349 if (attr == 'otherVictimSameEvent') { 350 let relatives = []; 351 352 if (data[attr].length == 0) { 353 container.append(`<div style="color: #aa1a1a; font-size: 14px"><b>${text}:</b> -</div>`); 354 return; 355 } 356 357 data[attr].forEach((v, i) => { 358 let value = `[${v.caseid2.caseid}] - ${v.caseid2.firstname} ${v.caseid2.lastname}` 359 relatives.push(value); 360 }); 361 362 container.append(`<div style="color: #434343; font-size: 14px"><b>${text}:</b><br/> ${relatives.join('<br/>')}</div>`); 363 364 return; 365 } 366 367 if (Array.isArray(data[attr])) { 368 if (typeof data[attr][0] == 'string') { 369 let value = data[attr].join(', ') 370 container.append(`<div style="color: #434343; font-size: 14px"><b>${text}:</b> ${value}</div>`); 371 } else if (typeof data[attr][0] == 'object') { 372 let types = []; 373 374 data[attr].forEach((v, i) => { 375 types.push(Array.from(new Set(Object.values(data[attr][0]))).filter(val => Number.isNaN(parseInt(val))).join(', ')); 376 }); 377 378 container.append(`<div style="color: #434343; font-size: 14px"><b>${text}:</b> ${types.join(', ')}</div>`); 379 } 380 } else if (typeof data[attr] === 'object') { 381 let value = Object.values(data[attr]).filter(val => Number.isNaN(parseInt(val))).join(''); 382 container.append(`<div style="color: #434343; font-size: 14px"><b>${text}:</b> ${value}</div>`); 383 } else { 384 container.append(`<div style="color: #434343; font-size: 14px"><b>${text}:</b> ${data[attr]}</div>`); 385 } 386 }; 387 388 const addDate = (year, month, day, text, container) => { 389 let date = 'unknown'; 390 if (year > 0 && month > 0 && day > 0) { 391 date = moment(`${year}-${month}-${day}`).format('MMM DD, YYYY'); 392 } 393 container.append(`<div style="color: #434343; font-size: 14px"><b>${text}:</b> ${date}</div>`) 394 }; 395 396 if (response == 'success') { 397 $('.person-name').html(`${data.firstname} ${data.lastname}`); 398 $('.case-id').html(`Case ID: ${data.caseid}`); 399 // personal info 400 leftContent.append('<h4>Personal information</h4>'); 401 addField('title', 'Title', leftContent); 402 addField('firstname', 'First name', leftContent); 403 addField('lastname', 'Last name', leftContent); 404 addField('citizenship', 'Citizenship', leftContent); 405 addField('sufix', 'Sufix', leftContent); 406 addField('aliases', 'Alias', leftContent); 407 addField('gender', 'Gender', leftContent); 408 addField('age', 'Age', leftContent); 409 addDate(data.yearofbirth, data.monthofbirth, data.dayofbirth, 'Date of birth', leftContent); 410 addField('civilstatus', 'Civil status', leftContent); 411 addField('lastaddress', 'Last known address', leftContent); 412 addField('lastcity', 'Last known city', leftContent); 413 addField('provinceoldid', 'Last known province at TOD', leftContent); 414 addField('provincenewid', 'Last known province current', leftContent); 415 addField('lastaddresscountry', 'Last known country', leftContent); 416 addField('locationdeathaddress', 'Location death - address', leftContent); 417 addField('locationdeathcity', 'Location of death - city', leftContent); 418 addDate(data.yearofdeath, data.monthofdeath, data.dayofdeath, 'Date of death/disappearance', leftContent); 419 addField('provincedeathatdeath', 'Death/disappearance province at TOD', leftContent); 420 addField('provincedeathcurrent', 'Death/disappearance province (current)', leftContent); 421 addField('locationdeathcountry', 'Death/disappearance - Country', leftContent); 422 addField('occupations', 'Occupations', leftContent); 423 424 425 // case details 426 rightContent.append('<h4>Case details</h4>');
427 addField('trial', 'Trial', rightContent); 428 addField('docketnumber', 'Docket number', rightContent); 429 addField('sentence', 'Sentence', rightContent); 430 addField('arrestordetentionatdeath', 'Arrest or detention at time of death', rightContent); 431 addField('arrestlocation', 'Imprisoned or detained location', rightContent); 432 addDate(data.yearofarrest, data.monthofarrest, data.dayofarrest, 'Date of arrest', rightContent); 433 addField('arrestduration', 'Time imprisoned or detained', rightContent); 434 addField('deathattributionid', 'Death attributed to', rightContent); 435 addField('deathattrindividual', 'Death attribution detail', rightContent); 436 addField('violationstatusid', 'Violation status', rightContent); 437 addField('affiliations', 'Affiliations', rightContent); 438 addField('victimTypes', 'Victim Type', rightContent); 439 addField('relativesInArchive', 'Relatives in archive', rightContent); 440 addField('causeOfDeath', 'Cause of death', rightContent); 441 addField('otherVictimSameEvent', 'Other victims on the same event', rightContent); 442 443 // bottom content 444 addField('associatedeventid', 'Associated Event', bottomContent); 445 addField('casedescription', 'Case description', bottomContent); 446 addField('originalsource', 'Source', bottomContent); 447 addField('originalconflicts', 'Conflicts of evidence', bottomContent); 448 addField('externalFiles', 'External files', bottomContent); 449 450 451 $(`${detailsModal.selector} .modal-dialog div b`).css('color', '#424242'); 452 $(`${detailsModal.selector} .fusion-layout-column`).css('margin-bottom', '0'); 453 $(`${detailsModal.selector} .fusion-column-wrapper`).css('margin-bottom', '0'); 454 $(`${detailsModal.selector} .fusion-column-wrapper`).css('margin-bottom', '0'); 455 456 $('.modal-dialog.modal-lg').css('overflow-y', 'auto'); 457 458 const link = "https://cubaarchive.org/database/?caseid=" + caseId; 459 460 $(bottomContent).append(`<div style="color: #434343; font-size: 14px"><b>Share link:</b> <a href="${link}">${link}</a></div>`); 461 462 var found = false; 463 464 var setImage = function (extension) { 465 if (found) return; 466 467 const profileImg = 'https://cubaarchive.org/database-admin/web/img/casos/'+caseId+extension; 468 $.ajax({ 469 url: profileImg, 470 type:'HEAD', 471 error: function() { 472 if (found) return; 473 $('.profile-image').attr('srcset', ['https://cubaarchive.org/wp-content/uploads/2020/03/no-profile-image-png-31-288x300.png']) 474 }, 475 success: function() 476 { 477 if (found) return; 478 found = true; 479 $('.profile-image').attr('srcset', [profileImg]) 480 } 481 }); 482 } 483 484 setImage('.jpg'); 485 setImage('.jpeg'); 486 setImage('.JPG'); 487 setImage('.JPEG'); 488 489 detailsModal.modal('show'); 490 } 491 }); 492 }; 493 494 $(function(){ 495 if ($('#search-button').length > 0) { 496 caapi.setData([], 0); 497 498 $(function() { 499 // on load 500 $(function() { 501 caapi.singleSearch('', '',''); 502 }); 503 // set some listeners 504 $(filtersButtonSelector).on('click', () => { 505 // caapi.singleSearch 506 }); 507 $('.button-prev').on('click', caapi.prev); 508 $('.button-next').on('click', caapi.next); 509 $('.search-button').on('click', performSearch); 510 511 $('#case_id, #last_Name, #first_name').on('keyup', evt => { 512 if (evt.keyCode == 13) { 513 evt.preventDefault(); 514 performSearch(); 515 } 516 }); 517 518 var addColumn = function(container, template, text) { 519 let filterRow = ` 520 <div class="filter-container" style="margin-bottom: 0px; padding: 5px; margin-right: 10px"> 521 <div style="width: 40%; display: inline-block"> 522 <span style="font-weight: 600; font-size: 14px">${text}:</span> 523 </div> 524 <div style="width: 55%; display: inline-block" class="template-container"> 525 ${filterTemplates[template]} 526 </div> 527 <i class="fa-times fas button-remove-filter" style="display: none; cursor: pointer; color: red; padding: 4px; margin-top: 8px; float: right"></i> 528 </div> 529 `; 530 531 container.append(filterRow); 532 } 533 534 let showing = false;
535 536 $('#filters-button').on('click', function() { 537 538 if (showing) { 539 $('.filter-container').remove(); 540 } else { 541 const parent = $(this).parent(); 542 543 // addColumn(parent, 'regime', LL.regime_col); 544 addColumn(parent, 'aliases', LL.aliases); 545 addColumn(parent, 'citizenship', LL.citizenship); 546 addColumn(parent, 'day_death', LL.day_of_death); 547 addColumn(parent, 'month_of_death', LL.month_of_death); 548 addColumn(parent, 'year_of_death', LL.year_of_death); 549 addColumn(parent, 'last_know_city', LL.last_know_city); 550 addColumn(parent, 'last_known_province_TOD', LL.last_known_province_TOD); 551 addColumn(parent, 'last_known_country', LL.last_known_country); 552 addColumn(parent, 'location_death_country', LL.location_death_country); 553 addColumn(parent, 'location_death_TOD', LL.location_death_TOD); 554 addColumn(parent, 'location_death_city', LL.location_death_city); 555 addColumn(parent, 'death_atttributed', LL.death_atttributed); 556 addColumn(parent, 'cause_death', LL.cause_death); 557 addColumn(parent, 'associated_event', LL.associated_event); 558 559 setFilterEvents(); 560 } 561 562 showing = !showing; 563 }); 564 565 function setFilterEvents() { 566 // remove filter button 567 $('.button-remove-filter').off(); 568 $('.button-remove-filter').on('click', function() { 569 $(this).closest('.filter-container').remove(); 570 }); 571 572 // field selector 573 $('.field-selector').off(); 574 $('.field-selector').change(function(evt) { 575 const templateId = $(this).val(); 576 const templateContainer = $(this).closest('.filter-container').find('.template-container'); 577 578 if (templateContainer.length > 0) { 579 $(templateContainer[0]).html('').append(filterTemplates[templateId]); 580 } 581 }); 582 583 $('.select-multiple') 584 .multiselect({ search: true, selectAll: true }); 585 } 586 587 $('#filters-button').click(); 588 }); 589 } 590 }); 591 592 window._CAAPI = caapi; 593 594 $(document).ready(function(){ 595 const caseId = getUrlParameter('caseid'); 596 if (!caseId) return; 597
598 caapi.showDetailsModal(parseInt(caseId)); 599 }); 600 601})( jQuery );
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.