(window.webpackJsonp=window.webpackJsonp||[]).push([[0],{223:function(e){e.exports={"menu.load_from_url":"Otw\xf3rz URL","menu.load_from_file":"Otw\xf3rz plik","menu.print":"Drukuj","menu.download":"Pobierz","menu.png_file":"Plik PNG","menu.svg_file":"Plik SVG","menu.github":"\u0179r\xf3d\u0142a na GitHub","intro.title":"Topola Genealogy","intro.description":"Topola Genealogy pozwala przegl\u0105da\u0107 drzewo genealogiczne w interaktywny spos\xf3b.","intro.instructions":"Kliknij OTW\xd3RZ URL lub OTW\xd3RZ PLIK, aby za\u0142adowa\u0107 plik GEDCOM. Wi\u0119kszo\u015b\u0107 program\xf3w genealogicznych posiada funkcj\u0119 eksportu do pliku GEDCOM.","intro.examples":"Poni\u017cej jest kilka przyk\u0142ad\xf3w znalezionych w Internecie:","intro.from":"\u017ar\xf3d\u0142o:","intro.privacy":"Prywatno\u015b\u0107","intro.privacy_note":'U\u017cywaj\u0105c funkcji "Otw\xf3rz plik", Twoje dane nie s\u0105 nigdzie wysy\u0142ane i pozostaj\u0105 na Twoim komputerze. U\u017cywaj\u0105c funkcji "Otw\xf3rz URL", dane z podanego adresu przesy\u0142ane s\u0105 przez us\u0142ug\u0119 {link} w celu umo\u017cliwienia za\u0142adowania danych z innej domeny (CORS).',"load_from_url.title":"Otw\xf3rz z adresu URL","load_from_url.comment":"Dane z podanego adresu URL zostan\u0105 za\u0142adowane poprzez us\u0142ug\u0119 {link} w celu unikni\u0119cia problem\xf3w z CORS.","load_from_url.cancel":"Anuluj","load_from_url.load":"Otw\xf3rz"}},224:function(e,t){},261:function(e,t,n){e.exports=n(464)},273:function(e,t){},279:function(e,t){},458:function(e,t,n){},464:function(e,t,n){"use strict";n.r(t);var a=n(198),r=n(221),o=n(222),i=n(0),l=n(57),s=n(223),c=n(17),d=n(226),u=n(33),m=n(34),h=n(38),f=n(35),p=n(37),g=n(39),v=n(97),y=n.n(v),E=n(19),w=n(227),b=n.n(w),O=n(64);function k(){var e=E.select("#chart").node().parentElement;e.scrollLeft=-E.event.transform.x,e.scrollTop=-E.event.transform.y}function j(){var e=E.select("#chart").node().parentElement,t=e.scrollLeft+e.clientWidth/2,n=e.scrollTop+e.clientHeight/2;E.select(e).call(E.zoom().translateTo,t,n)}var C=function(e){function t(){var e,n;Object(u.a)(this,t);for(var a=arguments.length,r=new Array(a),o=0;o0&&void 0!==arguments[0]?arguments[0]:{initialRender:!1};t.initialRender&&(E.select("#chart").node().innerHTML="",this.chart=Object(O.createChart)({json:this.props.data,chartType:O.HourglassChart,renderer:O.DetailedRenderer,svgSelector:"#chart",indiCallback:function(t){return e.props.onSelection(t)},animate:!0,updateSvgSize:!1,locale:this.context.intl.locale}));var n=this.chart.render({startIndi:this.props.selection.id,baseGeneration:this.props.selection.generation}),a=E.select("#chart"),r=a.node().parentElement;E.select(r).on("scroll",j).call(E.zoom().scaleExtent([1,1]).translateExtent([[0,0],n.size]).on("zoom",k));var o,i,l=r.clientWidth/2-n.origin[0],s=r.clientHeight/2-n.origin[1],c=E.max([0,(r.clientWidth-n.size[0])/2]),d=E.max([0,(r.clientHeight-n.size[1])/2]),u=a.transition().delay(200).duration(500);(t.initialRender?a:u).attr("transform","translate(".concat(c,", ").concat(d,")")).attr("width",n.size[0]).attr("height",n.size[1]),t.initialRender?(r.scrollLeft=-l,r.scrollTop=-s):u.tween("scrollLeft",(i=-l,function(){var e=E.interpolateNumber(r.scrollLeft,i);return function(t){r.scrollLeft=e(t)}})).tween("scrollTop",(o=-s,function(){var e=E.interpolateNumber(r.scrollTop,o);return function(t){r.scrollTop=e(t)}}))}},{key:"componentDidMount",value:function(){this.renderChart({initialRender:!0})}},{key:"componentDidUpdate",value:function(e){this.renderChart({initialRender:this.props.data!==e.data})}},{key:"render",value:function(){return i.createElement("div",{id:"svgContainer"},i.createElement("svg",{id:"chart"}))}},{key:"getSvgContents",value:function(){var e=document.getElementById("chart").cloneNode(!0);return e.removeAttribute("transform"),e.outerHTML}},{key:"print",value:function(){var e=this,t=document.createElement("iframe");t.style.position="absolute",t.style.top="-1000px",t.style.left="-1000px",t.onload=function(){t.contentDocument.open(),t.contentDocument.write(e.getSvgContents()),t.contentDocument.close(),setTimeout(function(){t.contentWindow.focus(),t.contentWindow.print(),t.parentNode.removeChild(t)},500)},document.body.appendChild(t)}},{key:"downloadSvg",value:function(){var e=document.createElement("a");e.href=URL.createObjectURL(new Blob([this.getSvgContents()],{type:"image/svg+xml"})),e.target="_blank",e.download="topola.svg",e.click()}},{key:"downloadPng",value:function(){var e=document.createElement("canvas"),t=document.getElementById("chart");e.width=2*t.getBBox().width,e.height=2*t.getBBox().height;var n=e.getContext("2d"),a=n.fillStyle;n.fillStyle="white",n.fillRect(0,0,e.width,e.height),n.fillStyle=a,b()(e,this.getSvgContents(),{ignoreDimensions:!0,ignoreClear:!0,scaleWidth:e.width,scaleHeight:e.height});e.toBlob(function(e){var t=document.createElement("a");t.href=URL.createObjectURL(e),t.target="_blank",t.download="topola.png",t.click()},"image/png")}}]),t}(i.PureComponent);function S(e,t){if(!e.children)return e;var n=e.children.sort(function(e){var t=new Map;return e.indis.forEach(function(e){t[e.id]=e}),function(e,n){var a,r,o=(a=e)<(r=n)?-1:a>r?1:0,i=t[e],l=t[n],s=i&&i.birth,c=l&&l.birth,d=s&&(s.date||s.dateRange&&s.dateRange.from),u=c&&(c.date||c.dateRange&&c.dateRange.from);return d&&d.year&&u&&u.year?d.year!==u.year?d.year-u.year:d.month&&u.month?d.month!==u.month?d.month-u.month:d.day&&u.day&&d.day!==u.day?d.month-u.month:o:o:o}}(t));return Object.assign({},e,{children:n})}function R(e){if(!e.imageUrl||e.imageUrl.startsWith("http"))return e;var t=Object.assign({},e);return delete t.imageUrl,t}function z(e){var t=Object(O.gedcomToJson)(e);if(!t||!t.indis||!t.indis.length||!t.fams||!t.fams.length)throw new Error("Failed to read GEDCOM file");return function(e){var t=e.indis.map(R);return Object.assign({},e,{indis:t})}(function(e){var t=e.fams.map(function(t){return S(t,e)});return Object.assign({},e,{fams:t})}(t))}C.contextTypes={intl:c.d};var U=n(481),_=n(473);function L(e){return i.createElement(U.a,{negative:!0,className:"error"},i.createElement(U.a.Header,null,"Failed to load file"),i.createElement("p",null,e.message))}function M(e,t,n){return{id:t||e.indis[0].id,generation:n||0}}var D=function(e){function t(){var e,n;Object(u.a)(this,t);for(var a=arguments.length,r=new Array(a),o=0;o1&&void 0!==arguments[1]?arguments[1]:{},a=sessionStorage.getItem(e);if(a){var r=JSON.parse(a);this.setState(Object.assign({},this.state,{data:r,selection:M(r,n.indi,n.generation),loadedUrl:e,loading:!1,error:void 0,hash:void 0}))}else{this.setState(Object.assign({},this.state,{loading:!0,loadedUrl:e,data:void 0,error:void 0}));var o=n.handleCors?"https://cors-anywhere.herokuapp.com/"+e:e;window.fetch(o).then(function(e){return 200!==e.status?Promise.reject(new Error(e.statusText)):e.text()}).then(function(a){return t.setGedcom({gedcom:a,url:e,indi:n.indi,generation:n.generation})}).catch(function(e){return t.setState(Object.assign({},t.state,{error:e.message,loading:!1}))})}}},{key:"setGedcom",value:function(e){var t=y()(e.gedcom);try{var n=z(e.gedcom),a=JSON.stringify(n);sessionStorage.setItem(e.url||t,a),this.setState(Object.assign({},this.state,{data:n,selection:M(n,e.indi,e.generation),hash:t,loading:!1,loadedUrl:e.url,error:void 0}))}catch(r){this.setState(Object.assign({},this.state,{data:void 0,selection:void 0,hash:t,loading:!1,error:"Failed to read GEDCOM file",loadedUrl:e.url}))}}},{key:"componentDidMount",value:function(){this.componentDidUpdate()}},{key:"componentDidUpdate",value:function(){var e=this.props.location.state&&this.props.location.state.data,t=g.parse(this.props.location.search),n=function(e){var n=t[e];return"string"===typeof n?n:void 0},a=n("url"),r=n("indi"),o=Number(n("gen")),i=isNaN(o)?void 0:o,l=n("file"),s="false"!==n("handleCors");if(l&&l!==this.state.hash)if(e)this.setGedcom({gedcom:e,indi:r,generation:i});else{var c=sessionStorage.getItem(l);if(c){var d=JSON.parse(c);this.setState(Object.assign({},this.state,{data:d,hash:l,selection:M(d,r,i),error:void 0,loading:!1,loadedUrl:void 0}))}else this.props.history.replace({pathname:"/"})}else if(!this.state.loading&&a&&this.state.loadedUrl!==a)this.loadFromUrl(a,{indi:r,generation:i,handleCors:a.startsWith("http")&&s});else if(a||e||l===this.state.hash){if(this.state.data&&this.state.selection){var u=M(this.state.data,r,i);this.state.selection.id===u.id&&this.state.selection.generation===u.generation||this.setState(Object.assign({},this.state,{selection:u}))}}else this.props.history.replace({pathname:"/"})}},{key:"render",value:function(){var e=this;return this.state.data&&this.state.selection?i.createElement(C,{data:this.state.data,onSelection:this.onSelection,selection:this.state.selection,ref:function(t){return e.chartRef=t}}):this.state.error?i.createElement(L,{message:this.state.error}):i.createElement(_.a,{active:!0,size:"large"})}},{key:"print",value:function(){this.chartRef&&this.chartRef.print()}},{key:"downloadSvg",value:function(){this.chartRef&&this.chartRef.downloadSvg()}},{key:"downloadPng",value:function(){this.chartRef&&this.chartRef.downloadPng()}}]),t}(i.Component),x=n(484),T=n(488),P=n(487),G=n(480),I=n(474);function N(e){return i.createElement(I.a,{to:{pathname:"/view",search:g.stringify({url:e.url})}},e.text)}var W=n(478),F=n(485),H=n(220),A=n(477),B=n(476),J=n(483),V=n(482),K=n(479),q=function(e){function t(){var e,n;Object(u.a)(this,t);for(var a=arguments.length,r=new Array(a),o=0;o