Files
topola-viewer/static/js/main.d5151a5d.chunk.js
Przemek Wiech c3fd390e5d Updates
2019-04-17 23:02:39 +02:00

2 lines
32 KiB
JavaScript

(window.webpackJsonp=window.webpackJsonp||[]).push([[0],{247: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","menu.powered_by":"Topola Genealogy","menu.search.placeholder":"Szukaj osoby","menu.search.no_results":"Brak wynik\xf3w","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","date.abt":"oko\u0142o","date.cal":"wyliczone","date.est":"oszacowane","date.between":"mi\u0119dzy {from} a {to}","date.after":"po {from}","date.before":"przed {to}"}},248:function(e,t){},291:function(e,t,n){e.exports=n(515)},303:function(e,t){},309:function(e,t){},512:function(e,t,n){},515:function(e,t,n){"use strict";n.r(t);var a=n(75),r=n(245),i=n(246),o=n(0),s=n(63),l=n(247),c=n(15),u=n(16),d=n.n(u),f=n(26),m=n(29),h=n(30),p=n(38),g=n(35),v=n(37),w=n(42);function E(e,t){window.gtag("event",e,t)}var b=n(21),y=n(250),k=n.n(y),O=n(160),x=n(51);function j(){var e=b.select("#chart").node().parentElement;e.scrollLeft=-b.event.transform.x,e.scrollTop=-b.event.transform.y}function R(){var e=b.select("#chart").node().parentElement,t=e.scrollLeft+e.clientWidth/2,n=e.scrollTop+e.clientHeight/2;b.select(e).call(b.zoom().translateTo,t,n)}function S(e){var t=new FileReader;return t.readAsDataURL(e),new Promise(function(e,n){t.onload=function(t){return e(t.target.result)}})}function M(e){return C.apply(this,arguments)}function C(){return(C=Object(f.a)(d.a.mark(function e(t){var n,a,r,i;return d.a.wrap(function(e){for(;;)switch(e.prev=e.next){case 0:if(n=t.href.baseVal){e.next=3;break}return e.abrupt("return");case 3:return e.prev=3,e.next=6,fetch(n);case 6:return a=e.sent,e.next=9,a.blob();case 9:return r=e.sent,e.next=12,S(r);case 12:i=e.sent,t.href.baseVal=i,e.next=19;break;case 16:e.prev=16,e.t0=e.catch(3),console.warn("Failed to load image:",e.t0);case 19:case"end":return e.stop()}},e,null,[[3,16]])}))).apply(this,arguments)}function _(e){return z.apply(this,arguments)}function z(){return(z=Object(f.a)(d.a.mark(function e(t){var n;return d.a.wrap(function(e){for(;;)switch(e.prev=e.next){case 0:return n=Array.from(t.getElementsByTagName("image")),e.next=3,Promise.all(n.map(M));case 3:case"end":return e.stop()}},e)}))).apply(this,arguments)}function D(e){var t=new Image;return t.src=URL.createObjectURL(e),new Promise(function(e,n){t.addEventListener("load",function(){return e(t)})})}function T(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}function I(e,t){return new Promise(function(n,a){e.toBlob(function(e){e?n(e):a()},t)})}var L=function(e){function t(){var e,n;Object(m.a)(this,t);for(var a=arguments.length,r=new Array(a),i=0;i<a;i++)r[i]=arguments[i];return(n=Object(p.a)(this,(e=Object(g.a)(t)).call.apply(e,[this].concat(r)))).chart=void 0,n}return Object(v.a)(t,e),Object(h.a)(t,[{key:"renderChart",value:function(){var e=this,t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{initialRender:!1};t.initialRender&&(b.select("#chart").node().innerHTML="",this.chart=Object(x.createChart)({json:this.props.data,chartType:x.HourglassChart,renderer:x.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=b.select("#chart"),r=a.node().parentElement;b.select(r).on("scroll",R).call(b.zoom().scaleExtent([1,1]).translateExtent([[0,0],n.size]).on("zoom",j));var i,o,s=r.clientWidth/2-n.origin[0],l=r.clientHeight/2-n.origin[1],c=b.max([0,(r.clientWidth-n.size[0])/2]),u=b.max([0,(r.clientHeight-n.size[1])/2]),d=a.transition().delay(200).duration(500);(t.initialRender?a:d).attr("transform","translate(".concat(c,", ").concat(u,")")).attr("width",n.size[0]).attr("height",n.size[1]),t.initialRender?(r.scrollLeft=-s,r.scrollTop=-l):d.tween("scrollLeft",(o=-s,function(){var e=b.interpolateNumber(r.scrollLeft,o);return function(t){r.scrollLeft=e(t)}})).tween("scrollTop",(i=-l,function(){var e=b.interpolateNumber(r.scrollTop,i);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 o.createElement("div",{id:"svgContainer"},o.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=Object(f.a)(d.a.mark(function e(){var t;return d.a.wrap(function(e){for(;;)switch(e.prev=e.next){case 0:return(t=document.getElementById("chart").cloneNode(!0)).removeAttribute("transform"),e.next=4,_(t);case 4:return e.abrupt("return",(new XMLSerializer).serializeToString(t));case 5:case"end":return e.stop()}},e)}));return function(){return e.apply(this,arguments)}}()},{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=Object(f.a)(d.a.mark(function e(){var t,n;return d.a.wrap(function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,this.getSvgContentsWithInlinedImages();case 2:t=e.sent,n=new Blob([t],{type:"image/svg+xml"}),Object(O.saveAs)(n,"topola.svg");case 5:case"end":return e.stop()}},e,this)}));return function(){return e.apply(this,arguments)}}()},{key:"drawOnCanvas",value:function(){var e=Object(f.a)(d.a.mark(function e(){var t,n;return d.a.wrap(function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,this.getSvgContentsWithInlinedImages();case 2:return t=e.sent,n=new Blob([t],{type:"image/svg+xml"}),e.t0=T,e.next=7,D(n);case 7:return e.t1=e.sent,e.next=10,(0,e.t0)(e.t1);case 10:return e.abrupt("return",e.sent);case 11:case"end":return e.stop()}},e,this)}));return function(){return e.apply(this,arguments)}}()},{key:"downloadPng",value:function(){var e=Object(f.a)(d.a.mark(function e(){var t,n;return d.a.wrap(function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,this.drawOnCanvas();case 2:return t=e.sent,e.next=5,I(t,"image/png");case 5:n=e.sent,Object(O.saveAs)(n,"topola.png");case 7:case"end":return e.stop()}},e,this)}));return function(){return e.apply(this,arguments)}}()},{key:"downloadPdf",value:function(){var e=Object(f.a)(d.a.mark(function e(){var t,n;return d.a.wrap(function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,this.drawOnCanvas();case 2:t=e.sent,(n=new k.a({orientation:t.width>t.height?"l":"p",unit:"pt",format:[t.width,t.height]})).addImage(t,"PNG",0,0,t.width,t.height,"NONE"),n.save("topola.pdf");case 6:case"end":return e.stop()}},e,this)}));return function(){return e.apply(this,arguments)}}()}]),t}(o.PureComponent);L.contextTypes={intl:c.d};var N=n(252),P=n.n(N),U=n(253),A=n.n(U),W=new Map([["abt","about"],["cal","calculated"],["est","estimated"]]);function F(e,t){var n=void 0!==e.day,a=void 0!==e.month,r=void 0!==e.year;if(!n&&!a&&!r)return e.text||"";var i=new Date(r?e.year:0,a?e.month-1:0,n?e.day:1),o=e.qualifier&&e.qualifier.toLowerCase(),s={day:n?"numeric":void 0,month:a?"long":void 0,year:r?"numeric":void 0};return[o&&t.formatMessage({id:"date.".concat(o),defaultMessage:W.get(o)||o}),new Intl.DateTimeFormat(t.locale,s).format(i)].join(" ")}function G(e,t){var n=Object(x.getDate)(e);return n?n.date?F(n.date,t):n.dateRange?function(e,t){var n=e.from,a=e.to,r=n&&F(n,t),i=a&&F(a,t);return r&&i?t.formatMessage({id:"date.between",defaultMessage:"between {from} and {to}"},{from:r,to:i}):r?t.formatMessage({id:"date.after",defaultMessage:"after {from}"},{from:r}):i?t.formatMessage({id:"date.before",defaultMessage:"before {to}"},{to:i}):""}(n.dateRange,t):"":""}var B=["BIRT","BAPM","CHR","DEAT","BURI"],H=["NAME","SEX","FAMC","FAMS","SOUR","NOTE"],V=new Map([["BAPM","Baptism"],["BIRT","Birth"],["BURI","Burial"],["CHR","Christening"],["DEAT","Death"],["EMAIL","E-mail"],["OCCU","Occupation"],["TITL","Title"],["WWW","WWW"]]);function J(e){return o.createElement(c.a,{id:"gedcom.".concat(e),defaultMessage:V.get(e)||e})}function Y(e){return o.createElement(o.Fragment,null,e.map(function(e,t){return o.createElement("div",{key:t},o.createElement(A.a,{properties:{target:"_blank"}},e),o.createElement("br",null))}))}function q(e){var t=[e.data];return e.tree.forEach(function(e){if("CONC"===e.tag&&e.data){var n=t.length-1;t[n]+=e.data}else"CONT"===e.tag&&e.data&&t.push(e.data)}),t}function K(e){return Y(q(e).map(function(e,t){return o.createElement("i",{key:t},e)}))}function X(e){return o.createElement("h2",{className:"ui header"},e.data.split("/").filter(function(e){return!!e}).map(function(e,t){return o.createElement("div",{key:t},e,o.createElement("br",null))}))}function Z(e,t,n){return P()(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,t){return o.createElement("div",{className:"ui segment",key:t},e)})}function $(e){return e.filter(function(e){return!H.includes(e.tag)&&!B.includes(e.tag)}).map(function(e){return function(e){var t=[];return e.data&&t.push.apply(t,Object(a.a)(q(e))),e.tree.filter(function(e){return"NOTE"===e.tag}).forEach(function(e){return q(e).forEach(function(e){return t.push(o.createElement("i",null,e))})}),t.length?o.createElement(o.Fragment,null,o.createElement("div",{className:"ui sub header"},J(e.tag)),o.createElement("span",null,Y(t))):null}(e)}).filter(function(e){return null!==e}).map(function(e,t){return o.createElement("div",{className:"ui segment",key:t},e)})}var Q=function(e){function t(){return Object(m.a)(this,t),Object(p.a)(this,Object(g.a)(t).apply(this,arguments))}return Object(v.a)(t,e),Object(h.a)(t,[{key:"render",value:function(){var e=this,t=this.props.gedcom.indis[this.props.indi].tree;return o.createElement("div",{className:"ui segments",id:"details"},Z(t,["NAME"],X),Z(t,B,function(t){return function(e,t){var n=[],r=e.tree.find(function(e){return"DATE"===e.tag});r&&r.data&&n.push(G(r.data,t));var i=e.tree.find(function(e){return"PLAC"===e.tag});return i&&i.data&&n.push.apply(n,Object(a.a)(q(i))),e.tree.filter(function(e){return"NOTE"===e.tag}).forEach(function(e){return q(e).forEach(function(e){return n.push(o.createElement("i",null,e))})}),n.length?o.createElement(o.Fragment,null,o.createElement("div",{className:"ui sub header"},J(e.tag)),o.createElement("span",null,Y(n))):null}(t,e.context.intl)}),$(t),Z(t,["NOTE"],K))}}]),t}(o.Component);Q.contextTypes={intl:c.d};var ee=n(156);function te(e){return e.substring(1,e.length-1)}function ne(e){var t=e.find(function(e){return"HEAD"===e.tag}),n={},a={};return e.forEach(function(e){"INDI"===e.tag?n[te(e.pointer)]=e:"FAM"===e.tag&&(a[te(e.pointer)]=e)}),{head:t,indis:n,fams:a}}function ae(e){var t=function(e){var t=new Map;return e.indis.forEach(function(e){t[e.id]=e}),function(e,n){var a,r,i=(a=e)<(r=n)?-1:a>r?1:0,o=t[e],s=t[n],l=o&&o.birth,c=s&&s.birth,u=l&&(l.date||l.dateRange&&l.dateRange.from),d=c&&(c.date||c.dateRange&&c.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:i:i:i}}(e),n=e.fams.map(function(e){return function(e,t){if(!e.children)return e;var n=e.children.sort(t);return Object.assign({},e,{children:n})}(e,t)});return Object.assign({},e,{fams:n})}function re(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 ie(e){var t=e&&e.tree&&e.tree.find(function(e){return"SOUR"===e.tag}),n=t&&t.tree&&t.tree.find(function(e){return"NAME"===e.tag});return n&&n.data||null}function oe(e,t,n){return{id:t||e.indis[0].id,generation:n||0}}function se(e,t,n){var a=function(e,t){var n=Object(ee.parse)(e),a=Object(x.gedcomEntriesToJson)(n);if(!a||!a.indis||!a.indis.length||!a.fams||!a.fams.length)throw new Error("Failed to read GEDCOM file");return{chartData:re(ae(a),t),gedcom:ne(n)}}(e,n||new Map),r=JSON.stringify(a);try{sessionStorage.setItem(t,r)}catch(i){console.warn("Failed to store data in session storage: "+i)}return a}function le(e,t){return ce.apply(this,arguments)}function ce(){return(ce=Object(f.a)(d.a.mark(function e(t,n){var a,r,i,o;return d.a.wrap(function(e){for(;;)switch(e.prev=e.next){case 0:if(!(a=sessionStorage.getItem(t))){e.next=3;break}return e.abrupt("return",JSON.parse(a));case 3:return r=n?"https://cors-anywhere.herokuapp.com/"+t:t,e.next=6,window.fetch(r);case 6:if(200===(i=e.sent).status){e.next=9;break}throw new Error(i.statusText);case 9:return e.next=11,i.text();case 11:return o=e.sent,e.abrupt("return",se(o,t));case 13:case"end":return e.stop()}},e)}))).apply(this,arguments)}function ue(e,t,n){return de.apply(this,arguments)}function de(){return(de=Object(f.a)(d.a.mark(function e(t,n,a){var r;return d.a.wrap(function(e){for(;;)switch(e.prev=e.next){case 0:if(!(r=sessionStorage.getItem(t))){e.next=3;break}return e.abrupt("return",JSON.parse(r));case 3:if(n){e.next=5;break}throw new Error("Error loading data. Please upload your file again.");case 5:return e.abrupt("return",se(n,t,a));case 6:case"end":return e.stop()}},e)}))).apply(this,arguments)}var fe=n(530),me=n(523);function he(e){return o.createElement(me.a,{to:{pathname:"/view",search:w.stringify({url:e.url})}},e.text)}function pe(){return o.createElement(fe.a,{className:"intro"},o.createElement(fe.a.Content,null,o.createElement(fe.a.Header,null,o.createElement(c.a,{id:"intro.title",defaultMessage:"Topola Genealogy Viewer"}))),o.createElement(fe.a.Content,null,o.createElement("p",null,o.createElement(c.a,{id:"intro.description",defaultMessage:"Topola Genealogy is a genealogy tree viewer that lets you browse the structure of the family."})),o.createElement("p",null,o.createElement(c.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."})),o.createElement("p",null,o.createElement(c.a,{id:"intro.examples",defaultMessage:"Here are some examples from the web that you can view:"})),o.createElement("ul",null,o.createElement("li",null,o.createElement(he,{url:"http://genpol.com/module-Downloads-prep_hand_out-lid-32.html",text:"Karol Wojty\u0142a"})," ","(",o.createElement(c.a,{id:"intro.from",defaultMessage:"from"})," ",o.createElement("a",{href:"http://genpol.com/module-Downloads-display-lid-32.html"},"GENPOL"),")"),o.createElement("li",null,o.createElement(he,{url:"https://webtreeprint.com/tp_downloader.php?path=famous_gedcoms/shakespeare.ged",text:"Shakespeare"})," ","(",o.createElement(c.a,{id:"intro.from",defaultMessage:"from"})," ",o.createElement("a",{href:"https://webtreeprint.com/tp_famous_gedcoms.php"},"webtreeprint.com"),")"),o.createElement("li",null,o.createElement(he,{url:"http://genealogyoflife.com/tng/gedcom/HarryPotter.ged",text:"Harry Potter"})," ","(",o.createElement(c.a,{id:"intro.from",defaultMessage:"from"})," ",o.createElement("a",{href:"http://famousfamilytrees.blogspot.com/"},"Famous Family Trees"),")")),o.createElement("p",null,o.createElement("b",null,o.createElement(c.a,{id:"intro.privacy",defaultMessage:"Privacy"})),":",o.createElement(c.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:o.createElement("a",{href:"https://cors-anywhere.herokuapp.com/"},"cors-anywhere")}}))))}var ge=n(531),ve=n(540),we=n(526),Ee=n(537),be=n(539),ye=n(536),ke=n(258),Oe=n.n(ke),xe=n(161),je=n.n(xe),Re=n(259),Se=n.n(Re),Me=n(260),Ce=n.n(Me);function _e(e,t){return e.score!==t.score?e.score-t.score:Se()(e.ref,t.ref)}var ze=function(){function e(t){Object(m.a)(this,e),this.gedcom=t,this.index=void 0,this.index=Ce()(function(){for(var e in this.ref("id"),this.field("id"),this.field("name"),this.field("normalizedName"),t.indis){var n=t.indis[e].tree.filter(function(e){return"NAME"===e.tag}).map(function(e){return e.data}).join(" ");this.add({id:e,name:n,normalizedName:(a=n,a.toLocaleLowerCase().normalize("NFD").replace(/[\u0300-\u036f]/g,"").replace(/\u0142/g,"l"))})}var a})}return Object(h.a)(e,[{key:"search",value:function(e){var t=this,n=e.split(" ").filter(function(e){return!!e}).map(function(e){return"+".concat(e,"*")}).join(" ");return this.index.search(n).sort(_e).slice(0,8).map(function(e){return{id:e.ref,indi:t.gedcom.indis[e.ref]}})}}]),e}();function De(e){var t=e.indi.tree.find(function(e){return"NAME"===e.tag}),n=t&&t.data.split("/").filter(function(e){return!!e}).join(" ");return e.id.length>8?n:o.createElement(o.Fragment,null,n," ",o.createElement("i",null,"(",e.id,")"))}function Te(e,t,n){var a=e.tree.find(function(e){return e.tag===t}),r=a&&a.tree.find(function(e){return"DATE"===e.tag});return r&&G(r.data,n)||""}function Ie(e,t){var n=Te(e,"BIRT",t),a=Te(e,"DEAT",t);return a?"".concat(n," \u2013 ").concat(a):n}var Le=n(528),Ne=n(534),Pe=n(64),Ue=n(527),Ae=n(525),We=n(517),Fe=n(533),Ge=n(529),Be=n(532);function He(e){return new Promise(function(t,n){var a=new FileReader;a.onload=function(e){t(e.target.result)},a.readAsText(e)})}function Ve(e){var t=e.toLowerCase();return t.endsWith(".jpg")||t.endsWith(".png")}var Je,Ye=function(e){function t(){var e,n;Object(m.a)(this,t);for(var a=arguments.length,r=new Array(a),i=0;i<a;i++)r[i]=arguments[i];return(n=Object(p.a)(this,(e=Object(g.a)(t)).call.apply(e,[this].concat(r)))).state={loadUrlDialogOpen:!1,searchResults:[]},n.inputRef=void 0,n.searchRef=void 0,n.searchIndex=void 0,n}return Object(v.a)(t,e),Object(h.a)(t,[{key:"handleUpload",value:function(){var e=Object(f.a)(d.a.mark(function e(t){var n,a,r,i,o,s,l,c,u;return d.a.wrap(function(e){for(;;)switch(e.prev=e.next){case 0:if((n=t.target.files)&&n.length){e.next=3;break}return e.abrupt("return");case 3:return a=Array.from(n),t.target.value="",E("upload_files_selected",{event_value:n.length}),r=1===n.length?n[0]:a.find(function(e){return e.name.toLowerCase().endsWith(".ged")})||n[0],i=a.filter(function(e){return e.name!==r.name&&Ve(e.name)}).map(function(e){return{name:e.name,url:URL.createObjectURL(e)}}),o=new Map(i.map(function(e){return[e.name,e.url]})),e.next=11,He(r);case 11:s=e.sent,l=i.map(function(e){return e.name}).sort().join("|"),c=je()(je()(s)+l),u=w.parse(this.props.location.search),(u.file===c?this.props.history.replace:this.props.history.push)({pathname:"/view",search:w.stringify({file:c}),state:{data:s,images:o}});case 17:case"end":return e.stop()}},e,this)}));return function(t){return e.apply(this,arguments)}}()},{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&&(E("url_selected"),this.props.history.push({pathname:"/view",search:w.stringify({url:this.state.url})}))}},{key:"handleUrlChange",value:function(e){this.setState(Object.assign({},this.state,{url:e.target.value}))}},{key:"handleSearch",value:function(e){var t=this;if(e){var n=this.searchIndex.search(e).map(function(e){return function(e,t){return{id:e.id,key:e.id,title:De(e),description:Ie(e.indi,t)}}(e,t.context.intl)});this.setState(Object.assign({},this.state,{searchResults:n}))}}},{key:"handleResultSelect",value:function(e){E("search_result_selected"),this.props.onSelection({id:e,generation:0}),this.searchRef.setValue("")}},{key:"initializeSearchIndex",value:function(){var e;this.props.gedcom&&(this.searchIndex=(e=this.props.gedcom,new ze(e)))}},{key:"componentDidMount",value:function(){this.initializeSearchIndex()}},{key:"componentDidUpdate",value:function(e){e.gedcom!==this.props.gedcom&&this.initializeSearchIndex()}},{key:"render",value:function(){var e=this,t=o.createElement(Le.a,{open:this.state.loadUrlDialogOpen,onClose:function(){return e.handleClose()},centered:!1},o.createElement(Ne.a,null,o.createElement(Pe.a,{name:"cloud download"}),o.createElement(c.a,{id:"load_from_url.title",defaultMessage:"Load from URL",children:function(e){return e}})),o.createElement(Le.a.Content,null,o.createElement(Ue.a,{onSubmit:function(){return e.handleLoad()}},o.createElement(Ae.a,{placeholder:"https://",fluid:!0,onChange:function(t){return e.handleUrlChange(t)},ref:function(t){return e.inputRef=t}}),o.createElement("p",null,o.createElement(c.a,{id:"load_from_url.comment",defaultMessage:"Data from the URL will be loaded through {link} to avoid CORS issues.",values:{link:o.createElement("a",{href:"https://cors-anywhere.herokuapp.com/"},"cors-anywhere.herokuapp.com")}})))),o.createElement(Le.a.Actions,null,o.createElement(We.a,{secondary:!0,onClick:function(){return e.handleClose()}},o.createElement(c.a,{id:"load_from_url.cancel",defaultMessage:"Cancel"})),o.createElement(We.a,{primary:!0,onClick:function(){return e.handleLoad()}},o.createElement(c.a,{id:"load_from_url.load",defaultMessage:"Load"})))),n=this.props.showingChart?o.createElement(o.Fragment,null,o.createElement(Fe.a.Item,{as:"a",onClick:function(){return e.props.onPrint()}},o.createElement(Pe.a,{name:"print"}),o.createElement(c.a,{id:"menu.print",defaultMessage:"Print"})),o.createElement(Ge.a,{trigger:o.createElement("div",null,o.createElement(Pe.a,{name:"download"}),o.createElement(c.a,{id:"menu.download",defaultMessage:"Download"})),className:"item"},o.createElement(Ge.a.Menu,null,o.createElement(Ge.a.Item,{onClick:function(){return e.props.onDownloadPdf()}},o.createElement(c.a,{id:"menu.pdf_file",defaultMessage:"PDF file"})),o.createElement(Ge.a.Item,{onClick:function(){return e.props.onDownloadPng()}},o.createElement(c.a,{id:"menu.png_file",defaultMessage:"PNG file"})),o.createElement(Ge.a.Item,{onClick:function(){return e.props.onDownloadSvg()}},o.createElement(c.a,{id:"menu.svg_file",defaultMessage:"SVG file"})))),o.createElement(Be.a,{onSearchChange:Oe()(function(t,n){return e.handleSearch(n.value)},200),onResultSelect:function(t,n){return e.handleResultSelect(n.result.id)},results:this.state.searchResults,noResultsMessage:this.context.intl.formatMessage({id:"menu.search.no_results",defaultMessage:"No results found"}),placeholder:this.context.intl.formatMessage({id:"menu.search.placeholder",defaultMessage:"Search for people"}),selectFirstResult:!0,ref:function(t){return e.searchRef=t}})):null,a=this.props.embedded?null:o.createElement(o.Fragment,null,o.createElement(me.a,{to:"/"},o.createElement(Fe.a.Item,null,o.createElement("b",null,"Topola Genealogy"))),o.createElement(Fe.a.Item,{as:"a",onClick:function(){return e.handleLoadFromUrl()}},o.createElement(Pe.a,{name:"cloud download"}),o.createElement(c.a,{id:"menu.load_from_url",defaultMessage:"Load from URL"})),o.createElement("input",{className:"hidden",type:"file",accept:".ged,image/*",id:"fileInput",multiple:!0,onChange:function(t){return e.handleUpload(t)}}),o.createElement("label",{htmlFor:"fileInput"},o.createElement(Fe.a.Item,{as:"a"},o.createElement(Pe.a,{name:"folder open"}),o.createElement(c.a,{id:"menu.load_from_file",defaultMessage:"Load from file"})))),r=this.props.embedded?o.createElement(o.Fragment,null,o.createElement(Fe.a.Item,{as:"a",href:"https://pewu.github.com/topola-viewer",position:"right",target:"_blank"},o.createElement(c.a,{id:"menu.powered_by",defaultMessage:"Powered by Topola"}))):o.createElement(o.Fragment,null,o.createElement(Fe.a.Item,{as:"a",href:"https://github.com/PeWu/topola-viewer",position:"right",target:"_blank"},o.createElement(c.a,{id:"menu.github",defaultMessage:"Source on GitHub"})));return o.createElement(Fe.a,{attached:"top",inverted:!0,color:"blue",size:"large"},a,n,r,t)}}]),t}(o.Component);function qe(e){return o.createElement(ge.a,{negative:!0,className:"error"},o.createElement(ge.a.Header,null,"Failed to load file"),o.createElement("p",null,e.message))}Ye.contextTypes={intl:c.d},function(e){e.GEDCOM="gedcom",e.READY="ready",e.PARENT_READY="parent_ready"}(Je||(Je={}));var Ke=function(e){function t(){var e,n;Object(m.a)(this,t);for(var a=arguments.length,r=new Array(a),i=0;i<a;i++)r[i]=arguments[i];return(n=Object(p.a)(this,(e=Object(g.a)(t)).call.apply(e,[this].concat(r)))).state={loading:!1,embedded:!1},n.chartRef=null,n.onSelection=function(e){if(E("selection_changed"),n.state.embedded)n.updateSelection(e);else{var t=n.props.location,a=w.parse(t.search);a.indi=e.id,a.gen=String(e.generation),t.search=w.stringify(a),n.props.history.push(t)}},n.renderMainArea=function(){return n.state.data&&n.state.selection?o.createElement("div",{id:"content"},o.createElement(L,{data:n.state.data.chartData,onSelection:n.onSelection,selection:n.state.selection,ref:function(e){return n.chartRef=e}}),n.state.showSidePanel?o.createElement(ve.a,{minWidth:768,id:"sidePanel"},o.createElement(Q,{gedcom:n.state.data.gedcom,indi:n.state.selection.id})):null):n.state.error?o.createElement(qe,{message:n.state.error}):o.createElement(we.a,{active:!0,size:"large"})},n}return Object(v.a)(t,e),Object(h.a)(t,[{key:"isNewData",value:function(e,t,n){return!(!e||e===this.state.hash)||!(!t||this.state.url===t)||!!n&&!this.state.loading&&!this.state.data}},{key:"updateSelection",value:function(e){this.state.selection&&this.state.selection.id===e.id&&this.state.selection.generation===e.generation||this.setState(Object.assign({},this.state,{selection:e}))}},{key:"setError",value:function(e){this.setState(Object.assign({},this.state,{error:e,loading:!1}))}},{key:"onMessage",value:function(){var e=Object(f.a)(d.a.mark(function e(t){var n,a;return d.a.wrap(function(e){for(;;)switch(e.prev=e.next){case 0:if(t.message!==Je.PARENT_READY){e.next=4;break}window.parent.postMessage({message:Je.READY},"*"),e.next=21;break;case 4:if(t.message!==Je.GEDCOM){e.next=21;break}if(n=t.gedcom){e.next=8;break}return e.abrupt("return");case 8:return e.prev=8,e.next=11,ue("",n);case 11:a=e.sent,E("embedded_file_loaded",{event_label:ie(a.gedcom.head)}),this.setState(Object.assign({},this.state,{data:a,selection:oe(a.chartData),error:void 0,loading:!1})),e.next=21;break;case 17:e.prev=17,e.t0=e.catch(8),E("embedded_file_error"),this.setError(e.t0.message);case 21:case"end":return e.stop()}},e,this,[[8,17]])}));return function(t){return e.apply(this,arguments)}}()},{key:"componentDidMount",value:function(){this.componentDidUpdate()}},{key:"componentDidUpdate",value:function(){var e=Object(f.a)(d.a.mark(function e(){var t,n,a,r,i,o,s,l,c,u,f,m,h,p,g,v=this;return d.a.wrap(function(e){for(;;)switch(e.prev=e.next){case 0:if("/view"===this.props.location.pathname){e.next=2;break}return e.abrupt("return");case 2:if(t=w.parse(this.props.location.search),a="false"!==(n=function(e){var n=t[e];return"string"===typeof n?n:void 0})("sidePanel"),(r="true"===n("embedded"))&&!this.state.embedded&&(this.setState(Object.assign({},this.state,{embedded:!0,showSidePanel:a})),window.parent.postMessage("ready","*"),window.addEventListener("message",function(e){return v.onMessage(e.data)})),!r){e.next=9;break}return e.abrupt("return");case 9:if(i=n("url"),o=n("indi"),s=Number(n("gen")),l=isNaN(s)?void 0:s,c=n("file"),u="false"!==n("handleCors"),f=this.props.location.state&&this.props.location.state.data,m=this.props.location.state&&this.props.location.state.images,i||c){e.next=21;break}this.props.history.replace({pathname:"/"}),e.next=46;break;case 21:if(!this.isNewData(c,i,f)){e.next=45;break}if(e.prev=22,this.setState(Object.assign({},this.state,{data:void 0,selection:void 0,hash:c,error:void 0,loading:!0,url:i})),!c){e.next=30;break}return e.next=27,ue(c,f,m);case 27:e.t0=e.sent,e.next=33;break;case 30:return e.next=32,le(i,u);case 32:e.t0=e.sent;case 33:h=e.t0,p=ie(h.gedcom.head),E(c?"upload_file_loaded":"url_file_loaded",{event_label:p,event_value:m&&m.size||0}),this.setState(Object.assign({},this.state,{data:h,hash:c,selection:oe(h.chartData,o,l),error:void 0,loading:!1,url:i,showSidePanel:a})),e.next=43;break;case 39:e.prev=39,e.t1=e.catch(22),E(c?"upload_file_error":"url_file_error"),this.setError(e.t1.message);case 43:e.next=46;break;case 45:this.state.data&&this.state.selection&&(g=oe(this.state.data.chartData,o,l),this.updateSelection(g));case 46:case"end":return e.stop()}},e,this,[[22,39]])}));return function(){return e.apply(this,arguments)}}()},{key:"render",value:function(){var e=this;return o.createElement(o.Fragment,null,o.createElement(Ee.a,{render:function(t){return o.createElement(Ye,Object.assign({},t,{gedcom:e.state.data&&e.state.data.gedcom,showingChart:!("/view"!==e.props.history.location.pathname||!e.state.data||!e.state.selection),embedded:e.state.embedded,onSelection:e.onSelection,onPrint:function(){E("print"),e.chartRef&&e.chartRef.print()},onDownloadPdf:function(){E("download_pdf"),e.chartRef&&e.chartRef.downloadPdf()},onDownloadPng:function(){E("download_png"),e.chartRef&&e.chartRef.downloadPng()},onDownloadSvg:function(){E("download_svg"),e.chartRef&&e.chartRef.downloadSvg()}}))}}),o.createElement(be.a,null,o.createElement(Ee.a,{exact:!0,path:"/",component:pe}),o.createElement(Ee.a,{exact:!0,path:"/view",render:this.renderMainArea}),o.createElement(ye.a,{to:"/"})))}}]),t}(o.Component),Xe=n(278),Ze=n(535);n(512),n(513),n(514);Object(c.c)([].concat(Object(a.a)(r),Object(a.a)(i)));var $e={pl:l},Qe=navigator.language&&navigator.language.split(/[-_]/)[0],et=Object(Xe.detect)();et&&"ie"===et.name?s.render(o.createElement("p",null,"Topola Genealogy Viewer does not support Internet Explorer. Please try a different browser."),document.querySelector("#root")):s.render(o.createElement(c.b,{locale:Qe,messages:$e[Qe]},o.createElement(Ze.a,null,o.createElement(Ee.a,{component:Ke}))),document.querySelector("#root"))}},[[291,1,2]]]);
//# sourceMappingURL=main.d5151a5d.chunk.js.map