@reltio/remotes 1.4.1409 → 1.4.1410
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/1268.js +1 -1
- package/1268.js.map +1 -1
- package/1375.js +1 -1
- package/2114.js +1 -1
- package/2491.js +2 -0
- package/2491.js.map +1 -0
- package/2890.js +1 -1
- package/3273.js +1 -1
- package/3540.js +1 -1
- package/3575.js +2 -0
- package/3575.js.map +1 -0
- package/4015.js +1 -1
- package/4407.js +1 -1
- package/447.js +1 -1
- package/4571.css +635 -0
- package/4571.css.map +1 -0
- package/4571.js +2 -0
- package/4571.js.map +1 -0
- package/461.js +1 -1
- package/4843.js +1 -1
- package/4881.js +1 -1
- package/4889.js +1 -1
- package/5400.js +1 -1
- package/5706.js +2 -0
- package/5706.js.map +1 -0
- package/5709.js +1 -1
- package/5720.js +1 -1
- package/5937.js +1 -1
- package/5937.js.map +1 -1
- package/6103.js +1 -1
- package/6119.js +2 -0
- package/6119.js.map +1 -0
- package/6138.js +2 -0
- package/6138.js.map +1 -0
- package/6233.js +2 -0
- package/6233.js.map +1 -0
- package/6312.js +1 -1
- package/6617.js +1 -1
- package/6669.js +1 -1
- package/8051.js +1 -1
- package/8183.js +1 -1
- package/8225.js +2 -0
- package/8225.js.map +1 -0
- package/84.js +1 -1
- package/84.js.map +1 -1
- package/8443.js +1 -1
- package/8448.js +2 -0
- package/8448.js.map +1 -0
- package/8684.js +1 -1
- package/8684.js.map +1 -1
- package/8847.js +1 -1
- package/9043.js +1 -1
- package/9258.js +2 -0
- package/9258.js.map +1 -0
- package/9630.js +1 -1
- package/package.json +1 -1
- package/remoteEntry.js +1 -1
- package/remoteEntry.js.map +1 -1
- package/1219.js +0 -2
- package/1219.js.map +0 -1
- package/3149.js +0 -2
- package/3149.js.map +0 -1
- package/3602.js +0 -2
- package/3602.js.map +0 -1
- package/6495.js +0 -2
- package/6495.js.map +0 -1
- package/6710.js +0 -2
- package/6710.js.map +0 -1
- package/6913.js +0 -2
- package/6913.js.map +0 -1
- package/7937.js +0 -2
- package/7937.js.map +0 -1
- package/8420.js +0 -2
- package/8420.js.map +0 -1
- package/99.js +0 -2
- package/99.js.map +0 -1
package/7937.js
DELETED
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
"use strict";(self.webpackChunk_reltio_remotes=self.webpackChunk_reltio_remotes||[]).push([[7937],{10159:(e,t,r)=>{r.d(t,{Z:()=>c});var n=r(24328),l=r.n(n),i=r(94079);function o(){return o=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var r=arguments[t];for(var n in r)Object.prototype.hasOwnProperty.call(r,n)&&(e[n]=r[n])}return e},o.apply(this,arguments)}const a=e=>l().createElement("svg",o({width:256,height:256,viewBox:"0 0 256 256",fill:"none",xmlns:"http://www.w3.org/2000/svg"},e),l().createElement("circle",{cx:128,cy:128,r:128,fill:"#0072CE",fillOpacity:.1}),l().createElement("mask",{id:"AttributesList_svg__a",style:{maskType:"alpha"},maskUnits:"userSpaceOnUse",x:0,y:0,width:256,height:256},l().createElement("circle",{cx:128,cy:128,r:128,fill:"#fff"})),l().createElement("g",{mask:"url(#AttributesList_svg__a)"},l().createElement("path",{fillRule:"evenodd",clipRule:"evenodd",d:"M-16 9h256v247H-16V9z",fill:"url(#AttributesList_svg__b)"}),l().createElement("path",{opacity:.05,fillRule:"evenodd",clipRule:"evenodd",d:"M187.761 56.865l58.639 58.639v148.871H93.383L52 225.083V56.865h135.761z",fill:"url(#AttributesList_svg__c)"}),l().createElement("path",{opacity:.06,fillRule:"evenodd",clipRule:"evenodd",d:"M47 58h202a7 7 0 017 7v157a7 7 0 01-7 7H47a7 7 0 01-7-7V65a7 7 0 017-7z",fill:"#000"}),l().createElement("path",{fillRule:"evenodd",clipRule:"evenodd",d:"M50 56h201a5 5 0 015 5v157a5 5 0 01-5 5H50a5 5 0 01-5-5V61a5 5 0 015-5z",fill:"#fff"}),l().createElement("path",{opacity:.8,fillRule:"evenodd",clipRule:"evenodd",d:"M105.376 72.635a3 3 0 013-3H150a3 3 0 110 6h-41.624a3 3 0 01-3-3z",fill:"#B6C7DB"}),l().createElement("path",{opacity:.2,fillRule:"evenodd",clipRule:"evenodd",d:"M105 84.635a3 3 0 013-3h64.205a3 3 0 110 6H108a3 3 0 01-3-3z",fill:"#979797"}),l().createElement("path",{opacity:.8,fillRule:"evenodd",clipRule:"evenodd",d:"M105.376 163a3 3 0 013-3H150a3 3 0 110 6h-41.624a3 3 0 01-3-3z",fill:"#B6C7DB"}),l().createElement("path",{opacity:.2,fillRule:"evenodd",clipRule:"evenodd",d:"M105 175a3 3 0 013-3h64.205a3 3 0 110 6H108a3 3 0 01-3-3z",fill:"#979797"}),l().createElement("path",{opacity:.8,fillRule:"evenodd",clipRule:"evenodd",d:"M105.376 193a3 3 0 013-3H190a3 3 0 110 6h-81.624a3 3 0 01-3-3z",fill:"#B6C7DB"}),l().createElement("path",{opacity:.2,fillRule:"evenodd",clipRule:"evenodd",d:"M105 205a3 3 0 013-3h74.205a3 3 0 110 6H108a3 3 0 01-3-3z",fill:"#979797"}),l().createElement("path",{opacity:.8,fillRule:"evenodd",clipRule:"evenodd",d:"M138.376 103a3 3 0 013-3H223a3 3 0 110 6h-81.624a3 3 0 01-3-3z",fill:"#B6C7DB"}),l().createElement("path",{opacity:.2,fillRule:"evenodd",clipRule:"evenodd",d:"M138 115a3 3 0 013-3h64.205a3 3 0 110 6H141a3 3 0 01-3-3z",fill:"#979797"}),l().createElement("circle",{cx:67,cy:79,r:9,fill:"#B6C7DB"}),l().createElement("circle",{cx:67,cy:79,r:9,fill:"#B6C7DB"}),l().createElement("circle",{cx:120,cy:106,r:6,fill:"#B6C7DB"}),l().createElement("circle",{cx:120,cy:136,r:6,fill:"#B6C7DB"}),l().createElement("circle",{cx:67,cy:169,r:9,fill:"#B6C7DB"}),l().createElement("circle",{cx:67,cy:199,r:9,fill:"#B6C7DB"}),l().createElement("path",{opacity:.8,fillRule:"evenodd",clipRule:"evenodd",d:"M138.376 133a3 3 0 013-3H223a3 3 0 110 6h-81.624a3 3 0 01-3-3z",fill:"#B6C7DB"}),l().createElement("path",{opacity:.2,fillRule:"evenodd",clipRule:"evenodd",d:"M138 145a3 3 0 013-3h74.205a3 3 0 110 6H141a3 3 0 01-3-3z",fill:"#979797"}),l().createElement("path",{opacity:.2,fillRule:"evenodd",clipRule:"evenodd",d:"M92.514 108v-8h-2v40.365h11.178v-2h-9.178V110h9.178v-2h-9.178z",fill:"#2B98F0"}),l().createElement("path",{opacity:.54,fillRule:"evenodd",clipRule:"evenodd",d:"M95.071 77l-3.535 3.535L88 77h7.071z",fill:"#000"}),l().createElement("path",{opacity:.6,fillRule:"evenodd",clipRule:"evenodd",d:"M50 22h186a6 6 0 016 6v18a6 6 0 01-6 6H50a6 6 0 01-6-6V28a6 6 0 016-6z",fill:"#fff"}),l().createElement("path",{opacity:.2,fillRule:"evenodd",clipRule:"evenodd",d:"M58 37a6 6 0 016-6h70a6 6 0 110 12H64a6 6 0 01-6-6zm90 0a6 6 0 016-6h10a6 6 0 110 12h-10a6 6 0 01-6-6z",fill:"#979797"})),l().createElement("defs",null,l().createElement("linearGradient",{id:"AttributesList_svg__b",x1:-16,y1:9,x2:-16,y2:256,gradientUnits:"userSpaceOnUse"},l().createElement("stop",{stopColor:"#FAFAFA",stopOpacity:.01}),l().createElement("stop",{offset:1,stopColor:"#F4F4F4"})),l().createElement("linearGradient",{id:"AttributesList_svg__c",x1:266.117,y1:181.111,x2:154.882,y2:77.681,gradientUnits:"userSpaceOnUse"},l().createElement("stop",{stopOpacity:.01}),l().createElement("stop",{offset:1})))),s=(0,r(79692).Z)((e=>({root:{display:"flex",flex:"1 1 auto",flexWrap:"nowrap",flexDirection:"column",alignItems:"center",justifyContent:"center",overflow:"auto",height:"100%",minHeight:"350px",boxSizing:"border-box",padding:"40px"},logo:{width:"190px",height:"190px"},textBox:{display:"flex",flexDirection:"column",alignItems:"center",maxWidth:400,marginTop:"24px"},text:{color:e.palette.text.primary,fontSize:"20px",fontWeight:500,lineHeight:"23px",textAlign:"center"},secondaryText:{color:e.palette.text.primary,fontSize:"14px",fontWeight:"normal",lineHeight:"16px",letterSpacing:"0.24px",textAlign:"center",paddingTop:"8px"}}))),c=e=>{let{IconRenderer:t=a,text:r,secondaryText:n}=e;const o=s();return l().createElement("div",{className:o.root},l().createElement(t,{className:o.logo}),l().createElement("div",{className:o.textBox},l().createElement(i.Typography,{className:o.text},r),n&&l().createElement(i.Typography,{className:o.secondaryText},n)))}},91515:(e,t,r)=>{r.d(t,{Z:()=>ee});var n=r(24328),l=r.n(n),i=r(87918),o=r.n(i),a=r(94079),s=r(17440),c=r(51229),u=r(36444),d=r(22385),p=r(48465),m=r(85451),f=r(27815),E=r(71153),h=r.n(E),y=r(31517),v=r(67885);const g=[v.K.WITHIN,v.K.AGO,v.K.BETWEEN],b=e=>({[v.K.WITHIN]:o().text("Within the last"),[v.K.AGO]:o().text("More than"),[v.K.BETWEEN]:o().text("Date range")}[e]||"");var x=r(39621),T=r(20562),I=r(51843),N=r(79692);const w=(0,N.Z)({root:{flex:1},title:{paddingBottom:"10px",paddingLeft:"5px",fontSize:"14px"},intervalContainer:{display:"flex",justifyContent:"space-between"},typeInput:{width:160,marginRight:10}}),O=[null,null],C=[null,"hours"],S=e=>{let{value:t,onChange:r,className:i}=e;const s=w(),c=e=>e===v.K.WITHIN||e===v.K.AGO,u=e=>e===v.K.BETWEEN,d=u(null==t?void 0:t.type)?t.period:O,p=c(null==t?void 0:t.type)?t.period:C,[m,f]=(0,n.useState)(d),[E,N]=(0,n.useState)(p),S=(null==t?void 0:t.type)||v.K.WITHIN,R=e=>c(e)?E:u(e)?m:void 0,D=e=>{r({type:S,period:e})};return(0,T.D)((()=>{t?c(t.type)?N(t.period):u(t.type)&&f(t.period):(f(O),N(C))}),[t]),l().createElement("div",{className:h()(s.root,i)},l().createElement(a.Typography,{className:s.title,variant:"subtitle1"},o().text("Date")),l().createElement("div",{className:s.intervalContainer},l().createElement(y.Z,{label:"",className:s.typeInput,value:{value:S,label:b(S)},options:g.map((e=>({value:e,label:b(e)}))),onChange:e=>{let{value:n}=e;(null==t?void 0:t.type)!==n&&r({period:R(n),type:n})}}),c(S)?l().createElement(x.Z,{interval:E,onChange:D}):l().createElement(I.Z,{values:m,onChange:D})))};var R=r(92575),D=r(96808),M=r(65942);const _=[M.M.UPDATE,M.M.MERGE,M.M.UNMERGE];function k(e){for(var t=1;t<arguments.length;t++){var r=null!=arguments[t]?Object(arguments[t]):{},n=Object.keys(r);"function"==typeof Object.getOwnPropertySymbols&&(n=n.concat(Object.getOwnPropertySymbols(r).filter((function(e){return Object.getOwnPropertyDescriptor(r,e).enumerable})))),n.forEach((function(t){A(e,t,r[t])}))}return e}function A(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}const L={input:e=>k({},e,{fontSize:"14px"}),menuPortal:e=>k({},e,{zIndex:1300})},P=(0,N.Z)({root:{flex:1},title:{paddingBottom:"10px",paddingLeft:"5px",fontSize:"14px"},dropDownInput:{width:"100%",justifyContent:"center",backgroundColor:"rgba(0, 0, 0, 0.03)",borderTop:"4px"},valueContainer:{overflowY:"auto",height:44},option:{fontSize:"14px",height:"32px"}}),H=e=>{let{selectedHistoryActivityTypes:t,onChange:r,className:n}=e;const i=P(),c=e=>{return{value:e,label:(t=e,{[M.M.UPDATE]:o().text("Update"),[M.M.MERGE]:o().text("Merge"),[M.M.UNMERGE]:o().text("Unmerge")}[t]||"")};var t},u=e=>e.map(c),d=u(_);return l().createElement("div",{className:h()(i.root,n)},l().createElement(a.Typography,{className:i.title,variant:"subtitle1"},o().text("Activity")),l().createElement(R.Z,{value:u(t),onChange:(0,s.pipe)((0,s.defaultTo)([]),(0,s.pluck)("value"),r),options:d,TextFieldProps:{classes:{root:i.dropDownInput}},components:{DropdownIndicator:D.Z},styles:L,classes:i,menuPlacement:"bottom",menuPortalTarget:document.body}))};var G=r(85890);const j=(0,N.Z)({popup:{width:500,minHeight:500,overflowY:"hidden",display:"flex",flexDirection:"column"},filterContainer:{padding:20,height:410,display:"flex",flexDirection:"column"},filterContainerScrollable:{overflowY:"auto"},filterItem:{marginTop:15},filterControls:{display:"flex",padding:"10px 12px",borderTop:"solid 1px rgba(0, 0, 0, 0.12)"},clearButton:{marginRight:"auto"},input:{height:"100%",paddingLeft:"12px",paddingRight:"8px"}});function F(e){for(var t=1;t<arguments.length;t++){var r=null!=arguments[t]?Object(arguments[t]):{},n=Object.keys(r);"function"==typeof Object.getOwnPropertySymbols&&(n=n.concat(Object.getOwnPropertySymbols(r).filter((function(e){return Object.getOwnPropertyDescriptor(r,e).enumerable})))),n.forEach((function(t){U(e,t,r[t])}))}return e}function U(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}const B=e=>{let{className:t,filter:r,onApplyFilter:i,entityType:c}=e;const E=j(),h=(0,n.useRef)(),[y,v]=(0,n.useState)(!1),[g,b]=(0,n.useState)(r),{activities:x=[],attributes:T=[],dateRange:I=null,users:N=[]}=g||{},w=(0,G.FE)(r)?"inherit":"primary";(0,n.useEffect)((()=>{y&&b(r)}),[r,y]);const O=(0,s.curry)(((e,t)=>{b((r=>F({},r,{[e]:t})))})),C=(0,n.useCallback)((()=>{v((e=>!e))}),[]),R=(0,n.useCallback)((()=>{I&&(0,p.R)(I)?i(g):i((0,s.dissoc)("dateRange",g)),C()}),[g,I,i,C]),D=(0,n.useCallback)((()=>{b(F({},G.tO))}),[]);return l().createElement(l().Fragment,null,l().createElement(d.Z,{ref:h,color:w,icon:u.Z,size:"L",onClick:C,className:t}),l().createElement(a.Popover,{classes:{paper:E.popup},open:y,anchorEl:h.current,onClose:C,anchorOrigin:{vertical:"bottom",horizontal:"right"},transformOrigin:{vertical:"top",horizontal:"right"}},l().createElement("div",{className:E.filterContainer},l().createElement(a.Typography,{variant:"h6"},o().text("Filter")),l().createElement("div",{className:E.filterContainerScrollable},l().createElement(S,{value:I,onChange:O("dateRange"),className:E.filterItem}),l().createElement(m.Z,{selectedUsers:N,onChange:O("users"),className:E.filterItem}),l().createElement(H,{selectedHistoryActivityTypes:x,onChange:O("activities"),className:E.filterItem}),l().createElement(f.Z,{selectedAttributes:T,entityType:c,onChange:O("attributes"),className:E.filterItem,title:o().text("Attribute updated")}))),l().createElement("div",{className:E.filterControls},l().createElement(a.Button,{onClick:D,className:E.clearButton},o().text("Clear all")),l().createElement(a.Button,{onClick:C},o().text("Cancel")),l().createElement(a.Button,{color:"primary",onClick:R},o().text("Apply")))))};var Z=r(52730),z=r(43054),$=r(49885),K=r(55847),W=r(98281),Y=r(31276);const V=(0,N.Z)({menuItem:{minHeight:"32px"},menuText:{fontSize:"13px",lineHeight:"15px",letterSpacing:0,marginLeft:"30px"},checkIcon:{position:"absolute",color:"rgba(0, 0, 0, 0.54)"}}),q=(0,n.forwardRef)(((e,t)=>{let{item:r,onMenuClose:n=Y.ZT}=e;const i=V(),{text:o,selected:s,onClick:c}=r;return l().createElement(a.MenuItem,{classes:{root:i.menuItem},onClick:e=>{n(),c(e)},ref:t},s&&l().createElement(W.Z,{className:i.checkIcon}),l().createElement(a.Typography,{classes:{root:i.menuText}},o))}));q.displayName="MenuItemRenderer";const X=q,J=()=>{const e=(0,Z.useSelector)($.ZP.selectors.getHistoryMode),t=(0,Z.useDispatch)(),r=e=>{t($.N5.history.actions.setHistoryMode(e))},n=[{text:o().text("Compare to Current view"),selected:e===$.Z9.Current,onClick:()=>r($.Z9.Current)},{text:o().text("Compare to Previous view"),selected:e===$.Z9.Previous,onClick:()=>r($.Z9.Previous)}];return l().createElement(K.Z,{MenuItemRenderer:X,buttonComponent:d.Z,buttonProps:{icon:z.Z,size:"L"},menuId:"history-menu",menuItems:n})},Q=(0,N.Z)({root:{display:"flex",flex:1,alignItems:"center"},icon:{margin:4},divider:{backgroundColor:"rgba(0,0,0,0.12)",margin:"3px 19px"},count:{fontSize:14},filterButton:{marginRight:"-4px"}}),ee=e=>{let{total:t,entityType:r,filter:n,onApplyFilter:i}=e;const u=Q();return l().createElement("div",{className:u.root},l().createElement(a.Typography,{variant:"h6"},o().text("History")),!(0,s.isNil)(t)&&l().createElement(l().Fragment,null,l().createElement(a.Divider,{orientation:"vertical",flexItem:!0,className:u.divider}),l().createElement(a.Typography,{variant:"body1",color:"textSecondary",className:u.count},1===t?o().text("${count} contributing profile",{count:t}):o().text("${count} contributing profiles",{count:t}))),l().createElement(c.Z,null),l().createElement(B,{className:u.filterButton,entityType:r,filter:n,onApplyFilter:i}),l().createElement(J,null))}},6674:(e,t,r)=>{r.d(t,{Z:()=>s});var n=r(24328),l=r.n(n),i=r(87918),o=r.n(i),a=r(10159);const s=()=>l().createElement(a.Z,{text:o().text("History in the making"),secondaryText:o().text("When you create an event or perform an activity, it will show up here.")})},54362:(e,t,r)=>{r.d(t,{Z:()=>G});var n=r(24328),l=r.n(n),i=r(52730),o=r(44443),a=r(87918),s=r.n(a),c=r(17440),u=r(71153),d=r.n(u),p=r(55046),m=r(49885),f=r(94079),E=r(34606),h=r(79692);const y=(0,h.Z)((()=>({historyRow:{position:"relative",padding:"8px 12px 16px",cursor:"pointer"},selected:{background:"rgba(0,0,0,0.05)","&:before":{content:'""',background:"rgba(0,0,0,0.05)",width:"100%",height:"100%",position:"absolute",left:"-100%",top:0}},rowHeader:{display:"flex",position:"relative"},badge:e=>{let{color:t}=e;return{position:"absolute",width:"2px",height:"100%",left:"-9px",pointerEvents:"none",background:t,"&:before":{height:"100%",width:"3px",content:'""',left:"-3px",background:t,position:"absolute",opacity:.06}}},title:{color:"rgba(0,0,0,0.87)",fontSize:"13px",letterSpacing:0,lineHeight:"16px",fontWeight:400,overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap","&.bold":{fontWeight:500}},date:{marginLeft:"auto",color:"rgba(0,0,0,0.54)",fontSize:"11px",letterSpacing:0,lineHeight:"16px"},user:{color:"rgba(0,0,0,0.38)",fontSize:"12px",letterSpacing:0,lineHeight:"14px"}}))),v=e=>{let{change:t,isCurrent:r,isSelected:n,onClick:i}=e;const{uri:o,type:a,matchGroups:c,user:u,timestamp:m}=t,h=(0,p.GtP)(o),v=y({color:h});return l().createElement("div",{className:d()(v.historyRow,{[v.selected]:n}),onClick:i},l().createElement("div",{className:v.rowHeader},l().createElement("div",{className:v.badge}),l().createElement(f.Typography,{className:d()(v.title,{bold:r})},r?s().text("Current view"):(0,E.Xr)(a)),!r&&l().createElement(f.Typography,{className:v.date},s().date(m,"L LT"))),c&&l().createElement(f.Typography,{className:v.title},s().text("Match rule:")," ",c.join(", ")),l().createElement(f.Typography,{className:v.user},u))};var g=r(55912);const b=e=>e===g.b.FAKE_FILTERED_INCOMING||e===g.b.FAKE_FILTERED_OUTGOING,x=e=>{let{x:t,y:r,toX:n,toY:i,color:o,isDashed:a}=e;const s=((e,t,r,n)=>{const l=t>n,i=e<r,o=l?-6:6;return`M${e} ${t} L${i?r-12:r+12} ${t} ${i?`c 6 0 12 ${o} 12`:`c -6 0 -12 ${o} -12`} ${l?-12:12} L${r} ${n}`})(t,r,n,i);return l().createElement("path",{d:s,stroke:o,strokeWidth:2,fill:"none",strokeDasharray:a?"3,3":void 0})};function T(){return T=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var r=arguments[t];for(var n in r)Object.prototype.hasOwnProperty.call(r,n)&&(e[n]=r[n])}return e},T.apply(this,arguments)}const I=(0,n.forwardRef)(((e,t)=>{let{x:r,y:n,color:i,isDashed:o,isCollapsed:a,showCollapseIcon:s,showLine:c}=e,u=function(e,t){if(null==e)return{};var r,n,l=function(e,t){if(null==e)return{};var r,n,l={},i=Object.keys(e);for(n=0;n<i.length;n++)r=i[n],t.indexOf(r)>=0||(l[r]=e[r]);return l}(e,t);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);for(n=0;n<i.length;n++)r=i[n],t.indexOf(r)>=0||Object.prototype.propertyIsEnumerable.call(e,r)&&(l[r]=e[r])}return l}(e,["x","y","color","isDashed","isCollapsed","showCollapseIcon","showLine"]);const d=s?6:3;return l().createElement("g",T({},u,{ref:t}),c&&l().createElement("rect",{id:"line",x:r-d-4,y:n-d-4,width:2*d+8,height:2,fill:i}),l().createElement("circle",{cx:r,cy:n,r:d,fill:o?"#fff":i,stroke:i,strokeDasharray:o?"1,1":void 0,strokeWidth:2}),s&&l().createElement("g",{id:"icon"},l().createElement("rect",{x:r-4,y:n-1,width:8,height:2,fill:"#fff"}),a&&l().createElement("rect",{x:r-1,y:n-4,width:2,height:8,fill:"#fff"})))}));const N=(0,r(83348).Z)(I),w=(0,n.memo)((e=>{let{graphData:t,onHistoryCircleMouseOver:r}=e;const{historyLanes:n,rows:i}=t,o=[16],{links:a,rowLines:s,circles:c}=i.reduce(((e,t,a)=>{let{uri:s,height:c,uris:u,type:d,fakeType:m,index:f,timestamp:E,label:h}=t;const y=16*n[s].index+24,v=o[a];o.push(v+c);const T=b(m),I=T?u[0]:s,w=!(null!=u&&u.some((e=>n[e])));e.circles.push(l().createElement(N,{tooltipTitle:h,tooltipPlacement:"top",onMouseOver:r?()=>r(s,E,f):void 0,key:`circle-${I}-${a}`,x:y,y:v,color:(0,p.GtP)(I),isDashed:T,isCollapsed:w,showCollapseIcon:!!u,showLine:m===g.b.FAKE_NAVIGATE_PROFILE})),e.rowLines.push(l().createElement("rect",{key:`${I}-${f}`,x:y,y:v-8,width:"100%",height:16,fill:(0,p.GtP)(I),opacity:.06}));const O=d===g.b.ENTITIES_SPLITTED;return null==u||u.forEach((t=>{const r=n[t];if(!r)return;const o=i[a].height,s=16*r.index+24,c=O?v-o:v+o;y!==s&&e.links.push(l().createElement(x,{key:`link-${t}-${f}`,x:y,y:v,toX:s,toY:c,isDashed:b(m),color:(0,p.GtP)(t)}))})),e}),{links:[],circles:[],rowLines:[]}),u=16*Object.keys(n).length+24,d=o[o.length-1]-16;return Object.entries(n).forEach((e=>{let[t,r]=e;const n=16*r.index+24;r.lifeTime.forEach(((e,s)=>{var u;let{start:d,end:m}=e;if((null===(u=i[null==m?void 0:m.index])||void 0===u?void 0:u.type)===g.b.ENTITIES_SPLITTED)return;const f=(null==d?void 0:d.type)===g.b.ENTITIES_SPLITTED?(null==d?void 0:d.index)-1:null==d?void 0:d.index,E=(null==m?void 0:m.type)===g.b.ENTITIES_MERGED_MANUALLY||(null==m?void 0:m.type)===g.b.ENTITIES_MERGED?(null==m?void 0:m.index)+1:null==m?void 0:m.index,h=o[f]||o[o.length-2],y=o[E]||16;if(h<=y)return;const v=(0,p.GtP)(t);!m&&r.index>0&&c.push(l().createElement(I,{key:`initCircle-${t}-${s}`,x:n,y,color:v,showLine:!0})),a.unshift(l().createElement("path",{key:`line-${t}-${s}`,d:`M${n} ${h} L${n} ${y}`,stroke:v,strokeWidth:2}))}))})),l().createElement("svg",{className:"chart",width:u,height:d},l().createElement("g",{id:"rowLines"},s),l().createElement("g",{id:"links"},a),l().createElement("g",{id:"circles"},c))}));var O=r(99136);const C=(0,h.Z)({historyTree:{display:"grid",gridTemplateColumns:"auto 1fr",overflowY:"auto"},graph:{overflowX:"auto",overflowY:"hidden"},history:{minWidth:344},buttonContainer:{gridColumnStart:1,gridColumnEnd:3,padding:"8px 16px"},shadow:{boxShadow:"inset -8px 0px 5px -5px rgba(0,0,0,0.1)"}});function S(e){for(var t=1;t<arguments.length;t++){var r=null!=arguments[t]?Object(arguments[t]):{},n=Object.keys(r);"function"==typeof Object.getOwnPropertySymbols&&(n=n.concat(Object.getOwnPropertySymbols(r).filter((function(e){return Object.getOwnPropertyDescriptor(r,e).enumerable})))),n.forEach((function(t){R(e,t,r[t])}))}return e}function R(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}const D=e=>{let{historyData:t,isLoading:r,canLoadMore:a,onLoadMore:u,entityUri:E,historyEvent:h,findPreviousChange:y}=e;const g=C(),b=(0,i.useDispatch)(),x=(0,i.useSelector)(m.ZP.selectors.getIsEditableMode),T=(0,i.useSelector)(m.ZP.selectors.getMetadata),[I,N]=(0,n.useState)({historyLanes:{},rows:[]}),[R,D]=(0,n.useState)(!1),[M,_]=(0,n.useState)(-1);(0,n.useEffect)((()=>{if((0,c.isNil)(h))return void _(0);const e=e=>(null==e?void 0:e.uri)===((null==h?void 0:h.overrideUri)||E)&&(null==e?void 0:e.timestamp)===(null==h?void 0:h.aStamp),r=-1!==M?t.rows[M]:null,n=t.rows.findIndex((t=>e(t)));_(e(r)?M:n)}),[t.rows,h]);const k=(0,n.useRef)(null),A=(0,n.useCallback)((e=>{if(!(0,c.isNil)(e)){var r;const n=null===(r=t.rows)||void 0===r?void 0:r.map(((t,r)=>{var n;return S({},t,{height:null===(n=e.childNodes[r])||void 0===n?void 0:n.clientHeight})}));N({historyLanes:t.historyLanes,rows:n})}}),[t]),L=()=>{const{scrollWidth:e,clientWidth:t,scrollLeft:r}=(null==k?void 0:k.current)||{};D(r<e-t)};return l().createElement("div",{className:g.historyTree},r&&l().createElement(O.Z,null),l().createElement("div",{className:d()(g.graph,{[g.shadow]:R}),onScroll:L,ref:k},l().createElement(w,{onHistoryCircleMouseOver:(e,t,r)=>{if((0,c.isNil)(I.rows[r].label)){const n={time:t,select:"crosswalks"};(0,p.HvW)(e,n).then((e=>{let{crosswalks:t}=e;const n=t?(0,c.uniqBy)((0,c.prop)("type"),t).map((e=>{const t=(0,p.s5)(T,e.type);return t?t.label:null})).filter(c.identity).join(", "):s().text("No data");N((e=>S({},e,{rows:e.rows.map((e=>e.index===r?S({},e,{label:n}):e))})))}))}},graphData:I}),l().createElement(o.Z,{handleWidth:!0,onResize:L})),l().createElement("div",{ref:A,className:g.history},t.rows.map(((e,t)=>{const r=t===M,n=0===t;return l().createElement(v,{key:`row-${t}`,change:e,isCurrent:n,isSelected:r,onClick:()=>((e,t,r,n)=>{if(x){if(!window.confirm(s().text("Are you sure you want to go in history mode? All your changes will be lost.")))return;b(m.N5.mode.actions.modeUpdated(p.ARY.Viewing))}if(n&&!r||!n&&r)b(m.N5.history.actions.clearHistoryEvent()),_(0);else if(!n&&!r){const r=y(e-1,t.uri||E),n=y(e,t.uri||E),l=null==r?void 0:r.timestamp,i=null==n?void 0:n.timestamp,o=(null==t?void 0:t.uri)===E?null:null==t?void 0:t.uri;b(m.N5.history.actions.setHistoryEvent({aStamp:l,bStamp:i,overrideUri:o})),_(e)}})(t,e,r,n)})}))),a&&l().createElement("div",{className:g.buttonContainer},l().createElement(f.Button,{color:"primary",onClick:()=>u()},s().text("Show more"))))},M=(0,h.Z)({root:{display:"flex",flexWrap:"wrap",padding:"10px 15px"}}),_=(0,h.Z)({icon:e=>{let{color:t}=e;return{boxSizing:"border-box",borderWidth:2,borderStyle:"solid",borderColor:t,height:12,width:12,borderRadius:30,transition:"opacity 0.3s",margin:4}},active:e=>{let{color:t}=e;return{backgroundColor:t}},inactive:{backgroundColor:"white"},clickable:{cursor:"pointer"}}),k=e=>{let{value:t,isSelected:r=!0,onClick:n}=e;const i=(0,p.GtP)(t),o=_({color:i});return l().createElement("div",{className:d()(o.icon,{[o.inactive]:!r,[o.active]:r,[o.clickable]:!!n}),onClick:n})},A=e=>{let{values:t,selectedValues:r,entityUri:n,onSelectValues:i,className:o}=e;const a=M();return l().createElement("div",{className:d()(a.root,o)},l().createElement(k,{value:n}),(null==t?void 0:t.length)>0&&t.map((e=>l().createElement(k,{key:e,value:e,isSelected:null==r?void 0:r.includes(e),onClick:()=>(e=>{null!=r&&r.includes(e)?i((0,c.without)([e],r)):i([...r||[],e])})(e)}))))};function L(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}const P=(e,t)=>e.reduce(((e,r,n)=>{let{start:l,end:i}=r;if(l){const r=t-l.timestamp;((0,c.isNil)(e.startDistance)||Math.abs(e.startDistance)>Math.abs(r)&&r>0)&&(e.startIndex=n,e.startDistance=r)}if(i){const r=t-i.timestamp;((0,c.isNil)(e.endDistance)||Math.abs(e.endDistance)>Math.abs(r)&&r<0)&&(e.endIndex=n,e.endDistance=r)}return e}),{startIndex:null,endIndex:null,startDistance:null,endDistance:null}),H=(0,h.Z)({root:{display:"flex",flexDirection:"column",overflow:"hidden",position:"relative",height:"100%"},borderBottom:{borderBottom:"1px solid rgba(0, 0, 0, 0.12)"}}),G=(0,n.memo)((e=>{let{isLoading:t,historyWithTotal:r,contributorsUris:i,entityUri:o,canLoadMore:a,onLoadMore:s,historyEvent:u}=e;const d=H(),[p,m]=(0,n.useState)(null);(0,n.useEffect)((()=>{m(i)}),[i]);const{historyData:f,findPreviousChange:E}=(e=>{let{entityUri:t,historyChanges:r,selectedUris:l}=e;return(0,n.useMemo)((()=>{const e={[t]:{index:0,lifeTime:[]}},n=[{user:"",timestamp:0,uri:t}],i=(0,c.curry)(((e,r,n)=>{const l=n.uri||t;if(e)if(Array.isArray(e)){if(n.type!==g.b.ENTITY_LOST_MERGE)return null;if(e.includes(l))return n;if(r&&n.uris)return e.some((e=>n.uris.includes(e)))?n:null}else{var i;if(l===e||r&&null!==(i=n.uris)&&void 0!==i&&i.includes(e))return n}return null})),o=(e,t,n)=>(0,c.pipe)((0,c.drop)(e+1),(0,c.find)(i(t,n)))(r),a=t=>(e[t]||l&&!l.includes(t)||(e[t]={index:Object.keys(e).length,lifeTime:[]}),e[t]),s=(e,t)=>{const r=e[e.length-1];!r||r.start&&(r.start.type!==g.b.ENTITY_CREATED||t.type!==g.b.ENTITIES_SPLITTED)?e.push({start:t,end:null}):r.start=t},u=(e,t)=>{let r=!0;if(e.length){const n=e[e.length-1];r=!((!n.start||n.start.timestamp<t.timestamp)&&(!n.end||n.end.timestamp>t.timestamp))}r&&e.push({start:null,end:null})},d=(e,t)=>{if(e.length){const r=e[e.length-1];r.start||(r.start=t)}e.push({start:null,end:t})},p=[];return null==r||r.forEach(((r,l)=>{var i;switch(r.type){case g.b.ENTITIES_SPLITTED:if(!o(l,r.uri||t,!1))return;{const e=r.uri,t=r.uris?[r.uris,e]:[e],n=o(l,t,!0);if(n&&(!e||e===n.uri))return}break;case g.b.ENTITY_LOST_MERGE:case g.b.RELATIONSHIP_CREATED:case g.b.RELATIONSHIP_REMOVED:case g.b.RELATIONSHIP_CHANGED:return}let c=!1;null===(i=r.uris)||void 0===i||i.forEach((e=>{a(e)||(c=!0)}));const m=a(r.uri||t);if(!m)return;const f=function(e){for(var t=1;t<arguments.length;t++){var r=null!=arguments[t]?Object(arguments[t]):{},n=Object.keys(r);"function"==typeof Object.getOwnPropertySymbols&&(n=n.concat(Object.getOwnPropertySymbols(r).filter((function(e){return Object.getOwnPropertyDescriptor(r,e).enumerable})))),n.forEach((function(t){L(e,t,r[t])}))}return e}({},r);((t,r)=>{var l,i;switch(r.type){case g.b.ENTITY_CREATED:s(t,r);break;case g.b.ENTITIES_MERGED_ON_THE_FLY:case g.b.ENTITY_CHANGED:u(t,r);break;case g.b.ENTITY_LOST_MERGE:case g.b.ENTITY_REMOVED:d(t,r);break;case g.b.ENTITIES_SPLITTED:u(t,r),null===(l=r.uris)||void 0===l||l.forEach((t=>{const l=e[t];if(!l)return;const i=l.lifeTime.length;i?s(l.lifeTime,r):d(l.lifeTime,r),n.push({uri:t,user:r.user,type:r.type,fakeType:i?g.b.FAKE_UPDATE:g.b.FAKE_NAVIGATE_PROFILE,timestamp:r.timestamp})}));break;case g.b.ENTITIES_MERGED:case g.b.ENTITIES_MERGED_MANUALLY:u(t,r),null===(i=r.uris)||void 0===i||i.forEach((t=>{const n=e[t];n&&d(n.lifeTime,r)}))}})(m.lifeTime,f),c&&p.push(f),n.push(f)})),p.forEach((t=>{t.uris.forEach((l=>{e[l]||r.forEach((r=>{let{uri:i,uris:o,timestamp:a,user:s,type:u}=r;i===l&&(null==o||o.forEach((r=>{const l=e[r];if(!l)return;let i=null;switch(u){case g.b.ENTITIES_MERGED:case g.b.ENTITIES_MERGED_MANUALLY:i=g.b.FAKE_FILTERED_INCOMING;break;case g.b.ENTITIES_SPLITTED:i=g.b.FAKE_FILTERED_OUTGOING;break;default:return}const o={fakeType:i,uri:t.uri,uris:[r],type:u,user:s,timestamp:a},d=P(l.lifeTime,t.timestamp);i===g.b.FAKE_FILTERED_INCOMING?(0,c.isNil)(d.endIndex)||(l.lifeTime[d.endIndex].end=o):(0,c.isNil)(d.startIndex)||(l.lifeTime[d.startIndex].start=o),n.splice(n.indexOf(t),0,o)})))}))}))})),n.forEach(((e,r)=>{e.index=r,e.uri=e.uri||t})),{historyData:{historyLanes:e,rows:n},findPreviousChange:(e,t)=>(0,c.pipe)((0,c.slice)(e+1,1/0),(0,c.find)(i(t,!1)))(n)}}),[t,r,l])})({entityUri:o,historyChanges:null==r?void 0:r.changes,selectedUris:p});return l().createElement("div",{className:d.root},l().createElement(A,{values:i,selectedValues:p,onSelectValues:m,entityUri:o,className:d.borderBottom}),l().createElement(D,{historyData:f,isLoading:t,onLoadMore:s,canLoadMore:a,entityUri:o,historyEvent:u,findPreviousChange:E}))}))},85890:(e,t,r)=>{r.d(t,{tO:()=>d,FE:()=>p,k6:()=>m});var n=r(24328),l=r(55046),i=r(17440),o=r(65942),a=r(48465),s=r(85229);function c(e){for(var t=1;t<arguments.length;t++){var r=null!=arguments[t]?Object(arguments[t]):{},n=Object.keys(r);"function"==typeof Object.getOwnPropertySymbols&&(n=n.concat(Object.getOwnPropertySymbols(r).filter((function(e){return Object.getOwnPropertyDescriptor(r,e).enumerable})))),n.forEach((function(t){u(e,t,r[t])}))}return e}function u(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}const d={activities:[o.M.MERGE,o.M.UNMERGE,o.M.UPDATE]},p=e=>(0,i.pipe)((0,i.evolve)({activities:(0,i.difference)(d.activities)}),(0,i.reject)((0,i.either)(i.isNil,i.isEmpty)),i.isEmpty)(e||{}),m=e=>{let{entity:t,enabled:r}=e;const[i,o]=(0,n.useState)(d),[u,p]=(0,n.useState)(0),m=(0,n.useMemo)((()=>(0,a.Z)(i)),[i]),[f,E]=(0,n.useState)(null),[h,y]=(0,n.useState)(null),[v,g]=(0,n.useState)(!1),b=(0,s._)(),x=null==t?void 0:t.uri,T={max:32,order:"desc"},I=(0,l.O27)(null==i?void 0:i.attributes)||void 0;(0,n.useEffect)((()=>{x&&r&&(g(!0),b((0,l.kgP)(c({entityUri:x,historicUris:f,filter:m,showAll:I},T))).then(y).catch((e=>{console.warn("Failed to load history data",e),y(null)})).finally((()=>{g(!1)})))}),[m,I,f]),(0,n.useEffect)((()=>{x&&r&&(g(!0),b((0,l.wdF)({entityUri:x})).then((e=>{E(e)})).catch((e=>{console.warn("Failed to load history data",e),E(null)})).finally((()=>{g(!1)})),p(0))}),[x,null==t?void 0:t.updatedTime,r]);const N=(0,n.useCallback)((e=>{x&&f&&r&&(g(!0),b((0,l.kgP)(c({entityUri:x,historicUris:f,filter:m,showAll:I,offset:e},T))).then((e=>{y((t=>c({},t,{changes:[...null==t?void 0:t.changes,...e.changes]})))})).catch((e=>{console.warn("Failed to load history data",e)})).finally((()=>{g(!1)})))}),[f,m,r]),w=(0,n.useMemo)((()=>32*(u+1)<(null==h?void 0:h.total)),[h,u]),O=(0,n.useCallback)((e=>{p(0),o(e)}),[]),C=(0,n.useCallback)((()=>{O(c({},d))}),[]),S=(0,n.useCallback)((()=>{w&&(N(32*(u+1)),p(u+1))}),[N,u,w]);return{isLoading:v,canLoadMore:w,onLoadMore:S,onApplyFilter:O,onClearFilter:C,historicUris:f,historyWithTotal:h,historyFilter:i}}},71820:(e,t,r)=>{r.d(t,{C:()=>i});var n=r(24328),l=r(55046);const i=e=>{let{isHistoryTabActive:t,entity:r}=e;const[i,o]=(0,n.useState)(!1),a=null==r?void 0:r.uri;(0,n.useEffect)((()=>{t||o(!1)}),[a]),(0,n.useEffect)((()=>{t&&o(!0)}),[t]);const s=a&&!(0,l.ZiX)(a)&&!(0,l.biM)(r);return{isHistoryEnabled:i&&s,isProfilePersisted:s}}},57730:(e,t,r)=>{r.d(t,{a:()=>s});var n=r(24328),l=r(52730),i=r(49885),o=r(55046),a=r(85229);const s=e=>{let{entity:t,historyEvent:r}=e;const[s,c]=(0,n.useState)(!1),u=(0,l.useSelector)(i.ZP.selectors.getHistorySlice),d=(0,l.useDispatch)(),p=(0,a._)(),{aStamp:m,bStamp:f,overrideUri:E}=r||{},h=E||(null==t?void 0:t.uri);return(0,n.useEffect)((()=>{r&&h&&(c(!0),p(Promise.all([(0,o.lrH)(h,m),f&&1!==f?(0,o.lrH)(h,f):Promise.resolve(null)])).then((e=>{let[t,r]=e;d(i.N5.history.actions.setHistorySlice({aEntity:t,bEntity:r}))})).catch((e=>{console.warn("Failed to load entity slice",e)})).finally((()=>{c(!1)})))}),[m,f,h]),{isLoading:s,historySlice:u}}},55912:(e,t,r)=>{r.d(t,{b:()=>o});var n,l=r(31537);function i(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}!function(e){e.FAKE_NAVIGATE_PROFILE="FAKE_NAVIGATE_PROFILE",e.FAKE_FILTERED_INCOMING="FAKE_FILTERED_INCOMING",e.FAKE_FILTERED_OUTGOING="FAKE_FILTERED_OUTGOING",e.FAKE_UPDATE="FAKE_UPDATE"}(n||(n={}));const o=function(e){for(var t=1;t<arguments.length;t++){var r=null!=arguments[t]?Object(arguments[t]):{},n=Object.keys(r);"function"==typeof Object.getOwnPropertySymbols&&(n=n.concat(Object.getOwnPropertySymbols(r).filter((function(e){return Object.getOwnPropertyDescriptor(r,e).enumerable})))),n.forEach((function(t){i(e,t,r[t])}))}return e}({},l.I,n)},65942:(e,t,r)=>{let n;r.d(t,{M:()=>n}),function(e){e.UPDATE="UPDATE",e.MERGE="MERGE",e.UNMERGE="UNMERGE"}(n||(n={}))},48465:(e,t,r)=>{r.d(t,{Z:()=>f,R:()=>E});var n=r(95038),l=r.n(n),i=r(17440),o=r(55046),a=r(65942),s=r(31537),c=r(67885);const u=e=>(0,i.pipe)((0,i.map)(e),(0,i.join)(" or ")),d=e=>{const[t,r]=e;return l()().subtract(t,r).valueOf()},p=(0,i.chain)((0,i.cond)([[(0,i.equals)(a.M.MERGE),()=>[s.I.ENTITIES_MERGED,s.I.ENTITIES_MERGED_MANUALLY,s.I.ENTITIES_MERGED_ON_THE_FLY]],[(0,i.equals)(a.M.UNMERGE),()=>[s.I.ENTITIES_SPLITTED]],[(0,i.equals)(a.M.UPDATE),()=>[s.I.ENTITY_CHANGED]]])),m=(0,i.pipe)((0,i.defaultTo)([]),p,(0,i.concat)([s.I.ENTITY_CREATED,s.I.ENTITY_REMOVED,s.I.ENTITY_LOST_MERGE]),u((e=>`equals(type, '${e}')`))),f=(0,i.pipe)((0,i.defaultTo)({}),(0,i.reject)(o.O27),(0,i.evolve)({users:u((e=>`equals(user, '${(0,o.HRH)(e)}')`)),attributes:u((e=>`changes(${(0,o.HRH)(e.value)})`)),dateRange:e=>{let{type:t,period:r}=e;switch(t){case c.K.WITHIN:return`gte(timestamp, ${d(r)})`;case c.K.AGO:return`lte(timestamp, ${d(r)})`;case c.K.BETWEEN:{const[e,t]=r;return`gte(timestamp, ${e.valueOf()}) and lte(timestamp, ${l()(t).endOf("date").valueOf()})`}default:return""}}}),(0,i.over)((0,i.lensProp)("activities"),m),i.values,(0,i.reject)(o.O27),(0,i.append)("not equals(user, 'collaboration-service')"),(0,i.map)((e=>`(${e})`)),(0,i.join)(" and ")),E=e=>{if(e.type===c.K.AGO||e.type===c.K.WITHIN){const[t,r]=e.period;return"Number"===(0,i.type)(t)&&"String"===(0,i.type)(r)&&t>0}if(e.type===c.K.BETWEEN){const[t,r]=e.period;return t instanceof Date&&r instanceof Date}}}}]);
|
|
2
|
-
//# sourceMappingURL=7937.js.map
|
package/7937.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"7937.js","mappings":"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","sources":["webpack://@reltio/remotes/../components/src/icons/AttributesList.tsx","webpack://@reltio/remotes/../components/src/components/SidePanelEmptyState/styles.ts","webpack://@reltio/remotes/../components/src/components/SidePanelEmptyState/SidePanelEmptyState.tsx","webpack://@reltio/remotes/../components/src/components/history/DateRangeSelector/utils.ts","webpack://@reltio/remotes/../components/src/components/history/DateRangeSelector/styles.ts","webpack://@reltio/remotes/../components/src/components/history/DateRangeSelector/DateRangeSelector.tsx","webpack://@reltio/remotes/../components/src/components/history/HistoryActivitySelector/utils.ts","webpack://@reltio/remotes/../components/src/components/history/HistoryActivitySelector/styles.ts","webpack://@reltio/remotes/../components/src/components/history/HistoryActivitySelector/HistoryActivitySelector.tsx","webpack://@reltio/remotes/../components/src/components/history/HistoryFilterButton/styles.ts","webpack://@reltio/remotes/../components/src/components/history/HistoryFilterButton/HistoryFilterButton.tsx","webpack://@reltio/remotes/../components/src/components/history/HistoryMenuButton/styles.ts","webpack://@reltio/remotes/../components/src/components/history/HistoryMenuButton/MenuItemRenderer.tsx","webpack://@reltio/remotes/../components/src/components/history/HistoryMenuButton/HistoryMenuButton.tsx","webpack://@reltio/remotes/../components/src/components/history/HistoryHeader/styles.ts","webpack://@reltio/remotes/../components/src/components/history/HistoryHeader/HistoryHeader.tsx","webpack://@reltio/remotes/../components/src/components/history/HistoryPanelEmptyState/HistoryPanelEmptyState.tsx","webpack://@reltio/remotes/../components/src/components/history/HistoryRow/styles.ts","webpack://@reltio/remotes/../components/src/components/history/HistoryRow/HistoryRow.tsx","webpack://@reltio/remotes/../components/src/components/history/HistoryGraph/helpers.ts","webpack://@reltio/remotes/../components/src/components/history/HistoryGraph/HistoryLink.tsx","webpack://@reltio/remotes/../components/src/components/history/HistoryGraph/HistoryCircle.tsx","webpack://@reltio/remotes/../components/src/components/history/HistoryGraph/HistoryGraph.tsx","webpack://@reltio/remotes/../components/src/components/history/HistoryTree/styles.ts","webpack://@reltio/remotes/../components/src/components/history/HistoryTree/HistoryTree.tsx","webpack://@reltio/remotes/../components/src/components/history/ContributorsPanel/styles.ts","webpack://@reltio/remotes/../components/src/components/history/ContributorsPanel/ContributorItem.tsx","webpack://@reltio/remotes/../components/src/components/history/ContributorsPanel/ContributorsPanel.tsx","webpack://@reltio/remotes/../components/src/components/history/hooks/useHistoryTree.ts","webpack://@reltio/remotes/../components/src/components/history/HistoryView/styles.ts","webpack://@reltio/remotes/../components/src/components/history/HistoryView/HistoryView.tsx","webpack://@reltio/remotes/../components/src/components/history/hooks/useHistory.ts","webpack://@reltio/remotes/../components/src/components/history/hooks/useHistoryEnabled.ts","webpack://@reltio/remotes/../components/src/components/history/hooks/useHistorySlice.ts","webpack://@reltio/remotes/../components/src/components/history/types/HistoryChangeTypes.ts","webpack://@reltio/remotes/../components/src/components/history/types/HistoryFilter.ts","webpack://@reltio/remotes/../components/src/components/history/utils/filters.ts"],"sourcesContent":["import React from 'react';\n\nconst SvgAttributesList: React.FC<React.SVGProps<SVGSVGElement>> = (props) => {\n return (\n <svg width={256} height={256} viewBox=\"0 0 256 256\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\" {...props}>\n <circle cx={128} cy={128} r={128} fill=\"#0072CE\" fillOpacity={0.1} />\n <mask\n id=\"AttributesList_svg__a\"\n style={{\n maskType: 'alpha'\n }}\n maskUnits=\"userSpaceOnUse\"\n x={0}\n y={0}\n width={256}\n height={256}\n >\n <circle cx={128} cy={128} r={128} fill=\"#fff\" />\n </mask>\n <g mask=\"url(#AttributesList_svg__a)\">\n <path\n fillRule=\"evenodd\"\n clipRule=\"evenodd\"\n d=\"M-16 9h256v247H-16V9z\"\n fill=\"url(#AttributesList_svg__b)\"\n />\n <path\n opacity={0.05}\n fillRule=\"evenodd\"\n clipRule=\"evenodd\"\n d=\"M187.761 56.865l58.639 58.639v148.871H93.383L52 225.083V56.865h135.761z\"\n fill=\"url(#AttributesList_svg__c)\"\n />\n <path\n opacity={0.06}\n fillRule=\"evenodd\"\n clipRule=\"evenodd\"\n d=\"M47 58h202a7 7 0 017 7v157a7 7 0 01-7 7H47a7 7 0 01-7-7V65a7 7 0 017-7z\"\n fill=\"#000\"\n />\n <path\n fillRule=\"evenodd\"\n clipRule=\"evenodd\"\n d=\"M50 56h201a5 5 0 015 5v157a5 5 0 01-5 5H50a5 5 0 01-5-5V61a5 5 0 015-5z\"\n fill=\"#fff\"\n />\n <path\n opacity={0.8}\n fillRule=\"evenodd\"\n clipRule=\"evenodd\"\n d=\"M105.376 72.635a3 3 0 013-3H150a3 3 0 110 6h-41.624a3 3 0 01-3-3z\"\n fill=\"#B6C7DB\"\n />\n <path\n opacity={0.2}\n fillRule=\"evenodd\"\n clipRule=\"evenodd\"\n d=\"M105 84.635a3 3 0 013-3h64.205a3 3 0 110 6H108a3 3 0 01-3-3z\"\n fill=\"#979797\"\n />\n <path\n opacity={0.8}\n fillRule=\"evenodd\"\n clipRule=\"evenodd\"\n d=\"M105.376 163a3 3 0 013-3H150a3 3 0 110 6h-41.624a3 3 0 01-3-3z\"\n fill=\"#B6C7DB\"\n />\n <path\n opacity={0.2}\n fillRule=\"evenodd\"\n clipRule=\"evenodd\"\n d=\"M105 175a3 3 0 013-3h64.205a3 3 0 110 6H108a3 3 0 01-3-3z\"\n fill=\"#979797\"\n />\n <path\n opacity={0.8}\n fillRule=\"evenodd\"\n clipRule=\"evenodd\"\n d=\"M105.376 193a3 3 0 013-3H190a3 3 0 110 6h-81.624a3 3 0 01-3-3z\"\n fill=\"#B6C7DB\"\n />\n <path\n opacity={0.2}\n fillRule=\"evenodd\"\n clipRule=\"evenodd\"\n d=\"M105 205a3 3 0 013-3h74.205a3 3 0 110 6H108a3 3 0 01-3-3z\"\n fill=\"#979797\"\n />\n <path\n opacity={0.8}\n fillRule=\"evenodd\"\n clipRule=\"evenodd\"\n d=\"M138.376 103a3 3 0 013-3H223a3 3 0 110 6h-81.624a3 3 0 01-3-3z\"\n fill=\"#B6C7DB\"\n />\n <path\n opacity={0.2}\n fillRule=\"evenodd\"\n clipRule=\"evenodd\"\n d=\"M138 115a3 3 0 013-3h64.205a3 3 0 110 6H141a3 3 0 01-3-3z\"\n fill=\"#979797\"\n />\n <circle cx={67} cy={79} r={9} fill=\"#B6C7DB\" />\n <circle cx={67} cy={79} r={9} fill=\"#B6C7DB\" />\n <circle cx={120} cy={106} r={6} fill=\"#B6C7DB\" />\n <circle cx={120} cy={136} r={6} fill=\"#B6C7DB\" />\n <circle cx={67} cy={169} r={9} fill=\"#B6C7DB\" />\n <circle cx={67} cy={199} r={9} fill=\"#B6C7DB\" />\n <path\n opacity={0.8}\n fillRule=\"evenodd\"\n clipRule=\"evenodd\"\n d=\"M138.376 133a3 3 0 013-3H223a3 3 0 110 6h-81.624a3 3 0 01-3-3z\"\n fill=\"#B6C7DB\"\n />\n <path\n opacity={0.2}\n fillRule=\"evenodd\"\n clipRule=\"evenodd\"\n d=\"M138 145a3 3 0 013-3h74.205a3 3 0 110 6H141a3 3 0 01-3-3z\"\n fill=\"#979797\"\n />\n <path\n opacity={0.2}\n fillRule=\"evenodd\"\n clipRule=\"evenodd\"\n d=\"M92.514 108v-8h-2v40.365h11.178v-2h-9.178V110h9.178v-2h-9.178z\"\n fill=\"#2B98F0\"\n />\n <path\n opacity={0.54}\n fillRule=\"evenodd\"\n clipRule=\"evenodd\"\n d=\"M95.071 77l-3.535 3.535L88 77h7.071z\"\n fill=\"#000\"\n />\n <path\n opacity={0.6}\n fillRule=\"evenodd\"\n clipRule=\"evenodd\"\n d=\"M50 22h186a6 6 0 016 6v18a6 6 0 01-6 6H50a6 6 0 01-6-6V28a6 6 0 016-6z\"\n fill=\"#fff\"\n />\n <path\n opacity={0.2}\n fillRule=\"evenodd\"\n clipRule=\"evenodd\"\n d=\"M58 37a6 6 0 016-6h70a6 6 0 110 12H64a6 6 0 01-6-6zm90 0a6 6 0 016-6h10a6 6 0 110 12h-10a6 6 0 01-6-6z\"\n fill=\"#979797\"\n />\n </g>\n <defs>\n <linearGradient\n id=\"AttributesList_svg__b\"\n x1={-16}\n y1={9}\n x2={-16}\n y2={256}\n gradientUnits=\"userSpaceOnUse\"\n >\n <stop stopColor=\"#FAFAFA\" stopOpacity={0.01} />\n <stop offset={1} stopColor=\"#F4F4F4\" />\n </linearGradient>\n <linearGradient\n id=\"AttributesList_svg__c\"\n x1={266.117}\n y1={181.111}\n x2={154.882}\n y2={77.681}\n gradientUnits=\"userSpaceOnUse\"\n >\n <stop stopOpacity={0.01} />\n <stop offset={1} />\n </linearGradient>\n </defs>\n </svg>\n );\n};\n\nexport default SvgAttributesList;\n","import {makeStyles} from '@material-ui/core/styles';\n\nexport const useStyles = makeStyles((theme) => ({\n root: {\n display: 'flex',\n flex: '1 1 auto',\n flexWrap: 'nowrap',\n flexDirection: 'column',\n alignItems: 'center',\n justifyContent: 'center',\n overflow: 'auto',\n height: '100%',\n minHeight: '350px',\n boxSizing: 'border-box',\n padding: '40px'\n },\n logo: {\n width: '190px',\n height: '190px'\n },\n textBox: {\n display: 'flex',\n flexDirection: 'column',\n alignItems: 'center',\n maxWidth: 400,\n marginTop: '24px'\n },\n text: {\n color: theme.palette.text.primary,\n fontSize: '20px',\n fontWeight: 500,\n lineHeight: '23px',\n textAlign: 'center'\n },\n secondaryText: {\n color: theme.palette.text.primary,\n fontSize: '14px',\n fontWeight: 'normal',\n lineHeight: '16px',\n letterSpacing: '0.24px',\n textAlign: 'center',\n paddingTop: '8px'\n }\n}));\n","import React from 'react';\nimport {Typography as Typography} from '@material-ui/core';\nimport {AttributesList as AttributesListIcon} from '../../icons';\n\nimport {useStyles} from './styles';\n\ntype Props = {\n IconRenderer?: React.ElementType;\n text: string;\n secondaryText?: string;\n};\n\nconst SidePanelEmptyState = ({IconRenderer = AttributesListIcon, text, secondaryText}: Props) => {\n const styles = useStyles();\n return (\n <div className={styles.root}>\n <IconRenderer className={styles.logo} />\n <div className={styles.textBox}>\n <Typography className={styles.text}>{text}</Typography>\n {secondaryText && <Typography className={styles.secondaryText}>{secondaryText}</Typography>}\n </div>\n </div>\n );\n};\n\nexport default SidePanelEmptyState;\n","import i18n from 'ui-i18n';\nimport {DateRangeTypes} from '../../../types';\n\nexport const dateRangeTypeOptions = [DateRangeTypes.WITHIN, DateRangeTypes.AGO, DateRangeTypes.BETWEEN];\n\nexport const getDateRangeTypeLabel = (type: DateRangeTypes) => {\n const labels = {\n [DateRangeTypes.WITHIN]: i18n.text('Within the last'),\n [DateRangeTypes.AGO]: i18n.text('More than'),\n [DateRangeTypes.BETWEEN]: i18n.text('Date range')\n };\n return labels[type] || '';\n};\n","import {makeStyles} from '@material-ui/core/styles';\n\nexport const useStyles = makeStyles({\n root: {\n flex: 1\n },\n title: {\n paddingBottom: '10px',\n paddingLeft: '5px',\n fontSize: '14px'\n },\n intervalContainer: {\n display: 'flex',\n justifyContent: 'space-between'\n },\n typeInput: {\n width: 160,\n marginRight: 10\n }\n});\n","import React, {useState} from 'react';\nimport i18n from 'ui-i18n';\nimport classnames from 'classnames';\nimport {Typography as Typography} from '@material-ui/core';\nimport SimpleDropDownSelector from '../../SimpleDropDownSelector/SimpleDropDownSelector';\nimport {dateRangeTypeOptions, getDateRangeTypeLabel} from './utils';\nimport DateIntervalSelector from '../../DateIntervalSelector/DateIntervalSelector';\nimport {useDidUpdateEffect} from '../../../hooks';\nimport CustomDateRangeEditor from '../../editors/CustomDateRangeEditor/CustomDateRangeEditor';\nimport {DateRangeFilter, DateRangeTypes} from '../../../types';\nimport {useStyles} from './styles';\n\nconst emptyDates: [Date, Date] = [null, null];\nconst emptyInterval: [number, string] = [null, 'hours'];\n\ntype Props = {\n value: DateRangeFilter;\n onChange: (range: DateRangeFilter) => void;\n className?: string;\n};\n\nconst DateRangeSelector = ({value, onChange, className}: Props) => {\n const styles = useStyles();\n\n const isIntervalType = (type: DateRangeTypes) => type === DateRangeTypes.WITHIN || type === DateRangeTypes.AGO;\n const isBetweenType = (type: DateRangeTypes) => type === DateRangeTypes.BETWEEN;\n\n const initDatesInterval = isBetweenType(value?.type) ? value.period : emptyDates;\n const initInterval = isIntervalType(value?.type) ? value.period : emptyInterval;\n\n const [datesInterval, setDatesInterval] = useState(initDatesInterval as [Date, Date]);\n const [interval, setInterval] = useState(initInterval as [number, string]);\n\n const selectedType = value?.type || DateRangeTypes.WITHIN;\n\n const getCurrentPeriodByType = (type: DateRangeTypes) => {\n if (isIntervalType(type)) {\n return interval;\n } else if (isBetweenType(type)) {\n return datesInterval;\n }\n };\n\n const changeType = ({value: type}: {value: DateRangeTypes}) => {\n if (value?.type !== type) {\n onChange({period: getCurrentPeriodByType(type), type});\n }\n };\n const changePeriod = (period) => {\n onChange({type: selectedType, period});\n };\n\n useDidUpdateEffect(() => {\n if (value) {\n if (isIntervalType(value.type)) {\n setInterval(value.period as [number, string]);\n } else if (isBetweenType(value.type)) {\n setDatesInterval(value.period as [Date, Date]);\n }\n } else {\n setDatesInterval(emptyDates);\n setInterval(emptyInterval);\n }\n }, [value]);\n\n return (\n <div className={classnames(styles.root, className)}>\n <Typography className={styles.title} variant={'subtitle1'}>\n {i18n.text('Date')}\n </Typography>\n <div className={styles.intervalContainer}>\n <SimpleDropDownSelector\n label={''}\n className={styles.typeInput}\n value={{\n value: selectedType,\n label: getDateRangeTypeLabel(selectedType)\n }}\n options={dateRangeTypeOptions.map((option) => ({\n value: option,\n label: getDateRangeTypeLabel(option)\n }))}\n onChange={changeType}\n />\n {isIntervalType(selectedType) ? (\n <DateIntervalSelector interval={interval} onChange={changePeriod} />\n ) : (\n <CustomDateRangeEditor values={datesInterval} onChange={changePeriod} />\n )}\n </div>\n </div>\n );\n};\n\nexport default DateRangeSelector;\n","import i18n from 'ui-i18n';\nimport {HistoryActivityType} from '../types/HistoryFilter';\n\nexport const historyActivityOptions = [\n HistoryActivityType.UPDATE,\n HistoryActivityType.MERGE,\n HistoryActivityType.UNMERGE\n];\n\nexport const getHistoryActivityLabel = (type: HistoryActivityType) => {\n const labels = {\n [HistoryActivityType.UPDATE]: i18n.text('Update'),\n [HistoryActivityType.MERGE]: i18n.text('Merge'),\n [HistoryActivityType.UNMERGE]: i18n.text('Unmerge')\n };\n return labels[type] || '';\n};\n","import {makeStyles} from '@material-ui/core/styles';\n\nexport const customStyles = {\n input: (currentStyles) => ({...currentStyles, fontSize: '14px'}),\n menuPortal: (currentStyles) => ({...currentStyles, zIndex: 1300})\n};\n\nexport const useStyles = makeStyles({\n root: {\n flex: 1\n },\n title: {\n paddingBottom: '10px',\n paddingLeft: '5px',\n fontSize: '14px'\n },\n dropDownInput: {\n width: '100%',\n justifyContent: 'center',\n backgroundColor: 'rgba(0, 0, 0, 0.03)',\n borderTop: '4px'\n },\n valueContainer: {\n overflowY: 'auto',\n height: 44\n },\n option: {\n fontSize: '14px',\n height: '32px'\n }\n});\n","import React from 'react';\nimport i18n from 'ui-i18n';\nimport {defaultTo, pipe, pluck} from 'ramda';\nimport classnames from 'classnames';\nimport {Typography as Typography} from '@material-ui/core';\nimport MultiSelect from '../../ReactSelect/MultiSelect';\nimport DropdownIndicatorWithIconButton from '../../commonReactSelectComponents/DropdownIndicatorWithIconButton';\nimport {getHistoryActivityLabel, historyActivityOptions} from './utils';\nimport {HistoryActivityType} from '../types/HistoryFilter';\nimport {customStyles, useStyles} from './styles';\n\ntype Props = {\n selectedHistoryActivityTypes: HistoryActivityType[];\n onChange: (activities: HistoryActivityType[]) => void;\n className?: string;\n};\n\nconst HistoryActivitySelector = ({selectedHistoryActivityTypes, onChange, className}: Props) => {\n const styles = useStyles();\n const valueToOption = (value: HistoryActivityType) => ({value, label: getHistoryActivityLabel(value)});\n const prepareValues = (values: HistoryActivityType[]) => values.map(valueToOption);\n\n const options = prepareValues(historyActivityOptions);\n\n return (\n <div className={classnames(styles.root, className)}>\n <Typography className={styles.title} variant={'subtitle1'}>\n {i18n.text('Activity')}\n </Typography>\n <MultiSelect\n value={prepareValues(selectedHistoryActivityTypes)}\n onChange={pipe(defaultTo([]), pluck('value'), onChange)}\n options={options}\n TextFieldProps={{classes: {root: styles.dropDownInput}}}\n components={{\n DropdownIndicator: DropdownIndicatorWithIconButton\n }}\n styles={customStyles}\n classes={styles}\n menuPlacement=\"bottom\"\n menuPortalTarget={document.body}\n />\n </div>\n );\n};\n\nexport default HistoryActivitySelector;\n","import {makeStyles} from '@material-ui/core/styles';\n\nexport const useStyles = makeStyles({\n popup: {\n width: 500,\n minHeight: 500,\n overflowY: 'hidden',\n display: 'flex',\n flexDirection: 'column'\n },\n filterContainer: {\n padding: 20,\n height: 410,\n display: 'flex',\n flexDirection: 'column'\n },\n filterContainerScrollable: {\n overflowY: 'auto'\n },\n filterItem: {\n marginTop: 15\n },\n filterControls: {\n display: 'flex',\n padding: '10px 12px',\n borderTop: 'solid 1px rgba(0, 0, 0, 0.12)'\n },\n clearButton: {\n marginRight: 'auto'\n },\n input: {\n height: '100%',\n paddingLeft: '12px',\n paddingRight: '8px'\n }\n});\n","import React, {useCallback, useEffect, useRef, useState} from 'react';\nimport i18n from 'ui-i18n';\nimport {curry, dissoc} from 'ramda';\nimport FilterListIcon from '@material-ui/icons/FilterList';\nimport {Button as Button} from '@material-ui/core';\nimport {Popover as Popover} from '@material-ui/core';\nimport {Typography as Typography} from '@material-ui/core';\nimport {TEntityType} from '@reltio/mdm-sdk';\nimport {SmallIconButton} from '../../SmallIconButton';\nimport {HistoryFilter} from '../types';\nimport {isDateRangeValid} from '../utils/filters';\nimport UserSelector from '../../UserSelector/UserSelector';\nimport AttributeSelector from '../../AttributeSelector/AttributeSelector';\nimport DateRangeSelector from '../DateRangeSelector/DateRangeSelector';\nimport HistoryActivitySelector from '../HistoryActivitySelector/HistoryActivitySelector';\n\nimport {DEFAULT_HISTORY_FILTER, isDefaultFilter} from '../hooks/useHistory';\nimport {useStyles} from './styles';\n\ntype Props = {\n className?: string;\n filter: HistoryFilter;\n onApplyFilter: (filter: HistoryFilter) => void;\n entityType: TEntityType;\n};\n\nconst HistoryFilterButton = ({className, filter, onApplyFilter, entityType}: Props) => {\n const styles = useStyles();\n const buttonRef = useRef();\n const [isOpen, setIsOpen] = useState(false);\n const [currentValue, setCurrentValue] = useState<HistoryFilter>(filter);\n const {activities = [], attributes = [], dateRange = null, users = []} = currentValue || {};\n\n const buttonColor = isDefaultFilter(filter) ? 'inherit' : 'primary';\n\n useEffect(() => {\n if (isOpen) {\n setCurrentValue(filter);\n }\n }, [filter, isOpen]);\n\n const handlePropChange = curry((propName: string, value: unknown) => {\n setCurrentValue((filterValue) => ({\n ...filterValue,\n [propName]: value\n }));\n });\n\n const togglePopup = useCallback(() => {\n setIsOpen((open) => !open);\n }, []);\n\n const applyButtonHandler = useCallback(() => {\n dateRange && isDateRangeValid(dateRange)\n ? onApplyFilter(currentValue)\n : onApplyFilter(dissoc('dateRange', currentValue));\n togglePopup();\n }, [currentValue, dateRange, onApplyFilter, togglePopup]);\n\n const clearAllButtonHandler = useCallback(() => {\n setCurrentValue({...DEFAULT_HISTORY_FILTER});\n }, []);\n\n return (\n <>\n <SmallIconButton\n ref={buttonRef}\n color={buttonColor}\n icon={FilterListIcon}\n size=\"L\"\n onClick={togglePopup}\n className={className}\n />\n <Popover\n classes={{paper: styles.popup}}\n open={isOpen}\n anchorEl={buttonRef.current}\n onClose={togglePopup}\n anchorOrigin={{\n vertical: 'bottom',\n horizontal: 'right'\n }}\n transformOrigin={{\n vertical: 'top',\n horizontal: 'right'\n }}\n >\n <div className={styles.filterContainer}>\n <Typography variant=\"h6\">{i18n.text('Filter')}</Typography>\n <div className={styles.filterContainerScrollable}>\n <DateRangeSelector\n value={dateRange}\n onChange={handlePropChange('dateRange')}\n className={styles.filterItem}\n />\n <UserSelector\n selectedUsers={users}\n onChange={handlePropChange('users')}\n className={styles.filterItem}\n />\n <HistoryActivitySelector\n selectedHistoryActivityTypes={activities}\n onChange={handlePropChange('activities')}\n className={styles.filterItem}\n />\n <AttributeSelector\n selectedAttributes={attributes}\n entityType={entityType}\n onChange={handlePropChange('attributes')}\n className={styles.filterItem}\n title={i18n.text('Attribute updated')}\n />\n </div>\n </div>\n <div className={styles.filterControls}>\n <Button onClick={clearAllButtonHandler} className={styles.clearButton}>\n {i18n.text('Clear all')}\n </Button>\n <Button onClick={togglePopup}>{i18n.text('Cancel')}</Button>\n <Button color=\"primary\" onClick={applyButtonHandler}>\n {i18n.text('Apply')}\n </Button>\n </div>\n </Popover>\n </>\n );\n};\n\nexport default HistoryFilterButton;\n","import {makeStyles} from '@material-ui/core/styles';\n\nexport const useStyles = makeStyles({\n menuItem: {\n minHeight: '32px'\n },\n menuText: {\n fontSize: '13px',\n lineHeight: '15px',\n letterSpacing: 0,\n marginLeft: '30px'\n },\n checkIcon: {\n position: 'absolute',\n color: 'rgba(0, 0, 0, 0.54)'\n }\n});\n","import React, {forwardRef} from 'react';\nimport {MenuItem as MenuItem} from '@material-ui/core';\nimport {Typography as Typography} from '@material-ui/core';\nimport CheckIcon from '@material-ui/icons/Check';\nimport {noop} from '../../../core';\nimport {useStyles} from './styles';\n\ntype Item = {\n text: string;\n selected: boolean;\n onClick: (e) => void;\n};\n\ntype Props = {\n item: Item;\n onMenuClose?: () => void;\n};\n\nconst MenuItemRenderer = forwardRef(({item, onMenuClose = noop}: Props, ref: React.Ref<HTMLLIElement>) => {\n const styles = useStyles();\n const {text, selected, onClick} = item;\n const handleClick = (e) => {\n onMenuClose();\n onClick(e);\n };\n\n return (\n <MenuItem classes={{root: styles.menuItem}} onClick={handleClick} ref={ref}>\n {selected && <CheckIcon className={styles.checkIcon} />}\n <Typography classes={{root: styles.menuText}}>{text}</Typography>\n </MenuItem>\n );\n});\nMenuItemRenderer.displayName = 'MenuItemRenderer';\n\nexport default MenuItemRenderer;\n","import React from 'react';\nimport {useDispatch, useSelector} from 'react-redux';\nimport i18n from 'ui-i18n';\nimport MoreVertIcon from '@material-ui/icons/MoreVert';\nimport mdmModule, {HistoryMode, profile} from '@reltio/mdm-module';\nimport {SmallIconButton} from '../../SmallIconButton';\nimport DropDownMenuButton from '../../DropDownMenuButton/DropDownMenuButton';\nimport MenuItemRenderer from './MenuItemRenderer';\n\nconst HistoryMenuButton = () => {\n const mode = useSelector(mdmModule.selectors.getHistoryMode);\n const dispatch = useDispatch();\n const handleModeChange = (selectedMode: HistoryMode) => {\n dispatch(profile.history.actions.setHistoryMode(selectedMode));\n };\n const menuItems = [\n {\n text: i18n.text('Compare to Current view'),\n selected: mode === HistoryMode.Current,\n onClick: () => handleModeChange(HistoryMode.Current)\n },\n {\n text: i18n.text('Compare to Previous view'),\n selected: mode === HistoryMode.Previous,\n onClick: () => handleModeChange(HistoryMode.Previous)\n }\n ];\n\n return (\n <DropDownMenuButton\n MenuItemRenderer={MenuItemRenderer}\n buttonComponent={SmallIconButton}\n buttonProps={{\n icon: MoreVertIcon,\n size: 'L'\n }}\n menuId={'history-menu'}\n menuItems={menuItems}\n />\n );\n};\n\nexport default HistoryMenuButton;\n","import {makeStyles} from '@material-ui/core/styles';\n\nexport const useStyles = makeStyles({\n root: {\n display: 'flex',\n flex: 1,\n alignItems: 'center'\n },\n icon: {\n margin: 4\n },\n divider: {\n backgroundColor: 'rgba(0,0,0,0.12)',\n margin: '3px 19px'\n },\n count: {\n fontSize: 14\n },\n filterButton: {\n marginRight: '-4px'\n }\n});\n","import React from 'react';\nimport i18n from 'ui-i18n';\nimport {Divider as Divider} from '@material-ui/core';\nimport {Typography as Typography} from '@material-ui/core';\nimport {isNil} from 'ramda';\nimport {TEntityType} from '@reltio/mdm-sdk';\nimport Spacer from '../../Spacer/Spacer';\nimport HistoryFilterButton from '../HistoryFilterButton/HistoryFilterButton';\nimport HistoryMenuButton from '../HistoryMenuButton/HistoryMenuButton';\nimport {HistoryFilter} from '../types';\n\nimport {useStyles} from './styles';\n\ntype Props = {\n total?: number;\n entityType: TEntityType;\n filter: HistoryFilter;\n onApplyFilter: (value: HistoryFilter) => void;\n};\n\nconst HistoryHeader = ({total, entityType, filter, onApplyFilter}: Props) => {\n const styles = useStyles();\n return (\n <div className={styles.root}>\n <Typography variant=\"h6\">{i18n.text('History')}</Typography>\n {!isNil(total) && (\n <>\n <Divider orientation=\"vertical\" flexItem className={styles.divider} />\n <Typography variant=\"body1\" color=\"textSecondary\" className={styles.count}>\n {total === 1\n ? i18n.text('${count} contributing profile', {count: total})\n : i18n.text('${count} contributing profiles', {count: total})}\n </Typography>\n </>\n )}\n <Spacer />\n <HistoryFilterButton\n className={styles.filterButton}\n entityType={entityType}\n filter={filter}\n onApplyFilter={onApplyFilter}\n />\n <HistoryMenuButton />\n </div>\n );\n};\n\nexport default HistoryHeader;\n","import React from 'react';\nimport i18n from 'ui-i18n';\nimport SidePanelEmptyState from '../../SidePanelEmptyState/SidePanelEmptyState';\n\nconst HistoryPanelEmptyState = () => (\n <SidePanelEmptyState\n text={i18n.text('History in the making')}\n secondaryText={i18n.text('When you create an event or perform an activity, it will show up here.')}\n />\n);\n\nexport default HistoryPanelEmptyState;\n","import {makeStyles} from '@material-ui/core/styles';\n\ntype Type = {\n color?: string;\n};\n\nexport const useStyles = makeStyles(() => ({\n historyRow: {\n position: 'relative',\n padding: '8px 12px 16px',\n cursor: 'pointer'\n },\n selected: {\n background: 'rgba(0,0,0,0.05)',\n '&:before': {\n content: '\"\"',\n background: 'rgba(0,0,0,0.05)',\n width: '100%',\n height: '100%',\n position: 'absolute',\n left: '-100%',\n top: 0\n }\n },\n rowHeader: {\n display: 'flex',\n position: 'relative'\n },\n badge: ({color}: Type) => ({\n position: 'absolute',\n width: '2px',\n height: '100%',\n left: '-9px',\n pointerEvents: 'none',\n background: color,\n '&:before': {\n height: '100%',\n width: '3px',\n content: '\"\"',\n left: '-3px',\n background: color,\n position: 'absolute',\n opacity: 0.06\n }\n }),\n title: {\n color: 'rgba(0,0,0,0.87)',\n fontSize: '13px',\n letterSpacing: 0,\n lineHeight: '16px',\n fontWeight: 400,\n overflow: 'hidden',\n textOverflow: 'ellipsis',\n whiteSpace: 'nowrap',\n '&.bold': {\n fontWeight: 500\n }\n },\n date: {\n marginLeft: 'auto',\n color: 'rgba(0,0,0,0.54)',\n fontSize: '11px',\n letterSpacing: 0,\n lineHeight: '16px'\n },\n user: {\n color: 'rgba(0,0,0,0.38)',\n fontSize: '12px',\n letterSpacing: 0,\n lineHeight: '14px'\n }\n}));\n","import React from 'react';\nimport classnames from 'classnames';\nimport i18n from 'ui-i18n';\nimport {getContributorColor, HistoryChange} from '@reltio/mdm-sdk';\nimport {Typography as Typography} from '@material-ui/core';\nimport {ActivityTypes} from '../../activityLog/types/ActivityTypes';\nimport {getActivityLabel} from '../../activityLog/utils/activities';\n\nimport {useStyles} from './styles';\n\ntype Props = {\n change: HistoryChange;\n isCurrent?: boolean;\n isSelected: boolean;\n onClick: () => void;\n};\n\nconst HistoryRow = ({change, isCurrent, isSelected, onClick}: Props) => {\n const {uri, type, matchGroups, user, timestamp} = change;\n const color = getContributorColor(uri);\n const styles = useStyles({color});\n return (\n <div className={classnames(styles.historyRow, {[styles.selected]: isSelected})} onClick={onClick}>\n <div className={styles.rowHeader}>\n <div className={styles.badge} />\n <Typography className={classnames(styles.title, {bold: isCurrent})}>\n {isCurrent ? i18n.text('Current view') : getActivityLabel(type as ActivityTypes)}\n </Typography>\n {!isCurrent && <Typography className={styles.date}>{i18n.date(timestamp, 'L LT')}</Typography>}\n </div>\n {matchGroups && (\n <Typography className={styles.title}>\n {i18n.text('Match rule:')} {matchGroups.join(', ')}\n </Typography>\n )}\n <Typography className={styles.user}>{user}</Typography>\n </div>\n );\n};\n\nexport default HistoryRow;\n","import {HistoryChangeTypes} from '../types/HistoryChangeTypes';\n\nexport const getHistoryLinkCurve = (x: number, y: number, toX: number, toY: number) => {\n const isUp = y > toY;\n const isLeft = x < toX;\n const curveStartX = isLeft ? toX - 12 : toX + 12;\n const curveCenterY = isUp ? -6 : 6;\n const curveEndY = isUp ? -12 : 12;\n const curve = isLeft ? `c 6 0 12 ${curveCenterY} 12` : `c -6 0 -12 ${curveCenterY} -12`;\n return `M${x} ${y} L${curveStartX} ${y} ${curve} ${curveEndY} L${toX} ${toY}`;\n};\n\nexport const isFakeHistoryType = (type: string) =>\n type === HistoryChangeTypes.FAKE_FILTERED_INCOMING || type === HistoryChangeTypes.FAKE_FILTERED_OUTGOING;\n","import React from 'react';\nimport {getHistoryLinkCurve} from './helpers';\n\ntype Props = {\n x: number;\n y: number;\n toX: number;\n toY: number;\n color: string;\n isDashed?: boolean;\n};\n\nconst HistoryLink = ({x, y, toX, toY, color, isDashed}: Props) => {\n const lineData = getHistoryLinkCurve(x, y, toX, toY);\n return (\n <path\n d={lineData}\n stroke={color}\n strokeWidth={2}\n fill={'none'}\n strokeDasharray={isDashed ? '3,3' : undefined}\n />\n );\n};\n\nexport default HistoryLink;\n","import React, {forwardRef} from 'react';\n\ntype Props = {\n x: number;\n y: number;\n color: string;\n isDashed?: boolean;\n isCollapsed?: boolean;\n showCollapseIcon?: boolean;\n showLine?: boolean;\n} & React.SVGProps<SVGGElement>;\n\nexport const BUMP_RADIUS = 3;\nexport const LINE_MARGIN = 4;\n\nconst HistoryCircle = ({x, y, color, isDashed, isCollapsed, showCollapseIcon, showLine, ...otherProps}: Props, ref) => {\n const radius = showCollapseIcon ? BUMP_RADIUS * 2 : BUMP_RADIUS;\n return (\n <g {...otherProps} ref={ref}>\n {showLine && (\n <rect\n id=\"line\"\n x={x - radius - LINE_MARGIN}\n y={y - radius - LINE_MARGIN}\n width={radius * 2 + LINE_MARGIN * 2}\n height={2}\n fill={color}\n />\n )}\n <circle\n cx={x}\n cy={y}\n r={radius}\n fill={isDashed ? '#fff' : color}\n stroke={color}\n strokeDasharray={isDashed ? '1,1' : undefined}\n strokeWidth={2}\n />\n {showCollapseIcon && (\n <g id=\"icon\">\n <rect x={x - 4} y={y - 1} width={8} height={2} fill=\"#fff\" />\n {isCollapsed && <rect x={x - 1} y={y - 4} width={2} height={8} fill=\"#fff\" />}\n </g>\n )}\n </g>\n );\n};\n\nexport default forwardRef(HistoryCircle);\n","import React, {memo} from 'react';\nimport {getContributorColor} from '@reltio/mdm-sdk';\nimport HistoryLink from './HistoryLink';\nimport HistoryCircle from './HistoryCircle';\nimport {HistoryData, HistoryChangeTypes} from '../types';\nimport {isFakeHistoryType} from './helpers';\nimport {withTooltip} from '../../../HOCs';\n\nconst COL_WIDTH = 16;\nconst COL_MARGIN = 24;\nconst ROW_MARGIN = 16;\nconst ROW_HEIGHT = 16;\n\nexport const HistoryCircleWithTooltip = withTooltip(HistoryCircle);\n\ntype Props = {\n graphData: HistoryData;\n onHistoryCircleMouseOver?: (uri: string, timestamp: number, index: number) => void;\n};\n\nconst HistoryGraph = ({graphData, onHistoryCircleMouseOver}: Props) => {\n const {historyLanes, rows} = graphData;\n const rowPositions = [ROW_MARGIN];\n\n const {links, rowLines, circles} = rows.reduce(\n (acc, {uri, height, uris, type, fakeType, index, timestamp, label}, i) => {\n const x = historyLanes[uri].index * COL_WIDTH + COL_MARGIN;\n const y = rowPositions[i];\n rowPositions.push(y + height);\n\n const hasFakeType = isFakeHistoryType(fakeType);\n const circleUri = hasFakeType ? uris[0] : uri;\n const isCollapsed = !uris?.some((uri) => historyLanes[uri]);\n acc.circles.push(\n <HistoryCircleWithTooltip\n tooltipTitle={label}\n tooltipPlacement=\"top\"\n onMouseOver={\n onHistoryCircleMouseOver ? () => onHistoryCircleMouseOver(uri, timestamp, index) : undefined\n }\n key={`circle-${circleUri}-${i}`}\n x={x}\n y={y}\n color={getContributorColor(circleUri)}\n isDashed={hasFakeType}\n isCollapsed={isCollapsed}\n showCollapseIcon={!!uris}\n showLine={fakeType === HistoryChangeTypes.FAKE_NAVIGATE_PROFILE}\n />\n );\n\n acc.rowLines.push(\n <rect\n key={`${circleUri}-${index}`}\n x={x}\n y={y - ROW_HEIGHT / 2}\n width={'100%'}\n height={ROW_HEIGHT}\n fill={getContributorColor(circleUri)}\n opacity={0.06}\n />\n );\n\n const isUpRight = type === HistoryChangeTypes.ENTITIES_SPLITTED;\n uris?.forEach((contributorUri) => {\n const contributorLane = historyLanes[contributorUri];\n if (!contributorLane) return;\n const rowHeight = rows[i].height;\n const toX = contributorLane.index * COL_WIDTH + COL_MARGIN;\n const toY = isUpRight ? y - rowHeight : y + rowHeight;\n if (x !== toX)\n acc.links.push(\n <HistoryLink\n key={`link-${contributorUri}-${index}`}\n x={x}\n y={y}\n toX={toX}\n toY={toY}\n isDashed={isFakeHistoryType(fakeType)}\n color={getContributorColor(contributorUri)}\n />\n );\n });\n\n return acc;\n },\n {links: [], circles: [], rowLines: []}\n );\n\n const width = Object.keys(historyLanes).length * COL_WIDTH + COL_MARGIN;\n const height = rowPositions[rowPositions.length - 1] - ROW_MARGIN;\n\n Object.entries(historyLanes).forEach(([contributorUri, contributorLane]) => {\n const x = contributorLane.index * COL_WIDTH + COL_MARGIN;\n contributorLane.lifeTime.forEach(({start, end}, i) => {\n if (rows[end?.index]?.type === HistoryChangeTypes.ENTITIES_SPLITTED) return;\n const startIndex = start?.type === HistoryChangeTypes.ENTITIES_SPLITTED ? start?.index - 1 : start?.index;\n const endIndex =\n end?.type === HistoryChangeTypes.ENTITIES_MERGED_MANUALLY ||\n end?.type === HistoryChangeTypes.ENTITIES_MERGED\n ? end?.index + 1\n : end?.index;\n const startY = rowPositions[startIndex] || rowPositions[rowPositions.length - 2];\n const endY = rowPositions[endIndex] || ROW_MARGIN;\n if (startY <= endY) return;\n const color = getContributorColor(contributorUri);\n if (!end && contributorLane.index > 0) {\n circles.push(\n <HistoryCircle key={`initCircle-${contributorUri}-${i}`} x={x} y={endY} color={color} showLine />\n );\n }\n links.unshift(\n <path\n key={`line-${contributorUri}-${i}`}\n d={`M${x} ${startY} L${x} ${endY}`}\n stroke={color}\n strokeWidth={2}\n />\n );\n });\n });\n\n return (\n <svg className=\"chart\" width={width} height={height}>\n <g id=\"rowLines\">{rowLines}</g>\n <g id=\"links\">{links}</g>\n <g id=\"circles\">{circles}</g>\n </svg>\n );\n};\n\nexport default memo(HistoryGraph);\n","import {makeStyles} from '@material-ui/core/styles';\n\nexport const useStyles = makeStyles({\n historyTree: {\n display: 'grid',\n gridTemplateColumns: 'auto 1fr',\n overflowY: 'auto'\n },\n graph: {\n overflowX: 'auto',\n overflowY: 'hidden'\n },\n history: {\n minWidth: 344\n },\n buttonContainer: {\n gridColumnStart: 1,\n gridColumnEnd: 3,\n padding: '8px 16px'\n },\n shadow: {\n boxShadow: 'inset -8px 0px 5px -5px rgba(0,0,0,0.1)'\n }\n});\n","import React, {useCallback, useEffect, useRef, useState} from 'react';\nimport {useDispatch, useSelector} from 'react-redux';\nimport ReactResizeDetector from 'react-resize-detector';\nimport i18n from 'ui-i18n';\nimport {isNil, uniqBy, prop, identity} from 'ramda';\nimport classnames from 'classnames';\nimport {getEntity, Mode, Metadata, getCrosswalkType} from '@reltio/mdm-sdk';\nimport mdm, {HistoryEvent, profile} from '@reltio/mdm-module';\nimport {HistoryData, HistoryRowData} from '../types';\nimport {Button as Button} from '@material-ui/core';\nimport HistoryRow from '../HistoryRow/HistoryRow';\nimport HistoryGraph from '../HistoryGraph/HistoryGraph';\nimport LinearLoadIndicator from '../../LinearLoadIndicator/LinearLoadIndicator';\n\nimport {useStyles} from './styles';\n\ntype Props = {\n historyData: HistoryData;\n canLoadMore: boolean;\n onLoadMore: () => void;\n isLoading: boolean;\n entityUri: string;\n historyEvent: HistoryEvent;\n findPreviousChange: (index: number, uri: string) => HistoryRowData;\n};\n\nconst HistoryTree = ({\n historyData,\n isLoading,\n canLoadMore,\n onLoadMore,\n entityUri,\n historyEvent,\n findPreviousChange\n}: Props) => {\n const styles = useStyles();\n const dispatch = useDispatch();\n const isEditableMode = useSelector(mdm.selectors.getIsEditableMode);\n const metadata: Metadata = useSelector(mdm.selectors.getMetadata);\n\n const [graphData, setGraphData] = useState({historyLanes: {}, rows: []});\n const [isScrollable, setIsScrollable] = useState(false);\n const [selectedIndex, setSelectedIndex] = useState(-1);\n\n useEffect(() => {\n if (isNil(historyEvent)) {\n setSelectedIndex(0);\n return;\n }\n const isCurrentEventChange = (change: HistoryRowData) =>\n change?.uri === (historyEvent?.overrideUri || entityUri) && change?.timestamp === historyEvent?.aStamp;\n const selectedChangeByIndex = selectedIndex !== -1 ? historyData.rows[selectedIndex] : null;\n const currentEventChangeIndex = historyData.rows.findIndex((change) => isCurrentEventChange(change));\n setSelectedIndex(isCurrentEventChange(selectedChangeByIndex) ? selectedIndex : currentEventChangeIndex);\n }, [historyData.rows, historyEvent]);\n\n const graphRef = useRef(null);\n const rowsRef = useCallback(\n (node) => {\n if (!isNil(node)) {\n const rows = historyData.rows?.map((item, i) => ({...item, height: node.childNodes[i]?.clientHeight}));\n setGraphData({historyLanes: historyData.historyLanes, rows});\n }\n },\n [historyData]\n );\n\n const handleGraphScroll = () => {\n const {scrollWidth, clientWidth, scrollLeft} = graphRef?.current || {};\n setIsScrollable(scrollLeft < scrollWidth - clientWidth);\n };\n\n const handleHistoryCircleMouseOver = (uri, timestamp, index) => {\n if (isNil(graphData.rows[index].label)) {\n const options = {time: timestamp, select: 'crosswalks'} as any;\n getEntity(uri, options).then(({crosswalks}) => {\n const label = crosswalks\n ? uniqBy(prop('type'), crosswalks)\n .map((cw) => {\n const crosswalkType = getCrosswalkType(metadata, cw.type);\n return crosswalkType ? crosswalkType.label : null;\n })\n .filter(identity)\n .join(', ')\n : i18n.text('No data');\n\n setGraphData((prevGraphData) => ({\n ...prevGraphData,\n rows: prevGraphData.rows.map((row) => (row.index === index ? {...row, label} : row))\n }));\n });\n }\n };\n\n const handleHistoryRowClick = (index: number, change: HistoryRowData, isSelected: boolean, isCurrent: boolean) => {\n if (isEditableMode) {\n if (\n window.confirm(i18n.text('Are you sure you want to go in history mode? All your changes will be lost.'))\n ) {\n dispatch(profile.mode.actions.modeUpdated(Mode.Viewing));\n } else {\n return;\n }\n }\n\n if ((isCurrent && !isSelected) || (!isCurrent && isSelected)) {\n dispatch(profile.history.actions.clearHistoryEvent());\n setSelectedIndex(0);\n } else if (!isCurrent && !isSelected) {\n const aChange = findPreviousChange(index - 1, change.uri || entityUri);\n const bChange = findPreviousChange(index, change.uri || entityUri);\n const aStamp = aChange?.timestamp;\n const bStamp = bChange?.timestamp;\n const overrideUri = change?.uri === entityUri ? null : change?.uri;\n dispatch(profile.history.actions.setHistoryEvent({aStamp, bStamp, overrideUri}));\n setSelectedIndex(index);\n }\n };\n\n return (\n <div className={styles.historyTree}>\n {isLoading && <LinearLoadIndicator />}\n <div\n className={classnames(styles.graph, {[styles.shadow]: isScrollable})}\n onScroll={handleGraphScroll}\n ref={graphRef}\n >\n <HistoryGraph onHistoryCircleMouseOver={handleHistoryCircleMouseOver} graphData={graphData} />\n <ReactResizeDetector handleWidth onResize={handleGraphScroll} />\n </div>\n <div ref={rowsRef} className={styles.history}>\n {historyData.rows.map((change, i) => {\n const isSelected = i === selectedIndex;\n const isCurrent = i === 0;\n return (\n <HistoryRow\n key={`row-${i}`}\n change={change}\n isCurrent={isCurrent}\n isSelected={isSelected}\n onClick={() => handleHistoryRowClick(i, change, isSelected, isCurrent)}\n />\n );\n })}\n </div>\n {canLoadMore && (\n <div className={styles.buttonContainer}>\n <Button color=\"primary\" onClick={() => onLoadMore()}>\n {i18n.text('Show more')}\n </Button>\n </div>\n )}\n </div>\n );\n};\n\nexport default HistoryTree;\n","import {makeStyles} from '@material-ui/core/styles';\n\nexport const useStyles = makeStyles({\n root: {\n display: 'flex',\n flexWrap: 'wrap',\n padding: '10px 15px'\n }\n});\n\ntype StylesProps = {\n color: string;\n};\n\nexport const useContributorStyles = makeStyles({\n icon: ({color}: StylesProps) => ({\n boxSizing: 'border-box',\n borderWidth: 2,\n borderStyle: 'solid',\n borderColor: color,\n height: 12,\n width: 12,\n borderRadius: 30,\n transition: 'opacity 0.3s',\n margin: 4\n }),\n active: ({color}: StylesProps) => ({\n backgroundColor: color\n }),\n inactive: {\n backgroundColor: 'white'\n },\n clickable: {\n cursor: 'pointer'\n }\n});\n","import React from 'react';\nimport classnames from 'classnames';\nimport {getContributorColor} from '@reltio/mdm-sdk';\n\nimport {useContributorStyles} from './styles';\n\ntype Props = {\n value: string;\n isSelected?: boolean;\n onClick?: () => void;\n};\n\nconst ContributorItem = ({value, isSelected = true, onClick}: Props) => {\n const color = getContributorColor(value);\n const styles = useContributorStyles({color});\n\n return (\n <div\n className={classnames(styles.icon, {\n [styles.inactive]: !isSelected,\n [styles.active]: isSelected,\n [styles.clickable]: !!onClick\n })}\n onClick={onClick}\n />\n );\n};\n\nexport default ContributorItem;\n","import React from 'react';\nimport classnames from 'classnames';\nimport {without} from 'ramda';\nimport ContributorItem from './ContributorItem';\n\nimport {useStyles} from './styles';\n\ntype Props = {\n values: string[];\n selectedValues: string[];\n onSelectValues: (values: string[]) => void;\n entityUri: string;\n className?: string;\n};\n\nconst ContributorsPanel = ({values, selectedValues, entityUri, onSelectValues, className}: Props) => {\n const styles = useStyles();\n\n const handleClick = (value: string) => {\n if (selectedValues?.includes(value)) {\n onSelectValues(without([value], selectedValues));\n } else {\n onSelectValues([...(selectedValues || []), value]);\n }\n };\n\n return (\n <div className={classnames(styles.root, className)}>\n <ContributorItem value={entityUri} />\n {values?.length > 0 &&\n values.map((value) => (\n <ContributorItem\n key={value}\n value={value}\n isSelected={selectedValues?.includes(value)}\n onClick={() => handleClick(value)}\n />\n ))}\n </div>\n );\n};\n\nexport default ContributorsPanel;\n","import {useMemo} from 'react';\nimport {isNil, pipe, slice, find, curry, drop} from 'ramda';\nimport {HistoryChange} from '@reltio/mdm-sdk';\nimport {HistoryChangeTypes, HistoryLife, HistoryRowData} from './../types';\n\ntype Props = {\n entityUri: string;\n historyChanges: HistoryChange[];\n selectedUris: string[];\n};\n\nexport const useHistoryTree = ({entityUri, historyChanges, selectedUris}: Props) => {\n return useMemo(() => {\n const historyLanes = {[entityUri]: {index: 0, lifeTime: []}};\n const rows = [{user: '', timestamp: 0, uri: entityUri}] as HistoryRowData[];\n\n const checkChange = curry((involvedUris: string | any[], checkInUris: boolean, change: HistoryChange) => {\n const uri = change.uri || entityUri;\n if (involvedUris) {\n if (Array.isArray(involvedUris)) {\n if (change.type !== HistoryChangeTypes.ENTITY_LOST_MERGE) return null;\n if (involvedUris.includes(uri)) {\n return change;\n } else if (checkInUris && change.uris) {\n return involvedUris.some((involvedUri) => change.uris.includes(involvedUri)) ? change : null;\n }\n } else {\n if (uri === involvedUris || (checkInUris && change.uris?.includes(involvedUris))) return change;\n }\n }\n\n return null;\n });\n\n const findNextChange = (index: number, involvedUris: string | any[], checkInUris: boolean) =>\n pipe(drop(index + 1), find(checkChange(involvedUris, checkInUris)))(historyChanges);\n\n const findPreviousChange = (index: number, uri: string) =>\n pipe(slice(index + 1, Infinity), find(checkChange(uri, false)))(rows);\n\n const checkLaneUri = (uri: string) => {\n if (!historyLanes[uri] && (!selectedUris || selectedUris.includes(uri))) {\n historyLanes[uri] = {\n index: Object.keys(historyLanes).length,\n lifeTime: []\n };\n }\n return historyLanes[uri];\n };\n\n const startNewLife = (lifeTime: HistoryLife[], change: HistoryChange) => {\n const currentLife = lifeTime[lifeTime.length - 1];\n if (\n currentLife &&\n (!currentLife.start ||\n (currentLife.start.type === HistoryChangeTypes.ENTITY_CREATED &&\n change.type === HistoryChangeTypes.ENTITIES_SPLITTED))\n ) {\n currentLife.start = change;\n return;\n }\n lifeTime.push({start: change, end: null});\n };\n\n const updateLife = (lifeTime: HistoryLife[], change: HistoryChange) => {\n let shouldAddNewLife = true;\n if (lifeTime.length) {\n const currentLife = lifeTime[lifeTime.length - 1];\n shouldAddNewLife = !(\n (!currentLife.start || currentLife.start.timestamp < change.timestamp) &&\n (!currentLife.end || currentLife.end.timestamp > change.timestamp)\n );\n }\n if (shouldAddNewLife) {\n lifeTime.push({start: null, end: null});\n }\n };\n\n const endLife = (lifeTime: HistoryLife[], change: HistoryChange) => {\n if (lifeTime.length) {\n const currentLife = lifeTime[lifeTime.length - 1];\n if (!currentLife.start) currentLife.start = change;\n }\n lifeTime.push({start: null, end: change});\n };\n\n const checkLifeTime = (lifeTime: HistoryLife[], change: HistoryChange) => {\n switch (change.type) {\n case HistoryChangeTypes.ENTITY_CREATED:\n startNewLife(lifeTime, change);\n break;\n case HistoryChangeTypes.ENTITIES_MERGED_ON_THE_FLY:\n case HistoryChangeTypes.ENTITY_CHANGED:\n updateLife(lifeTime, change);\n break;\n case HistoryChangeTypes.ENTITY_LOST_MERGE:\n case HistoryChangeTypes.ENTITY_REMOVED:\n endLife(lifeTime, change);\n break;\n case HistoryChangeTypes.ENTITIES_SPLITTED:\n updateLife(lifeTime, change);\n change.uris?.forEach((uri) => {\n const relatedLane = historyLanes[uri];\n if (!relatedLane) return;\n const lifeTimeLength = relatedLane.lifeTime.length;\n lifeTimeLength\n ? startNewLife(relatedLane.lifeTime, change)\n : endLife(relatedLane.lifeTime, change);\n\n rows.push({\n uri,\n user: change.user,\n type: change.type,\n fakeType: lifeTimeLength\n ? HistoryChangeTypes.FAKE_UPDATE\n : HistoryChangeTypes.FAKE_NAVIGATE_PROFILE,\n timestamp: change.timestamp\n });\n });\n break;\n case HistoryChangeTypes.ENTITIES_MERGED:\n case HistoryChangeTypes.ENTITIES_MERGED_MANUALLY:\n updateLife(lifeTime, change);\n change.uris?.forEach((uri) => {\n const relatedLane = historyLanes[uri];\n if (relatedLane) endLife(relatedLane.lifeTime, change);\n });\n break;\n }\n };\n\n const postProcessChanges: HistoryChange[] = [];\n historyChanges?.forEach((change, index) => {\n switch (change.type) {\n case HistoryChangeTypes.ENTITIES_SPLITTED:\n if (!findNextChange(index, change.uri || entityUri, false)) {\n return;\n } else {\n const uri = change.uri;\n const involvedUris = change.uris ? [change.uris, uri] : [uri];\n const lostMergeChange = findNextChange(index, involvedUris, true);\n if (lostMergeChange && (!uri || uri === lostMergeChange.uri)) return;\n }\n break;\n case HistoryChangeTypes.ENTITY_LOST_MERGE:\n case HistoryChangeTypes.RELATIONSHIP_CREATED:\n case HistoryChangeTypes.RELATIONSHIP_REMOVED:\n case HistoryChangeTypes.RELATIONSHIP_CHANGED:\n return;\n }\n\n let addPostProcess = false;\n change.uris?.forEach((uri) => {\n if (!checkLaneUri(uri)) addPostProcess = true;\n });\n\n const contributorLane = checkLaneUri(change.uri || entityUri);\n if (!contributorLane) return;\n const rowChange = {...change};\n checkLifeTime(contributorLane.lifeTime, rowChange);\n if (addPostProcess) postProcessChanges.push(rowChange);\n rows.push(rowChange);\n });\n\n postProcessChanges.forEach((postChange) => {\n postChange.uris.forEach((postUri) => {\n if (historyLanes[postUri]) return;\n historyChanges.forEach(({uri, uris, timestamp, user, type}) => {\n if (uri !== postUri) return;\n uris?.forEach((contributorUri) => {\n const contributorLane = historyLanes[contributorUri];\n if (!contributorLane) return;\n let fakeType = null;\n switch (type) {\n case HistoryChangeTypes.ENTITIES_MERGED:\n case HistoryChangeTypes.ENTITIES_MERGED_MANUALLY:\n fakeType = HistoryChangeTypes.FAKE_FILTERED_INCOMING;\n break;\n case HistoryChangeTypes.ENTITIES_SPLITTED:\n fakeType = HistoryChangeTypes.FAKE_FILTERED_OUTGOING;\n break;\n default:\n return;\n }\n\n const fakeChange = {\n fakeType: fakeType,\n uri: postChange.uri,\n uris: [contributorUri],\n type,\n user,\n timestamp\n };\n\n const extendLife = findClosestLife(contributorLane.lifeTime, postChange.timestamp);\n if (fakeType === HistoryChangeTypes.FAKE_FILTERED_INCOMING) {\n if (!isNil(extendLife.endIndex)) {\n contributorLane.lifeTime[extendLife.endIndex].end = fakeChange;\n }\n } else {\n if (!isNil(extendLife.startIndex)) {\n contributorLane.lifeTime[extendLife.startIndex].start = fakeChange;\n }\n }\n rows.splice(rows.indexOf(postChange), 0, fakeChange);\n });\n });\n });\n });\n\n rows.forEach((row, i) => {\n row.index = i;\n row.uri = row.uri || entityUri;\n });\n\n return {\n historyData: {historyLanes, rows},\n findPreviousChange\n };\n }, [entityUri, historyChanges, selectedUris]);\n};\n\nconst findClosestLife = (lifeTime: HistoryLife[], timestamp: number) =>\n lifeTime.reduce(\n (acc, {start, end}, i) => {\n if (start) {\n const d = timestamp - start.timestamp;\n if (isNil(acc.startDistance) || (Math.abs(acc.startDistance) > Math.abs(d) && d > 0)) {\n acc.startIndex = i;\n acc.startDistance = d;\n }\n }\n if (end) {\n const d = timestamp - end.timestamp;\n if (isNil(acc.endDistance) || (Math.abs(acc.endDistance) > Math.abs(d) && d < 0)) {\n acc.endIndex = i;\n acc.endDistance = d;\n }\n }\n return acc;\n },\n {startIndex: null, endIndex: null, startDistance: null, endDistance: null}\n );\n","import {makeStyles} from '@material-ui/core/styles';\n\nexport const useStyles = makeStyles({\n root: {\n display: 'flex',\n flexDirection: 'column',\n overflow: 'hidden',\n position: 'relative',\n height: '100%'\n },\n borderBottom: {\n borderBottom: '1px solid rgba(0, 0, 0, 0.12)'\n }\n});\n","import React, {memo, useEffect, useState} from 'react';\nimport {HistoryWithTotal} from '@reltio/mdm-sdk';\nimport HistoryTree from '../HistoryTree/HistoryTree';\nimport ContributorsPanel from '../ContributorsPanel/ContributorsPanel';\nimport {useHistoryTree} from '../hooks/useHistoryTree';\nimport {HistoryEvent} from '@reltio/mdm-module';\n\nimport {useStyles} from './styles';\n\ntype Props = {\n isLoading: boolean;\n historyWithTotal: HistoryWithTotal;\n contributorsUris: string[];\n entityUri: string;\n historyEvent: HistoryEvent;\n canLoadMore: boolean;\n onLoadMore: () => void;\n};\n\nconst HistoryView = ({\n isLoading,\n historyWithTotal,\n contributorsUris,\n entityUri,\n canLoadMore,\n onLoadMore,\n historyEvent\n}: Props) => {\n const styles = useStyles();\n const [selectedUris, setSelectedUris] = useState<string[]>(null);\n\n useEffect(() => {\n setSelectedUris(contributorsUris);\n }, [contributorsUris]);\n\n const {historyData, findPreviousChange} = useHistoryTree({\n entityUri,\n historyChanges: historyWithTotal?.changes,\n selectedUris\n });\n\n return (\n <div className={styles.root}>\n <ContributorsPanel\n values={contributorsUris}\n selectedValues={selectedUris}\n onSelectValues={setSelectedUris}\n entityUri={entityUri}\n className={styles.borderBottom}\n />\n <HistoryTree\n historyData={historyData}\n isLoading={isLoading}\n onLoadMore={onLoadMore}\n canLoadMore={canLoadMore}\n entityUri={entityUri}\n historyEvent={historyEvent}\n findPreviousChange={findPreviousChange}\n />\n </div>\n );\n};\n\nexport default memo(HistoryView);\n","import {useState, useMemo, useCallback, useEffect} from 'react';\nimport {Entity, getHistoricUris, getHistoryWithTotal, HistoryWithTotal, isEmptyValue} from '@reltio/mdm-sdk';\nimport {difference, either, evolve, isEmpty, isNil, pipe, reject} from 'ramda';\nimport {HistoryActivityType, HistoryFilter} from '../types';\nimport {buildHistoryFilterString} from '../utils/filters';\nimport {useSafePromise} from '../../../hooks';\n\ntype Props = {\n entity: Entity;\n enabled: boolean;\n};\n\nconst MAX_HISTORY_ROWS = 32;\n\nexport const DEFAULT_HISTORY_FILTER: HistoryFilter = {\n activities: [HistoryActivityType.MERGE, HistoryActivityType.UNMERGE, HistoryActivityType.UPDATE]\n};\n\nexport const isDefaultFilter = (filter: HistoryFilter): boolean => {\n return pipe(\n evolve({activities: difference(DEFAULT_HISTORY_FILTER.activities)}),\n reject(either(isNil, isEmpty)),\n isEmpty\n )(filter || {});\n};\n\nexport const useHistory = ({entity, enabled}: Props) => {\n const [historyFilter, setHistoryFilter] = useState(DEFAULT_HISTORY_FILTER);\n const [historyPage, setHistoryPage] = useState(0);\n\n const historyFilterString = useMemo(() => buildHistoryFilterString(historyFilter), [historyFilter]);\n\n const [historicUris, setHistoricUris] = useState<string[]>(null);\n const [historyWithTotal, setHistoryWithTotal] = useState<HistoryWithTotal>(null);\n const [isLoading, setIsLoading] = useState(false);\n const safePromise = useSafePromise();\n const entityUri = entity?.uri;\n const options = {max: MAX_HISTORY_ROWS, order: 'desc'};\n const showAll = isEmptyValue(historyFilter?.attributes) || undefined;\n\n const loadHistoryWithTotal = () => {\n setIsLoading(true);\n return safePromise(\n getHistoryWithTotal({\n entityUri,\n historicUris,\n filter: historyFilterString,\n showAll,\n ...options\n })\n )\n .then(setHistoryWithTotal)\n .catch((e) => {\n console.warn('Failed to load history data', e);\n setHistoryWithTotal(null);\n })\n .finally(() => {\n setIsLoading(false);\n });\n };\n\n useEffect(() => {\n if (entityUri && enabled) {\n loadHistoryWithTotal();\n }\n }, [historyFilterString, showAll, historicUris]);\n\n const loadHistoricUris = () => {\n setIsLoading(true);\n return safePromise(getHistoricUris({entityUri}))\n .then((historicUris) => {\n setHistoricUris(historicUris);\n })\n .catch((e) => {\n console.warn('Failed to load history data', e);\n setHistoricUris(null);\n })\n .finally(() => {\n setIsLoading(false);\n });\n };\n\n useEffect(() => {\n if (entityUri && enabled) {\n loadHistoricUris();\n setHistoryPage(0);\n }\n }, [entityUri, entity?.updatedTime, enabled]);\n\n const loadMore = useCallback(\n (offset: number) => {\n if (entityUri && historicUris && enabled) {\n setIsLoading(true);\n safePromise(\n getHistoryWithTotal({\n entityUri,\n historicUris,\n filter: historyFilterString,\n showAll,\n offset,\n ...options\n })\n )\n .then((results) => {\n setHistoryWithTotal((prev) => ({...prev, changes: [...prev?.changes, ...results.changes]}));\n })\n .catch((e) => {\n console.warn('Failed to load history data', e);\n })\n .finally(() => {\n setIsLoading(false);\n });\n }\n },\n [historicUris, historyFilterString, enabled]\n );\n\n const canLoadMore = useMemo(() => (historyPage + 1) * MAX_HISTORY_ROWS < historyWithTotal?.total, [\n historyWithTotal,\n historyPage\n ]);\n\n const onApplyFilter = useCallback((filter: HistoryFilter) => {\n setHistoryPage(0);\n setHistoryFilter(filter);\n }, []);\n\n const onClearFilter = useCallback(() => {\n onApplyFilter({...DEFAULT_HISTORY_FILTER});\n }, []);\n\n const onLoadMore = useCallback(() => {\n if (!canLoadMore) return;\n loadMore((historyPage + 1) * MAX_HISTORY_ROWS);\n setHistoryPage(historyPage + 1);\n }, [loadMore, historyPage, canLoadMore]);\n\n return {\n isLoading,\n canLoadMore,\n onLoadMore,\n onApplyFilter,\n onClearFilter,\n historicUris,\n historyWithTotal,\n historyFilter\n };\n};\n","import {useEffect, useState} from 'react';\nimport {isTempUri, isDataTenantEntity, Entity} from '@reltio/mdm-sdk';\n\ntype Props = {\n isHistoryTabActive: boolean;\n entity: Entity;\n};\n\nexport const useHistoryEnabled = ({isHistoryTabActive, entity}: Props) => {\n const [wasHistoryTabActive, setWasHistoryTabActive] = useState(false);\n const entityUri = entity?.uri;\n useEffect(() => {\n if (!isHistoryTabActive) {\n setWasHistoryTabActive(false);\n }\n }, [entityUri]);\n\n useEffect(() => {\n if (isHistoryTabActive) {\n setWasHistoryTabActive(true);\n }\n }, [isHistoryTabActive]);\n\n const isProfilePersisted = entityUri && !isTempUri(entityUri) && !isDataTenantEntity(entity);\n const isHistoryEnabled = wasHistoryTabActive && isProfilePersisted;\n\n return {isHistoryEnabled, isProfilePersisted};\n};\n","import {useState, useEffect} from 'react';\nimport {useSelector, useDispatch} from 'react-redux';\nimport mdmModule, {HistoryEvent, profile} from '@reltio/mdm-module';\nimport {Entity, getEntityTimeSlice} from '@reltio/mdm-sdk';\nimport {useSafePromise} from '../../../hooks';\n\ntype Props = {\n entity: Entity;\n historyEvent: HistoryEvent;\n};\n\nexport const useHistorySlice = ({entity, historyEvent}: Props) => {\n const [isLoading, setIsLoading] = useState(false);\n const historySlice = useSelector(mdmModule.selectors.getHistorySlice);\n const dispatch = useDispatch();\n const safePromise = useSafePromise();\n\n const {aStamp, bStamp, overrideUri} = historyEvent || {};\n const entityUri = overrideUri || entity?.uri;\n\n useEffect(() => {\n if (historyEvent && entityUri) {\n setIsLoading(true);\n safePromise(\n Promise.all([\n getEntityTimeSlice(entityUri, aStamp),\n bStamp && bStamp !== 1 ? getEntityTimeSlice(entityUri, bStamp) : Promise.resolve(null)\n ])\n )\n .then(([aEntity, bEntity]) => {\n dispatch(profile.history.actions.setHistorySlice({aEntity, bEntity}));\n })\n .catch((e) => {\n console.warn('Failed to load entity slice', e);\n })\n .finally(() => {\n setIsLoading(false);\n });\n }\n }, [aStamp, bStamp, entityUri]);\n\n return {isLoading, historySlice};\n};\n","import {ActivityTypes} from '../../activityLog/types/ActivityTypes';\n\nenum FakeTypes {\n FAKE_NAVIGATE_PROFILE = 'FAKE_NAVIGATE_PROFILE',\n FAKE_FILTERED_INCOMING = 'FAKE_FILTERED_INCOMING',\n FAKE_FILTERED_OUTGOING = 'FAKE_FILTERED_OUTGOING',\n FAKE_UPDATE = 'FAKE_UPDATE'\n}\n\nexport const HistoryChangeTypes = {...ActivityTypes, ...FakeTypes};\nexport type HistoryChangeTypes = typeof HistoryChangeTypes;\n","import {AttributeOption, DateRangeFilter} from '../../../types';\n\nexport enum HistoryActivityType {\n UPDATE = 'UPDATE',\n MERGE = 'MERGE',\n UNMERGE = 'UNMERGE'\n}\n\nexport type HistoryFilter = {\n dateRange?: DateRangeFilter;\n users?: string[];\n activities?: HistoryActivityType[];\n attributes?: AttributeOption[];\n};\n","import moment from 'moment';\nimport {\n type,\n pipe,\n defaultTo,\n reject,\n map,\n join,\n cond,\n equals,\n append,\n concat,\n chain,\n evolve,\n values,\n over,\n lensProp\n} from 'ramda';\nimport {isEmptyValue, escapeQueryValue} from '@reltio/mdm-sdk';\nimport {HistoryActivityType} from '../types/HistoryFilter';\nimport {ActivityTypes} from '../../activityLog/types/ActivityTypes';\nimport {DateRangeFilter, DateRangeTypes, AttributeOption} from '../../../types';\n\nconst wrapInBrackets = (str) => `(${str})`;\nconst multiValueFilter = (filterClauseFn) => pipe(map(filterClauseFn), join(' or '));\nconst durationToTimestamp = (period) => {\n const [amount, unit] = period;\n return moment().subtract(amount, unit).valueOf();\n};\n\nconst convertHistoryTypes = chain(\n cond([\n [\n equals(HistoryActivityType.MERGE),\n () => [\n ActivityTypes.ENTITIES_MERGED,\n ActivityTypes.ENTITIES_MERGED_MANUALLY,\n ActivityTypes.ENTITIES_MERGED_ON_THE_FLY\n ]\n ],\n [equals(HistoryActivityType.UNMERGE), () => [ActivityTypes.ENTITIES_SPLITTED]],\n [equals(HistoryActivityType.UPDATE), () => [ActivityTypes.ENTITY_CHANGED]]\n ])\n);\n\nconst buildActivityFilterClause = pipe(\n defaultTo([]),\n convertHistoryTypes,\n concat([ActivityTypes.ENTITY_CREATED, ActivityTypes.ENTITY_REMOVED, ActivityTypes.ENTITY_LOST_MERGE]),\n multiValueFilter((value: string) => `equals(type, '${value}')`)\n);\nconst buildUserFilterClause = (user: string) => `equals(user, '${escapeQueryValue(user)}')`;\nconst buildAttributeFilterClause = (attribute: AttributeOption) => `changes(${escapeQueryValue(attribute.value)})`;\nconst buildDateRangeFilterClause = ({type, period}: DateRangeFilter) => {\n switch (type) {\n case DateRangeTypes.WITHIN: {\n return `gte(timestamp, ${durationToTimestamp(period)})`;\n }\n case DateRangeTypes.AGO: {\n return `lte(timestamp, ${durationToTimestamp(period)})`;\n }\n case DateRangeTypes.BETWEEN: {\n const [start, end] = period;\n return `gte(timestamp, ${start.valueOf()}) and lte(timestamp, ${moment(end).endOf('date').valueOf()})`;\n }\n default: {\n return '';\n }\n }\n};\n\nexport const buildHistoryFilterString = pipe(\n defaultTo({}),\n reject(isEmptyValue),\n evolve({\n users: multiValueFilter(buildUserFilterClause),\n attributes: multiValueFilter(buildAttributeFilterClause),\n dateRange: buildDateRangeFilterClause\n }),\n over(lensProp('activities'), buildActivityFilterClause),\n values,\n reject(isEmptyValue),\n append(\"not equals(user, 'collaboration-service')\"),\n map(wrapInBrackets),\n join(' and ')\n);\n\nexport const isDateRangeValid = (value: DateRangeFilter) => {\n if (value.type === DateRangeTypes.AGO || value.type === DateRangeTypes.WITHIN) {\n const [amount, unit] = value.period;\n return type(amount) === 'Number' && type(unit) === 'String' && amount > 0;\n } else if (value.type === DateRangeTypes.BETWEEN) {\n const [startDate, endDate] = value.period;\n return startDate instanceof Date && endDate instanceof Date;\n }\n};\n"],"names":["props","width","height","viewBox","fill","xmlns","cx","cy","r","fillOpacity","id","style","maskType","maskUnits","x","y","mask","fillRule","clipRule","d","opacity","x1","y1","x2","y2","gradientUnits","stopColor","stopOpacity","offset","useStyles","makeStyles","theme","root","display","flex","flexWrap","flexDirection","alignItems","justifyContent","overflow","minHeight","boxSizing","padding","logo","textBox","maxWidth","marginTop","text","color","palette","primary","fontSize","fontWeight","lineHeight","textAlign","secondaryText","letterSpacing","paddingTop","IconRenderer","AttributesListIcon","styles","className","Typography","dateRangeTypeOptions","DateRangeTypes","getDateRangeTypeLabel","type","i18n","title","paddingBottom","paddingLeft","intervalContainer","typeInput","marginRight","emptyDates","emptyInterval","value","onChange","isIntervalType","isBetweenType","initDatesInterval","period","initInterval","datesInterval","setDatesInterval","useState","interval","setInterval","selectedType","getCurrentPeriodByType","changePeriod","useDidUpdateEffect","classnames","variant","SimpleDropDownSelector","label","options","map","option","DateIntervalSelector","CustomDateRangeEditor","values","historyActivityOptions","HistoryActivityType","customStyles","input","currentStyles","menuPortal","zIndex","dropDownInput","backgroundColor","borderTop","valueContainer","overflowY","selectedHistoryActivityTypes","valueToOption","prepareValues","MultiSelect","pipe","defaultTo","pluck","TextFieldProps","classes","components","DropdownIndicator","DropdownIndicatorWithIconButton","menuPlacement","menuPortalTarget","document","body","popup","filterContainer","filterContainerScrollable","filterItem","filterControls","clearButton","paddingRight","filter","onApplyFilter","entityType","buttonRef","useRef","isOpen","setIsOpen","currentValue","setCurrentValue","activities","attributes","dateRange","users","buttonColor","isDefaultFilter","useEffect","handlePropChange","curry","propName","filterValue","togglePopup","useCallback","open","applyButtonHandler","isDateRangeValid","dissoc","clearAllButtonHandler","DEFAULT_HISTORY_FILTER","SmallIconButton","ref","icon","FilterListIcon","size","onClick","Popover","paper","anchorEl","current","onClose","anchorOrigin","vertical","horizontal","transformOrigin","UserSelector","selectedUsers","AttributeSelector","selectedAttributes","Button","menuItem","menuText","marginLeft","checkIcon","position","MenuItemRenderer","forwardRef","item","onMenuClose","noop","selected","MenuItem","e","Check","displayName","mode","useSelector","mdmModule","dispatch","useDispatch","handleModeChange","selectedMode","profile","menuItems","HistoryMode","DropDownMenuButton","buttonComponent","buttonProps","MoreVertIcon","menuId","margin","divider","count","filterButton","total","isNil","Divider","orientation","flexItem","Spacer","historyRow","cursor","background","content","left","top","rowHeader","badge","pointerEvents","textOverflow","whiteSpace","date","user","change","isCurrent","isSelected","uri","matchGroups","timestamp","getContributorColor","bold","getActivityLabel","join","isFakeHistoryType","HistoryChangeTypes","toX","toY","isDashed","lineData","isUp","isLeft","curveCenterY","getHistoryLinkCurve","stroke","strokeWidth","strokeDasharray","undefined","isCollapsed","showCollapseIcon","showLine","otherProps","radius","BUMP_RADIUS","LINE_MARGIN","HistoryCircleWithTooltip","withTooltip","HistoryCircle","memo","graphData","onHistoryCircleMouseOver","historyLanes","rows","rowPositions","links","rowLines","circles","reduce","acc","i","uris","fakeType","index","push","hasFakeType","circleUri","some","tooltipTitle","tooltipPlacement","onMouseOver","key","ROW_HEIGHT","isUpRight","forEach","contributorUri","contributorLane","rowHeight","Object","keys","length","entries","lifeTime","start","end","startIndex","endIndex","startY","endY","unshift","historyTree","gridTemplateColumns","graph","overflowX","history","minWidth","buttonContainer","gridColumnStart","gridColumnEnd","shadow","boxShadow","historyData","isLoading","canLoadMore","onLoadMore","entityUri","historyEvent","findPreviousChange","isEditableMode","mdm","metadata","setGraphData","isScrollable","setIsScrollable","selectedIndex","setSelectedIndex","isCurrentEventChange","overrideUri","aStamp","selectedChangeByIndex","currentEventChangeIndex","findIndex","graphRef","rowsRef","node","childNodes","clientHeight","handleGraphScroll","scrollWidth","clientWidth","scrollLeft","LinearLoadIndicator","onScroll","time","select","getEntity","then","crosswalks","uniqBy","prop","cw","crosswalkType","getCrosswalkType","identity","prevGraphData","row","handleWidth","onResize","window","confirm","Mode","aChange","bChange","bStamp","handleHistoryRowClick","useContributorStyles","borderWidth","borderStyle","borderColor","borderRadius","transition","active","inactive","clickable","selectedValues","onSelectValues","includes","without","handleClick","findClosestLife","startDistance","Math","abs","endDistance","borderBottom","historyWithTotal","contributorsUris","selectedUris","setSelectedUris","historyChanges","useMemo","checkChange","involvedUris","checkInUris","Array","isArray","involvedUri","findNextChange","drop","find","checkLaneUri","startNewLife","currentLife","updateLife","shouldAddNewLife","endLife","postProcessChanges","lostMergeChange","addPostProcess","rowChange","relatedLane","lifeTimeLength","checkLifeTime","postChange","postUri","fakeChange","extendLife","splice","indexOf","slice","Infinity","useHistoryTree","changes","evolve","difference","reject","either","isEmpty","useHistory","entity","enabled","historyFilter","setHistoryFilter","historyPage","setHistoryPage","historyFilterString","buildHistoryFilterString","historicUris","setHistoricUris","setHistoryWithTotal","setIsLoading","safePromise","useSafePromise","max","order","showAll","isEmptyValue","getHistoryWithTotal","catch","console","warn","finally","getHistoricUris","updatedTime","loadMore","results","prev","onClearFilter","useHistoryEnabled","isHistoryTabActive","wasHistoryTabActive","setWasHistoryTabActive","isProfilePersisted","isTempUri","isDataTenantEntity","isHistoryEnabled","useHistorySlice","historySlice","Promise","all","getEntityTimeSlice","resolve","aEntity","bEntity","FakeTypes","ActivityTypes","multiValueFilter","filterClauseFn","durationToTimestamp","amount","unit","moment","subtract","valueOf","convertHistoryTypes","chain","cond","equals","buildActivityFilterClause","concat","escapeQueryValue","attribute","endOf","over","lensProp","append","str","startDate","endDate","Date"],"sourceRoot":""}
|