(window.webpackJsonp=window.webpackJsonp||[]).push([[0],{231:function(e){e.exports={"menu.load_from_url":"Otw\xf3rz URL","menu.load_from_file":"Otw\xf3rz plik","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"}},232:function(e,t){},268:function(e,t,a){e.exports=a(484)},280:function(e,t){},286:function(e,t){},478:function(e,t,a){},484:function(e,t,a){"use strict";a.r(t);var n=a(147),r=a(229),o=a(230),i=a(0),l=a(64),s=a(231),c=a(16),d=a(36),u=a(37),h=a(41),m=a(38),p=a(40),f=a(42),g=a(234),v=a.n(g),y=a(102),E=a.n(y),w=a(17),b=a(67);function O(){var e=w.select("#chart").node().parentElement;e.scrollLeft=-w.event.transform.x,e.scrollTop=-w.event.transform.y}function k(){var e=w.select("#chart").node().parentElement,t=e.scrollLeft+e.clientWidth/2,a=e.scrollTop+e.clientHeight/2;w.select(e).call(w.zoom().translateTo,t,a)}var j=function(e){function t(){var e,a;Object(d.a)(this,t);for(var n=arguments.length,r=new Array(n),o=0;o0&&void 0!==arguments[0]?arguments[0]:{initialRender:!1};t.initialRender&&(w.select("#chart").node().innerHTML="",this.chart=Object(b.createChart)({json:this.props.data,chartType:b.HourglassChart,renderer:b.DetailedRenderer,svgSelector:"#chart",indiCallback:function(t){return e.props.onSelection(t)},animate:!0,updateSvgSize:!1}));var a=this.chart.render({startIndi:this.props.selection.id,baseGeneration:this.props.selection.generation}),n=w.select("#chart"),r=n.node().parentElement;w.select(r).on("scroll",k).call(w.zoom().scaleExtent([1,1]).translateExtent([[0,0],a.size]).on("zoom",O));var o,i,l=r.clientWidth/2-a.origin[0],s=r.clientHeight/2-a.origin[1],c=w.max([0,(r.clientWidth-a.size[0])/2]),d=w.max([0,(r.clientHeight-a.size[1])/2]),u=n.transition().delay(200).duration(500);(t.initialRender?n:u).attr("transform","translate(".concat(c,", ").concat(d,")")).attr("width",a.size[0]).attr("height",a.size[1]),t.initialRender?(r.scrollLeft=-l,r.scrollTop=-s):u.tween("scrollLeft",(i=-l,function(){var e=w.interpolateNumber(r.scrollLeft,i);return function(t){r.scrollLeft=e(t)}})).tween("scrollTop",(o=-s,function(){var e=w.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"}))}}]),t}(i.PureComponent);function z(e,t){if(!e.children)return e;var a=e.children.sort(function(e){var t=new Map;return e.indis.forEach(function(e){t[e.id]=e}),function(e,a){var n,r,o=(n=e)<(r=a)?-1:n>r?1:0,i=t[e],l=t[a],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:a})}function U(e){if(!e.imageUrl||e.imageUrl.startsWith("http"))return e;var t=Object.assign({},e);return delete t.imageUrl,t}function C(e){var t=Object(b.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(U);return Object.assign({},e,{indis:t})}(function(e){var t=e.fams.map(function(t){return z(t,e)});return Object.assign({},e,{fams:t})}(t))}var R=a(500),S=a(493);function _(e){return i.createElement(R.a,{negative:!0,className:"error"},i.createElement(R.a.Header,null,"Failed to load file"),i.createElement("p",null,e.message))}function L(e,t,a){return{id:t||e.indis[0].id,generation:a||0}}var M=function(e){function t(){var e,a;Object(d.a)(this,t);for(var n=arguments.length,r=new Array(n),o=0;o1&&void 0!==arguments[1]?arguments[1]:{},n=sessionStorage.getItem(e);if(n){var r=JSON.parse(n);this.setState(Object.assign({},this.state,{data:r,selection:L(r,a.indi,a.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=a.handleCors?"https://cors-anywhere.herokuapp.com/"+e:e;v.a.get(o).then(function(n){return t.setGedcom({gedcom:n.data,url:e,indi:a.indi,generation:a.generation})}).catch(function(e){return t.setState(Object.assign({},t.state,{error:e.message,loading:!1}))})}}},{key:"setGedcom",value:function(e){var t=E()(e.gedcom);try{var a=C(e.gedcom),n=JSON.stringify(a);sessionStorage.setItem(e.url||t,n),this.setState(Object.assign({},this.state,{data:a,selection:L(a,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=f.parse(this.props.location.search),a=function(e){var a=t[e];return"string"===typeof a?a:void 0},n=a("url"),r=a("indi"),o=Number(a("gen")),i=isNaN(o)?void 0:o,l=a("file");if(l&&l!==this.state.hash)if(e)this.setGedcom({gedcom:e,indi:r,generation:i});else{var s=sessionStorage.getItem(l);if(s){var c=JSON.parse(s);this.setState(Object.assign({},this.state,{data:c,hash:l,selection:L(c,r,i),error:void 0,loading:!1,loadedUrl:void 0}))}else this.props.history.replace({pathname:"/"})}else if(!this.state.loading&&n&&this.state.loadedUrl!==n)this.loadFromUrl(n,{indi:r,generation:i,handleCors:n.startsWith("http")});else if(n||e||l===this.state.hash){if(this.state.data&&this.state.selection){var d=L(this.state.data,r,i);this.state.selection.id===d.id&&this.state.selection.generation===d.generation||this.setState(Object.assign({},this.state,{selection:d}))}}else this.props.history.replace({pathname:"/"})}},{key:"render",value:function(){return this.state.data&&this.state.selection?i.createElement(j,{data:this.state.data,onSelection:this.onSelection,selection:this.state.selection}):this.state.error?i.createElement(_,{message:this.state.error}):i.createElement(S.a,{active:!0,size:"large"})}}]),t}(i.Component),D=a(503),T=a(507),x=a(506),G=a(499),F=a(494);function I(e){return i.createElement(F.a,{to:{pathname:"/view",search:f.stringify({url:e.url})}},e.text)}var N=a(498),H=a(504),W=a(228),P=a(497),A=a(496),J=a(502),K=a(501),Z=function(e){function t(){var e,a;Object(d.a)(this,t);for(var n=arguments.length,r=new Array(n),o=0;o