@reltio/remotes 1.4.1470 → 1.4.1471
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/5709.js +1 -1
- package/5709.js.map +1 -1
- package/package.json +1 -1
package/5709.js
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
"use strict";(self.webpackChunk_reltio_remotes=self.webpackChunk_reltio_remotes||[]).push([[5709],{85709:(e,t,n)=>{n.d(t,{Z:()=>O});var r=n(24328),a=n.n(r),o=n(13980),l=n.n(o),i=n(45053),s=n(25461),c=n(14838),p=n(24998),u=n(94656),d=n(88473),f=n(13688),m=n(73038),g=n(17440),y=n(22273);function b(){return b=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e},b.apply(this,arguments)}const h=(0,r.forwardRef)(((e,t)=>{let{columnsData:n,rowsData:o,context:l,sorting:u,onSort:h,renderRowCell:v=c.Z,getRowCellHeight:O=s.Z,filters:x,onFilter:w,headRowHeight:E,maxRowValuesCount:T=1/0,autosizing:P,maxHeight:D}=e,C=function(e,t){if(null==e)return{};var n,r,a=function(e,t){if(null==e)return{};var n,r,a={},o=Object.keys(e);for(r=0;r<o.length;r++)n=o[r],t.indexOf(n)>=0||(a[n]=e[n]);return a}(e,t);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);for(r=0;r<o.length;r++)n=o[r],t.indexOf(n)>=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(a[n]=e[n])}return a}(e,["columnsData","rowsData","context","sorting","onSort","renderRowCell","getRowCellHeight","filters","onFilter","headRowHeight","maxRowValuesCount","autosizing","maxHeight"]);const j=(0,r.useMemo)((()=>(0,d.XJ)(n,x,w)),[n,x,w]),{tableRowsData:S,collapseContextValue:R}=(0,y.Z)({rowsData:o,columnsData:n,renderRowCell:v,getRowCellHeight:O,maxRowValuesCount:T});return a().createElement(m.x.Provider,{value:R},a().createElement(f.X.Provider,{value:l},a().createElement(i.default,b({autosizing:P,maxHeight:D,defaultRowHeight:48},C,{fixHead:S.length>0,headData:j,rowsData:S,sortField:(0,g.prop)("field",u),sortOrder:(0,g.prop)("order",u),onSort:h,headRowHeight:x?E+p.S:E,ref:t}))))})),v={columnsData:l().arrayOf(u.hy).isRequired,rowsData:l().arrayOf(l().object).isRequired,context:l().object,sorting:u.nI,onSort:l().func,filters:l().objectOf(u.Dq),onFilter:l().func,renderRowCell:l().func,getRowCellHeight:l().func,headRowHeight:l().number,maxRowValuesCount:l().number,defaultColumnWidth:l().number,defaultColumnMinWidth:l().number,classes:l().shape({highlightRow:l().string,cellBorder:l().string,dragColumnBody:l().string,dragColumnHead:l().string,draggableHeadCell:l().string,cellWrapper:l().string,cellContentWrapper:l().string,hoveredRowRightContentContainer:l().string,hoveredRowRightContentWrapper:l().string})};h.propTypes=v,h.displayName="BasicTable";const O=h},67353:(e,t,n)=>{n.d(t,{Z:()=>i});var r=n(24328),a=n.n(r),o=n(13980),l=n.n(o);const i=e=>{const t=t=>{let{columnFilter:n}=t,r=function(e,t){if(null==e)return{};var n,r,a=function(e,t){if(null==e)return{};var n,r,a={},o=Object.keys(e);for(r=0;r<o.length;r++)n=o[r],t.indexOf(n)>=0||(a[n]=e[n]);return a}(e,t);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);for(r=0;r<o.length;r++)n=o[r],t.indexOf(n)>=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(a[n]=e[n])}return a}(t,["columnFilter"]);return a().createElement("div",{style:{display:"flex",flexDirection:"column",height:"100%"}},a().createElement("div",{style:{display:"flex",flex:1}},a().createElement(e,r)),n)};return t.propTypes={columnFilter:l().node},t}},64091:(e,t,n)=>{n.d(t,{Z:()=>g});var r=n(13980),a=n.n(r),o=n(24328),l=n.n(o);const i=(0,n(79692).Z)({defaultWrapper:{whiteSpace:"nowrap",overflow:"hidden",textOverflow:"ellipsis",padding:"15px 25px 0 25px"},blobWrapper:{position:"relative",overflowY:"auto",overflowX:"hidden",whiteSpace:"pre",maxHeight:"100px",boxSizing:"border-box",padding:"15px 25px 0 25px"}}),s=e=>{e.stopPropagation()},c=e=>{let{value:t}=e;const n=i();return l().createElement("div",{className:n.blobWrapper,onScroll:s},t)};c.propTypes={value:a().node};const p=c;var u=n(72768),d=n(96318),f=n(95613);const m=e=>{const t=i(),{value:n,columnData:{dataTypeDefinition:r}}=e;if(r.type===d.oS0.TYPE_BLOB)return l().createElement(p,e);{const e=l().createElement(u.Z,{value:n,dataTypeDefinition:r});return l().createElement(f.Z,{value:e},l().createElement("div",{className:t.defaultWrapper},e))}};m.propTypes={value:a().any,columnData:a().shape({dataTypeDefinition:a().object})};const g=m},73038:(e,t,n)=>{n.d(t,{x:()=>a});var r=n(24328);const a=n.n(r)().createContext(null);a.displayName="RowCollapseContext"},13688:(e,t,n)=>{n.d(t,{X:()=>a});var r=n(24328);const a=n.n(r)().createContext(null);a.displayName="TableContext"},88473:(e,t,n)=>{n.d(t,{LY:()=>oe,XJ:()=>re,CA:()=>ne});var r=n(64091),a=n(24328),o=n.n(a),l=n(13980),i=n.n(l),s=n(83543),c=n(94079),p=n(49885),u=n(96318),d=n(52730);const f=(0,n(79692).Z)({"filter-chip":{flex:1,maxWidth:"100%",overflow:"hidden",justifyContent:"flex-start",marginRight:"-8px","&, &:focus":{backgroundColor:"rgba(0,0,0,0)"}},"filter-chip__label":{color:"rgba(0,0,0,0.87)",flex:1,overflow:"hidden",whiteSpace:"nowrap",textOverflow:"ellipsis"},"filter-chip__option-label":{color:"rgba(0,0,0,0.54)"}});var m=n(95613);const g=e=>{let{filterOption:t,filterValue:n,onDelete:r,dataTypeDefinition:a}=e;const l=(0,u.wNf)(t.value),i=t.label+(l?": ":""),s=f(),g=(0,d.useSelector)(p.ZP.selectors.getAttributePresentations),y=(0,d.useSelector)(p.ZP.selectors.getDateMask),b=(0,d.useSelector)(p.ZP.selectors.getDateTimeMask),h=(0,u.mB6)({attributePresentations:g,dataTypeDefinition:a,dateMask:y,dateTimeMask:b}),v=(0,u.mOr)(h,n),O=l?(0,u.Gzu)(t.value,v):"";return o().createElement(c.Chip,{label:o().createElement(m.Z,{value:i+O},o().createElement("div",{className:s["filter-chip__label"]},o().createElement("span",{className:s["filter-chip__option-label"]},i),O)),classes:{root:s["filter-chip"],label:s["filter-chip__label"]},onDelete:r})};g.propTypes={filterValue:u.NMQ,filterOption:i().shape({value:i().string,label:i().string}),onDelete:i().func,dataTypeDefinition:i().object};const y=g;var b=n(17440),h=n(79026),v=n(24754),O=n(72436);function x(){return x=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e},x.apply(this,arguments)}function w(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}const E=e=>{let{value:t,onChange:n,filterOptions:r,dataTypeDefinition:a,classes:l,valueEditorProps:i}=e;const s=(0,O.$B)(),[c]=r,p=t.filter||c.value,d=function(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?Object(arguments[t]):{},r=Object.keys(n);"function"==typeof Object.getOwnPropertySymbols&&(r=r.concat(Object.getOwnPropertySymbols(n).filter((function(e){return Object.getOwnPropertyDescriptor(n,e).enumerable})))),r.forEach((function(t){w(e,t,n[t])}))}return e}({},t,{filter:p}),f=(0,u.wNf)(p);return o().createElement(o().Fragment,null,o().createElement(h.Z,{TextFieldProps:O.pf,className:l.option,value:p,entries:r,onChange:(0,b.pipe)((0,b.assoc)("filter",b.__,d),(0,b.assoc)("values",[]),n),classes:{root:s.root,icon:s.icon}}),f&&o().createElement(v.Z,x({filter:d,onChange:(0,b.pipe)((0,b.assoc)("values",b.__,d),n),dataTypeDefinition:a},i)))};E.propTypes={value:u.vAw,onChange:i().func,filterOptions:i().arrayOf(i().shape({value:i().string,label:i().string})),dataTypeDefinition:i().object,classes:i().object,valueEditorProps:i().object};const T=E;var P=n(94656),D=n(24998),C=n(99341);const j=e=>{let{columnId:t,dataTypeDefinition:n,filter:r,filterOptionsData:l,onFilter:i}=e;const p=(0,D.y)(),[d,f]=(0,a.useState)(null),[m,g]=(0,a.useState)(r),h=(0,a.useRef)(null),v=(0,C.su)({id:t,dataTypeDefinition:n},m),O=e=>{e!==r&&i({columnId:t,filter:e})},x=()=>O(),w=()=>{(0,u.GMd)(v)?O(m):x(),f(null)},E=e=>l&&l.find((0,b.propEq)("value",e)),P=e=>(0,b.pipe)(E,(0,b.prop)("dataTypeDefinition"),(0,b.defaultTo)((0,u.l1V)(n,e)))(e),j=u.wSh.fromNull(l).map((0,b.pluck)("value")).orSome((0,u.Hyb)(n)).map((e=>{return{value:e,label:(t=e,(0,b.pipe)(E,(0,b.prop)("label"),(0,b.defaultTo)((0,u.XS2)(t)))(t))};var t}));return o().createElement("div",{ref:h,className:p.columnFilter},r&&o().createElement(y,{filterValue:r.value,filterOption:j.find((0,b.propEq)("value",r.filter)),onDelete:x,dataTypeDefinition:P(r.filter)}),o().createElement(c.IconButton,{className:p.dropDownButton,onClick:e=>f(e.currentTarget),disableFocusRipple:!0},o().createElement(s.Z,null)),o().createElement(c.Popover,{PaperProps:{style:{width:`${h.current?h.current.getBoundingClientRect().width:0}px`}},open:!!d,anchorEl:d,anchorOrigin:{vertical:"bottom",horizontal:"right"},transformOrigin:{vertical:"top",horizontal:"right"},classes:{paper:p.filterMenu},onEnter:()=>g(r),onClose:w},o().createElement(T,{classes:{option:p["filter-editor__option"]},value:v,onChange:(0,b.pipe)(C.GU,g),filterOptions:j,dataTypeDefinition:P(v.filter),valueEditorProps:{TextFieldProps:{onKeyPress:e=>{"Enter"===e.key&&(e.stopPropagation(),e.preventDefault(),w())}},fullWidth:!0}})))};j.propTypes={columnId:i().string,dataTypeDefinition:i().object,filter:P.Dq,onFilter:i().func,filterOptionsData:i().arrayOf(i().shape({value:i().string,label:i().string,dataTypeDefinition:i().object}))};const S=j;function R(){return R=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e},R.apply(this,arguments)}const _=e=>{let{filter:t,onFilter:n,filterable:r,filterOptions:a,dataTypeDefinition:l}=e;return e=>{const s=i=>{const{headCellData:{id:s}}=i,c=(0,D.y)(),p=r?o().createElement(S,{columnId:s,dataTypeDefinition:l,filter:t,filterOptionsData:a,onFilter:n}):o().createElement("div",{className:c.columnFilter});return o().createElement(e,R({},i,{columnFilter:p}))};return s.propTypes={headCellData:i().shape({id:i().string})},s}};function I(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}const k="total",F=".",N=(0,b.pipe)((0,b.split)(F),(0,b.dropLast)(1),(0,b.join)(F)),Z=(0,b.pipe)((0,b.split)(F),(0,b.dropLast)(1),(0,b.join)(F),(0,b.unless)(b.length,(0,b.always)(k))),M=(0,b.pipe)(N,Z),A=(e,t)=>(0,b.pipe)((0,b.pickBy)(((e,n)=>N(n)===t)),b.values,b.sum)(e),V=(e,t)=>{const n=M(t),r=(0,b.propOr)(0,n,e),a=A(e,N(t));if(a>r){const t=(0,b.assoc)(n,a,e);return n===k?t:V(t,n)}return e},z=(e,t)=>{let[n,r]=t;const a=Z(n),o=(0,b.propOr)(0,a,e)-A(e,n);if(o>0){const t=`${n}.${r.length-1}`,a=e[t];return(0,b.assoc)(t,a+o,e)}return e},H=(0,b.pipe)((0,b.reduce)(((e,t)=>V(function(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?Object(arguments[t]):{},r=Object.keys(n);"function"==typeof Object.getOwnPropertySymbols&&(r=r.concat(Object.getOwnPropertySymbols(n).filter((function(e){return Object.getOwnPropertyDescriptor(n,e).enumerable})))),r.forEach((function(t){I(e,t,n[t])}))}return e}({},e,{[t]:1}),t)),{}),(e=>(0,b.pipe)((0,b.omit)([k]),b.keys,(0,b.sortBy)(b.identity),(0,b.groupBy)(N),b.toPairs,(0,b.reduce)(z,e))(e))),L=(0,b.addIndex)(b.chain),Y=function(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:[];const[n]=e;return Array.isArray(n)?L(((e,n)=>Y(e,[...t,n])),e):{indexPath:t,values:e}},B=(0,b.curry)(((e,t)=>(0,b.pipe)((0,b.zip)(b.__,t.indexPath),b.unnest,(0,b.join)(F))(e)));var W=n(92332),q=n(67353);function G(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?Object(arguments[t]):{},r=Object.keys(n);"function"==typeof Object.getOwnPropertySymbols&&(r=r.concat(Object.getOwnPropertySymbols(n).filter((function(e){return Object.getOwnPropertyDescriptor(n,e).enumerable})))),r.forEach((function(t){X(e,t,n[t])}))}return e}function X(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}const $=(0,b.pipe)(((e,t,n,a)=>(o,l)=>{const i=e.findIndex((0,b.propEq)("id",l)),s=e[i],{rowCellValueRenderer:c=r.Z}=e[i];return o.map(((e,r)=>G({},e,{values:t({columnIndex:i,columnData:s,rowIndex:n,rowValue:a,cellIndex:r,cell:e,CellValueRenderer:c})})))}),b.mapObjIndexed),J=(e,t,n,r)=>a=>t?(0,b.mapObjIndexed)(((e,t,n,r)=>(a,o)=>{const l=e.findIndex((0,b.propEq)("id",o)),i=e[l];return a.map(((e,a)=>G({},e,{height:t({columnIndex:l,columnData:i,rowIndex:n,rowValue:r,cellIndex:a,cell:e})})))})(e,t,n,r),a):a,K=(0,b.pipe)((0,b.chain)((0,b.pluck)("nestedKey")),(0,b.reject)(b.isNil),b.uniq),U=(0,b.pipe)(b.values,K,H),Q=e=>{const t=U(e);return(0,b.isEmpty)(t)?e:(0,b.map)((e=>(0,b.map)((t=>G({},t,{rowSpan:e[t.nestedKey||k]}))))(t),e)},ee=e=>(0,b.reduce)(((t,n)=>{let{id:r,nestedPath:a}=n;return(0,b.assoc)(r,(o=a,l=e[r],o&&!(0,b.isEmpty)(l)?((e,t)=>(0,b.pipe)(Y,(e=>(0,b.map)((t=>G({},t,{nestedKey:B(e,t)}))))(e))(t))(o,l):[{values:(0,u.VGB)(l)}]),t);var o,l}),{}),te=e=>(0,b.unless)((()=>e===1/0),(0,b.map)((0,b.pipe)((0,b.reject)((t=>{let{indexPath:n}=t;return n&&n.some((t=>t>e-1))})),(0,b.map)((0,b.evolve)({values:(0,b.slice)(0,e)}))))),ne=function(e,t,n,r){let a=arguments.length>4&&void 0!==arguments[4]?arguments[4]:(0,b.always)(1/0);return e.map((0,b.pipe)(((e,o)=>(0,b.pipe)(ee(e),te(a(o)),Q,J(t,r,o,e),$(t,n,o,e))(t)),(0,b.objOf)("data")))},re=(e,t,n)=>e.map((e=>{let{id:r,label:a,description:o,sortable:l,filterable:i=!0,resizable:s,draggable:c,autoResize:p=!0,initialWidth:u,minWidth:d,dataTypeDefinition:f,filterOptions:m,headCellRenderer:g=(0,q.Z)(W.default)}=e;return{id:r,label:a,description:o,sortable:l,resizable:s,draggable:c,initialWidth:u,minWidth:d,autoResize:p,renderer:(0,b.unless)((()=>(0,b.isNil)(t)),_({dataTypeDefinition:f,filterable:i,filter:(0,b.prop)(r,t),filterOptions:m,onFilter:n}))(g)}})),ae=(0,b.reduce)(((e,t)=>{const n=(0,b.pipe)((0,b.chain)((0,b.propOr)([],"indexPath")),(0,b.map)((0,b.add)(1)),(0,b.reduce)(b.max,0))(t),r=(0,b.pipe)((0,b.pluck)("values"),(0,b.pluck)("length"),(0,b.reduce)(b.max,0))(t);return Math.max(e,n,r)}),0),oe=(e,t)=>(0,b.pipe)(ee(t),b.values,ae)(e)},25461:(e,t,n)=>{n.d(t,{Z:()=>a});var r=n(96318);const a=e=>{var t;let{columnData:n,cell:a}=e;const o=a.values.length;switch(null==n||null===(t=n.dataTypeDefinition)||void 0===t?void 0:t.type){case r.oS0.TYPE_BLOB:return 100*o;case r.oS0.TYPE_IMAGE:return 79*o+15;default:return 33*Math.max(o,1)+15}}},14838:(e,t,n)=>{n.d(t,{Z:()=>l});var r=n(24328),a=n.n(r);function o(){return o=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e},o.apply(this,arguments)}const l=e=>{let{cell:t,CellValueRenderer:n}=e,r=function(e,t){if(null==e)return{};var n,r,a=function(e,t){if(null==e)return{};var n,r,a={},o=Object.keys(e);for(r=0;r<o.length;r++)n=o[r],t.indexOf(n)>=0||(a[n]=e[n]);return a}(e,t);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);for(r=0;r<o.length;r++)n=o[r],t.indexOf(n)>=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(a[n]=e[n])}return a}(e,["cell","CellValueRenderer"]);return t.values.map(((e,t)=>a().createElement(n,o({key:t,value:e},r))))}},22273:(e,t,n)=>{n.d(t,{Z:()=>s});var r=n(24328),a=n(17440),o=n(88473),l=n(30634),i=n(20562);const s=e=>{let{rowsData:t,columnsData:n,renderRowCell:s,getRowCellHeight:c,maxRowValuesCount:p}=e;const[u,d]=(0,r.useState)([]),f=(0,r.useCallback)((e=>u.includes(e)?1/0:p),[u,p]),m=(0,r.useMemo)((()=>(0,o.CA)(t,n,s,c,f)),[t,n,s,c,f]),g=(0,r.useCallback)((e=>{d((t=>{const n=t.findIndex((0,a.equals)(e));return-1===n?t.concat(e):(0,a.remove)(n,1,t)}))}),[]),y=(0,r.useCallback)((e=>(0,o.LY)(n,e)>p),[p,n]),b=(0,r.useCallback)((e=>!u.includes(e)),[u]),h=(0,r.useMemo)((()=>({toggleRowCollapse:g,getIsRowCollapsible:y,getIsRowCollapsed:b})),[g,y,b]),v=(0,l.D)(t);return(0,i.D)((()=>{u.length>0&&d((0,a.filter)((e=>{const n=t[e]||{},r=v[e]||{};return n.rawValue===r.rawValue&&y(n)})))}),[t]),{tableRowsData:m,collapseContextValue:h}}},99341:(e,t,n)=>{n.d(t,{Tz:()=>i,su:()=>o,GU:()=>l});var r=n(96318),a=n(17440);const o=function(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return{fieldName:e.id,filter:t.filter,values:[t.value],type:e.dataTypeDefinition.type}},l=e=>{let{filter:t,values:n}=e;return{filter:t,value:n[0]}},i=(e,t)=>r.wSh.fromNull(t).map((t=>Object.entries(t).map((t=>{let[n,r]=t;const l=e.find((0,a.propEq)("id",n));return o(l,r)})))).map((0,r.Uqd)()).orSome("")},24998:(e,t,n)=>{n.d(t,{S:()=>a,y:()=>o});var r=n(79692);const a=40,o=(0,r.Z)({columnFilter:{backgroundColor:"rgba(0,0,0,0.03)",display:"flex",height:`${a}px`,alignItems:"center"},dropDownButton:{marginLeft:"auto",padding:"6px"},filterMenu:{marginTop:"3px",borderRadius:"2px",padding:"15px 20px",boxSizing:"border-box",display:"flex",flexDirection:"column",minWidth:"454px"},"filter-editor__option":{fontSize:"13px",color:"rgba(0,0,0,0.54)"}})},82943:(e,t,n)=>{n.d(t,{Z:()=>h});var r=n(24328),a=n.n(r),o=n(87918),l=n.n(o),i=n(37164),s=n(17440),c=n(23147),p=n(94079),u=n(22385),d=n(96318),f=n(43305),m=n(8459);const g=(0,n(79692).Z)((e=>({container:{display:"flex",flexDirection:"column",minHeight:"182px"},header:{display:"flex",paddingLeft:"10px",backgroundColor:"#FFFFFF"},title:{marginLeft:"10px",color:e.palette.text.primary,fontSize:"20px",fontWeight:500,letterSpacing:"0.25px",lineHeight:"24px"},dateRangeContainer:{display:"flex",flexGrow:1,whiteSpace:"nowrap",cursor:"default",paddingTop:"8px"},dateInput:{margin:"0 7px"},actionButtons:{display:"flex",justifyContent:"flex-end",height:"48px",margin:"0px 8px"},button:{width:"96px"}}))),y=(e,t)=>(0,s.pathOr)(null,[t],e),b=(0,r.forwardRef)(((e,t)=>{let{onCancel:n,onApply:o,values:s,type:b,minDate:h,maxDate:v}=e;const O=g(),x=(0,r.useRef)((0,i.x0)()),w=(0,r.useRef)((0,i.x0)()),[E,T]=(0,r.useState)(null),[P,D]=(0,r.useState)(null);a().useEffect((()=>{T(y(s,0)),D(y(s,1))}),[s]);const C=b===d.oS0.TYPE_TIMESTAMP?f.Z:m.Z,j=b===d.oS0.TYPE_TIMESTAMP?l().text("Pick date and time"):l().text("Pick date");return a().createElement("div",{className:O.container,ref:t,onKeyDown:e=>"Tab"===e.key&&e.stopPropagation()},a().createElement(p.Toolbar,{disableGutters:!0,classes:{root:O.header}},a().createElement(u.Z,{size:"L",icon:c.Z,onClick:n}),a().createElement(p.Typography,{className:O.title},j)),a().createElement("div",{className:O.dateRangeContainer},a().createElement(C,{id:x.current,label:"From",variant:"filled",value:E,onChange:e=>{T(e)},className:O.dateInput,margin:"dense",minDate:h,maxDate:v}),a().createElement(C,{id:w.current,label:"To",variant:"filled",value:P,onChange:e=>{D(e)},className:O.dateInput,margin:"dense",minDate:h,maxDate:v})),a().createElement("div",{className:O.actionButtons},a().createElement(p.Button,{color:"primary",onClick:()=>{o(E&&P&&E>P?[P,E]:[E,P])},className:O.button},l().text("Update"))))}));b.displayName="DateRangePicker";const h=b},96808:(e,t,n)=>{n.d(t,{Z:()=>m});var r=n(13980),a=n.n(r),o=n(24328),l=n.n(o),i=n(71153),s=n.n(i),c=n(10161),p=n(83543),u=n(22385);function d(){return d=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e},d.apply(this,arguments)}const f=e=>{const{selectProps:{classes:t,menuIsOpen:n},innerProps:r}=e,a=(0,c.m)();return l().createElement(u.Z,d({},r,{icon:p.Z,className:t.dropdownIndicator,size:"L",iconClassName:s()({[a.expanded]:n})}))};f.propTypes={innerProps:a().object.isRequired,selectProps:a().shape({classes:a().shape({dropdownIndicator:a().string}).isRequired,menuIsOpen:a().bool.isRequired}).isRequired};const m=f},59983:(e,t,n)=>{n.d(t,{Z:()=>P});var r=n(24328),a=n.n(r),o=n(71153),l=n.n(o),i=n(95038),s=n.n(i),c=n(87918),p=n.n(c),u=n(17440),d=n(96318),f=n(86619),m=n(94079),g=n(48348);const y=(0,u.curry)(((e,t,n,r)=>(0,u.cond)([[d.O27,(0,u.always)({value:"",label:""})],[(0,u.is)(Array),n=>({value:n,label:n.map((n=>((e,t,n)=>(0,u.isNil)(e)?`${n}`:`${(0,d.mB6)({dataTypeDefinition:t},e)}`)(n,t,e))).join(" — ")})],[(0,u.is)(String),e=>r.find((0,u.propEq)("value",e))]])(n))),b=(0,u.pipe)(d.VQ1,(0,u.defaultTo)([]),(0,u.map)((e=>e&&new Date(e))));var h=n(96808),v=n(82943);const O=(0,n(79692).Z)((e=>({dropdownIndicator:{transition:"transform .15s ease",cursor:"pointer",color:"rgba(0, 0, 0, 0.54)"},paper:{minWidth:"112px"},menuItem:{minHeight:"32px"},menuText:{color:e.palette.text.primary,fontSize:"13px",lineHeight:"15px",letterSpacing:0},underline:{"&:after":{transform:"scaleX(1)"}},inputLabel:{color:e.palette.primary.main},adornedEnd:{paddingRight:4},inputRoot:{fontSize:"14px",letterSpacing:0,lineHeight:"16px"}})));function x(){return x=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e},x.apply(this,arguments)}function w(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?Object(arguments[t]):{},r=Object.keys(n);"function"==typeof Object.getOwnPropertySymbols&&(r=r.concat(Object.getOwnPropertySymbols(n).filter((function(e){return Object.getOwnPropertyDescriptor(n,e).enumerable})))),r.forEach((function(t){E(e,t,n[t])}))}return e}function E(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}const T=s().localeData().longDateFormat("L"),P=e=>{var t;let{label:n,values:o,options:i,getValuesDateRange:s=b,onChange:c=u.identity,dataTypeDefinition:E={type:d.oS0.TYPE_DATE},DateRangePickerProps:P,TextFieldProps:D,MenuProps:C}=e,j=function(e,t){if(null==e)return{};var n,r,a=function(e,t){if(null==e)return{};var n,r,a={},o=Object.keys(e);for(r=0;r<o.length;r++)n=o[r],t.indexOf(n)>=0||(a[n]=e[n]);return a}(e,t);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);for(r=0;r<o.length;r++)n=o[r],t.indexOf(n)>=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(a[n]=e[n])}return a}(e,["label","values","options","getValuesDateRange","onChange","dataTypeDefinition","DateRangePickerProps","TextFieldProps","MenuProps"]);const{classes:S}=j,R=T+(E.type===d.oS0.TYPE_TIMESTAMP?" HH:MM":""),_=(0,r.useMemo)((()=>i||Object.values(d.XYV).map((e=>({value:e,label:(0,d.mm2)(e)})))),[i]),I=(0,r.useRef)(null),[k,F]=(0,r.useState)(!1),[N,Z]=(0,r.useState)(),M=O(),A=e=>{e===d.XYV.PICK_DATE?Z(e):(F(!1),Z(null),c(e))},V=(0,r.useCallback)((()=>F((e=>!e))),[]),z=()=>{Z(null),F(!1)};return a().createElement(a().Fragment,null,a().createElement(f.Z,x({},D,j,{label:n,value:(null==D?void 0:D.value)||(null===(t=y(R,E,N||o,_))||void 0===t?void 0:t.label),onClick:V,variant:"filled",margin:"dense",ref:I,InputProps:w({endAdornment:a().createElement(h.Z,{selectProps:{classes:{dropdownIndicator:l()(M.dropdownIndicator,null==S?void 0:S.dropdownIndicator)},menuIsOpen:k},innerProps:{}}),classes:{root:M.inputRoot,underline:l()({[M.underline]:k}),adornedEnd:M.adornedEnd},disableUnderline:(0,u.isNil)(o),readOnly:!0},null==D?void 0:D.InputProps),InputLabelProps:{classes:{root:k?M.inputLabel:void 0},shrink:!(0,u.isNil)(n)},placeholder:p().text(`${R} — ${R}`)})),a().createElement(g.Z,x({variant:"menu",open:k,autoFocus:!1,classes:{paper:M.paper},anchorEl:I.current,onClose:z,anchorOrigin:{vertical:"bottom",horizontal:"left"},transformOrigin:{vertical:"top",horizontal:"left"},elevation:2,getContentAnchorEl:null,MenuListProps:{autoFocusItem:k,style:{width:N?"100%":(0,u.prop)("clientWidth",I.current)}}},C),N?a().createElement(v.Z,x({values:s(o),onCancel:z,onApply:A,type:E.type},P)):_.map((e=>a().createElement(m.MenuItem,{key:e.value,value:e.value,onClick:()=>A(e.value),className:M.menuItem},a().createElement(m.Typography,{classes:{root:M.menuText}},e.label))))))}},24754:(e,t,n)=>{n.d(t,{Z:()=>x});var r=n(28117),a=n(13980),o=n.n(a),l=n(24328),i=n.n(l),s=n(87918),c=n.n(s),p=n(96318),u=n(17440),d=n(37164),f=n(94079);const m=(0,n(79692).Z)({"range-editor":{width:"100%"},"range-editor__control":{marginTop:"10px",paddingTop:"15px","& > label + *":{marginTop:0}},"range-inline-editor":{display:"flex",alignItems:"center",flexGrow:1},"range-editor__dash":{padding:"0 5px"}});function g(){return g=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e},g.apply(this,arguments)}const y=e=>{let{value:t=new Array(2),onChange:n,orientation:a="vertical"}=e,o=function(e,t){if(null==e)return{};var n,r,a=function(e,t){if(null==e)return{};var n,r,a={},o=Object.keys(e);for(r=0;r<o.length;r++)n=o[r],t.indexOf(n)>=0||(a[n]=e[n]);return a}(e,t);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);for(r=0;r<o.length;r++)n=o[r],t.indexOf(n)>=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(a[n]=e[n])}return a}(e,["value","onChange","orientation"]);const s=m(),p=(0,l.useRef)((0,d.x0)()),y=(0,l.useRef)((0,d.x0)()),b=i().createElement(r.Z,g({id:p.current,value:t[0],onChange:(0,u.pipe)((0,u.update)(0,u.__,t),n)},o)),h=i().createElement(r.Z,g({id:y.current,value:t[1],onChange:(0,u.pipe)((0,u.update)(1,u.__,t),n)},o));return"horizontal"===a?i().createElement("div",{className:s["range-inline-editor"]},b,i().createElement("div",{className:s["range-editor__dash"]},"—"),h):i().createElement("div",{className:s["range-editor"]},i().createElement(f.FormControl,{fullWidth:!0,className:s["range-editor__control"]},i().createElement(f.InputLabel,{htmlFor:p.current,shrink:!0},c().text("From")),b),i().createElement(f.FormControl,{fullWidth:!0,className:s["range-editor__control"]},i().createElement(f.InputLabel,{htmlFor:y.current,shrink:!0},c().text("To")),h))};y.propTypes={value:o().arrayOf(o().any),onChange:o().func,fieldName:o().string,orientation:o().oneOf(["horizontal","vertical"]),dataTypeDefinition:o().object,classes:o().object};const b=y;var h=n(59983);function v(){return v=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e},v.apply(this,arguments)}const O=e=>{let{filter:{values:t=[],fieldName:n,filter:a},onChange:o,dataTypeDefinition:l,orientation:s,TextFieldProps:d}=e,f=function(e,t){if(null==e)return{};var n,r,a=function(e,t){if(null==e)return{};var n,r,a={},o=Object.keys(e);for(r=0;r<o.length;r++)n=o[r],t.indexOf(n)>=0||(a[n]=e[n]);return a}(e,t);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);for(r=0;r<o.length;r++)n=o[r],t.indexOf(n)>=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(a[n]=e[n])}return a}(e,["filter","onChange","dataTypeDefinition","orientation","TextFieldProps"]);const{type:m}=l,g=(0,p.mOr)((e=>t=>{switch(e){case p.oS0.TYPE_DATE:return(0,p.J6D)(t)?t:p.P6Y.dates.toLocalDate(t);case p.oS0.TYPE_LOCAL_DATE:case p.oS0.TYPE_TIMESTAMP:case p.oS0.TYPE_ACTIVENESS_DATE:return(0,p.J6D)(t)?t:new Date(t);default:return t}})(m))(t[0]),y=(0,u.pipe)((0,p.mOr)((e=>t=>{switch(e){case p.oS0.TYPE_DATE:return(0,p.J6D)(t)?t:Date.UTC(t.getFullYear(),t.getMonth(),t.getDate());case p.oS0.TYPE_LOCAL_DATE:case p.oS0.TYPE_ACTIVENESS_DATE:case p.oS0.TYPE_TIMESTAMP:return(0,p.J6D)(t)?t:t.valueOf();default:return t}})(m)),p.FTe,o);if((0,p._zi)(a))return i().createElement(h.Z,v({},f,{values:g,onChange:y,dataTypeDefinition:l,label:c().text("Date Range")}));if((0,p.fp6)(a))return i().createElement(b,v({},f,{value:g,onChange:y,fieldName:n,dataTypeDefinition:l,orientation:s,TextFieldProps:d}));{const e=(0,p.ymH)(a)?{multiple:!0}:{};return i().createElement(r.Z,v({},f,e,{fieldName:n,value:g,onChange:y,dataTypeDefinition:l,TextFieldProps:d}))}};O.propTypes={filter:p.vAw,orientation:o().oneOf(["horizontal","vertical"]),onChange:o().func,dataTypeDefinition:o().object,classes:o().object,TextFieldProps:o().object};const x=O}}]);
|
|
1
|
+
"use strict";(self.webpackChunk_reltio_remotes=self.webpackChunk_reltio_remotes||[]).push([[5709],{85709:(e,t,n)=>{n.d(t,{Z:()=>O});var r=n(24328),a=n.n(r),o=n(13980),l=n.n(o),i=n(45053),s=n(25461),c=n(14838),p=n(24998),u=n(94656),d=n(88473),f=n(13688),m=n(73038),g=n(17440),y=n(22273);function b(){return b=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e},b.apply(this,arguments)}const h=(0,r.forwardRef)(((e,t)=>{let{columnsData:n,rowsData:o,context:l,sorting:u,onSort:h,renderRowCell:v=c.Z,getRowCellHeight:O=s.Z,filters:x,onFilter:w,headRowHeight:E,maxRowValuesCount:T=1/0,autosizing:P,maxHeight:D}=e,C=function(e,t){if(null==e)return{};var n,r,a=function(e,t){if(null==e)return{};var n,r,a={},o=Object.keys(e);for(r=0;r<o.length;r++)n=o[r],t.indexOf(n)>=0||(a[n]=e[n]);return a}(e,t);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);for(r=0;r<o.length;r++)n=o[r],t.indexOf(n)>=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(a[n]=e[n])}return a}(e,["columnsData","rowsData","context","sorting","onSort","renderRowCell","getRowCellHeight","filters","onFilter","headRowHeight","maxRowValuesCount","autosizing","maxHeight"]);const j=(0,r.useMemo)((()=>(0,d.XJ)(n,x,w)),[n,x,w]),{tableRowsData:S,collapseContextValue:R}=(0,y.Z)({rowsData:o,columnsData:n,renderRowCell:v,getRowCellHeight:O,maxRowValuesCount:T});return j.length?a().createElement(m.x.Provider,{value:R},a().createElement(f.X.Provider,{value:l},a().createElement(i.default,b({autosizing:P,maxHeight:D,defaultRowHeight:48},C,{fixHead:S.length>0,headData:j,rowsData:S,sortField:(0,g.prop)("field",u),sortOrder:(0,g.prop)("order",u),onSort:h,headRowHeight:x?E+p.S:E,ref:t})))):null})),v={columnsData:l().arrayOf(u.hy).isRequired,rowsData:l().arrayOf(l().object).isRequired,context:l().object,sorting:u.nI,onSort:l().func,filters:l().objectOf(u.Dq),onFilter:l().func,renderRowCell:l().func,getRowCellHeight:l().func,headRowHeight:l().number,maxRowValuesCount:l().number,defaultColumnWidth:l().number,defaultColumnMinWidth:l().number,classes:l().shape({highlightRow:l().string,cellBorder:l().string,dragColumnBody:l().string,dragColumnHead:l().string,draggableHeadCell:l().string,cellWrapper:l().string,cellContentWrapper:l().string,hoveredRowRightContentContainer:l().string,hoveredRowRightContentWrapper:l().string})};h.propTypes=v,h.displayName="BasicTable";const O=h},67353:(e,t,n)=>{n.d(t,{Z:()=>i});var r=n(24328),a=n.n(r),o=n(13980),l=n.n(o);const i=e=>{const t=t=>{let{columnFilter:n}=t,r=function(e,t){if(null==e)return{};var n,r,a=function(e,t){if(null==e)return{};var n,r,a={},o=Object.keys(e);for(r=0;r<o.length;r++)n=o[r],t.indexOf(n)>=0||(a[n]=e[n]);return a}(e,t);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);for(r=0;r<o.length;r++)n=o[r],t.indexOf(n)>=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(a[n]=e[n])}return a}(t,["columnFilter"]);return a().createElement("div",{style:{display:"flex",flexDirection:"column",height:"100%"}},a().createElement("div",{style:{display:"flex",flex:1}},a().createElement(e,r)),n)};return t.propTypes={columnFilter:l().node},t}},64091:(e,t,n)=>{n.d(t,{Z:()=>g});var r=n(13980),a=n.n(r),o=n(24328),l=n.n(o);const i=(0,n(79692).Z)({defaultWrapper:{whiteSpace:"nowrap",overflow:"hidden",textOverflow:"ellipsis",padding:"15px 25px 0 25px"},blobWrapper:{position:"relative",overflowY:"auto",overflowX:"hidden",whiteSpace:"pre",maxHeight:"100px",boxSizing:"border-box",padding:"15px 25px 0 25px"}}),s=e=>{e.stopPropagation()},c=e=>{let{value:t}=e;const n=i();return l().createElement("div",{className:n.blobWrapper,onScroll:s},t)};c.propTypes={value:a().node};const p=c;var u=n(72768),d=n(96318),f=n(95613);const m=e=>{const t=i(),{value:n,columnData:{dataTypeDefinition:r}}=e;if(r.type===d.oS0.TYPE_BLOB)return l().createElement(p,e);{const e=l().createElement(u.Z,{value:n,dataTypeDefinition:r});return l().createElement(f.Z,{value:e},l().createElement("div",{className:t.defaultWrapper},e))}};m.propTypes={value:a().any,columnData:a().shape({dataTypeDefinition:a().object})};const g=m},73038:(e,t,n)=>{n.d(t,{x:()=>a});var r=n(24328);const a=n.n(r)().createContext(null);a.displayName="RowCollapseContext"},13688:(e,t,n)=>{n.d(t,{X:()=>a});var r=n(24328);const a=n.n(r)().createContext(null);a.displayName="TableContext"},88473:(e,t,n)=>{n.d(t,{LY:()=>oe,XJ:()=>re,CA:()=>ne});var r=n(64091),a=n(24328),o=n.n(a),l=n(13980),i=n.n(l),s=n(83543),c=n(94079),p=n(49885),u=n(96318),d=n(52730);const f=(0,n(79692).Z)({"filter-chip":{flex:1,maxWidth:"100%",overflow:"hidden",justifyContent:"flex-start",marginRight:"-8px","&, &:focus":{backgroundColor:"rgba(0,0,0,0)"}},"filter-chip__label":{color:"rgba(0,0,0,0.87)",flex:1,overflow:"hidden",whiteSpace:"nowrap",textOverflow:"ellipsis"},"filter-chip__option-label":{color:"rgba(0,0,0,0.54)"}});var m=n(95613);const g=e=>{let{filterOption:t,filterValue:n,onDelete:r,dataTypeDefinition:a}=e;const l=(0,u.wNf)(t.value),i=t.label+(l?": ":""),s=f(),g=(0,d.useSelector)(p.ZP.selectors.getAttributePresentations),y=(0,d.useSelector)(p.ZP.selectors.getDateMask),b=(0,d.useSelector)(p.ZP.selectors.getDateTimeMask),h=(0,u.mB6)({attributePresentations:g,dataTypeDefinition:a,dateMask:y,dateTimeMask:b}),v=(0,u.mOr)(h,n),O=l?(0,u.Gzu)(t.value,v):"";return o().createElement(c.Chip,{label:o().createElement(m.Z,{value:i+O},o().createElement("div",{className:s["filter-chip__label"]},o().createElement("span",{className:s["filter-chip__option-label"]},i),O)),classes:{root:s["filter-chip"],label:s["filter-chip__label"]},onDelete:r})};g.propTypes={filterValue:u.NMQ,filterOption:i().shape({value:i().string,label:i().string}),onDelete:i().func,dataTypeDefinition:i().object};const y=g;var b=n(17440),h=n(79026),v=n(24754),O=n(72436);function x(){return x=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e},x.apply(this,arguments)}function w(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}const E=e=>{let{value:t,onChange:n,filterOptions:r,dataTypeDefinition:a,classes:l,valueEditorProps:i}=e;const s=(0,O.$B)(),[c]=r,p=t.filter||c.value,d=function(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?Object(arguments[t]):{},r=Object.keys(n);"function"==typeof Object.getOwnPropertySymbols&&(r=r.concat(Object.getOwnPropertySymbols(n).filter((function(e){return Object.getOwnPropertyDescriptor(n,e).enumerable})))),r.forEach((function(t){w(e,t,n[t])}))}return e}({},t,{filter:p}),f=(0,u.wNf)(p);return o().createElement(o().Fragment,null,o().createElement(h.Z,{TextFieldProps:O.pf,className:l.option,value:p,entries:r,onChange:(0,b.pipe)((0,b.assoc)("filter",b.__,d),(0,b.assoc)("values",[]),n),classes:{root:s.root,icon:s.icon}}),f&&o().createElement(v.Z,x({filter:d,onChange:(0,b.pipe)((0,b.assoc)("values",b.__,d),n),dataTypeDefinition:a},i)))};E.propTypes={value:u.vAw,onChange:i().func,filterOptions:i().arrayOf(i().shape({value:i().string,label:i().string})),dataTypeDefinition:i().object,classes:i().object,valueEditorProps:i().object};const T=E;var P=n(94656),D=n(24998),C=n(99341);const j=e=>{let{columnId:t,dataTypeDefinition:n,filter:r,filterOptionsData:l,onFilter:i}=e;const p=(0,D.y)(),[d,f]=(0,a.useState)(null),[m,g]=(0,a.useState)(r),h=(0,a.useRef)(null),v=(0,C.su)({id:t,dataTypeDefinition:n},m),O=e=>{e!==r&&i({columnId:t,filter:e})},x=()=>O(),w=()=>{(0,u.GMd)(v)?O(m):x(),f(null)},E=e=>l&&l.find((0,b.propEq)("value",e)),P=e=>(0,b.pipe)(E,(0,b.prop)("dataTypeDefinition"),(0,b.defaultTo)((0,u.l1V)(n,e)))(e),j=u.wSh.fromNull(l).map((0,b.pluck)("value")).orSome((0,u.Hyb)(n)).map((e=>{return{value:e,label:(t=e,(0,b.pipe)(E,(0,b.prop)("label"),(0,b.defaultTo)((0,u.XS2)(t)))(t))};var t}));return o().createElement("div",{ref:h,className:p.columnFilter},r&&o().createElement(y,{filterValue:r.value,filterOption:j.find((0,b.propEq)("value",r.filter)),onDelete:x,dataTypeDefinition:P(r.filter)}),o().createElement(c.IconButton,{className:p.dropDownButton,onClick:e=>f(e.currentTarget),disableFocusRipple:!0},o().createElement(s.Z,null)),o().createElement(c.Popover,{PaperProps:{style:{width:`${h.current?h.current.getBoundingClientRect().width:0}px`}},open:!!d,anchorEl:d,anchorOrigin:{vertical:"bottom",horizontal:"right"},transformOrigin:{vertical:"top",horizontal:"right"},classes:{paper:p.filterMenu},onEnter:()=>g(r),onClose:w},o().createElement(T,{classes:{option:p["filter-editor__option"]},value:v,onChange:(0,b.pipe)(C.GU,g),filterOptions:j,dataTypeDefinition:P(v.filter),valueEditorProps:{TextFieldProps:{onKeyPress:e=>{"Enter"===e.key&&(e.stopPropagation(),e.preventDefault(),w())}},fullWidth:!0}})))};j.propTypes={columnId:i().string,dataTypeDefinition:i().object,filter:P.Dq,onFilter:i().func,filterOptionsData:i().arrayOf(i().shape({value:i().string,label:i().string,dataTypeDefinition:i().object}))};const S=j;function R(){return R=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e},R.apply(this,arguments)}const _=e=>{let{filter:t,onFilter:n,filterable:r,filterOptions:a,dataTypeDefinition:l}=e;return e=>{const s=i=>{const{headCellData:{id:s}}=i,c=(0,D.y)(),p=r?o().createElement(S,{columnId:s,dataTypeDefinition:l,filter:t,filterOptionsData:a,onFilter:n}):o().createElement("div",{className:c.columnFilter});return o().createElement(e,R({},i,{columnFilter:p}))};return s.propTypes={headCellData:i().shape({id:i().string})},s}};function I(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}const k="total",F=".",N=(0,b.pipe)((0,b.split)(F),(0,b.dropLast)(1),(0,b.join)(F)),Z=(0,b.pipe)((0,b.split)(F),(0,b.dropLast)(1),(0,b.join)(F),(0,b.unless)(b.length,(0,b.always)(k))),M=(0,b.pipe)(N,Z),A=(e,t)=>(0,b.pipe)((0,b.pickBy)(((e,n)=>N(n)===t)),b.values,b.sum)(e),V=(e,t)=>{const n=M(t),r=(0,b.propOr)(0,n,e),a=A(e,N(t));if(a>r){const t=(0,b.assoc)(n,a,e);return n===k?t:V(t,n)}return e},z=(e,t)=>{let[n,r]=t;const a=Z(n),o=(0,b.propOr)(0,a,e)-A(e,n);if(o>0){const t=`${n}.${r.length-1}`,a=e[t];return(0,b.assoc)(t,a+o,e)}return e},H=(0,b.pipe)((0,b.reduce)(((e,t)=>V(function(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?Object(arguments[t]):{},r=Object.keys(n);"function"==typeof Object.getOwnPropertySymbols&&(r=r.concat(Object.getOwnPropertySymbols(n).filter((function(e){return Object.getOwnPropertyDescriptor(n,e).enumerable})))),r.forEach((function(t){I(e,t,n[t])}))}return e}({},e,{[t]:1}),t)),{}),(e=>(0,b.pipe)((0,b.omit)([k]),b.keys,(0,b.sortBy)(b.identity),(0,b.groupBy)(N),b.toPairs,(0,b.reduce)(z,e))(e))),L=(0,b.addIndex)(b.chain),Y=function(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:[];const[n]=e;return Array.isArray(n)?L(((e,n)=>Y(e,[...t,n])),e):{indexPath:t,values:e}},B=(0,b.curry)(((e,t)=>(0,b.pipe)((0,b.zip)(b.__,t.indexPath),b.unnest,(0,b.join)(F))(e)));var W=n(92332),q=n(67353);function G(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?Object(arguments[t]):{},r=Object.keys(n);"function"==typeof Object.getOwnPropertySymbols&&(r=r.concat(Object.getOwnPropertySymbols(n).filter((function(e){return Object.getOwnPropertyDescriptor(n,e).enumerable})))),r.forEach((function(t){X(e,t,n[t])}))}return e}function X(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}const $=(0,b.pipe)(((e,t,n,a)=>(o,l)=>{const i=e.findIndex((0,b.propEq)("id",l)),s=e[i],{rowCellValueRenderer:c=r.Z}=e[i];return o.map(((e,r)=>G({},e,{values:t({columnIndex:i,columnData:s,rowIndex:n,rowValue:a,cellIndex:r,cell:e,CellValueRenderer:c})})))}),b.mapObjIndexed),J=(e,t,n,r)=>a=>t?(0,b.mapObjIndexed)(((e,t,n,r)=>(a,o)=>{const l=e.findIndex((0,b.propEq)("id",o)),i=e[l];return a.map(((e,a)=>G({},e,{height:t({columnIndex:l,columnData:i,rowIndex:n,rowValue:r,cellIndex:a,cell:e})})))})(e,t,n,r),a):a,K=(0,b.pipe)((0,b.chain)((0,b.pluck)("nestedKey")),(0,b.reject)(b.isNil),b.uniq),U=(0,b.pipe)(b.values,K,H),Q=e=>{const t=U(e);return(0,b.isEmpty)(t)?e:(0,b.map)((e=>(0,b.map)((t=>G({},t,{rowSpan:e[t.nestedKey||k]}))))(t),e)},ee=e=>(0,b.reduce)(((t,n)=>{let{id:r,nestedPath:a}=n;return(0,b.assoc)(r,(o=a,l=e[r],o&&!(0,b.isEmpty)(l)?((e,t)=>(0,b.pipe)(Y,(e=>(0,b.map)((t=>G({},t,{nestedKey:B(e,t)}))))(e))(t))(o,l):[{values:(0,u.VGB)(l)}]),t);var o,l}),{}),te=e=>(0,b.unless)((()=>e===1/0),(0,b.map)((0,b.pipe)((0,b.reject)((t=>{let{indexPath:n}=t;return n&&n.some((t=>t>e-1))})),(0,b.map)((0,b.evolve)({values:(0,b.slice)(0,e)}))))),ne=function(e,t,n,r){let a=arguments.length>4&&void 0!==arguments[4]?arguments[4]:(0,b.always)(1/0);return e.map((0,b.pipe)(((e,o)=>(0,b.pipe)(ee(e),te(a(o)),Q,J(t,r,o,e),$(t,n,o,e))(t)),(0,b.objOf)("data")))},re=(e,t,n)=>e.map((e=>{let{id:r,label:a,description:o,sortable:l,filterable:i=!0,resizable:s,draggable:c,autoResize:p=!0,initialWidth:u,minWidth:d,dataTypeDefinition:f,filterOptions:m,headCellRenderer:g=(0,q.Z)(W.default)}=e;return{id:r,label:a,description:o,sortable:l,resizable:s,draggable:c,initialWidth:u,minWidth:d,autoResize:p,renderer:(0,b.unless)((()=>(0,b.isNil)(t)),_({dataTypeDefinition:f,filterable:i,filter:(0,b.prop)(r,t),filterOptions:m,onFilter:n}))(g)}})),ae=(0,b.reduce)(((e,t)=>{const n=(0,b.pipe)((0,b.chain)((0,b.propOr)([],"indexPath")),(0,b.map)((0,b.add)(1)),(0,b.reduce)(b.max,0))(t),r=(0,b.pipe)((0,b.pluck)("values"),(0,b.pluck)("length"),(0,b.reduce)(b.max,0))(t);return Math.max(e,n,r)}),0),oe=(e,t)=>(0,b.pipe)(ee(t),b.values,ae)(e)},25461:(e,t,n)=>{n.d(t,{Z:()=>a});var r=n(96318);const a=e=>{var t;let{columnData:n,cell:a}=e;const o=a.values.length;switch(null==n||null===(t=n.dataTypeDefinition)||void 0===t?void 0:t.type){case r.oS0.TYPE_BLOB:return 100*o;case r.oS0.TYPE_IMAGE:return 79*o+15;default:return 33*Math.max(o,1)+15}}},14838:(e,t,n)=>{n.d(t,{Z:()=>l});var r=n(24328),a=n.n(r);function o(){return o=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e},o.apply(this,arguments)}const l=e=>{let{cell:t,CellValueRenderer:n}=e,r=function(e,t){if(null==e)return{};var n,r,a=function(e,t){if(null==e)return{};var n,r,a={},o=Object.keys(e);for(r=0;r<o.length;r++)n=o[r],t.indexOf(n)>=0||(a[n]=e[n]);return a}(e,t);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);for(r=0;r<o.length;r++)n=o[r],t.indexOf(n)>=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(a[n]=e[n])}return a}(e,["cell","CellValueRenderer"]);return t.values.map(((e,t)=>a().createElement(n,o({key:t,value:e},r))))}},22273:(e,t,n)=>{n.d(t,{Z:()=>s});var r=n(24328),a=n(17440),o=n(88473),l=n(30634),i=n(20562);const s=e=>{let{rowsData:t,columnsData:n,renderRowCell:s,getRowCellHeight:c,maxRowValuesCount:p}=e;const[u,d]=(0,r.useState)([]),f=(0,r.useCallback)((e=>u.includes(e)?1/0:p),[u,p]),m=(0,r.useMemo)((()=>(0,o.CA)(t,n,s,c,f)),[t,n,s,c,f]),g=(0,r.useCallback)((e=>{d((t=>{const n=t.findIndex((0,a.equals)(e));return-1===n?t.concat(e):(0,a.remove)(n,1,t)}))}),[]),y=(0,r.useCallback)((e=>(0,o.LY)(n,e)>p),[p,n]),b=(0,r.useCallback)((e=>!u.includes(e)),[u]),h=(0,r.useMemo)((()=>({toggleRowCollapse:g,getIsRowCollapsible:y,getIsRowCollapsed:b})),[g,y,b]),v=(0,l.D)(t);return(0,i.D)((()=>{u.length>0&&d((0,a.filter)((e=>{const n=t[e]||{},r=v[e]||{};return n.rawValue===r.rawValue&&y(n)})))}),[t]),{tableRowsData:m,collapseContextValue:h}}},99341:(e,t,n)=>{n.d(t,{Tz:()=>i,su:()=>o,GU:()=>l});var r=n(96318),a=n(17440);const o=function(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return{fieldName:e.id,filter:t.filter,values:[t.value],type:e.dataTypeDefinition.type}},l=e=>{let{filter:t,values:n}=e;return{filter:t,value:n[0]}},i=(e,t)=>r.wSh.fromNull(t).map((t=>Object.entries(t).map((t=>{let[n,r]=t;const l=e.find((0,a.propEq)("id",n));return o(l,r)})))).map((0,r.Uqd)()).orSome("")},24998:(e,t,n)=>{n.d(t,{S:()=>a,y:()=>o});var r=n(79692);const a=40,o=(0,r.Z)({columnFilter:{backgroundColor:"rgba(0,0,0,0.03)",display:"flex",height:`${a}px`,alignItems:"center"},dropDownButton:{marginLeft:"auto",padding:"6px"},filterMenu:{marginTop:"3px",borderRadius:"2px",padding:"15px 20px",boxSizing:"border-box",display:"flex",flexDirection:"column",minWidth:"454px"},"filter-editor__option":{fontSize:"13px",color:"rgba(0,0,0,0.54)"}})},82943:(e,t,n)=>{n.d(t,{Z:()=>h});var r=n(24328),a=n.n(r),o=n(87918),l=n.n(o),i=n(37164),s=n(17440),c=n(23147),p=n(94079),u=n(22385),d=n(96318),f=n(43305),m=n(8459);const g=(0,n(79692).Z)((e=>({container:{display:"flex",flexDirection:"column",minHeight:"182px"},header:{display:"flex",paddingLeft:"10px",backgroundColor:"#FFFFFF"},title:{marginLeft:"10px",color:e.palette.text.primary,fontSize:"20px",fontWeight:500,letterSpacing:"0.25px",lineHeight:"24px"},dateRangeContainer:{display:"flex",flexGrow:1,whiteSpace:"nowrap",cursor:"default",paddingTop:"8px"},dateInput:{margin:"0 7px"},actionButtons:{display:"flex",justifyContent:"flex-end",height:"48px",margin:"0px 8px"},button:{width:"96px"}}))),y=(e,t)=>(0,s.pathOr)(null,[t],e),b=(0,r.forwardRef)(((e,t)=>{let{onCancel:n,onApply:o,values:s,type:b,minDate:h,maxDate:v}=e;const O=g(),x=(0,r.useRef)((0,i.x0)()),w=(0,r.useRef)((0,i.x0)()),[E,T]=(0,r.useState)(null),[P,D]=(0,r.useState)(null);a().useEffect((()=>{T(y(s,0)),D(y(s,1))}),[s]);const C=b===d.oS0.TYPE_TIMESTAMP?f.Z:m.Z,j=b===d.oS0.TYPE_TIMESTAMP?l().text("Pick date and time"):l().text("Pick date");return a().createElement("div",{className:O.container,ref:t,onKeyDown:e=>"Tab"===e.key&&e.stopPropagation()},a().createElement(p.Toolbar,{disableGutters:!0,classes:{root:O.header}},a().createElement(u.Z,{size:"L",icon:c.Z,onClick:n}),a().createElement(p.Typography,{className:O.title},j)),a().createElement("div",{className:O.dateRangeContainer},a().createElement(C,{id:x.current,label:"From",variant:"filled",value:E,onChange:e=>{T(e)},className:O.dateInput,margin:"dense",minDate:h,maxDate:v}),a().createElement(C,{id:w.current,label:"To",variant:"filled",value:P,onChange:e=>{D(e)},className:O.dateInput,margin:"dense",minDate:h,maxDate:v})),a().createElement("div",{className:O.actionButtons},a().createElement(p.Button,{color:"primary",onClick:()=>{o(E&&P&&E>P?[P,E]:[E,P])},className:O.button},l().text("Update"))))}));b.displayName="DateRangePicker";const h=b},96808:(e,t,n)=>{n.d(t,{Z:()=>m});var r=n(13980),a=n.n(r),o=n(24328),l=n.n(o),i=n(71153),s=n.n(i),c=n(10161),p=n(83543),u=n(22385);function d(){return d=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e},d.apply(this,arguments)}const f=e=>{const{selectProps:{classes:t,menuIsOpen:n},innerProps:r}=e,a=(0,c.m)();return l().createElement(u.Z,d({},r,{icon:p.Z,className:t.dropdownIndicator,size:"L",iconClassName:s()({[a.expanded]:n})}))};f.propTypes={innerProps:a().object.isRequired,selectProps:a().shape({classes:a().shape({dropdownIndicator:a().string}).isRequired,menuIsOpen:a().bool.isRequired}).isRequired};const m=f},59983:(e,t,n)=>{n.d(t,{Z:()=>P});var r=n(24328),a=n.n(r),o=n(71153),l=n.n(o),i=n(95038),s=n.n(i),c=n(87918),p=n.n(c),u=n(17440),d=n(96318),f=n(86619),m=n(94079),g=n(48348);const y=(0,u.curry)(((e,t,n,r)=>(0,u.cond)([[d.O27,(0,u.always)({value:"",label:""})],[(0,u.is)(Array),n=>({value:n,label:n.map((n=>((e,t,n)=>(0,u.isNil)(e)?`${n}`:`${(0,d.mB6)({dataTypeDefinition:t},e)}`)(n,t,e))).join(" — ")})],[(0,u.is)(String),e=>r.find((0,u.propEq)("value",e))]])(n))),b=(0,u.pipe)(d.VQ1,(0,u.defaultTo)([]),(0,u.map)((e=>e&&new Date(e))));var h=n(96808),v=n(82943);const O=(0,n(79692).Z)((e=>({dropdownIndicator:{transition:"transform .15s ease",cursor:"pointer",color:"rgba(0, 0, 0, 0.54)"},paper:{minWidth:"112px"},menuItem:{minHeight:"32px"},menuText:{color:e.palette.text.primary,fontSize:"13px",lineHeight:"15px",letterSpacing:0},underline:{"&:after":{transform:"scaleX(1)"}},inputLabel:{color:e.palette.primary.main},adornedEnd:{paddingRight:4},inputRoot:{fontSize:"14px",letterSpacing:0,lineHeight:"16px"}})));function x(){return x=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e},x.apply(this,arguments)}function w(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?Object(arguments[t]):{},r=Object.keys(n);"function"==typeof Object.getOwnPropertySymbols&&(r=r.concat(Object.getOwnPropertySymbols(n).filter((function(e){return Object.getOwnPropertyDescriptor(n,e).enumerable})))),r.forEach((function(t){E(e,t,n[t])}))}return e}function E(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}const T=s().localeData().longDateFormat("L"),P=e=>{var t;let{label:n,values:o,options:i,getValuesDateRange:s=b,onChange:c=u.identity,dataTypeDefinition:E={type:d.oS0.TYPE_DATE},DateRangePickerProps:P,TextFieldProps:D,MenuProps:C}=e,j=function(e,t){if(null==e)return{};var n,r,a=function(e,t){if(null==e)return{};var n,r,a={},o=Object.keys(e);for(r=0;r<o.length;r++)n=o[r],t.indexOf(n)>=0||(a[n]=e[n]);return a}(e,t);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);for(r=0;r<o.length;r++)n=o[r],t.indexOf(n)>=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(a[n]=e[n])}return a}(e,["label","values","options","getValuesDateRange","onChange","dataTypeDefinition","DateRangePickerProps","TextFieldProps","MenuProps"]);const{classes:S}=j,R=T+(E.type===d.oS0.TYPE_TIMESTAMP?" HH:MM":""),_=(0,r.useMemo)((()=>i||Object.values(d.XYV).map((e=>({value:e,label:(0,d.mm2)(e)})))),[i]),I=(0,r.useRef)(null),[k,F]=(0,r.useState)(!1),[N,Z]=(0,r.useState)(),M=O(),A=e=>{e===d.XYV.PICK_DATE?Z(e):(F(!1),Z(null),c(e))},V=(0,r.useCallback)((()=>F((e=>!e))),[]),z=()=>{Z(null),F(!1)};return a().createElement(a().Fragment,null,a().createElement(f.Z,x({},D,j,{label:n,value:(null==D?void 0:D.value)||(null===(t=y(R,E,N||o,_))||void 0===t?void 0:t.label),onClick:V,variant:"filled",margin:"dense",ref:I,InputProps:w({endAdornment:a().createElement(h.Z,{selectProps:{classes:{dropdownIndicator:l()(M.dropdownIndicator,null==S?void 0:S.dropdownIndicator)},menuIsOpen:k},innerProps:{}}),classes:{root:M.inputRoot,underline:l()({[M.underline]:k}),adornedEnd:M.adornedEnd},disableUnderline:(0,u.isNil)(o),readOnly:!0},null==D?void 0:D.InputProps),InputLabelProps:{classes:{root:k?M.inputLabel:void 0},shrink:!(0,u.isNil)(n)},placeholder:p().text(`${R} — ${R}`)})),a().createElement(g.Z,x({variant:"menu",open:k,autoFocus:!1,classes:{paper:M.paper},anchorEl:I.current,onClose:z,anchorOrigin:{vertical:"bottom",horizontal:"left"},transformOrigin:{vertical:"top",horizontal:"left"},elevation:2,getContentAnchorEl:null,MenuListProps:{autoFocusItem:k,style:{width:N?"100%":(0,u.prop)("clientWidth",I.current)}}},C),N?a().createElement(v.Z,x({values:s(o),onCancel:z,onApply:A,type:E.type},P)):_.map((e=>a().createElement(m.MenuItem,{key:e.value,value:e.value,onClick:()=>A(e.value),className:M.menuItem},a().createElement(m.Typography,{classes:{root:M.menuText}},e.label))))))}},24754:(e,t,n)=>{n.d(t,{Z:()=>x});var r=n(28117),a=n(13980),o=n.n(a),l=n(24328),i=n.n(l),s=n(87918),c=n.n(s),p=n(96318),u=n(17440),d=n(37164),f=n(94079);const m=(0,n(79692).Z)({"range-editor":{width:"100%"},"range-editor__control":{marginTop:"10px",paddingTop:"15px","& > label + *":{marginTop:0}},"range-inline-editor":{display:"flex",alignItems:"center",flexGrow:1},"range-editor__dash":{padding:"0 5px"}});function g(){return g=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e},g.apply(this,arguments)}const y=e=>{let{value:t=new Array(2),onChange:n,orientation:a="vertical"}=e,o=function(e,t){if(null==e)return{};var n,r,a=function(e,t){if(null==e)return{};var n,r,a={},o=Object.keys(e);for(r=0;r<o.length;r++)n=o[r],t.indexOf(n)>=0||(a[n]=e[n]);return a}(e,t);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);for(r=0;r<o.length;r++)n=o[r],t.indexOf(n)>=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(a[n]=e[n])}return a}(e,["value","onChange","orientation"]);const s=m(),p=(0,l.useRef)((0,d.x0)()),y=(0,l.useRef)((0,d.x0)()),b=i().createElement(r.Z,g({id:p.current,value:t[0],onChange:(0,u.pipe)((0,u.update)(0,u.__,t),n)},o)),h=i().createElement(r.Z,g({id:y.current,value:t[1],onChange:(0,u.pipe)((0,u.update)(1,u.__,t),n)},o));return"horizontal"===a?i().createElement("div",{className:s["range-inline-editor"]},b,i().createElement("div",{className:s["range-editor__dash"]},"—"),h):i().createElement("div",{className:s["range-editor"]},i().createElement(f.FormControl,{fullWidth:!0,className:s["range-editor__control"]},i().createElement(f.InputLabel,{htmlFor:p.current,shrink:!0},c().text("From")),b),i().createElement(f.FormControl,{fullWidth:!0,className:s["range-editor__control"]},i().createElement(f.InputLabel,{htmlFor:y.current,shrink:!0},c().text("To")),h))};y.propTypes={value:o().arrayOf(o().any),onChange:o().func,fieldName:o().string,orientation:o().oneOf(["horizontal","vertical"]),dataTypeDefinition:o().object,classes:o().object};const b=y;var h=n(59983);function v(){return v=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e},v.apply(this,arguments)}const O=e=>{let{filter:{values:t=[],fieldName:n,filter:a},onChange:o,dataTypeDefinition:l,orientation:s,TextFieldProps:d}=e,f=function(e,t){if(null==e)return{};var n,r,a=function(e,t){if(null==e)return{};var n,r,a={},o=Object.keys(e);for(r=0;r<o.length;r++)n=o[r],t.indexOf(n)>=0||(a[n]=e[n]);return a}(e,t);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);for(r=0;r<o.length;r++)n=o[r],t.indexOf(n)>=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(a[n]=e[n])}return a}(e,["filter","onChange","dataTypeDefinition","orientation","TextFieldProps"]);const{type:m}=l,g=(0,p.mOr)((e=>t=>{switch(e){case p.oS0.TYPE_DATE:return(0,p.J6D)(t)?t:p.P6Y.dates.toLocalDate(t);case p.oS0.TYPE_LOCAL_DATE:case p.oS0.TYPE_TIMESTAMP:case p.oS0.TYPE_ACTIVENESS_DATE:return(0,p.J6D)(t)?t:new Date(t);default:return t}})(m))(t[0]),y=(0,u.pipe)((0,p.mOr)((e=>t=>{switch(e){case p.oS0.TYPE_DATE:return(0,p.J6D)(t)?t:Date.UTC(t.getFullYear(),t.getMonth(),t.getDate());case p.oS0.TYPE_LOCAL_DATE:case p.oS0.TYPE_ACTIVENESS_DATE:case p.oS0.TYPE_TIMESTAMP:return(0,p.J6D)(t)?t:t.valueOf();default:return t}})(m)),p.FTe,o);if((0,p._zi)(a))return i().createElement(h.Z,v({},f,{values:g,onChange:y,dataTypeDefinition:l,label:c().text("Date Range")}));if((0,p.fp6)(a))return i().createElement(b,v({},f,{value:g,onChange:y,fieldName:n,dataTypeDefinition:l,orientation:s,TextFieldProps:d}));{const e=(0,p.ymH)(a)?{multiple:!0}:{};return i().createElement(r.Z,v({},f,e,{fieldName:n,value:g,onChange:y,dataTypeDefinition:l,TextFieldProps:d}))}};O.propTypes={filter:p.vAw,orientation:o().oneOf(["horizontal","vertical"]),onChange:o().func,dataTypeDefinition:o().object,classes:o().object,TextFieldProps:o().object};const x=O}}]);
|
|
2
2
|
//# sourceMappingURL=5709.js.map
|
package/5709.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"5709.js","mappings":"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","sources":["webpack://@reltio/remotes/../components/src/components/BasicTableView/BasicTable/BasicTable.js","webpack://@reltio/remotes/../components/src/components/BasicTableView/BasicTable/HOCs/withFilterAtBottom.js","webpack://@reltio/remotes/../components/src/components/BasicTableView/BasicTable/cell-value-renderers/styles.js","webpack://@reltio/remotes/../components/src/components/BasicTableView/BasicTable/cell-value-renderers/BlobRenderer.js","webpack://@reltio/remotes/../components/src/components/BasicTableView/BasicTable/cell-value-renderers/DefaultCellValueRenderer.js","webpack://@reltio/remotes/../components/src/components/BasicTableView/BasicTable/contexts/RowCollapseContext.js","webpack://@reltio/remotes/../components/src/components/BasicTableView/BasicTable/contexts/TableContext.js","webpack://@reltio/remotes/../components/src/components/BasicTableView/ColumnFilter/FilterChip/styles.js","webpack://@reltio/remotes/../components/src/components/BasicTableView/ColumnFilter/FilterChip/FilterChip.js","webpack://@reltio/remotes/../components/src/components/editors/FilterEditor/FilterEditor.js","webpack://@reltio/remotes/../components/src/components/BasicTableView/ColumnFilter/ColumnFilter.js","webpack://@reltio/remotes/../components/src/components/BasicTableView/BasicTable/HOCs/withFilter.js","webpack://@reltio/remotes/../components/src/components/BasicTableView/BasicTable/helpers/nestedHelpers.js","webpack://@reltio/remotes/../components/src/components/BasicTableView/BasicTable/helpers/dataHelpers.js","webpack://@reltio/remotes/../components/src/components/BasicTableView/BasicTable/helpers/defaultGetRowCellHeight.js","webpack://@reltio/remotes/../components/src/components/BasicTableView/BasicTable/helpers/defaultRenderRowCell.js","webpack://@reltio/remotes/../components/src/components/BasicTableView/BasicTable/hooks/useCollapsibleTableRows.js","webpack://@reltio/remotes/../components/src/components/BasicTableView/ColumnFilter/helpers.js","webpack://@reltio/remotes/../components/src/components/BasicTableView/ColumnFilter/styles.js","webpack://@reltio/remotes/../components/src/components/DateRangePicker/styles.ts","webpack://@reltio/remotes/../components/src/components/DateRangePicker/DateRangePicker.tsx","webpack://@reltio/remotes/../components/src/components/commonReactSelectComponents/DropdownIndicatorWithIconButton.js","webpack://@reltio/remotes/../components/src/components/editors/DateRangeEditor/helpers.ts","webpack://@reltio/remotes/../components/src/components/editors/DateRangeEditor/styles.js","webpack://@reltio/remotes/../components/src/components/editors/DateRangeEditor/DateRangeEditor.tsx","webpack://@reltio/remotes/../components/src/components/editors/RangeDataTypeValueEditor/styles.js","webpack://@reltio/remotes/../components/src/components/editors/RangeDataTypeValueEditor/RangeDataTypeValueEditor.js","webpack://@reltio/remotes/../components/src/components/editors/FilterEditor/FilterValueEditor.js"],"sourcesContent":["import React, {useMemo, forwardRef} from 'react';\nimport PropTypes from 'prop-types';\n\nimport Table from 'react-components/dist/Table/Table';\nimport defaultGetRowCellHeight from './helpers/defaultGetRowCellHeight';\nimport defaultRenderRowCell from './helpers/defaultRenderRowCell';\nimport {COLUMN_FILTER_HEIGHT} from '../ColumnFilter/styles';\nimport {ColumnDataType, ColumnFilterType, SortingType} from '../../../constants/prop-types';\nimport {getTableHeadData} from './helpers/dataHelpers';\nimport {TableContext} from './contexts/TableContext';\nimport {RowCollapseContext} from './contexts/RowCollapseContext';\nimport {prop} from 'ramda';\nimport useCollapsibleTableRows from './hooks/useCollapsibleTableRows';\n\nconst BasicTable = forwardRef(\n (\n {\n columnsData,\n rowsData,\n context,\n sorting,\n onSort,\n renderRowCell = defaultRenderRowCell,\n getRowCellHeight = defaultGetRowCellHeight,\n filters,\n onFilter,\n headRowHeight,\n maxRowValuesCount = Infinity,\n autosizing,\n maxHeight,\n ...otherProps\n },\n ref\n ) => {\n const tableHeadData = useMemo(() => getTableHeadData(columnsData, filters, onFilter), [\n columnsData,\n filters,\n onFilter\n ]);\n const {tableRowsData, collapseContextValue} = useCollapsibleTableRows({\n rowsData,\n columnsData,\n renderRowCell,\n getRowCellHeight,\n maxRowValuesCount\n });\n\n return (\n <RowCollapseContext.Provider value={collapseContextValue}>\n <TableContext.Provider value={context}>\n <Table\n autosizing={autosizing}\n maxHeight={maxHeight}\n defaultRowHeight={48}\n {...otherProps}\n fixHead={tableRowsData.length > 0}\n headData={tableHeadData}\n rowsData={tableRowsData}\n sortField={prop('field', sorting)}\n sortOrder={prop('order', sorting)}\n onSort={onSort}\n headRowHeight={filters ? headRowHeight + COLUMN_FILTER_HEIGHT : headRowHeight}\n ref={ref}\n />\n </TableContext.Provider>\n </RowCollapseContext.Provider>\n );\n }\n);\n\nexport const BasicTableType = {\n columnsData: PropTypes.arrayOf(ColumnDataType).isRequired,\n rowsData: PropTypes.arrayOf(PropTypes.object).isRequired,\n context: PropTypes.object,\n sorting: SortingType,\n onSort: PropTypes.func,\n filters: PropTypes.objectOf(ColumnFilterType),\n onFilter: PropTypes.func,\n renderRowCell: PropTypes.func,\n getRowCellHeight: PropTypes.func,\n headRowHeight: PropTypes.number,\n maxRowValuesCount: PropTypes.number,\n defaultColumnWidth: PropTypes.number,\n defaultColumnMinWidth: PropTypes.number,\n classes: PropTypes.shape({\n highlightRow: PropTypes.string,\n cellBorder: PropTypes.string,\n dragColumnBody: PropTypes.string,\n dragColumnHead: PropTypes.string,\n draggableHeadCell: PropTypes.string,\n cellWrapper: PropTypes.string,\n cellContentWrapper: PropTypes.string,\n hoveredRowRightContentContainer: PropTypes.string,\n hoveredRowRightContentWrapper: PropTypes.string\n })\n};\n\nBasicTable.propTypes = BasicTableType;\n\nBasicTable.displayName = 'BasicTable';\n\nexport default BasicTable;\n","import React from 'react';\nimport PropTypes from 'prop-types';\n\nconst withFilterAtBottom = (HeadCellRenderer) => {\n const HeadCellRendererWithFilterAtBottom = ({columnFilter, ...otherProps}) => {\n return (\n <div style={{display: 'flex', flexDirection: 'column', height: '100%'}}>\n <div style={{display: 'flex', flex: 1}}>\n <HeadCellRenderer {...otherProps} />\n </div>\n {columnFilter}\n </div>\n );\n };\n HeadCellRendererWithFilterAtBottom.propTypes = {\n columnFilter: PropTypes.node\n };\n\n return HeadCellRendererWithFilterAtBottom;\n};\n\nexport default withFilterAtBottom;\n","import {makeStyles} from '@material-ui/core/styles';\n\nexport const BLOB_HEIGHT = 100;\n\nexport const useStyles = makeStyles({\n defaultWrapper: {\n whiteSpace: 'nowrap',\n overflow: 'hidden',\n textOverflow: 'ellipsis',\n padding: '15px 25px 0 25px'\n },\n blobWrapper: {\n position: 'relative',\n overflowY: 'auto',\n overflowX: 'hidden',\n whiteSpace: 'pre',\n maxHeight: `${BLOB_HEIGHT}px`,\n boxSizing: 'border-box',\n padding: '15px 25px 0 25px'\n }\n});\n","import PropTypes from 'prop-types';\nimport React from 'react';\nimport {useStyles} from './styles';\n\nconst stopPropagation = (event) => {\n event.stopPropagation();\n};\n\nconst BlobRenderer = ({value}) => {\n const styles = useStyles();\n return (\n <div className={styles.blobWrapper} onScroll={stopPropagation}>\n {value}\n </div>\n );\n};\n\nBlobRenderer.propTypes = {\n value: PropTypes.node\n};\n\nexport default BlobRenderer;\n","import BlobRenderer from './BlobRenderer';\nimport DataTypeValue from '../../../DataTypeValue/DataTypeValue';\nimport PropTypes from 'prop-types';\nimport React from 'react';\nimport {DataTypes} from '@reltio/mdm-sdk';\nimport {useStyles} from './styles';\nimport ExpandedValueTooltip from '../../../ExpandedValueTooltip/ExpandedValueTooltip';\n\nconst DefaultCellValueRenderer = (props) => {\n const styles = useStyles();\n const {\n value,\n columnData: {dataTypeDefinition}\n } = props;\n switch (dataTypeDefinition.type) {\n case DataTypes.TYPE_BLOB:\n return <BlobRenderer {...props} />;\n default: {\n const dataTypeValue = <DataTypeValue value={value} dataTypeDefinition={dataTypeDefinition} />;\n return (\n <ExpandedValueTooltip value={dataTypeValue}>\n <div className={styles.defaultWrapper}>{dataTypeValue}</div>\n </ExpandedValueTooltip>\n );\n }\n }\n};\n\nDefaultCellValueRenderer.propTypes = {\n value: PropTypes.any,\n columnData: PropTypes.shape({\n dataTypeDefinition: PropTypes.object\n })\n};\n\nexport default DefaultCellValueRenderer;\n","import React from 'react';\n\nexport const RowCollapseContext = React.createContext(null);\n\nRowCollapseContext.displayName = 'RowCollapseContext';\n","import React from 'react';\n\nexport const TableContext = React.createContext(null);\n\nTableContext.displayName = 'TableContext';\n","import {makeStyles} from '@material-ui/core/styles';\n\nexport const COLUMN_FILTER_HEIGHT = 40;\n\nexport const useStyles = makeStyles({\n 'filter-chip': {\n flex: 1,\n maxWidth: '100%',\n overflow: 'hidden',\n justifyContent: 'flex-start',\n marginRight: '-8px',\n '&, &:focus': {\n backgroundColor: 'rgba(0,0,0,0)'\n }\n },\n 'filter-chip__label': {\n color: 'rgba(0,0,0,0.87)',\n flex: 1,\n overflow: 'hidden',\n whiteSpace: 'nowrap',\n textOverflow: 'ellipsis'\n },\n 'filter-chip__option-label': {\n color: 'rgba(0,0,0,0.54)'\n }\n});\n","import {Chip as Chip} from '@material-ui/core';\nimport PropTypes from 'prop-types';\nimport React from 'react';\nimport mdm from '@reltio/mdm-module';\nimport {\n checkIfOptionHasValues,\n FilterValueType,\n formatDataTypeValue,\n getFilterValueLabel,\n mapFilterValue\n} from '@reltio/mdm-sdk';\nimport {useSelector} from 'react-redux';\nimport {useStyles} from './styles';\nimport ExpandedValueTooltip from '../../../ExpandedValueTooltip/ExpandedValueTooltip';\n\nconst FilterChip = ({filterOption, filterValue, onDelete, dataTypeDefinition}) => {\n const canFilterAcceptValues = checkIfOptionHasValues(filterOption.value);\n const optionLabel = filterOption.label + (canFilterAcceptValues ? ': ' : '');\n const styles = useStyles();\n const attributePresentations = useSelector(mdm.selectors.getAttributePresentations);\n const dateMask = useSelector(mdm.selectors.getDateMask);\n const dateTimeMask = useSelector(mdm.selectors.getDateTimeMask);\n const formatValue = formatDataTypeValue({attributePresentations, dataTypeDefinition, dateMask, dateTimeMask});\n const convertedValue = mapFilterValue(formatValue, filterValue);\n const filterLabel = canFilterAcceptValues ? getFilterValueLabel(filterOption.value, convertedValue) : '';\n return (\n <Chip\n label={\n <ExpandedValueTooltip value={optionLabel + filterLabel}>\n <div className={styles['filter-chip__label']}>\n <span className={styles['filter-chip__option-label']}>{optionLabel}</span>\n {filterLabel}\n </div>\n </ExpandedValueTooltip>\n }\n classes={{\n root: styles['filter-chip'],\n label: styles['filter-chip__label']\n }}\n onDelete={onDelete}\n />\n );\n};\n\nFilterChip.propTypes = {\n filterValue: FilterValueType,\n filterOption: PropTypes.shape({\n value: PropTypes.string,\n label: PropTypes.string\n }),\n onDelete: PropTypes.func,\n dataTypeDefinition: PropTypes.object\n};\n\nexport default FilterChip;\n","import React from 'react';\nimport PropTypes from 'prop-types';\nimport {__, assoc, pipe} from 'ramda';\nimport {checkIfOptionHasValues, FilterType} from '@reltio/mdm-sdk';\nimport DropDownEditor from '../DropDownEditor/DropDownEditor';\nimport FilterValueEditor from './FilterValueEditor';\nimport {commonTextFieldProps, useSelectStyles} from '../constants';\n\nconst FilterEditor = ({value, onChange, filterOptions, dataTypeDefinition, classes, valueEditorProps}) => {\n const styles = useSelectStyles();\n const [firstOption] = filterOptions;\n const filterOption = value.filter || firstOption.value;\n const filter = {...value, filter: filterOption};\n const canFilterAcceptValues = checkIfOptionHasValues(filterOption);\n return (\n <>\n <DropDownEditor\n TextFieldProps={commonTextFieldProps}\n className={classes.option}\n value={filterOption}\n entries={filterOptions}\n onChange={pipe(assoc('filter', __, filter), assoc('values', []), onChange)}\n classes={{root: styles.root, icon: styles.icon}}\n />\n {canFilterAcceptValues && (\n <FilterValueEditor\n filter={filter}\n onChange={pipe(assoc('values', __, filter), onChange)}\n dataTypeDefinition={dataTypeDefinition}\n {...valueEditorProps}\n />\n )}\n </>\n );\n};\n\nFilterEditor.propTypes = {\n value: FilterType,\n onChange: PropTypes.func,\n filterOptions: PropTypes.arrayOf(\n PropTypes.shape({\n value: PropTypes.string,\n label: PropTypes.string\n })\n ),\n dataTypeDefinition: PropTypes.object,\n classes: PropTypes.object,\n valueEditorProps: PropTypes.object\n};\n\nexport default FilterEditor;\n","import ArrowDropDownIcon from '@material-ui/icons/ArrowDropDown';\nimport FilterChip from './FilterChip/FilterChip';\nimport FilterEditor from '../../editors/FilterEditor/FilterEditor';\nimport {IconButton as IconButton} from '@material-ui/core';\nimport {Popover as Popover} from '@material-ui/core';\nimport PropTypes from 'prop-types';\nimport React, {useRef, useState} from 'react';\nimport {ColumnFilterType} from '../../../constants';\nimport {defaultTo, pipe, pluck, prop, propEq} from 'ramda';\nimport {useStyles} from './styles';\nimport {\n getDataTypeDefinitionForFilterValue,\n getFilterOptionLabel,\n getFilterOptionsForDataTypeDefinition,\n Maybe,\n validateFilter\n} from '@reltio/mdm-sdk';\nimport {columnFilterToMdmFilter, mdmFilterToColumnFilter} from './helpers';\n\nconst ColumnFilter = ({columnId, dataTypeDefinition, filter, filterOptionsData, onFilter}) => {\n const styles = useStyles();\n\n const [anchorEl, setAnchorEl] = useState(null);\n const openFilterPopup = (event) => setAnchorEl(event.currentTarget);\n const closeFilterPopup = () => setAnchorEl(null);\n\n const [columnFilter, setColumnFilter] = useState(filter);\n const initColumnFilter = () => setColumnFilter(filter);\n\n const containerRef = useRef(null);\n const mdmFilter = columnFilterToMdmFilter({id: columnId, dataTypeDefinition}, columnFilter);\n const applyFilterChange = (newFilter) => {\n if (newFilter !== filter) {\n onFilter({columnId, filter: newFilter});\n }\n };\n const clearFilter = () => applyFilterChange();\n const applyChangesAndClose = () => {\n const isValidFilter = validateFilter(mdmFilter);\n isValidFilter ? applyFilterChange(columnFilter) : clearFilter();\n closeFilterPopup();\n };\n\n const handleValueEditorKeyPress = (event) => {\n if (event.key !== 'Enter') return;\n\n event.stopPropagation();\n event.preventDefault();\n applyChangesAndClose();\n };\n\n const getFilterOptionData = (filterOption) =>\n filterOptionsData && filterOptionsData.find(propEq('value', filterOption));\n\n const getFilterLabel = (filterOption) =>\n pipe(getFilterOptionData, prop('label'), defaultTo(getFilterOptionLabel(filterOption)))(filterOption);\n\n const getFilterDataTypeDefinition = (filterOption) =>\n pipe(\n getFilterOptionData,\n prop('dataTypeDefinition'),\n defaultTo(getDataTypeDefinitionForFilterValue(dataTypeDefinition, filterOption))\n )(filterOption);\n\n const filterOptions = Maybe.fromNull(filterOptionsData)\n .map(pluck('value'))\n .orSome(getFilterOptionsForDataTypeDefinition(dataTypeDefinition))\n .map((value) => ({\n value,\n label: getFilterLabel(value)\n }));\n\n return (\n <div ref={containerRef} className={styles.columnFilter}>\n {filter && (\n <FilterChip\n filterValue={filter.value}\n filterOption={filterOptions.find(propEq('value', filter.filter))}\n onDelete={clearFilter}\n dataTypeDefinition={getFilterDataTypeDefinition(filter.filter)}\n />\n )}\n <IconButton className={styles.dropDownButton} onClick={openFilterPopup} disableFocusRipple>\n <ArrowDropDownIcon />\n </IconButton>\n <Popover\n PaperProps={{\n style: {\n width: `${containerRef.current ? containerRef.current.getBoundingClientRect().width : 0}px`\n }\n }}\n open={!!anchorEl}\n anchorEl={anchorEl}\n anchorOrigin={{\n vertical: 'bottom',\n horizontal: 'right'\n }}\n transformOrigin={{\n vertical: 'top',\n horizontal: 'right'\n }}\n classes={{paper: styles.filterMenu}}\n onEnter={initColumnFilter}\n onClose={applyChangesAndClose}\n >\n <FilterEditor\n classes={{option: styles['filter-editor__option']}}\n value={mdmFilter}\n onChange={pipe(mdmFilterToColumnFilter, setColumnFilter)}\n filterOptions={filterOptions}\n dataTypeDefinition={getFilterDataTypeDefinition(mdmFilter.filter)}\n valueEditorProps={{\n TextFieldProps: {\n onKeyPress: handleValueEditorKeyPress\n },\n fullWidth: true\n }}\n />\n </Popover>\n </div>\n );\n};\n\nColumnFilter.propTypes = {\n columnId: PropTypes.string,\n dataTypeDefinition: PropTypes.object,\n filter: ColumnFilterType,\n onFilter: PropTypes.func,\n filterOptionsData: PropTypes.arrayOf(\n PropTypes.shape({\n value: PropTypes.string,\n label: PropTypes.string,\n dataTypeDefinition: PropTypes.object\n })\n )\n};\n\nexport default ColumnFilter;\n","import React from 'react';\nimport PropTypes from 'prop-types';\n\nimport ColumnFilter from '../../ColumnFilter/ColumnFilter';\nimport {useStyles as useColumnFilterStyles} from '../../ColumnFilter/styles';\n\nconst withFilter = ({filter, onFilter, filterable, filterOptions, dataTypeDefinition}) => (HeadCellRenderer) => {\n const HeadCellRendererWithFilter = (props) => {\n const {\n headCellData: {id: columnId}\n } = props;\n const styles = useColumnFilterStyles();\n const columnFilter = filterable ? (\n <ColumnFilter\n columnId={columnId}\n dataTypeDefinition={dataTypeDefinition}\n filter={filter}\n filterOptionsData={filterOptions}\n onFilter={onFilter}\n />\n ) : (\n <div className={styles.columnFilter} />\n );\n return <HeadCellRenderer {...props} columnFilter={columnFilter} />;\n };\n HeadCellRendererWithFilter.propTypes = {\n headCellData: PropTypes.shape({\n id: PropTypes.string\n })\n };\n return HeadCellRendererWithFilter;\n};\n\nexport default withFilter;\n","import {\n __,\n addIndex,\n always,\n assoc,\n chain,\n curry,\n dropLast,\n groupBy,\n join,\n keys,\n length,\n omit,\n pickBy,\n pipe,\n propOr,\n reduce,\n split,\n sortBy,\n identity,\n sum,\n toPairs,\n unless,\n unnest,\n values,\n zip\n} from 'ramda';\n\nconst TOTAL_ROW_SPAN_KEY = 'total';\nconst NESTED_KEY_DELIMITER = '.';\n\nconst getSiblingSubRowsKeyBySubRowKey = pipe(split(NESTED_KEY_DELIMITER), dropLast(1), join(NESTED_KEY_DELIMITER));\n\nconst getParentRowKeyBySiblingsSubRowsKey = pipe(\n split(NESTED_KEY_DELIMITER),\n dropLast(1),\n join(NESTED_KEY_DELIMITER),\n unless(length, always(TOTAL_ROW_SPAN_KEY))\n);\n\nconst getParentRowKeyBySubRowKey = pipe(getSiblingSubRowsKeyBySubRowKey, getParentRowKeyBySiblingsSubRowsKey);\n\nconst countParentSpanByAllSubRows = (rowSpanData, siblingSubRowsKey) =>\n pipe(\n pickBy((_val, key) => getSiblingSubRowsKeyBySubRowKey(key) === siblingSubRowsKey),\n values,\n sum\n )(rowSpanData);\n\nconst calcParentRowSpan = (rowSpanData, subRowKey) => {\n const parentKey = getParentRowKeyBySubRowKey(subRowKey);\n const currentParentSpan = propOr(0, parentKey, rowSpanData);\n const actualParentSpan = countParentSpanByAllSubRows(rowSpanData, getSiblingSubRowsKeyBySubRowKey(subRowKey));\n\n if (actualParentSpan > currentParentSpan) {\n const nextRowSpanData = assoc(parentKey, actualParentSpan, rowSpanData);\n return parentKey === TOTAL_ROW_SPAN_KEY ? nextRowSpanData : calcParentRowSpan(nextRowSpanData, parentKey);\n } else {\n return rowSpanData;\n }\n};\n\nconst addNestedKey = (rowSpanData, nestedKey) => calcParentRowSpan({...rowSpanData, [nestedKey]: 1}, nestedKey);\n\nconst validateParentRowSpan = (rowSpanData, [siblingSubRowsKey, subRowsKeys]) => {\n const parentKey = getParentRowKeyBySiblingsSubRowsKey(siblingSubRowsKey);\n const currentParentSpan = propOr(0, parentKey, rowSpanData);\n const actualParentSpan = countParentSpanByAllSubRows(rowSpanData, siblingSubRowsKey);\n const spanDiff = currentParentSpan - actualParentSpan;\n\n if (spanDiff > 0) {\n const lowestSubRowKey = `${siblingSubRowsKey}${NESTED_KEY_DELIMITER}${subRowsKeys.length - 1}`;\n const lowestSubRowSpan = rowSpanData[lowestSubRowKey];\n return assoc(lowestSubRowKey, lowestSubRowSpan + spanDiff, rowSpanData);\n } else {\n return rowSpanData;\n }\n};\n\nconst validateRowSpanData = (rowSpanData) =>\n pipe(\n omit([TOTAL_ROW_SPAN_KEY]),\n keys,\n sortBy(identity),\n groupBy(getSiblingSubRowsKeyBySubRowKey),\n toPairs,\n reduce(validateParentRowSpan, rowSpanData)\n )(rowSpanData);\n\nconst calcRowSpansForNestedKeys = pipe(reduce(addNestedKey, {}), validateRowSpanData);\n\nconst chainWithIndex = addIndex(chain);\nconst flattenNestedColumnValues = (values, indexPath = []) => {\n const [head] = values;\n return Array.isArray(head)\n ? chainWithIndex((value, index) => flattenNestedColumnValues(value, [...indexPath, index]), values)\n : {indexPath, values};\n};\n\nconst getNestedKeyForNestedColumnCell = curry((columnNestedPath, cell) =>\n pipe(zip(__, cell.indexPath), unnest, join(NESTED_KEY_DELIMITER))(columnNestedPath)\n);\n\nexport {\n calcRowSpansForNestedKeys,\n validateRowSpanData,\n TOTAL_ROW_SPAN_KEY,\n flattenNestedColumnValues,\n getSiblingSubRowsKeyBySubRowKey,\n getParentRowKeyBySiblingsSubRowsKey,\n getNestedKeyForNestedColumnCell\n};\n","import DefaultCellValueRenderer from '../cell-value-renderers/DefaultCellValueRenderer';\nimport withFilter from '../HOCs/withFilter';\nimport {\n calcRowSpansForNestedKeys,\n flattenNestedColumnValues,\n getNestedKeyForNestedColumnCell,\n TOTAL_ROW_SPAN_KEY\n} from './nestedHelpers';\nimport {\n add,\n always,\n assoc,\n chain,\n evolve,\n isEmpty,\n isNil,\n map,\n mapObjIndexed,\n max,\n objOf,\n pipe,\n pluck,\n prop,\n propEq,\n propOr,\n reduce,\n reject,\n slice,\n uniq,\n unless,\n values\n} from 'ramda';\nimport {wrapInArrayIfNeeded} from '@reltio/mdm-sdk';\nimport DefaultHeadCellRenderer from 'react-components/dist/Table/DefaultHeadCellRenderer/DefaultHeadCellRenderer';\nimport withFilterAtBottom from '../HOCs/withFilterAtBottom';\n\nconst applyCellRendererToColumnCells = (columnsData, renderRowCell, rowIndex, rowValue) => (cells, columnId) => {\n const columnIndex = columnsData.findIndex(propEq('id', columnId));\n const columnData = columnsData[columnIndex];\n const {rowCellValueRenderer: CellValueRenderer = DefaultCellValueRenderer} = columnsData[columnIndex];\n return cells.map((cell, cellIndex) => ({\n ...cell,\n values: renderRowCell({\n columnIndex,\n columnData,\n rowIndex,\n rowValue,\n cellIndex,\n cell,\n CellValueRenderer\n })\n }));\n};\n\nconst applyCellRenderer = pipe(applyCellRendererToColumnCells, mapObjIndexed);\n\nconst calcHeightForColumnCells = (columnsData, getRowCellHeight, rowIndex, rowValue) => (cells, columnId) => {\n const columnIndex = columnsData.findIndex(propEq('id', columnId));\n const columnData = columnsData[columnIndex];\n return cells.map((cell, cellIndex) => ({\n ...cell,\n height: getRowCellHeight({columnIndex, columnData, rowIndex, rowValue, cellIndex, cell})\n }));\n};\n\nconst calcHeights = (columnsData, getRowCellHeight, rowIndex, rowValue) => (rowData) =>\n getRowCellHeight\n ? mapObjIndexed(calcHeightForColumnCells(columnsData, getRowCellHeight, rowIndex, rowValue), rowData)\n : rowData;\n\nconst addRowSpansToColumnCells = (rowSpansData) =>\n map((cell) => ({...cell, rowSpan: rowSpansData[cell.nestedKey || TOTAL_ROW_SPAN_KEY]}));\n\nconst getNestedKeysFromRowCells = pipe(chain(pluck('nestedKey')), reject(isNil), uniq);\n\nconst calcRowSpansData = pipe(values, getNestedKeysFromRowCells, calcRowSpansForNestedKeys);\n\nconst calcRowSpans = (rowData) => {\n const rowSpansData = calcRowSpansData(rowData);\n return isEmpty(rowSpansData) ? rowData : map(addRowSpansToColumnCells(rowSpansData), rowData);\n};\n\nconst calcNestedKeys = (columnNestedPath) =>\n map((cell) => ({\n ...cell,\n nestedKey: getNestedKeyForNestedColumnCell(columnNestedPath, cell)\n }));\n\nconst parseNestedColumnValues = (columnNestedPath, nestedValues) =>\n pipe(flattenNestedColumnValues, calcNestedKeys(columnNestedPath))(nestedValues);\n\nconst getCellValues = (columnNestedPath, columnValues) =>\n columnNestedPath && !isEmpty(columnValues)\n ? parseNestedColumnValues(columnNestedPath, columnValues)\n : [{values: wrapInArrayIfNeeded(columnValues)}];\n\nconst buildRowValues = (rowValue) =>\n reduce((acc, {id, nestedPath}) => assoc(id, getCellValues(nestedPath, rowValue[id]), acc), {});\n\nconst applyValuesCountConstraint = (maxValuesCount) =>\n unless(\n () => maxValuesCount === Infinity,\n map(\n pipe(\n reject(({indexPath}) => indexPath && indexPath.some((index) => index > maxValuesCount - 1)),\n map(\n evolve({\n values: slice(0, maxValuesCount)\n })\n )\n )\n )\n );\n\nconst getTableRowsData = (\n rowValues,\n columnsData,\n renderRowCell,\n getRowCellHeight,\n getRowMaxValuesCount = always(Infinity)\n) =>\n rowValues.map(\n pipe(\n (rowValue, rowIndex) =>\n pipe(\n buildRowValues(rowValue),\n applyValuesCountConstraint(getRowMaxValuesCount(rowIndex)),\n calcRowSpans,\n calcHeights(columnsData, getRowCellHeight, rowIndex, rowValue),\n applyCellRenderer(columnsData, renderRowCell, rowIndex, rowValue)\n )(columnsData),\n objOf('data')\n )\n );\n\nconst getTableHeadData = (columnsData, filters, onFilter) =>\n columnsData.map(\n ({\n id,\n label,\n description,\n sortable,\n filterable = true,\n resizable,\n draggable,\n autoResize = true,\n initialWidth,\n minWidth,\n dataTypeDefinition,\n filterOptions,\n headCellRenderer = withFilterAtBottom(DefaultHeadCellRenderer)\n }) => ({\n id,\n label,\n description,\n sortable,\n resizable,\n draggable,\n initialWidth,\n minWidth,\n autoResize,\n renderer: unless(\n () => isNil(filters),\n withFilter({\n dataTypeDefinition,\n filterable,\n filter: prop(id, filters),\n filterOptions,\n onFilter\n })\n )(headCellRenderer)\n })\n );\n\nconst calcMaxValuesCount = reduce((maxCount, cellValues) => {\n const maxSubNestedValuesCount = pipe(chain(propOr([], 'indexPath')), map(add(1)), reduce(max, 0))(cellValues);\n const maxPlainValuesCount = pipe(pluck('values'), pluck('length'), reduce(max, 0))(cellValues);\n return Math.max(maxCount, maxSubNestedValuesCount, maxPlainValuesCount);\n}, 0);\n\nconst getMaxRowValuesCount = (columnsData, rowValue) => {\n return pipe(buildRowValues(rowValue, Infinity), values, calcMaxValuesCount)(columnsData);\n};\n\nexport {getTableRowsData, getTableHeadData, getMaxRowValuesCount};\n","import {DataTypes} from '@reltio/mdm-sdk';\n\nconst BLOB_HEIGHT = 100;\nconst IMAGE_HEIGHT = 64;\nconst PADDING = 15;\n\nconst defaultGetRowCellHeight = ({columnData, cell}) => {\n const valuesCount = cell.values.length;\n switch (columnData?.dataTypeDefinition?.type) {\n case DataTypes.TYPE_BLOB:\n return BLOB_HEIGHT * valuesCount;\n case DataTypes.TYPE_IMAGE:\n return (PADDING + IMAGE_HEIGHT) * valuesCount + PADDING;\n default:\n return 33 * Math.max(valuesCount, 1) + PADDING;\n }\n};\n\nexport default defaultGetRowCellHeight;\n","import React from 'react';\n\nconst defaultRenderRowCell = ({cell, CellValueRenderer, ...otherProps}) =>\n cell.values.map((value, index) => <CellValueRenderer key={index} value={value} {...otherProps} />);\n\nexport default defaultRenderRowCell;\n","import {useCallback, useMemo, useState} from 'react';\n\nimport {equals, filter, remove} from 'ramda';\nimport {getTableRowsData, getMaxRowValuesCount} from '../helpers/dataHelpers';\nimport {useDidUpdateEffect, usePrevious} from '../../../../hooks';\n\nconst useCollapsibleTableRows = ({rowsData, columnsData, renderRowCell, getRowCellHeight, maxRowValuesCount}) => {\n const [expandedIndexes, setExpandedIndexes] = useState([]);\n\n const getRowMaxValuesCount = useCallback(\n (rowIndex) => {\n return expandedIndexes.includes(rowIndex) ? Infinity : maxRowValuesCount;\n },\n [expandedIndexes, maxRowValuesCount]\n );\n\n const tableRowsData = useMemo(\n () => getTableRowsData(rowsData, columnsData, renderRowCell, getRowCellHeight, getRowMaxValuesCount),\n [rowsData, columnsData, renderRowCell, getRowCellHeight, getRowMaxValuesCount]\n );\n\n const toggleRowCollapse = useCallback((rowIndex) => {\n setExpandedIndexes((expandedIndexes) => {\n const index = expandedIndexes.findIndex(equals(rowIndex));\n return index === -1 ? expandedIndexes.concat(rowIndex) : remove(index, 1, expandedIndexes);\n });\n }, []);\n\n const getIsRowCollapsible = useCallback(\n (rowValue) => {\n return getMaxRowValuesCount(columnsData, rowValue) > maxRowValuesCount;\n },\n [maxRowValuesCount, columnsData]\n );\n\n const getIsRowCollapsed = useCallback(\n (rowIndex) => {\n return !expandedIndexes.includes(rowIndex);\n },\n [expandedIndexes]\n );\n\n const collapseContextValue = useMemo(\n () => ({\n toggleRowCollapse,\n getIsRowCollapsible,\n getIsRowCollapsed\n }),\n [toggleRowCollapse, getIsRowCollapsible, getIsRowCollapsed]\n );\n\n const prevRowsData = usePrevious(rowsData);\n useDidUpdateEffect(() => {\n if (expandedIndexes.length > 0) {\n setExpandedIndexes(\n filter((index) => {\n const rowValue = rowsData[index] || {};\n const prevRowValue = prevRowsData[index] || {};\n return rowValue.rawValue === prevRowValue.rawValue && getIsRowCollapsible(rowValue);\n })\n );\n }\n }, [rowsData]);\n\n return {tableRowsData, collapseContextValue};\n};\n\nexport default useCollapsibleTableRows;\n","import {buildFilterQueryString, Maybe} from '@reltio/mdm-sdk';\nimport {propEq} from 'ramda';\n\nconst columnFilterToMdmFilter = (columnData, columnFilter = {}) => ({\n fieldName: columnData.id,\n filter: columnFilter.filter,\n values: [columnFilter.value],\n type: columnData.dataTypeDefinition.type\n});\n\nconst mdmFilterToColumnFilter = ({filter, values}) => ({filter, value: values[0]});\n\nconst buildColumnsFilter = (columnsData, filters) =>\n Maybe.fromNull(filters)\n .map((filters) =>\n Object.entries(filters).map(([columnId, columnFilter]) => {\n const columnData = columnsData.find(propEq('id', columnId));\n return columnFilterToMdmFilter(columnData, columnFilter);\n })\n )\n .map(buildFilterQueryString())\n .orSome('');\n\nexport {buildColumnsFilter, columnFilterToMdmFilter, mdmFilterToColumnFilter};\n","import {makeStyles} from '@material-ui/core/styles';\n\nexport const COLUMN_FILTER_HEIGHT = 40;\n\nexport const useStyles = makeStyles({\n columnFilter: {\n backgroundColor: 'rgba(0,0,0,0.03)',\n display: 'flex',\n height: `${COLUMN_FILTER_HEIGHT}px`,\n alignItems: 'center'\n },\n dropDownButton: {\n marginLeft: 'auto',\n padding: '6px'\n },\n filterMenu: {\n marginTop: '3px',\n borderRadius: '2px',\n padding: '15px 20px',\n boxSizing: 'border-box',\n display: 'flex',\n flexDirection: 'column',\n minWidth: '454px'\n },\n 'filter-editor__option': {\n fontSize: '13px',\n color: 'rgba(0,0,0,0.54)'\n }\n});\n","import {makeStyles} from '@material-ui/core/styles';\n\nexport const useStyles = makeStyles((theme) => ({\n container: {\n display: 'flex',\n flexDirection: 'column',\n minHeight: '182px'\n },\n header: {\n display: 'flex',\n paddingLeft: '10px',\n backgroundColor: '#FFFFFF'\n },\n title: {\n marginLeft: '10px',\n color: theme.palette.text.primary,\n fontSize: '20px',\n fontWeight: 500,\n letterSpacing: '0.25px',\n lineHeight: '24px'\n },\n dateRangeContainer: {\n display: 'flex',\n flexGrow: 1,\n whiteSpace: 'nowrap',\n cursor: 'default',\n paddingTop: '8px'\n },\n dateInput: {\n margin: '0 7px'\n },\n actionButtons: {\n display: 'flex',\n justifyContent: 'flex-end',\n height: '48px',\n margin: '0px 8px'\n },\n button: {\n width: '96px'\n }\n}));\n","import React, {forwardRef, useRef, useState} from 'react';\nimport i18n from 'ui-i18n';\nimport {nanoid} from 'nanoid';\nimport {pathOr} from 'ramda';\nimport ArrowBack from '@material-ui/icons/ArrowBack';\nimport {Button as Button} from '@material-ui/core';\nimport {Toolbar as Toolbar} from '@material-ui/core';\nimport {Typography as Typography} from '@material-ui/core';\nimport SmallIconButton from '../SmallIconButton/SmallIconButton';\nimport {DataTypes} from '@reltio/mdm-sdk';\nimport TimestampEditor from '../editors/TimestampEditor/TimestampEditor';\nimport DateEditor from '../editors/DateEditor/DateEditor';\n\nimport {useStyles} from './styles';\n\nconst START_DATE = 0;\nconst END_DATE = 1;\n\nconst getDate = (values: Values, index: number) => pathOr(null, [index], values);\n\ntype Values = [Date, Date];\ntype Props = {\n onCancel: () => void;\n onApply: ([startDate, endDate]: Values) => void;\n values?: Values;\n type?: string;\n minDate?: Date;\n maxDate?: Date;\n};\n\nconst DateRangePicker = forwardRef<HTMLDivElement, Props>(\n ({onCancel, onApply, values, type, minDate, maxDate}: Props, ref) => {\n const styles = useStyles();\n\n const editorFromId = useRef(nanoid());\n const editorToId = useRef(nanoid());\n\n const [startDate, setStartDate] = useState<Date>(null);\n const [endDate, setEndDate] = useState<Date>(null);\n\n React.useEffect(() => {\n setStartDate(getDate(values, START_DATE));\n setEndDate(getDate(values, END_DATE));\n }, [values]);\n\n const ComponentEditor = type === DataTypes.TYPE_TIMESTAMP ? TimestampEditor : DateEditor;\n\n const headerTitle =\n type === DataTypes.TYPE_TIMESTAMP ? i18n.text('Pick date and time') : i18n.text('Pick date');\n\n const selectStartDateHandler = (value: Date) => {\n setStartDate(value);\n };\n\n const selectEndDateHandler = (value: Date) => {\n setEndDate(value);\n };\n\n const onUpdate = () => {\n if (startDate && endDate && startDate > endDate) {\n onApply([endDate, startDate]);\n } else {\n onApply([startDate, endDate]);\n }\n };\n\n const onTabStopPropagation = (e) => e.key === 'Tab' && e.stopPropagation();\n\n return (\n <div className={styles.container} ref={ref} onKeyDown={onTabStopPropagation}>\n <Toolbar disableGutters={true} classes={{root: styles.header}}>\n <SmallIconButton size=\"L\" icon={ArrowBack} onClick={onCancel} />\n <Typography className={styles.title}>{headerTitle}</Typography>\n </Toolbar>\n <div className={styles.dateRangeContainer}>\n <ComponentEditor\n id={editorFromId.current}\n label={'From'}\n variant=\"filled\"\n value={startDate}\n onChange={selectStartDateHandler}\n className={styles.dateInput}\n margin=\"dense\"\n minDate={minDate}\n maxDate={maxDate}\n />\n <ComponentEditor\n id={editorToId.current}\n label={'To'}\n variant=\"filled\"\n value={endDate}\n onChange={selectEndDateHandler}\n className={styles.dateInput}\n margin=\"dense\"\n minDate={minDate}\n maxDate={maxDate}\n />\n </div>\n <div className={styles.actionButtons}>\n <Button color=\"primary\" onClick={onUpdate} className={styles.button}>\n {i18n.text('Update')}\n </Button>\n </div>\n </div>\n );\n }\n);\n\nDateRangePicker.displayName = 'DateRangePicker';\n\nexport default DateRangePicker;\n","import PropTypes from 'prop-types';\nimport React from 'react';\nimport classnames from 'classnames';\nimport {useArrowIndicatorStyles} from './arrowIndicatorStyles';\nimport ArrowDropDownIcon from '@material-ui/icons/ArrowDropDown';\nimport SmallIconButton from '../SmallIconButton/SmallIconButton';\n\nconst DropdownIndicatorWithIconButton = (props) => {\n const {\n selectProps: {classes, menuIsOpen},\n innerProps\n } = props;\n\n const styles = useArrowIndicatorStyles();\n\n return (\n <SmallIconButton\n {...innerProps}\n icon={ArrowDropDownIcon}\n className={classes.dropdownIndicator}\n size=\"L\"\n iconClassName={classnames({[styles.expanded]: menuIsOpen})}\n />\n );\n};\n\nDropdownIndicatorWithIconButton.propTypes = {\n innerProps: PropTypes.object.isRequired,\n selectProps: PropTypes.shape({\n classes: PropTypes.shape({\n dropdownIndicator: PropTypes.string\n }).isRequired,\n menuIsOpen: PropTypes.bool.isRequired\n }).isRequired\n};\n\nexport default DropdownIndicatorWithIconButton;\n","import {always, cond, curry, defaultTo, is, isNil, map, pipe, propEq} from 'ramda';\nimport {DataTypeDefinition, DatePeriod, formatDataTypeValue, getDateRangeByValue, isEmptyValue} from '@reltio/mdm-sdk';\n\nexport type Option = {\n value: string;\n label: string;\n};\n\nexport type Values = DatePeriod | string;\n\nconst formatValue = (value: Date, dataTypeDefinition: DataTypeDefinition, placeholder: string) =>\n isNil(value) ? `${placeholder}` : `${formatDataTypeValue({dataTypeDefinition}, value)}`;\n\nconst getEditorValue = curry(\n (placeholder: string, dataTypeDefinition: DataTypeDefinition, value: Values, options: Option[]) =>\n cond([\n [isEmptyValue, always({value: '', label: ''})],\n [\n is(Array),\n (value) => ({\n value,\n label: value.map((value) => formatValue(value, dataTypeDefinition, placeholder)).join(' \\u2014 ')\n })\n ],\n [is(String), (value) => options.find(propEq('value', value))]\n ])(value)\n);\n\nconst convertValuesToDate = pipe(\n getDateRangeByValue,\n defaultTo([]),\n map((value) => value && new Date(value))\n);\n\nexport {getEditorValue, convertValuesToDate};\n","import {makeStyles} from '@material-ui/core/styles';\n\nexport const useStyles = makeStyles((theme) => ({\n dropdownIndicator: {\n transition: 'transform .15s ease',\n cursor: 'pointer',\n color: 'rgba(0, 0, 0, 0.54)'\n },\n paper: {\n minWidth: '112px'\n },\n menuItem: {\n minHeight: '32px'\n },\n menuText: {\n color: theme.palette.text.primary,\n fontSize: '13px',\n lineHeight: '15px',\n letterSpacing: 0\n },\n underline: {\n '&:after': {\n transform: 'scaleX(1)'\n }\n },\n inputLabel: {\n color: theme.palette.primary.main\n },\n adornedEnd: {\n paddingRight: 4\n },\n inputRoot: {\n fontSize: '14px',\n letterSpacing: 0,\n lineHeight: '16px'\n }\n}));\n","import React, {useCallback, useMemo, useRef, useState} from 'react';\nimport classnames from 'classnames';\nimport moment from 'moment';\nimport i18n from 'ui-i18n';\nimport {identity, isNil, prop} from 'ramda';\nimport {DataTypes, DataTypeDefinition, AllDateRangeValues, getRangeOptionLabel} from '@reltio/mdm-sdk';\nimport TextField, {TextFieldProps} from '@material-ui/core/TextField';\nimport {MenuItem as MenuItem} from '@material-ui/core';\nimport {Typography as Typography} from '@material-ui/core';\nimport Menu, {MenuProps} from '@material-ui/core/Menu';\n\nimport {getEditorValue, convertValuesToDate, Option, Values} from './helpers';\nimport DropdownIndicatorWithIconButton from '../../commonReactSelectComponents/DropdownIndicatorWithIconButton';\nimport DateRangePicker from '../../DateRangePicker/DateRangePicker';\n\nimport {useStyles} from './styles';\n\nconst localeFormat = moment.localeData().longDateFormat('L');\n\nexport type DateRangeEditorProps = {\n label?: string;\n values?: Values;\n options?: Option[];\n getValuesDateRange?: (value: Values) => [Date, Date];\n onChange?: (value: Values) => void;\n dataTypeDefinition?: DataTypeDefinition;\n MenuProps?: Partial<MenuProps>;\n TextFieldProps?: TextFieldProps;\n DateRangePickerProps?: {\n minDate?: Date;\n maxDate?: Date;\n };\n className?: string;\n classes?: {\n dropdownIndicator?: string;\n root?: string;\n };\n};\n\nconst DateRangeEditor = ({\n label,\n values,\n options,\n getValuesDateRange = convertValuesToDate,\n onChange = identity,\n dataTypeDefinition = {\n type: DataTypes.TYPE_DATE\n },\n DateRangePickerProps,\n TextFieldProps,\n MenuProps,\n ...otherProps\n}: DateRangeEditorProps) => {\n const {classes} = otherProps;\n const placeholder = localeFormat + (dataTypeDefinition.type === DataTypes.TYPE_TIMESTAMP ? ' HH:MM' : '');\n\n const rangeOptions = useMemo(\n () =>\n options ||\n Object.values(AllDateRangeValues).map((option) => ({value: option, label: getRangeOptionLabel(option)})),\n [options]\n );\n\n const inputRef = useRef(null);\n const [open, setOpen] = useState(false);\n const [customValue, setCustomValue] = useState<[Date, Date]>();\n const styles = useStyles();\n\n const onItemClick = (value) => {\n if (value === AllDateRangeValues.PICK_DATE) {\n setCustomValue(value);\n } else {\n setOpen(false);\n setCustomValue(null);\n onChange(value);\n }\n };\n\n const handleToggle = useCallback(() => setOpen((open) => !open), []);\n\n const onCancel = () => {\n setCustomValue(null);\n setOpen(false);\n };\n\n return (\n <>\n <TextField\n {...TextFieldProps}\n {...otherProps}\n label={label}\n value={\n TextFieldProps?.value ||\n getEditorValue(placeholder, dataTypeDefinition, customValue || values, rangeOptions)?.label\n }\n onClick={handleToggle}\n variant=\"filled\"\n margin=\"dense\"\n ref={inputRef}\n InputProps={{\n endAdornment: (\n <DropdownIndicatorWithIconButton\n selectProps={{\n classes: {\n dropdownIndicator: classnames(styles.dropdownIndicator, classes?.dropdownIndicator)\n },\n menuIsOpen: open\n }}\n innerProps={{}}\n />\n ),\n classes: {\n root: styles.inputRoot,\n underline: classnames({[styles.underline]: open}),\n adornedEnd: styles.adornedEnd\n },\n disableUnderline: isNil(values),\n readOnly: true,\n ...TextFieldProps?.InputProps\n }}\n InputLabelProps={{\n classes: {\n root: open ? styles.inputLabel : undefined\n },\n shrink: !isNil(label)\n }}\n placeholder={i18n.text(`${placeholder} \\u2014 ${placeholder}`)}\n />\n <Menu\n variant=\"menu\"\n open={open}\n autoFocus={false}\n classes={{paper: styles.paper}}\n anchorEl={inputRef.current}\n onClose={onCancel}\n anchorOrigin={{\n vertical: 'bottom',\n horizontal: 'left'\n }}\n transformOrigin={{\n vertical: 'top',\n horizontal: 'left'\n }}\n elevation={2}\n getContentAnchorEl={null}\n MenuListProps={{\n autoFocusItem: open,\n style: {\n width: customValue ? '100%' : prop('clientWidth', inputRef.current)\n }\n }}\n {...MenuProps}\n >\n {customValue ? (\n <DateRangePicker\n values={getValuesDateRange(values)}\n onCancel={onCancel}\n onApply={onItemClick}\n type={dataTypeDefinition.type}\n {...DateRangePickerProps}\n />\n ) : (\n rangeOptions.map((option) => (\n <MenuItem\n key={option.value}\n value={option.value}\n onClick={() => onItemClick(option.value)}\n className={styles.menuItem}\n >\n <Typography classes={{root: styles.menuText}}>{option.label}</Typography>\n </MenuItem>\n ))\n )}\n </Menu>\n </>\n );\n};\n\nexport default DateRangeEditor;\n","import {makeStyles} from '@material-ui/core/styles';\n\nexport const useStyles = makeStyles({\n 'range-editor': {\n width: '100%'\n },\n 'range-editor__control': {\n marginTop: '10px',\n paddingTop: '15px',\n '& > label + *': {\n marginTop: 0\n }\n },\n 'range-inline-editor': {\n display: 'flex',\n alignItems: 'center',\n flexGrow: 1\n },\n 'range-editor__dash': {\n padding: '0 5px'\n }\n});\n","import React, {useRef} from 'react';\nimport PropTypes from 'prop-types';\nimport {nanoid} from 'nanoid';\nimport {FormControl as FormControl} from '@material-ui/core';\nimport {InputLabel as InputLabel} from '@material-ui/core';\nimport DataTypeValueEditor from '../DataTypeValueEditor/DataTypeValueEditor';\nimport {__, pipe, update} from 'ramda';\nimport {useStyles} from './styles';\nimport i18n from 'ui-i18n';\n\nconst RangeDataTypeValueEditor = ({value = new Array(2), onChange, orientation = 'vertical', ...otherProps}) => {\n const styles = useStyles();\n const rangeEditorFromId = useRef(nanoid());\n const rangeEditorToId = useRef(nanoid());\n\n const fromEditor = (\n <DataTypeValueEditor\n id={rangeEditorFromId.current}\n value={value[0]}\n onChange={pipe(update(0, __, value), onChange)}\n {...otherProps}\n />\n );\n\n const toEditor = (\n <DataTypeValueEditor\n id={rangeEditorToId.current}\n value={value[1]}\n onChange={pipe(update(1, __, value), onChange)}\n {...otherProps}\n />\n );\n\n if (orientation === 'horizontal') {\n return (\n <div className={styles['range-inline-editor']}>\n {fromEditor}\n <div className={styles['range-editor__dash']}>{'—'}</div>\n {toEditor}\n </div>\n );\n } else {\n return (\n <div className={styles['range-editor']}>\n <FormControl fullWidth={true} className={styles['range-editor__control']}>\n <InputLabel htmlFor={rangeEditorFromId.current} shrink={true}>\n {i18n.text('From')}\n </InputLabel>\n {fromEditor}\n </FormControl>\n <FormControl fullWidth={true} className={styles['range-editor__control']}>\n <InputLabel htmlFor={rangeEditorToId.current} shrink={true}>\n {i18n.text('To')}\n </InputLabel>\n {toEditor}\n </FormControl>\n </div>\n );\n }\n};\n\nRangeDataTypeValueEditor.propTypes = {\n value: PropTypes.arrayOf(PropTypes.any),\n onChange: PropTypes.func,\n fieldName: PropTypes.string,\n orientation: PropTypes.oneOf(['horizontal', 'vertical']),\n dataTypeDefinition: PropTypes.object,\n classes: PropTypes.object\n};\n\nexport default RangeDataTypeValueEditor;\n","import DataTypeValueEditor from '../DataTypeValueEditor/DataTypeValueEditor';\nimport PropTypes from 'prop-types';\nimport React from 'react';\nimport i18n from 'ui-i18n';\nimport {\n DataTypes,\n FilterType,\n isDateRangeFilterOption,\n isDateRangeValue,\n isMultiValueOption,\n isRangeFilterOption,\n mapFilterValue,\n wrapInArray\n} from '@reltio/mdm-sdk';\nimport {pipe} from 'ramda';\nimport RangeDataTypeValueEditor from '../RangeDataTypeValueEditor/RangeDataTypeValueEditor';\nimport DateRangeEditor from '../DateRangeEditor/DateRangeEditor';\nimport {utils} from '@reltio/mdm-sdk';\n\nconst toEditorValue = (dataType) => (value) => {\n switch (dataType) {\n case DataTypes.TYPE_DATE:\n return isDateRangeValue(value) ? value : utils.dates.toLocalDate(value);\n case DataTypes.TYPE_LOCAL_DATE:\n case DataTypes.TYPE_TIMESTAMP:\n case DataTypes.TYPE_ACTIVENESS_DATE:\n return isDateRangeValue(value) ? value : new Date(value);\n default:\n return value;\n }\n};\n\nconst fromEditorValue = (dataType) => (value) => {\n switch (dataType) {\n case DataTypes.TYPE_DATE:\n return isDateRangeValue(value) ? value : Date.UTC(value.getFullYear(), value.getMonth(), value.getDate());\n case DataTypes.TYPE_LOCAL_DATE:\n case DataTypes.TYPE_ACTIVENESS_DATE:\n case DataTypes.TYPE_TIMESTAMP:\n return isDateRangeValue(value) ? value : value.valueOf();\n default:\n return value;\n }\n};\n\nconst FilterValueEditor = ({\n filter: {values = [], fieldName, filter},\n onChange,\n dataTypeDefinition,\n orientation,\n TextFieldProps,\n ...otherProps\n}) => {\n const {type: dataType} = dataTypeDefinition;\n\n const value = mapFilterValue(toEditorValue(dataType))(values[0]);\n const handleChange = pipe(mapFilterValue(fromEditorValue(dataType)), wrapInArray, onChange);\n\n if (isDateRangeFilterOption(filter)) {\n return (\n <DateRangeEditor\n {...otherProps}\n values={value}\n onChange={handleChange}\n dataTypeDefinition={dataTypeDefinition}\n label={i18n.text('Date Range')}\n />\n );\n } else if (isRangeFilterOption(filter)) {\n return (\n <RangeDataTypeValueEditor\n {...otherProps}\n value={value}\n onChange={handleChange}\n fieldName={fieldName}\n dataTypeDefinition={dataTypeDefinition}\n orientation={orientation}\n TextFieldProps={TextFieldProps}\n />\n );\n } else {\n const multipleProp = isMultiValueOption(filter) ? {multiple: true} : {};\n return (\n <DataTypeValueEditor\n {...otherProps}\n {...multipleProp}\n fieldName={fieldName}\n value={value}\n onChange={handleChange}\n dataTypeDefinition={dataTypeDefinition}\n TextFieldProps={TextFieldProps}\n />\n );\n }\n};\n\nFilterValueEditor.propTypes = {\n filter: FilterType,\n orientation: PropTypes.oneOf(['horizontal', 'vertical']),\n onChange: PropTypes.func,\n dataTypeDefinition: PropTypes.object,\n classes: PropTypes.object,\n TextFieldProps: PropTypes.object\n};\n\nexport default FilterValueEditor;\n"],"names":["BasicTable","forwardRef","ref","columnsData","rowsData","context","sorting","onSort","renderRowCell","defaultRenderRowCell","getRowCellHeight","defaultGetRowCellHeight","filters","onFilter","headRowHeight","maxRowValuesCount","Infinity","autosizing","maxHeight","otherProps","tableHeadData","useMemo","getTableHeadData","tableRowsData","collapseContextValue","useCollapsibleTableRows","value","defaultRowHeight","fixHead","length","headData","sortField","prop","sortOrder","COLUMN_FILTER_HEIGHT","BasicTableType","PropTypes","ColumnDataType","isRequired","SortingType","ColumnFilterType","defaultColumnWidth","defaultColumnMinWidth","classes","highlightRow","cellBorder","dragColumnBody","dragColumnHead","draggableHeadCell","cellWrapper","cellContentWrapper","hoveredRowRightContentContainer","hoveredRowRightContentWrapper","propTypes","displayName","HeadCellRenderer","HeadCellRendererWithFilterAtBottom","columnFilter","style","display","flexDirection","height","flex","useStyles","makeStyles","defaultWrapper","whiteSpace","overflow","textOverflow","padding","blobWrapper","position","overflowY","overflowX","boxSizing","stopPropagation","event","BlobRenderer","styles","className","onScroll","DefaultCellValueRenderer","props","columnData","dataTypeDefinition","type","DataTypes","dataTypeValue","DataTypeValue","ExpandedValueTooltip","RowCollapseContext","React","TableContext","maxWidth","justifyContent","marginRight","backgroundColor","color","FilterChip","filterOption","filterValue","onDelete","canFilterAcceptValues","checkIfOptionHasValues","optionLabel","label","attributePresentations","useSelector","mdm","dateMask","dateTimeMask","formatValue","formatDataTypeValue","convertedValue","mapFilterValue","filterLabel","getFilterValueLabel","Chip","root","FilterValueType","FilterEditor","onChange","filterOptions","valueEditorProps","useSelectStyles","firstOption","filter","DropDownEditor","TextFieldProps","commonTextFieldProps","option","entries","pipe","assoc","__","icon","FilterValueEditor","FilterType","ColumnFilter","columnId","filterOptionsData","anchorEl","setAnchorEl","useState","setColumnFilter","containerRef","useRef","mdmFilter","columnFilterToMdmFilter","id","applyFilterChange","newFilter","clearFilter","applyChangesAndClose","validateFilter","getFilterOptionData","find","propEq","getFilterDataTypeDefinition","defaultTo","getDataTypeDefinitionForFilterValue","Maybe","map","pluck","orSome","getFilterOptionsForDataTypeDefinition","getFilterOptionLabel","IconButton","dropDownButton","onClick","currentTarget","disableFocusRipple","ArrowDropDown","Popover","PaperProps","width","current","getBoundingClientRect","open","anchorOrigin","vertical","horizontal","transformOrigin","paper","filterMenu","onEnter","onClose","mdmFilterToColumnFilter","onKeyPress","key","preventDefault","fullWidth","filterable","HeadCellRendererWithFilter","headCellData","useColumnFilterStyles","TOTAL_ROW_SPAN_KEY","NESTED_KEY_DELIMITER","getSiblingSubRowsKeyBySubRowKey","split","dropLast","join","getParentRowKeyBySiblingsSubRowsKey","unless","always","getParentRowKeyBySubRowKey","countParentSpanByAllSubRows","rowSpanData","siblingSubRowsKey","pickBy","_val","values","sum","calcParentRowSpan","subRowKey","parentKey","currentParentSpan","propOr","actualParentSpan","nextRowSpanData","validateParentRowSpan","subRowsKeys","spanDiff","lowestSubRowKey","lowestSubRowSpan","calcRowSpansForNestedKeys","reduce","nestedKey","omit","keys","sortBy","identity","groupBy","toPairs","chainWithIndex","addIndex","chain","flattenNestedColumnValues","indexPath","head","Array","isArray","index","getNestedKeyForNestedColumnCell","curry","columnNestedPath","cell","zip","unnest","applyCellRenderer","rowIndex","rowValue","cells","columnIndex","findIndex","rowCellValueRenderer","CellValueRenderer","cellIndex","mapObjIndexed","calcHeights","rowData","calcHeightForColumnCells","getNestedKeysFromRowCells","reject","isNil","uniq","calcRowSpansData","calcRowSpans","rowSpansData","isEmpty","rowSpan","addRowSpansToColumnCells","buildRowValues","acc","nestedPath","columnValues","nestedValues","calcNestedKeys","parseNestedColumnValues","wrapInArrayIfNeeded","applyValuesCountConstraint","maxValuesCount","some","evolve","slice","getTableRowsData","rowValues","getRowMaxValuesCount","objOf","description","sortable","resizable","draggable","autoResize","initialWidth","minWidth","headCellRenderer","withFilterAtBottom","DefaultHeadCellRenderer","renderer","withFilter","calcMaxValuesCount","maxCount","cellValues","maxSubNestedValuesCount","add","max","maxPlainValuesCount","Math","getMaxRowValuesCount","valuesCount","expandedIndexes","setExpandedIndexes","useCallback","includes","toggleRowCollapse","equals","concat","remove","getIsRowCollapsible","getIsRowCollapsed","prevRowsData","usePrevious","useDidUpdateEffect","prevRowValue","rawValue","fieldName","buildColumnsFilter","Object","buildFilterQueryString","alignItems","marginLeft","marginTop","borderRadius","fontSize","theme","container","minHeight","header","paddingLeft","title","palette","text","primary","fontWeight","letterSpacing","lineHeight","dateRangeContainer","flexGrow","cursor","paddingTop","dateInput","margin","actionButtons","button","getDate","pathOr","DateRangePicker","onCancel","onApply","minDate","maxDate","editorFromId","nanoid","editorToId","startDate","setStartDate","endDate","setEndDate","ComponentEditor","TimestampEditor","DateEditor","headerTitle","i18n","onKeyDown","e","Toolbar","disableGutters","SmallIconButton","size","ArrowBack","Typography","variant","Button","DropdownIndicatorWithIconButton","selectProps","menuIsOpen","innerProps","useArrowIndicatorStyles","ArrowDropDownIcon","dropdownIndicator","iconClassName","classnames","expanded","getEditorValue","placeholder","options","cond","isEmptyValue","is","String","convertValuesToDate","getDateRangeByValue","Date","transition","menuItem","menuText","underline","transform","inputLabel","main","adornedEnd","paddingRight","inputRoot","localeFormat","moment","longDateFormat","getValuesDateRange","DateRangePickerProps","MenuProps","rangeOptions","AllDateRangeValues","getRangeOptionLabel","inputRef","setOpen","customValue","setCustomValue","onItemClick","handleToggle","TextField","InputProps","endAdornment","disableUnderline","readOnly","InputLabelProps","undefined","shrink","Menu","autoFocus","elevation","getContentAnchorEl","MenuListProps","autoFocusItem","MenuItem","RangeDataTypeValueEditor","orientation","rangeEditorFromId","rangeEditorToId","fromEditor","DataTypeValueEditor","update","toEditor","FormControl","InputLabel","htmlFor","dataType","isDateRangeValue","utils","toEditorValue","handleChange","UTC","getFullYear","getMonth","valueOf","fromEditorValue","wrapInArray","isDateRangeFilterOption","DateRangeEditor","isRangeFilterOption","multipleProp","isMultiValueOption","multiple"],"sourceRoot":""}
|
|
1
|
+
{"version":3,"file":"5709.js","mappings":"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","sources":["webpack://@reltio/remotes/../components/src/components/BasicTableView/BasicTable/BasicTable.js","webpack://@reltio/remotes/../components/src/components/BasicTableView/BasicTable/HOCs/withFilterAtBottom.js","webpack://@reltio/remotes/../components/src/components/BasicTableView/BasicTable/cell-value-renderers/styles.js","webpack://@reltio/remotes/../components/src/components/BasicTableView/BasicTable/cell-value-renderers/BlobRenderer.js","webpack://@reltio/remotes/../components/src/components/BasicTableView/BasicTable/cell-value-renderers/DefaultCellValueRenderer.js","webpack://@reltio/remotes/../components/src/components/BasicTableView/BasicTable/contexts/RowCollapseContext.js","webpack://@reltio/remotes/../components/src/components/BasicTableView/BasicTable/contexts/TableContext.js","webpack://@reltio/remotes/../components/src/components/BasicTableView/ColumnFilter/FilterChip/styles.js","webpack://@reltio/remotes/../components/src/components/BasicTableView/ColumnFilter/FilterChip/FilterChip.js","webpack://@reltio/remotes/../components/src/components/editors/FilterEditor/FilterEditor.js","webpack://@reltio/remotes/../components/src/components/BasicTableView/ColumnFilter/ColumnFilter.js","webpack://@reltio/remotes/../components/src/components/BasicTableView/BasicTable/HOCs/withFilter.js","webpack://@reltio/remotes/../components/src/components/BasicTableView/BasicTable/helpers/nestedHelpers.js","webpack://@reltio/remotes/../components/src/components/BasicTableView/BasicTable/helpers/dataHelpers.js","webpack://@reltio/remotes/../components/src/components/BasicTableView/BasicTable/helpers/defaultGetRowCellHeight.js","webpack://@reltio/remotes/../components/src/components/BasicTableView/BasicTable/helpers/defaultRenderRowCell.js","webpack://@reltio/remotes/../components/src/components/BasicTableView/BasicTable/hooks/useCollapsibleTableRows.js","webpack://@reltio/remotes/../components/src/components/BasicTableView/ColumnFilter/helpers.js","webpack://@reltio/remotes/../components/src/components/BasicTableView/ColumnFilter/styles.js","webpack://@reltio/remotes/../components/src/components/DateRangePicker/styles.ts","webpack://@reltio/remotes/../components/src/components/DateRangePicker/DateRangePicker.tsx","webpack://@reltio/remotes/../components/src/components/commonReactSelectComponents/DropdownIndicatorWithIconButton.js","webpack://@reltio/remotes/../components/src/components/editors/DateRangeEditor/helpers.ts","webpack://@reltio/remotes/../components/src/components/editors/DateRangeEditor/styles.js","webpack://@reltio/remotes/../components/src/components/editors/DateRangeEditor/DateRangeEditor.tsx","webpack://@reltio/remotes/../components/src/components/editors/RangeDataTypeValueEditor/styles.js","webpack://@reltio/remotes/../components/src/components/editors/RangeDataTypeValueEditor/RangeDataTypeValueEditor.js","webpack://@reltio/remotes/../components/src/components/editors/FilterEditor/FilterValueEditor.js"],"sourcesContent":["import React, {useMemo, forwardRef} from 'react';\nimport PropTypes from 'prop-types';\n\nimport Table from 'react-components/dist/Table/Table';\nimport defaultGetRowCellHeight from './helpers/defaultGetRowCellHeight';\nimport defaultRenderRowCell from './helpers/defaultRenderRowCell';\nimport {COLUMN_FILTER_HEIGHT} from '../ColumnFilter/styles';\nimport {ColumnDataType, ColumnFilterType, SortingType} from '../../../constants/prop-types';\nimport {getTableHeadData} from './helpers/dataHelpers';\nimport {TableContext} from './contexts/TableContext';\nimport {RowCollapseContext} from './contexts/RowCollapseContext';\nimport {prop} from 'ramda';\nimport useCollapsibleTableRows from './hooks/useCollapsibleTableRows';\n\nconst BasicTable = forwardRef(\n (\n {\n columnsData,\n rowsData,\n context,\n sorting,\n onSort,\n renderRowCell = defaultRenderRowCell,\n getRowCellHeight = defaultGetRowCellHeight,\n filters,\n onFilter,\n headRowHeight,\n maxRowValuesCount = Infinity,\n autosizing,\n maxHeight,\n ...otherProps\n },\n ref\n ) => {\n const tableHeadData = useMemo(\n () => getTableHeadData(columnsData, filters, onFilter),\n [columnsData, filters, onFilter]\n );\n\n const {tableRowsData, collapseContextValue} = useCollapsibleTableRows({\n rowsData,\n columnsData,\n renderRowCell,\n getRowCellHeight,\n maxRowValuesCount\n });\n\n if (!tableHeadData.length) {\n return null;\n }\n\n return (\n <RowCollapseContext.Provider value={collapseContextValue}>\n <TableContext.Provider value={context}>\n <Table\n autosizing={autosizing}\n maxHeight={maxHeight}\n defaultRowHeight={48}\n {...otherProps}\n fixHead={tableRowsData.length > 0}\n headData={tableHeadData}\n rowsData={tableRowsData}\n sortField={prop('field', sorting)}\n sortOrder={prop('order', sorting)}\n onSort={onSort}\n headRowHeight={filters ? headRowHeight + COLUMN_FILTER_HEIGHT : headRowHeight}\n ref={ref}\n />\n </TableContext.Provider>\n </RowCollapseContext.Provider>\n );\n }\n);\n\nexport const BasicTableType = {\n columnsData: PropTypes.arrayOf(ColumnDataType).isRequired,\n rowsData: PropTypes.arrayOf(PropTypes.object).isRequired,\n context: PropTypes.object,\n sorting: SortingType,\n onSort: PropTypes.func,\n filters: PropTypes.objectOf(ColumnFilterType),\n onFilter: PropTypes.func,\n renderRowCell: PropTypes.func,\n getRowCellHeight: PropTypes.func,\n headRowHeight: PropTypes.number,\n maxRowValuesCount: PropTypes.number,\n defaultColumnWidth: PropTypes.number,\n defaultColumnMinWidth: PropTypes.number,\n classes: PropTypes.shape({\n highlightRow: PropTypes.string,\n cellBorder: PropTypes.string,\n dragColumnBody: PropTypes.string,\n dragColumnHead: PropTypes.string,\n draggableHeadCell: PropTypes.string,\n cellWrapper: PropTypes.string,\n cellContentWrapper: PropTypes.string,\n hoveredRowRightContentContainer: PropTypes.string,\n hoveredRowRightContentWrapper: PropTypes.string\n })\n};\n\nBasicTable.propTypes = BasicTableType;\n\nBasicTable.displayName = 'BasicTable';\n\nexport default BasicTable;\n","import React from 'react';\nimport PropTypes from 'prop-types';\n\nconst withFilterAtBottom = (HeadCellRenderer) => {\n const HeadCellRendererWithFilterAtBottom = ({columnFilter, ...otherProps}) => {\n return (\n <div style={{display: 'flex', flexDirection: 'column', height: '100%'}}>\n <div style={{display: 'flex', flex: 1}}>\n <HeadCellRenderer {...otherProps} />\n </div>\n {columnFilter}\n </div>\n );\n };\n HeadCellRendererWithFilterAtBottom.propTypes = {\n columnFilter: PropTypes.node\n };\n\n return HeadCellRendererWithFilterAtBottom;\n};\n\nexport default withFilterAtBottom;\n","import {makeStyles} from '@material-ui/core/styles';\n\nexport const BLOB_HEIGHT = 100;\n\nexport const useStyles = makeStyles({\n defaultWrapper: {\n whiteSpace: 'nowrap',\n overflow: 'hidden',\n textOverflow: 'ellipsis',\n padding: '15px 25px 0 25px'\n },\n blobWrapper: {\n position: 'relative',\n overflowY: 'auto',\n overflowX: 'hidden',\n whiteSpace: 'pre',\n maxHeight: `${BLOB_HEIGHT}px`,\n boxSizing: 'border-box',\n padding: '15px 25px 0 25px'\n }\n});\n","import PropTypes from 'prop-types';\nimport React from 'react';\nimport {useStyles} from './styles';\n\nconst stopPropagation = (event) => {\n event.stopPropagation();\n};\n\nconst BlobRenderer = ({value}) => {\n const styles = useStyles();\n return (\n <div className={styles.blobWrapper} onScroll={stopPropagation}>\n {value}\n </div>\n );\n};\n\nBlobRenderer.propTypes = {\n value: PropTypes.node\n};\n\nexport default BlobRenderer;\n","import BlobRenderer from './BlobRenderer';\nimport DataTypeValue from '../../../DataTypeValue/DataTypeValue';\nimport PropTypes from 'prop-types';\nimport React from 'react';\nimport {DataTypes} from '@reltio/mdm-sdk';\nimport {useStyles} from './styles';\nimport ExpandedValueTooltip from '../../../ExpandedValueTooltip/ExpandedValueTooltip';\n\nconst DefaultCellValueRenderer = (props) => {\n const styles = useStyles();\n const {\n value,\n columnData: {dataTypeDefinition}\n } = props;\n switch (dataTypeDefinition.type) {\n case DataTypes.TYPE_BLOB:\n return <BlobRenderer {...props} />;\n default: {\n const dataTypeValue = <DataTypeValue value={value} dataTypeDefinition={dataTypeDefinition} />;\n return (\n <ExpandedValueTooltip value={dataTypeValue}>\n <div className={styles.defaultWrapper}>{dataTypeValue}</div>\n </ExpandedValueTooltip>\n );\n }\n }\n};\n\nDefaultCellValueRenderer.propTypes = {\n value: PropTypes.any,\n columnData: PropTypes.shape({\n dataTypeDefinition: PropTypes.object\n })\n};\n\nexport default DefaultCellValueRenderer;\n","import React from 'react';\n\nexport const RowCollapseContext = React.createContext(null);\n\nRowCollapseContext.displayName = 'RowCollapseContext';\n","import React from 'react';\n\nexport const TableContext = React.createContext(null);\n\nTableContext.displayName = 'TableContext';\n","import {makeStyles} from '@material-ui/core/styles';\n\nexport const COLUMN_FILTER_HEIGHT = 40;\n\nexport const useStyles = makeStyles({\n 'filter-chip': {\n flex: 1,\n maxWidth: '100%',\n overflow: 'hidden',\n justifyContent: 'flex-start',\n marginRight: '-8px',\n '&, &:focus': {\n backgroundColor: 'rgba(0,0,0,0)'\n }\n },\n 'filter-chip__label': {\n color: 'rgba(0,0,0,0.87)',\n flex: 1,\n overflow: 'hidden',\n whiteSpace: 'nowrap',\n textOverflow: 'ellipsis'\n },\n 'filter-chip__option-label': {\n color: 'rgba(0,0,0,0.54)'\n }\n});\n","import {Chip as Chip} from '@material-ui/core';\nimport PropTypes from 'prop-types';\nimport React from 'react';\nimport mdm from '@reltio/mdm-module';\nimport {\n checkIfOptionHasValues,\n FilterValueType,\n formatDataTypeValue,\n getFilterValueLabel,\n mapFilterValue\n} from '@reltio/mdm-sdk';\nimport {useSelector} from 'react-redux';\nimport {useStyles} from './styles';\nimport ExpandedValueTooltip from '../../../ExpandedValueTooltip/ExpandedValueTooltip';\n\nconst FilterChip = ({filterOption, filterValue, onDelete, dataTypeDefinition}) => {\n const canFilterAcceptValues = checkIfOptionHasValues(filterOption.value);\n const optionLabel = filterOption.label + (canFilterAcceptValues ? ': ' : '');\n const styles = useStyles();\n const attributePresentations = useSelector(mdm.selectors.getAttributePresentations);\n const dateMask = useSelector(mdm.selectors.getDateMask);\n const dateTimeMask = useSelector(mdm.selectors.getDateTimeMask);\n const formatValue = formatDataTypeValue({attributePresentations, dataTypeDefinition, dateMask, dateTimeMask});\n const convertedValue = mapFilterValue(formatValue, filterValue);\n const filterLabel = canFilterAcceptValues ? getFilterValueLabel(filterOption.value, convertedValue) : '';\n return (\n <Chip\n label={\n <ExpandedValueTooltip value={optionLabel + filterLabel}>\n <div className={styles['filter-chip__label']}>\n <span className={styles['filter-chip__option-label']}>{optionLabel}</span>\n {filterLabel}\n </div>\n </ExpandedValueTooltip>\n }\n classes={{\n root: styles['filter-chip'],\n label: styles['filter-chip__label']\n }}\n onDelete={onDelete}\n />\n );\n};\n\nFilterChip.propTypes = {\n filterValue: FilterValueType,\n filterOption: PropTypes.shape({\n value: PropTypes.string,\n label: PropTypes.string\n }),\n onDelete: PropTypes.func,\n dataTypeDefinition: PropTypes.object\n};\n\nexport default FilterChip;\n","import React from 'react';\nimport PropTypes from 'prop-types';\nimport {__, assoc, pipe} from 'ramda';\nimport {checkIfOptionHasValues, FilterType} from '@reltio/mdm-sdk';\nimport DropDownEditor from '../DropDownEditor/DropDownEditor';\nimport FilterValueEditor from './FilterValueEditor';\nimport {commonTextFieldProps, useSelectStyles} from '../constants';\n\nconst FilterEditor = ({value, onChange, filterOptions, dataTypeDefinition, classes, valueEditorProps}) => {\n const styles = useSelectStyles();\n const [firstOption] = filterOptions;\n const filterOption = value.filter || firstOption.value;\n const filter = {...value, filter: filterOption};\n const canFilterAcceptValues = checkIfOptionHasValues(filterOption);\n return (\n <>\n <DropDownEditor\n TextFieldProps={commonTextFieldProps}\n className={classes.option}\n value={filterOption}\n entries={filterOptions}\n onChange={pipe(assoc('filter', __, filter), assoc('values', []), onChange)}\n classes={{root: styles.root, icon: styles.icon}}\n />\n {canFilterAcceptValues && (\n <FilterValueEditor\n filter={filter}\n onChange={pipe(assoc('values', __, filter), onChange)}\n dataTypeDefinition={dataTypeDefinition}\n {...valueEditorProps}\n />\n )}\n </>\n );\n};\n\nFilterEditor.propTypes = {\n value: FilterType,\n onChange: PropTypes.func,\n filterOptions: PropTypes.arrayOf(\n PropTypes.shape({\n value: PropTypes.string,\n label: PropTypes.string\n })\n ),\n dataTypeDefinition: PropTypes.object,\n classes: PropTypes.object,\n valueEditorProps: PropTypes.object\n};\n\nexport default FilterEditor;\n","import ArrowDropDownIcon from '@material-ui/icons/ArrowDropDown';\nimport FilterChip from './FilterChip/FilterChip';\nimport FilterEditor from '../../editors/FilterEditor/FilterEditor';\nimport {IconButton as IconButton} from '@material-ui/core';\nimport {Popover as Popover} from '@material-ui/core';\nimport PropTypes from 'prop-types';\nimport React, {useRef, useState} from 'react';\nimport {ColumnFilterType} from '../../../constants';\nimport {defaultTo, pipe, pluck, prop, propEq} from 'ramda';\nimport {useStyles} from './styles';\nimport {\n getDataTypeDefinitionForFilterValue,\n getFilterOptionLabel,\n getFilterOptionsForDataTypeDefinition,\n Maybe,\n validateFilter\n} from '@reltio/mdm-sdk';\nimport {columnFilterToMdmFilter, mdmFilterToColumnFilter} from './helpers';\n\nconst ColumnFilter = ({columnId, dataTypeDefinition, filter, filterOptionsData, onFilter}) => {\n const styles = useStyles();\n\n const [anchorEl, setAnchorEl] = useState(null);\n const openFilterPopup = (event) => setAnchorEl(event.currentTarget);\n const closeFilterPopup = () => setAnchorEl(null);\n\n const [columnFilter, setColumnFilter] = useState(filter);\n const initColumnFilter = () => setColumnFilter(filter);\n\n const containerRef = useRef(null);\n const mdmFilter = columnFilterToMdmFilter({id: columnId, dataTypeDefinition}, columnFilter);\n const applyFilterChange = (newFilter) => {\n if (newFilter !== filter) {\n onFilter({columnId, filter: newFilter});\n }\n };\n const clearFilter = () => applyFilterChange();\n const applyChangesAndClose = () => {\n const isValidFilter = validateFilter(mdmFilter);\n isValidFilter ? applyFilterChange(columnFilter) : clearFilter();\n closeFilterPopup();\n };\n\n const handleValueEditorKeyPress = (event) => {\n if (event.key !== 'Enter') return;\n\n event.stopPropagation();\n event.preventDefault();\n applyChangesAndClose();\n };\n\n const getFilterOptionData = (filterOption) =>\n filterOptionsData && filterOptionsData.find(propEq('value', filterOption));\n\n const getFilterLabel = (filterOption) =>\n pipe(getFilterOptionData, prop('label'), defaultTo(getFilterOptionLabel(filterOption)))(filterOption);\n\n const getFilterDataTypeDefinition = (filterOption) =>\n pipe(\n getFilterOptionData,\n prop('dataTypeDefinition'),\n defaultTo(getDataTypeDefinitionForFilterValue(dataTypeDefinition, filterOption))\n )(filterOption);\n\n const filterOptions = Maybe.fromNull(filterOptionsData)\n .map(pluck('value'))\n .orSome(getFilterOptionsForDataTypeDefinition(dataTypeDefinition))\n .map((value) => ({\n value,\n label: getFilterLabel(value)\n }));\n\n return (\n <div ref={containerRef} className={styles.columnFilter}>\n {filter && (\n <FilterChip\n filterValue={filter.value}\n filterOption={filterOptions.find(propEq('value', filter.filter))}\n onDelete={clearFilter}\n dataTypeDefinition={getFilterDataTypeDefinition(filter.filter)}\n />\n )}\n <IconButton className={styles.dropDownButton} onClick={openFilterPopup} disableFocusRipple>\n <ArrowDropDownIcon />\n </IconButton>\n <Popover\n PaperProps={{\n style: {\n width: `${containerRef.current ? containerRef.current.getBoundingClientRect().width : 0}px`\n }\n }}\n open={!!anchorEl}\n anchorEl={anchorEl}\n anchorOrigin={{\n vertical: 'bottom',\n horizontal: 'right'\n }}\n transformOrigin={{\n vertical: 'top',\n horizontal: 'right'\n }}\n classes={{paper: styles.filterMenu}}\n onEnter={initColumnFilter}\n onClose={applyChangesAndClose}\n >\n <FilterEditor\n classes={{option: styles['filter-editor__option']}}\n value={mdmFilter}\n onChange={pipe(mdmFilterToColumnFilter, setColumnFilter)}\n filterOptions={filterOptions}\n dataTypeDefinition={getFilterDataTypeDefinition(mdmFilter.filter)}\n valueEditorProps={{\n TextFieldProps: {\n onKeyPress: handleValueEditorKeyPress\n },\n fullWidth: true\n }}\n />\n </Popover>\n </div>\n );\n};\n\nColumnFilter.propTypes = {\n columnId: PropTypes.string,\n dataTypeDefinition: PropTypes.object,\n filter: ColumnFilterType,\n onFilter: PropTypes.func,\n filterOptionsData: PropTypes.arrayOf(\n PropTypes.shape({\n value: PropTypes.string,\n label: PropTypes.string,\n dataTypeDefinition: PropTypes.object\n })\n )\n};\n\nexport default ColumnFilter;\n","import React from 'react';\nimport PropTypes from 'prop-types';\n\nimport ColumnFilter from '../../ColumnFilter/ColumnFilter';\nimport {useStyles as useColumnFilterStyles} from '../../ColumnFilter/styles';\n\nconst withFilter = ({filter, onFilter, filterable, filterOptions, dataTypeDefinition}) => (HeadCellRenderer) => {\n const HeadCellRendererWithFilter = (props) => {\n const {\n headCellData: {id: columnId}\n } = props;\n const styles = useColumnFilterStyles();\n const columnFilter = filterable ? (\n <ColumnFilter\n columnId={columnId}\n dataTypeDefinition={dataTypeDefinition}\n filter={filter}\n filterOptionsData={filterOptions}\n onFilter={onFilter}\n />\n ) : (\n <div className={styles.columnFilter} />\n );\n return <HeadCellRenderer {...props} columnFilter={columnFilter} />;\n };\n HeadCellRendererWithFilter.propTypes = {\n headCellData: PropTypes.shape({\n id: PropTypes.string\n })\n };\n return HeadCellRendererWithFilter;\n};\n\nexport default withFilter;\n","import {\n __,\n addIndex,\n always,\n assoc,\n chain,\n curry,\n dropLast,\n groupBy,\n join,\n keys,\n length,\n omit,\n pickBy,\n pipe,\n propOr,\n reduce,\n split,\n sortBy,\n identity,\n sum,\n toPairs,\n unless,\n unnest,\n values,\n zip\n} from 'ramda';\n\nconst TOTAL_ROW_SPAN_KEY = 'total';\nconst NESTED_KEY_DELIMITER = '.';\n\nconst getSiblingSubRowsKeyBySubRowKey = pipe(split(NESTED_KEY_DELIMITER), dropLast(1), join(NESTED_KEY_DELIMITER));\n\nconst getParentRowKeyBySiblingsSubRowsKey = pipe(\n split(NESTED_KEY_DELIMITER),\n dropLast(1),\n join(NESTED_KEY_DELIMITER),\n unless(length, always(TOTAL_ROW_SPAN_KEY))\n);\n\nconst getParentRowKeyBySubRowKey = pipe(getSiblingSubRowsKeyBySubRowKey, getParentRowKeyBySiblingsSubRowsKey);\n\nconst countParentSpanByAllSubRows = (rowSpanData, siblingSubRowsKey) =>\n pipe(\n pickBy((_val, key) => getSiblingSubRowsKeyBySubRowKey(key) === siblingSubRowsKey),\n values,\n sum\n )(rowSpanData);\n\nconst calcParentRowSpan = (rowSpanData, subRowKey) => {\n const parentKey = getParentRowKeyBySubRowKey(subRowKey);\n const currentParentSpan = propOr(0, parentKey, rowSpanData);\n const actualParentSpan = countParentSpanByAllSubRows(rowSpanData, getSiblingSubRowsKeyBySubRowKey(subRowKey));\n\n if (actualParentSpan > currentParentSpan) {\n const nextRowSpanData = assoc(parentKey, actualParentSpan, rowSpanData);\n return parentKey === TOTAL_ROW_SPAN_KEY ? nextRowSpanData : calcParentRowSpan(nextRowSpanData, parentKey);\n } else {\n return rowSpanData;\n }\n};\n\nconst addNestedKey = (rowSpanData, nestedKey) => calcParentRowSpan({...rowSpanData, [nestedKey]: 1}, nestedKey);\n\nconst validateParentRowSpan = (rowSpanData, [siblingSubRowsKey, subRowsKeys]) => {\n const parentKey = getParentRowKeyBySiblingsSubRowsKey(siblingSubRowsKey);\n const currentParentSpan = propOr(0, parentKey, rowSpanData);\n const actualParentSpan = countParentSpanByAllSubRows(rowSpanData, siblingSubRowsKey);\n const spanDiff = currentParentSpan - actualParentSpan;\n\n if (spanDiff > 0) {\n const lowestSubRowKey = `${siblingSubRowsKey}${NESTED_KEY_DELIMITER}${subRowsKeys.length - 1}`;\n const lowestSubRowSpan = rowSpanData[lowestSubRowKey];\n return assoc(lowestSubRowKey, lowestSubRowSpan + spanDiff, rowSpanData);\n } else {\n return rowSpanData;\n }\n};\n\nconst validateRowSpanData = (rowSpanData) =>\n pipe(\n omit([TOTAL_ROW_SPAN_KEY]),\n keys,\n sortBy(identity),\n groupBy(getSiblingSubRowsKeyBySubRowKey),\n toPairs,\n reduce(validateParentRowSpan, rowSpanData)\n )(rowSpanData);\n\nconst calcRowSpansForNestedKeys = pipe(reduce(addNestedKey, {}), validateRowSpanData);\n\nconst chainWithIndex = addIndex(chain);\nconst flattenNestedColumnValues = (values, indexPath = []) => {\n const [head] = values;\n return Array.isArray(head)\n ? chainWithIndex((value, index) => flattenNestedColumnValues(value, [...indexPath, index]), values)\n : {indexPath, values};\n};\n\nconst getNestedKeyForNestedColumnCell = curry((columnNestedPath, cell) =>\n pipe(zip(__, cell.indexPath), unnest, join(NESTED_KEY_DELIMITER))(columnNestedPath)\n);\n\nexport {\n calcRowSpansForNestedKeys,\n validateRowSpanData,\n TOTAL_ROW_SPAN_KEY,\n flattenNestedColumnValues,\n getSiblingSubRowsKeyBySubRowKey,\n getParentRowKeyBySiblingsSubRowsKey,\n getNestedKeyForNestedColumnCell\n};\n","import DefaultCellValueRenderer from '../cell-value-renderers/DefaultCellValueRenderer';\nimport withFilter from '../HOCs/withFilter';\nimport {\n calcRowSpansForNestedKeys,\n flattenNestedColumnValues,\n getNestedKeyForNestedColumnCell,\n TOTAL_ROW_SPAN_KEY\n} from './nestedHelpers';\nimport {\n add,\n always,\n assoc,\n chain,\n evolve,\n isEmpty,\n isNil,\n map,\n mapObjIndexed,\n max,\n objOf,\n pipe,\n pluck,\n prop,\n propEq,\n propOr,\n reduce,\n reject,\n slice,\n uniq,\n unless,\n values\n} from 'ramda';\nimport {wrapInArrayIfNeeded} from '@reltio/mdm-sdk';\nimport DefaultHeadCellRenderer from 'react-components/dist/Table/DefaultHeadCellRenderer/DefaultHeadCellRenderer';\nimport withFilterAtBottom from '../HOCs/withFilterAtBottom';\n\nconst applyCellRendererToColumnCells = (columnsData, renderRowCell, rowIndex, rowValue) => (cells, columnId) => {\n const columnIndex = columnsData.findIndex(propEq('id', columnId));\n const columnData = columnsData[columnIndex];\n const {rowCellValueRenderer: CellValueRenderer = DefaultCellValueRenderer} = columnsData[columnIndex];\n return cells.map((cell, cellIndex) => ({\n ...cell,\n values: renderRowCell({\n columnIndex,\n columnData,\n rowIndex,\n rowValue,\n cellIndex,\n cell,\n CellValueRenderer\n })\n }));\n};\n\nconst applyCellRenderer = pipe(applyCellRendererToColumnCells, mapObjIndexed);\n\nconst calcHeightForColumnCells = (columnsData, getRowCellHeight, rowIndex, rowValue) => (cells, columnId) => {\n const columnIndex = columnsData.findIndex(propEq('id', columnId));\n const columnData = columnsData[columnIndex];\n return cells.map((cell, cellIndex) => ({\n ...cell,\n height: getRowCellHeight({columnIndex, columnData, rowIndex, rowValue, cellIndex, cell})\n }));\n};\n\nconst calcHeights = (columnsData, getRowCellHeight, rowIndex, rowValue) => (rowData) =>\n getRowCellHeight\n ? mapObjIndexed(calcHeightForColumnCells(columnsData, getRowCellHeight, rowIndex, rowValue), rowData)\n : rowData;\n\nconst addRowSpansToColumnCells = (rowSpansData) =>\n map((cell) => ({...cell, rowSpan: rowSpansData[cell.nestedKey || TOTAL_ROW_SPAN_KEY]}));\n\nconst getNestedKeysFromRowCells = pipe(chain(pluck('nestedKey')), reject(isNil), uniq);\n\nconst calcRowSpansData = pipe(values, getNestedKeysFromRowCells, calcRowSpansForNestedKeys);\n\nconst calcRowSpans = (rowData) => {\n const rowSpansData = calcRowSpansData(rowData);\n return isEmpty(rowSpansData) ? rowData : map(addRowSpansToColumnCells(rowSpansData), rowData);\n};\n\nconst calcNestedKeys = (columnNestedPath) =>\n map((cell) => ({\n ...cell,\n nestedKey: getNestedKeyForNestedColumnCell(columnNestedPath, cell)\n }));\n\nconst parseNestedColumnValues = (columnNestedPath, nestedValues) =>\n pipe(flattenNestedColumnValues, calcNestedKeys(columnNestedPath))(nestedValues);\n\nconst getCellValues = (columnNestedPath, columnValues) =>\n columnNestedPath && !isEmpty(columnValues)\n ? parseNestedColumnValues(columnNestedPath, columnValues)\n : [{values: wrapInArrayIfNeeded(columnValues)}];\n\nconst buildRowValues = (rowValue) =>\n reduce((acc, {id, nestedPath}) => assoc(id, getCellValues(nestedPath, rowValue[id]), acc), {});\n\nconst applyValuesCountConstraint = (maxValuesCount) =>\n unless(\n () => maxValuesCount === Infinity,\n map(\n pipe(\n reject(({indexPath}) => indexPath && indexPath.some((index) => index > maxValuesCount - 1)),\n map(\n evolve({\n values: slice(0, maxValuesCount)\n })\n )\n )\n )\n );\n\nconst getTableRowsData = (\n rowValues,\n columnsData,\n renderRowCell,\n getRowCellHeight,\n getRowMaxValuesCount = always(Infinity)\n) =>\n rowValues.map(\n pipe(\n (rowValue, rowIndex) =>\n pipe(\n buildRowValues(rowValue),\n applyValuesCountConstraint(getRowMaxValuesCount(rowIndex)),\n calcRowSpans,\n calcHeights(columnsData, getRowCellHeight, rowIndex, rowValue),\n applyCellRenderer(columnsData, renderRowCell, rowIndex, rowValue)\n )(columnsData),\n objOf('data')\n )\n );\n\nconst getTableHeadData = (columnsData, filters, onFilter) =>\n columnsData.map(\n ({\n id,\n label,\n description,\n sortable,\n filterable = true,\n resizable,\n draggable,\n autoResize = true,\n initialWidth,\n minWidth,\n dataTypeDefinition,\n filterOptions,\n headCellRenderer = withFilterAtBottom(DefaultHeadCellRenderer)\n }) => ({\n id,\n label,\n description,\n sortable,\n resizable,\n draggable,\n initialWidth,\n minWidth,\n autoResize,\n renderer: unless(\n () => isNil(filters),\n withFilter({\n dataTypeDefinition,\n filterable,\n filter: prop(id, filters),\n filterOptions,\n onFilter\n })\n )(headCellRenderer)\n })\n );\n\nconst calcMaxValuesCount = reduce((maxCount, cellValues) => {\n const maxSubNestedValuesCount = pipe(chain(propOr([], 'indexPath')), map(add(1)), reduce(max, 0))(cellValues);\n const maxPlainValuesCount = pipe(pluck('values'), pluck('length'), reduce(max, 0))(cellValues);\n return Math.max(maxCount, maxSubNestedValuesCount, maxPlainValuesCount);\n}, 0);\n\nconst getMaxRowValuesCount = (columnsData, rowValue) => {\n return pipe(buildRowValues(rowValue, Infinity), values, calcMaxValuesCount)(columnsData);\n};\n\nexport {getTableRowsData, getTableHeadData, getMaxRowValuesCount};\n","import {DataTypes} from '@reltio/mdm-sdk';\n\nconst BLOB_HEIGHT = 100;\nconst IMAGE_HEIGHT = 64;\nconst PADDING = 15;\n\nconst defaultGetRowCellHeight = ({columnData, cell}) => {\n const valuesCount = cell.values.length;\n switch (columnData?.dataTypeDefinition?.type) {\n case DataTypes.TYPE_BLOB:\n return BLOB_HEIGHT * valuesCount;\n case DataTypes.TYPE_IMAGE:\n return (PADDING + IMAGE_HEIGHT) * valuesCount + PADDING;\n default:\n return 33 * Math.max(valuesCount, 1) + PADDING;\n }\n};\n\nexport default defaultGetRowCellHeight;\n","import React from 'react';\n\nconst defaultRenderRowCell = ({cell, CellValueRenderer, ...otherProps}) =>\n cell.values.map((value, index) => <CellValueRenderer key={index} value={value} {...otherProps} />);\n\nexport default defaultRenderRowCell;\n","import {useCallback, useMemo, useState} from 'react';\n\nimport {equals, filter, remove} from 'ramda';\nimport {getTableRowsData, getMaxRowValuesCount} from '../helpers/dataHelpers';\nimport {useDidUpdateEffect, usePrevious} from '../../../../hooks';\n\nconst useCollapsibleTableRows = ({rowsData, columnsData, renderRowCell, getRowCellHeight, maxRowValuesCount}) => {\n const [expandedIndexes, setExpandedIndexes] = useState([]);\n\n const getRowMaxValuesCount = useCallback(\n (rowIndex) => {\n return expandedIndexes.includes(rowIndex) ? Infinity : maxRowValuesCount;\n },\n [expandedIndexes, maxRowValuesCount]\n );\n\n const tableRowsData = useMemo(\n () => getTableRowsData(rowsData, columnsData, renderRowCell, getRowCellHeight, getRowMaxValuesCount),\n [rowsData, columnsData, renderRowCell, getRowCellHeight, getRowMaxValuesCount]\n );\n\n const toggleRowCollapse = useCallback((rowIndex) => {\n setExpandedIndexes((expandedIndexes) => {\n const index = expandedIndexes.findIndex(equals(rowIndex));\n return index === -1 ? expandedIndexes.concat(rowIndex) : remove(index, 1, expandedIndexes);\n });\n }, []);\n\n const getIsRowCollapsible = useCallback(\n (rowValue) => {\n return getMaxRowValuesCount(columnsData, rowValue) > maxRowValuesCount;\n },\n [maxRowValuesCount, columnsData]\n );\n\n const getIsRowCollapsed = useCallback(\n (rowIndex) => {\n return !expandedIndexes.includes(rowIndex);\n },\n [expandedIndexes]\n );\n\n const collapseContextValue = useMemo(\n () => ({\n toggleRowCollapse,\n getIsRowCollapsible,\n getIsRowCollapsed\n }),\n [toggleRowCollapse, getIsRowCollapsible, getIsRowCollapsed]\n );\n\n const prevRowsData = usePrevious(rowsData);\n useDidUpdateEffect(() => {\n if (expandedIndexes.length > 0) {\n setExpandedIndexes(\n filter((index) => {\n const rowValue = rowsData[index] || {};\n const prevRowValue = prevRowsData[index] || {};\n return rowValue.rawValue === prevRowValue.rawValue && getIsRowCollapsible(rowValue);\n })\n );\n }\n }, [rowsData]);\n\n return {tableRowsData, collapseContextValue};\n};\n\nexport default useCollapsibleTableRows;\n","import {buildFilterQueryString, Maybe} from '@reltio/mdm-sdk';\nimport {propEq} from 'ramda';\n\nconst columnFilterToMdmFilter = (columnData, columnFilter = {}) => ({\n fieldName: columnData.id,\n filter: columnFilter.filter,\n values: [columnFilter.value],\n type: columnData.dataTypeDefinition.type\n});\n\nconst mdmFilterToColumnFilter = ({filter, values}) => ({filter, value: values[0]});\n\nconst buildColumnsFilter = (columnsData, filters) =>\n Maybe.fromNull(filters)\n .map((filters) =>\n Object.entries(filters).map(([columnId, columnFilter]) => {\n const columnData = columnsData.find(propEq('id', columnId));\n return columnFilterToMdmFilter(columnData, columnFilter);\n })\n )\n .map(buildFilterQueryString())\n .orSome('');\n\nexport {buildColumnsFilter, columnFilterToMdmFilter, mdmFilterToColumnFilter};\n","import {makeStyles} from '@material-ui/core/styles';\n\nexport const COLUMN_FILTER_HEIGHT = 40;\n\nexport const useStyles = makeStyles({\n columnFilter: {\n backgroundColor: 'rgba(0,0,0,0.03)',\n display: 'flex',\n height: `${COLUMN_FILTER_HEIGHT}px`,\n alignItems: 'center'\n },\n dropDownButton: {\n marginLeft: 'auto',\n padding: '6px'\n },\n filterMenu: {\n marginTop: '3px',\n borderRadius: '2px',\n padding: '15px 20px',\n boxSizing: 'border-box',\n display: 'flex',\n flexDirection: 'column',\n minWidth: '454px'\n },\n 'filter-editor__option': {\n fontSize: '13px',\n color: 'rgba(0,0,0,0.54)'\n }\n});\n","import {makeStyles} from '@material-ui/core/styles';\n\nexport const useStyles = makeStyles((theme) => ({\n container: {\n display: 'flex',\n flexDirection: 'column',\n minHeight: '182px'\n },\n header: {\n display: 'flex',\n paddingLeft: '10px',\n backgroundColor: '#FFFFFF'\n },\n title: {\n marginLeft: '10px',\n color: theme.palette.text.primary,\n fontSize: '20px',\n fontWeight: 500,\n letterSpacing: '0.25px',\n lineHeight: '24px'\n },\n dateRangeContainer: {\n display: 'flex',\n flexGrow: 1,\n whiteSpace: 'nowrap',\n cursor: 'default',\n paddingTop: '8px'\n },\n dateInput: {\n margin: '0 7px'\n },\n actionButtons: {\n display: 'flex',\n justifyContent: 'flex-end',\n height: '48px',\n margin: '0px 8px'\n },\n button: {\n width: '96px'\n }\n}));\n","import React, {forwardRef, useRef, useState} from 'react';\nimport i18n from 'ui-i18n';\nimport {nanoid} from 'nanoid';\nimport {pathOr} from 'ramda';\nimport ArrowBack from '@material-ui/icons/ArrowBack';\nimport {Button as Button} from '@material-ui/core';\nimport {Toolbar as Toolbar} from '@material-ui/core';\nimport {Typography as Typography} from '@material-ui/core';\nimport SmallIconButton from '../SmallIconButton/SmallIconButton';\nimport {DataTypes} from '@reltio/mdm-sdk';\nimport TimestampEditor from '../editors/TimestampEditor/TimestampEditor';\nimport DateEditor from '../editors/DateEditor/DateEditor';\n\nimport {useStyles} from './styles';\n\nconst START_DATE = 0;\nconst END_DATE = 1;\n\nconst getDate = (values: Values, index: number) => pathOr(null, [index], values);\n\ntype Values = [Date, Date];\ntype Props = {\n onCancel: () => void;\n onApply: ([startDate, endDate]: Values) => void;\n values?: Values;\n type?: string;\n minDate?: Date;\n maxDate?: Date;\n};\n\nconst DateRangePicker = forwardRef<HTMLDivElement, Props>(\n ({onCancel, onApply, values, type, minDate, maxDate}: Props, ref) => {\n const styles = useStyles();\n\n const editorFromId = useRef(nanoid());\n const editorToId = useRef(nanoid());\n\n const [startDate, setStartDate] = useState<Date>(null);\n const [endDate, setEndDate] = useState<Date>(null);\n\n React.useEffect(() => {\n setStartDate(getDate(values, START_DATE));\n setEndDate(getDate(values, END_DATE));\n }, [values]);\n\n const ComponentEditor = type === DataTypes.TYPE_TIMESTAMP ? TimestampEditor : DateEditor;\n\n const headerTitle =\n type === DataTypes.TYPE_TIMESTAMP ? i18n.text('Pick date and time') : i18n.text('Pick date');\n\n const selectStartDateHandler = (value: Date) => {\n setStartDate(value);\n };\n\n const selectEndDateHandler = (value: Date) => {\n setEndDate(value);\n };\n\n const onUpdate = () => {\n if (startDate && endDate && startDate > endDate) {\n onApply([endDate, startDate]);\n } else {\n onApply([startDate, endDate]);\n }\n };\n\n const onTabStopPropagation = (e) => e.key === 'Tab' && e.stopPropagation();\n\n return (\n <div className={styles.container} ref={ref} onKeyDown={onTabStopPropagation}>\n <Toolbar disableGutters={true} classes={{root: styles.header}}>\n <SmallIconButton size=\"L\" icon={ArrowBack} onClick={onCancel} />\n <Typography className={styles.title}>{headerTitle}</Typography>\n </Toolbar>\n <div className={styles.dateRangeContainer}>\n <ComponentEditor\n id={editorFromId.current}\n label={'From'}\n variant=\"filled\"\n value={startDate}\n onChange={selectStartDateHandler}\n className={styles.dateInput}\n margin=\"dense\"\n minDate={minDate}\n maxDate={maxDate}\n />\n <ComponentEditor\n id={editorToId.current}\n label={'To'}\n variant=\"filled\"\n value={endDate}\n onChange={selectEndDateHandler}\n className={styles.dateInput}\n margin=\"dense\"\n minDate={minDate}\n maxDate={maxDate}\n />\n </div>\n <div className={styles.actionButtons}>\n <Button color=\"primary\" onClick={onUpdate} className={styles.button}>\n {i18n.text('Update')}\n </Button>\n </div>\n </div>\n );\n }\n);\n\nDateRangePicker.displayName = 'DateRangePicker';\n\nexport default DateRangePicker;\n","import PropTypes from 'prop-types';\nimport React from 'react';\nimport classnames from 'classnames';\nimport {useArrowIndicatorStyles} from './arrowIndicatorStyles';\nimport ArrowDropDownIcon from '@material-ui/icons/ArrowDropDown';\nimport SmallIconButton from '../SmallIconButton/SmallIconButton';\n\nconst DropdownIndicatorWithIconButton = (props) => {\n const {\n selectProps: {classes, menuIsOpen},\n innerProps\n } = props;\n\n const styles = useArrowIndicatorStyles();\n\n return (\n <SmallIconButton\n {...innerProps}\n icon={ArrowDropDownIcon}\n className={classes.dropdownIndicator}\n size=\"L\"\n iconClassName={classnames({[styles.expanded]: menuIsOpen})}\n />\n );\n};\n\nDropdownIndicatorWithIconButton.propTypes = {\n innerProps: PropTypes.object.isRequired,\n selectProps: PropTypes.shape({\n classes: PropTypes.shape({\n dropdownIndicator: PropTypes.string\n }).isRequired,\n menuIsOpen: PropTypes.bool.isRequired\n }).isRequired\n};\n\nexport default DropdownIndicatorWithIconButton;\n","import {always, cond, curry, defaultTo, is, isNil, map, pipe, propEq} from 'ramda';\nimport {DataTypeDefinition, DatePeriod, formatDataTypeValue, getDateRangeByValue, isEmptyValue} from '@reltio/mdm-sdk';\n\nexport type Option = {\n value: string;\n label: string;\n};\n\nexport type Values = DatePeriod | string;\n\nconst formatValue = (value: Date, dataTypeDefinition: DataTypeDefinition, placeholder: string) =>\n isNil(value) ? `${placeholder}` : `${formatDataTypeValue({dataTypeDefinition}, value)}`;\n\nconst getEditorValue = curry(\n (placeholder: string, dataTypeDefinition: DataTypeDefinition, value: Values, options: Option[]) =>\n cond([\n [isEmptyValue, always({value: '', label: ''})],\n [\n is(Array),\n (value) => ({\n value,\n label: value.map((value) => formatValue(value, dataTypeDefinition, placeholder)).join(' \\u2014 ')\n })\n ],\n [is(String), (value) => options.find(propEq('value', value))]\n ])(value)\n);\n\nconst convertValuesToDate = pipe(\n getDateRangeByValue,\n defaultTo([]),\n map((value) => value && new Date(value))\n);\n\nexport {getEditorValue, convertValuesToDate};\n","import {makeStyles} from '@material-ui/core/styles';\n\nexport const useStyles = makeStyles((theme) => ({\n dropdownIndicator: {\n transition: 'transform .15s ease',\n cursor: 'pointer',\n color: 'rgba(0, 0, 0, 0.54)'\n },\n paper: {\n minWidth: '112px'\n },\n menuItem: {\n minHeight: '32px'\n },\n menuText: {\n color: theme.palette.text.primary,\n fontSize: '13px',\n lineHeight: '15px',\n letterSpacing: 0\n },\n underline: {\n '&:after': {\n transform: 'scaleX(1)'\n }\n },\n inputLabel: {\n color: theme.palette.primary.main\n },\n adornedEnd: {\n paddingRight: 4\n },\n inputRoot: {\n fontSize: '14px',\n letterSpacing: 0,\n lineHeight: '16px'\n }\n}));\n","import React, {useCallback, useMemo, useRef, useState} from 'react';\nimport classnames from 'classnames';\nimport moment from 'moment';\nimport i18n from 'ui-i18n';\nimport {identity, isNil, prop} from 'ramda';\nimport {DataTypes, DataTypeDefinition, AllDateRangeValues, getRangeOptionLabel} from '@reltio/mdm-sdk';\nimport TextField, {TextFieldProps} from '@material-ui/core/TextField';\nimport {MenuItem as MenuItem} from '@material-ui/core';\nimport {Typography as Typography} from '@material-ui/core';\nimport Menu, {MenuProps} from '@material-ui/core/Menu';\n\nimport {getEditorValue, convertValuesToDate, Option, Values} from './helpers';\nimport DropdownIndicatorWithIconButton from '../../commonReactSelectComponents/DropdownIndicatorWithIconButton';\nimport DateRangePicker from '../../DateRangePicker/DateRangePicker';\n\nimport {useStyles} from './styles';\n\nconst localeFormat = moment.localeData().longDateFormat('L');\n\nexport type DateRangeEditorProps = {\n label?: string;\n values?: Values;\n options?: Option[];\n getValuesDateRange?: (value: Values) => [Date, Date];\n onChange?: (value: Values) => void;\n dataTypeDefinition?: DataTypeDefinition;\n MenuProps?: Partial<MenuProps>;\n TextFieldProps?: TextFieldProps;\n DateRangePickerProps?: {\n minDate?: Date;\n maxDate?: Date;\n };\n className?: string;\n classes?: {\n dropdownIndicator?: string;\n root?: string;\n };\n};\n\nconst DateRangeEditor = ({\n label,\n values,\n options,\n getValuesDateRange = convertValuesToDate,\n onChange = identity,\n dataTypeDefinition = {\n type: DataTypes.TYPE_DATE\n },\n DateRangePickerProps,\n TextFieldProps,\n MenuProps,\n ...otherProps\n}: DateRangeEditorProps) => {\n const {classes} = otherProps;\n const placeholder = localeFormat + (dataTypeDefinition.type === DataTypes.TYPE_TIMESTAMP ? ' HH:MM' : '');\n\n const rangeOptions = useMemo(\n () =>\n options ||\n Object.values(AllDateRangeValues).map((option) => ({value: option, label: getRangeOptionLabel(option)})),\n [options]\n );\n\n const inputRef = useRef(null);\n const [open, setOpen] = useState(false);\n const [customValue, setCustomValue] = useState<[Date, Date]>();\n const styles = useStyles();\n\n const onItemClick = (value) => {\n if (value === AllDateRangeValues.PICK_DATE) {\n setCustomValue(value);\n } else {\n setOpen(false);\n setCustomValue(null);\n onChange(value);\n }\n };\n\n const handleToggle = useCallback(() => setOpen((open) => !open), []);\n\n const onCancel = () => {\n setCustomValue(null);\n setOpen(false);\n };\n\n return (\n <>\n <TextField\n {...TextFieldProps}\n {...otherProps}\n label={label}\n value={\n TextFieldProps?.value ||\n getEditorValue(placeholder, dataTypeDefinition, customValue || values, rangeOptions)?.label\n }\n onClick={handleToggle}\n variant=\"filled\"\n margin=\"dense\"\n ref={inputRef}\n InputProps={{\n endAdornment: (\n <DropdownIndicatorWithIconButton\n selectProps={{\n classes: {\n dropdownIndicator: classnames(styles.dropdownIndicator, classes?.dropdownIndicator)\n },\n menuIsOpen: open\n }}\n innerProps={{}}\n />\n ),\n classes: {\n root: styles.inputRoot,\n underline: classnames({[styles.underline]: open}),\n adornedEnd: styles.adornedEnd\n },\n disableUnderline: isNil(values),\n readOnly: true,\n ...TextFieldProps?.InputProps\n }}\n InputLabelProps={{\n classes: {\n root: open ? styles.inputLabel : undefined\n },\n shrink: !isNil(label)\n }}\n placeholder={i18n.text(`${placeholder} \\u2014 ${placeholder}`)}\n />\n <Menu\n variant=\"menu\"\n open={open}\n autoFocus={false}\n classes={{paper: styles.paper}}\n anchorEl={inputRef.current}\n onClose={onCancel}\n anchorOrigin={{\n vertical: 'bottom',\n horizontal: 'left'\n }}\n transformOrigin={{\n vertical: 'top',\n horizontal: 'left'\n }}\n elevation={2}\n getContentAnchorEl={null}\n MenuListProps={{\n autoFocusItem: open,\n style: {\n width: customValue ? '100%' : prop('clientWidth', inputRef.current)\n }\n }}\n {...MenuProps}\n >\n {customValue ? (\n <DateRangePicker\n values={getValuesDateRange(values)}\n onCancel={onCancel}\n onApply={onItemClick}\n type={dataTypeDefinition.type}\n {...DateRangePickerProps}\n />\n ) : (\n rangeOptions.map((option) => (\n <MenuItem\n key={option.value}\n value={option.value}\n onClick={() => onItemClick(option.value)}\n className={styles.menuItem}\n >\n <Typography classes={{root: styles.menuText}}>{option.label}</Typography>\n </MenuItem>\n ))\n )}\n </Menu>\n </>\n );\n};\n\nexport default DateRangeEditor;\n","import {makeStyles} from '@material-ui/core/styles';\n\nexport const useStyles = makeStyles({\n 'range-editor': {\n width: '100%'\n },\n 'range-editor__control': {\n marginTop: '10px',\n paddingTop: '15px',\n '& > label + *': {\n marginTop: 0\n }\n },\n 'range-inline-editor': {\n display: 'flex',\n alignItems: 'center',\n flexGrow: 1\n },\n 'range-editor__dash': {\n padding: '0 5px'\n }\n});\n","import React, {useRef} from 'react';\nimport PropTypes from 'prop-types';\nimport {nanoid} from 'nanoid';\nimport {FormControl as FormControl} from '@material-ui/core';\nimport {InputLabel as InputLabel} from '@material-ui/core';\nimport DataTypeValueEditor from '../DataTypeValueEditor/DataTypeValueEditor';\nimport {__, pipe, update} from 'ramda';\nimport {useStyles} from './styles';\nimport i18n from 'ui-i18n';\n\nconst RangeDataTypeValueEditor = ({value = new Array(2), onChange, orientation = 'vertical', ...otherProps}) => {\n const styles = useStyles();\n const rangeEditorFromId = useRef(nanoid());\n const rangeEditorToId = useRef(nanoid());\n\n const fromEditor = (\n <DataTypeValueEditor\n id={rangeEditorFromId.current}\n value={value[0]}\n onChange={pipe(update(0, __, value), onChange)}\n {...otherProps}\n />\n );\n\n const toEditor = (\n <DataTypeValueEditor\n id={rangeEditorToId.current}\n value={value[1]}\n onChange={pipe(update(1, __, value), onChange)}\n {...otherProps}\n />\n );\n\n if (orientation === 'horizontal') {\n return (\n <div className={styles['range-inline-editor']}>\n {fromEditor}\n <div className={styles['range-editor__dash']}>{'—'}</div>\n {toEditor}\n </div>\n );\n } else {\n return (\n <div className={styles['range-editor']}>\n <FormControl fullWidth={true} className={styles['range-editor__control']}>\n <InputLabel htmlFor={rangeEditorFromId.current} shrink={true}>\n {i18n.text('From')}\n </InputLabel>\n {fromEditor}\n </FormControl>\n <FormControl fullWidth={true} className={styles['range-editor__control']}>\n <InputLabel htmlFor={rangeEditorToId.current} shrink={true}>\n {i18n.text('To')}\n </InputLabel>\n {toEditor}\n </FormControl>\n </div>\n );\n }\n};\n\nRangeDataTypeValueEditor.propTypes = {\n value: PropTypes.arrayOf(PropTypes.any),\n onChange: PropTypes.func,\n fieldName: PropTypes.string,\n orientation: PropTypes.oneOf(['horizontal', 'vertical']),\n dataTypeDefinition: PropTypes.object,\n classes: PropTypes.object\n};\n\nexport default RangeDataTypeValueEditor;\n","import DataTypeValueEditor from '../DataTypeValueEditor/DataTypeValueEditor';\nimport PropTypes from 'prop-types';\nimport React from 'react';\nimport i18n from 'ui-i18n';\nimport {\n DataTypes,\n FilterType,\n isDateRangeFilterOption,\n isDateRangeValue,\n isMultiValueOption,\n isRangeFilterOption,\n mapFilterValue,\n wrapInArray\n} from '@reltio/mdm-sdk';\nimport {pipe} from 'ramda';\nimport RangeDataTypeValueEditor from '../RangeDataTypeValueEditor/RangeDataTypeValueEditor';\nimport DateRangeEditor from '../DateRangeEditor/DateRangeEditor';\nimport {utils} from '@reltio/mdm-sdk';\n\nconst toEditorValue = (dataType) => (value) => {\n switch (dataType) {\n case DataTypes.TYPE_DATE:\n return isDateRangeValue(value) ? value : utils.dates.toLocalDate(value);\n case DataTypes.TYPE_LOCAL_DATE:\n case DataTypes.TYPE_TIMESTAMP:\n case DataTypes.TYPE_ACTIVENESS_DATE:\n return isDateRangeValue(value) ? value : new Date(value);\n default:\n return value;\n }\n};\n\nconst fromEditorValue = (dataType) => (value) => {\n switch (dataType) {\n case DataTypes.TYPE_DATE:\n return isDateRangeValue(value) ? value : Date.UTC(value.getFullYear(), value.getMonth(), value.getDate());\n case DataTypes.TYPE_LOCAL_DATE:\n case DataTypes.TYPE_ACTIVENESS_DATE:\n case DataTypes.TYPE_TIMESTAMP:\n return isDateRangeValue(value) ? value : value.valueOf();\n default:\n return value;\n }\n};\n\nconst FilterValueEditor = ({\n filter: {values = [], fieldName, filter},\n onChange,\n dataTypeDefinition,\n orientation,\n TextFieldProps,\n ...otherProps\n}) => {\n const {type: dataType} = dataTypeDefinition;\n\n const value = mapFilterValue(toEditorValue(dataType))(values[0]);\n const handleChange = pipe(mapFilterValue(fromEditorValue(dataType)), wrapInArray, onChange);\n\n if (isDateRangeFilterOption(filter)) {\n return (\n <DateRangeEditor\n {...otherProps}\n values={value}\n onChange={handleChange}\n dataTypeDefinition={dataTypeDefinition}\n label={i18n.text('Date Range')}\n />\n );\n } else if (isRangeFilterOption(filter)) {\n return (\n <RangeDataTypeValueEditor\n {...otherProps}\n value={value}\n onChange={handleChange}\n fieldName={fieldName}\n dataTypeDefinition={dataTypeDefinition}\n orientation={orientation}\n TextFieldProps={TextFieldProps}\n />\n );\n } else {\n const multipleProp = isMultiValueOption(filter) ? {multiple: true} : {};\n return (\n <DataTypeValueEditor\n {...otherProps}\n {...multipleProp}\n fieldName={fieldName}\n value={value}\n onChange={handleChange}\n dataTypeDefinition={dataTypeDefinition}\n TextFieldProps={TextFieldProps}\n />\n );\n }\n};\n\nFilterValueEditor.propTypes = {\n filter: FilterType,\n orientation: PropTypes.oneOf(['horizontal', 'vertical']),\n onChange: PropTypes.func,\n dataTypeDefinition: PropTypes.object,\n classes: PropTypes.object,\n TextFieldProps: PropTypes.object\n};\n\nexport default FilterValueEditor;\n"],"names":["BasicTable","forwardRef","ref","columnsData","rowsData","context","sorting","onSort","renderRowCell","defaultRenderRowCell","getRowCellHeight","defaultGetRowCellHeight","filters","onFilter","headRowHeight","maxRowValuesCount","Infinity","autosizing","maxHeight","otherProps","tableHeadData","useMemo","getTableHeadData","tableRowsData","collapseContextValue","useCollapsibleTableRows","length","value","defaultRowHeight","fixHead","headData","sortField","prop","sortOrder","COLUMN_FILTER_HEIGHT","BasicTableType","PropTypes","ColumnDataType","isRequired","SortingType","ColumnFilterType","defaultColumnWidth","defaultColumnMinWidth","classes","highlightRow","cellBorder","dragColumnBody","dragColumnHead","draggableHeadCell","cellWrapper","cellContentWrapper","hoveredRowRightContentContainer","hoveredRowRightContentWrapper","propTypes","displayName","HeadCellRenderer","HeadCellRendererWithFilterAtBottom","columnFilter","style","display","flexDirection","height","flex","useStyles","makeStyles","defaultWrapper","whiteSpace","overflow","textOverflow","padding","blobWrapper","position","overflowY","overflowX","boxSizing","stopPropagation","event","BlobRenderer","styles","className","onScroll","DefaultCellValueRenderer","props","columnData","dataTypeDefinition","type","DataTypes","dataTypeValue","DataTypeValue","ExpandedValueTooltip","RowCollapseContext","React","TableContext","maxWidth","justifyContent","marginRight","backgroundColor","color","FilterChip","filterOption","filterValue","onDelete","canFilterAcceptValues","checkIfOptionHasValues","optionLabel","label","attributePresentations","useSelector","mdm","dateMask","dateTimeMask","formatValue","formatDataTypeValue","convertedValue","mapFilterValue","filterLabel","getFilterValueLabel","Chip","root","FilterValueType","FilterEditor","onChange","filterOptions","valueEditorProps","useSelectStyles","firstOption","filter","DropDownEditor","TextFieldProps","commonTextFieldProps","option","entries","pipe","assoc","__","icon","FilterValueEditor","FilterType","ColumnFilter","columnId","filterOptionsData","anchorEl","setAnchorEl","useState","setColumnFilter","containerRef","useRef","mdmFilter","columnFilterToMdmFilter","id","applyFilterChange","newFilter","clearFilter","applyChangesAndClose","validateFilter","getFilterOptionData","find","propEq","getFilterDataTypeDefinition","defaultTo","getDataTypeDefinitionForFilterValue","Maybe","map","pluck","orSome","getFilterOptionsForDataTypeDefinition","getFilterOptionLabel","IconButton","dropDownButton","onClick","currentTarget","disableFocusRipple","ArrowDropDown","Popover","PaperProps","width","current","getBoundingClientRect","open","anchorOrigin","vertical","horizontal","transformOrigin","paper","filterMenu","onEnter","onClose","mdmFilterToColumnFilter","onKeyPress","key","preventDefault","fullWidth","filterable","HeadCellRendererWithFilter","headCellData","useColumnFilterStyles","TOTAL_ROW_SPAN_KEY","NESTED_KEY_DELIMITER","getSiblingSubRowsKeyBySubRowKey","split","dropLast","join","getParentRowKeyBySiblingsSubRowsKey","unless","always","getParentRowKeyBySubRowKey","countParentSpanByAllSubRows","rowSpanData","siblingSubRowsKey","pickBy","_val","values","sum","calcParentRowSpan","subRowKey","parentKey","currentParentSpan","propOr","actualParentSpan","nextRowSpanData","validateParentRowSpan","subRowsKeys","spanDiff","lowestSubRowKey","lowestSubRowSpan","calcRowSpansForNestedKeys","reduce","nestedKey","omit","keys","sortBy","identity","groupBy","toPairs","chainWithIndex","addIndex","chain","flattenNestedColumnValues","indexPath","head","Array","isArray","index","getNestedKeyForNestedColumnCell","curry","columnNestedPath","cell","zip","unnest","applyCellRenderer","rowIndex","rowValue","cells","columnIndex","findIndex","rowCellValueRenderer","CellValueRenderer","cellIndex","mapObjIndexed","calcHeights","rowData","calcHeightForColumnCells","getNestedKeysFromRowCells","reject","isNil","uniq","calcRowSpansData","calcRowSpans","rowSpansData","isEmpty","rowSpan","addRowSpansToColumnCells","buildRowValues","acc","nestedPath","columnValues","nestedValues","calcNestedKeys","parseNestedColumnValues","wrapInArrayIfNeeded","applyValuesCountConstraint","maxValuesCount","some","evolve","slice","getTableRowsData","rowValues","getRowMaxValuesCount","objOf","description","sortable","resizable","draggable","autoResize","initialWidth","minWidth","headCellRenderer","withFilterAtBottom","DefaultHeadCellRenderer","renderer","withFilter","calcMaxValuesCount","maxCount","cellValues","maxSubNestedValuesCount","add","max","maxPlainValuesCount","Math","getMaxRowValuesCount","valuesCount","expandedIndexes","setExpandedIndexes","useCallback","includes","toggleRowCollapse","equals","concat","remove","getIsRowCollapsible","getIsRowCollapsed","prevRowsData","usePrevious","useDidUpdateEffect","prevRowValue","rawValue","fieldName","buildColumnsFilter","Object","buildFilterQueryString","alignItems","marginLeft","marginTop","borderRadius","fontSize","theme","container","minHeight","header","paddingLeft","title","palette","text","primary","fontWeight","letterSpacing","lineHeight","dateRangeContainer","flexGrow","cursor","paddingTop","dateInput","margin","actionButtons","button","getDate","pathOr","DateRangePicker","onCancel","onApply","minDate","maxDate","editorFromId","nanoid","editorToId","startDate","setStartDate","endDate","setEndDate","ComponentEditor","TimestampEditor","DateEditor","headerTitle","i18n","onKeyDown","e","Toolbar","disableGutters","SmallIconButton","size","ArrowBack","Typography","variant","Button","DropdownIndicatorWithIconButton","selectProps","menuIsOpen","innerProps","useArrowIndicatorStyles","ArrowDropDownIcon","dropdownIndicator","iconClassName","classnames","expanded","getEditorValue","placeholder","options","cond","isEmptyValue","is","String","convertValuesToDate","getDateRangeByValue","Date","transition","menuItem","menuText","underline","transform","inputLabel","main","adornedEnd","paddingRight","inputRoot","localeFormat","moment","longDateFormat","getValuesDateRange","DateRangePickerProps","MenuProps","rangeOptions","AllDateRangeValues","getRangeOptionLabel","inputRef","setOpen","customValue","setCustomValue","onItemClick","handleToggle","TextField","InputProps","endAdornment","disableUnderline","readOnly","InputLabelProps","undefined","shrink","Menu","autoFocus","elevation","getContentAnchorEl","MenuListProps","autoFocusItem","MenuItem","RangeDataTypeValueEditor","orientation","rangeEditorFromId","rangeEditorToId","fromEditor","DataTypeValueEditor","update","toEditor","FormControl","InputLabel","htmlFor","dataType","isDateRangeValue","utils","toEditorValue","handleChange","UTC","getFullYear","getMonth","valueOf","fromEditorValue","wrapInArray","isDateRangeFilterOption","DateRangeEditor","isRangeFilterOption","multipleProp","isMultiValueOption","multiple"],"sourceRoot":""}
|