Files
topola-viewer/static/js/main.709fa196.chunk.js
Przemek Wiech 3e56c6b147 Updates
2020-09-03 22:33:10 +02:00

2 lines
64 KiB
JavaScript

(this["webpackJsonptopola-viewer"]=this["webpackJsonptopola-viewer"]||[]).push([[0],{108:function(e,t,n){e.exports=n.p+"static/media/wikitree.1dee3d66.png"},197:function(e,t,n){e.exports=n.p+"static/media/topola.060eef13.jpg"},287:function(e){e.exports=JSON.parse('{"menu.open":"Otw\xf3rz","menu.open_file":"Otw\xf3rz plik","menu.load_from_url":"Otw\xf3rz URL","menu.select_wikitree_id":"Wybierz WikiTree ID","menu.print":"Drukuj","menu.download":"Pobierz","menu.pdf_file":"Plik PDF","menu.png_file":"Plik PNG","menu.svg_file":"Plik SVG","menu.download_pdf":"Pobierz PDF","menu.download_png":"Pobierz PNG","menu.download_svg":"Pobierz SVG","menu.view":"Widok","menu.hourglass":"Wykres klepsydrowy","menu.relatives":"Wszyscy krewni","menu.fancy":"Ozdobne drzewo (eksperymentalne)","menu.wikitree_login":"Zaloguj do WikiTree","menu.wikitree_logged_in":"Zalogowano","menu.wikitree_popup_username":"Zalogowano do WikiTree jako {username}","menu.wikitree_popup":"Zalogowano do WikiTree","menu.github":"Projekt na stronie GitHub","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 PLIK lub OTW\xd3RZ URL, 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","select_wikitree_id.title":"Podaj WikiTree ID","select_wikitree_id.comment":"Wpisz identyfikator profilu {wikiTreeLink}. Przyk\u0142ady: {example1}, {example2}","select_wikitree_id.cancel":"Anuluj","select_wikitree_id.load":"Otw\xf3rz","gedcom.BAPM":"Chrzest","gedcom.BIRT":"Narodziny","gedcom.BURI":"Pogrzeb","gedcom.CENS":"Spis ludno\u015bci","gedcom.CHR":"Chrzest","gedcom.DEAT":"\u015amier\u0107","gedcom.DSCR":"Opis","gedcom.EMAIL":"E-mail","gedcom.EVEN":"Wydarzenie","gedcom.OCCU":"Zaw\xf3d","gedcom.RIN":"ID","gedcom.TITL":"Tytu\u0142","gedcom.WWW":"Strona WWW","gedcom._UPD":"Ostatnia aktualizacja","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}","error.error":"B\u0142\u0105d","error.failed_pdf":"Nie uda\u0142o si\u0119 utworzy\u0107 pliku PDF. Spr\xf3buj jeszcze raz z mniejszym diagramem lub pobierz plik SVG.","error.failed_png":"Nie uda\u0142o si\u0119 utworzy\u0107 pliku PNG. Spr\xf3buj jeszcze raz z mniejszym diagramem lub pobierz plik SVG.","error.failed_to_load_file":"B\u0142\u0105d wczytywania pliku","error.failed_wikitree_load_more":"B\u0142\u0105d podczas pobierania danych z WikiTree. {error}","wikitree.private":"Prywatne"}')},288:function(e,t){},332:function(e,t,n){e.exports=n(586)},344:function(e,t){},350:function(e,t){},411:function(e,t){},583:function(e,t,n){},586:function(e,t,n){"use strict";n.r(t);var a=n(36),r=n(285),i=n(286),o=n(0),s=n(77),c=n(287),l=n(8),u=n(9),d=n.n(u),p=n(20),m=n(18),h=n(19),f=n(26),g=n(25),v=n(48),w=n(30);function E(e,t){window.gtag("event",e,t)}var b,y=n(143),k=n(73),O=n(49),D=n(103),j=n(74),M=n(616),S=n(196),T=n(95),R=(n(75),n(37));function _(e){var t=Object(y.a)("#svgContainer").node(),n=k.c.transform.k,a=Object(D.a)([0,(t.clientWidth-e[0]*n)/2]),r=Object(D.a)([0,(t.clientHeight-e[1]*n)/2]);Object(y.a)("#chartSvg").attr("width",e[0]*n).attr("height",e[1]*n).attr("transform","translate(".concat(a,", ").concat(r,")")),Object(y.a)("#chart").attr("transform","scale(".concat(n,")")),t.scrollLeft=-k.c.transform.x,t.scrollTop=-k.c.transform.y}function N(){var e=Object(y.a)("#svgContainer").node(),t=e.scrollLeft+e.clientWidth/2,n=e.scrollTop+e.clientHeight/2,a=Object(T.b)(e).k;Object(y.a)(e).call(Object(T.a)().translateTo,t/a,n/a)}function I(e){var t=new FileReader;return t.readAsDataURL(e),new Promise((function(e,n){t.onload=function(t){return e(t.target.result)}}))}function x(e){return L.apply(this,arguments)}function L(){return(L=Object(p.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,I(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 C(e){return z.apply(this,arguments)}function z(){return(z=Object(p.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(x));case 3:case"end":return e.stop()}}),e)})))).apply(this,arguments)}function A(e){var t=new Image;return t.src=URL.createObjectURL(e),new Promise((function(e,n){t.addEventListener("load",(function(){return e(t)}))}))}function P(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 W(e,t){return new Promise((function(n,a){e.toBlob((function(e){e?n(e):a()}),t)}))}!function(e){e[e.Hourglass=0]="Hourglass",e[e.Relatives=1]="Relatives",e[e.Fancy=2]="Fancy"}(b||(b={}));var G=function(e){Object(f.a)(a,e);var t=Object(g.a)(a);function a(){var e;Object(m.a)(this,a);for(var n=arguments.length,r=new Array(n),i=0;i<n;i++)r[i]=arguments[i];return(e=t.call.apply(t,[this].concat(r))).chart=void 0,e.animating=!1,e.rerenderRequired=!1,e.zoomBehavior=void 0,e}return Object(h.a)(a,[{key:"getChartType",value:function(){switch(this.props.chartType){case b.Hourglass:return R.HourglassChart;case b.Relatives:return R.RelativesChart;case b.Fancy:return R.FancyChart;default:return R.HourglassChart}}},{key:"getRendererType",value:function(){switch(this.props.chartType){case b.Fancy:return R.CircleRenderer;default:return R.DetailedRenderer}}},{key:"zoom",value:function(e){var t=Object(y.a)("#svgContainer");this.zoomBehavior.scaleBy(t,e)}},{key:"renderChart",value:function(){var e=this,t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{initialRender:!1};if(t.initialRender||!this.animating){if(t.initialRender||!this.props.freezeAnimation){t.initialRender?(Object(y.a)("#chart").node().innerHTML="",this.chart=Object(R.createChart)({json:this.props.data,chartType:this.getChartType(),renderer:this.getRendererType(),svgSelector:"#chart",indiCallback:function(t){return e.props.onSelection(t)},animate:!0,updateSvgSize:!1,locale:this.context.intl.locale})):this.chart.setData(this.props.data);var n=this.chart.render({startIndi:this.props.selection.id,baseGeneration:this.props.selection.generation}),a=Object(y.a)("#chartSvg"),r=Object(y.a)("#svgContainer").node(),i=Object(T.b)(r).k,o=Object(j.a)([1,i,r.clientWidth/n.size[0],r.clientHeight/n.size[1]]),s=[Object(D.a)([.1,o]),2];this.zoomBehavior=Object(T.a)().scaleExtent(s).translateExtent([[0,0],n.size]).on("zoom",(function(){return _(n.size)})),Object(y.a)(r).on("scroll",N).call(this.zoomBehavior);var c=function(e){return function(){var t=Object(O.a)(r.scrollTop,e);return function(e){r.scrollTop=t(e)}}},l=function(e){return function(){var t=Object(O.a)(r.scrollLeft,e);return function(e){r.scrollLeft=t(e)}}},u=r.clientWidth/2-n.origin[0]*i,d=r.clientHeight/2-n.origin[1]*i,p=Object(D.a)([0,(r.clientWidth-n.size[0]*i)/2]),m=Object(D.a)([0,(r.clientHeight-n.size[1]*i)/2]),h=a.transition().delay(200).duration(500),f=t.initialRender?a:h;f.attr("transform","translate(".concat(p,", ").concat(m,")")).attr("width",n.size[0]*i).attr("height",n.size[1]*i),t.initialRender?(r.scrollLeft=-u,r.scrollTop=-d):h.tween("scrollLeft",l(-u)).tween("scrollTop",c(-d)),this.animating=!0,n.animationPromise.then((function(){e.animating=!1,e.rerenderRequired&&(e.rerenderRequired=!1,e.renderChart({initialRender:!1}))}))}}else this.rerenderRequired=!0}},{key:"componentDidMount",value:function(){this.renderChart({initialRender:!0})}},{key:"componentDidUpdate",value:function(e){var t=this.props.chartType!==e.chartType;this.renderChart({initialRender:t})}},{key:"render",value:function(){var e=this;return o.createElement("div",{id:"svgContainer"},o.createElement(M.a,{minWidth:768,className:"zoom"},o.createElement("button",{className:"zoom-in",onClick:function(){return e.zoom(1.3)}},"+"),o.createElement("button",{className:"zoom-out",onClick:function(){return e.zoom(1/1.3)}},"\u2212")),o.createElement("svg",{id:"chartSvg"},o.createElement("g",{id:"chart"})))}},{key:"getStrippedSvg",value:function(){var e=document.getElementById("chartSvg").cloneNode(!0);e.removeAttribute("transform");var t=Object(y.a)("#svgContainer").node(),n=Object(T.b)(t).k;return e.setAttribute("width",String(Number(e.getAttribute("width"))/n)),e.setAttribute("height",String(Number(e.getAttribute("height"))/n)),e.querySelector("#chart").removeAttribute("transform"),e}},{key:"getSvgContents",value:function(){return(new XMLSerializer).serializeToString(this.getStrippedSvg())}},{key:"getSvgContentsWithInlinedImages",value:function(){var e=Object(p.a)(d.a.mark((function e(){var t;return d.a.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return t=this.getStrippedSvg(),e.next=3,C(t);case 3:return e.abrupt("return",(new XMLSerializer).serializeToString(t));case 4:case"end":return e.stop()}}),e,this)})));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(p.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(S.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(p.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=P,e.next=7,A(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(p.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,W(t,"image/png");case 5:n=e.sent,Object(S.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(p.a)(d.a.mark((function e(){var t,a,r,i;return d.a.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,n.e(3).then(n.t.bind(null,618,7));case 2:return t=e.sent,a=t.default,e.next=6,this.drawOnCanvas();case 6:r=e.sent,(i=new a({orientation:r.width>r.height?"l":"p",unit:"pt",format:[r.width,r.height]})).addImage(r,"PNG",0,0,r.width,r.height,"NONE"),i.save("topola.pdf");case 10:case"end":return e.stop()}}),e,this)})));return function(){return e.apply(this,arguments)}}()}]),a}(o.PureComponent);G.contextTypes={intl:l.d};var F=n(292),U=n.n(F),H=n(293),B=n.n(H),V=n(192);function K(e){return e.substring(1,e.length-1)}function J(e){var t=new Map;return e.indis.forEach((function(e){t.set(e.id,e)})),t}function q(e){var t=new Map;return e.fams.forEach((function(e){t.set(e.id,e)})),t}function Z(e){var t=e.find((function(e){return"HEAD"===e.tag})),n={},a={},r={};return e.forEach((function(e){"INDI"===e.tag?n[K(e.pointer)]=e:"FAM"===e.tag?a[K(e.pointer)]=e:e.pointer&&(r[K(e.pointer)]=e)})),{head:t,indis:n,fams:a,other:r}}function Y(e,t){return e<t?-1:e>t?1:0}function X(e,t){var n=e&&(e.date||e.dateRange&&e.dateRange.from),a=t&&(t.date||t.dateRange&&t.dateRange.from);return n&&n.year&&a&&a.year?n.year!==a.year?n.year-a.year:n.month&&a.month&&(n.month!==a.month||n.day&&a.day&&n.day!==a.day)?n.month-a.month:0:0}function $(e){var t=function(e){var t=J(e);return function(e,n){var a=t.get(e),r=t.get(n);return X(a&&a.birth,r&&r.birth)||Y(e,n)}}(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 Q(e){var t=function(e){var t=q(e);return function(e,n){var a=t.get(e),r=t.get(n);return X(a&&a.marriage,r&&r.marriage)||Y(e,n)}}(e),n=e.indis.map((function(e){return function(e,t){if(!e.fams)return e;var n=e.fams.sort(t);return Object.assign({},e,{fams:n})}(e,t)}));return Object.assign({},e,{indis:n})}function ee(e){return Q($(e))}var te=[".jpg",".png",".gif"];function ne(e,t){if(!e.images||0===e.images.length)return e;var n=[];return e.images.forEach((function(e){var a=e.url.match(/[^/\\]*$/)[0];t.has(a)?n.push({url:t.get(a),title:e.title}):e.url.startsWith("http")&&function(e){var t=e.toLowerCase();return te.some((function(e){return t.endsWith(e)}))}(e.url)&&n.push(e)})),Object.assign({},e,{images:n})}function ae(e,t){var n=e.indis.map((function(e){return ne(e,t)}));return Object.assign({},e,{indis:n})}function re(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}var ie=new Map([["abt","about"],["cal","calculated"],["est","estimated"]]);function oe(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:ie.get(o)||o}),new Intl.DateTimeFormat(t.locale,s).format(i)].join(" ")}function se(e,t){return e?e.date?oe(e.date,t):e.dateRange?function(e,t){var n=e.from,a=e.to,r=n&&oe(n,t),i=a&&oe(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}):""}(e.dateRange,t):"":""}var ce=["BIRT","BAPM","CHR","DEAT","BURI","EVEN","CENS"],le=["NAME","SEX","FAMC","FAMS","NOTE","SOUR"],ue=new Map([["BAPM","Baptism"],["BIRT","Birth"],["BURI","Burial"],["CENS","Census"],["CHR","Christening"],["DEAT","Death"],["EMAIL","E-mail"],["EVEN","Event"],["OCCU","Occupation"],["TITL","Title"],["WWW","WWW"]]);function de(e){return o.createElement(l.a,{id:"gedcom.".concat(e),defaultMessage:ue.get(e)||e})}function pe(e){return o.createElement(o.Fragment,null,e.map((function(e,t){return o.createElement("div",{key:t},o.createElement(B.a,{properties:{target:"_blank"}},e),o.createElement("br",null))})))}function me(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 he(e,t){var n=[];e.data&&e.data.length>1&&n.push(o.createElement("i",null,e.data));var r=e.tree.find((function(e){return"DATE"===e.tag}));r&&r.data&&n.push(function(e,t){return se(Object(R.getDate)(e),t)}(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)(me(i))),e.tree.filter((function(e){return"NOTE"===e.tag})).forEach((function(e){return me(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"},de(e.tag)),o.createElement("span",null,pe(n))):null}function fe(e){return pe(me(e).map((function(e,t){return o.createElement("i",{key:t},e)})))}function ge(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 ve(e,t,n){return U()(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 we(e){return e.tree.length>0||e.data&&!e.data.startsWith("@")}function Ee(e){return e.filter((function(e){return!le.includes(e.tag)&&!ce.includes(e.tag)})).filter(we).map((function(e){return function(e){var t=[];return e.data&&t.push.apply(t,Object(a.a)(me(e))),e.tree.filter((function(e){return"NOTE"===e.tag})).forEach((function(e){return me(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"},de(e.tag)),o.createElement("span",null,pe(t))):null}(e)})).filter((function(e){return null!==e})).map((function(e,t){return o.createElement("div",{className:"ui segment",key:t},e)}))}var be=function(e){Object(f.a)(n,e);var t=Object(g.a)(n);function n(){return Object(m.a)(this,n),t.apply(this,arguments)}return Object(h.a)(n,[{key:"render",value:function(){var e=this,t=this.props.gedcom.indis[this.props.indi].tree,n=t.map((function(t){return function(e,t){if(e.data){var n=t.other[K(e.data)];if(n)return n}return e}(t,e.props.gedcom)})).filter(we);return o.createElement("div",{className:"ui segments",id:"details"},ve(t,["NAME"],ge),ve(t,ce,(function(t){return he(t,e.context.intl)})),Ee(n),ve(n,["NOTE"],fe))}}]),n}(o.Component);function ye(e,t){return{id:t&&e.indis.some((function(e){return e.id===t.id}))?t.id:e.indis[0].id,generation:(null===t||void 0===t?void 0:t.generation)||0}}function ke(e,t,n){var a=function(e,t){var n=Object(V.parse)(e),a=Object(R.gedcomEntriesToJson)(n);if(!a||!a.indis||!a.indis.length||!a.fams||!a.fams.length)throw new Error("Failed to read GEDCOM file");return{chartData:ae(ee(a),t),gedcom:Z(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 Oe(e,t){return De.apply(this,arguments)}function De(){return(De=Object(p.a)(d.a.mark((function e(t,n){var a,r,i,o,s,c;return d.a.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(e.prev=0,!(a=sessionStorage.getItem(t))){e.next=4;break}return e.abrupt("return",JSON.parse(a));case 4:e.next=9;break;case 6:e.prev=6,e.t0=e.catch(0),console.warn("Failed to load data from session storage: "+e.t0);case 9:return(r=t.match(/https:\/\/drive\.google\.com\/file\/d\/(.*)\/.*/))&&(t="https://drive.google.com/uc?id=".concat(r[1],"&export=download")),(i=t.match(/https:\/\/drive\.google\.com\/open\?id=([^&]*)&?.*/))&&(t="https://drive.google.com/uc?id=".concat(i[1],"&export=download")),o=n?"https://cors-anywhere.herokuapp.com/"+t:t,e.next=16,window.fetch(o);case 16:if(200===(s=e.sent).status){e.next=19;break}throw new Error(s.statusText);case 19:return e.next=21,s.text();case 21:return c=e.sent,e.abrupt("return",ke(c,t));case 23:case"end":return e.stop()}}),e,null,[[0,6]])})))).apply(this,arguments)}function je(e,t,n){return Me.apply(this,arguments)}function Me(){return(Me=Object(p.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(e.prev=0,!(r=sessionStorage.getItem(t))){e.next=4;break}return e.abrupt("return",JSON.parse(r));case 4:e.next=9;break;case 6:e.prev=6,e.t0=e.catch(0),console.warn("Failed to load data from session storage: "+e.t0);case 9:if(n){e.next=11;break}throw new Error("Error loading data. Please upload your file again.");case 11:return e.abrupt("return",ke(n,t,a));case 12:case"end":return e.stop()}}),e,null,[[0,6]])})))).apply(this,arguments)}be.contextTypes={intl:l.d};var Se,Te=function(){function e(){Object(m.a)(this,e)}return Object(h.a)(e,[{key:"isNewData",value:function(e,t,n){return e.spec.hash!==t.spec.hash}},{key:"loadData",value:function(){var e=Object(p.a)(d.a.mark((function e(t){var n;return d.a.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.prev=0,e.next=3,je(t.spec.hash,t.spec.gedcom,t.spec.images);case 3:return n=e.sent,E("upload_file_loaded",{event_label:re(n.gedcom.head),event_value:t.spec.images&&t.spec.images.size||0}),e.abrupt("return",n);case 9:throw e.prev=9,e.t0=e.catch(0),E("upload_file_error"),e.t0;case 13:case"end":return e.stop()}}),e,null,[[0,9]])})));return function(t){return e.apply(this,arguments)}}()}]),e}(),Re=function(){function e(){Object(m.a)(this,e)}return Object(h.a)(e,[{key:"isNewData",value:function(e,t,n){return e.spec.url!==t.spec.url}},{key:"loadData",value:function(){var e=Object(p.a)(d.a.mark((function e(t){var n;return d.a.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.prev=0,e.next=3,Oe(t.spec.url,t.spec.handleCors);case 3:return n=e.sent,E("upload_file_loaded",{event_label:re(n.gedcom.head)}),e.abrupt("return",n);case 9:throw e.prev=9,e.t0=e.catch(0),E("url_file_error"),e.t0;case 13:case"end":return e.stop()}}),e,null,[[0,9]])})));return function(t){return e.apply(this,arguments)}}()}]),e}();!function(e){e.GEDCOM="gedcom",e.READY="ready",e.PARENT_READY="parent_ready"}(Se||(Se={}));var _e=function(){function e(){Object(m.a)(this,e)}return Object(h.a)(e,[{key:"isNewData",value:function(e,t,n){return!1}},{key:"onMessage",value:function(){var e=Object(p.a)(d.a.mark((function e(t,n,a){var r,i;return d.a.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(t.message!==Se.PARENT_READY){e.next=4;break}window.parent.postMessage({message:Se.READY},"*"),e.next=21;break;case 4:if(t.message!==Se.GEDCOM){e.next=21;break}if(r=t.gedcom){e.next=8;break}return e.abrupt("return");case 8:return e.prev=8,e.next=11,je("",r);case 11:i=e.sent,E("embedded_file_loaded",{event_label:re(i.gedcom.head)}),n(i),e.next=21;break;case 17:e.prev=17,e.t0=e.catch(8),E("embedded_file_error"),a(e.t0);case 21:case"end":return e.stop()}}),e,null,[[8,17]])})));return function(t,n,a){return e.apply(this,arguments)}}()},{key:"loadData",value:function(){var e=Object(p.a)(d.a.mark((function e(t){var n=this;return d.a.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.abrupt("return",new Promise((function(e,t){window.parent.postMessage({message:Se.READY},"*"),window.addEventListener("message",(function(a){return n.onMessage(a.data,e,t)}))})));case 1:case"end":return e.stop()}}),e)})));return function(t){return e.apply(this,arguments)}}()}]),e}(),Ne=n(197),Ie=n.n(Ne),xe=n(606),Le=n(612),Ce=n(318),ze=n(599);function Ae(e){return o.createElement(ze.a,{to:{pathname:"/view",search:w.stringify({url:e.url})}},e.text)}function Pe(){var e=o.createElement(o.Fragment,null,o.createElement("p",null,o.createElement(l.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(l.a,{id:"intro.instructions",defaultMessage:"Use the OPEN FILE or LOAD FROM URL 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(l.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(Ae,{url:"http://genpol.com/module-Downloads-prep_hand_out-lid-32.html",text:"Karol Wojty\u0142a"})," ","(",o.createElement(l.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(Ae,{url:"https://webtreeprint.com/tp_downloader.php?path=famous_gedcoms/shakespeare.ged",text:"Shakespeare"})," ","(",o.createElement(l.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(Ae,{url:"http://genealogyoflife.com/tng/gedcom/HarryPotter.ged",text:"Harry Potter"})," ","(",o.createElement(l.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(l.a,{id:"intro.privacy",defaultMessage:"Privacy"})),": ",o.createElement(l.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")}})),o.createElement("p",{className:"ui right aligned version"},"version: ","2020-09-03 22:32:06 +0200".slice(0,16)," (",o.createElement("a",{href:"https://github.com/PeWu/topola-viewer/commit/".concat("c73376e")},"c73376e"),")"));return o.createElement("div",{id:"content"},o.createElement("div",{className:"backgroundImage"}),o.createElement(xe.a,{className:"intro"},o.createElement(M.a,{as:xe.a.Content,minWidth:768},o.createElement(xe.a.Header,null,o.createElement(l.a,{id:"intro.title",defaultMessage:"Topola Genealogy Viewer"}))),o.createElement(xe.a.Content,null,o.createElement(M.a,{as:Le.a,minWidth:768},o.createElement(Le.a.Row,null,o.createElement(Le.a.Column,{width:5},o.createElement(Ce.a,{src:Ie.a,alt:"Topola logo"})),o.createElement(Le.a.Column,{width:11},e))),o.createElement(M.a,{maxWidth:767},o.createElement(Ce.a,{src:Ie.a,alt:"Topola logo",centered:!0,size:"tiny",className:"blockImage"}),e))))}var We,Ge=n(607),Fe=n(617),Ue=n(602),He=n(614),Be=n(615),Ve=n(610),Ke=n(319),Je=n(608),qe=n(605);!function(e){e[e.Menu=0]="Menu",e[e.Dropdown=1]="Dropdown"}(We||(We={}));var Ze=function(e){Object(f.a)(n,e);var t=Object(g.a)(n);function n(){return Object(m.a)(this,n),t.apply(this,arguments)}return Object(h.a)(n,[{key:"render",value:function(){var e=Object(Ke.a)({},this.props);return delete e.menuType,o.createElement(o.Fragment,null,this.props.menuType===We.Menu?o.createElement(Je.a.Item,e,this.props.children):o.createElement(qe.a.Item,e,this.props.children))}}]),n}(o.Component),Ye=n(199),Xe=n.n(Ye),$e=n(78);function Qe(e){return new Promise((function(t){var n=new FileReader;n.onload=function(e){t(e.target.result)},n.readAsText(e)}))}function et(e){var t=e.toLowerCase();return t.endsWith(".jpg")||t.endsWith(".png")}var tt=function(e){Object(f.a)(n,e);var t=Object(g.a)(n);function n(){return Object(m.a)(this,n),t.apply(this,arguments)}return Object(h.a)(n,[{key:"handleUpload",value:function(){var e=Object(p.a)(d.a.mark((function e(t){var n,a,r,i,o,s,c,l,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===a.length?a[0]:a.find((function(e){return e.name.toLowerCase().endsWith(".ged")}))||a[0],i=a.filter((function(e){return e.name!==r.name&&et(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,Qe(r);case 11:s=e.sent,c=i.map((function(e){return e.name})).sort().join("|"),l=Xe()(Xe()(s)+c),u=w.parse(this.props.location.search),(u.file===l?this.props.history.replace:this.props.history.push)({pathname:"/view",search:w.stringify({file:l}),state:{data:s,images:o}});case 17:case"end":return e.stop()}}),e,this)})));return function(t){return e.apply(this,arguments)}}()},{key:"render",value:function(){var e=this,t=o.createElement(o.Fragment,null,o.createElement($e.a,{name:"folder open"}),o.createElement(l.a,{id:"menu.open_file",defaultMessage:"Open file"}));return o.createElement(o.Fragment,null,this.props.menuType===We.Menu?o.createElement("label",{htmlFor:"fileInput"},o.createElement(Je.a.Item,{as:"a"},t)):o.createElement(qe.a.Item,{as:"label",htmlFor:"fileInput"},t),o.createElement("input",{className:"hidden",type:"file",accept:".ged,image/*",id:"fileInput",multiple:!0,onChange:function(t){return e.handleUpload(t)}}))}}]),n}(o.Component),nt=n(604),at=n(613),rt=n(603),it=n(601),ot=n(588),st=function(e){Object(f.a)(n,e);var t=Object(g.a)(n);function n(){var e;Object(m.a)(this,n);for(var a=arguments.length,r=new Array(a),i=0;i<a;i++)r[i]=arguments[i];return(e=t.call.apply(t,[this].concat(r))).state={dialogOpen:!1},e.inputRef=o.createRef(),e}return Object(h.a)(n,[{key:"openDialog",value:function(){var e=this;this.setState(Object.assign({},this.state,{dialogOpen:!0}),(function(){return e.inputRef.current.focus()}))}},{key:"handleClose",value:function(){this.setState(Object.assign({},this.state,{dialogOpen:!1}))}},{key:"handleLoad",value:function(){this.setState(Object.assign({},this.state,{dialogOpen:!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}))}},{key:"loadFromUrlModal",value:function(){var e=this;return o.createElement(nt.a,{open:this.state.dialogOpen,onClose:function(){return e.handleClose()},centered:!1},o.createElement(at.a,null,o.createElement($e.a,{name:"cloud download"}),o.createElement(l.a,{id:"load_from_url.title",defaultMessage:"Load from URL",children:function(e){return e}})),o.createElement(nt.a.Content,null,o.createElement(rt.a,{onSubmit:function(){return e.handleLoad()}},o.createElement(it.a,{placeholder:"https://",fluid:!0,onChange:function(t,n){return e.handleUrlChange(n.value)},ref:this.inputRef}),o.createElement("p",null,o.createElement(l.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(nt.a.Actions,null,o.createElement(ot.a,{secondary:!0,onClick:function(){return e.handleClose()}},o.createElement(l.a,{id:"load_from_url.cancel",defaultMessage:"Cancel"})),o.createElement(ot.a,{primary:!0,onClick:function(){return e.handleLoad()}},o.createElement(l.a,{id:"load_from_url.load",defaultMessage:"Load"}))))}},{key:"render",value:function(){var e=this;return o.createElement(o.Fragment,null,o.createElement(Ze,{onClick:function(){return e.openDialog()},menuType:this.props.menuType},o.createElement($e.a,{name:"cloud download"}),o.createElement(l.a,{id:"menu.load_from_url",defaultMessage:"Load from URL"})),this.loadFromUrlModal())}}]),n}(o.Component),ct=n(108),lt=n.n(ct),ut=n(200),dt=n.n(ut);function pt(e){try{return sessionStorage.getItem(e)}catch(t){console.warn("Failed to load data from session storage: "+t)}return null}function mt(e,t){try{sessionStorage.setItem(e,t)}catch(n){console.warn("Failed to store data in session storage: "+n)}}function ht(e,t){return ft.apply(this,arguments)}function ft(){return(ft=Object(p.a)(d.a.mark((function e(t,n){var a,r,i,o,s;return d.a.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:for(r in(a=new FormData).append("format","json"),t)a.append(r,t[r]);return i=n?"https://cors-anywhere.herokuapp.com/https://api.wikitree.com/api.php":"https://api.wikitree.com/api.php",e.next=6,window.fetch(i,{method:"POST",body:a,credentials:n?void 0:"include"});case 6:return o=e.sent,e.next=9,o.text();case 9:return s=e.sent,e.abrupt("return",JSON.parse(s));case 11:case"end":return e.stop()}}),e)})))).apply(this,arguments)}function gt(e,t){return vt.apply(this,arguments)}function vt(){return(vt=Object(p.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="wikitree:ancestors:".concat(t),!(r=pt(a))){e.next=4;break}return e.abrupt("return",JSON.parse(r));case 4:return e.next=6,ht({action:"getAncestors",key:t,fields:"*"},n);case 6:return i=e.sent,o=i[0].ancestors,mt(a,JSON.stringify(o)),e.abrupt("return",o);case 10:case"end":return e.stop()}}),e)})))).apply(this,arguments)}function wt(e,t){return Et.apply(this,arguments)}function Et(){return(Et=Object(p.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=[],r=[],t.forEach((function(e){var t=pt("wikitree:relatives:".concat(e));t?a.push(JSON.parse(t)):r.push(e)})),0!==r.length){e.next=5;break}return e.abrupt("return",a);case 5:return e.next=7,ht({action:"getRelatives",keys:r.join(","),getChildren:!0,getSpouses:!0},n);case 7:if(null!==(i=e.sent)[0].items){e.next=10;break}throw new Error("WikiTree profile ".concat(r[0]," not found."));case 10:return(o=i[0].items.map((function(e){return e.person}))).forEach((function(e){mt("wikitree:relatives:".concat(e.Name),JSON.stringify(e))})),e.abrupt("return",a.concat(o));case 13:case"end":return e.stop()}}),e)})))).apply(this,arguments)}function bt(e){return yt.apply(this,arguments)}function yt(){return(yt=Object(p.a)(d.a.mark((function e(t){var n;return d.a.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,ht({action:"clientLogin",authcode:t},!1);case 2:return n=e.sent,e.abrupt("return",n.clientLogin);case 4:case"end":return e.stop()}}),e)})))).apply(this,arguments)}function kt(){return dt.a.get("wikidb_wtb_UserName")}function Ot(e,t,n){return Dt.apply(this,arguments)}function Dt(){return(Dt=Object(p.a)(d.a.mark((function e(t,n,r){var i,o,s,c,l,u,p,m,h,f,g,w,E,b,y,k,O,D,j,M,S,T,R,_,N;return d.a.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if((i="apps.wikitree.com"!==window.location.hostname)||kt()||!r){e.next=6;break}return e.next=4,bt(r);case 4:"Success"===(o=e.sent).result&&(sessionStorage.clear(),dt.a.set("wikidb_wtb_UserName",o.username));case 6:return s=[],e.next=9,wt([t],i);case 9:if((c=e.sent)[0].Name){e.next=12;break}throw new Error("WikiTree profile ".concat(t," is not accessible. Try logging in."));case 12:return l=Object.values(c[0].Spouses).map((function(e){return e.Name})),e.next=15,Promise.all([t].concat(l).map((function(e){return gt(e,i)})));case 15:return u=e.sent,p=u.flat().map((function(e){return e.Name})).filter((function(e){return!!e})),e.next=19,wt(p,i);case 19:m=e.sent,h=new Map,f=new Map,u.forEach((function(e,t){var n=1e3*t;e.forEach((function(e){e.Id<0&&(e.Id-=n,e.Name="".concat("~Private").concat(e.Id)),e.Father<0&&(e.Father-=n,h.set(e.Id,e.Father)),e.Mother<0&&(e.Mother-=n,f.set(e.Id,e.Mother))}))})),m.forEach((function(e){var t=h.get(e.Id);t&&(e.Father=t);var n=f.get(e.Id);n&&(e.Mother=n)})),s.push.apply(s,Object(a.a)(m)),g=u.flat().filter((function(e){return e.Id<0})),s.push.apply(s,Object(a.a)(g)),w=5,E=[t],b=0;case 30:if(!(E.length>0&&b<=w)){e.next=41;break}return e.next=33,wt(E,i);case 33:y=e.sent,s.push.apply(s,Object(a.a)(y)),k=y.flatMap((function(e){return Object.values(e.Spouses)})),s.push.apply(s,Object(a.a)(k)),E=y.flatMap((function(e){return Object.values(e.Children).map((function(e){return e.Name}))})),b++,e.next=30;break;case 41:return O=new Map,D=new Map,j=new Map,M=new Map,s.forEach((function(e){if(M.set(e.Id,e.Name),e.Mother||e.Father){var t=jt(e.Mother,e.Father);_t(O,e.Mother).add(t),_t(O,e.Father).add(t),_t(D,t).add(e.Id),j.set(t,{wife:e.Mother||void 0,husband:e.Father||void 0})}})),S=[],T=new Set,s.forEach((function(e){if(!T.has(e.Id)){T.add(e.Id);var t=Mt(e,n);e.Spouses&&Object.values(e.Spouses).forEach((function(t){var n=jt(e.Id,t.Id);_t(O,e.Id).add(n),_t(O,t.Id).add(n);var a="Male"===e.Gender?{wife:t.Id,husband:e.Id,spouse:t}:{wife:e.Id,husband:t.Id,spouse:t};j.set(n,a)})),t.fams=Array.from(_t(O,e.Id)),S.push(t)}})),R=Array.from(j.entries()).map((function(e){var t=Object(v.a)(e,2),n=t[0],a=t[1],r={id:n},i=a.wife&&M.get(a.wife);i&&(r.wife=i);var o=a.husband&&M.get(a.husband);if(o&&(r.husb=o),r.children=Array.from(_t(D,n)).map((function(e){return M.get(e)})),a.spouse&&(a.spouse.marriage_date&&"0000-00-00"!==a.spouse.marriage_date||a.spouse.marriage_location)){var s=St(a.spouse.marriage_date);r.marriage=Object.assign({},s,{place:a.spouse.marriage_location})}return r})),_=ee({indis:S,fams:R}),N=Rt(S),e.abrupt("return",{chartData:_,gedcom:N});case 53:case"end":return e.stop()}}),e)})))).apply(this,arguments)}function jt(e,t){return t>e?"".concat(e,"_").concat(t):"".concat(t,"_").concat(e)}function Mt(e,t){var n={id:e.Name};if(e.Name.startsWith("~Private")&&(n.hideId=!0,n.firstName=t.formatMessage({id:"wikitree.private",defaultMessage:"Private"})),e.FirstName&&"Unknown"!==e.FirstName?n.firstName=e.FirstName:e.RealName&&"Unknown"!==e.RealName&&(n.firstName=e.RealName),"Unknown"!==e.LastNameAtBirth&&(n.lastName=e.LastNameAtBirth),(e.Mother||e.Father)&&(n.famc=jt(e.Mother,e.Father)),"Male"===e.Gender?n.sex="M":"Female"===e.Gender&&(n.sex="F"),e.BirthDate&&"0000-00-00"!==e.BirthDate||e.BirthLocation||"unknown"!==e.BirthDateDecade){var a=St(e.BirthDate,e.DataStatus&&e.DataStatus.BirthDate)||Tt(e.BirthDateDecade);n.birth=Object.assign({},a,{place:e.BirthLocation})}if(e.DeathDate&&"0000-00-00"!==e.DeathDate||e.DeathLocation||"unknown"!==e.DeathDateDecade){var r=St(e.DeathDate,e.DataStatus&&e.DataStatus.DeathDate)||Tt(e.DeathDateDecade);n.death=Object.assign({},r,{place:e.DeathLocation})}return e.PhotoData&&(n.images=[{url:"https://www.wikitree.com".concat(e.PhotoData.url)}]),n}function St(e,t){if(e){var n=e.match(/(\d\d\d\d)-(\d\d)-(\d\d)/);if(!n)return{date:{text:e}};var a={};return"0000"!==n[1]&&(a.year=~~n[1]),"00"!==n[2]&&(a.month=~~n[2]),"00"!==n[3]&&(a.day=~~n[3]),"after"===t?{dateRange:{from:a}}:"before"===t?{dateRange:{to:a}}:("guess"===t&&(a.qualifier="abt"),{date:a})}}function Tt(e){return"unknown"!==e?{date:{text:e}}:void 0}function Rt(e){var t={};return e.forEach((function(e){var n=e.id.replace(/ /g,"_");t[e.id]={level:0,pointer:"@".concat(e.id,"@"),tag:"INDI",data:"",tree:[{level:1,pointer:"",tag:"NAME",data:"".concat(e.firstName||""," /").concat(e.lastName||"","/"),tree:[]}]},e.id.startsWith("~")||t[e.id].tree.push({level:1,pointer:"",tag:"WWW",data:"https://www.wikitree.com/wiki/".concat(n),tree:[]})})),{head:{level:0,pointer:"",tag:"HEAD",data:"",tree:[]},indis:t,fams:{},other:{}}}function _t(e,t){var n=e.get(t);if(n)return n;var a=new Set;return e.set(t,a),a}var Nt,It=function(){function e(t){Object(m.a)(this,e),this.intl=t}return Object(h.a)(e,[{key:"isNewData",value:function(e,t,n){var a;return!!e.selection&&((null===(a=t.selection)||void 0===a?void 0:a.id)!==e.selection.id&&(!n||!n.chartData.indis.some((function(t){var n;return t.id===(null===(n=e.selection)||void 0===n?void 0:n.id)}))))}},{key:"loadData",value:function(){var e=Object(p.a)(d.a.mark((function e(t){var n;return d.a.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(t.selection){e.next=2;break}throw new Error("WikiTree id needs to be provided");case 2:return e.prev=2,e.next=5,Ot(t.selection.id,this.intl,t.spec.authcode);case 5:return n=e.sent,E("wikitree_loaded"),e.abrupt("return",n);case 10:throw e.prev=10,e.t0=e.catch(2),E("wikitree_error"),e.t0;case 14:case"end":return e.stop()}}),e,this,[[2,10]])})));return function(t){return e.apply(this,arguments)}}()}]),e}();!function(e){e[e.UNKNOWN=0]="UNKNOWN",e[e.NOT_LOGGED_IN=1]="NOT_LOGGED_IN",e[e.LOGGED_IN=2]="LOGGED_IN"}(Nt||(Nt={}));var xt=function(e){Object(f.a)(n,e);var t=Object(g.a)(n);function n(){var e;Object(m.a)(this,n);for(var a=arguments.length,r=new Array(a),i=0;i<a;i++)r[i]=arguments[i];return(e=t.call.apply(t,[this].concat(r))).state={dialogOpen:!1},e.inputRef=o.createRef(),e}return Object(h.a)(n,[{key:"openDialog",value:function(){var e=this;this.setState(Object.assign({},this.state,{dialogOpen:!0}),(function(){return e.inputRef.current.focus()}))}},{key:"handleClose",value:function(){this.setState(Object.assign({},this.state,{dialogOpen:!1}))}},{key:"handleSelectId",value:function(){if(this.setState(Object.assign({},this.state,{dialogOpen:!1})),this.state.wikiTreeId){E("wikitree_id_selected");var e=w.parse(this.props.location.search),t=void 0===e.standalone||e.standalone;this.props.history.push({pathname:"/view",search:w.stringify({indi:this.state.wikiTreeId,source:"wikitree",standalone:t})})}}},{key:"handleIdChange",value:function(e){this.setState(Object.assign({},this.state,{wikiTreeId:e}))}},{key:"enterId",value:function(e,t){e.preventDefault(),this.inputRef.current.inputRef.value=t,this.handleIdChange(t),this.inputRef.current.focus()}},{key:"wikiTreeIdModal",value:function(){var e=this;return o.createElement(nt.a,{open:this.state.dialogOpen,onClose:function(){return e.handleClose()},centered:!1},o.createElement(at.a,null,o.createElement("img",{src:lt.a,alt:"WikiTree logo",style:{width:"32px",height:"32px"}}),o.createElement(l.a,{id:"select_wikitree_id.title",defaultMessage:"Select WikiTree ID",children:function(e){return e}})),o.createElement(nt.a.Content,null,o.createElement(rt.a,{onSubmit:function(){return e.handleSelectId()}},o.createElement("p",null,o.createElement(l.a,{id:"select_wikitree_id.comment",defaultMessage:"Enter a {wikiTreeLink} profile ID. Examples: {example1}, {example2}.",values:{wikiTreeLink:o.createElement("a",{href:"https://wikitree.com/",target:"_blank",rel:"noopener noreferrer"},"WikiTree"),example1:o.createElement("span",{onClick:function(t){return e.enterId(t,"Wojtyla-13")},className:"link-span"},"Wojtyla-13"),example2:o.createElement("span",{onClick:function(t){return e.enterId(t,"Sk\u0142odowska-2")},className:"link-span"},"Sk\u0142odowska-2")}})),o.createElement(it.a,{fluid:!0,onChange:function(t,n){return e.handleIdChange(n.value)},ref:this.inputRef}))),o.createElement(nt.a.Actions,null,o.createElement(ot.a,{secondary:!0,onClick:function(){return e.handleClose()}},o.createElement(l.a,{id:"select_wikitree_id.cancel",defaultMessage:"Cancel"})),o.createElement(ot.a,{primary:!0,onClick:function(){return e.handleSelectId()}},o.createElement(l.a,{id:"select_wikitree_id.load",defaultMessage:"Load"}))))}},{key:"render",value:function(){var e=this;return o.createElement(o.Fragment,null,o.createElement(Ze,{menuType:this.props.menuType,onClick:function(){return e.openDialog()}},o.createElement("img",{src:lt.a,alt:"WikiTree logo",className:"menu-icon"}),o.createElement(l.a,{id:"menu.select_wikitree_id",defaultMessage:"Select WikiTree ID"})),this.wikiTreeIdModal())}}]),n}(o.Component),Lt=function(e){Object(f.a)(n,e);var t=Object(g.a)(n);function n(){var e;Object(m.a)(this,n);for(var a=arguments.length,r=new Array(a),i=0;i<a;i++)r[i]=arguments[i];return(e=t.call.apply(t,[this].concat(r))).state={wikiTreeLoginState:Nt.UNKNOWN},e.wikiTreeLoginFormRef=o.createRef(),e.wikiTreeReturnUrlRef=o.createRef(),e}return Object(h.a)(n,[{key:"wikiTreeLogin",value:function(){var e="".concat("https://apps.wikitree.com/apps/wiech13/topola-viewer").concat(window.location.hash,"&");this.wikiTreeReturnUrlRef.current.value=e,this.wikiTreeLoginFormRef.current.submit()}},{key:"checkWikiTreeLoginState",value:function(){var e=kt(),t=e?Nt.LOGGED_IN:Nt.NOT_LOGGED_IN;this.state.wikiTreeLoginState!==t&&this.setState(Object.assign({},this.state,{wikiTreeLoginState:t,wikiTreeLoginUsername:e}))}},{key:"componentDidMount",value:function(){this.checkWikiTreeLoginState()}},{key:"componentDidUpdate",value:function(){this.checkWikiTreeLoginState()}},{key:"render",value:function(){var e=this;switch(this.state.wikiTreeLoginState){case Nt.NOT_LOGGED_IN:return o.createElement(o.Fragment,null,o.createElement(Ze,{menuType:this.props.menuType,onClick:function(){return e.wikiTreeLogin()}},o.createElement("img",{src:lt.a,alt:"WikiTree logo",className:"menu-icon"}),o.createElement(l.a,{id:"menu.wikitree_login",defaultMessage:"Log in to WikiTree"})),o.createElement("form",{action:"https://api.wikitree.com/api.php",method:"POST",style:{display:"hidden"},ref:this.wikiTreeLoginFormRef},o.createElement("input",{type:"hidden",name:"action",value:"clientLogin"}),o.createElement("input",{type:"hidden",name:"returnURL",ref:this.wikiTreeReturnUrlRef})));case Nt.LOGGED_IN:var t=this.state.wikiTreeLoginUsername?this.context.intl.formatMessage({id:"menu.wikitree_popup_username",defaultMessage:"Logged in to WikiTree as {username}"},{username:this.state.wikiTreeLoginUsername}):this.context.intl.formatMessage({id:"menu.wikitree_popup",defaultMessage:"Logged in to WikiTree"});return o.createElement(Ze,{menuType:this.props.menuType,title:t},o.createElement("img",{src:lt.a,alt:"WikiTree logo",className:"menu-icon"}),o.createElement(l.a,{id:"menu.wikitree_logged_in",defaultMessage:"Logged in"}))}return null}}]),n}(o.Component);Lt.contextTypes={intl:l.d};var Ct=n(313),zt=n.n(Ct),At=n(314),Pt=n.n(At),Wt=n(315),Gt=n.n(Wt);function Ft(e){return e.toLocaleLowerCase().normalize("NFD").replace(/[\u0300-\u036f]/g,"").replace(/\u0142/g,"l")}function Ut(e,t){return e.score!==t.score?t.score-e.score:Gt()(e.ref,t.ref)}var Ht=function(){function e(t){Object(m.a)(this,e),this.index=void 0,this.indiMap=void 0,this.famMap=void 0,this.indiMap=J(t),this.famMap=q(t)}return Object(h.a)(e,[{key:"initialize",value:function(){var e=this;this.index=Pt()((function(){var t=this;this.ref("id"),this.field("id"),this.field("name",{boost:10}),this.field("normalizedName",{boost:8}),this.field("spouseLastName",{boost:2}),this.field("normalizedSpouseLastName",{boost:2}),e.indiMap.forEach((function(n){var a=[n.firstName,n.lastName].join(" "),r=function(e,t,n){return(e.fams||[]).map((function(e){return n.get(e)})).map((function(e){return e&&e.husb})).map((function(e){return e&&t.get(e)})).map((function(e){return e&&e.lastName})).join(" ")}(n,e.indiMap,e.famMap);t.add({id:n.id,name:a,normalizedName:Ft(a),spouseLastName:r,normalizedSpouseLastName:Ft(r)})}))}))}},{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(Ut).slice(0,8).map((function(e){return{id:e.ref,indi:t.indiMap.get(e.ref)}}))}}]),e}();var Bt=n(609);function Vt(e){var t=[e.indi.firstName,e.indi.lastName].join(" ").trim();return e.id.length>8?t:o.createElement(o.Fragment,null,t," ",o.createElement("i",null,"(",e.id,")"))}var Kt,Jt=function(e){Object(f.a)(n,e);var t=Object(g.a)(n);function n(){var e;Object(m.a)(this,n);for(var a=arguments.length,r=new Array(a),i=0;i<a;i++)r[i]=arguments[i];return(e=t.call.apply(t,[this].concat(r))).state={searchResults:[]},e.searchRef=void 0,e.searchIndex=void 0,e}return Object(h.a)(n,[{key:"getDescriptionLine",value:function(e){var t=se(e.birth,this.context.intl),n=se(e.death,this.context.intl);return n?"".concat(t," \u2013 ").concat(n):t}},{key:"displaySearchResult",value:function(e){return{id:e.id,key:e.id,title:Vt(e),description:this.getDescriptionLine(e.indi)}}},{key:"handleSearch",value:function(e){var t=this;if(e){var n=this.searchIndex.search(e).map((function(e){return t.displaySearchResult(e)}));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(){this.searchIndex=function(e){var t=new Ht(e);return t.initialize(),t}(this.props.data)}},{key:"componentDidMount",value:function(){this.initializeSearchIndex()}},{key:"componentDidUpdate",value:function(e){e.data!==this.props.data&&this.initializeSearchIndex()}},{key:"render",value:function(){var e=this;return o.createElement(Bt.a,{onSearchChange:zt()((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},id:"search"})}}]),n}(o.Component);Jt.contextTypes={intl:l.d},function(e){e[e.LARGE=0]="LARGE",e[e.SMALL=1]="SMALL"}(Kt||(Kt={}));var qt,Zt,Yt=function(e){Object(f.a)(n,e);var t=Object(g.a)(n);function n(){return Object(m.a)(this,n),t.apply(this,arguments)}return Object(h.a)(n,[{key:"changeView",value:function(e){var t=this.props.location,n=w.parse(t.search);n.view!==e&&(n.view=e,t.search=w.stringify(n),this.props.history.push(t))}},{key:"chartMenus",value:function(e){var t=this;if(!this.props.showingChart)return null;var n=o.createElement(o.Fragment,null,o.createElement(qe.a.Item,{onClick:function(){return t.changeView("hourglass")}},o.createElement($e.a,{name:"hourglass"}),o.createElement(l.a,{id:"menu.hourglass",defaultMessage:"Hourglass chart"})),this.props.allowAllRelativesChart?o.createElement(qe.a.Item,{onClick:function(){return t.changeView("relatives")}},o.createElement($e.a,{name:"users"}),o.createElement(l.a,{id:"menu.relatives",defaultMessage:"All relatives"})):null,o.createElement(qe.a.Item,{onClick:function(){return t.changeView("fancy")}},o.createElement($e.a,{name:"users"}),o.createElement(l.a,{id:"menu.fancy",defaultMessage:"Fancy tree (experimental)"})));switch(e){case Kt.LARGE:return o.createElement(o.Fragment,null,o.createElement(Je.a.Item,{onClick:function(){return t.props.eventHandlers.onPrint()}},o.createElement($e.a,{name:"print"}),o.createElement(l.a,{id:"menu.print",defaultMessage:"Print"})),o.createElement(qe.a,{trigger:o.createElement("div",null,o.createElement($e.a,{name:"download"}),o.createElement(l.a,{id:"menu.download",defaultMessage:"Download"})),className:"item"},o.createElement(qe.a.Menu,null,o.createElement(qe.a.Item,{onClick:function(){return t.props.eventHandlers.onDownloadPdf()}},o.createElement(l.a,{id:"menu.pdf_file",defaultMessage:"PDF file"})),o.createElement(qe.a.Item,{onClick:function(){return t.props.eventHandlers.onDownloadPng()}},o.createElement(l.a,{id:"menu.png_file",defaultMessage:"PNG file"})),o.createElement(qe.a.Item,{onClick:function(){return t.props.eventHandlers.onDownloadSvg()}},o.createElement(l.a,{id:"menu.svg_file",defaultMessage:"SVG file"})))),o.createElement(qe.a,{trigger:o.createElement("div",null,o.createElement($e.a,{name:"eye"}),o.createElement(l.a,{id:"menu.view",defaultMessage:"View"})),className:"item"},o.createElement(qe.a.Menu,null,n)),o.createElement(Jt,Object.assign({data:this.props.data,onSelection:this.props.eventHandlers.onSelection},this.props)));case Kt.SMALL:return o.createElement(o.Fragment,null,o.createElement(qe.a.Item,{onClick:function(){return t.props.eventHandlers.onPrint()}},o.createElement($e.a,{name:"print"}),o.createElement(l.a,{id:"menu.print",defaultMessage:"Print"})),o.createElement(qe.a.Divider,null),o.createElement(qe.a.Item,{onClick:function(){return t.props.eventHandlers.onDownloadPdf()}},o.createElement($e.a,{name:"download"}),o.createElement(l.a,{id:"menu.download_pdf",defaultMessage:"Downlod PDF"})),o.createElement(qe.a.Item,{onClick:function(){return t.props.eventHandlers.onDownloadPng()}},o.createElement($e.a,{name:"download"}),o.createElement(l.a,{id:"menu.download_png",defaultMessage:"Download PNG"})),o.createElement(qe.a.Item,{onClick:function(){return t.props.eventHandlers.onDownloadSvg()}},o.createElement($e.a,{name:"download"}),o.createElement(l.a,{id:"menu.download_svg",defaultMessage:"Download SVG"})),o.createElement(qe.a.Divider,null),n,o.createElement(qe.a.Divider,null))}}},{key:"title",value:function(){return o.createElement(Je.a.Item,null,o.createElement("b",null,"Topola Genealogy"))}},{key:"fileMenus",value:function(e){if(!this.props.standalone&&this.props.showWikiTreeMenus)switch(e){case Kt.LARGE:return o.createElement(xt,Object.assign({menuType:We.Menu},this.props));case Kt.SMALL:return o.createElement(o.Fragment,null,o.createElement(xt,Object.assign({menuType:We.Dropdown},this.props)),o.createElement(qe.a.Divider,null))}if(!this.props.standalone)return null;switch(e){case Kt.LARGE:return this.props.showingChart?o.createElement(qe.a,{trigger:o.createElement("div",null,o.createElement($e.a,{name:"folder open"}),o.createElement(l.a,{id:"menu.open",defaultMessage:"Open"})),className:"item"},o.createElement(qe.a.Menu,null,o.createElement(tt,Object.assign({menuType:We.Dropdown},this.props)),o.createElement(st,Object.assign({menuType:We.Dropdown},this.props)),o.createElement(xt,Object.assign({menuType:We.Dropdown},this.props)))):o.createElement(o.Fragment,null,o.createElement(tt,Object.assign({menuType:We.Menu},this.props)),o.createElement(st,Object.assign({menuType:We.Menu},this.props)),o.createElement(xt,Object.assign({menuType:We.Menu},this.props)));case Kt.SMALL:return o.createElement(o.Fragment,null,o.createElement(tt,Object.assign({menuType:We.Dropdown},this.props)),o.createElement(st,Object.assign({menuType:We.Dropdown},this.props)),o.createElement(xt,Object.assign({menuType:We.Dropdown},this.props)),o.createElement(qe.a.Divider,null))}}},{key:"wikiTreeLoginMenu",value:function(e){return this.props.showWikiTreeMenus?o.createElement(o.Fragment,null,o.createElement(Lt,Object.assign({menuType:e===Kt.SMALL?We.Dropdown:We.Menu},this.props)),e===Kt.SMALL?o.createElement(qe.a.Divider,null):null):null}},{key:"mobileMenus",value:function(){return o.createElement(o.Fragment,null,o.createElement(qe.a,{trigger:o.createElement("div",null,o.createElement($e.a,{name:"sidebar"})),className:"item",icon:null},o.createElement(qe.a.Menu,null,this.fileMenus(Kt.SMALL),this.chartMenus(Kt.SMALL),this.wikiTreeLoginMenu(Kt.SMALL),o.createElement(qe.a.Item,{href:"https://github.com/PeWu/topola-viewer",target:"_blank",rel:"noopener noreferrer"},o.createElement(l.a,{id:"menu.github",defaultMessage:"Source on GitHub"})))),this.props.standalone?o.createElement(ze.a,{to:"/"},this.title()):this.title())}},{key:"desktopMenus",value:function(){return o.createElement(o.Fragment,null,this.props.standalone?o.createElement(ze.a,{to:"/"},this.title()):null,this.fileMenus(Kt.LARGE),this.chartMenus(Kt.LARGE),o.createElement(Je.a.Menu,{position:"right"},this.wikiTreeLoginMenu(Kt.LARGE),o.createElement(Je.a.Item,{href:"https://github.com/PeWu/topola-viewer",target:"_blank",rel:"noopener noreferrer"},o.createElement(l.a,{id:"menu.github",defaultMessage:"GitHub project"}))))}},{key:"render",value:function(){return o.createElement(o.Fragment,null,o.createElement(M.a,{as:Je.a,attached:"top",inverted:!0,color:"blue",size:"large",minWidth:768},this.desktopMenus()),o.createElement(M.a,{as:Je.a,attached:"top",inverted:!0,color:"blue",size:"large",maxWidth:767},this.mobileMenus()))}}]),n}(o.Component);function Xt(e){return o.createElement(Ge.a,{negative:!0,className:"error"},o.createElement(Ge.a.Header,null,o.createElement(l.a,{id:"error.failed_to_load_file",defaultMessage:"Failed to load file"})),o.createElement("p",null,e.message))}function $t(e){return o.createElement(Fe.a,{open:e.open,onClose:e.onDismiss},o.createElement(Ge.a,{negative:!0,className:"errorPopup",onDismiss:e.onDismiss},o.createElement(Ge.a.Header,null,o.createElement(l.a,{id:"error.error",defaultMessage:"Error"})),o.createElement("p",null,e.message)))}function Qt(e){var t=w.parse(e.search),n=function(e){var n=t[e];return"string"===typeof n?n:void 0},a=n("view"),r=new Map([["relatives",b.Relatives],["fancy",b.Fancy]]),i=n("file"),o=n("url"),s="true"===n("embedded"),c=void 0;"wikitree"===n("source")?c={source:qt.WIKITREE,authcode:n("?authcode")}:i?c={source:qt.UPLOADED,hash:i,gedcom:e.state&&e.state.data,images:e.state&&e.state.images}:o?c={source:qt.GEDCOM_URL,url:o,handleCors:"false"!==n("handleCors")}:s&&(c={source:qt.EMBEDDED});var l=n("indi"),u=Number(n("gen"));return{sourceSpec:c,selection:l?{id:l,generation:isNaN(u)?0:u}:void 0,chartType:r.get(a)||b.Hourglass,showSidePanel:"false"!==n("sidePanel"),standalone:"false"!==n("standalone")&&!s,freezeAnimation:"true"===n("freeze")}}!function(e){e[e.UPLOADED=0]="UPLOADED",e[e.GEDCOM_URL=1]="GEDCOM_URL",e[e.WIKITREE=2]="WIKITREE",e[e.EMBEDDED=3]="EMBEDDED"}(qt||(qt={})),function(e){e[e.INITIAL=0]="INITIAL",e[e.LOADING=1]="LOADING",e[e.ERROR=2]="ERROR",e[e.SHOWING_CHART=3]="SHOWING_CHART",e[e.LOADING_MORE=4]="LOADING_MORE"}(Zt||(Zt={}));var en=function(e){Object(f.a)(n,e);var t=Object(g.a)(n);function n(){var e;Object(m.a)(this,n);for(var a=arguments.length,r=new Array(a),i=0;i<a;i++)r[i]=arguments[i];return(e=t.call.apply(t,[this].concat(r))).state={state:Zt.INITIAL,standalone:!0,chartType:b.Hourglass,showErrorPopup:!1},e.chartRef=null,e.uploadedDataSource=new Te,e.gedcomUrlDataSource=new Re,e.wikiTreeDataSource=new It(e.context.intl),e.embeddedDataSource=new _e,e.onSelection=function(t){if(!t.id.startsWith("~Private")){E("selection_changed");var n=e.props.location,a=w.parse(n.search);a.indi=t.id,a.gen=String(t.generation),n.search=w.stringify(a),e.props.history.push(n)}},e.onPrint=function(){E("print"),e.chartRef&&e.chartRef.print()},e.onDownloadPdf=Object(p.a)(d.a.mark((function t(){return d.a.wrap((function(t){for(;;)switch(t.prev=t.next){case 0:if(E("download_pdf"),t.prev=1,t.t0=e.chartRef,!t.t0){t.next=6;break}return t.next=6,e.chartRef.downloadPdf();case 6:t.next=11;break;case 8:t.prev=8,t.t1=t.catch(1),e.showErrorPopup(e.context.intl.formatMessage({id:"error.failed_pdf",defaultMessage:"Failed to generate PDF file. Please try with a smaller diagram or download an SVG file."}));case 11:case"end":return t.stop()}}),t,null,[[1,8]])}))),e.onDownloadPng=Object(p.a)(d.a.mark((function t(){return d.a.wrap((function(t){for(;;)switch(t.prev=t.next){case 0:if(E("download_png"),t.prev=1,t.t0=e.chartRef,!t.t0){t.next=6;break}return t.next=6,e.chartRef.downloadPng();case 6:t.next=11;break;case 8:t.prev=8,t.t1=t.catch(1),e.showErrorPopup(e.context.intl.formatMessage({id:"error.failed_png",defaultMessage:"Failed to generate PNG file. Please try with a smaller diagram or download an SVG file."}));case 11:case"end":return t.stop()}}),t,null,[[1,8]])}))),e.onDownloadSvg=function(){E("download_svg"),e.chartRef&&e.chartRef.downloadSvg()},e.onDismissErrorPopup=function(){e.setState(Object.assign({},e.state,{showErrorPopup:!1}))},e.renderMainArea=function(){switch(e.state.state){case Zt.SHOWING_CHART:case Zt.LOADING_MORE:return o.createElement("div",{id:"content"},o.createElement($t,{open:e.state.showErrorPopup,message:e.state.error,onDismiss:e.onDismissErrorPopup}),e.state.state===Zt.LOADING_MORE?o.createElement(Ue.a,{active:!0,size:"small",className:"loading-more"}):null,o.createElement(G,{data:e.state.data.chartData,selection:e.state.selection,chartType:e.state.chartType,onSelection:e.onSelection,freezeAnimation:e.state.freezeAnimation,ref:function(t){return e.chartRef=t}}),e.state.showSidePanel?o.createElement(M.a,{minWidth:768,id:"sidePanel"},o.createElement(be,{gedcom:e.state.data.gedcom,indi:e.state.selection.id})):null);case Zt.ERROR:return o.createElement(Xt,{message:e.state.error});case Zt.INITIAL:case Zt.LOADING:return o.createElement(Ue.a,{active:!0,size:"large"})}},e}return Object(h.a)(n,[{key:"updateDisplay",value:function(e,t){var n,a;(!this.state.selection||this.state.selection.id!==e.id||this.state.selection.generation!==e.generation||(n=this.state,(a=t)&&Object.entries(a).some((function(e){var t=Object(v.a)(e,2),a=t[0],r=t[1];return void 0!==r&&n[a]!==r}))))&&this.setState(Object.assign({},this.state,{selection:e},t))}},{key:"setError",value:function(e){this.setState(Object.assign({},this.state,{state:Zt.ERROR,error:e}))}},{key:"componentDidMount",value:function(){this.componentDidUpdate()}},{key:"isNewData",value:function(e,t){if(!this.state.sourceSpec||this.state.sourceSpec.source!==e.source)return!0;var n={spec:e,selection:t},a={spec:this.state.sourceSpec,selection:this.state.selection};switch(n.spec.source){case qt.UPLOADED:return this.uploadedDataSource.isNewData(n,a,this.state.data);case qt.GEDCOM_URL:return this.gedcomUrlDataSource.isNewData(n,a,this.state.data);case qt.WIKITREE:return this.wikiTreeDataSource.isNewData(n,a,this.state.data);case qt.EMBEDDED:return this.embeddedDataSource.isNewData(n,a,this.state.data)}}},{key:"loadData",value:function(e,t){switch(e.source){case qt.UPLOADED:return this.uploadedDataSource.loadData({spec:e,selection:t});case qt.GEDCOM_URL:return this.gedcomUrlDataSource.loadData({spec:e,selection:t});case qt.WIKITREE:return this.wikiTreeDataSource.loadData({spec:e,selection:t});case qt.EMBEDDED:return this.embeddedDataSource.loadData({spec:e,selection:t})}}},{key:"componentDidUpdate",value:function(){var e=Object(p.a)(d.a.mark((function e(){var t,n,a,r,i,o;return d.a.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if("/view"===this.props.location.pathname){e.next=3;break}return this.state.state!==Zt.INITIAL&&this.setState(Object.assign({},this.state,{state:Zt.INITIAL})),e.abrupt("return");case 3:if((t=Qt(this.props.location)).sourceSpec){e.next=8;break}this.props.history.replace({pathname:"/"}),e.next=38;break;case 8:if(this.state.state!==Zt.INITIAL&&!this.isNewData(t.sourceSpec,t.selection)){e.next=22;break}return this.setState(Object.assign({},this.state,{state:Zt.LOADING,sourceSpec:t.sourceSpec,selection:t.selection,standalone:t.standalone,chartType:t.chartType})),e.prev=10,e.next=13,this.loadData(t.sourceSpec,t.selection);case 13:n=e.sent,this.setState(Object.assign({},this.state,{state:Zt.SHOWING_CHART,data:n,selection:ye(n.chartData,t.selection)})),e.next=20;break;case 17:e.prev=17,e.t0=e.catch(10),this.setError(e.t0.message);case 20:e.next=38;break;case 22:if(this.state.state!==Zt.SHOWING_CHART&&this.state.state!==Zt.LOADING_MORE){e.next=38;break}if(a=ye(this.state.data.chartData,t.selection),r=t.sourceSpec.source===qt.WIKITREE&&(!this.state.selection||this.state.selection.id!==a.id),this.updateDisplay(a,{chartType:t.chartType,state:r?Zt.LOADING_MORE:Zt.SHOWING_CHART}),!r){e.next=38;break}return e.prev=27,e.next=30,Ot(t.selection.id,this.context.intl);case 30:i=e.sent,o=ye(i.chartData,t.selection),this.setState(Object.assign({},this.state,{state:Zt.SHOWING_CHART,data:i,selection:o})),e.next=38;break;case 35:e.prev=35,e.t1=e.catch(27),this.showErrorPopup(this.context.intl.formatMessage({id:"error.failed_wikitree_load_more",defaultMessage:"Failed to load data from WikiTree. {error}"},{error:e.t1}),{state:Zt.SHOWING_CHART});case 38:case"end":return e.stop()}}),e,this,[[10,17],[27,35]])})));return function(){return e.apply(this,arguments)}}()},{key:"showErrorPopup",value:function(e,t){this.setState(Object.assign({},this.state,{showErrorPopup:!0,error:e},t))}},{key:"render",value:function(){var e=this;return o.createElement(o.Fragment,null,o.createElement(He.a,{render:function(t){var n,a;return o.createElement(Yt,Object.assign({},t,{data:e.state.data&&e.state.data.chartData,allowAllRelativesChart:(null===(n=e.state.sourceSpec)||void 0===n?void 0:n.source)!==qt.WIKITREE,showingChart:"/view"===e.props.history.location.pathname&&(e.state.state===Zt.SHOWING_CHART||e.state.state===Zt.LOADING_MORE),standalone:e.state.standalone,eventHandlers:{onSelection:e.onSelection,onPrint:e.onPrint,onDownloadPdf:e.onDownloadPdf,onDownloadPng:e.onDownloadPng,onDownloadSvg:e.onDownloadSvg},showWikiTreeMenus:(null===(a=e.state.sourceSpec)||void 0===a?void 0:a.source)===qt.WIKITREE}))}}),o.createElement(Be.a,null,o.createElement(He.a,{exact:!0,path:"/",component:Pe}),o.createElement(He.a,{exact:!0,path:"/view",render:this.renderMainArea}),o.createElement(Ve.a,{to:"/"})))}}]),n}(o.Component);en.contextTypes={intl:l.d};var tn=n(317),nn=n(611);n(583),n(584),n(585);Object(l.c)([].concat(Object(a.a)(r),Object(a.a)(i)));var an={pl:c},rn=navigator.language&&navigator.language.split(/[-_]/)[0],on=Object(tn.detect)();on&&"ie"===on.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(l.b,{locale:rn,messages:an[rn]},o.createElement(nn.a,null,o.createElement(He.a,{component:en}))),document.querySelector("#root"))}},[[332,1,2]]]);
//# sourceMappingURL=main.709fa196.chunk.js.map