(window.webpackJsonp=window.webpackJsonp||[]).push([[0],{1309:function(e,t,a){},1310:function(e,t,a){},1311:function(e,t,a){},1313:function(e,t){},1314:function(e,t,a){},1315:function(e,t,a){},1316:function(e,t,a){},1317:function(e,t,a){},1318:function(e,t,a){},1319:function(e,t,a){},1320:function(e,t,a){},1321:function(e,t,a){},1322:function(e,t,a){"use strict";a.r(t);var n=a(1),r=a.n(n),o=a(20),c=a.n(o),i=a(424),l=a(19),s=a.n(l),u=a(25),d=a(9),p=a(582),f=a(580),m=a(196),b=a(581),v=a(10),h=a(203),E=a(204),y=a(72),g=function(e){var t=document.cookie.match(new RegExp("(^| )"+e+"=([^;]+)"));return t?t[2]:null},O=function(e,t,a){var n,r;a&&(n=(new Date).getTime()+24*a*60*60*1e3,r=new Date(n)),document.cookie="".concat(e,"=").concat(t).concat(r?"; expires=".concat(r.toUTCString(),";"):"")},j=function(e){document.cookie="".concat(e,"=-1; ;expires=Thu, 01 Jan 1970 00:00:01 GMT;")},w=function(e){var t=e.getDate(),a=e.getMonth(),n=e.getFullYear(),r=e.getHours(),o=e.getMinutes(),c=r>=12?"PM":"AM";r=(r%=12)||12;var i=o<10?"0"+o:o;return"".concat(["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"][a]," ").concat(t,", ").concat(n," ").concat(r,":").concat(i," ").concat(c)},N=function(e){return e.replace(/\w\S*/g,function(e){return e.charAt(0).toUpperCase()+e.substr(1).toLowerCase()})},M=function(e,t){return(t?/^([\w+-.%]+@[\w.-]+\.[A-Za-z]{2,4})((,|, )[\w+-.%]+@[\w.-]+\.[A-Za-z]{2,4})*$/:/^([\w+-.%]+@[\w.-]+\.[A-Za-z]{2,4})$/).test(String(e).toLowerCase())},S=function(e){for(var t in e)if(e.hasOwnProperty(t))return!1;return!0},x=function(){function e(){Object(h.a)(this,e),this.user=void 0}return Object(E.a)(e,[{key:"signIn",value:function(e,t){console.log("Signing in",e),this.user=e,t&&O("user",JSON.stringify(e),365)}},{key:"signOut",value:function(){console.log("Signing out"),this.user=void 0,console.log(this.user),j("user")}}]),e}();Object(y.c)(x,{user:y.e});var I=new x,k=Object(n.createContext)(I),T=a(200),_=new(function(){function e(){Object(h.a)(this,e)}return Object(E.a)(e,[{key:"addNotification",value:function(e,t,a,n,r){var o=this;console.log("New notification");var c=(new Date).getTime();T.NotificationManager.create({id:c,type:e,message:t,title:a,timeOut:n||0,onClick:r?function(){r(),o.removeNotification(c)}:this.removeNotification(c)})}},{key:"removeNotification",value:function(e){T.NotificationManager.remove({id:e})}}]),e}()),C=(Object(n.createContext)(_),{auth:{clientId:"1041818283387-clpq47t4brpqrggq9devsu0eivq3tvdd.apps.googleusercontent.com"},api:{default:"mailroom",mailroom:"localhost"===location.hostname?"http://3.85.6.150/api":"https://mailroom-api.launchthat.com/api",homebase:"localhost"===location.hostname?"http://34.239.143.199/api":"https://homebase-api.launchthat.com/api",auth:"localhost"===location.hostname?"http://3.85.6.150/auth/":"https://mailroom-api.launchthat.com/auth/"}}),D=function(){return r.a.createElement("div",{className:"fill-space"},r.a.createElement(v.SignInPanel,{logo:"".concat("","/images/vertical-logo.png"),clientId:C.auth.clientId,handleSuccess:P,handleFailure:A}),r.a.createElement(v.Notifications,null))},P=function(){var e=Object(u.a)(s.a.mark(function e(t){var a,n,r;return s.a.wrap(function(e){for(;;)switch(e.prev=e.next){case 0:return e.prev=0,a="".concat(location.protocol,"//").concat(location.hostname).concat(location.port?":".concat(location.port):""),e.next=4,fetch("".concat(C.api.auth),{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({code:t.code,redirectURI:a})});case 4:return n=e.sent,e.next=7,n.json();case 7:if((r=e.sent)&&r.roles){e.next=10;break}throw new Error("User not found");case 10:if(r.isAdmin=r.roles.includes("ROLE_ADMIN"),r&&r.roles){e.next=13;break}throw new Error("User not found");case 13:I.signIn(r,!0),e.next=20;break;case 16:e.prev=16,e.t0=e.catch(0),console.log(e.t0),_.addNotification("error",e.t0.message,"Sign In Error");case 20:case"end":return e.stop()}},e,null,[[0,16]])}));return function(t){return e.apply(this,arguments)}}(),A=function(e){var t=e.error;e.details&&(t+=": ".concat(e.details)),console.log(e),_.addNotification("error",t,"Error with sign in")},R=a(46),F=a(123),L=function(e,t){var a=Object(n.useState)(!0),r=Object(d.a)(a,2),o=r[0],c=r[1],i=Object(n.useState)({}),l=Object(d.a)(i,2),p=l[0],f=l[1],m=t&&t.emptyObj?Object(n.useState)(t.emptyObj):Object(n.useState)({}),b=Object(d.a)(m,2),v=b[0],h=b[1],E=function(){var a=Object(u.a)(s.a.mark(function a(){var n,r,o,i;return s.a.wrap(function(a){for(;;)switch(a.prev=a.next){case 0:if(a.prev=0,c(!0),console.log("Refreshing"),!(!t||t&&!t.id||t&&"add"!==t.id)){a.next=24;break}return n=C.api[C.api.default],t&&t.apiName&&(n=C.api[t.apiName]),a.next=8,fetch("".concat(n,"/").concat(e)+"".concat(t&&t.id?"/".concat(t.id):"")+"".concat(t&&t.queryParams?"?".concat(t.queryParams):""),{headers:{accept:"".concat(t&&t.contentType?t.contentType:"application/json"),"Content-Type":"application/json","Cache-Control":"no-cache","X-AUTH-TOKEN":I&&I.user?I.user.token:""}});case 8:if(r=a.sent,console.log(r),!(r.status>=200&&r.status<300)){a.next=23;break}if(!(o=r.headers.get("content-type"))||-1===o.indexOf("".concat(t&&t.contentType?t.contentType:"application/json"))){a.next=20;break}return a.next=15,r.json();case 15:i=a.sent,console.log(i),h(i),a.next=21;break;case 20:_.addNotification("error","No data returned from API","Error Fetching Data");case 21:a.next=24;break;case 23:_.addNotification("error","".concat(r.status).concat(r.statusText?": ".concat(r.statusText):""),"Error Fetching Data");case 24:console.log("Done"),a.next=31;break;case 27:a.prev=27,a.t0=a.catch(0),console.log(a.t0),_.addNotification("error",a.t0.message,"Error Fetching Data");case 31:c(!1);case 32:case"end":return a.stop()}},a,null,[[0,27]])}));return function(){return a.apply(this,arguments)}}();return Object(n.useEffect)(function(){E()},[]),[o,v,h,p,f,function(){var t=Object(u.a)(s.a.mark(function t(a,n){var r,o,i,l,u;return s.a.wrap(function(t){for(;;)switch(t.prev=t.next){case 0:return c(!0),t.prev=1,o=C.api[C.api.default],n&&n.apiName&&(o=C.api[n.apiName]),t.next=6,fetch("".concat(o,"/").concat(n&&n.route?n.route:e)+"".concat(n&&n.id?"/".concat(n.id):"")+"".concat(n&&n.queryParams?"?".concat(n.queryParams):""),{method:a,headers:{accept:"".concat(n&&n.contentType?n.contentType:"application/json"),"Content-Type":"application/json","Cache-Control":"no-cache","X-AUTH-TOKEN":I&&I.user?I.user.token:""},body:n&&n.data?JSON.stringify(n.data):void 0});case 6:if(i=t.sent,console.log(i),!(i.status<200||i.status>299)){t.next=13;break}_.addNotification("error",i.statusText,"Error Querying API"),r={error:!0},t.next=20;break;case 13:if(!(l=i.headers.get("content-type"))||-1===l.indexOf("".concat(n&&n.contentType?n.contentType:"application/json"))){t.next=20;break}return t.next=17,i.json();case 17:u=t.sent,console.log(u),r=u;case 20:t.next=27;break;case 22:t.prev=22,t.t0=t.catch(1),console.log(t.t0),_.addNotification("error",t.t0.message,"Error Querying API"),r={error:!0};case 27:return c(!1),t.abrupt("return",r);case 29:case"end":return t.stop()}},t,null,[[1,22]])}));return function(e,a){return t.apply(this,arguments)}}(),E]},B=function(e){var t=Object(n.useState)(!0),a=Object(d.a)(t,2),r=a[0],o=a[1];return[r,function(){r&&(o(!1),e&&setTimeout(e,175))}]},q=(a(1309),function(){var e=L("counts"),t=Object(d.a)(e,7),a=t[0],n=t[1];t[2],t[3],t[4],t[5],t[6];return r.a.createElement("div",{className:"full-container"},r.a.createElement("h1",null,"Dashboard"),a&&r.a.createElement(v.Loading,null),!a&&r.a.createElement("div",{className:"row"},r.a.createElement("div",{className:"column"},r.a.createElement(v.RecentActivity,{activities:U})),r.a.createElement("div",{className:"column"},r.a.createElement("div",{className:"row bottom-gutter"},r.a.createElement("div",{className:"column"},r.a.createElement(v.StatBox,{name:"Leads",value:n.leads,icon:Y.leads,color:J.leads.light})),r.a.createElement("div",{className:"column"},r.a.createElement(v.StatBox,{name:"Endpoints",value:n.endpoints,icon:Y.endpoints,color:J.endpoints.light}))),r.a.createElement("div",{className:"row bottom-gutter top-gutter"},r.a.createElement("div",{className:"column"},r.a.createElement(v.StatBox,{name:"Field Maps",value:n.field_maps,icon:Y.fieldMaps,color:J.fieldMaps.light})),r.a.createElement("div",{className:"column"},r.a.createElement(v.StatBox,{name:"Users",value:"N/A",icon:Y.users,color:J.users.light}))))))}),J={leads:{dark:"var(--secondaryColor--dark)",light:"var(--secondaryColor--light)"},endpoints:{dark:"var(--primaryColor--dark)",light:"var(--primaryColor--light)"},fieldMaps:{dark:"var(--accentColor--dark)",light:"var(--accentColor--light)"},users:{dark:"var(--extraColor1--dark)",light:"var(--extraColor1--light)"}},Y={leads:r.a.createElement(R.e,{style:{color:J.leads.dark}}),endpoints:r.a.createElement(F.a,{style:{color:J.endpoints.dark}}),fieldMaps:r.a.createElement(R.f,{style:{color:J.fieldMaps.dark}}),users:r.a.createElement(R.d,{style:{color:J.users.dark}})},U=[{icon:Y.endpoints,color:J.endpoints.light,action:"create",name:"Important Lawyer",category:"Endpoints",link:"/endpoints/1",date:new Date,editor:"Rob Rule"},{icon:Y.fieldMaps,color:J.fieldMaps.light,action:"update",name:"Salesforce Insert",category:"Field Maps",link:"/fieldMaps/1",date:new Date,editor:"Kyle Walsh"}],G=(a(1310),Object(b.a)(function(e){var t=e.match.params.id,a=Object(n.useState)(e.match.params.version?parseInt(e.match.params.version,10):1),o=Object(d.a)(a,2),c=o[0],i=o[1],l="id=".concat(t,";version=").concat(c),p=L("leads",{id:l}),f=Object(d.a)(p,7),m=f[0],b=f[1],h=(f[2],f[3],f[4],f[5]),E=f[6],y=L("response_records",{queryParams:"leadId=".concat(t,"&leadVersion=").concat(c)}),g=Object(d.a)(y,7),O=g[0],j=g[1],M=(g[2],g[3],g[4],g[5],g[6]),S=L("endpoints",{queryParams:"properties[]=id&properties[]=name"}),x=Object(d.a)(S,2),k=x[0],T=x[1],_=Object(n.useState)(),C=Object(d.a)(_,2),D=C[0],P=C[1],A=Object(n.useState)([]),R=Object(d.a)(A,2),F=R[0],q=R[1],J=Object(n.useState)({}),Y=Object(d.a)(J,2),U=Y[0],G=Y[1],V=Object(n.useState)({}),H=Object(d.a)(V,2),z=H[0],Q=H[1],K=Object(n.useState)(!1),W=Object(d.a)(K,2),Z=W[0],$=W[1],X=Object(n.useState)(!1),ee=Object(d.a)(X,2),te=ee[0],ae=ee[1],ne=Object(n.useState)(!1),re=Object(d.a)(ne,2),oe=re[0],ce=re[1],ie=Object(n.useState)(0),le=Object(d.a)(ie,2),se=le[0],ue=le[1],de=B(e.navigateBack),pe=Object(d.a)(de,2),fe=pe[0],me=pe[1],be=Object(n.useState)(0),ve=Object(d.a)(be,2),he=ve[0],Ee=ve[1],ye=Object(n.useState)([]),ge=Object(d.a)(ye,2),Oe=ge[0],je=ge[1],we=Object(n.useState)(!1),Ne=Object(d.a)(we,2),Me=Ne[0],Se=Ne[1],xe=Object(n.useState)(!1),Ie=Object(d.a)(xe,2),ke=Ie[0],Te=Ie[1];Object(n.useEffect)(function(){_e()},[]);var _e=function(){var e=Object(u.a)(s.a.mark(function e(){var a;return s.a.wrap(function(e){for(;;)switch(e.prev=e.next){case 0:return console.log("Getting version options"),a=[],e.next=4,h("GET",{route:"leads",queryParams:"id=".concat(t)});case 4:e.sent.forEach(function(e){a.push({label:"Version ".concat(e.version),value:e.version})}),je(a),Se(!0);case 8:case"end":return e.stop()}},e)}));return function(){return e.apply(this,arguments)}}();Object(n.useEffect)(function(){ke&&(console.log("Version changed",c),E(),M(),$(!1),ae(!1))},[c]),Object(n.useEffect)(function(){m||!b.siteId||O||k||te||(ae(!0),Ce())},[m,b.siteId,O,k,te]);var Ce=function(){var e=Object(u.a)(s.a.mark(function e(){var t,a,n,o,c,i;return s.a.wrap(function(e){for(;;)switch(e.prev=e.next){case 0:if(console.log("Setup is running",b),Z){e.next=18;break}return console.log("Fresh setup (query tables)"),a=[],console.log("Current route",b.routeId),a.push(h("GET",{apiName:"homebase",route:"sites",queryParams:"id=".concat(b.siteId)})),a.push(h("GET",{apiName:"homebase",route:"verticals",queryParams:"id=".concat(b.verticalId)})),a.push(h("GET",{apiName:"homebase",route:"routes",queryParams:"id=".concat(b.routeId)})),a.push(h("GET",{route:"route_endpoint_maps",queryParams:"routeId=".concat(b.routeId)})),e.next=11,Promise.all(a);case 11:(n=e.sent).forEach(function(e){e.error}),G({site:n[0].length?n[0][0].name:"Unknown",vertical:n[1].length?n[1][0].name:"Unknown",route:n[2].length?n[2][0].name:"Unknown"}),Q(n[3]),t=n[3],e.next=20;break;case 18:console.log("Reusing previous route endpoint maps"),t=z;case 20:o=[],c=[],i=0,t.forEach(function(e){var t=j.findIndex(function(t){return t.endpointId===e.endpointId}),a=T.findIndex(function(t){return t.id===e.endpointId});if(-1!==t){var n=De(j[t].statusCode);c.push({responseId:j[t].id,endpointId:e.endpointId}),o.push({checked:!1,value:i.toString(),label:-1!==T[a]?T[a].name:"DELETED",chip:{type:n.type,label:n.label},row:r.a.createElement(v.JSONView,{className:{container:"leadModal__statusJSON"},disabled:!0,data:j[t].body,name:!1,collapsibleRoot:!1,displayDataTypes:!1})})}else c.push({endpointId:e.endpointId}),o.push({checked:!1,value:i.toString(),label:-1!==T[a]?T[a].name:"DELETED",chip:{type:"warning",label:"Unsent"}});i++}),P(c),q(o),$(!0),console.log("Setup complete");case 28:case"end":return e.stop()}},e)}));return function(){return e.apply(this,arguments)}}(),De=function(e){return e>=200&&e<300?{type:"success",label:"Success"}:{type:"danger",label:"Failed"}},Pe=function(e){switch(e){case"success":return"success";case"failed":return"danger";case"unsent":return"warning";default:return"default"}},Ae=function(){var e=Object(u.a)(s.a.mark(function e(){var t,a,n,r,o,c,i;return s.a.wrap(function(e){for(;;)switch(e.prev=e.next){case 0:for(ce(!0),t={endpoints:[],data:{lead_id:b.id,lead_version:b.version,route:{id:b.routeId,name:U.route},channel:b.channel,site_name:U.site,created_at:b.createdAt,fields:b.fields}},a=!0,n=!1,r=void 0,e.prev=5,o=F[Symbol.iterator]();!(a=(c=o.next()).done);a=!0)(i=c.value).checked&&t.endpoints.push({id:D[i.value].endpointId,responseId:D[i.value].responseId?D[i.value].responseId:void 0});e.next=13;break;case 9:e.prev=9,e.t0=e.catch(5),n=!0,r=e.t0;case 13:e.prev=13,e.prev=14,a||null==o.return||o.return();case 16:if(e.prev=16,!n){e.next=19;break}throw r;case 19:return e.finish(16);case 20:return e.finish(13);case 21:return e.next=23,h("POST",{route:"refire",data:t});case 23:if(!e.sent.error){e.next=27;break}return ce(!1),e.abrupt("return");case 27:Re(0);case 28:case"end":return e.stop()}},e,null,[[5,9,13,21],[14,,16,20]])}));return function(){return e.apply(this,arguments)}}(),Re=function e(t){if(t<100){var a=t+1;ue(a),setTimeout(function(){return e(a)},100)}else E(),M(),ae(!1),ce(!1),ue(0)},Fe=function(){var e=!0,t=!1,a=void 0;try{for(var n,r=F[Symbol.iterator]();!(e=(n=r.next()).done);e=!0)if(n.value.checked)return!0}catch(o){t=!0,a=o}finally{try{e||null==r.return||r.return()}finally{if(t)throw a}}return!1};return r.a.createElement(v.DataModal,{headerText:"View Lead",loading:m||O||k||!Z||!Me,open:fe,onClose:me,className:"leads__dataModal ".concat(e.className?e.className:""),activeTab:he,setActiveTab:Ee,tabs:[{title:"Details",body:m||O||k||!Z||!Me?void 0:r.a.createElement(n.Fragment,null,!oe&&r.a.createElement(n.Fragment,null,r.a.createElement("div",{className:"row"},r.a.createElement("div",{className:"column"},r.a.createElement(v.Select,{label:"Lead Version",value:c,options:Oe,onChange:function(a){return function(a){e.history.push("/leads/".concat(t,"/").concat(a)),Te(!0),i(a)}(a)},disabled:1===Oe.length})),r.a.createElement("div",{className:"column"},r.a.createElement(v.Input,{label:"Lead ID",value:b.id,autoComplete:"off",disabled:!0}))),r.a.createElement("div",{className:"row"},r.a.createElement("div",{className:"column"},r.a.createElement("div",{className:"input__container"},r.a.createElement("div",{className:"leadModal__statusContainer"},r.a.createElement(v.Label,{className:"leadModal__statusLabel",text:"Endpoint Delivery Status"}),r.a.createElement("span",{className:"leadModal__overallStatus"},r.a.createElement(v.Chip,{label:N(b.deliveryStatus),type:Pe(b.deliveryStatus)}))),r.a.createElement("div",{className:"leadModal__endpointContainer input"},F.length>0&&r.a.createElement(n.Fragment,null,r.a.createElement(v.CheckboxList,{className:{row:"leadModal__statusRow"},radioStyle:!0,values:F,onChange:function(e){return function(e){var t=F.slice();t.forEach(function(t){t.value===e&&(t.checked=!t.checked)}),q(t)}(e.target.value)}}),I.user&&I.user.isAdmin&&r.a.createElement("div",{className:"row leadModal__refireButtonRow"},r.a.createElement(v.Button,{disabled:!Fe(),onClick:function(){return Ae()}},"Refire Endpoints"))),0===F.length&&r.a.createElement("div",{className:"leadModal__noEndpointsText"},"No Associated Endpoints"))))),r.a.createElement("div",{className:"row"},r.a.createElement("div",{className:"column"},r.a.createElement(v.Input,{label:"Created Date",value:w(new Date(b.createdAt)),autoComplete:"off",disabled:!0})),r.a.createElement("div",{className:"column"},r.a.createElement(v.Input,{label:"Route",disabled:!0,value:U.route,autoComplete:"off"}))),r.a.createElement("div",{className:"row"},r.a.createElement("div",{className:"column"},r.a.createElement(v.Input,{label:"Vertical",disabled:!0,value:U.vertical,autoComplete:"off"})),r.a.createElement("div",{className:"column"},r.a.createElement(v.Input,{label:"Site",disabled:!0,value:U.site,autoComplete:"off"}))),r.a.createElement("div",{className:"row"},r.a.createElement("div",{className:"column"},r.a.createElement(v.Input,{label:"Channel",disabled:!0,value:b.channel,autoComplete:"off"})),r.a.createElement("div",{className:"column"},r.a.createElement(v.Input,{label:"Rule Version",value:b.ruleVersion,autoComplete:"off",disabled:!0}))),r.a.createElement("div",{className:"row"},r.a.createElement("div",{className:"column leadModal__overflowHidden"},r.a.createElement(v.JSONView,{disabled:!0,label:"Fields",data:b.fields,name:!1,collapsibleRoot:!1,displayDataTypes:!1})))),oe&&r.a.createElement("div",{className:"leadModal__progressContainer"},r.a.createElement("strong",null,"Refiring..."),r.a.createElement(v.ProgressBar,{percent:se,caps:"round"})))}]})})),V=(a(1311),Object(b.a)(function(e){var t=["id","version","createdAt","deliveryStatus","verticalId","siteId","routeId","channel"],a=function(e,t,a){var r=Object(n.useState)(1),o=Object(d.a)(r,2),c=o[0],i=o[1],l=Object(n.useState)(0),p=Object(d.a)(l,2),f=p[0],m=p[1],b=Object(n.useState)(10),v=Object(d.a)(b,2),h=v[0],E=v[1],y=a?Object(n.useState)(a):Object(n.useState)({column:"",direction:""}),g=Object(d.a)(y,2),O=g[0],j=g[1],w=Object(n.useState)([]),N=Object(d.a)(w,2),M=N[0],S=N[1],x=Object(n.useState)(""),I=Object(d.a)(x,2),k=I[0],T=I[1],_=L(e,{queryParams:"itemsPerPage=".concat(h,"&page=").concat(c).concat(a?"&order[".concat(a.column,"]=").concat(a.direction):""),contentType:"application/ld+json"}),C=Object(d.a)(_,7),D=C[0],P=C[1],A=C[2],R=C[3],F=C[4],B=C[5],q=(C[6],Object(n.useState)(void 0)),J=Object(d.a)(q,2),Y=J[0],U=J[1];Object(n.useEffect)(function(){if(0===M.length)for(var e=0;e=a[e].length&&X(e,r,o),n(Object(z.a)({},a,Object(H.a)({},e,t)))},X=function(e,t,a){var n=document.getElementById(e);n.selectionStart>=2&&"{"===n.value[n.selectionStart-1]&&"{"===n.value[n.selectionStart-2]&&(t({position:n.selectionStart,field:e}),a(!0))},ee=function(e,t,a,n){console.log(e);var r={};if(e.name||(r.name="Name cannot be blank"),e.type||(r.type="You must select a type"),"email"===e.type){if(e.recipient?M(e.recipient,!0)||(r.recipient="Recipient is formatted incorrectly"):r.recipient="Recipient cannot be blank",e.replyTo&&!M(e.replyTo)&&(r.replyTo="Reply To is formatted incorrectly"),e.cc&&!M(e.cc,!0)&&(r.cc="CC is formatted incorrectly"),e.bcc&&!M(e.bcc,!0)&&(r.bcc="BCC is formatted incorrectly"),e.subject)try{W.a.twig({data:e.subject})}catch(i){console.log(i),r.subject="Your twig is invalid"}else r.subject="Subject cannot be blank";if(e.body)try{W.a.twig({data:e.body}),te(e.body,a)||(r.body="You are using at least one non-standard field.")}catch(i){console.log(i),r.body="Your twig is invalid"}else r.body="Body cannot be blank"}else if("http"===e.type){if(r.headerInputs={},e.url)try{W.a.twig({data:e.url})}catch(i){console.log(i),r.url="Your twig is invalid"}else r.url="URL cannot be blank";if(e.method||(r.method="You must select a method"),e.fieldMapId||(r.fieldMapId="Field Map is required"),r.headers="",!n&&e.headers){var o={},c={};e.headers.forEach(function(e){console.log(e),e.target&&e.output||(console.log("Found empty"),e.target||(r.headerInputs[e.id]||(r.headerInputs[e.id]={}),r.headerInputs[e.id].target="Field cannot be empty",o.empty=!0),e.output||(r.headerInputs[e.id]||(r.headerInputs[e.id]={}),r.headerInputs[e.id].output="Field cannot be empty",o.empty=!0)),e.target&&(c[e.target]?(console.log("Found duplicate"),r.headerInputs[e.id]||(r.headerInputs[e.id]={}),r.headerInputs[e.id].target="This input already exists.",o.duplicate=!0):c[e.target]=!0)}),o.duplicate&&(r.headers+="Your headers list has at least one input that appears twice (should only appear once)"),o.empty&&(r.headers+="".concat(r.headers?". ":"")+"Your headers list should not contain any blank inputs or outputs"),r.headers&&(r.headers+=". The headers list will only be re-validated when you try to save")}r.headers||(delete r.headerInputs,delete r.headers)}return console.log(r),t(r),!(!n&&!S(r))||(_.addNotification("error","Please fix any fields with errors and try again.","Field Errors",2e3),!1)},te=function(e,t){var a={},n=!0,r=!1,o=void 0;try{for(var c,i=t[Symbol.iterator]();!(n=(c=i.next()).done);n=!0){a[c.value.value]=!0}}catch(g){r=!0,o=g}finally{try{n||null==i.return||i.return()}finally{if(r)throw o}}for(var l=e.split("{{"),s=[],u="",d=1;dn?1:0})),a.next=11,y("add"===t?"POST":"PUT",{id:"add"===t?void 0:t,data:r});case 11:a.sent.error?(b(r),J(!0)):(_.addNotification("success","".concat(r.name," was successfully ").concat("add"===t?"added":"edited."),"Success",2e3),e.navigateBack(!0));case 13:case"end":return a.stop()}},a)}));return function(){return a.apply(this,arguments)}}();return r.a.createElement(v.DataModal,{headerText:Y,loading:f,open:j,onClose:w,className:"fieldMap__dataModal ".concat(e.className?e.className:""),activeTab:S,setActiveTab:x,tabs:[{title:"Details",body:f?void 0:r.a.createElement(n.Fragment,null,r.a.createElement("div",{className:"row"},r.a.createElement("div",{className:"column"},r.a.createElement(v.Input,{label:"Name",value:m.name,error:h.name,autoComplete:"off",required:!m.internalEmail&&I.user&&I.user.isAdmin,disabled:m.internalEmail||I.user&&!I.user.isAdmin,onChange:function(e){return ie("name",e.target.value,m,b,E,c)}}))),r.a.createElement("div",{className:"row"},r.a.createElement("div",{className:"column"},r.a.createElement("div",{className:"input__container"},r.a.createElement(v.Label,{text:"Mapping",required:I.user&&I.user.isAdmin}),r.a.createElement("div",{className:"fieldMapModal__mappingContainer input ".concat(h.fieldMap?"error":"")},r.a.createElement(v.FieldMapList,{ref:A,options:D,useCategories:m.internalEmail,disabled:I.user&&!I.user.isAdmin,errors:h.fieldMapInputs})),h.fieldMap&&r.a.createElement("label",{className:"input__required"},h.fieldMap)))),I.user&&I.user.isAdmin&&r.a.createElement("div",{className:"row m-0"},r.a.createElement(v.Button,{className:"dataModal__button",onClick:function(){return e.categories?U():G()}},"Save")))}]})})),ie=function(e,t,a,n,r,o){n(Object(z.a)({},a,Object(H.a)({},e,t)))},le=function(e,t,a,n,r){var o={fieldMapInputs:{}};if(e.name||(o.name="Name cannot be blank"),a){if(n)o.fieldMap=r.fieldMap,o.fieldMapInputs=r.fieldMapInputs;else{if(o.fieldMap="",e.fieldMap&&e.fieldMap.length){var c={},i={};e.fieldMap.forEach(function(e){var t=Object.keys(e)[0];e[t].length||(o.fieldMapInputs[e.id]||(o.fieldMapInputs[e.id]={}),o.fieldMapInputs[e.id]="Please make sure you specify at least one field in the category",c.noFieldsInCategory=!0),t?i[t]?(o.fieldMapInputs[e.id]||(o.fieldMapInputs[e.id]={}),o.fieldMapInputs[e.id]="This category already exists",c.duplicateCategory=!0):i[t]=!0:(o.fieldMapInputs[e.id]||(o.fieldMapInputs[e.id]={}),o.fieldMapInputs[e.id]="Category cannot be empty",c.emptyCategory=!0),e[t].forEach(function(e){e.target&&e.output?i[e.target]?(o.fieldMapInputs[e.id]||(o.fieldMapInputs[e.id]={}),o.fieldMapInputs[e.id].target="This input already exists.",c.duplicate=!0):i[e.target]=!0:(e.target||(o.fieldMapInputs[e.id]||(o.fieldMapInputs[e.id]={}),o.fieldMapInputs[e.id].target="Field cannot be empty",c.empty=!0),e.output||(o.fieldMapInputs[e.id]||(o.fieldMapInputs[e.id]={}),o.fieldMapInputs[e.id].output="Field cannot be empty",c.empty=!0))})}),c.duplicateCategory&&(o.fieldMap+="Your field map has at least one category that appears twice (should only appear once)"),c.emptyCategory&&(o.fieldMap+="Your field map should not contain any blank categories"),c.noFieldsInCategory&&(o.fieldMap+="Your feild map has at least one category without fields"),c.duplicate&&(o.fieldMap+="Your field map has at least one input that appears twice (should only appear once)"),c.empty&&(o.fieldMap+="".concat(o.fieldMap?". ":"")+"Your field map should not contain any blank inputs or outputs"),o.fieldMap&&(o.fieldMap+=". The field map will only be re-validated when you try to save")}else o.fieldMap="Field map must contain at least one field mapping. The field map will only be re-validated when you try to save";o.fieldMap||(delete o.fieldMapInputs,delete o.fieldMap)}return t(o),!(!n&&!S(o))||(_.addNotification("error","Please fix any fields with errors and try again.","Field Errors",2e3),!1)}if(n)o.fieldMap=r.fieldMap,o.fieldMapInputs=r.fieldMapInputs;else{if(o.fieldMap="",e.fieldMap&&e.fieldMap.length){var l={},s={};e.fieldMap.forEach(function(e){e.target&&e.output?s[e.target]?(o.fieldMapInputs[e.id]||(o.fieldMapInputs[e.id]={}),o.fieldMapInputs[e.id].target="This input already exists.",l.duplicate=!0):s[e.target]=!0:(e.target||(o.fieldMapInputs[e.id]||(o.fieldMapInputs[e.id]={}),o.fieldMapInputs[e.id].target="Field cannot be empty",l.empty=!0),e.output||(o.fieldMapInputs[e.id]||(o.fieldMapInputs[e.id]={}),o.fieldMapInputs[e.id].output="Field cannot be empty",l.empty=!0))}),l.duplicate&&(o.fieldMap+="Your field map has at least one input that appears twice (should only appear once)"),l.empty&&(o.fieldMap+="".concat(o.fieldMap?". ":"")+"Your field map should not contain any blank inputs or outputs"),o.fieldMap&&(o.fieldMap+=". The field map will only be re-validated when you try to save")}else o.fieldMap="Field map must contain at least one field mapping. The field map will only be re-validated when you try to save";o.fieldMap||(delete o.fieldMapInputs,delete o.fieldMap)}return t(o),!(!n&&!S(o))||(_.addNotification("error","Please fix any fields with errors and try again.","Field Errors",2e3),!1)},se={id:"",emptyObj:{name:"",description:"",internalEmail:!1,fieldMap:[]}},ue={apiName:"homebase",queryParams:"order[name]=asc"},de=(a(1317),Object(b.a)(function(e){var t=L("field_maps"),a=Object(d.a)(t,7),o=a[0],c=a[1],i=(a[2],a[3],a[4],a[5]),l=a[6],p=Object(n.useState)([]),b=Object(d.a)(p,2),h=b[0],E=b[1],y=Object(n.useState)(-1),g=Object(d.a)(y,2),O=g[0],j=g[1],w=Object(n.useState)(!1),N=Object(d.a)(w,2),M=N[0],S=N[1],x=Object(n.useState)(-1),k=Object(d.a)(x,2),T=k[0],C=k[1],D=L("http_endpoints"),P=Object(d.a)(D,2),A=(P[0],P[1]),F=L("endpoints"),B=Object(d.a)(F,2),q=(B[0],B[1]),J=Object(n.useState)(void 0),Y=Object(d.a)(J,2),U=Y[0],G=Y[1],V=Object(n.useState)(!1),H=Object(d.a)(V,2),z=H[0],K=H[1],W=Object(n.useState)(""),Z=Object(d.a)(W,2),$=Z[0],X=Z[1];Object(n.useEffect)(function(){if(c&&c.length){var e=-1,t=[];c.forEach(function(a){if(!0!==a.internalEmail){var n=[];oe.forEach(function(e){a[e.field]?n.push("boolean"===typeof a[e.field]?String(a[e.field]):a[e.field]):n.push(null)}),t.push(n)}else e=a.id}),j(e),E(t)}},[c]);var ee=function(){K(!0);var e=function(){var e=[],t=!0,a=!1,n=void 0;try{for(var r,o=A[Symbol.iterator]();!(t=(r=o.next()).done);t=!0){var c=r.value;if(c.fieldMapId===T){var i=!0,l=!1,s=void 0;try{for(var u,d=q[Symbol.iterator]();!(i=(u=d.next()).done);i=!0){var p=u.value;"http"===p.type&&c.id===p.typeId&&e.push(p)}}catch(f){l=!0,s=f}finally{try{i||null==d.return||d.return()}finally{if(l)throw s}}}}}catch(f){a=!0,n=f}finally{try{t||null==o.return||o.return()}finally{if(a)throw n}}return e}();if(console.log(e),0!==e.length){var t={"Http Endpoints":[]},a=!0,n=!1,r=void 0;try{for(var o,c=e[Symbol.iterator]();!(a=(o=c.next()).done);a=!0){var i=o.value;t["Http Endpoints"].push({name:i.name,link:"".concat("/endpoints","/").concat(i.id)})}}catch(l){n=!0,r=l}finally{try{a||null==c.return||c.return()}finally{if(n)throw r}}G(t)}else G(void 0);K(!1)};Object(n.useEffect)(function(){M&&ee()},[M]);var te=function(t,a){a&&l(),e.history.push("/fieldMaps".concat(t?"":"/external"))},ae=function(t){e.history.push("/fieldMaps/external/".concat(t))},ne=function(){var e=Object(u.a)(s.a.mark(function e(){return s.a.wrap(function(e){for(;;)switch(e.prev=e.next){case 0:return e.prev=0,e.next=3,i("DELETE",{id:T});case 3:_.addNotification("success","Successfully deleted.","Success",2e3),e.next=9;break;case 6:e.prev=6,e.t0=e.catch(0),_.addNotification("error","There was an error deleting.","Error",2e3);case 9:l();case 10:case"end":return e.stop()}},e,null,[[0,6]])}));return function(){return e.apply(this,arguments)}}(),re={selectableRows:!1,resizableColumns:!1,download:I.user&&I.user.isAdmin},oe=[{name:"ID",field:"id",options:{filter:!1,sort:!0}},{name:"Name",field:"name",options:{filter:!1,sort:!0}},{name:"Operations",options:{filter:!1,sort:!1,customBodyRender:function(e,t,a){return I.user&&I.user.isAdmin?r.a.createElement(v.OperationButtons,{edit:function(){return ae(t.rowData?t.rowData[0]:-1)},delete:function(){C(t.rowData?t.rowData[0]:-1),function(e){var t=!0,a=!1,n=void 0;try{for(var r,o=c[Symbol.iterator]();!(t=(r=o.next()).done);t=!0){var i=r.value;if(e===parseInt(i.id,10)){X(i.name);break}}}catch(l){a=!0,n=l}finally{try{t||null==o.return||o.return()}finally{if(a)throw n}}}(t.rowData?t.rowData[0]:-1),S(!0)}}):r.a.createElement(v.OperationButtons,{view:function(){return ae(t.rowData?t.rowData[0]:-1)}})}}}],ie=e.location.pathname.includes("fieldMaps/external");return r.a.createElement("div",{className:"full-container"},r.a.createElement("div",{className:"row m-0 align-center"},r.a.createElement("h1",null,"".concat(ie?"External ":"","Field Maps")),ie&&I.user&&I.user.isAdmin&&r.a.createElement(v.Button,{className:"m-l-a",onClick:function(){return e.history.push("/fieldMaps/external/add")}},"Add Field Map")),r.a.createElement(f.a,null,r.a.createElement(m.a,{path:"/fieldMaps/external",render:function(){return r.a.createElement(n.Fragment,null,o&&r.a.createElement(v.Loading,null),!o&&r.a.createElement(n.Fragment,null,r.a.createElement(v.DataTable,{options:re,columns:oe,data:h})))}}),r.a.createElement(m.a,{path:"/fieldMaps",render:function(){return r.a.createElement("div",{className:"row"},r.a.createElement("div",{className:"column"},r.a.createElement(Q.a,{to:"/fieldMaps/internal/".concat(O),className:"fieldMaps__link"},r.a.createElement(v.Card,{pad:!0,className:{container:"fieldMaps__cardContainer",content:"fieldMaps__cardContent"}},r.a.createElement(R.c,{className:"fieldMaps__arrowIcon"}),r.a.createElement("h3",{className:"fieldMaps__h3"},"Internal Map"),r.a.createElement("p",{className:"fieldMaps__p"},"Field map for internal emails and correspondence")))),r.a.createElement("div",{className:"column"},r.a.createElement(Q.a,{to:"/fieldMaps/external",className:"fieldMaps__link"},r.a.createElement(v.Card,{pad:!0,className:{container:"fieldMaps__cardContainer",content:"fieldMaps__cardContent"}},r.a.createElement(R.c,{className:"fieldMaps__arrowIcon"}),r.a.createElement("h3",{className:"fieldMaps__h3"},"External Maps"),r.a.createElement("p",{className:"fieldMaps__p"},"Field maps for external HTTP requests")))))}})),r.a.createElement(m.a,{path:"/fieldMaps/internal/:id",render:function(){return r.a.createElement(ce,{categories:!0,navigateBack:function(e){return te(!0,e)}})}}),r.a.createElement(m.a,{path:"/fieldMaps/external/:id",render:function(){return r.a.createElement(ce,{categories:!1,navigateBack:function(e){return te(!1,e)}})}}),r.a.createElement(v.DeleteModal,{loading:z,pendingDeletes:U,pendingDeleteText:"You cannot delete this field map until you remove it from the following HTTP endpoints.",open:M,deleteName:$,onClose:function(){return S(!1)},delete:function(){return ne()}}))})),pe=(a(1318),Object(b.a)(function(e){var t=e.match.params.id;fe.id=t;var a=Object(n.useState)(!1),o=Object(d.a)(a,2),c=o[0],i=o[1],l=L("routes",JSON.parse(JSON.stringify(fe))),p=Object(d.a)(l,7),f=p[0],m=p[1],b=(p[2],p[3]),h=p[4],E=p[5],y=(p[6],L("route_endpoint_maps",{queryParams:"routeId=".concat(t)})),g=Object(d.a)(y,3),O=g[0],j=g[1],w=(g[2],Object(n.useState)([])),N=Object(d.a)(w,2),M=N[0],x=N[1],k=Object(n.useState)(0),T=Object(d.a)(k,2),C=T[0],D=T[1],P=Object(n.useState)(void 0),A=Object(d.a)(P,2),R=A[0],F=A[1],q=Object(n.useState)(!1),J=Object(d.a)(q,2),Y=J[0],U=J[1],G=L("endpoints"),V=Object(d.a)(G,2),H=V[0],z=V[1],Q=Object(n.useState)([]),K=Object(d.a)(Q,2),W=K[0],Z=K[1],$=Object(n.useState)(!1),X=Object(d.a)($,2),ee=X[0],te=X[1],ae=B(e.navigateBack),ne=Object(d.a)(ae,2),re=ne[0],oe=ne[1],ce=Object(n.useState)(0),ie=Object(d.a)(ce,2),le=ie[0],se=ie[1],ue=I.user&&I.user.isAdmin?"Manage Route":"View Route";Object(n.useEffect)(function(){Y||O||(U(!0),F(j))},[O]),Object(n.useEffect)(function(){if(!O&&ee){var e=0,t=[];j.forEach(function(a){t.push({id:e++,value:a.endpointId})}),I.user&&I.user.isAdmin&&t.push({id:e++,value:-1}),D(e),x(t)}},[O,ee]),Object(n.useEffect)(function(){if(!H){var e=[];z.forEach(function(t){e.push({label:t.name,value:t.id})}),e.sort(function(e,t){return e.label>t.label?1:t.label>e.label?-1:0}),Z(e),te(!0)}},[H]);var de=function(){var a=Object(u.a)(s.a.mark(function a(){var n,r,o,l;return s.a.wrap(function(a){for(;;)switch(a.prev=a.next){case 0:if(console.log("Querying api"),n=pe(M),c||i(!0),!n){a.next=14;break}return console.log("valid"),r=[],R.forEach(function(e){-1===M.findIndex(function(t){return t.value===e.endpointId})&&r.push(E("DELETE",{route:"route_endpoint_maps",id:e.id}))}),M.forEach(function(e){-1!==e.value&&-1===R.findIndex(function(t){return t.endpointId===e.value})&&r.push(E("POST",{route:"route_endpoint_maps",data:{routeId:m.id,endpointId:e.value}}))}),a.next=10,Promise.all(r);case 10:o=a.sent,l=!1,o.forEach(function(e){e&&e.error&&(l=!0)}),l||(_.addNotification("success","".concat(m.name," was successfully ").concat("add"===t?"added":"edited."),"Success",2e3),e.navigateBack(!0));case 14:case"end":return a.stop()}},a)}));return function(){return a.apply(this,arguments)}}(),pe=function(e,t){var a={},n=e.slice();n.pop();var r={},o=!1,c=!1;return n.forEach(function(e){-1===e.value?(e.error="Field cannot be empty.",c=!0):(r[e.value]?(e.error="This endpoint already exists.",o=!0):delete e.error,r[e.value]=!0)}),a.selections="".concat(o?"Your endpoint selections contain at least one endpoint that appears twice (should only appear once)":"")+"".concat(o&&c?". ":"")+"".concat(c?"Your endpoint selections should not contain any blank entries":""),a.selections||delete a.selections,h(a),n.push({id:C,value:-1}),D(C+1),x(n),!(!t&&!S(a))||(_.addNotification("error","Please fix any fields with errors and try again.","Field Errors",2e3),!1)},me=function(e){var t=M.slice();t.splice(e,1),x(t),c&&pe(t,!0)},be=function(){var e=M.slice();e.push({id:C,value:-1}),D(C+1),x(e)},ve=function(e,t){var a=M.slice();a[e].value=t,x(a),c&&pe(a,!0)};return r.a.createElement(v.DataModal,{headerText:ue,loading:f||O||!ee,open:re,onClose:oe,className:"routes__dataModal ".concat(e.className?e.className:""),activeTab:le,setActiveTab:se,tabs:[{title:"Details",body:f||O||!ee?void 0:r.a.createElement(n.Fragment,null,r.a.createElement("div",{className:"row"},r.a.createElement("div",{className:"column"},r.a.createElement(v.Input,{label:"Name",value:m.name,error:b.name,autoComplete:"off",disabled:!0}))),r.a.createElement("div",{className:"row"},r.a.createElement("div",{className:"column"},r.a.createElement(v.TextArea,{rows:4,label:"Description",value:m.description,error:b.description,autoComplete:"off",disabled:!0}))),r.a.createElement("div",{className:"row"},r.a.createElement("div",{className:"column"},r.a.createElement("div",{className:"input__container"},r.a.createElement(v.Label,{text:"Endpoints",required:I.user&&I.user.isAdmin}),r.a.createElement("div",{className:"routeModal__mappingContainer input ".concat(b.selections?"error":"")},r.a.createElement(v.SelectList,{selections:M,options:W,updateRow:ve,addRow:be,deleteRow:me,disabled:I.user&&!I.user.isAdmin})),b.selections&&r.a.createElement(v.ErrorText,{text:b.selections})))),I.user&&I.user.isAdmin&&r.a.createElement("div",{className:"row m-0"},r.a.createElement(v.Button,{className:"dataModal__button",onClick:function(){return de()}},"Save")))}]})})),fe={apiName:"homebase",id:""},me=(a(1319),a(145)),be=function(e){var t=function(){for(var t=e.rowData[0],a=e.routesData,n=e.endpointData,r=[],o=0;o