Files
topola-viewer/static/js/main.8b9ab523.chunk.js
Przemek Wiech 3c1c7ad7c8 Updates
2019-03-12 19:41:04 +01:00

2 lines
22 KiB
JavaScript

(window.webpackJsonp=window.webpackJsonp||[]).push([[0],{242: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.pdf_file":"Plik PDF","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","gedcom.BAPM":"Chrzest","gedcom.BIRT":"Narodziny","gedcom.BURI":"Pogrzeb","gedcom.CHR":"Chrzest","gedcom.DEAT":"\u015amier\u0107","gedcom.EMAIL":"E-mail","gedcom.OCCU":"Zaw\xf3d","gedcom.TITL":"Tytu\u0142","gedcom.WWW":"Strona WWW"}},243:function(e,t){},281:function(e,t,n){e.exports=n(505)},293:function(e,t){},299:function(e,t){},499:function(e,t,n){},505:function(e,t,n){"use strict";n.r(t);var a=n(153),r=n(240),o=n(241),i=n(0),l=n(61),c=n(242),s=n(15),u=n(30),d=n(31),m=n(33),f=n(32),h=n(34),p=n(41),g=n(17),v=n(245),E=n.n(v),w=n(149),y=n(42);function b(){var e=g.select("#chart").node().parentElement;e.scrollLeft=-g.event.transform.x,e.scrollTop=-g.event.transform.y}function O(){var e=g.select("#chart").node().parentElement,t=e.scrollLeft+e.clientWidth/2,n=e.scrollTop+e.clientHeight/2;g.select(e).call(g.zoom().translateTo,t,n)}function C(e){var t=new FileReader;return t.readAsDataURL(e),new Promise(function(e,n){t.onload=function(t){return e(t.target.result)}})}function j(e){var t=new Image;return t.src=URL.createObjectURL(e),new Promise(function(e,n){t.addEventListener("load",function(){e(t)})})}function k(e){var t=document.createElement("canvas");t.width=2*e.width,t.height=2*e.height;var n=t.getContext("2d"),a=n.fillStyle;return n.fillStyle="white",n.fillRect(0,0,t.width,t.height),n.fillStyle=a,n.drawImage(e,0,0,t.width,t.height),t}var R=function(e){function t(){var e,n;Object(u.a)(this,t);for(var a=arguments.length,r=new Array(a),o=0;o<a;o++)r[o]=arguments[o];return(n=Object(m.a)(this,(e=Object(f.a)(t)).call.apply(e,[this].concat(r)))).chart=void 0,n}return Object(h.a)(t,e),Object(d.a)(t,[{key:"renderChart",value:function(){var e=this,t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{initialRender:!1};t.initialRender&&(g.select("#chart").node().innerHTML="",this.chart=Object(y.createChart)({json:this.props.data,chartType:y.HourglassChart,renderer:y.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=g.select("#chart"),r=a.node().parentElement;g.select(r).on("scroll",O).call(g.zoom().scaleExtent([1,1]).translateExtent([[0,0],n.size]).on("zoom",b));var o,i,l=r.clientWidth/2-n.origin[0],c=r.clientHeight/2-n.origin[1],s=g.max([0,(r.clientWidth-n.size[0])/2]),u=g.max([0,(r.clientHeight-n.size[1])/2]),d=a.transition().delay(200).duration(500);(t.initialRender?a:d).attr("transform","translate(".concat(s,", ").concat(u,")")).attr("width",n.size[0]).attr("height",n.size[1]),t.initialRender?(r.scrollLeft=-l,r.scrollTop=-c):d.tween("scrollLeft",(i=-l,function(){var e=g.interpolateNumber(r.scrollLeft,i);return function(t){r.scrollLeft=e(t)}})).tween("scrollTop",(o=-c,function(){var e=g.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"),(new XMLSerializer).serializeToString(e)}},{key:"getSvgContentsWithInlinedImages",value:function(){var e=document.getElementById("chart").cloneNode(!0);return e.removeAttribute("transform"),function(e){var t=Array.from(e.getElementsByTagName("image")).map(function(e){var t=e.href&&e.href.baseVal;return t?fetch(t).then(function(e){return e.blob()}).then(C).then(function(t){e.href.baseVal=t}).catch(function(e){return console.warn("Failed to load image:",e)}):Promise.resolve()});return Promise.all(t)}(e).then(function(){return(new XMLSerializer).serializeToString(e)})}},{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(){this.getSvgContentsWithInlinedImages().then(function(e){var t=new Blob([e],{type:"image/svg+xml"});Object(w.saveAs)(t,"topola.svg")})}},{key:"drawOnCanvas",value:function(){return this.getSvgContentsWithInlinedImages().then(function(e){return new Blob([e],{type:"image/svg+xml"})}).then(j).then(k)}},{key:"downloadPng",value:function(){this.drawOnCanvas().then(function(e){return function(e,t){return new Promise(function(n,a){e.toBlob(function(e){e?n(e):a()},t)})}(e,"image/png")}).then(function(e){return Object(w.saveAs)(e,"topola.png")})}},{key:"downloadPdf",value:function(){this.drawOnCanvas().then(function(e){var t=new E.a({orientation:e.width>e.height?"l":"p",unit:"pt",format:[e.width,e.height]});t.addImage(e,"PNG",0,0,e.width,e.height,"NONE"),t.save("topola.pdf")})}}]),t}(i.PureComponent);R.contextTypes={intl:s.d};var S=n(247),z=n.n(S),D=n(248),M=n.n(D),P=["BIRT","BAPM","CHR","DEAT","BURI"],L=["NAME","SEX","FAMC","FAMS","SOUR","NOTE"],T=new Map([["BAPM","Baptism"],["BIRT","Birth"],["BURI","Burial"],["CHR","Christening"],["DEAT","Death"],["EMAIL","E-mail"],["OCCU","Occupation"],["TITL","Title"],["WWW","WWW"]]);function U(e){return i.createElement(s.a,{id:"gedcom.".concat(e),defaultMessage:T.get(e)||e})}function I(e){return i.createElement(i.Fragment,null,e.map(function(e){return i.createElement(i.Fragment,null,i.createElement(M.a,{properties:{target:"_blank"}},e),i.createElement("br",null))}))}function _(e,t){var n=[],a=e.tree.find(function(e){return"DATE"===e.tag});a&&a.data&&n.push(function(e,t){var n=Object(y.getDate)(e),a=n&&n.date;return a?Object(y.formatDate)(a,t):e}(a.data,t));var r=e.tree.find(function(e){return"PLAC"===e.tag});return r&&r.data&&n.push(r.data),e.tree.filter(function(e){return"NOTE"===e.tag}).forEach(function(e){n.push(i.createElement("i",null,e.data))}),n.length?i.createElement(i.Fragment,null,i.createElement("div",{className:"ui sub header"},U(e.tag)),i.createElement("span",null,I(n))):null}function N(e){var t=[];return e.data&&t.push(e.data),t.length?i.createElement("i",null,I(t)):null}function A(e){return i.createElement("h2",{className:"ui header"},e.data.split("/").filter(function(e){return!!e}).map(function(e){return i.createElement(i.Fragment,null,e,i.createElement("br",null))}))}function W(e,t,n){return z()(t,function(t){return e.filter(function(e){return e.tag===t}).map(function(e){return n(e)})}).filter(function(e){return null!==e}).map(function(e){return i.createElement("div",{className:"ui segment"},e)})}function x(e){return e.filter(function(e){return!L.includes(e.tag)&&!P.includes(e.tag)}).map(function(e){return function(e){var t=[];return e.data&&t.push(e.data),e.tree.filter(function(e){return"NOTE"===e.tag}).forEach(function(e){t.push(i.createElement("i",null,e.data))}),t.length?i.createElement(i.Fragment,null,i.createElement("div",{className:"ui sub header"},U(e.tag)),i.createElement("span",null,I(t))):null}(e)}).filter(function(e){return null!==e}).map(function(e){return i.createElement("div",{className:"ui segment"},e)})}var F=function(e){function t(){return Object(u.a)(this,t),Object(m.a)(this,Object(f.a)(t).apply(this,arguments))}return Object(h.a)(t,e),Object(d.a)(t,[{key:"render",value:function(){var e=this,t=this.props.gedcom.indis[this.props.indi].tree;return i.createElement("div",{className:"ui segments",id:"details"},W(t,["NAME"],A),W(t,P,function(t){return _(t,e.context.intl.locale)}),x(t),W(t,["NOTE"],N))}}]),t}(i.Component);F.contextTypes={intl:s.d};var G=n(145);function B(e){return e.substring(1,e.length-1)}function H(e){var t=e.find(function(e){return"HEAD"===e.tag}),n={},a={};return e.forEach(function(e){"INDI"===e.tag?n[B(e.pointer)]=e:"FAM"===e.tag&&(a[B(e.pointer)]=e)}),{head:t,indis:n,fams:a}}function J(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],c=i&&i.birth,s=l&&l.birth,u=c&&(c.date||c.dateRange&&c.dateRange.from),d=s&&(s.date||s.dateRange&&s.dateRange.from);return u&&u.year&&d&&d.year?u.year!==d.year?u.year-d.year:u.month&&d.month?u.month!==d.month?u.month-d.month:u.day&&d.day&&u.day!==d.day?u.month-d.month:o:o:o}}(t));return Object.assign({},e,{children:n})}function V(e){var t=e.fams.map(function(t){return J(t,e)});return Object.assign({},e,{fams:t})}function K(e,t){var n=e.indis.map(function(e){return function(e,t){if(e.imageUrl){var n=e.imageUrl.match(/[^\/\\]*$/)[0];if(t.has(n)){var a=Object.assign({},e);return a.imageUrl=t.get(n),a}}if(!e.imageUrl||e.imageUrl.startsWith("http"))return e;var r=Object.assign({},e);return delete r.imageUrl,r}(e,t)});return Object.assign({},e,{indis:n})}function X(e,t,n){return{id:t||e.indis[0].id,generation:n||0}}function Z(e,t,n){var a=function(e,t){var n=Object(G.parse)(e),a=Object(y.gedcomEntriesToJson)(n);if(!a||!a.indis||!a.indis.length||!a.fams||!a.fams.length)throw new Error("Failed to read GEDCOM file");return{chartData:K(V(a),t),gedcom:H(n)}}(e,n||new Map),r=JSON.stringify(a);try{sessionStorage.setItem(t,r)}catch(o){console.warn("Failed to store data in session storage: "+o)}return a}function q(e,t,n){try{return Promise.resolve(function(e,t,n){var a=sessionStorage.getItem(e);if(a)return JSON.parse(a);if(!t)throw new Error("Error loading data. Please upload your file again.");return Z(t,e,n)}(e,t,n))}catch(a){return Promise.reject(new Error("Failed to read GEDCOM file"))}}var Y=n(521),$=n(514);function Q(e){return i.createElement($.a,{to:{pathname:"/view",search:p.stringify({url:e.url})}},e.text)}function ee(){return i.createElement(Y.a,{className:"intro"},i.createElement(Y.a.Content,null,i.createElement(Y.a.Header,null,i.createElement(s.a,{id:"intro.title",defaultMessage:"Topola Genealogy Viewer"}))),i.createElement(Y.a.Content,null,i.createElement("p",null,i.createElement(s.a,{id:"intro.description",defaultMessage:"Topola Genealogy is a genealogy tree viewer that lets you browse the structure of the family."})),i.createElement("p",null,i.createElement(s.a,{id:"intro.instructions",defaultMessage:"Use the LOAD FROM URL or LOAD FROM FILE buttons above to load a GEDCOM file. You can export a GEDCOM file from most of the existing genealogy programs and web sites."})),i.createElement("p",null,i.createElement(s.a,{id:"intro.examples",defaultMessage:"Here are some examples from the web that you can view:"})),i.createElement("ul",null,i.createElement("li",null,i.createElement(Q,{url:"http://genpol.com/module-Downloads-prep_hand_out-lid-32.html",text:"Karol Wojty\u0142a"})," ","(",i.createElement(s.a,{id:"intro.from",defaultMessage:"from"})," ",i.createElement("a",{href:"http://genpol.com/module-Downloads-display-lid-32.html"},"GENPOL"),")"),i.createElement("li",null,i.createElement(Q,{url:"https://webtreeprint.com/tp_downloader.php?path=famous_gedcoms/shakespeare.ged",text:"Shakespeare"})," ","(",i.createElement(s.a,{id:"intro.from",defaultMessage:"from"})," ",i.createElement("a",{href:"https://webtreeprint.com/tp_famous_gedcoms.php"},"webtreeprint.com"),")"),i.createElement("li",null,i.createElement(Q,{url:"http://genealogyoflife.com/tng/gedcom/HarryPotter.ged",text:"Harry Potter"})," ","(",i.createElement(s.a,{id:"intro.from",defaultMessage:"from"})," ",i.createElement("a",{href:"http://famousfamilytrees.blogspot.com/"},"Famous Family Trees"),")")),i.createElement("p",null,i.createElement("b",null,i.createElement(s.a,{id:"intro.privacy",defaultMessage:"Privacy"})),":",i.createElement(s.a,{id:"intro.privacy_note",defaultMessage:'When using the "load from file" option, this site does not send your data anywhere and files loaded from disk do not leave your computer. When using "load from URL", data is passed through the {link} service to deal with an issue with cross-site file loading in the browser (CORS).',values:{link:i.createElement("a",{href:"https://cors-anywhere.herokuapp.com/"},"cors-anywhere")}}))))}var te=n(522),ne=n(531),ae=n(517),re=n(528),oe=n(530),ie=n(525),le=n(151),ce=n.n(le),se=n(519),ue=n(527),de=n(239),me=n(518),fe=n(516),he=n(524),pe=n(523),ge=n(520);var ve=function(e){function t(){var e,n;Object(u.a)(this,t);for(var a=arguments.length,r=new Array(a),o=0;o<a;o++)r[o]=arguments[o];return(n=Object(m.a)(this,(e=Object(f.a)(t)).call.apply(e,[this].concat(r)))).state={loadUrlDialogOpen:!1},n.inputRef=void 0,n}return Object(h.a)(t,e),Object(d.a)(t,[{key:"handleUpload",value:function(e){var t=this,n=e.target.files;if(n&&n.length){var a,r=Array.from(n),o=1===n.length?n[0]:r.find(function(e){return e.name.toLowerCase().endsWith(".ged")})||n[0],i=r.filter(function(e){return e.name!==o.name&&function(e){var t=e.toLowerCase();return t.endsWith(".jpg")||t.endsWith(".png")}(e.name)}).map(function(e){return{name:e.name,url:URL.createObjectURL(e)}}),l=new Map(i.map(function(e){return[e.name,e.url]}));(a=o,new Promise(function(e,t){var n=new FileReader;n.onload=function(t){e(t.target.result)},n.readAsText(a)})).then(function(e){var n=i.map(function(e){return e.name}).sort().join("|"),a=ce()(ce()(e)+n);t.props.history.push({pathname:"/view",search:p.stringify({file:a}),state:{data:e,images:l}})}),e.target.value=""}}},{key:"handleLoadFromUrl",value:function(){var e=this;this.setState(Object.assign({},this.state,{loadUrlDialogOpen:!0}),function(){return e.inputRef.focus()})}},{key:"handleClose",value:function(){this.setState(Object.assign({},this.state,{loadUrlDialogOpen:!1}))}},{key:"handleLoad",value:function(){this.setState(Object.assign({},this.state,{loadUrlDialogOpen:!1})),this.state.url&&this.props.history.push({pathname:"/view",search:p.stringify({url:this.state.url})})}},{key:"handleUrlChange",value:function(e){this.setState(Object.assign({},this.state,{url:e.target.value}))}},{key:"render",value:function(){var e=this,t=i.createElement(se.a,{open:this.state.loadUrlDialogOpen,onClose:function(){return e.handleClose()},centered:!1},i.createElement(ue.a,null,i.createElement(de.a,{name:"cloud download"}),i.createElement(s.a,{id:"load_from_url.title",defaultMessage:"Load from URL",children:function(e){return e}})),i.createElement(se.a.Content,null,i.createElement(me.a,{onSubmit:function(){return e.handleLoad()}},i.createElement(fe.a,{placeholder:"https://",fluid:!0,onChange:function(t){return e.handleUrlChange(t)},ref:function(t){return e.inputRef=t}}),i.createElement("p",null,i.createElement(s.a,{id:"load_from_url.comment",defaultMessage:"Data from the URL will be loaded through {link} to avoid CORS issues.",values:{link:i.createElement("a",{href:"https://cors-anywhere.herokuapp.com/"},"cors-anywhere.herokuapp.com")}})))),i.createElement(se.a.Actions,null,i.createElement(he.a,{secondary:!0,onClick:function(){return e.handleClose()}},i.createElement(s.a,{id:"load_from_url.cancel",defaultMessage:"Cancel"})),i.createElement(he.a,{primary:!0,onClick:function(){return e.handleLoad()}},i.createElement(s.a,{id:"load_from_url.load",defaultMessage:"Load"})))),n=this.props.showingChart?i.createElement(i.Fragment,null,i.createElement(pe.a.Item,{as:"a",onClick:function(){return e.props.onPrint()}},i.createElement(de.a,{name:"print"}),i.createElement(s.a,{id:"menu.print",defaultMessage:"Print"})),i.createElement(ge.a,{trigger:i.createElement("div",null,i.createElement(de.a,{name:"download"}),i.createElement(s.a,{id:"menu.download",defaultMessage:"Download"})),className:"item"},i.createElement(ge.a.Menu,null,i.createElement(ge.a.Item,{onClick:function(){return e.props.onDownloadPdf()}},i.createElement(s.a,{id:"menu.pdf_file",defaultMessage:"PDF file"})),i.createElement(ge.a.Item,{onClick:function(){return e.props.onDownloadPng()}},i.createElement(s.a,{id:"menu.png_file",defaultMessage:"PNG file"})),i.createElement(ge.a.Item,{onClick:function(){return e.props.onDownloadSvg()}},i.createElement(s.a,{id:"menu.svg_file",defaultMessage:"SVG file"}))))):null;return i.createElement(pe.a,{attached:"top",inverted:!0,color:"blue",size:"large"},i.createElement($.a,{to:"/"},i.createElement(pe.a.Item,null,i.createElement("b",null,"Topola Genealogy"))),i.createElement(pe.a.Item,{as:"a",onClick:function(){return e.handleLoadFromUrl()}},i.createElement(de.a,{name:"cloud download"}),i.createElement(s.a,{id:"menu.load_from_url",defaultMessage:"Load from URL"})),i.createElement("input",{className:"hidden",type:"file",accept:".ged,image/*",id:"fileInput",multiple:!0,onChange:function(t){return e.handleUpload(t)}}),i.createElement("label",{htmlFor:"fileInput"},i.createElement(pe.a.Item,{as:"a"},i.createElement(de.a,{name:"folder open"}),i.createElement(s.a,{id:"menu.load_from_file",defaultMessage:"Load from file"}))),n,i.createElement(pe.a.Item,{as:"a",href:"https://github.com/PeWu/topola-viewer",position:"right"},i.createElement(s.a,{id:"menu.github",defaultMessage:"Source on GitHub"})),t)}}]),t}(i.Component);function Ee(e){return i.createElement(te.a,{negative:!0,className:"error"},i.createElement(te.a.Header,null,"Failed to load file"),i.createElement("p",null,e.message))}var we=function(e){function t(){var e,n;Object(u.a)(this,t);for(var a=arguments.length,r=new Array(a),o=0;o<a;o++)r[o]=arguments[o];return(n=Object(m.a)(this,(e=Object(f.a)(t)).call.apply(e,[this].concat(r)))).state={loading:!1},n.chartRef=null,n.onSelection=function(e){var t=n.props.location,a=p.parse(t.search);a.indi=e.id,a.gen=String(e.generation),t.search=p.stringify(a),n.props.history.push(t)},n.renderMainArea=function(){return n.state.data&&n.state.selection?i.createElement("div",{id:"content"},i.createElement(R,{data:n.state.data.chartData,onSelection:n.onSelection,selection:n.state.selection,ref:function(e){return n.chartRef=e}}),n.state.showSidePanel?i.createElement(ne.a,{minWidth:768,id:"sidePanel"},i.createElement(F,{gedcom:n.state.data.gedcom,indi:n.state.selection.id})):null):n.state.error?i.createElement(Ee,{message:n.state.error}):i.createElement(ae.a,{active:!0,size:"large"})},n}return Object(h.a)(t,e),Object(d.a)(t,[{key:"isNewData",value:function(e,t){return!(!e||e===this.state.hash)||!(!t||this.state.url===t)}},{key:"componentDidMount",value:function(){this.componentDidUpdate()}},{key:"componentDidUpdate",value:function(){var e=this;if("/view"===this.props.location.pathname){var t=this.props.location.state&&this.props.location.state.data,n=this.props.location.state&&this.props.location.state.images,a=p.parse(this.props.location.search),r=function(e){var t=a[e];return"string"===typeof t?t:void 0},o=r("url"),i=r("indi"),l=Number(r("gen")),c=isNaN(l)?void 0:l,s=r("file"),u="false"!==r("handleCors"),d="false"!==r("sidePanel");if(o||s){if(this.isNewData(s,o)){(s?q(s,t,n):function(e,t){var n=sessionStorage.getItem(e);if(n)return Promise.resolve(JSON.parse(n));var a=t?"https://cors-anywhere.herokuapp.com/"+e:e;return window.fetch(a).then(function(e){return 200!==e.status?Promise.reject(new Error(e.statusText)):e.text()}).then(function(t){return Z(t,e)})}(o,u)).then(function(t){e.setState(Object.assign({},e.state,{data:t,hash:s,selection:X(t.chartData,i,c),error:void 0,loading:!1,url:o,showSidePanel:d}))},function(t){e.setState(Object.assign({},e.state,{error:t.message,loading:!1}))}),this.setState(Object.assign({},this.state,{data:void 0,selection:void 0,hash:s,error:void 0,loading:!0,url:o}))}else if(this.state.data&&this.state.selection){var m=X(this.state.data.chartData,i,c);this.state.selection.id===m.id&&this.state.selection.generation===m.generation||this.setState(Object.assign({},this.state,{selection:m}))}}else this.props.history.replace({pathname:"/"})}}},{key:"render",value:function(){var e=this;return i.createElement(i.Fragment,null,i.createElement(re.a,{render:function(t){return i.createElement(ve,Object.assign({},t,{showingChart:!("/view"!==e.props.history.location.pathname||!e.state.data||!e.state.selection),onPrint:function(){return e.chartRef&&e.chartRef.print()},onDownloadPdf:function(){return e.chartRef&&e.chartRef.downloadPdf()},onDownloadPng:function(){return e.chartRef&&e.chartRef.downloadPng()},onDownloadSvg:function(){return e.chartRef&&e.chartRef.downloadSvg()}}))}}),i.createElement(oe.a,null,i.createElement(re.a,{exact:!0,path:"/",component:ee}),i.createElement(re.a,{exact:!0,path:"/view",render:this.renderMainArea}),i.createElement(ie.a,{to:"/"})))}}]),t}(i.Component),ye=n(270),be=n(526);n(499),n(501),n(504);Object(s.c)([].concat(Object(a.a)(r),Object(a.a)(o)));var Oe={pl:c},Ce=navigator.language&&navigator.language.split(/[-_]/)[0],je=Object(ye.detect)();je&&"ie"===je.name?l.render(i.createElement("p",null,"Topola Genealogy Viewer does not support Internet Explorer. Please try a different browser."),document.querySelector("#root")):l.render(i.createElement(s.b,{locale:Ce,messages:Oe[Ce]},i.createElement(be.a,null,i.createElement(re.a,{component:we}))),document.querySelector("#root"))}},[[281,2,1]]]);
//# sourceMappingURL=main.8b9ab523.chunk.js.map