xref: /webtrees/public/js/webtrees.min.js (revision 4ff0652c9f716485ce1866f88c40897142051b8b)
1"use strict";function _classCallCheck(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function _defineProperties(e,t){for(var o=0;o<t.length;o++){var n=t[o];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(e,n.key,n)}}function _createClass(e,t,o){return t&&_defineProperties(e.prototype,t),o&&_defineProperties(e,o),Object.defineProperty(e,"prototype",{writable:!1}),e}function _slicedToArray(e,t){return _arrayWithHoles(e)||_iterableToArrayLimit(e,t)||_unsupportedIterableToArray(e,t)||_nonIterableRest()}function _nonIterableRest(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}function _unsupportedIterableToArray(e,t){if(e){if("string"==typeof e)return _arrayLikeToArray(e,t);var o=Object.prototype.toString.call(e).slice(8,-1);return"Object"===o&&e.constructor&&(o=e.constructor.name),"Map"===o||"Set"===o?Array.from(e):"Arguments"===o||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(o)?_arrayLikeToArray(e,t):void 0}}function _arrayLikeToArray(e,t){(null==t||t>e.length)&&(t=e.length);for(var o=0,n=new Array(t);o<t;o++)n[o]=e[o];return n}function _iterableToArrayLimit(e,t){var o=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=o){var n,a,r=[],i=!0,l=!1;try{for(o=o.call(e);!(i=(n=o.next()).done)&&(r.push(n.value),!t||r.length!==t);i=!0);}catch(e){l=!0,a=e}finally{try{i||null==o.return||o.return()}finally{if(l)throw a}}return r}}function _arrayWithHoles(e){if(Array.isArray(e))return e}!function(e){var t=document.documentElement.lang,o={Han:/[\u3400-\u9FCC]/,Grek:/[\u0370-\u03FF]/,Cyrl:/[\u0400-\u04FF]/,Hebr:/[\u0590-\u05FF]/,Arab:/[\u0600-\u06FF]/};function n(e){return e.replace(/\s+/g," ").trim()}e.detectScript=function(e){for(var t in o)if(e.match(o[t]))return t;return"Latn"},e.buildNameFromParts=function(o,a,r,i,l,s){var c="Han"===e.detectScript(o+a+r+a+i+l),d=c?"":" ",u=c||-1!==["hu","jp","ko","vi","zh-Hans","zh-Hant"].indexOf(t),p=-1!==["is"].indexOf(t)?"":"/";o=n(o),a=n(a.replace(/,/g,d)),r=n(r),i=function(e,o){return"pl"===t&&"F"===o?e.replace(/ski$/,"ska").replace(/cki$/,"cka").replace(/dzki$/,"dzka").replace(/żki$/,"żka"):e}(n(i.replace(/,/g,d)),s),l=n(l);var f=r.endsWith("'")||r.endsWith("‘")?"":" ",h=n(r+f+i);return n(o+d+(u?p+h+p+d+a:a+d+p+h+p)+d+l)},e.pasteAtCursor=function(e,t){if(null!==e){var o=e.selectionStart+t.length,n=e.value.substring(0,e.selectionStart),a=e.value.substring(e.selectionEnd);e.value=n+t+a,e.setSelectionRange(o,o),e.focus()}},e.reformatDate=function(e,t){var o=["JAN","FEB","MAR","APR","MAY","JUN","JUL","AUG","SEP","OCT","NOV","DEC"],n=e.value,a=n.split("("),r="";a.length>1&&(n=a[0],r=a[1]),(n=(n=(n=(n=(n=n.toUpperCase()).replace(/\s+/g," ")).replace(/(^\s)|(\s$)/,"")).replace(/(\d)([A-Z])/g,"$1 $2")).replace(/([A-Z])(\d)/g,"$1 $2")).match(/^Q ([1-4]) (\d\d\d\d)$/)&&(n="BET "+o[3*RegExp.$1-3]+" "+RegExp.$2+" AND "+o[3*RegExp.$1-1]+" "+RegExp.$2),n.match(/^(@#DHIJRI@|HIJRI)( \d?\d )(\d?\d)( \d?\d?\d?\d)$/)&&(n="@#DHIJRI@"+RegExp.$2+["MUHAR","SAFAR","RABIA","RABIT","JUMAA","JUMAT","RAJAB","SHAAB","RAMAD","SHAWW","DHUAQ","DHUAH"][parseInt(RegExp.$3,10)-1]+RegExp.$4),n.match(/^(@#DJALALI@|JALALI)( \d?\d )(\d?\d)( \d?\d?\d?\d)$/)&&(n="@#DJALALI@"+RegExp.$2+["FARVA","ORDIB","KHORD","TIR","MORDA","SHAHR","MEHR","ABAN","AZAR","DEY","BAHMA","ESFAN"][parseInt(RegExp.$3,10)-1]+RegExp.$4),n.match(/^(@#DHEBREW@|HEBREW)( \d?\d )(\d?\d)( \d?\d?\d?\d)$/)&&(n="@#DHEBREW@"+RegExp.$2+["TSH","CSH","KSL","TVT","SHV","ADR","ADS","NSN","IYR","SVN","TMZ","AAV","ELL"][parseInt(RegExp.$3,10)-1]+RegExp.$4),n.match(/^(@#DFRENCH R@|FRENCH)( \d?\d )(\d?\d)( \d?\d?\d?\d)$/)&&(n="@#DFRENCH R@"+RegExp.$2+["VEND","BRUM","FRIM","NIVO","PLUV","VENT","GERM","FLOR","PRAI","MESS","THER","FRUC","COMP"][parseInt(RegExp.$3,10)-1]+RegExp.$4),n=(n=(n=n.replace(/(\d\d)(\d\d)(\d\d)(\d\d)/g,(function(){return RegExp.$1>"12"&&RegExp.$3<="12"&&RegExp.$4<="31"?RegExp.$4+" "+o[RegExp.$3-1]+" "+RegExp.$1+RegExp.$2:RegExp.$1<="31"&&RegExp.$2<="12"&&RegExp.$3>"12"?RegExp.$1+" "+o[RegExp.$2-1]+" "+RegExp.$3+RegExp.$4:RegExp.$1+RegExp.$2+RegExp.$3+RegExp.$4}))).replace(/(\d+)([ ./-])(\d+)(\2)(\d+)/g,(function(){var e=parseInt(RegExp.$1,10),n=parseInt(RegExp.$3,10),a=parseInt(RegExp.$5,10),r=(new Date).getFullYear(),i=r%100,l=r-i;return("DMY"===t||e>13&&a>31)&&e<=31&&n<=12?e+" "+o[n-1]+" "+(a>=100?a:a<=i?a+l:a+l-100):("MDY"===t||n>13&&a>31)&&e<=12&&n<=31?n+" "+o[e-1]+" "+(a>=100?a:a<=i?a+l:a+l-100):("YMD"===t||e>31)&&n<=12&&a<=31?a+" "+o[n-1]+" "+(e>=100?e:e<=i?e+l:e+l-100):RegExp.$1+RegExp.$2+RegExp.$3+RegExp.$4+RegExp.$5}))).replace(/^[>]([\w ]+)$/,"AFT $1").replace(/^[<]([\w ]+)$/,"BEF $1").replace(/^([\w ]+)[-]$/,"FROM $1").replace(/^[-]([\w ]+)$/,"TO $1").replace(/^[~]([\w ]+)$/,"ABT $1").replace(/^[*]([\w ]+)$/,"EST $1").replace(/^[#]([\w ]+)$/,"CAL $1").replace(/^([\w ]+) ?- ?([\w ]+)$/,"BET $1 AND $2").replace(/^([\w ]+) ?~ ?([\w ]+)$/,"FROM $1 TO $2").replace(/JANUARY/g,"JAN").replace(/FEBRUARY/g,"FEB").replace(/MARCH/g,"MAR").replace(/APRIL/g,"APR").replace(/JUNE/g,"JUN").replace(/JULY/g,"JUL").replace(/AUGUST/g,"AUG").replace(/SEPTEMBER/g,"SEP").replace(/OCTOBER/,"OCT").replace(/NOVEMBER/g,"NOV").replace(/DECEMBER/g,"DEC").replace(/(JAN|FEB|MAR|APR|MAY|JUN|JUL|AUG|SEP|OCT|NOV|DEC)\.? (\d\d?)[, ]+(\d\d\d\d)/g,"$2 $1 $3").replace(/(^| )(\d [A-Z]{3,5} \d{4})/g,"$10$2"),r&&(n=n+" ("+r),e.value!==n&&(e.value=n)};var a=[];a[1]="January",a[2]="February",a[3]="March",a[4]="April",a[5]="May",a[6]="June",a[7]="July",a[8]="August",a[9]="September",a[10]="October",a[11]="November",a[12]="December";var r=[];r[1]="JAN",r[2]="FEB",r[3]="MAR",r[4]="APR",r[5]="MAY",r[6]="JUN",r[7]="JUL",r[8]="AUG",r[9]="SEP",r[10]="OCT",r[11]="NOV",r[12]="DEC";var i=[];i[0]="S",i[1]="M",i[2]="T",i[3]="W",i[4]="T",i[5]="F",i[6]="S";var l=0;function s(e,t,o){var n,r,s='<table border="1"><tr>';for(s+='<td><select class="form-control" id="'+e+'_daySelect" onchange="return webtrees.calUpdateCalendar(\''+e+"', '"+t+"');\">",n=1;n<32;n++)s+='<option value="'+n+'"',o.getDate()===n&&(s+=' selected="selected"'),s+=">"+n+"</option>";for(s+="</select></td>",s+='<td><select class="form-control" id="'+e+'_monSelect" onchange="return webtrees.calUpdateCalendar(\''+e+"', '"+t+"');\">",n=1;n<13;n++)s+='<option value="'+n+'"',o.getMonth()+1===n&&(s+=' selected="selected"'),s+=">"+a[n]+"</option>";for(s+="</select></td>",s+='<td><input class="form-control" type="text" id="'+e+'_yearInput" size="5" value="'+o.getFullYear()+'" onchange="return webtrees.calUpdateCalendar(\''+e+"', '"+t+"');\" /></td></tr>",s+='<tr><td colspan="3">',s+='<table width="100%">',s+="<tr>",r=l,n=0;n<7;n++)s+="<td ",s+='class="descriptionbox"',s+=">",s+=i[r],s+="</td>",++r>6&&(r=0);s+="</tr>";var c=new Date(o.getFullYear(),o.getMonth(),1),d=c.getDay();d-=l;var u=864e5;for(c=c.getTime()-d*u+432e5,c=new Date(c),r=0;r<6;r++){for(s+="<tr>",n=0;n<7;n++){s+="<td ",c.getMonth()===o.getMonth()?c.getDate()===o.getDate()?s+='class="descriptionbox"':s+='class="optionbox"':s+='style="background-color:#EAEAEA; border: solid #AAAAAA 1px;"',s+='><a href="#" onclick="return webtrees.calDateClicked(\''+e+"', '"+t+"', "+c.getFullYear()+", "+c.getMonth()+", "+c.getDate()+');">',s+=c.getDate(),s+="</a></td>";var p=c.getTime()+u;c=new Date(p)}s+="</tr>"}return s+="</table>",s+="</td></tr>",s+="</table>"}function c(e,t,o,n){return document.getElementById(e).value=(n<10?"0":"")+n+" "+r[o+1]+" "+t,!1}function d(e,t,o){var n=e.value.toUpperCase();(n=(n=(n=(n=(n=(n=(n=(n=(n=(n=n.replace(/(^\s*)|(\s*$)/g,"")).replace(/ /g,":")).replace(/\+/g,"")).replace(/-/g,o)).replace(/,/g,".")).replace(/\u00b0/g,":")).replace(/\u0027/g,":")).replace(/^([0-9]+):([0-9]+):([0-9.]+)(.*)/g,(function(e,t,o,n,a){var r=parseFloat(t);return r+=o/60,r+=n/3600,a+(r=Math.round(1e4*r)/1e4)}))).replace(/^([0-9]+):([0-9]+)(.*)/g,(function(e,t,o,n){var a=parseFloat(t);return a+=o/60,n+(a=Math.round(1e4*a)/1e4)}))).replace(/(.*)(NSEW])$/g,"$2$1"))&&n.charAt(0)!==o&&n.charAt(0)!==t&&(n=t+n),e.value=n}e.calLocalize=function(e,t,o,n,r,s,c,d,u,p,f,h,g,v,m,b,w,y,x,E){a[1]=e,a[2]=t,a[3]=o,a[4]=n,a[5]=r,a[6]=s,a[7]=c,a[8]=d,a[9]=u,a[10]=p,a[11]=f,a[12]=h,i[0]=g,i[1]=v,i[2]=m,i[3]=b,i[4]=w,i[5]=y,i[6]=x,E>=0&&E<7&&(l=E)},e.calendarWidget=function(e,t){var o=document.getElementById(e),n=document.getElementById(t);if("visible"===o.style.visibility)return o.style.visibility="hidden",!1;if("show"===o.style.visibility)return o.style.visibility="hide",!1;var a;if(/(?:(\d*) ?(JAN|FEB|MAR|APR|MAY|JUN|JUL|AUG|SEP|OCT|NOV|DEC) )?(\d+)/i.exec(n.value)){var r=RegExp.$1||"1",i=RegExp.$2||"JAN",l=RegExp.$3;a=new Date(r+" "+i+" "+l)}else a=new Date;return o.innerHTML=s(t,e,a),"hidden"===o.style.visibility?(o.style.visibility="visible",!1):"hide"===o.style.visibility&&(o.style.visibility="show",!1)},e.calUpdateCalendar=function(e,t){var o=document.getElementById(e+"_daySelect");if(!o)return!1;var n=document.getElementById(e+"_monSelect");if(!n)return!1;var a=document.getElementById(e+"_yearInput");if(!a)return!1;var r=parseInt(n.options[n.selectedIndex].value,10);r-=1;var i=new Date(a.value,r,o.options[o.selectedIndex].value);c(e,i.getFullYear(),i.getMonth(),i.getDate());var l=document.getElementById(t);return l?(l.innerHTML=s(e,t,i),!1):(alert("no dateDiv "+t),!1)},e.calDateClicked=function(t,o,n,a,r){return c(t,n,a,r),e.calendarWidget(o,t),!1},e.persistentToggle=function(e){if(e instanceof HTMLInputElement&&"checkbox"===e.type){var t="state-of-"+e.dataset.wtPersist;"true"===localStorage.getItem(t)&&e.click(),e.addEventListener("change",(function(){localStorage.setItem(t,e.checked.toString())}))}},e.reformatLatitude=function(e){return d(e,"N","S")},e.reformatLongitude=function(e){return d(e,"E","W")},e.autocomplete=function(e){$(e).each((function(){var e=this;$(this).typeahead(null,{display:"value",limit:10,minLength:2,source:new Bloodhound({datumTokenizer:Bloodhound.tokenizers.obj.whitespace("value"),queryTokenizer:Bloodhound.tokenizers.whitespace,remote:{url:this.dataset.wtAutocompleteUrl,replace:function(t,o){var n=t.indexOf("?")>0?"&":"?";if("SOUR"===e.dataset.wtAutocompleteExtra){for(var a=e.closest(".form-group").previousElementSibling;null===a.querySelector("select");)a=a.previousElementSibling;var r=a.querySelector("select"),i=r.options[r.selectedIndex].value.replace(/@/g,"");return t+n+"query="+o+"&extra="+encodeURIComponent(i)}return t+n+"query="+o}}})})}))},e.buildLeafletJsMap=function(e,t,o){for(var n=new L.control.zoom({zoomInTitle:t.i18n.zoomIn,zoomoutTitle:t.i18n.zoomOut}),a=L.Control.extend({options:{position:"topleft"},onAdd:function(e){var n=L.DomUtil.create("div","leaflet-bar leaflet-control leaflet-control-custom");n.onclick=o;var a=t.i18n.reset,r=L.DomUtil.create("a","leaflet-control-reset",n);return r.setAttribute("aria-label",a),r.href="#",r.title=a,r.role="button",L.DomUtil.create("i","fas fa-redo",r).alt=a,n}}),r=null,i=0,l=Object.entries(t.mapProviders);i<l.length;i++)for(var s=_slicedToArray(l[i],2)[1],c=0,d=Object.entries(s.children);c<d.length;c++){var u=_slicedToArray(d[c],2)[1];u.layer="bingMapsKey"in u?L.tileLayer.bing(u):L.tileLayer(u.url,u),s.default&&u.default&&(r=u.layer)}if(null===r){console.log("No default map layer defined - using the first one.");t.mapProviders[0].children[0].layer}return L.map(e,{zoomControl:!1}).addControl(n).addControl(new a).addLayer(r).addControl(L.control.layers.tree(t.mapProviders,null,{closedSymbol:t.icons.expand,openedSymbol:t.icons.collapse}))},e.initializeTomSelect=function(e){if(e.tomselect)return e.tomselect;var t={};return t=e.dataset.url?{plugins:["dropdown_input","virtual_scroll"],render:{item:function(e,t){return"<div>"+e.text+"</div>"},option:function(e,t){return"<div>"+e.text+"</div>"}},firstUrl:function(t){return e.dataset.url+"&query="+encodeURIComponent(t)},load:function(e,t){var o=this;fetch(this.getUrl(e)).then((function(e){return e.json()})).then((function(n){o.setNextUrl(e,n.nextUrl+"&query="+encodeURIComponent(e)),t(n.data)})).catch(t)}}:{plugins:["remove_button"]},new TomSelect(e,t)},e.resetTomSelect=function(e,t,o){e.clear(!0),e.clearOptions(),e.addOption({value:t,text:o}),e.refreshOptions(),e.addItem(t,!0),e.refreshItems()},e.initializeIFSRO=function(e,t){e.addEventListener("change",(function(){console.log(e.value),t.querySelectorAll(".select-record").forEach((function(e){return e.classList.add("d-none")})),t.querySelectorAll(".select-"+e.value).forEach((function(e){return e.classList.remove("d-none")})),t.querySelectorAll(".select-record select").forEach((function(e){e.disabled=!0,e.tomselect.disable()})),t.querySelectorAll(".select-"+e.value+" select").forEach((function(e){e.disabled=!1,e.tomselect.enable()}))}))}}(window.webtrees=window.webtrees||{}),$.ajaxSetup({headers:{"X-CSRF-TOKEN":$("meta[name=csrf]").attr("content")}}),$((function(){var e;$("[data-wt-ajax-url]").each((function(){$(this).load(this.dataset.wtAjaxUrl)})),webtrees.autocomplete("input[data-wt-autocomplete-url]"),document.querySelectorAll(".tom-select").forEach((function(e){return webtrees.initializeTomSelect(e)})),document.querySelectorAll("select.tom-select:not([multiple])").forEach((function(e){e.addEventListener("clear",(function(){webtrees.resetTomSelect(e.tomselect,"","")}))})),$.fn.dataTableExt.oSort["text-asc"]=function(e,t){return e.localeCompare(t,document.documentElement.lang,{sensitivity:"base"})},$.fn.dataTableExt.oSort["text-desc"]=function(e,t){return t.localeCompare(e,document.documentElement.lang,{sensitivity:"base"})},$("table.datatables").each((function(){$(this).DataTable(),$(this).removeClass("d-none")})),document.querySelectorAll("[data-wt-persist]").forEach((function(e){return webtrees.persistentToggle(e)})),$(".wt-osk-trigger").click((function(){(e=document.getElementById(this.dataset.wtId)).focus(),$(".wt-osk").show()})),$(".wt-osk-script-button").change((function(){$(".wt-osk-script").prop("hidden",!0),$(".wt-osk-script-"+this.dataset.wtOskScript).prop("hidden",!1)})),$(".wt-osk-shift-button").click((function(){document.querySelector(".wt-osk-keys").classList.toggle("shifted")})),$(".wt-osk-keys").on("click",".wt-osk-key",(function(){var t=$(this).contents().get(0).nodeValue,o=$(".wt-osk-shift-button").hasClass("active"),n=$("sup",this)[0];o&&void 0!==n&&(t=n.innerText),webtrees.pasteAtCursor(e,t),!1===$(".wt-osk-pin-button").hasClass("active")&&$(".wt-osk").hide(),e.dispatchEvent(new Event("input"))})),$(".wt-osk-close").on("click",(function(){$(".wt-osk").hide()})),$("input[type=password]").each((function(){$(this).hideShowPassword("infer",!0,{states:{shown:{toggle:{content:this.dataset.wtHidePasswordText,attr:{title:this.dataset.wtHidePasswordTitle,"aria-label":this.dataset.wtHidePasswordTitle}}},hidden:{toggle:{content:this.dataset.wtShowPasswordText,attr:{title:this.dataset.wtShowPasswordTitle,"aria-label":this.dataset.wtShowPasswordTitle}}}}})}))})),document.addEventListener("submit",(function(e){var t=e.target;t.reportValidity()&&t.addEventListener("submit",(function(e){t.classList.contains("form-is-submitting")&&e.preventDefault(),t.classList.add("form-is-submitting")}))})),document.addEventListener("click",(function(e){var t=e.target.closest("a,button");if(null!==t&&("wtConfirm"in t.dataset&&!confirm(t.dataset.wtConfirm)&&e.preventDefault(),"wtPostUrl"in t.dataset)){var o=document.querySelector("meta[name=csrf]").content;fetch(t.dataset.wtPostUrl,{method:"POST",headers:{"X-CSRF-TOKEN":o,"X-Requested-with":"XMLHttpRequest"}}).then((function(){"wtReloadUrl"in t.dataset?document.location=t.dataset.wtReloadUrl:document.location.reload()})).catch((function(e){alert(e)}))}}));var GOOGLE_CHARTS_LIB="https://www.gstatic.com/charts/loader.js",Statistics=function(){function e(){return _classCallCheck(this,e),e.instance||(e.instance=this,this.callbacks=[],this.initialized=!1,this.loading=!1),e.instance}return _createClass(e,[{key:"init",value:function(e){if(!this.loading&&!this.initialized){var t=this;Promise.all([this.load(GOOGLE_CHARTS_LIB)]).then((function(){google.charts.load("current",{packages:["corechart","geochart","bar"],language:e,mapsApiKey:""}),google.charts.setOnLoadCallback((function(){t.callbacks.forEach((function(e){e()}))})),t.initialized=!0})).catch((function(e){console.log(e)}))}}},{key:"load",value:function(e){if(!this.loading)return this.loading=!0,new Promise((function(t,o){var n=document.createElement("script");n.async=!0,n.onload=function(){t(e)},n.onerror=function(){o(e)},n.src=e,document.body.appendChild(n)}))}},{key:"addCallback",value:function(e){this.initialized?google.charts.setOnLoadCallback(e):this.callbacks.push(e),$(window).resize((function(){e()}))}},{key:"drawChart",value:function(e,t,o,n){var a=google.visualization.arrayToDataTable(o);new google.visualization.ChartWrapper({chartType:t,dataTable:a,options:n,containerId:e}).draw()}},{key:"drawPieChart",value:function(e,t,o){o=Object.assign({title:"",height:"100%",width:"100%",pieStartAngle:0,pieSliceText:"none",pieSliceTextStyle:{color:"#777"},pieHole:.4,legend:{alignment:"center",labeledValueText:"value",position:"labeled"},chartArea:{left:0,top:"5%",height:"90%",width:"100%"},tooltip:{trigger:"none",text:"both"},backgroundColor:"transparent",colors:[]},o),this.drawChart(e,"PieChart",t,o)}},{key:"drawColumnChart",value:function(e,t,o){o=Object.assign({title:"",subtitle:"",titleTextStyle:{color:"#757575",fontName:"Roboto",fontSize:"16px",bold:!1,italic:!1},height:"100%",width:"100%",vAxis:{title:""},hAxis:{title:""},legend:{position:"none"},backgroundColor:"transparent"},o),this.drawChart(e,"ColumnChart",t,o)}},{key:"drawComboChart",value:function(e,t,o){o=Object.assign({title:"",subtitle:"",titleTextStyle:{color:"#757575",fontName:"Roboto",fontSize:"16px",bold:!1,italic:!1},height:"100%",width:"100%",vAxis:{title:""},hAxis:{title:""},legend:{position:"none"},seriesType:"bars",series:{2:{type:"line"}},colors:[],backgroundColor:"transparent"},o),this.drawChart(e,"ComboChart",t,o)}},{key:"drawGeoChart",value:function(e,t,o){o=Object.assign({title:"",subtitle:"",height:"100%",width:"100%"},o),this.drawChart(e,"GeoChart",t,o)}}]),e}(),statistics=new Statistics;function TreeViewHandler(e,t){var o,n,a,r=this;this.treeview=$("#"+e+"_in"),this.loadingImage=$("#"+e+"_loading"),this.toolbox=$("#tv_tools"),this.buttons=$(".tv_button:first",this.toolbox),this.zoom=100,this.boxWidth=180,this.boxExpandedWidth=250,this.cookieDays=3,this.ajaxDetails=document.getElementById(e+"_out").dataset.urlDetails+"&instance="+encodeURIComponent(e),this.ajaxPersons=document.getElementById(e+"_out").dataset.urlIndividuals+"&instance="+encodeURIComponent(e),this.container=this.treeview.parent(),this.auto_box_width=!1,this.updating=!1,"true"===readCookie("compact")&&r.compact(),a=!1,r.treeview.on("mousedown touchstart",(function(e){e.preventDefault();var t="touchstart"===e.type?e.touches[0].pageX:e.pageX,i="touchstart"===e.type?e.touches[0].pageY:e.pageY;o=r.treeview.offset().left-t,n=r.treeview.offset().top-i,a=!0})),$(document).on("mousemove touchmove",(function(e){if(a){e.preventDefault();var t="touchmove"===e.type?e.touches[0].pageX:e.pageX,i="touchmove"===e.type?e.touches[0].pageY:e.pageY;r.treeview.offset({left:t+o,top:i+n})}})),$(document).on("mouseup touchend",(function(e){a&&(e.preventDefault(),a=!1,r.updateTree())})),r.toolbox.find("#tvbCompact").each((function(e,t){t.onclick=function(){r.compact()}})),r.toolbox.find("#tvbAllPartners").each((function(e,t){t.onclick=function(){createCookie("allPartners","true"===readCookie("allPartners")?"false":"true",r.cookieDays),document.location=document.location}})),r.toolbox.find("#tvbOpen").each((function(e,t){var o=$(t,r.toolbox);t.onclick=function(){o.addClass("tvPressed"),r.setLoading();var e=jQuery.Event("click");r.treeview.find(".tv_box:not(.boxExpanded)").each((function(t,o){var n=$(o,r.treeview).offset();n.left>=r.leftMin&&n.left<=r.leftMax&&n.top>=r.topMin&&n.top<=r.topMax&&r.expandBox(o,e)})),o.removeClass("tvPressed"),r.setComplete()}})),r.toolbox.find("#tvbClose").each((function(e,t){var o=$(t,r.toolbox);t.onclick=function(){o.addClass("tvPressed"),r.setLoading(),r.treeview.find(".tv_box.boxExpanded").each((function(e,t){$(t).css("display","none").removeClass("boxExpanded").parent().find(".tv_box.collapsedContent").css("display","block")})),o.removeClass("tvPressed"),r.setComplete()}})),r.centerOnRoot()}function createCookie(e,t,o){if(o){var n=new Date;n.setTime(n.getTime()+24*o*60*60*1e3),document.cookie=e+"="+t+"; expires="+n.toGMTString()+"; path=/"}else document.cookie=e+"="+t+"; path=/"}function readCookie(e){for(var t=e+"=",o=document.cookie.split(";"),n=0;n<o.length;n++){for(var a=o[n];" "===a.charAt(0);)a=a.substring(1,a.length);if(0===a.indexOf(t))return a.substring(t.length,a.length)}return null}TreeViewHandler.prototype.setLoading=function(){this.treeview.css("cursor","wait"),this.loadingImage.css("display","block")},TreeViewHandler.prototype.setComplete=function(){this.treeview.css("cursor","move"),this.loadingImage.css("display","none")},TreeViewHandler.prototype.getSize=function(){var e=this,t=e.container.parent(),o=t.offset();e.leftMin=o.left,e.leftMax=e.leftMin+t.innerWidth(),e.topMin=o.top,e.topMax=e.topMin+t.innerHeight()},TreeViewHandler.prototype.updateTree=function(e,t){var o=this,n=[],a=[];return this.getSize(),o.treeview.find("td[abbr]").each((function(e,t){var r=(t=$(t,o.treeview)).offset();r.left>=o.leftMin&&r.left<=o.leftMax&&r.top>=o.topMin&&r.top<=o.topMax&&(n.push(t.attr("abbr")),a.push(t))})),n.length>0?(o.updating=!0,o.setLoading(),jQuery.ajax({url:o.ajaxPersons,dataType:"json",data:"q="+n.join(";"),success:function(e){for(var t=a.length,n=($(".rootPerson",this.treeview).offset().left,0);n<t;n++)a[n].removeAttr("abbr").html(e[n]);o.getSize()},complete:function(){o.treeview.find("td[abbr]").length&&o.updateTree(e,t),o.auto_box_width&&o.treeview.find(".tv_box").css("width","auto"),o.updating=!0,e&&o.centerOnRoot(),t&&t.removeClass("tvPressed"),o.setComplete(),o.updating=!1},timeout:function(){t&&t.removeClass("tvPressed"),o.updating=!1,o.setComplete()}})):(t&&t.removeClass("tvPressed"),o.setComplete()),!1},TreeViewHandler.prototype.compact=function(){var e=this,t=$("#tvbCompact",e.toolbox);if(e.setLoading(),e.auto_box_width){var o=e.boxWidth*(e.zoom/100)+"px",n=e.boxExpandedWidth*(e.zoom/100)+"px";e.treeview.find(".tv_box:not(boxExpanded)",e.treeview).css("width",o),e.treeview.find(".boxExpanded",e.treeview).css("width",n),e.auto_box_width=!1,readCookie("compact")&&createCookie("compact",!1,e.cookieDays),t.removeClass("tvPressed")}else e.treeview.find(".tv_box").css("width","auto"),e.auto_box_width=!0,readCookie("compact")||createCookie("compact",!0,e.cookieDays),e.updating||e.updateTree(),t.addClass("tvPressed");return e.setComplete(),!1},TreeViewHandler.prototype.centerOnRoot=function(){this.loadingImage.css("display","block");var e=this.container,t=e.innerWidth()/2;if(Number.isNaN(t))return!1;e.innerHeight(),$(".rootPerson",this.treeview);return this.updating||this.setComplete(),!1},TreeViewHandler.prototype.expandBox=function(e,t){if($(t.target).hasClass("tv_link"))return!1;var o,n,a=(e=$(e,this.treeview)).parent(),r=e.attr("abbr"),i=this;if(a.hasClass("detailsLoaded"))n=a.find(".collapsedContent"),o=a.find(".tv_box:not(.collapsedContent)");else{o=e,n=e.clone(),a.append(n.addClass("collapsedContent").css("display","none"));var l=this.loadingImage.find("img").clone().addClass("tv_box_loading").css("display","block");e.prepend(l),i.updating=!0,i.setLoading(),e.load(i.ajaxDetails+"&pid="+encodeURIComponent(r),(function(){"function"==typeof CB_Init&&CB_Init(),e.css("width",i.boxExpandedWidth*(i.zoom/100)+"px"),l.remove(),a.addClass("detailsLoaded"),i.setComplete(),i.updating=!1}))}return e.hasClass("boxExpanded")?(o.css("display","none"),n.css("display","block"),e.removeClass("boxExpanded")):(o.css("display","block"),n.css("display","none"),o.addClass("boxExpanded")),this.getSize(),!1};
2