@adaptabletools/adaptable 11.0.0-canary.1 → 11.0.0-canary.2

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/bundle.cjs.js CHANGED
@@ -276,7 +276,7 @@ Your Infinite Table license has expired on ${i.toDateString()}.
276
276
  Please be sure to add the {provided.placeholder} React Node as a child of your Droppable.
277
277
  More information: https://github.com/atlassian/react-beautiful-dnd/blob/master/docs/api/droppable.md
278
278
  `)}}],cut=[function(e){var r=e.props;r.renderClone||(p.NODE_ENV!=="production"?q(!1,"Must provide a clone render function (renderClone) for virtual lists"):q(!1))},function(e){var r=e.getPlaceholderRef;r()&&(p.NODE_ENV!=="production"?q(!1,"Expected virtual list to not have a placeholder"):q(!1))}];function mut(t){sy(function(){v9(t,dut),t.props.mode==="standard"&&v9(t,put),t.props.mode==="virtual"&&v9(t,cut)})}var fut=function(t){e2(e,t);function e(){for(var n,o=arguments.length,i=new Array(o),a=0;a<o;a++)i[a]=arguments[a];return n=t.call.apply(t,[this].concat(i))||this,n.state={isVisible:Boolean(n.props.on),data:n.props.on,animate:n.props.shouldAnimate&&n.props.on?"open":"none"},n.onClose=function(){n.state.animate==="close"&&n.setState({isVisible:!1})},n}e.getDerivedStateFromProps=function(o,i){return o.shouldAnimate?o.on?{isVisible:!0,data:o.on,animate:"open"}:i.isVisible?{isVisible:!0,data:i.data,animate:"close"}:{isVisible:!1,animate:"close",data:null}:{isVisible:Boolean(o.on),data:o.on,animate:"none"}};var r=e.prototype;return r.render=function(){if(!this.state.isVisible)return null;var o={onClose:this.onClose,data:this.state.data,animate:this.state.animate};return this.props.children(o)},e}(ct.default.PureComponent),uge={dragging:5e3,dropAnimating:4500},hut=function(e,r){return r?$S.drop(r.duration):e?$S.snap:$S.fluid},gut=function(e,r){return e?r?ty.opacity.drop:ty.opacity.combining:null},but=function(e){return e.forceShouldAnimate!=null?e.forceShouldAnimate:e.mode==="SNAP"};function Cut(t){var e=t.dimension,r=e.client,n=t.offset,o=t.combineWith,i=t.dropping,a=Boolean(o),s=but(t),u=Boolean(i),d=u?I9.drop(n,a):I9.moveTo(n),c={position:"fixed",top:r.marginBox.top,left:r.marginBox.left,boxSizing:"border-box",width:r.borderBox.width,height:r.borderBox.height,transition:hut(s,i),transform:d,opacity:gut(a,u),zIndex:u?uge.dropAnimating:uge.dragging,pointerEvents:"none"};return c}function Sut(t){return{transform:I9.moveTo(t.offset),transition:t.shouldAnimateDisplacement?null:"none"}}function yut(t){return t.type==="DRAGGING"?Cut(t):Sut(t)}function vut(t,e,r){r===void 0&&(r=fo);var n=window.getComputedStyle(e),o=e.getBoundingClientRect(),i=d9(o,n),a=qS(i,r),s={client:i,tagName:e.tagName.toLowerCase(),display:n.display},u={x:i.marginBox.width,y:i.marginBox.height},d={descriptor:t,placeholder:s,displaceBy:u,client:i,page:a};return d}function Aut(t){var e=j9("draggable"),r=t.descriptor,n=t.registry,o=t.getDraggableRef,i=t.canDragInteractiveElements,a=t.shouldRespectForcePress,s=t.isEnabled,u=or(function(){return{canDragInteractiveElements:i,shouldRespectForcePress:a,isEnabled:s}},[i,s,a]),d=gt(function(h){var g=o();return g||(p.NODE_ENV!=="production"?q(!1,"Cannot get dimension when no ref is set"):q(!1)),vut(r,g,h)},[r,o]),c=or(function(){return{uniqueId:e,descriptor:r,options:u,getDimension:d}},[r,d,u,e]),m=(0,ct.useRef)(c),f=(0,ct.useRef)(!0);qi(function(){return n.draggable.register(m.current),function(){return n.draggable.unregister(m.current)}},[n.draggable]),qi(function(){if(f.current){f.current=!1;return}var h=m.current;m.current=c,n.draggable.update(c,h)},[c,n.draggable])}function xut(t,e,r){sy(function(){function n(i){return"Draggable[id: "+i+"]: "}var o=t.draggableId;o||(p.NODE_ENV!=="production"?q(!1,"Draggable requires a draggableId"):q(!1)),typeof o!="string"&&(p.NODE_ENV!=="production"?q(!1,`Draggable requires a [string] draggableId.
279
- Provided: [type: `+typeof o+"] (value: "+o+")"):q(!1)),xit(t.index)||(p.NODE_ENV!=="production"?q(!1,n(o)+" requires an integer index prop"):q(!1)),t.mapped.type!=="DRAGGING"&&(obe(r()),t.isEnabled&&(Kge(e,o)||(p.NODE_ENV!=="production"?q(!1,n(o)+" Unable to find drag handle"):q(!1))))})}function Eut(t){Y9(function(){var e=(0,ct.useRef)(t);sy(function(){t!==e.current&&(p.NODE_ENV!=="production"?q(!1,"Draggable isClone prop value changed during component life"):q(!1))},[t])})}function Rut(t){t.preventDefault()}function Iut(t){var e=(0,ct.useRef)(null),r=gt(function(A){e.current=A},[]),n=gt(function(){return e.current},[]),o=p2(g2),i=o.contextId,a=o.dragHandleUsageInstructionsId,s=o.registry,u=p2(J9),d=u.type,c=u.droppableId,m=or(function(){return{id:t.draggableId,index:t.index,type:d,droppableId:c}},[t.draggableId,t.index,d,c]),f=t.children,h=t.draggableId,g=t.isEnabled,C=t.shouldRespectForcePress,S=t.canDragInteractiveElements,v=t.isClone,x=t.mapped,R=t.dropAnimationFinished;if(xut(t,i,n),Eut(v),!v){var D=or(function(){return{descriptor:m,registry:s,getDraggableRef:n,canDragInteractiveElements:S,shouldRespectForcePress:C,isEnabled:g}},[m,s,n,S,C,g]);Aut(D)}var T=or(function(){return g?{tabIndex:0,role:"button","aria-describedby":a,"data-rbd-drag-handle-draggable-id":h,"data-rbd-drag-handle-context-id":i,draggable:!1,onDragStart:Rut}:null},[i,a,h,g]),w=gt(function(A){x.type==="DRAGGING"&&(!x.dropping||A.propertyName==="transform"&&R())},[R,x]),N=or(function(){var A=yut(x),I=x.type==="DRAGGING"&&x.dropping?w:null,O={innerRef:r,draggableProps:{"data-rbd-draggable-context-id":i,"data-rbd-draggable-id":h,style:A,onTransitionEnd:I},dragHandleProps:T};return O},[i,T,h,x,w,r]),M=or(function(){return{draggableId:m.id,type:m.type,source:{index:m.index,droppableId:m.droppableId}}},[m.droppableId,m.id,m.index,m.type]);return f(N,x.snapshot,M)}var ibe=function(t,e){return t===e},abe=function(t){var e=t.combine,r=t.destination;return r?r.droppableId:e?e.droppableId:null},Dut=function(e){return e.combine?e.combine.draggableId:null},Put=function(e){return e.at&&e.at.type==="COMBINE"?e.at.combine.draggableId:null};function Tut(){var t=(0,Jn.default)(function(o,i){return{x:o,y:i}}),e=(0,Jn.default)(function(o,i,a,s,u){return{isDragging:!0,isClone:i,isDropAnimating:Boolean(u),dropAnimation:u,mode:o,draggingOver:a,combineWith:s,combineTargetFor:null}}),r=(0,Jn.default)(function(o,i,a,s,u,d,c){return{mapped:{type:"DRAGGING",dropping:null,draggingOver:u,combineWith:d,mode:i,offset:o,dimension:a,forceShouldAnimate:c,snapshot:e(i,s,u,d,null)}}}),n=function(i,a){if(i.isDragging){if(i.critical.draggable.id!==a.draggableId)return null;var s=i.current.client.offset,u=i.dimensions.draggables[a.draggableId],d=zi(i.impact),c=Put(i.impact),m=i.forceShouldAnimate;return r(t(s.x,s.y),i.movementMode,u,a.isClone,d,c,m)}if(i.phase==="DROP_ANIMATING"){var f=i.completed;if(f.result.draggableId!==a.draggableId)return null;var h=a.isClone,g=i.dimensions.draggables[a.draggableId],C=f.result,S=C.mode,v=abe(C),x=Dut(C),R=i.dropDuration,D={duration:R,curve:G9.drop,moveTo:i.newHomeClientOffset,opacity:x?ty.opacity.drop:null,scale:x?ty.scale.drop:null};return{mapped:{type:"DRAGGING",offset:i.newHomeClientOffset,dimension:g,dropping:D,draggingOver:v,combineWith:x,mode:S,forceShouldAnimate:null,snapshot:e(S,h,v,x,D)}}}return null};return n}function lbe(t){return{isDragging:!1,isDropAnimating:!1,isClone:!1,dropAnimation:null,mode:null,draggingOver:null,combineTargetFor:t,combineWith:null}}var wut={mapped:{type:"SECONDARY",offset:fo,combineTargetFor:null,shouldAnimateDisplacement:!0,snapshot:lbe(null)}};function Out(){var t=(0,Jn.default)(function(a,s){return{x:a,y:s}}),e=(0,Jn.default)(lbe),r=(0,Jn.default)(function(a,s,u){return s===void 0&&(s=null),{mapped:{type:"SECONDARY",offset:a,combineTargetFor:s,shouldAnimateDisplacement:u,snapshot:e(s)}}}),n=function(s){return s?r(fo,s,!0):null},o=function(s,u,d,c){var m=d.displaced.visible[s],f=Boolean(c.inVirtualList&&c.effected[s]),h=m2(d),g=h&&h.draggableId===s?u:null;if(!m){if(!f)return n(g);if(d.displaced.invisible[s])return null;var C=Pg(c.displacedBy.point),S=t(C.x,C.y);return r(S,g,!0)}if(f)return n(g);var v=d.displacedBy.point,x=t(v.x,v.y);return r(x,g,m.shouldAnimate)},i=function(s,u){if(s.isDragging)return s.critical.draggable.id===u.draggableId?null:o(u.draggableId,s.critical.draggable.id,s.impact,s.afterCritical);if(s.phase==="DROP_ANIMATING"){var d=s.completed;return d.result.draggableId===u.draggableId?null:o(u.draggableId,d.result.draggableId,d.impact,d.afterCritical)}return null};return i}var Fut=function(){var e=Tut(),r=Out(),n=function(i,a){return e(i,a)||r(i,a)||wut};return n},Mut={dropAnimationFinished:Bge},_ut=We(Fut,Mut,null,{context:Q9,pure:!0,areStatePropsEqual:ibe})(Iut);function sbe(t){var e=p2(J9),r=e.isUsingCloneFor;return r===t.draggableId&&!t.isClone?null:ct.default.createElement(_ut,t)}function bi(t){var e=typeof t.isDragDisabled=="boolean"?!t.isDragDisabled:!0,r=Boolean(t.disableInteractiveElementBlocking),n=Boolean(t.shouldRespectForcePress);return ct.default.createElement(sbe,bt({},t,{isClone:!1,isEnabled:e,canDragInteractiveElements:r,shouldRespectForcePress:n}))}function Nut(t){var e=(0,ct.useContext)(g2);e||(p.NODE_ENV!=="production"?q(!1,"Could not find app context"):q(!1));var r=e.contextId,n=e.isMovementAllowed,o=(0,ct.useRef)(null),i=(0,ct.useRef)(null),a=t.children,s=t.droppableId,u=t.type,d=t.mode,c=t.direction,m=t.ignoreContainerClipping,f=t.isDropDisabled,h=t.isCombineEnabled,g=t.snapshot,C=t.useClone,S=t.updateViewportMaxScroll,v=t.getContainerForClone,x=gt(function(){return o.current},[]),R=gt(function(z){o.current=z},[]),D=gt(function(){return i.current},[]),T=gt(function(z){i.current=z},[]);mut({props:t,getDroppableRef:x,getPlaceholderRef:D});var w=gt(function(){n()&&S({maxScroll:Wge()})},[n,S]);iut({droppableId:s,type:u,mode:d,direction:c,isDropDisabled:f,isCombineEnabled:h,ignoreContainerClipping:m,getDroppableRef:x});var N=ct.default.createElement(fut,{on:t.placeholder,shouldAnimate:t.shouldAnimatePlaceholder},function(z){var F=z.onClose,B=z.data,Y=z.animate;return ct.default.createElement(uut,{placeholder:B,onClose:F,innerRef:T,animate:Y,contextId:r,onTransitionEnd:w})}),M=or(function(){return{innerRef:R,placeholder:N,droppableProps:{"data-rbd-droppable-id":s,"data-rbd-droppable-context-id":r}}},[r,s,N,R]),A=C?C.dragging.draggableId:null,I=or(function(){return{droppableId:s,type:u,isUsingCloneFor:A}},[s,A,u]);function O(){if(!C)return null;var z=C.dragging,F=C.render,B=ct.default.createElement(sbe,{draggableId:z.draggableId,index:z.source.index,isClone:!0,isEnabled:!0,shouldRespectForcePress:!1,canDragInteractiveElements:!0},function(Y,ie){return F(Y,ie,z)});return pge.default.createPortal(B,v())}return ct.default.createElement(J9.Provider,{value:I},a(M,g),O())}var A9=function(e,r){return e===r.droppable.type},dge=function(e,r){return r.draggables[e.draggable.id]},Lut=function(){var e={placeholder:null,shouldAnimatePlaceholder:!0,snapshot:{isDraggingOver:!1,draggingOverWith:null,draggingFromThisWith:null,isUsingPlaceholder:!1},useClone:null},r=bt({},e,{shouldAnimatePlaceholder:!1}),n=(0,Jn.default)(function(a){return{draggableId:a.id,type:a.type,source:{index:a.index,droppableId:a.droppableId}}}),o=(0,Jn.default)(function(a,s,u,d,c,m){var f=c.descriptor.id,h=c.descriptor.droppableId===a;if(h){var g=m?{render:m,dragging:n(c.descriptor)}:null,C={isDraggingOver:u,draggingOverWith:u?f:null,draggingFromThisWith:f,isUsingPlaceholder:!0};return{placeholder:c.placeholder,shouldAnimatePlaceholder:!1,snapshot:C,useClone:g}}if(!s)return r;if(!d)return e;var S={isDraggingOver:u,draggingOverWith:f,draggingFromThisWith:null,isUsingPlaceholder:!0};return{placeholder:c.placeholder,shouldAnimatePlaceholder:!0,snapshot:S,useClone:null}}),i=function(s,u){var d=u.droppableId,c=u.type,m=!u.isDropDisabled,f=u.renderClone;if(s.isDragging){var h=s.critical;if(!A9(c,h))return r;var g=dge(h,s.dimensions),C=zi(s.impact)===d;return o(d,m,C,C,g,f)}if(s.phase==="DROP_ANIMATING"){var S=s.completed;if(!A9(c,S.critical))return r;var v=dge(S.critical,s.dimensions);return o(d,m,abe(S.result)===d,zi(S.impact)===d,v,f)}if(s.phase==="IDLE"&&s.completed&&!s.shouldFlush){var x=s.completed;if(!A9(c,x.critical))return r;var R=zi(x.impact)===d,D=Boolean(x.impact.at&&x.impact.at.type==="COMBINE"),T=x.critical.droppable.id===d;return R?D?e:r:T?e:r}return r};return i},kut={updateViewportMaxScroll:Fat};function But(){return document.body||(p.NODE_ENV!=="production"?q(!1,"document.body is not ready"):q(!1)),document.body}var Vut={mode:"standard",type:"DEFAULT",direction:"vertical",isDropDisabled:!1,isCombineEnabled:!1,ignoreContainerClipping:!1,renderClone:null,getContainerForClone:But},Jo=We(Lut,kut,null,{context:Q9,pure:!0,areStatePropsEqual:ibe})(Nut);Jo.defaultProps=Vut;l();var Zn=y(require("react")),dbe=y(re()),zd=require("react");l();var C2=require("react"),ube=t=>{let e=(0,C2.useRef)(t);return e.current=t,(0,C2.useCallback)(()=>e.current,[])};var Gut=({children:t,index:e,hidden:r,observerRef:n})=>{var c;let[o,i]=(0,zd.useState)(!1);Zn.useEffect(()=>{let m=setTimeout(()=>{i(!0)},50);return()=>clearTimeout(m)},[]);let a=(0,zd.useRef)(null),s=m=>{var f,h;if(m){if(!m.getAttribute("data-index"))throw'The element you render from "renderItem" should accept a "data-index" prop.';(f=n.current)==null||f.observe(m)}else(h=n.current)==null||h.unobserve(a.current);a.current=m},u=Zn.Children.toArray(t)[0],d={ref:s,"data-index":e};return(r||!o)&&(d.style=E(b({},(c=u.props)==null?void 0:c.style),{visibility:"hidden"})),u=Zn.cloneElement(u,d),Zn.createElement(Zn.Fragment,null,u)},pbe=t=>{let S=t,{allowWrap:e,count:r,direction:n,renderItem:o,renderEllipsis:i}=S,a=Ye(S,["allowWrap","count","direction","renderItem","renderEllipsis"]),s=(0,zd.useRef)(null),u=(0,zd.useRef)(null),[d,c]=Zn.useState(t.count),[m]=(0,zd.useState)(()=>new Set),[f]=(0,zd.useState)(()=>new Set),h=ube(t.count);Zn.useEffect(()=>{let v=R=>{let D=h(),T=N=>N.intersectionRatio===1;R.forEach(N=>{let{target:M}=N,A=Number(M.getAttribute("data-index"));T(N)?(m.add(A),f.delete(A)):(m.delete(A),f.add(A))});let w=Math.min(D,...f.values());c(w)};if(e)return;let x=new IntersectionObserver(v,{root:s.current,threshold:.01});return u.current=x,()=>{x.disconnect()}},[]);let g=Ni(r,r);Zn.useLayoutEffect(()=>{e||d===g&&c(r)},[r,d,e]);let C=[...new Array(r)].map((v,x)=>{var T;let R=r-1-x,D=e?!1:x>=d;return Zn.createElement(Zn.Fragment,{key:x},Zn.createElement(Gut,{hidden:D,index:x,observerRef:u},o(x,r)),!e&&x===d-1&&R?(T=i==null?void 0:i({remaining:R}))!=null?T:"...":null)});return Zn.createElement(dbe.Flex,E(b({ref:s,flexWrap:e?"wrap":"nowrap",alignItems:"center","data-name":"options-container"},a),{flexDirection:n==="horizontal"?"row":"column"}),C)};l();var as=(t,e,r)=>{let n=[...t];if(e>t.length-1)return n;r>t.length-1&&(r=t.length-1);let[o]=n.splice(e,1);return n.splice(r,0,o),n};l();l();var S2=y(require("react")),cbe=y(re());var Dt=S2.forwardRef((t,e)=>{var r,n,o,i;return S2.createElement(cbe.Box,E(b({},t),{ref:e,className:He("ab-Tag",t.className),backgroundColor:"primary",paddingTop:(r=t.paddingTop)!=null?r:1,paddingBottom:(n=t.paddingBottom)!=null?n:1,paddingLeft:(o=t.paddingLeft)!=null?o:2,paddingRight:(i=t.paddingRight)!=null?i:2,style:b({borderRadius:"var(--ab__border-radius)"},t.style)}))});function mbe({options:t,value:e,toIdentifier:r,selectedMap:n}){let o=(0,pu.useMemo)(()=>{if(n)return;let a=new Map([]);return t.forEach(s=>{a.set(r(s),s)}),a},[t,n]);return{selectedMap:(0,pu.useMemo)(()=>{if(n)return n;let a=new Map([]);return e.forEach(s=>{var u;a.set(s,(u=o.get(s))!=null?u:null)}),a},[o,n,e]),optionsMap:o}}function Jc(t){let{options:e,value:r,filter:n,onChange:o,allowReorder:i,singleSelect:a,toLabel:s,toIdentifier:u,noSelectionLabel:d,clearSelectionLabel:c,showSelectedOnlyLabel:m,xSelectedLabel:f,selectionBoxPosition:h="bottom",onShowSelectedOnlyChange:g,isDisabled:C}=t,[S,v]=(0,pu.useState)(!1),x=(0,pu.useCallback)(N=>{v(N),g==null||g(N)},[g]),{selectedMap:R}=mbe({options:e,toIdentifier:u,value:r}),D=(0,pu.useCallback)(()=>{let N=[...R.keys()];!N.length&&S&&x(!1),o(N,new Map(R))},[o,S,R]),T=(N,M)=>{let A=u(N),I=i?null:s(N),O=typeof i=="function"?i(N):i,z=(F,B)=>gr.createElement(Ci.Flex,E(b({alignItems:"center",mt:M?1:0,key:A,backgroundColor:"primary",padding:2,"data-index":M,"data-id":A,"data-name":"option"},F),{style:b({borderRadius:"var(--ab__border-radius)"},F==null?void 0:F.style)}),gr.createElement(Ci.Flex,{flexDirection:"row",alignItems:"center"},O?gr.createElement(Ci.Box,b({mr:3},B),gr.createElement(Ct,{name:"drag",style:{cursor:"grab"}})):null,a?gr.createElement(ke,{checked:R.has(A),"data-name":A,onChange:Y=>{Y?(R.clear(),R.set(A,N)):R.delete(A),D()}},I):gr.createElement(he,{"data-name":A,disabled:C?C(N):!1,onChange:Y=>{Y?R.set(A,N):R.delete(A),D()},checked:R.has(A)},I),gr.createElement(Ci.Text,{ml:2},i?s(N):null)));return gr.createElement(bi,{key:A,index:M,draggableId:`${A}`,isDragDisabled:!O},F=>z(E(b({ref:F.innerRef},F.draggableProps),{style:F.draggableProps.style}),F.dragHandleProps))},w=()=>{let N=gr.createElement(Ci.Box,{fontSize:2,style:{whiteSpace:"nowrap",flex:"none"}},r.length?gr.createElement(gr.Fragment,null,gr.createElement(Z,{tabIndex:0,px:1,mr:1,variant:"text",style:{textDecoration:"underline",display:"inline-block"},onClick:()=>{R.clear(),D()}},c!=null?c:"Clear selection."),f?f(r.length):`Your selected ${r.length} ${r.length>1?"options":"option"}.`):gr.createElement(gr.Fragment,null,d!=null?d:"No selected options",a?null:gr.createElement(Z,{px:1,variant:"text",style:{textDecoration:"underline",display:"inline-block"},onClick:()=>{e.forEach(M=>{R.set(u(M),M)}),D()}},"Select all")));return gr.createElement(Ci.Box,{mt:h==="bottom"?3:0,mb:h==="top"?3:0},N,gr.createElement(Zo,{options:e,value:r,selectedMap:R,toLabel:s,toIdentifier:u,onClearOption:D}))};return gr.createElement(Ci.Flex,{flexDirection:"column",flex:1,className:"ab-ValueSelector",style:{overflow:"hidden"}},h==="top"&&w(),gr.createElement(wg,{onDragEnd:N=>{let{source:M,destination:A}=N,I=[],O=[];for(let[B,Y]of R)Y!=null?I.push(B):O.push(B);let z=new Map(R),F=as(I,M.index,A.index);F.push(...O),R.clear(),F.forEach(B=>{R.set(B,z.get(B))}),D()}},gr.createElement(Ci.Flex,{flexDirection:"column",flex:1,style:{overflow:"auto"}},gr.createElement(Ci.Box,{style:{position:"sticky",top:0,zIndex:1e4}},gr.createElement(Ci.Box,{mr:1,mt:1,px:2,"data-name":"show-selected-only",style:{position:"absolute",top:0,right:0,borderRadius:"var(--ab__border-radius)",overflow:"hidden"},fontSize:2,backgroundColor:"defaultbackground"},gr.createElement(he,{disabled:!r.length,checked:S,onChange:x},m!=null?m:"Show selected only"))),gr.createElement(Jo,{droppableId:"droppable"},N=>gr.createElement("div",b({ref:N.innerRef},N.droppableProps),e.filter(M=>{let A=!0;return n&&(A=n(M)),A=A&&(S?R.has(u(M)):!0),A}).map(T),N.placeholder)))),h==="bottom"&&w())}Jc.defaultProps={allowReorder:!0};function Zo(t){let{allowWrap:e,value:r,toLabel:n,onChange:o,onClearOption:i,readOnly:a,renderLabel:s}=t,{selectedMap:u}=mbe(t),d=m=>{let f=r[m],h=()=>{u.delete(f),i==null||i(f),o&&o([...u.keys()],new Map(u))},g=u.get(f),C=g!=null?n(g):`${f}`;return gr.createElement(Dt,{flexDirection:"row",alignItems:"center","data-name":"selected-option","data-id":f,mt:e?1:0,mr:1,className:"ab-ValueSelector__tag",onClick:S=>{var v,x,R;(R=(x=(v=S.target)==null?void 0:v.lastChild)==null?void 0:x.focus)==null||R.call(x)},style:{flex:"none"}},s?s(C):C,a?null:gr.createElement(Z,{icon:"clear",ml:2,iconSize:14,variant:"text",style:{border:"none"},onClick:h}))},c=(0,pu.useCallback)(({remaining:m})=>gr.createElement(Ci.Text,{fontSize:2,style:{whiteSpace:"nowrap"}},"+",m," ",m>1?"others":"other"),[]);return gr.createElement(pbe,{marginRight:4,my:1,allowWrap:e,count:r.length,direction:"horizontal",renderItem:d,renderEllipsis:c})}var Og=require("react");l();function y2(t,e,{sortUnorderedItems:r}){let n=t.reduce((a,s,u)=>(a.set(s,u),a),new Map),o=e.reduce((a,s,u)=>(a.set(s,u),a),new Map);function i(a,s){let u=o.has(a),d=u?o.get(a):-1,c=o.has(s),m=c?o.get(s):-1;return!u&&!c?r?a==s?0:a<s?-1:1:n.get(a)-n.get(s):u?c?d-m:-1:1}return[].concat(t).sort(i)}var uy=t=>{let m=t,{options:e,value:r,onChange:n,selectionBoxPosition:o="top"}=m,i=Ye(m,["options","value","onChange","selectionBoxPosition"]),{api:a}=ht(),s=(0,Og.useMemo)(()=>!r||!r.length?new Map:r.reduce((f,h)=>(f.set(h,!0),f),new Map),[r]),u=(0,Og.useCallback)(f=>s.has(f),[s]),d=(0,Og.useMemo)(()=>{let f=new Map;return e.forEach(h=>{var g;return f.set(h,(g=a.internalApi.getModuleFriendlyName(h))!=null?g:h)}),f},[e]),c=(0,Og.useMemo)(()=>y2(e,r,{sortUnorderedItems:!0}),[u,e,r]);return fbe.createElement(Jc,E(b({},i),{options:c,value:r,onChange:n,allowReorder:u,toIdentifier:f=>f,toLabel:f=>d.get(f),selectionBoxPosition:o,isDisabled:t.isDisabled}))};l();var Mn=y(require("react")),qd=y(re()),hbe=require("react");var gbe=Mn.createContext({selectedIndex:0,tabCount:0,setSelectedIndex:t=>{}}),Uut=t=>t.type===Z9||t.props.isTabsTab,Hut=t=>t.type===e8||t.props.isTabsContent,j=t=>{let A=t,{autoFocus:e=!0,children:r,onValueChange:n,defaultValue:o,value:i,keyboardNavigation:a=!0,selectedIndex:s,defaultSelectedIndex:u,onSelectedIndexChange:d}=A,c=Ye(A,["autoFocus","children","onValueChange","defaultValue","value","keyboardNavigation","selectedIndex","defaultSelectedIndex","onSelectedIndexChange"]),[m,f]=mr(t,"selectedIndex",0),[h,g]=mr(t,"value",0),C=Mn.Children.toArray(r),S=[],v=C.filter(Uut).map((O,z)=>(S.push(O.props.value),Mn.cloneElement(O,{index:z,keyboardNavigation:a,autoFocus:e}))),x=C.filter(Hut),R=x.map(O=>O.props.value),D=(t.value!==void 0||t.defaultValue!==void 0)&&t.selectedIndex===void 0&&t.defaultSelectedIndex===void 0;if(D){let O=S.indexOf(h);O>-1&&(m=O),R.filter(F=>S.indexOf(F)!=-1).length===v.length&&x.sort((F,B)=>{let Y=F.props.value,ie=B.props.value;return S.indexOf(Y)-S.indexOf(ie)})}let T=O=>{if(D){let z=S[O];g(z)}f(O)},w=x[m],I=(w==null?void 0:w.props)||{},{value:N}=I,M=Ye(I,["value"]);return Mn.createElement(gbe.Provider,{value:{selectedIndex:m,tabCount:v.length,setSelectedIndex:T}},Mn.createElement(qd.Box,E(b({},c),{className:He(c.className,"ab-Tabs"),"data-selected-index":m}),Mn.createElement(qd.Flex,{flexDirection:"row",className:"ab-Tabs__Strip"},Mn.createElement(qd.Box,{className:"ab-Tabs__Filler"}),v,Mn.createElement(qd.Flex,{flex:1,className:"ab-Tabs__Filler"})),Mn.createElement(qd.Box,E(b({padding:2},M),{className:`${M.className||""} ab-Tabs__Body`}),w)))},Z9=t=>{let f=t,{index:e,autoFocus:r,keyboardNavigation:n=!0,className:o}=f,i=Ye(f,["index","autoFocus","keyboardNavigation","className"]),a=Mn.useContext(gbe),s="ab-Tabs__Tab",u=a.selectedIndex===t.index,d=a.selectedIndex===t.index+1,c=He(o,s,u?`${s}--active`:"",d?`${s}--before-active`:""),m=(0,hbe.useRef)(null);return Mn.useEffect(()=>{var h;u&&r&&n&&((h=m.current)==null||h.focus())},[u,r]),Mn.createElement(qd.Box,E(b({ref:m,padding:2,tabIndex:u?0:-1},i),{className:c,onClick:h=>{var g;a.setSelectedIndex(t.index),(g=t.onClick)==null||g.call(t,h)},onKeyDown:h=>{var g;if(n){if(h.key==="Enter"&&a.setSelectedIndex(t.index),h.key==="ArrowLeft"){h.preventDefault();let C=t.index-1;C<0&&(C=a.tabCount-1),a.setSelectedIndex(C)}if(h.key==="ArrowRight"){h.preventDefault();let C=t.index+1;C>a.tabCount-1&&(C=0),a.setSelectedIndex(C)}}(g=t.onKeyDown)==null||g.call(t,h)}}))};Z9.defaultProps={isTabsTab:!0};var e8=t=>Mn.createElement(Mn.Fragment,null,t.children);e8.defaultProps={isTabsContent:!0};j.Tab=Z9;j.Content=e8;var bbe=class extends Qi.Component{constructor(e){super(e);var n,o,i;let r=(i=(o=(n=e.popupParams)==null?void 0:n.config)==null?void 0:o.initialTab)!=null?i:"ToolPanels";this.state={ToolPanelConfigView:r}}render(){let e=this.props.api.internalApi.getModuleService(),r=this.props.api.internalApi.getEntitlementService(),n=[];Pe.IsNotNullOrEmpty(this.props.ToolPanelState.ModuleButtons)&&this.props.ToolPanelState.ModuleButtons.forEach(m=>{let f=this.props.GridState.ModuleDropdownMenuItems.find(h=>h.module==m);(f==null?void 0:f.isVisible)&&n.push(m)});let o=this.props.GridState.ModuleDropdownMenuItems.map(m=>m.module),i=this.props.GridState.ModuleDropdownMenuItems.filter(m=>m.isVisible).map(m=>m.module);r.isModuleHiddenEntitlement("Dashboard")||i.push("Dashboard"),this.props.api.pluginsApi.getipushpullPluginApi()&&!r.isModuleHiddenEntitlement("IPushPull")&&i.push("IPushPull"),this.props.api.pluginsApi.getOpenFinPluginApi()&&!r.isModuleHiddenEntitlement("OpenFin")&&i.push("OpenFin");let a=Ag.filter(m=>Pe.ContainsItem(i,m)),u=[...this.props.api.toolPanelApi.getCustomToolPanels().map(m=>m.name),...a],d=this.props.ToolPanelState.ToolPanels.map(m=>m.Name).filter(m=>u.includes(m)),c=m=>m==="SettingsPanel"?this.props.api.internalApi.getAdaptableOptions().settingsPanelOptions.alwaysShowInDashboard:!1;return Qi.createElement(Rn,{headerText:"ToolPanel Configuration",glyphicon:this.props.moduleInfo.Glyph},Qi.createElement(j,{"data-name":"toolPanelPopup-component",className:"ab-ToolPanelPopup",value:this.state.ToolPanelConfigView,style:{height:"100%"},onValueChange:m=>this.setState({ToolPanelConfigView:m})},Qi.createElement(j.Tab,{value:"ToolPanels"},Qi.createElement(ke,{margin:0,value:"ToolPanels",checked:this.state.ToolPanelConfigView=="ToolPanels",tabIndex:-1},"Tool Panels")),Qi.createElement(j.Tab,{value:"Buttons"},Qi.createElement(ke,{margin:0,value:"Buttons",checked:this.state.ToolPanelConfigView=="Buttons",tabIndex:-1},"Module Buttons")),Qi.createElement(j.Content,{value:"ToolPanels",style:{flex:1,overflow:"auto"}},Qi.createElement(uy,{options:u,value:d,noSelectionLabel:"No selected Tool Panel",xSelectedLabel:()=>"Visible ToolPanels:",onChange:m=>this.onToolPanelToolPanelsChanged(m)})),Qi.createElement(j.Content,{value:"Buttons",style:{flex:1,overflow:"auto"}},Qi.createElement(uy,{options:o,value:n,noSelectionLabel:"No selected Module Button",xSelectedLabel:()=>"Visible Module Buttons:",isDisabled:c,onChange:m=>this.props.onToolPanelSetModuleButtons(m)}))))}onShowGridPropertiesChanged(e){let n=e.target.value;this.setState({ToolPanelConfigView:n})}onToolPanelToolPanelsChanged(e){let r=this.props.ToolPanelState.ToolPanels,n=e.map(o=>{var i;return(i=r.find(a=>a.Name===o))!=null?i:{Name:o,VisibilityMode:"collapsed"}});this.props.onToolPanelSetToolPanels(n)}};function Wut(t){return{ToolPanelState:t.ToolPanel,GridState:t.Grid}}function zut(t){return{onToolPanelSetModuleButtons:e=>t(PJ(e)),onToolPanelSetToolPanels:e=>t(dc(e))}}var Cbe=We(Wut,zut)(bbe);l();var gu=y(require("react"));l();var fy=y(require("react"));l();var Un=y(require("react"));l();var Zc=y(require("react"));var Sbe=y(re()),t8=class extends Zc.Component{render(){let e=this.props.StepNames.length-1,r=this.props.StepNames.findIndex(o=>o==this.props.ActiveStepName),n=this.props.StepNames.map((o,i)=>{let a=i==r,s=this.props.CanShowAllSteps?!1:a||i>r,u=a?"primary":"default",d=i==e;return Zc.createElement("div",{className:"ab-WizardLegend__step","data-name":o,key:i,style:{display:"inline-block"}},Zc.createElement(Z,{variant:a?"raised":"outlined",tone:a?"accent":"neutral",disabled:s,onClick:()=>this.onStepButtonClicked(o)},o),d==!1&&Zc.createElement(Sbe.Box,{mx:2,"data-name":"separator",className:"ab-WizardLegend__step__separator",style:{display:"inline-block"}},"\u2014"))});return Zc.createElement("div",null,n)}onStepButtonClicked(e){this.props.onStepButtonClicked(e)}};var v2=y(re());l();var qut=vv(function(t,e,r){return t+(r?"-":"")+e.toLowerCase()}),Da=qut;var Qut=Un.createContext({data:null,updateGoBackState:()=>{},onRender:t=>{},api:null});var ybe=class{canNext(){return!1}canBack(){return!1}next(){}back(){}getIndexStepIncrement(){return 1}getIndexStepDecrement(){return 1}},r8=class extends Un.Component{constructor(e){super(e);this.ActiveStep=new ybe;let r=0;this.props.stepStartIndex&&(r=this.props.stepStartIndex);let n=this.props.steps[r].Element;this.stepName=this.props.steps[r].StepName;let o=this.cloneWizardStep(n);this.state={ActiveState:o,IndexState:r}}render(){var o,i;let e=Ee.RetrieveDistinct(this.props.steps.map(a=>a.StepName)),r=this.props.steps.length>1,n=r;return Un.createElement(Qut.Provider,{value:{data:this.props.data,updateGoBackState:()=>this.ForceUpdateGoBackState(),api:this.props.api,onRender:a=>{this.ActiveStep=a,this.forceUpdate()}}},Un.createElement(Gn,{modal:!0,isOpen:!0,showCloseButton:!1,onDismiss:()=>this.props.onHide?this.props.onHide():null},Un.createElement(v2.Flex,{flexDirection:"column","data-name":this.props.moduleInfo.FriendlyName?`${Da(this.props.moduleInfo.FriendlyName)}-wizard`:"",style:b({height:"100%",width:"70vw",maxWidth:1e3,maxHeight:"80vh"},this.props.style)},Un.createElement(Gt,{header:this.props.moduleInfo.FriendlyName,border:"none",className:"ab-WizardDialog__steps",borderRadius:"none",variant:"primary",style:{flex:"none"}},this.props.showStepsLegend===!1?null:Un.createElement(t8,{StepNames:e,ActiveStepName:this.stepName,FriendlyName:"",CanShowAllSteps:this.canFinishWizard(),onStepButtonClicked:a=>this.onStepButtonClicked(a)})),Un.createElement(v2.Flex,{style:{flex:1,overflow:"auto"},flexDirection:"column"},this.state.ActiveState),Un.createElement(v2.Flex,{flexDirection:"row",padding:2,backgroundColor:"primary",alignItems:"center",className:"ab-WizardDialog__footer"},Un.createElement(Z,{tone:"neutral",variant:"text","data-name":"close",onClick:()=>this.props.onHide(),tooltip:(o=this.props.closeTooltip)!=null?o:"Close wizard",accessLevel:"Full"},(i=this.props.closeText)!=null?i:"CLOSE"),Un.createElement("div",{style:{flex:1}}),n?Un.createElement(Z,{"data-name":"back",variant:"outlined",disabled:!this.ActiveStep.canBack()||this.isFirstStep(),onClick:()=>this.handleClickBack(),icon:"arrow-left",accessLevel:"Full"},"Back"):null,r?Un.createElement(Z,{variant:"outlined","data-name":"next",disabled:!this.ActiveStep.canNext()||this.isLastStep(),onClick:()=>this.handleClickNext(),icon:"arrow-right",iconPosition:"end",accessLevel:"Full",marginLeft:2,marginRight:2},"Next"):null,Un.createElement(Z,{tone:"accent","data-name":"finish",variant:"raised",disabled:!this.canFinishWizard(),onClick:()=>this.handleClickFinish(),icon:"check",accessLevel:"Full"},"Finish")))))}onStepButtonClicked(e){let r=this.props.steps.find(i=>i.StepName==e),n=r.Element,o=this.cloneWizardStep(n);this.stepName=r.StepName,this.setState({ActiveState:o,IndexState:r.Index})}ForceUpdateGoBackState(){this.forceUpdate()}isLastStep(){return this.state.IndexState==this.props.steps.length-1}isFirstStep(){return this.state.IndexState==0}canFinishWizard(){return this.ActiveStep.canNext()&&this.props.canFinishWizard()}handleClickBack(){if(!this.isFirstStep()&&this.ActiveStep.canBack()){let e=this.ActiveStep.getIndexStepDecrement();this.ActiveStep.back();let r=this.props.steps[this.state.IndexState-e],n=r.Element,o=this.cloneWizardStep(n);this.stepName=r.StepName,this.setState({ActiveState:o,IndexState:this.state.IndexState-e})}}handleClickNext(){if(this.ActiveStep.canNext()){let e=this.ActiveStep.getIndexStepIncrement();this.ActiveStep.next();let r=this.props.steps[this.state.IndexState+e],n=r.Element,o=this.cloneWizardStep(n);this.stepName=r.StepName,this.setState({ActiveState:o,IndexState:this.state.IndexState+e})}}handleClickFinish(){this.ActiveStep.canNext()&&(this.ActiveStep.next(),this.props.onFinish&&this.props.onFinish(),this.props.onHide())}cloneWizardStep(e){return Un.cloneElement(e,{ref:r=>{r?(this.ActiveStep=r,this.forceUpdate()):this.ActiveStep=null},data:this.props.data,updateGoBackState:()=>this.ForceUpdateGoBackState(),api:this.props.api})}};l();var ll=y(require("react"));l();var vbe=y(require("react"));var jut=t=>vbe.createElement(Gt,E(b({border:"none",borderRadius:"none",variant:"primary",bodyScroll:!0},t),{className:He(t.className,"ab-WizardPanel"),style:b({height:"100%"},t.style)})),dy=jut;l();var Qe=y(require("react"));var fr=y(re());l();var Pa=y(require("react"));l();var Abe=({oldColumns:t,newColumns:e})=>{let r=n=>{let o="",i=0;return n.forEach(a=>{var s,u;a.columnGroup&&a.columnGroup.groupCount>1&&!a.columnGroup.allowGroupSplit&&o!==a.columnGroup.columnGroupId&&i++,o=(u=(s=a.columnGroup)==null?void 0:s.columnGroupId)!=null?u:""}),i};return r(t)==r(e)};var xbe=require("react"),py=require("react");l();l();var Qd=t=>{let e={width:"100%",height:"100%"};return t.isDraggingOver&&(e.background="var(--ab-color-primary)"),e};var Ebe=y(re());var Rbe=t=>{let[e,r]=(0,py.useState)(t.columns),[n,o]=(0,py.useState)(""),i=Pa.useCallback(s=>{let{source:u,destination:d}=s;if(!d||u.droppableId!=="ColumnList"||u.droppableId!==d.droppableId||!u.column||!u.column.moveable||d.index===u.index)return;let c=as(e,u.index,d.index),m=c.indexOf(u.column);n&&u.droppableId==="ColumnList"||!u.column.isFixed&&c.slice(m).filter(f=>f.isFixed).length||!Abe({oldColumns:e,newColumns:c})||(r(c),t.onColumnOrderChange&&t.onColumnOrderChange(c))},[e,r,t.onColumnOrderChange,n]);(0,xbe.useEffect)(()=>{t.onReady&&t.onReady(i)},[i]);let a=(0,py.useCallback)(s=>{let u=d=>Pa.createElement(Pa.Fragment,null,d.friendlyName);return(t.renderItem||u)(s)},[t.renderItem]);return Pa.createElement(Jo,{droppableId:"ColumnList",isDropDisabled:n?!0:t.isDropDisabled},(s,u)=>Pa.createElement("div",E(b({className:"ab-LayoutEditor__ColumnList"},s.droppableProps),{ref:s.innerRef,style:Qd(u)}),Pa.createElement(Ebe.Box,{px:2,mb:2},Pa.createElement(va,{placeholder:"Search a column",width:"100%",value:n,OnTextChange:o})),e.map((d,c)=>Pa.createElement(bi,{key:`${d.columnId}-column`,draggableId:d.columnId,index:c},(m,f)=>{let h=t.getItemStyle(d,f,m.draggableProps.style);h.padding=0;let g=typeof d.friendlyName=="string"?d.friendlyName:`${d.friendlyName}`;return n&&g.toLowerCase().indexOf(n.toLowerCase())==-1&&(h.display="none"),Pa.createElement("div",E(b(b({ref:m.innerRef},m.draggableProps),m.dragHandleProps),{className:"ab-LayoutEditor__ColumnList__column",style:h}),a(d))})),s.placeholder))};l();var jd=y(require("react")),Ibe=require("react");var Dbe=t=>{let e=t.columnSorts||[],r=a=>{t.onColumnSortsChange(a)},n=jd.useCallback(a=>{let{destination:s,source:u}=a;if(!s)return;let d=u.droppableId==="ColumnList"&&s.droppableId==="ColumnSortList",c=u.droppableId==="ColumnSortList"&&s.droppableId==="ColumnSortList";if(!!(d||c)){if(c){if(s.index===u.index)return;let f=as(e,u.index,s.index);r(f),t.onColumnSortsChange&&t.onColumnSortsChange(f);return}if(d){if(!u.column.sortable)return;if(e.filter(h=>h.ColumnId===u.columnId)[0])return!1;let f=[...e];f.splice(s.index,0,{SortOrder:"Asc",ColumnId:u.columnId}),r(f),t.onColumnSortsChange&&t.onColumnSortsChange(f);return}}},[e,r,t.onColumnSortsChange]),o=a=>{r(e.map(s=>(s.ColumnId===a.ColumnId&&(s=E(b({},s),{SortOrder:a.SortOrder==="Asc"?"Desc":"Asc"})),s)))};(0,Ibe.useEffect)(()=>{t.onReady&&t.onReady(n)},[n]);let i=a=>t.renderItem(a,()=>{r(t.columnSorts.filter(s=>s.ColumnId!==a.ColumnId))},()=>{o(a)});return jd.createElement(Jo,{droppableId:"ColumnSortList",isDropDisabled:t.isDropDisabled},(a,s)=>jd.createElement("div",E(b({className:`ab-LayoutEditor__ColumnSortList ${e.length?"":"ab-LayoutEditor__ColumnSortList--empty"}`},a.droppableProps),{ref:a.innerRef,style:Qd(s)}),e.length?null:jd.createElement(_t,null,"Drag columns to create sort order"),e.map((u,d)=>jd.createElement(bi,{key:`${u.ColumnId}-sort`,draggableId:`${u.ColumnId}-sort`,index:d},(c,m)=>jd.createElement("div",E(b(b({ref:c.innerRef},c.draggableProps),c.dragHandleProps),{className:"ab-LayoutEditor__ColumnSortList__column",style:t.getItemStyle(u.ColumnId,m,c.draggableProps.style)}),i(u)))),a.placeholder))};l();var cu=y(require("react"));var Pbe=require("react");var Tbe=t=>{let e=t.rowGroups||[],r=i=>{t.onRowGroupsChange(i)},n=cu.useCallback(i=>{let{destination:a,source:s}=i;if(!a)return;let u=s.droppableId==="ColumnList"&&a.droppableId==="RowGroupsList",d=s.droppableId==="RowGroupsList"&&a.droppableId==="RowGroupsList";if(!!(u||d)){if(d){if(a.index===s.index)return;let m=as(e,s.index,a.index);r(m);return}if(u){if(!s.column.groupable)return;if(e.filter(f=>f===s.columnId)[0])return!1;let m=[...e];m.splice(a.index,0,s.columnId),r(m);return}}},[e,r,t.onRowGroupsChange]);(0,Pbe.useEffect)(()=>{t.onReady&&t.onReady(n)},[n]);let o=cu.useCallback(i=>t.renderItem(i,()=>{r(e.filter(a=>a!==i))}),[t.renderItem]);return cu.createElement(Jo,{droppableId:"RowGroupsList",isDropDisabled:t.isDropDisabled},(i,a)=>cu.createElement("div",E(b({className:`ab-LayoutEditor__RowGroupsList ${e.length?"":"ab-LayoutEditor__RowGroupsList--empty"}`},i.droppableProps),{ref:i.innerRef,style:Qd(a)}),e.length?null:cu.createElement(_t,null,"Drag columns to create row groups"),e.map((s,u)=>cu.createElement(bi,{key:s,draggableId:`${s}-rowGroup`,index:u},(d,c)=>cu.createElement("div",E(b(b({ref:d.innerRef},d.draggableProps),d.dragHandleProps),{className:"ab-LayoutEditor__RowGroupsList__column",style:t.getItemStyle(s,c,d.draggableProps.style)}),o(s)))),i.placeholder))};var ls=require("react");l();var cy=(t,e,r,n,o)=>{let{isDragging:i,draggingOver:a}=n,s=b({userSelect:"none",background:i?"var(--ab-color-secondarylight)":"",color:i?"var(--ab-color-text-on-secondarylight)":"",opacity:1},o);return i&&(r=="ColumnList"&&a==="ColumnSortList"&&(!t.sortable||e.ColumnSorts&&e.ColumnSorts.filter(u=>u.ColumnId===t.columnId)[0]),r!="ColumnList"&&a==="ColumnList"),s};l();var wbe=t=>({dropDisabledOnColumns:!1,dropDisabledOnSort:!1,dropDisabledOnRowGroups:!1,dropDisabledOnPivot:!1,dragSource:"",layout:t}),Obe=(t,e)=>e.type===Yd.SET_DRAG_SOURCE?E(b({},t),{dragSource:e.payload}):e.type===Yd.SET_DROP_DISABLED_ON_COLUMNS?E(b({},t),{dropDisabledOnColumns:e.payload}):e.type===Yd.SET_DROP_DISABLED_ON_SORT?E(b({},t),{dropDisabledOnSort:e.payload}):e.type===Yd.SET_DROP_DISABLED_ON_ROW_GROUPS?E(b({},t),{dropDisabledOnRowGroups:e.payload}):e.type===Yd.SET_DROP_DISABLED_ON_PIVOT?E(b({},t),{dropDisabledOnPivot:e.payload}):e.type===Yd.SET_LAYOUT?E(b({},t),{layout:e.payload}):t,Yd=(a=>(a.SET_LAYOUT="SET_LAYOUT",a.SET_DRAG_SOURCE="SET_DRAG_SOURCE",a.SET_DROP_DISABLED_ON_COLUMNS="SET_DROP_DISABLED_ON_COLUMNS",a.SET_DROP_DISABLED_ON_SORT="SET_DROP_DISABLED_ON_SORT",a.SET_DROP_DISABLED_ON_ROW_GROUPS="SET_DROP_DISABLED_ON_ROW_GROUPS",a.SET_DROP_DISABLED_ON_PIVOT="SET_DROP_DISABLED_ON_PIVOT",a))(Yd||{});l();var mu=y(require("react"));var Fbe=require("react");var Mbe=t=>{let e=t.pivotColumns||[],r=i=>{t.onPivotColumnsChange(i)},n=mu.useCallback(i=>{let{destination:a,source:s}=i;if(!a)return;let u=s.droppableId==="ColumnList"&&a.droppableId==="PivotList",d=s.droppableId==="PivotList"&&a.droppableId==="PivotList";if(!!(u||d)){if(d){if(a.index===s.index)return;let m=as(e,s.index,a.index);r(m);return}if(u){if(!s.column.pivotable)return;if(e.filter(f=>f===s.columnId)[0])return!1;let m=[...e];m.splice(a.index,0,s.columnId),r(m);return}}},[e,r,t.onPivotColumnsChange]);(0,Fbe.useEffect)(()=>{t.onReady&&t.onReady(n)},[n]);let o=mu.useCallback(i=>t.renderItem(i,()=>{r(e.filter(a=>a!==i))}),[t.renderItem]);return mu.createElement(Jo,{droppableId:"PivotList",isDropDisabled:t.isDropDisabled},(i,a)=>mu.createElement("div",E(b({className:`ab-LayoutEditor__PivotList ${e.length?"":"ab-LayoutEditor__PivotList--empty"}`},i.droppableProps),{ref:i.innerRef,style:Qd(a)}),e.length?null:mu.createElement(_t,null,"Drag columns to pivot"),e.map((s,u)=>mu.createElement(bi,{key:s,draggableId:`${s}-pivot`,index:u},(d,c)=>mu.createElement("div",E(b(b({ref:d.innerRef},d.draggableProps),d.dragHandleProps),{className:"ab-LayoutEditor__PivotList__column",style:t.getItemStyle(s,c,d.draggableProps.style)}),o(s)))),i.placeholder))};var Yut={minHeight:150,flex:"1 0 auto",overflow:"auto"},my=t=>Qe.createElement(Gt,b({variant:"modern",bodyProps:{padding:0},style:b(b({},Yut),t.style)},t)),_be=t=>{let c=t,{children:e,showBoth:r,showTitle:n,flexDirection:o="row",labels:i}=c,a=Ye(c,["children","showBoth","showTitle","flexDirection","labels"]),s=["Aggregatable","Filterable","Groupable","Moveable","Pivotable","Sortable"],u=s.map(m=>a[m]?m.charAt(0):""),d={[o==="row"?"alignItems":"justifyContent"]:"center"};return Qe.createElement(fr.Flex,E(b({flexDirection:o},d),{width:"100%"}),n?Qe.createElement(fr.Text,{mr:2},"Behaviours:"):null,u.map((m,f)=>{let h=!!m,g=s[f],C=g.charAt(0),S=(v,x)=>Qe.createElement(fr.Flex,{className:"ab-LayoutEditor__LegendLetter",width:"20px",height:"20px",alignItems:"center",justifyContent:"center",fontSize:2,ml:2,backgroundColor:"defaultbackground",title:v?g:`Not ${g}`,style:{overflow:"hidden",cursor:"auto",position:"relative",fontWeight:600,lineHeight:0,border:`1px solid var(--ab-color-${v?"accent":"inputborder"})`,borderRadius:"var(--ab__border-radius)",opacity:v?1:.5},key:`${C}${x||""}`},v?null:Qe.createElement("div",{style:{background:"currentColor",position:"absolute",bottom:"-100%",right:0,width:2,height:"200%",transform:"skewX(45deg)"}}),C);return Qe.createElement(fr.Flex,{key:C,mt:o==="row"?0:2,flexDirection:"row",alignItems:"center"},S(h),r?S(!h,"label"):null,i?Qe.createElement(fr.Flex,{key:"labelProps",flex:1,ml:2,className:"ab-LayoutEditor__LegendLetterDescription"},i[g]):null)}),e)};function Kut(t,e){return!0}var Nbe=Qe.memo(t=>{let{api:e}=t,r=Qe.useMemo(()=>e.columnApi.getColumns(),[]),n=Qe.useMemo(()=>wbe(t.layout),[]),[o,i]=Qe.useReducer(Obe,n),{layout:a}=o,s=Qe.useMemo(()=>r.reduce((A,I)=>(A[I.columnId]=I,A),{}),[r]),u={},[d,c]=Qe.useState(a.Columns.map(A=>{let I=s[A];return u[A]=I,I}).concat(r.filter(A=>!u[A.columnId])).filter(A=>A)),m=A=>{i({type:"SET_LAYOUT",payload:A}),t.onLayoutChange&&t.onLayoutChange(A)};Qe.useEffect(()=>{t.layout!==o.layout&&m(t.layout)},[t.layout]);let f=Qe.useMemo(()=>r.reduce((A,I)=>(A[I.columnId]=a.Columns.indexOf(I.columnId)!=-1?I:null,A),{}),[a,r]),h=Qe.useMemo(()=>Object.keys(a.AggregationColumns||{}).reduce((A,I)=>{let O=a.AggregationColumns[I];return typeof O=="boolean"&&(O=s[I].aggregationFunction),A[I]=O,A},{}),[s,a]),g=Qe.useMemo(()=>{var A;return Object.keys((A=a.ColumnHeadersMap)!=null?A:{}).reduce((I,O)=>{let z=a.ColumnHeadersMap[O];return typeof z=="string"&&(I[O]=z),I},{})},[s,a]),C=(A,I)=>{let O=I?E(b({},a),{Columns:d.filter(B=>f[B.columnId]||B.columnId===A.columnId).map(B=>B.columnId)}):E(b({},a),{Columns:a.Columns.filter(B=>B!==A.columnId)}),z=S(a),F=S(O);if(z.length!==F.length){let B=z.filter(Y=>!F.includes(Y));O.Columns=[...B,...O.Columns]}m(O)},S=(0,ls.useCallback)(A=>A.Columns.filter(I=>e.columnApi.isRowGroupColumn(I)),[]),v=(0,ls.useRef)({columnList:()=>{},columnSortList:()=>{},rowGroupsList:()=>{},pivotList:()=>{}}),x=(0,ls.useCallback)(A=>{let{source:I,destination:O}=A;!I||!O||(I.droppableId==="ColumnList"&&(I.column=d[I.index],I.columnId=I.column.columnId),O.droppableId==="ColumnList"&&v.current.columnList(A),O.droppableId==="ColumnSortList"&&v.current.columnSortList(A),O.droppableId==="RowGroupsList"&&v.current.rowGroupsList(A),O.droppableId==="PivotList"&&v.current.pivotList(A))},[d]),R=(0,ls.useCallback)(A=>{let{source:I,draggableId:O}=A,z=I.droppableId,F=z==="ColumnList"?s[O]:null,B=I.droppableId!=="ColumnList",Y=!F||!F.moveable||B;i({type:"SET_DROP_DISABLED_ON_COLUMNS",payload:Y}),i({type:"SET_DRAG_SOURCE",payload:z});let ie=F&&a.ColumnSorts&&!!a.ColumnSorts.filter(me=>me.ColumnId===F.columnId)[0],oe=z!=="ColumnList"&&z!=="ColumnSortList"||ie||F&&!F.sortable;i({type:"SET_DROP_DISABLED_ON_SORT",payload:!!oe});let X=F&&a.RowGroupedColumns?!!a.RowGroupedColumns.filter(me=>me===F.columnId)[0]:!1,se=z!=="ColumnList"&&z!=="RowGroupsList"||X||F&&!F.groupable;i({type:"SET_DROP_DISABLED_ON_ROW_GROUPS",payload:!!se});let J=F&&a.PivotColumns?!!a.PivotColumns.filter(me=>me===F.columnId)[0]:!1,ue=z!=="ColumnList"&&z!=="PivotList"||J||F&&!F.pivotable;i({type:"SET_DROP_DISABLED_ON_PIVOT",payload:!!ue})},[o,a]),D=(0,ls.useCallback)(A=>{m(E(b({},a),{Columns:A.filter(I=>f[I.columnId]).map(I=>I.columnId)})),c(A)},[f,a]),T=(0,ls.useCallback)(A=>{m(E(b({},a),{ColumnSorts:A}))},[a]),w=(0,ls.useCallback)(A=>{m(E(b({},a),{RowGroupedColumns:A}))},[a]),N=(0,ls.useCallback)(A=>{m(E(b({},a),{PivotColumns:A}))},[a]),M=t.api.internalApi.getEntitlementService().isGridInfoSectionVisible("ColumnInfo");return Qe.createElement(wg,{onDragEnd:x,onDragStart:R},Qe.createElement(fr.Box,{className:"ab-LayoutEditor"},Qe.createElement(my,{header:Qe.createElement(fr.Flex,{width:"100%",flexDirection:"row",justifyContent:"space-between",alignItems:"center"},Qe.createElement(fr.Text,null,"Columns"),Qe.createElement(he,{mt:0,mb:0,checked:!a.SuppressAggFuncInHeader,onChange:A=>{m(E(b({},a),{SuppressAggFuncInHeader:!A}))}},"Show aggregation function in headers")),style:{flex:"none"},className:"ab-LayoutEditor__ColumnListPanel",bodyProps:{style:{display:"flex",overflow:"hidden"},px:0}},Qe.createElement(Rbe,{onReady:A=>{v.current.columnList=A},getItemStyle:(A,I,O)=>cy(A,a,o.dragSource,I,O),columns:d,isDropDisabled:o.dropDisabledOnColumns,onColumnOrderChange:D,renderItem:A=>{let I=!!f[A.columnId],O=!!h[A.columnId],z=!0,F=g[A.columnId],B=e.internalApi.getUserDefinedHeaderName(A.columnId);return Qe.createElement(fr.Flex,{flexDirection:"column",alignItems:"stretch","data-name":"drag-item","data-col-id":A.columnId},Qe.createElement(fr.Flex,{flexDirection:"row",alignItems:"center",backgroundColor:"secondary",color:"text-on-secondary"},Qe.createElement(fr.Flex,{flex:1,alignItems:"center"},Qe.createElement(fr.Box,{ml:2,mr:2},Qe.createElement(Ct,{name:"drag",size:30})),B," ",M&&Qe.createElement(Ro,{marginLeft:1,style:{color:"var(--ab-color-text-on-secondary)"},onClick:()=>{t.api.internalApi.showPopupScreen("GridInfo","GridInfoPopup",{column:A,source:"ContextMenu"})}}),A.columnGroup&&A.columnGroup.groupCount>1?Qe.createElement(fr.Box,{ml:2,padding:1,style:{borderRadius:"var(--ab__border-radius)",background:"var(--ab-color-defaultbackground)",color:"var(--ab-color-text-on-defaultbackground)"}},"Group: ",A.columnGroup.friendlyName):null),Qe.createElement(he,{title:"Visible",readOnly:!A.hideable&&I,checked:I,mx:2,style:{whiteSpace:"nowrap"},onChange:C.bind(null,A)},"Visible")),Qe.createElement(fr.Flex,{padding:2,flexDirection:"column"},Qe.createElement(_be,{showTitle:!0,sortable:A.sortable,filterable:A.filterable,moveable:A.moveable,pivotable:A.pivotable,groupable:A.groupable,aggregatable:A.aggregatable}," "),Qe.createElement(fr.Flex,{flexDirection:"row",mt:2},Qe.createElement(fr.Flex,{flex:3,alignItems:"baseline"},Qe.createElement(fr.Text,{fontSize:3,mr:2},"Header:"),Qe.createElement($e,{width:"100%",value:F||"",placeholder:"Custom Name (optional)",onChange:Y=>{let ie=Y.target.value,te=b({},a.ColumnHeadersMap)||{};qe.IsNullOrEmptyOrWhiteSpace(ie)?delete te[A.columnId]:te[A.columnId]=ie,m(E(b({},a),{ColumnHeadersMap:te}))}})),Qe.createElement(fr.Flex,{flex:2},A.aggregatable&&A.availableAggregationFunctions&&A.availableAggregationFunctions.length?Qe.createElement(he,{key:"checkbox",ml:3,my:0,disabled:!z,onChange:Y=>{let ie=a.AggregationColumns||{};if(Y){let te=A.aggregationFunction;!te&&A.availableAggregationFunctions&&(te=A.availableAggregationFunctions[0]),ie[A.columnId]=te}else delete ie[A.columnId],Object.keys(ie).length||(ie=null);m(E(b({},a),{AggregationColumns:ie}))},checked:O},"Aggregate",Qe.createElement(rt,{style:{visibility:O?"visible":"hidden"},ml:2,padding:0,columns:["label"],variant:"text",items:A.availableAggregationFunctions.map(Y=>({label:Y,onClick:()=>{let ie=a.AggregationColumns;!ie||(ie[A.columnId]=Y,m(E(b({},a),{AggregationColumns:ie})))}}))},h[A.columnId])):null))))}})),Qe.createElement(my,{header:"Sorting",className:"ab-LayoutEditor__ColumnSortListPanel"},Qe.createElement(Dbe,{columnSorts:a.ColumnSorts,onColumnSortsChange:T,isDropDisabled:o.dropDisabledOnSort,onReady:A=>{v.current.columnSortList=A},getItemStyle:(A,I,O)=>cy(s[A],a,o.dragSource,I,O),renderItem:(A,I,O)=>{let z=s[A.ColumnId];return z?Qe.createElement(fr.Flex,{flexDirection:"row",alignItems:"center","data-name":"drag-item"},Qe.createElement(fr.Box,{ml:2,mr:3},Qe.createElement(Ct,{name:"drag",size:30})),Qe.createElement(fr.Flex,{flex:"1",flexDirection:"row",alignItems:"center"},z.friendlyName," [",A.SortOrder,"]"),Qe.createElement(Z,{variant:"raised",style:{cursor:"pointer"},mr:3,onClick:F=>{F.stopPropagation(),O()}},Qe.createElement(Ct,{name:A.SortOrder==="Asc"?"sort-asc":"sort-desc"})),Qe.createElement(Z,{variant:"text",onClick:F=>{F.stopPropagation(),I()}},Qe.createElement(Ct,{name:"clear"}))):null}})),Qe.createElement(my,{header:"Row Groups",className:"ab-LayoutEditor__RowGroupsListPanel"},Qe.createElement(Tbe,{rowGroups:a.RowGroupedColumns,onRowGroupsChange:w,isDropDisabled:o.dropDisabledOnRowGroups,onReady:A=>{v.current.rowGroupsList=A},getItemStyle:(A,I,O)=>cy(s[A],a,o.dragSource,I,O),renderItem:(A,I)=>{let O=s[A];return Qe.createElement(fr.Flex,{flexDirection:"row",alignItems:"center","data-name":"drag-item"},Qe.createElement(fr.Box,{ml:2,mr:3},Qe.createElement(Ct,{name:"drag",size:30})),Qe.createElement(fr.Flex,{flexDirection:"row",alignItems:"center",flex:1},O.friendlyName),Qe.createElement(Z,{variant:"text",onClick:z=>{z.stopPropagation(),I()}},Qe.createElement(Ct,{name:"clear"})))}})),Qe.createElement(my,{className:"ab-LayoutEditor__PivotListPanel",header:Qe.createElement(fr.Flex,{width:"100%",flexDirection:"row",justifyContent:"space-between",alignItems:"center"},Qe.createElement(fr.Text,null,"Pivoted Columns"),Qe.createElement(he,{mt:0,mb:0,checked:a.EnablePivot,onChange:A=>{m(E(b({},a),{EnablePivot:A}))}},"Enable")),bodyProps:{padding:0}},Qe.createElement(Mbe,{pivotColumns:a.PivotColumns,onPivotColumnsChange:N,isDropDisabled:o.dropDisabledOnPivot,onReady:A=>{v.current.pivotList=A},renderItem:(A,I)=>{let O=s[A];return Qe.createElement(fr.Flex,{flexDirection:"row",alignItems:"center","data-name":"drag-item"},Qe.createElement(fr.Box,{ml:2,mr:3},Qe.createElement(Ct,{name:"drag",size:30})),Qe.createElement(fr.Flex,{flexDirection:"row",alignItems:"center",flex:1},O.friendlyName),Qe.createElement(Z,{variant:"text",onClick:z=>{z.stopPropagation(),I()}},Qe.createElement(Ct,{name:"clear"})))},getItemStyle:(A,I,O)=>cy(s[A],a,o.dragSource,I,O)})),Qe.createElement(my,{header:"Legend: Column Behaviour",className:"ab-LayoutEditor__LegendPanel",style:{gridRow:"1 /1",gridColumn:"3/3"},bodyProps:{padding:2,backgroundColor:"defaultbackground",color:"text-on-defaultbackground"}},Qe.createElement(_be,{flexDirection:"column",showBoth:!0,labels:{Sortable:"Able to be sorted",Filterable:"Can be filtered",Aggregatable:"Shows aggregations (in grouped rows)",Groupable:"Can form a row group",Moveable:"Is draggable and movable",Pivotable:"Eligible for pivoting"},sortable:!0,filterable:!0,moveable:!0,pivotable:!0,groupable:!0,aggregatable:!0}))))},Kut);var n8=class extends ll.Component{constructor(e){super(e);this.onLayoutNameChange=e=>{let r=e.target.value,n=this.getErrorMessage(E(b({},this.state),{layoutName:r}));this.updateLayout({Name:r}),this.setState({layoutName:r,errorMessage:n||null},()=>{this.props.updateGoBackState()})};this.getErrorMessage=({layout:e,layoutName:r})=>this.props.Layouts.find(i=>i.Name===r&&i.Uuid!==e.Uuid)?"A Layout already exists with that name":r?null:"Layout name cannot be blank";this.updateLayout=e=>{let r=b(b({},this.state.layout),e);Object.assign(this.props.data,r),this.setState({layout:r})};this.onLayoutChange=e=>{e=E(b({},e),{Name:this.state.layoutName}),this.updateLayout(e),this.setState({layout:e,errorMessage:this.getErrorMessage({layout:e,layoutName:this.state.layoutName})},()=>{this.props.updateGoBackState()})};this.getLayout=()=>E(b({},this.state.layout),{Name:this.state.layoutName});this.state={layout:e.data,layoutName:e.data.Name,errorMessage:null}}render(){return ll.createElement("div",{"data-name":"layout-editor",style:{flex:1,overflow:"auto"}},ll.createElement(dy,{bodyProps:{padding:0}},ll.createElement(tt,{columns:["label","children"],m:2,width:"30rem"},ll.createElement(pe,{label:"Layout Name"},ll.createElement($e,{value:this.state.layoutName,"data-name":"layout-editor-name-input",width:"100%",autoFocus:!0,placeholder:"Type a name",onChange:this.onLayoutNameChange})," "),this.state.errorMessage?ll.createElement(pe,{label:""},ll.createElement(Ui,null,this.state.errorMessage)):null),ll.createElement(Nbe,{api:this.props.api,layout:this.state.layout,onLayoutChange:this.onLayoutChange})))}canNext(){return!!this.state.layoutName&&!this.state.errorMessage}canBack(){return!0}next(){Object.keys(this.props.data).forEach(r=>{delete this.props.data[r]});let e=this.getLayout();Object.assign(this.props.data,e)}back(){}getIndexStepIncrement(){return 1}getIndexStepDecrement(){return 1}};var o8=class extends fy.Component{render(){let e=this.props.configEntities;return fy.createElement(r8,{style:{maxWidth:"",height:"80vh"},moduleInfo:this.props.moduleInfo,modalContainer:this.props.modalContainer,api:this.props.api,showStepsLegend:!1,closeText:"CANCEL",closeTooltip:"Cancel changes and close Layout Editor",steps:[{StepName:"Layout Editor",Index:0,Element:fy.createElement(n8,{api:this.props.api,Layouts:e,moduleInfo:this.props.moduleInfo})}],data:this.props.editedAdaptableObject,stepStartIndex:this.props.wizardStartIndex,onHide:()=>this.props.onCloseWizard(),onFinish:()=>this.props.onFinishWizard(),canFinishWizard:()=>this.props.canFinishWizard()})}};l();var hu=y(require("react"));l();var fu=y(require("react"));l();var Lbe=y(require("react"));var Kd=t=>{var e;return Lbe.createElement(Z,b({"data-name":"edit",tooltip:"Edit",variant:"text",icon:"edit",iconSize:(e=t.iconSize)!=null?e:24},t))};l();var kbe=y(require("react"));var A2=t=>kbe.createElement(Z,b({"data-name":"clone",tooltip:"Clone",tone:"accent",icon:"clone",variant:"raised"},t),t.children===void 0?"Clone":t.children);l();var x2=y(require("react"));var Bbe=class extends x2.Component{render(){var u;let s=this.props,{onConfirmWarning:e,ConfirmAction:r,ConfirmationMsg:n,ConfirmationTitle:o,onClickAction:i}=s,a=Ye(s,["onConfirmWarning","ConfirmAction","ConfirmationMsg","ConfirmationTitle","onClickAction"]);return x2.createElement(Z,E(b({"data-name":"delete",tooltip:"Delete",variant:"text",icon:"trash",iconSize:(u=a.iconSize)!=null?u:24},a),{onClick:()=>this.onClick()}))}onClick(){if(this.props.ConfirmAction){let e={CancelButtonText:"Cancel",Header:this.props.ConfirmationTitle,Msg:this.props.ConfirmationMsg,ConfirmButtonText:"Delete",CancelAction:null,ConfirmAction:this.props.ConfirmAction,ShowInputBox:!1,MessageType:"Warning"};this.props.onConfirmWarning(e)}else this.props.onClickAction()}};function $ut(t,e){return{ConfirmAction:e.ConfirmAction,ConfirmationMsg:e.ConfirmationMsg,ConfirmationTitle:e.ConfirmationTitle}}function Xut(t){return{onConfirmWarning:e=>t(Cf(e))}}var $d=We($ut,Xut)(Bbe);var Wbe=y(re());l();var Xd=y(require("react"));l();var Mg=y(re());var Vbe=require("react");var sn=y(require("react"));var Gbe=t=>{let{showPopup:e,onClose:r,onConfirm:n,header:o}=t,[i,a]=(0,Vbe.useState)({description:"",type:"Snapshot"});return sn.createElement(sn.Fragment,null,sn.createElement(Gn,{modal:!0,"data-name":"teamsharing-popup",isOpen:e,onDismiss:r,autoFocus:!1,showCloseButton:!1,style:{minHeight:"auto",maxWidth:"50%"}},sn.createElement(Mg.Flex,{flexDirection:"column"},sn.createElement(_t,{"data-name":"teamsharing-popup-description",margin:2,mb:2,p:2,style:{fontSize:"var(--ab-font-size-3)"}},"Create a ",o," which may be either:",sn.createElement("ul",null,sn.createElement("li",null,sn.createElement("strong",null,"Snapshot"),": a one-off share of an exact copy of the current object"),sn.createElement("li",null,sn.createElement("strong",null,"Active"),': a "live" share that is automatically updated with every local change'))),sn.createElement(tt,{padding:2},sn.createElement(pe,{label:"Description: "},sn.createElement($e,{autoFocus:!0,value:i.description,type:"string",width:300,placeholder:"Enter text",onChange:s=>a(E(b({},i),{description:s.target.value}))})),sn.createElement(pe,{label:"Share: "},sn.createElement(Mg.Flex,{flexDirection:"row"},sn.createElement(ke,{checked:i.type==="Snapshot",onChange:()=>a(E(b({},i),{type:"Snapshot"}))},"Snapshot")," ",sn.createElement(ke,{marginLeft:3,checked:i.type==="Active",onChange:()=>a(E(b({},i),{type:"Active"}))},"Active")," "))),sn.createElement(Mg.Box,{marginTop:3},sn.createElement(Mg.Flex,{padding:2},sn.createElement(Z,{tone:"neutral",variant:"raised",onClick:()=>r(),"data-name":"cancel"},"Cancel"),sn.createElement("div",{style:{flex:1}}),sn.createElement(Z,{tone:"accent","data-name":"ok",variant:"raised",disabled:De.IsNullOrEmpty(i.description),onClick:()=>n(i)},"OK"))))))};var hy=class extends Xd.Component{constructor(e){super(e);this.state={open:!1}}render(){var i;let o=this.props,{onShare:e,Header:r}=o,n=Ye(o,["onShare","Header"]);return Xd.createElement(Xd.Fragment,null,Xd.createElement(Z,b({"data-name":"share",tooltip:"Share",variant:"text",icon:"team-share",iconSize:(i=n.iconSize)!=null?i:24,onClick:()=>this.setState({open:!0})},n)),this.state.open&&Xd.createElement(Gbe,{header:r,showPopup:!0,onClose:()=>this.setState({open:!1}),onConfirm:a=>{this.setState({open:!1}),e(a)}}))}};l();var _g=y(require("react"));l();var gy=y(require("react")),Ube=y(re());var Hbe=({checked:t,onChange:e,disabled:r,className:n,children:o,style:i={},"data-name":a})=>{let s=c=>{r||e(Boolean(c.target.checked))},u="ab-ToggleButton",d=He(n,u,t&&`${u}--checked`,r&&`${u}--disabled`);return gy.createElement("label",{"data-name":a,style:i,className:d},gy.createElement("input",{type:"checkbox",disabled:r,checked:Boolean(t),className:`${u}__input`,onChange:s}),gy.createElement(Ube.Flex,{alignItems:"center",justifyContent:t?"start":"end",className:`${u}__slider`},gy.createElement("div",{className:`${u}__text`},o)))};var E2=_g.memo(({suspendableObject:t,onUnSuspend:e,onSuspend:r,style:n,disabled:o,accessLevel:i})=>{let a=_g.useCallback(d=>{d?e(t):r(t)},[e,r]),s=i&&i==="ReadOnly"||o,u=t.IsSuspended;return _g.createElement(Hbe,{className:"ab-SuspendButton","data-name":t.IsSuspended?"un-suspend":"suspend",disabled:s,style:n,onChange:a,checked:!u},u?"inactive":"active")});var Jut=t=>{t.stopPropagation()},Ng=class extends fu.Component{render(){return fu.createElement(Wbe.Flex,{justifyContent:this.props.justifyContent||"center",margin:0,padding:0,onClick:Jut},this.props.showEdit&&fu.createElement(Kd,{onClick:()=>this.props.editClick?this.props.editClick():null,style:{marginLeft:"0px",marginTop:"2px",marginBottom:"2px",marginRight:"2px",color:"var(--ab-color-text-on-edit)",fill:"var(--ab-color-text-on-edit)",background:"var(--ab-color-action-edit)"},disabled:this.props.overrideDisableEdit||this.props.accessLevel=="ReadOnly",tooltip:this.props.overrideTooltipEdit,accessLevel:this.props.accessLevel}),this.props.showClone&&fu.createElement(A2,{onClick:()=>this.props.cloneClick?this.props.cloneClick():null,style:{marginLeft:"0px",marginTop:"2px",marginBottom:"2px",marginRight:"2px",color:"var(--ab-color-text-on-clone)",fill:"var(--ab-color-text-on-clone)",background:"var(--ab-color-action-clone)"},children:null,disabled:this.props.overrideDisableClone||this.props.cloneAccessLevel=="ReadOnly",tooltip:this.props.overrideTooltipClone,accessLevel:this.props.cloneAccessLevel}),this.props.showDelete&&fu.createElement($d,{"data-name":"delete",style:{marginLeft:"1px",marginTop:"2px",marginBottom:"2px",marginRight:"1px",color:"var(--ab-color-text-on-delete)",fill:"var(--ab-color-text-on-delete)",background:"var(--ab-color-action-delete)"},disabled:this.props.overrideDisableDelete||this.props.accessLevel=="ReadOnly",tooltip:this.props.overrideTooltipDelete,ConfirmAction:this.props.confirmDeleteAction,ConfirmationMsg:"Are you sure you want to delete this "+this.props.entityType+"?",ConfirmationTitle:"Delete "+this.props.entityType,accessLevel:this.props.accessLevel}),this.props.showShare&&fu.createElement(hy,{style:{marginLeft:"1px",marginTop:"2px",marginBottom:"2px",marginRight:"1px",color:"var(--ab-color-text-on-share)",fill:"var(--ab-color-text-on-share)",background:"var(--ab-color-action-share)"},onShare:e=>this.props.shareClick?this.props.shareClick(e):null,Header:`TeamSharing ${this.props.entityType}`,disabled:this.props.overrideDisableShare||this.props.accessLevel=="ReadOnly",tooltip:this.props.overrideTooltipShare,accessLevel:this.props.accessLevel}),this.props.showSuspend&&this.props.suspendableObject&&fu.createElement(E2,{style:{marginLeft:2,alignSelf:"center"},onSuspend:this.props.onSuspend,onUnSuspend:this.props.onUnSuspend,suspendableObject:this.props.suspendableObject,disabled:this.props.accessLevel=="ReadOnly"}))}};Ng.defaultProps={suspendableObject:null,showEdit:!0,showDelete:!0,showShare:!1,showSuspend:!1,overrideDisableEdit:!1,overrideDisableDelete:!1,overrideDisableClone:!1,overrideDisableShare:!1,confirmDeleteAction:null,entityType:"",accessLevel:"Full",editSize:"xsmall",deleteSize:"xsmall",shareSize:"xsmall"};l();var Lg=y(require("react")),R2=y(re());var un=class extends Lg.Component{render(){let e=this.props.colItems.map((n,o)=>Lg.createElement(R2.Text,{key:o,fontSize:"var(--ab-font-size-3)",title:typeof n.Content=="string"?n.Content:void 0,style:{flex:n.Size,whiteSpace:"nowrap",textOverflow:"ellipsis",overflow:"hidden"},"data-name":"list-group-cell",paddingLeft:1,paddingRight:1},n.Content)),r=He("ab-AdaptableObjectRow",this.props.isSuspended&&"ab-AdaptableObjectRow--is-suspended");return Lg.createElement("div",{className:r,onClick:this.props.onClick,style:this.props.style},Lg.createElement(R2.Flex,{"data-name":"list-group-item",className:"list-group-item",alignItems:"center",padding:2,margin:0,style:{overflowY:"visible"}},e))}};l();var I2=y(require("react")),em=class extends I2.Component{render(){return I2.createElement("span",null," ",this.props.Content)}};var i8=class extends hu.Component{render(){let e=this.props.adaptableObject,r=Er(this.props.colItems);r[0].Content=hu.createElement(em,{Content:hu.createElement(ke,{style:{padding:"0px",margin:"0px"},onChange:()=>this.props.onSelect(e),checked:this.props.IsCurrentLayout})}),r[1].Content=hu.createElement(em,{Content:e.Name}),r[2].Content=hu.createElement(em,{Content:this.props.api.layoutApi.getLayoutDescription(e)});let n=hu.createElement(Ng,{showClone:!0,confirmDeleteAction:this.props.onDeleteConfirm,showShare:this.props.teamSharingActivated,editClick:()=>this.props.onEdit(e),cloneClick:()=>this.props.onClone(e),shareClick:o=>this.props.onShare(o),overrideDisableEdit:!1,overrideDisableDelete:!this.props.canDelete,entityType:this.props.moduleInfo.FriendlyName,accessLevel:this.props.accessLevel,cloneAccessLevel:this.props.cloneAccessLevel});return r[3].Content=n,hu.createElement(un,{colItems:r})}};l();var zbe=y(require("react"));var ss=t=>zbe.createElement(Z,b({"data-name":"new",tooltip:"New",tone:"accent",icon:"plus",variant:"raised"},t),t.children===void 0?"New":t.children);l();var kg=y(require("react"));l();var tm=y(require("react")),D2=y(re());var rm=class extends tm.Component{render(){let e=this.props.colItems.map((n,o)=>tm.createElement(D2.Text,{key:n.key||n.Content||o,fontWeight:"bold",fontSize:"var(--ab-font-size-3)",paddingLeft:1,paddingRight:1,style:{flex:n.Size}},n.Content)),r=tm.createElement(D2.Flex,{alignItems:this.props.headerAlign||"center",style:{width:"100%"}},e);return tm.createElement("div",{style:this.props.style,className:this.props.className},tm.createElement(Gt,{bodyScroll:!0,header:r,border:this.props.border,bodyProps:this.props.bodyProps},this.props.children))}};var ji=class extends kg.Component{render(){let e=this.props.allowOverflow?"visible":"auto";return kg.createElement("div",{style:b({},this.props.style),className:"ab-ObjectCollection"},kg.createElement(rm,{border:"none",colItems:this.props.colItems,headerAlign:this.props.headerAlign}),kg.createElement("div",{style:{overflowY:e,boxShadow:"none"}},this.props.items))}};l();var P2=y(require("react")),T2=y(re());var Zut="ab-EmptyContent",edt=o=>{var i=o,{children:t,className:e,style:r}=i,n=Ye(i,["children","className","style"]);return typeof t=="string"&&(t=P2.createElement("p",null,t)),P2.createElement(T2.Box,{style:{position:"relative"},width:"100%",flex:1,height:"100%"},P2.createElement(T2.Flex,E(b({alignItems:"center",justifyContent:"center",flexDirection:"column",padding:4,fontSize:"var(--ab-font-size-3)"},n),{className:He(Zut,e),style:b({position:"absolute",top:0,left:0,right:0,bottom:0},r)}),t))},Bg=edt;var qbe=class extends gu.Component{constructor(e){super(e);this.shouldClosePopupOnFinishWizard=!1;this.state=Bt.getEmptyConfigState()}componentDidMount(){var e;if(this.props.popupParams){if(this.props.popupParams.source=="ModuleButton"){let r=this.getCurrentLayout();r&&this.onEdit(r)}if(this.props.popupParams.action){if(this.props.popupParams.action=="New"&&this.onNew(),this.props.popupParams.action=="Clone"){let r=(e=this.props.CurrentLayoutDraft)!=null?e:this.getCurrentLayout();r&&this.onClone(r)}if(this.props.popupParams.action=="Edit"){let r=this.getCurrentLayout();r&&this.onEdit(r)}}this.shouldClosePopupOnFinishWizard=this.props.popupParams.source&&(this.props.popupParams.source=="Toolbar"||this.props.popupParams.source=="ModuleButton"||this.props.popupParams.source=="ColumnMenu")}}render(){let e=[{Content:"Current",Size:1},{Content:"Name",Size:2},{Content:"Details",Size:7},{Content:"",Size:2}],r=this.props.Layouts.map((o,i)=>{let a=xt.getAppropriateAccessLevel(o,this.props.accessLevel);return gu.createElement(i8,{key:o.Uuid,colItems:e,api:this.props.api,IsCurrentLayout:o.Name==this.props.CurrentLayoutName,moduleInfo:this.props.moduleInfo,adaptableObject:o,onEdit:()=>this.onEdit(o),onClone:()=>this.onClone(o),onShare:s=>this.props.onShare(o,s),teamSharingActivated:this.props.teamSharingActivated,onDeleteConfirm:M1(o),canDelete:this.props.Layouts.length>1,onSelect:()=>this.props.onSelectLayout(o.Name),accessLevel:a,cloneAccessLevel:this.props.accessLevel})}),n=gu.createElement(ss,{onClick:()=>this.onNew(),tooltip:"Create New Layout",accessLevel:this.props.accessLevel,style:{color:"var(--ab-color-text-on-add)",fill:"var(--ab-color-text-on-add)",background:"var(--ab-color-action-add)"}});return gu.createElement(Rn,{headerText:this.props.moduleInfo.FriendlyName,infoLink:this.props.moduleInfo.HelpPage,infoLinkDisabled:!this.props.api.internalApi.isDocumentationLinksDisplayed(),button:n,glyphicon:this.props.moduleInfo.Glyph},r.length>0?gu.createElement(ji,{colItems:e,items:r}):gu.createElement(Bg,null,"Click 'New' to start creating layouts."),this.state.editedAdaptableObject!=null&&gu.createElement(o8,{moduleInfo:this.props.moduleInfo,editedAdaptableObject:this.state.editedAdaptableObject,configEntities:this.props.Layouts,modalContainer:this.props.modalContainer,ColumnSorts:this.props.api.gridApi.getColumnSorts(),api:this.props.api,wizardStartIndex:this.state.wizardStartIndex,onCloseWizard:()=>this.onCloseWizard(),onFinishWizard:()=>this.onFinishWizard(),canFinishWizard:()=>this.canFinishWizard()}))}onNew(){this.setState({editedAdaptableObject:wt.CreateEmptyLayout({Name:""}),wizardStartIndex:0,wizardStatus:"New"})}onEdit(e){let r=Mt.cloneObject(e);this.setState({editedAdaptableObject:r,wizardStartIndex:0,wizardStatus:"Edit"})}onClone(e){let r=Mt.cloneObject(e);r.Name="",r.IsReadOnly=!1,r.Uuid=Sd(),this.setState({editedAdaptableObject:r,wizardStartIndex:0,wizardStatus:"New"})}onCloseWizard(){this.props.onClearPopupParams(),this.setState({editedAdaptableObject:null,wizardStartIndex:0,wizardStatus:"None"}),this.shouldClosePopupOnFinishWizard&&this.props.onClosePopup()}onFinishWizard(){let e=Mt.cloneObject(this.state.editedAdaptableObject),r=this.state.wizardStatus=="New";r?this.props.onAddLayout(e):this.props.onSaveLayout(e);let n=this.getCurrentLayout(),o=r||(n==null?void 0:n.Uuid)==e.Uuid;this.setState({editedAdaptableObject:null,wizardStartIndex:0,wizardStatus:"None"}),o&&this.props.onSelectLayout(e.Name)}canFinishWizard(){let e=this.state.editedAdaptableObject;return!e.IsReadOnly&&De.IsNotNullOrEmpty(e.Name)}getCurrentLayout(){return this.props.Layouts.find(e=>e.Name==this.props.CurrentLayoutName)}};function tdt(t,e){return{Layouts:t.Layout.Layouts,CurrentLayoutName:t.Layout.CurrentLayout,CurrentLayoutDraft:t.Grid.CurrentLayout}}function rdt(t,e){return{onSaveLayout:r=>{t(od(r))},onAddLayout:r=>{t(nd(r))},onSelectLayout:r=>t(id(r)),onShare:(r,n)=>t(Go(r,Bo,n))}}var Qbe=We(tdt,rdt)(qbe);l();var ho=y(require("react"));var Z2=y(re());l();var jbe="11.0.0-canary.1";l();var dn=y(require("react")),jg=y(re());l();var ds=y(require("react"));l();var om=y(require("react"));l();var w2=y(require("react"));var nm=class extends w2.Component{render(){let e=[];return e.push({Size:3,Content:this.props.SummaryItems[0]}),e.push({Size:7,Content:this.props.SummaryItems[1]}),e.push({Size:2,Content:this.props.SummaryItems[2]}),w2.createElement(un,{colItems:e})}};l();var by=y(require("react"));var sl=class extends by.Component{render(){return by.createElement("div",null,by.createElement(Ct,{name:this.props.moduleInfo.Glyph,style:{fill:"var(--ab-color-text-on-primary)"}})," ",this.props.moduleInfo.FriendlyName)}};var ul=class extends om.Component{render(){let e=[],r=this.props.newButtonDisabled?null:om.createElement(ss,{onClick:()=>this.props.onNew(),tooltip:"Create "+this.props.newButtonTooltip,accessLevel:this.props.accessLevel});return e.push(om.createElement("b",null,om.createElement(sl,{moduleInfo:this.props.moduleInfo}))),e.push(this.props.moduleSummary),e.push(r),om.createElement(nm,{SummaryItems:e})}};l();var Jd=y(require("react"));var Yi=class extends Jd.Component{render(){let e=[];return this.props.showBold?e.push(Jd.createElement("b",null,this.props.item1)):e.push(Jd.createElement("i",null,this.props.item1)),e.push(Jd.createElement("i",null,this.props.item2)),e.push(Jd.createElement(Ng,{justifyContent:"start",confirmDeleteAction:this.props.onDelete,showEdit:this.props.showEdit,editClick:()=>this.props.onEdit(),shareClick:r=>this.props.onShare(r),showShare:this.props.showShare,entityType:this.props.moduleInfo.FriendlyName,accessLevel:this.props.accessLevel})),Jd.createElement(nm,{SummaryItems:e})}};l();var rp=y(require("react")),mCe=require("react"),M2=y(re());l();var Ot=y(require("react")),Zd=require("react");var Po=y(re());l();var Ybe=()=>{let t=typeof globalThis!="undefined"?globalThis:window;return/(Mac|iPhone|iPod|iPad)/i.test(t.navigator.platform)};l();var Kbe=y(require("react")),$be=y(re()),O2=t=>Kbe.createElement($be.Text,b({fontSize:1,color:"inputcolor"},t));l();var Jbe=y(require("react")),Ta=require("react");l();var Xbe=()=>(typeof globalThis!="undefined"?globalThis:window).ResizeObserver;var ndt=(t,e)=>{let r=Xbe();if(!r)return()=>{};let n=new r(o=>{var u;let i=o[0],{width:a,height:s}=i.contentRect;if((u=i.borderBoxSize)==null?void 0:u[0])s=i.borderBoxSize[0].blockSize,a=i.borderBoxSize[0].inlineSize;else{let d=t.getBoundingClientRect();s=d.height,a=d.width}e({width:a,height:s})});return n.observe(t),()=>{n.disconnect()}},a8=(t,e,r={earlyAttach:!1})=>{let n=(0,Ta.useRef)({width:0,height:0}),o=i=>{let a;return t.current&&(a=ndt(t.current,s=>{s={width:Math.round(s.width),height:Math.round(s.height)};let u=n.current;(u.width!==s.width||u.height!==s.height)&&(n.current=s,i(s))})),()=>{a&&a()}};(0,Ta.useEffect)(()=>r.earlyAttach?()=>{}:o(e),[t.current,e,r.earlyAttach]),(0,Ta.useLayoutEffect)(()=>r.earlyAttach?o(e):()=>{},[t.current,e,r.earlyAttach])},odt=t=>{let e=(0,Ta.useMemo)(()=>({position:"absolute",top:0,left:0,width:"100%",height:"100%",boxSizing:"border-box"}),[]),{notifyOnMount:r,earlyAttach:n}=t,o=(0,Ta.useRef)(!0),i=(0,Ta.useRef)(null),a=(0,Ta.useCallback)(s=>{if(o.current&&!r){o.current=!1;return}t.onResize(s)},[t.onResize]);return a8(i,a,{earlyAttach:n||!1}),Jbe.createElement("div",{ref:i,style:e})};odt.defaultProps={notifyOnMount:!0,earlyAttach:!1};l();var Zbe=y(require("react"));var eCe=(t,e)=>{let r=Zbe.useCallback(n=>{if((n.ctrlKey||n.metaKey)&&(n.code==="ArrowUp"||n.code==="ArrowDown")){let o=n.code==="ArrowUp",i=e.reduce((a,s,u)=>(s!=="-"&&a.push(u),a),[]);t(a=>{let s=null,u=i.indexOf(a);if(o){let d=i[u-1];s=typeof d=="number"?d:i[i.length-1]}else{let d=i[u+1];s=typeof d=="number"?d:i[0]}return s})}},[e,t]);C3("keydown",r)};var To=t=>Ot.createElement(Po.Text,b({fontSize:2,mb:3},t)),tCe=t=>Ot.createElement(Po.Text,b({fontSize:2,mt:1},t)),rCe=Ot.createContext({data:null,sections:[],moduleInfo:null,setCurrentSection:t=>{},api:null,namedQuery:!1});function je(){return Ot.useContext(rCe)}var $r=t=>{var M,A;let e=Ht(),r=Ot.useCallback(I=>e(zl(I)),[]),{api:n}=ht(),o=0;if(t.defaultCurrentSectionName){let I=t.sections.findIndex(O=>O!=="-"&&O.title===t.defaultCurrentSectionName);I>=0&&(o=I)}let[i,a]=mr(t,"currentIndex",o,{onChange:I=>{var O;(O=t.onSectionChange)==null||O.call(t,I)}}),[s,u]=(0,Zd.useState)(!1),[d]=(0,Zd.useState)(()=>new Map),c=()=>{var I;s&&s.Name&&r(s),(I=t.onFinish)==null||I.call(t,t.data)},m=I=>{let O=t.sections[I];return O==="-"?Ot.createElement(Ot.Fragment,{key:I}):Ot.createElement(Po.Flex,{flexDirection:"column",key:I,"data-name":`section-${I}`,style:{minHeight:"100%"},mr:2},Ot.createElement(Po.Box,{py:3,paddingLeft:2,fontSize:4,className:"ab-OnePageWizard__details"},O.details),Ot.createElement(Po.Box,{flex:1,className:"ab-OnePageWizard__section"},O.render(t.data,I)))},f=(0,Zd.useRef)(null),h=Ot.createElement("div",{ref:f,className:"ab-OnePageWizard__selected-title-overlay",style:{position:"absolute",background:"var(--ab-cmp-one-page-wizard-selected-title__background)",pointerEvents:"none",borderRadius:"var(--ab__border-radius)",transition:"top 0.2s"}}),g=(0,Zd.useRef)(null),[C,S]=(0,Zd.useState)(0);a8(g,({width:I})=>{S(I)}),Ot.useEffect(()=>{let I=f.current,z=I.parentNode.children[i];I.style.top=`${z.offsetTop}px`,I.style.left=`${z.offsetLeft}px`,I.style.height=`${z.offsetHeight}px`,I.style.width=`${z.offsetWidth}px`},[i,C]),eCe(a,t.sections);let v=0,x=(0,Zd.useRef)(null),R=0,D=null,T={data:t.data,api:n,sections:t.sections,setCurrentSection:a,namedQuery:s,moduleInfo:t.moduleInfo},w=t.sections.reduce((I,O,z)=>{if(O==="-")return I.set(z,!0),I;let F=O.isValid?O.isValid(t.data,n,T):!0;return F!==!0&&(R++,D==null&&(D=F)),I.set(z,F),I},new Map),N=!R;return Ot.createElement(HS.Provider,{value:{namedQuery:s,setNamedQuery:u}},Ot.createElement(rCe.Provider,{value:T},Ot.createElement(Gn,{modal:!0,isOpen:!0,showCloseButton:!1,focusOnBrowserVisible:!0,style:{borderRadius:"var(--ab__border-radius)",overflow:"hidden",height:"80vh"},ref:x,onDismiss:()=>{var I;return(I=t.onHide)==null?void 0:I.call(t)},onKeyDown:I=>{if(I.metaKey||I.ctrlKey){let{key:O}=I;if(!isNaN(Number(O))){let z=Number(O);if(d.has(z)){let F=d.get(z);a(F),I.preventDefault(),I.stopPropagation(),requestAnimationFrame(()=>{var B;(B=x==null?void 0:x.current)==null||B.bringToFront()})}}}}},Ot.createElement(Po.Flex,{className:"ab-OnePageWizard",flexDirection:"column","data-name":t.moduleInfo.FriendlyName?`${Da(t.moduleInfo.FriendlyName)}-wizard`:"",style:b({height:"100%",width:"90vw",maxWidth:1e3},t.style)},Ot.createElement(Po.Flex,{flexDirection:"row",alignItems:"stretch",flex:1,style:{overflow:"auto"}},Ot.createElement(Po.Flex,{flexDirection:"column",padding:3,className:"ab-OnePageWizard__section-title-container",ref:g,style:{overflow:"auto",position:"relative",flex:"none"}},t.sections.map((I,O)=>{if(I==="-")return Ot.createElement(Po.Box,{as:"hr",mt:2,className:"ab-OnePageWizard__section-separator",key:`${O}-`,style:{width:"100%",border:"none",borderTop:"1px solid var(--ab-color-inputborder)"}});v++,d.set(v,O);let z=O===i,F=!1;return Ot.createElement(Po.Flex,{className:"ab-OnePageWizard__section-title",flexDirection:"row",style:{cursor:F?"auto":"pointer",zIndex:10,transition:"color 0.2s",opacity:F?.5:1},key:I.title,color:z?"var(--ab-cmp-one-page-wizard-section-title__color)":"",px:2,py:1,mt:O?2:0,onClick:()=>{F||a(O)}},Ot.createElement(O2,{mr:2,style:{display:"inline-block"}},v),Ot.createElement("div",{style:{flex:1}},I.title),Ot.createElement(Ct,{name:"error",style:{marginLeft:"var(--ab-space-2)",visibility:w.get(O)!==!0?"visible":"hidden"}}))}),h,Ot.createElement(Po.Box,{flex:1}),Ot.createElement(O2,{style:{lineHeight:1.5},className:"ab-OnePageWizard__key-hint"},Ybe()?"Cmd":"Ctrl"," + #",Ot.createElement("br",null),"to navigate")),Ot.createElement(Po.Flex,{flex:1,flexDirection:"column",className:"ab-OnePageWizard__section-container"},m(i))),Ot.createElement(Po.Flex,{flexDirection:"row",padding:2,alignItems:"center",className:"ab-WizardDialog__footer ab-OnePageWizard__footer"},Ot.createElement(Z,{tone:"neutral",variant:"text","data-name":"close",onClick:()=>{var I;return(I=t.onHide)==null?void 0:I.call(t)},tooltip:(M=t.closeTooltip)!=null?M:"Close wizard",accessLevel:"Full"},(A=t.closeText)!=null?A:"CLOSE"),Ot.createElement(O2,{ml:2},"Esc"),Ot.createElement(Po.Text,{fontSize:2,mr:3,className:"ab-OnePageWizard__error",style:{flex:1,color:"var(--ab-color-error)",textAlign:"end"}},D),Ot.createElement(Z,{tone:"accent","data-name":"finish",variant:"raised",disabled:N!==!0,onClick:()=>c(),icon:"check",accessLevel:"Full"},"Finish"))))))},Xr=()=>{let{sections:t,setCurrentSection:e,data:r,api:n}=je(),o=i=>Ot.createElement(Z,{px:1,variant:"text",style:{textDecoration:"underline",display:"inline-block",fontSize:"var(--ab-font-size-2)"},onClick:()=>{e(i)}},"edit");return Ot.createElement(Ot.Fragment,null,t.map((i,a)=>i==="-"||!i.renderSummary?null:Ot.createElement(j,{keyboardNavigation:!1,mt:a?2:0,key:a},Ot.createElement(j.Tab,null,i.title," ",o(a)),Ot.createElement(j.Content,null,i.renderSummary(r,n)))).filter(Boolean))};l();var bu=y(require("react")),iCe=y(re());l();var nCe=y(require("react")),oCe=require("react");var Cy=t=>{let{columnFilterText:e,availableColumns:r,selected:n,onChange:o,singleSelect:i}=t,a=(0,oCe.useMemo)(()=>e?s=>s.friendlyName.toLowerCase().indexOf(e.toLowerCase())!=-1:null,[e]);return nCe.createElement(Jc,{value:n,options:r,filter:a,singleSelect:i,allowReorder:!1,onChange:s=>{o(i?s.length?[s.pop()]:[]:s)},toIdentifier:s=>s.columnId,toLabel:s=>s.friendlyName,noSelectionLabel:i?"Please select a column":"You have not selected any columns.",xSelectedLabel:i?()=>null:s=>s>1?`You selected ${s} columns.`:"You selected one column."})};Cy.defaultProps={allowReorder:!0};var aCe=t=>{let{api:e}=je();return bu.createElement(iCe.Text,{pr:2,py:2,fontSize:2},"Custom sort column: ",bu.createElement(Dt,null,e.columnApi.getFriendlyNameFromColumnId(t.ColumnId)))},lCe=t=>t.ColumnId?!0:"You have to select a Column for Custom Sort",sCe=t=>{let{data:e,api:r}=je(),n=bu.useMemo(()=>{var u,d;let o=r.columnApi.getSortableColumns(),i=r.customSortApi.getAllCustomSort(),a=((d=(u=r.internalApi.getAdaptableOptions())==null?void 0:u.generalOptions)==null?void 0:d.customSortComparers)||[],s=[...i.map(c=>c.ColumnId),...a.map(c=>r.scopeApi.getColumnIdsInScope(c.scope))];return o.filter(c=>!t.isNew&&c.columnId===(e==null?void 0:e.ColumnId)?!0:s.every(m=>c.columnId!==m))},[]);return bu.createElement(j,{style:{height:"100%"}},bu.createElement(j.Tab,null,"Column"),bu.createElement(j.Content,null,bu.createElement(Cy,{availableColumns:n,selected:e.ColumnId?[e.ColumnId]:[],singleSelect:!0,onChange:o=>{t.onChange(E(b({},e),{ColumnId:o[0]}))},allowReorder:!1})))};l();var us=y(require("react")),tp=require("react"),uCe=y(re());l();l();var Sy=y(require("react")),F2=t=>Sy.createElement("div",{style:t.style,className:"ab-Loader__Spinner"}),yy=t=>Sy.createElement("div",{style:t.style,className:"ab-Loader"},Sy.createElement(F2,null),Sy.createElement("span",{className:"ab-Loader__text"},t.children));l();var ep=async(t,e,r=100)=>{let n=!1;return t==null||t.then(()=>{n=!0}),(async()=>(await new Promise(o=>setTimeout(o,r)),n||e()))(),t};var dCe=t=>!t.SortedValues||!t.SortedValues.length?"You have to specify at least one value for Custom Sort order":!0,pCe=t=>t.SortedValues.length?us.createElement(uCe.Text,{fontSize:2},us.createElement(Zo,{options:t.SortedValues,value:t.SortedValues,toIdentifier:e=>`${e}`,toLabel:e=>`${e}`,allowWrap:!0,readOnly:!0})):null,cCe=t=>{let{data:e,api:r}=je(),[n,o]=(0,tp.useState)([]),[i,a]=(0,tp.useState)(!1);(0,tp.useEffect)(()=>{let f=!0;return(async()=>{o([]);let h=await ep(r.columnApi.getDistinctCustomSortDisplayValuesForColumn(e.ColumnId),()=>f&&a(!0));!f||(a(!1),o(h))})(),()=>{f=!1}},[e.ColumnId]);let s=(0,tp.useMemo)(()=>!e.SortedValues||!e.SortedValues.length?new Map:e.SortedValues.reduce((f,h)=>(f.set(h,!0),f),new Map),[e.SortedValues]),u=us.useCallback(f=>s.has(f),[s]),d=(0,tp.useMemo)(()=>y2(n,e.SortedValues,{sortUnorderedItems:!1}),[u,n,e.SortedValues]),c="ab-CustomSortWizard__SortOrder",m=He(c,i&&`${c}--loading`);return us.createElement(j,{style:{height:"100%"},className:m},us.createElement(j.Tab,null,"Sort Order"),us.createElement(j.Content,null,i&&us.createElement(yy,null,"Loading"),us.createElement(Jc,{toIdentifier:f=>`${f}`,toLabel:f=>`${f}`,options:d,value:e.SortedValues,allowReorder:u,xSelectedLabel:()=>"Your Sort Order:",onChange:f=>{t.onChange(E(b({},e),{SortedValues:f}))}})))};var _2=t=>{let[e,r]=(0,mCe.useState)(()=>t.data?Er(t.data):at.CreateEmptyCustomSort()),n=Ht(),o=()=>{t.data?n(rd(e)):n(td(e)),t.onFinishWizard(e)};return rp.createElement($r,{defaultCurrentSectionName:t.defaultCurrentSectionName,moduleInfo:t.moduleInfo,data:e,onFinish:o,onHide:t.onCloseWizard,sections:[{isValid:lCe,renderSummary:aCe,details:"Select a Column for Custom Sort",render:()=>rp.createElement(M2.Box,{padding:2,style:{height:"100%"}},rp.createElement(sCe,{isNew:t.isNew,onChange:r})),title:"Column"},{title:"Sort Order",details:'Select values to specify Custom Sort order - use the "Drag to reorder" checkbox to modify order',isValid:dCe,renderSummary:pCe,render:()=>rp.createElement(M2.Box,{padding:2,style:{height:"100%"}},rp.createElement(cCe,{onChange:r}))},"-",{title:"Summary",details:"Review your Custom Sort",render:()=>rp.createElement(M2.Box,{padding:2},rp.createElement(Xr,null))}]})};var fCe=class extends ds.Component{constructor(e){super(e);this.onFinishWizard=e=>{this.props.CustomSorts.find(r=>r.ColumnId==e.ColumnId)?this.props.onEditCustomSort(e):this.props.onAddCustomSort(e),this.setState({editedAdaptableObject:null,wizardStartIndex:0,wizardStatus:"None"})};this.state=Bt.getEmptyConfigState()}render(){let e=this.props.CustomSorts.find(i=>i.ColumnId==this.props.summarisedColumn.columnId),r=this.props.api.internalApi.getCustomSortComparer(this.props.summarisedColumn),n=e==null&&r==null,o;return this.props.summarisedColumn.sortable?n?o=ds.createElement(ul,{key:this.props.moduleInfo.FriendlyName,moduleInfo:this.props.moduleInfo,moduleSummary:"No Custom Sort Set",onNew:()=>this.onNew(),accessLevel:this.props.accessLevel,newButtonTooltip:this.props.moduleInfo.FriendlyName}):r!=null?o=ds.createElement(ul,{key:this.props.moduleInfo.FriendlyName,moduleInfo:this.props.moduleInfo,moduleSummary:"Using a Custom Sort Comparer Function",onNew:()=>this.onNew(),accessLevel:this.props.accessLevel,newButtonTooltip:this.props.moduleInfo.FriendlyName}):o=ds.createElement(Yi,{key:this.props.moduleInfo.FriendlyName,item1:ds.createElement(sl,{moduleInfo:this.props.moduleInfo}),item2:this.getCustomSortedValues(e),configEnity:e,moduleInfo:this.props.moduleInfo,onEdit:()=>this.onEdit(e),showEdit:e!=null,onShare:i=>this.props.onShare(e,i),showShare:this.props.teamSharingActivated,onDelete:rh(e),showBold:!0,accessLevel:this.props.accessLevel}):o=ds.createElement(ul,{key:this.props.moduleInfo.FriendlyName,moduleInfo:this.props.moduleInfo,moduleSummary:"Column is not sortable",newButtonDisabled:!0,onNew:()=>this.onNew(),newButtonTooltip:this.props.moduleInfo.FriendlyName,accessLevel:this.props.accessLevel}),ds.createElement("div",null,o,this.state.editedAdaptableObject&&ds.createElement(_2,{isNew:this.state.wizardStatus==="New",moduleInfo:this.props.moduleInfo,data:this.state.editedAdaptableObject,configEntities:this.props.CustomSorts,onCloseWizard:()=>this.onCloseWizard(),onFinishWizard:this.onFinishWizard}))}onNew(){let e=wt.CreateEmptyCustomSort();e.ColumnId=this.props.summarisedColumn.columnId,this.setState({editedAdaptableObject:e,wizardStartIndex:1,wizardStatus:"New"})}onEdit(e){this.setState({editedAdaptableObject:Mt.cloneObject(e),wizardStartIndex:1,wizardStatus:"Edit"})}onCloseWizard(){this.setState({editedAdaptableObject:null,wizardStartIndex:0,wizardStatus:"None"})}canFinishWizard(){let e=this.state.editedAdaptableObject;return De.IsNotNullOrEmpty(e.ColumnId)&&Ee.IsNotNullOrEmpty(e.SortedValues)}getCustomSortedValues(e){return Ee.IsNotNullOrEmpty(e.SortedValues)?e.SortedValues.join(", "):"[Has bespoke Custom Sort implementing using bespoke function]"}};function idt(t,e){return{CustomSorts:t.CustomSort.CustomSorts}}function adt(t){return{onAddCustomSort:e=>t(td(e)),onEditCustomSort:e=>t(rd(e)),onShare:(e,r)=>t(Go(e,yo,r))}}var hCe=We(idt,adt)(fCe);l();var ip=y(require("react"));l();var vy=y(require("react"));var Ki=class extends vy.Component{render(){if(!this.props.Style)return null;let e=qe.IsNotNullOrEmpty(this.props.Text)?this.props.Text:"Style",r;if(this.props.Style.ClassName)r=vy.createElement("div",null,"CSS Class: "+this.props.Style.ClassName);else{let n=this.props.Style.BackColor!=null?this.props.Style.BackColor:null,o=this.props.Style.ForeColor!=null?this.props.Style.ForeColor:"black",i=this.props.Style.BorderColor!=null?this.props.Style.BorderColor:null,a=this.props.Style.FontWeight=="Bold"?"bold":"normal",s=this.props.Style.FontStyle=="Italic"?"italic":"normal",u=fi.getCssFontSizeFromFontSizeEnum(this.props.Style.FontSize);r=vy.createElement("div",{className:this.props.Style.BackColor!=null?"":"ab_white_grey_stripes",style:{textAlign:"center",margin:"2px",padding:"3px",background:n,color:o,borderColor:i,borderStyle:i?"solid":"none",fontWeight:a,fontStyle:s,fontSize:u}},e)}return r}};l();var Fa=y(require("react")),DCe=require("react"),Gg=y(re());l();var l8=y(require("react"));var CCe=y(re());l();var im=t=>{let e={};return t.BackColor!==void 0&&t.BackColor!==null&&(e.backgroundColor=t.BackColor),t.ForeColor!==void 0&&t.ForeColor!==null&&(e.color=t.ForeColor),t.FontWeight!==void 0&&t.FontWeight!==null&&(e.fontWeight=t.FontWeight.toLocaleLowerCase()),t.FontStyle!==void 0&&t.FontStyle!==null&&(e.fontStyle=t.FontStyle.toLocaleLowerCase()),t.FontSize!==void 0&&t.FontSize!==null&&(e.fontSize=fi.getCssFontSizeFromFontSizeEnum(t.FontSize)),t.BorderColor!==void 0&&t.BorderColor!==null&&(e.borderColor=t.BorderColor),e},gCe=t=>{switch(t){case"x-large":return 18;case"large":return 13.5;case"medium":return 12;case"small":return 10;case"x-small":return 7;default:return 12}},bCe=t=>E(b({},im(t!=null?t:{})),{borderWidth:(t==null?void 0:t.BorderColor)?2:0,borderStyle:"solid"});var ldt=t=>E(b({},im(t!=null?t:{})),{borderWidth:(t==null?void 0:t.BorderColor)?2:0,borderStyle:"solid"}),SCe=t=>l8.createElement(CCe.Text,{padding:2,style:ldt(t.Style)},"Preview result");function yCe(t){let{data:e,api:r}=je();return l8.createElement(nl,{headless:!0,api:r,Style:e.Style,UpdateStyle:n=>{t.onChange(E(b({},e),{Style:n}))}})}l();var Ay=y(require("react"));l();var Jt=y(require("react")),vCe=require("react"),$i=y(re());var wa=({Scope:t})=>{let e=[];return t?(t&&"ColumnIds"in t&&t.ColumnIds.length===0&&e.push("No columns selected for scope"),t&&"DataTypes"in t&&t.DataTypes.length===0&&e.push("No data types selected for scope"),e.length?e.join(", "):!0):"No scope specified or scope is empty"},ACe={Date:{label:"Date",value:"Date"},Number:{label:"Number",value:"Number"},String:{label:"String",value:"String"},Boolean:{label:"Boolean",value:"Boolean"}},sdt=Object.values(ACe),ps=(t,e)=>{let n=ht().api.scopeApi,o=n.getColumnsForScope(t);return Jt.createElement(Jt.Fragment,null,Jt.createElement($i.Box,null,Jt.createElement(To,{mb:0},n.scopeIsAll(t)?e.scopeWholeRow:null)),Jt.createElement($i.Box,{style:{overflow:"hidden"}},"ColumnIds"in t?Jt.createElement(Jt.Fragment,null,Jt.createElement(To,{mb:o.length?2:0},e.scopeColumns),o.length?Jt.createElement(Zo,{options:o,value:o.map(i=>i.columnId),toLabel:i=>i.friendlyName,allowWrap:!0,readOnly:!0,renderLabel:i=>Jt.createElement(To,{mb:0},i),toIdentifier:i=>i.columnId}):null):null),Jt.createElement($i.Box,null,"DataTypes"in t?Jt.createElement(Jt.Fragment,null,Jt.createElement($i.Text,{fontSize:2,mb:2},e.scopeDataTypes),Jt.createElement(Zo,{readOnly:!0,options:t.DataTypes,value:t.DataTypes,toLabel:i=>i,allowWrap:!0,renderLabel:i=>Jt.createElement($i.Text,{fontSize:2},`DataType: ${i}`),toIdentifier:i=>i})):null))},Oa=t=>{let{api:e}=ht(),{scopeApi:r,columnApi:n}=e,[o,i]=(0,vCe.useState)(""),a=t.scopeColumns||n.getColumns(),s=g=>{if(!!g){if(r.scopeIsAll(g))return"All";if(r.scopeHasColumns(t.scope))return"Column";if(r.scopeHasDataType(t.scope))return"DataType"}},u=g=>{let C;g=="Column"?C={ColumnIds:[]}:g=="DataType"?C={DataTypes:[]}:C={All:!0},t.updateScope(C)},d=g=>{let C={ColumnIds:g};t.updateScope(C)},c=(g,C)=>{let S=[].concat(r.getDataTypesInScope(t.scope));if(g)S.push(C);else{let x=S.indexOf(C,0);x>-1&&S.splice(x,1)}let v={DataTypes:S};t.updateScope(v)},m=s(t.scope),f=t.scope&&"DataTypes"in t.scope?r.getDataTypesInScope(t.scope):null,h=sdt;return Array.isArray(t.availableDataTypes)&&(h=t.availableDataTypes.map(g=>ACe[g])),Jt.createElement(j,{"data-name":"scope-component",className:"ab-ScopeComponent",value:m,style:b({height:"100%"},t.style),onValueChange:u},t.hideWholeRow?null:Jt.createElement(j.Tab,{value:"Row"},Jt.createElement(ke,{margin:0,checked:m=="All",tabIndex:-1},"Whole Row")),Jt.createElement(j.Tab,{value:"Column"},Jt.createElement(ke,{margin:0,value:"Column",checked:m=="Column",tabIndex:-1},"Columns")),Jt.createElement(j.Tab,{value:"DataType"},Jt.createElement(ke,{margin:0,value:"DataType",checked:m=="DataType",tabIndex:-1},"Data Types")),t.hideWholeRow?null:Jt.createElement(j.Content,{value:"Row",style:{flex:"none"},"data-name":"row-scope"},Jt.createElement($i.Text,{padding:2,fontSize:2},t.descriptions.rowScope)),Jt.createElement(j.Content,{value:"Column",style:{flex:1,overflow:"auto"},"data-name":"column-scope",padding:0},Jt.createElement($i.Flex,{flexDirection:"row",alignItems:"center",padding:2},Jt.createElement($i.Text,{fontSize:2},t.descriptions.columnScope),Jt.createElement($i.Flex,{flex:3}),Jt.createElement(va,{value:o,OnTextChange:i,placeholder:"Type to search columns",style:{flex:1}})),Jt.createElement($i.Flex,{paddingLeft:2,flex:1,style:{overflow:"hidden"}},Jt.createElement(Cy,{columnFilterText:o,allowReorder:!1,availableColumns:a,selected:r.getColumnIdsInScope(t.scope),onChange:d}))),Jt.createElement(j.Content,{value:"DataType",style:{flex:"none"},"data-name":"datatype-scope"},h.map(g=>Jt.createElement(he,{key:g.value,"data-name":"scope",checked:f&&f.includes(g.value),onChange:C=>c(C,g.value)},g.label))))};l();var N2="NonBlanks";var xCe=t=>ps(t.Scope,{scopeWholeRow:"Matching rows will display the Conditionally Style",scopeColumns:"Cells in selected columns will display the Conditionally Style",scopeDataTypes:"Cells in columns of the selected data-types will display the Conditionally Style"});function ECe(t){let{data:e,api:r}=je();return Ay.createElement(Ay.Fragment,null,Ay.createElement(Oa,{scope:e.Scope,descriptions:{rowScope:"Matching Rows will have the Conditional Style applied",columnScope:"Matching Columns will have the Conditional Style applied"},updateScope:n=>{let o=E(b({},e),{Scope:n}),i=r.scopeApi.scopeIsAll(n);o.Rule.Predicate&&(i?(delete o.Rule.Predicate,o.Rule.BooleanExpression=""):o.Rule.Predicate={PredicateId:N2}),t.onChange(o)}}))}l();var In=y(require("react"));l();var ir=y(require("react")),np=y(re());var k2=(t,e,r)=>{var n,o,i,a,s,u;return!((n=t==null?void 0:t.Rule)==null?void 0:n.Predicate)&&!((o=t==null?void 0:t.Rule)==null?void 0:o.BooleanExpression)?"No valid Condition is specified":((i=t==null?void 0:t.Rule)==null?void 0:i.Predicate)&&!e.predicateApi.isValidPredicate((a=t==null?void 0:t.Rule)==null?void 0:a.Predicate)?"The Predicate is not valid":((s=t==null?void 0:t.Rule)==null?void 0:s.BooleanExpression)&&!e.queryLanguageApi.isValidBooleanExpression((u=t==null?void 0:t.Rule)==null?void 0:u.BooleanExpression,r.moduleInfo.ModuleName)?"The Query is not a valid boolean query":!0},L2=t=>{let a=t,{type:e,label:r,disabled:n=!1}=a,o=Ye(a,["type","label","disabled"]),i=ir.createElement(np.Flex,{flexDirection:"column"},r," ",ir.createElement(np.Text,{fontSize:2},"query"));return ir.createElement(j.Tab,b({style:{flex:1}},o),n?i:ir.createElement(ke,{tabIndex:-1,margin:0,checked:e===t.value,style:{alignItems:"baseline"}},i))};L2.defaultProps={isTabsTab:!0};var op=t=>{let{data:e}=t,{api:{predicateApi:r}}=ht();return ir.createElement(np.Text,{fontSize:2},e.Rule.Predicate?ir.createElement(ir.Fragment,null,t.renderPredicate(r.predicateToString(e.Rule.Predicate))):ir.createElement(ir.Fragment,null,t.renderQueryExpression(Gl(e.Rule))))},Vg=t=>{var O,z;let{data:e,children:r,descriptions:n,predicateDefs:o,showPredicate:i=!0,showObservable:a=!0,showBoolean:s=!0,showAggregation:u=!0,flexProps:d,module:c}=t,{api:m}=ht(),f=e.Rule.BooleanExpression!=null?"BooleanExpression":e.Rule.ObservableExpression!=null&&a?"ObservableExpression":e.Rule.AggregationExpression!=null&&u?"AggregationExpression":"Predicate",[h,g]=ir.useState(f),C=F=>{g(F),F==="BooleanExpression"&&s?t.onChange(E(b({},e),{Rule:{BooleanExpression:""}})):F==="ObservableExpression"&&a?t.onChange(E(b({},e),{Rule:{ObservableExpression:""}})):F==="AggregationExpression"&&u?t.onChange(E(b({},e),{Rule:{AggregationExpression:""}})):t.onChange(E(b({},e),{Rule:{Predicate:{PredicateId:t.defaultPredicateId}}}))},S=e.Rule.Predicate!=null?e.Rule.Predicate.PredicateId:void 0,v=S?(O=e.Rule.Predicate.Inputs)!=null?O:[]:[],x=m.predicateApi.getPredicateDefById(S),R=(F,B)=>{let{value:Y}=F.target,ie=[...v];ie[B]=Y,t.onChange(E(b({},e),{Rule:{Predicate:{PredicateId:S,Inputs:ie}}}))},D=F=>{var B;F?t.onChange(E(b({},e),{Rule:{Predicate:{PredicateId:F.id,Inputs:((B=F==null?void 0:F.inputs)!=null?B:[]).map(Y=>{var ie;return(ie=Y.defaultValue)!=null?ie:""})}}})):t.onChange(E(b({},e),{Rule:{BooleanExpression:""}}))},T=()=>{t.onChange(E(b({},e),{Rule:{Predicate:void 0}}))},w=F=>{t.onChange(E(b({},e),{Rule:{BooleanExpression:F}}))},N=F=>{t.onChange(E(b({},e),{Rule:{ObservableExpression:F}}))},M=F=>{t.onChange(E(b({},e),{Rule:{AggregationExpression:F}}))},A=m.internalApi.getQueryPreviewData(),I=m.internalApi.isDocumentationLinksDisplayed();return ir.createElement(np.Flex,E(b({flexDirection:"column",padding:2,pt:0,pl:0},d),{style:b({height:"100%"},d==null?void 0:d.style)}),r,ir.createElement(j,{onValueChange:C,value:h,pt:2,pl:2,style:{flex:1,overflow:"auto"}},i?ir.createElement(j.Tab,{value:"Predicate",style:{flex:1}},ir.createElement(ke,{tabIndex:-1,margin:0,checked:f==="Predicate"},"Predicate")):null,i?ir.createElement(j.Content,{value:"Predicate"},ir.createElement(np.Text,{fontSize:2,mb:2},n.selectPredicate),ir.createElement(rt,{style:{minWidth:"15rem",whiteSpace:"nowrap",overflow:"hidden",textOverflow:"ellipsis",maxWidth:"inherit"},placeholder:"Select Rule",showClearButton:!!e.Rule.Predicate,onClear:T,items:o.map(F=>({value:F.id,label:F.label,onClick:()=>D(F)})),columns:["label"]},x?x.label:"Select Rule"),(z=x==null?void 0:x.inputs)==null?void 0:z.map((F,B)=>ir.createElement(np.Flex,{key:S+B,flexDirection:"column"},B>0&&ir.createElement(_t,{marginTop:2},"AND"),ir.createElement(Yr,{marginTop:2,type:F.type,autoFocus:B===0,value:v[B],onChange:Y=>R(Y,B)}))),I&&ir.createElement(_t,{"data-name":"query-documentation",mt:3,mb:2,style:{fontSize:"var(--ab-font-size-3)",padding:0}},ir.createElement(Ro,{mr:2,style:{color:"var(--ab-color-text-on-add)",fill:"var(--ab-color-text-on-add)",background:"var(--ab-color-action-add)"},onClick:()=>window.open(Kce,"_blank")}),"See Predicate documentation for more details and examples")):null,s?ir.createElement(L2,{value:"BooleanExpression",type:f,label:"Boolean"}):null,s?ir.createElement(j.Content,{value:"BooleanExpression",paddingLeft:0},ir.createElement(Aa,{type:"boolean",module:c,value:e.Rule.BooleanExpression,onChange:w,initialData:A,columns:m.columnApi.getQueryableColumns(),namedQueries:m.queryApi.getAllNamedQuery(),api:m})):null,a?ir.createElement(L2,{value:"ObservableExpression",type:f,label:"Observable"}):null,a?ir.createElement(j.Content,{value:"ObservableExpression",paddingLeft:0},ir.createElement(Aa,{type:"observable",module:c,value:e.Rule.ObservableExpression,onChange:N,initialData:A,columns:m.columnApi.getQueryableColumns(),namedQueries:m.queryApi.getAllNamedQuery(),api:m})):null,u?ir.createElement(L2,{value:"AggregationExpression",type:f,label:"Aggregation"}):null,u?ir.createElement(j.Content,{value:"AggregationExpression",paddingLeft:0},ir.createElement(Aa,{type:"aggregation",module:c,value:e.Rule.AggregationExpression,onChange:M,initialData:A,columns:m.columnApi.getQueryableColumns(),namedQueries:m.queryApi.getAllNamedQuery(),api:m})):null))};function RCe(t){return In.createElement(op,{data:t,renderPredicate:e=>In.createElement(In.Fragment,null,"Apply Conditional Style on ",In.createElement(Mr,null,e)),renderQueryExpression:e=>In.createElement(In.Fragment,null,"Apply Conditional Style when"," ",In.createElement("b",null,In.createElement(Mr,null,e)))})}function ICe(t){let{data:e,api:r,moduleInfo:n}=je();return In.createElement(In.Fragment,null,In.createElement(Vg,{module:n.ModuleName,defaultPredicateId:t.defaultPredicateId,predicateDefs:r.conditionalStyleApi.getCondStylePredicateDefsForScope(e.Scope),showAggregation:!1,showObservable:!1,showPredicate:!r.scopeApi.scopeIsAll(e.Scope),data:e,onChange:t.onChange,descriptions:{selectPredicate:"Select a Conditional Style Rule - to be applied when data changes",useBooleanQuery:In.createElement(In.Fragment,null,"Use an BooleanQuery if ",In.createElement("i",null,"Scope")," is 'Whole Row' - so any data change may be evaluated in a complex BooleanExpression"),useObservableQuery:In.createElement(In.Fragment,null,"Use an ObservableQuery if ",In.createElement("i",null,"Scope")," is 'Whole Row' - so any data change may be evaluated in a complex ObservableExpression"),useAggregationQuery:In.createElement(In.Fragment,null,"Use an AggregationQuery if ",In.createElement("i",null,"Scope")," is 'Whole Row' - so any data change may be evaluated in a complex AggregationExpression")}}))}var B2=t=>{let[e,r]=(0,DCe.useState)(()=>{var s;let i={BooleanExpression:""},a=t.data?Er(t.data):at.CreateEmptyConditionalStyle();return a.Scope=(s=a.Scope)!=null?s:{All:!0},a.Rule||(a.Rule=i),!a.Rule.Predicate&&a.Rule.BooleanExpression==null&&(a.Rule.BooleanExpression=""),a}),n=Ht(),o=()=>{t.data?n(ed(e)):n(Zu(e)),t.onCloseWizard()};return Fa.createElement($r,{defaultCurrentSectionName:t.defaultCurrentSectionName,moduleInfo:t.moduleInfo,data:e,onHide:t.onCloseWizard,onFinish:o,sections:[{title:"Style",details:"Specify the Style to be applied conditionally",renderSummary:SCe,render:()=>Fa.createElement(Gg.Box,{padding:2},Fa.createElement(yCe,{onChange:r}))},{title:"Target",isValid:wa,renderSummary:xCe,details:Fa.createElement(Gg.Flex,{flexDirection:"row",alignItems:"center"},"Specify where the Conditional Style should be applied",Fa.createElement("div",{style:{flex:1}}),Fa.createElement(he,{margin:0,marginLeft:2,onChange:i=>{r(E(b({},e),{IncludeGroupedRows:i}))},checked:e.IncludeGroupedRows},"Include Grouped Rows")),render:()=>Fa.createElement(Gg.Flex,{flexDirection:"column",style:{height:"100%"},padding:2},Fa.createElement(ECe,{onChange:r}))},{isValid:k2,title:"Condition",details:"Build the rules when the Conditional Style should be applied",render:()=>Fa.createElement(ICe,{onChange:r,defaultPredicateId:N2}),renderSummary:RCe},"-",{details:"Review the Conditional Style",render:()=>Fa.createElement(Gg.Box,{padding:2},Fa.createElement(Xr,null)),title:"Summary"}]})};var PCe=class extends ip.Component{constructor(e){super(e);this.onFinishWizard=e=>{this.state.wizardStatus=="Edit"?this.props.onEditConditionalStyle(e):this.props.onAddConditionalStyle(e),this.setState({editedAdaptableObject:null,wizardStartIndex:0,wizardStatus:"None"})};this.state=Bt.getEmptyConfigState()}render(){let e=[],r=ip.createElement(ul,{key:this.props.moduleInfo.FriendlyName,moduleInfo:this.props.moduleInfo,moduleSummary:Mt.ReturnItemCount(this.props.ConditionalStyles.filter(n=>this.props.api.scopeApi.isColumnInScopeColumns(this.props.summarisedColumn,n.Scope)),this.props.moduleInfo.FriendlyName),onNew:()=>this.onNew(),newButtonTooltip:this.props.moduleInfo.FriendlyName,accessLevel:this.props.accessLevel});return e.push(r),this.props.ConditionalStyles.map((n,o)=>{if(this.props.api.scopeApi.isColumnInScopeColumns(this.props.summarisedColumn,n.Scope)){let i=ip.createElement(Yi,{key:"CS"+o,item1:ip.createElement(Ki,{Style:n.Style}),item2:n.Rule.BooleanExpression?n.Rule.BooleanExpression:this.props.api.predicateApi.predicateToString(n.Rule.Predicate),configEnity:n,moduleInfo:this.props.moduleInfo,showShare:this.props.teamSharingActivated,onEdit:()=>this.onEdit(n),onShare:a=>this.props.onShare(n,a),onDelete:Zx(n),accessLevel:this.props.accessLevel});e.push(i)}}),ip.createElement("div",null,e,this.state.editedAdaptableObject&&ip.createElement(B2,{moduleInfo:this.props.moduleInfo,data:this.state.editedAdaptableObject,configEntities:null,onCloseWizard:()=>this.onCloseWizard(),onFinishWizard:this.onFinishWizard}))}onNew(){let e=wt.CreateEmptyConditionalStyle();e.Scope={ColumnIds:[this.props.summarisedColumn.columnId]},this.setState({editedAdaptableObject:e,wizardStartIndex:1,wizardStatus:"New"})}onEdit(e){this.setState({editedAdaptableObject:Mt.cloneObject(e),wizardStartIndex:1,wizardStatus:"Edit"})}onCloseWizard(){this.setState({editedAdaptableObject:null,wizardStartIndex:0,wizardStatus:"None"})}canFinishWizard(){let e=this.state.editedAdaptableObject;return De.IsNullOrEmpty(e.Rule.BooleanExpression)||!this.props.api.queryLanguageApi.isValidBooleanExpression(e.Rule.BooleanExpression,Vr)?!1:Bt.IsNotEmptyStyle(e.Style)}};function udt(t,e){return{ConditionalStyles:t.ConditionalStyle.ConditionalStyles,NamedQueries:t.Query.NamedQueries}}function ddt(t){return{onAddConditionalStyle:e=>t(Zu(e)),onEditConditionalStyle:e=>t(ed(e)),onAddNamedQuery:e=>t(zl(e)),onShare:(e,r)=>t(Go(e,Vr,r))}}var TCe=We(udt,ddt)(PCe);l();var am=y(require("react"));l();var V2=y(require("react"));var Ma=class extends V2.Component{render(){return V2.createElement(Z,E(b({"data-name":"clear",tooltip:"Clear",iconSize:20,icon:this.props.showIcon==!1?"":"clear"},this.props),{variant:"text"}),this.props.showText?"Clear":"")}};var wCe=class extends am.Component{constructor(e){super(e);this.state=Bt.getEmptyConfigState()}render(){let e=this.props.ColumnFilters.find(o=>o.ColumnId==this.props.summarisedColumn.columnId),r=this.getDescription(e),n=[];return n.push(am.createElement("b",null,am.createElement(sl,{moduleInfo:this.props.moduleInfo}))),n.push(r),n.push(am.createElement(Ma,{marginLeft:1,onClick:()=>this.props.onClearFilter(e),tooltip:"Clear Filter",disabled:e==null,accessLevel:this.props.accessLevel})),am.createElement(nm,{SummaryItems:n})}getDescription(e){return this.props.summarisedColumn&&!this.props.summarisedColumn.filterable?"Column is not filterable":e==null?"No Column Filter Active":this.props.api.filterApi.columnFilterToString(e)}};function pdt(t,e){return{ColumnFilters:t.Filter.ColumnFilters}}function cdt(t){return{onClearFilter:e=>t(Ul(e)),onClearPopupParams:()=>t(Sf()),onShare:(e,r)=>t(Go(e,vo,r))}}var OCe=We(pdt,cdt)(wCe);l();var lm=y(require("react"));l();var Xi=y(require("react")),u8=y(re());l();var G2=y(require("react"));var FCe=t=>{let{data:e,api:r}=je(),n=G2.useMemo(()=>r.columnApi.getNumericColumns(),[]);return G2.createElement(Oa,{availableDataTypes:["Number"],scopeColumns:n,scope:e.Scope,descriptions:{rowScope:"Matching rows will have the plus/minus applied",columnScope:"Matching Columns will have the plus/minus applied"},updateScope:o=>{let i=o;o&&"DataTypes"in o&&o.DataTypes.length===0&&(i=E(b({},o),{DataTypes:["Number"]})),t.onChange(E(b({},e),{Scope:i}))}})};l();var eo=y(require("react")),s8=y(re());l();var Si=y(require("react"));function MCe(){let{data:t}=je();return Si.createElement(op,{data:t,renderPredicate:e=>Si.createElement(Si.Fragment,null,"Apply Plus Minus on ",Si.createElement(Mr,null,e)),renderQueryExpression:e=>Si.createElement(Si.Fragment,null,"Apply Plus Minus when"," ",Si.createElement("b",null,Si.createElement(Mr,null,e)))})}function _Ce(t){var o;let{data:e,moduleInfo:r}=je(),n=E(b({},e),{Rule:(o=e==null?void 0:e.Rule)!=null?o:{BooleanExpression:""}});return Si.createElement(Vg,{module:r.ModuleName,flexProps:{style:{minHeight:0}},defaultPredicateId:t.defaultPredicateId,predicateDefs:[],showAggregation:!1,showObservable:!1,showPredicate:!1,data:n,onChange:i=>t.onChange(i),descriptions:{selectPredicate:null,useBooleanQuery:Si.createElement(Si.Fragment,null,"Use an BooleanQuery if ",Si.createElement("i",null,"Scope")," is 'Whole Row' - so any data change may be evaluated in a complex BooleanExpression"),useObservableQuery:null,useAggregationQuery:null}})}var NCe=t=>{var r;let{data:e}=je();return eo.createElement(eo.Fragment,null,eo.createElement(To,null,"Nudge Value ",eo.createElement(Dt,null,(r=e.NudgeValue)!=null?r:"Not selected")),t.hasCondition&&eo.createElement(MCe,null))},LCe=t=>(e,r,n)=>{let o=t?k2(e,r,n):!0;return typeof o=="string"?o:typeof e.NudgeValue!="number"?"Nudge value is not specified":e.NudgeValue===0?"Nudge value must be different than 0":!0},kCe=t=>{var n;let{data:e}=je(),r=o=>{let i=parseFloat(o.target.value);t.onChange(E(b({},e),{NudgeValue:isNaN(i)?"":i}))};return eo.createElement(s8.Flex,{height:"100%",flexDirection:"column","data-name":"plus-minus-column-settings"},eo.createElement(j,{autoFocus:!1,padding:2},eo.createElement(j.Tab,null,"Plus Minus Settings"),eo.createElement(j.Content,null,eo.createElement(tt,null,eo.createElement(pe,{label:"Nudge Value"},eo.createElement($e,{flex:1,marginRight:3,onChange:r,placeholder:"Enter Number",type:"number",value:(n=e.NudgeValue)!=null?n:""})),eo.createElement(pe,{label:"Nudge Type"},eo.createElement(s8.Flex,null,eo.createElement(ke,{value:"Always",checked:!t.hasCondition,onChange:()=>t.onConditionChange(!1)},"Always Apply Nudge"),eo.createElement(ke,{marginLeft:3,value:"Expression",checked:t.hasCondition,onChange:()=>t.onConditionChange(!0)},"Create a Rule")))))),t.hasCondition&&eo.createElement(_Ce,{defaultPredicateId:"NonBlanks",onChange:t.onChange}))};var U2=t=>{let[e,r]=Xi.useState(()=>{var s,u,d,c;return E(b({},t.data?t.data:at.CreateEmptyPlusMinusNudge()),{Scope:(u=(s=t==null?void 0:t.data)==null?void 0:s.Scope)!=null?u:{All:!0},NudgeValue:(c=(d=t==null?void 0:t.data)==null?void 0:d.NudgeValue)!=null?c:20})}),[n,o]=Xi.useState(()=>{var s;return Boolean((s=t==null?void 0:t.data)==null?void 0:s.Rule)});Xi.useEffect(()=>{var u;let s=b({},e);n?s.Rule=(u=s.Rule)!=null?u:{BooleanExpression:""}:delete s.Rule,r(s)},[n]);let i=Ht(),a=()=>{t.data?i(ld(e)):i(ad(e)),t.onFinishWizard(e)};return Xi.createElement($r,{defaultCurrentSectionName:t.defaultCurrentSectionName,moduleInfo:t.moduleInfo,data:e,onHide:t.onCloseWizard,onFinish:a,sections:[{title:"Target",isValid:wa,details:"Specify where Plus/Minus should be applied",renderSummary:()=>ps(e.Scope,{scopeWholeRow:"Plus/Minus is applied for matching rows",scopeColumns:"Plus/Minus is applied in cells in selected columns",scopeDataTypes:"Plus/Minus is applied for cells with selected data type"}),render:()=>Xi.createElement(u8.Box,{padding:2},Xi.createElement(FCe,{onChange:r}))},{title:"Settings",isValid:LCe(n),renderSummary:()=>Xi.createElement(NCe,{hasCondition:n}),render:()=>Xi.createElement(kCe,{hasCondition:n,onConditionChange:o,onChange:r})},"-",{render:()=>Xi.createElement(u8.Box,{padding:2},Xi.createElement(Xr,null)),title:"Summary"}]})};var BCe=class extends lm.Component{constructor(e){super(e);this.state=Bt.getEmptyConfigState()}render(){let e=[],r=lm.createElement(ul,{key:this.props.moduleInfo.FriendlyName,moduleInfo:this.props.moduleInfo,moduleSummary:Mt.ReturnItemCount(this.props.PlusMinusNudges.filter(n=>this.props.api.scopeApi.isColumnInScopeColumns(this.props.summarisedColumn,n.Scope)),this.props.moduleInfo.FriendlyName),onNew:()=>this.onNew(),newButtonTooltip:"Plus / Minus Rule",accessLevel:this.props.accessLevel});return e.push(r),this.props.PlusMinusNudges.map((n,o)=>{var i;if(this.props.api.scopeApi.isColumnInScopeColumns(this.props.summarisedColumn,n.Scope)){let a=lm.createElement(Yi,{key:"PM"+o,item1:"Nudge Value: "+n.NudgeValue,item2:((i=n.Rule)==null?void 0:i.BooleanExpression)?n.Rule.BooleanExpression:"Always",configEnity:n,showShare:this.props.teamSharingActivated,moduleInfo:this.props.moduleInfo,onEdit:()=>this.onEdit(n),onShare:s=>this.props.onShare(n,s),onDelete:U1(n),accessLevel:this.props.accessLevel});e.push(a)}}),lm.createElement("div",null,e,this.state.editedAdaptableObject&&lm.createElement(U2,{moduleInfo:this.props.moduleInfo,data:this.state.editedAdaptableObject,configEntities:null,wizardStartIndex:this.state.wizardStartIndex,onCloseWizard:()=>this.onCloseWizard(),onFinishWizard:()=>this.onFinishWizard()}))}onNew(){let e=wt.CreateEmptyPlusMinusNudge();e.Scope={ColumnIds:[this.props.summarisedColumn.columnId]},this.setState({editedAdaptableObject:e,wizardStartIndex:1,wizardStatus:"New"})}onEdit(e){this.setState({editedAdaptableObject:Mt.cloneObject(e),wizardStartIndex:1,wizardStatus:"Edit"})}onCloseWizard(){this.setState({editedAdaptableObject:null,wizardStartIndex:0,wizardStatus:"None"})}onFinishWizard(){let e=this.state.editedAdaptableObject;this.state.wizardStatus=="Edit"?this.props.onEditPlusMinusNudge(e):this.props.onAddPlusMinusNudge(e),this.setState({editedAdaptableObject:null,wizardStartIndex:0,wizardStatus:"None"})}canFinishWizard(){return!!this.state.editedAdaptableObject.NudgeValue}};function mdt(t,e){return{PlusMinusNudges:t.PlusMinus.PlusMinusNudges}}function fdt(t){return{onAddPlusMinusNudge:e=>t(ad(e)),onEditPlusMinusNudge:e=>t(ld(e)),onClearPopupParams:()=>t(Sf()),onShare:(e,r)=>t(Go(e,vn,r))}}var VCe=We(mdt,fdt)(BCe);l();var Su=y(require("react"));l();var Ji=y(require("react")),oSe=require("react"),Wg=y(re());l();var GCe=y(require("react"));var UCe=t=>ps(t.Scope,{scopeWholeRow:"Matching rows will be formatted",scopeColumns:"Cells in selected columns will be formatted",scopeDataTypes:"Cells in columns of the selected data-types will be formatted"}),HCe=t=>{let{data:e}=je();return GCe.createElement(Oa,{descriptions:{rowScope:"Apply a style to an entire row",columnScope:"Select columns to format"},scope:e.Scope,updateScope:r=>{t.onChange(E(b({},e),{Scope:r}))}})};l();var Nt=y(require("react")),dl=y(re());l();var lr=y(require("react"));var Hg=y(re());l();var sm=y(require("react"));var Ug=class extends sm.Component{render(){var s;let e=Ee.sortArrayWithProperty("Asc",this.props.ColumnList,"friendlyName"),r=this.props.SelectedColumnIds.filter(u=>De.IsNotNullOrEmpty(u)),n=De.IsNotNullOrEmpty(this.props.placeHolder)?this.props.placeHolder.toString():this.props.SelectionMode=="Single"?"Select a column":"Select columns",o=this.props.SelectedColumnIds.filter(u=>De.IsNotNullOrEmpty(u)).length==0,i=e.map(u=>({label:u.friendlyName,value:u.columnId,onClick:()=>{let d=e.filter(c=>c.columnId===u.columnId);d.length?this.onColumnChange(d,o):this.onClearButton()}})),a=r.length>0?(s=this.props.ColumnList.find(u=>u.columnId==r[0]))==null?void 0:s.friendlyName:"Select a column";return sm.createElement("div",{"data-name":"column-selector"},sm.createElement(tt,{columns:[1],style:this.props.style},sm.createElement(pe,null,sm.createElement(rt,{marginRight:2,columns:["label"],showClearButton:a!="Select a column",onClear:()=>this.onClearButton(),style:{width:"100%",fontSize:"small"},className:"ab-DashboardToolbar__Layout__select",items:i,disabled:i.length==0},a))))}onClearButton(){this.props.onColumnChange([])}onColumnChange(e,r){e.length==0&&r||this.props.onColumnChange(e)}};var H2=class extends lr.Component{constructor(e){super(e);this.state={ranges:this.props.ranges,columnComparison:this.props.columnComparison,rangesType:this.props.columnComparison?"ColumnComparison":"Standard"}}render(){var a;let e=this.state.columnComparison!=null&&this.state.columnComparison.MinValue!=null&&!isNaN(Number(this.state.columnComparison.MinValue))?Number(this.state.columnComparison.MinValue):"",r=this.state.columnComparison!=null&&this.state.columnComparison.MaxValue!=null&&!isNaN(Number(this.state.columnComparison.MaxValue))?Number(this.state.columnComparison.MaxValue):"",n=this.state.columnComparison!=null&&this.state.columnComparison.MinValue!=null&&isNaN(Number(this.state.columnComparison.MinValue))?String(this.state.columnComparison.MinValue):void 0,o=this.state.columnComparison!=null&&this.state.columnComparison.MaxValue!=null&&isNaN(Number(this.state.columnComparison.MaxValue))?String(this.state.columnComparison.MaxValue):void 0,i=this.state.columnComparison!=null&&this.state.columnComparison.Color!=null?this.state.columnComparison.Color:void 0;return lr.createElement(lr.Fragment,null,lr.createElement(Hg.Flex,{flexDirection:"row"},lr.createElement(he,{marginTop:3,checked:this.state.rangesType=="ColumnComparison",onChange:s=>this.onRangesTypeChanged(s)},"Use a Column Comparison")),this.state.rangesType=="Standard"&&lr.createElement(j,{autoFocus:!1,marginTop:2},lr.createElement(j.Tab,null,"Ranges"),lr.createElement(j.Content,null,(a=this.state.ranges)==null?void 0:a.map((s,u)=>lr.createElement(Hg.Flex,{key:u,mb:2,"data-name":"percent-bar-range"},lr.createElement($e,{type:"number",value:s.Min,onChange:d=>{let{value:c}=d.target;this.changeRangeMin(u,c)},mr:2}),lr.createElement($e,{type:"number",value:s.Max,onChange:d=>{let{value:c}=d.target;this.changeRangeMax(u,c)},mr:2}),lr.createElement(uu,{api:this.props.api,value:s.Color,onChange:d=>{let{value:c}=d.target;this.changeRangeColor(u,c)},mr:2,height:"100%"}),this.props.showRangeDirection&&lr.createElement(he,{marginLeft:2,marginRight:2,checked:s.ReverseGradient&&s.ReverseGradient==!0,onChange:d=>this.changeRangeDirectionUp(u,d)},"Reverse Gradient"),lr.createElement(Z,{icon:"delete",disabled:this.state.ranges&&this.state.ranges.length==1,onClick:()=>this.removeRange(u)}))),lr.createElement("div",null,lr.createElement(Z,{variant:"raised","data-name":"add",onClick:()=>this.addRange()},"Add New Range")))),this.state.rangesType=="ColumnComparison"&&lr.createElement(j,{autoFocus:!1,marginTop:2},lr.createElement(j.Tab,null,"Column Comparison"),lr.createElement(j.Content,null,lr.createElement(Hg.Flex,{flexDirection:"column",key:"cc","data-name":"percent-bar-column-comparison"},lr.createElement(Hg.Text,{padding:2,fontSize:2},"Create Minimum and Maximum Values by providing a value or selecting another Column, and choose a Colour for the Bar."),lr.createElement(tt,{columns:["label","first","or","second"],sizes:["auto","auto","auto","1fr"]},lr.createElement(pe,{label:"Min Value:",first:lr.createElement($e,{type:"number",value:e,onChange:s=>{this.changeColumnComparisonMinValue(s)}}),or:"OR",second:lr.createElement(Ug,{style:{maxWidth:"15rem"},SelectedColumnIds:[n],ColumnList:this.props.api.columnApi.getNumericColumns(),onColumnChange:s=>this.onMinColumnSelectedChanged(s),SelectionMode:"Single"})})," ",lr.createElement(pe,{label:"Max Value:",first:lr.createElement($e,{type:"number",value:r,onChange:s=>{this.changeColumnComparisonMaxValue(s)}}),or:"OR",second:lr.createElement(Ug,{style:{maxWidth:"15rem"},SelectedColumnIds:[o],ColumnList:this.props.api.columnApi.getNumericColumns(),onColumnChange:s=>this.onMaxColumnSelectedChanged(s),SelectionMode:"Single"})}),lr.createElement(pe,{label:"Bar Colour:",first:lr.createElement(uu,{api:this.props.api,value:i,onChange:s=>{let{value:u}=s.target;this.changeColumnComparisonColor(u)}})}))))))}onRangesTypeChanged(e){if(e){let r={Color:Qt(sf),MinValue:void 0,MaxValue:void 0};this.setState({rangesType:"ColumnComparison",columnComparison:r}),this.props.updateColumnComparison(r)}else{let r=this.props.api.scopeApi.createCellColorRangesForScope(this.props.scope);this.setState({rangesType:"Standard",ranges:r}),this.props.updateRanges(r)}}changeRangeMin(e,r){let{ranges:n}=this.state;n[e].Min=Number(r),n[e-1]&&(n[e-1].Max=Number(r)),this.props.updateRanges(n)}changeRangeMax(e,r){let{ranges:n}=this.state;n[e].Max=Number(r),n[e+1]&&(n[e+1].Min=Number(r)),this.props.updateRanges(n)}changeRangeColor(e,r){let{ranges:n}=this.state;n[e].Color=r,this.props.updateRanges(n)}changeRangeDirectionUp(e,r){let{ranges:n}=this.state;n[e].ReverseGradient=r,this.props.updateRanges(n)}removeRange(e){let{ranges:r}=this.state;r.splice(e,1),this.props.updateRanges(r)}addRange(){let e=this.state.ranges[this.state.ranges.length-1];this.state.ranges.push({Min:e.Max,Max:e.Max,Color:Qt(xl)}),this.props.updateRanges(this.state.ranges)}changeColumnComparisonMinValue(e){let r=e.target,{columnComparison:n}=this.state;n.MinValue=De.IsNotNullOrEmpty(r.value)?Number(r.value):void 0,this.props.updateColumnComparison(n)}onMinColumnSelectedChanged(e){let{columnComparison:r}=this.state;r.MinValue=e.length>0?e[0].columnId:void 0,this.props.updateColumnComparison(r)}changeColumnComparisonMaxValue(e){let r=e.target,{columnComparison:n}=this.state;n.MaxValue=De.IsNotNullOrEmpty(r.value)?Number(r.value):void 0,this.props.updateColumnComparison(n)}onMaxColumnSelectedChanged(e){let{columnComparison:r}=this.state;r.MaxValue=e.length>0?e[0].columnId:void 0,this.props.updateColumnComparison(r)}changeColumnComparisonColor(e){let{columnComparison:r}=this.state;r.Color=e,this.props.updateColumnComparison(r)}};var QCe=(t,e)=>!t.ColumnStyle&&t.Style&&ur.IsEmptyStyle(t.Style)&&t.DisplayFormat===void 0&&t.HeaderName===void 0&&t.CellAlignment===void 0&&!e.scopeApi.isSingleBooleanColumnScope(t.Scope)?"No format applied":!0,hdt=t=>E(b({},im(t!=null?t:{})),{borderWidth:(t==null?void 0:t.BorderColor)?2:0,borderStyle:"solid"}),zCe=t=>t.map((e,r)=>Nt.createElement(dl.Flex,{key:r,alignItems:"center",mr:3},Nt.createElement(dl.Box,{mr:1},e.Min," to ",e.Max," "),Nt.createElement(Ki,{Style:{BackColor:e.Color,ForeColor:e.Color}}))),qCe=(t,e)=>Nt.createElement(dl.Flex,{key:"cc",alignItems:"center",mr:3},Nt.createElement(dl.Box,{mr:1},"Min Value:"," ",isNaN(Number(t.MinValue))?"["+e.columnApi.getFriendlyNameFromColumnId(String(t.MinValue))+"]":t.MinValue," ",", Max Value:"," ",isNaN(Number(t.MaxValue))?"["+e.columnApi.getFriendlyNameFromColumnId(String(t.MaxValue))+"]":t.MaxValue," "),Nt.createElement(Ki,{Style:{BackColor:t.Color,ForeColor:t.Color}})),W2=(t,e)=>{if(t.ColumnStyle){if(t.ColumnStyle.CheckBoxStyle)return"Checkbox Style";if(t.ColumnStyle.GradientStyle){if(t.ColumnStyle.GradientStyle.CellRanges)return zCe(t.ColumnStyle.GradientStyle.CellRanges);if(t.ColumnStyle.GradientStyle.ColumnComparison)return qCe(t.ColumnStyle.GradientStyle.ColumnComparison,e)}if(t.ColumnStyle.PercentBarStyle){if(t.ColumnStyle.PercentBarStyle.CellRanges)return zCe(t.ColumnStyle.PercentBarStyle.CellRanges);if(t.ColumnStyle.PercentBarStyle.ColumnComparison)return qCe(t.ColumnStyle.PercentBarStyle.ColumnComparison,e)}return t.Style==null||ur.IsEmptyStyle(t.Style)?"[None]":Nt.createElement(Ki,{Style:t.Style})}return Nt.createElement(dl.Text,{padding:2,style:hdt(t.Style)},"Preview result")};function jCe(t){var S,v,x,R,D,T,w,N,M,A,I,O,z,F,B,Y,ie,te,oe,X,ve,se,J,Se,ue,me,Te,Be,Je,de,sr,Ve;let{data:e,api:r}=je(),n=r.scopeApi.isSingleNumericColumnScope(e.Scope),o=r.scopeApi.isSingleBooleanColumnScope(e.Scope),i=P=>{var L;let V=(L=e.ColumnStyle)==null?void 0:L.PercentBarStyle;P?V.CellText?V.CellText.push("CellValue"):V.CellText=["CellValue"]:V.CellText&&V.CellText.includes("PercentageValue")?V.CellText=["PercentageValue"]:V.CellText=[],t.onChange(E(b({},e),{ColumnStyle:{PercentBarStyle:V}}))},a=P=>{var L;let V=(L=e.ColumnStyle)==null?void 0:L.PercentBarStyle;P?V.CellText?V.CellText.push("PercentageValue"):V.CellText=["PercentageValue"]:V.CellText&&V.CellText.includes("CellValue")?V.CellText=["CellValue"]:V.CellText=[],t.onChange(E(b({},e),{ColumnStyle:{PercentBarStyle:V}}))},s=P=>{var L;let V=(L=e.ColumnStyle)==null?void 0:L.PercentBarStyle;P?V.ToolTipText?V.ToolTipText.push("CellValue"):V.ToolTipText=["CellValue"]:V.ToolTipText&&V.ToolTipText.includes("PercentageValue")?V.ToolTipText=["PercentageValue"]:V.ToolTipText=[],t.onChange(E(b({},e),{ColumnStyle:{PercentBarStyle:V}}))},u=P=>{var L;let V=(L=e.ColumnStyle)==null?void 0:L.PercentBarStyle;P?V.ToolTipText?V.ToolTipText.push("PercentageValue"):V.ToolTipText=["PercentageValue"]:V.ToolTipText&&V.ToolTipText.includes("CellValue")?V.ToolTipText=["CellValue"]:V.ToolTipText=[],t.onChange(E(b({},e),{ColumnStyle:{PercentBarStyle:V}}))},d=P=>{let V={PercentBarStyle:{ColumnComparison:P}};t.onChange(E(b({},e),{ColumnStyle:V}))},c=P=>{var L;let V=(L=e.ColumnStyle)==null?void 0:L.PercentBarStyle;V.BackColor=P?Qt(xl):null,t.onChange(E(b({},e),{ColumnStyle:{PercentBarStyle:V}}))},m=P=>{var fe;let V=P.target,L=(fe=e.ColumnStyle)==null?void 0:fe.PercentBarStyle;L.BackColor=V.value,t.onChange(E(b({},e),{ColumnStyle:{PercentBarStyle:L}}))},f=P=>{let V={PercentBarStyle:{CellRanges:P}};t.onChange(E(b({},e),{ColumnStyle:V}))},h=P=>{let V={GradientStyle:{CellRanges:P}};t.onChange(E(b({},e),{ColumnStyle:V}))},g=P=>{let V={GradientStyle:{ColumnComparison:P}};t.onChange(E(b({},e),{ColumnStyle:V}))},C=P=>{let V=P.target;if(V.value=="Gradient")t.onChange(E(b({},e),{ColumnStyle:{GradientStyle:{CellRanges:r.scopeApi.createCellColorRangesForScope(e.Scope)}}}));else if(V.value=="PercentBar")t.onChange(E(b({},e),{ColumnStyle:{PercentBarStyle:{CellRanges:r.scopeApi.createCellColorRangesForScope(e.Scope)}}}));else if(V.value=="None"){let L=b({},e);delete L.ColumnStyle,t.onChange(L)}};return Nt.createElement(Nt.Fragment,null,o&&Nt.createElement(j,null,Nt.createElement(j.Tab,null,"CheckBox Column"),Nt.createElement(j.Content,null,Nt.createElement(_t,{fontSize:2},"Shows each cell in the Column as a Checkbox")," ",Nt.createElement(he,{marginLeft:2,checked:!!((S=e.ColumnStyle)==null?void 0:S.CheckBoxStyle),onChange:P=>{let V=E(b({},e),{ColumnStyle:{CheckBoxStyle:P}});P||delete V.ColumnStyle,t.onChange(V)}},"Display Column As CheckBox"))),n?Nt.createElement(Nt.Fragment,null,Nt.createElement(j,null,Nt.createElement(j.Tab,null,"Create a Format Column Style"),Nt.createElement(j.Content,null,Nt.createElement(dl.Flex,{flexDirection:"row"},Nt.createElement(ke,{marginLeft:2,value:"None",checked:!e.ColumnStyle,onChange:(P,V)=>C(V)},"Standard")," ",Nt.createElement(ke,{marginLeft:3,value:"Gradient",checked:!!((v=e.ColumnStyle)==null?void 0:v.GradientStyle),onChange:(P,V)=>C(V)},"Gradient")," ",Nt.createElement(ke,{marginLeft:3,value:"PercentBar",checked:!!((x=e.ColumnStyle)==null?void 0:x.PercentBarStyle),onChange:(P,V)=>C(V)},"Percent Bar"," ")," "))),((R=e.ColumnStyle)==null?void 0:R.GradientStyle)&&Nt.createElement(H2,{api:r,scope:e==null?void 0:e.Scope,showRangeDirection:!0,ranges:(T=(D=e.ColumnStyle)==null?void 0:D.GradientStyle)==null?void 0:T.CellRanges,columnComparison:(N=(w=e==null?void 0:e.ColumnStyle)==null?void 0:w.GradientStyle)==null?void 0:N.ColumnComparison,updateRanges:P=>h(P),updateColumnComparison:P=>g(P)}),((M=e.ColumnStyle)==null?void 0:M.PercentBarStyle)&&Nt.createElement(Nt.Fragment,null,Nt.createElement(H2,{api:r,scope:e==null?void 0:e.Scope,showRangeDirection:!1,ranges:(I=(A=e.ColumnStyle)==null?void 0:A.PercentBarStyle)==null?void 0:I.CellRanges,columnComparison:(z=(O=e==null?void 0:e.ColumnStyle)==null?void 0:O.PercentBarStyle)==null?void 0:z.ColumnComparison,updateRanges:P=>f(P),updateColumnComparison:P=>d(P)}),Nt.createElement(tt,{marginLeft:2,marginTop:2},Nt.createElement(pe,{label:"Cell Display:"},Nt.createElement(he,{marginLeft:2,checked:(Y=(B=(F=e.ColumnStyle)==null?void 0:F.PercentBarStyle)==null?void 0:B.CellText)==null?void 0:Y.includes("CellValue"),onChange:P=>i(P)},"Cell Value")," ",Nt.createElement(he,{marginLeft:3,checked:(oe=(te=(ie=e.ColumnStyle)==null?void 0:ie.PercentBarStyle)==null?void 0:te.CellText)==null?void 0:oe.includes("PercentageValue"),onChange:P=>a(P)},"Percent Value"," ")," "),Nt.createElement(pe,{label:"ToolTip Display:"},Nt.createElement(he,{marginLeft:2,checked:(se=(ve=(X=e.ColumnStyle)==null?void 0:X.PercentBarStyle)==null?void 0:ve.ToolTipText)==null?void 0:se.includes("CellValue"),onChange:P=>s(P)},"Cell Value")," ",Nt.createElement(he,{marginLeft:3,checked:(ue=(Se=(J=e.ColumnStyle)==null?void 0:J.PercentBarStyle)==null?void 0:Se.ToolTipText)==null?void 0:ue.includes("PercentageValue"),onChange:P=>u(P)},"Percent Value"," ")," "),Nt.createElement(pe,{label:"Back Colour:"},Nt.createElement(dl.Flex,{alignItems:"center",marginLeft:2},Nt.createElement(he,{checked:!!((Te=(me=e.ColumnStyle)==null?void 0:me.PercentBarStyle)==null?void 0:Te.BackColor),onChange:P=>c(P),mr:2}),((Je=(Be=e.ColumnStyle)==null?void 0:Be.PercentBarStyle)==null?void 0:Je.BackColor)!==void 0&&Nt.createElement(uu,{api:r,value:(sr=(de=e.ColumnStyle)==null?void 0:de.PercentBarStyle)==null?void 0:sr.BackColor,onChange:P=>m(P)})))),Nt.createElement(dl.Flex,{flexDirection:"row",padding:2}))):null,e.ColumnStyle?null:Nt.createElement(nl,{headless:!0,api:r,Style:(Ve=e.Style)!=null?Ve:{},UpdateStyle:P=>{t.onChange(E(b({},e),{Style:P}))}}))}l();var ze=y(require("react")),pl=y(re());l();function gdt(t){return t&&t.length?Cv(t):[]}var YCe=gdt;var bdt={FractionDigits:2,FractionSeparator:".",IntegerDigits:void 0,IntegerSeparator:",",Prefix:"$",Suffix:"",Multiplier:1,Parentheses:!1},Cdt={FractionDigits:2,FractionSeparator:".",IntegerDigits:void 0,IntegerSeparator:",",Prefix:"\xA3",Suffix:"",Multiplier:1,Parentheses:!1},KCe={FractionDigits:void 0,FractionSeparator:".",IntegerDigits:void 0,IntegerSeparator:",",Prefix:"",Suffix:"M",Multiplier:1e-6,Parentheses:!1},$Ce={FractionDigits:void 0,FractionSeparator:".",IntegerDigits:void 0,IntegerSeparator:",",Prefix:"",Suffix:"K",Multiplier:.001,Parentheses:!1},XCe={FractionDigits:2,FractionSeparator:".",IntegerDigits:void 0,IntegerSeparator:",",Prefix:"",Suffix:"%",Multiplier:100,Parentheses:!1},Sdt=["MM/dd/yyyy","dd-MM-yyyy","MMMM do yyyy, h:mm:ss a","EEEE","MMM do yyyy","yyyyMMdd","HH:mm:ss"],d8=t=>{let e="N/A";return t.DisplayFormat?(t.DisplayFormat.Formatter==="NumberFormatter"&&(e=Yn.NumberFormatter(12345.6789,t.DisplayFormat.Options)),t.DisplayFormat.Formatter==="DateFormatter"&&(e=Yn.DateFormatter(new Date,t.DisplayFormat.Options)),t.DisplayFormat.Formatter==="StringFormatter"&&(e=Yn.StringFormatter("Hello World ",t.DisplayFormat.Options))):e="N/A",e},JCe=t=>ze.createElement(Dt,null,d8(t)),ZCe=(t,e)=>{if(t!=null&&!("All"in t)){if("ColumnIds"in t){let r=t.ColumnIds.map(o=>e.columnApi.getColumnFromId(o)),n=YCe(r.map(o=>o.dataType));return n.length==1&&n[0]=="Number"?"Number":n.length==1&&n[0]=="Date"?"Date":n.length==1&&n[0]=="String"?"String":void 0}if("DataTypes"in t&&t.DataTypes.length==1&&t.DataTypes[0]=="Number")return"Number";if("DataTypes"in t&&t.DataTypes.length==1&&t.DataTypes[0]=="Date")return"Date";if("DataTypes"in t&&t.DataTypes.length==1&&t.DataTypes[0]=="String")return"String"}},ydt=(t,e,r)=>t.DisplayFormat.Formatter!=="DateFormatter"?null:ze.createElement(pl.Box,{padding:2},ze.createElement(j,null,ze.createElement(j.Tab,null,"Format"),ze.createElement(j.Content,null,ze.createElement(pl.Text,{padding:2,fontSize:2},"Either create your own date pattern, or select one of the preset date formats (check out"," ",ze.createElement("a",{href:"https://www.unicode.org/reports/tr35/tr35-dates.html#Date_Field_Symbol_Table",target:"_blank"},"available symbols"),")."),ze.createElement(tt,null,ze.createElement(pe,{label:"Pattern"},ze.createElement($e,{value:t.DisplayFormat.Options.Pattern,onChange:n=>r("Pattern",n.currentTarget.value),mr:2}),ze.createElement("span",null,Yn.DateFormatter(new Date,t.DisplayFormat.Options)))))),ze.createElement(j,{marginTop:2},ze.createElement(j.Tab,null,"Presets"),ze.createElement(j.Content,null,ze.createElement(un,{style:{fontWeight:"bold"},colItems:[{Content:"Pattern",Size:1},{Content:"Formatted Date",Size:1},{Content:"",Size:1}]}),Sdt.map((n,o)=>ze.createElement(un,{key:o,colItems:[{Content:n,Size:1},{Content:Yn.DateFormatter(new Date,{Pattern:n}),Size:1},{Content:ze.createElement(Z,{onClick:()=>r("Pattern",n)},"Apply"),Size:1}]}))))),vdt=(t,e,r)=>{if(t.DisplayFormat.Formatter!=="NumberFormatter")return null;let n=()=>{e({DisplayFormat:{Formatter:"NumberFormatter",Options:XCe}})},o=()=>{e({DisplayFormat:{Formatter:"NumberFormatter",Options:$Ce}})},i=()=>{e({DisplayFormat:{Formatter:"NumberFormatter",Options:KCe}})},a=()=>{e({DisplayFormat:{Formatter:"NumberFormatter",Options:bdt}})},s=()=>{e({DisplayFormat:{Formatter:"NumberFormatter",Options:Cdt}})},u=t.DisplayFormat.Options.Suffix==="%"&&t.DisplayFormat.Options.Multiplier===XCe.Multiplier,d=t.DisplayFormat.Options.Suffix==="K"&&t.DisplayFormat.Options.Multiplier===$Ce.Multiplier,c=t.DisplayFormat.Options.Suffix==="M"&&t.DisplayFormat.Options.Multiplier===KCe.Multiplier,m=t.DisplayFormat.Options.Prefix==="$",f=t.DisplayFormat.Options.Prefix==="\xA3";return ze.createElement(pl.Box,{"data-name":"format-column-display-format",padding:2},ze.createElement(j,null,ze.createElement(j.Tab,null,"Format"),ze.createElement(j.Content,null,ze.createElement(pl.Flex,{flexDirection:"row"},ze.createElement(tt,{mr:3},ze.createElement(pe,{label:"Fraction Separator"},ze.createElement($e,{value:t.DisplayFormat.Options.FractionSeparator,onChange:h=>r("FractionSeparator",h.currentTarget.value)})),ze.createElement(pe,{label:"Integer Separator"},ze.createElement($e,{value:t.DisplayFormat.Options.IntegerSeparator,onChange:h=>r("IntegerSeparator",h.currentTarget.value)})),ze.createElement(pe,{label:"Prefix"},ze.createElement($e,{value:t.DisplayFormat.Options.Prefix,onChange:h=>r("Prefix",h.currentTarget.value)})),ze.createElement(pe,{label:"Suffix"},ze.createElement($e,{value:t.DisplayFormat.Options.Suffix,onChange:h=>r("Suffix",h.currentTarget.value)}))),ze.createElement(tt,null,ze.createElement(pe,{label:"Fraction Digits"},ze.createElement($e,{type:"number",min:"0",value:typeof t.DisplayFormat.Options.FractionDigits=="number"?t.DisplayFormat.Options.FractionDigits:"",onChange:h=>r("FractionDigits",qe.IsNumeric(h.currentTarget.value)?Lu(Number(h.currentTarget.value),0,20):void 0)})),ze.createElement(pe,{label:"Integer Digits"},ze.createElement($e,{type:"number",min:"0",value:t.DisplayFormat.Options.IntegerDigits,onChange:h=>r("IntegerDigits",Number(h.currentTarget.value))})),ze.createElement(pe,{label:"Multiplier"},ze.createElement($e,{type:"number",value:t.DisplayFormat.Options.Multiplier,onChange:h=>r("Multiplier",Number(h.currentTarget.value))})),ze.createElement(pe,{label:"Parentheses"},ze.createElement(he,{checked:t.DisplayFormat.Options.Parentheses,onChange:h=>r("Parentheses",h)})),ze.createElement(pe,{label:"Truncate"},ze.createElement(he,{checked:t.DisplayFormat.Options.Truncate,onChange:h=>r("Truncate",h)})))))),ze.createElement(j,{marginTop:2,autoFocus:!1,keyboardNavigation:!1},ze.createElement(j.Tab,null,"Presets"),ze.createElement(j.Content,null,ze.createElement(pl.Text,{padding:2,fontSize:2},"Select a preset for common use cases"),ze.createElement(pl.Flex,{flexDirection:"row"},ze.createElement(tt,{margin:2},ze.createElement(pe,{label:"Show As:"},ze.createElement(ke,{marginLeft:2,checked:u,onChange:()=>n()},"Percentage"),ze.createElement(ke,{marginLeft:3,checked:d,onChange:()=>o()},"K (Thousand)"),ze.createElement(ke,{marginLeft:3,checked:c,onChange:()=>i()},"M (Million)"),ze.createElement(ke,{marginLeft:3,checked:m,onChange:()=>a()},"Dollar"),ze.createElement(ke,{marginLeft:3,checked:f,onChange:()=>s()},"Sterling")))))),ze.createElement(j,{marginTop:2,autoFocus:!1,keyboardNavigation:!1},ze.createElement(j.Tab,null,"Examples"),ze.createElement(j.Content,null,ze.createElement(un,{style:{fontWeight:"bold"},colItems:[{Content:"Raw Number",Size:1},{Content:"Formatted Number",Size:1}]}),ze.createElement(un,{colItems:[{Content:"12345.6789",Size:1},{Content:Yn.NumberFormatter(12345.6789,t.DisplayFormat.Options),Size:1}]}),ze.createElement(un,{colItems:[{Content:"-12345.6789",Size:1},{Content:Yn.NumberFormatter(-12345.6789,t.DisplayFormat.Options),Size:1}]}),ze.createElement(un,{colItems:[{Content:"0.123",Size:1},{Content:Yn.NumberFormatter(.123,t.DisplayFormat.Options),Size:1}]}))))},Adt=(t,e,r)=>t.DisplayFormat.Formatter!=="StringFormatter"?null:ze.createElement(pl.Box,{"data-name":"format-column-display-format",padding:2},ze.createElement(j,null,ze.createElement(j.Tab,null,"Format"),ze.createElement(j.Content,null,ze.createElement(pl.Flex,{flexDirection:"column"},ze.createElement(tt,{mr:3},ze.createElement(pe,{label:"Case: "},ze.createElement(ke,{checked:t.DisplayFormat.Options.Case=="Lower",onChange:n=>r("Case","Lower")},"Lower"),ze.createElement(ke,{marginLeft:2,checked:t.DisplayFormat.Options.Case=="Upper",onChange:n=>r("Case","Upper")},"Upper"),ze.createElement(ke,{marginLeft:2,checked:t.DisplayFormat.Options.Case=="Sentence",onChange:n=>r("Case","Sentence")},"Sentence"),ze.createElement(ke,{marginLeft:2,checked:t.DisplayFormat.Options.Case==null,onChange:n=>r("Case",void 0)},"None"),ze.createElement(he,{marginLeft:5,checked:t.DisplayFormat.Options.Trim,onChange:n=>r("Trim",n)},"Trim")))))),ze.createElement(j,{marginTop:2,keyboardNavigation:!1},ze.createElement(j.Tab,null,"Example"),ze.createElement(j.Content,null,ze.createElement(un,{style:{fontWeight:"bold"},colItems:[{Content:"Raw String",Size:1},{Content:"Formatted String",Size:1}]}),ze.createElement(un,{colItems:[{Content:'"Hello World "',Size:1},{Content:'"'+Yn.StringFormatter("Hello World ",t.DisplayFormat.Options)+'"',Size:1}]})))),eSe=t=>{let{data:e}=je(),r=i=>{t.onChange(b(b({},e),i))},n=(i,a)=>{let s=b({},e.DisplayFormat);s.Options=E(b({},s.Options),{[i]:a}),r({DisplayFormat:s})},o=e.DisplayFormat&&e.DisplayFormat.Formatter;return o==="NumberFormatter"?vdt(e,r,n):o==="DateFormatter"?ydt(e,r,n):o==="StringFormatter"?Adt(e,r,n):ze.createElement(_t,{margin:3},"Setting a Display Format is only available if ",ze.createElement("b",null,"all")," the columns in Scope are Numeric, String or Date.")};l();var Hn=y(require("react")),Cu=y(re());var z2=require("react");var xdt=[{value:"Left",label:"Left"},{value:"Right",label:"Right"},{value:"Center",label:"Center"}],tSe=t=>{var e;return Hn.createElement(Cu.Box,{padding:2},Hn.createElement(Cu.Text,null,"Cell alignment ",Hn.createElement(Dt,null,(e=t.CellAlignment)!=null?e:"default")),t.HeaderName?Hn.createElement(Cu.Text,{mt:3},"Header name ",Hn.createElement(Dt,null,t.HeaderName)):null,Hn.createElement(Cu.Text,{mt:3},"Include grouped rows ",Hn.createElement(Dt,null,t.IncludeGroupedRows?"yes":"no")))},rSe=t=>{let{data:e,api:r}=je(),n=u=>{t.onChange(E(b({},e),{CellAlignment:u}))},o=u=>{t.onChange(E(b({},e),{IncludeGroupedRows:u}))},i=u=>{let d=u.target;t.onChange(E(b({},e),{HeaderName:d.value}))},[a,s]=(0,z2.useState)(!1);return(0,z2.useEffect)(()=>{let u=qe.IsNotNullOrEmpty(e.HeaderName);s(u),u&&Rl("DEPRECATED: The 'FormatColumn.HeaderName' property is deprecated; use a Layout custom Column Header instead!")},[]),Hn.createElement(j,null,Hn.createElement(j.Tab,null,"Format"),Hn.createElement(j.Content,null,Hn.createElement(Cu.Flex,{flexDirection:"row"},Hn.createElement(tt,null,Hn.createElement(pe,{label:"Cell Alignment"},Hn.createElement(rt,{style:{minWidth:"15rem",whiteSpace:"nowrap",overflow:"hidden",textOverflow:"ellipsis",maxWidth:"inherit"},placeholder:"Select Option",showClearButton:!!e.CellAlignment,onClear:()=>n(null),items:xdt.map(u=>({value:u.value,label:u.label,onClick:()=>n(u.value)})),columns:["label"]},e.CellAlignment?e.CellAlignment:"Select Option")),a&&r.scopeApi.isSingleColumnScope(e.Scope)&&Hn.createElement(pe,{label:"Header Name"},Hn.createElement($e,{value:e.HeaderName,onChange:u=>i(u),style:{minWidth:"15rem"}})," "),Hn.createElement(pe,{label:"Include Grouped Rows:"},Hn.createElement(Cu.Flex,{alignItems:"center",marginLeft:2},Hn.createElement(he,{checked:e.IncludeGroupedRows,onChange:o,mr:2})))))))};var Edt=(t,e)=>{t=b({},t);let r=ZCe(t.Scope,e);return!r&&t.DisplayFormat&&(t.DisplayFormat=void 0),(!t.DisplayFormat||t.DisplayFormat.Formatter!=="NumberFormatter")&&r==="Number"&&(t.DisplayFormat={Formatter:"NumberFormatter",Options:{FractionDigits:void 0,FractionSeparator:".",IntegerDigits:void 0,IntegerSeparator:",",Prefix:"",Suffix:"",Multiplier:1,Parentheses:!1}}),(!t.DisplayFormat||t.DisplayFormat.Formatter!=="DateFormatter")&&r==="Date"&&(t.DisplayFormat={Formatter:"DateFormatter",Options:{Pattern:"MM/dd/yyyy"}}),(!t.DisplayFormat||t.DisplayFormat.Formatter!=="StringFormatter")&&r==="String"&&(t.DisplayFormat={Formatter:"StringFormatter",Options:{Case:void 0,Trim:!1}}),t},nSe=(t,e)=>(t=Edt(t,e),!e.scopeApi.isSingleNumericColumnScope(t.Scope)&&!e.scopeApi.isSingleBooleanColumnScope(t.Scope)&&delete t.ColumnStyle,t);function q2(t){let{api:e}=ht(),[r,n]=(0,oSe.useState)(()=>{var u;let s=t.data?Er(t.data):at.CreateEmptyFormatColumn();return s.Scope=(u=s.Scope)!=null?u:{ColumnIds:[]},s=nSe(s,e),s}),o=Ji.useCallback(s=>{n(nSe(s,e))},[]),i=Ht(),a=()=>{t.data?i(Ws(r)):i(ud(r)),t.onFinishWizard(r)};return Ji.createElement($r,{defaultCurrentSectionName:t.defaultCurrentSectionName,moduleInfo:t.moduleInfo,data:r,onHide:t.onCloseWizard,onFinish:a,sections:[{title:"Scope",details:"Apply formatting to: one or more Columns or Data Types or the whole row",isValid:wa,renderSummary:UCe,render:()=>Ji.createElement(Wg.Flex,{flexDirection:"column",style:{height:"100%"},padding:2},Ji.createElement(HCe,{onChange:o}))},{title:"Style",details:"Format Column style",isValid:QCe,renderSummary:W2,render:()=>Ji.createElement(Wg.Box,{padding:2},Ji.createElement(jCe,{onChange:o}))},{title:"Display Format",renderSummary:JCe,render:()=>Ji.createElement(eSe,{onChange:o})},{title:"Settings",renderSummary:tSe,render:()=>Ji.createElement(Wg.Box,{padding:2},Ji.createElement(rSe,{onChange:o}))},"-",{details:"Review the Format Column",render:()=>Ji.createElement(Wg.Box,{padding:2},Ji.createElement(Xr,null)),title:"Summary"}]})}var iSe=class extends Su.Component{constructor(e){super(e);this.onFinishWizard=e=>{this.props.FormatColumns.find(r=>r.Uuid==e.Uuid)?this.props.onEditFormatColumn(e):this.props.onAddFormatColumn(e),this.setState({editedAdaptableObject:null,wizardStartIndex:0,wizardStatus:"None"})};this.state=Bt.getEmptyConfigState()}render(){let e=this.props.api.formatColumnApi.getFormatColumnForColumn(this.props.summarisedColumn),r=e==null,n;return r?n=Su.createElement(ul,{key:this.props.moduleInfo.FriendlyName,moduleInfo:this.props.moduleInfo,moduleSummary:"No Format Column Set",onNew:()=>this.onNew(),newButtonTooltip:this.props.moduleInfo.FriendlyName,accessLevel:this.props.accessLevel}):n=Su.createElement(Yi,{key:this.props.moduleInfo.FriendlyName,item1:Su.createElement(sl,{moduleInfo:this.props.moduleInfo}),item2:Su.createElement(Ki,{Style:e.Style}),configEnity:e,showShare:this.props.teamSharingActivated,moduleInfo:this.props.moduleInfo,onEdit:()=>this.onEdit(e),onShare:o=>this.props.onShare(e,o),onDelete:gh(e),showBold:!0,accessLevel:this.props.accessLevel}),Su.createElement("div",null,n,this.state.editedAdaptableObject&&Su.createElement(q2,{moduleInfo:this.props.moduleInfo,data:this.state.editedAdaptableObject,configEntities:this.props.FormatColumns,wizardStartIndex:this.state.wizardStartIndex,onCloseWizard:this.onCloseWizard,onFinishWizard:this.onFinishWizard}))}onNew(){let e=wt.CreateEmptyFormatColumn();e.Scope={ColumnIds:[this.props.summarisedColumn.columnId]},this.setState({editedAdaptableObject:e,wizardStartIndex:1,wizardStatus:"New"})}onEdit(e){let r=Mt.cloneObject(e);this.setState({editedAdaptableObject:r,wizardStartIndex:1,wizardStatus:"Edit"})}onCloseWizard(){this.setState({editedAdaptableObject:null,wizardStartIndex:0,wizardStatus:"None"})}canFinishWizard(){let e=this.state.editedAdaptableObject;return e.Scope!=null&&Bt.IsNotEmptyStyle(e.Style)}};function Rdt(t,e){return{FormatColumns:t.FormatColumn.FormatColumns}}function Idt(t){return{onAddFormatColumn:e=>t(ud(e)),onEditFormatColumn:e=>t(Ws(e)),onShare:(e,r)=>t(Go(e,Ao,r))}}var aSe=We(Rdt,Idt)(iSe);l();var qg=y(require("react"));l();var um=y(require("react")),c8=y(re());var SSe=require("react");l();var zg=y(require("react")),lSe=require("react"),sSe=y(re());var uSe=t=>{var e;return zg.createElement(sSe.Box,{fontSize:2},"Column scalar expression: ",zg.createElement(Mr,null,(e=t.Query)==null?void 0:e.ScalarExpression))},dSe=(t,e)=>{var i,a;let r=e.internalApi.getCalculatedColumnExpressionService(),n=(a=(i=t.Query)==null?void 0:i.ScalarExpression)==null?void 0:a.trim();return n?r.IsExpressionValid(n)?!0:"Calculated column expression is not valid":"Calculated column expression cannot be empty"},pSe=t=>{var a;let{api:e,data:r,moduleInfo:n}=je(),o=(0,lSe.useMemo)(()=>e.internalApi.getQueryPreviewData(),[]),i=s=>{let d=e.internalApi.getCalculatedColumnExpressionService().GetCalculatedColumnDataType(s),c=d=="String",m=d=="Number";t.onChange(E(b({},r),{Query:{ScalarExpression:s},CalculatedColumnSettings:E(b({},r.CalculatedColumnSettings),{DataType:d,Pivotable:c,Aggregatable:m})}))};return zg.createElement(j,{m:2},zg.createElement(j.Content,null,zg.createElement(Aa,{type:"scalar",module:n.ModuleName,style:{paddingLeft:0},value:(a=r.Query)==null?void 0:a.ScalarExpression,onChange:i,initialData:o,columns:e.columnApi.getQueryableColumns(),namedQueries:e.queryApi.getAllNamedQuery(),isFullExpression:!0,api:e})))};l();var Nr=y(require("react")),ap=y(re());var Y2=require("react");l();var Q2=t=>{let{DataType:e,Width:r,Filterable:n,Resizable:o,Groupable:i,Sortable:a,Pivotable:s,Aggregatable:u}=t!=null?t:{};return[e?`DataType: ${e}`:null,r?`Width: ${r}px`:null,s?"Pivotable":null,n?"Filterable":null,o?"Resizable":null,i?"Groupable":null,a?"Sortable":null,u?"Aggregatable":null].filter(Boolean)};l();l();l();l();var cSe=1/0,Ddt=17976931348623157e292;function Pdt(t){if(!t)return t===0?t:0;if(t=Ua(t),t===cSe||t===-cSe){var e=t<0?-1:1;return e*Ddt}return t===t?t:0}var mSe=Pdt;function Tdt(t){var e=mSe(t),r=e%1;return e===e?r?e-r:e:0}var fSe=Tdt;var wdt=Math.ceil,Odt=Math.max;function Fdt(t,e,r){(r?a1(t,e,r):e===void 0)?e=1:e=Odt(fSe(e),0);var n=t==null?0:t.length;if(!n||e<1)return[];for(var o=0,i=0,a=Array(wdt(n/e));o<n;)a[i++]=Av(t,o,o+=e);return a}var hSe=Fdt;var _r=y(require("react")),gSe=y(re());var j2=t=>{var h,g;let e=ht(),r=e.api.internalApi.getAdaptableOptions().userInterfaceOptions.columnTypes,{Filterable:n,Resizable:o,Groupable:i,Sortable:a,Pivotable:s,Aggregatable:u,SuppressMenu:d,SuppressMovable:c}=(h=t.settings)!=null?h:{},m=(C,S)=>{var x,R,D;let v=(R=(x=t.settings)==null?void 0:x.ColumnTypes)!=null?R:[];S?t.onChange(E(b({},t.settings),{ColumnTypes:[...v,C]})):t.onChange(E(b({},t.settings),{ColumnTypes:(D=v==null?void 0:v.filter)==null?void 0:D.call(v,T=>T!==C)}))},f=C=>{t.onChange(b(b({},t.settings),C))};return _r.createElement(_r.Fragment,null,_r.createElement(j,{marginTop:2,autoFocus:!1},_r.createElement(j.Tab,null,"Column Properties"),_r.createElement(j.Content,null,_r.createElement(gSe.Flex,{flexDirection:"row"},_r.createElement(tt,{style:{width:"100%"},columns:[{name:"first",size:"30%"},{size:"30%",name:"second"},{size:"30%",name:"third"}]},_r.createElement(pe,null,_r.createElement(he,{checked:n,onChange:C=>f({Filterable:C}),disabled:!e.api.internalApi.getAdaptableOptions().filterOptions.enableFilterOnSpecialColumns},"Filterable"),_r.createElement(he,{checked:o,onChange:C=>f({Resizable:C})},"Resizable"),_r.createElement(he,{checked:i,onChange:C=>f({Groupable:C})},"Groupable")),_r.createElement(pe,null,_r.createElement(he,{checked:a,onChange:C=>f({Sortable:C})},"Sortable"),_r.createElement(he,{checked:s,onChange:C=>f({Pivotable:C})},"Pivotable"),_r.createElement(he,{checked:u,onChange:C=>f({Aggregatable:C})},"Aggregatable")),_r.createElement(pe,null,_r.createElement(he,{checked:d,onChange:C=>f({SuppressMenu:C})},"Suppress Menu"),_r.createElement(he,{checked:c,onChange:C=>f({SuppressMovable:C})},"Suppress Movable"),_r.createElement(he,{disabled:!0,checked:t.isEditable},"Editable")))))),Boolean(r==null?void 0:r.length)&&_r.createElement(j,{marginTop:2,autoFocus:!1},_r.createElement(j.Tab,null,"Column Types"),_r.createElement(j.Content,null,_r.createElement(tt,{columns:[{name:"first",size:"30%"},{name:"second"}]},(g=hSe(r!=null?r:[],2))==null?void 0:g.map(([C,S])=>{var v,x,R,D,T,w;return _r.createElement(pe,{key:C},C&&_r.createElement(he,{onChange:N=>m(C,N),checked:(R=(x=(v=t.settings)==null?void 0:v.ColumnTypes)==null?void 0:x.includes)==null?void 0:R.call(x,C)},C),S&&_r.createElement(he,{onChange:N=>m(S,N),checked:(w=(T=(D=t.settings)==null?void 0:D.ColumnTypes)==null?void 0:T.includes)==null?void 0:w.call(T,S)},S))})))))};var bSe=t=>{var r;let e=Q2(t.CalculatedColumnSettings);return Nr.createElement(ap.Box,{fontSize:2},Nr.createElement(ap.Box,null,"Column Identifier: ",Nr.createElement(Dt,null,t.ColumnId)),t.FriendlyName?Nr.createElement(ap.Box,{mt:3},"Column Name: ",Nr.createElement(Dt,null,(r=t.FriendlyName)!=null?r:t.ColumnId)):null,Nr.createElement(ap.Box,{mb:3}),Nr.createElement(Zo,{toLabel:n=>n,toIdentifier:n=>n,readOnly:!0,options:e,value:e}))},p8=(t,e)=>{var i;let r=e.columnApi.getColumns();if(!t.ColumnId)return"Column id cannot be empty";if(!((i=t.CalculatedColumnSettings)==null?void 0:i.DataType))return"No data type specified for column";let n=r.filter(a=>a.columnId===t.ColumnId).length;return(t.Uuid?n>1:n>0)?"A Column already exists with that id":!0},CSe=t=>{var R,D;let{data:e,api:r}=je(),n=(0,Y2.useMemo)(()=>r.internalApi.getCalculatedColumnExpressionService(),[]),o=T=>{let w=T.target;t.onChange(E(b({},e),{ColumnId:w.value}))},i=T=>{let w=T.target;t.onChange(E(b({},e),{FriendlyName:w.value}))},a=T=>{var N;let w=T=="Number"?(N=e.CalculatedColumnSettings)==null?void 0:N.Aggregatable:!1;t.onChange(E(b({},e),{CalculatedColumnSettings:E(b({},e.CalculatedColumnSettings),{DataType:T,Aggregatable:w})}))},s=t.isEdit,u=p8(e,r),d=u===!0?null:u,c=[{value:"Number",label:"Number"},{value:"String",label:"String"},{value:"Date",label:"Date"},{value:"Boolean",label:"Boolean"}],[m,f]=(0,Y2.useState)(!1),h=e.FriendlyName,g=e.ColumnId,{DataType:C}=(R=e.CalculatedColumnSettings)!=null?R:{},{Width:S,ShowToolTip:v}=(D=e.CalculatedColumnSettings)!=null?D:{},x=T=>{t.onChange(E(b({},e),{CalculatedColumnSettings:b(b({},e.CalculatedColumnSettings),T)}))};return Nr.useEffect(()=>{var T;if(!C){let w=n.GetCalculatedColumnDataType((T=e.Query)==null?void 0:T.ScalarExpression);x(E(b({},e==null?void 0:e.CalculatedColumnSettings),{DataType:w}))}},[]),Nr.createElement(ap.Box,{"data-name":"calculated-column-settings"},Nr.createElement(j,{autoFocus:!1},Nr.createElement(j.Tab,null,"Column Details"),Nr.createElement(j.Content,null,Nr.createElement(ap.Flex,{flexDirection:"row"},Nr.createElement(tt,null,Nr.createElement(pe,{label:"Id"},Nr.createElement($e,{value:e.ColumnId||"",width:300,autoFocus:!s,disabled:s,type:"text",placeholder:"Enter an Id for the column",onChange:o})),Nr.createElement(pe,{label:"Name"},Nr.createElement($e,{autoFocus:s,onFocus:()=>{f(!0)},onBlur:()=>{f(!1)},value:m?h||"":h||g||"",width:300,type:"text",placeholder:"Enter column name",onChange:i})),Nr.createElement(pe,{label:"Type"},Nr.createElement(rt,{style:{width:"300px",whiteSpace:"normal",overflow:"hidden",maxWidth:"inherit"},placeholder:"Select Data Type",showClearButton:!0,onClear:()=>a(null),columns:["label"],items:c.map(T=>({value:T.value,label:T.label,onClick:()=>a(T.value)}))},C||"Select Data Type")),Nr.createElement(pe,{label:"Width"},Nr.createElement($e,{type:"number",width:300,value:S||"",onChange:T=>x({Width:Number(T.target.value)})})),Nr.createElement(pe,{label:""},Nr.createElement(he,{onChange:T=>x({ShowToolTip:T}),checked:v},"Show Expression as Tooltip")))))),d?Nr.createElement(Ui,{marginTop:2},d):null,Nr.createElement(j2,{isEditable:!1,settings:e.CalculatedColumnSettings,onChange:x}))};var K2=t=>{let e=ht(),[r,n]=(0,SSe.useState)(()=>(t==null?void 0:t.data)?Er(t.data):at.CreateEmptyCalculatedColumn(e.api.internalApi.getAdaptableOptions().filterOptions.enableFilterOnSpecialColumns)),o=Ht(),i=Boolean(t.data),a=()=>{t.data?o(Gs(r)):o(Kf(r)),t.onCloseWizard()};return um.createElement($r,{defaultCurrentSectionName:t.defaultCurrentSectionName,moduleInfo:t.moduleInfo,data:r,onHide:t.onCloseWizard,onFinish:a,sections:[{title:"Expression",details:"Specify the calculated column expression",isValid:dSe,renderSummary:uSe,render:()=>um.createElement(pSe,{onChange:n})},{title:"Settings",details:"Specify column details and properties",isValid:p8,renderSummary:bSe,render:()=>um.createElement(c8.Box,{padding:2},um.createElement(CSe,{isEdit:i,onChange:n}))},"-",{render:()=>um.createElement(c8.Box,{padding:2},um.createElement(Xr,null)),title:"Summary"}]})};var ySe=class extends qg.Component{constructor(e){super(e);this.onFinishWizard=e=>{this.props.onEdit(e),this.setState({editedAdaptableObject:null,wizardStartIndex:0,wizardStatus:"None"})};this.state=Bt.getEmptyConfigState()}render(){let e,r=this.props.teamSharingActivated;return this.props.CalculatedColumns.map((n,o)=>{var i;n.ColumnId==this.props.summarisedColumn.columnId&&(e=qg.createElement(Yi,{key:"UF"+o,item1:this.props.moduleInfo.FriendlyName,item2:(i=n.Query)==null?void 0:i.ScalarExpression,configEnity:n,showShare:this.props.teamSharingActivated,moduleInfo:this.props.moduleInfo,onEdit:()=>this.onEdit(n),onShare:a=>this.props.onShare(n,a),onDelete:$f(n),showBold:!0,accessLevel:this.props.accessLevel}))}),qg.createElement("div",null,e,this.state.editedAdaptableObject&&qg.createElement(K2,{moduleInfo:this.props.moduleInfo,data:this.state.editedAdaptableObject,configEntities:this.props.CalculatedColumns,onCloseWizard:()=>this.onCloseWizard(),onFinishWizard:this.onFinishWizard}))}onEdit(e){this.setState({editedAdaptableObject:Mt.cloneObject(e),wizardStartIndex:0,wizardStatus:"Edit"})}onCloseWizard(){this.setState({editedAdaptableObject:null,wizardStartIndex:0,wizardStatus:"None"})}canFinishWizard(){var r;let e=this.state.editedAdaptableObject;return De.IsNotNullOrEmpty(e.ColumnId)&&De.IsNotNullOrEmpty((r=e.Query)==null?void 0:r.ScalarExpression)}};function Mdt(t){return{CalculatedColumns:t.CalculatedColumn.CalculatedColumns}}function _dt(t){return{onEdit:e=>t(Gs(e))}}var vSe=We(Mdt,_dt)(ySe);l();var dm=y(require("react"));l();var Qg=y(require("react")),RSe=require("react"),f8=y(re());l();var br=y(require("react")),lp=y(re());var ASe=require("react");var Ndt=[{value:"Number",label:"Number"},{value:"String",label:"String"},{value:"Date",label:"Date"},{value:"Boolean",label:"Boolean"}],xSe=t=>{var e;return br.createElement(lp.Box,{fontSize:2},br.createElement(lp.Box,null,"Column Identifier: ",br.createElement(Dt,null,t.ColumnId)),t.FriendlyName?br.createElement(lp.Box,{mt:3},"Column Name: ",br.createElement(Dt,null,(e=t.FriendlyName)!=null?e:t.ColumnId)):null,br.createElement(lp.Box,{mt:3},"Data Type: ",br.createElement(Dt,null,t.DataType)),t.DefaultValue!==void 0?br.createElement(lp.Box,{mt:3},"Default Value: ",br.createElement(Dt,null,t.DefaultValue)):null,t.TextEditor!==void 0?br.createElement(lp.Box,{mt:3},"Editor Type: ",br.createElement(Dt,null,t.TextEditor)):null)},m8=(t,e)=>{let r=e.columnApi.getColumns();if(!t.ColumnId)return"Column id cannot be empty";let n=r.filter(i=>i.columnId===t.ColumnId).length;return(t.Uuid?n>1:n>0)?"A Column already exists with that id":t.DataType?!0:"No data type specified for column"},ESe=t=>{let{data:e,api:r}=je(),n=r.internalApi.getAdaptableOptions().userInterfaceOptions.dateInputOptions.dateFormat,[o,i]=(0,ASe.useState)(!1),a=t.isEdit,s=m8(e,r),u=s===!0?null:s,d=C=>{let v=C.target.value;t.onChange(E(b({},e),{ColumnId:v}))},c=C=>{let v=C.target.value;t.onChange(E(b({},e),{FriendlyName:v}))},m=C=>{let S=E(b({},e),{DataType:C});delete S.DefaultValue,C||delete S.DataType,t.onChange(S)},f=C=>{let v=C.target.value;t.onChange(E(b({},e),{TextEditor:v}))},h=C=>{let v=C.target.value;e.DataType==="Date"&&(v=Co(v,{Pattern:n})),t.onChange(E(b({},e),{DefaultValue:v}))},g=C=>{t.onChange(E(b({},e),{FreeTextColumnSettings:b(b({},e==null?void 0:e.FreeTextColumnSettings),C)}))};return br.createElement(br.Fragment,null,br.createElement(tt,null,br.createElement(pe,{label:"ColumnId"},br.createElement($e,{autoFocus:!a,value:e.ColumnId||"",style:{width:"100%",maxWidth:500},disabled:a,type:"text",placeholder:"Enter an id",onChange:C=>d(C)})),br.createElement(pe,{label:"Column Name"},br.createElement($e,{autoFocus:a,onFocus:()=>{i(!0)},onBlur:()=>{i(!1)},value:o?e.FriendlyName||"":e.FriendlyName||e.ColumnId||"",style:{width:"100%",maxWidth:500},type:"text",placeholder:"Enter a name",onChange:C=>c(C)})),br.createElement(pe,{label:"Type"},br.createElement(rt,{style:{width:"300px",whiteSpace:"normal",overflow:"hidden",maxWidth:"inherit"},placeholder:"Select Data Type",showClearButton:!!e.DataType,onClear:()=>m(null),columns:["label"],items:Ndt.map(C=>({value:C.value,label:C.label,onClick:()=>m(C.value)}))},e.DataType?e.DataType:"Select Data Type")),br.createElement(pe,{label:"Default Value"},e.DataType==="Boolean"?br.createElement(he,{checked:!!e.DefaultValue,onChange:C=>{t.onChange(E(b({},e),{DefaultValue:C}))}}):br.createElement(Yr,{value:e.DataType==="Date"&&e.DefaultValue?Fx(e.DefaultValue,n)||"":e.DefaultValue||"",style:{width:"100%",maxWidth:500},type:e.DataType==="Number"?"number":e.DataType==="Date"?"date":"text",placeholder:"Default Column Value (not required)",onChange:C=>h(C)})),e.DataType=="String"&&br.createElement(pe,{label:"Editor Type"},br.createElement(ke,{value:"Inline",checked:e.TextEditor=="Inline",onChange:(C,S)=>f(S),marginRight:2},"Inline Editor"),br.createElement(ke,{value:"Large",checked:e.TextEditor=="Large",onChange:(C,S)=>f(S)},"Large Editor"))),u?br.createElement(Ui,{mt:2,mb:2},u):null,br.createElement(lp.Box,{mt:2},br.createElement(j2,{isEditable:!0,settings:e.FreeTextColumnSettings,onChange:g})))};var $2=t=>{let[e,r]=(0,RSe.useState)(()=>t.data?Er(t.data):at.CreateEmptyFreeTextColumn(!1)),n=Ht(),o=()=>{t.data?n(zs(e)):n(dd(e)),t.onFinishWizard(e)};return Qg.createElement($r,{defaultCurrentSectionName:t.defaultCurrentSectionName,moduleInfo:t.moduleInfo,data:e,onHide:t.onCloseWizard,onFinish:o,sections:[{title:"Settings",details:"Configure the Free Text Column",isValid:m8,render:()=>Qg.createElement(f8.Box,{padding:2},Qg.createElement(ESe,{isEdit:Boolean(t.data),onChange:r}))},"-",{details:"Review the Free Text Column",renderSummary:xSe,render:()=>Qg.createElement(f8.Box,{padding:2},Qg.createElement(Xr,null)),title:"Summary"}]})};var ISe=class extends dm.Component{constructor(e){super(e);this.onFinishWizard=e=>{this.props.FreeTextColumns.find(r=>r.ColumnId==e.ColumnId)?this.props.onEditFreeTextColumn(e):this.props.onAddFreeTextColumn(e),this.setState({editedAdaptableObject:null,wizardStartIndex:0,wizardStatus:"None"})};this.state=Bt.getEmptyConfigState()}render(){let e=this.props.FreeTextColumns.find(o=>o.ColumnId==this.props.summarisedColumn.columnId),r=e==null,n;if(!r){let o=Ee.IsNotEmpty(e.FreeTextStoredValues)?" Stored values: "+e.FreeTextStoredValues.length:"No stored values";n=dm.createElement(Yi,{key:this.props.moduleInfo.FriendlyName,item1:dm.createElement(sl,{moduleInfo:this.props.moduleInfo}),item2:o,configEnity:e,showShare:this.props.teamSharingActivated,moduleInfo:this.props.moduleInfo,onEdit:()=>this.onEdit(e),onShare:i=>this.props.onShare(e,i),onDelete:Ch(e),showBold:!0,accessLevel:this.props.accessLevel})}return dm.createElement("div",null,n,this.state.editedAdaptableObject&&dm.createElement($2,{moduleInfo:this.props.moduleInfo,data:this.state.editedAdaptableObject,configEntities:this.props.FreeTextColumns,onCloseWizard:()=>this.onCloseWizard(),onFinishWizard:this.onFinishWizard}))}onNew(){let e=this.props.api.internalApi.getAdaptableOptions().filterOptions.enableFilterOnSpecialColumns,r=wt.CreateEmptyFreeTextColumn(e);r.ColumnId=this.props.summarisedColumn.columnId,this.setState({editedAdaptableObject:r,wizardStartIndex:1,wizardStatus:"New"})}onEdit(e){let r=Mt.cloneObject(e);this.setState({editedAdaptableObject:r,wizardStartIndex:0,wizardStatus:"Edit"})}onCloseWizard(){this.setState({editedAdaptableObject:null,wizardStartIndex:0,wizardStatus:"None"})}canFinishWizard(){let e=this.state.editedAdaptableObject;return De.IsNotNullOrEmpty(e.ColumnId)}};function Ldt(t,e){return{FreeTextColumns:t.FreeTextColumn.FreeTextColumns}}function kdt(t){return{onAddFreeTextColumn:e=>t(dd(e)),onEditFreeTextColumn:e=>t(zs(e)),onShare:(e,r)=>t(Go(e,lo,r))}}var DSe=We(Ldt,kdt)(ISe);l();var Bdt=y(require("react"));var h8=class extends dn.Component{constructor(e){super(e);this.state={SelectedColumn:e.column}}render(){let e=[{Content:"Module",Size:3},{Content:"Summary",Size:7},{Content:"",Size:2}],r=this.state.SelectedColumn?this.state.SelectedColumn.columnId:null,n=[{Key:"Column Id",Value:this.state.SelectedColumn?this.state.SelectedColumn.columnId:null},{Key:"Header",Value:this.state.SelectedColumn?this.state.SelectedColumn.friendlyName:null},{Key:"Aggregatable",Value:this.state.SelectedColumn?this.state.SelectedColumn.aggregatable:null},{Key:"DataType",Value:this.state.SelectedColumn?this.state.SelectedColumn.dataType:null},{Key:"Groupable",Value:this.state.SelectedColumn?this.state.SelectedColumn.groupable:null},{Key:"Filterable",Value:this.state.SelectedColumn?this.state.SelectedColumn.filterable:null},{Key:"Hideable",Value:this.state.SelectedColumn?this.state.SelectedColumn.hideable:null},{Key:"Editable",Value:this.state.SelectedColumn?!this.state.SelectedColumn.IsReadOnly:null},{Key:"Moveable",Value:this.state.SelectedColumn?this.state.SelectedColumn.moveable:null},{Key:"Pivotable",Value:this.state.SelectedColumn?this.state.SelectedColumn.pivotable:null},{Key:"Queryable",Value:this.state.SelectedColumn?this.state.SelectedColumn.queryable:null},{Key:"Sortable",Value:this.state.SelectedColumn?this.state.SelectedColumn.sortable:null},{Key:"Visible",Value:this.state.SelectedColumn?this.state.SelectedColumn.visible:null},{Key:"Grouped",Value:this.state.SelectedColumn?this.state.SelectedColumn.isGrouped:null}],o=this.props.api.internalApi.getModuleService(),i=[];return this.state.SelectedColumn&&(this.isModuleAvailable(yo)&&i.push(dn.createElement("div",{key:yo,className:this.isModuleReadOnly(yo)?Sn:""},dn.createElement(hCe,{key:yo,summarisedColumn:this.state.SelectedColumn,teamSharingActivated:this.props.teamSharingActivated,accessLevel:this.getAccessLevel(yo),api:this.props.api,moduleInfo:o.getModuleInfoByModule(yo)}))),this.isModuleAvailable(Vr)&&i.push(dn.createElement("div",{key:Vr,className:this.isModuleReadOnly(Vr)?Sn:""},dn.createElement(TCe,{key:Vr,summarisedColumn:this.state.SelectedColumn,teamSharingActivated:this.props.teamSharingActivated,accessLevel:this.getAccessLevel(Vr),api:this.props.api,moduleInfo:o.getModuleInfoByModule(Vr)}))),this.isModuleAvailable(vo)&&i.push(dn.createElement("div",{key:vo,className:this.isModuleReadOnly(vo)?Sn:""},dn.createElement(OCe,{key:vo,summarisedColumn:this.state.SelectedColumn,teamSharingActivated:this.props.teamSharingActivated,accessLevel:this.getAccessLevel(vo),api:this.props.api,moduleInfo:o.getModuleInfoByModule(vo)}))),this.isModuleAvailable(Ao)&&i.push(dn.createElement("div",{key:Ao,className:this.isModuleReadOnly(Ao)?Sn:""},dn.createElement(aSe,{key:Ao,summarisedColumn:this.state.SelectedColumn,teamSharingActivated:this.props.teamSharingActivated,accessLevel:this.getAccessLevel(Ao),api:this.props.api,moduleInfo:o.getModuleInfoByModule(Ao)}))),this.isModuleAvailable(lo)&&i.push(dn.createElement("div",{key:lo,className:this.isModuleReadOnly(lo)?Sn:""},dn.createElement(DSe,{key:lo,summarisedColumn:this.state.SelectedColumn,teamSharingActivated:this.props.teamSharingActivated,accessLevel:this.getAccessLevel(lo),api:this.props.api,moduleInfo:o.getModuleInfoByModule(lo)}))),this.isModuleAvailable(vn)&&this.state.SelectedColumn.dataType=="Number"&&i.push(dn.createElement("div",{key:vn,className:this.isModuleReadOnly(vn)?Sn:""},dn.createElement(VCe,{key:vn,summarisedColumn:this.state.SelectedColumn,teamSharingActivated:this.props.teamSharingActivated,accessLevel:this.getAccessLevel(vn),api:this.props.api,moduleInfo:o.getModuleInfoByModule(vn)}))),this.isModuleAvailable(Kn)&&Ee.ContainsItem(this.props.api.calculatedColumnApi.getAllCalculatedColumn().map(a=>a.ColumnId),this.state.SelectedColumn.columnId)&&i.push(dn.createElement("div",{key:Kn,className:this.isModuleReadOnly(Kn)?Sn:""},dn.createElement(vSe,{key:Kn,summarisedColumn:this.state.SelectedColumn,accessLevel:this.getAccessLevel(Kn),api:this.props.api,moduleInfo:o.getModuleInfoByModule(Kn)})))),dn.createElement(Gt,{header:"Column Info",margin:2,"data-name":"column-component"},dn.createElement(jg.Flex,{flexDirection:"row",alignItems:"center",marginBottom:2},dn.createElement(jg.Box,{flex:1,marginLeft:2},dn.createElement(Ug,{SelectedColumnIds:[r],ColumnList:this.props.api.columnApi.getColumns(),onColumnChange:a=>this.onColumnSelectedChanged(a),SelectionMode:"Single"}))),dn.createElement(jg.Flex,{flex:1,style:{overflow:"auto",width:"100%"}},this.state.SelectedColumn&&!1),dn.createElement(jg.Flex,{flex:1,style:{overflow:"auto",width:"100%"}},this.state.SelectedColumn&&dn.createElement(ji,{style:{width:"100%"},colItems:e,items:i})))}onColumnSelectedChanged(e){this.setState({SelectedColumn:e.length>0?e[0]:null})}isModuleAvailable(e){return this.props.api.internalApi.getModuleService().getModuleById(e).isModuleAvailable()}isModuleReadOnly(e){return this.getAccessLevel(e)=="ReadOnly"}getAccessLevel(e){return this.props.api.internalApi.getEntitlementService().getEntitlementAccessLevelForModule(e)}};l();var yi=y(require("react")),Yg=require("react");l();var X2=y(require("react"));var xy=class extends X2.Component{render(){return X2.createElement(Z,E(b({"data-name":"minimise",iconSize:20,tooltip:"Minimise"},this.props),{variant:"text",icon:"arrow-up"}))}};l();var J2=y(require("react"));var Ey=class extends J2.Component{render(){return J2.createElement(Z,b({"data-name":"maximise",iconSize:20,tooltip:"Maximize",icon:this.props.useHoirzontalChevron?"arrow-right":"arrow-down",variant:"text"},this.props))}};var PSe=y(re()),TSe=t=>{let{api:e}=t,r=()=>[{Content:"Property",Size:5},{Content:"Value",Size:5},{Content:"",Size:2}],n=f=>{if(f==null||f==null)return"None";switch(typeof f){case"string":case"number":case"bigint":return f;case"boolean":return f?"True":"False";case"function":return"Function";case"object":if(Array.isArray(f))return`[${f.map(g=>n(g)).join(", ")}]`;if(f instanceof HTMLElement)return"HTMLElement";default:return"Complex value"}},o=f=>{let h=r();h[0].Content=f.name;let g=n(f.value),C=f.value!==f.defaultValue;h[1].Content=C?yi.createElement(yi.Fragment,null,yi.createElement("span",{style:{fontWeight:"bold"}},g),yi.createElement("span",{style:{fontStyle:"italic"}}," ","(Default: ",n(f.defaultValue),")")):g;let S=yi.createElement(Fr,{headerText:null,bodyText:[f.description]});return h[2].Content=S,h},i=(f,h)=>{let g=h.items.map(C=>{let S=o(C);return yi.createElement(un,{key:`${C.name}`,colItems:S})});return yi.createElement(ji,{colItems:r(),items:g})},[a,s]=(0,Yg.useState)(),[u,d]=(0,Yg.useState)();(0,Yg.useEffect)(()=>{let f=e.internalApi.getMetamodelService().getGridInfoOptions(),h=new Map;f.forEach((g,C)=>{h.set(C,i(C,g))}),d(h),s(f)},[]);let[c,m]=(0,Yg.useState)("");return yi.createElement(PSe.Box,{className:"ab-AdaptableOptions",padding:2,"data-name":"gridInfo-adaptableOptions-content"},a&&Array.from(a.entries()).map(([f,h])=>yi.createElement(Vdt,{key:f,name:f,label:h.containerLabel,viewMode:f===c?"expanded":"collapsed",onViewModeChange:g=>m(g==="expanded"?f:"")},u.get(f))))},Vdt=t=>{let{viewMode:e,name:r,label:n,onViewModeChange:o,children:i}=t,a=()=>{o(e==="expanded"?"collapsed":"expanded")},s=e==="expanded"?yi.createElement(xy,{onClick:()=>a(),tooltip:`Hide ${n}`}):yi.createElement(Ey,{onClick:()=>a(),tooltip:`Show ${n}`});return yi.createElement(al,{className:`options-container-${r}`,variant:"default",headerText:n,headerProps:{fontSize:3,style:{fontWeight:e==="expanded"?800:400,cursor:"pointer"},"data-name":`options-container-header-${r}`,onClick:()=>a()},button:s,style:{marginBottom:3}},e==="expanded"&&i)};var wSe=t=>{var g,C,S;let e=t.api.internalApi.getEntitlementService(),r=e.isGridInfoSectionVisible("GridSummary"),n=e.isGridInfoSectionVisible("AdaptableOptions"),o=e.isGridInfoSectionVisible("ColumnInfo"),[i,a]=ho.useState({ActiveTab:((g=t.popupParams)==null?void 0:g.column)?"ColumnInfo":r?"GridSummary":n?"AdaptableOptions":"ColumnInfo",CurrentColumn:(S=(C=t.popupParams)==null?void 0:C.column)!=null?S:void 0,IsBaseOptionsMinimised:!0,IsContainerOptionsMinimised:!0,IsSearchOptionsMinimised:!0,IsLayoutOptionsMinimised:!0,IsGeneralOptionsMinimised:!0}),s=v=>{a(x=>b(b({},x),v))},u=v=>{let x=[],R=t.api.calculatedColumnApi.getAllCalculatedColumn().map(A=>A.ColumnId),D=t.api.userInterfaceApi.getAllActionColumn().map(A=>A.columnId),T=t.api.freeTextColumnApi.getAllFreeTextColumn().map(A=>A.ColumnId),w=t.api.filterApi.columnFiltersToString(t.api.filterApi.getAllColumnFilter()),N=Pe.IsNotNullOrEmpty(t.api.gridApi.getColumnSorts())?t.api.gridApi.getColumnSorts().map(A=>t.api.columnApi.getFriendlyNameFromColumnId(A.ColumnId)+": "+A.SortOrder):null,M=t.api.gridApi.getSelectedRowInfo();return x.push(d(v,"AdapTable Version",jbe)),x.push(d(v,"Sorted Columns",Pe.IsNotNullOrEmpty(N)?N.join("; "):"None")),x.push(d(v,"Column Filters",w)),x.push(d(v,"All Rows",t.api.gridApi.getRowCount())),x.push(d(v,"Visible Rows",t.api.gridApi.getVisibleRowCount())),x.push(d(v,"Selected Rows",M==null?void 0:M.gridRows.length)),x.push(d(v,"Visible Selected Rows",M==null?void 0:M.gridRows.filter(A=>{var I;return((I=A.rowNode)==null?void 0:I.displayed)==!0}).length)),x.push(d(v,"All Columns",t.api.gridApi.getColumnCount())),x.push(d(v,"Visible Columns",t.api.gridApi.getVisibleColumnCount())),x.push(d(v,"Calculated Columns",Pe.IsNotNullOrEmpty(R)?R:"None")),x.push(d(v,"Free Text Columns",Pe.IsNotNullOrEmpty(T)?T:"None")),x.push(d(v,"Action Columns",Pe.IsNotNullOrEmpty(D)?D:"None")),x},d=(v,x,R,D)=>{let T=vr.cloneObject(v);if(T[0].Content=x,T[1].Content=R,D){let w=ho.createElement(Fr,{headerText:null,bodyText:[D]});T[2].Content=w}return T},c=v=>{s({ActiveTab:v})},m=[{Content:"Property",Size:5},{Content:"Value",Size:7}],f=u(m).map((v,x)=>ho.createElement(un,{key:x,colItems:v})),h=[r,n,o].filter(v=>v).length>1;return ho.createElement(Rn,{headerText:"Grid Info",glyphicon:"info-sign"},ho.createElement(Z2.Flex,{marginBottom:2,padding:3},h&&ho.createElement(ho.Fragment,null,r&&ho.createElement(ke,{"data-name":"radioButton-GridSummary",marginRight:3,value:"GridSummary",checked:i.ActiveTab=="GridSummary",onChange:(v,x)=>c("GridSummary")},"Grid Summary"),n&&ho.createElement(ke,{"data-name":"radioButton-AdaptableOptions",marginRight:3,value:"AdaptableOptions",checked:i.ActiveTab=="AdaptableOptions",onChange:(v,x)=>c("AdaptableOptions")},"Adaptable Options"),o&&ho.createElement(ke,{"data-name":"radioButton-Column",value:"Column",checked:i.ActiveTab=="ColumnInfo",onChange:(v,x)=>c("ColumnInfo")},"Column Info"))),i.ActiveTab=="GridSummary"&&ho.createElement(Z2.Box,{margin:2},ho.createElement(ji,{colItems:m,items:f})),i.ActiveTab=="AdaptableOptions"&&ho.createElement(TSe,{api:t.api}),i.ActiveTab=="ColumnInfo"&&ho.createElement("div",null,ho.createElement(h8,{api:t.api,teamSharingActivated:t.teamSharingActivated,column:i.CurrentColumn})))};l();var jt=y(require("react"));var bm=y(re());l();var Kg=y(require("react")),eO=y(re());var g8=class extends Kg.Component{render(){let e=this.props.entity;return Kg.createElement(eO.Flex,{flexDirection:"row",alignItems:"center"},Kg.createElement(eO.Flex,{flex:4},this.props.api.columnApi.getFriendlyNameFromColumnId(e.ColumnId)),Kg.createElement(eO.Flex,{flex:8},this.getCustomSortedValues(e)))}getCustomSortedValues(e){return Pe.IsNotNullOrEmpty(e.SortedValues)?e.SortedValues.join(", "):"[Has bespoke Custom Sort implementing using bespoke function]"}};l();var pm=y(require("react")),tO=y(re());var b8=class extends pm.Component{render(){var r;let e=this.props.entity;return pm.createElement(tO.Flex,{flexDirection:"row",alignItems:"center"},pm.createElement(tO.Flex,{flex:4},e.ColumnId),pm.createElement(tO.Flex,{flex:8},pm.createElement(Mr,null," ",(r=e.Query)==null?void 0:r.ScalarExpression)))}};l();var $g=y(require("react")),rO=y(re()),C8=class extends $g.Component{render(){var r;let e=this.props.entity;return $g.createElement(rO.Flex,{flexDirection:"row",alignItems:"center"},$g.createElement(rO.Flex,{flex:4},e.Name),$g.createElement(rO.Flex,{flex:8},(r=e.Query)==null?void 0:r.BooleanExpression))}};l();var sp=y(require("react"));var Ry=y(re());var S8=class extends sp.Component{render(){let e=this.props.entity,r=qe.IsNotNullOrEmpty(e.Rule.BooleanExpression)?e.Rule.BooleanExpression:this.props.api.predicateApi.predicateToString(e.Rule.Predicate);return sp.createElement(Ry.Flex,{flexDirection:"row",alignItems:"center",padding:1},sp.createElement(Ry.Flex,{flex:4},this.props.api.scopeApi.getScopeToString(e.Scope)),sp.createElement(Ry.Flex,{flex:3,marginLeft:2},sp.createElement(Ki,{Style:e.Style})),sp.createElement(Ry.Flex,{flex:5},r))}};l();var cm=y(require("react"));var nO=y(re()),y8=class extends cm.Component{render(){let e=this.props.entity;return cm.createElement(nO.Flex,{flexDirection:"row",alignItems:"center"},cm.createElement(nO.Flex,{flex:4},this.props.api.scopeApi.getScopeDescription(e.Scope)),cm.createElement(nO.Flex,{flex:8},cm.createElement(Ki,{Style:e.Style})))}};l();var Xg=y(require("react")),oO=y(re()),v8=class extends Xg.Component{render(){let e=this.props.entity;return Xg.createElement(oO.Flex,{flexDirection:"row",alignItems:"center"},Xg.createElement(oO.Flex,{flex:4},e.Name),Xg.createElement(oO.Flex,{flex:8},e.Columns.join(", ")))}};l();var mm=y(require("react")),Iy=y(re());var A8=class extends mm.Component{render(){var n;let e=this.props.entity,r=qe.IsNotNullOrEmpty((n=e.Rule)==null?void 0:n.BooleanExpression)?e.Rule.BooleanExpression:"Always";return mm.createElement(Iy.Flex,{flexDirection:"row",alignItems:"center"},mm.createElement(Iy.Flex,{flex:4},this.props.api.scopeApi.getScopeToString(e.Scope)),mm.createElement(Iy.Flex,{flex:3},e.NudgeValue.toString()),mm.createElement(Iy.Flex,{flex:5},r))}};l();var up=y(require("react")),iO=y(re()),x8=class extends up.Component{render(){let e=this.props.entity;return up.createElement(iO.Flex,{flexDirection:"row",alignItems:"center"},up.createElement(iO.Flex,{flex:4},"Key: ",up.createElement("b",null,e.ShortcutKey)),up.createElement(iO.Flex,{flex:4},"Value: ",up.createElement("b",null,e.ShortcutValue)))}};l();var fm=y(require("react")),aO=y(re());var E8=class extends fm.Component{render(){let e=this.props.entity;return fm.createElement(aO.Flex,{flexDirection:"row",alignItems:"center"},fm.createElement(aO.Flex,{flex:4},e.Name),fm.createElement(aO.Flex,{flex:8},fm.createElement(Mr,null," ",e.BooleanExpression)))}};l();var hm=y(require("react")),lO=y(re());var R8=class extends hm.Component{render(){let e=this.props.entity,r=qe.IsNotNullOrEmpty(e.DefaultValue)?e.DefaultValue:"None";return hm.createElement(lO.Flex,{flexDirection:"row",alignItems:"center"},hm.createElement(lO.Flex,{flex:4},e.ColumnId),hm.createElement(lO.Flex,{flex:8,flexDirection:"column"},"ColumnName: ",e.FriendlyName,hm.createElement("br",null),"Default Value: ",r))}};l();var Jg=y(require("react")),sO=y(re()),I8=class extends Jg.Component{render(){let e=this.props.entity;return Jg.createElement(sO.Flex,{flexDirection:"row",alignItems:"center"},Jg.createElement(sO.Flex,{flex:4},this.props.api.columnApi.getFriendlyNameFromColumnId(e.ColumnId)),Jg.createElement(sO.Flex,{flex:8,marginLeft:2},this.props.api.predicateApi.predicateToString(e.Predicate)))}};l();var gm=y(require("react")),uO=y(re());var D8=class extends gm.Component{render(){let e=this.props.entity;return gm.createElement(uO.Flex,{flexDirection:"row",alignItems:"center"},gm.createElement(uO.Flex,{flex:4},this.props.api.scopeApi.getScopeToString(e.Scope)),gm.createElement(uO.Flex,{flex:8},gm.createElement(Mr,null,this.props.api.alertApi.getAlertRuleDescription(e)," ")))}};var OSe=class extends jt.Component{componentDidMount(){this.props.onTeamSharingGet()}render(){let e=[{Content:"Module",Size:2},{Content:"Description",Size:2},{Content:"Audit",Size:5},{Content:"Details",Size:5},{Content:"",Size:1}],r=this.props.api.internalApi.getTeamSharingService().getStaleActiveSharedEntities(),n=this.props.Entities.sort((o,i)=>o.Module<i.Module?-1:1).map((o,i)=>jt.createElement(bm.Flex,{flexDirection:"row",alignItems:"center",key:i,padding:2,fontSize:"var( --ab-font-size-2)"},jt.createElement(bm.Flex,{flex:2},this.props.api.internalApi.getModuleService().getModuleInfoByModule(o.Module).FriendlyName),jt.createElement(bm.Flex,{flex:2,marginLeft:2},o.Description),jt.createElement(bm.Flex,{flex:5,marginLeft:2,flexDirection:"column"},jt.createElement("div",null,jt.createElement("b",null,o.Type==="Snapshot"?"Snaphot":"Active share")," by ",o.UserName," at"," ",new Date(o.Timestamp).toLocaleString()),o.Type==="Active"&&o.Revision>1&&jt.createElement("div",null,"Latest ",jt.createElement("b",null,"Revision ",o.Revision)," by ",o.ChangedBy," at"," ",new Date(o.ChangedAt).toLocaleString()),this.isUpToDateActive(o)&&jt.createElement("div",{style:{color:"var(--ab-color-success)"}},"Active & ",jt.createElement("b",null,"up-to-date")),this.isStaleActive(o,r)&&jt.createElement("div",{style:{color:"var(--ab-color-warn)"}},"Local Revision ",r[o.Uuid].importedRevision," is ",jt.createElement("b",null,"stale!"))),jt.createElement(bm.Flex,{flex:5,marginLeft:1},jt.createElement(Gt,{variant:"primary",style:{flex:1},fontSize:"var( --ab-font-size-2)"},this.getSharedItemDetails(o))),jt.createElement(bm.Flex,{flex:1},jt.createElement(Z,{variant:"text",tooltip:"Import",onClick:()=>this.props.onImportItem(o)},jt.createElement(Ct,{name:"import-export"})),this.hasDeletionRights(o)&&jt.createElement(Z,{variant:"text",tooltip:"Remove",onClick:()=>this.props.onRemoveItem(o.Uuid)},jt.createElement(Ct,{name:"delete"})))));return jt.createElement(Rn,{headerText:this.props.moduleInfo.FriendlyName,infoLink:this.props.moduleInfo.HelpPage,infoLinkDisabled:!this.props.api.internalApi.isDocumentationLinksDisplayed(),glyphicon:this.props.moduleInfo.Glyph},this.props.Entities.length==0?jt.createElement(_t,{margin:3},"Shared Items will appear here when available."):jt.createElement(rm,{colItems:e}),n)}isPresentInLocalState(e){return!!this.props.api.internalApi.getModuleService().getModuleById(e.Module).getModuleAdaptableObjects().find(r=>r.Uuid===e.Entity.Uuid)}isStaleActive(e,r){return this.isPresentInLocalState(e)&&!!r[e.Uuid]}isUpToDateActive(e){var r;return this.isPresentInLocalState(e)&&e.Type==="Active"&&((r=this.props.ActiveEntities[e.Entity.Uuid])==null?void 0:r.Revision)===e.Revision}hasDeletionRights(e){return this.props.api.teamSharingApi.hasTeamSharingFullRights()&&!e.IsReadOnly}getSharedItemDetails(e){switch(e.Module){case Kn:return jt.createElement(b8,{entity:e.Entity,api:this.props.api});case yo:return jt.createElement(g8,{entity:e.Entity,api:this.props.api});case Vr:return jt.createElement(S8,{entity:e.Entity,api:this.props.api});case Vn:return jt.createElement(C8,{entity:e.Entity,api:this.props.api});case vo:return jt.createElement(I8,{entity:e.Entity,api:this.props.api});case Ao:return jt.createElement(y8,{entity:e.Entity,api:this.props.api});case lo:return jt.createElement(R8,{entity:e.Entity,api:this.props.api});case Bo:return jt.createElement(v8,{entity:e.Entity,api:this.props.api});case vn:return jt.createElement(A8,{entity:e.Entity,api:this.props.api});case kl:return jt.createElement(x8,{entity:e.Entity,api:this.props.api});case Or:return jt.createElement(E8,{entity:e.Entity,api:this.props.api});case On:return jt.createElement(D8,{entity:e.Entity,api:this.props.api});default:return"Preview not available"}}};function Gdt(t,e){return{Entities:t.TeamSharing.SharedEntities,ActiveEntities:t.TeamSharing.ActiveSharedEntityMap}}function Udt(t){return{onTeamSharingGet:()=>t(BJ()),onImportItem:e=>t(NJ(e)),onRemoveItem:e=>t(kJ(e))}}var FSe=We(Gdt,Udt)(OSe);l();var wo=y(require("react"));var Zg=y(re());l();var dp=require("react"),Zt=y(require("react"));var P8=(0,dp.createContext)({availableToolbars:[]}),MSe=(t,e)=>{let r=t.find(n=>n.Id===e);return r?r.Title:e};function Hdt({tabs:t,onRemoveTab:e,onRemoveToolbar:r,onChangeTabName:n}){return Zt.createElement(Jo,{droppableId:"MAIN",type:"TAB",direction:"horizontal"},o=>Zt.createElement("div",E(b({ref:o.innerRef},o.droppableProps),{style:{display:"flex"},"data-name":"dashboard-tabs"}),t.map((i,a)=>Zt.createElement(Wdt,{key:a,tabIndex:a,tab:i,onRemove:()=>e(a),onRemoveToolbar:s=>r(a,s),onChangeTabName:s=>n(a,s)})),o.placeholder))}function Wdt({tab:t,tabIndex:e,onRemove:r,onRemoveToolbar:n,onChangeTabName:o}){return Zt.createElement(bi,{draggableId:String(e),index:e},i=>Zt.createElement("div",E(b({"data-name":"dashboard-tab",ref:i.innerRef},i.draggableProps),{style:E(b({},i.draggableProps.style),{boxSizing:"border-box",border:"1px solid var(--ab-color-primarydark)",borderRadius:"var(--ab__border-radius)",marginRight:"var(--ab-space-2)",width:160,display:"flex",flexDirection:"column"})}),Zt.createElement("div",{style:{display:"flex",alignItems:"center",padding:"var(--ab-space-1)",borderBottom:"1px solid var(--ab-color-primarydark)"}},Zt.createElement("div",E(b({},i.dragHandleProps),{style:{}}),Zt.createElement(Ct,{name:"drag"})),Zt.createElement("input",{type:"text",value:t.Name,style:{flex:1,width:"100%",border:"none",marginLeft:"var(--ab-space-1)",marginRight:"var(--ab-space-1)",alignSelf:"stretch",background:"transparent",color:"var(--ab-color-text-on-primary)"},onChange:a=>{o(a.target.value)}}),Zt.createElement(Z,{icon:"delete",variant:"text",onClick:r})),Zt.createElement(zdt,{toolbars:t.Toolbars,droppableId:String(e),onRemove:n})))}function zdt({toolbars:t,droppableId:e,onRemove:r}){return Zt.createElement(Jo,{droppableId:e,type:"TOOLBAR"},(n,o)=>Zt.createElement("div",E(b({ref:n.innerRef},n.droppableProps),{"data-name":"dashboard-toolbar-drop-target",style:{flex:1,padding:4,paddingBottom:0,background:o.isDraggingOver?"var(--ab-dashboard-tab-drop-target__background)":"",minHeight:200}}),t.map((i,a)=>Zt.createElement(qdt,{key:i,toolbar:i,toolbarIndex:a,onRemove:()=>r(a)})),n.placeholder))}function qdt({toolbar:t,toolbarIndex:e,onRemove:r}){let{availableToolbars:n}=(0,dp.useContext)(P8);return Zt.createElement(bi,{draggableId:t,index:e},(o,i)=>Zt.createElement("div",E(b(b({ref:o.innerRef},o.draggableProps),o.dragHandleProps),{style:E(b({},o.draggableProps.style),{display:"flex",alignItems:"center",border:"1px solid var(--ab-color-primary)",backgroundColor:i.isDragging?"var(--ab-dashboard-toolbar-drag__background)":"var(--ab-color-primarylight)",paddingLeft:"var(--ab-space-1)",marginBottom:"var(--ab-space-1)"})}),Zt.createElement("div",{style:{flex:1}},MSe(n,t)),Zt.createElement(Z,{icon:"clear",variant:"text",padding:1,onClick:r})))}function Qdt({toolbars:t}){return Zt.createElement("div",{"data-name":"dashboard-toolbars",style:{border:"1px solid var(--ab-color-primarydark)",borderRadius:"var(--ab__border-radius)",marginBottom:"var(--ab-space-2)",paddingBottom:"var(--ab-space-1)",backgroundColor:"var(--ab-color-defaultbackground)"}},Zt.createElement("div",{style:{padding:"var(--ab-space-2)"}},Zt.createElement("b",null,"Available Toolbars")," (drag into a Tab below)"),Zt.createElement(jdt,{toolbars:t}))}function jdt({toolbars:t}){return Zt.createElement(Jo,{droppableId:"UNUSED",type:"TOOLBAR",isDropDisabled:!0,direction:"horizontal"},e=>Zt.createElement("div",E(b({ref:e.innerRef,"data-name":"dashboard-toolbars-list"},e.droppableProps),{style:{display:"flex",flexDirection:"row",flexWrap:"wrap",paddingLeft:"var(--ab-space-2)",paddingRight:"var(--ab-space-2)"}}),t.map((r,n)=>Zt.createElement(Ydt,{key:r,toolbar:r,toolbarIndex:n})),e.placeholder))}function Ydt({toolbar:t,toolbarIndex:e}){let{availableToolbars:r}=(0,dp.useContext)(P8);return Zt.createElement(bi,{draggableId:t,index:e},(n,o)=>Zt.createElement("div",E(b(b({"data-name":"dashboard-toolbar",ref:n.innerRef},n.draggableProps),n.dragHandleProps),{style:E(b({},n.draggableProps.style),{border:"1px solid var(--ab-color-primary)",backgroundColor:o.isDragging?"var(--ab-dashboard-toolbar-drag__background)":"var(--ab-color-primarylight)",padding:"var(--ab-space-1) var(--ab-space-2)",marginRight:"var(--ab-space-1)",marginBottom:"var(--ab-space-1)"})}),MSe(r,t)))}function Kdt({tabs:t,onTabsChange:e,availableToolbars:r,api:n}){let i=n.internalApi.getModuleService().getModuleInfoByModule("Dashboard"),a=(0,dp.useMemo)(()=>({availableToolbars:r}),[r]),s=(0,dp.useMemo)(()=>r.map(g=>g.Id).filter(g=>!t.some(C=>C.Toolbars.includes(g))),[t,r]),u=g=>{let{source:C,destination:S,draggableId:v}=g;!C||!S||(C.droppableId!=="UNUSED"&&t[Number(C.droppableId)].Toolbars.splice(C.index,1),S.droppableId!=="UNUSED"&&t[Number(S.droppableId)].Toolbars.splice(S.index,0,v),e([...t]))},d=g=>{let{source:C,destination:S}=g;if(!C||!S)return;let[v]=t.splice(C.index,1);t.splice(S.index,0,v),e([...t])},c=g=>{e(t.filter((C,S)=>S!==g))},m=()=>{e([...t,{Name:"New Tab",Toolbars:[]}])},f=(g,C)=>{e(t.map((S,v)=>v!==g?S:E(b({},S),{Toolbars:S.Toolbars.filter((x,R)=>R!==C)})))},h=(g,C)=>{e(t.map((S,v)=>v!==g?S:E(b({},S),{Name:C})))};return Zt.createElement(wg,{onDragEnd:g=>{g.type==="TAB"&&d(g),g.type==="TOOLBAR"&&u(g)}},Zt.createElement(P8.Provider,{value:a},Zt.createElement("div",{style:{display:"flex",flexDirection:"column"}},Zt.createElement(Qdt,{toolbars:s}),Zt.createElement(al,{headerText:i.FriendlyName+" Tabs",button:Zt.createElement(Z,{onClick:m},"Add Tab")},Zt.createElement("div",{style:{display:"flex",flex:1}},Zt.createElement(Hdt,{tabs:t,onRemoveTab:c,onRemoveToolbar:f,onChangeTabName:h}))))))}var _Se=Kdt;var NSe=class extends wo.Component{constructor(e){super(e);this.state={DashboardConfigView:"Toolbars"}}render(){let e=Mhe,r=this.props.api.internalApi.getModuleService(),n=e.filter(f=>this.props.api.internalApi.getModuleService().isModuleAvailable(f)).map(f=>({Id:f,Title:r.getModuleInfoByModule(f).FriendlyName})),o=this.props.api.dashboardApi.getCustomToolbars().map(f=>({Id:f.name,Title:f.title?f.title:f.name})),i=this.props.DashboardState.Tabs.map(f=>{let h=f.Toolbars.filter(g=>this.props.api.dashboardApi.getCustomToolbars().find(S=>S.name===g)?!0:this.props.api.internalApi.getModuleService().isModuleAvailable(g));return E(b({},f),{Toolbars:h})}),a=[];this.props.DashboardState.ModuleButtons.forEach(f=>{let h=this.props.GridState.ModuleDropdownMenuItems.find(g=>g.module==f);(h==null?void 0:h.isVisible)&&a.push(f)});let s=this.props.GridState.ModuleDropdownMenuItems.map(f=>f.module),u="ab-Dashboard-Popup",d=this.props.api.internalApi.getEntitlementService().getEntitlementAccessLevelForModule("Dashboard"),c=d=="Full"||d=="ReadOnly",m=f=>f==="SettingsPanel"?this.props.api.internalApi.getAdaptableOptions().settingsPanelOptions.alwaysShowInDashboard:!1;return wo.createElement(Rn,{headerText:this.props.moduleInfo.FriendlyName,glyphicon:this.props.moduleInfo.Glyph},wo.createElement(Zg.Flex,{flex:1,height:"100%",flexDirection:"column"},c&&wo.createElement(Gt,{header:"Dashboard Settings",style:{height:"auto",overflow:"visible"},variant:"default",borderRadius:"none",marginLeft:2,marginRight:2},wo.createElement(Zg.Flex,null,wo.createElement(he,{mr:3,className:`${u}__Checkbox__collapsed-check`,checked:this.props.IsCollapsed,onChange:f=>this.props.onSetDashboardCollapsed(f)},"Collapse")," ",this.props.api.internalApi.getAdaptableOptions().dashboardOptions.canFloat&&wo.createElement(he,{mr:3,className:`${u}__Checkbox__collapsed-check`,checked:this.props.IsFloating,onChange:f=>this.props.onSetDashboardFloating(f)},"Float")," ",wo.createElement(he,{className:`${u}__Checkbox__hidden-check`,checked:this.props.IsHidden,onChange:f=>this.props.onSetDashboardHidden(f)},"Hidden"))),wo.createElement(Gt,{header:"Dashboard Contents",style:{borderBottom:"1px solid var(--ab-color-primary)"},variant:"default",borderRadius:"none",marginTop:4,marginLeft:2,marginRight:2},wo.createElement(Zg.Flex,{flexDirection:"row",padding:2,"data-name":"dashboard-configuration-select"},wo.createElement(ke,{marginLeft:3,value:"Toolbars",checked:this.state.DashboardConfigView=="Toolbars",onChange:(f,h)=>this.onDashboardConfigViewChanged(h)},"Toolbars"),wo.createElement(ke,{marginLeft:3,value:"Buttons",checked:this.state.DashboardConfigView=="Buttons",onChange:(f,h)=>this.onDashboardConfigViewChanged(h)},"Buttons")),wo.createElement(Zg.Box,{className:`${u}__Module-Selector`,style:{minHeight:0,flex:"1 1 0"},padding:2},this.state.DashboardConfigView=="Toolbars"&&wo.createElement(_Se,{availableToolbars:[...n,...o],tabs:i,onTabsChange:this.props.onDashboardSetTabs,api:this.props.api}),this.state.DashboardConfigView=="Buttons"&&wo.createElement(uy,{options:s,value:a,noSelectionLabel:"No selected Module Button",isDisabled:m,xSelectedLabel:()=>"Visible Module Buttons:",onChange:f=>this.props.onDashboardSetModuleButtons(f)})))))}onDashboardConfigViewChanged(e){let n=e.target.value;this.setState({DashboardConfigView:n})}};function $dt(t,e){return{DashboardState:t.Dashboard,GridState:t.Grid,IsCollapsed:t.Dashboard.IsCollapsed,IsHidden:t.Dashboard.IsHidden,IsFloating:t.Dashboard.IsFloating}}function Xdt(t){return{onDashboardSetModuleButtons:e=>t(wE(e)),onDashboardSetTabs:e=>t(gJ(e)),onSetDashboardCollapsed:e=>t(ma(e)),onSetDashboardHidden:e=>t(Hl(e)),onSetDashboardFloating:e=>t(fa(e))}}var LSe=We($dt,Xdt)(NSe);l();var qo=y(require("react"));var HSe=y(re());l();var w8=y(require("react"));l();var vi=y(require("react")),pp=y(re()),pO=require("react");l();var Jdt=(t,e)=>e.type==="DRAG_OVER"?E(b({},t),{dragOver:!0}):e.type==="DRAG_OUT"?E(b({},t),{dragOver:!1}):e.type==="SET_INVALID_FILE"?E(b({},t),{message:e.payload.message}):e.type==="DROP_SUCCES"?E(b({},t),{dragOver:!1,message:e.payload.message}):t,kSe=Jdt;var Zdt={dragOver:!1,message:null},dO=t=>{t.preventDefault(),t.stopPropagation()},T8=async(t,e)=>{let r=new FileReader;return new Promise((n,o)=>{r.onload=function(i){try{let s=(e||JSON.parse)(i.target.result);Promise.resolve(s).then(n)}catch(a){o("Invalid JSON")}},r.onerror=function(i){o(i)},r.readAsText(t)})},BSe=t=>{let v=t,{onDropSuccess:e,message:r,fileAccept:n=".json",helpText:o="AdapTable No Code Version",defaultText:i="Click here to select a JSON file to load or drag it here",dragOverText:a="Drop file here to start Adaptable Wizard",icon:s=vi.createElement(Ct,{name:"attach-file",size:48})}=v,u=Ye(v,["onDropSuccess","message","fileAccept","helpText","defaultText","dragOverText","icon"]),[d,c]=(0,pO.useReducer)(kSe,Zdt),m=x=>{c({type:"DRAG_OVER"})},f=x=>{dO(x),!(g.current!=x.target&&vc(g.current,x.target))&&c({type:"DRAG_OUT"})},h=async x=>{let R;dO(x);let D=x.nativeEvent;D&&D.dataTransfer?R=D.dataTransfer.files:R=x.target.files,f(x);let T=R[0];if(T){let w;try{w=await(t.readFile||T8)(T,t.toJSON),c({type:"DROP_SUCCES",payload:{message:vi.createElement(pp.Box,null,t.loadingText===void 0?"Initializing adaptable...":t.loadingText)}}),requestAnimationFrame(()=>{requestAnimationFrame(()=>{e&&e(w,T)})})}catch(N){c({type:"SET_INVALID_FILE",payload:{message:vi.createElement(pp.Box,null,"The file is not a valid JSON file! Please try again!")}})}}},g=(0,pO.useRef)(),C=vi.createElement("form",{onSubmit:dO},vi.createElement(Z,{style:{cursor:"pointer"},variant:"outlined"},vi.createElement("div",null,d.dragOver?a:i),vi.createElement("input",{type:"file",onChange:h,accept:n,style:{opacity:0,position:"absolute",cursor:"pointer",fontSize:0,lineHeight:0,top:0,left:0,width:"100%",height:"100%",zIndex:1}}))),S=r||d.message;return vi.createElement(pp.Flex,E(b({},u),{flexDirection:"column",className:He(t.className,"ab-FileDroppable",d.dragOver?"ab-FileDroppable--drag-over":""),alignItems:"center",justifyContent:"center",onDragEnter:m,onDragLeave:f,onDrop:h,onDragOver:dO,ref:g}),t.children,o||s?vi.createElement(pp.Flex,{flexDirection:"column"},o?vi.createElement(pp.Flex,{flexDirection:"column",alignItems:"center",margin:2},vi.createElement(_t,null,vi.createElement("b",null,o))):null,s?vi.createElement(pp.Flex,{flexDirection:"column",alignItems:"center",margin:2},s):null):null,S,C)};BSe.defaultProps={};var VSe=BSe;var cO=t=>{let e=r=>{let n=r.nativeEvent,o;n&&n.dataTransfer?o=n.dataTransfer.files:o=r.target.files;let i=o[0];T8(i).then(a=>{t.onLoad(a)})};return w8.createElement(Z,E(b({},t),{className:"ab-StateManagement__Load-Button"}),w8.createElement("input",{type:"file",onChange:r=>e(r),accept:".json",style:{opacity:0,position:"absolute",cursor:"pointer",fontSize:0,lineHeight:0,top:0,left:0,width:"100%",height:"100%",zIndex:1}})," ",t.children)};l();var GSe=y(require("react"));var mO=t=>GSe.createElement(Z,E(b({},t),{className:"ab-StateManagement__Clear-Button",tooltip:"Clear User State"}),t.children);l();var USe=y(require("react"));l();var fO=(t,e,r)=>{switch(t){case"Clipboard":let n=JSON.stringify(r);vr.copyToClipboard(n);break;case"Console":FH(r);break;case"JSON":let o=e+".json",i=JSON.stringify(r);vr.createDownloadedFile(i,o,"application/json");break}};var cp=t=>{let e=n=>{switch(t.type){case"allState":let o=t.api.configApi.getAllState();fO(n,"allState",o);break;case"userState":let i=t.api.configApi.getAllUserState();fO(n,"userState",i);break;case"predefinedConfig":let a=t.api.configApi.getPredefinedConfig();fO(n,"predefinedConfig",a);break}},r=[{value:"Clipboard",label:"Clipboard",onClick:()=>e("Clipboard")},{value:"Console",label:"Console",onClick:()=>e("Console")},{value:"JSON",label:"JSON",onClick:()=>e("JSON")}];return USe.createElement(rt,E(b({className:"ab-StateManagement__Export-Dropdown"},t),{items:r,value:void 0}))};var WSe=t=>qo.createElement(Rn,{headerText:t.moduleInfo.FriendlyName,glyphicon:t.moduleInfo.Glyph,infoLink:t.moduleInfo.HelpPage,infoLinkDisabled:!t.api.internalApi.isDocumentationLinksDisplayed()},qo.createElement(HSe.Box,null,qo.createElement(Gt,{header:"User State",style:{height:"auto"},variant:"default",borderRadius:"none",marginTop:3,marginRight:2},qo.createElement(_t,null,"Clear all current user state that has been applied."),qo.createElement(_t,null,"When you restart / refresh the Application, any state that you have previously created will be lost, and the initial Predefined Config will then be re-applied."),qo.createElement(mO,{tone:"error",variant:"raised",marginTop:2,accessLevel:t.accessLevel,onClick:()=>t.api.configApi.reloadPredefinedConfig()},"Clear User State")),qo.createElement(Gt,{header:"Load Predefined Config",style:{height:"auto"},variant:"default",borderRadius:"none",marginTop:3,marginRight:2},qo.createElement(_t,{marginTop:3},"Load Predefined Config (from a .json file). This will cause this window to close.")," ",qo.createElement(cO,{tone:"info",variant:"raised",marginTop:2,accessLevel:t.accessLevel,onLoad:e=>t.api.configApi.reloadPredefinedConfig(e)},"Load Predefined Config")),qo.createElement(Gt,{header:"Export All Adaptable State",style:{height:"auto"},variant:"default",borderRadius:"none",marginTop:3,marginRight:2},qo.createElement(cp,{api:t.api,type:"allState",marginRight:3,style:{flex:1,maxWidth:"none"},columns:["label"]},"Select Export Destination")),qo.createElement(Gt,{header:"Export User State",style:{height:"auto"},variant:"default",borderRadius:"none",marginTop:3,marginRight:2},qo.createElement(cp,{api:t.api,type:"userState",marginRight:3,style:{flex:1,maxWidth:"none"},columns:["label"]},"Select Export Destination")),qo.createElement(Gt,{header:"Export Initial Predefined Config",style:{height:"auto"},variant:"default",borderRadius:"none",marginTop:3,marginRight:2},qo.createElement(cp,{api:t.api,type:"predefinedConfig",marginRight:3,style:{flex:1,maxWidth:"none"},columns:["label"]},"Select Export Destination"))));l();var on=y(require("react"));l();var mp=y(require("react"));var Cm=class extends mp.Component{constructor(e){super(e);this.loadPermittedValues=async()=>{var n;if(!((n=this.props.selectedColumn)==null?void 0:n.columnId))return;let e=await ep(this.props.api.columnApi.getDistinctBulkUpdateDisplayValuesForColumn(this.props.selectedColumn.columnId,this.props.selectedGridCells),()=>this.setState({isDistinctColumnValuesLoading:!0}));this.setState({isDistinctColumnValuesLoading:!1});let r=Ee.sortArray(e,"Asc").map(o=>({label:o,value:o,onClick:()=>this.onSelectedValueChange([{DisplayValue:o}])}));this.setState({distinctColumnValues:r})};this.handleSelectedValueExpand=()=>{this.state.distinctColumnValues.length||this.loadPermittedValues()};this.state={newOrExisting:"Existing value",distinctColumnValues:[],isDistinctColumnValuesLoading:!1}}componentDidUpdate(e){(this.props.selectedColumn!==e.selectedColumn||this.props.selectedGridCells!==e.selectedGridCells)&&this.loadPermittedValues()}render(){let e="Select",r=this.props.allowNew!=null?this.props.allowNew:!0,n="ab-column-value-selector",o=He("ab-column-value-selector",this.state.isDistinctColumnValuesLoading&&`${n}--loading`),i=150,a=this.state.isDistinctColumnValuesLoading?[{label:"Loading",disabled:!0}]:this.state.distinctColumnValues,s=mp.createElement("div",null,mp.createElement(rt,{className:o,columns:["label"],variant:"text",showClearButton:!0,onClear:()=>this.onSelectedValueChange([]),style:{fontSize:"small"},disabled:this.props.disabled,items:a,onExpand:this.handleSelectedValueExpand},this.props.selectedColumnValue?this.props.selectedColumnValue:e)),u=mp.createElement(Yr,{type:this.props.selectedColumn?ur.getDescriptionForDataType(this.props.selectedColumn.dataType):"text",placeholder:this.props.selectedColumn?ur.getPlaceHolderforDataType(this.props.selectedColumn.dataType):"Enter Value",autoFocus:!0,disabled:this.props.disabled,style:{width:i},value:this.props.selectedColumnValue,onChange:d=>{this.onSelectedValueChange([{customOption:!0,DisplayValue:d.target.value}])}});return mp.createElement(xd,{style:E(b({},this.props.style),{overflow:"visible"})},this.state.newOrExisting==="Existing value"?s:u,mp.createElement(rt,b({variant:"raised",tone:"neutral",columns:["label"],style:{boxShadow:"none",color:"var(--ab-cmp-dashboardpanel__fill)",background:"var(--ab-color-defaultbackground)"},disabled:this.props.disabled,marginRight:1,items:[{label:"Existing value",onClick:()=>{this.setState({newOrExisting:"Existing value"}),this.onSelectedValueChange([])}},{label:"New value",onClick:()=>{this.setState({newOrExisting:"New value"}),this.onSelectedValueChange([])}}]},this.props.dropdownButtonProps),this.state.newOrExisting==="Existing value"?this.props.existingLabel:this.props.newLabel))}onSelectedValueChange(e){Ee.IsEmpty(e)&&De.IsNullOrEmpty(this.props.selectedColumnValue)||(Ee.IsEmpty(e)?this.props.onColumnValueChange(""):e[0].customOption?this.props.onColumnValueChange(e[0].DisplayValue):this.props.onColumnValueChange(e[0].DisplayValue))}};Cm.defaultProps={newLabel:"New value",existingLabel:"Existing value"};var Sm=y(re());var zSe=class extends on.Component{constructor(e){super(e);this.state={isShowingError:!1,errorText:"",useSelector:!1}}componentDidMount(){this.props.onBulkUpdateValueChange(""),this.props.onBulkUpdateCheckSelectedCells()}render(){let e=this.props.BulkUpdateValidationResult.Column,r=!1,n="";e&&De.IsNotNullOrEmpty(this.props.BulkUpdateValue)&&e.dataType=="Number"&&isNaN(Number(this.props.BulkUpdateValue))&&(r=!0,n="This column only accepts numbers");let o=Ya.GetValidationMessage(this.props.PreviewInfo,this.props.BulkUpdateValue),i=this.props.PreviewInfo&&De.IsNotNullOrEmpty(this.props.BulkUpdateValue)&&De.IsNotNullOrEmpty(o),a=i?on.createElement(lu,{previewInfo:this.props.PreviewInfo,api:this.props.api,selectedColumn:e,showPanel:i,showHeader:!0}):null;return e?on.createElement(Cd,{bodyProps:{padding:2},flex:1,glyphicon:this.props.moduleInfo.Glyph,header:this.props.moduleInfo.FriendlyName,infoLink:this.props.moduleInfo.HelpPage,infoLinkDisabled:!this.props.api.internalApi.isDocumentationLinksDisplayed(),variant:"primary"},e.dataType=="Date"?on.createElement(on.Fragment,null,on.createElement(_t,{marginTop:2,marginBottom:2},"Enter a date value. Alternatively, tick the checkbox and select from an existing column value."),on.createElement(Sm.Box,null,on.createElement(he,{marginLeft:2,onChange:s=>this.onUseColumnValuesSelectorChanged(s),checked:this.state.useSelector}," ","Select from existing column values")),on.createElement(Sm.Flex,{padding:2,flexDirection:"row",alignItems:"center"},on.createElement(Sm.Flex,{alignItems:"center",flexDirection:"row",flex:1,marginRight:2},this.state.useSelector?on.createElement(Cm,{selectedGridCells:this.props.SelectedGridCells,selectedColumnValue:this.props.BulkUpdateValue,selectedColumn:e,api:this.props.api,onColumnValueChange:s=>this.onColumnValueSelectedChanged(s),allowNew:!1,style:{width:"100%",maxWidth:"inherit"}}):on.createElement(Yr,{style:{width:"100%"},value:String(this.props.BulkUpdateValue),type:Bt.getDescriptionForDataType(e.dataType),placeholder:Bt.getPlaceHolderforDataType(e.dataType),onChange:s=>this.onBulkUpdateValueChange(s)})),on.createElement(Z,{disabled:De.IsNullOrEmpty(this.props.BulkUpdateValue)||this.props.PreviewInfo.previewValidationSummary.validationResult=="All",onClick:()=>{this.onApplyClick()},variant:"raised",tone:"accent"},"Apply to Grid"))):on.createElement(on.Fragment,null,on.createElement(_t,{marginTop:2,marginBottom:2},"Select an existing column value from the dropdown, or enter a new value"),on.createElement(Sm.Flex,{marginTop:2,flexDirection:"row",alignItems:"center"},on.createElement(Sm.Flex,{alignItems:"center",flexDirection:"row",flex:1,marginRight:2},on.createElement(Cm,{selectedGridCells:this.props.SelectedGridCells,selectedColumnValue:this.props.BulkUpdateValue,selectedColumn:e,api:this.props.api,onColumnValueChange:s=>this.onColumnValueSelectedChanged(s),style:{width:"100%",maxWidth:"inherit"}})),on.createElement(Z,{disabled:De.IsNullOrEmpty(this.props.BulkUpdateValue)||this.props.PreviewInfo.previewValidationSummary.validationResult=="All"||r,variant:"raised",tone:"accent",marginRight:2,onClick:()=>{this.onApplyClick()}},"Apply to Grid")," ",r&&on.createElement(Fr,{headerText:"Update Error",bodyText:[n],MessageType:"Error"}),De.IsNotNullOrEmpty(this.props.BulkUpdateValue)&&this.props.PreviewInfo.previewValidationSummary.validationResult!="None"&&on.createElement(Fr,{headerText:"Validation Error",bodyText:[o],MessageType:"Error"}))),a):null}onColumnValueSelectedChanged(e){this.props.onBulkUpdateValueChange(e)}onUseColumnValuesSelectorChanged(e){this.setState({useSelector:e}),this.props.onBulkUpdateValueChange("")}onBulkUpdateValueChange(e){let r=e.target;this.props.onBulkUpdateValueChange(r.value)}onApplyClick(){this.onApplyBulkUpdate()}onApplyBulkUpdate(){this.props.onRunBulkUpdate()}};function ept(t,e){var r;return{BulkUpdateValue:t.System.BulkUpdateValue,PreviewInfo:t.System.BulkUpdatePreviewInfo,BulkUpdateValidationResult:t.System.BulkUpdateValidationResult,SelectedGridCells:(r=t.Grid.SelectedCellInfo)==null?void 0:r.gridCells}}function tpt(t){return{onBulkUpdateValueChange:e=>t(rA(e)),onBulkUpdateCheckSelectedCells:()=>t(tA()),onRunBulkUpdate:()=>t(zx(!1))}}var qSe=We(ept,tpt)(zSe);l();var Py=y(require("react"));l();var cs=y(require("react"));var rpt=new Map([["Operation",{field:"Operation",flex:1}],["Value",{field:"Value",flex:1}]]),npt={style:{height:"100%",minWidth:"15rem",minHeight:"20rem"}},Dy=class extends cs.Component{render(){let e=[];return this.props.CellSummary!=null&&(e=Object.keys(this.props.CellSummary).map(r=>({Operation:r,Value:this.props.CellSummary[r]}))),cs.createElement(cs.Fragment,null,this.props.CellSummary!=null?cs.createElement(Wc,{data:e,primaryKey:"Operation"},cs.createElement(rs,{domProps:npt,columns:rpt})):cs.createElement(Bg,null,cs.createElement("p",null,"No cells are selected - please select some cells.")))}};var QSe=class extends Py.Component{componentDidMount(){this.props.onCreateCellSummary()}render(){return Py.createElement(al,{headerText:this.props.moduleInfo.FriendlyName,glyphicon:this.props.moduleInfo.Glyph,infoLink:this.props.moduleInfo.HelpPage,infoLinkDisabled:!this.props.api.internalApi.isDocumentationLinksDisplayed()},Py.createElement(Dy,{CellSummary:this.props.CellSummary}))}};function opt(t,e){return{CellSummary:t.Grid.CellSummary}}function ipt(t){return{onCreateCellSummary:()=>t(L1())}}var jSe=We(opt,ipt)(QSe);l();var hp=y(require("react"));var KSe=y(re());l();var fp=y(require("react"));var hO=y(re());var O8=class extends fp.Component{render(){var o;let e=this.props.adaptableObject,r=ur.getColorByMessageType((o=e==null?void 0:e.statusType)!=null?o:"Success"),n=Er(this.props.colItems);return n[0].Content=e?fp.createElement("details",null,fp.createElement(hO.Flex,{title:e.statusFurtherInformation?"Click to see more":"",style:{borderRadius:"var(--ab__border-radius)",fontWeight:"bold",cursor:e.statusFurtherInformation?"pointer":"auto"},className:"ab-DashboardToolbar__SystemStatus__text",marginRight:2,padding:2,color:"text-on-secondary",backgroundColor:r,fontSize:"var( --ab-font-size-2)",alignItems:"center",as:"summary"},e.statusMessage," ",e.statusFurtherInformation?"...":""),e.statusFurtherInformation?fp.createElement(hO.Box,{margin:2,style:{whiteSpace:"normal"}},e.statusFurtherInformation):null):null,n[1].Content=fp.createElement(em,{Content:e.timestamp.toLocaleString()}),fp.createElement(un,{colItems:n})}};var YSe=[{Content:"Message",Size:10},{Content:"Timestamp",Size:3}],$Se=class extends hp.Component{constructor(e){super(e)}onSystemStatusMessageInfoDeleteAll(){this.props.onSystemStatusMessageInfoDeleteAll()}render(){let e=hp.createElement(Z,{onClick:()=>this.onSystemStatusMessageInfoDeleteAll(),tooltip:"Clear All",tone:"neutral",variant:"raised",accessLevel:this.props.accessLevel,disabled:Pe.IsNullOrEmpty(this.props.SystemStatusMessages)},"Delete All Messages"),r=Pe.sortArrayWithProperty("Desc",this.props.SystemStatusMessages,"Timestamp").map((n,o)=>{let i=xt.getAppropriateAccessLevel(n,this.props.accessLevel);return hp.createElement(O8,{adaptableObject:n,key:"smi"+o,onEdit:null,moduleInfo:this.props.moduleInfo,colItems:YSe,api:this.props.api,accessLevel:i,teamSharingActivated:this.props.teamSharingActivated,onDeleteConfirm:null,onShare:null})});return hp.createElement(Rn,{button:e,headerText:this.props.moduleInfo.FriendlyName,infoLink:this.props.moduleInfo.HelpPage,infoLinkDisabled:!this.props.api.internalApi.isDocumentationLinksDisplayed()},Pe.IsNotNullOrEmpty(this.props.SystemStatusMessages)&&hp.createElement(KSe.Box,{className:"ab-SystemStatus-Popup-List",padding:2},hp.createElement(ji,{colItems:YSe,items:r})))}};function apt(t,e){return{SystemStatusMessageInfos:t.System.SystemStatusMessages,SystemStatusMessages:t.System.SystemStatusMessages}}function lpt(t){return{onSystemStatusMessageInfoDeleteAll:()=>t(Zv())}}var XSe=We(apt,lpt)($Se);l();var gp=y(require("react"));l();var Qo=y(require("react"));l();var JSe=y(require("react"));var ZSe=t=>JSe.createElement(Z,E(b({},t),{icon:"trash",variant:"text","data-name":"preview-delete"}));var CO=y(re());l();var gO=y(require("react"));l();var F8=y(require("react")),M8=require("react");var spt=F8.createContext({clickInfoRef:null,selected:{},getItemId:t=>t,toggleOnSimpleClick:!1,setSelected:t=>{}}),eye=()=>{let{selected:t,setSelected:e,toggleOnSimpleClick:r,clickInfoRef:n,getItemId:o}=(0,M8.useContext)(spt);return(i,{index:a})=>{if(a===void 0){pt('No "index" was passed to the list item');return}let{lastClickIndexWithoutShift:s,lastShiftSelectionRange:u}=n.current,{shiftKey:d,metaKey:c,ctrlKey:m}=i;m&&(c=!0),c&&(d=!1);let f=`${o(a)}`,h;if(d){let g=s,C=a;if(h=b({},t),u){let{start:x,end:R}=u;for(;x<=R;x++)delete h[o(x)]}let[S,v]=[Math.min(g,C),Math.max(g,C)];for(n.current.lastShiftSelectionRange={start:S,end:v};S<=v;S++)h[o(S)]=!0;e(h)}else{if(n.current.lastClickIndexWithoutShift=a,!c&&!r)h={[f]:!0};else{let g=t[f];h=b({},t),g?(delete h[f],n.current.lastClickIndexWithoutShift=s):h[f]=!0}n.current.lastShiftSelectionRange=null,e(h)}}};var _8="ab-ListGroupItem",upt=gO.forwardRef((t,e)=>{let d=t,{className:r,active:n,factory:o="button",noZebra:i}=d,a=Ye(d,["className","active","factory","noZebra"]),s=eye();return gO.createElement(o,E(b({},a),{onClick:c=>{a.onClick&&a.onClick(c),s(c,{index:t.index})},ref:e,className:He(r,_8,i?`${_8}--no-zebra`:null,`${_8}--${n?"active":"not-active"}`)}))}),eb=upt;l();var tye=y(require("react"));var rye=y(re()),dpt="ab-ListGroup",ppt=t=>{let n=t,{className:e}=n,r=Ye(n,["className"]);return tye.createElement(rye.Box,E(b({},r),{className:He(e,dpt)}))},bO=ppt;var N8=class extends Qo.Component{componentWillUnmount(){this.props.onRender()}render(){let e=this.props.Alerts.map((n,o)=>{let i=De.IsNotNullOrEmpty(n.header),a=Bt.getColorByMessageType(n.alertDefinition.MessageType),s={color:a,fill:a},u=Bt.getGlyphByMessageType(n.alertDefinition.MessageType),d=Xs[u],c=d?Qo.createElement(d,null):null,m=Qo.createElement("div",{key:n.Uuid,style:{maxWidth:"600px",width:"100%"}},Qo.createElement(CO.Flex,{alignItems:"center",width:"100%"},Qo.createElement(CO.Text,{style:s},c),i?Qo.createElement("b",{style:{flex:1}},n.header):Qo.createElement("div",{style:{fontSize:10,flex:1,display:"inline-block"}},n.message),Qo.createElement(ZSe,{onClick:()=>this.props.onClearAlert(n),tooltip:"Clear Alert",disabled:!1,style:{float:"left"},accessLevel:"Full"})),Qo.createElement("div",null,i&&Qo.createElement("span",{style:{fontSize:10}},n.message)));return Qo.createElement(eb,{factory:"div",key:n.Uuid||o},m)});return Qo.createElement(al,{variant:"default",bodyProps:{padding:0},headerText:"Alerts",button:Qo.createElement(Z,{onClick:()=>this.props.onClearAllAlerts(this.props.Alerts),variant:"raised",tone:"neutral",accessLevel:"Full"},"Clear All")},Qo.createElement(bO,null,e))}};var SO=y(re());var nye=class extends gp.Component{constructor(e){super(e);this.state={ShowMessage:!1,Alerts:this.props.AdaptableAlerts}}componentDidUpdate(){this.state.Alerts.length!=this.props.AdaptableAlerts.length&&this.setState({ShowMessage:!0,Alerts:this.props.AdaptableAlerts})}render(){let e=ur.getMessageTypeFromAdaptableAlerts(this.props.AdaptableAlerts),r=ur.getColorByMessageType(e),n=gp.createElement(N8,{Alerts:this.props.AdaptableAlerts,ShowPanel:!0,ShowHeader:!1,onClearAlert:this.props.onDeleteAlert,onRender:()=>this.setState({ShowMessage:!1}),onClearAllAlerts:this.props.onDeleteAllAlert}),o=this.props.AdaptableAlerts.length==0?"0 Alerts":this.props.AdaptableAlerts.length==1?"1 Alert":this.props.AdaptableAlerts.length+" Alerts",i=ur.getButtonColourForAdaptableAlerts(this.props.AdaptableAlerts,r),a=ur.getButtonTextColourForArrayandMessageType(this.props.AdaptableAlerts,e),s=this.props.viewType==="Toolbar"?"DashboardToolbar":"ToolPanel";return gp.createElement(SO.Flex,{alignItems:"stretch",className:`ab-${s}__Alert__wrap`},gp.createElement(SO.Flex,{style:{borderRadius:"var(--ab__border-radius)"},className:`ab-${s}__Alert__text`,marginRight:2,padding:2,color:a,backgroundColor:i,fontSize:"var( --ab-font-size-2)",alignItems:"center"},o),this.props.AdaptableAlerts.length>0&&gp.createElement(SO.Flex,{alignItems:"center"},gp.createElement(Fr,{className:`ab-${s}__Alert__info`,headerText:"",bodyText:[n],MessageType:e,useButton:!0,showEvent:"focus",hideEvent:"blur"})))}};function cpt(t,e){return{AlertDefinitions:t.Alert.AlertDefinitions,AdaptableAlerts:t.System.AdaptableAlerts}}function mpt(t){return{onDeleteAlert:e=>t(Jv(e)),onDeleteAllAlert:e=>t(mW(e))}}var oye=We(cpt,mpt)(nye);l();var ms=y(require("react"));var vO=y(re());l();var yO=y(require("react"));var Ty=class extends yO.Component{render(){return yO.createElement(Z,b({"data-name":"apply",tooltip:"Apply",iconSize:20,icon:"check",variant:"text"},this.props))}};var iye=class extends ms.Component{constructor(e){super(e);this.state={Disabled:!0}}componentDidMount(){if(this.props.api){let e=this.props.api.internalApi.getAdaptableInstance();e&&(this.cleanupEvent=e._on("CellsSelected",()=>{this.checkSelectedCells()}))}this.checkSelectedCells()}componentWillUnmount(){var e;(e=this.cleanupEvent)==null||e.call(this)}render(){let e=this.getStatusColour(),r=this.props.BulkUpdateValidationResult.Column,n=ms.createElement(lu,{previewInfo:this.props.PreviewInfo,api:this.props.api,selectedColumn:r,showPanel:!0,showHeader:!1}),o=this.props.accessLevel=="ReadOnly"||!this.props.BulkUpdateValidationResult.IsValid||this.props.InPivotMode==!0,i={color:e,fill:"currentColor"},a=this.props.viewType==="Toolbar"?"DashboardToolbar":"ToolPanel";return ms.createElement(vO.Flex,{flexDirection:"row",className:He(o?Sn:"",`ab-${a}__BulkUpdate__wrap`),flexWrap:this.props.viewType==="ToolPanel"?"wrap":"nowrap"},ms.createElement(vO.Flex,null,ms.createElement(Cm,{selectedGridCells:this.props.SelectedGridCells,newLabel:"New",existingLabel:"Existing",dropdownButtonProps:{listMinWidth:160},className:`ab-${a}__BulkUpdate__select`,disabled:o,selectedColumnValue:this.props.BulkUpdateValue,selectedColumn:r,api:this.props.api,onColumnValueChange:s=>this.onColumnValueSelectedChanged(s)})),ms.createElement(vO.Flex,null,!o&&De.IsNotNullOrEmpty(this.props.BulkUpdateValue)&&ms.createElement(Ty,{marginLeft:2,className:`ab-${a}__BulkUpdate__apply`,onClick:()=>this.onApplyClick(),style:i,tooltip:"Apply Bulk Update",disabled:De.IsNullOrEmpty(this.props.BulkUpdateValue)||this.props.PreviewInfo!=null&&this.props.PreviewInfo.previewValidationSummary.validationResult=="All",accessLevel:this.props.accessLevel},this.props.viewType==="ToolPanel"&&"Update"),!o&&De.IsNotNullOrEmpty(this.props.BulkUpdateValue)&&ms.createElement(Fr,{className:`ab-${a}__BulkUpdate__info`,headerText:"Preview Results",bodyText:[n],MessageType:Bt.getMessageTypeByStatusColour(e),useButton:!0,showEvent:"focus",hideEvent:"blur"})))}onColumnValueSelectedChanged(e){this.props.onBulkUpdateValueChange(e)}checkSelectedCells(){this.props.onBulkUpdateCheckSelectedCells(),De.IsNotNullOrEmpty(this.props.BulkUpdateValue)&&this.props.onBulkUpdateValueChange("")}getStatusColour(){if(De.IsNotNullOrEmpty(this.props.BulkUpdateValue)&&this.props.PreviewInfo){if(this.props.PreviewInfo.previewValidationSummary.validationResult=="All")return"var(--ab-color-error)";if(this.props.PreviewInfo.previewValidationSummary.validationResult=="Some")return"var(--ab-color-warn)"}return"var(--ab-color-success)"}onApplyClick(){this.onApplyBulkUpdate()}onApplyBulkUpdate(){this.props.onRunBulkUpdate(),this.props.onBulkUpdateValueChange("")}};function fpt(t,e){var r;return{SelectedGridCells:(r=t.Grid.SelectedCellInfo)==null?void 0:r.gridCells,BulkUpdateValue:t.System.BulkUpdateValue,BulkUpdateValidationResult:t.System.BulkUpdateValidationResult,PreviewInfo:t.System.BulkUpdatePreviewInfo,InPivotMode:t.Grid.IsGridInPivotMode}}function hpt(t){return{onBulkUpdateValueChange:e=>t(rA(e)),onBulkUpdateCheckSelectedCells:()=>t(tA()),onRunBulkUpdate:()=>t(zx(!1))}}var aye=We(fpt,hpt)(iye);l();var Ai=y(require("react"));l();var AO=y(require("react"));var L8=class extends AO.Component{render(){return AO.createElement(Dy,{CellSummary:this.props.CellSummary})}};var tb=y(re());var lye=class extends Ai.Component{constructor(e){super(e)}componentDidMount(){let e=this.props.api.internalApi.getAdaptableInstance();e&&(this.cleanupEvent=e._on("CellsSelected",()=>{this.checkSelectedCells()})),this.checkSelectedCells()}componentWillUnmount(){var e;(e=this.cleanupEvent)==null||e.call(this)}render(){let e=fi.getNames(yv).map((u,d)=>({label:u,onClick:()=>this.props.onCellSummaryOperationChange(u)})),r=this.props.api.internalApi.getAdaptableOptions().generalOptions.cellSummaryOperations,n=Pe.IsNullOrEmpty(r)?[]:r.map(u=>({onClick:()=>this.props.onCellSummaryOperationChange(u.operationName),label:u.operationName})),o=Ai.createElement(L8,{CellSummary:this.props.CellSummary}),i=this.props.accessLevel=="ReadOnly"||this.props.api.internalApi.isGridInPivotMode()||this.props.CellSummary==null,a=()=>{if(i)return;let u=this.getOperationValue();if(u!=null)return this.props.viewType==="ToolPanel"?Ai.createElement(tb.Flex,{className:`ab-${s}__CellSummary__value`,style:{borderRadius:"var(--ab__border-radius)"},marginRight:2,padding:2,color:"var( --ab-color-text-on-info)",backgroundColor:"var(--ab-color-info)",fontSize:"var( --ab-font-size-2)"},u):Ai.createElement(tb.Flex,{flex:1,marginRight:2,justifyContent:"center",className:`ab-${s}__CellSummary__value`,color:"var(--ab-color-text-on-primary)"},u)},s=this.props.viewType==="Toolbar"?"DashboardToolbar":"ToolPanel";return Ai.createElement(tb.Flex,{flexDirection:"row",className:i?Sn:`ab-${s}__CellSummary__wrap`,flexWrap:this.props.viewType==="ToolPanel"?"wrap":"nowrap"},Ai.createElement(tb.Flex,{flex:1},Ai.createElement(rt,{style:{fontSize:"small",width:"100%"},marginRight:2,columns:["label"],className:`ab-${s}__CellSummary__select`,items:[...e,...n],disabled:i,variant:"outlined",tone:"neutral"},this.props.CellSummaryOperation)),Ai.createElement(tb.Flex,{alignItems:"center"},Ai.createElement(Ai.Fragment,null,a(),this.props.CellSummary!=null&&this.props.CellSummary.Count>0&&Ai.createElement(Fr,{className:"ab-ToolPanel__CellSummary__info",bodyText:[o],useButton:!0,showEvent:"focus",hideEvent:"blur"}))))}checkSelectedCells(){this.props.onCreateCellSummary()}getOperationValue(){switch(this.props.CellSummaryOperation){case"Sum":return this.props.CellSummary.Sum;case"Average":return this.props.CellSummary.Average;case"Median":return this.props.CellSummary.Median;case"Mode":return this.props.CellSummary.Mode;case"Max":return this.props.CellSummary.Max;case"Min":return this.props.CellSummary.Min;case"Distinct":return this.props.CellSummary.Distinct;case"Count":return this.props.CellSummary.Count;default:return this.props.CellSummary[this.props.CellSummaryOperation]}}};function gpt(t,e){return{SelectedCellInfo:t.Grid.SelectedCellInfo,CellSummaryOperation:t.System.CellSummaryOperation,CellSummary:t.Grid.CellSummary}}function bpt(t){return{onCellSummaryOperationChange:e=>t(vW(e)),onCreateCellSummary:()=>t(L1())}}var sye=We(gpt,bpt)(lye);l();var Zi=y(require("react"));l();var yu=y(require("react"));var uye=y(re()),Cpt=t=>{t.stopPropagation()},k8=class extends yu.Component{render(){let e=[{Content:"Column Filter",Size:9},{Content:"",Size:3}],r=[];return this.props.columnFilters.forEach(n=>{r.push(this.createRow(e,n))}),yu.createElement("div",null,yu.createElement(rm,{colItems:e}),yu.createElement("div",null,r))}createRow(e,r){let n=Mt.cloneObject(e);return n[0].Content=this.props.api.filterApi.columnFilterToString(r),n[1].Content=yu.createElement(uye.Flex,{justifyContent:"center",margin:0,padding:0,onClick:Cpt},yu.createElement(Ma,{onClick:()=>this.props.onClear(r),tooltip:"Clear Filter",disabled:r==null,accessLevel:this.props.accessLevel})),yu.createElement(un,{key:r.ColumnId,colItems:n})}};var xO=y(re());var dye=class extends Zi.Component{constructor(e){super(e)}render(){let e=Zi.createElement(k8,{columns:this.props.Columns,columnFilters:this.props.ColumnFilters,api:this.props.api,accessLevel:this.props.accessLevel,onClear:n=>this.onClearColumnFilter(n)}),r=this.props.viewType==="Toolbar"?"DashboardToolbar":"ToolPanel";return Zi.createElement(xO.Flex,{flexDirection:"row",className:`ab-${r}__Filter__wrap`,flexWrap:this.props.viewType==="ToolPanel"?"wrap":"nowrap"},Zi.createElement(xO.Flex,null,Ee.IsNotNullOrEmpty(this.props.ColumnFilters)&&Zi.createElement(Zi.Fragment,null,Zi.createElement(Fr,{className:`ab-${r}__Filter__info`,headerText:"",bodyText:[e],useButton:!0,showEvent:"focus",hideEvent:"blur",popoverMinWidth:400}),Zi.createElement(Ma,{marginLeft:1,marginBottom:0,marginRight:1,className:`ab-${r}__Filter__clear`,onClick:()=>this.onClearFilters(),tooltip:"Clear Filters",disabled:this.props.ColumnFilters.length==0,showText:this.props.viewType==="ToolPanel"},this.props.viewType==="ToolPanel"&&"Clear"))),Zi.createElement(xO.Flex,{alignItems:"center"},this.props.api.filterApi.isQuickFilterAvailable()&&Zi.createElement(he,{className:`ab-${r}__Filter__active-check`,disabled:this.props.accessLevel==="ReadOnly"||this.props.api.internalApi.isGridInPivotMode(),marginTop:0,marginBottom:0,fontSize:2,padding:1,checked:this.props.IsQuickFilterVisible,onChange:n=>{n?this.props.onShowQuickFilterBar():this.props.onHideQuickFilterBar()}},"Show Quick Filter")))}onClearFilters(){this.props.api.filterApi.clearAllColumnFilter()}onClearColumnFilter(e){this.props.api.filterApi.clearColumnFilterByColumn(e.ColumnId)}};function Spt(t,e){return{ColumnFilters:t.Filter.ColumnFilters,IsQuickFilterVisible:t.Filter.IsQuickFilterVisible}}function ypt(t){return{onShowPrompt:e=>t(uA(e)),onHideQuickFilterBar:()=>t(fh()),onShowQuickFilterBar:()=>t(mh())}}var pye=We(Spt,ypt)(dye);l();var ym=y(require("react"));var cye=y(re()),mye=class extends ym.Component{constructor(e){super(e)}render(){let e=this.props.viewType==="Toolbar"?"DashboardToolbar":"ToolPanel";return ym.createElement(cye.Flex,{flexDirection:"row",className:`ab-${e}__Dashboard__wrap`,flexWrap:this.props.viewType==="ToolPanel"?"wrap":"nowrap"}," ",ym.createElement(he,{className:`ab-${e}__Dashboard__collapsed-check`,marginTop:0,fontSize:2,padding:1,checked:this.props.IsCollapsed,onChange:r=>this.props.onSetDashboardCollapsed(r)},"Collapse"),"",this.props.api.internalApi.getAdaptableOptions().dashboardOptions.canFloat&&ym.createElement(he,{className:`ab-${e}__Dashboard__collapsed-check`,marginTop:0,fontSize:2,padding:1,checked:this.props.IsFloating,onChange:r=>this.props.onSetDashboardFloating(r)},"Float")," ",ym.createElement(he,{className:`ab-${e}__Dashboard__hidden-check`,marginTop:0,fontSize:2,padding:1,checked:this.props.IsHidden,onChange:r=>this.props.onSetDashboardHidden(r)},"Hidden"))}};function vpt(t,e){return{IsCollapsed:t.Dashboard.IsCollapsed,IsHidden:t.Dashboard.IsHidden,IsFloating:t.Dashboard.IsFloating}}function Apt(t){return{onSetDashboardCollapsed:e=>t(ma(e)),onSetDashboardHidden:e=>t(Hl(e)),onSetDashboardFloating:e=>t(fa(e))}}var fye=We(vpt,Apt)(mye);l();var xi=y(require("react"));var wy=y(re());l();var EO=y(require("react"));var B8=class extends EO.Component{render(){return EO.createElement(Z,b({"data-name":"export",tooltip:"Export",iconSize:20,icon:"export-data",variant:"text"},this.props))}};l();var RO=y(require("react"));var V8=class extends RO.Component{render(){return RO.createElement(Z,b({"data-name":"schedule",tooltip:"Schedule",iconSize:20,icon:"schedule",variant:"text"},this.props))}};var G8="Select Report",hye="Select Destination",gye=class extends xi.Component{render(){let e=this.props.api.exportApi.getReportByName(this.props.CurrentReport),r=De.IsNullOrEmpty(this.props.CurrentReport)?G8:this.props.CurrentReport,n=this.getAllReportNames(),o=n.map(h=>({label:h,value:h,onClick:()=>this.onSelectedReportChanged(h)}));e&&!n.includes(e.Name)&&(e=void 0,r=G8);let i=this.props.api.exportApi.getDestinationByName(this.props.CurrentDestination),a=De.IsNullOrEmpty(this.props.CurrentDestination)?hye:this.props.CurrentDestination,s=[...this.props.api.exportApi.getAvailableExportDestinations().map(h=>({label:h,onClick:()=>this.onSelectedDestinationChanged(h)})),...this.props.api.exportApi.getAllCustomDestination().map(h=>({label:h.name,onClick:()=>this.onSelectedDestinationChanged(h.name)}))];(e==null?void 0:e.Name)===ko&&s.forEach(h=>h.disabled=h.label!=="Excel"),i&&!s.filter(h=>!h.disabled).map(h=>h.label).includes(this.props.CurrentDestination)&&(i=void 0,a=hye);let u=xt.getAppropriateAccessLevel(e,this.props.accessLevel),d="Are you sure you want to delete '";e!=null&&(d=d+e.Name+"'?");let c=()=>this.isCustomDestination(i)?i:void 0,m=()=>{let h=c();(h==null?void 0:h.form)?this.props.showCustomDestinationForm({ExportDestination:h,ReportName:this.props.CurrentReport}):this.props.onApplyExport(e,this.isCustomDestination(i)?i.name:i)},f=this.props.viewType==="Toolbar"?"DashboardToolbar":"ToolPanel";return xi.createElement(wy.Flex,{style:{gap:5},flexDirection:"row",className:`ab-${f}__Export__wrap`,flexWrap:this.props.viewType==="ToolPanel"?"wrap":"nowrap"},xi.createElement(wy.Flex,{flex:1},xi.createElement(rt,{disabled:n.length==0,style:{width:"100%",fontSize:"small"},items:o,columns:["label"],className:`ab-${f}__Export__select`,onClear:()=>this.onSelectedReportChanged(null),showClearButton:!!e,variant:"outlined",marginRight:2},r)),xi.createElement(wy.Flex,{flex:1},xi.createElement(rt,{disabled:r===G8,style:{width:"100%",fontSize:"small"},items:s,columns:["label"],className:`ab-${f}__Export__export`,onClear:()=>this.onSelectedDestinationChanged(null),showClearButton:!!i,variant:"outlined",marginRight:2},a)),xi.createElement(wy.Flex,{className:He(u=="ReadOnly"?Sn:"",`ab-${f}__Export__controls`),style:{width:"100%"}},xi.createElement(B8,{onClick:()=>m(),tooltip:"Export Report",className:`ab-${f}__Export__export`,disabled:e==null||i==null}),xi.createElement(Kd,{onClick:()=>this.props.onEditReport(this.props.moduleInfo.Popup),tooltip:"Edit Report",className:`ab-${f}__Export__edit`,disabled:e==null||e.ReportColumnScope=="CustomColumns",accessLevel:u}),xi.createElement(ss,{variant:"text",className:`ab-${f}__Export__new`,tone:"neutral",children:null,onClick:()=>this.props.onNewReport(this.props.moduleInfo.Popup),tooltip:"Create New Report",accessLevel:u}),xi.createElement($d,{tooltip:"Delete Report",className:`ab-${f}__Export__delete`,disabled:e==null,ConfirmAction:ah(e),ConfirmationMsg:d,ConfirmationTitle:"Delete Report",accessLevel:u}),this.props.api.internalApi.getEntitlementService().isModuleFullEntitlement("Schedule")&&xi.createElement(V8,{marginLeft:1,className:`ab-${f}__Export__schedule`,onClick:()=>this.onNewReportSchedule(),tooltip:"Schedule",disabled:e==null,accessLevel:this.props.accessLevel})))}onSelectedReportChanged(e){this.props.onSelectReport(e)}onSelectedDestinationChanged(e){this.props.onSelectDestination(e)}getAllReportNames(){return[...this.props.api.exportApi.getAvailableSystemReports(),...this.props.Reports.map(e=>e.Name)]}isCustomDestination(e){return!!(e==null?void 0:e.name)}onNewReportSchedule(){let e=at.CreateReportSchedule(this.props.CurrentReport);this.props.onNewReportSchedule(e)}};function xpt(t){return{CurrentReport:t.Export.CurrentReport,CurrentDestination:t.Export.CurrentDestination,Reports:t.Export.Reports}}function Ept(t){return{onApplyExport:(e,r)=>t(lh(e,r)),onSelectReport:e=>t(Q1(e)),onSelectDestination:e=>t(K1(e)),onNewReport:e=>t(dr(Vn,e,{action:"New",source:"Toolbar"})),onEditReport:e=>t(dr(Vn,e,{action:"Edit",source:"Toolbar"})),onNewReportSchedule:e=>t(dr(Ll,"SchedulePopup",{action:"New",source:"Toolbar",value:e})),showCustomDestinationForm:e=>t(nA(e))}}var bye=We(xpt,Ept)(gye);l();var _a=y(require("react"));var DO=y(re());l();var IO=y(require("react"));var Oy=class extends IO.Component{render(){return IO.createElement(Z,b({"data-name":"save",iconSize:20,icon:"save",tooltip:"Save",variant:"text"},this.props))}};var Cye=class extends _a.Component{render(){let e=this.props.Layouts.find(u=>u.Name==this.props.CurrentLayoutName||u.Uuid==this.props.CurrentLayoutName),r=this.props.accessLevel,n=this.props.accessLevel,o=xt.getAppropriateAccessLevel(e,this.props.accessLevel),i=!this.props.api.layoutApi.shouldAutoSaveLayout(this.props.CurrentDraftLayout),a=this.props.Layouts.map((u,d)=>E(b({},u),{label:u.Name,value:u.Name,onClick:()=>this.props.onSelectLayout(u.Name)})),s=this.props.viewType==="Toolbar"?"DashboardToolbar":"ToolPanel";return _a.createElement(DO.Flex,{flexDirection:"row",className:`ab-${s}__Layout__wrap`,flexWrap:this.props.viewType==="ToolPanel"?"wrap":"nowrap"},_a.createElement(DO.Flex,{flex:1},_a.createElement(rt,{marginRight:2,columns:["label"],style:{width:"100%",fontSize:"small"},className:`ab-${s}__Layout__select`,items:a,disabled:a.length==0},e?e.Name:null)),_a.createElement(DO.Flex,{flexDirection:"row",className:He(this.props.accessLevel=="ReadOnly"?Sn:"",`ab-${s}__Layout__wrap`)},i&&_a.createElement(Oy,{className:`ab-${s}__Layout__save`,onClick:()=>this.onSaveLayout(),tooltip:"Save Changes to Current Layout",disabled:!this.props.CanSave,accessLevel:o}),_a.createElement(Kd,{onClick:()=>this.props.onEditLayout(this.props.moduleInfo.Popup),tooltip:"Edit Layout",className:`ab-${s}__Layout__edit`,accessLevel:o}),_a.createElement(A2,{onClick:()=>this.props.onCloneLayout(this.props.moduleInfo.Popup),tooltip:"Clone Layout",className:`ab-${s}__Layout__clone`,tone:"neutral",variant:"text",children:null,accessLevel:r}),_a.createElement(ss,{children:null,tone:"neutral",variant:"text",className:`ab-${s}__Layout__new`,onClick:()=>this.props.onNewLayout(this.props.moduleInfo.Popup),tooltip:"Create a new Layout",accessLevel:n}),_a.createElement($d,{tooltip:"Delete Layout",disabled:this.props.Layouts.length<=1,className:`ab-${s}__Layout__delete`,ConfirmAction:M1(e),ConfirmationMsg:"Are you sure you want to delete '"+this.props.CurrentLayoutName+"'?",ConfirmationTitle:"Delete Layout",accessLevel:o})))}onSaveLayout(){let e=this.props.CurrentDraftLayout;e&&this.props.onSaveLayout(e)}};function Rpt(t,e){let r=t.Layout.CurrentLayout,n=t.Layout.Layouts||[],o=n.find(a=>a.Name===r),i=e.api;return{CurrentLayoutName:r,CurrentDraftLayout:t.Grid.CurrentLayout||o,Layouts:n,CanSave:t.Grid.CurrentLayout&&!i.layoutApi.areLayoutsEqual(o,t.Grid.CurrentLayout)}}function Ipt(t){return{onSelectLayout:e=>t(id(e)),onSaveLayout:e=>{t(od(e)),t(sc(null))},onNewLayout:e=>t(dr(Bo,e,{action:"New",source:"Toolbar"})),onCloneLayout:e=>t(dr(Bo,e,{action:"Clone",source:"Toolbar"})),onEditLayout:e=>t(dr(Bo,e,{action:"Edit",source:"Toolbar"}))}}var Sye=We(Rpt,Ipt)(Cye);l();var Lr=y(require("react"));var FO=y(re());l();var PO=y(require("react"));var TO=class extends PO.Component{render(){return PO.createElement(Z,b({"data-name":"expand",tooltip:"Expand",iconSize:20,icon:"arrowexpand",variant:"text"},this.props))}};l();var wO=y(require("react"));var fs=class extends wO.Component{render(){return wO.createElement(Z,b({"data-name":"play",tooltip:qe.IsNullOrEmpty(this.props.tooltip)?"Play":this.props.tooltip,iconSize:20,icon:"play",variant:"text"},this.props))}};l();var OO=y(require("react"));var U8=class extends OO.Component{render(){return OO.createElement(Z,b({"data-name":"invalid",tooltip:"Invalid",iconSize:20,icon:"invalid"},this.props))}};var yye=class extends Lr.Component{constructor(e){super(e);this.state={isAdaptableReady:!1,expression:this.props.CurrentQuery||""}}componentDidMount(){this.props.api.eventApi.on("AdaptableReady",()=>{this.setState({isAdaptableReady:!0})})}componentDidUpdate(e){e.CurrentQuery!==this.props.CurrentQuery&&this.setState({expression:this.props.CurrentQuery})}render(){if(this.state.isAdaptableReady===!1)return null;let e=this.state.expression==""||this.props.api.internalApi.getQueryLanguageService().validateBoolean(this.state.expression,Or).isValid,r=this.props.NamedQueries.find(c=>c.BooleanExpression==this.state.expression)!=null,o=[...Ee.sortArrayWithProperty("Asc",this.props.NamedQueries,"Name").map(c=>({label:c.Name,icon:c.BooleanExpression===this.props.CurrentQuery?Lr.createElement(Ct,{name:"check"}):null,onClick:()=>this.runQuery(c.BooleanExpression)})),...Ee.IsNotNullOrEmpty(this.props.CachedQueries)?[{separator:!0}]:[],...Ee.IsNotNullOrEmpty(this.props.CachedQueries)?this.props.CachedQueries.slice(-5).reverse().map(c=>({label:`Query at ${c.time.toLocaleTimeString("en-US")}`,icon:Lr.createElement(Ct,{name:"history"}),onClick:()=>this.props.onRunQuery(c.expression)})):[]],i=this.props.api.columnApi.getColumns().map(c=>({label:c.friendlyName,onClick:()=>this.setState({expression:this.state.expression+`[${c.columnId}]`})})),a=this.props.viewType==="Toolbar"?"DashboardToolbar":"ToolPanel",s=()=>this.props.viewType==="Toolbar"?Lr.createElement(xd,{marginRight:1,width:600},Lr.createElement(TO,{variant:"text",tone:"neutral",onClick:()=>this.props.onExpand(this.state.expression),tooltip:"Expand",marginLeft:1}),Lr.createElement($e,{type:"text",placeholder:"Query",spellCheck:!1,value:this.state.expression,onChange:c=>this.setState({expression:c.target.value}),style:{fontFamily:"monospace",fontSize:12},onKeyDown:c=>{c.key==="Enter"&&this.runQuery()}}),e?Lr.createElement(fs,{onClick:()=>this.runQuery(),tooltip:"",accessLevel:"Full",variant:"text",tone:"neutral",disabled:this.state.expression==""||this.state.expression==this.props.CurrentQuery,marginRight:1}):Lr.createElement(U8,{variant:"text",tone:"neutral",tooltip:"Invalid Query",marginRight:1})," ",this.props.CurrentQuery!==""&&Lr.createElement(Ma,{onClick:()=>this.props.onRunQuery(""),tooltip:"Clear Query",accessLevel:"Full"})):Lr.createElement($e,{type:"text",placeholder:"Query",spellCheck:!1,value:this.state.expression,onChange:c=>this.setState({expression:c.target.value}),style:{width:"100%"}}),u=this.props.api.internalApi.getEntitlementService().getEntitlementAccessLevelForModule(Or),d=()=>this.props.viewType==="Toolbar"?Lr.createElement(Lr.Fragment,null,Lr.createElement(Oy,{onClick:()=>this.saveQuery(),tooltip:"Save as New Query",accessLevel:u,disabled:!e||r||this.state.expression=="",variant:"text",tone:"neutral",marginRight:1}),Lr.createElement(rt,{variant:"text",items:i,marginRight:1,tooltip:"Pick Columns"},Lr.createElement(Ct,{name:"list"})),Lr.createElement(rt,{disabled:Ee.IsNullOrEmpty(o),variant:"text",items:o,marginRight:1,tooltip:"Load Query",icon:"folder-open"})," "):Lr.createElement(Lr.Fragment,null,Lr.createElement(TO,{variant:"text",tone:"neutral",onClick:()=>this.props.onExpand(this.state.expression),tooltip:"Expand",marginLeft:1}),Lr.createElement(Ma,{onClick:()=>this.clearQuery(),tooltip:"Clear Query",accessLevel:"Full",disabled:this.state.expression==""}),Lr.createElement(fs,{onClick:()=>this.runQuery(),tooltip:"Run Query",accessLevel:"Full",variant:"text",tone:"neutral",disabled:!e||this.state.expression==""||this.state.expression==this.props.CurrentQuery,marginRight:1}),Lr.createElement(rt,{variant:"text",disabled:Ee.IsNullOrEmpty(o),items:o,marginRight:1,tooltip:"Load Query",icon:"folder-open"}));return Lr.createElement(FO.Flex,{flexDirection:"row",className:`ab-${a}__Query__wrap`,flexWrap:this.props.viewType==="ToolPanel"?"wrap":"nowrap"},Lr.createElement(FO.Flex,null,s()),Lr.createElement(FO.Flex,null,d()))}clearQuery(){this.setState({expression:""})}saveQuery(){this.props.onShowNamedQueries(this.state.expression,this.props.moduleInfo.Popup)}onSelectedSearchChanged(e){this.props.onRunQuery(e)}runQuery(e=this.state.expression){if(qe.IsNullOrEmpty(e)&&qe.IsNotNullOrEmpty(this.props.CurrentQuery)){this.props.onRunQuery("");return}if(!!this.props.api.internalApi.getQueryLanguageService().validateBoolean(e,Or).isValid){if(qe.IsNotNullOrEmpty(this.state.expression)){let r={expression:this.state.expression,time:new Date};r&&this.props.onAddCachedQuery(r)}this.props.onRunQuery(e)}}};function Dpt(t){return{CurrentQuery:t.Query.CurrentQuery,NamedQueries:t.Query.NamedQueries,CachedQueries:t.System.CachedQueries}}function Ppt(t){return{onAddCachedQuery:e=>t(yW(e)),onRunQuery:e=>t(pc(e)),onShowNamedQueries:(e,r)=>t(dr(Or,r,{action:"New",source:"Toolbar",value:e})),onExpand:e=>t(dr(Or,"ExpandedQueryPopup",{source:"Toolbar",value:e},{footer:null}))}}var vye=We(Dpt,Ppt)(yye);l();var Aye=y(require("react")),Tpt=t=>{let[e,r]=Cg(t),n=t.viewType==="Toolbar"?"DashboardToolbar":"ToolPanel";return Aye.createElement(va,{type:"text",placeholder:t.api.internalApi.getAdaptableOptions().searchOptions.quickSearchPlaceholder,className:`ab-${n}__QuickSearch__text`,value:e,OnTextChange:r,style:{height:"100%"},inputStyle:{width:"7rem"}})};function wpt(t){return{QuickSearchText:t.QuickSearch.QuickSearchText}}function Opt(t){return{onRunQuickSearch:e=>t(Us(e))}}var xye=We(wpt,Opt)(Tpt);l();var cl=y(require("react"));var MO=y(re());var Eye=class extends cl.Component{constructor(e){super(e);this.state={SelectedColumnId:""}}componentDidMount(){if(this.props.api){let e=this.props.api.internalApi.getAdaptableInstance();e&&(this.cleanupEvent=e._on("CellsSelected",()=>{this.checkSelectedCells()}))}this.checkSelectedCells()}componentWillUnmount(){var e;(e=this.cleanupEvent)==null||e.call(this)}render(){let e=this.getStatusColour(),r=De.IsNotNullOrEmpty(this.state.SelectedColumnId)?this.props.api.columnApi.getColumnFromId(this.state.SelectedColumnId):null,n=cl.createElement(lu,{previewInfo:this.props.PreviewInfo,api:this.props.api,selectedColumn:r,showPanel:!0,showHeader:!1}),o=fi.getNames(Al).map((u,d)=>({onClick:()=>this.props.onSmartEditOperationChange(u),label:u})),i={color:e,fill:"currentColor"},a=this.props.accessLevel=="ReadOnly"||!this.props.IsValidSelection||this.props.InPivotMode==!0,s=this.props.viewType==="Toolbar"?"DashboardToolbar":"ToolPanel";return cl.createElement(MO.Flex,{flexDirection:"row",className:`ab-${s}__SmartEdit__wrap`,flexWrap:this.props.viewType==="ToolPanel"?"wrap":"nowrap"},cl.createElement(MO.Flex,null,cl.createElement(rt,{className:`ab-${s}__SmartEdit__select`,marginRight:2,items:o,style:{fontSize:"small"},columns:["label"],disabled:a,variant:"outlined"},this.props.MathOperation),cl.createElement($e,{style:{width:"5rem"},className:`ab-${s}__SmartEdit__select-value`,value:this.props.SmartEditValue.toString(),type:"number",placeholder:"Enter a Number",step:"any",onChange:u=>this.onSmartEditValueChange(u),disabled:a,marginRight:2})),cl.createElement(MO.Flex,null,!a&&cl.createElement(Ty,{onClick:()=>this.onApplyClick(),style:i,className:`ab-${s}__SmartEdit__apply`,tooltip:"Apply Smart Edit",disabled:De.IsNullOrEmpty(`${this.props.SmartEditValue}`)||this.props.PreviewInfo!=null&&this.props.PreviewInfo.previewValidationSummary.validationResult=="All",accessLevel:this.props.accessLevel},this.props.viewType==="ToolPanel"&&"Apply Smart Edit"),!a&&cl.createElement(Fr,{headerText:"Preview Results",className:`ab-${s}__SmartEdit__info`,bodyText:[n],MessageType:Bt.getMessageTypeByStatusColour(e),useButton:!0,showEvent:"focus",hideEvent:"blur"})))}checkSelectedCells(){this.props.onSmartEditCheckSelectedCells()}onSmartEditValueChange(e){let r=e.target;this.props.onSmartEditValueChange(Number(r.value))}getStatusColour(){if(De.IsNotNullOrEmpty(`${this.props.SmartEditValue}`)&&this.props.PreviewInfo){if(this.props.PreviewInfo.previewValidationSummary.validationResult=="All")return"var(--ab-color-error)";if(this.props.PreviewInfo.previewValidationSummary.validationResult=="Some")return"var(--ab-color-warn)"}return"var(--ab-color-success)"}onApplyClick(){this.onApplySmartEdit()}onchangeMathOperation(e){this.props.onSmartEditOperationChange(e)}onApplySmartEdit(){this.props.onRunSmartEdit()}};function Fpt(t,e){return{SmartEditValue:t.System.SmartEditValue,MathOperation:t.System.SmartEditOperation,IsValidSelection:t.System.IsValidSmartEditSelection,PreviewInfo:t.System.SmartEditPreviewInfo,InPivotMode:t.Grid.IsGridInPivotMode}}function Mpt(t){return{onSmartEditValueChange:e=>t(ff(e)),onSmartEditOperationChange:e=>t(hf(e)),onSmartEditCheckSelectedCells:()=>t(eA()),onRunSmartEdit:()=>t(C1(!1))}}var Rye=We(Fpt,Mpt)(Eye);l();var Fy=y(require("react"));var H8=y(re());var Iye=class extends Fy.Component{constructor(e){super(e)}render(){var a;let e=this.props.api.systemStatusApi.getCurrentSystemStatusMessageInfo(),r=ur.getColorByMessageType((a=e==null?void 0:e.statusType)!=null?a:"Success"),n=e?ur.getButtonTextColourForMessageType(e.statusType):"",o=e==null?void 0:e.statusMessage,i=this.props.viewType==="Toolbar"?"DashboardToolbar":"ToolPanel";return Fy.createElement(H8.Flex,{flexDirection:"row",className:`ab-${i}__SystemStatus__wrap`},Fy.createElement(H8.Flex,{style:{borderRadius:"var(--ab__border-radius)"},className:`ab-${i}__SystemStatus__text`,marginRight:2,padding:2,color:n,backgroundColor:o?r:"",fontSize:"var( --ab-font-size-2)",alignItems:"center","data-name":"system-status-message"},o||"0 Messages"))}};function _pt(t){return{SystemStatusMessageInfos:t.System.SystemStatusMessages}}function Npt(t){return{}}var Dye=We(_pt,Npt)(Iye);l();var My=y(require("react"));var Pye=class extends My.Component{render(){let e=[...this.props.SystemThemes,...this.props.UserThemes],r=e.map((s,u)=>(typeof s=="string"&&(s={Name:s,Description:s}),{label:s.Description,onClick:()=>this.onSelectTheme(s)})),n=e.filter(s=>s.Name===this.props.CurrentTheme)[0],o=n?n.Description:this.props.CurrentTheme,i=this.props.viewType==="Toolbar"?"DashboardToolbar":"ToolPanel",a=this.props.viewType==="Toolbar"?{maxWidth:"25rem",whiteSpace:"nowrap",overflow:"hidden",textOverflow:"ellipsis",fontSize:"small"}:{minWidth:"100%",fontSize:"small"};return My.createElement("div",{className:He(this.props.accessLevel=="ReadOnly"?Sn:"",`ab-${i}__Theme__wrap`)},My.createElement(rt,{className:`ab-${i}__Theme__select`,style:a,items:r,columns:["label"],accessLevel:this.props.accessLevel},o))}onSelectTheme(e){this.props.onSelectTheme(e.Name)}};function Lpt(t,e){return{SystemThemes:t.Theme.SystemThemes,CurrentTheme:t.Theme.CurrentTheme,UserThemes:t.Theme.UserThemes}}function kpt(t){return{onSelectTheme:e=>t(hh(e))}}var Tye=We(Lpt,kpt)(Pye);l();var _y=y(require("react"));var wye=y(re());var Oye=class extends _y.Component{constructor(e){super(e);this.state={CurrentDataSource:De.IsNullOrEmpty(this.props.CurrentDataSourceName)?null:this.props.DataSources.find(r=>r.Name==this.props.CurrentDataSourceName)}}render(){let e="Select Data Source",r=this.state.CurrentDataSource==null?e:this.state.CurrentDataSource.Name,n=this.props.DataSources.map((i,a)=>({value:i.Name,label:i.Name,onClick:()=>this.onSelectedDataSourceChanged(i.Name)})),o=this.props.viewType==="Toolbar"?"DashboardToolbar":"ToolPanel";return _y.createElement(wye.Flex,{flexDirection:"row",className:`ab-${o}__DataSource__wrap`},_y.createElement(rt,{marginRight:2,columns:["label"],style:{minWidth:160,fontSize:"small"},className:`ab-${o}__DataSource__select`,items:n,variant:"outlined",tone:"neutral"},r))}onSelectedDataSourceChanged(e){if(De.IsNullOrEmpty(e))this.setState({CurrentDataSource:null});else{let r=this.props.DataSources.find(n=>n.Name==e);this.setState({CurrentDataSource:r}),r.Form?alert("have params"):this.props.onSelectDataSource(r)}}};function Bpt(t,e){return{CurrentDataSourceName:t.DataSource.CurrentDataSource,DataSources:t.DataSource.DataSources}}function Vpt(t){return{onSelectDataSource:e=>t(bC(e))}}var Fye=We(Bpt,Vpt)(Oye);l();var Ur=y(require("react"));l();var _O=y(require("react"));var _ye=require("@ag-grid-community/all-modules"),vm=require("react");var Nye=t=>{let{changeHistoryLog:e,adaptableContainerId:r,agGridContainerId:n,onUndoChange:o}=t,i=ht(),[a,s]=(0,vm.useState)(null),u=(0,vm.useRef)(null);u.current=a;let d=i.api.internalApi.getEntitlementService().isModuleFullEntitlement(Nl),c=Ni(e,e);return(0,vm.useEffect)(()=>((async()=>{let f=Upt(i,e),h=Gpt(i,f,r,n,d,o),C=await Object.getPrototypeOf(i).constructor.init(h);s(C)})(),()=>{var f;(f=u.current)==null||f.internalApi.getAdaptableInstance().destroy({unmount:!0,destroyApi:!0})}),[]),(0,vm.useEffect)(()=>{let m=u.current;if(!m)return;let f=Object.keys(e).filter(x=>{let R=c[x];return R?e[x].changedAt!==R.changedAt:!0}),h=Object.keys(c).filter(x=>{let R=e[x];return R?c[x].changedAt!==R.changedAt:!0}),g=Mye(e,f),C=Mye(c,h),S=z8(g,i),v=z8(C,i);m.internalApi.getAdaptableOptions().gridOptions.api.applyTransactionAsync({add:S,remove:v})},[e]),_O.createElement(_O.Fragment,null)},Gpt=(t,e,r,n,o,i)=>{var c,m;let a=t.adaptableOptions,s=t.api.themeApi.getCurrentTheme(),u=f=>{var g;let h=(g=f==null?void 0:f.data)==null?void 0:g.changeKey;h&&i(h)},d={gridOptions:e,modules:[..._ye.AllCommunityModules],primaryKey:"primaryKey",licenseKey:a.licenseKey,userName:`${a.userName}`,adaptableId:`${a.adaptableId}::DataChangeHistory`,containerOptions:{adaptableContainer:r,agGridContainer:n},entitlementOptions:{defaultAccessLevel:"Hidden"},layoutOptions:{createDefaultLayout:!1},userInterfaceOptions:{actionColumns:[{columnId:"undoActionColumn",friendlyName:" ",includeGroupedRows:!0,actionColumnButton:{label:(f,h)=>h.adaptableApi.gridApi.isGroupRowNode(h.rowNode)?"Undo Group":"Undo Change",onClick:(f,h)=>{var C;let g=h.rowNode;if(h.adaptableApi.gridApi.isGroupRowNode(g)){let S=(C=h.rowNode)==null?void 0:C.childrenAfterFilter;S&&S.forEach(v=>u(v))}else u(g)},buttonStyle:{variant:"raised",tone:"accent"}}}]},predefinedConfig:{Layout:{Revision:Date.now(),CurrentLayout:"DataChangeHistoryLayout",Layouts:[{Name:"DataChangeHistoryLayout",Columns:["changeInfo.primaryKeyValue","changedColumnLabel","changeInfo.oldValue","changeInfo.newValue","changeInfo.changedAt","changeTriggerLabel","undoActionColumn"],ColumnSorts:[{ColumnId:"changeInfo.changedAt",SortOrder:"Desc"}],ColumnWidthMap:{undoActionColumn:110},PinnedColumnsMap:{undoActionColumn:"right"}}]},FormatColumn:{Revision:Date.now(),FormatColumns:[{Scope:{ColumnIds:["changeInfo.changedAt"]},DisplayFormat:{Formatter:"DateFormatter",Options:{Pattern:`${(m=(c=a.userInterfaceOptions)==null?void 0:c.dateInputOptions)==null?void 0:m.dateFormat} HH:mm:ss`}}}]},Theme:{Revision:Date.now(),CurrentTheme:s}}};if(!o){let f=d.predefinedConfig.Layout.Layouts[0].Columns;f.includes("undoActionColumn")&&(d.predefinedConfig.Layout.Layouts[0].Columns=f.filter(h=>h!=="undoActionColumn"))}return d},Upt=(t,e)=>{var o,i;let r=(i=(o=t.api.columnApi.getPrimaryKeyColumn())==null?void 0:o.friendlyName)!=null?i:"Row ID";return{suppressLoadingOverlay:!0,overlayNoRowsTemplate:'<div style="font-size: var(--ab-font-size-2);color: var(--ab-color-text-on-primary);">No Data Changes</div>',defaultColDef:{floatingFilter:!0,filter:!0,sortable:!0,resizable:!0,enableRowGroup:!0,editable:!1,enablePivot:!1,enableValue:!1,lockPinned:!0,suppressAutoSize:!0,suppressMenu:!0,menuTabs:["generalMenuTab","filterMenuTab"]},autoGroupColumnDef:{sortable:!0,suppressMenu:!1},columnDefs:[{field:"primaryKey",type:["abColDefString"],hide:!0},{headerName:`Row (${r})`,field:"changeInfo.primaryKeyValue",type:["abColDefString"],suppressAutoSize:!1,suppressMenu:!1,flex:3,initialFlex:3},{headerName:"Changed Column",field:"changedColumnLabel",type:["abColDefString"],suppressAutoSize:!1,suppressMenu:!1,flex:3,initialFlex:3},{headerName:"Previous Value",field:"changeInfo.oldValue",type:["abColDefString"],suppressAutoSize:!1,suppressMenu:!1,flex:3,initialFlex:3},{headerName:"New Value",field:"changeInfo.newValue",type:["abColDefString"],suppressAutoSize:!1,suppressMenu:!1,flex:3,initialFlex:3},{headerName:"Changed at",field:"changeInfo.changedAt",type:["abColDefDate"],suppressAutoSize:!1,suppressMenu:!1,flex:3,initialFlex:3},{headerName:"Source",field:"changeTriggerLabel",type:["abColDefString"],suppressAutoSize:!1,suppressMenu:!1,flex:2,initialFlex:2}],rowData:z8(e,t),enableRangeSelection:!0,suppressColumnVirtualisation:!1,sideBar:!1,suppressMenuHide:!0,rowSelection:"multiple",skipHeaderOnAutoSize:!0}},z8=(t={},e)=>Object.entries(t).map(([r,n])=>({primaryKey:`${r}::${n.changedAt}`,changeKey:r,changeTriggerLabel:Wpt(n),changedColumnLabel:Hpt(n.column.columnId,e),changeInfo:n})),W8=new Map,Hpt=(t,e)=>{var r,n;return W8.has(t)||W8.set(t,(n=(r=e.api.columnApi.getColumnFromId(t))==null?void 0:r.friendlyName)!=null?n:t),W8.get(t)},Wpt=t=>t.trigger==="tick"?"Ticking data":"User edit",Mye=(t,e)=>{let r={};return e.forEach(n=>{r[n]=t[n]}),r};var ea=y(re());l();var NO=y(require("react"));var Ny=class extends NO.Component{render(){return NO.createElement(Z,b({"data-name":"pause",tooltip:"Pause",iconSize:20,icon:this.props.fillColor==="red"?"pause-red":"pause",variant:"text"},this.props))}};l();var LO=y(require("react"));var Ly=class extends LO.Component{render(){return LO.createElement(Z,b({"data-name":"stop",tooltip:"Stop",iconSize:20,icon:"stop",variant:"text"},this.props))}};var Lye=class extends Ur.Component{constructor(e){super(e);this.state={dataChangeHistoryAdaptableApi:void 0}}render(){let{changeHistoryMode:e,activationTime:r,suspensionTime:n,onChangeHistoryEnable:o,onChangeHistoryDisable:i,onChangeHistorySuspend:a,onChangeHistoryResume:s}=this.props,u="dataChangeHistoryAdaptableContainer",d="dataChangeHistoryAgGridContainer",c=e==="ACTIVE",m=e==="INACTIVE",f=e==="SUSPENDED",h=Ur.createElement(ea.Flex,{className:"ab-DataChangeHistoryPopup--button-panel",padding:2,style:{gap:"var(--ab-space-1)"}},m&&Ur.createElement(fs,{className:"ab-DataChangeHistoryPopup--button-activate","data-name":'data-change-history--button-activate"',variant:"raised",tone:"accent",tooltip:"",onClick:()=>o()},"Activate data change tracking"),f&&Ur.createElement(fs,{className:"ab-DataChangeHistoryPopup--button-resume","data-name":"data-change-history--button-resume",variant:"outlined",tooltip:"Resume tracking data changes",onClick:()=>s()},"Resume"),c&&Ur.createElement(Ny,{className:"ab-DataChangeHistoryPopup--button-suspend","data-name":"data-change-history--button-suspend",variant:"outlined",tooltip:"Suspend tracking data changes",onClick:()=>a()},"Suspend"),(c||f)&&Ur.createElement(Ly,{className:"ab-DataChangeHistoryPopup--button-deactivate","data-name":"data-change-history--button-deactivate",variant:"outlined",tooltip:"Deactivate data change tracking",onClick:()=>i()},"Deactivate")),g=`${this.props.api.internalApi.getAdaptableOptions().userInterfaceOptions.dateInputOptions.dateFormat} HH:mm:ss`,C=Ur.createElement(ea.Flex,{className:"ab-DataChangeHistoryPopup--status-panel",alignItems:"center",style:{gap:"var(--ab-space-1)"}},c&&Ur.createElement(Ur.Fragment,null,Ur.createElement(ea.Text,{className:"ab-DataChangeHistoryPanel--status-active",style:{color:"var(--ab-color-success)",fontWeight:"bold"}},"Active"),!!r&&Ur.createElement(ea.Text,{style:{fontStyle:"italic"},fontSize:2},"(since ",Co(r,{Pattern:g}),")")),f&&Ur.createElement(Ur.Fragment,null,Ur.createElement(ea.Text,{className:"ab-DataChangeHistoryPopup--status-suspended",style:{color:"var(--ab-color-warn)",fontWeight:"bold"}},"Suspended"),!!n&&Ur.createElement(ea.Text,{style:{fontStyle:"italic"},fontSize:2},"(since ",Co(n,{Pattern:g}),")")),m&&Ur.createElement(ea.Text,{className:"ab-DataChangeHistoryPopup--status-disabled",fontSize:2})),S=x=>{let R=this.props.changeHistoryLog[x];R&&this.props.api.dataChangeHistoryApi.undoDataChangeHistoryEntry(R)},v=this.props.api.internalApi.getAdaptableInstance().getAgGridCurrentThemeName();return Ur.createElement(Rn,{headerText:this.props.moduleInfo.FriendlyName,glyphicon:this.props.moduleInfo.Glyph,infoLink:this.props.moduleInfo.HelpPage,infoLinkDisabled:!this.props.api.internalApi.isDocumentationLinksDisplayed()},Ur.createElement(ea.Flex,{className:"ab-DataChangeHistoryPopup",flexDirection:"column",style:{height:"100%"}},Ur.createElement(ea.Flex,{style:{color:"var(--ab-dashboard__color)",background:"var(--ab-dashboard__background)"}},Ur.createElement(ea.Flex,{flexDirection:"row"},h,C)),Ur.createElement(ea.Flex,{className:"ab-DataChangeHistoryPopup--grid","data-name":"data-change-history--grid",flex:1,alignSelf:"stretch",flexDirection:"column"},Ur.createElement("div",{id:u}),Ur.createElement("div",{id:d,className:v,style:{height:"100%"}}),Ur.createElement(Nye,{adaptableContainerId:u,agGridContainerId:d,changeHistoryLog:this.props.changeHistoryLog,onUndoChange:S}))))}};function zpt(t,e){return{changeHistoryLog:t.System.DataChangeHistory.logs,changeHistoryMode:t.System.DataChangeHistory.currentMode,activationTime:t.System.DataChangeHistory.enableTime,suspensionTime:t.System.DataChangeHistory.suspendTime}}function qpt(t){return{onChangeHistoryEnable:()=>t(Bu()),onChangeHistoryDisable:()=>t(Vu()),onChangeHistorySuspend:()=>t(gf()),onChangeHistoryResume:()=>t(bf())}}var kye=We(zpt,qpt)(Lye);l();var ei=y(require("react"));var bp=y(re());var Bye=class extends ei.Component{constructor(e){super(e)}render(){let{changeHistoryMode:e,activationTime:r,suspensionTime:n,onChangeHistoryEnable:o,onChangeHistoryDisable:i,onChangeHistorySuspend:a,onChangeHistoryResume:s}=this.props,u=e==="ACTIVE",d=e==="INACTIVE",c=e==="SUSPENDED",m=ei.createElement(bp.Flex,{className:"ab-DataChangeHistoryPanel--button-panel",paddingY:2,style:{gap:"var(--ab-space-1)"}},d&&ei.createElement(fs,{className:"ab-DataChangeHistoryPanel--button-activate","data-name":"data-change-history--button-activate",tooltip:"",onClick:()=>o()}),c&&ei.createElement(fs,{className:"ab-DataChangeHistoryPanel--button-resume","data-name":"data-change-history--button-resume",tooltip:"Resume tracking data changes",onClick:()=>s()}),u&&ei.createElement(Ny,{className:"ab-DataChangeHistoryPanel--button-suspend","data-name":"data-change-history--button-suspend",tooltip:"Suspend tracking data changes",onClick:()=>a()}),(u||c)&&ei.createElement(Ly,{className:"ab-DataChangeHistoryPanel--button-deactivate","data-name":"data-change-history--button-deactivate",tooltip:"Deactivate data change tracking",onClick:()=>i()})),f=`${this.props.api.internalApi.getAdaptableOptions().userInterfaceOptions.dateInputOptions.dateFormat} HH:mm:ss`,h=ei.createElement(bp.Flex,{className:"ab-DataChangeHistoryPanel--status-panel",alignItems:"center",style:{gap:"var(--ab-space-1)"}},u&&ei.createElement(jC,{label:!!r&&`since ${Co(r,{Pattern:f})}`},ei.createElement(bp.Text,{className:"ab-DataChangeHistoryPanel--status-active",fontSize:2,style:{color:"var(--ab-color-success)"}},"Active")),c&&ei.createElement(jC,{label:!!n&&`since ${Co(n,{Pattern:f})}`},ei.createElement(bp.Text,{className:"ab-DataChangeHistoryPanel--status-suspended",fontSize:2,style:{color:"var(--ab-color-warn)"}},"Suspended")),d&&ei.createElement(bp.Text,{className:"ab-DataChangeHistoryPanel--status-disabled",fontSize:2},"Activate data tracking"));return ei.createElement(bp.Flex,{flexDirection:"row"},m,h)}};function Qpt(t){return{changeHistoryMode:t.System.DataChangeHistory.currentMode,activationTime:t.System.DataChangeHistory.enableTime,suspensionTime:t.System.DataChangeHistory.suspendTime}}function jpt(t){return{onChangeHistoryEnable:()=>t(Bu()),onChangeHistoryDisable:()=>t(Vu()),onChangeHistorySuspend:()=>t(gf()),onChangeHistoryResume:()=>t(bf())}}var Vye=We(Qpt,jpt)(Bye);l();var Cp=y(require("react"));var q8=y(re());var Gye=t=>{let e=t.viewType==="Toolbar",r=e?"DashboardToolbar":"ToolPanel";return Cp.createElement(q8.Flex,{flexDirection:e?"row":"column",className:He(t.accessLevel=="ReadOnly"?Sn:"",`ab-${r}__StateManagement__wrap`)},Cp.createElement(q8.Flex,{flexDirection:"row"},Cp.createElement(cO,{tooltip:"Load Predefined Config",variant:"text",icon:"upload",onLoad:n=>t.api.configApi.reloadPredefinedConfig(n),accessLevel:t.accessLevel},!e&&"Load"),Cp.createElement(mO,{icon:"trash",tooltip:"Clear User State",variant:"text",onClick:()=>t.api.configApi.reloadPredefinedConfig(),accessLevel:t.accessLevel},!e&&"Clear")),Cp.createElement(cp,{api:t.api,type:"allState"},"All State"),Cp.createElement(cp,{api:t.api,type:"userState"},"User State"),Cp.createElement(cp,{api:t.api,type:"predefinedConfig"},"Predefined Config"))};var Uye={ExpandedQueryPopup:whe,BulkUpdatePopup:qSe,DashboardPopup:LSe,StateManagementPopup:WSe,GridInfoPopup:wSe,LayoutPopup:Qbe,QuickSearchPopup:phe,CellSummaryPopup:jSe,SmartEditPopup:nhe,ThemePopup:Fhe,TeamSharingPopup:FSe,ToolPanelPopup:Cbe,SystemStatusPopup:XSe,DataChangeHistoryPopup:kye},kO=new Map([[On,oye],[Qa,aye],[Ml,sye],[vo,pye],[_l,fye],[Vn,bye],[Bo,Sye],[Or,vye],[pa,xye],[ca,Rye],[Ku,Dye],[Xu,Tye],[Yu,Fye],[Nl,Vye],[Qf,Gye]]);l();var Na=y(require("react"));l();l();var Hr=y(require("react"));var ml=y(re());var Ypt=t=>{var T,w,N,M,A,I;let e=ht(),r=Ht(),[n,o]=Hr.useState(!1),[i,a]=Hr.useState(null),s=(T=t.module)==null?void 0:T.getViewProperties(),u=(w=s.getEditWizard)==null?void 0:w.call(s,t.data.abObject),d=(N=s==null?void 0:s.getDeleteAction)==null?void 0:N.call(s,t.data.abObject),c=e.api.teamSharingApi.isTeamSharingActivated()&&e.api.teamSharingApi.hasTeamSharingFullRights(),m=t.module.moduleInfo.FriendlyName,f=e.api.internalApi.getEntitlementService().getEntitlementAccessLevelForModule(t.module.moduleInfo.ModuleName),h=xt.getAppropriateAccessLevel(t.data.abObject,f),g=`${t.baseClassName}__Item`,C=He(g,t.data.abObject.IsSuspended&&`${g}--is-suspended`),S=()=>{o(!1),a(null)},v=O=>{o(!0),O&&a(O)},x=Boolean(s.getSuspendAction),R=(A=(M=s==null?void 0:s.actions)==null?void 0:M.map)==null?void 0:A.call(M,(O,z)=>Hr.createElement(O,{data:t.data.abObject,key:z})),D=26;return Hr.createElement(ml.Flex,{as:"li",mb:3,className:C},Hr.createElement(ml.Box,{flex:1,className:`${g}__rows`},(I=t.data.items)==null?void 0:I.map((O,z)=>{var F;return Hr.createElement(ml.Flex,{key:z,mb:2,className:`${g}__row`},Hr.createElement(ml.Box,{className:`${g}__label`,mr:3},O.label||O.name,u&&Hr.createElement(Z,{accessLevel:h,className:`${g}__edit-property`,ml:1,icon:"edit",tooltip:"edit",iconSize:18,variant:"text",onClick:()=>{v(O.name)}})),Hr.createElement(ml.Box,{flex:1,className:`${g}__values`},O.view&&Hr.createElement(O.view,{data:t.data.abObject}),Boolean((O==null?void 0:O.values)&&((F=O==null?void 0:O.values)==null?void 0:F.length))&&Hr.createElement(Zo,{readOnly:!0,options:O.values,value:O.values,allowWrap:!0,toIdentifier:B=>B,toLabel:B=>Hr.createElement(Hr.Fragment,null,B)})))})),Hr.createElement(ml.Flex,{flexDirection:"column",className:`${g}__buttons`},Hr.createElement(ml.Flex,{justifyContent:"end"},R,c&&Hr.createElement(hy,{iconSize:D,Header:`TeamSharing ${m}`,accessLevel:h,onShare:O=>r(Go(t.data.abObject,t.module.moduleInfo.ModuleName,O))}),d&&Hr.createElement($d,{iconSize:D,ConfirmationMsg:`Are you sure you want to delete this ${m}?`,ConfirmationTitle:`Delete ${m}`,ConfirmAction:d,accessLevel:h}),Hr.createElement(Kd,{iconSize:D,disabled:!Boolean(u),accessLevel:h,onClick:()=>v()})),Hr.createElement(ml.Box,{flex:1}),x&&Hr.createElement(ml.Flex,{justifyContent:"end"},Hr.createElement(E2,{onSuspend:()=>r(s.getSuspendAction(t.data.abObject)),onUnSuspend:()=>r(s.getUnSuspendAction(t.data.abObject)),suspendableObject:t.data.abObject,accessLevel:h}))),n&&u&&Hr.createElement(u,{defaultCurrentSectionName:i,moduleInfo:t.module.moduleInfo,data:t.data.abObject,configEntities:null,onCloseWizard:S,onFinishWizard:S}))},Q8=t=>{var r;let e="ab-Adaptable-Object-List";return Hr.createElement("ul",{className:e},(r=t==null?void 0:t.items)==null?void 0:r.map(n=>Hr.createElement(Ypt,{key:n.abObject.Uuid,baseClassName:e,data:n,module:t.module})))};var Hye=t=>{var h,g,C;es(S=>S);let[e,r]=Na.useState(!1),[n,o]=Na.useState(null),i=t.module.moduleInfo,a=(h=t.module)==null?void 0:h.toViewAll(),s=t.module.getViewProperties(),u=(g=s==null?void 0:s.getEditWizard)==null?void 0:g.call(s),d=s.emptyView,c=null;typeof d=="function"?c=Na.createElement(d,{module:t.module}):typeof d=="string"&&(c=d);let m=null;if((C=s==null?void 0:s.abObjectTypes)==null?void 0:C.length){let S=s==null?void 0:s.abObjectTypes.map(v=>{var x;return{disabled:(v==null?void 0:v.accessLevel)==="ReadOnly",onClick:()=>{o(v),r(!0)},label:(x=v.label)!=null?x:v.name}});m=Na.createElement(rt,{tone:"accent",variant:"raised",columns:["label"],items:S,tooltip:"Create "+i.FriendlyName},Na.createElement(Ct,{name:"plus"})," New")}else u&&(m=Na.createElement(ss,{onClick:()=>r(!0),tooltip:"Create "+i.FriendlyName,accessLevel:t.accessLevel,style:{color:"var(--ab-color-text-on-add)",fill:"var(--ab-color-text-on-add)",background:"var(--ab-color-action-add)"}}));let f=()=>{o(null),r(!1)};return Na.createElement(Rn,{glyphicon:i.Glyph,infoLink:i.HelpPage,headerText:i.FriendlyName,button:m},(a==null?void 0:a.length)?Na.createElement(Q8,{module:t.module,items:a}):Na.createElement(Bg,null,c!=null?c:`Click 'New' to create a new ${i.FriendlyName}`),e&&Na.createElement(u,{abObjectType:n,moduleInfo:i,data:null,configEntities:null,onCloseWizard:f,onFinishWizard:f}))};var zye=t=>{var s,u;let e=Bt.getModalContainer(t.api.internalApi.getAdaptableOptions(),document),r=t.module.moduleInfo.ModuleName,n=t.api.internalApi.getEntitlementService().getEntitlementAccessLevelForModule(r),o=t.api.internalApi.getModuleService().getModuleInfoByModule(r),i={popupParams:t.moduleParams,onClearPopupParams:()=>t.onClearParams?t.onClearParams():null,onClosePopup:()=>{t.onHide&&t.onHide()},teamSharingActivated:t.api.teamSharingApi.isTeamSharingActivated()&&t.api.teamSharingApi.hasTeamSharingFullRights(),modalContainer:e,accessLevel:n,api:t.api,moduleInfo:o},a=((u=Uye)==null?void 0:u[(s=t==null?void 0:t.componentName)!=null?s:o.Popup])||Hye;return Wye.createElement(a,b({module:t.module},i))};l();var qye=t=>{let e=window.innerHeight;return{x:window.innerWidth/2-t.width/2,y:e/2-t.height/2}},Qye=()=>{let t=window.innerHeight,e=window.innerWidth;return{height:mf(600,0,t*.9),width:mf(800,0,e*.9)}},jye=()=>{let t=window.innerHeight,e=window.innerWidth;return{height:mf(t*.9,0,800),width:mf(e*.9,0,800)}};l();var j8=["BulkUpdate","SmartEdit","CellSummary"],Yye=["Dashboard","ToolPanel","StateManagement","-","Alert","CalculatedColumn","ConditionalStyle","CustomSort","DataSource","Export","Filter","FlashingCell","FormatColumn","FreeTextColumn","Layout","PlusMinus","Query","QuickSearch","Schedule","Shortcut","-","GridInfo","SystemStatus","DataChangeHistory","TeamSharing","Theme"];l();var $ye=y(require("react"));l();var Sp=y(require("react"));var Kye=o=>{var i=o,{render:t,frameworkComponent:e,componentName:r="N/A"}=i,n=Ye(i,["render","frameworkComponent","componentName"]);let a=Sp.useRef(),s=ht(),[u,d]=Sp.useState("");return Sp.useLayoutEffect(()=>{let c=a.current,m=s.api;if(t){let f=t({visible:!0,node:c,adaptableApi:m});d(f)}else e&&m.internalApi.createFrameworkComponent(c,e,"toolbar");return()=>{t?t({visible:!1,node:c,adaptableApi:m}):e&&m.internalApi.destroyFrameworkComponent(c,e,r)}},[]),Sp.createElement("div",E(b({},n),{dangerouslySetInnerHTML:{__html:u},ref:a}))};var Xye=t=>$ye.createElement(Kye,{render:t.settingsPanel.render,componentName:t.settingsPanel.name,frameworkComponent:t.settingsPanel.frameworkComponent});var K8=t=>{var w,N,M,A,I;let e=ht(),r=Ht(),n=e.adaptableOptions.settingsPanelOptions,o=e.api.internalApi.getModuleFriendlyName("SettingsPanel"),i=es(O=>{var z;return(z=O==null?void 0:O.Grid)==null?void 0:z.ModuleDropdownMenuItems}),a=fl.useMemo(()=>{var F;let O=(F=n==null?void 0:n.navigation)==null?void 0:F.items;O||(O=[...Yye],n.customSettingsPanels&&O.push(...n.customSettingsPanels.map(B=>B.name)));let z=i.filter(B=>B.module!=="General"&&!j8.includes(B.module)&&B.isVisible);return O.map(B=>{var te,oe;if(B==="-")return B;let Y=(oe=(te=n==null?void 0:n.customSettingsPanels)==null?void 0:te.find)==null?void 0:oe.call(te,X=>X.name===B),ie=null;return Y&&(ie={label:Y.name,isVisible:!0,reduxAction:dr(null,Y.name,null,{isCustomSettingsPanel:!0})}),ie||z.find(X=>X.module===B)}).filter(Boolean)},[i]),s=(w=t.moduleProps)==null?void 0:w.isCustomSettingsPanel,u=s&&n.customSettingsPanels.find(O=>O.name===t.componentName),d=t.componentModule,c=(N=a.find(O=>O!=="-"))==null?void 0:N.module;!u&&!t.componentModule&&c!=="General"&&(d=c);let m=t.api.internalApi.getEntitlementService().getEntitlementAccessLevelForModule(d),f=t.api.internalApi.getModuleService().getModuleById(d),h=f==null?void 0:f.moduleInfo,g=j8.includes(h==null?void 0:h.ModuleName)||t.componentName&&t.componentName!==h.Popup,C="ab-Adaptable-Popup",S=He(C,`${C}--${(M=n.popupType)!=null?M:"window"}`,g?`${C}--action-popup`:`${C}--settings-popup`),v=n.popupType==="window",x={maxWidth:1400,maxHeight:1200};v?x={height:"100%"}:g&&(x={maxWidth:800,maxHeight:450});let R=g?`action-${h.FriendlyName}`:"settings",D=es(O=>{var z,F;return(F=(z=O==null?void 0:O.System)==null?void 0:z.SettingsPanel)==null?void 0:F[R]});if(!D){let O=g?Qye():(A=n.size)!=null?A:jye();D={size:O,position:(I=n.position)!=null?I:qye(O)}}let T=O=>{r(TW(R,O))};return fl.createElement(Nme.Provider,{value:{hidePopup:()=>{t.onHide&&t.onHide()}}},fl.createElement(Gn,b({windowModal:v,fixed:!1,windowModalProps:{handleSelector:g?`.${C} .ab-Panel__header`:".ab-Adaptable-Popup__TopBar",size:D.size,position:D.position,onChange:T},style:x,padding:0,height:v?null:"90vh",width:v?null:"90vw",className:S,onDismiss:t.onHide,isOpen:!0,showCloseButton:!0},t.moduleProps),!g&&fl.createElement(Fme,{icon:n.icon},o),fl.createElement(Y8.Flex,{"data-name":t.componentName,flexDirection:"row",flex:"1 1 0",style:{minHeight:0},className:m=="ReadOnly"?Sn:""},!g&&fl.createElement(_me,{menuItems:a,api:t.api,moduleInfo:h,activeCustomSettingPanel:u,customSettingsPanels:n.customSettingsPanels}),fl.createElement(Y8.Flex,{flex:1,className:"ab-Adaptable-Popup__Body"},s?fl.createElement(Xye,{settingsPanel:u}):fl.createElement(zye,{api:t.api,module:f,componentName:t.componentName,moduleParams:t.moduleParams,onClearParams:t.onClearParams,onHide:t.onHide})))))};l();var jo=y(require("react"));var Am=y(re());var $8=class extends jo.Component{constructor(e){super(e);this.changeContent=e=>{this.setState({promptText:e.target.value})};this.state={promptText:""}}render(){return this.props.showPopup&&jo.createElement(Gn,{modal:!0,"data-name":"prompt-popup",isOpen:this.props.showPopup,onDismiss:this.props.onClose,showCloseButton:!1,style:{minHeight:"auto",maxWidth:"50%"}},jo.createElement(Am.Flex,{flexDirection:"column"},jo.createElement(Am.Box,{marginTop:3,mx:2},this.props.header),De.IsNotNullOrEmpty(this.props.message)&&jo.createElement(Am.Box,{marginTop:3,mx:2}," ",jo.createElement("div",{style:{display:"flex",alignItems:"center"}},this.props.message.split(`
279
+ Provided: [type: `+typeof o+"] (value: "+o+")"):q(!1)),xit(t.index)||(p.NODE_ENV!=="production"?q(!1,n(o)+" requires an integer index prop"):q(!1)),t.mapped.type!=="DRAGGING"&&(obe(r()),t.isEnabled&&(Kge(e,o)||(p.NODE_ENV!=="production"?q(!1,n(o)+" Unable to find drag handle"):q(!1))))})}function Eut(t){Y9(function(){var e=(0,ct.useRef)(t);sy(function(){t!==e.current&&(p.NODE_ENV!=="production"?q(!1,"Draggable isClone prop value changed during component life"):q(!1))},[t])})}function Rut(t){t.preventDefault()}function Iut(t){var e=(0,ct.useRef)(null),r=gt(function(A){e.current=A},[]),n=gt(function(){return e.current},[]),o=p2(g2),i=o.contextId,a=o.dragHandleUsageInstructionsId,s=o.registry,u=p2(J9),d=u.type,c=u.droppableId,m=or(function(){return{id:t.draggableId,index:t.index,type:d,droppableId:c}},[t.draggableId,t.index,d,c]),f=t.children,h=t.draggableId,g=t.isEnabled,C=t.shouldRespectForcePress,S=t.canDragInteractiveElements,v=t.isClone,x=t.mapped,R=t.dropAnimationFinished;if(xut(t,i,n),Eut(v),!v){var D=or(function(){return{descriptor:m,registry:s,getDraggableRef:n,canDragInteractiveElements:S,shouldRespectForcePress:C,isEnabled:g}},[m,s,n,S,C,g]);Aut(D)}var T=or(function(){return g?{tabIndex:0,role:"button","aria-describedby":a,"data-rbd-drag-handle-draggable-id":h,"data-rbd-drag-handle-context-id":i,draggable:!1,onDragStart:Rut}:null},[i,a,h,g]),w=gt(function(A){x.type==="DRAGGING"&&(!x.dropping||A.propertyName==="transform"&&R())},[R,x]),N=or(function(){var A=yut(x),I=x.type==="DRAGGING"&&x.dropping?w:null,O={innerRef:r,draggableProps:{"data-rbd-draggable-context-id":i,"data-rbd-draggable-id":h,style:A,onTransitionEnd:I},dragHandleProps:T};return O},[i,T,h,x,w,r]),M=or(function(){return{draggableId:m.id,type:m.type,source:{index:m.index,droppableId:m.droppableId}}},[m.droppableId,m.id,m.index,m.type]);return f(N,x.snapshot,M)}var ibe=function(t,e){return t===e},abe=function(t){var e=t.combine,r=t.destination;return r?r.droppableId:e?e.droppableId:null},Dut=function(e){return e.combine?e.combine.draggableId:null},Put=function(e){return e.at&&e.at.type==="COMBINE"?e.at.combine.draggableId:null};function Tut(){var t=(0,Jn.default)(function(o,i){return{x:o,y:i}}),e=(0,Jn.default)(function(o,i,a,s,u){return{isDragging:!0,isClone:i,isDropAnimating:Boolean(u),dropAnimation:u,mode:o,draggingOver:a,combineWith:s,combineTargetFor:null}}),r=(0,Jn.default)(function(o,i,a,s,u,d,c){return{mapped:{type:"DRAGGING",dropping:null,draggingOver:u,combineWith:d,mode:i,offset:o,dimension:a,forceShouldAnimate:c,snapshot:e(i,s,u,d,null)}}}),n=function(i,a){if(i.isDragging){if(i.critical.draggable.id!==a.draggableId)return null;var s=i.current.client.offset,u=i.dimensions.draggables[a.draggableId],d=zi(i.impact),c=Put(i.impact),m=i.forceShouldAnimate;return r(t(s.x,s.y),i.movementMode,u,a.isClone,d,c,m)}if(i.phase==="DROP_ANIMATING"){var f=i.completed;if(f.result.draggableId!==a.draggableId)return null;var h=a.isClone,g=i.dimensions.draggables[a.draggableId],C=f.result,S=C.mode,v=abe(C),x=Dut(C),R=i.dropDuration,D={duration:R,curve:G9.drop,moveTo:i.newHomeClientOffset,opacity:x?ty.opacity.drop:null,scale:x?ty.scale.drop:null};return{mapped:{type:"DRAGGING",offset:i.newHomeClientOffset,dimension:g,dropping:D,draggingOver:v,combineWith:x,mode:S,forceShouldAnimate:null,snapshot:e(S,h,v,x,D)}}}return null};return n}function lbe(t){return{isDragging:!1,isDropAnimating:!1,isClone:!1,dropAnimation:null,mode:null,draggingOver:null,combineTargetFor:t,combineWith:null}}var wut={mapped:{type:"SECONDARY",offset:fo,combineTargetFor:null,shouldAnimateDisplacement:!0,snapshot:lbe(null)}};function Out(){var t=(0,Jn.default)(function(a,s){return{x:a,y:s}}),e=(0,Jn.default)(lbe),r=(0,Jn.default)(function(a,s,u){return s===void 0&&(s=null),{mapped:{type:"SECONDARY",offset:a,combineTargetFor:s,shouldAnimateDisplacement:u,snapshot:e(s)}}}),n=function(s){return s?r(fo,s,!0):null},o=function(s,u,d,c){var m=d.displaced.visible[s],f=Boolean(c.inVirtualList&&c.effected[s]),h=m2(d),g=h&&h.draggableId===s?u:null;if(!m){if(!f)return n(g);if(d.displaced.invisible[s])return null;var C=Pg(c.displacedBy.point),S=t(C.x,C.y);return r(S,g,!0)}if(f)return n(g);var v=d.displacedBy.point,x=t(v.x,v.y);return r(x,g,m.shouldAnimate)},i=function(s,u){if(s.isDragging)return s.critical.draggable.id===u.draggableId?null:o(u.draggableId,s.critical.draggable.id,s.impact,s.afterCritical);if(s.phase==="DROP_ANIMATING"){var d=s.completed;return d.result.draggableId===u.draggableId?null:o(u.draggableId,d.result.draggableId,d.impact,d.afterCritical)}return null};return i}var Fut=function(){var e=Tut(),r=Out(),n=function(i,a){return e(i,a)||r(i,a)||wut};return n},Mut={dropAnimationFinished:Bge},_ut=We(Fut,Mut,null,{context:Q9,pure:!0,areStatePropsEqual:ibe})(Iut);function sbe(t){var e=p2(J9),r=e.isUsingCloneFor;return r===t.draggableId&&!t.isClone?null:ct.default.createElement(_ut,t)}function bi(t){var e=typeof t.isDragDisabled=="boolean"?!t.isDragDisabled:!0,r=Boolean(t.disableInteractiveElementBlocking),n=Boolean(t.shouldRespectForcePress);return ct.default.createElement(sbe,bt({},t,{isClone:!1,isEnabled:e,canDragInteractiveElements:r,shouldRespectForcePress:n}))}function Nut(t){var e=(0,ct.useContext)(g2);e||(p.NODE_ENV!=="production"?q(!1,"Could not find app context"):q(!1));var r=e.contextId,n=e.isMovementAllowed,o=(0,ct.useRef)(null),i=(0,ct.useRef)(null),a=t.children,s=t.droppableId,u=t.type,d=t.mode,c=t.direction,m=t.ignoreContainerClipping,f=t.isDropDisabled,h=t.isCombineEnabled,g=t.snapshot,C=t.useClone,S=t.updateViewportMaxScroll,v=t.getContainerForClone,x=gt(function(){return o.current},[]),R=gt(function(z){o.current=z},[]),D=gt(function(){return i.current},[]),T=gt(function(z){i.current=z},[]);mut({props:t,getDroppableRef:x,getPlaceholderRef:D});var w=gt(function(){n()&&S({maxScroll:Wge()})},[n,S]);iut({droppableId:s,type:u,mode:d,direction:c,isDropDisabled:f,isCombineEnabled:h,ignoreContainerClipping:m,getDroppableRef:x});var N=ct.default.createElement(fut,{on:t.placeholder,shouldAnimate:t.shouldAnimatePlaceholder},function(z){var F=z.onClose,B=z.data,Y=z.animate;return ct.default.createElement(uut,{placeholder:B,onClose:F,innerRef:T,animate:Y,contextId:r,onTransitionEnd:w})}),M=or(function(){return{innerRef:R,placeholder:N,droppableProps:{"data-rbd-droppable-id":s,"data-rbd-droppable-context-id":r}}},[r,s,N,R]),A=C?C.dragging.draggableId:null,I=or(function(){return{droppableId:s,type:u,isUsingCloneFor:A}},[s,A,u]);function O(){if(!C)return null;var z=C.dragging,F=C.render,B=ct.default.createElement(sbe,{draggableId:z.draggableId,index:z.source.index,isClone:!0,isEnabled:!0,shouldRespectForcePress:!1,canDragInteractiveElements:!0},function(Y,ie){return F(Y,ie,z)});return pge.default.createPortal(B,v())}return ct.default.createElement(J9.Provider,{value:I},a(M,g),O())}var A9=function(e,r){return e===r.droppable.type},dge=function(e,r){return r.draggables[e.draggable.id]},Lut=function(){var e={placeholder:null,shouldAnimatePlaceholder:!0,snapshot:{isDraggingOver:!1,draggingOverWith:null,draggingFromThisWith:null,isUsingPlaceholder:!1},useClone:null},r=bt({},e,{shouldAnimatePlaceholder:!1}),n=(0,Jn.default)(function(a){return{draggableId:a.id,type:a.type,source:{index:a.index,droppableId:a.droppableId}}}),o=(0,Jn.default)(function(a,s,u,d,c,m){var f=c.descriptor.id,h=c.descriptor.droppableId===a;if(h){var g=m?{render:m,dragging:n(c.descriptor)}:null,C={isDraggingOver:u,draggingOverWith:u?f:null,draggingFromThisWith:f,isUsingPlaceholder:!0};return{placeholder:c.placeholder,shouldAnimatePlaceholder:!1,snapshot:C,useClone:g}}if(!s)return r;if(!d)return e;var S={isDraggingOver:u,draggingOverWith:f,draggingFromThisWith:null,isUsingPlaceholder:!0};return{placeholder:c.placeholder,shouldAnimatePlaceholder:!0,snapshot:S,useClone:null}}),i=function(s,u){var d=u.droppableId,c=u.type,m=!u.isDropDisabled,f=u.renderClone;if(s.isDragging){var h=s.critical;if(!A9(c,h))return r;var g=dge(h,s.dimensions),C=zi(s.impact)===d;return o(d,m,C,C,g,f)}if(s.phase==="DROP_ANIMATING"){var S=s.completed;if(!A9(c,S.critical))return r;var v=dge(S.critical,s.dimensions);return o(d,m,abe(S.result)===d,zi(S.impact)===d,v,f)}if(s.phase==="IDLE"&&s.completed&&!s.shouldFlush){var x=s.completed;if(!A9(c,x.critical))return r;var R=zi(x.impact)===d,D=Boolean(x.impact.at&&x.impact.at.type==="COMBINE"),T=x.critical.droppable.id===d;return R?D?e:r:T?e:r}return r};return i},kut={updateViewportMaxScroll:Fat};function But(){return document.body||(p.NODE_ENV!=="production"?q(!1,"document.body is not ready"):q(!1)),document.body}var Vut={mode:"standard",type:"DEFAULT",direction:"vertical",isDropDisabled:!1,isCombineEnabled:!1,ignoreContainerClipping:!1,renderClone:null,getContainerForClone:But},Jo=We(Lut,kut,null,{context:Q9,pure:!0,areStatePropsEqual:ibe})(Nut);Jo.defaultProps=Vut;l();var Zn=y(require("react")),dbe=y(re()),zd=require("react");l();var C2=require("react"),ube=t=>{let e=(0,C2.useRef)(t);return e.current=t,(0,C2.useCallback)(()=>e.current,[])};var Gut=({children:t,index:e,hidden:r,observerRef:n})=>{var c;let[o,i]=(0,zd.useState)(!1);Zn.useEffect(()=>{let m=setTimeout(()=>{i(!0)},50);return()=>clearTimeout(m)},[]);let a=(0,zd.useRef)(null),s=m=>{var f,h;if(m){if(!m.getAttribute("data-index"))throw'The element you render from "renderItem" should accept a "data-index" prop.';(f=n.current)==null||f.observe(m)}else(h=n.current)==null||h.unobserve(a.current);a.current=m},u=Zn.Children.toArray(t)[0],d={ref:s,"data-index":e};return(r||!o)&&(d.style=E(b({},(c=u.props)==null?void 0:c.style),{visibility:"hidden"})),u=Zn.cloneElement(u,d),Zn.createElement(Zn.Fragment,null,u)},pbe=t=>{let S=t,{allowWrap:e,count:r,direction:n,renderItem:o,renderEllipsis:i}=S,a=Ye(S,["allowWrap","count","direction","renderItem","renderEllipsis"]),s=(0,zd.useRef)(null),u=(0,zd.useRef)(null),[d,c]=Zn.useState(t.count),[m]=(0,zd.useState)(()=>new Set),[f]=(0,zd.useState)(()=>new Set),h=ube(t.count);Zn.useEffect(()=>{let v=R=>{let D=h(),T=N=>N.intersectionRatio===1;R.forEach(N=>{let{target:M}=N,A=Number(M.getAttribute("data-index"));T(N)?(m.add(A),f.delete(A)):(m.delete(A),f.add(A))});let w=Math.min(D,...f.values());c(w)};if(e)return;let x=new IntersectionObserver(v,{root:s.current,threshold:.01});return u.current=x,()=>{x.disconnect()}},[]);let g=Ni(r,r);Zn.useLayoutEffect(()=>{e||d===g&&c(r)},[r,d,e]);let C=[...new Array(r)].map((v,x)=>{var T;let R=r-1-x,D=e?!1:x>=d;return Zn.createElement(Zn.Fragment,{key:x},Zn.createElement(Gut,{hidden:D,index:x,observerRef:u},o(x,r)),!e&&x===d-1&&R?(T=i==null?void 0:i({remaining:R}))!=null?T:"...":null)});return Zn.createElement(dbe.Flex,E(b({ref:s,flexWrap:e?"wrap":"nowrap",alignItems:"center","data-name":"options-container"},a),{flexDirection:n==="horizontal"?"row":"column"}),C)};l();var as=(t,e,r)=>{let n=[...t];if(e>t.length-1)return n;r>t.length-1&&(r=t.length-1);let[o]=n.splice(e,1);return n.splice(r,0,o),n};l();l();var S2=y(require("react")),cbe=y(re());var Dt=S2.forwardRef((t,e)=>{var r,n,o,i;return S2.createElement(cbe.Box,E(b({},t),{ref:e,className:He("ab-Tag",t.className),backgroundColor:"primary",paddingTop:(r=t.paddingTop)!=null?r:1,paddingBottom:(n=t.paddingBottom)!=null?n:1,paddingLeft:(o=t.paddingLeft)!=null?o:2,paddingRight:(i=t.paddingRight)!=null?i:2,style:b({borderRadius:"var(--ab__border-radius)"},t.style)}))});function mbe({options:t,value:e,toIdentifier:r,selectedMap:n}){let o=(0,pu.useMemo)(()=>{if(n)return;let a=new Map([]);return t.forEach(s=>{a.set(r(s),s)}),a},[t,n]);return{selectedMap:(0,pu.useMemo)(()=>{if(n)return n;let a=new Map([]);return e.forEach(s=>{var u;a.set(s,(u=o.get(s))!=null?u:null)}),a},[o,n,e]),optionsMap:o}}function Jc(t){let{options:e,value:r,filter:n,onChange:o,allowReorder:i,singleSelect:a,toLabel:s,toIdentifier:u,noSelectionLabel:d,clearSelectionLabel:c,showSelectedOnlyLabel:m,xSelectedLabel:f,selectionBoxPosition:h="bottom",onShowSelectedOnlyChange:g,isDisabled:C}=t,[S,v]=(0,pu.useState)(!1),x=(0,pu.useCallback)(N=>{v(N),g==null||g(N)},[g]),{selectedMap:R}=mbe({options:e,toIdentifier:u,value:r}),D=(0,pu.useCallback)(()=>{let N=[...R.keys()];!N.length&&S&&x(!1),o(N,new Map(R))},[o,S,R]),T=(N,M)=>{let A=u(N),I=i?null:s(N),O=typeof i=="function"?i(N):i,z=(F,B)=>gr.createElement(Ci.Flex,E(b({alignItems:"center",mt:M?1:0,key:A,backgroundColor:"primary",padding:2,"data-index":M,"data-id":A,"data-name":"option"},F),{style:b({borderRadius:"var(--ab__border-radius)"},F==null?void 0:F.style)}),gr.createElement(Ci.Flex,{flexDirection:"row",alignItems:"center"},O?gr.createElement(Ci.Box,b({mr:3},B),gr.createElement(Ct,{name:"drag",style:{cursor:"grab"}})):null,a?gr.createElement(ke,{checked:R.has(A),"data-name":A,onChange:Y=>{Y?(R.clear(),R.set(A,N)):R.delete(A),D()}},I):gr.createElement(he,{"data-name":A,disabled:C?C(N):!1,onChange:Y=>{Y?R.set(A,N):R.delete(A),D()},checked:R.has(A)},I),gr.createElement(Ci.Text,{ml:2},i?s(N):null)));return gr.createElement(bi,{key:A,index:M,draggableId:`${A}`,isDragDisabled:!O},F=>z(E(b({ref:F.innerRef},F.draggableProps),{style:F.draggableProps.style}),F.dragHandleProps))},w=()=>{let N=gr.createElement(Ci.Box,{fontSize:2,style:{whiteSpace:"nowrap",flex:"none"}},r.length?gr.createElement(gr.Fragment,null,gr.createElement(Z,{tabIndex:0,px:1,mr:1,variant:"text",style:{textDecoration:"underline",display:"inline-block"},onClick:()=>{R.clear(),D()}},c!=null?c:"Clear selection."),f?f(r.length):`Your selected ${r.length} ${r.length>1?"options":"option"}.`):gr.createElement(gr.Fragment,null,d!=null?d:"No selected options",a?null:gr.createElement(Z,{px:1,variant:"text",style:{textDecoration:"underline",display:"inline-block"},onClick:()=>{e.forEach(M=>{R.set(u(M),M)}),D()}},"Select all")));return gr.createElement(Ci.Box,{mt:h==="bottom"?3:0,mb:h==="top"?3:0},N,gr.createElement(Zo,{options:e,value:r,selectedMap:R,toLabel:s,toIdentifier:u,onClearOption:D}))};return gr.createElement(Ci.Flex,{flexDirection:"column",flex:1,className:"ab-ValueSelector",style:{overflow:"hidden"}},h==="top"&&w(),gr.createElement(wg,{onDragEnd:N=>{let{source:M,destination:A}=N,I=[],O=[];for(let[B,Y]of R)Y!=null?I.push(B):O.push(B);let z=new Map(R),F=as(I,M.index,A.index);F.push(...O),R.clear(),F.forEach(B=>{R.set(B,z.get(B))}),D()}},gr.createElement(Ci.Flex,{flexDirection:"column",flex:1,style:{overflow:"auto"}},gr.createElement(Ci.Box,{style:{position:"sticky",top:0,zIndex:1e4}},gr.createElement(Ci.Box,{mr:1,mt:1,px:2,"data-name":"show-selected-only",style:{position:"absolute",top:0,right:0,borderRadius:"var(--ab__border-radius)",overflow:"hidden"},fontSize:2,backgroundColor:"defaultbackground"},gr.createElement(he,{disabled:!r.length,checked:S,onChange:x},m!=null?m:"Show selected only"))),gr.createElement(Jo,{droppableId:"droppable"},N=>gr.createElement("div",b({ref:N.innerRef},N.droppableProps),e.filter(M=>{let A=!0;return n&&(A=n(M)),A=A&&(S?R.has(u(M)):!0),A}).map(T),N.placeholder)))),h==="bottom"&&w())}Jc.defaultProps={allowReorder:!0};function Zo(t){let{allowWrap:e,value:r,toLabel:n,onChange:o,onClearOption:i,readOnly:a,renderLabel:s}=t,{selectedMap:u}=mbe(t),d=m=>{let f=r[m],h=()=>{u.delete(f),i==null||i(f),o&&o([...u.keys()],new Map(u))},g=u.get(f),C=g!=null?n(g):`${f}`;return gr.createElement(Dt,{flexDirection:"row",alignItems:"center","data-name":"selected-option","data-id":f,mt:e?1:0,mr:1,className:"ab-ValueSelector__tag",onClick:S=>{var v,x,R;(R=(x=(v=S.target)==null?void 0:v.lastChild)==null?void 0:x.focus)==null||R.call(x)},style:{flex:"none"}},s?s(C):C,a?null:gr.createElement(Z,{icon:"clear",ml:2,iconSize:14,variant:"text",style:{border:"none"},onClick:h}))},c=(0,pu.useCallback)(({remaining:m})=>gr.createElement(Ci.Text,{fontSize:2,style:{whiteSpace:"nowrap"}},"+",m," ",m>1?"others":"other"),[]);return gr.createElement(pbe,{marginRight:4,my:1,allowWrap:e,count:r.length,direction:"horizontal",renderItem:d,renderEllipsis:c})}var Og=require("react");l();function y2(t,e,{sortUnorderedItems:r}){let n=t.reduce((a,s,u)=>(a.set(s,u),a),new Map),o=e.reduce((a,s,u)=>(a.set(s,u),a),new Map);function i(a,s){let u=o.has(a),d=u?o.get(a):-1,c=o.has(s),m=c?o.get(s):-1;return!u&&!c?r?a==s?0:a<s?-1:1:n.get(a)-n.get(s):u?c?d-m:-1:1}return[].concat(t).sort(i)}var uy=t=>{let m=t,{options:e,value:r,onChange:n,selectionBoxPosition:o="top"}=m,i=Ye(m,["options","value","onChange","selectionBoxPosition"]),{api:a}=ht(),s=(0,Og.useMemo)(()=>!r||!r.length?new Map:r.reduce((f,h)=>(f.set(h,!0),f),new Map),[r]),u=(0,Og.useCallback)(f=>s.has(f),[s]),d=(0,Og.useMemo)(()=>{let f=new Map;return e.forEach(h=>{var g;return f.set(h,(g=a.internalApi.getModuleFriendlyName(h))!=null?g:h)}),f},[e]),c=(0,Og.useMemo)(()=>y2(e,r,{sortUnorderedItems:!0}),[u,e,r]);return fbe.createElement(Jc,E(b({},i),{options:c,value:r,onChange:n,allowReorder:u,toIdentifier:f=>f,toLabel:f=>d.get(f),selectionBoxPosition:o,isDisabled:t.isDisabled}))};l();var Mn=y(require("react")),qd=y(re()),hbe=require("react");var gbe=Mn.createContext({selectedIndex:0,tabCount:0,setSelectedIndex:t=>{}}),Uut=t=>t.type===Z9||t.props.isTabsTab,Hut=t=>t.type===e8||t.props.isTabsContent,j=t=>{let A=t,{autoFocus:e=!0,children:r,onValueChange:n,defaultValue:o,value:i,keyboardNavigation:a=!0,selectedIndex:s,defaultSelectedIndex:u,onSelectedIndexChange:d}=A,c=Ye(A,["autoFocus","children","onValueChange","defaultValue","value","keyboardNavigation","selectedIndex","defaultSelectedIndex","onSelectedIndexChange"]),[m,f]=mr(t,"selectedIndex",0),[h,g]=mr(t,"value",0),C=Mn.Children.toArray(r),S=[],v=C.filter(Uut).map((O,z)=>(S.push(O.props.value),Mn.cloneElement(O,{index:z,keyboardNavigation:a,autoFocus:e}))),x=C.filter(Hut),R=x.map(O=>O.props.value),D=(t.value!==void 0||t.defaultValue!==void 0)&&t.selectedIndex===void 0&&t.defaultSelectedIndex===void 0;if(D){let O=S.indexOf(h);O>-1&&(m=O),R.filter(F=>S.indexOf(F)!=-1).length===v.length&&x.sort((F,B)=>{let Y=F.props.value,ie=B.props.value;return S.indexOf(Y)-S.indexOf(ie)})}let T=O=>{if(D){let z=S[O];g(z)}f(O)},w=x[m],I=(w==null?void 0:w.props)||{},{value:N}=I,M=Ye(I,["value"]);return Mn.createElement(gbe.Provider,{value:{selectedIndex:m,tabCount:v.length,setSelectedIndex:T}},Mn.createElement(qd.Box,E(b({},c),{className:He(c.className,"ab-Tabs"),"data-selected-index":m}),Mn.createElement(qd.Flex,{flexDirection:"row",className:"ab-Tabs__Strip"},Mn.createElement(qd.Box,{className:"ab-Tabs__Filler"}),v,Mn.createElement(qd.Flex,{flex:1,className:"ab-Tabs__Filler"})),Mn.createElement(qd.Box,E(b({padding:2},M),{className:`${M.className||""} ab-Tabs__Body`}),w)))},Z9=t=>{let f=t,{index:e,autoFocus:r,keyboardNavigation:n=!0,className:o}=f,i=Ye(f,["index","autoFocus","keyboardNavigation","className"]),a=Mn.useContext(gbe),s="ab-Tabs__Tab",u=a.selectedIndex===t.index,d=a.selectedIndex===t.index+1,c=He(o,s,u?`${s}--active`:"",d?`${s}--before-active`:""),m=(0,hbe.useRef)(null);return Mn.useEffect(()=>{var h;u&&r&&n&&((h=m.current)==null||h.focus())},[u,r]),Mn.createElement(qd.Box,E(b({ref:m,padding:2,tabIndex:u?0:-1},i),{className:c,onClick:h=>{var g;a.setSelectedIndex(t.index),(g=t.onClick)==null||g.call(t,h)},onKeyDown:h=>{var g;if(n){if(h.key==="Enter"&&a.setSelectedIndex(t.index),h.key==="ArrowLeft"){h.preventDefault();let C=t.index-1;C<0&&(C=a.tabCount-1),a.setSelectedIndex(C)}if(h.key==="ArrowRight"){h.preventDefault();let C=t.index+1;C>a.tabCount-1&&(C=0),a.setSelectedIndex(C)}}(g=t.onKeyDown)==null||g.call(t,h)}}))};Z9.defaultProps={isTabsTab:!0};var e8=t=>Mn.createElement(Mn.Fragment,null,t.children);e8.defaultProps={isTabsContent:!0};j.Tab=Z9;j.Content=e8;var bbe=class extends Qi.Component{constructor(e){super(e);var n,o,i;let r=(i=(o=(n=e.popupParams)==null?void 0:n.config)==null?void 0:o.initialTab)!=null?i:"ToolPanels";this.state={ToolPanelConfigView:r}}render(){let e=this.props.api.internalApi.getModuleService(),r=this.props.api.internalApi.getEntitlementService(),n=[];Pe.IsNotNullOrEmpty(this.props.ToolPanelState.ModuleButtons)&&this.props.ToolPanelState.ModuleButtons.forEach(m=>{let f=this.props.GridState.ModuleDropdownMenuItems.find(h=>h.module==m);(f==null?void 0:f.isVisible)&&n.push(m)});let o=this.props.GridState.ModuleDropdownMenuItems.map(m=>m.module),i=this.props.GridState.ModuleDropdownMenuItems.filter(m=>m.isVisible).map(m=>m.module);r.isModuleHiddenEntitlement("Dashboard")||i.push("Dashboard"),this.props.api.pluginsApi.getipushpullPluginApi()&&!r.isModuleHiddenEntitlement("IPushPull")&&i.push("IPushPull"),this.props.api.pluginsApi.getOpenFinPluginApi()&&!r.isModuleHiddenEntitlement("OpenFin")&&i.push("OpenFin");let a=Ag.filter(m=>Pe.ContainsItem(i,m)),u=[...this.props.api.toolPanelApi.getCustomToolPanels().map(m=>m.name),...a],d=this.props.ToolPanelState.ToolPanels.map(m=>m.Name).filter(m=>u.includes(m)),c=m=>m==="SettingsPanel"?this.props.api.internalApi.getAdaptableOptions().settingsPanelOptions.alwaysShowInDashboard:!1;return Qi.createElement(Rn,{headerText:"ToolPanel Configuration",glyphicon:this.props.moduleInfo.Glyph},Qi.createElement(j,{"data-name":"toolPanelPopup-component",className:"ab-ToolPanelPopup",value:this.state.ToolPanelConfigView,style:{height:"100%"},onValueChange:m=>this.setState({ToolPanelConfigView:m})},Qi.createElement(j.Tab,{value:"ToolPanels"},Qi.createElement(ke,{margin:0,value:"ToolPanels",checked:this.state.ToolPanelConfigView=="ToolPanels",tabIndex:-1},"Tool Panels")),Qi.createElement(j.Tab,{value:"Buttons"},Qi.createElement(ke,{margin:0,value:"Buttons",checked:this.state.ToolPanelConfigView=="Buttons",tabIndex:-1},"Module Buttons")),Qi.createElement(j.Content,{value:"ToolPanels",style:{flex:1,overflow:"auto"}},Qi.createElement(uy,{options:u,value:d,noSelectionLabel:"No selected Tool Panel",xSelectedLabel:()=>"Visible ToolPanels:",onChange:m=>this.onToolPanelToolPanelsChanged(m)})),Qi.createElement(j.Content,{value:"Buttons",style:{flex:1,overflow:"auto"}},Qi.createElement(uy,{options:o,value:n,noSelectionLabel:"No selected Module Button",xSelectedLabel:()=>"Visible Module Buttons:",isDisabled:c,onChange:m=>this.props.onToolPanelSetModuleButtons(m)}))))}onShowGridPropertiesChanged(e){let n=e.target.value;this.setState({ToolPanelConfigView:n})}onToolPanelToolPanelsChanged(e){let r=this.props.ToolPanelState.ToolPanels,n=e.map(o=>{var i;return(i=r.find(a=>a.Name===o))!=null?i:{Name:o,VisibilityMode:"collapsed"}});this.props.onToolPanelSetToolPanels(n)}};function Wut(t){return{ToolPanelState:t.ToolPanel,GridState:t.Grid}}function zut(t){return{onToolPanelSetModuleButtons:e=>t(PJ(e)),onToolPanelSetToolPanels:e=>t(dc(e))}}var Cbe=We(Wut,zut)(bbe);l();var gu=y(require("react"));l();var fy=y(require("react"));l();var Un=y(require("react"));l();var Zc=y(require("react"));var Sbe=y(re()),t8=class extends Zc.Component{render(){let e=this.props.StepNames.length-1,r=this.props.StepNames.findIndex(o=>o==this.props.ActiveStepName),n=this.props.StepNames.map((o,i)=>{let a=i==r,s=this.props.CanShowAllSteps?!1:a||i>r,u=a?"primary":"default",d=i==e;return Zc.createElement("div",{className:"ab-WizardLegend__step","data-name":o,key:i,style:{display:"inline-block"}},Zc.createElement(Z,{variant:a?"raised":"outlined",tone:a?"accent":"neutral",disabled:s,onClick:()=>this.onStepButtonClicked(o)},o),d==!1&&Zc.createElement(Sbe.Box,{mx:2,"data-name":"separator",className:"ab-WizardLegend__step__separator",style:{display:"inline-block"}},"\u2014"))});return Zc.createElement("div",null,n)}onStepButtonClicked(e){this.props.onStepButtonClicked(e)}};var v2=y(re());l();var qut=vv(function(t,e,r){return t+(r?"-":"")+e.toLowerCase()}),Da=qut;var Qut=Un.createContext({data:null,updateGoBackState:()=>{},onRender:t=>{},api:null});var ybe=class{canNext(){return!1}canBack(){return!1}next(){}back(){}getIndexStepIncrement(){return 1}getIndexStepDecrement(){return 1}},r8=class extends Un.Component{constructor(e){super(e);this.ActiveStep=new ybe;let r=0;this.props.stepStartIndex&&(r=this.props.stepStartIndex);let n=this.props.steps[r].Element;this.stepName=this.props.steps[r].StepName;let o=this.cloneWizardStep(n);this.state={ActiveState:o,IndexState:r}}render(){var o,i;let e=Ee.RetrieveDistinct(this.props.steps.map(a=>a.StepName)),r=this.props.steps.length>1,n=r;return Un.createElement(Qut.Provider,{value:{data:this.props.data,updateGoBackState:()=>this.ForceUpdateGoBackState(),api:this.props.api,onRender:a=>{this.ActiveStep=a,this.forceUpdate()}}},Un.createElement(Gn,{modal:!0,isOpen:!0,showCloseButton:!1,onDismiss:()=>this.props.onHide?this.props.onHide():null},Un.createElement(v2.Flex,{flexDirection:"column","data-name":this.props.moduleInfo.FriendlyName?`${Da(this.props.moduleInfo.FriendlyName)}-wizard`:"",style:b({height:"100%",width:"70vw",maxWidth:1e3,maxHeight:"80vh"},this.props.style)},Un.createElement(Gt,{header:this.props.moduleInfo.FriendlyName,border:"none",className:"ab-WizardDialog__steps",borderRadius:"none",variant:"primary",style:{flex:"none"}},this.props.showStepsLegend===!1?null:Un.createElement(t8,{StepNames:e,ActiveStepName:this.stepName,FriendlyName:"",CanShowAllSteps:this.canFinishWizard(),onStepButtonClicked:a=>this.onStepButtonClicked(a)})),Un.createElement(v2.Flex,{style:{flex:1,overflow:"auto"},flexDirection:"column"},this.state.ActiveState),Un.createElement(v2.Flex,{flexDirection:"row",padding:2,backgroundColor:"primary",alignItems:"center",className:"ab-WizardDialog__footer"},Un.createElement(Z,{tone:"neutral",variant:"text","data-name":"close",onClick:()=>this.props.onHide(),tooltip:(o=this.props.closeTooltip)!=null?o:"Close wizard",accessLevel:"Full"},(i=this.props.closeText)!=null?i:"CLOSE"),Un.createElement("div",{style:{flex:1}}),n?Un.createElement(Z,{"data-name":"back",variant:"outlined",disabled:!this.ActiveStep.canBack()||this.isFirstStep(),onClick:()=>this.handleClickBack(),icon:"arrow-left",accessLevel:"Full"},"Back"):null,r?Un.createElement(Z,{variant:"outlined","data-name":"next",disabled:!this.ActiveStep.canNext()||this.isLastStep(),onClick:()=>this.handleClickNext(),icon:"arrow-right",iconPosition:"end",accessLevel:"Full",marginLeft:2,marginRight:2},"Next"):null,Un.createElement(Z,{tone:"accent","data-name":"finish",variant:"raised",disabled:!this.canFinishWizard(),onClick:()=>this.handleClickFinish(),icon:"check",accessLevel:"Full"},"Finish")))))}onStepButtonClicked(e){let r=this.props.steps.find(i=>i.StepName==e),n=r.Element,o=this.cloneWizardStep(n);this.stepName=r.StepName,this.setState({ActiveState:o,IndexState:r.Index})}ForceUpdateGoBackState(){this.forceUpdate()}isLastStep(){return this.state.IndexState==this.props.steps.length-1}isFirstStep(){return this.state.IndexState==0}canFinishWizard(){return this.ActiveStep.canNext()&&this.props.canFinishWizard()}handleClickBack(){if(!this.isFirstStep()&&this.ActiveStep.canBack()){let e=this.ActiveStep.getIndexStepDecrement();this.ActiveStep.back();let r=this.props.steps[this.state.IndexState-e],n=r.Element,o=this.cloneWizardStep(n);this.stepName=r.StepName,this.setState({ActiveState:o,IndexState:this.state.IndexState-e})}}handleClickNext(){if(this.ActiveStep.canNext()){let e=this.ActiveStep.getIndexStepIncrement();this.ActiveStep.next();let r=this.props.steps[this.state.IndexState+e],n=r.Element,o=this.cloneWizardStep(n);this.stepName=r.StepName,this.setState({ActiveState:o,IndexState:this.state.IndexState+e})}}handleClickFinish(){this.ActiveStep.canNext()&&(this.ActiveStep.next(),this.props.onFinish&&this.props.onFinish(),this.props.onHide())}cloneWizardStep(e){return Un.cloneElement(e,{ref:r=>{r?(this.ActiveStep=r,this.forceUpdate()):this.ActiveStep=null},data:this.props.data,updateGoBackState:()=>this.ForceUpdateGoBackState(),api:this.props.api})}};l();var ll=y(require("react"));l();var vbe=y(require("react"));var jut=t=>vbe.createElement(Gt,E(b({border:"none",borderRadius:"none",variant:"primary",bodyScroll:!0},t),{className:He(t.className,"ab-WizardPanel"),style:b({height:"100%"},t.style)})),dy=jut;l();var Qe=y(require("react"));var fr=y(re());l();var Pa=y(require("react"));l();var Abe=({oldColumns:t,newColumns:e})=>{let r=n=>{let o="",i=0;return n.forEach(a=>{var s,u;a.columnGroup&&a.columnGroup.groupCount>1&&!a.columnGroup.allowGroupSplit&&o!==a.columnGroup.columnGroupId&&i++,o=(u=(s=a.columnGroup)==null?void 0:s.columnGroupId)!=null?u:""}),i};return r(t)==r(e)};var xbe=require("react"),py=require("react");l();l();var Qd=t=>{let e={width:"100%",height:"100%"};return t.isDraggingOver&&(e.background="var(--ab-color-primary)"),e};var Ebe=y(re());var Rbe=t=>{let[e,r]=(0,py.useState)(t.columns),[n,o]=(0,py.useState)(""),i=Pa.useCallback(s=>{let{source:u,destination:d}=s;if(!d||u.droppableId!=="ColumnList"||u.droppableId!==d.droppableId||!u.column||!u.column.moveable||d.index===u.index)return;let c=as(e,u.index,d.index),m=c.indexOf(u.column);n&&u.droppableId==="ColumnList"||!u.column.isFixed&&c.slice(m).filter(f=>f.isFixed).length||!Abe({oldColumns:e,newColumns:c})||(r(c),t.onColumnOrderChange&&t.onColumnOrderChange(c))},[e,r,t.onColumnOrderChange,n]);(0,xbe.useEffect)(()=>{t.onReady&&t.onReady(i)},[i]);let a=(0,py.useCallback)(s=>{let u=d=>Pa.createElement(Pa.Fragment,null,d.friendlyName);return(t.renderItem||u)(s)},[t.renderItem]);return Pa.createElement(Jo,{droppableId:"ColumnList",isDropDisabled:n?!0:t.isDropDisabled},(s,u)=>Pa.createElement("div",E(b({className:"ab-LayoutEditor__ColumnList"},s.droppableProps),{ref:s.innerRef,style:Qd(u)}),Pa.createElement(Ebe.Box,{px:2,mb:2},Pa.createElement(va,{placeholder:"Search a column",width:"100%",value:n,OnTextChange:o})),e.map((d,c)=>Pa.createElement(bi,{key:`${d.columnId}-column`,draggableId:d.columnId,index:c},(m,f)=>{let h=t.getItemStyle(d,f,m.draggableProps.style);h.padding=0;let g=typeof d.friendlyName=="string"?d.friendlyName:`${d.friendlyName}`;return n&&g.toLowerCase().indexOf(n.toLowerCase())==-1&&(h.display="none"),Pa.createElement("div",E(b(b({ref:m.innerRef},m.draggableProps),m.dragHandleProps),{className:"ab-LayoutEditor__ColumnList__column",style:h}),a(d))})),s.placeholder))};l();var jd=y(require("react")),Ibe=require("react");var Dbe=t=>{let e=t.columnSorts||[],r=a=>{t.onColumnSortsChange(a)},n=jd.useCallback(a=>{let{destination:s,source:u}=a;if(!s)return;let d=u.droppableId==="ColumnList"&&s.droppableId==="ColumnSortList",c=u.droppableId==="ColumnSortList"&&s.droppableId==="ColumnSortList";if(!!(d||c)){if(c){if(s.index===u.index)return;let f=as(e,u.index,s.index);r(f),t.onColumnSortsChange&&t.onColumnSortsChange(f);return}if(d){if(!u.column.sortable)return;if(e.filter(h=>h.ColumnId===u.columnId)[0])return!1;let f=[...e];f.splice(s.index,0,{SortOrder:"Asc",ColumnId:u.columnId}),r(f),t.onColumnSortsChange&&t.onColumnSortsChange(f);return}}},[e,r,t.onColumnSortsChange]),o=a=>{r(e.map(s=>(s.ColumnId===a.ColumnId&&(s=E(b({},s),{SortOrder:a.SortOrder==="Asc"?"Desc":"Asc"})),s)))};(0,Ibe.useEffect)(()=>{t.onReady&&t.onReady(n)},[n]);let i=a=>t.renderItem(a,()=>{r(t.columnSorts.filter(s=>s.ColumnId!==a.ColumnId))},()=>{o(a)});return jd.createElement(Jo,{droppableId:"ColumnSortList",isDropDisabled:t.isDropDisabled},(a,s)=>jd.createElement("div",E(b({className:`ab-LayoutEditor__ColumnSortList ${e.length?"":"ab-LayoutEditor__ColumnSortList--empty"}`},a.droppableProps),{ref:a.innerRef,style:Qd(s)}),e.length?null:jd.createElement(_t,null,"Drag columns to create sort order"),e.map((u,d)=>jd.createElement(bi,{key:`${u.ColumnId}-sort`,draggableId:`${u.ColumnId}-sort`,index:d},(c,m)=>jd.createElement("div",E(b(b({ref:c.innerRef},c.draggableProps),c.dragHandleProps),{className:"ab-LayoutEditor__ColumnSortList__column",style:t.getItemStyle(u.ColumnId,m,c.draggableProps.style)}),i(u)))),a.placeholder))};l();var cu=y(require("react"));var Pbe=require("react");var Tbe=t=>{let e=t.rowGroups||[],r=i=>{t.onRowGroupsChange(i)},n=cu.useCallback(i=>{let{destination:a,source:s}=i;if(!a)return;let u=s.droppableId==="ColumnList"&&a.droppableId==="RowGroupsList",d=s.droppableId==="RowGroupsList"&&a.droppableId==="RowGroupsList";if(!!(u||d)){if(d){if(a.index===s.index)return;let m=as(e,s.index,a.index);r(m);return}if(u){if(!s.column.groupable)return;if(e.filter(f=>f===s.columnId)[0])return!1;let m=[...e];m.splice(a.index,0,s.columnId),r(m);return}}},[e,r,t.onRowGroupsChange]);(0,Pbe.useEffect)(()=>{t.onReady&&t.onReady(n)},[n]);let o=cu.useCallback(i=>t.renderItem(i,()=>{r(e.filter(a=>a!==i))}),[t.renderItem]);return cu.createElement(Jo,{droppableId:"RowGroupsList",isDropDisabled:t.isDropDisabled},(i,a)=>cu.createElement("div",E(b({className:`ab-LayoutEditor__RowGroupsList ${e.length?"":"ab-LayoutEditor__RowGroupsList--empty"}`},i.droppableProps),{ref:i.innerRef,style:Qd(a)}),e.length?null:cu.createElement(_t,null,"Drag columns to create row groups"),e.map((s,u)=>cu.createElement(bi,{key:s,draggableId:`${s}-rowGroup`,index:u},(d,c)=>cu.createElement("div",E(b(b({ref:d.innerRef},d.draggableProps),d.dragHandleProps),{className:"ab-LayoutEditor__RowGroupsList__column",style:t.getItemStyle(s,c,d.draggableProps.style)}),o(s)))),i.placeholder))};var ls=require("react");l();var cy=(t,e,r,n,o)=>{let{isDragging:i,draggingOver:a}=n,s=b({userSelect:"none",background:i?"var(--ab-color-secondarylight)":"",color:i?"var(--ab-color-text-on-secondarylight)":"",opacity:1},o);return i&&(r=="ColumnList"&&a==="ColumnSortList"&&(!t.sortable||e.ColumnSorts&&e.ColumnSorts.filter(u=>u.ColumnId===t.columnId)[0]),r!="ColumnList"&&a==="ColumnList"),s};l();var wbe=t=>({dropDisabledOnColumns:!1,dropDisabledOnSort:!1,dropDisabledOnRowGroups:!1,dropDisabledOnPivot:!1,dragSource:"",layout:t}),Obe=(t,e)=>e.type===Yd.SET_DRAG_SOURCE?E(b({},t),{dragSource:e.payload}):e.type===Yd.SET_DROP_DISABLED_ON_COLUMNS?E(b({},t),{dropDisabledOnColumns:e.payload}):e.type===Yd.SET_DROP_DISABLED_ON_SORT?E(b({},t),{dropDisabledOnSort:e.payload}):e.type===Yd.SET_DROP_DISABLED_ON_ROW_GROUPS?E(b({},t),{dropDisabledOnRowGroups:e.payload}):e.type===Yd.SET_DROP_DISABLED_ON_PIVOT?E(b({},t),{dropDisabledOnPivot:e.payload}):e.type===Yd.SET_LAYOUT?E(b({},t),{layout:e.payload}):t,Yd=(a=>(a.SET_LAYOUT="SET_LAYOUT",a.SET_DRAG_SOURCE="SET_DRAG_SOURCE",a.SET_DROP_DISABLED_ON_COLUMNS="SET_DROP_DISABLED_ON_COLUMNS",a.SET_DROP_DISABLED_ON_SORT="SET_DROP_DISABLED_ON_SORT",a.SET_DROP_DISABLED_ON_ROW_GROUPS="SET_DROP_DISABLED_ON_ROW_GROUPS",a.SET_DROP_DISABLED_ON_PIVOT="SET_DROP_DISABLED_ON_PIVOT",a))(Yd||{});l();var mu=y(require("react"));var Fbe=require("react");var Mbe=t=>{let e=t.pivotColumns||[],r=i=>{t.onPivotColumnsChange(i)},n=mu.useCallback(i=>{let{destination:a,source:s}=i;if(!a)return;let u=s.droppableId==="ColumnList"&&a.droppableId==="PivotList",d=s.droppableId==="PivotList"&&a.droppableId==="PivotList";if(!!(u||d)){if(d){if(a.index===s.index)return;let m=as(e,s.index,a.index);r(m);return}if(u){if(!s.column.pivotable)return;if(e.filter(f=>f===s.columnId)[0])return!1;let m=[...e];m.splice(a.index,0,s.columnId),r(m);return}}},[e,r,t.onPivotColumnsChange]);(0,Fbe.useEffect)(()=>{t.onReady&&t.onReady(n)},[n]);let o=mu.useCallback(i=>t.renderItem(i,()=>{r(e.filter(a=>a!==i))}),[t.renderItem]);return mu.createElement(Jo,{droppableId:"PivotList",isDropDisabled:t.isDropDisabled},(i,a)=>mu.createElement("div",E(b({className:`ab-LayoutEditor__PivotList ${e.length?"":"ab-LayoutEditor__PivotList--empty"}`},i.droppableProps),{ref:i.innerRef,style:Qd(a)}),e.length?null:mu.createElement(_t,null,"Drag columns to pivot"),e.map((s,u)=>mu.createElement(bi,{key:s,draggableId:`${s}-pivot`,index:u},(d,c)=>mu.createElement("div",E(b(b({ref:d.innerRef},d.draggableProps),d.dragHandleProps),{className:"ab-LayoutEditor__PivotList__column",style:t.getItemStyle(s,c,d.draggableProps.style)}),o(s)))),i.placeholder))};var Yut={minHeight:150,flex:"1 0 auto",overflow:"auto"},my=t=>Qe.createElement(Gt,b({variant:"modern",bodyProps:{padding:0},style:b(b({},Yut),t.style)},t)),_be=t=>{let c=t,{children:e,showBoth:r,showTitle:n,flexDirection:o="row",labels:i}=c,a=Ye(c,["children","showBoth","showTitle","flexDirection","labels"]),s=["Aggregatable","Filterable","Groupable","Moveable","Pivotable","Sortable"],u=s.map(m=>a[m]?m.charAt(0):""),d={[o==="row"?"alignItems":"justifyContent"]:"center"};return Qe.createElement(fr.Flex,E(b({flexDirection:o},d),{width:"100%"}),n?Qe.createElement(fr.Text,{mr:2},"Behaviours:"):null,u.map((m,f)=>{let h=!!m,g=s[f],C=g.charAt(0),S=(v,x)=>Qe.createElement(fr.Flex,{className:"ab-LayoutEditor__LegendLetter",width:"20px",height:"20px",alignItems:"center",justifyContent:"center",fontSize:2,ml:2,backgroundColor:"defaultbackground",title:v?g:`Not ${g}`,style:{overflow:"hidden",cursor:"auto",position:"relative",fontWeight:600,lineHeight:0,border:`1px solid var(--ab-color-${v?"accent":"inputborder"})`,borderRadius:"var(--ab__border-radius)",opacity:v?1:.5},key:`${C}${x||""}`},v?null:Qe.createElement("div",{style:{background:"currentColor",position:"absolute",bottom:"-100%",right:0,width:2,height:"200%",transform:"skewX(45deg)"}}),C);return Qe.createElement(fr.Flex,{key:C,mt:o==="row"?0:2,flexDirection:"row",alignItems:"center"},S(h),r?S(!h,"label"):null,i?Qe.createElement(fr.Flex,{key:"labelProps",flex:1,ml:2,className:"ab-LayoutEditor__LegendLetterDescription"},i[g]):null)}),e)};function Kut(t,e){return!0}var Nbe=Qe.memo(t=>{let{api:e}=t,r=Qe.useMemo(()=>e.columnApi.getColumns(),[]),n=Qe.useMemo(()=>wbe(t.layout),[]),[o,i]=Qe.useReducer(Obe,n),{layout:a}=o,s=Qe.useMemo(()=>r.reduce((A,I)=>(A[I.columnId]=I,A),{}),[r]),u={},[d,c]=Qe.useState(a.Columns.map(A=>{let I=s[A];return u[A]=I,I}).concat(r.filter(A=>!u[A.columnId])).filter(A=>A)),m=A=>{i({type:"SET_LAYOUT",payload:A}),t.onLayoutChange&&t.onLayoutChange(A)};Qe.useEffect(()=>{t.layout!==o.layout&&m(t.layout)},[t.layout]);let f=Qe.useMemo(()=>r.reduce((A,I)=>(A[I.columnId]=a.Columns.indexOf(I.columnId)!=-1?I:null,A),{}),[a,r]),h=Qe.useMemo(()=>Object.keys(a.AggregationColumns||{}).reduce((A,I)=>{let O=a.AggregationColumns[I];return typeof O=="boolean"&&(O=s[I].aggregationFunction),A[I]=O,A},{}),[s,a]),g=Qe.useMemo(()=>{var A;return Object.keys((A=a.ColumnHeadersMap)!=null?A:{}).reduce((I,O)=>{let z=a.ColumnHeadersMap[O];return typeof z=="string"&&(I[O]=z),I},{})},[s,a]),C=(A,I)=>{let O=I?E(b({},a),{Columns:d.filter(B=>f[B.columnId]||B.columnId===A.columnId).map(B=>B.columnId)}):E(b({},a),{Columns:a.Columns.filter(B=>B!==A.columnId)}),z=S(a),F=S(O);if(z.length!==F.length){let B=z.filter(Y=>!F.includes(Y));O.Columns=[...B,...O.Columns]}m(O)},S=(0,ls.useCallback)(A=>A.Columns.filter(I=>e.columnApi.isRowGroupColumn(I)),[]),v=(0,ls.useRef)({columnList:()=>{},columnSortList:()=>{},rowGroupsList:()=>{},pivotList:()=>{}}),x=(0,ls.useCallback)(A=>{let{source:I,destination:O}=A;!I||!O||(I.droppableId==="ColumnList"&&(I.column=d[I.index],I.columnId=I.column.columnId),O.droppableId==="ColumnList"&&v.current.columnList(A),O.droppableId==="ColumnSortList"&&v.current.columnSortList(A),O.droppableId==="RowGroupsList"&&v.current.rowGroupsList(A),O.droppableId==="PivotList"&&v.current.pivotList(A))},[d]),R=(0,ls.useCallback)(A=>{let{source:I,draggableId:O}=A,z=I.droppableId,F=z==="ColumnList"?s[O]:null,B=I.droppableId!=="ColumnList",Y=!F||!F.moveable||B;i({type:"SET_DROP_DISABLED_ON_COLUMNS",payload:Y}),i({type:"SET_DRAG_SOURCE",payload:z});let ie=F&&a.ColumnSorts&&!!a.ColumnSorts.filter(me=>me.ColumnId===F.columnId)[0],oe=z!=="ColumnList"&&z!=="ColumnSortList"||ie||F&&!F.sortable;i({type:"SET_DROP_DISABLED_ON_SORT",payload:!!oe});let X=F&&a.RowGroupedColumns?!!a.RowGroupedColumns.filter(me=>me===F.columnId)[0]:!1,se=z!=="ColumnList"&&z!=="RowGroupsList"||X||F&&!F.groupable;i({type:"SET_DROP_DISABLED_ON_ROW_GROUPS",payload:!!se});let J=F&&a.PivotColumns?!!a.PivotColumns.filter(me=>me===F.columnId)[0]:!1,ue=z!=="ColumnList"&&z!=="PivotList"||J||F&&!F.pivotable;i({type:"SET_DROP_DISABLED_ON_PIVOT",payload:!!ue})},[o,a]),D=(0,ls.useCallback)(A=>{m(E(b({},a),{Columns:A.filter(I=>f[I.columnId]).map(I=>I.columnId)})),c(A)},[f,a]),T=(0,ls.useCallback)(A=>{m(E(b({},a),{ColumnSorts:A}))},[a]),w=(0,ls.useCallback)(A=>{m(E(b({},a),{RowGroupedColumns:A}))},[a]),N=(0,ls.useCallback)(A=>{m(E(b({},a),{PivotColumns:A}))},[a]),M=t.api.internalApi.getEntitlementService().isGridInfoSectionVisible("ColumnInfo");return Qe.createElement(wg,{onDragEnd:x,onDragStart:R},Qe.createElement(fr.Box,{className:"ab-LayoutEditor"},Qe.createElement(my,{header:Qe.createElement(fr.Flex,{width:"100%",flexDirection:"row",justifyContent:"space-between",alignItems:"center"},Qe.createElement(fr.Text,null,"Columns"),Qe.createElement(he,{mt:0,mb:0,checked:!a.SuppressAggFuncInHeader,onChange:A=>{m(E(b({},a),{SuppressAggFuncInHeader:!A}))}},"Show aggregation function in headers")),style:{flex:"none"},className:"ab-LayoutEditor__ColumnListPanel",bodyProps:{style:{display:"flex",overflow:"hidden"},px:0}},Qe.createElement(Rbe,{onReady:A=>{v.current.columnList=A},getItemStyle:(A,I,O)=>cy(A,a,o.dragSource,I,O),columns:d,isDropDisabled:o.dropDisabledOnColumns,onColumnOrderChange:D,renderItem:A=>{let I=!!f[A.columnId],O=!!h[A.columnId],z=!0,F=g[A.columnId],B=e.internalApi.getUserDefinedHeaderName(A.columnId);return Qe.createElement(fr.Flex,{flexDirection:"column",alignItems:"stretch","data-name":"drag-item","data-col-id":A.columnId},Qe.createElement(fr.Flex,{flexDirection:"row",alignItems:"center",backgroundColor:"secondary",color:"text-on-secondary"},Qe.createElement(fr.Flex,{flex:1,alignItems:"center"},Qe.createElement(fr.Box,{ml:2,mr:2},Qe.createElement(Ct,{name:"drag",size:30})),B," ",M&&Qe.createElement(Ro,{marginLeft:1,style:{color:"var(--ab-color-text-on-secondary)"},onClick:()=>{t.api.internalApi.showPopupScreen("GridInfo","GridInfoPopup",{column:A,source:"ContextMenu"})}}),A.columnGroup&&A.columnGroup.groupCount>1?Qe.createElement(fr.Box,{ml:2,padding:1,style:{borderRadius:"var(--ab__border-radius)",background:"var(--ab-color-defaultbackground)",color:"var(--ab-color-text-on-defaultbackground)"}},"Group: ",A.columnGroup.friendlyName):null),Qe.createElement(he,{title:"Visible",readOnly:!A.hideable&&I,checked:I,mx:2,style:{whiteSpace:"nowrap"},onChange:C.bind(null,A)},"Visible")),Qe.createElement(fr.Flex,{padding:2,flexDirection:"column"},Qe.createElement(_be,{showTitle:!0,sortable:A.sortable,filterable:A.filterable,moveable:A.moveable,pivotable:A.pivotable,groupable:A.groupable,aggregatable:A.aggregatable}," "),Qe.createElement(fr.Flex,{flexDirection:"row",mt:2},Qe.createElement(fr.Flex,{flex:3,alignItems:"baseline"},Qe.createElement(fr.Text,{fontSize:3,mr:2},"Header:"),Qe.createElement($e,{width:"100%",value:F||"",placeholder:"Custom Name (optional)",onChange:Y=>{let ie=Y.target.value,te=b({},a.ColumnHeadersMap)||{};qe.IsNullOrEmptyOrWhiteSpace(ie)?delete te[A.columnId]:te[A.columnId]=ie,m(E(b({},a),{ColumnHeadersMap:te}))}})),Qe.createElement(fr.Flex,{flex:2},A.aggregatable&&A.availableAggregationFunctions&&A.availableAggregationFunctions.length?Qe.createElement(he,{key:"checkbox",ml:3,my:0,disabled:!z,onChange:Y=>{let ie=a.AggregationColumns||{};if(Y){let te=A.aggregationFunction;!te&&A.availableAggregationFunctions&&(te=A.availableAggregationFunctions[0]),ie[A.columnId]=te}else delete ie[A.columnId],Object.keys(ie).length||(ie=null);m(E(b({},a),{AggregationColumns:ie}))},checked:O},"Aggregate",Qe.createElement(rt,{style:{visibility:O?"visible":"hidden"},ml:2,padding:0,columns:["label"],variant:"text",items:A.availableAggregationFunctions.map(Y=>({label:Y,onClick:()=>{let ie=a.AggregationColumns;!ie||(ie[A.columnId]=Y,m(E(b({},a),{AggregationColumns:ie})))}}))},h[A.columnId])):null))))}})),Qe.createElement(my,{header:"Sorting",className:"ab-LayoutEditor__ColumnSortListPanel"},Qe.createElement(Dbe,{columnSorts:a.ColumnSorts,onColumnSortsChange:T,isDropDisabled:o.dropDisabledOnSort,onReady:A=>{v.current.columnSortList=A},getItemStyle:(A,I,O)=>cy(s[A],a,o.dragSource,I,O),renderItem:(A,I,O)=>{let z=s[A.ColumnId];return z?Qe.createElement(fr.Flex,{flexDirection:"row",alignItems:"center","data-name":"drag-item"},Qe.createElement(fr.Box,{ml:2,mr:3},Qe.createElement(Ct,{name:"drag",size:30})),Qe.createElement(fr.Flex,{flex:"1",flexDirection:"row",alignItems:"center"},z.friendlyName," [",A.SortOrder,"]"),Qe.createElement(Z,{variant:"raised",style:{cursor:"pointer"},mr:3,onClick:F=>{F.stopPropagation(),O()}},Qe.createElement(Ct,{name:A.SortOrder==="Asc"?"sort-asc":"sort-desc"})),Qe.createElement(Z,{variant:"text",onClick:F=>{F.stopPropagation(),I()}},Qe.createElement(Ct,{name:"clear"}))):null}})),Qe.createElement(my,{header:"Row Groups",className:"ab-LayoutEditor__RowGroupsListPanel"},Qe.createElement(Tbe,{rowGroups:a.RowGroupedColumns,onRowGroupsChange:w,isDropDisabled:o.dropDisabledOnRowGroups,onReady:A=>{v.current.rowGroupsList=A},getItemStyle:(A,I,O)=>cy(s[A],a,o.dragSource,I,O),renderItem:(A,I)=>{let O=s[A];return Qe.createElement(fr.Flex,{flexDirection:"row",alignItems:"center","data-name":"drag-item"},Qe.createElement(fr.Box,{ml:2,mr:3},Qe.createElement(Ct,{name:"drag",size:30})),Qe.createElement(fr.Flex,{flexDirection:"row",alignItems:"center",flex:1},O.friendlyName),Qe.createElement(Z,{variant:"text",onClick:z=>{z.stopPropagation(),I()}},Qe.createElement(Ct,{name:"clear"})))}})),Qe.createElement(my,{className:"ab-LayoutEditor__PivotListPanel",header:Qe.createElement(fr.Flex,{width:"100%",flexDirection:"row",justifyContent:"space-between",alignItems:"center"},Qe.createElement(fr.Text,null,"Pivoted Columns"),Qe.createElement(he,{mt:0,mb:0,checked:a.EnablePivot,onChange:A=>{m(E(b({},a),{EnablePivot:A}))}},"Enable")),bodyProps:{padding:0}},Qe.createElement(Mbe,{pivotColumns:a.PivotColumns,onPivotColumnsChange:N,isDropDisabled:o.dropDisabledOnPivot,onReady:A=>{v.current.pivotList=A},renderItem:(A,I)=>{let O=s[A];return Qe.createElement(fr.Flex,{flexDirection:"row",alignItems:"center","data-name":"drag-item"},Qe.createElement(fr.Box,{ml:2,mr:3},Qe.createElement(Ct,{name:"drag",size:30})),Qe.createElement(fr.Flex,{flexDirection:"row",alignItems:"center",flex:1},O.friendlyName),Qe.createElement(Z,{variant:"text",onClick:z=>{z.stopPropagation(),I()}},Qe.createElement(Ct,{name:"clear"})))},getItemStyle:(A,I,O)=>cy(s[A],a,o.dragSource,I,O)})),Qe.createElement(my,{header:"Legend: Column Behaviour",className:"ab-LayoutEditor__LegendPanel",style:{gridRow:"1 /1",gridColumn:"3/3"},bodyProps:{padding:2,backgroundColor:"defaultbackground",color:"text-on-defaultbackground"}},Qe.createElement(_be,{flexDirection:"column",showBoth:!0,labels:{Sortable:"Able to be sorted",Filterable:"Can be filtered",Aggregatable:"Shows aggregations (in grouped rows)",Groupable:"Can form a row group",Moveable:"Is draggable and movable",Pivotable:"Eligible for pivoting"},sortable:!0,filterable:!0,moveable:!0,pivotable:!0,groupable:!0,aggregatable:!0}))))},Kut);var n8=class extends ll.Component{constructor(e){super(e);this.onLayoutNameChange=e=>{let r=e.target.value,n=this.getErrorMessage(E(b({},this.state),{layoutName:r}));this.updateLayout({Name:r}),this.setState({layoutName:r,errorMessage:n||null},()=>{this.props.updateGoBackState()})};this.getErrorMessage=({layout:e,layoutName:r})=>this.props.Layouts.find(i=>i.Name===r&&i.Uuid!==e.Uuid)?"A Layout already exists with that name":r?null:"Layout name cannot be blank";this.updateLayout=e=>{let r=b(b({},this.state.layout),e);Object.assign(this.props.data,r),this.setState({layout:r})};this.onLayoutChange=e=>{e=E(b({},e),{Name:this.state.layoutName}),this.updateLayout(e),this.setState({layout:e,errorMessage:this.getErrorMessage({layout:e,layoutName:this.state.layoutName})},()=>{this.props.updateGoBackState()})};this.getLayout=()=>E(b({},this.state.layout),{Name:this.state.layoutName});this.state={layout:e.data,layoutName:e.data.Name,errorMessage:null}}render(){return ll.createElement("div",{"data-name":"layout-editor",style:{flex:1,overflow:"auto"}},ll.createElement(dy,{bodyProps:{padding:0}},ll.createElement(tt,{columns:["label","children"],m:2,width:"30rem"},ll.createElement(pe,{label:"Layout Name"},ll.createElement($e,{value:this.state.layoutName,"data-name":"layout-editor-name-input",width:"100%",autoFocus:!0,placeholder:"Type a name",onChange:this.onLayoutNameChange})," "),this.state.errorMessage?ll.createElement(pe,{label:""},ll.createElement(Ui,null,this.state.errorMessage)):null),ll.createElement(Nbe,{api:this.props.api,layout:this.state.layout,onLayoutChange:this.onLayoutChange})))}canNext(){return!!this.state.layoutName&&!this.state.errorMessage}canBack(){return!0}next(){Object.keys(this.props.data).forEach(r=>{delete this.props.data[r]});let e=this.getLayout();Object.assign(this.props.data,e)}back(){}getIndexStepIncrement(){return 1}getIndexStepDecrement(){return 1}};var o8=class extends fy.Component{render(){let e=this.props.configEntities;return fy.createElement(r8,{style:{maxWidth:"",height:"80vh"},moduleInfo:this.props.moduleInfo,modalContainer:this.props.modalContainer,api:this.props.api,showStepsLegend:!1,closeText:"CANCEL",closeTooltip:"Cancel changes and close Layout Editor",steps:[{StepName:"Layout Editor",Index:0,Element:fy.createElement(n8,{api:this.props.api,Layouts:e,moduleInfo:this.props.moduleInfo})}],data:this.props.editedAdaptableObject,stepStartIndex:this.props.wizardStartIndex,onHide:()=>this.props.onCloseWizard(),onFinish:()=>this.props.onFinishWizard(),canFinishWizard:()=>this.props.canFinishWizard()})}};l();var hu=y(require("react"));l();var fu=y(require("react"));l();var Lbe=y(require("react"));var Kd=t=>{var e;return Lbe.createElement(Z,b({"data-name":"edit",tooltip:"Edit",variant:"text",icon:"edit",iconSize:(e=t.iconSize)!=null?e:24},t))};l();var kbe=y(require("react"));var A2=t=>kbe.createElement(Z,b({"data-name":"clone",tooltip:"Clone",tone:"accent",icon:"clone",variant:"raised"},t),t.children===void 0?"Clone":t.children);l();var x2=y(require("react"));var Bbe=class extends x2.Component{render(){var u;let s=this.props,{onConfirmWarning:e,ConfirmAction:r,ConfirmationMsg:n,ConfirmationTitle:o,onClickAction:i}=s,a=Ye(s,["onConfirmWarning","ConfirmAction","ConfirmationMsg","ConfirmationTitle","onClickAction"]);return x2.createElement(Z,E(b({"data-name":"delete",tooltip:"Delete",variant:"text",icon:"trash",iconSize:(u=a.iconSize)!=null?u:24},a),{onClick:()=>this.onClick()}))}onClick(){if(this.props.ConfirmAction){let e={CancelButtonText:"Cancel",Header:this.props.ConfirmationTitle,Msg:this.props.ConfirmationMsg,ConfirmButtonText:"Delete",CancelAction:null,ConfirmAction:this.props.ConfirmAction,ShowInputBox:!1,MessageType:"Warning"};this.props.onConfirmWarning(e)}else this.props.onClickAction()}};function $ut(t,e){return{ConfirmAction:e.ConfirmAction,ConfirmationMsg:e.ConfirmationMsg,ConfirmationTitle:e.ConfirmationTitle}}function Xut(t){return{onConfirmWarning:e=>t(Cf(e))}}var $d=We($ut,Xut)(Bbe);var Wbe=y(re());l();var Xd=y(require("react"));l();var Mg=y(re());var Vbe=require("react");var sn=y(require("react"));var Gbe=t=>{let{showPopup:e,onClose:r,onConfirm:n,header:o}=t,[i,a]=(0,Vbe.useState)({description:"",type:"Snapshot"});return sn.createElement(sn.Fragment,null,sn.createElement(Gn,{modal:!0,"data-name":"teamsharing-popup",isOpen:e,onDismiss:r,autoFocus:!1,showCloseButton:!1,style:{minHeight:"auto",maxWidth:"50%"}},sn.createElement(Mg.Flex,{flexDirection:"column"},sn.createElement(_t,{"data-name":"teamsharing-popup-description",margin:2,mb:2,p:2,style:{fontSize:"var(--ab-font-size-3)"}},"Create a ",o," which may be either:",sn.createElement("ul",null,sn.createElement("li",null,sn.createElement("strong",null,"Snapshot"),": a one-off share of an exact copy of the current object"),sn.createElement("li",null,sn.createElement("strong",null,"Active"),': a "live" share that is automatically updated with every local change'))),sn.createElement(tt,{padding:2},sn.createElement(pe,{label:"Description: "},sn.createElement($e,{autoFocus:!0,value:i.description,type:"string",width:300,placeholder:"Enter text",onChange:s=>a(E(b({},i),{description:s.target.value}))})),sn.createElement(pe,{label:"Share: "},sn.createElement(Mg.Flex,{flexDirection:"row"},sn.createElement(ke,{checked:i.type==="Snapshot",onChange:()=>a(E(b({},i),{type:"Snapshot"}))},"Snapshot")," ",sn.createElement(ke,{marginLeft:3,checked:i.type==="Active",onChange:()=>a(E(b({},i),{type:"Active"}))},"Active")," "))),sn.createElement(Mg.Box,{marginTop:3},sn.createElement(Mg.Flex,{padding:2},sn.createElement(Z,{tone:"neutral",variant:"raised",onClick:()=>r(),"data-name":"cancel"},"Cancel"),sn.createElement("div",{style:{flex:1}}),sn.createElement(Z,{tone:"accent","data-name":"ok",variant:"raised",disabled:De.IsNullOrEmpty(i.description),onClick:()=>n(i)},"OK"))))))};var hy=class extends Xd.Component{constructor(e){super(e);this.state={open:!1}}render(){var i;let o=this.props,{onShare:e,Header:r}=o,n=Ye(o,["onShare","Header"]);return Xd.createElement(Xd.Fragment,null,Xd.createElement(Z,b({"data-name":"share",tooltip:"Share",variant:"text",icon:"team-share",iconSize:(i=n.iconSize)!=null?i:24,onClick:()=>this.setState({open:!0})},n)),this.state.open&&Xd.createElement(Gbe,{header:r,showPopup:!0,onClose:()=>this.setState({open:!1}),onConfirm:a=>{this.setState({open:!1}),e(a)}}))}};l();var _g=y(require("react"));l();var gy=y(require("react")),Ube=y(re());var Hbe=({checked:t,onChange:e,disabled:r,className:n,children:o,style:i={},"data-name":a})=>{let s=c=>{r||e(Boolean(c.target.checked))},u="ab-ToggleButton",d=He(n,u,t&&`${u}--checked`,r&&`${u}--disabled`);return gy.createElement("label",{"data-name":a,style:i,className:d},gy.createElement("input",{type:"checkbox",disabled:r,checked:Boolean(t),className:`${u}__input`,onChange:s}),gy.createElement(Ube.Flex,{alignItems:"center",justifyContent:t?"start":"end",className:`${u}__slider`},gy.createElement("div",{className:`${u}__text`},o)))};var E2=_g.memo(({suspendableObject:t,onUnSuspend:e,onSuspend:r,style:n,disabled:o,accessLevel:i})=>{let a=_g.useCallback(d=>{d?e(t):r(t)},[e,r]),s=i&&i==="ReadOnly"||o,u=t.IsSuspended;return _g.createElement(Hbe,{className:"ab-SuspendButton","data-name":t.IsSuspended?"un-suspend":"suspend",disabled:s,style:n,onChange:a,checked:!u},u?"inactive":"active")});var Jut=t=>{t.stopPropagation()},Ng=class extends fu.Component{render(){return fu.createElement(Wbe.Flex,{justifyContent:this.props.justifyContent||"center",margin:0,padding:0,onClick:Jut},this.props.showEdit&&fu.createElement(Kd,{onClick:()=>this.props.editClick?this.props.editClick():null,style:{marginLeft:"0px",marginTop:"2px",marginBottom:"2px",marginRight:"2px",color:"var(--ab-color-text-on-edit)",fill:"var(--ab-color-text-on-edit)",background:"var(--ab-color-action-edit)"},disabled:this.props.overrideDisableEdit||this.props.accessLevel=="ReadOnly",tooltip:this.props.overrideTooltipEdit,accessLevel:this.props.accessLevel}),this.props.showClone&&fu.createElement(A2,{onClick:()=>this.props.cloneClick?this.props.cloneClick():null,style:{marginLeft:"0px",marginTop:"2px",marginBottom:"2px",marginRight:"2px",color:"var(--ab-color-text-on-clone)",fill:"var(--ab-color-text-on-clone)",background:"var(--ab-color-action-clone)"},children:null,disabled:this.props.overrideDisableClone||this.props.cloneAccessLevel=="ReadOnly",tooltip:this.props.overrideTooltipClone,accessLevel:this.props.cloneAccessLevel}),this.props.showDelete&&fu.createElement($d,{"data-name":"delete",style:{marginLeft:"1px",marginTop:"2px",marginBottom:"2px",marginRight:"1px",color:"var(--ab-color-text-on-delete)",fill:"var(--ab-color-text-on-delete)",background:"var(--ab-color-action-delete)"},disabled:this.props.overrideDisableDelete||this.props.accessLevel=="ReadOnly",tooltip:this.props.overrideTooltipDelete,ConfirmAction:this.props.confirmDeleteAction,ConfirmationMsg:"Are you sure you want to delete this "+this.props.entityType+"?",ConfirmationTitle:"Delete "+this.props.entityType,accessLevel:this.props.accessLevel}),this.props.showShare&&fu.createElement(hy,{style:{marginLeft:"1px",marginTop:"2px",marginBottom:"2px",marginRight:"1px",color:"var(--ab-color-text-on-share)",fill:"var(--ab-color-text-on-share)",background:"var(--ab-color-action-share)"},onShare:e=>this.props.shareClick?this.props.shareClick(e):null,Header:`TeamSharing ${this.props.entityType}`,disabled:this.props.overrideDisableShare||this.props.accessLevel=="ReadOnly",tooltip:this.props.overrideTooltipShare,accessLevel:this.props.accessLevel}),this.props.showSuspend&&this.props.suspendableObject&&fu.createElement(E2,{style:{marginLeft:2,alignSelf:"center"},onSuspend:this.props.onSuspend,onUnSuspend:this.props.onUnSuspend,suspendableObject:this.props.suspendableObject,disabled:this.props.accessLevel=="ReadOnly"}))}};Ng.defaultProps={suspendableObject:null,showEdit:!0,showDelete:!0,showShare:!1,showSuspend:!1,overrideDisableEdit:!1,overrideDisableDelete:!1,overrideDisableClone:!1,overrideDisableShare:!1,confirmDeleteAction:null,entityType:"",accessLevel:"Full",editSize:"xsmall",deleteSize:"xsmall",shareSize:"xsmall"};l();var Lg=y(require("react")),R2=y(re());var un=class extends Lg.Component{render(){let e=this.props.colItems.map((n,o)=>Lg.createElement(R2.Text,{key:o,fontSize:"var(--ab-font-size-3)",title:typeof n.Content=="string"?n.Content:void 0,style:{flex:n.Size,whiteSpace:"nowrap",textOverflow:"ellipsis",overflow:"hidden"},"data-name":"list-group-cell",paddingLeft:1,paddingRight:1},n.Content)),r=He("ab-AdaptableObjectRow",this.props.isSuspended&&"ab-AdaptableObjectRow--is-suspended");return Lg.createElement("div",{className:r,onClick:this.props.onClick,style:this.props.style},Lg.createElement(R2.Flex,{"data-name":"list-group-item",className:"list-group-item",alignItems:"center",padding:2,margin:0,style:{overflowY:"visible"}},e))}};l();var I2=y(require("react")),em=class extends I2.Component{render(){return I2.createElement("span",null," ",this.props.Content)}};var i8=class extends hu.Component{render(){let e=this.props.adaptableObject,r=Er(this.props.colItems);r[0].Content=hu.createElement(em,{Content:hu.createElement(ke,{style:{padding:"0px",margin:"0px"},onChange:()=>this.props.onSelect(e),checked:this.props.IsCurrentLayout})}),r[1].Content=hu.createElement(em,{Content:e.Name}),r[2].Content=hu.createElement(em,{Content:this.props.api.layoutApi.getLayoutDescription(e)});let n=hu.createElement(Ng,{showClone:!0,confirmDeleteAction:this.props.onDeleteConfirm,showShare:this.props.teamSharingActivated,editClick:()=>this.props.onEdit(e),cloneClick:()=>this.props.onClone(e),shareClick:o=>this.props.onShare(o),overrideDisableEdit:!1,overrideDisableDelete:!this.props.canDelete,entityType:this.props.moduleInfo.FriendlyName,accessLevel:this.props.accessLevel,cloneAccessLevel:this.props.cloneAccessLevel});return r[3].Content=n,hu.createElement(un,{colItems:r})}};l();var zbe=y(require("react"));var ss=t=>zbe.createElement(Z,b({"data-name":"new",tooltip:"New",tone:"accent",icon:"plus",variant:"raised"},t),t.children===void 0?"New":t.children);l();var kg=y(require("react"));l();var tm=y(require("react")),D2=y(re());var rm=class extends tm.Component{render(){let e=this.props.colItems.map((n,o)=>tm.createElement(D2.Text,{key:n.key||n.Content||o,fontWeight:"bold",fontSize:"var(--ab-font-size-3)",paddingLeft:1,paddingRight:1,style:{flex:n.Size}},n.Content)),r=tm.createElement(D2.Flex,{alignItems:this.props.headerAlign||"center",style:{width:"100%"}},e);return tm.createElement("div",{style:this.props.style,className:this.props.className},tm.createElement(Gt,{bodyScroll:!0,header:r,border:this.props.border,bodyProps:this.props.bodyProps},this.props.children))}};var ji=class extends kg.Component{render(){let e=this.props.allowOverflow?"visible":"auto";return kg.createElement("div",{style:b({},this.props.style),className:"ab-ObjectCollection"},kg.createElement(rm,{border:"none",colItems:this.props.colItems,headerAlign:this.props.headerAlign}),kg.createElement("div",{style:{overflowY:e,boxShadow:"none"}},this.props.items))}};l();var P2=y(require("react")),T2=y(re());var Zut="ab-EmptyContent",edt=o=>{var i=o,{children:t,className:e,style:r}=i,n=Ye(i,["children","className","style"]);return typeof t=="string"&&(t=P2.createElement("p",null,t)),P2.createElement(T2.Box,{style:{position:"relative"},width:"100%",flex:1,height:"100%"},P2.createElement(T2.Flex,E(b({alignItems:"center",justifyContent:"center",flexDirection:"column",padding:4,fontSize:"var(--ab-font-size-3)"},n),{className:He(Zut,e),style:b({position:"absolute",top:0,left:0,right:0,bottom:0},r)}),t))},Bg=edt;var qbe=class extends gu.Component{constructor(e){super(e);this.shouldClosePopupOnFinishWizard=!1;this.state=Bt.getEmptyConfigState()}componentDidMount(){var e;if(this.props.popupParams){if(this.props.popupParams.source=="ModuleButton"){let r=this.getCurrentLayout();r&&this.onEdit(r)}if(this.props.popupParams.action){if(this.props.popupParams.action=="New"&&this.onNew(),this.props.popupParams.action=="Clone"){let r=(e=this.props.CurrentLayoutDraft)!=null?e:this.getCurrentLayout();r&&this.onClone(r)}if(this.props.popupParams.action=="Edit"){let r=this.getCurrentLayout();r&&this.onEdit(r)}}this.shouldClosePopupOnFinishWizard=this.props.popupParams.source&&(this.props.popupParams.source=="Toolbar"||this.props.popupParams.source=="ModuleButton"||this.props.popupParams.source=="ColumnMenu")}}render(){let e=[{Content:"Current",Size:1},{Content:"Name",Size:2},{Content:"Details",Size:7},{Content:"",Size:2}],r=this.props.Layouts.map((o,i)=>{let a=xt.getAppropriateAccessLevel(o,this.props.accessLevel);return gu.createElement(i8,{key:o.Uuid,colItems:e,api:this.props.api,IsCurrentLayout:o.Name==this.props.CurrentLayoutName,moduleInfo:this.props.moduleInfo,adaptableObject:o,onEdit:()=>this.onEdit(o),onClone:()=>this.onClone(o),onShare:s=>this.props.onShare(o,s),teamSharingActivated:this.props.teamSharingActivated,onDeleteConfirm:M1(o),canDelete:this.props.Layouts.length>1,onSelect:()=>this.props.onSelectLayout(o.Name),accessLevel:a,cloneAccessLevel:this.props.accessLevel})}),n=gu.createElement(ss,{onClick:()=>this.onNew(),tooltip:"Create New Layout",accessLevel:this.props.accessLevel,style:{color:"var(--ab-color-text-on-add)",fill:"var(--ab-color-text-on-add)",background:"var(--ab-color-action-add)"}});return gu.createElement(Rn,{headerText:this.props.moduleInfo.FriendlyName,infoLink:this.props.moduleInfo.HelpPage,infoLinkDisabled:!this.props.api.internalApi.isDocumentationLinksDisplayed(),button:n,glyphicon:this.props.moduleInfo.Glyph},r.length>0?gu.createElement(ji,{colItems:e,items:r}):gu.createElement(Bg,null,"Click 'New' to start creating layouts."),this.state.editedAdaptableObject!=null&&gu.createElement(o8,{moduleInfo:this.props.moduleInfo,editedAdaptableObject:this.state.editedAdaptableObject,configEntities:this.props.Layouts,modalContainer:this.props.modalContainer,ColumnSorts:this.props.api.gridApi.getColumnSorts(),api:this.props.api,wizardStartIndex:this.state.wizardStartIndex,onCloseWizard:()=>this.onCloseWizard(),onFinishWizard:()=>this.onFinishWizard(),canFinishWizard:()=>this.canFinishWizard()}))}onNew(){this.setState({editedAdaptableObject:wt.CreateEmptyLayout({Name:""}),wizardStartIndex:0,wizardStatus:"New"})}onEdit(e){let r=Mt.cloneObject(e);this.setState({editedAdaptableObject:r,wizardStartIndex:0,wizardStatus:"Edit"})}onClone(e){let r=Mt.cloneObject(e);r.Name="",r.IsReadOnly=!1,r.Uuid=Sd(),this.setState({editedAdaptableObject:r,wizardStartIndex:0,wizardStatus:"New"})}onCloseWizard(){this.props.onClearPopupParams(),this.setState({editedAdaptableObject:null,wizardStartIndex:0,wizardStatus:"None"}),this.shouldClosePopupOnFinishWizard&&this.props.onClosePopup()}onFinishWizard(){let e=Mt.cloneObject(this.state.editedAdaptableObject),r=this.state.wizardStatus=="New";r?this.props.onAddLayout(e):this.props.onSaveLayout(e);let n=this.getCurrentLayout(),o=r||(n==null?void 0:n.Uuid)==e.Uuid;this.setState({editedAdaptableObject:null,wizardStartIndex:0,wizardStatus:"None"}),o&&this.props.onSelectLayout(e.Name)}canFinishWizard(){let e=this.state.editedAdaptableObject;return!e.IsReadOnly&&De.IsNotNullOrEmpty(e.Name)}getCurrentLayout(){return this.props.Layouts.find(e=>e.Name==this.props.CurrentLayoutName)}};function tdt(t,e){return{Layouts:t.Layout.Layouts,CurrentLayoutName:t.Layout.CurrentLayout,CurrentLayoutDraft:t.Grid.CurrentLayout}}function rdt(t,e){return{onSaveLayout:r=>{t(od(r))},onAddLayout:r=>{t(nd(r))},onSelectLayout:r=>t(id(r)),onShare:(r,n)=>t(Go(r,Bo,n))}}var Qbe=We(tdt,rdt)(qbe);l();var ho=y(require("react"));var Z2=y(re());l();var jbe="11.0.0-canary.2";l();var dn=y(require("react")),jg=y(re());l();var ds=y(require("react"));l();var om=y(require("react"));l();var w2=y(require("react"));var nm=class extends w2.Component{render(){let e=[];return e.push({Size:3,Content:this.props.SummaryItems[0]}),e.push({Size:7,Content:this.props.SummaryItems[1]}),e.push({Size:2,Content:this.props.SummaryItems[2]}),w2.createElement(un,{colItems:e})}};l();var by=y(require("react"));var sl=class extends by.Component{render(){return by.createElement("div",null,by.createElement(Ct,{name:this.props.moduleInfo.Glyph,style:{fill:"var(--ab-color-text-on-primary)"}})," ",this.props.moduleInfo.FriendlyName)}};var ul=class extends om.Component{render(){let e=[],r=this.props.newButtonDisabled?null:om.createElement(ss,{onClick:()=>this.props.onNew(),tooltip:"Create "+this.props.newButtonTooltip,accessLevel:this.props.accessLevel});return e.push(om.createElement("b",null,om.createElement(sl,{moduleInfo:this.props.moduleInfo}))),e.push(this.props.moduleSummary),e.push(r),om.createElement(nm,{SummaryItems:e})}};l();var Jd=y(require("react"));var Yi=class extends Jd.Component{render(){let e=[];return this.props.showBold?e.push(Jd.createElement("b",null,this.props.item1)):e.push(Jd.createElement("i",null,this.props.item1)),e.push(Jd.createElement("i",null,this.props.item2)),e.push(Jd.createElement(Ng,{justifyContent:"start",confirmDeleteAction:this.props.onDelete,showEdit:this.props.showEdit,editClick:()=>this.props.onEdit(),shareClick:r=>this.props.onShare(r),showShare:this.props.showShare,entityType:this.props.moduleInfo.FriendlyName,accessLevel:this.props.accessLevel})),Jd.createElement(nm,{SummaryItems:e})}};l();var rp=y(require("react")),mCe=require("react"),M2=y(re());l();var Ot=y(require("react")),Zd=require("react");var Po=y(re());l();var Ybe=()=>{let t=typeof globalThis!="undefined"?globalThis:window;return/(Mac|iPhone|iPod|iPad)/i.test(t.navigator.platform)};l();var Kbe=y(require("react")),$be=y(re()),O2=t=>Kbe.createElement($be.Text,b({fontSize:1,color:"inputcolor"},t));l();var Jbe=y(require("react")),Ta=require("react");l();var Xbe=()=>(typeof globalThis!="undefined"?globalThis:window).ResizeObserver;var ndt=(t,e)=>{let r=Xbe();if(!r)return()=>{};let n=new r(o=>{var u;let i=o[0],{width:a,height:s}=i.contentRect;if((u=i.borderBoxSize)==null?void 0:u[0])s=i.borderBoxSize[0].blockSize,a=i.borderBoxSize[0].inlineSize;else{let d=t.getBoundingClientRect();s=d.height,a=d.width}e({width:a,height:s})});return n.observe(t),()=>{n.disconnect()}},a8=(t,e,r={earlyAttach:!1})=>{let n=(0,Ta.useRef)({width:0,height:0}),o=i=>{let a;return t.current&&(a=ndt(t.current,s=>{s={width:Math.round(s.width),height:Math.round(s.height)};let u=n.current;(u.width!==s.width||u.height!==s.height)&&(n.current=s,i(s))})),()=>{a&&a()}};(0,Ta.useEffect)(()=>r.earlyAttach?()=>{}:o(e),[t.current,e,r.earlyAttach]),(0,Ta.useLayoutEffect)(()=>r.earlyAttach?o(e):()=>{},[t.current,e,r.earlyAttach])},odt=t=>{let e=(0,Ta.useMemo)(()=>({position:"absolute",top:0,left:0,width:"100%",height:"100%",boxSizing:"border-box"}),[]),{notifyOnMount:r,earlyAttach:n}=t,o=(0,Ta.useRef)(!0),i=(0,Ta.useRef)(null),a=(0,Ta.useCallback)(s=>{if(o.current&&!r){o.current=!1;return}t.onResize(s)},[t.onResize]);return a8(i,a,{earlyAttach:n||!1}),Jbe.createElement("div",{ref:i,style:e})};odt.defaultProps={notifyOnMount:!0,earlyAttach:!1};l();var Zbe=y(require("react"));var eCe=(t,e)=>{let r=Zbe.useCallback(n=>{if((n.ctrlKey||n.metaKey)&&(n.code==="ArrowUp"||n.code==="ArrowDown")){let o=n.code==="ArrowUp",i=e.reduce((a,s,u)=>(s!=="-"&&a.push(u),a),[]);t(a=>{let s=null,u=i.indexOf(a);if(o){let d=i[u-1];s=typeof d=="number"?d:i[i.length-1]}else{let d=i[u+1];s=typeof d=="number"?d:i[0]}return s})}},[e,t]);C3("keydown",r)};var To=t=>Ot.createElement(Po.Text,b({fontSize:2,mb:3},t)),tCe=t=>Ot.createElement(Po.Text,b({fontSize:2,mt:1},t)),rCe=Ot.createContext({data:null,sections:[],moduleInfo:null,setCurrentSection:t=>{},api:null,namedQuery:!1});function je(){return Ot.useContext(rCe)}var $r=t=>{var M,A;let e=Ht(),r=Ot.useCallback(I=>e(zl(I)),[]),{api:n}=ht(),o=0;if(t.defaultCurrentSectionName){let I=t.sections.findIndex(O=>O!=="-"&&O.title===t.defaultCurrentSectionName);I>=0&&(o=I)}let[i,a]=mr(t,"currentIndex",o,{onChange:I=>{var O;(O=t.onSectionChange)==null||O.call(t,I)}}),[s,u]=(0,Zd.useState)(!1),[d]=(0,Zd.useState)(()=>new Map),c=()=>{var I;s&&s.Name&&r(s),(I=t.onFinish)==null||I.call(t,t.data)},m=I=>{let O=t.sections[I];return O==="-"?Ot.createElement(Ot.Fragment,{key:I}):Ot.createElement(Po.Flex,{flexDirection:"column",key:I,"data-name":`section-${I}`,style:{minHeight:"100%"},mr:2},Ot.createElement(Po.Box,{py:3,paddingLeft:2,fontSize:4,className:"ab-OnePageWizard__details"},O.details),Ot.createElement(Po.Box,{flex:1,className:"ab-OnePageWizard__section"},O.render(t.data,I)))},f=(0,Zd.useRef)(null),h=Ot.createElement("div",{ref:f,className:"ab-OnePageWizard__selected-title-overlay",style:{position:"absolute",background:"var(--ab-cmp-one-page-wizard-selected-title__background)",pointerEvents:"none",borderRadius:"var(--ab__border-radius)",transition:"top 0.2s"}}),g=(0,Zd.useRef)(null),[C,S]=(0,Zd.useState)(0);a8(g,({width:I})=>{S(I)}),Ot.useEffect(()=>{let I=f.current,z=I.parentNode.children[i];I.style.top=`${z.offsetTop}px`,I.style.left=`${z.offsetLeft}px`,I.style.height=`${z.offsetHeight}px`,I.style.width=`${z.offsetWidth}px`},[i,C]),eCe(a,t.sections);let v=0,x=(0,Zd.useRef)(null),R=0,D=null,T={data:t.data,api:n,sections:t.sections,setCurrentSection:a,namedQuery:s,moduleInfo:t.moduleInfo},w=t.sections.reduce((I,O,z)=>{if(O==="-")return I.set(z,!0),I;let F=O.isValid?O.isValid(t.data,n,T):!0;return F!==!0&&(R++,D==null&&(D=F)),I.set(z,F),I},new Map),N=!R;return Ot.createElement(HS.Provider,{value:{namedQuery:s,setNamedQuery:u}},Ot.createElement(rCe.Provider,{value:T},Ot.createElement(Gn,{modal:!0,isOpen:!0,showCloseButton:!1,focusOnBrowserVisible:!0,style:{borderRadius:"var(--ab__border-radius)",overflow:"hidden",height:"80vh"},ref:x,onDismiss:()=>{var I;return(I=t.onHide)==null?void 0:I.call(t)},onKeyDown:I=>{if(I.metaKey||I.ctrlKey){let{key:O}=I;if(!isNaN(Number(O))){let z=Number(O);if(d.has(z)){let F=d.get(z);a(F),I.preventDefault(),I.stopPropagation(),requestAnimationFrame(()=>{var B;(B=x==null?void 0:x.current)==null||B.bringToFront()})}}}}},Ot.createElement(Po.Flex,{className:"ab-OnePageWizard",flexDirection:"column","data-name":t.moduleInfo.FriendlyName?`${Da(t.moduleInfo.FriendlyName)}-wizard`:"",style:b({height:"100%",width:"90vw",maxWidth:1e3},t.style)},Ot.createElement(Po.Flex,{flexDirection:"row",alignItems:"stretch",flex:1,style:{overflow:"auto"}},Ot.createElement(Po.Flex,{flexDirection:"column",padding:3,className:"ab-OnePageWizard__section-title-container",ref:g,style:{overflow:"auto",position:"relative",flex:"none"}},t.sections.map((I,O)=>{if(I==="-")return Ot.createElement(Po.Box,{as:"hr",mt:2,className:"ab-OnePageWizard__section-separator",key:`${O}-`,style:{width:"100%",border:"none",borderTop:"1px solid var(--ab-color-inputborder)"}});v++,d.set(v,O);let z=O===i,F=!1;return Ot.createElement(Po.Flex,{className:"ab-OnePageWizard__section-title",flexDirection:"row",style:{cursor:F?"auto":"pointer",zIndex:10,transition:"color 0.2s",opacity:F?.5:1},key:I.title,color:z?"var(--ab-cmp-one-page-wizard-section-title__color)":"",px:2,py:1,mt:O?2:0,onClick:()=>{F||a(O)}},Ot.createElement(O2,{mr:2,style:{display:"inline-block"}},v),Ot.createElement("div",{style:{flex:1}},I.title),Ot.createElement(Ct,{name:"error",style:{marginLeft:"var(--ab-space-2)",visibility:w.get(O)!==!0?"visible":"hidden"}}))}),h,Ot.createElement(Po.Box,{flex:1}),Ot.createElement(O2,{style:{lineHeight:1.5},className:"ab-OnePageWizard__key-hint"},Ybe()?"Cmd":"Ctrl"," + #",Ot.createElement("br",null),"to navigate")),Ot.createElement(Po.Flex,{flex:1,flexDirection:"column",className:"ab-OnePageWizard__section-container"},m(i))),Ot.createElement(Po.Flex,{flexDirection:"row",padding:2,alignItems:"center",className:"ab-WizardDialog__footer ab-OnePageWizard__footer"},Ot.createElement(Z,{tone:"neutral",variant:"text","data-name":"close",onClick:()=>{var I;return(I=t.onHide)==null?void 0:I.call(t)},tooltip:(M=t.closeTooltip)!=null?M:"Close wizard",accessLevel:"Full"},(A=t.closeText)!=null?A:"CLOSE"),Ot.createElement(O2,{ml:2},"Esc"),Ot.createElement(Po.Text,{fontSize:2,mr:3,className:"ab-OnePageWizard__error",style:{flex:1,color:"var(--ab-color-error)",textAlign:"end"}},D),Ot.createElement(Z,{tone:"accent","data-name":"finish",variant:"raised",disabled:N!==!0,onClick:()=>c(),icon:"check",accessLevel:"Full"},"Finish"))))))},Xr=()=>{let{sections:t,setCurrentSection:e,data:r,api:n}=je(),o=i=>Ot.createElement(Z,{px:1,variant:"text",style:{textDecoration:"underline",display:"inline-block",fontSize:"var(--ab-font-size-2)"},onClick:()=>{e(i)}},"edit");return Ot.createElement(Ot.Fragment,null,t.map((i,a)=>i==="-"||!i.renderSummary?null:Ot.createElement(j,{keyboardNavigation:!1,mt:a?2:0,key:a},Ot.createElement(j.Tab,null,i.title," ",o(a)),Ot.createElement(j.Content,null,i.renderSummary(r,n)))).filter(Boolean))};l();var bu=y(require("react")),iCe=y(re());l();var nCe=y(require("react")),oCe=require("react");var Cy=t=>{let{columnFilterText:e,availableColumns:r,selected:n,onChange:o,singleSelect:i}=t,a=(0,oCe.useMemo)(()=>e?s=>s.friendlyName.toLowerCase().indexOf(e.toLowerCase())!=-1:null,[e]);return nCe.createElement(Jc,{value:n,options:r,filter:a,singleSelect:i,allowReorder:!1,onChange:s=>{o(i?s.length?[s.pop()]:[]:s)},toIdentifier:s=>s.columnId,toLabel:s=>s.friendlyName,noSelectionLabel:i?"Please select a column":"You have not selected any columns.",xSelectedLabel:i?()=>null:s=>s>1?`You selected ${s} columns.`:"You selected one column."})};Cy.defaultProps={allowReorder:!0};var aCe=t=>{let{api:e}=je();return bu.createElement(iCe.Text,{pr:2,py:2,fontSize:2},"Custom sort column: ",bu.createElement(Dt,null,e.columnApi.getFriendlyNameFromColumnId(t.ColumnId)))},lCe=t=>t.ColumnId?!0:"You have to select a Column for Custom Sort",sCe=t=>{let{data:e,api:r}=je(),n=bu.useMemo(()=>{var u,d;let o=r.columnApi.getSortableColumns(),i=r.customSortApi.getAllCustomSort(),a=((d=(u=r.internalApi.getAdaptableOptions())==null?void 0:u.generalOptions)==null?void 0:d.customSortComparers)||[],s=[...i.map(c=>c.ColumnId),...a.map(c=>r.scopeApi.getColumnIdsInScope(c.scope))];return o.filter(c=>!t.isNew&&c.columnId===(e==null?void 0:e.ColumnId)?!0:s.every(m=>c.columnId!==m))},[]);return bu.createElement(j,{style:{height:"100%"}},bu.createElement(j.Tab,null,"Column"),bu.createElement(j.Content,null,bu.createElement(Cy,{availableColumns:n,selected:e.ColumnId?[e.ColumnId]:[],singleSelect:!0,onChange:o=>{t.onChange(E(b({},e),{ColumnId:o[0]}))},allowReorder:!1})))};l();var us=y(require("react")),tp=require("react"),uCe=y(re());l();l();var Sy=y(require("react")),F2=t=>Sy.createElement("div",{style:t.style,className:"ab-Loader__Spinner"}),yy=t=>Sy.createElement("div",{style:t.style,className:"ab-Loader"},Sy.createElement(F2,null),Sy.createElement("span",{className:"ab-Loader__text"},t.children));l();var ep=async(t,e,r=100)=>{let n=!1;return t==null||t.then(()=>{n=!0}),(async()=>(await new Promise(o=>setTimeout(o,r)),n||e()))(),t};var dCe=t=>!t.SortedValues||!t.SortedValues.length?"You have to specify at least one value for Custom Sort order":!0,pCe=t=>t.SortedValues.length?us.createElement(uCe.Text,{fontSize:2},us.createElement(Zo,{options:t.SortedValues,value:t.SortedValues,toIdentifier:e=>`${e}`,toLabel:e=>`${e}`,allowWrap:!0,readOnly:!0})):null,cCe=t=>{let{data:e,api:r}=je(),[n,o]=(0,tp.useState)([]),[i,a]=(0,tp.useState)(!1);(0,tp.useEffect)(()=>{let f=!0;return(async()=>{o([]);let h=await ep(r.columnApi.getDistinctCustomSortDisplayValuesForColumn(e.ColumnId),()=>f&&a(!0));!f||(a(!1),o(h))})(),()=>{f=!1}},[e.ColumnId]);let s=(0,tp.useMemo)(()=>!e.SortedValues||!e.SortedValues.length?new Map:e.SortedValues.reduce((f,h)=>(f.set(h,!0),f),new Map),[e.SortedValues]),u=us.useCallback(f=>s.has(f),[s]),d=(0,tp.useMemo)(()=>y2(n,e.SortedValues,{sortUnorderedItems:!1}),[u,n,e.SortedValues]),c="ab-CustomSortWizard__SortOrder",m=He(c,i&&`${c}--loading`);return us.createElement(j,{style:{height:"100%"},className:m},us.createElement(j.Tab,null,"Sort Order"),us.createElement(j.Content,null,i&&us.createElement(yy,null,"Loading"),us.createElement(Jc,{toIdentifier:f=>`${f}`,toLabel:f=>`${f}`,options:d,value:e.SortedValues,allowReorder:u,xSelectedLabel:()=>"Your Sort Order:",onChange:f=>{t.onChange(E(b({},e),{SortedValues:f}))}})))};var _2=t=>{let[e,r]=(0,mCe.useState)(()=>t.data?Er(t.data):at.CreateEmptyCustomSort()),n=Ht(),o=()=>{t.data?n(rd(e)):n(td(e)),t.onFinishWizard(e)};return rp.createElement($r,{defaultCurrentSectionName:t.defaultCurrentSectionName,moduleInfo:t.moduleInfo,data:e,onFinish:o,onHide:t.onCloseWizard,sections:[{isValid:lCe,renderSummary:aCe,details:"Select a Column for Custom Sort",render:()=>rp.createElement(M2.Box,{padding:2,style:{height:"100%"}},rp.createElement(sCe,{isNew:t.isNew,onChange:r})),title:"Column"},{title:"Sort Order",details:'Select values to specify Custom Sort order - use the "Drag to reorder" checkbox to modify order',isValid:dCe,renderSummary:pCe,render:()=>rp.createElement(M2.Box,{padding:2,style:{height:"100%"}},rp.createElement(cCe,{onChange:r}))},"-",{title:"Summary",details:"Review your Custom Sort",render:()=>rp.createElement(M2.Box,{padding:2},rp.createElement(Xr,null))}]})};var fCe=class extends ds.Component{constructor(e){super(e);this.onFinishWizard=e=>{this.props.CustomSorts.find(r=>r.ColumnId==e.ColumnId)?this.props.onEditCustomSort(e):this.props.onAddCustomSort(e),this.setState({editedAdaptableObject:null,wizardStartIndex:0,wizardStatus:"None"})};this.state=Bt.getEmptyConfigState()}render(){let e=this.props.CustomSorts.find(i=>i.ColumnId==this.props.summarisedColumn.columnId),r=this.props.api.internalApi.getCustomSortComparer(this.props.summarisedColumn),n=e==null&&r==null,o;return this.props.summarisedColumn.sortable?n?o=ds.createElement(ul,{key:this.props.moduleInfo.FriendlyName,moduleInfo:this.props.moduleInfo,moduleSummary:"No Custom Sort Set",onNew:()=>this.onNew(),accessLevel:this.props.accessLevel,newButtonTooltip:this.props.moduleInfo.FriendlyName}):r!=null?o=ds.createElement(ul,{key:this.props.moduleInfo.FriendlyName,moduleInfo:this.props.moduleInfo,moduleSummary:"Using a Custom Sort Comparer Function",onNew:()=>this.onNew(),accessLevel:this.props.accessLevel,newButtonTooltip:this.props.moduleInfo.FriendlyName}):o=ds.createElement(Yi,{key:this.props.moduleInfo.FriendlyName,item1:ds.createElement(sl,{moduleInfo:this.props.moduleInfo}),item2:this.getCustomSortedValues(e),configEnity:e,moduleInfo:this.props.moduleInfo,onEdit:()=>this.onEdit(e),showEdit:e!=null,onShare:i=>this.props.onShare(e,i),showShare:this.props.teamSharingActivated,onDelete:rh(e),showBold:!0,accessLevel:this.props.accessLevel}):o=ds.createElement(ul,{key:this.props.moduleInfo.FriendlyName,moduleInfo:this.props.moduleInfo,moduleSummary:"Column is not sortable",newButtonDisabled:!0,onNew:()=>this.onNew(),newButtonTooltip:this.props.moduleInfo.FriendlyName,accessLevel:this.props.accessLevel}),ds.createElement("div",null,o,this.state.editedAdaptableObject&&ds.createElement(_2,{isNew:this.state.wizardStatus==="New",moduleInfo:this.props.moduleInfo,data:this.state.editedAdaptableObject,configEntities:this.props.CustomSorts,onCloseWizard:()=>this.onCloseWizard(),onFinishWizard:this.onFinishWizard}))}onNew(){let e=wt.CreateEmptyCustomSort();e.ColumnId=this.props.summarisedColumn.columnId,this.setState({editedAdaptableObject:e,wizardStartIndex:1,wizardStatus:"New"})}onEdit(e){this.setState({editedAdaptableObject:Mt.cloneObject(e),wizardStartIndex:1,wizardStatus:"Edit"})}onCloseWizard(){this.setState({editedAdaptableObject:null,wizardStartIndex:0,wizardStatus:"None"})}canFinishWizard(){let e=this.state.editedAdaptableObject;return De.IsNotNullOrEmpty(e.ColumnId)&&Ee.IsNotNullOrEmpty(e.SortedValues)}getCustomSortedValues(e){return Ee.IsNotNullOrEmpty(e.SortedValues)?e.SortedValues.join(", "):"[Has bespoke Custom Sort implementing using bespoke function]"}};function idt(t,e){return{CustomSorts:t.CustomSort.CustomSorts}}function adt(t){return{onAddCustomSort:e=>t(td(e)),onEditCustomSort:e=>t(rd(e)),onShare:(e,r)=>t(Go(e,yo,r))}}var hCe=We(idt,adt)(fCe);l();var ip=y(require("react"));l();var vy=y(require("react"));var Ki=class extends vy.Component{render(){if(!this.props.Style)return null;let e=qe.IsNotNullOrEmpty(this.props.Text)?this.props.Text:"Style",r;if(this.props.Style.ClassName)r=vy.createElement("div",null,"CSS Class: "+this.props.Style.ClassName);else{let n=this.props.Style.BackColor!=null?this.props.Style.BackColor:null,o=this.props.Style.ForeColor!=null?this.props.Style.ForeColor:"black",i=this.props.Style.BorderColor!=null?this.props.Style.BorderColor:null,a=this.props.Style.FontWeight=="Bold"?"bold":"normal",s=this.props.Style.FontStyle=="Italic"?"italic":"normal",u=fi.getCssFontSizeFromFontSizeEnum(this.props.Style.FontSize);r=vy.createElement("div",{className:this.props.Style.BackColor!=null?"":"ab_white_grey_stripes",style:{textAlign:"center",margin:"2px",padding:"3px",background:n,color:o,borderColor:i,borderStyle:i?"solid":"none",fontWeight:a,fontStyle:s,fontSize:u}},e)}return r}};l();var Fa=y(require("react")),DCe=require("react"),Gg=y(re());l();var l8=y(require("react"));var CCe=y(re());l();var im=t=>{let e={};return t.BackColor!==void 0&&t.BackColor!==null&&(e.backgroundColor=t.BackColor),t.ForeColor!==void 0&&t.ForeColor!==null&&(e.color=t.ForeColor),t.FontWeight!==void 0&&t.FontWeight!==null&&(e.fontWeight=t.FontWeight.toLocaleLowerCase()),t.FontStyle!==void 0&&t.FontStyle!==null&&(e.fontStyle=t.FontStyle.toLocaleLowerCase()),t.FontSize!==void 0&&t.FontSize!==null&&(e.fontSize=fi.getCssFontSizeFromFontSizeEnum(t.FontSize)),t.BorderColor!==void 0&&t.BorderColor!==null&&(e.borderColor=t.BorderColor),e},gCe=t=>{switch(t){case"x-large":return 18;case"large":return 13.5;case"medium":return 12;case"small":return 10;case"x-small":return 7;default:return 12}},bCe=t=>E(b({},im(t!=null?t:{})),{borderWidth:(t==null?void 0:t.BorderColor)?2:0,borderStyle:"solid"});var ldt=t=>E(b({},im(t!=null?t:{})),{borderWidth:(t==null?void 0:t.BorderColor)?2:0,borderStyle:"solid"}),SCe=t=>l8.createElement(CCe.Text,{padding:2,style:ldt(t.Style)},"Preview result");function yCe(t){let{data:e,api:r}=je();return l8.createElement(nl,{headless:!0,api:r,Style:e.Style,UpdateStyle:n=>{t.onChange(E(b({},e),{Style:n}))}})}l();var Ay=y(require("react"));l();var Jt=y(require("react")),vCe=require("react"),$i=y(re());var wa=({Scope:t})=>{let e=[];return t?(t&&"ColumnIds"in t&&t.ColumnIds.length===0&&e.push("No columns selected for scope"),t&&"DataTypes"in t&&t.DataTypes.length===0&&e.push("No data types selected for scope"),e.length?e.join(", "):!0):"No scope specified or scope is empty"},ACe={Date:{label:"Date",value:"Date"},Number:{label:"Number",value:"Number"},String:{label:"String",value:"String"},Boolean:{label:"Boolean",value:"Boolean"}},sdt=Object.values(ACe),ps=(t,e)=>{let n=ht().api.scopeApi,o=n.getColumnsForScope(t);return Jt.createElement(Jt.Fragment,null,Jt.createElement($i.Box,null,Jt.createElement(To,{mb:0},n.scopeIsAll(t)?e.scopeWholeRow:null)),Jt.createElement($i.Box,{style:{overflow:"hidden"}},"ColumnIds"in t?Jt.createElement(Jt.Fragment,null,Jt.createElement(To,{mb:o.length?2:0},e.scopeColumns),o.length?Jt.createElement(Zo,{options:o,value:o.map(i=>i.columnId),toLabel:i=>i.friendlyName,allowWrap:!0,readOnly:!0,renderLabel:i=>Jt.createElement(To,{mb:0},i),toIdentifier:i=>i.columnId}):null):null),Jt.createElement($i.Box,null,"DataTypes"in t?Jt.createElement(Jt.Fragment,null,Jt.createElement($i.Text,{fontSize:2,mb:2},e.scopeDataTypes),Jt.createElement(Zo,{readOnly:!0,options:t.DataTypes,value:t.DataTypes,toLabel:i=>i,allowWrap:!0,renderLabel:i=>Jt.createElement($i.Text,{fontSize:2},`DataType: ${i}`),toIdentifier:i=>i})):null))},Oa=t=>{let{api:e}=ht(),{scopeApi:r,columnApi:n}=e,[o,i]=(0,vCe.useState)(""),a=t.scopeColumns||n.getColumns(),s=g=>{if(!!g){if(r.scopeIsAll(g))return"All";if(r.scopeHasColumns(t.scope))return"Column";if(r.scopeHasDataType(t.scope))return"DataType"}},u=g=>{let C;g=="Column"?C={ColumnIds:[]}:g=="DataType"?C={DataTypes:[]}:C={All:!0},t.updateScope(C)},d=g=>{let C={ColumnIds:g};t.updateScope(C)},c=(g,C)=>{let S=[].concat(r.getDataTypesInScope(t.scope));if(g)S.push(C);else{let x=S.indexOf(C,0);x>-1&&S.splice(x,1)}let v={DataTypes:S};t.updateScope(v)},m=s(t.scope),f=t.scope&&"DataTypes"in t.scope?r.getDataTypesInScope(t.scope):null,h=sdt;return Array.isArray(t.availableDataTypes)&&(h=t.availableDataTypes.map(g=>ACe[g])),Jt.createElement(j,{"data-name":"scope-component",className:"ab-ScopeComponent",value:m,style:b({height:"100%"},t.style),onValueChange:u},t.hideWholeRow?null:Jt.createElement(j.Tab,{value:"Row"},Jt.createElement(ke,{margin:0,checked:m=="All",tabIndex:-1},"Whole Row")),Jt.createElement(j.Tab,{value:"Column"},Jt.createElement(ke,{margin:0,value:"Column",checked:m=="Column",tabIndex:-1},"Columns")),Jt.createElement(j.Tab,{value:"DataType"},Jt.createElement(ke,{margin:0,value:"DataType",checked:m=="DataType",tabIndex:-1},"Data Types")),t.hideWholeRow?null:Jt.createElement(j.Content,{value:"Row",style:{flex:"none"},"data-name":"row-scope"},Jt.createElement($i.Text,{padding:2,fontSize:2},t.descriptions.rowScope)),Jt.createElement(j.Content,{value:"Column",style:{flex:1,overflow:"auto"},"data-name":"column-scope",padding:0},Jt.createElement($i.Flex,{flexDirection:"row",alignItems:"center",padding:2},Jt.createElement($i.Text,{fontSize:2},t.descriptions.columnScope),Jt.createElement($i.Flex,{flex:3}),Jt.createElement(va,{value:o,OnTextChange:i,placeholder:"Type to search columns",style:{flex:1}})),Jt.createElement($i.Flex,{paddingLeft:2,flex:1,style:{overflow:"hidden"}},Jt.createElement(Cy,{columnFilterText:o,allowReorder:!1,availableColumns:a,selected:r.getColumnIdsInScope(t.scope),onChange:d}))),Jt.createElement(j.Content,{value:"DataType",style:{flex:"none"},"data-name":"datatype-scope"},h.map(g=>Jt.createElement(he,{key:g.value,"data-name":"scope",checked:f&&f.includes(g.value),onChange:C=>c(C,g.value)},g.label))))};l();var N2="NonBlanks";var xCe=t=>ps(t.Scope,{scopeWholeRow:"Matching rows will display the Conditionally Style",scopeColumns:"Cells in selected columns will display the Conditionally Style",scopeDataTypes:"Cells in columns of the selected data-types will display the Conditionally Style"});function ECe(t){let{data:e,api:r}=je();return Ay.createElement(Ay.Fragment,null,Ay.createElement(Oa,{scope:e.Scope,descriptions:{rowScope:"Matching Rows will have the Conditional Style applied",columnScope:"Matching Columns will have the Conditional Style applied"},updateScope:n=>{let o=E(b({},e),{Scope:n}),i=r.scopeApi.scopeIsAll(n);o.Rule.Predicate&&(i?(delete o.Rule.Predicate,o.Rule.BooleanExpression=""):o.Rule.Predicate={PredicateId:N2}),t.onChange(o)}}))}l();var In=y(require("react"));l();var ir=y(require("react")),np=y(re());var k2=(t,e,r)=>{var n,o,i,a,s,u;return!((n=t==null?void 0:t.Rule)==null?void 0:n.Predicate)&&!((o=t==null?void 0:t.Rule)==null?void 0:o.BooleanExpression)?"No valid Condition is specified":((i=t==null?void 0:t.Rule)==null?void 0:i.Predicate)&&!e.predicateApi.isValidPredicate((a=t==null?void 0:t.Rule)==null?void 0:a.Predicate)?"The Predicate is not valid":((s=t==null?void 0:t.Rule)==null?void 0:s.BooleanExpression)&&!e.queryLanguageApi.isValidBooleanExpression((u=t==null?void 0:t.Rule)==null?void 0:u.BooleanExpression,r.moduleInfo.ModuleName)?"The Query is not a valid boolean query":!0},L2=t=>{let a=t,{type:e,label:r,disabled:n=!1}=a,o=Ye(a,["type","label","disabled"]),i=ir.createElement(np.Flex,{flexDirection:"column"},r," ",ir.createElement(np.Text,{fontSize:2},"query"));return ir.createElement(j.Tab,b({style:{flex:1}},o),n?i:ir.createElement(ke,{tabIndex:-1,margin:0,checked:e===t.value,style:{alignItems:"baseline"}},i))};L2.defaultProps={isTabsTab:!0};var op=t=>{let{data:e}=t,{api:{predicateApi:r}}=ht();return ir.createElement(np.Text,{fontSize:2},e.Rule.Predicate?ir.createElement(ir.Fragment,null,t.renderPredicate(r.predicateToString(e.Rule.Predicate))):ir.createElement(ir.Fragment,null,t.renderQueryExpression(Gl(e.Rule))))},Vg=t=>{var O,z;let{data:e,children:r,descriptions:n,predicateDefs:o,showPredicate:i=!0,showObservable:a=!0,showBoolean:s=!0,showAggregation:u=!0,flexProps:d,module:c}=t,{api:m}=ht(),f=e.Rule.BooleanExpression!=null?"BooleanExpression":e.Rule.ObservableExpression!=null&&a?"ObservableExpression":e.Rule.AggregationExpression!=null&&u?"AggregationExpression":"Predicate",[h,g]=ir.useState(f),C=F=>{g(F),F==="BooleanExpression"&&s?t.onChange(E(b({},e),{Rule:{BooleanExpression:""}})):F==="ObservableExpression"&&a?t.onChange(E(b({},e),{Rule:{ObservableExpression:""}})):F==="AggregationExpression"&&u?t.onChange(E(b({},e),{Rule:{AggregationExpression:""}})):t.onChange(E(b({},e),{Rule:{Predicate:{PredicateId:t.defaultPredicateId}}}))},S=e.Rule.Predicate!=null?e.Rule.Predicate.PredicateId:void 0,v=S?(O=e.Rule.Predicate.Inputs)!=null?O:[]:[],x=m.predicateApi.getPredicateDefById(S),R=(F,B)=>{let{value:Y}=F.target,ie=[...v];ie[B]=Y,t.onChange(E(b({},e),{Rule:{Predicate:{PredicateId:S,Inputs:ie}}}))},D=F=>{var B;F?t.onChange(E(b({},e),{Rule:{Predicate:{PredicateId:F.id,Inputs:((B=F==null?void 0:F.inputs)!=null?B:[]).map(Y=>{var ie;return(ie=Y.defaultValue)!=null?ie:""})}}})):t.onChange(E(b({},e),{Rule:{BooleanExpression:""}}))},T=()=>{t.onChange(E(b({},e),{Rule:{Predicate:void 0}}))},w=F=>{t.onChange(E(b({},e),{Rule:{BooleanExpression:F}}))},N=F=>{t.onChange(E(b({},e),{Rule:{ObservableExpression:F}}))},M=F=>{t.onChange(E(b({},e),{Rule:{AggregationExpression:F}}))},A=m.internalApi.getQueryPreviewData(),I=m.internalApi.isDocumentationLinksDisplayed();return ir.createElement(np.Flex,E(b({flexDirection:"column",padding:2,pt:0,pl:0},d),{style:b({height:"100%"},d==null?void 0:d.style)}),r,ir.createElement(j,{onValueChange:C,value:h,pt:2,pl:2,style:{flex:1,overflow:"auto"}},i?ir.createElement(j.Tab,{value:"Predicate",style:{flex:1}},ir.createElement(ke,{tabIndex:-1,margin:0,checked:f==="Predicate"},"Predicate")):null,i?ir.createElement(j.Content,{value:"Predicate"},ir.createElement(np.Text,{fontSize:2,mb:2},n.selectPredicate),ir.createElement(rt,{style:{minWidth:"15rem",whiteSpace:"nowrap",overflow:"hidden",textOverflow:"ellipsis",maxWidth:"inherit"},placeholder:"Select Rule",showClearButton:!!e.Rule.Predicate,onClear:T,items:o.map(F=>({value:F.id,label:F.label,onClick:()=>D(F)})),columns:["label"]},x?x.label:"Select Rule"),(z=x==null?void 0:x.inputs)==null?void 0:z.map((F,B)=>ir.createElement(np.Flex,{key:S+B,flexDirection:"column"},B>0&&ir.createElement(_t,{marginTop:2},"AND"),ir.createElement(Yr,{marginTop:2,type:F.type,autoFocus:B===0,value:v[B],onChange:Y=>R(Y,B)}))),I&&ir.createElement(_t,{"data-name":"query-documentation",mt:3,mb:2,style:{fontSize:"var(--ab-font-size-3)",padding:0}},ir.createElement(Ro,{mr:2,style:{color:"var(--ab-color-text-on-add)",fill:"var(--ab-color-text-on-add)",background:"var(--ab-color-action-add)"},onClick:()=>window.open(Kce,"_blank")}),"See Predicate documentation for more details and examples")):null,s?ir.createElement(L2,{value:"BooleanExpression",type:f,label:"Boolean"}):null,s?ir.createElement(j.Content,{value:"BooleanExpression",paddingLeft:0},ir.createElement(Aa,{type:"boolean",module:c,value:e.Rule.BooleanExpression,onChange:w,initialData:A,columns:m.columnApi.getQueryableColumns(),namedQueries:m.queryApi.getAllNamedQuery(),api:m})):null,a?ir.createElement(L2,{value:"ObservableExpression",type:f,label:"Observable"}):null,a?ir.createElement(j.Content,{value:"ObservableExpression",paddingLeft:0},ir.createElement(Aa,{type:"observable",module:c,value:e.Rule.ObservableExpression,onChange:N,initialData:A,columns:m.columnApi.getQueryableColumns(),namedQueries:m.queryApi.getAllNamedQuery(),api:m})):null,u?ir.createElement(L2,{value:"AggregationExpression",type:f,label:"Aggregation"}):null,u?ir.createElement(j.Content,{value:"AggregationExpression",paddingLeft:0},ir.createElement(Aa,{type:"aggregation",module:c,value:e.Rule.AggregationExpression,onChange:M,initialData:A,columns:m.columnApi.getQueryableColumns(),namedQueries:m.queryApi.getAllNamedQuery(),api:m})):null))};function RCe(t){return In.createElement(op,{data:t,renderPredicate:e=>In.createElement(In.Fragment,null,"Apply Conditional Style on ",In.createElement(Mr,null,e)),renderQueryExpression:e=>In.createElement(In.Fragment,null,"Apply Conditional Style when"," ",In.createElement("b",null,In.createElement(Mr,null,e)))})}function ICe(t){let{data:e,api:r,moduleInfo:n}=je();return In.createElement(In.Fragment,null,In.createElement(Vg,{module:n.ModuleName,defaultPredicateId:t.defaultPredicateId,predicateDefs:r.conditionalStyleApi.getCondStylePredicateDefsForScope(e.Scope),showAggregation:!1,showObservable:!1,showPredicate:!r.scopeApi.scopeIsAll(e.Scope),data:e,onChange:t.onChange,descriptions:{selectPredicate:"Select a Conditional Style Rule - to be applied when data changes",useBooleanQuery:In.createElement(In.Fragment,null,"Use an BooleanQuery if ",In.createElement("i",null,"Scope")," is 'Whole Row' - so any data change may be evaluated in a complex BooleanExpression"),useObservableQuery:In.createElement(In.Fragment,null,"Use an ObservableQuery if ",In.createElement("i",null,"Scope")," is 'Whole Row' - so any data change may be evaluated in a complex ObservableExpression"),useAggregationQuery:In.createElement(In.Fragment,null,"Use an AggregationQuery if ",In.createElement("i",null,"Scope")," is 'Whole Row' - so any data change may be evaluated in a complex AggregationExpression")}}))}var B2=t=>{let[e,r]=(0,DCe.useState)(()=>{var s;let i={BooleanExpression:""},a=t.data?Er(t.data):at.CreateEmptyConditionalStyle();return a.Scope=(s=a.Scope)!=null?s:{All:!0},a.Rule||(a.Rule=i),!a.Rule.Predicate&&a.Rule.BooleanExpression==null&&(a.Rule.BooleanExpression=""),a}),n=Ht(),o=()=>{t.data?n(ed(e)):n(Zu(e)),t.onCloseWizard()};return Fa.createElement($r,{defaultCurrentSectionName:t.defaultCurrentSectionName,moduleInfo:t.moduleInfo,data:e,onHide:t.onCloseWizard,onFinish:o,sections:[{title:"Style",details:"Specify the Style to be applied conditionally",renderSummary:SCe,render:()=>Fa.createElement(Gg.Box,{padding:2},Fa.createElement(yCe,{onChange:r}))},{title:"Target",isValid:wa,renderSummary:xCe,details:Fa.createElement(Gg.Flex,{flexDirection:"row",alignItems:"center"},"Specify where the Conditional Style should be applied",Fa.createElement("div",{style:{flex:1}}),Fa.createElement(he,{margin:0,marginLeft:2,onChange:i=>{r(E(b({},e),{IncludeGroupedRows:i}))},checked:e.IncludeGroupedRows},"Include Grouped Rows")),render:()=>Fa.createElement(Gg.Flex,{flexDirection:"column",style:{height:"100%"},padding:2},Fa.createElement(ECe,{onChange:r}))},{isValid:k2,title:"Condition",details:"Build the rules when the Conditional Style should be applied",render:()=>Fa.createElement(ICe,{onChange:r,defaultPredicateId:N2}),renderSummary:RCe},"-",{details:"Review the Conditional Style",render:()=>Fa.createElement(Gg.Box,{padding:2},Fa.createElement(Xr,null)),title:"Summary"}]})};var PCe=class extends ip.Component{constructor(e){super(e);this.onFinishWizard=e=>{this.state.wizardStatus=="Edit"?this.props.onEditConditionalStyle(e):this.props.onAddConditionalStyle(e),this.setState({editedAdaptableObject:null,wizardStartIndex:0,wizardStatus:"None"})};this.state=Bt.getEmptyConfigState()}render(){let e=[],r=ip.createElement(ul,{key:this.props.moduleInfo.FriendlyName,moduleInfo:this.props.moduleInfo,moduleSummary:Mt.ReturnItemCount(this.props.ConditionalStyles.filter(n=>this.props.api.scopeApi.isColumnInScopeColumns(this.props.summarisedColumn,n.Scope)),this.props.moduleInfo.FriendlyName),onNew:()=>this.onNew(),newButtonTooltip:this.props.moduleInfo.FriendlyName,accessLevel:this.props.accessLevel});return e.push(r),this.props.ConditionalStyles.map((n,o)=>{if(this.props.api.scopeApi.isColumnInScopeColumns(this.props.summarisedColumn,n.Scope)){let i=ip.createElement(Yi,{key:"CS"+o,item1:ip.createElement(Ki,{Style:n.Style}),item2:n.Rule.BooleanExpression?n.Rule.BooleanExpression:this.props.api.predicateApi.predicateToString(n.Rule.Predicate),configEnity:n,moduleInfo:this.props.moduleInfo,showShare:this.props.teamSharingActivated,onEdit:()=>this.onEdit(n),onShare:a=>this.props.onShare(n,a),onDelete:Zx(n),accessLevel:this.props.accessLevel});e.push(i)}}),ip.createElement("div",null,e,this.state.editedAdaptableObject&&ip.createElement(B2,{moduleInfo:this.props.moduleInfo,data:this.state.editedAdaptableObject,configEntities:null,onCloseWizard:()=>this.onCloseWizard(),onFinishWizard:this.onFinishWizard}))}onNew(){let e=wt.CreateEmptyConditionalStyle();e.Scope={ColumnIds:[this.props.summarisedColumn.columnId]},this.setState({editedAdaptableObject:e,wizardStartIndex:1,wizardStatus:"New"})}onEdit(e){this.setState({editedAdaptableObject:Mt.cloneObject(e),wizardStartIndex:1,wizardStatus:"Edit"})}onCloseWizard(){this.setState({editedAdaptableObject:null,wizardStartIndex:0,wizardStatus:"None"})}canFinishWizard(){let e=this.state.editedAdaptableObject;return De.IsNullOrEmpty(e.Rule.BooleanExpression)||!this.props.api.queryLanguageApi.isValidBooleanExpression(e.Rule.BooleanExpression,Vr)?!1:Bt.IsNotEmptyStyle(e.Style)}};function udt(t,e){return{ConditionalStyles:t.ConditionalStyle.ConditionalStyles,NamedQueries:t.Query.NamedQueries}}function ddt(t){return{onAddConditionalStyle:e=>t(Zu(e)),onEditConditionalStyle:e=>t(ed(e)),onAddNamedQuery:e=>t(zl(e)),onShare:(e,r)=>t(Go(e,Vr,r))}}var TCe=We(udt,ddt)(PCe);l();var am=y(require("react"));l();var V2=y(require("react"));var Ma=class extends V2.Component{render(){return V2.createElement(Z,E(b({"data-name":"clear",tooltip:"Clear",iconSize:20,icon:this.props.showIcon==!1?"":"clear"},this.props),{variant:"text"}),this.props.showText?"Clear":"")}};var wCe=class extends am.Component{constructor(e){super(e);this.state=Bt.getEmptyConfigState()}render(){let e=this.props.ColumnFilters.find(o=>o.ColumnId==this.props.summarisedColumn.columnId),r=this.getDescription(e),n=[];return n.push(am.createElement("b",null,am.createElement(sl,{moduleInfo:this.props.moduleInfo}))),n.push(r),n.push(am.createElement(Ma,{marginLeft:1,onClick:()=>this.props.onClearFilter(e),tooltip:"Clear Filter",disabled:e==null,accessLevel:this.props.accessLevel})),am.createElement(nm,{SummaryItems:n})}getDescription(e){return this.props.summarisedColumn&&!this.props.summarisedColumn.filterable?"Column is not filterable":e==null?"No Column Filter Active":this.props.api.filterApi.columnFilterToString(e)}};function pdt(t,e){return{ColumnFilters:t.Filter.ColumnFilters}}function cdt(t){return{onClearFilter:e=>t(Ul(e)),onClearPopupParams:()=>t(Sf()),onShare:(e,r)=>t(Go(e,vo,r))}}var OCe=We(pdt,cdt)(wCe);l();var lm=y(require("react"));l();var Xi=y(require("react")),u8=y(re());l();var G2=y(require("react"));var FCe=t=>{let{data:e,api:r}=je(),n=G2.useMemo(()=>r.columnApi.getNumericColumns(),[]);return G2.createElement(Oa,{availableDataTypes:["Number"],scopeColumns:n,scope:e.Scope,descriptions:{rowScope:"Matching rows will have the plus/minus applied",columnScope:"Matching Columns will have the plus/minus applied"},updateScope:o=>{let i=o;o&&"DataTypes"in o&&o.DataTypes.length===0&&(i=E(b({},o),{DataTypes:["Number"]})),t.onChange(E(b({},e),{Scope:i}))}})};l();var eo=y(require("react")),s8=y(re());l();var Si=y(require("react"));function MCe(){let{data:t}=je();return Si.createElement(op,{data:t,renderPredicate:e=>Si.createElement(Si.Fragment,null,"Apply Plus Minus on ",Si.createElement(Mr,null,e)),renderQueryExpression:e=>Si.createElement(Si.Fragment,null,"Apply Plus Minus when"," ",Si.createElement("b",null,Si.createElement(Mr,null,e)))})}function _Ce(t){var o;let{data:e,moduleInfo:r}=je(),n=E(b({},e),{Rule:(o=e==null?void 0:e.Rule)!=null?o:{BooleanExpression:""}});return Si.createElement(Vg,{module:r.ModuleName,flexProps:{style:{minHeight:0}},defaultPredicateId:t.defaultPredicateId,predicateDefs:[],showAggregation:!1,showObservable:!1,showPredicate:!1,data:n,onChange:i=>t.onChange(i),descriptions:{selectPredicate:null,useBooleanQuery:Si.createElement(Si.Fragment,null,"Use an BooleanQuery if ",Si.createElement("i",null,"Scope")," is 'Whole Row' - so any data change may be evaluated in a complex BooleanExpression"),useObservableQuery:null,useAggregationQuery:null}})}var NCe=t=>{var r;let{data:e}=je();return eo.createElement(eo.Fragment,null,eo.createElement(To,null,"Nudge Value ",eo.createElement(Dt,null,(r=e.NudgeValue)!=null?r:"Not selected")),t.hasCondition&&eo.createElement(MCe,null))},LCe=t=>(e,r,n)=>{let o=t?k2(e,r,n):!0;return typeof o=="string"?o:typeof e.NudgeValue!="number"?"Nudge value is not specified":e.NudgeValue===0?"Nudge value must be different than 0":!0},kCe=t=>{var n;let{data:e}=je(),r=o=>{let i=parseFloat(o.target.value);t.onChange(E(b({},e),{NudgeValue:isNaN(i)?"":i}))};return eo.createElement(s8.Flex,{height:"100%",flexDirection:"column","data-name":"plus-minus-column-settings"},eo.createElement(j,{autoFocus:!1,padding:2},eo.createElement(j.Tab,null,"Plus Minus Settings"),eo.createElement(j.Content,null,eo.createElement(tt,null,eo.createElement(pe,{label:"Nudge Value"},eo.createElement($e,{flex:1,marginRight:3,onChange:r,placeholder:"Enter Number",type:"number",value:(n=e.NudgeValue)!=null?n:""})),eo.createElement(pe,{label:"Nudge Type"},eo.createElement(s8.Flex,null,eo.createElement(ke,{value:"Always",checked:!t.hasCondition,onChange:()=>t.onConditionChange(!1)},"Always Apply Nudge"),eo.createElement(ke,{marginLeft:3,value:"Expression",checked:t.hasCondition,onChange:()=>t.onConditionChange(!0)},"Create a Rule")))))),t.hasCondition&&eo.createElement(_Ce,{defaultPredicateId:"NonBlanks",onChange:t.onChange}))};var U2=t=>{let[e,r]=Xi.useState(()=>{var s,u,d,c;return E(b({},t.data?t.data:at.CreateEmptyPlusMinusNudge()),{Scope:(u=(s=t==null?void 0:t.data)==null?void 0:s.Scope)!=null?u:{All:!0},NudgeValue:(c=(d=t==null?void 0:t.data)==null?void 0:d.NudgeValue)!=null?c:20})}),[n,o]=Xi.useState(()=>{var s;return Boolean((s=t==null?void 0:t.data)==null?void 0:s.Rule)});Xi.useEffect(()=>{var u;let s=b({},e);n?s.Rule=(u=s.Rule)!=null?u:{BooleanExpression:""}:delete s.Rule,r(s)},[n]);let i=Ht(),a=()=>{t.data?i(ld(e)):i(ad(e)),t.onFinishWizard(e)};return Xi.createElement($r,{defaultCurrentSectionName:t.defaultCurrentSectionName,moduleInfo:t.moduleInfo,data:e,onHide:t.onCloseWizard,onFinish:a,sections:[{title:"Target",isValid:wa,details:"Specify where Plus/Minus should be applied",renderSummary:()=>ps(e.Scope,{scopeWholeRow:"Plus/Minus is applied for matching rows",scopeColumns:"Plus/Minus is applied in cells in selected columns",scopeDataTypes:"Plus/Minus is applied for cells with selected data type"}),render:()=>Xi.createElement(u8.Box,{padding:2},Xi.createElement(FCe,{onChange:r}))},{title:"Settings",isValid:LCe(n),renderSummary:()=>Xi.createElement(NCe,{hasCondition:n}),render:()=>Xi.createElement(kCe,{hasCondition:n,onConditionChange:o,onChange:r})},"-",{render:()=>Xi.createElement(u8.Box,{padding:2},Xi.createElement(Xr,null)),title:"Summary"}]})};var BCe=class extends lm.Component{constructor(e){super(e);this.state=Bt.getEmptyConfigState()}render(){let e=[],r=lm.createElement(ul,{key:this.props.moduleInfo.FriendlyName,moduleInfo:this.props.moduleInfo,moduleSummary:Mt.ReturnItemCount(this.props.PlusMinusNudges.filter(n=>this.props.api.scopeApi.isColumnInScopeColumns(this.props.summarisedColumn,n.Scope)),this.props.moduleInfo.FriendlyName),onNew:()=>this.onNew(),newButtonTooltip:"Plus / Minus Rule",accessLevel:this.props.accessLevel});return e.push(r),this.props.PlusMinusNudges.map((n,o)=>{var i;if(this.props.api.scopeApi.isColumnInScopeColumns(this.props.summarisedColumn,n.Scope)){let a=lm.createElement(Yi,{key:"PM"+o,item1:"Nudge Value: "+n.NudgeValue,item2:((i=n.Rule)==null?void 0:i.BooleanExpression)?n.Rule.BooleanExpression:"Always",configEnity:n,showShare:this.props.teamSharingActivated,moduleInfo:this.props.moduleInfo,onEdit:()=>this.onEdit(n),onShare:s=>this.props.onShare(n,s),onDelete:U1(n),accessLevel:this.props.accessLevel});e.push(a)}}),lm.createElement("div",null,e,this.state.editedAdaptableObject&&lm.createElement(U2,{moduleInfo:this.props.moduleInfo,data:this.state.editedAdaptableObject,configEntities:null,wizardStartIndex:this.state.wizardStartIndex,onCloseWizard:()=>this.onCloseWizard(),onFinishWizard:()=>this.onFinishWizard()}))}onNew(){let e=wt.CreateEmptyPlusMinusNudge();e.Scope={ColumnIds:[this.props.summarisedColumn.columnId]},this.setState({editedAdaptableObject:e,wizardStartIndex:1,wizardStatus:"New"})}onEdit(e){this.setState({editedAdaptableObject:Mt.cloneObject(e),wizardStartIndex:1,wizardStatus:"Edit"})}onCloseWizard(){this.setState({editedAdaptableObject:null,wizardStartIndex:0,wizardStatus:"None"})}onFinishWizard(){let e=this.state.editedAdaptableObject;this.state.wizardStatus=="Edit"?this.props.onEditPlusMinusNudge(e):this.props.onAddPlusMinusNudge(e),this.setState({editedAdaptableObject:null,wizardStartIndex:0,wizardStatus:"None"})}canFinishWizard(){return!!this.state.editedAdaptableObject.NudgeValue}};function mdt(t,e){return{PlusMinusNudges:t.PlusMinus.PlusMinusNudges}}function fdt(t){return{onAddPlusMinusNudge:e=>t(ad(e)),onEditPlusMinusNudge:e=>t(ld(e)),onClearPopupParams:()=>t(Sf()),onShare:(e,r)=>t(Go(e,vn,r))}}var VCe=We(mdt,fdt)(BCe);l();var Su=y(require("react"));l();var Ji=y(require("react")),oSe=require("react"),Wg=y(re());l();var GCe=y(require("react"));var UCe=t=>ps(t.Scope,{scopeWholeRow:"Matching rows will be formatted",scopeColumns:"Cells in selected columns will be formatted",scopeDataTypes:"Cells in columns of the selected data-types will be formatted"}),HCe=t=>{let{data:e}=je();return GCe.createElement(Oa,{descriptions:{rowScope:"Apply a style to an entire row",columnScope:"Select columns to format"},scope:e.Scope,updateScope:r=>{t.onChange(E(b({},e),{Scope:r}))}})};l();var Nt=y(require("react")),dl=y(re());l();var lr=y(require("react"));var Hg=y(re());l();var sm=y(require("react"));var Ug=class extends sm.Component{render(){var s;let e=Ee.sortArrayWithProperty("Asc",this.props.ColumnList,"friendlyName"),r=this.props.SelectedColumnIds.filter(u=>De.IsNotNullOrEmpty(u)),n=De.IsNotNullOrEmpty(this.props.placeHolder)?this.props.placeHolder.toString():this.props.SelectionMode=="Single"?"Select a column":"Select columns",o=this.props.SelectedColumnIds.filter(u=>De.IsNotNullOrEmpty(u)).length==0,i=e.map(u=>({label:u.friendlyName,value:u.columnId,onClick:()=>{let d=e.filter(c=>c.columnId===u.columnId);d.length?this.onColumnChange(d,o):this.onClearButton()}})),a=r.length>0?(s=this.props.ColumnList.find(u=>u.columnId==r[0]))==null?void 0:s.friendlyName:"Select a column";return sm.createElement("div",{"data-name":"column-selector"},sm.createElement(tt,{columns:[1],style:this.props.style},sm.createElement(pe,null,sm.createElement(rt,{marginRight:2,columns:["label"],showClearButton:a!="Select a column",onClear:()=>this.onClearButton(),style:{width:"100%",fontSize:"small"},className:"ab-DashboardToolbar__Layout__select",items:i,disabled:i.length==0},a))))}onClearButton(){this.props.onColumnChange([])}onColumnChange(e,r){e.length==0&&r||this.props.onColumnChange(e)}};var H2=class extends lr.Component{constructor(e){super(e);this.state={ranges:this.props.ranges,columnComparison:this.props.columnComparison,rangesType:this.props.columnComparison?"ColumnComparison":"Standard"}}render(){var a;let e=this.state.columnComparison!=null&&this.state.columnComparison.MinValue!=null&&!isNaN(Number(this.state.columnComparison.MinValue))?Number(this.state.columnComparison.MinValue):"",r=this.state.columnComparison!=null&&this.state.columnComparison.MaxValue!=null&&!isNaN(Number(this.state.columnComparison.MaxValue))?Number(this.state.columnComparison.MaxValue):"",n=this.state.columnComparison!=null&&this.state.columnComparison.MinValue!=null&&isNaN(Number(this.state.columnComparison.MinValue))?String(this.state.columnComparison.MinValue):void 0,o=this.state.columnComparison!=null&&this.state.columnComparison.MaxValue!=null&&isNaN(Number(this.state.columnComparison.MaxValue))?String(this.state.columnComparison.MaxValue):void 0,i=this.state.columnComparison!=null&&this.state.columnComparison.Color!=null?this.state.columnComparison.Color:void 0;return lr.createElement(lr.Fragment,null,lr.createElement(Hg.Flex,{flexDirection:"row"},lr.createElement(he,{marginTop:3,checked:this.state.rangesType=="ColumnComparison",onChange:s=>this.onRangesTypeChanged(s)},"Use a Column Comparison")),this.state.rangesType=="Standard"&&lr.createElement(j,{autoFocus:!1,marginTop:2},lr.createElement(j.Tab,null,"Ranges"),lr.createElement(j.Content,null,(a=this.state.ranges)==null?void 0:a.map((s,u)=>lr.createElement(Hg.Flex,{key:u,mb:2,"data-name":"percent-bar-range"},lr.createElement($e,{type:"number",value:s.Min,onChange:d=>{let{value:c}=d.target;this.changeRangeMin(u,c)},mr:2}),lr.createElement($e,{type:"number",value:s.Max,onChange:d=>{let{value:c}=d.target;this.changeRangeMax(u,c)},mr:2}),lr.createElement(uu,{api:this.props.api,value:s.Color,onChange:d=>{let{value:c}=d.target;this.changeRangeColor(u,c)},mr:2,height:"100%"}),this.props.showRangeDirection&&lr.createElement(he,{marginLeft:2,marginRight:2,checked:s.ReverseGradient&&s.ReverseGradient==!0,onChange:d=>this.changeRangeDirectionUp(u,d)},"Reverse Gradient"),lr.createElement(Z,{icon:"delete",disabled:this.state.ranges&&this.state.ranges.length==1,onClick:()=>this.removeRange(u)}))),lr.createElement("div",null,lr.createElement(Z,{variant:"raised","data-name":"add",onClick:()=>this.addRange()},"Add New Range")))),this.state.rangesType=="ColumnComparison"&&lr.createElement(j,{autoFocus:!1,marginTop:2},lr.createElement(j.Tab,null,"Column Comparison"),lr.createElement(j.Content,null,lr.createElement(Hg.Flex,{flexDirection:"column",key:"cc","data-name":"percent-bar-column-comparison"},lr.createElement(Hg.Text,{padding:2,fontSize:2},"Create Minimum and Maximum Values by providing a value or selecting another Column, and choose a Colour for the Bar."),lr.createElement(tt,{columns:["label","first","or","second"],sizes:["auto","auto","auto","1fr"]},lr.createElement(pe,{label:"Min Value:",first:lr.createElement($e,{type:"number",value:e,onChange:s=>{this.changeColumnComparisonMinValue(s)}}),or:"OR",second:lr.createElement(Ug,{style:{maxWidth:"15rem"},SelectedColumnIds:[n],ColumnList:this.props.api.columnApi.getNumericColumns(),onColumnChange:s=>this.onMinColumnSelectedChanged(s),SelectionMode:"Single"})})," ",lr.createElement(pe,{label:"Max Value:",first:lr.createElement($e,{type:"number",value:r,onChange:s=>{this.changeColumnComparisonMaxValue(s)}}),or:"OR",second:lr.createElement(Ug,{style:{maxWidth:"15rem"},SelectedColumnIds:[o],ColumnList:this.props.api.columnApi.getNumericColumns(),onColumnChange:s=>this.onMaxColumnSelectedChanged(s),SelectionMode:"Single"})}),lr.createElement(pe,{label:"Bar Colour:",first:lr.createElement(uu,{api:this.props.api,value:i,onChange:s=>{let{value:u}=s.target;this.changeColumnComparisonColor(u)}})}))))))}onRangesTypeChanged(e){if(e){let r={Color:Qt(sf),MinValue:void 0,MaxValue:void 0};this.setState({rangesType:"ColumnComparison",columnComparison:r}),this.props.updateColumnComparison(r)}else{let r=this.props.api.scopeApi.createCellColorRangesForScope(this.props.scope);this.setState({rangesType:"Standard",ranges:r}),this.props.updateRanges(r)}}changeRangeMin(e,r){let{ranges:n}=this.state;n[e].Min=Number(r),n[e-1]&&(n[e-1].Max=Number(r)),this.props.updateRanges(n)}changeRangeMax(e,r){let{ranges:n}=this.state;n[e].Max=Number(r),n[e+1]&&(n[e+1].Min=Number(r)),this.props.updateRanges(n)}changeRangeColor(e,r){let{ranges:n}=this.state;n[e].Color=r,this.props.updateRanges(n)}changeRangeDirectionUp(e,r){let{ranges:n}=this.state;n[e].ReverseGradient=r,this.props.updateRanges(n)}removeRange(e){let{ranges:r}=this.state;r.splice(e,1),this.props.updateRanges(r)}addRange(){let e=this.state.ranges[this.state.ranges.length-1];this.state.ranges.push({Min:e.Max,Max:e.Max,Color:Qt(xl)}),this.props.updateRanges(this.state.ranges)}changeColumnComparisonMinValue(e){let r=e.target,{columnComparison:n}=this.state;n.MinValue=De.IsNotNullOrEmpty(r.value)?Number(r.value):void 0,this.props.updateColumnComparison(n)}onMinColumnSelectedChanged(e){let{columnComparison:r}=this.state;r.MinValue=e.length>0?e[0].columnId:void 0,this.props.updateColumnComparison(r)}changeColumnComparisonMaxValue(e){let r=e.target,{columnComparison:n}=this.state;n.MaxValue=De.IsNotNullOrEmpty(r.value)?Number(r.value):void 0,this.props.updateColumnComparison(n)}onMaxColumnSelectedChanged(e){let{columnComparison:r}=this.state;r.MaxValue=e.length>0?e[0].columnId:void 0,this.props.updateColumnComparison(r)}changeColumnComparisonColor(e){let{columnComparison:r}=this.state;r.Color=e,this.props.updateColumnComparison(r)}};var QCe=(t,e)=>!t.ColumnStyle&&t.Style&&ur.IsEmptyStyle(t.Style)&&t.DisplayFormat===void 0&&t.HeaderName===void 0&&t.CellAlignment===void 0&&!e.scopeApi.isSingleBooleanColumnScope(t.Scope)?"No format applied":!0,hdt=t=>E(b({},im(t!=null?t:{})),{borderWidth:(t==null?void 0:t.BorderColor)?2:0,borderStyle:"solid"}),zCe=t=>t.map((e,r)=>Nt.createElement(dl.Flex,{key:r,alignItems:"center",mr:3},Nt.createElement(dl.Box,{mr:1},e.Min," to ",e.Max," "),Nt.createElement(Ki,{Style:{BackColor:e.Color,ForeColor:e.Color}}))),qCe=(t,e)=>Nt.createElement(dl.Flex,{key:"cc",alignItems:"center",mr:3},Nt.createElement(dl.Box,{mr:1},"Min Value:"," ",isNaN(Number(t.MinValue))?"["+e.columnApi.getFriendlyNameFromColumnId(String(t.MinValue))+"]":t.MinValue," ",", Max Value:"," ",isNaN(Number(t.MaxValue))?"["+e.columnApi.getFriendlyNameFromColumnId(String(t.MaxValue))+"]":t.MaxValue," "),Nt.createElement(Ki,{Style:{BackColor:t.Color,ForeColor:t.Color}})),W2=(t,e)=>{if(t.ColumnStyle){if(t.ColumnStyle.CheckBoxStyle)return"Checkbox Style";if(t.ColumnStyle.GradientStyle){if(t.ColumnStyle.GradientStyle.CellRanges)return zCe(t.ColumnStyle.GradientStyle.CellRanges);if(t.ColumnStyle.GradientStyle.ColumnComparison)return qCe(t.ColumnStyle.GradientStyle.ColumnComparison,e)}if(t.ColumnStyle.PercentBarStyle){if(t.ColumnStyle.PercentBarStyle.CellRanges)return zCe(t.ColumnStyle.PercentBarStyle.CellRanges);if(t.ColumnStyle.PercentBarStyle.ColumnComparison)return qCe(t.ColumnStyle.PercentBarStyle.ColumnComparison,e)}return t.Style==null||ur.IsEmptyStyle(t.Style)?"[None]":Nt.createElement(Ki,{Style:t.Style})}return Nt.createElement(dl.Text,{padding:2,style:hdt(t.Style)},"Preview result")};function jCe(t){var S,v,x,R,D,T,w,N,M,A,I,O,z,F,B,Y,ie,te,oe,X,ve,se,J,Se,ue,me,Te,Be,Je,de,sr,Ve;let{data:e,api:r}=je(),n=r.scopeApi.isSingleNumericColumnScope(e.Scope),o=r.scopeApi.isSingleBooleanColumnScope(e.Scope),i=P=>{var L;let V=(L=e.ColumnStyle)==null?void 0:L.PercentBarStyle;P?V.CellText?V.CellText.push("CellValue"):V.CellText=["CellValue"]:V.CellText&&V.CellText.includes("PercentageValue")?V.CellText=["PercentageValue"]:V.CellText=[],t.onChange(E(b({},e),{ColumnStyle:{PercentBarStyle:V}}))},a=P=>{var L;let V=(L=e.ColumnStyle)==null?void 0:L.PercentBarStyle;P?V.CellText?V.CellText.push("PercentageValue"):V.CellText=["PercentageValue"]:V.CellText&&V.CellText.includes("CellValue")?V.CellText=["CellValue"]:V.CellText=[],t.onChange(E(b({},e),{ColumnStyle:{PercentBarStyle:V}}))},s=P=>{var L;let V=(L=e.ColumnStyle)==null?void 0:L.PercentBarStyle;P?V.ToolTipText?V.ToolTipText.push("CellValue"):V.ToolTipText=["CellValue"]:V.ToolTipText&&V.ToolTipText.includes("PercentageValue")?V.ToolTipText=["PercentageValue"]:V.ToolTipText=[],t.onChange(E(b({},e),{ColumnStyle:{PercentBarStyle:V}}))},u=P=>{var L;let V=(L=e.ColumnStyle)==null?void 0:L.PercentBarStyle;P?V.ToolTipText?V.ToolTipText.push("PercentageValue"):V.ToolTipText=["PercentageValue"]:V.ToolTipText&&V.ToolTipText.includes("CellValue")?V.ToolTipText=["CellValue"]:V.ToolTipText=[],t.onChange(E(b({},e),{ColumnStyle:{PercentBarStyle:V}}))},d=P=>{let V={PercentBarStyle:{ColumnComparison:P}};t.onChange(E(b({},e),{ColumnStyle:V}))},c=P=>{var L;let V=(L=e.ColumnStyle)==null?void 0:L.PercentBarStyle;V.BackColor=P?Qt(xl):null,t.onChange(E(b({},e),{ColumnStyle:{PercentBarStyle:V}}))},m=P=>{var fe;let V=P.target,L=(fe=e.ColumnStyle)==null?void 0:fe.PercentBarStyle;L.BackColor=V.value,t.onChange(E(b({},e),{ColumnStyle:{PercentBarStyle:L}}))},f=P=>{let V={PercentBarStyle:{CellRanges:P}};t.onChange(E(b({},e),{ColumnStyle:V}))},h=P=>{let V={GradientStyle:{CellRanges:P}};t.onChange(E(b({},e),{ColumnStyle:V}))},g=P=>{let V={GradientStyle:{ColumnComparison:P}};t.onChange(E(b({},e),{ColumnStyle:V}))},C=P=>{let V=P.target;if(V.value=="Gradient")t.onChange(E(b({},e),{ColumnStyle:{GradientStyle:{CellRanges:r.scopeApi.createCellColorRangesForScope(e.Scope)}}}));else if(V.value=="PercentBar")t.onChange(E(b({},e),{ColumnStyle:{PercentBarStyle:{CellRanges:r.scopeApi.createCellColorRangesForScope(e.Scope)}}}));else if(V.value=="None"){let L=b({},e);delete L.ColumnStyle,t.onChange(L)}};return Nt.createElement(Nt.Fragment,null,o&&Nt.createElement(j,null,Nt.createElement(j.Tab,null,"CheckBox Column"),Nt.createElement(j.Content,null,Nt.createElement(_t,{fontSize:2},"Shows each cell in the Column as a Checkbox")," ",Nt.createElement(he,{marginLeft:2,checked:!!((S=e.ColumnStyle)==null?void 0:S.CheckBoxStyle),onChange:P=>{let V=E(b({},e),{ColumnStyle:{CheckBoxStyle:P}});P||delete V.ColumnStyle,t.onChange(V)}},"Display Column As CheckBox"))),n?Nt.createElement(Nt.Fragment,null,Nt.createElement(j,null,Nt.createElement(j.Tab,null,"Create a Format Column Style"),Nt.createElement(j.Content,null,Nt.createElement(dl.Flex,{flexDirection:"row"},Nt.createElement(ke,{marginLeft:2,value:"None",checked:!e.ColumnStyle,onChange:(P,V)=>C(V)},"Standard")," ",Nt.createElement(ke,{marginLeft:3,value:"Gradient",checked:!!((v=e.ColumnStyle)==null?void 0:v.GradientStyle),onChange:(P,V)=>C(V)},"Gradient")," ",Nt.createElement(ke,{marginLeft:3,value:"PercentBar",checked:!!((x=e.ColumnStyle)==null?void 0:x.PercentBarStyle),onChange:(P,V)=>C(V)},"Percent Bar"," ")," "))),((R=e.ColumnStyle)==null?void 0:R.GradientStyle)&&Nt.createElement(H2,{api:r,scope:e==null?void 0:e.Scope,showRangeDirection:!0,ranges:(T=(D=e.ColumnStyle)==null?void 0:D.GradientStyle)==null?void 0:T.CellRanges,columnComparison:(N=(w=e==null?void 0:e.ColumnStyle)==null?void 0:w.GradientStyle)==null?void 0:N.ColumnComparison,updateRanges:P=>h(P),updateColumnComparison:P=>g(P)}),((M=e.ColumnStyle)==null?void 0:M.PercentBarStyle)&&Nt.createElement(Nt.Fragment,null,Nt.createElement(H2,{api:r,scope:e==null?void 0:e.Scope,showRangeDirection:!1,ranges:(I=(A=e.ColumnStyle)==null?void 0:A.PercentBarStyle)==null?void 0:I.CellRanges,columnComparison:(z=(O=e==null?void 0:e.ColumnStyle)==null?void 0:O.PercentBarStyle)==null?void 0:z.ColumnComparison,updateRanges:P=>f(P),updateColumnComparison:P=>d(P)}),Nt.createElement(tt,{marginLeft:2,marginTop:2},Nt.createElement(pe,{label:"Cell Display:"},Nt.createElement(he,{marginLeft:2,checked:(Y=(B=(F=e.ColumnStyle)==null?void 0:F.PercentBarStyle)==null?void 0:B.CellText)==null?void 0:Y.includes("CellValue"),onChange:P=>i(P)},"Cell Value")," ",Nt.createElement(he,{marginLeft:3,checked:(oe=(te=(ie=e.ColumnStyle)==null?void 0:ie.PercentBarStyle)==null?void 0:te.CellText)==null?void 0:oe.includes("PercentageValue"),onChange:P=>a(P)},"Percent Value"," ")," "),Nt.createElement(pe,{label:"ToolTip Display:"},Nt.createElement(he,{marginLeft:2,checked:(se=(ve=(X=e.ColumnStyle)==null?void 0:X.PercentBarStyle)==null?void 0:ve.ToolTipText)==null?void 0:se.includes("CellValue"),onChange:P=>s(P)},"Cell Value")," ",Nt.createElement(he,{marginLeft:3,checked:(ue=(Se=(J=e.ColumnStyle)==null?void 0:J.PercentBarStyle)==null?void 0:Se.ToolTipText)==null?void 0:ue.includes("PercentageValue"),onChange:P=>u(P)},"Percent Value"," ")," "),Nt.createElement(pe,{label:"Back Colour:"},Nt.createElement(dl.Flex,{alignItems:"center",marginLeft:2},Nt.createElement(he,{checked:!!((Te=(me=e.ColumnStyle)==null?void 0:me.PercentBarStyle)==null?void 0:Te.BackColor),onChange:P=>c(P),mr:2}),((Je=(Be=e.ColumnStyle)==null?void 0:Be.PercentBarStyle)==null?void 0:Je.BackColor)!==void 0&&Nt.createElement(uu,{api:r,value:(sr=(de=e.ColumnStyle)==null?void 0:de.PercentBarStyle)==null?void 0:sr.BackColor,onChange:P=>m(P)})))),Nt.createElement(dl.Flex,{flexDirection:"row",padding:2}))):null,e.ColumnStyle?null:Nt.createElement(nl,{headless:!0,api:r,Style:(Ve=e.Style)!=null?Ve:{},UpdateStyle:P=>{t.onChange(E(b({},e),{Style:P}))}}))}l();var ze=y(require("react")),pl=y(re());l();function gdt(t){return t&&t.length?Cv(t):[]}var YCe=gdt;var bdt={FractionDigits:2,FractionSeparator:".",IntegerDigits:void 0,IntegerSeparator:",",Prefix:"$",Suffix:"",Multiplier:1,Parentheses:!1},Cdt={FractionDigits:2,FractionSeparator:".",IntegerDigits:void 0,IntegerSeparator:",",Prefix:"\xA3",Suffix:"",Multiplier:1,Parentheses:!1},KCe={FractionDigits:void 0,FractionSeparator:".",IntegerDigits:void 0,IntegerSeparator:",",Prefix:"",Suffix:"M",Multiplier:1e-6,Parentheses:!1},$Ce={FractionDigits:void 0,FractionSeparator:".",IntegerDigits:void 0,IntegerSeparator:",",Prefix:"",Suffix:"K",Multiplier:.001,Parentheses:!1},XCe={FractionDigits:2,FractionSeparator:".",IntegerDigits:void 0,IntegerSeparator:",",Prefix:"",Suffix:"%",Multiplier:100,Parentheses:!1},Sdt=["MM/dd/yyyy","dd-MM-yyyy","MMMM do yyyy, h:mm:ss a","EEEE","MMM do yyyy","yyyyMMdd","HH:mm:ss"],d8=t=>{let e="N/A";return t.DisplayFormat?(t.DisplayFormat.Formatter==="NumberFormatter"&&(e=Yn.NumberFormatter(12345.6789,t.DisplayFormat.Options)),t.DisplayFormat.Formatter==="DateFormatter"&&(e=Yn.DateFormatter(new Date,t.DisplayFormat.Options)),t.DisplayFormat.Formatter==="StringFormatter"&&(e=Yn.StringFormatter("Hello World ",t.DisplayFormat.Options))):e="N/A",e},JCe=t=>ze.createElement(Dt,null,d8(t)),ZCe=(t,e)=>{if(t!=null&&!("All"in t)){if("ColumnIds"in t){let r=t.ColumnIds.map(o=>e.columnApi.getColumnFromId(o)),n=YCe(r.map(o=>o.dataType));return n.length==1&&n[0]=="Number"?"Number":n.length==1&&n[0]=="Date"?"Date":n.length==1&&n[0]=="String"?"String":void 0}if("DataTypes"in t&&t.DataTypes.length==1&&t.DataTypes[0]=="Number")return"Number";if("DataTypes"in t&&t.DataTypes.length==1&&t.DataTypes[0]=="Date")return"Date";if("DataTypes"in t&&t.DataTypes.length==1&&t.DataTypes[0]=="String")return"String"}},ydt=(t,e,r)=>t.DisplayFormat.Formatter!=="DateFormatter"?null:ze.createElement(pl.Box,{padding:2},ze.createElement(j,null,ze.createElement(j.Tab,null,"Format"),ze.createElement(j.Content,null,ze.createElement(pl.Text,{padding:2,fontSize:2},"Either create your own date pattern, or select one of the preset date formats (check out"," ",ze.createElement("a",{href:"https://www.unicode.org/reports/tr35/tr35-dates.html#Date_Field_Symbol_Table",target:"_blank"},"available symbols"),")."),ze.createElement(tt,null,ze.createElement(pe,{label:"Pattern"},ze.createElement($e,{value:t.DisplayFormat.Options.Pattern,onChange:n=>r("Pattern",n.currentTarget.value),mr:2}),ze.createElement("span",null,Yn.DateFormatter(new Date,t.DisplayFormat.Options)))))),ze.createElement(j,{marginTop:2},ze.createElement(j.Tab,null,"Presets"),ze.createElement(j.Content,null,ze.createElement(un,{style:{fontWeight:"bold"},colItems:[{Content:"Pattern",Size:1},{Content:"Formatted Date",Size:1},{Content:"",Size:1}]}),Sdt.map((n,o)=>ze.createElement(un,{key:o,colItems:[{Content:n,Size:1},{Content:Yn.DateFormatter(new Date,{Pattern:n}),Size:1},{Content:ze.createElement(Z,{onClick:()=>r("Pattern",n)},"Apply"),Size:1}]}))))),vdt=(t,e,r)=>{if(t.DisplayFormat.Formatter!=="NumberFormatter")return null;let n=()=>{e({DisplayFormat:{Formatter:"NumberFormatter",Options:XCe}})},o=()=>{e({DisplayFormat:{Formatter:"NumberFormatter",Options:$Ce}})},i=()=>{e({DisplayFormat:{Formatter:"NumberFormatter",Options:KCe}})},a=()=>{e({DisplayFormat:{Formatter:"NumberFormatter",Options:bdt}})},s=()=>{e({DisplayFormat:{Formatter:"NumberFormatter",Options:Cdt}})},u=t.DisplayFormat.Options.Suffix==="%"&&t.DisplayFormat.Options.Multiplier===XCe.Multiplier,d=t.DisplayFormat.Options.Suffix==="K"&&t.DisplayFormat.Options.Multiplier===$Ce.Multiplier,c=t.DisplayFormat.Options.Suffix==="M"&&t.DisplayFormat.Options.Multiplier===KCe.Multiplier,m=t.DisplayFormat.Options.Prefix==="$",f=t.DisplayFormat.Options.Prefix==="\xA3";return ze.createElement(pl.Box,{"data-name":"format-column-display-format",padding:2},ze.createElement(j,null,ze.createElement(j.Tab,null,"Format"),ze.createElement(j.Content,null,ze.createElement(pl.Flex,{flexDirection:"row"},ze.createElement(tt,{mr:3},ze.createElement(pe,{label:"Fraction Separator"},ze.createElement($e,{value:t.DisplayFormat.Options.FractionSeparator,onChange:h=>r("FractionSeparator",h.currentTarget.value)})),ze.createElement(pe,{label:"Integer Separator"},ze.createElement($e,{value:t.DisplayFormat.Options.IntegerSeparator,onChange:h=>r("IntegerSeparator",h.currentTarget.value)})),ze.createElement(pe,{label:"Prefix"},ze.createElement($e,{value:t.DisplayFormat.Options.Prefix,onChange:h=>r("Prefix",h.currentTarget.value)})),ze.createElement(pe,{label:"Suffix"},ze.createElement($e,{value:t.DisplayFormat.Options.Suffix,onChange:h=>r("Suffix",h.currentTarget.value)}))),ze.createElement(tt,null,ze.createElement(pe,{label:"Fraction Digits"},ze.createElement($e,{type:"number",min:"0",value:typeof t.DisplayFormat.Options.FractionDigits=="number"?t.DisplayFormat.Options.FractionDigits:"",onChange:h=>r("FractionDigits",qe.IsNumeric(h.currentTarget.value)?Lu(Number(h.currentTarget.value),0,20):void 0)})),ze.createElement(pe,{label:"Integer Digits"},ze.createElement($e,{type:"number",min:"0",value:t.DisplayFormat.Options.IntegerDigits,onChange:h=>r("IntegerDigits",Number(h.currentTarget.value))})),ze.createElement(pe,{label:"Multiplier"},ze.createElement($e,{type:"number",value:t.DisplayFormat.Options.Multiplier,onChange:h=>r("Multiplier",Number(h.currentTarget.value))})),ze.createElement(pe,{label:"Parentheses"},ze.createElement(he,{checked:t.DisplayFormat.Options.Parentheses,onChange:h=>r("Parentheses",h)})),ze.createElement(pe,{label:"Truncate"},ze.createElement(he,{checked:t.DisplayFormat.Options.Truncate,onChange:h=>r("Truncate",h)})))))),ze.createElement(j,{marginTop:2,autoFocus:!1,keyboardNavigation:!1},ze.createElement(j.Tab,null,"Presets"),ze.createElement(j.Content,null,ze.createElement(pl.Text,{padding:2,fontSize:2},"Select a preset for common use cases"),ze.createElement(pl.Flex,{flexDirection:"row"},ze.createElement(tt,{margin:2},ze.createElement(pe,{label:"Show As:"},ze.createElement(ke,{marginLeft:2,checked:u,onChange:()=>n()},"Percentage"),ze.createElement(ke,{marginLeft:3,checked:d,onChange:()=>o()},"K (Thousand)"),ze.createElement(ke,{marginLeft:3,checked:c,onChange:()=>i()},"M (Million)"),ze.createElement(ke,{marginLeft:3,checked:m,onChange:()=>a()},"Dollar"),ze.createElement(ke,{marginLeft:3,checked:f,onChange:()=>s()},"Sterling")))))),ze.createElement(j,{marginTop:2,autoFocus:!1,keyboardNavigation:!1},ze.createElement(j.Tab,null,"Examples"),ze.createElement(j.Content,null,ze.createElement(un,{style:{fontWeight:"bold"},colItems:[{Content:"Raw Number",Size:1},{Content:"Formatted Number",Size:1}]}),ze.createElement(un,{colItems:[{Content:"12345.6789",Size:1},{Content:Yn.NumberFormatter(12345.6789,t.DisplayFormat.Options),Size:1}]}),ze.createElement(un,{colItems:[{Content:"-12345.6789",Size:1},{Content:Yn.NumberFormatter(-12345.6789,t.DisplayFormat.Options),Size:1}]}),ze.createElement(un,{colItems:[{Content:"0.123",Size:1},{Content:Yn.NumberFormatter(.123,t.DisplayFormat.Options),Size:1}]}))))},Adt=(t,e,r)=>t.DisplayFormat.Formatter!=="StringFormatter"?null:ze.createElement(pl.Box,{"data-name":"format-column-display-format",padding:2},ze.createElement(j,null,ze.createElement(j.Tab,null,"Format"),ze.createElement(j.Content,null,ze.createElement(pl.Flex,{flexDirection:"column"},ze.createElement(tt,{mr:3},ze.createElement(pe,{label:"Case: "},ze.createElement(ke,{checked:t.DisplayFormat.Options.Case=="Lower",onChange:n=>r("Case","Lower")},"Lower"),ze.createElement(ke,{marginLeft:2,checked:t.DisplayFormat.Options.Case=="Upper",onChange:n=>r("Case","Upper")},"Upper"),ze.createElement(ke,{marginLeft:2,checked:t.DisplayFormat.Options.Case=="Sentence",onChange:n=>r("Case","Sentence")},"Sentence"),ze.createElement(ke,{marginLeft:2,checked:t.DisplayFormat.Options.Case==null,onChange:n=>r("Case",void 0)},"None"),ze.createElement(he,{marginLeft:5,checked:t.DisplayFormat.Options.Trim,onChange:n=>r("Trim",n)},"Trim")))))),ze.createElement(j,{marginTop:2,keyboardNavigation:!1},ze.createElement(j.Tab,null,"Example"),ze.createElement(j.Content,null,ze.createElement(un,{style:{fontWeight:"bold"},colItems:[{Content:"Raw String",Size:1},{Content:"Formatted String",Size:1}]}),ze.createElement(un,{colItems:[{Content:'"Hello World "',Size:1},{Content:'"'+Yn.StringFormatter("Hello World ",t.DisplayFormat.Options)+'"',Size:1}]})))),eSe=t=>{let{data:e}=je(),r=i=>{t.onChange(b(b({},e),i))},n=(i,a)=>{let s=b({},e.DisplayFormat);s.Options=E(b({},s.Options),{[i]:a}),r({DisplayFormat:s})},o=e.DisplayFormat&&e.DisplayFormat.Formatter;return o==="NumberFormatter"?vdt(e,r,n):o==="DateFormatter"?ydt(e,r,n):o==="StringFormatter"?Adt(e,r,n):ze.createElement(_t,{margin:3},"Setting a Display Format is only available if ",ze.createElement("b",null,"all")," the columns in Scope are Numeric, String or Date.")};l();var Hn=y(require("react")),Cu=y(re());var z2=require("react");var xdt=[{value:"Left",label:"Left"},{value:"Right",label:"Right"},{value:"Center",label:"Center"}],tSe=t=>{var e;return Hn.createElement(Cu.Box,{padding:2},Hn.createElement(Cu.Text,null,"Cell alignment ",Hn.createElement(Dt,null,(e=t.CellAlignment)!=null?e:"default")),t.HeaderName?Hn.createElement(Cu.Text,{mt:3},"Header name ",Hn.createElement(Dt,null,t.HeaderName)):null,Hn.createElement(Cu.Text,{mt:3},"Include grouped rows ",Hn.createElement(Dt,null,t.IncludeGroupedRows?"yes":"no")))},rSe=t=>{let{data:e,api:r}=je(),n=u=>{t.onChange(E(b({},e),{CellAlignment:u}))},o=u=>{t.onChange(E(b({},e),{IncludeGroupedRows:u}))},i=u=>{let d=u.target;t.onChange(E(b({},e),{HeaderName:d.value}))},[a,s]=(0,z2.useState)(!1);return(0,z2.useEffect)(()=>{let u=qe.IsNotNullOrEmpty(e.HeaderName);s(u),u&&Rl("DEPRECATED: The 'FormatColumn.HeaderName' property is deprecated; use a Layout custom Column Header instead!")},[]),Hn.createElement(j,null,Hn.createElement(j.Tab,null,"Format"),Hn.createElement(j.Content,null,Hn.createElement(Cu.Flex,{flexDirection:"row"},Hn.createElement(tt,null,Hn.createElement(pe,{label:"Cell Alignment"},Hn.createElement(rt,{style:{minWidth:"15rem",whiteSpace:"nowrap",overflow:"hidden",textOverflow:"ellipsis",maxWidth:"inherit"},placeholder:"Select Option",showClearButton:!!e.CellAlignment,onClear:()=>n(null),items:xdt.map(u=>({value:u.value,label:u.label,onClick:()=>n(u.value)})),columns:["label"]},e.CellAlignment?e.CellAlignment:"Select Option")),a&&r.scopeApi.isSingleColumnScope(e.Scope)&&Hn.createElement(pe,{label:"Header Name"},Hn.createElement($e,{value:e.HeaderName,onChange:u=>i(u),style:{minWidth:"15rem"}})," "),Hn.createElement(pe,{label:"Include Grouped Rows:"},Hn.createElement(Cu.Flex,{alignItems:"center",marginLeft:2},Hn.createElement(he,{checked:e.IncludeGroupedRows,onChange:o,mr:2})))))))};var Edt=(t,e)=>{t=b({},t);let r=ZCe(t.Scope,e);return!r&&t.DisplayFormat&&(t.DisplayFormat=void 0),(!t.DisplayFormat||t.DisplayFormat.Formatter!=="NumberFormatter")&&r==="Number"&&(t.DisplayFormat={Formatter:"NumberFormatter",Options:{FractionDigits:void 0,FractionSeparator:".",IntegerDigits:void 0,IntegerSeparator:",",Prefix:"",Suffix:"",Multiplier:1,Parentheses:!1}}),(!t.DisplayFormat||t.DisplayFormat.Formatter!=="DateFormatter")&&r==="Date"&&(t.DisplayFormat={Formatter:"DateFormatter",Options:{Pattern:"MM/dd/yyyy"}}),(!t.DisplayFormat||t.DisplayFormat.Formatter!=="StringFormatter")&&r==="String"&&(t.DisplayFormat={Formatter:"StringFormatter",Options:{Case:void 0,Trim:!1}}),t},nSe=(t,e)=>(t=Edt(t,e),!e.scopeApi.isSingleNumericColumnScope(t.Scope)&&!e.scopeApi.isSingleBooleanColumnScope(t.Scope)&&delete t.ColumnStyle,t);function q2(t){let{api:e}=ht(),[r,n]=(0,oSe.useState)(()=>{var u;let s=t.data?Er(t.data):at.CreateEmptyFormatColumn();return s.Scope=(u=s.Scope)!=null?u:{ColumnIds:[]},s=nSe(s,e),s}),o=Ji.useCallback(s=>{n(nSe(s,e))},[]),i=Ht(),a=()=>{t.data?i(Ws(r)):i(ud(r)),t.onFinishWizard(r)};return Ji.createElement($r,{defaultCurrentSectionName:t.defaultCurrentSectionName,moduleInfo:t.moduleInfo,data:r,onHide:t.onCloseWizard,onFinish:a,sections:[{title:"Scope",details:"Apply formatting to: one or more Columns or Data Types or the whole row",isValid:wa,renderSummary:UCe,render:()=>Ji.createElement(Wg.Flex,{flexDirection:"column",style:{height:"100%"},padding:2},Ji.createElement(HCe,{onChange:o}))},{title:"Style",details:"Format Column style",isValid:QCe,renderSummary:W2,render:()=>Ji.createElement(Wg.Box,{padding:2},Ji.createElement(jCe,{onChange:o}))},{title:"Display Format",renderSummary:JCe,render:()=>Ji.createElement(eSe,{onChange:o})},{title:"Settings",renderSummary:tSe,render:()=>Ji.createElement(Wg.Box,{padding:2},Ji.createElement(rSe,{onChange:o}))},"-",{details:"Review the Format Column",render:()=>Ji.createElement(Wg.Box,{padding:2},Ji.createElement(Xr,null)),title:"Summary"}]})}var iSe=class extends Su.Component{constructor(e){super(e);this.onFinishWizard=e=>{this.props.FormatColumns.find(r=>r.Uuid==e.Uuid)?this.props.onEditFormatColumn(e):this.props.onAddFormatColumn(e),this.setState({editedAdaptableObject:null,wizardStartIndex:0,wizardStatus:"None"})};this.state=Bt.getEmptyConfigState()}render(){let e=this.props.api.formatColumnApi.getFormatColumnForColumn(this.props.summarisedColumn),r=e==null,n;return r?n=Su.createElement(ul,{key:this.props.moduleInfo.FriendlyName,moduleInfo:this.props.moduleInfo,moduleSummary:"No Format Column Set",onNew:()=>this.onNew(),newButtonTooltip:this.props.moduleInfo.FriendlyName,accessLevel:this.props.accessLevel}):n=Su.createElement(Yi,{key:this.props.moduleInfo.FriendlyName,item1:Su.createElement(sl,{moduleInfo:this.props.moduleInfo}),item2:Su.createElement(Ki,{Style:e.Style}),configEnity:e,showShare:this.props.teamSharingActivated,moduleInfo:this.props.moduleInfo,onEdit:()=>this.onEdit(e),onShare:o=>this.props.onShare(e,o),onDelete:gh(e),showBold:!0,accessLevel:this.props.accessLevel}),Su.createElement("div",null,n,this.state.editedAdaptableObject&&Su.createElement(q2,{moduleInfo:this.props.moduleInfo,data:this.state.editedAdaptableObject,configEntities:this.props.FormatColumns,wizardStartIndex:this.state.wizardStartIndex,onCloseWizard:this.onCloseWizard,onFinishWizard:this.onFinishWizard}))}onNew(){let e=wt.CreateEmptyFormatColumn();e.Scope={ColumnIds:[this.props.summarisedColumn.columnId]},this.setState({editedAdaptableObject:e,wizardStartIndex:1,wizardStatus:"New"})}onEdit(e){let r=Mt.cloneObject(e);this.setState({editedAdaptableObject:r,wizardStartIndex:1,wizardStatus:"Edit"})}onCloseWizard(){this.setState({editedAdaptableObject:null,wizardStartIndex:0,wizardStatus:"None"})}canFinishWizard(){let e=this.state.editedAdaptableObject;return e.Scope!=null&&Bt.IsNotEmptyStyle(e.Style)}};function Rdt(t,e){return{FormatColumns:t.FormatColumn.FormatColumns}}function Idt(t){return{onAddFormatColumn:e=>t(ud(e)),onEditFormatColumn:e=>t(Ws(e)),onShare:(e,r)=>t(Go(e,Ao,r))}}var aSe=We(Rdt,Idt)(iSe);l();var qg=y(require("react"));l();var um=y(require("react")),c8=y(re());var SSe=require("react");l();var zg=y(require("react")),lSe=require("react"),sSe=y(re());var uSe=t=>{var e;return zg.createElement(sSe.Box,{fontSize:2},"Column scalar expression: ",zg.createElement(Mr,null,(e=t.Query)==null?void 0:e.ScalarExpression))},dSe=(t,e)=>{var i,a;let r=e.internalApi.getCalculatedColumnExpressionService(),n=(a=(i=t.Query)==null?void 0:i.ScalarExpression)==null?void 0:a.trim();return n?r.IsExpressionValid(n)?!0:"Calculated column expression is not valid":"Calculated column expression cannot be empty"},pSe=t=>{var a;let{api:e,data:r,moduleInfo:n}=je(),o=(0,lSe.useMemo)(()=>e.internalApi.getQueryPreviewData(),[]),i=s=>{let d=e.internalApi.getCalculatedColumnExpressionService().GetCalculatedColumnDataType(s),c=d=="String",m=d=="Number";t.onChange(E(b({},r),{Query:{ScalarExpression:s},CalculatedColumnSettings:E(b({},r.CalculatedColumnSettings),{DataType:d,Pivotable:c,Aggregatable:m})}))};return zg.createElement(j,{m:2},zg.createElement(j.Content,null,zg.createElement(Aa,{type:"scalar",module:n.ModuleName,style:{paddingLeft:0},value:(a=r.Query)==null?void 0:a.ScalarExpression,onChange:i,initialData:o,columns:e.columnApi.getQueryableColumns(),namedQueries:e.queryApi.getAllNamedQuery(),isFullExpression:!0,api:e})))};l();var Nr=y(require("react")),ap=y(re());var Y2=require("react");l();var Q2=t=>{let{DataType:e,Width:r,Filterable:n,Resizable:o,Groupable:i,Sortable:a,Pivotable:s,Aggregatable:u}=t!=null?t:{};return[e?`DataType: ${e}`:null,r?`Width: ${r}px`:null,s?"Pivotable":null,n?"Filterable":null,o?"Resizable":null,i?"Groupable":null,a?"Sortable":null,u?"Aggregatable":null].filter(Boolean)};l();l();l();l();var cSe=1/0,Ddt=17976931348623157e292;function Pdt(t){if(!t)return t===0?t:0;if(t=Ua(t),t===cSe||t===-cSe){var e=t<0?-1:1;return e*Ddt}return t===t?t:0}var mSe=Pdt;function Tdt(t){var e=mSe(t),r=e%1;return e===e?r?e-r:e:0}var fSe=Tdt;var wdt=Math.ceil,Odt=Math.max;function Fdt(t,e,r){(r?a1(t,e,r):e===void 0)?e=1:e=Odt(fSe(e),0);var n=t==null?0:t.length;if(!n||e<1)return[];for(var o=0,i=0,a=Array(wdt(n/e));o<n;)a[i++]=Av(t,o,o+=e);return a}var hSe=Fdt;var _r=y(require("react")),gSe=y(re());var j2=t=>{var h,g;let e=ht(),r=e.api.internalApi.getAdaptableOptions().userInterfaceOptions.columnTypes,{Filterable:n,Resizable:o,Groupable:i,Sortable:a,Pivotable:s,Aggregatable:u,SuppressMenu:d,SuppressMovable:c}=(h=t.settings)!=null?h:{},m=(C,S)=>{var x,R,D;let v=(R=(x=t.settings)==null?void 0:x.ColumnTypes)!=null?R:[];S?t.onChange(E(b({},t.settings),{ColumnTypes:[...v,C]})):t.onChange(E(b({},t.settings),{ColumnTypes:(D=v==null?void 0:v.filter)==null?void 0:D.call(v,T=>T!==C)}))},f=C=>{t.onChange(b(b({},t.settings),C))};return _r.createElement(_r.Fragment,null,_r.createElement(j,{marginTop:2,autoFocus:!1},_r.createElement(j.Tab,null,"Column Properties"),_r.createElement(j.Content,null,_r.createElement(gSe.Flex,{flexDirection:"row"},_r.createElement(tt,{style:{width:"100%"},columns:[{name:"first",size:"30%"},{size:"30%",name:"second"},{size:"30%",name:"third"}]},_r.createElement(pe,null,_r.createElement(he,{checked:n,onChange:C=>f({Filterable:C}),disabled:!e.api.internalApi.getAdaptableOptions().filterOptions.enableFilterOnSpecialColumns},"Filterable"),_r.createElement(he,{checked:o,onChange:C=>f({Resizable:C})},"Resizable"),_r.createElement(he,{checked:i,onChange:C=>f({Groupable:C})},"Groupable")),_r.createElement(pe,null,_r.createElement(he,{checked:a,onChange:C=>f({Sortable:C})},"Sortable"),_r.createElement(he,{checked:s,onChange:C=>f({Pivotable:C})},"Pivotable"),_r.createElement(he,{checked:u,onChange:C=>f({Aggregatable:C})},"Aggregatable")),_r.createElement(pe,null,_r.createElement(he,{checked:d,onChange:C=>f({SuppressMenu:C})},"Suppress Menu"),_r.createElement(he,{checked:c,onChange:C=>f({SuppressMovable:C})},"Suppress Movable"),_r.createElement(he,{disabled:!0,checked:t.isEditable},"Editable")))))),Boolean(r==null?void 0:r.length)&&_r.createElement(j,{marginTop:2,autoFocus:!1},_r.createElement(j.Tab,null,"Column Types"),_r.createElement(j.Content,null,_r.createElement(tt,{columns:[{name:"first",size:"30%"},{name:"second"}]},(g=hSe(r!=null?r:[],2))==null?void 0:g.map(([C,S])=>{var v,x,R,D,T,w;return _r.createElement(pe,{key:C},C&&_r.createElement(he,{onChange:N=>m(C,N),checked:(R=(x=(v=t.settings)==null?void 0:v.ColumnTypes)==null?void 0:x.includes)==null?void 0:R.call(x,C)},C),S&&_r.createElement(he,{onChange:N=>m(S,N),checked:(w=(T=(D=t.settings)==null?void 0:D.ColumnTypes)==null?void 0:T.includes)==null?void 0:w.call(T,S)},S))})))))};var bSe=t=>{var r;let e=Q2(t.CalculatedColumnSettings);return Nr.createElement(ap.Box,{fontSize:2},Nr.createElement(ap.Box,null,"Column Identifier: ",Nr.createElement(Dt,null,t.ColumnId)),t.FriendlyName?Nr.createElement(ap.Box,{mt:3},"Column Name: ",Nr.createElement(Dt,null,(r=t.FriendlyName)!=null?r:t.ColumnId)):null,Nr.createElement(ap.Box,{mb:3}),Nr.createElement(Zo,{toLabel:n=>n,toIdentifier:n=>n,readOnly:!0,options:e,value:e}))},p8=(t,e)=>{var i;let r=e.columnApi.getColumns();if(!t.ColumnId)return"Column id cannot be empty";if(!((i=t.CalculatedColumnSettings)==null?void 0:i.DataType))return"No data type specified for column";let n=r.filter(a=>a.columnId===t.ColumnId).length;return(t.Uuid?n>1:n>0)?"A Column already exists with that id":!0},CSe=t=>{var R,D;let{data:e,api:r}=je(),n=(0,Y2.useMemo)(()=>r.internalApi.getCalculatedColumnExpressionService(),[]),o=T=>{let w=T.target;t.onChange(E(b({},e),{ColumnId:w.value}))},i=T=>{let w=T.target;t.onChange(E(b({},e),{FriendlyName:w.value}))},a=T=>{var N;let w=T=="Number"?(N=e.CalculatedColumnSettings)==null?void 0:N.Aggregatable:!1;t.onChange(E(b({},e),{CalculatedColumnSettings:E(b({},e.CalculatedColumnSettings),{DataType:T,Aggregatable:w})}))},s=t.isEdit,u=p8(e,r),d=u===!0?null:u,c=[{value:"Number",label:"Number"},{value:"String",label:"String"},{value:"Date",label:"Date"},{value:"Boolean",label:"Boolean"}],[m,f]=(0,Y2.useState)(!1),h=e.FriendlyName,g=e.ColumnId,{DataType:C}=(R=e.CalculatedColumnSettings)!=null?R:{},{Width:S,ShowToolTip:v}=(D=e.CalculatedColumnSettings)!=null?D:{},x=T=>{t.onChange(E(b({},e),{CalculatedColumnSettings:b(b({},e.CalculatedColumnSettings),T)}))};return Nr.useEffect(()=>{var T;if(!C){let w=n.GetCalculatedColumnDataType((T=e.Query)==null?void 0:T.ScalarExpression);x(E(b({},e==null?void 0:e.CalculatedColumnSettings),{DataType:w}))}},[]),Nr.createElement(ap.Box,{"data-name":"calculated-column-settings"},Nr.createElement(j,{autoFocus:!1},Nr.createElement(j.Tab,null,"Column Details"),Nr.createElement(j.Content,null,Nr.createElement(ap.Flex,{flexDirection:"row"},Nr.createElement(tt,null,Nr.createElement(pe,{label:"Id"},Nr.createElement($e,{value:e.ColumnId||"",width:300,autoFocus:!s,disabled:s,type:"text",placeholder:"Enter an Id for the column",onChange:o})),Nr.createElement(pe,{label:"Name"},Nr.createElement($e,{autoFocus:s,onFocus:()=>{f(!0)},onBlur:()=>{f(!1)},value:m?h||"":h||g||"",width:300,type:"text",placeholder:"Enter column name",onChange:i})),Nr.createElement(pe,{label:"Type"},Nr.createElement(rt,{style:{width:"300px",whiteSpace:"normal",overflow:"hidden",maxWidth:"inherit"},placeholder:"Select Data Type",showClearButton:!0,onClear:()=>a(null),columns:["label"],items:c.map(T=>({value:T.value,label:T.label,onClick:()=>a(T.value)}))},C||"Select Data Type")),Nr.createElement(pe,{label:"Width"},Nr.createElement($e,{type:"number",width:300,value:S||"",onChange:T=>x({Width:Number(T.target.value)})})),Nr.createElement(pe,{label:""},Nr.createElement(he,{onChange:T=>x({ShowToolTip:T}),checked:v},"Show Expression as Tooltip")))))),d?Nr.createElement(Ui,{marginTop:2},d):null,Nr.createElement(j2,{isEditable:!1,settings:e.CalculatedColumnSettings,onChange:x}))};var K2=t=>{let e=ht(),[r,n]=(0,SSe.useState)(()=>(t==null?void 0:t.data)?Er(t.data):at.CreateEmptyCalculatedColumn(e.api.internalApi.getAdaptableOptions().filterOptions.enableFilterOnSpecialColumns)),o=Ht(),i=Boolean(t.data),a=()=>{t.data?o(Gs(r)):o(Kf(r)),t.onCloseWizard()};return um.createElement($r,{defaultCurrentSectionName:t.defaultCurrentSectionName,moduleInfo:t.moduleInfo,data:r,onHide:t.onCloseWizard,onFinish:a,sections:[{title:"Expression",details:"Specify the calculated column expression",isValid:dSe,renderSummary:uSe,render:()=>um.createElement(pSe,{onChange:n})},{title:"Settings",details:"Specify column details and properties",isValid:p8,renderSummary:bSe,render:()=>um.createElement(c8.Box,{padding:2},um.createElement(CSe,{isEdit:i,onChange:n}))},"-",{render:()=>um.createElement(c8.Box,{padding:2},um.createElement(Xr,null)),title:"Summary"}]})};var ySe=class extends qg.Component{constructor(e){super(e);this.onFinishWizard=e=>{this.props.onEdit(e),this.setState({editedAdaptableObject:null,wizardStartIndex:0,wizardStatus:"None"})};this.state=Bt.getEmptyConfigState()}render(){let e,r=this.props.teamSharingActivated;return this.props.CalculatedColumns.map((n,o)=>{var i;n.ColumnId==this.props.summarisedColumn.columnId&&(e=qg.createElement(Yi,{key:"UF"+o,item1:this.props.moduleInfo.FriendlyName,item2:(i=n.Query)==null?void 0:i.ScalarExpression,configEnity:n,showShare:this.props.teamSharingActivated,moduleInfo:this.props.moduleInfo,onEdit:()=>this.onEdit(n),onShare:a=>this.props.onShare(n,a),onDelete:$f(n),showBold:!0,accessLevel:this.props.accessLevel}))}),qg.createElement("div",null,e,this.state.editedAdaptableObject&&qg.createElement(K2,{moduleInfo:this.props.moduleInfo,data:this.state.editedAdaptableObject,configEntities:this.props.CalculatedColumns,onCloseWizard:()=>this.onCloseWizard(),onFinishWizard:this.onFinishWizard}))}onEdit(e){this.setState({editedAdaptableObject:Mt.cloneObject(e),wizardStartIndex:0,wizardStatus:"Edit"})}onCloseWizard(){this.setState({editedAdaptableObject:null,wizardStartIndex:0,wizardStatus:"None"})}canFinishWizard(){var r;let e=this.state.editedAdaptableObject;return De.IsNotNullOrEmpty(e.ColumnId)&&De.IsNotNullOrEmpty((r=e.Query)==null?void 0:r.ScalarExpression)}};function Mdt(t){return{CalculatedColumns:t.CalculatedColumn.CalculatedColumns}}function _dt(t){return{onEdit:e=>t(Gs(e))}}var vSe=We(Mdt,_dt)(ySe);l();var dm=y(require("react"));l();var Qg=y(require("react")),RSe=require("react"),f8=y(re());l();var br=y(require("react")),lp=y(re());var ASe=require("react");var Ndt=[{value:"Number",label:"Number"},{value:"String",label:"String"},{value:"Date",label:"Date"},{value:"Boolean",label:"Boolean"}],xSe=t=>{var e;return br.createElement(lp.Box,{fontSize:2},br.createElement(lp.Box,null,"Column Identifier: ",br.createElement(Dt,null,t.ColumnId)),t.FriendlyName?br.createElement(lp.Box,{mt:3},"Column Name: ",br.createElement(Dt,null,(e=t.FriendlyName)!=null?e:t.ColumnId)):null,br.createElement(lp.Box,{mt:3},"Data Type: ",br.createElement(Dt,null,t.DataType)),t.DefaultValue!==void 0?br.createElement(lp.Box,{mt:3},"Default Value: ",br.createElement(Dt,null,t.DefaultValue)):null,t.TextEditor!==void 0?br.createElement(lp.Box,{mt:3},"Editor Type: ",br.createElement(Dt,null,t.TextEditor)):null)},m8=(t,e)=>{let r=e.columnApi.getColumns();if(!t.ColumnId)return"Column id cannot be empty";let n=r.filter(i=>i.columnId===t.ColumnId).length;return(t.Uuid?n>1:n>0)?"A Column already exists with that id":t.DataType?!0:"No data type specified for column"},ESe=t=>{let{data:e,api:r}=je(),n=r.internalApi.getAdaptableOptions().userInterfaceOptions.dateInputOptions.dateFormat,[o,i]=(0,ASe.useState)(!1),a=t.isEdit,s=m8(e,r),u=s===!0?null:s,d=C=>{let v=C.target.value;t.onChange(E(b({},e),{ColumnId:v}))},c=C=>{let v=C.target.value;t.onChange(E(b({},e),{FriendlyName:v}))},m=C=>{let S=E(b({},e),{DataType:C});delete S.DefaultValue,C||delete S.DataType,t.onChange(S)},f=C=>{let v=C.target.value;t.onChange(E(b({},e),{TextEditor:v}))},h=C=>{let v=C.target.value;e.DataType==="Date"&&(v=Co(v,{Pattern:n})),t.onChange(E(b({},e),{DefaultValue:v}))},g=C=>{t.onChange(E(b({},e),{FreeTextColumnSettings:b(b({},e==null?void 0:e.FreeTextColumnSettings),C)}))};return br.createElement(br.Fragment,null,br.createElement(tt,null,br.createElement(pe,{label:"ColumnId"},br.createElement($e,{autoFocus:!a,value:e.ColumnId||"",style:{width:"100%",maxWidth:500},disabled:a,type:"text",placeholder:"Enter an id",onChange:C=>d(C)})),br.createElement(pe,{label:"Column Name"},br.createElement($e,{autoFocus:a,onFocus:()=>{i(!0)},onBlur:()=>{i(!1)},value:o?e.FriendlyName||"":e.FriendlyName||e.ColumnId||"",style:{width:"100%",maxWidth:500},type:"text",placeholder:"Enter a name",onChange:C=>c(C)})),br.createElement(pe,{label:"Type"},br.createElement(rt,{style:{width:"300px",whiteSpace:"normal",overflow:"hidden",maxWidth:"inherit"},placeholder:"Select Data Type",showClearButton:!!e.DataType,onClear:()=>m(null),columns:["label"],items:Ndt.map(C=>({value:C.value,label:C.label,onClick:()=>m(C.value)}))},e.DataType?e.DataType:"Select Data Type")),br.createElement(pe,{label:"Default Value"},e.DataType==="Boolean"?br.createElement(he,{checked:!!e.DefaultValue,onChange:C=>{t.onChange(E(b({},e),{DefaultValue:C}))}}):br.createElement(Yr,{value:e.DataType==="Date"&&e.DefaultValue?Fx(e.DefaultValue,n)||"":e.DefaultValue||"",style:{width:"100%",maxWidth:500},type:e.DataType==="Number"?"number":e.DataType==="Date"?"date":"text",placeholder:"Default Column Value (not required)",onChange:C=>h(C)})),e.DataType=="String"&&br.createElement(pe,{label:"Editor Type"},br.createElement(ke,{value:"Inline",checked:e.TextEditor=="Inline",onChange:(C,S)=>f(S),marginRight:2},"Inline Editor"),br.createElement(ke,{value:"Large",checked:e.TextEditor=="Large",onChange:(C,S)=>f(S)},"Large Editor"))),u?br.createElement(Ui,{mt:2,mb:2},u):null,br.createElement(lp.Box,{mt:2},br.createElement(j2,{isEditable:!0,settings:e.FreeTextColumnSettings,onChange:g})))};var $2=t=>{let[e,r]=(0,RSe.useState)(()=>t.data?Er(t.data):at.CreateEmptyFreeTextColumn(!1)),n=Ht(),o=()=>{t.data?n(zs(e)):n(dd(e)),t.onFinishWizard(e)};return Qg.createElement($r,{defaultCurrentSectionName:t.defaultCurrentSectionName,moduleInfo:t.moduleInfo,data:e,onHide:t.onCloseWizard,onFinish:o,sections:[{title:"Settings",details:"Configure the Free Text Column",isValid:m8,render:()=>Qg.createElement(f8.Box,{padding:2},Qg.createElement(ESe,{isEdit:Boolean(t.data),onChange:r}))},"-",{details:"Review the Free Text Column",renderSummary:xSe,render:()=>Qg.createElement(f8.Box,{padding:2},Qg.createElement(Xr,null)),title:"Summary"}]})};var ISe=class extends dm.Component{constructor(e){super(e);this.onFinishWizard=e=>{this.props.FreeTextColumns.find(r=>r.ColumnId==e.ColumnId)?this.props.onEditFreeTextColumn(e):this.props.onAddFreeTextColumn(e),this.setState({editedAdaptableObject:null,wizardStartIndex:0,wizardStatus:"None"})};this.state=Bt.getEmptyConfigState()}render(){let e=this.props.FreeTextColumns.find(o=>o.ColumnId==this.props.summarisedColumn.columnId),r=e==null,n;if(!r){let o=Ee.IsNotEmpty(e.FreeTextStoredValues)?" Stored values: "+e.FreeTextStoredValues.length:"No stored values";n=dm.createElement(Yi,{key:this.props.moduleInfo.FriendlyName,item1:dm.createElement(sl,{moduleInfo:this.props.moduleInfo}),item2:o,configEnity:e,showShare:this.props.teamSharingActivated,moduleInfo:this.props.moduleInfo,onEdit:()=>this.onEdit(e),onShare:i=>this.props.onShare(e,i),onDelete:Ch(e),showBold:!0,accessLevel:this.props.accessLevel})}return dm.createElement("div",null,n,this.state.editedAdaptableObject&&dm.createElement($2,{moduleInfo:this.props.moduleInfo,data:this.state.editedAdaptableObject,configEntities:this.props.FreeTextColumns,onCloseWizard:()=>this.onCloseWizard(),onFinishWizard:this.onFinishWizard}))}onNew(){let e=this.props.api.internalApi.getAdaptableOptions().filterOptions.enableFilterOnSpecialColumns,r=wt.CreateEmptyFreeTextColumn(e);r.ColumnId=this.props.summarisedColumn.columnId,this.setState({editedAdaptableObject:r,wizardStartIndex:1,wizardStatus:"New"})}onEdit(e){let r=Mt.cloneObject(e);this.setState({editedAdaptableObject:r,wizardStartIndex:0,wizardStatus:"Edit"})}onCloseWizard(){this.setState({editedAdaptableObject:null,wizardStartIndex:0,wizardStatus:"None"})}canFinishWizard(){let e=this.state.editedAdaptableObject;return De.IsNotNullOrEmpty(e.ColumnId)}};function Ldt(t,e){return{FreeTextColumns:t.FreeTextColumn.FreeTextColumns}}function kdt(t){return{onAddFreeTextColumn:e=>t(dd(e)),onEditFreeTextColumn:e=>t(zs(e)),onShare:(e,r)=>t(Go(e,lo,r))}}var DSe=We(Ldt,kdt)(ISe);l();var Bdt=y(require("react"));var h8=class extends dn.Component{constructor(e){super(e);this.state={SelectedColumn:e.column}}render(){let e=[{Content:"Module",Size:3},{Content:"Summary",Size:7},{Content:"",Size:2}],r=this.state.SelectedColumn?this.state.SelectedColumn.columnId:null,n=[{Key:"Column Id",Value:this.state.SelectedColumn?this.state.SelectedColumn.columnId:null},{Key:"Header",Value:this.state.SelectedColumn?this.state.SelectedColumn.friendlyName:null},{Key:"Aggregatable",Value:this.state.SelectedColumn?this.state.SelectedColumn.aggregatable:null},{Key:"DataType",Value:this.state.SelectedColumn?this.state.SelectedColumn.dataType:null},{Key:"Groupable",Value:this.state.SelectedColumn?this.state.SelectedColumn.groupable:null},{Key:"Filterable",Value:this.state.SelectedColumn?this.state.SelectedColumn.filterable:null},{Key:"Hideable",Value:this.state.SelectedColumn?this.state.SelectedColumn.hideable:null},{Key:"Editable",Value:this.state.SelectedColumn?!this.state.SelectedColumn.IsReadOnly:null},{Key:"Moveable",Value:this.state.SelectedColumn?this.state.SelectedColumn.moveable:null},{Key:"Pivotable",Value:this.state.SelectedColumn?this.state.SelectedColumn.pivotable:null},{Key:"Queryable",Value:this.state.SelectedColumn?this.state.SelectedColumn.queryable:null},{Key:"Sortable",Value:this.state.SelectedColumn?this.state.SelectedColumn.sortable:null},{Key:"Visible",Value:this.state.SelectedColumn?this.state.SelectedColumn.visible:null},{Key:"Grouped",Value:this.state.SelectedColumn?this.state.SelectedColumn.isGrouped:null}],o=this.props.api.internalApi.getModuleService(),i=[];return this.state.SelectedColumn&&(this.isModuleAvailable(yo)&&i.push(dn.createElement("div",{key:yo,className:this.isModuleReadOnly(yo)?Sn:""},dn.createElement(hCe,{key:yo,summarisedColumn:this.state.SelectedColumn,teamSharingActivated:this.props.teamSharingActivated,accessLevel:this.getAccessLevel(yo),api:this.props.api,moduleInfo:o.getModuleInfoByModule(yo)}))),this.isModuleAvailable(Vr)&&i.push(dn.createElement("div",{key:Vr,className:this.isModuleReadOnly(Vr)?Sn:""},dn.createElement(TCe,{key:Vr,summarisedColumn:this.state.SelectedColumn,teamSharingActivated:this.props.teamSharingActivated,accessLevel:this.getAccessLevel(Vr),api:this.props.api,moduleInfo:o.getModuleInfoByModule(Vr)}))),this.isModuleAvailable(vo)&&i.push(dn.createElement("div",{key:vo,className:this.isModuleReadOnly(vo)?Sn:""},dn.createElement(OCe,{key:vo,summarisedColumn:this.state.SelectedColumn,teamSharingActivated:this.props.teamSharingActivated,accessLevel:this.getAccessLevel(vo),api:this.props.api,moduleInfo:o.getModuleInfoByModule(vo)}))),this.isModuleAvailable(Ao)&&i.push(dn.createElement("div",{key:Ao,className:this.isModuleReadOnly(Ao)?Sn:""},dn.createElement(aSe,{key:Ao,summarisedColumn:this.state.SelectedColumn,teamSharingActivated:this.props.teamSharingActivated,accessLevel:this.getAccessLevel(Ao),api:this.props.api,moduleInfo:o.getModuleInfoByModule(Ao)}))),this.isModuleAvailable(lo)&&i.push(dn.createElement("div",{key:lo,className:this.isModuleReadOnly(lo)?Sn:""},dn.createElement(DSe,{key:lo,summarisedColumn:this.state.SelectedColumn,teamSharingActivated:this.props.teamSharingActivated,accessLevel:this.getAccessLevel(lo),api:this.props.api,moduleInfo:o.getModuleInfoByModule(lo)}))),this.isModuleAvailable(vn)&&this.state.SelectedColumn.dataType=="Number"&&i.push(dn.createElement("div",{key:vn,className:this.isModuleReadOnly(vn)?Sn:""},dn.createElement(VCe,{key:vn,summarisedColumn:this.state.SelectedColumn,teamSharingActivated:this.props.teamSharingActivated,accessLevel:this.getAccessLevel(vn),api:this.props.api,moduleInfo:o.getModuleInfoByModule(vn)}))),this.isModuleAvailable(Kn)&&Ee.ContainsItem(this.props.api.calculatedColumnApi.getAllCalculatedColumn().map(a=>a.ColumnId),this.state.SelectedColumn.columnId)&&i.push(dn.createElement("div",{key:Kn,className:this.isModuleReadOnly(Kn)?Sn:""},dn.createElement(vSe,{key:Kn,summarisedColumn:this.state.SelectedColumn,accessLevel:this.getAccessLevel(Kn),api:this.props.api,moduleInfo:o.getModuleInfoByModule(Kn)})))),dn.createElement(Gt,{header:"Column Info",margin:2,"data-name":"column-component"},dn.createElement(jg.Flex,{flexDirection:"row",alignItems:"center",marginBottom:2},dn.createElement(jg.Box,{flex:1,marginLeft:2},dn.createElement(Ug,{SelectedColumnIds:[r],ColumnList:this.props.api.columnApi.getColumns(),onColumnChange:a=>this.onColumnSelectedChanged(a),SelectionMode:"Single"}))),dn.createElement(jg.Flex,{flex:1,style:{overflow:"auto",width:"100%"}},this.state.SelectedColumn&&!1),dn.createElement(jg.Flex,{flex:1,style:{overflow:"auto",width:"100%"}},this.state.SelectedColumn&&dn.createElement(ji,{style:{width:"100%"},colItems:e,items:i})))}onColumnSelectedChanged(e){this.setState({SelectedColumn:e.length>0?e[0]:null})}isModuleAvailable(e){return this.props.api.internalApi.getModuleService().getModuleById(e).isModuleAvailable()}isModuleReadOnly(e){return this.getAccessLevel(e)=="ReadOnly"}getAccessLevel(e){return this.props.api.internalApi.getEntitlementService().getEntitlementAccessLevelForModule(e)}};l();var yi=y(require("react")),Yg=require("react");l();var X2=y(require("react"));var xy=class extends X2.Component{render(){return X2.createElement(Z,E(b({"data-name":"minimise",iconSize:20,tooltip:"Minimise"},this.props),{variant:"text",icon:"arrow-up"}))}};l();var J2=y(require("react"));var Ey=class extends J2.Component{render(){return J2.createElement(Z,b({"data-name":"maximise",iconSize:20,tooltip:"Maximize",icon:this.props.useHoirzontalChevron?"arrow-right":"arrow-down",variant:"text"},this.props))}};var PSe=y(re()),TSe=t=>{let{api:e}=t,r=()=>[{Content:"Property",Size:5},{Content:"Value",Size:5},{Content:"",Size:2}],n=f=>{if(f==null||f==null)return"None";switch(typeof f){case"string":case"number":case"bigint":return f;case"boolean":return f?"True":"False";case"function":return"Function";case"object":if(Array.isArray(f))return`[${f.map(g=>n(g)).join(", ")}]`;if(f instanceof HTMLElement)return"HTMLElement";default:return"Complex value"}},o=f=>{let h=r();h[0].Content=f.name;let g=n(f.value),C=f.value!==f.defaultValue;h[1].Content=C?yi.createElement(yi.Fragment,null,yi.createElement("span",{style:{fontWeight:"bold"}},g),yi.createElement("span",{style:{fontStyle:"italic"}}," ","(Default: ",n(f.defaultValue),")")):g;let S=yi.createElement(Fr,{headerText:null,bodyText:[f.description]});return h[2].Content=S,h},i=(f,h)=>{let g=h.items.map(C=>{let S=o(C);return yi.createElement(un,{key:`${C.name}`,colItems:S})});return yi.createElement(ji,{colItems:r(),items:g})},[a,s]=(0,Yg.useState)(),[u,d]=(0,Yg.useState)();(0,Yg.useEffect)(()=>{let f=e.internalApi.getMetamodelService().getGridInfoOptions(),h=new Map;f.forEach((g,C)=>{h.set(C,i(C,g))}),d(h),s(f)},[]);let[c,m]=(0,Yg.useState)("");return yi.createElement(PSe.Box,{className:"ab-AdaptableOptions",padding:2,"data-name":"gridInfo-adaptableOptions-content"},a&&Array.from(a.entries()).map(([f,h])=>yi.createElement(Vdt,{key:f,name:f,label:h.containerLabel,viewMode:f===c?"expanded":"collapsed",onViewModeChange:g=>m(g==="expanded"?f:"")},u.get(f))))},Vdt=t=>{let{viewMode:e,name:r,label:n,onViewModeChange:o,children:i}=t,a=()=>{o(e==="expanded"?"collapsed":"expanded")},s=e==="expanded"?yi.createElement(xy,{onClick:()=>a(),tooltip:`Hide ${n}`}):yi.createElement(Ey,{onClick:()=>a(),tooltip:`Show ${n}`});return yi.createElement(al,{className:`options-container-${r}`,variant:"default",headerText:n,headerProps:{fontSize:3,style:{fontWeight:e==="expanded"?800:400,cursor:"pointer"},"data-name":`options-container-header-${r}`,onClick:()=>a()},button:s,style:{marginBottom:3}},e==="expanded"&&i)};var wSe=t=>{var g,C,S;let e=t.api.internalApi.getEntitlementService(),r=e.isGridInfoSectionVisible("GridSummary"),n=e.isGridInfoSectionVisible("AdaptableOptions"),o=e.isGridInfoSectionVisible("ColumnInfo"),[i,a]=ho.useState({ActiveTab:((g=t.popupParams)==null?void 0:g.column)?"ColumnInfo":r?"GridSummary":n?"AdaptableOptions":"ColumnInfo",CurrentColumn:(S=(C=t.popupParams)==null?void 0:C.column)!=null?S:void 0,IsBaseOptionsMinimised:!0,IsContainerOptionsMinimised:!0,IsSearchOptionsMinimised:!0,IsLayoutOptionsMinimised:!0,IsGeneralOptionsMinimised:!0}),s=v=>{a(x=>b(b({},x),v))},u=v=>{let x=[],R=t.api.calculatedColumnApi.getAllCalculatedColumn().map(A=>A.ColumnId),D=t.api.userInterfaceApi.getAllActionColumn().map(A=>A.columnId),T=t.api.freeTextColumnApi.getAllFreeTextColumn().map(A=>A.ColumnId),w=t.api.filterApi.columnFiltersToString(t.api.filterApi.getAllColumnFilter()),N=Pe.IsNotNullOrEmpty(t.api.gridApi.getColumnSorts())?t.api.gridApi.getColumnSorts().map(A=>t.api.columnApi.getFriendlyNameFromColumnId(A.ColumnId)+": "+A.SortOrder):null,M=t.api.gridApi.getSelectedRowInfo();return x.push(d(v,"AdapTable Version",jbe)),x.push(d(v,"Sorted Columns",Pe.IsNotNullOrEmpty(N)?N.join("; "):"None")),x.push(d(v,"Column Filters",w)),x.push(d(v,"All Rows",t.api.gridApi.getRowCount())),x.push(d(v,"Visible Rows",t.api.gridApi.getVisibleRowCount())),x.push(d(v,"Selected Rows",M==null?void 0:M.gridRows.length)),x.push(d(v,"Visible Selected Rows",M==null?void 0:M.gridRows.filter(A=>{var I;return((I=A.rowNode)==null?void 0:I.displayed)==!0}).length)),x.push(d(v,"All Columns",t.api.gridApi.getColumnCount())),x.push(d(v,"Visible Columns",t.api.gridApi.getVisibleColumnCount())),x.push(d(v,"Calculated Columns",Pe.IsNotNullOrEmpty(R)?R:"None")),x.push(d(v,"Free Text Columns",Pe.IsNotNullOrEmpty(T)?T:"None")),x.push(d(v,"Action Columns",Pe.IsNotNullOrEmpty(D)?D:"None")),x},d=(v,x,R,D)=>{let T=vr.cloneObject(v);if(T[0].Content=x,T[1].Content=R,D){let w=ho.createElement(Fr,{headerText:null,bodyText:[D]});T[2].Content=w}return T},c=v=>{s({ActiveTab:v})},m=[{Content:"Property",Size:5},{Content:"Value",Size:7}],f=u(m).map((v,x)=>ho.createElement(un,{key:x,colItems:v})),h=[r,n,o].filter(v=>v).length>1;return ho.createElement(Rn,{headerText:"Grid Info",glyphicon:"info-sign"},ho.createElement(Z2.Flex,{marginBottom:2,padding:3},h&&ho.createElement(ho.Fragment,null,r&&ho.createElement(ke,{"data-name":"radioButton-GridSummary",marginRight:3,value:"GridSummary",checked:i.ActiveTab=="GridSummary",onChange:(v,x)=>c("GridSummary")},"Grid Summary"),n&&ho.createElement(ke,{"data-name":"radioButton-AdaptableOptions",marginRight:3,value:"AdaptableOptions",checked:i.ActiveTab=="AdaptableOptions",onChange:(v,x)=>c("AdaptableOptions")},"Adaptable Options"),o&&ho.createElement(ke,{"data-name":"radioButton-Column",value:"Column",checked:i.ActiveTab=="ColumnInfo",onChange:(v,x)=>c("ColumnInfo")},"Column Info"))),i.ActiveTab=="GridSummary"&&ho.createElement(Z2.Box,{margin:2},ho.createElement(ji,{colItems:m,items:f})),i.ActiveTab=="AdaptableOptions"&&ho.createElement(TSe,{api:t.api}),i.ActiveTab=="ColumnInfo"&&ho.createElement("div",null,ho.createElement(h8,{api:t.api,teamSharingActivated:t.teamSharingActivated,column:i.CurrentColumn})))};l();var jt=y(require("react"));var bm=y(re());l();var Kg=y(require("react")),eO=y(re());var g8=class extends Kg.Component{render(){let e=this.props.entity;return Kg.createElement(eO.Flex,{flexDirection:"row",alignItems:"center"},Kg.createElement(eO.Flex,{flex:4},this.props.api.columnApi.getFriendlyNameFromColumnId(e.ColumnId)),Kg.createElement(eO.Flex,{flex:8},this.getCustomSortedValues(e)))}getCustomSortedValues(e){return Pe.IsNotNullOrEmpty(e.SortedValues)?e.SortedValues.join(", "):"[Has bespoke Custom Sort implementing using bespoke function]"}};l();var pm=y(require("react")),tO=y(re());var b8=class extends pm.Component{render(){var r;let e=this.props.entity;return pm.createElement(tO.Flex,{flexDirection:"row",alignItems:"center"},pm.createElement(tO.Flex,{flex:4},e.ColumnId),pm.createElement(tO.Flex,{flex:8},pm.createElement(Mr,null," ",(r=e.Query)==null?void 0:r.ScalarExpression)))}};l();var $g=y(require("react")),rO=y(re()),C8=class extends $g.Component{render(){var r;let e=this.props.entity;return $g.createElement(rO.Flex,{flexDirection:"row",alignItems:"center"},$g.createElement(rO.Flex,{flex:4},e.Name),$g.createElement(rO.Flex,{flex:8},(r=e.Query)==null?void 0:r.BooleanExpression))}};l();var sp=y(require("react"));var Ry=y(re());var S8=class extends sp.Component{render(){let e=this.props.entity,r=qe.IsNotNullOrEmpty(e.Rule.BooleanExpression)?e.Rule.BooleanExpression:this.props.api.predicateApi.predicateToString(e.Rule.Predicate);return sp.createElement(Ry.Flex,{flexDirection:"row",alignItems:"center",padding:1},sp.createElement(Ry.Flex,{flex:4},this.props.api.scopeApi.getScopeToString(e.Scope)),sp.createElement(Ry.Flex,{flex:3,marginLeft:2},sp.createElement(Ki,{Style:e.Style})),sp.createElement(Ry.Flex,{flex:5},r))}};l();var cm=y(require("react"));var nO=y(re()),y8=class extends cm.Component{render(){let e=this.props.entity;return cm.createElement(nO.Flex,{flexDirection:"row",alignItems:"center"},cm.createElement(nO.Flex,{flex:4},this.props.api.scopeApi.getScopeDescription(e.Scope)),cm.createElement(nO.Flex,{flex:8},cm.createElement(Ki,{Style:e.Style})))}};l();var Xg=y(require("react")),oO=y(re()),v8=class extends Xg.Component{render(){let e=this.props.entity;return Xg.createElement(oO.Flex,{flexDirection:"row",alignItems:"center"},Xg.createElement(oO.Flex,{flex:4},e.Name),Xg.createElement(oO.Flex,{flex:8},e.Columns.join(", ")))}};l();var mm=y(require("react")),Iy=y(re());var A8=class extends mm.Component{render(){var n;let e=this.props.entity,r=qe.IsNotNullOrEmpty((n=e.Rule)==null?void 0:n.BooleanExpression)?e.Rule.BooleanExpression:"Always";return mm.createElement(Iy.Flex,{flexDirection:"row",alignItems:"center"},mm.createElement(Iy.Flex,{flex:4},this.props.api.scopeApi.getScopeToString(e.Scope)),mm.createElement(Iy.Flex,{flex:3},e.NudgeValue.toString()),mm.createElement(Iy.Flex,{flex:5},r))}};l();var up=y(require("react")),iO=y(re()),x8=class extends up.Component{render(){let e=this.props.entity;return up.createElement(iO.Flex,{flexDirection:"row",alignItems:"center"},up.createElement(iO.Flex,{flex:4},"Key: ",up.createElement("b",null,e.ShortcutKey)),up.createElement(iO.Flex,{flex:4},"Value: ",up.createElement("b",null,e.ShortcutValue)))}};l();var fm=y(require("react")),aO=y(re());var E8=class extends fm.Component{render(){let e=this.props.entity;return fm.createElement(aO.Flex,{flexDirection:"row",alignItems:"center"},fm.createElement(aO.Flex,{flex:4},e.Name),fm.createElement(aO.Flex,{flex:8},fm.createElement(Mr,null," ",e.BooleanExpression)))}};l();var hm=y(require("react")),lO=y(re());var R8=class extends hm.Component{render(){let e=this.props.entity,r=qe.IsNotNullOrEmpty(e.DefaultValue)?e.DefaultValue:"None";return hm.createElement(lO.Flex,{flexDirection:"row",alignItems:"center"},hm.createElement(lO.Flex,{flex:4},e.ColumnId),hm.createElement(lO.Flex,{flex:8,flexDirection:"column"},"ColumnName: ",e.FriendlyName,hm.createElement("br",null),"Default Value: ",r))}};l();var Jg=y(require("react")),sO=y(re()),I8=class extends Jg.Component{render(){let e=this.props.entity;return Jg.createElement(sO.Flex,{flexDirection:"row",alignItems:"center"},Jg.createElement(sO.Flex,{flex:4},this.props.api.columnApi.getFriendlyNameFromColumnId(e.ColumnId)),Jg.createElement(sO.Flex,{flex:8,marginLeft:2},this.props.api.predicateApi.predicateToString(e.Predicate)))}};l();var gm=y(require("react")),uO=y(re());var D8=class extends gm.Component{render(){let e=this.props.entity;return gm.createElement(uO.Flex,{flexDirection:"row",alignItems:"center"},gm.createElement(uO.Flex,{flex:4},this.props.api.scopeApi.getScopeToString(e.Scope)),gm.createElement(uO.Flex,{flex:8},gm.createElement(Mr,null,this.props.api.alertApi.getAlertRuleDescription(e)," ")))}};var OSe=class extends jt.Component{componentDidMount(){this.props.onTeamSharingGet()}render(){let e=[{Content:"Module",Size:2},{Content:"Description",Size:2},{Content:"Audit",Size:5},{Content:"Details",Size:5},{Content:"",Size:1}],r=this.props.api.internalApi.getTeamSharingService().getStaleActiveSharedEntities(),n=this.props.Entities.sort((o,i)=>o.Module<i.Module?-1:1).map((o,i)=>jt.createElement(bm.Flex,{flexDirection:"row",alignItems:"center",key:i,padding:2,fontSize:"var( --ab-font-size-2)"},jt.createElement(bm.Flex,{flex:2},this.props.api.internalApi.getModuleService().getModuleInfoByModule(o.Module).FriendlyName),jt.createElement(bm.Flex,{flex:2,marginLeft:2},o.Description),jt.createElement(bm.Flex,{flex:5,marginLeft:2,flexDirection:"column"},jt.createElement("div",null,jt.createElement("b",null,o.Type==="Snapshot"?"Snaphot":"Active share")," by ",o.UserName," at"," ",new Date(o.Timestamp).toLocaleString()),o.Type==="Active"&&o.Revision>1&&jt.createElement("div",null,"Latest ",jt.createElement("b",null,"Revision ",o.Revision)," by ",o.ChangedBy," at"," ",new Date(o.ChangedAt).toLocaleString()),this.isUpToDateActive(o)&&jt.createElement("div",{style:{color:"var(--ab-color-success)"}},"Active & ",jt.createElement("b",null,"up-to-date")),this.isStaleActive(o,r)&&jt.createElement("div",{style:{color:"var(--ab-color-warn)"}},"Local Revision ",r[o.Uuid].importedRevision," is ",jt.createElement("b",null,"stale!"))),jt.createElement(bm.Flex,{flex:5,marginLeft:1},jt.createElement(Gt,{variant:"primary",style:{flex:1},fontSize:"var( --ab-font-size-2)"},this.getSharedItemDetails(o))),jt.createElement(bm.Flex,{flex:1},jt.createElement(Z,{variant:"text",tooltip:"Import",onClick:()=>this.props.onImportItem(o)},jt.createElement(Ct,{name:"import-export"})),this.hasDeletionRights(o)&&jt.createElement(Z,{variant:"text",tooltip:"Remove",onClick:()=>this.props.onRemoveItem(o.Uuid)},jt.createElement(Ct,{name:"delete"})))));return jt.createElement(Rn,{headerText:this.props.moduleInfo.FriendlyName,infoLink:this.props.moduleInfo.HelpPage,infoLinkDisabled:!this.props.api.internalApi.isDocumentationLinksDisplayed(),glyphicon:this.props.moduleInfo.Glyph},this.props.Entities.length==0?jt.createElement(_t,{margin:3},"Shared Items will appear here when available."):jt.createElement(rm,{colItems:e}),n)}isPresentInLocalState(e){return!!this.props.api.internalApi.getModuleService().getModuleById(e.Module).getModuleAdaptableObjects().find(r=>r.Uuid===e.Entity.Uuid)}isStaleActive(e,r){return this.isPresentInLocalState(e)&&!!r[e.Uuid]}isUpToDateActive(e){var r;return this.isPresentInLocalState(e)&&e.Type==="Active"&&((r=this.props.ActiveEntities[e.Entity.Uuid])==null?void 0:r.Revision)===e.Revision}hasDeletionRights(e){return this.props.api.teamSharingApi.hasTeamSharingFullRights()&&!e.IsReadOnly}getSharedItemDetails(e){switch(e.Module){case Kn:return jt.createElement(b8,{entity:e.Entity,api:this.props.api});case yo:return jt.createElement(g8,{entity:e.Entity,api:this.props.api});case Vr:return jt.createElement(S8,{entity:e.Entity,api:this.props.api});case Vn:return jt.createElement(C8,{entity:e.Entity,api:this.props.api});case vo:return jt.createElement(I8,{entity:e.Entity,api:this.props.api});case Ao:return jt.createElement(y8,{entity:e.Entity,api:this.props.api});case lo:return jt.createElement(R8,{entity:e.Entity,api:this.props.api});case Bo:return jt.createElement(v8,{entity:e.Entity,api:this.props.api});case vn:return jt.createElement(A8,{entity:e.Entity,api:this.props.api});case kl:return jt.createElement(x8,{entity:e.Entity,api:this.props.api});case Or:return jt.createElement(E8,{entity:e.Entity,api:this.props.api});case On:return jt.createElement(D8,{entity:e.Entity,api:this.props.api});default:return"Preview not available"}}};function Gdt(t,e){return{Entities:t.TeamSharing.SharedEntities,ActiveEntities:t.TeamSharing.ActiveSharedEntityMap}}function Udt(t){return{onTeamSharingGet:()=>t(BJ()),onImportItem:e=>t(NJ(e)),onRemoveItem:e=>t(kJ(e))}}var FSe=We(Gdt,Udt)(OSe);l();var wo=y(require("react"));var Zg=y(re());l();var dp=require("react"),Zt=y(require("react"));var P8=(0,dp.createContext)({availableToolbars:[]}),MSe=(t,e)=>{let r=t.find(n=>n.Id===e);return r?r.Title:e};function Hdt({tabs:t,onRemoveTab:e,onRemoveToolbar:r,onChangeTabName:n}){return Zt.createElement(Jo,{droppableId:"MAIN",type:"TAB",direction:"horizontal"},o=>Zt.createElement("div",E(b({ref:o.innerRef},o.droppableProps),{style:{display:"flex"},"data-name":"dashboard-tabs"}),t.map((i,a)=>Zt.createElement(Wdt,{key:a,tabIndex:a,tab:i,onRemove:()=>e(a),onRemoveToolbar:s=>r(a,s),onChangeTabName:s=>n(a,s)})),o.placeholder))}function Wdt({tab:t,tabIndex:e,onRemove:r,onRemoveToolbar:n,onChangeTabName:o}){return Zt.createElement(bi,{draggableId:String(e),index:e},i=>Zt.createElement("div",E(b({"data-name":"dashboard-tab",ref:i.innerRef},i.draggableProps),{style:E(b({},i.draggableProps.style),{boxSizing:"border-box",border:"1px solid var(--ab-color-primarydark)",borderRadius:"var(--ab__border-radius)",marginRight:"var(--ab-space-2)",width:160,display:"flex",flexDirection:"column"})}),Zt.createElement("div",{style:{display:"flex",alignItems:"center",padding:"var(--ab-space-1)",borderBottom:"1px solid var(--ab-color-primarydark)"}},Zt.createElement("div",E(b({},i.dragHandleProps),{style:{}}),Zt.createElement(Ct,{name:"drag"})),Zt.createElement("input",{type:"text",value:t.Name,style:{flex:1,width:"100%",border:"none",marginLeft:"var(--ab-space-1)",marginRight:"var(--ab-space-1)",alignSelf:"stretch",background:"transparent",color:"var(--ab-color-text-on-primary)"},onChange:a=>{o(a.target.value)}}),Zt.createElement(Z,{icon:"delete",variant:"text",onClick:r})),Zt.createElement(zdt,{toolbars:t.Toolbars,droppableId:String(e),onRemove:n})))}function zdt({toolbars:t,droppableId:e,onRemove:r}){return Zt.createElement(Jo,{droppableId:e,type:"TOOLBAR"},(n,o)=>Zt.createElement("div",E(b({ref:n.innerRef},n.droppableProps),{"data-name":"dashboard-toolbar-drop-target",style:{flex:1,padding:4,paddingBottom:0,background:o.isDraggingOver?"var(--ab-dashboard-tab-drop-target__background)":"",minHeight:200}}),t.map((i,a)=>Zt.createElement(qdt,{key:i,toolbar:i,toolbarIndex:a,onRemove:()=>r(a)})),n.placeholder))}function qdt({toolbar:t,toolbarIndex:e,onRemove:r}){let{availableToolbars:n}=(0,dp.useContext)(P8);return Zt.createElement(bi,{draggableId:t,index:e},(o,i)=>Zt.createElement("div",E(b(b({ref:o.innerRef},o.draggableProps),o.dragHandleProps),{style:E(b({},o.draggableProps.style),{display:"flex",alignItems:"center",border:"1px solid var(--ab-color-primary)",backgroundColor:i.isDragging?"var(--ab-dashboard-toolbar-drag__background)":"var(--ab-color-primarylight)",paddingLeft:"var(--ab-space-1)",marginBottom:"var(--ab-space-1)"})}),Zt.createElement("div",{style:{flex:1}},MSe(n,t)),Zt.createElement(Z,{icon:"clear",variant:"text",padding:1,onClick:r})))}function Qdt({toolbars:t}){return Zt.createElement("div",{"data-name":"dashboard-toolbars",style:{border:"1px solid var(--ab-color-primarydark)",borderRadius:"var(--ab__border-radius)",marginBottom:"var(--ab-space-2)",paddingBottom:"var(--ab-space-1)",backgroundColor:"var(--ab-color-defaultbackground)"}},Zt.createElement("div",{style:{padding:"var(--ab-space-2)"}},Zt.createElement("b",null,"Available Toolbars")," (drag into a Tab below)"),Zt.createElement(jdt,{toolbars:t}))}function jdt({toolbars:t}){return Zt.createElement(Jo,{droppableId:"UNUSED",type:"TOOLBAR",isDropDisabled:!0,direction:"horizontal"},e=>Zt.createElement("div",E(b({ref:e.innerRef,"data-name":"dashboard-toolbars-list"},e.droppableProps),{style:{display:"flex",flexDirection:"row",flexWrap:"wrap",paddingLeft:"var(--ab-space-2)",paddingRight:"var(--ab-space-2)"}}),t.map((r,n)=>Zt.createElement(Ydt,{key:r,toolbar:r,toolbarIndex:n})),e.placeholder))}function Ydt({toolbar:t,toolbarIndex:e}){let{availableToolbars:r}=(0,dp.useContext)(P8);return Zt.createElement(bi,{draggableId:t,index:e},(n,o)=>Zt.createElement("div",E(b(b({"data-name":"dashboard-toolbar",ref:n.innerRef},n.draggableProps),n.dragHandleProps),{style:E(b({},n.draggableProps.style),{border:"1px solid var(--ab-color-primary)",backgroundColor:o.isDragging?"var(--ab-dashboard-toolbar-drag__background)":"var(--ab-color-primarylight)",padding:"var(--ab-space-1) var(--ab-space-2)",marginRight:"var(--ab-space-1)",marginBottom:"var(--ab-space-1)"})}),MSe(r,t)))}function Kdt({tabs:t,onTabsChange:e,availableToolbars:r,api:n}){let i=n.internalApi.getModuleService().getModuleInfoByModule("Dashboard"),a=(0,dp.useMemo)(()=>({availableToolbars:r}),[r]),s=(0,dp.useMemo)(()=>r.map(g=>g.Id).filter(g=>!t.some(C=>C.Toolbars.includes(g))),[t,r]),u=g=>{let{source:C,destination:S,draggableId:v}=g;!C||!S||(C.droppableId!=="UNUSED"&&t[Number(C.droppableId)].Toolbars.splice(C.index,1),S.droppableId!=="UNUSED"&&t[Number(S.droppableId)].Toolbars.splice(S.index,0,v),e([...t]))},d=g=>{let{source:C,destination:S}=g;if(!C||!S)return;let[v]=t.splice(C.index,1);t.splice(S.index,0,v),e([...t])},c=g=>{e(t.filter((C,S)=>S!==g))},m=()=>{e([...t,{Name:"New Tab",Toolbars:[]}])},f=(g,C)=>{e(t.map((S,v)=>v!==g?S:E(b({},S),{Toolbars:S.Toolbars.filter((x,R)=>R!==C)})))},h=(g,C)=>{e(t.map((S,v)=>v!==g?S:E(b({},S),{Name:C})))};return Zt.createElement(wg,{onDragEnd:g=>{g.type==="TAB"&&d(g),g.type==="TOOLBAR"&&u(g)}},Zt.createElement(P8.Provider,{value:a},Zt.createElement("div",{style:{display:"flex",flexDirection:"column"}},Zt.createElement(Qdt,{toolbars:s}),Zt.createElement(al,{headerText:i.FriendlyName+" Tabs",button:Zt.createElement(Z,{onClick:m},"Add Tab")},Zt.createElement("div",{style:{display:"flex",flex:1}},Zt.createElement(Hdt,{tabs:t,onRemoveTab:c,onRemoveToolbar:f,onChangeTabName:h}))))))}var _Se=Kdt;var NSe=class extends wo.Component{constructor(e){super(e);this.state={DashboardConfigView:"Toolbars"}}render(){let e=Mhe,r=this.props.api.internalApi.getModuleService(),n=e.filter(f=>this.props.api.internalApi.getModuleService().isModuleAvailable(f)).map(f=>({Id:f,Title:r.getModuleInfoByModule(f).FriendlyName})),o=this.props.api.dashboardApi.getCustomToolbars().map(f=>({Id:f.name,Title:f.title?f.title:f.name})),i=this.props.DashboardState.Tabs.map(f=>{let h=f.Toolbars.filter(g=>this.props.api.dashboardApi.getCustomToolbars().find(S=>S.name===g)?!0:this.props.api.internalApi.getModuleService().isModuleAvailable(g));return E(b({},f),{Toolbars:h})}),a=[];this.props.DashboardState.ModuleButtons.forEach(f=>{let h=this.props.GridState.ModuleDropdownMenuItems.find(g=>g.module==f);(h==null?void 0:h.isVisible)&&a.push(f)});let s=this.props.GridState.ModuleDropdownMenuItems.map(f=>f.module),u="ab-Dashboard-Popup",d=this.props.api.internalApi.getEntitlementService().getEntitlementAccessLevelForModule("Dashboard"),c=d=="Full"||d=="ReadOnly",m=f=>f==="SettingsPanel"?this.props.api.internalApi.getAdaptableOptions().settingsPanelOptions.alwaysShowInDashboard:!1;return wo.createElement(Rn,{headerText:this.props.moduleInfo.FriendlyName,glyphicon:this.props.moduleInfo.Glyph},wo.createElement(Zg.Flex,{flex:1,height:"100%",flexDirection:"column"},c&&wo.createElement(Gt,{header:"Dashboard Settings",style:{height:"auto",overflow:"visible"},variant:"default",borderRadius:"none",marginLeft:2,marginRight:2},wo.createElement(Zg.Flex,null,wo.createElement(he,{mr:3,className:`${u}__Checkbox__collapsed-check`,checked:this.props.IsCollapsed,onChange:f=>this.props.onSetDashboardCollapsed(f)},"Collapse")," ",this.props.api.internalApi.getAdaptableOptions().dashboardOptions.canFloat&&wo.createElement(he,{mr:3,className:`${u}__Checkbox__collapsed-check`,checked:this.props.IsFloating,onChange:f=>this.props.onSetDashboardFloating(f)},"Float")," ",wo.createElement(he,{className:`${u}__Checkbox__hidden-check`,checked:this.props.IsHidden,onChange:f=>this.props.onSetDashboardHidden(f)},"Hidden"))),wo.createElement(Gt,{header:"Dashboard Contents",style:{borderBottom:"1px solid var(--ab-color-primary)"},variant:"default",borderRadius:"none",marginTop:4,marginLeft:2,marginRight:2},wo.createElement(Zg.Flex,{flexDirection:"row",padding:2,"data-name":"dashboard-configuration-select"},wo.createElement(ke,{marginLeft:3,value:"Toolbars",checked:this.state.DashboardConfigView=="Toolbars",onChange:(f,h)=>this.onDashboardConfigViewChanged(h)},"Toolbars"),wo.createElement(ke,{marginLeft:3,value:"Buttons",checked:this.state.DashboardConfigView=="Buttons",onChange:(f,h)=>this.onDashboardConfigViewChanged(h)},"Buttons")),wo.createElement(Zg.Box,{className:`${u}__Module-Selector`,style:{minHeight:0,flex:"1 1 0"},padding:2},this.state.DashboardConfigView=="Toolbars"&&wo.createElement(_Se,{availableToolbars:[...n,...o],tabs:i,onTabsChange:this.props.onDashboardSetTabs,api:this.props.api}),this.state.DashboardConfigView=="Buttons"&&wo.createElement(uy,{options:s,value:a,noSelectionLabel:"No selected Module Button",isDisabled:m,xSelectedLabel:()=>"Visible Module Buttons:",onChange:f=>this.props.onDashboardSetModuleButtons(f)})))))}onDashboardConfigViewChanged(e){let n=e.target.value;this.setState({DashboardConfigView:n})}};function $dt(t,e){return{DashboardState:t.Dashboard,GridState:t.Grid,IsCollapsed:t.Dashboard.IsCollapsed,IsHidden:t.Dashboard.IsHidden,IsFloating:t.Dashboard.IsFloating}}function Xdt(t){return{onDashboardSetModuleButtons:e=>t(wE(e)),onDashboardSetTabs:e=>t(gJ(e)),onSetDashboardCollapsed:e=>t(ma(e)),onSetDashboardHidden:e=>t(Hl(e)),onSetDashboardFloating:e=>t(fa(e))}}var LSe=We($dt,Xdt)(NSe);l();var qo=y(require("react"));var HSe=y(re());l();var w8=y(require("react"));l();var vi=y(require("react")),pp=y(re()),pO=require("react");l();var Jdt=(t,e)=>e.type==="DRAG_OVER"?E(b({},t),{dragOver:!0}):e.type==="DRAG_OUT"?E(b({},t),{dragOver:!1}):e.type==="SET_INVALID_FILE"?E(b({},t),{message:e.payload.message}):e.type==="DROP_SUCCES"?E(b({},t),{dragOver:!1,message:e.payload.message}):t,kSe=Jdt;var Zdt={dragOver:!1,message:null},dO=t=>{t.preventDefault(),t.stopPropagation()},T8=async(t,e)=>{let r=new FileReader;return new Promise((n,o)=>{r.onload=function(i){try{let s=(e||JSON.parse)(i.target.result);Promise.resolve(s).then(n)}catch(a){o("Invalid JSON")}},r.onerror=function(i){o(i)},r.readAsText(t)})},BSe=t=>{let v=t,{onDropSuccess:e,message:r,fileAccept:n=".json",helpText:o="AdapTable No Code Version",defaultText:i="Click here to select a JSON file to load or drag it here",dragOverText:a="Drop file here to start Adaptable Wizard",icon:s=vi.createElement(Ct,{name:"attach-file",size:48})}=v,u=Ye(v,["onDropSuccess","message","fileAccept","helpText","defaultText","dragOverText","icon"]),[d,c]=(0,pO.useReducer)(kSe,Zdt),m=x=>{c({type:"DRAG_OVER"})},f=x=>{dO(x),!(g.current!=x.target&&vc(g.current,x.target))&&c({type:"DRAG_OUT"})},h=async x=>{let R;dO(x);let D=x.nativeEvent;D&&D.dataTransfer?R=D.dataTransfer.files:R=x.target.files,f(x);let T=R[0];if(T){let w;try{w=await(t.readFile||T8)(T,t.toJSON),c({type:"DROP_SUCCES",payload:{message:vi.createElement(pp.Box,null,t.loadingText===void 0?"Initializing adaptable...":t.loadingText)}}),requestAnimationFrame(()=>{requestAnimationFrame(()=>{e&&e(w,T)})})}catch(N){c({type:"SET_INVALID_FILE",payload:{message:vi.createElement(pp.Box,null,"The file is not a valid JSON file! Please try again!")}})}}},g=(0,pO.useRef)(),C=vi.createElement("form",{onSubmit:dO},vi.createElement(Z,{style:{cursor:"pointer"},variant:"outlined"},vi.createElement("div",null,d.dragOver?a:i),vi.createElement("input",{type:"file",onChange:h,accept:n,style:{opacity:0,position:"absolute",cursor:"pointer",fontSize:0,lineHeight:0,top:0,left:0,width:"100%",height:"100%",zIndex:1}}))),S=r||d.message;return vi.createElement(pp.Flex,E(b({},u),{flexDirection:"column",className:He(t.className,"ab-FileDroppable",d.dragOver?"ab-FileDroppable--drag-over":""),alignItems:"center",justifyContent:"center",onDragEnter:m,onDragLeave:f,onDrop:h,onDragOver:dO,ref:g}),t.children,o||s?vi.createElement(pp.Flex,{flexDirection:"column"},o?vi.createElement(pp.Flex,{flexDirection:"column",alignItems:"center",margin:2},vi.createElement(_t,null,vi.createElement("b",null,o))):null,s?vi.createElement(pp.Flex,{flexDirection:"column",alignItems:"center",margin:2},s):null):null,S,C)};BSe.defaultProps={};var VSe=BSe;var cO=t=>{let e=r=>{let n=r.nativeEvent,o;n&&n.dataTransfer?o=n.dataTransfer.files:o=r.target.files;let i=o[0];T8(i).then(a=>{t.onLoad(a)})};return w8.createElement(Z,E(b({},t),{className:"ab-StateManagement__Load-Button"}),w8.createElement("input",{type:"file",onChange:r=>e(r),accept:".json",style:{opacity:0,position:"absolute",cursor:"pointer",fontSize:0,lineHeight:0,top:0,left:0,width:"100%",height:"100%",zIndex:1}})," ",t.children)};l();var GSe=y(require("react"));var mO=t=>GSe.createElement(Z,E(b({},t),{className:"ab-StateManagement__Clear-Button",tooltip:"Clear User State"}),t.children);l();var USe=y(require("react"));l();var fO=(t,e,r)=>{switch(t){case"Clipboard":let n=JSON.stringify(r);vr.copyToClipboard(n);break;case"Console":FH(r);break;case"JSON":let o=e+".json",i=JSON.stringify(r);vr.createDownloadedFile(i,o,"application/json");break}};var cp=t=>{let e=n=>{switch(t.type){case"allState":let o=t.api.configApi.getAllState();fO(n,"allState",o);break;case"userState":let i=t.api.configApi.getAllUserState();fO(n,"userState",i);break;case"predefinedConfig":let a=t.api.configApi.getPredefinedConfig();fO(n,"predefinedConfig",a);break}},r=[{value:"Clipboard",label:"Clipboard",onClick:()=>e("Clipboard")},{value:"Console",label:"Console",onClick:()=>e("Console")},{value:"JSON",label:"JSON",onClick:()=>e("JSON")}];return USe.createElement(rt,E(b({className:"ab-StateManagement__Export-Dropdown"},t),{items:r,value:void 0}))};var WSe=t=>qo.createElement(Rn,{headerText:t.moduleInfo.FriendlyName,glyphicon:t.moduleInfo.Glyph,infoLink:t.moduleInfo.HelpPage,infoLinkDisabled:!t.api.internalApi.isDocumentationLinksDisplayed()},qo.createElement(HSe.Box,null,qo.createElement(Gt,{header:"User State",style:{height:"auto"},variant:"default",borderRadius:"none",marginTop:3,marginRight:2},qo.createElement(_t,null,"Clear all current user state that has been applied."),qo.createElement(_t,null,"When you restart / refresh the Application, any state that you have previously created will be lost, and the initial Predefined Config will then be re-applied."),qo.createElement(mO,{tone:"error",variant:"raised",marginTop:2,accessLevel:t.accessLevel,onClick:()=>t.api.configApi.reloadPredefinedConfig()},"Clear User State")),qo.createElement(Gt,{header:"Load Predefined Config",style:{height:"auto"},variant:"default",borderRadius:"none",marginTop:3,marginRight:2},qo.createElement(_t,{marginTop:3},"Load Predefined Config (from a .json file). This will cause this window to close.")," ",qo.createElement(cO,{tone:"info",variant:"raised",marginTop:2,accessLevel:t.accessLevel,onLoad:e=>t.api.configApi.reloadPredefinedConfig(e)},"Load Predefined Config")),qo.createElement(Gt,{header:"Export All Adaptable State",style:{height:"auto"},variant:"default",borderRadius:"none",marginTop:3,marginRight:2},qo.createElement(cp,{api:t.api,type:"allState",marginRight:3,style:{flex:1,maxWidth:"none"},columns:["label"]},"Select Export Destination")),qo.createElement(Gt,{header:"Export User State",style:{height:"auto"},variant:"default",borderRadius:"none",marginTop:3,marginRight:2},qo.createElement(cp,{api:t.api,type:"userState",marginRight:3,style:{flex:1,maxWidth:"none"},columns:["label"]},"Select Export Destination")),qo.createElement(Gt,{header:"Export Initial Predefined Config",style:{height:"auto"},variant:"default",borderRadius:"none",marginTop:3,marginRight:2},qo.createElement(cp,{api:t.api,type:"predefinedConfig",marginRight:3,style:{flex:1,maxWidth:"none"},columns:["label"]},"Select Export Destination"))));l();var on=y(require("react"));l();var mp=y(require("react"));var Cm=class extends mp.Component{constructor(e){super(e);this.loadPermittedValues=async()=>{var n;if(!((n=this.props.selectedColumn)==null?void 0:n.columnId))return;let e=await ep(this.props.api.columnApi.getDistinctBulkUpdateDisplayValuesForColumn(this.props.selectedColumn.columnId,this.props.selectedGridCells),()=>this.setState({isDistinctColumnValuesLoading:!0}));this.setState({isDistinctColumnValuesLoading:!1});let r=Ee.sortArray(e,"Asc").map(o=>({label:o,value:o,onClick:()=>this.onSelectedValueChange([{DisplayValue:o}])}));this.setState({distinctColumnValues:r})};this.handleSelectedValueExpand=()=>{this.state.distinctColumnValues.length||this.loadPermittedValues()};this.state={newOrExisting:"Existing value",distinctColumnValues:[],isDistinctColumnValuesLoading:!1}}componentDidUpdate(e){(this.props.selectedColumn!==e.selectedColumn||this.props.selectedGridCells!==e.selectedGridCells)&&this.loadPermittedValues()}render(){let e="Select",r=this.props.allowNew!=null?this.props.allowNew:!0,n="ab-column-value-selector",o=He("ab-column-value-selector",this.state.isDistinctColumnValuesLoading&&`${n}--loading`),i=150,a=this.state.isDistinctColumnValuesLoading?[{label:"Loading",disabled:!0}]:this.state.distinctColumnValues,s=mp.createElement("div",null,mp.createElement(rt,{className:o,columns:["label"],variant:"text",showClearButton:!0,onClear:()=>this.onSelectedValueChange([]),style:{fontSize:"small"},disabled:this.props.disabled,items:a,onExpand:this.handleSelectedValueExpand},this.props.selectedColumnValue?this.props.selectedColumnValue:e)),u=mp.createElement(Yr,{type:this.props.selectedColumn?ur.getDescriptionForDataType(this.props.selectedColumn.dataType):"text",placeholder:this.props.selectedColumn?ur.getPlaceHolderforDataType(this.props.selectedColumn.dataType):"Enter Value",autoFocus:!0,disabled:this.props.disabled,style:{width:i},value:this.props.selectedColumnValue,onChange:d=>{this.onSelectedValueChange([{customOption:!0,DisplayValue:d.target.value}])}});return mp.createElement(xd,{style:E(b({},this.props.style),{overflow:"visible"})},this.state.newOrExisting==="Existing value"?s:u,mp.createElement(rt,b({variant:"raised",tone:"neutral",columns:["label"],style:{boxShadow:"none",color:"var(--ab-cmp-dashboardpanel__fill)",background:"var(--ab-color-defaultbackground)"},disabled:this.props.disabled,marginRight:1,items:[{label:"Existing value",onClick:()=>{this.setState({newOrExisting:"Existing value"}),this.onSelectedValueChange([])}},{label:"New value",onClick:()=>{this.setState({newOrExisting:"New value"}),this.onSelectedValueChange([])}}]},this.props.dropdownButtonProps),this.state.newOrExisting==="Existing value"?this.props.existingLabel:this.props.newLabel))}onSelectedValueChange(e){Ee.IsEmpty(e)&&De.IsNullOrEmpty(this.props.selectedColumnValue)||(Ee.IsEmpty(e)?this.props.onColumnValueChange(""):e[0].customOption?this.props.onColumnValueChange(e[0].DisplayValue):this.props.onColumnValueChange(e[0].DisplayValue))}};Cm.defaultProps={newLabel:"New value",existingLabel:"Existing value"};var Sm=y(re());var zSe=class extends on.Component{constructor(e){super(e);this.state={isShowingError:!1,errorText:"",useSelector:!1}}componentDidMount(){this.props.onBulkUpdateValueChange(""),this.props.onBulkUpdateCheckSelectedCells()}render(){let e=this.props.BulkUpdateValidationResult.Column,r=!1,n="";e&&De.IsNotNullOrEmpty(this.props.BulkUpdateValue)&&e.dataType=="Number"&&isNaN(Number(this.props.BulkUpdateValue))&&(r=!0,n="This column only accepts numbers");let o=Ya.GetValidationMessage(this.props.PreviewInfo,this.props.BulkUpdateValue),i=this.props.PreviewInfo&&De.IsNotNullOrEmpty(this.props.BulkUpdateValue)&&De.IsNotNullOrEmpty(o),a=i?on.createElement(lu,{previewInfo:this.props.PreviewInfo,api:this.props.api,selectedColumn:e,showPanel:i,showHeader:!0}):null;return e?on.createElement(Cd,{bodyProps:{padding:2},flex:1,glyphicon:this.props.moduleInfo.Glyph,header:this.props.moduleInfo.FriendlyName,infoLink:this.props.moduleInfo.HelpPage,infoLinkDisabled:!this.props.api.internalApi.isDocumentationLinksDisplayed(),variant:"primary"},e.dataType=="Date"?on.createElement(on.Fragment,null,on.createElement(_t,{marginTop:2,marginBottom:2},"Enter a date value. Alternatively, tick the checkbox and select from an existing column value."),on.createElement(Sm.Box,null,on.createElement(he,{marginLeft:2,onChange:s=>this.onUseColumnValuesSelectorChanged(s),checked:this.state.useSelector}," ","Select from existing column values")),on.createElement(Sm.Flex,{padding:2,flexDirection:"row",alignItems:"center"},on.createElement(Sm.Flex,{alignItems:"center",flexDirection:"row",flex:1,marginRight:2},this.state.useSelector?on.createElement(Cm,{selectedGridCells:this.props.SelectedGridCells,selectedColumnValue:this.props.BulkUpdateValue,selectedColumn:e,api:this.props.api,onColumnValueChange:s=>this.onColumnValueSelectedChanged(s),allowNew:!1,style:{width:"100%",maxWidth:"inherit"}}):on.createElement(Yr,{style:{width:"100%"},value:String(this.props.BulkUpdateValue),type:Bt.getDescriptionForDataType(e.dataType),placeholder:Bt.getPlaceHolderforDataType(e.dataType),onChange:s=>this.onBulkUpdateValueChange(s)})),on.createElement(Z,{disabled:De.IsNullOrEmpty(this.props.BulkUpdateValue)||this.props.PreviewInfo.previewValidationSummary.validationResult=="All",onClick:()=>{this.onApplyClick()},variant:"raised",tone:"accent"},"Apply to Grid"))):on.createElement(on.Fragment,null,on.createElement(_t,{marginTop:2,marginBottom:2},"Select an existing column value from the dropdown, or enter a new value"),on.createElement(Sm.Flex,{marginTop:2,flexDirection:"row",alignItems:"center"},on.createElement(Sm.Flex,{alignItems:"center",flexDirection:"row",flex:1,marginRight:2},on.createElement(Cm,{selectedGridCells:this.props.SelectedGridCells,selectedColumnValue:this.props.BulkUpdateValue,selectedColumn:e,api:this.props.api,onColumnValueChange:s=>this.onColumnValueSelectedChanged(s),style:{width:"100%",maxWidth:"inherit"}})),on.createElement(Z,{disabled:De.IsNullOrEmpty(this.props.BulkUpdateValue)||this.props.PreviewInfo.previewValidationSummary.validationResult=="All"||r,variant:"raised",tone:"accent",marginRight:2,onClick:()=>{this.onApplyClick()}},"Apply to Grid")," ",r&&on.createElement(Fr,{headerText:"Update Error",bodyText:[n],MessageType:"Error"}),De.IsNotNullOrEmpty(this.props.BulkUpdateValue)&&this.props.PreviewInfo.previewValidationSummary.validationResult!="None"&&on.createElement(Fr,{headerText:"Validation Error",bodyText:[o],MessageType:"Error"}))),a):null}onColumnValueSelectedChanged(e){this.props.onBulkUpdateValueChange(e)}onUseColumnValuesSelectorChanged(e){this.setState({useSelector:e}),this.props.onBulkUpdateValueChange("")}onBulkUpdateValueChange(e){let r=e.target;this.props.onBulkUpdateValueChange(r.value)}onApplyClick(){this.onApplyBulkUpdate()}onApplyBulkUpdate(){this.props.onRunBulkUpdate()}};function ept(t,e){var r;return{BulkUpdateValue:t.System.BulkUpdateValue,PreviewInfo:t.System.BulkUpdatePreviewInfo,BulkUpdateValidationResult:t.System.BulkUpdateValidationResult,SelectedGridCells:(r=t.Grid.SelectedCellInfo)==null?void 0:r.gridCells}}function tpt(t){return{onBulkUpdateValueChange:e=>t(rA(e)),onBulkUpdateCheckSelectedCells:()=>t(tA()),onRunBulkUpdate:()=>t(zx(!1))}}var qSe=We(ept,tpt)(zSe);l();var Py=y(require("react"));l();var cs=y(require("react"));var rpt=new Map([["Operation",{field:"Operation",flex:1}],["Value",{field:"Value",flex:1}]]),npt={style:{height:"100%",minWidth:"15rem",minHeight:"20rem"}},Dy=class extends cs.Component{render(){let e=[];return this.props.CellSummary!=null&&(e=Object.keys(this.props.CellSummary).map(r=>({Operation:r,Value:this.props.CellSummary[r]}))),cs.createElement(cs.Fragment,null,this.props.CellSummary!=null?cs.createElement(Wc,{data:e,primaryKey:"Operation"},cs.createElement(rs,{domProps:npt,columns:rpt})):cs.createElement(Bg,null,cs.createElement("p",null,"No cells are selected - please select some cells.")))}};var QSe=class extends Py.Component{componentDidMount(){this.props.onCreateCellSummary()}render(){return Py.createElement(al,{headerText:this.props.moduleInfo.FriendlyName,glyphicon:this.props.moduleInfo.Glyph,infoLink:this.props.moduleInfo.HelpPage,infoLinkDisabled:!this.props.api.internalApi.isDocumentationLinksDisplayed()},Py.createElement(Dy,{CellSummary:this.props.CellSummary}))}};function opt(t,e){return{CellSummary:t.Grid.CellSummary}}function ipt(t){return{onCreateCellSummary:()=>t(L1())}}var jSe=We(opt,ipt)(QSe);l();var hp=y(require("react"));var KSe=y(re());l();var fp=y(require("react"));var hO=y(re());var O8=class extends fp.Component{render(){var o;let e=this.props.adaptableObject,r=ur.getColorByMessageType((o=e==null?void 0:e.statusType)!=null?o:"Success"),n=Er(this.props.colItems);return n[0].Content=e?fp.createElement("details",null,fp.createElement(hO.Flex,{title:e.statusFurtherInformation?"Click to see more":"",style:{borderRadius:"var(--ab__border-radius)",fontWeight:"bold",cursor:e.statusFurtherInformation?"pointer":"auto"},className:"ab-DashboardToolbar__SystemStatus__text",marginRight:2,padding:2,color:"text-on-secondary",backgroundColor:r,fontSize:"var( --ab-font-size-2)",alignItems:"center",as:"summary"},e.statusMessage," ",e.statusFurtherInformation?"...":""),e.statusFurtherInformation?fp.createElement(hO.Box,{margin:2,style:{whiteSpace:"normal"}},e.statusFurtherInformation):null):null,n[1].Content=fp.createElement(em,{Content:e.timestamp.toLocaleString()}),fp.createElement(un,{colItems:n})}};var YSe=[{Content:"Message",Size:10},{Content:"Timestamp",Size:3}],$Se=class extends hp.Component{constructor(e){super(e)}onSystemStatusMessageInfoDeleteAll(){this.props.onSystemStatusMessageInfoDeleteAll()}render(){let e=hp.createElement(Z,{onClick:()=>this.onSystemStatusMessageInfoDeleteAll(),tooltip:"Clear All",tone:"neutral",variant:"raised",accessLevel:this.props.accessLevel,disabled:Pe.IsNullOrEmpty(this.props.SystemStatusMessages)},"Delete All Messages"),r=Pe.sortArrayWithProperty("Desc",this.props.SystemStatusMessages,"Timestamp").map((n,o)=>{let i=xt.getAppropriateAccessLevel(n,this.props.accessLevel);return hp.createElement(O8,{adaptableObject:n,key:"smi"+o,onEdit:null,moduleInfo:this.props.moduleInfo,colItems:YSe,api:this.props.api,accessLevel:i,teamSharingActivated:this.props.teamSharingActivated,onDeleteConfirm:null,onShare:null})});return hp.createElement(Rn,{button:e,headerText:this.props.moduleInfo.FriendlyName,infoLink:this.props.moduleInfo.HelpPage,infoLinkDisabled:!this.props.api.internalApi.isDocumentationLinksDisplayed()},Pe.IsNotNullOrEmpty(this.props.SystemStatusMessages)&&hp.createElement(KSe.Box,{className:"ab-SystemStatus-Popup-List",padding:2},hp.createElement(ji,{colItems:YSe,items:r})))}};function apt(t,e){return{SystemStatusMessageInfos:t.System.SystemStatusMessages,SystemStatusMessages:t.System.SystemStatusMessages}}function lpt(t){return{onSystemStatusMessageInfoDeleteAll:()=>t(Zv())}}var XSe=We(apt,lpt)($Se);l();var gp=y(require("react"));l();var Qo=y(require("react"));l();var JSe=y(require("react"));var ZSe=t=>JSe.createElement(Z,E(b({},t),{icon:"trash",variant:"text","data-name":"preview-delete"}));var CO=y(re());l();var gO=y(require("react"));l();var F8=y(require("react")),M8=require("react");var spt=F8.createContext({clickInfoRef:null,selected:{},getItemId:t=>t,toggleOnSimpleClick:!1,setSelected:t=>{}}),eye=()=>{let{selected:t,setSelected:e,toggleOnSimpleClick:r,clickInfoRef:n,getItemId:o}=(0,M8.useContext)(spt);return(i,{index:a})=>{if(a===void 0){pt('No "index" was passed to the list item');return}let{lastClickIndexWithoutShift:s,lastShiftSelectionRange:u}=n.current,{shiftKey:d,metaKey:c,ctrlKey:m}=i;m&&(c=!0),c&&(d=!1);let f=`${o(a)}`,h;if(d){let g=s,C=a;if(h=b({},t),u){let{start:x,end:R}=u;for(;x<=R;x++)delete h[o(x)]}let[S,v]=[Math.min(g,C),Math.max(g,C)];for(n.current.lastShiftSelectionRange={start:S,end:v};S<=v;S++)h[o(S)]=!0;e(h)}else{if(n.current.lastClickIndexWithoutShift=a,!c&&!r)h={[f]:!0};else{let g=t[f];h=b({},t),g?(delete h[f],n.current.lastClickIndexWithoutShift=s):h[f]=!0}n.current.lastShiftSelectionRange=null,e(h)}}};var _8="ab-ListGroupItem",upt=gO.forwardRef((t,e)=>{let d=t,{className:r,active:n,factory:o="button",noZebra:i}=d,a=Ye(d,["className","active","factory","noZebra"]),s=eye();return gO.createElement(o,E(b({},a),{onClick:c=>{a.onClick&&a.onClick(c),s(c,{index:t.index})},ref:e,className:He(r,_8,i?`${_8}--no-zebra`:null,`${_8}--${n?"active":"not-active"}`)}))}),eb=upt;l();var tye=y(require("react"));var rye=y(re()),dpt="ab-ListGroup",ppt=t=>{let n=t,{className:e}=n,r=Ye(n,["className"]);return tye.createElement(rye.Box,E(b({},r),{className:He(e,dpt)}))},bO=ppt;var N8=class extends Qo.Component{componentWillUnmount(){this.props.onRender()}render(){let e=this.props.Alerts.map((n,o)=>{let i=De.IsNotNullOrEmpty(n.header),a=Bt.getColorByMessageType(n.alertDefinition.MessageType),s={color:a,fill:a},u=Bt.getGlyphByMessageType(n.alertDefinition.MessageType),d=Xs[u],c=d?Qo.createElement(d,null):null,m=Qo.createElement("div",{key:n.Uuid,style:{maxWidth:"600px",width:"100%"}},Qo.createElement(CO.Flex,{alignItems:"center",width:"100%"},Qo.createElement(CO.Text,{style:s},c),i?Qo.createElement("b",{style:{flex:1}},n.header):Qo.createElement("div",{style:{fontSize:10,flex:1,display:"inline-block"}},n.message),Qo.createElement(ZSe,{onClick:()=>this.props.onClearAlert(n),tooltip:"Clear Alert",disabled:!1,style:{float:"left"},accessLevel:"Full"})),Qo.createElement("div",null,i&&Qo.createElement("span",{style:{fontSize:10}},n.message)));return Qo.createElement(eb,{factory:"div",key:n.Uuid||o},m)});return Qo.createElement(al,{variant:"default",bodyProps:{padding:0},headerText:"Alerts",button:Qo.createElement(Z,{onClick:()=>this.props.onClearAllAlerts(this.props.Alerts),variant:"raised",tone:"neutral",accessLevel:"Full"},"Clear All")},Qo.createElement(bO,null,e))}};var SO=y(re());var nye=class extends gp.Component{constructor(e){super(e);this.state={ShowMessage:!1,Alerts:this.props.AdaptableAlerts}}componentDidUpdate(){this.state.Alerts.length!=this.props.AdaptableAlerts.length&&this.setState({ShowMessage:!0,Alerts:this.props.AdaptableAlerts})}render(){let e=ur.getMessageTypeFromAdaptableAlerts(this.props.AdaptableAlerts),r=ur.getColorByMessageType(e),n=gp.createElement(N8,{Alerts:this.props.AdaptableAlerts,ShowPanel:!0,ShowHeader:!1,onClearAlert:this.props.onDeleteAlert,onRender:()=>this.setState({ShowMessage:!1}),onClearAllAlerts:this.props.onDeleteAllAlert}),o=this.props.AdaptableAlerts.length==0?"0 Alerts":this.props.AdaptableAlerts.length==1?"1 Alert":this.props.AdaptableAlerts.length+" Alerts",i=ur.getButtonColourForAdaptableAlerts(this.props.AdaptableAlerts,r),a=ur.getButtonTextColourForArrayandMessageType(this.props.AdaptableAlerts,e),s=this.props.viewType==="Toolbar"?"DashboardToolbar":"ToolPanel";return gp.createElement(SO.Flex,{alignItems:"stretch",className:`ab-${s}__Alert__wrap`},gp.createElement(SO.Flex,{style:{borderRadius:"var(--ab__border-radius)"},className:`ab-${s}__Alert__text`,marginRight:2,padding:2,color:a,backgroundColor:i,fontSize:"var( --ab-font-size-2)",alignItems:"center"},o),this.props.AdaptableAlerts.length>0&&gp.createElement(SO.Flex,{alignItems:"center"},gp.createElement(Fr,{className:`ab-${s}__Alert__info`,headerText:"",bodyText:[n],MessageType:e,useButton:!0,showEvent:"focus",hideEvent:"blur"})))}};function cpt(t,e){return{AlertDefinitions:t.Alert.AlertDefinitions,AdaptableAlerts:t.System.AdaptableAlerts}}function mpt(t){return{onDeleteAlert:e=>t(Jv(e)),onDeleteAllAlert:e=>t(mW(e))}}var oye=We(cpt,mpt)(nye);l();var ms=y(require("react"));var vO=y(re());l();var yO=y(require("react"));var Ty=class extends yO.Component{render(){return yO.createElement(Z,b({"data-name":"apply",tooltip:"Apply",iconSize:20,icon:"check",variant:"text"},this.props))}};var iye=class extends ms.Component{constructor(e){super(e);this.state={Disabled:!0}}componentDidMount(){if(this.props.api){let e=this.props.api.internalApi.getAdaptableInstance();e&&(this.cleanupEvent=e._on("CellsSelected",()=>{this.checkSelectedCells()}))}this.checkSelectedCells()}componentWillUnmount(){var e;(e=this.cleanupEvent)==null||e.call(this)}render(){let e=this.getStatusColour(),r=this.props.BulkUpdateValidationResult.Column,n=ms.createElement(lu,{previewInfo:this.props.PreviewInfo,api:this.props.api,selectedColumn:r,showPanel:!0,showHeader:!1}),o=this.props.accessLevel=="ReadOnly"||!this.props.BulkUpdateValidationResult.IsValid||this.props.InPivotMode==!0,i={color:e,fill:"currentColor"},a=this.props.viewType==="Toolbar"?"DashboardToolbar":"ToolPanel";return ms.createElement(vO.Flex,{flexDirection:"row",className:He(o?Sn:"",`ab-${a}__BulkUpdate__wrap`),flexWrap:this.props.viewType==="ToolPanel"?"wrap":"nowrap"},ms.createElement(vO.Flex,null,ms.createElement(Cm,{selectedGridCells:this.props.SelectedGridCells,newLabel:"New",existingLabel:"Existing",dropdownButtonProps:{listMinWidth:160},className:`ab-${a}__BulkUpdate__select`,disabled:o,selectedColumnValue:this.props.BulkUpdateValue,selectedColumn:r,api:this.props.api,onColumnValueChange:s=>this.onColumnValueSelectedChanged(s)})),ms.createElement(vO.Flex,null,!o&&De.IsNotNullOrEmpty(this.props.BulkUpdateValue)&&ms.createElement(Ty,{marginLeft:2,className:`ab-${a}__BulkUpdate__apply`,onClick:()=>this.onApplyClick(),style:i,tooltip:"Apply Bulk Update",disabled:De.IsNullOrEmpty(this.props.BulkUpdateValue)||this.props.PreviewInfo!=null&&this.props.PreviewInfo.previewValidationSummary.validationResult=="All",accessLevel:this.props.accessLevel},this.props.viewType==="ToolPanel"&&"Update"),!o&&De.IsNotNullOrEmpty(this.props.BulkUpdateValue)&&ms.createElement(Fr,{className:`ab-${a}__BulkUpdate__info`,headerText:"Preview Results",bodyText:[n],MessageType:Bt.getMessageTypeByStatusColour(e),useButton:!0,showEvent:"focus",hideEvent:"blur"})))}onColumnValueSelectedChanged(e){this.props.onBulkUpdateValueChange(e)}checkSelectedCells(){this.props.onBulkUpdateCheckSelectedCells(),De.IsNotNullOrEmpty(this.props.BulkUpdateValue)&&this.props.onBulkUpdateValueChange("")}getStatusColour(){if(De.IsNotNullOrEmpty(this.props.BulkUpdateValue)&&this.props.PreviewInfo){if(this.props.PreviewInfo.previewValidationSummary.validationResult=="All")return"var(--ab-color-error)";if(this.props.PreviewInfo.previewValidationSummary.validationResult=="Some")return"var(--ab-color-warn)"}return"var(--ab-color-success)"}onApplyClick(){this.onApplyBulkUpdate()}onApplyBulkUpdate(){this.props.onRunBulkUpdate(),this.props.onBulkUpdateValueChange("")}};function fpt(t,e){var r;return{SelectedGridCells:(r=t.Grid.SelectedCellInfo)==null?void 0:r.gridCells,BulkUpdateValue:t.System.BulkUpdateValue,BulkUpdateValidationResult:t.System.BulkUpdateValidationResult,PreviewInfo:t.System.BulkUpdatePreviewInfo,InPivotMode:t.Grid.IsGridInPivotMode}}function hpt(t){return{onBulkUpdateValueChange:e=>t(rA(e)),onBulkUpdateCheckSelectedCells:()=>t(tA()),onRunBulkUpdate:()=>t(zx(!1))}}var aye=We(fpt,hpt)(iye);l();var Ai=y(require("react"));l();var AO=y(require("react"));var L8=class extends AO.Component{render(){return AO.createElement(Dy,{CellSummary:this.props.CellSummary})}};var tb=y(re());var lye=class extends Ai.Component{constructor(e){super(e)}componentDidMount(){let e=this.props.api.internalApi.getAdaptableInstance();e&&(this.cleanupEvent=e._on("CellsSelected",()=>{this.checkSelectedCells()})),this.checkSelectedCells()}componentWillUnmount(){var e;(e=this.cleanupEvent)==null||e.call(this)}render(){let e=fi.getNames(yv).map((u,d)=>({label:u,onClick:()=>this.props.onCellSummaryOperationChange(u)})),r=this.props.api.internalApi.getAdaptableOptions().generalOptions.cellSummaryOperations,n=Pe.IsNullOrEmpty(r)?[]:r.map(u=>({onClick:()=>this.props.onCellSummaryOperationChange(u.operationName),label:u.operationName})),o=Ai.createElement(L8,{CellSummary:this.props.CellSummary}),i=this.props.accessLevel=="ReadOnly"||this.props.api.internalApi.isGridInPivotMode()||this.props.CellSummary==null,a=()=>{if(i)return;let u=this.getOperationValue();if(u!=null)return this.props.viewType==="ToolPanel"?Ai.createElement(tb.Flex,{className:`ab-${s}__CellSummary__value`,style:{borderRadius:"var(--ab__border-radius)"},marginRight:2,padding:2,color:"var( --ab-color-text-on-info)",backgroundColor:"var(--ab-color-info)",fontSize:"var( --ab-font-size-2)"},u):Ai.createElement(tb.Flex,{flex:1,marginRight:2,justifyContent:"center",className:`ab-${s}__CellSummary__value`,color:"var(--ab-color-text-on-primary)"},u)},s=this.props.viewType==="Toolbar"?"DashboardToolbar":"ToolPanel";return Ai.createElement(tb.Flex,{flexDirection:"row",className:i?Sn:`ab-${s}__CellSummary__wrap`,flexWrap:this.props.viewType==="ToolPanel"?"wrap":"nowrap"},Ai.createElement(tb.Flex,{flex:1},Ai.createElement(rt,{style:{fontSize:"small",width:"100%"},marginRight:2,columns:["label"],className:`ab-${s}__CellSummary__select`,items:[...e,...n],disabled:i,variant:"outlined",tone:"neutral"},this.props.CellSummaryOperation)),Ai.createElement(tb.Flex,{alignItems:"center"},Ai.createElement(Ai.Fragment,null,a(),this.props.CellSummary!=null&&this.props.CellSummary.Count>0&&Ai.createElement(Fr,{className:"ab-ToolPanel__CellSummary__info",bodyText:[o],useButton:!0,showEvent:"focus",hideEvent:"blur"}))))}checkSelectedCells(){this.props.onCreateCellSummary()}getOperationValue(){switch(this.props.CellSummaryOperation){case"Sum":return this.props.CellSummary.Sum;case"Average":return this.props.CellSummary.Average;case"Median":return this.props.CellSummary.Median;case"Mode":return this.props.CellSummary.Mode;case"Max":return this.props.CellSummary.Max;case"Min":return this.props.CellSummary.Min;case"Distinct":return this.props.CellSummary.Distinct;case"Count":return this.props.CellSummary.Count;default:return this.props.CellSummary[this.props.CellSummaryOperation]}}};function gpt(t,e){return{SelectedCellInfo:t.Grid.SelectedCellInfo,CellSummaryOperation:t.System.CellSummaryOperation,CellSummary:t.Grid.CellSummary}}function bpt(t){return{onCellSummaryOperationChange:e=>t(vW(e)),onCreateCellSummary:()=>t(L1())}}var sye=We(gpt,bpt)(lye);l();var Zi=y(require("react"));l();var yu=y(require("react"));var uye=y(re()),Cpt=t=>{t.stopPropagation()},k8=class extends yu.Component{render(){let e=[{Content:"Column Filter",Size:9},{Content:"",Size:3}],r=[];return this.props.columnFilters.forEach(n=>{r.push(this.createRow(e,n))}),yu.createElement("div",null,yu.createElement(rm,{colItems:e}),yu.createElement("div",null,r))}createRow(e,r){let n=Mt.cloneObject(e);return n[0].Content=this.props.api.filterApi.columnFilterToString(r),n[1].Content=yu.createElement(uye.Flex,{justifyContent:"center",margin:0,padding:0,onClick:Cpt},yu.createElement(Ma,{onClick:()=>this.props.onClear(r),tooltip:"Clear Filter",disabled:r==null,accessLevel:this.props.accessLevel})),yu.createElement(un,{key:r.ColumnId,colItems:n})}};var xO=y(re());var dye=class extends Zi.Component{constructor(e){super(e)}render(){let e=Zi.createElement(k8,{columns:this.props.Columns,columnFilters:this.props.ColumnFilters,api:this.props.api,accessLevel:this.props.accessLevel,onClear:n=>this.onClearColumnFilter(n)}),r=this.props.viewType==="Toolbar"?"DashboardToolbar":"ToolPanel";return Zi.createElement(xO.Flex,{flexDirection:"row",className:`ab-${r}__Filter__wrap`,flexWrap:this.props.viewType==="ToolPanel"?"wrap":"nowrap"},Zi.createElement(xO.Flex,null,Ee.IsNotNullOrEmpty(this.props.ColumnFilters)&&Zi.createElement(Zi.Fragment,null,Zi.createElement(Fr,{className:`ab-${r}__Filter__info`,headerText:"",bodyText:[e],useButton:!0,showEvent:"focus",hideEvent:"blur",popoverMinWidth:400}),Zi.createElement(Ma,{marginLeft:1,marginBottom:0,marginRight:1,className:`ab-${r}__Filter__clear`,onClick:()=>this.onClearFilters(),tooltip:"Clear Filters",disabled:this.props.ColumnFilters.length==0,showText:this.props.viewType==="ToolPanel"},this.props.viewType==="ToolPanel"&&"Clear"))),Zi.createElement(xO.Flex,{alignItems:"center"},this.props.api.filterApi.isQuickFilterAvailable()&&Zi.createElement(he,{className:`ab-${r}__Filter__active-check`,disabled:this.props.accessLevel==="ReadOnly"||this.props.api.internalApi.isGridInPivotMode(),marginTop:0,marginBottom:0,fontSize:2,padding:1,checked:this.props.IsQuickFilterVisible,onChange:n=>{n?this.props.onShowQuickFilterBar():this.props.onHideQuickFilterBar()}},"Show Quick Filter")))}onClearFilters(){this.props.api.filterApi.clearAllColumnFilter()}onClearColumnFilter(e){this.props.api.filterApi.clearColumnFilterByColumn(e.ColumnId)}};function Spt(t,e){return{ColumnFilters:t.Filter.ColumnFilters,IsQuickFilterVisible:t.Filter.IsQuickFilterVisible}}function ypt(t){return{onShowPrompt:e=>t(uA(e)),onHideQuickFilterBar:()=>t(fh()),onShowQuickFilterBar:()=>t(mh())}}var pye=We(Spt,ypt)(dye);l();var ym=y(require("react"));var cye=y(re()),mye=class extends ym.Component{constructor(e){super(e)}render(){let e=this.props.viewType==="Toolbar"?"DashboardToolbar":"ToolPanel";return ym.createElement(cye.Flex,{flexDirection:"row",className:`ab-${e}__Dashboard__wrap`,flexWrap:this.props.viewType==="ToolPanel"?"wrap":"nowrap"}," ",ym.createElement(he,{className:`ab-${e}__Dashboard__collapsed-check`,marginTop:0,fontSize:2,padding:1,checked:this.props.IsCollapsed,onChange:r=>this.props.onSetDashboardCollapsed(r)},"Collapse"),"",this.props.api.internalApi.getAdaptableOptions().dashboardOptions.canFloat&&ym.createElement(he,{className:`ab-${e}__Dashboard__collapsed-check`,marginTop:0,fontSize:2,padding:1,checked:this.props.IsFloating,onChange:r=>this.props.onSetDashboardFloating(r)},"Float")," ",ym.createElement(he,{className:`ab-${e}__Dashboard__hidden-check`,marginTop:0,fontSize:2,padding:1,checked:this.props.IsHidden,onChange:r=>this.props.onSetDashboardHidden(r)},"Hidden"))}};function vpt(t,e){return{IsCollapsed:t.Dashboard.IsCollapsed,IsHidden:t.Dashboard.IsHidden,IsFloating:t.Dashboard.IsFloating}}function Apt(t){return{onSetDashboardCollapsed:e=>t(ma(e)),onSetDashboardHidden:e=>t(Hl(e)),onSetDashboardFloating:e=>t(fa(e))}}var fye=We(vpt,Apt)(mye);l();var xi=y(require("react"));var wy=y(re());l();var EO=y(require("react"));var B8=class extends EO.Component{render(){return EO.createElement(Z,b({"data-name":"export",tooltip:"Export",iconSize:20,icon:"export-data",variant:"text"},this.props))}};l();var RO=y(require("react"));var V8=class extends RO.Component{render(){return RO.createElement(Z,b({"data-name":"schedule",tooltip:"Schedule",iconSize:20,icon:"schedule",variant:"text"},this.props))}};var G8="Select Report",hye="Select Destination",gye=class extends xi.Component{render(){let e=this.props.api.exportApi.getReportByName(this.props.CurrentReport),r=De.IsNullOrEmpty(this.props.CurrentReport)?G8:this.props.CurrentReport,n=this.getAllReportNames(),o=n.map(h=>({label:h,value:h,onClick:()=>this.onSelectedReportChanged(h)}));e&&!n.includes(e.Name)&&(e=void 0,r=G8);let i=this.props.api.exportApi.getDestinationByName(this.props.CurrentDestination),a=De.IsNullOrEmpty(this.props.CurrentDestination)?hye:this.props.CurrentDestination,s=[...this.props.api.exportApi.getAvailableExportDestinations().map(h=>({label:h,onClick:()=>this.onSelectedDestinationChanged(h)})),...this.props.api.exportApi.getAllCustomDestination().map(h=>({label:h.name,onClick:()=>this.onSelectedDestinationChanged(h.name)}))];(e==null?void 0:e.Name)===ko&&s.forEach(h=>h.disabled=h.label!=="Excel"),i&&!s.filter(h=>!h.disabled).map(h=>h.label).includes(this.props.CurrentDestination)&&(i=void 0,a=hye);let u=xt.getAppropriateAccessLevel(e,this.props.accessLevel),d="Are you sure you want to delete '";e!=null&&(d=d+e.Name+"'?");let c=()=>this.isCustomDestination(i)?i:void 0,m=()=>{let h=c();(h==null?void 0:h.form)?this.props.showCustomDestinationForm({ExportDestination:h,ReportName:this.props.CurrentReport}):this.props.onApplyExport(e,this.isCustomDestination(i)?i.name:i)},f=this.props.viewType==="Toolbar"?"DashboardToolbar":"ToolPanel";return xi.createElement(wy.Flex,{style:{gap:5},flexDirection:"row",className:`ab-${f}__Export__wrap`,flexWrap:this.props.viewType==="ToolPanel"?"wrap":"nowrap"},xi.createElement(wy.Flex,{flex:1},xi.createElement(rt,{disabled:n.length==0,style:{width:"100%",fontSize:"small"},items:o,columns:["label"],className:`ab-${f}__Export__select`,onClear:()=>this.onSelectedReportChanged(null),showClearButton:!!e,variant:"outlined",marginRight:2},r)),xi.createElement(wy.Flex,{flex:1},xi.createElement(rt,{disabled:r===G8,style:{width:"100%",fontSize:"small"},items:s,columns:["label"],className:`ab-${f}__Export__export`,onClear:()=>this.onSelectedDestinationChanged(null),showClearButton:!!i,variant:"outlined",marginRight:2},a)),xi.createElement(wy.Flex,{className:He(u=="ReadOnly"?Sn:"",`ab-${f}__Export__controls`),style:{width:"100%"}},xi.createElement(B8,{onClick:()=>m(),tooltip:"Export Report",className:`ab-${f}__Export__export`,disabled:e==null||i==null}),xi.createElement(Kd,{onClick:()=>this.props.onEditReport(this.props.moduleInfo.Popup),tooltip:"Edit Report",className:`ab-${f}__Export__edit`,disabled:e==null||e.ReportColumnScope=="CustomColumns",accessLevel:u}),xi.createElement(ss,{variant:"text",className:`ab-${f}__Export__new`,tone:"neutral",children:null,onClick:()=>this.props.onNewReport(this.props.moduleInfo.Popup),tooltip:"Create New Report",accessLevel:u}),xi.createElement($d,{tooltip:"Delete Report",className:`ab-${f}__Export__delete`,disabled:e==null,ConfirmAction:ah(e),ConfirmationMsg:d,ConfirmationTitle:"Delete Report",accessLevel:u}),this.props.api.internalApi.getEntitlementService().isModuleFullEntitlement("Schedule")&&xi.createElement(V8,{marginLeft:1,className:`ab-${f}__Export__schedule`,onClick:()=>this.onNewReportSchedule(),tooltip:"Schedule",disabled:e==null,accessLevel:this.props.accessLevel})))}onSelectedReportChanged(e){this.props.onSelectReport(e)}onSelectedDestinationChanged(e){this.props.onSelectDestination(e)}getAllReportNames(){return[...this.props.api.exportApi.getAvailableSystemReports(),...this.props.Reports.map(e=>e.Name)]}isCustomDestination(e){return!!(e==null?void 0:e.name)}onNewReportSchedule(){let e=at.CreateReportSchedule(this.props.CurrentReport);this.props.onNewReportSchedule(e)}};function xpt(t){return{CurrentReport:t.Export.CurrentReport,CurrentDestination:t.Export.CurrentDestination,Reports:t.Export.Reports}}function Ept(t){return{onApplyExport:(e,r)=>t(lh(e,r)),onSelectReport:e=>t(Q1(e)),onSelectDestination:e=>t(K1(e)),onNewReport:e=>t(dr(Vn,e,{action:"New",source:"Toolbar"})),onEditReport:e=>t(dr(Vn,e,{action:"Edit",source:"Toolbar"})),onNewReportSchedule:e=>t(dr(Ll,"SchedulePopup",{action:"New",source:"Toolbar",value:e})),showCustomDestinationForm:e=>t(nA(e))}}var bye=We(xpt,Ept)(gye);l();var _a=y(require("react"));var DO=y(re());l();var IO=y(require("react"));var Oy=class extends IO.Component{render(){return IO.createElement(Z,b({"data-name":"save",iconSize:20,icon:"save",tooltip:"Save",variant:"text"},this.props))}};var Cye=class extends _a.Component{render(){let e=this.props.Layouts.find(u=>u.Name==this.props.CurrentLayoutName||u.Uuid==this.props.CurrentLayoutName),r=this.props.accessLevel,n=this.props.accessLevel,o=xt.getAppropriateAccessLevel(e,this.props.accessLevel),i=!this.props.api.layoutApi.shouldAutoSaveLayout(this.props.CurrentDraftLayout),a=this.props.Layouts.map((u,d)=>E(b({},u),{label:u.Name,value:u.Name,onClick:()=>this.props.onSelectLayout(u.Name)})),s=this.props.viewType==="Toolbar"?"DashboardToolbar":"ToolPanel";return _a.createElement(DO.Flex,{flexDirection:"row",className:`ab-${s}__Layout__wrap`,flexWrap:this.props.viewType==="ToolPanel"?"wrap":"nowrap"},_a.createElement(DO.Flex,{flex:1},_a.createElement(rt,{marginRight:2,columns:["label"],style:{width:"100%",fontSize:"small"},className:`ab-${s}__Layout__select`,items:a,disabled:a.length==0},e?e.Name:null)),_a.createElement(DO.Flex,{flexDirection:"row",className:He(this.props.accessLevel=="ReadOnly"?Sn:"",`ab-${s}__Layout__wrap`)},i&&_a.createElement(Oy,{className:`ab-${s}__Layout__save`,onClick:()=>this.onSaveLayout(),tooltip:"Save Changes to Current Layout",disabled:!this.props.CanSave,accessLevel:o}),_a.createElement(Kd,{onClick:()=>this.props.onEditLayout(this.props.moduleInfo.Popup),tooltip:"Edit Layout",className:`ab-${s}__Layout__edit`,accessLevel:o}),_a.createElement(A2,{onClick:()=>this.props.onCloneLayout(this.props.moduleInfo.Popup),tooltip:"Clone Layout",className:`ab-${s}__Layout__clone`,tone:"neutral",variant:"text",children:null,accessLevel:r}),_a.createElement(ss,{children:null,tone:"neutral",variant:"text",className:`ab-${s}__Layout__new`,onClick:()=>this.props.onNewLayout(this.props.moduleInfo.Popup),tooltip:"Create a new Layout",accessLevel:n}),_a.createElement($d,{tooltip:"Delete Layout",disabled:this.props.Layouts.length<=1,className:`ab-${s}__Layout__delete`,ConfirmAction:M1(e),ConfirmationMsg:"Are you sure you want to delete '"+this.props.CurrentLayoutName+"'?",ConfirmationTitle:"Delete Layout",accessLevel:o})))}onSaveLayout(){let e=this.props.CurrentDraftLayout;e&&this.props.onSaveLayout(e)}};function Rpt(t,e){let r=t.Layout.CurrentLayout,n=t.Layout.Layouts||[],o=n.find(a=>a.Name===r),i=e.api;return{CurrentLayoutName:r,CurrentDraftLayout:t.Grid.CurrentLayout||o,Layouts:n,CanSave:t.Grid.CurrentLayout&&!i.layoutApi.areLayoutsEqual(o,t.Grid.CurrentLayout)}}function Ipt(t){return{onSelectLayout:e=>t(id(e)),onSaveLayout:e=>{t(od(e)),t(sc(null))},onNewLayout:e=>t(dr(Bo,e,{action:"New",source:"Toolbar"})),onCloneLayout:e=>t(dr(Bo,e,{action:"Clone",source:"Toolbar"})),onEditLayout:e=>t(dr(Bo,e,{action:"Edit",source:"Toolbar"}))}}var Sye=We(Rpt,Ipt)(Cye);l();var Lr=y(require("react"));var FO=y(re());l();var PO=y(require("react"));var TO=class extends PO.Component{render(){return PO.createElement(Z,b({"data-name":"expand",tooltip:"Expand",iconSize:20,icon:"arrowexpand",variant:"text"},this.props))}};l();var wO=y(require("react"));var fs=class extends wO.Component{render(){return wO.createElement(Z,b({"data-name":"play",tooltip:qe.IsNullOrEmpty(this.props.tooltip)?"Play":this.props.tooltip,iconSize:20,icon:"play",variant:"text"},this.props))}};l();var OO=y(require("react"));var U8=class extends OO.Component{render(){return OO.createElement(Z,b({"data-name":"invalid",tooltip:"Invalid",iconSize:20,icon:"invalid"},this.props))}};var yye=class extends Lr.Component{constructor(e){super(e);this.state={isAdaptableReady:!1,expression:this.props.CurrentQuery||""}}componentDidMount(){this.props.api.eventApi.on("AdaptableReady",()=>{this.setState({isAdaptableReady:!0})})}componentDidUpdate(e){e.CurrentQuery!==this.props.CurrentQuery&&this.setState({expression:this.props.CurrentQuery})}render(){if(this.state.isAdaptableReady===!1)return null;let e=this.state.expression==""||this.props.api.internalApi.getQueryLanguageService().validateBoolean(this.state.expression,Or).isValid,r=this.props.NamedQueries.find(c=>c.BooleanExpression==this.state.expression)!=null,o=[...Ee.sortArrayWithProperty("Asc",this.props.NamedQueries,"Name").map(c=>({label:c.Name,icon:c.BooleanExpression===this.props.CurrentQuery?Lr.createElement(Ct,{name:"check"}):null,onClick:()=>this.runQuery(c.BooleanExpression)})),...Ee.IsNotNullOrEmpty(this.props.CachedQueries)?[{separator:!0}]:[],...Ee.IsNotNullOrEmpty(this.props.CachedQueries)?this.props.CachedQueries.slice(-5).reverse().map(c=>({label:`Query at ${c.time.toLocaleTimeString("en-US")}`,icon:Lr.createElement(Ct,{name:"history"}),onClick:()=>this.props.onRunQuery(c.expression)})):[]],i=this.props.api.columnApi.getColumns().map(c=>({label:c.friendlyName,onClick:()=>this.setState({expression:this.state.expression+`[${c.columnId}]`})})),a=this.props.viewType==="Toolbar"?"DashboardToolbar":"ToolPanel",s=()=>this.props.viewType==="Toolbar"?Lr.createElement(xd,{marginRight:1,width:600},Lr.createElement(TO,{variant:"text",tone:"neutral",onClick:()=>this.props.onExpand(this.state.expression),tooltip:"Expand",marginLeft:1}),Lr.createElement($e,{type:"text",placeholder:"Query",spellCheck:!1,value:this.state.expression,onChange:c=>this.setState({expression:c.target.value}),style:{fontFamily:"monospace",fontSize:12},onKeyDown:c=>{c.key==="Enter"&&this.runQuery()}}),e?Lr.createElement(fs,{onClick:()=>this.runQuery(),tooltip:"",accessLevel:"Full",variant:"text",tone:"neutral",disabled:this.state.expression==""||this.state.expression==this.props.CurrentQuery,marginRight:1}):Lr.createElement(U8,{variant:"text",tone:"neutral",tooltip:"Invalid Query",marginRight:1})," ",this.props.CurrentQuery!==""&&Lr.createElement(Ma,{onClick:()=>this.props.onRunQuery(""),tooltip:"Clear Query",accessLevel:"Full"})):Lr.createElement($e,{type:"text",placeholder:"Query",spellCheck:!1,value:this.state.expression,onChange:c=>this.setState({expression:c.target.value}),style:{width:"100%"}}),u=this.props.api.internalApi.getEntitlementService().getEntitlementAccessLevelForModule(Or),d=()=>this.props.viewType==="Toolbar"?Lr.createElement(Lr.Fragment,null,Lr.createElement(Oy,{onClick:()=>this.saveQuery(),tooltip:"Save as New Query",accessLevel:u,disabled:!e||r||this.state.expression=="",variant:"text",tone:"neutral",marginRight:1}),Lr.createElement(rt,{variant:"text",items:i,marginRight:1,tooltip:"Pick Columns"},Lr.createElement(Ct,{name:"list"})),Lr.createElement(rt,{disabled:Ee.IsNullOrEmpty(o),variant:"text",items:o,marginRight:1,tooltip:"Load Query",icon:"folder-open"})," "):Lr.createElement(Lr.Fragment,null,Lr.createElement(TO,{variant:"text",tone:"neutral",onClick:()=>this.props.onExpand(this.state.expression),tooltip:"Expand",marginLeft:1}),Lr.createElement(Ma,{onClick:()=>this.clearQuery(),tooltip:"Clear Query",accessLevel:"Full",disabled:this.state.expression==""}),Lr.createElement(fs,{onClick:()=>this.runQuery(),tooltip:"Run Query",accessLevel:"Full",variant:"text",tone:"neutral",disabled:!e||this.state.expression==""||this.state.expression==this.props.CurrentQuery,marginRight:1}),Lr.createElement(rt,{variant:"text",disabled:Ee.IsNullOrEmpty(o),items:o,marginRight:1,tooltip:"Load Query",icon:"folder-open"}));return Lr.createElement(FO.Flex,{flexDirection:"row",className:`ab-${a}__Query__wrap`,flexWrap:this.props.viewType==="ToolPanel"?"wrap":"nowrap"},Lr.createElement(FO.Flex,null,s()),Lr.createElement(FO.Flex,null,d()))}clearQuery(){this.setState({expression:""})}saveQuery(){this.props.onShowNamedQueries(this.state.expression,this.props.moduleInfo.Popup)}onSelectedSearchChanged(e){this.props.onRunQuery(e)}runQuery(e=this.state.expression){if(qe.IsNullOrEmpty(e)&&qe.IsNotNullOrEmpty(this.props.CurrentQuery)){this.props.onRunQuery("");return}if(!!this.props.api.internalApi.getQueryLanguageService().validateBoolean(e,Or).isValid){if(qe.IsNotNullOrEmpty(this.state.expression)){let r={expression:this.state.expression,time:new Date};r&&this.props.onAddCachedQuery(r)}this.props.onRunQuery(e)}}};function Dpt(t){return{CurrentQuery:t.Query.CurrentQuery,NamedQueries:t.Query.NamedQueries,CachedQueries:t.System.CachedQueries}}function Ppt(t){return{onAddCachedQuery:e=>t(yW(e)),onRunQuery:e=>t(pc(e)),onShowNamedQueries:(e,r)=>t(dr(Or,r,{action:"New",source:"Toolbar",value:e})),onExpand:e=>t(dr(Or,"ExpandedQueryPopup",{source:"Toolbar",value:e},{footer:null}))}}var vye=We(Dpt,Ppt)(yye);l();var Aye=y(require("react")),Tpt=t=>{let[e,r]=Cg(t),n=t.viewType==="Toolbar"?"DashboardToolbar":"ToolPanel";return Aye.createElement(va,{type:"text",placeholder:t.api.internalApi.getAdaptableOptions().searchOptions.quickSearchPlaceholder,className:`ab-${n}__QuickSearch__text`,value:e,OnTextChange:r,style:{height:"100%"},inputStyle:{width:"7rem"}})};function wpt(t){return{QuickSearchText:t.QuickSearch.QuickSearchText}}function Opt(t){return{onRunQuickSearch:e=>t(Us(e))}}var xye=We(wpt,Opt)(Tpt);l();var cl=y(require("react"));var MO=y(re());var Eye=class extends cl.Component{constructor(e){super(e);this.state={SelectedColumnId:""}}componentDidMount(){if(this.props.api){let e=this.props.api.internalApi.getAdaptableInstance();e&&(this.cleanupEvent=e._on("CellsSelected",()=>{this.checkSelectedCells()}))}this.checkSelectedCells()}componentWillUnmount(){var e;(e=this.cleanupEvent)==null||e.call(this)}render(){let e=this.getStatusColour(),r=De.IsNotNullOrEmpty(this.state.SelectedColumnId)?this.props.api.columnApi.getColumnFromId(this.state.SelectedColumnId):null,n=cl.createElement(lu,{previewInfo:this.props.PreviewInfo,api:this.props.api,selectedColumn:r,showPanel:!0,showHeader:!1}),o=fi.getNames(Al).map((u,d)=>({onClick:()=>this.props.onSmartEditOperationChange(u),label:u})),i={color:e,fill:"currentColor"},a=this.props.accessLevel=="ReadOnly"||!this.props.IsValidSelection||this.props.InPivotMode==!0,s=this.props.viewType==="Toolbar"?"DashboardToolbar":"ToolPanel";return cl.createElement(MO.Flex,{flexDirection:"row",className:`ab-${s}__SmartEdit__wrap`,flexWrap:this.props.viewType==="ToolPanel"?"wrap":"nowrap"},cl.createElement(MO.Flex,null,cl.createElement(rt,{className:`ab-${s}__SmartEdit__select`,marginRight:2,items:o,style:{fontSize:"small"},columns:["label"],disabled:a,variant:"outlined"},this.props.MathOperation),cl.createElement($e,{style:{width:"5rem"},className:`ab-${s}__SmartEdit__select-value`,value:this.props.SmartEditValue.toString(),type:"number",placeholder:"Enter a Number",step:"any",onChange:u=>this.onSmartEditValueChange(u),disabled:a,marginRight:2})),cl.createElement(MO.Flex,null,!a&&cl.createElement(Ty,{onClick:()=>this.onApplyClick(),style:i,className:`ab-${s}__SmartEdit__apply`,tooltip:"Apply Smart Edit",disabled:De.IsNullOrEmpty(`${this.props.SmartEditValue}`)||this.props.PreviewInfo!=null&&this.props.PreviewInfo.previewValidationSummary.validationResult=="All",accessLevel:this.props.accessLevel},this.props.viewType==="ToolPanel"&&"Apply Smart Edit"),!a&&cl.createElement(Fr,{headerText:"Preview Results",className:`ab-${s}__SmartEdit__info`,bodyText:[n],MessageType:Bt.getMessageTypeByStatusColour(e),useButton:!0,showEvent:"focus",hideEvent:"blur"})))}checkSelectedCells(){this.props.onSmartEditCheckSelectedCells()}onSmartEditValueChange(e){let r=e.target;this.props.onSmartEditValueChange(Number(r.value))}getStatusColour(){if(De.IsNotNullOrEmpty(`${this.props.SmartEditValue}`)&&this.props.PreviewInfo){if(this.props.PreviewInfo.previewValidationSummary.validationResult=="All")return"var(--ab-color-error)";if(this.props.PreviewInfo.previewValidationSummary.validationResult=="Some")return"var(--ab-color-warn)"}return"var(--ab-color-success)"}onApplyClick(){this.onApplySmartEdit()}onchangeMathOperation(e){this.props.onSmartEditOperationChange(e)}onApplySmartEdit(){this.props.onRunSmartEdit()}};function Fpt(t,e){return{SmartEditValue:t.System.SmartEditValue,MathOperation:t.System.SmartEditOperation,IsValidSelection:t.System.IsValidSmartEditSelection,PreviewInfo:t.System.SmartEditPreviewInfo,InPivotMode:t.Grid.IsGridInPivotMode}}function Mpt(t){return{onSmartEditValueChange:e=>t(ff(e)),onSmartEditOperationChange:e=>t(hf(e)),onSmartEditCheckSelectedCells:()=>t(eA()),onRunSmartEdit:()=>t(C1(!1))}}var Rye=We(Fpt,Mpt)(Eye);l();var Fy=y(require("react"));var H8=y(re());var Iye=class extends Fy.Component{constructor(e){super(e)}render(){var a;let e=this.props.api.systemStatusApi.getCurrentSystemStatusMessageInfo(),r=ur.getColorByMessageType((a=e==null?void 0:e.statusType)!=null?a:"Success"),n=e?ur.getButtonTextColourForMessageType(e.statusType):"",o=e==null?void 0:e.statusMessage,i=this.props.viewType==="Toolbar"?"DashboardToolbar":"ToolPanel";return Fy.createElement(H8.Flex,{flexDirection:"row",className:`ab-${i}__SystemStatus__wrap`},Fy.createElement(H8.Flex,{style:{borderRadius:"var(--ab__border-radius)"},className:`ab-${i}__SystemStatus__text`,marginRight:2,padding:2,color:n,backgroundColor:o?r:"",fontSize:"var( --ab-font-size-2)",alignItems:"center","data-name":"system-status-message"},o||"0 Messages"))}};function _pt(t){return{SystemStatusMessageInfos:t.System.SystemStatusMessages}}function Npt(t){return{}}var Dye=We(_pt,Npt)(Iye);l();var My=y(require("react"));var Pye=class extends My.Component{render(){let e=[...this.props.SystemThemes,...this.props.UserThemes],r=e.map((s,u)=>(typeof s=="string"&&(s={Name:s,Description:s}),{label:s.Description,onClick:()=>this.onSelectTheme(s)})),n=e.filter(s=>s.Name===this.props.CurrentTheme)[0],o=n?n.Description:this.props.CurrentTheme,i=this.props.viewType==="Toolbar"?"DashboardToolbar":"ToolPanel",a=this.props.viewType==="Toolbar"?{maxWidth:"25rem",whiteSpace:"nowrap",overflow:"hidden",textOverflow:"ellipsis",fontSize:"small"}:{minWidth:"100%",fontSize:"small"};return My.createElement("div",{className:He(this.props.accessLevel=="ReadOnly"?Sn:"",`ab-${i}__Theme__wrap`)},My.createElement(rt,{className:`ab-${i}__Theme__select`,style:a,items:r,columns:["label"],accessLevel:this.props.accessLevel},o))}onSelectTheme(e){this.props.onSelectTheme(e.Name)}};function Lpt(t,e){return{SystemThemes:t.Theme.SystemThemes,CurrentTheme:t.Theme.CurrentTheme,UserThemes:t.Theme.UserThemes}}function kpt(t){return{onSelectTheme:e=>t(hh(e))}}var Tye=We(Lpt,kpt)(Pye);l();var _y=y(require("react"));var wye=y(re());var Oye=class extends _y.Component{constructor(e){super(e);this.state={CurrentDataSource:De.IsNullOrEmpty(this.props.CurrentDataSourceName)?null:this.props.DataSources.find(r=>r.Name==this.props.CurrentDataSourceName)}}render(){let e="Select Data Source",r=this.state.CurrentDataSource==null?e:this.state.CurrentDataSource.Name,n=this.props.DataSources.map((i,a)=>({value:i.Name,label:i.Name,onClick:()=>this.onSelectedDataSourceChanged(i.Name)})),o=this.props.viewType==="Toolbar"?"DashboardToolbar":"ToolPanel";return _y.createElement(wye.Flex,{flexDirection:"row",className:`ab-${o}__DataSource__wrap`},_y.createElement(rt,{marginRight:2,columns:["label"],style:{minWidth:160,fontSize:"small"},className:`ab-${o}__DataSource__select`,items:n,variant:"outlined",tone:"neutral"},r))}onSelectedDataSourceChanged(e){if(De.IsNullOrEmpty(e))this.setState({CurrentDataSource:null});else{let r=this.props.DataSources.find(n=>n.Name==e);this.setState({CurrentDataSource:r}),r.Form?alert("have params"):this.props.onSelectDataSource(r)}}};function Bpt(t,e){return{CurrentDataSourceName:t.DataSource.CurrentDataSource,DataSources:t.DataSource.DataSources}}function Vpt(t){return{onSelectDataSource:e=>t(bC(e))}}var Fye=We(Bpt,Vpt)(Oye);l();var Ur=y(require("react"));l();var _O=y(require("react"));var _ye=require("@ag-grid-community/all-modules"),vm=require("react");var Nye=t=>{let{changeHistoryLog:e,adaptableContainerId:r,agGridContainerId:n,onUndoChange:o}=t,i=ht(),[a,s]=(0,vm.useState)(null),u=(0,vm.useRef)(null);u.current=a;let d=i.api.internalApi.getEntitlementService().isModuleFullEntitlement(Nl),c=Ni(e,e);return(0,vm.useEffect)(()=>((async()=>{let f=Upt(i,e),h=Gpt(i,f,r,n,d,o),C=await Object.getPrototypeOf(i).constructor.init(h);s(C)})(),()=>{var f;(f=u.current)==null||f.internalApi.getAdaptableInstance().destroy({unmount:!0,destroyApi:!0})}),[]),(0,vm.useEffect)(()=>{let m=u.current;if(!m)return;let f=Object.keys(e).filter(x=>{let R=c[x];return R?e[x].changedAt!==R.changedAt:!0}),h=Object.keys(c).filter(x=>{let R=e[x];return R?c[x].changedAt!==R.changedAt:!0}),g=Mye(e,f),C=Mye(c,h),S=z8(g,i),v=z8(C,i);m.internalApi.getAdaptableOptions().gridOptions.api.applyTransactionAsync({add:S,remove:v})},[e]),_O.createElement(_O.Fragment,null)},Gpt=(t,e,r,n,o,i)=>{var c,m;let a=t.adaptableOptions,s=t.api.themeApi.getCurrentTheme(),u=f=>{var g;let h=(g=f==null?void 0:f.data)==null?void 0:g.changeKey;h&&i(h)},d={gridOptions:e,modules:[..._ye.AllCommunityModules],primaryKey:"primaryKey",licenseKey:a.licenseKey,userName:`${a.userName}`,adaptableId:`${a.adaptableId}::DataChangeHistory`,containerOptions:{adaptableContainer:r,agGridContainer:n},entitlementOptions:{defaultAccessLevel:"Hidden"},layoutOptions:{createDefaultLayout:!1},userInterfaceOptions:{actionColumns:[{columnId:"undoActionColumn",friendlyName:" ",includeGroupedRows:!0,actionColumnButton:{label:(f,h)=>h.adaptableApi.gridApi.isGroupRowNode(h.rowNode)?"Undo Group":"Undo Change",onClick:(f,h)=>{var C;let g=h.rowNode;if(h.adaptableApi.gridApi.isGroupRowNode(g)){let S=(C=h.rowNode)==null?void 0:C.childrenAfterFilter;S&&S.forEach(v=>u(v))}else u(g)},buttonStyle:{variant:"raised",tone:"accent"}}}]},predefinedConfig:{Layout:{Revision:Date.now(),CurrentLayout:"DataChangeHistoryLayout",Layouts:[{Name:"DataChangeHistoryLayout",Columns:["changeInfo.primaryKeyValue","changedColumnLabel","changeInfo.oldValue","changeInfo.newValue","changeInfo.changedAt","changeTriggerLabel","undoActionColumn"],ColumnSorts:[{ColumnId:"changeInfo.changedAt",SortOrder:"Desc"}],ColumnWidthMap:{undoActionColumn:110},PinnedColumnsMap:{undoActionColumn:"right"}}]},FormatColumn:{Revision:Date.now(),FormatColumns:[{Scope:{ColumnIds:["changeInfo.changedAt"]},DisplayFormat:{Formatter:"DateFormatter",Options:{Pattern:`${(m=(c=a.userInterfaceOptions)==null?void 0:c.dateInputOptions)==null?void 0:m.dateFormat} HH:mm:ss`}}}]},Theme:{Revision:Date.now(),CurrentTheme:s}}};if(!o){let f=d.predefinedConfig.Layout.Layouts[0].Columns;f.includes("undoActionColumn")&&(d.predefinedConfig.Layout.Layouts[0].Columns=f.filter(h=>h!=="undoActionColumn"))}return d},Upt=(t,e)=>{var o,i;let r=(i=(o=t.api.columnApi.getPrimaryKeyColumn())==null?void 0:o.friendlyName)!=null?i:"Row ID";return{suppressLoadingOverlay:!0,overlayNoRowsTemplate:'<div style="font-size: var(--ab-font-size-2);color: var(--ab-color-text-on-primary);">No Data Changes</div>',defaultColDef:{floatingFilter:!0,filter:!0,sortable:!0,resizable:!0,enableRowGroup:!0,editable:!1,enablePivot:!1,enableValue:!1,lockPinned:!0,suppressAutoSize:!0,suppressMenu:!0,menuTabs:["generalMenuTab","filterMenuTab"]},autoGroupColumnDef:{sortable:!0,suppressMenu:!1},columnDefs:[{field:"primaryKey",type:["abColDefString"],hide:!0},{headerName:`Row (${r})`,field:"changeInfo.primaryKeyValue",type:["abColDefString"],suppressAutoSize:!1,suppressMenu:!1,flex:3,initialFlex:3},{headerName:"Changed Column",field:"changedColumnLabel",type:["abColDefString"],suppressAutoSize:!1,suppressMenu:!1,flex:3,initialFlex:3},{headerName:"Previous Value",field:"changeInfo.oldValue",type:["abColDefString"],suppressAutoSize:!1,suppressMenu:!1,flex:3,initialFlex:3},{headerName:"New Value",field:"changeInfo.newValue",type:["abColDefString"],suppressAutoSize:!1,suppressMenu:!1,flex:3,initialFlex:3},{headerName:"Changed at",field:"changeInfo.changedAt",type:["abColDefDate"],suppressAutoSize:!1,suppressMenu:!1,flex:3,initialFlex:3},{headerName:"Source",field:"changeTriggerLabel",type:["abColDefString"],suppressAutoSize:!1,suppressMenu:!1,flex:2,initialFlex:2}],rowData:z8(e,t),enableRangeSelection:!0,suppressColumnVirtualisation:!1,sideBar:!1,suppressMenuHide:!0,rowSelection:"multiple",skipHeaderOnAutoSize:!0}},z8=(t={},e)=>Object.entries(t).map(([r,n])=>({primaryKey:`${r}::${n.changedAt}`,changeKey:r,changeTriggerLabel:Wpt(n),changedColumnLabel:Hpt(n.column.columnId,e),changeInfo:n})),W8=new Map,Hpt=(t,e)=>{var r,n;return W8.has(t)||W8.set(t,(n=(r=e.api.columnApi.getColumnFromId(t))==null?void 0:r.friendlyName)!=null?n:t),W8.get(t)},Wpt=t=>t.trigger==="tick"?"Ticking data":"User edit",Mye=(t,e)=>{let r={};return e.forEach(n=>{r[n]=t[n]}),r};var ea=y(re());l();var NO=y(require("react"));var Ny=class extends NO.Component{render(){return NO.createElement(Z,b({"data-name":"pause",tooltip:"Pause",iconSize:20,icon:this.props.fillColor==="red"?"pause-red":"pause",variant:"text"},this.props))}};l();var LO=y(require("react"));var Ly=class extends LO.Component{render(){return LO.createElement(Z,b({"data-name":"stop",tooltip:"Stop",iconSize:20,icon:"stop",variant:"text"},this.props))}};var Lye=class extends Ur.Component{constructor(e){super(e);this.state={dataChangeHistoryAdaptableApi:void 0}}render(){let{changeHistoryMode:e,activationTime:r,suspensionTime:n,onChangeHistoryEnable:o,onChangeHistoryDisable:i,onChangeHistorySuspend:a,onChangeHistoryResume:s}=this.props,u="dataChangeHistoryAdaptableContainer",d="dataChangeHistoryAgGridContainer",c=e==="ACTIVE",m=e==="INACTIVE",f=e==="SUSPENDED",h=Ur.createElement(ea.Flex,{className:"ab-DataChangeHistoryPopup--button-panel",padding:2,style:{gap:"var(--ab-space-1)"}},m&&Ur.createElement(fs,{className:"ab-DataChangeHistoryPopup--button-activate","data-name":'data-change-history--button-activate"',variant:"raised",tone:"accent",tooltip:"",onClick:()=>o()},"Activate data change tracking"),f&&Ur.createElement(fs,{className:"ab-DataChangeHistoryPopup--button-resume","data-name":"data-change-history--button-resume",variant:"outlined",tooltip:"Resume tracking data changes",onClick:()=>s()},"Resume"),c&&Ur.createElement(Ny,{className:"ab-DataChangeHistoryPopup--button-suspend","data-name":"data-change-history--button-suspend",variant:"outlined",tooltip:"Suspend tracking data changes",onClick:()=>a()},"Suspend"),(c||f)&&Ur.createElement(Ly,{className:"ab-DataChangeHistoryPopup--button-deactivate","data-name":"data-change-history--button-deactivate",variant:"outlined",tooltip:"Deactivate data change tracking",onClick:()=>i()},"Deactivate")),g=`${this.props.api.internalApi.getAdaptableOptions().userInterfaceOptions.dateInputOptions.dateFormat} HH:mm:ss`,C=Ur.createElement(ea.Flex,{className:"ab-DataChangeHistoryPopup--status-panel",alignItems:"center",style:{gap:"var(--ab-space-1)"}},c&&Ur.createElement(Ur.Fragment,null,Ur.createElement(ea.Text,{className:"ab-DataChangeHistoryPanel--status-active",style:{color:"var(--ab-color-success)",fontWeight:"bold"}},"Active"),!!r&&Ur.createElement(ea.Text,{style:{fontStyle:"italic"},fontSize:2},"(since ",Co(r,{Pattern:g}),")")),f&&Ur.createElement(Ur.Fragment,null,Ur.createElement(ea.Text,{className:"ab-DataChangeHistoryPopup--status-suspended",style:{color:"var(--ab-color-warn)",fontWeight:"bold"}},"Suspended"),!!n&&Ur.createElement(ea.Text,{style:{fontStyle:"italic"},fontSize:2},"(since ",Co(n,{Pattern:g}),")")),m&&Ur.createElement(ea.Text,{className:"ab-DataChangeHistoryPopup--status-disabled",fontSize:2})),S=x=>{let R=this.props.changeHistoryLog[x];R&&this.props.api.dataChangeHistoryApi.undoDataChangeHistoryEntry(R)},v=this.props.api.internalApi.getAdaptableInstance().getAgGridCurrentThemeName();return Ur.createElement(Rn,{headerText:this.props.moduleInfo.FriendlyName,glyphicon:this.props.moduleInfo.Glyph,infoLink:this.props.moduleInfo.HelpPage,infoLinkDisabled:!this.props.api.internalApi.isDocumentationLinksDisplayed()},Ur.createElement(ea.Flex,{className:"ab-DataChangeHistoryPopup",flexDirection:"column",style:{height:"100%"}},Ur.createElement(ea.Flex,{style:{color:"var(--ab-dashboard__color)",background:"var(--ab-dashboard__background)"}},Ur.createElement(ea.Flex,{flexDirection:"row"},h,C)),Ur.createElement(ea.Flex,{className:"ab-DataChangeHistoryPopup--grid","data-name":"data-change-history--grid",flex:1,alignSelf:"stretch",flexDirection:"column"},Ur.createElement("div",{id:u}),Ur.createElement("div",{id:d,className:v,style:{height:"100%"}}),Ur.createElement(Nye,{adaptableContainerId:u,agGridContainerId:d,changeHistoryLog:this.props.changeHistoryLog,onUndoChange:S}))))}};function zpt(t,e){return{changeHistoryLog:t.System.DataChangeHistory.logs,changeHistoryMode:t.System.DataChangeHistory.currentMode,activationTime:t.System.DataChangeHistory.enableTime,suspensionTime:t.System.DataChangeHistory.suspendTime}}function qpt(t){return{onChangeHistoryEnable:()=>t(Bu()),onChangeHistoryDisable:()=>t(Vu()),onChangeHistorySuspend:()=>t(gf()),onChangeHistoryResume:()=>t(bf())}}var kye=We(zpt,qpt)(Lye);l();var ei=y(require("react"));var bp=y(re());var Bye=class extends ei.Component{constructor(e){super(e)}render(){let{changeHistoryMode:e,activationTime:r,suspensionTime:n,onChangeHistoryEnable:o,onChangeHistoryDisable:i,onChangeHistorySuspend:a,onChangeHistoryResume:s}=this.props,u=e==="ACTIVE",d=e==="INACTIVE",c=e==="SUSPENDED",m=ei.createElement(bp.Flex,{className:"ab-DataChangeHistoryPanel--button-panel",paddingY:2,style:{gap:"var(--ab-space-1)"}},d&&ei.createElement(fs,{className:"ab-DataChangeHistoryPanel--button-activate","data-name":"data-change-history--button-activate",tooltip:"",onClick:()=>o()}),c&&ei.createElement(fs,{className:"ab-DataChangeHistoryPanel--button-resume","data-name":"data-change-history--button-resume",tooltip:"Resume tracking data changes",onClick:()=>s()}),u&&ei.createElement(Ny,{className:"ab-DataChangeHistoryPanel--button-suspend","data-name":"data-change-history--button-suspend",tooltip:"Suspend tracking data changes",onClick:()=>a()}),(u||c)&&ei.createElement(Ly,{className:"ab-DataChangeHistoryPanel--button-deactivate","data-name":"data-change-history--button-deactivate",tooltip:"Deactivate data change tracking",onClick:()=>i()})),f=`${this.props.api.internalApi.getAdaptableOptions().userInterfaceOptions.dateInputOptions.dateFormat} HH:mm:ss`,h=ei.createElement(bp.Flex,{className:"ab-DataChangeHistoryPanel--status-panel",alignItems:"center",style:{gap:"var(--ab-space-1)"}},u&&ei.createElement(jC,{label:!!r&&`since ${Co(r,{Pattern:f})}`},ei.createElement(bp.Text,{className:"ab-DataChangeHistoryPanel--status-active",fontSize:2,style:{color:"var(--ab-color-success)"}},"Active")),c&&ei.createElement(jC,{label:!!n&&`since ${Co(n,{Pattern:f})}`},ei.createElement(bp.Text,{className:"ab-DataChangeHistoryPanel--status-suspended",fontSize:2,style:{color:"var(--ab-color-warn)"}},"Suspended")),d&&ei.createElement(bp.Text,{className:"ab-DataChangeHistoryPanel--status-disabled",fontSize:2},"Activate data tracking"));return ei.createElement(bp.Flex,{flexDirection:"row"},m,h)}};function Qpt(t){return{changeHistoryMode:t.System.DataChangeHistory.currentMode,activationTime:t.System.DataChangeHistory.enableTime,suspensionTime:t.System.DataChangeHistory.suspendTime}}function jpt(t){return{onChangeHistoryEnable:()=>t(Bu()),onChangeHistoryDisable:()=>t(Vu()),onChangeHistorySuspend:()=>t(gf()),onChangeHistoryResume:()=>t(bf())}}var Vye=We(Qpt,jpt)(Bye);l();var Cp=y(require("react"));var q8=y(re());var Gye=t=>{let e=t.viewType==="Toolbar",r=e?"DashboardToolbar":"ToolPanel";return Cp.createElement(q8.Flex,{flexDirection:e?"row":"column",className:He(t.accessLevel=="ReadOnly"?Sn:"",`ab-${r}__StateManagement__wrap`)},Cp.createElement(q8.Flex,{flexDirection:"row"},Cp.createElement(cO,{tooltip:"Load Predefined Config",variant:"text",icon:"upload",onLoad:n=>t.api.configApi.reloadPredefinedConfig(n),accessLevel:t.accessLevel},!e&&"Load"),Cp.createElement(mO,{icon:"trash",tooltip:"Clear User State",variant:"text",onClick:()=>t.api.configApi.reloadPredefinedConfig(),accessLevel:t.accessLevel},!e&&"Clear")),Cp.createElement(cp,{api:t.api,type:"allState"},"All State"),Cp.createElement(cp,{api:t.api,type:"userState"},"User State"),Cp.createElement(cp,{api:t.api,type:"predefinedConfig"},"Predefined Config"))};var Uye={ExpandedQueryPopup:whe,BulkUpdatePopup:qSe,DashboardPopup:LSe,StateManagementPopup:WSe,GridInfoPopup:wSe,LayoutPopup:Qbe,QuickSearchPopup:phe,CellSummaryPopup:jSe,SmartEditPopup:nhe,ThemePopup:Fhe,TeamSharingPopup:FSe,ToolPanelPopup:Cbe,SystemStatusPopup:XSe,DataChangeHistoryPopup:kye},kO=new Map([[On,oye],[Qa,aye],[Ml,sye],[vo,pye],[_l,fye],[Vn,bye],[Bo,Sye],[Or,vye],[pa,xye],[ca,Rye],[Ku,Dye],[Xu,Tye],[Yu,Fye],[Nl,Vye],[Qf,Gye]]);l();var Na=y(require("react"));l();l();var Hr=y(require("react"));var ml=y(re());var Ypt=t=>{var T,w,N,M,A,I;let e=ht(),r=Ht(),[n,o]=Hr.useState(!1),[i,a]=Hr.useState(null),s=(T=t.module)==null?void 0:T.getViewProperties(),u=(w=s.getEditWizard)==null?void 0:w.call(s,t.data.abObject),d=(N=s==null?void 0:s.getDeleteAction)==null?void 0:N.call(s,t.data.abObject),c=e.api.teamSharingApi.isTeamSharingActivated()&&e.api.teamSharingApi.hasTeamSharingFullRights(),m=t.module.moduleInfo.FriendlyName,f=e.api.internalApi.getEntitlementService().getEntitlementAccessLevelForModule(t.module.moduleInfo.ModuleName),h=xt.getAppropriateAccessLevel(t.data.abObject,f),g=`${t.baseClassName}__Item`,C=He(g,t.data.abObject.IsSuspended&&`${g}--is-suspended`),S=()=>{o(!1),a(null)},v=O=>{o(!0),O&&a(O)},x=Boolean(s.getSuspendAction),R=(A=(M=s==null?void 0:s.actions)==null?void 0:M.map)==null?void 0:A.call(M,(O,z)=>Hr.createElement(O,{data:t.data.abObject,key:z})),D=26;return Hr.createElement(ml.Flex,{as:"li",mb:3,className:C},Hr.createElement(ml.Box,{flex:1,className:`${g}__rows`},(I=t.data.items)==null?void 0:I.map((O,z)=>{var F;return Hr.createElement(ml.Flex,{key:z,mb:2,className:`${g}__row`},Hr.createElement(ml.Box,{className:`${g}__label`,mr:3},O.label||O.name,u&&Hr.createElement(Z,{accessLevel:h,className:`${g}__edit-property`,ml:1,icon:"edit",tooltip:"edit",iconSize:18,variant:"text",onClick:()=>{v(O.name)}})),Hr.createElement(ml.Box,{flex:1,className:`${g}__values`},O.view&&Hr.createElement(O.view,{data:t.data.abObject}),Boolean((O==null?void 0:O.values)&&((F=O==null?void 0:O.values)==null?void 0:F.length))&&Hr.createElement(Zo,{readOnly:!0,options:O.values,value:O.values,allowWrap:!0,toIdentifier:B=>B,toLabel:B=>Hr.createElement(Hr.Fragment,null,B)})))})),Hr.createElement(ml.Flex,{flexDirection:"column",className:`${g}__buttons`},Hr.createElement(ml.Flex,{justifyContent:"end"},R,c&&Hr.createElement(hy,{iconSize:D,Header:`TeamSharing ${m}`,accessLevel:h,onShare:O=>r(Go(t.data.abObject,t.module.moduleInfo.ModuleName,O))}),d&&Hr.createElement($d,{iconSize:D,ConfirmationMsg:`Are you sure you want to delete this ${m}?`,ConfirmationTitle:`Delete ${m}`,ConfirmAction:d,accessLevel:h}),Hr.createElement(Kd,{iconSize:D,disabled:!Boolean(u),accessLevel:h,onClick:()=>v()})),Hr.createElement(ml.Box,{flex:1}),x&&Hr.createElement(ml.Flex,{justifyContent:"end"},Hr.createElement(E2,{onSuspend:()=>r(s.getSuspendAction(t.data.abObject)),onUnSuspend:()=>r(s.getUnSuspendAction(t.data.abObject)),suspendableObject:t.data.abObject,accessLevel:h}))),n&&u&&Hr.createElement(u,{defaultCurrentSectionName:i,moduleInfo:t.module.moduleInfo,data:t.data.abObject,configEntities:null,onCloseWizard:S,onFinishWizard:S}))},Q8=t=>{var r;let e="ab-Adaptable-Object-List";return Hr.createElement("ul",{className:e},(r=t==null?void 0:t.items)==null?void 0:r.map(n=>Hr.createElement(Ypt,{key:n.abObject.Uuid,baseClassName:e,data:n,module:t.module})))};var Hye=t=>{var h,g,C;es(S=>S);let[e,r]=Na.useState(!1),[n,o]=Na.useState(null),i=t.module.moduleInfo,a=(h=t.module)==null?void 0:h.toViewAll(),s=t.module.getViewProperties(),u=(g=s==null?void 0:s.getEditWizard)==null?void 0:g.call(s),d=s.emptyView,c=null;typeof d=="function"?c=Na.createElement(d,{module:t.module}):typeof d=="string"&&(c=d);let m=null;if((C=s==null?void 0:s.abObjectTypes)==null?void 0:C.length){let S=s==null?void 0:s.abObjectTypes.map(v=>{var x;return{disabled:(v==null?void 0:v.accessLevel)==="ReadOnly",onClick:()=>{o(v),r(!0)},label:(x=v.label)!=null?x:v.name}});m=Na.createElement(rt,{tone:"accent",variant:"raised",columns:["label"],items:S,tooltip:"Create "+i.FriendlyName},Na.createElement(Ct,{name:"plus"})," New")}else u&&(m=Na.createElement(ss,{onClick:()=>r(!0),tooltip:"Create "+i.FriendlyName,accessLevel:t.accessLevel,style:{color:"var(--ab-color-text-on-add)",fill:"var(--ab-color-text-on-add)",background:"var(--ab-color-action-add)"}}));let f=()=>{o(null),r(!1)};return Na.createElement(Rn,{glyphicon:i.Glyph,infoLink:i.HelpPage,headerText:i.FriendlyName,button:m},(a==null?void 0:a.length)?Na.createElement(Q8,{module:t.module,items:a}):Na.createElement(Bg,null,c!=null?c:`Click 'New' to create a new ${i.FriendlyName}`),e&&Na.createElement(u,{abObjectType:n,moduleInfo:i,data:null,configEntities:null,onCloseWizard:f,onFinishWizard:f}))};var zye=t=>{var s,u;let e=Bt.getModalContainer(t.api.internalApi.getAdaptableOptions(),document),r=t.module.moduleInfo.ModuleName,n=t.api.internalApi.getEntitlementService().getEntitlementAccessLevelForModule(r),o=t.api.internalApi.getModuleService().getModuleInfoByModule(r),i={popupParams:t.moduleParams,onClearPopupParams:()=>t.onClearParams?t.onClearParams():null,onClosePopup:()=>{t.onHide&&t.onHide()},teamSharingActivated:t.api.teamSharingApi.isTeamSharingActivated()&&t.api.teamSharingApi.hasTeamSharingFullRights(),modalContainer:e,accessLevel:n,api:t.api,moduleInfo:o},a=((u=Uye)==null?void 0:u[(s=t==null?void 0:t.componentName)!=null?s:o.Popup])||Hye;return Wye.createElement(a,b({module:t.module},i))};l();var qye=t=>{let e=window.innerHeight;return{x:window.innerWidth/2-t.width/2,y:e/2-t.height/2}},Qye=()=>{let t=window.innerHeight,e=window.innerWidth;return{height:mf(600,0,t*.9),width:mf(800,0,e*.9)}},jye=()=>{let t=window.innerHeight,e=window.innerWidth;return{height:mf(t*.9,0,800),width:mf(e*.9,0,800)}};l();var j8=["BulkUpdate","SmartEdit","CellSummary"],Yye=["Dashboard","ToolPanel","StateManagement","-","Alert","CalculatedColumn","ConditionalStyle","CustomSort","DataSource","Export","Filter","FlashingCell","FormatColumn","FreeTextColumn","Layout","PlusMinus","Query","QuickSearch","Schedule","Shortcut","-","GridInfo","SystemStatus","DataChangeHistory","TeamSharing","Theme"];l();var $ye=y(require("react"));l();var Sp=y(require("react"));var Kye=o=>{var i=o,{render:t,frameworkComponent:e,componentName:r="N/A"}=i,n=Ye(i,["render","frameworkComponent","componentName"]);let a=Sp.useRef(),s=ht(),[u,d]=Sp.useState("");return Sp.useLayoutEffect(()=>{let c=a.current,m=s.api;if(t){let f=t({visible:!0,node:c,adaptableApi:m});d(f)}else e&&m.internalApi.createFrameworkComponent(c,e,"toolbar");return()=>{t?t({visible:!1,node:c,adaptableApi:m}):e&&m.internalApi.destroyFrameworkComponent(c,e,r)}},[]),Sp.createElement("div",E(b({},n),{dangerouslySetInnerHTML:{__html:u},ref:a}))};var Xye=t=>$ye.createElement(Kye,{render:t.settingsPanel.render,componentName:t.settingsPanel.name,frameworkComponent:t.settingsPanel.frameworkComponent});var K8=t=>{var w,N,M,A,I;let e=ht(),r=Ht(),n=e.adaptableOptions.settingsPanelOptions,o=e.api.internalApi.getModuleFriendlyName("SettingsPanel"),i=es(O=>{var z;return(z=O==null?void 0:O.Grid)==null?void 0:z.ModuleDropdownMenuItems}),a=fl.useMemo(()=>{var F;let O=(F=n==null?void 0:n.navigation)==null?void 0:F.items;O||(O=[...Yye],n.customSettingsPanels&&O.push(...n.customSettingsPanels.map(B=>B.name)));let z=i.filter(B=>B.module!=="General"&&!j8.includes(B.module)&&B.isVisible);return O.map(B=>{var te,oe;if(B==="-")return B;let Y=(oe=(te=n==null?void 0:n.customSettingsPanels)==null?void 0:te.find)==null?void 0:oe.call(te,X=>X.name===B),ie=null;return Y&&(ie={label:Y.name,isVisible:!0,reduxAction:dr(null,Y.name,null,{isCustomSettingsPanel:!0})}),ie||z.find(X=>X.module===B)}).filter(Boolean)},[i]),s=(w=t.moduleProps)==null?void 0:w.isCustomSettingsPanel,u=s&&n.customSettingsPanels.find(O=>O.name===t.componentName),d=t.componentModule,c=(N=a.find(O=>O!=="-"))==null?void 0:N.module;!u&&!t.componentModule&&c!=="General"&&(d=c);let m=t.api.internalApi.getEntitlementService().getEntitlementAccessLevelForModule(d),f=t.api.internalApi.getModuleService().getModuleById(d),h=f==null?void 0:f.moduleInfo,g=j8.includes(h==null?void 0:h.ModuleName)||t.componentName&&t.componentName!==h.Popup,C="ab-Adaptable-Popup",S=He(C,`${C}--${(M=n.popupType)!=null?M:"window"}`,g?`${C}--action-popup`:`${C}--settings-popup`),v=n.popupType==="window",x={maxWidth:1400,maxHeight:1200};v?x={height:"100%"}:g&&(x={maxWidth:800,maxHeight:450});let R=g?`action-${h.FriendlyName}`:"settings",D=es(O=>{var z,F;return(F=(z=O==null?void 0:O.System)==null?void 0:z.SettingsPanel)==null?void 0:F[R]});if(!D){let O=g?Qye():(A=n.size)!=null?A:jye();D={size:O,position:(I=n.position)!=null?I:qye(O)}}let T=O=>{r(TW(R,O))};return fl.createElement(Nme.Provider,{value:{hidePopup:()=>{t.onHide&&t.onHide()}}},fl.createElement(Gn,b({windowModal:v,fixed:!1,windowModalProps:{handleSelector:g?`.${C} .ab-Panel__header`:".ab-Adaptable-Popup__TopBar",size:D.size,position:D.position,onChange:T},style:x,padding:0,height:v?null:"90vh",width:v?null:"90vw",className:S,onDismiss:t.onHide,isOpen:!0,showCloseButton:!0},t.moduleProps),!g&&fl.createElement(Fme,{icon:n.icon},o),fl.createElement(Y8.Flex,{"data-name":t.componentName,flexDirection:"row",flex:"1 1 0",style:{minHeight:0},className:m=="ReadOnly"?Sn:""},!g&&fl.createElement(_me,{menuItems:a,api:t.api,moduleInfo:h,activeCustomSettingPanel:u,customSettingsPanels:n.customSettingsPanels}),fl.createElement(Y8.Flex,{flex:1,className:"ab-Adaptable-Popup__Body"},s?fl.createElement(Xye,{settingsPanel:u}):fl.createElement(zye,{api:t.api,module:f,componentName:t.componentName,moduleParams:t.moduleParams,onClearParams:t.onClearParams,onHide:t.onHide})))))};l();var jo=y(require("react"));var Am=y(re());var $8=class extends jo.Component{constructor(e){super(e);this.changeContent=e=>{this.setState({promptText:e.target.value})};this.state={promptText:""}}render(){return this.props.showPopup&&jo.createElement(Gn,{modal:!0,"data-name":"prompt-popup",isOpen:this.props.showPopup,onDismiss:this.props.onClose,showCloseButton:!1,style:{minHeight:"auto",maxWidth:"50%"}},jo.createElement(Am.Flex,{flexDirection:"column"},jo.createElement(Am.Box,{marginTop:3,mx:2},this.props.header),De.IsNotNullOrEmpty(this.props.message)&&jo.createElement(Am.Box,{marginTop:3,mx:2}," ",jo.createElement("div",{style:{display:"flex",alignItems:"center"}},this.props.message.split(`
280
280
  `).map(function(e,r){return jo.createElement("span",{key:r},e,jo.createElement("br",null))}))),jo.createElement($e,{autoFocus:!0,marginTop:3,mx:3,value:this.state.promptText,type:"string",placeholder:"Enter text",onChange:e=>this.changeContent(e)}),jo.createElement(Am.Box,{marginTop:3},jo.createElement(Am.Flex,{padding:2},jo.createElement(Z,{tone:"accent","data-name":"ok",variant:"raised",disabled:De.IsNullOrEmpty(this.state.promptText),onClick:()=>this.onConfirmmForm()},"OK"),jo.createElement("div",{style:{flex:1}}),jo.createElement(Z,{tone:"neutral",variant:"raised",onClick:()=>this.onCloseForm(),"data-name":"cancel"},"Cancel")))))}onCloseForm(){this.setState({promptText:""}),this.props.onClose()}onConfirmmForm(){let e=this.state.promptText;this.setState({promptText:""}),this.props.onConfirm(e)}};l();var Wn=y(require("react"));var GO=y(re());l();l();var ti=y(require("react"));l();var xm=y(require("react"));var Jye=y(re());function BO(t){return xm.createElement("div",{className:He("ab-Dashboard__toolbar",t.className)},xm.createElement("div",{className:"ab-Dashboard__toolbar-content"},t.children),xm.createElement(Jye.Flex,{className:"ab-Dashboard__toolbar-title",flexDirection:"row",alignItems:"center"},xm.createElement("span",null,t.title),t.showConfigure&&xm.createElement(Z,{icon:"build",variant:"text",tone:"none","data-name":"configure",iconSize:16,marginLeft:1,tooltip:t.tooltip||`Configure ${t.title}`,onClick:()=>t.onConfigure()})," ",t.showClose&&xm.createElement(Z,{style:{alignSelf:"flex-end"},disabled:t.accessLevel=="ReadOnly","data-name":"close",icon:"clear",variant:"text",tone:"none",iconSize:16,marginLeft:1,tooltip:t.tooltip||`Close ${t.title}`,onClick:()=>t.onClose()})))}function Zye(t){let{title:e,children:r,left:n,right:o,onShowDashboardPopup:i}=t,[a,s]=mr(t,"activeTabIndex",0),[u,d]=mr(t,"collapsed",!1),[c,m]=mr(t,"floating",!1),[f,h]=mr(t,"inline",!1),[g,C]=mr(t,"position",{x:0,y:0}),S=!c&&!u,{handleRef:v,targetRef:x}=JC({onDrop(M,A){C(({x:I,y:O})=>({x:I+M,y:O+A}))}}),R={position:"absolute",left:g.x,top:g.y},D=()=>ti.createElement("div",{className:"ab-Dashboard__tabs"},r&&ti.Children.map(r,(M,A)=>ti.createElement("button",{type:"button",className:He("ab-Dashboard__tab",!u&&a===A?"ab-Dashboard__tab--active":""),key:A,onClick:()=>{a===A?d(!u):(s(A),d(!1))}},M.props.title))),T=()=>{var A,I,O;if(r&&r.length===0)return null;let M=(O=(I=(A=r==null?void 0:r[a])==null?void 0:A.props)==null?void 0:I.title)!=null?O:"Select Toolbar";return ti.createElement(rt,{ml:1,columns:["label"],items:ti.Children.map(r,(z,F)=>({value:String(F),label:z.props.title,onClick:()=>s(F)}))},M)},w=()=>ti.createElement("div",{className:"ab-Dashboard__header",onDoubleClick:M=>{let A=M.target;!t.canFloat||A.closest("button, input")||m(!c)}},ti.createElement("div",{className:"ab-Dashboard__header-left"},n,!c&&D()),c?ti.createElement("div",{className:"ab-Dashboard__title",ref:v,key:"title-drag",style:{cursor:"move"}},e):ti.createElement("div",{className:"ab-Dashboard__title",key:"title"},e),ti.createElement("div",{className:"ab-Dashboard__header-right"},o)),N=()=>ti.createElement(BO,{onConfigure:i,className:"ab-Dashboard__home-toolbar",title:e,tooltip:"Configure Dashboard",showConfigure:!0,showClose:!1,accessLevel:"Full"},n,o,T());return ti.createElement("div",{ref:x,className:He("ab-Dashboard",u?"ab-Dashboard--collapsed":"",c?"ab-Dashboard--floating":"",f?"ab-Dashboard--inline":""),style:c?R:void 0},S&&f?N():w(),S&&r&&r.length?ti.createElement("div",{className:"ab-Dashboard__content"},r[a]?r[a].props.children:null):null)}l();function eve(t){return null}l();var tve=y(require("react"));l();var VO=y(require("react"));var rb=class extends VO.Component{render(){let{headerText:e,showConfigureButton:r,showCloseButton:n,onConfigure:o,onClose:i,accessLevel:a,children:s}=this.props;return VO.createElement(BO,{title:e,onConfigure:o,showConfigure:r,showClose:n,onClose:i,accessLevel:a},s)}};rb.defaultProps={showConfigureButton:!0,showCloseButton:!0,headerText:"Module",onClose:null,onConfigure:null,accessLevel:"Full"};var rve=t=>{let e=t.moduleInfo.ModuleName,r=t.moduleInfo.FriendlyName,{api:n}=ht(),o=e!=="OpenFin"&&e!=="IPushPull"&&e!=="Glue42";return tve.createElement(rb,{className:`ab-DashboardToolbar__${e}`,"data-name":`ab-DashboardToolbar__${e}`,headerText:r,showConfigureButton:o,onConfigure:()=>{let i=n.internalApi.getModuleService().getPopupMaxWidth(e),a=i?{maxWidth:i,source:"Toolbar"}:{source:"Toolbar"};n.internalApi.dispatchReduxAction(dr(e,t.moduleInfo.Popup,a))},onClose:()=>n.internalApi.dispatchReduxAction(bJ(e)),accessLevel:t.accessLevel},t.children)};l();var nb=y(require("react")),ob=require("react");var nve=t=>{let e="ab-CustomToolbar__"+t.customToolbar.name+"__contents",r="ab-CustomToolbar__"+t.customToolbar.name+"__buttons",[n,o]=(0,ob.useState)(""),i=(0,ob.useRef)(null),{api:a}=ht();return(0,ob.useLayoutEffect)(()=>{let s=i.current,u=a;if(t.customToolbar.render){let d=t.customToolbar.render({visible:!0,node:s,adaptableApi:u});o(d)}else t.customToolbar.frameworkComponent&&u.internalApi.createFrameworkComponent(s,t.customToolbar.frameworkComponent,"toolbar");return()=>{t.customToolbar.render?t.customToolbar.render({visible:!1,node:s,adaptableApi:u}):t.customToolbar.frameworkComponent&&u.internalApi.destroyFrameworkComponent(s,t.customToolbar.frameworkComponent,"toolbar")}},[]),nb.createElement(rb,{className:`ab-CustomToolbar ab-DashboardToolbar__${t.customToolbar.name}`,"data-name":`ab-CustomToolbar ab-DashboardToolbar__${t.customToolbar.name}`,headerText:t.customToolbar.title?t.customToolbar.title:"",showConfigureButton:t.customToolbar.showConfigureButton!=null&&t.customToolbar.showConfigureButton==!0,showCloseButton:t.customToolbar.showCloseButton!=null&&t.customToolbar.showCloseButton==!0,onConfigure:()=>{let s={adaptableApi:a,customToolbar:t.customToolbar};a.eventApi.emit("CustomToolbarConfigured",s)},accessLevel:a.internalApi.getEntitlementService().getEntitlementAccessLevelForModule("Dashboard")},nb.createElement("div",{id:e,ref:i,className:"CustomToolBarContents ab-CustomToolbar__contents ab-CustomToolbar__contents--render",style:{minHeight:22},dangerouslySetInnerHTML:{__html:n}}),nb.createElement("div",{id:r,className:"ab-CustomToolbar__buttons",style:{minHeight:22}},t.customToolbar.toolbarButtons&&t.customToolbar.toolbarButtons.map((s,u)=>{let d={customToolbar:t.customToolbar,adaptableApi:a,dashboardState:a.dashboardApi.getDashboardState()},c=a.internalApi.getStyleForButton(s,d),m=a.internalApi.getLabelForButton(s,d),f=a.internalApi.getTooltipForButton(s,d);if(s.hidden&&s.hidden(s,d))return null;let h=s.disabled&&s.disabled(s,d),g=c&&c.variant?c.variant:"outlined",C=c&&c.tone?c.tone:"neutral";return nb.createElement(Z,{style:{marginLeft:u?"var(--ab-space-1)":0},key:u,disabled:h,tooltip:f,variant:g,tone:C,onClick:()=>s.onClick?s.onClick(s,d):null},s.icon?nb.createElement("img",b({},s.icon)):null,m)})))};var Kpt=t=>{let[e,r]=Cg(t),n=t.api.internalApi.getEntitlementService().getEntitlementAccessLevelForModule("Dashboard"),o=m=>{let f=m.Toolbars.filter(C=>C),h=t.api.dashboardApi.getCustomToolbars();return f.map(C=>{let S=h&&h.find(v=>v.name==C);if(S){if(n!="Hidden")return Wn.createElement(GO.Box,{key:S.name,className:"ab-Dashboard__container ab-Dashboard__container--customToolbar"},Wn.createElement(nve,{customToolbar:S}))}else{let v=C;if(t.api.internalApi.getModuleService().isModuleAvailable(v)){let x=t.api.internalApi.getEntitlementService().getEntitlementAccessLevelForModule(v),R=kO.get(v);if(R){let D=t.api.internalApi.getModuleService().getModuleInfoByModule(v),T=Wn.createElement(R,{viewType:"Toolbar",api:t.api,accessLevel:x,moduleInfo:D});return Wn.createElement(GO.Box,{key:v,className:`ab-Dashboard__container ab-Dashboard__container--${v}`},Wn.createElement(rve,{moduleInfo:D,accessLevel:n},T))}else qt("Cannot find Dashboard Control for "+C)}}})},i=()=>{let m=t.DashboardState.ModuleButtons,f=null;return t.api.internalApi.getAdaptableOptions().settingsPanelOptions.alwaysShowInDashboard&&!t.api.internalApi.getEntitlementService().isModuleHiddenEntitlement("SettingsPanel")&&!m.includes("SettingsPanel")&&m.push("SettingsPanel"),m&&(f=m.map((C,S)=>{var x,R,D;let v=t.GridState.ModuleButtonMenuItems.find(T=>T.isVisible&&T.module==C);if(v)return Wn.createElement(Z,{"data-name":`dashboard-module-button-${(x=v.module)!=null?x:"custom-"+S}`,key:v.label,variant:v.module==="SystemStatus"?"outlined":"text",tone:v.module==="SystemStatus"?"neutral":"none",className:`ab-DashboardToolbar__Home__${Da(v.label)}`,icon:v.icon,tooltip:v.label,disabled:t.accessLevel=="ReadOnly",onClick:()=>t.dispatch(v.reduxAction),accessLevel:"Full",style:v.module==="SystemStatus"?E(b({},ur.getStyleForMessageType((D=(R=t.api.systemStatusApi.getCurrentSystemStatusMessageInfo())==null?void 0:R.statusType)!=null?D:"Success")),{border:0}):{}})})),f},a=()=>{var h;let m=(h=t.api.dashboardApi.getCustomDashboardButtons())==null?void 0:h.filter(g=>g),f=null;return m&&(f=m.map(g=>{let C={style:{height:"var(--ab-cmp-simple-button__height)",width:"var(--ab-cmp-simple-button__width)"}},S=g.icon&&Object.assign({},C,g.icon),v={adaptableApi:t.api,dashboardState:t.api.dashboardApi.getDashboardState()},x=t.api.internalApi.getStyleForButton(g,v),R=t.api.internalApi.getLabelForButton(g,v),D=t.api.internalApi.getTooltipForButton(g,v);if(g.hidden&&g.hidden(g,v))return null;let T=g.disabled&&g.disabled(g,v);return Wn.createElement(Z,{key:R,variant:x&&x.variant?x.variant:"text",tone:x&&x.tone?x.tone:"none",className:`ab-DashboardToolbar__Home__${Da(R)} ${(x==null?void 0:x.className)||""}`,tooltip:D,disabled:T||t.accessLevel=="ReadOnly",onClick:()=>g.onClick(g,v),accessLevel:"Full"},g.icon?Wn.createElement("img",b({},S)):null,R)})),f},s=()=>Wn.createElement(GO.Box,{ml:2},Wn.createElement(va,{type:"text",placeholder:t.api.internalApi.getAdaptableOptions().searchOptions.quickSearchPlaceholder,className:"ab-DashboardToolbar__QuickSearch__text",value:e,OnTextChange:r,style:{width:"auto"},inputStyle:{width:"7rem"}})),u=t.api.internalApi.setToolbarTitle(),d=t.api.internalApi.getAdaptableOptions().dashboardOptions,c=d.showQuickSearchInHeader&&t.api.internalApi.getModuleService().getModuleById(pa).isModuleAvailable();return t.DashboardState.IsHidden?Wn.createElement("div",null):Wn.createElement(Zye,{title:u,canFloat:t.api.internalApi.getAdaptableOptions().dashboardOptions.canFloat,activeTabIndex:t.DashboardState.ActiveTabIndex,onActiveTabIndexChange:m=>{t.onSetActiveTabIndex(m)},collapsed:t.DashboardState.IsCollapsed,onCollapsedChange:m=>{t.onSetIsCollapsed(m)},floating:t.DashboardState.IsFloating,onFloatingChange:m=>{t.onSetIsFloating(m)},inline:t.DashboardState.IsInline,onInlineChange:m=>{t.onSetIsInline(m)},position:t.DashboardState.FloatingPosition,onPositionChange:m=>{if(typeof m=="function"){let f=m(t.DashboardState.FloatingPosition);t.onSetFloatingPosition(f)}else t.onSetFloatingPosition(m)},left:Wn.createElement(Wn.Fragment,null,Wn.createElement(_c,{icon:t.api.internalApi.getAdaptableOptions().userInterfaceOptions.applicationIcon}),d.buttonsLocation==="left"&&i()),right:Wn.createElement(Wn.Fragment,null,a(),d.buttonsLocation==="right"&&i(),c&&s()),onShowDashboardPopup:t.onShowDashboardPopup},t.DashboardState.Tabs&&t.DashboardState.Tabs.map((m,f)=>Wn.createElement(eve,{key:f,title:m.Name},o(m))))};function $pt(t,e){return{DashboardState:t.Dashboard,GridState:t.Grid,SystemStatusMessageInfos:t.System.SystemStatusMessages,QuickSearchText:t.QuickSearch.QuickSearchText}}function Xpt(t){return{dispatch:e=>t(e),onSetActiveTabIndex:e=>t(OE(e)),onSetIsCollapsed:e=>t(ma(e)),onSetIsFloating:e=>t(fa(e)),onSetFloatingPosition:e=>t(hJ(e)),onRunQuickSearch:e=>t(Us(e)),onShowQuickSearchPopup:()=>t(dr(pa,"QuickSearchPopup")),onShowDashboardPopup:()=>t(dr(_l,"DashboardPopup"))}}var ove=We($pt,Xpt)(Kpt);l();var Yo=y(require("react"));var ib=y(re());var X8=class extends Yo.Component{constructor(e){super(e);this.changeContent=e=>{this.setState({PromptText:e.target.value})};this.state={PromptText:""}}render(){let e=this.props.header,r=Bt.getGlyphByMessageType(this.props.messageType);return this.props.showPopup&&Yo.createElement(Gn,{modal:!0,"data-name":`confirmation-popup confirmation-popup--${this.props.messageType.toLowerCase()}`,isOpen:this.props.showPopup,onDismiss:this.props.onCancel,showCloseButton:!1,style:{minHeight:"auto",maxWidth:"50%"}},Yo.createElement(Cd,{header:e,icon:r,variant:"primary"},Yo.createElement("div",null,Yo.createElement("div",{style:{display:"flex",alignItems:"center"}},this.props.messsage.split(`
281
281
  `).map(function(n,o){return Yo.createElement(ib.Text,{key:o,margin:2},n,Yo.createElement("br",null))})),this.props.showInputBox&&Yo.createElement(ib.Box,{padding:2,"data-name":"body"},Yo.createElement("p",null,"Please enter a comment to confirm"),Yo.createElement($e,{marginTop:2,width:"100%",value:this.state.PromptText,type:"string",placeholder:"Enter text",onChange:n=>this.changeContent(n)})),Yo.createElement(ib.Flex,{marginTop:3,padding:2,"data-name":"footer"},Yo.createElement(Z,{tone:"error","data-name":"delete",variant:"raised",disabled:!this.canConfirm(),onClick:()=>this.onConfirmmForm()},this.props.confirmButtonText),Yo.createElement("div",{style:{flex:1}}),Yo.createElement(Z,{"data-name":"cancel",tone:"neutral",variant:"raised",onClick:()=>this.onCancelForm()},this.props.cancelButtonText)))))}onCancelForm(){this.setState({PromptText:""}),this.props.onCancel()}onConfirmmForm(){let e=this.state.PromptText;this.setState({PromptText:""}),this.props.onConfirm(e)}canConfirm(){return this.props.showInputBox?De.IsNotNullOrEmpty(this.state.PromptText):!0}};l();var Em=y(require("react"));var ive=y(re()),J8=class extends Em.Component{render(){return Em.createElement(Gn,{modal:!0,isOpen:this.props.showLoadingScreen,onDismiss:this.props.onClose,showCloseButton:!1,style:{minHeight:"auto"}},Em.createElement(ive.Box,{padding:3},Em.createElement("h4",null,"Initialising Grid"),Em.createElement("p",null,"Retrieving your settings and setting up the grid...")))}};l();var UO=y(require("react"));var ave=y(LC());var La=(t,e)=>UO.createElement(vS,{store:e.adaptableStore.TheStore},UO.createElement(ave.ThemeProvider,{theme:qh},UO.createElement(gne.Provider,{value:e},t)));l();l();var Ap=y(require("react"));l();var yp=y(require("react")),lve=t=>yp.createElement("svg",{id:"svg",version:"1.1",viewBox:"0, 0, 400,110.53351573187415",style:t.style},yp.createElement("g",{id:"svgg"},yp.createElement("path",{id:"path0",d:"M215.083 56.072 L 215.083 104.810 218.616 104.827 C 220.559 104.836,222.340 104.796,222.574 104.737 L 223.000 104.631 223.000 65.315 L 223.000 26.000 308.292 25.997 C 355.202 25.996,393.672 25.938,393.781 25.869 C 393.890 25.800,394.059 25.534,394.156 25.277 C 394.397 24.644,394.401 8.105,394.161 7.656 C 393.991 7.338,392.804 7.333,304.536 7.333 L 215.083 7.333 215.083 56.072 ",stroke:"none",fill:"#0c6c9c",fillRule:"evenodd"}),yp.createElement("path",{id:"path1",d:"M73.669 16.564 L 73.661 25.793 74.039 25.894 C 74.247 25.950,104.398 25.996,141.042 25.998 C 182.560 25.999,207.667 26.059,207.667 26.157 C 207.667 26.243,207.592 26.360,207.500 26.417 C 207.221 26.589,207.285 104.172,207.564 104.540 C 207.762 104.801,208.153 104.828,211.517 104.812 L 215.250 104.794 215.167 56.105 L 215.083 7.417 144.380 7.376 L 73.677 7.334 73.669 16.564 ",stroke:"none",fill:"#137cc2",fillRule:"evenodd"}),yp.createElement("path",{id:"path2",d:"M31.500 6.167 C 31.500 6.274,33.444 6.333,37.000 6.333 C 40.556 6.333,42.500 6.274,42.500 6.167 C 42.500 6.059,40.556 6.000,37.000 6.000 C 33.444 6.000,31.500 6.059,31.500 6.167 M73.003 66.968 C 73.001 90.850,73.056 102.819,73.167 102.750 C 73.393 102.610,73.393 31.683,73.167 31.333 C 73.062 31.172,73.004 43.739,73.003 66.968 M73.582 67.000 C 73.582 86.571,73.601 94.577,73.625 84.792 C 73.649 75.006,73.649 58.994,73.625 49.208 C 73.601 39.423,73.582 47.429,73.582 67.000 M179.746 55.000 C 179.746 61.371,179.766 63.977,179.792 60.792 C 179.817 57.606,179.817 52.394,179.792 49.208 C 179.766 46.023,179.746 48.629,179.746 55.000 M82.581 66.750 C 82.581 79.308,82.601 84.421,82.625 78.112 C 82.649 71.803,82.649 61.528,82.625 55.279 C 82.601 49.030,82.581 54.192,82.581 66.750 M375.125 59.958 C 377.623 59.984,381.710 59.984,384.208 59.958 C 386.706 59.932,384.662 59.911,379.667 59.911 C 374.671 59.911,372.627 59.932,375.125 59.958 M289.292 60.458 C 290.598 60.486,292.735 60.486,294.042 60.458 C 295.348 60.430,294.279 60.407,291.667 60.407 C 289.054 60.407,287.985 60.430,289.292 60.458 M144.709 62.083 C 144.711 62.450,144.745 62.580,144.785 62.373 C 144.824 62.166,144.823 61.866,144.781 61.706 C 144.739 61.547,144.707 61.717,144.709 62.083 M106.050 62.333 C 106.090 62.828,106.409 62.897,106.433 62.417 L 106.449 62.083 106.366 62.417 C 106.290 62.721,106.271 62.713,106.149 62.333 L 106.016 61.917 106.050 62.333 M25.500 66.333 C 25.500 66.443,29.364 66.500,36.760 66.500 C 44.224 66.500,47.985 66.444,47.917 66.333 C 47.850 66.225,43.915 66.167,36.657 66.167 C 29.330 66.167,25.500 66.224,25.500 66.333 M123.372 78.167 C 123.372 78.487,123.406 78.619,123.448 78.458 C 123.490 78.298,123.490 78.035,123.448 77.875 C 123.406 77.715,123.372 77.846,123.372 78.167 M187.627 78.118 C 187.834 78.158,188.134 78.156,188.294 78.115 C 188.453 78.073,188.283 78.040,187.917 78.042 C 187.550 78.044,187.420 78.078,187.627 78.118 M179.627 90.583 C 179.603 97.229,179.640 102.667,179.708 102.667 C 179.777 102.667,179.833 97.229,179.833 90.583 C 179.833 83.938,179.797 78.500,179.752 78.500 C 179.708 78.500,179.651 83.938,179.627 90.583 M243.137 85.958 C 245.825 85.984,250.175 85.984,252.804 85.958 C 255.432 85.932,253.233 85.911,247.917 85.911 C 242.600 85.911,240.449 85.933,243.137 85.958 M135.804 86.292 C 138.491 86.317,142.841 86.317,145.470 86.292 C 148.099 86.266,145.900 86.245,140.583 86.245 C 135.267 86.245,133.116 86.266,135.804 86.292 M119.539 93.833 C 119.539 94.154,119.573 94.285,119.615 94.125 C 119.657 93.965,119.657 93.702,119.615 93.542 C 119.573 93.381,119.539 93.513,119.539 93.833 M152.336 95.542 C 152.338 95.910,152.384 96.011,152.482 95.857 C 152.613 95.650,152.549 95.000,152.397 95.000 C 152.362 95.000,152.334 95.244,152.336 95.542 M57.705 101.667 C 57.705 101.987,57.740 102.119,57.782 101.958 C 57.823 101.798,57.823 101.535,57.782 101.375 C 57.740 101.215,57.705 101.346,57.705 101.667 ",stroke:"none",fill:"#242424",fillRule:"evenodd"}),yp.createElement("path",{id:"path3",d:"M30.708 5.784 C 30.386 5.846,30.333 5.961,30.333 6.600 C 30.333 7.107,30.254 7.374,30.083 7.440 C 29.901 7.510,29.833 7.797,29.833 8.500 C 29.833 9.203,29.766 9.490,29.583 9.560 C 29.396 9.632,29.333 9.931,29.333 10.745 C 29.333 11.733,29.302 11.833,28.990 11.833 C 28.678 11.833,28.656 11.902,28.756 12.567 C 28.854 13.216,28.826 13.313,28.516 13.411 C 28.209 13.509,28.167 13.652,28.167 14.595 C 28.167 15.436,28.113 15.667,27.917 15.667 C 27.732 15.667,27.667 15.859,27.667 16.399 C 27.667 16.896,27.586 17.162,27.417 17.227 C 27.230 17.299,27.167 17.598,27.167 18.411 C 27.167 19.389,27.133 19.500,26.833 19.500 C 26.549 19.500,26.500 19.611,26.500 20.255 C 26.500 20.773,26.421 21.041,26.250 21.106 C 26.064 21.178,26.000 21.474,26.000 22.268 C 26.000 23.104,25.946 23.333,25.750 23.333 C 25.569 23.333,25.500 23.519,25.500 24.000 C 25.500 24.455,25.389 24.778,25.150 25.017 C 24.846 25.321,24.814 25.487,24.912 26.267 C 25.016 27.102,24.999 27.167,24.679 27.167 C 24.365 27.167,24.333 27.265,24.333 28.250 C 24.333 29.102,24.280 29.333,24.083 29.333 C 23.894 29.333,23.833 29.537,23.833 30.167 C 23.833 30.796,23.772 31.000,23.583 31.000 C 23.387 31.000,23.333 31.231,23.333 32.083 C 23.333 33.056,23.299 33.167,23.000 33.167 C 22.711 33.167,22.667 33.278,22.667 34.000 C 22.667 34.630,22.606 34.833,22.417 34.833 C 22.220 34.833,22.167 35.065,22.167 35.917 C 22.167 36.769,22.113 37.000,21.917 37.000 C 21.728 37.000,21.667 37.204,21.667 37.833 C 21.667 38.434,21.602 38.667,21.435 38.667 C 21.122 38.667,20.971 39.346,21.102 40.164 C 21.199 40.769,21.175 40.833,20.855 40.833 C 20.529 40.833,20.500 40.923,20.500 41.917 C 20.500 42.769,20.447 43.000,20.250 43.000 C 20.061 43.000,20.000 43.204,20.000 43.833 C 20.000 44.463,19.939 44.667,19.750 44.667 C 19.553 44.667,19.500 44.898,19.500 45.750 C 19.500 46.722,19.466 46.833,19.167 46.833 C 18.878 46.833,18.833 46.944,18.833 47.667 C 18.833 48.296,18.772 48.500,18.583 48.500 C 18.387 48.500,18.333 48.731,18.333 49.583 C 18.333 50.435,18.280 50.667,18.083 50.667 C 17.894 50.667,17.833 50.870,17.833 51.500 C 17.833 52.118,17.771 52.333,17.591 52.333 C 17.290 52.333,17.093 53.283,17.247 53.987 C 17.345 54.432,17.314 54.500,17.013 54.500 C 16.698 54.500,16.667 54.597,16.667 55.583 C 16.667 56.435,16.613 56.667,16.417 56.667 C 16.228 56.667,16.167 56.870,16.167 57.500 C 16.167 58.130,16.106 58.333,15.917 58.333 C 15.720 58.333,15.667 58.565,15.667 59.417 C 15.667 60.389,15.632 60.500,15.333 60.500 C 15.044 60.500,15.000 60.611,15.000 61.333 C 15.000 61.982,14.942 62.167,14.736 62.167 C 14.516 62.167,14.482 62.355,14.528 63.307 C 14.577 64.326,14.552 64.440,14.292 64.371 C 14.042 64.305,14.000 64.417,14.000 65.147 C 14.000 65.782,13.938 66.000,13.758 66.000 C 13.475 66.000,13.260 66.924,13.369 67.668 C 13.428 68.067,13.381 68.167,13.138 68.167 C 12.884 68.167,12.833 68.304,12.833 69.000 C 12.833 69.630,12.772 69.833,12.583 69.833 C 12.387 69.833,12.333 70.065,12.333 70.917 C 12.333 71.769,12.280 72.000,12.083 72.000 C 11.887 72.000,11.833 72.231,11.833 73.083 C 11.833 74.075,11.804 74.167,11.481 74.167 C 11.202 74.167,11.147 74.242,11.221 74.525 C 11.358 75.046,11.162 75.833,10.896 75.833 C 10.725 75.833,10.667 76.109,10.667 76.917 C 10.667 77.769,10.613 78.000,10.417 78.000 C 10.228 78.000,10.167 78.204,10.167 78.833 C 10.167 79.429,10.101 79.667,9.938 79.667 C 9.691 79.667,9.500 80.366,9.500 81.271 C 9.500 81.660,9.423 81.833,9.250 81.833 C 9.061 81.833,9.000 82.037,9.000 82.667 C 9.000 83.296,8.939 83.500,8.750 83.500 C 8.553 83.500,8.500 83.731,8.500 84.583 C 8.500 85.435,8.447 85.667,8.250 85.667 C 8.053 85.667,8.000 85.898,8.000 86.750 C 8.000 87.741,7.970 87.833,7.649 87.833 C 7.357 87.833,7.315 87.904,7.402 88.250 C 7.541 88.805,7.354 89.500,7.065 89.500 C 6.891 89.500,6.833 89.769,6.833 90.583 C 6.833 91.435,6.780 91.667,6.583 91.667 C 6.394 91.667,6.333 91.870,6.333 92.500 C 6.333 93.094,6.268 93.333,6.105 93.333 C 5.877 93.333,5.672 94.135,5.669 95.042 C 5.667 95.337,5.578 95.500,5.417 95.500 C 5.228 95.500,5.167 95.704,5.167 96.333 C 5.167 96.963,5.106 97.167,4.917 97.167 C 4.720 97.167,4.667 97.398,4.667 98.250 C 4.667 99.102,4.613 99.333,4.417 99.333 C 4.220 99.333,4.167 99.565,4.167 100.417 C 4.167 101.380,4.131 101.500,3.841 101.500 C 3.558 101.500,3.522 101.602,3.562 102.292 L 3.608 103.083 9.596 103.083 L 15.583 103.083 15.636 102.542 C 15.668 102.206,15.779 102.000,15.927 102.000 C 16.111 102.000,16.167 101.747,16.167 100.917 C 16.167 100.065,16.220 99.833,16.417 99.833 C 16.606 99.833,16.667 99.630,16.667 99.000 C 16.667 98.370,16.728 98.167,16.917 98.167 C 17.113 98.167,17.167 97.937,17.167 97.103 C 17.167 96.179,17.211 96.027,17.500 95.952 C 17.787 95.877,17.833 95.724,17.833 94.849 C 17.833 94.057,17.888 93.833,18.083 93.833 C 18.272 93.833,18.333 93.630,18.333 93.000 C 18.333 92.370,18.394 92.167,18.583 92.167 C 18.779 92.167,18.833 91.937,18.833 91.103 C 18.833 90.179,18.877 90.027,19.167 89.952 C 19.454 89.877,19.500 89.724,19.500 88.849 C 19.500 88.057,19.555 87.833,19.750 87.833 C 19.939 87.833,20.000 87.630,20.000 87.000 C 20.000 86.370,20.061 86.167,20.250 86.167 C 20.447 86.167,20.500 85.935,20.500 85.083 C 20.500 84.231,20.553 84.000,20.750 84.000 C 20.939 84.000,21.000 83.796,21.000 83.167 C 21.000 82.565,21.065 82.333,21.232 82.333 C 21.523 82.333,21.667 81.971,21.667 81.236 L 21.667 80.667 36.833 80.667 C 45.175 80.667,52.056 80.666,52.125 80.665 C 52.194 80.664,52.272 81.152,52.299 81.748 C 52.336 82.564,52.409 82.833,52.591 82.833 C 52.778 82.833,52.833 83.080,52.833 83.917 C 52.833 84.769,52.887 85.000,53.083 85.000 C 53.280 85.000,53.333 85.231,53.333 86.083 C 53.333 86.924,53.388 87.167,53.577 87.167 C 53.712 87.167,53.902 87.317,54.000 87.500 C 54.121 87.726,54.123 87.833,54.006 87.833 C 53.671 87.833,53.816 88.693,54.167 88.785 C 54.456 88.861,54.500 89.012,54.500 89.936 C 54.500 90.771,54.554 91.000,54.750 91.000 C 54.947 91.000,55.000 91.231,55.000 92.083 C 55.000 92.935,55.053 93.167,55.250 93.167 C 55.439 93.167,55.500 93.370,55.500 94.000 C 55.500 94.722,55.544 94.833,55.833 94.833 C 56.133 94.833,56.167 94.944,56.167 95.922 C 56.167 96.736,56.230 97.035,56.417 97.106 C 56.600 97.177,56.667 97.466,56.667 98.190 C 56.667 98.914,56.733 99.203,56.917 99.273 C 57.086 99.338,57.167 99.603,57.167 100.095 C 57.167 100.657,57.244 100.863,57.508 101.005 C 57.802 101.162,57.843 101.321,57.800 102.135 L 57.750 103.083 64.000 103.083 L 70.250 103.083 70.301 102.373 C 70.339 101.851,70.284 101.637,70.093 101.564 C 69.911 101.494,69.833 101.240,69.833 100.717 C 69.833 100.109,69.771 99.952,69.500 99.882 C 69.211 99.806,69.167 99.654,69.167 98.731 C 69.167 97.896,69.113 97.667,68.917 97.667 C 68.728 97.667,68.667 97.463,68.667 96.833 C 68.667 96.204,68.606 96.000,68.417 96.000 C 68.222 96.000,68.167 95.776,68.167 94.984 C 68.167 94.109,68.121 93.957,67.833 93.882 C 67.557 93.809,67.500 93.654,67.500 92.981 C 67.500 92.368,67.438 92.167,67.250 92.167 C 67.053 92.167,67.000 91.935,67.000 91.083 C 67.000 90.231,66.947 90.000,66.750 90.000 C 66.555 90.000,66.500 89.777,66.500 88.995 C 66.500 88.255,66.434 87.964,66.250 87.894 C 66.079 87.828,66.000 87.561,66.000 87.050 C 66.000 86.442,65.938 86.286,65.667 86.215 C 65.377 86.139,65.333 85.988,65.333 85.064 C 65.333 84.229,65.279 84.000,65.083 84.000 C 64.894 84.000,64.833 83.796,64.833 83.167 C 64.833 82.537,64.772 82.333,64.583 82.333 C 64.387 82.333,64.333 82.102,64.333 81.250 C 64.333 80.278,64.299 80.167,64.000 80.167 C 63.701 80.167,63.667 80.056,63.667 79.083 C 63.667 78.231,63.613 78.000,63.417 78.000 C 63.227 78.000,63.167 77.794,63.167 77.147 C 63.167 76.417,63.125 76.305,62.875 76.371 C 62.616 76.439,62.590 76.330,62.639 75.391 C 62.684 74.545,62.642 74.314,62.431 74.232 C 62.240 74.159,62.167 73.906,62.167 73.316 C 62.167 72.611,62.121 72.500,61.833 72.500 C 61.534 72.500,61.500 72.389,61.500 71.417 C 61.500 70.565,61.447 70.333,61.250 70.333 C 61.061 70.333,61.000 70.130,61.000 69.500 C 61.000 68.870,60.939 68.667,60.750 68.667 C 60.553 68.667,60.500 68.435,60.500 67.583 C 60.500 66.731,60.447 66.500,60.250 66.500 C 60.027 66.500,59.901 66.053,59.992 65.589 C 60.074 65.172,59.796 64.333,59.576 64.333 C 59.396 64.333,59.333 64.118,59.333 63.500 C 59.333 62.870,59.272 62.667,59.083 62.667 C 58.887 62.667,58.833 62.435,58.833 61.583 C 58.833 60.731,58.780 60.500,58.583 60.500 C 58.394 60.500,58.333 60.296,58.333 59.667 C 58.333 58.944,58.289 58.833,58.000 58.833 C 57.701 58.833,57.667 58.722,57.667 57.750 C 57.667 56.898,57.613 56.667,57.417 56.667 C 57.228 56.667,57.167 56.463,57.167 55.833 C 57.167 55.204,57.106 55.000,56.917 55.000 C 56.720 55.000,56.667 54.769,56.667 53.917 C 56.667 53.065,56.613 52.833,56.417 52.833 C 56.194 52.833,56.067 52.387,56.159 51.923 C 56.241 51.506,55.963 50.667,55.742 50.667 C 55.563 50.667,55.500 50.451,55.500 49.833 C 55.500 49.204,55.439 49.000,55.250 49.000 C 55.053 49.000,55.000 48.769,55.000 47.917 C 55.000 47.065,54.947 46.833,54.750 46.833 C 54.561 46.833,54.500 46.630,54.500 46.000 C 54.500 45.278,54.456 45.167,54.167 45.167 C 53.816 45.167,53.769 44.949,53.830 43.625 C 53.852 43.155,53.794 43.000,53.596 43.000 C 53.392 43.000,53.333 42.814,53.333 42.167 C 53.333 41.537,53.272 41.333,53.083 41.333 C 52.887 41.333,52.833 41.102,52.833 40.250 C 52.833 39.398,52.780 39.167,52.583 39.167 C 52.401 39.167,52.333 38.976,52.331 38.458 C 52.328 37.509,52.177 37.000,51.897 37.000 C 51.732 37.000,51.667 36.765,51.667 36.167 C 51.667 35.537,51.606 35.333,51.417 35.333 C 51.220 35.333,51.167 35.102,51.167 34.250 C 51.167 33.398,51.113 33.167,50.917 33.167 C 50.728 33.167,50.667 32.963,50.667 32.333 C 50.667 31.611,50.622 31.500,50.333 31.500 C 50.035 31.500,50.000 31.389,50.000 30.429 C 50.000 29.557,49.948 29.348,49.719 29.304 C 49.486 29.259,49.446 29.073,49.481 28.208 C 49.516 27.355,49.476 27.167,49.262 27.167 C 49.059 27.167,49.000 26.980,49.000 26.333 C 49.000 25.704,48.939 25.500,48.750 25.500 C 48.567 25.500,48.499 25.309,48.498 24.792 C 48.495 23.842,48.343 23.333,48.064 23.333 C 47.898 23.333,47.833 23.098,47.833 22.500 C 47.833 21.870,47.772 21.667,47.583 21.667 C 47.387 21.667,47.333 21.435,47.333 20.583 C 47.333 19.731,47.280 19.500,47.083 19.500 C 46.894 19.500,46.833 19.296,46.833 18.667 C 46.833 17.944,46.789 17.833,46.500 17.833 C 46.201 17.833,46.167 17.722,46.167 16.750 C 46.167 15.898,46.113 15.667,45.917 15.667 C 45.720 15.667,45.667 15.435,45.667 14.583 C 45.667 13.731,45.613 13.500,45.417 13.500 C 45.228 13.500,45.167 13.296,45.167 12.667 C 45.167 12.037,45.106 11.833,44.917 11.833 C 44.734 11.833,44.666 11.643,44.664 11.125 C 44.661 10.176,44.510 9.667,44.231 9.667 C 44.065 9.667,44.000 9.432,44.000 8.833 C 44.000 8.204,43.939 8.000,43.750 8.000 C 43.554 8.000,43.500 7.771,43.500 6.938 C 43.500 5.881,43.497 5.874,42.979 5.771 C 42.406 5.656,31.310 5.668,30.708 5.784 M42.500 6.167 C 42.500 6.274,40.556 6.333,37.000 6.333 C 33.444 6.333,31.500 6.274,31.500 6.167 C 31.500 6.059,33.444 6.000,37.000 6.000 C 40.556 6.000,42.500 6.059,42.500 6.167 M260.042 7.292 C 284.494 7.315,324.506 7.315,348.958 7.292 C 373.410 7.268,353.404 7.249,304.500 7.249 C 255.596 7.249,235.590 7.268,260.042 7.292 M37.260 27.000 C 37.437 27.000,37.500 27.218,37.500 27.833 C 37.500 28.463,37.561 28.667,37.750 28.667 C 37.947 28.667,38.000 28.898,38.000 29.750 C 38.000 30.602,38.053 30.833,38.250 30.833 C 38.436 30.833,38.500 31.030,38.500 31.599 C 38.500 32.224,38.561 32.380,38.833 32.452 C 39.123 32.527,39.167 32.679,39.167 33.603 C 39.167 34.437,39.221 34.667,39.417 34.667 C 39.612 34.667,39.667 34.891,39.667 35.690 C 39.667 36.467,39.736 36.764,39.955 36.924 C 40.146 37.064,40.242 37.363,40.242 37.817 C 40.242 38.360,40.303 38.500,40.538 38.500 C 40.791 38.500,40.833 38.658,40.833 39.589 C 40.833 40.402,40.896 40.701,41.083 40.773 C 41.267 40.843,41.333 41.132,41.333 41.856 C 41.333 42.580,41.400 42.869,41.583 42.940 C 41.753 43.005,41.833 43.271,41.833 43.768 C 41.833 44.308,41.899 44.500,42.083 44.500 C 42.270 44.500,42.334 44.700,42.336 45.292 C 42.339 46.321,42.483 46.833,42.769 46.833 C 42.942 46.833,43.000 47.105,43.000 47.917 C 43.000 48.769,43.053 49.000,43.250 49.000 C 43.436 49.000,43.500 49.196,43.500 49.766 C 43.500 50.390,43.561 50.547,43.832 50.618 C 44.086 50.685,44.140 50.797,44.064 51.102 C 44.004 51.338,44.037 51.500,44.144 51.500 C 44.271 51.500,44.275 51.632,44.156 51.945 C 43.955 52.474,44.058 52.833,44.411 52.833 C 44.612 52.833,44.667 53.047,44.667 53.839 C 44.667 54.578,44.733 54.869,44.917 54.940 C 45.092 55.007,45.167 55.280,45.167 55.851 C 45.167 56.465,45.229 56.667,45.417 56.667 C 45.613 56.667,45.667 56.898,45.667 57.750 C 45.667 58.736,45.698 58.833,46.013 58.833 C 46.309 58.833,46.344 58.904,46.253 59.319 C 46.106 59.987,46.317 61.000,46.602 61.000 C 46.769 61.000,46.833 61.233,46.833 61.833 C 46.833 62.463,46.894 62.667,47.083 62.667 C 47.280 62.667,47.333 62.898,47.333 63.750 C 47.333 64.602,47.387 64.833,47.583 64.833 C 47.758 64.833,47.833 65.009,47.833 65.417 L 47.833 66.000 36.875 66.000 L 25.917 66.001 25.972 64.834 C 26.013 63.963,26.087 63.667,26.264 63.667 C 26.436 63.667,26.500 63.442,26.500 62.833 C 26.500 62.235,26.565 62.000,26.731 62.000 C 27.010 62.000,27.161 61.491,27.164 60.542 C 27.166 60.024,27.234 59.833,27.417 59.833 C 27.613 59.833,27.667 59.602,27.667 58.750 C 27.667 57.898,27.720 57.667,27.917 57.667 C 28.106 57.667,28.167 57.463,28.167 56.833 C 28.167 56.204,28.228 56.000,28.417 56.000 C 28.613 56.000,28.667 55.771,28.667 54.936 C 28.667 54.012,28.711 53.861,29.000 53.785 C 29.287 53.710,29.333 53.558,29.333 52.682 C 29.333 51.891,29.388 51.667,29.583 51.667 C 29.780 51.667,29.833 51.435,29.833 50.583 C 29.833 49.731,29.887 49.500,30.083 49.500 C 30.272 49.500,30.333 49.296,30.333 48.667 C 30.333 48.037,30.394 47.833,30.583 47.833 C 30.779 47.833,30.833 47.604,30.833 46.769 C 30.833 45.846,30.877 45.694,31.167 45.618 C 31.454 45.543,31.500 45.391,31.500 44.516 C 31.500 43.724,31.555 43.500,31.750 43.500 C 31.939 43.500,32.000 43.296,32.000 42.667 C 32.000 42.037,32.061 41.833,32.250 41.833 C 32.446 41.833,32.500 41.604,32.500 40.769 C 32.500 39.846,32.544 39.694,32.833 39.618 C 33.121 39.543,33.167 39.391,33.167 38.516 C 33.167 37.724,33.222 37.500,33.417 37.500 C 33.606 37.500,33.667 37.296,33.667 36.667 C 33.667 36.037,33.728 35.833,33.917 35.833 C 34.113 35.833,34.167 35.602,34.167 34.750 C 34.167 33.898,34.220 33.667,34.417 33.667 C 34.605 33.667,34.667 33.465,34.667 32.853 C 34.667 32.179,34.724 32.024,35.000 31.952 C 35.287 31.877,35.333 31.724,35.333 30.849 C 35.333 30.057,35.388 29.833,35.583 29.833 C 35.780 29.833,35.833 29.602,35.833 28.750 C 35.833 27.898,35.887 27.667,36.083 27.667 C 36.272 27.667,36.333 27.463,36.333 26.833 C 36.333 26.204,36.394 26.000,36.583 26.000 C 36.721 26.000,36.846 25.906,36.862 25.792 C 36.878 25.677,36.920 25.902,36.955 26.292 C 36.998 26.768,37.098 27.000,37.260 27.000 M73.583 30.817 C 73.248 30.896,73.111 31.014,73.167 31.176 C 73.336 31.665,73.338 102.543,73.169 102.747 C 72.838 103.146,73.392 103.167,84.293 103.167 C 95.224 103.167,95.366 103.162,95.452 102.833 C 95.528 102.543,95.679 102.500,96.622 102.500 C 97.572 102.500,97.696 102.464,97.629 102.208 C 97.563 101.955,97.658 101.924,98.359 101.974 C 98.980 102.019,99.188 101.971,99.267 101.766 C 99.328 101.607,99.563 101.500,99.851 101.500 C 100.151 101.500,100.333 101.413,100.333 101.269 C 100.333 101.136,100.583 100.990,100.917 100.928 C 101.266 100.862,101.500 100.721,101.500 100.576 C 101.500 100.442,101.612 100.333,101.750 100.333 C 101.888 100.333,102.000 100.221,102.000 100.083 C 102.000 99.909,102.176 99.833,102.583 99.833 C 102.991 99.833,103.167 99.758,103.167 99.583 C 103.167 99.446,103.279 99.333,103.417 99.333 C 103.556 99.333,103.667 99.185,103.667 99.000 C 103.667 98.740,103.778 98.667,104.172 98.667 C 104.467 98.667,104.717 98.563,104.773 98.417 C 104.826 98.279,104.973 98.167,105.101 98.167 C 105.229 98.167,105.333 98.054,105.333 97.917 C 105.333 97.779,105.446 97.667,105.583 97.667 C 105.721 97.667,105.833 97.563,105.833 97.436 C 105.833 97.309,105.983 97.166,106.167 97.118 C 106.350 97.070,106.500 96.912,106.500 96.766 C 106.500 96.620,106.612 96.500,106.750 96.500 C 106.888 96.500,107.000 96.388,107.000 96.250 C 107.000 96.112,107.112 96.000,107.250 96.000 C 107.388 96.000,107.500 95.896,107.500 95.768 C 107.500 95.640,107.612 95.492,107.750 95.440 C 107.896 95.384,108.000 95.134,108.000 94.839 C 108.000 94.444,108.073 94.333,108.333 94.333 C 108.519 94.333,108.667 94.222,108.667 94.083 C 108.667 93.946,108.779 93.833,108.917 93.833 C 109.056 93.833,109.167 93.685,109.167 93.500 C 109.167 93.315,109.278 93.167,109.417 93.167 C 109.581 93.167,109.667 93.002,109.667 92.686 C 109.667 92.346,109.764 92.180,110.000 92.118 C 110.243 92.055,110.333 91.891,110.333 91.516 C 110.333 91.168,110.415 91.000,110.583 91.000 C 110.721 91.000,110.833 90.888,110.833 90.750 C 110.833 90.612,110.946 90.500,111.083 90.500 C 111.251 90.500,111.333 90.333,111.333 89.995 C 111.333 89.699,111.437 89.450,111.583 89.394 C 111.753 89.328,111.833 89.063,111.833 88.566 C 111.833 87.944,111.884 87.833,112.167 87.833 C 112.437 87.833,112.500 87.722,112.500 87.250 C 112.500 86.843,112.575 86.667,112.750 86.667 C 112.939 86.667,113.000 86.463,113.000 85.833 C 113.000 85.204,113.061 85.000,113.250 85.000 C 113.434 85.000,113.500 84.808,113.500 84.269 C 113.500 83.679,113.564 83.522,113.833 83.452 C 114.124 83.376,114.167 83.224,114.167 82.266 C 114.167 81.400,114.220 81.167,114.417 81.167 C 114.613 81.167,114.667 80.935,114.667 80.083 C 114.667 79.231,114.720 79.000,114.917 79.000 C 115.124 79.000,115.167 78.676,115.167 77.083 C 115.167 75.486,115.209 75.167,115.418 75.167 C 115.639 75.167,115.669 74.197,115.663 67.250 C 115.658 60.393,115.625 59.333,115.412 59.333 C 115.210 59.333,115.167 58.993,115.167 57.417 C 115.167 55.824,115.124 55.500,114.917 55.500 C 114.717 55.500,114.667 55.249,114.667 54.245 C 114.667 53.283,114.608 52.967,114.417 52.894 C 114.246 52.828,114.167 52.561,114.167 52.050 C 114.167 51.442,114.104 51.286,113.833 51.215 C 113.544 51.139,113.500 50.988,113.500 50.064 C 113.500 49.229,113.446 49.000,113.250 49.000 C 113.075 49.000,113.000 48.824,113.000 48.417 C 113.000 48.009,112.925 47.833,112.750 47.833 C 112.564 47.833,112.500 47.637,112.500 47.068 C 112.500 46.442,112.439 46.286,112.167 46.215 C 111.931 46.153,111.833 45.988,111.833 45.647 C 111.833 45.331,111.748 45.167,111.583 45.167 C 111.409 45.167,111.333 44.991,111.333 44.583 C 111.333 44.176,111.258 44.000,111.083 44.000 C 110.917 44.000,110.833 43.833,110.833 43.500 C 110.833 43.184,110.748 43.000,110.602 43.000 C 110.469 43.000,110.324 42.751,110.261 42.417 C 110.195 42.067,110.054 41.833,109.909 41.833 C 109.776 41.833,109.667 41.721,109.667 41.583 C 109.667 41.446,109.554 41.333,109.417 41.333 C 109.258 41.333,109.167 41.174,109.167 40.898 C 109.167 40.444,108.567 39.675,108.208 39.670 C 108.094 39.668,108.000 39.554,108.000 39.417 C 108.000 39.279,107.888 39.167,107.750 39.167 C 107.612 39.167,107.500 39.025,107.500 38.851 C 107.500 38.678,107.388 38.492,107.250 38.440 C 107.112 38.387,107.000 38.184,107.000 37.990 C 107.000 37.776,106.868 37.601,106.667 37.548 C 106.483 37.500,106.333 37.357,106.333 37.231 C 106.333 37.104,106.221 37.000,106.083 37.000 C 105.946 37.000,105.833 36.917,105.833 36.815 C 105.833 36.528,105.115 35.839,104.812 35.836 C 104.663 35.835,104.447 35.721,104.333 35.583 C 104.219 35.446,104.023 35.333,103.896 35.333 C 103.770 35.333,103.665 35.240,103.664 35.125 C 103.659 34.811,102.977 34.234,102.458 34.107 C 102.206 34.044,102.000 33.920,102.000 33.830 C 102.000 33.740,101.888 33.667,101.750 33.667 C 101.612 33.667,101.500 33.554,101.500 33.417 C 101.500 33.244,101.326 33.167,100.936 33.167 C 100.512 33.167,100.351 33.084,100.285 32.833 C 100.218 32.577,100.058 32.500,99.594 32.500 C 99.210 32.500,98.954 32.409,98.894 32.250 C 98.839 32.107,98.590 32.000,98.310 32.000 C 98.031 32.000,97.782 31.893,97.727 31.750 C 97.665 31.590,97.408 31.500,97.010 31.500 C 96.668 31.500,96.337 31.449,96.275 31.386 C 95.691 30.803,95.082 30.769,84.500 30.733 C 78.771 30.714,73.858 30.751,73.583 30.817 M135.418 30.813 C 134.947 30.913,134.920 30.964,134.929 31.710 C 134.937 32.366,134.887 32.500,134.636 32.500 C 134.375 32.500,134.333 32.647,134.333 33.566 C 134.333 34.359,134.269 34.656,134.083 34.727 C 133.896 34.799,133.833 35.098,133.833 35.911 C 133.833 36.731,133.776 37.000,133.601 37.000 C 133.287 37.000,133.167 37.372,133.167 38.347 C 133.167 38.964,133.105 39.167,132.917 39.167 C 132.720 39.167,132.667 39.398,132.667 40.250 C 132.667 41.102,132.613 41.333,132.417 41.333 C 132.220 41.333,132.167 41.565,132.167 42.417 C 132.167 43.291,132.116 43.500,131.904 43.500 C 131.699 43.500,131.648 43.671,131.669 44.292 C 131.711 45.521,131.687 45.638,131.375 45.698 C 131.137 45.744,131.083 45.933,131.083 46.722 C 131.083 47.471,131.017 47.727,130.792 47.853 C 130.566 47.980,130.500 48.236,130.500 48.990 C 130.500 49.702,130.433 49.990,130.250 50.060 C 130.063 50.132,130.000 50.431,130.000 51.245 C 130.000 52.057,129.942 52.333,129.771 52.333 C 129.524 52.333,129.333 53.032,129.333 53.938 C 129.333 54.326,129.256 54.500,129.083 54.500 C 128.887 54.500,128.833 54.731,128.833 55.583 C 128.833 56.435,128.780 56.667,128.583 56.667 C 128.387 56.667,128.333 56.898,128.333 57.750 C 128.333 58.602,128.280 58.833,128.083 58.833 C 127.887 58.833,127.833 59.065,127.833 59.917 C 127.833 60.732,127.776 61.000,127.601 61.000 C 127.272 61.000,127.151 61.424,127.269 62.165 C 127.353 62.687,127.307 62.860,127.019 63.106 C 126.737 63.347,126.667 63.597,126.667 64.353 C 126.667 65.039,126.598 65.324,126.417 65.394 C 126.223 65.468,126.167 65.792,126.167 66.828 C 126.167 67.873,126.115 68.167,125.930 68.167 C 125.762 68.167,125.660 68.480,125.577 69.250 C 125.496 70.005,125.391 70.333,125.231 70.333 C 125.058 70.333,125.000 70.605,125.000 71.417 C 125.000 72.269,124.947 72.500,124.750 72.500 C 124.553 72.500,124.500 72.731,124.500 73.583 C 124.500 74.435,124.447 74.667,124.250 74.667 C 124.054 74.667,124.000 74.896,124.000 75.731 C 124.000 76.662,123.958 76.806,123.659 76.884 C 123.353 76.964,123.330 77.058,123.429 77.805 C 123.524 78.525,123.491 78.677,123.186 78.939 C 122.904 79.180,122.833 79.430,122.833 80.186 C 122.833 80.872,122.765 81.157,122.583 81.227 C 122.396 81.299,122.333 81.598,122.333 82.411 C 122.333 83.268,122.280 83.500,122.083 83.500 C 121.887 83.500,121.833 83.731,121.833 84.583 C 121.833 85.556,121.799 85.667,121.500 85.667 C 121.201 85.667,121.167 85.778,121.167 86.750 C 121.167 87.602,121.113 87.833,120.917 87.833 C 120.720 87.833,120.667 88.065,120.667 88.917 C 120.667 89.769,120.613 90.000,120.417 90.000 C 120.221 90.000,120.167 90.229,120.167 91.064 C 120.167 92.005,120.126 92.138,119.816 92.220 C 119.491 92.304,119.473 92.386,119.579 93.299 C 119.685 94.209,119.667 94.294,119.347 94.378 C 119.044 94.457,119.000 94.596,119.000 95.467 C 119.000 96.224,118.936 96.489,118.736 96.566 C 118.524 96.647,118.483 96.880,118.527 97.751 C 118.576 98.693,118.545 98.834,118.292 98.834 C 118.044 98.833,118.000 98.995,118.000 99.897 C 118.000 100.821,117.956 100.973,117.667 101.048 C 117.379 101.123,117.333 101.276,117.333 102.151 L 117.333 103.167 122.250 103.167 L 127.167 103.167 127.167 102.353 C 127.167 101.679,127.224 101.524,127.500 101.452 C 127.787 101.377,127.833 101.224,127.833 100.367 C 127.833 99.634,127.900 99.344,128.083 99.273 C 128.270 99.201,128.333 98.902,128.333 98.089 C 128.333 97.232,128.387 97.000,128.583 97.000 C 128.785 97.000,128.833 96.741,128.833 95.667 C 128.833 94.593,128.882 94.333,129.083 94.333 C 129.280 94.333,129.333 94.102,129.333 93.250 C 129.333 92.278,129.368 92.167,129.667 92.167 C 129.966 92.167,130.000 92.056,130.000 91.083 C 130.000 90.231,130.053 90.000,130.250 90.000 C 130.446 90.000,130.500 89.770,130.500 88.934 C 130.500 88.141,130.564 87.844,130.750 87.773 C 130.896 87.717,131.000 87.467,131.000 87.172 L 131.000 86.667 140.583 86.667 L 150.167 86.667 150.167 87.182 C 150.167 87.558,150.257 87.722,150.500 87.785 C 150.789 87.861,150.833 88.012,150.833 88.936 C 150.833 89.771,150.887 90.000,151.083 90.000 C 151.280 90.000,151.333 90.231,151.333 91.083 C 151.333 91.935,151.387 92.167,151.583 92.167 C 151.785 92.167,151.833 92.426,151.833 93.500 C 151.833 94.587,151.881 94.833,152.089 94.833 C 152.418 94.833,152.671 95.499,152.480 95.864 C 152.236 96.330,152.314 96.818,152.667 97.039 C 152.942 97.211,153.000 97.427,153.000 98.290 C 153.000 99.106,153.054 99.333,153.250 99.333 C 153.447 99.333,153.500 99.565,153.500 100.417 C 153.500 101.269,153.553 101.500,153.750 101.500 C 153.939 101.500,154.000 101.704,154.000 102.333 L 154.000 103.167 158.917 103.167 L 163.833 103.167 163.833 101.828 C 163.833 100.792,163.777 100.468,163.583 100.394 C 163.397 100.322,163.333 100.026,163.333 99.232 C 163.333 98.396,163.279 98.167,163.083 98.167 C 162.888 98.167,162.833 97.943,162.833 97.151 C 162.833 96.276,162.787 96.123,162.500 96.048 C 162.211 95.973,162.167 95.821,162.167 94.897 C 162.167 94.063,162.113 93.833,161.917 93.833 C 161.720 93.833,161.667 93.602,161.667 92.750 C 161.667 91.898,161.613 91.667,161.417 91.667 C 161.220 91.667,161.167 91.435,161.167 90.583 C 161.167 89.731,161.113 89.500,160.917 89.500 C 160.720 89.500,160.667 89.269,160.667 88.417 C 160.667 87.444,160.632 87.333,160.333 87.333 C 160.034 87.333,160.000 87.222,160.000 86.245 C 160.000 85.431,159.937 85.132,159.750 85.060 C 159.564 84.989,159.500 84.692,159.500 83.899 C 159.500 83.063,159.446 82.833,159.250 82.833 C 159.055 82.833,159.000 82.609,159.000 81.818 C 159.000 80.942,158.954 80.790,158.667 80.715 C 158.377 80.639,158.333 80.488,158.333 79.564 C 158.333 78.729,158.279 78.500,158.083 78.500 C 157.887 78.500,157.833 78.269,157.833 77.417 C 157.833 76.565,157.780 76.333,157.583 76.333 C 157.387 76.333,157.333 76.102,157.333 75.250 C 157.333 74.398,157.280 74.167,157.083 74.167 C 156.887 74.167,156.833 73.935,156.833 73.083 C 156.833 72.111,156.799 72.000,156.500 72.000 C 156.201 72.000,156.167 71.889,156.167 70.917 C 156.167 70.065,156.113 69.833,155.917 69.833 C 155.715 69.833,155.667 69.573,155.667 68.495 C 155.667 67.459,155.610 67.135,155.417 67.060 C 155.233 66.990,155.167 66.700,155.167 65.967 C 155.167 65.109,155.120 64.957,154.833 64.882 C 154.544 64.806,154.500 64.654,154.500 63.731 C 154.500 62.896,154.446 62.667,154.250 62.667 C 154.053 62.667,154.000 62.435,154.000 61.583 C 154.000 60.731,153.947 60.500,153.750 60.500 C 153.553 60.500,153.500 60.269,153.500 59.417 C 153.500 58.565,153.447 58.333,153.250 58.333 C 153.056 58.333,153.000 58.112,153.000 57.339 C 153.000 56.516,152.943 56.314,152.667 56.167 C 152.386 56.017,152.333 55.818,152.333 54.911 C 152.333 54.064,152.280 53.833,152.083 53.833 C 151.887 53.833,151.833 53.602,151.833 52.750 C 151.833 51.898,151.780 51.667,151.583 51.667 C 151.389 51.667,151.333 51.444,151.333 50.661 C 151.333 49.922,151.267 49.631,151.083 49.560 C 150.909 49.493,150.833 49.221,150.833 48.662 C 150.833 47.704,150.712 47.333,150.399 47.333 C 150.224 47.333,150.167 47.065,150.167 46.250 C 150.167 45.398,150.113 45.167,149.917 45.167 C 149.720 45.167,149.667 44.935,149.667 44.083 C 149.667 43.231,149.613 43.000,149.417 43.000 C 149.220 43.000,149.167 42.769,149.167 41.917 C 149.167 40.944,149.132 40.833,148.833 40.833 C 148.534 40.833,148.500 40.722,148.500 39.745 C 148.500 38.931,148.437 38.632,148.250 38.560 C 148.064 38.489,148.000 38.192,148.000 37.399 C 148.000 36.563,147.946 36.333,147.750 36.333 C 147.553 36.333,147.500 36.102,147.500 35.250 C 147.500 34.398,147.447 34.167,147.250 34.167 C 147.055 34.167,147.000 33.943,147.000 33.151 C 147.000 32.276,146.954 32.123,146.667 32.048 C 146.419 31.983,146.333 31.821,146.333 31.415 C 146.333 31.071,146.236 30.832,146.070 30.768 C 145.722 30.634,136.061 30.675,135.418 30.813 M170.708 30.773 C 170.543 30.843,170.500 38.250,170.500 67.014 L 170.500 103.167 175.073 103.167 C 179.242 103.167,180.671 103.029,179.738 102.718 C 179.644 102.687,179.601 97.899,179.627 90.583 L 179.671 78.500 185.169 78.500 C 189.945 78.500,190.667 78.467,190.667 78.250 C 190.667 78.053,190.898 78.000,191.750 78.000 C 192.722 78.000,192.833 77.966,192.833 77.667 C 192.833 77.378,192.944 77.333,193.667 77.333 C 194.296 77.333,194.500 77.272,194.500 77.083 C 194.500 76.909,194.676 76.833,195.083 76.833 C 195.491 76.833,195.667 76.758,195.667 76.583 C 195.667 76.429,195.823 76.333,196.075 76.333 C 196.300 76.333,196.543 76.234,196.617 76.112 C 196.690 75.991,196.881 75.843,197.042 75.784 C 197.202 75.725,197.333 75.562,197.333 75.422 C 197.333 75.249,197.495 75.167,197.833 75.167 C 198.167 75.167,198.333 75.083,198.333 74.917 C 198.333 74.779,198.446 74.667,198.583 74.667 C 198.721 74.667,198.833 74.554,198.833 74.417 C 198.833 74.279,198.953 74.167,199.099 74.167 C 199.245 74.167,199.404 74.017,199.452 73.833 C 199.500 73.650,199.643 73.500,199.769 73.500 C 199.896 73.500,200.000 73.387,200.000 73.250 C 200.000 73.112,200.112 73.000,200.250 73.000 C 200.414 73.000,200.500 72.835,200.500 72.519 C 200.500 72.179,200.597 72.013,200.833 71.952 C 201.017 71.904,201.167 71.745,201.167 71.599 C 201.167 71.453,201.279 71.333,201.417 71.333 C 201.583 71.333,201.667 71.167,201.667 70.833 C 201.667 70.500,201.750 70.333,201.917 70.333 C 202.056 70.333,202.167 70.185,202.167 70.000 C 202.167 69.815,202.278 69.667,202.417 69.667 C 202.583 69.667,202.667 69.500,202.667 69.167 C 202.667 68.850,202.752 68.667,202.899 68.667 C 203.190 68.667,203.333 68.304,203.333 67.570 C 203.333 67.174,203.410 67.000,203.583 67.000 C 203.772 67.000,203.833 66.796,203.833 66.167 C 203.833 65.537,203.894 65.333,204.083 65.333 C 204.279 65.333,204.333 65.104,204.333 64.269 C 204.333 63.346,204.377 63.194,204.667 63.118 C 204.971 63.039,205.000 62.891,205.000 61.432 C 205.000 60.122,205.045 59.833,205.250 59.833 C 205.467 59.833,205.500 59.148,205.500 54.667 C 205.500 50.185,205.467 49.500,205.250 49.500 C 205.048 49.500,205.000 49.233,205.000 48.097 C 205.000 46.551,204.913 46.167,204.566 46.167 C 204.391 46.167,204.333 45.898,204.333 45.083 C 204.333 44.231,204.280 44.000,204.083 44.000 C 203.898 44.000,203.833 43.805,203.833 43.245 C 203.833 42.727,203.755 42.459,203.583 42.394 C 203.441 42.339,203.333 42.090,203.333 41.816 C 203.333 41.444,203.257 41.333,203.000 41.333 C 202.711 41.333,202.667 41.222,202.667 40.500 C 202.667 39.870,202.606 39.667,202.417 39.667 C 202.279 39.667,202.167 39.554,202.167 39.417 C 202.167 39.279,202.054 39.167,201.917 39.167 C 201.742 39.167,201.667 38.991,201.667 38.583 C 201.667 38.176,201.591 38.000,201.417 38.000 C 201.279 38.000,201.167 37.887,201.167 37.750 C 201.167 37.611,201.019 37.500,200.833 37.500 C 200.573 37.500,200.500 37.389,200.500 36.995 C 200.500 36.699,200.396 36.450,200.250 36.394 C 200.112 36.341,200.000 36.193,200.000 36.066 C 200.000 35.938,199.887 35.833,199.750 35.833 C 199.612 35.833,199.500 35.721,199.500 35.583 C 199.500 35.444,199.352 35.333,199.167 35.333 C 198.978 35.333,198.833 35.222,198.833 35.078 C 198.833 34.938,198.721 34.780,198.583 34.727 C 198.446 34.674,198.333 34.527,198.333 34.399 C 198.333 34.271,198.229 34.167,198.101 34.167 C 197.973 34.167,197.826 34.054,197.773 33.917 C 197.720 33.779,197.534 33.667,197.359 33.667 C 197.184 33.667,196.947 33.554,196.833 33.417 C 196.719 33.279,196.523 33.167,196.396 33.167 C 196.270 33.167,196.167 33.062,196.167 32.934 C 196.167 32.680,195.816 32.500,195.320 32.500 C 195.144 32.500,195.000 32.387,195.000 32.250 C 195.000 32.069,194.814 32.000,194.328 32.000 C 193.885 32.000,193.624 31.915,193.560 31.750 C 193.508 31.613,193.297 31.500,193.093 31.500 C 192.889 31.500,192.671 31.449,192.608 31.386 C 192.028 30.805,191.397 30.769,181.083 30.727 C 175.492 30.703,170.823 30.724,170.708 30.773 M322.198 31.506 L 321.833 31.846 321.835 66.548 C 321.836 85.634,321.883 101.531,321.940 101.875 L 322.044 102.500 337.938 102.500 L 353.833 102.500 353.833 96.000 L 353.833 89.500 342.583 89.500 L 331.333 89.500 331.333 60.560 C 331.333 33.194,331.317 31.608,331.042 31.399 C 330.493 30.982,322.658 31.078,322.198 31.506 M361.750 31.333 C 361.693 31.425,361.464 31.500,361.240 31.500 L 360.833 31.500 360.833 67.000 L 360.833 102.500 378.083 102.500 L 395.333 102.500 395.333 96.000 L 395.333 89.500 383.000 89.500 L 370.667 89.500 370.667 81.000 L 370.667 72.500 380.002 72.500 L 389.337 72.500 389.294 66.239 L 389.250 59.978 379.958 59.994 L 370.667 60.010 370.667 52.255 L 370.667 44.500 383.000 44.500 L 395.333 44.500 395.333 38.000 L 395.333 31.500 394.927 31.500 C 394.703 31.500,394.473 31.425,394.417 31.333 C 394.349 31.224,388.724 31.167,378.083 31.167 C 367.443 31.167,361.818 31.224,361.750 31.333 M73.625 84.792 C 73.601 94.577,73.582 86.571,73.582 67.000 C 73.582 47.429,73.601 39.423,73.625 49.208 C 73.649 58.994,73.649 75.006,73.625 84.792 M242.458 31.847 C 242.298 32.023,242.167 32.414,242.167 32.717 C 242.167 33.019,242.092 33.341,242.002 33.432 C 241.911 33.523,241.792 33.969,241.738 34.423 C 241.684 34.878,241.571 35.419,241.487 35.625 C 241.402 35.831,241.264 36.169,241.180 36.375 C 241.096 36.581,240.982 37.122,240.928 37.577 C 240.874 38.031,240.756 38.477,240.665 38.568 C 240.574 38.659,240.500 39.003,240.500 39.333 C 240.500 39.663,240.421 40.013,240.324 40.110 C 240.227 40.207,240.104 40.711,240.050 41.231 C 239.996 41.751,239.888 42.216,239.810 42.265 C 239.731 42.313,239.667 42.499,239.667 42.677 C 239.667 42.854,239.592 43.000,239.500 43.000 C 239.408 43.000,239.333 43.225,239.333 43.500 C 239.333 43.775,239.406 44.000,239.495 44.000 C 239.584 44.000,239.613 44.112,239.561 44.249 C 239.508 44.386,239.398 44.457,239.316 44.406 C 239.234 44.355,239.167 44.506,239.167 44.740 C 239.167 44.975,239.092 45.167,239.000 45.167 C 238.908 45.167,238.833 45.400,238.833 45.686 C 238.833 46.185,238.446 47.596,238.139 48.212 C 238.059 48.374,237.951 48.862,237.900 49.295 C 237.810 50.054,237.753 50.255,237.369 51.167 C 237.272 51.396,237.149 51.958,237.094 52.417 C 237.040 52.875,236.921 53.275,236.831 53.306 C 236.741 53.336,236.667 53.646,236.667 53.995 C 236.667 54.343,236.555 54.843,236.418 55.106 C 236.281 55.369,236.168 55.860,236.168 56.198 C 236.167 56.537,236.102 56.854,236.022 56.903 C 235.942 56.952,235.743 57.635,235.578 58.420 C 235.413 59.205,235.216 59.886,235.139 59.934 C 235.063 59.981,235.000 60.300,235.000 60.643 C 235.000 60.986,234.923 61.344,234.829 61.438 C 234.735 61.532,234.612 62.016,234.556 62.513 C 234.500 63.010,234.385 63.505,234.300 63.613 C 234.215 63.722,234.102 64.230,234.049 64.743 C 233.996 65.257,233.888 65.716,233.810 65.765 C 233.731 65.813,233.667 65.999,233.667 66.177 C 233.667 66.354,233.602 66.500,233.523 66.500 C 233.444 66.500,233.337 66.967,233.286 67.538 C 233.234 68.108,233.111 68.602,233.012 68.635 C 232.914 68.668,232.833 68.973,232.833 69.314 C 232.833 69.655,232.759 70.008,232.668 70.098 C 232.577 70.189,232.459 70.635,232.405 71.090 C 232.351 71.545,232.245 72.067,232.170 72.250 C 231.862 73.003,231.688 73.623,231.590 74.325 C 231.532 74.733,231.424 75.146,231.349 75.242 C 231.274 75.338,231.167 75.823,231.111 76.321 C 231.055 76.818,230.932 77.301,230.838 77.396 C 230.744 77.490,230.667 77.837,230.667 78.167 C 230.667 78.497,230.587 78.846,230.490 78.943 C 230.393 79.040,230.270 79.545,230.217 80.064 C 230.163 80.584,230.055 81.050,229.976 81.098 C 229.898 81.147,229.833 81.332,229.833 81.510 C 229.833 81.688,229.769 81.833,229.690 81.833 C 229.612 81.833,229.499 82.302,229.439 82.875 C 229.379 83.448,229.256 83.942,229.165 83.972 C 229.074 84.003,229.000 84.307,229.000 84.647 C 229.000 84.988,228.926 85.341,228.835 85.432 C 228.744 85.523,228.626 85.969,228.572 86.423 C 228.518 86.878,228.412 87.400,228.337 87.583 C 228.016 88.367,227.851 88.965,227.752 89.708 C 227.694 90.144,227.586 90.500,227.513 90.500 C 227.440 90.500,227.337 90.967,227.286 91.538 C 227.234 92.108,227.111 92.602,227.012 92.635 C 226.914 92.668,226.833 93.011,226.833 93.397 C 226.833 93.784,226.754 94.179,226.657 94.276 C 226.560 94.373,226.437 94.878,226.383 95.398 C 226.330 95.918,226.221 96.383,226.143 96.431 C 226.064 96.480,226.000 96.665,226.000 96.843 C 226.000 97.021,225.922 97.167,225.826 97.167 C 225.718 97.167,225.692 97.382,225.757 97.731 C 225.821 98.071,225.791 98.340,225.682 98.407 C 225.582 98.469,225.500 98.703,225.500 98.927 C 225.500 99.150,225.425 99.333,225.333 99.333 C 225.242 99.333,225.167 99.618,225.167 99.967 C 225.167 100.315,225.092 100.674,225.002 100.765 C 224.911 100.856,224.788 101.283,224.729 101.715 L 224.621 102.500 229.561 102.500 C 233.840 102.500,234.500 102.467,234.500 102.250 C 234.500 102.112,234.618 102.000,234.761 102.000 C 234.975 102.000,235.018 101.795,234.999 100.875 C 234.966 99.335,234.966 99.333,235.263 99.333 C 235.445 99.333,235.516 99.194,235.495 98.875 C 235.414 97.646,235.499 97.206,235.833 97.118 C 236.124 97.042,236.167 96.891,236.167 95.932 C 236.167 95.067,236.220 94.833,236.417 94.833 C 236.613 94.833,236.667 94.602,236.667 93.750 C 236.667 92.898,236.720 92.667,236.917 92.667 C 237.113 92.667,237.167 92.435,237.167 91.583 C 237.167 90.772,237.225 90.500,237.397 90.500 C 237.696 90.500,237.828 89.980,237.831 88.792 C 237.833 88.052,237.890 87.833,238.083 87.833 C 238.272 87.833,238.333 87.630,238.333 87.000 L 238.333 86.167 247.967 86.167 L 257.600 86.167 257.800 86.720 C 257.910 87.025,258.000 87.512,258.000 87.803 C 258.000 88.095,258.075 88.333,258.167 88.333 C 258.258 88.333,258.333 88.633,258.333 89.000 C 258.333 89.367,258.412 89.667,258.508 89.667 C 258.615 89.667,258.641 89.882,258.576 90.231 C 258.512 90.571,258.542 90.840,258.652 90.907 C 258.752 90.969,258.833 91.203,258.833 91.427 C 258.833 91.650,258.908 91.833,259.000 91.833 C 259.092 91.833,259.167 92.152,259.168 92.542 C 259.168 92.931,259.281 93.465,259.418 93.727 C 259.555 93.990,259.667 94.490,259.667 94.838 C 259.667 95.187,259.745 95.498,259.841 95.530 C 259.937 95.562,260.061 96.037,260.116 96.586 C 260.172 97.135,260.280 97.625,260.357 97.676 C 260.434 97.727,260.541 98.139,260.595 98.592 C 260.687 99.364,260.833 99.845,261.186 100.539 C 261.267 100.699,261.333 101.205,261.333 101.664 L 261.333 102.500 266.500 102.500 L 271.667 102.500 271.667 101.750 C 271.667 101.194,271.602 101.000,271.417 101.000 C 271.222 101.000,271.167 100.779,271.167 100.008 C 271.167 99.345,271.091 98.972,270.938 98.883 C 270.803 98.804,270.678 98.350,270.631 97.767 C 270.578 97.115,270.459 96.715,270.276 96.582 C 270.075 96.435,270.000 96.122,270.000 95.435 C 270.000 94.748,269.932 94.463,269.750 94.394 C 269.580 94.328,269.500 94.062,269.500 93.560 C 269.500 93.059,269.420 92.792,269.250 92.727 C 269.066 92.656,269.000 92.366,269.000 91.633 C 269.000 90.776,268.953 90.623,268.667 90.548 C 268.377 90.473,268.333 90.321,268.333 89.397 C 268.333 88.563,268.279 88.333,268.083 88.333 C 267.887 88.333,267.833 88.102,267.833 87.250 C 267.833 86.398,267.780 86.167,267.583 86.167 C 267.387 86.167,267.333 85.935,267.333 85.083 C 267.333 84.231,267.280 84.000,267.083 84.000 C 266.888 84.000,266.833 83.776,266.833 82.984 C 266.833 82.109,266.787 81.957,266.500 81.882 C 266.211 81.806,266.167 81.654,266.167 80.731 C 266.167 79.896,266.113 79.667,265.917 79.667 C 265.720 79.667,265.667 79.435,265.667 78.578 C 265.667 77.764,265.604 77.465,265.417 77.394 C 265.233 77.323,265.167 77.033,265.167 76.300 C 265.167 75.442,265.120 75.290,264.833 75.215 C 264.544 75.139,264.500 74.988,264.500 74.064 C 264.500 73.229,264.446 73.000,264.250 73.000 C 264.053 73.000,264.000 72.769,264.000 71.917 C 264.000 71.065,263.947 70.833,263.750 70.833 C 263.553 70.833,263.500 70.602,263.500 69.750 C 263.500 68.898,263.447 68.667,263.250 68.667 C 263.055 68.667,263.000 68.443,263.000 67.651 C 263.000 66.776,262.954 66.623,262.667 66.548 C 262.377 66.473,262.333 66.321,262.333 65.397 C 262.333 64.563,262.279 64.333,262.083 64.333 C 261.887 64.333,261.833 64.102,261.833 63.250 C 261.833 62.398,261.780 62.167,261.583 62.167 C 261.387 62.167,261.333 61.936,261.333 61.095 C 261.333 60.169,261.288 60.008,261.000 59.917 C 260.712 59.825,260.667 59.664,260.667 58.739 C 260.667 57.897,260.613 57.667,260.417 57.667 C 260.220 57.667,260.167 57.435,260.167 56.583 C 260.167 55.731,260.113 55.500,259.917 55.500 C 259.720 55.500,259.667 55.269,259.667 54.417 C 259.667 53.565,259.613 53.333,259.417 53.333 C 259.228 53.333,259.167 53.131,259.167 52.514 C 259.167 51.538,259.047 51.167,258.732 51.167 C 258.558 51.167,258.500 50.898,258.500 50.083 C 258.500 49.231,258.447 49.000,258.250 49.000 C 258.053 49.000,258.000 48.769,258.000 47.917 C 258.000 47.065,257.947 46.833,257.750 46.833 C 257.555 46.833,257.500 46.609,257.500 45.818 C 257.500 44.942,257.454 44.790,257.167 44.715 C 256.878 44.639,256.833 44.488,256.833 43.582 C 256.833 42.806,256.769 42.511,256.583 42.440 C 256.399 42.369,256.333 42.078,256.333 41.333 C 256.333 40.589,256.268 40.298,256.083 40.227 C 255.900 40.157,255.833 39.868,255.833 39.144 C 255.833 38.420,255.767 38.131,255.583 38.060 C 255.417 37.997,255.333 37.732,255.331 37.274 C 255.328 36.341,255.175 35.833,254.897 35.833 C 254.725 35.833,254.667 35.561,254.667 34.750 C 254.667 33.898,254.613 33.667,254.417 33.667 C 254.220 33.667,254.167 33.435,254.167 32.583 L 254.167 31.500 248.458 31.514 C 243.055 31.527,242.734 31.545,242.458 31.847 M277.607 32.125 C 277.550 32.469,277.504 48.162,277.504 67.000 C 277.504 85.838,277.550 101.531,277.607 101.875 L 277.710 102.500 289.438 102.500 C 299.752 102.500,301.167 102.470,301.167 102.250 C 301.167 102.053,301.399 102.000,302.255 102.000 C 303.069 102.000,303.368 101.937,303.440 101.750 C 303.502 101.587,303.762 101.500,304.190 101.500 C 304.597 101.500,304.878 101.412,304.933 101.266 C 304.983 101.138,305.280 100.984,305.595 100.925 C 305.935 100.862,306.167 100.720,306.167 100.576 C 306.167 100.442,306.279 100.333,306.417 100.333 C 306.554 100.333,306.667 100.221,306.667 100.083 C 306.667 99.916,306.834 99.833,307.172 99.833 C 307.467 99.833,307.717 99.729,307.773 99.583 C 307.826 99.446,307.973 99.333,308.101 99.333 C 308.229 99.333,308.333 99.183,308.333 99.000 C 308.333 98.815,308.444 98.667,308.583 98.667 C 308.721 98.667,308.833 98.554,308.833 98.417 C 308.833 98.278,308.981 98.167,309.167 98.167 C 309.352 98.167,309.500 98.056,309.500 97.917 C 309.500 97.779,309.612 97.667,309.750 97.667 C 309.887 97.667,310.000 97.562,310.000 97.434 C 310.000 97.307,310.112 97.159,310.250 97.106 C 310.387 97.054,310.500 96.896,310.500 96.755 C 310.500 96.615,310.612 96.500,310.750 96.500 C 310.917 96.500,311.000 96.333,311.000 96.000 C 311.000 95.611,311.074 95.500,311.333 95.500 C 311.603 95.500,311.667 95.389,311.667 94.917 C 311.667 94.509,311.742 94.333,311.917 94.333 C 312.083 94.333,312.167 94.167,312.167 93.833 C 312.167 93.500,312.250 93.333,312.417 93.333 C 312.590 93.333,312.667 93.160,312.667 92.769 C 312.667 92.346,312.750 92.184,313.000 92.118 C 313.272 92.047,313.333 91.891,313.333 91.266 C 313.333 90.696,313.397 90.500,313.583 90.500 C 313.780 90.500,313.833 90.269,313.833 89.417 C 313.833 88.565,313.887 88.333,314.083 88.333 C 314.301 88.333,314.333 87.556,314.333 82.333 C 314.333 77.111,314.301 76.333,314.083 76.333 C 313.887 76.333,313.833 76.102,313.833 75.250 C 313.833 74.398,313.780 74.167,313.583 74.167 C 313.397 74.167,313.333 73.970,313.333 73.401 C 313.333 72.776,313.272 72.620,313.000 72.548 C 312.750 72.483,312.667 72.321,312.667 71.897 C 312.667 71.507,312.590 71.333,312.417 71.333 C 312.250 71.333,312.167 71.167,312.167 70.833 C 312.167 70.500,312.083 70.333,311.917 70.333 C 311.748 70.333,311.667 70.165,311.667 69.818 C 311.667 69.442,311.576 69.278,311.333 69.215 C 311.150 69.167,311.000 69.024,311.000 68.897 C 311.000 68.770,310.887 68.667,310.750 68.667 C 310.612 68.667,310.500 68.554,310.500 68.417 C 310.500 68.279,310.387 68.167,310.250 68.167 C 310.107 68.167,310.000 68.017,310.000 67.816 C 310.000 67.572,309.923 67.494,309.750 67.560 C 309.580 67.626,309.500 67.551,309.500 67.328 C 309.500 67.111,309.387 67.000,309.167 67.000 C 308.981 67.000,308.833 66.889,308.833 66.750 C 308.833 66.612,308.721 66.500,308.583 66.500 C 308.446 66.500,308.333 66.387,308.333 66.250 C 308.333 66.112,308.230 66.000,308.103 66.000 C 307.976 66.000,307.833 65.850,307.785 65.667 C 307.722 65.424,307.558 65.333,307.182 65.333 C 306.846 65.333,306.667 65.250,306.667 65.095 C 306.667 64.964,306.498 64.832,306.292 64.803 L 305.917 64.750 306.292 64.421 C 306.498 64.240,306.667 63.997,306.667 63.880 C 306.667 63.762,306.817 63.667,307.000 63.667 C 307.185 63.667,307.333 63.556,307.333 63.417 C 307.333 63.279,307.446 63.167,307.583 63.167 C 307.721 63.167,307.833 63.054,307.833 62.917 C 307.833 62.779,307.946 62.667,308.083 62.667 C 308.221 62.667,308.333 62.562,308.333 62.434 C 308.333 62.307,308.446 62.159,308.583 62.106 C 308.729 62.050,308.833 61.801,308.833 61.505 C 308.833 61.111,308.907 61.000,309.167 61.000 C 309.355 61.000,309.500 60.889,309.500 60.745 C 309.500 60.604,309.612 60.446,309.750 60.394 C 309.893 60.339,310.000 60.090,310.000 59.816 C 310.000 59.498,310.085 59.333,310.250 59.333 C 310.439 59.333,310.500 59.130,310.500 58.500 C 310.500 57.870,310.561 57.667,310.750 57.667 C 310.947 57.667,311.000 57.435,311.000 56.583 C 311.000 55.611,311.034 55.500,311.333 55.500 C 311.660 55.500,311.667 55.389,311.667 50.083 C 311.667 44.778,311.660 44.667,311.333 44.667 C 311.034 44.667,311.000 44.556,311.000 43.578 C 311.000 42.764,310.937 42.465,310.750 42.394 C 310.580 42.328,310.500 42.063,310.500 41.566 C 310.500 41.026,310.434 40.833,310.250 40.833 C 310.075 40.833,310.000 40.657,310.000 40.250 C 310.000 39.843,309.925 39.667,309.750 39.667 C 309.595 39.667,309.500 39.509,309.500 39.251 C 309.500 39.017,309.355 38.746,309.167 38.628 C 308.964 38.502,308.833 38.239,308.833 37.960 C 308.833 37.662,308.745 37.500,308.583 37.500 C 308.446 37.500,308.333 37.387,308.333 37.250 C 308.333 37.112,308.221 37.000,308.083 37.000 C 307.944 37.000,307.833 36.852,307.833 36.667 C 307.833 36.481,307.722 36.333,307.583 36.333 C 307.446 36.333,307.333 36.221,307.333 36.083 C 307.333 35.946,307.262 35.833,307.174 35.833 C 307.005 35.833,306.468 35.309,305.917 34.607 C 305.733 34.373,305.452 34.179,305.292 34.174 C 305.131 34.170,305.000 34.054,305.000 33.917 C 305.000 33.779,304.887 33.667,304.750 33.667 C 304.612 33.667,304.500 33.554,304.500 33.417 C 304.500 33.261,304.343 33.167,304.085 33.167 C 303.850 33.167,303.579 33.022,303.461 32.833 C 303.347 32.650,303.081 32.500,302.871 32.500 C 302.661 32.500,302.446 32.387,302.394 32.250 C 302.332 32.089,302.074 32.000,301.668 32.000 C 301.322 32.000,300.823 31.888,300.561 31.751 C 300.151 31.537,298.494 31.502,288.897 31.501 L 277.710 31.500 277.607 32.125 M188.500 43.750 C 188.500 43.939,188.704 44.000,189.333 44.000 C 189.963 44.000,190.167 44.061,190.167 44.250 C 190.167 44.425,190.343 44.500,190.750 44.500 C 191.222 44.500,191.333 44.563,191.333 44.833 C 191.333 45.019,191.444 45.167,191.583 45.167 C 191.721 45.167,191.833 45.279,191.833 45.417 C 191.833 45.554,191.946 45.667,192.083 45.667 C 192.221 45.667,192.333 45.779,192.333 45.917 C 192.333 46.054,192.404 46.167,192.491 46.167 C 192.721 46.167,193.500 46.922,193.500 47.144 C 193.500 47.248,193.612 47.333,193.750 47.333 C 193.917 47.333,194.000 47.500,194.000 47.833 C 194.000 48.167,194.083 48.333,194.250 48.333 C 194.425 48.333,194.500 48.509,194.500 48.917 C 194.500 49.324,194.575 49.500,194.750 49.500 C 194.923 49.500,195.000 49.674,195.000 50.070 C 195.000 50.804,195.144 51.167,195.434 51.167 C 195.720 51.167,195.784 57.408,195.500 57.583 C 195.408 57.640,195.333 57.940,195.333 58.250 C 195.333 58.560,195.258 58.860,195.167 58.917 C 195.075 58.973,195.000 59.318,195.000 59.682 C 195.000 60.116,194.914 60.377,194.750 60.440 C 194.611 60.493,194.500 60.741,194.500 61.000 C 194.500 61.259,194.389 61.507,194.250 61.560 C 194.104 61.616,194.000 61.866,194.000 62.161 C 194.000 62.499,193.917 62.667,193.750 62.667 C 193.612 62.667,193.500 62.779,193.500 62.917 C 193.500 63.054,193.396 63.167,193.268 63.167 C 192.976 63.167,192.795 63.617,192.924 64.023 C 193.007 64.286,192.932 64.333,192.428 64.333 C 192.011 64.333,191.833 64.408,191.833 64.583 C 191.833 64.721,191.721 64.833,191.583 64.833 C 191.446 64.833,191.333 64.946,191.333 65.083 C 191.333 65.258,191.157 65.333,190.750 65.333 C 190.278 65.333,190.167 65.397,190.167 65.667 C 190.167 65.956,190.056 66.000,189.333 66.000 C 188.704 66.000,188.500 66.061,188.500 66.250 C 188.500 66.466,187.898 66.500,184.083 66.500 L 179.667 66.500 179.667 55.000 L 179.667 43.500 184.083 43.500 C 187.898 43.500,188.500 43.534,188.500 43.750 M297.394 43.750 C 297.450 43.896,297.699 44.000,297.995 44.000 C 298.333 44.000,298.500 44.083,298.500 44.250 C 298.500 44.397,298.654 44.501,298.875 44.503 C 299.337 44.506,300.667 45.840,300.667 46.299 C 300.667 46.646,301.047 47.064,301.212 46.899 C 301.266 46.845,301.269 46.961,301.217 47.158 C 301.154 47.398,301.254 47.655,301.520 47.938 C 302.135 48.593,302.140 54.860,301.525 55.475 C 301.267 55.733,301.159 55.998,301.208 56.254 C 301.261 56.529,301.193 56.664,300.974 56.722 C 300.797 56.768,300.667 56.952,300.667 57.156 C 300.667 57.351,300.554 57.554,300.417 57.606 C 300.279 57.659,300.167 57.844,300.167 58.018 C 300.167 58.191,300.054 58.333,299.917 58.333 C 299.779 58.333,299.667 58.446,299.667 58.583 C 299.667 58.722,299.519 58.833,299.333 58.833 C 299.148 58.833,299.000 58.944,299.000 59.083 C 299.000 59.250,298.833 59.333,298.500 59.333 C 298.101 59.333,298.000 59.405,298.000 59.688 C 298.000 59.995,297.932 60.028,297.479 59.938 C 297.193 59.880,294.718 59.833,291.979 59.833 L 287.000 59.833 287.000 51.667 L 287.000 43.500 292.149 43.500 C 296.572 43.500,297.311 43.535,297.394 43.750 M82.625 78.112 C 82.601 84.421,82.581 79.308,82.581 66.750 C 82.581 54.192,82.601 49.030,82.625 55.279 C 82.649 61.528,82.649 71.803,82.625 78.112 M90.606 44.250 C 90.682 44.447,91.028 44.500,92.248 44.500 C 93.654 44.500,93.802 44.530,93.882 44.833 C 93.952 45.104,94.109 45.167,94.717 45.167 C 95.228 45.167,95.495 45.246,95.560 45.417 C 95.616 45.563,95.866 45.667,96.161 45.667 C 96.499 45.667,96.667 45.749,96.667 45.917 C 96.667 46.081,96.831 46.167,97.147 46.167 C 97.488 46.167,97.653 46.264,97.715 46.500 C 97.778 46.743,97.942 46.833,98.318 46.833 C 98.665 46.833,98.833 46.915,98.833 47.083 C 98.833 47.221,98.946 47.333,99.083 47.333 C 99.221 47.333,99.333 47.446,99.333 47.583 C 99.333 47.721,99.446 47.833,99.583 47.833 C 99.721 47.833,99.833 47.946,99.833 48.083 C 99.833 48.221,99.953 48.333,100.099 48.333 C 100.245 48.333,100.404 48.483,100.452 48.667 C 100.500 48.850,100.643 49.000,100.769 49.000 C 100.896 49.000,101.000 49.112,101.000 49.250 C 101.000 49.387,101.112 49.500,101.250 49.500 C 101.388 49.500,101.500 49.604,101.500 49.731 C 101.500 49.857,101.653 50.001,101.840 50.050 C 102.114 50.122,102.158 50.225,102.069 50.580 C 101.979 50.939,102.024 51.038,102.313 51.113 C 102.570 51.180,102.667 51.336,102.667 51.686 C 102.667 52.002,102.752 52.167,102.917 52.167 C 103.056 52.167,103.167 52.315,103.167 52.500 C 103.167 52.685,103.278 52.833,103.417 52.833 C 103.602 52.833,103.667 53.028,103.667 53.583 C 103.667 54.139,103.731 54.333,103.917 54.333 C 104.085 54.333,104.167 54.502,104.167 54.849 C 104.167 55.224,104.257 55.388,104.500 55.452 C 104.789 55.527,104.833 55.679,104.833 56.603 C 104.833 57.437,104.887 57.667,105.083 57.667 C 105.284 57.667,105.333 57.924,105.333 58.982 C 105.333 59.998,105.390 60.320,105.583 60.394 C 105.790 60.473,105.833 60.912,105.833 62.911 C 105.833 65.222,105.849 65.333,106.167 65.333 C 106.480 65.333,106.500 65.444,106.500 67.231 C 106.500 68.988,106.475 69.134,106.167 69.215 C 105.853 69.297,105.833 69.442,105.833 71.734 C 105.833 73.785,105.794 74.167,105.583 74.167 C 105.382 74.167,105.333 74.426,105.333 75.500 C 105.333 76.574,105.285 76.833,105.083 76.833 C 104.894 76.833,104.833 77.037,104.833 77.667 C 104.833 78.265,104.768 78.500,104.603 78.500 C 104.350 78.500,104.172 78.995,104.169 79.708 C 104.167 80.004,104.078 80.167,103.917 80.167 C 103.749 80.167,103.667 80.334,103.667 80.672 C 103.667 80.967,103.563 81.217,103.417 81.273 C 103.274 81.328,103.167 81.576,103.167 81.851 C 103.167 82.169,103.081 82.333,102.917 82.333 C 102.742 82.333,102.667 82.509,102.667 82.917 C 102.667 83.386,102.602 83.500,102.339 83.500 C 102.115 83.500,102.041 83.580,102.106 83.750 C 102.173 83.923,102.095 84.000,101.851 84.000 C 101.650 84.000,101.500 84.107,101.500 84.250 C 101.500 84.387,101.388 84.500,101.250 84.500 C 101.112 84.500,101.000 84.615,101.000 84.755 C 101.000 84.896,100.888 85.054,100.750 85.106 C 100.612 85.159,100.500 85.307,100.500 85.434 C 100.500 85.562,100.385 85.667,100.245 85.667 C 100.104 85.667,99.946 85.779,99.894 85.917 C 99.841 86.054,99.693 86.167,99.566 86.167 C 99.438 86.167,99.333 86.279,99.333 86.417 C 99.333 86.554,99.221 86.667,99.083 86.667 C 98.944 86.667,98.833 86.815,98.833 87.000 C 98.833 87.270,98.722 87.333,98.250 87.333 C 97.843 87.333,97.667 87.409,97.667 87.583 C 97.667 87.721,97.554 87.833,97.417 87.833 C 97.279 87.833,97.167 87.946,97.167 88.083 C 97.167 88.269,96.970 88.333,96.401 88.333 C 95.780 88.333,95.619 88.395,95.550 88.661 C 95.475 88.946,95.366 88.975,94.723 88.887 C 94.062 88.796,93.971 88.824,93.888 89.143 C 93.795 89.499,93.777 89.500,88.314 89.500 L 82.833 89.500 82.833 66.750 L 82.833 44.000 86.672 44.000 C 89.930 44.000,90.525 44.038,90.606 44.250 M140.831 45.167 C 140.907 45.167,140.929 45.462,140.880 45.823 C 140.768 46.658,140.935 47.333,141.253 47.333 C 141.451 47.333,141.500 47.600,141.500 48.667 C 141.500 49.741,141.549 50.000,141.750 50.000 C 141.947 50.000,142.000 50.231,142.000 51.083 C 142.000 51.935,142.053 52.167,142.250 52.167 C 142.448 52.167,142.500 52.406,142.500 53.320 C 142.500 54.620,142.598 55.000,142.934 55.000 C 143.109 55.000,143.167 55.268,143.167 56.083 C 143.167 56.935,143.220 57.167,143.417 57.167 C 143.613 57.167,143.667 57.398,143.667 58.250 C 143.667 59.102,143.720 59.333,143.917 59.333 C 144.113 59.333,144.167 59.565,144.167 60.417 C 144.167 61.390,144.201 61.500,144.501 61.500 C 144.810 61.500,144.832 61.596,144.792 62.761 C 144.757 63.816,144.798 64.049,145.042 64.186 C 145.272 64.316,145.333 64.575,145.333 65.425 C 145.333 66.269,145.387 66.500,145.583 66.500 C 145.780 66.500,145.833 66.731,145.833 67.583 C 145.833 68.435,145.887 68.667,146.083 68.667 C 146.280 68.667,146.333 68.898,146.333 69.750 C 146.333 70.722,146.368 70.833,146.667 70.833 C 146.972 70.833,147.000 70.944,147.000 72.167 L 147.000 73.500 140.417 73.500 C 134.676 73.500,133.833 73.468,133.833 73.250 C 133.833 73.112,133.946 73.000,134.083 73.000 C 134.280 73.000,134.333 72.769,134.333 71.917 C 134.333 71.065,134.387 70.833,134.583 70.833 C 134.780 70.833,134.833 70.602,134.833 69.750 C 134.833 68.935,134.891 68.667,135.066 68.667 C 135.396 68.667,135.500 68.289,135.500 67.088 C 135.500 66.306,135.564 66.011,135.750 65.940 C 135.937 65.868,136.000 65.569,136.000 64.755 C 136.000 63.899,136.053 63.667,136.250 63.667 C 136.447 63.667,136.500 63.435,136.500 62.583 C 136.500 61.731,136.553 61.500,136.750 61.500 C 136.951 61.500,137.000 61.241,137.000 60.167 C 137.000 58.944,137.028 58.833,137.333 58.833 C 137.632 58.833,137.667 58.722,137.667 57.750 C 137.667 56.898,137.720 56.667,137.917 56.667 C 138.113 56.667,138.167 56.437,138.167 55.601 C 138.167 54.808,138.231 54.511,138.417 54.440 C 138.610 54.365,138.667 54.041,138.667 53.005 C 138.667 51.778,138.694 51.667,139.000 51.667 C 139.299 51.667,139.333 51.556,139.333 50.583 C 139.333 49.731,139.387 49.500,139.583 49.500 C 139.779 49.500,139.833 49.270,139.833 48.434 C 139.833 47.616,139.894 47.346,140.098 47.268 C 140.310 47.186,140.351 46.953,140.306 46.081 C 140.262 45.229,140.298 45.014,140.472 45.081 C 140.594 45.128,140.756 45.167,140.831 45.167 M248.167 46.486 C 248.167 46.662,248.247 46.832,248.346 46.865 C 248.444 46.898,248.562 47.411,248.608 48.004 C 248.654 48.598,248.754 49.233,248.829 49.417 C 249.136 50.163,249.312 50.788,249.410 51.492 C 249.468 51.900,249.576 52.312,249.651 52.408 C 249.726 52.505,249.833 52.990,249.889 53.487 C 249.945 53.984,250.068 54.468,250.162 54.562 C 250.256 54.656,250.333 55.126,250.333 55.607 C 250.333 56.087,250.408 56.527,250.500 56.583 C 250.592 56.640,250.667 56.836,250.667 57.020 C 250.667 57.221,250.740 57.308,250.852 57.239 C 250.982 57.158,251.003 57.322,250.923 57.796 C 250.861 58.165,250.881 58.605,250.969 58.775 C 251.331 59.476,251.479 59.960,251.572 60.743 C 251.626 61.198,251.744 61.644,251.835 61.735 C 251.926 61.826,252.000 62.179,252.000 62.519 C 252.000 62.860,252.072 63.164,252.161 63.194 C 252.249 63.225,252.373 63.700,252.436 64.250 C 252.499 64.800,252.610 65.290,252.684 65.338 C 252.819 65.428,253.121 66.840,253.280 68.125 C 253.328 68.515,253.434 68.833,253.517 68.833 C 253.599 68.833,253.667 69.152,253.668 69.542 C 253.668 69.931,253.781 70.465,253.918 70.727 C 254.055 70.990,254.167 71.496,254.167 71.852 C 254.167 72.209,254.242 72.500,254.333 72.500 C 254.425 72.500,254.500 72.650,254.500 72.833 C 254.500 73.017,254.575 73.167,254.667 73.167 C 254.758 73.167,254.833 73.260,254.833 73.375 C 254.833 73.539,253.430 73.574,248.250 73.538 L 241.667 73.492 241.667 72.663 C 241.667 72.037,241.728 71.833,241.917 71.833 C 242.118 71.833,242.167 71.574,242.167 70.500 C 242.167 69.426,242.215 69.167,242.417 69.167 C 242.613 69.167,242.667 68.935,242.667 68.083 C 242.667 67.231,242.720 67.000,242.917 67.000 C 243.113 67.000,243.167 66.771,243.167 65.936 C 243.167 65.012,243.211 64.861,243.500 64.785 C 243.787 64.710,243.833 64.558,243.833 63.700 C 243.833 62.967,243.900 62.677,244.083 62.606 C 244.268 62.536,244.333 62.244,244.333 61.500 C 244.333 60.756,244.399 60.464,244.583 60.394 C 244.776 60.320,244.833 60.000,244.833 59.002 C 244.833 57.829,244.866 57.697,245.180 57.615 C 245.453 57.543,245.521 57.405,245.497 56.970 C 245.435 55.856,245.496 55.500,245.750 55.500 C 245.946 55.500,246.000 55.270,246.000 54.434 C 246.000 53.641,246.064 53.344,246.250 53.273 C 246.442 53.200,246.500 52.884,246.500 51.922 C 246.500 50.917,246.550 50.667,246.750 50.667 C 246.948 50.667,247.000 50.426,247.000 49.500 C 247.000 48.444,247.032 48.333,247.333 48.333 C 247.632 48.333,247.667 48.222,247.667 47.250 C 247.667 46.398,247.720 46.167,247.917 46.167 C 248.054 46.167,248.167 46.310,248.167 46.486 M294.042 60.458 C 292.735 60.486,290.598 60.486,289.292 60.458 C 287.985 60.430,289.054 60.407,291.667 60.407 C 294.279 60.407,295.348 60.430,294.042 60.458 M106.366 62.417 L 106.449 62.083 106.433 62.417 C 106.409 62.897,106.090 62.828,106.050 62.333 L 106.016 61.917 106.149 62.333 C 106.271 62.713,106.290 62.721,106.366 62.417 M47.917 66.333 C 47.985 66.444,44.224 66.500,36.760 66.500 C 29.364 66.500,25.500 66.443,25.500 66.333 C 25.500 66.224,29.330 66.167,36.657 66.167 C 43.915 66.167,47.850 66.225,47.917 66.333 M298.548 71.667 C 298.620 71.939,298.776 72.000,299.401 72.000 C 299.970 72.000,300.167 72.064,300.167 72.250 C 300.167 72.387,300.271 72.500,300.399 72.500 C 300.527 72.500,300.674 72.612,300.727 72.750 C 300.780 72.887,300.960 73.000,301.128 73.000 C 301.519 73.000,302.833 74.370,302.833 74.777 C 302.833 74.947,302.983 75.180,303.167 75.295 C 303.350 75.409,303.500 75.682,303.500 75.900 C 303.500 76.119,303.601 76.337,303.725 76.384 C 303.860 76.436,303.990 76.854,304.049 77.426 C 304.103 77.951,304.227 78.460,304.324 78.557 C 304.615 78.848,304.553 83.526,304.251 84.106 C 304.114 84.369,304.002 84.855,304.001 85.188 C 304.000 85.521,303.888 85.886,303.750 86.000 C 303.612 86.114,303.500 86.385,303.500 86.602 C 303.500 86.819,303.350 87.091,303.167 87.205 C 302.983 87.320,302.833 87.508,302.833 87.623 C 302.833 87.739,302.721 87.833,302.583 87.833 C 302.446 87.833,302.333 87.946,302.333 88.083 C 302.333 88.221,302.221 88.333,302.083 88.333 C 301.946 88.333,301.833 88.437,301.833 88.564 C 301.833 88.691,301.683 88.834,301.500 88.882 C 301.317 88.930,301.167 89.088,301.167 89.234 C 301.167 89.418,301.013 89.500,300.667 89.500 C 300.333 89.500,300.167 89.583,300.167 89.750 C 300.167 89.925,299.991 90.000,299.583 90.000 C 299.176 90.000,299.000 90.075,299.000 90.250 C 299.000 90.468,298.222 90.500,293.000 90.500 L 287.000 90.500 287.000 80.917 L 287.000 71.333 292.731 71.333 C 298.321 71.333,298.463 71.341,298.548 71.667 M188.294 78.115 C 188.134 78.156,187.834 78.158,187.627 78.118 C 187.420 78.078,187.550 78.044,187.917 78.042 C 188.283 78.040,188.453 78.073,188.294 78.115 M252.804 85.958 C 250.175 85.984,245.825 85.984,243.137 85.958 C 240.449 85.933,242.600 85.911,247.917 85.911 C 253.233 85.911,255.432 85.932,252.804 85.958 M145.470 86.292 C 142.841 86.317,138.491 86.317,135.804 86.292 C 133.116 86.266,135.267 86.245,140.583 86.245 C 145.900 86.245,148.099 86.266,145.470 86.292 ",stroke:"none",fill:"#241c24",fillRule:"evenodd"}),yp.createElement("path",{id:"path4",d:"",stroke:"none",fill:"#181c50",fillRule:"evenodd"})));var sve=y(re()),vp={border:"1px solid var(--ab-color-error)",padding:"5px",fontWeight:600,margin:"5px",fontSize:"14px",alignItems:"center",color:"var(--ab-color-text-on-defaultbackground)",background:"var(--ab-color-defaultbackground)"},Jpt=t=>{let e=[["display","none"],["opacity","0"],["position","absolute"],["position","fixed"],["position","relative"],["visibility","hidden"]];for(let[r,n]of e)if(t.style[r]===n)return!1;return!0},Z8=t=>{let e=Ap.useRef(null);return Ap.useEffect(()=>{let n=setInterval(()=>{var o,i;((o=e.current)==null?void 0:o.isConnected)||alert("It is not allowed to remove the Adaptable watermark."),Jpt(e.current)||alert("It is not allowed to modify the Adaptable watermark."),((i=e==null?void 0:e.current)==null?void 0:i.style)&&(e.current.style.border=vp.border,e.current.style.padding=vp.padding,e.current.style.fontWeight=`${vp.fontWeight}`,e.current.style.margin=vp.margin,e.current.style.fontSize=vp.fontSize,e.current.style.color=vp.color,e.current.style.background=vp.background,e.current.style.display="flex",e.current.style.position="static",e.current.style.opacity="1",e.current.style.visibility="visible")},5e3);return()=>clearTimeout(n)},[]),Ap.createElement(sve.Flex,{style:vp,ref:e},Ap.createElement(lve,{style:{marginRight:10,width:100}}),Ap.createElement("div",null,t.children))};l();var Rm=y(require("react"));l();var hs=y(require("react")),dve=y(re());l();function uve(t){return(t.fields||[]).reduce((e,r)=>{var n;return e[r.name]=(n=r.defaultValue)!=null?n:"",e},{})}function pve({report:t,customDestination:e,isOpen:r,onDismiss:n}){let[o,i]=hs.useState({}),a=ht(),s=hs.useMemo(()=>({adaptableApi:a.api,report:t,reportData:void 0,customDestination:e,formData:o}),[o]),u=e==null?void 0:e.form;return hs.useEffect(()=>{u&&i(b(b({},uve(u)),o))},[u]),hs.createElement(Gn,{isOpen:r,showCloseButton:!1,style:{minHeight:"auto",minWidth:400},onDismiss:()=>{n()}},r&&hs.createElement(dve.Box,{padding:4},hs.createElement(i3,{formDef:u,data:o,context:s,onChange:i,api:a.api,displayTitle:!0,onButtonClick:d=>{n(),setTimeout(()=>{var c;s.reportData=a.api.internalApi.getReportService().getReportData(t),(c=d.onClick)==null||c.call(d,d,s)},20)}})))}var cve=t=>{var o;let e=Ht(),r=es(wW),n=Rm.useCallback(i=>e(PW(i)),[]);return Rm.createElement(Rm.Fragment,null,(o=r||[])==null?void 0:o.map(i=>i&&Rm.createElement(pve,{isOpen:!0,key:`${i.ReportName}-${i.ExportDestination.name}`,report:t.api.exportApi.getReportByName(i.ReportName),customDestination:i.ExportDestination,onDismiss:()=>n(i)})))};l();var xp=y(require("react"));var Ep=require("react");var mve=()=>{let{active:t,label:e}=es(m=>m.System.ProgressIndicator),[r,n]=(0,Ep.useState)(!1),[o,i]=(0,Ep.useState)({top:0,left:0,height:0,width:0}),a=ht(),s=(0,Ep.useRef)(a.getAdaptableContainerElement()),u=(0,Ep.useRef)(a.getAgGridContainerElement()),d=(m,f)=>{let h="ab-wait-for-progress-indicator";!m.current||(f?m.current.classList.add(h):m.current.classList.remove(h))},c=()=>{if(!u.current)return;let{top:m,left:f,height:h,width:g}=u.current.getBoundingClientRect();i({top:m,left:f,height:h,width:g})};return(0,Ep.useEffect)(()=>{d(s,t),d(u,t),c(),requestAnimationFrame(()=>{n(t)})},[t]),xp.createElement(xp.Fragment,null,t&&xp.createElement("div",{className:`ab-progress-indicator-wrapper ${r?"ab-progress-indicator-wrapper--visible":""}`,style:o},xp.createElement("div",{className:"ab-progress-indicator-body"},xp.createElement(F2,null),xp.createElement("span",{style:{marginLeft:"var(--ab-space-2)"}},e))))};var fve=class extends Ei.Component{render(){var r,n,o,i;let e=(i=(o=(n=(r=this.props.AdaptableApi)==null?void 0:r.internalApi)==null?void 0:n.getSystemState())==null?void 0:o.License)==null?void 0:i.watermark;return Ei.createElement("div",null,this.props.AdaptableApi.internalApi.getModuleService().isModuleAvailable("Dashboard")&&Ei.createElement(ove,{api:this.props.AdaptableApi}),Ei.createElement(J8,{onClose:this.props.onCloseLoadingPopup,showLoadingScreen:this.props.PopupState.LoadingPopup.ShowLoadingPopup}),Ei.createElement($8,{message:this.props.PopupState.PromptPopup.Message,header:this.props.PopupState.PromptPopup.Header,onClose:this.props.onClosePromptPopup,onConfirm:this.props.onConfirmPromptPopup,showPopup:this.props.PopupState.PromptPopup.ShowPromptPopup}),Ei.createElement(X8,{header:this.props.PopupState.ConfirmationPopup.Header,messsage:this.props.PopupState.ConfirmationPopup.Msg,showPopup:this.props.PopupState.ConfirmationPopup.ShowConfirmationPopup,cancelButtonText:this.props.PopupState.ConfirmationPopup.CancelButtonText,confirmButtonText:this.props.PopupState.ConfirmationPopup.ConfirmButtonText,onCancel:this.props.onCancelConfirmationPopup,onConfirm:this.props.onConfirmConfirmationPopup,showInputBox:this.props.PopupState.ConfirmationPopup.ShowInputBox,messageType:this.props.PopupState.ConfirmationPopup.MessageType,api:this.props.AdaptableApi}),Boolean(this.props.PopupState.ScreenPopup.ShowScreenPopup)&&Ei.createElement(K8,{componentName:this.props.PopupState.ScreenPopup.ComponentName,componentModule:this.props.PopupState.ScreenPopup.ComponentModule,onHide:this.props.onCloseScreenPopup,api:this.props.AdaptableApi,onClearParams:()=>this.props.onClearPopupParams(),moduleParams:this.props.PopupState.ScreenPopup.Params,moduleProps:this.props.PopupState.ScreenPopup.PopupProps}),Ei.createElement(cve,{api:this.props.AdaptableApi}),Ei.createElement(Ux,{limit:this.props.AdaptableApi.internalApi.getAdaptableOptions().notificationsOptions.maxNotifications,closeButton:!1,icon:!1,theme:"colored"}),(e==null?void 0:e.show)&&Ei.createElement(Z8,null,e==null?void 0:e.text),Ei.createElement(mve,null))}};function Zpt(t,e){return{PopupState:t.Popup,SystemState:t.System,AdaptableApi:e.Adaptable.api}}function ect(t){return{onCloseScreenPopup:()=>t(Ms()),onCloseAlertPopup:()=>t(sA()),onClosePromptPopup:()=>t(WW()),onConfirmPromptPopup:e=>t(zW(e)),onConfirmConfirmationPopup:e=>t(qW(e)),onCancelConfirmationPopup:()=>t(QW()),showPopup:(e,r,n)=>t(dr(e,r,n)),onClearPopupParams:()=>t(Sf())}}var tct=We(Zpt,ect)(fve),hve=({Adaptable:t})=>La(Ei.createElement(tct,{Adaptable:t}),t);l();var vu=y(require("react")),Ive=y(LC()),Tm=require("react");l();var gve=(t,e)=>{if(!Array.isArray(t)||!t.length)return{primaryKey:void 0,columns:[],data:[]};let r=[],n=[],o;if(Array.isArray(t[0])){r=t[0];for(let i=1,a=t.length;i<a;i++){let s=t[i],u={};for(let d=0;d<r.length;d++)u[r[d]]=s[d];n.push(u)}}else r=Object.keys(t[0]),n=t;return o=r[0],{primaryKey:o,columns:r,data:n}},eB={string:"abColDefString",number:"abColDefNumber",boolean:"abColDefBoolean",date:"abColDefDate"},rct="abColDefNumberArray",nct=t=>{let r=eB[typeof t]||eB.string;return t instanceof Date&&(r=eB.date),Array.isArray(t)&&t.length&&typeof t[0]=="number"&&(r=rct),r},bve=t=>{let e=t.data[0],r=t.columns.map(o=>{let i=e[o],a=nct(i);return{headerName:o,field:o,type:a,filter:!0,sortable:!0,enableRowGroup:!0,resizable:!0,editable:!0}});return{rowData:t.data,columnDefs:r,floatingFilter:!0,enableRangeSelection:!0,rowSelection:"multiple",rowHeight:30}};var Dve=y(re());l();var pn=y(require("react")),tB=y(re()),zO=require("react");l();var er=y(require("react"));l();var Cve=require("react"),oct=(t,e,r,n)=>{n=n||{};let o=n.onChange||((c,m)=>{}),i=n.onBatchChange||(c=>{}),[a,s]=(0,Cve.useState)(t.reduce((c,m)=>(c[m.field]=r?m[r]:e,c),{})),u=c=>t.filter(m=>m.field===c)[0],d={selected:a,isSelected:c=>!!a[c],isAllSelected:()=>Object.keys(a).length===t.length,isNoneSelected:()=>Object.keys(a).length===0,selectColumn:c=>{a[c]||(s(E(b({},a),{[c]:!0})),o(u(c),!0))},deselectColumn:c=>{if(a[c]){let m=b({},a);delete m[c],s(m),o(u(c),!1)}},toggleColumn:c=>{d.isSelected(c)?d.deselectColumn(c):d.selectColumn(c)},deselectAll:()=>{s({}),t.forEach(c=>{o(c,!1)}),i(!1)},selectAll:()=>{s(t.reduce((c,m)=>(c[m.field]=!0,c),{})),i(!0)}};return d},Im=oct;l();var Pm=y(require("react")),ab=require("react"),yve=y(re());l();var HO=y(require("react"));var ict=()=>HO.createElement("div",{style:{display:"flex",flexFlow:"column",position:"absolute",fill:"var(--ab-cmp-dropdown__fill)",top:"50%",right:"var(--ab-space-1)",transform:"translate3d(0px, -50%, 0px)",cursor:"pointer"}},HO.createElement(Ct,{name:"triangle-up",size:24,style:{position:"relative",top:7}}),HO.createElement(Ct,{name:"triangle-down",size:24,style:{position:"relative",top:-7}})),Sve=ict;var Dm="ab-Dropdown",act=t=>{let te=t,{options:e,multiple:r,name:n,autoFocus:o,showEmptyItem:i=!0,showClearButton:a,disabled:s,allowSearch:u,clearButtonProps:d,value:c,onChange:m,style:f,onExpand:h}=te,g=Ye(te,["options","multiple","name","autoFocus","showEmptyItem","showClearButton","disabled","allowSearch","clearButtonProps","value","onChange","style","onExpand"]);a!==!1&&(a=!0);let[C,S]=mr(t,"value",void 0,{onChange:t.onChange}),v=null,[x,R]=(0,ab.useState)([]),D=()=>{h&&h()};if(typeof e=="function"){let oe=e;D=()=>{let X=oe();R(X),h&&h()},e=x}let T=t.emptyText||t.placeholder||"Select an option",w=e.map(oe=>(typeof oe=="string"&&(oe={label:oe,value:oe}),C===oe.value&&(v=oe),oe));i&&w.splice(0,0,{label:T,value:""});let N=(oe,X)=>{S(oe&&oe.value,X,oe)},M=(0,ab.useRef)(null),A=(0,ab.useRef)(null),[I,O]=(0,ab.useState)(!1),z=oe=>{if(oe.target===M.current){O(!0);return}oe.target===A.current&&M.current.focus()},F=()=>{O(!1)},B=v?v.label:null,Y=t.renderLabel?t.renderLabel(B,v):B;v||(Y=T);let ie=()=>Pm.createElement(Z,E(b({variant:"text",icon:"clear",tone:"none",tooltip:"Clear",iconSize:20,px:0,py:0,marginRight:1},d),{style:b({zIndex:10,color:"inherit"},d?d.style:null),onClick:oe=>{oe.preventDefault(),N(null,oe)}}));return Pm.createElement(yve.Flex,E(b({ref:A,flexDirection:"row",alignItems:"center"},g),{className:He(t.className,Dm,v?`${Dm}--not-empty`:`${Dm}--empty`,I?`${Dm}--focused`:`${Dm}--not-focused`,s?`${Dm}--disabled`:null),style:f,tabIndex:I?-1:t.tabIndex||0,onFocus:z,onBlur:F}),Pm.createElement("div",{style:{display:"inline-block"},className:`${Dm}__text`},Y,Pm.createElement(Sve,null)),Pm.createElement("select",{ref:M,tabIndex:-1,disabled:s,value:C==null?"":C,onChange:oe=>{let X=w.filter(ve=>ve.value==oe.target.value)[0];N(X,oe)},style:{opacity:0,width:"100%",height:"100%",top:0,left:0,zIndex:1},onMouseDown:D,name:n,multiple:r,autoFocus:o},w.map(oe=>Pm.createElement("option",{key:oe.value,value:oe.value},oe.label))),a&&v?ie():null)},vve=act;var WO=require("react");var lct=[{value:"abColDefString",label:"Text (string)"},{value:"abColDefNumber",label:"Number"},{value:"abColDefDate",label:"Date"},{value:"abColDefBoolean",label:"Boolean"}],Ave={width:"100%",minWidth:50,textAlign:"start"},sct=()=>{let[,t]=(0,WO.useState)(Date.now());return()=>{t(Date.now())}},uct=({columns:t,handle:e,onValidityChange:r})=>{let n=sct(),o=(0,WO.useRef)(t),i=Fe=>{o.current=Fe},a=Fe=>{i(Fe),n()},s=()=>o.current,u=o.current,d=(Fe,tr,Rt)=>{Fe=E(b({},Fe),{[Rt]:tr});let Cn=s().map(Br=>Br.field===Fe.field?Fe:Br);a(Cn)},c=(Fe,tr)=>{let Rt=s().map(Cn=>E(b({},Cn),{[tr]:Fe}));a(Rt)},m=(Fe,tr)=>{let Rt=s().map(Cn=>Cn.field===tr?E(b({},Cn),{caption:Fe}):Cn);i(Rt)},f=(Fe,tr)=>{let Rt=s().map(Cn=>Cn.field===Fe.field?E(b({},Cn),{type:tr}):Cn);a(Rt)},[h,g]=er.useState(u[0].field),{selected:C,isSelected:S,isAllSelected:v,isNoneSelected:x,selectColumn:R,deselectColumn:D,selectAll:T,deselectAll:w}=Im(u,!0,null);e.current={getColumns:()=>s().filter(Fe=>S(Fe.field)),getPrimaryKey:()=>h};let{isSelected:N,isAllSelected:M,isNoneSelected:A,selectColumn:I,deselectColumn:O,selectAll:z,deselectAll:F}=Im(u,!0,"sortable",{onBatchChange:Fe=>{c(Fe,"sortable")},onChange:(Fe,tr)=>{d(Fe,tr,"sortable")}}),{isSelected:B,isAllSelected:Y,isNoneSelected:ie,selectColumn:te,deselectColumn:oe,selectAll:X,deselectAll:ve}=Im(u,!0,"enableRowGroup",{onBatchChange:Fe=>{c(Fe,"enableRowGroup")},onChange:(Fe,tr)=>{d(Fe,tr,"enableRowGroup")}}),{isSelected:se,isAllSelected:J,isNoneSelected:Se,selectColumn:ue,deselectColumn:me,selectAll:Te,deselectAll:Be}=Im(u,!0,"resizable",{onBatchChange:Fe=>{c(Fe,"resizable")},onChange:(Fe,tr)=>{d(Fe,tr,"resizable")}}),{isSelected:Je,isAllSelected:de,isNoneSelected:sr,selectColumn:Ve,deselectColumn:P,selectAll:V,deselectAll:L}=Im(u,!0,"editable",{onBatchChange:Fe=>{c(Fe,"editable")},onChange:(Fe,tr)=>{d(Fe,tr,"editable")}}),{isSelected:fe,isAllSelected:Oe,isNoneSelected:Ge,selectColumn:nt,deselectColumn:At,selectAll:Ft,deselectAll:xr}=Im(u,!0,"filter",{onBatchChange:Fe=>{c(Fe,"filter")},onChange:(Fe,tr)=>{d(Fe,tr,"filter")}}),Dr=v(),yr=x(),go=[{Content:"Primary Key",Size:3,key:"pk"},{key:"included",Content:er.createElement("b",null,er.createElement("div",null,"Included"),er.createElement(he,{checked:Dr?!0:yr?!1:null,onChange:Fe=>{Fe?T():w()}})),Size:3},{Content:"Field",Size:5,key:"field"},{Content:"Type",Size:4,key:"size"},{key:"sortable",Content:er.createElement("b",null,er.createElement("div",null,"Sortable"),er.createElement(he,{checked:M()?!0:A()?!1:null,onChange:Fe=>{Fe?z():F()}})),Size:3},{key:"editable",Content:er.createElement("b",null,er.createElement("div",null,"Editable"),er.createElement(he,{checked:de()?!0:sr()?!1:null,onChange:Fe=>{Fe?V():L()}})),Size:3},{Size:3,key:"resizable",Content:er.createElement("b",null,er.createElement("div",null,"Resizable"),er.createElement(he,{checked:J()?!0:Se()?!1:null,onChange:Fe=>{Fe?Te():Be()}}))},{Size:3,key:"enableRowGroup",Content:er.createElement("b",null,er.createElement("div",null,"Groupable"),er.createElement(he,{checked:Y()?!0:ie()?!1:null,onChange:Fe=>{Fe?X():ve()}}))},{Content:er.createElement("b",null,er.createElement("div",null,"Filterable"),er.createElement(he,{checked:Oe()?!0:Ge()?!1:null,onChange:Fe=>{Fe?Ft():xr()}})),Size:3,key:"filterable"}],Zr=u.map(Fe=>{var Br;let tr=Fe.field===h,Rt=go.map(rr=>b({},rr));Rt[0].Content=er.createElement(ke,{checked:tr,onChange:rr=>{rr&&S(Fe.field)&&g(Fe.field)}}),Rt[1].Content=er.createElement(he,{checked:S(Fe.field),onChange:rr=>{rr?R(Fe.field):D(Fe.field)}});let Cn=qe.Humanize(Fe.field);return Rt[2].Content=er.createElement($e,{style:Ave,defaultValue:Fe.caption!=null?Fe.caption:Cn,placeholder:Cn,onChange:rr=>{m(rr.target.value,Fe.field)}}),Rt[3].Content=er.createElement(vve,{style:Ave,showClearButton:!1,options:lct,value:(Br=Fe==null?void 0:Fe.type)!=null?Br:"",onChange:f.bind(null,Fe)}),Rt[4].Content=er.createElement(he,{checked:N(Fe.field),onChange:rr=>{rr?I(Fe.field):O(Fe.field)}}),Rt[5].Content=er.createElement(he,{checked:Je(Fe.field),onChange:rr=>{rr?Ve(Fe.field):P(Fe.field)}}),Rt[6].Content=er.createElement(he,{checked:se(Fe.field),onChange:rr=>{rr?ue(Fe.field):me(Fe.field)}}),Rt[7].Content=er.createElement(he,{checked:B(Fe.field),onChange:rr=>{rr?te(Fe.field):oe(Fe.field)}}),Rt[8].Content=er.createElement(he,{checked:fe(Fe.field),onChange:rr=>{rr?nt(Fe.field):At(Fe.field)}}),er.createElement(un,{key:Fe.field,colItems:Rt,style:{cursor:"pointer"}})});return er.useEffect(()=>{r(S(h))},[C,h]),er.createElement(ji,{headerAlign:"flex-start",style:{display:"flex",flex:"1 1 auto",overflow:"auto",flexFlow:"column",textAlign:"center"},colItems:go,items:Zr})};function dct(){return!0}var xve=er.memo(uct,dct);l();var Ut=y(require("react"));var ky=y(re());var pct=t=>{let e=t.adaptableOptions,r=b(b({},ar.layoutOptions),e.layoutOptions),n=b(b({},ar.generalOptions),e.generalOptions),o=b(b({},ar.userInterfaceOptions),e.userInterfaceOptions),i=b(b({},ar.searchOptions),e.searchOptions),a=b(b({},ar.filterOptions),e.filterOptions),s=b(b({},ar.gridOptions),e.gridOptions);return Ut.createElement(Ut.Fragment,null,Ut.createElement(_t,null,"General Options"),Ut.createElement(tt,{margin:2,columns:[{name:"children"},{name:"label",style:{textAlign:"start"}}]},Ut.createElement(pe,{label:"Show Missing Primary Key Warning"},Ut.createElement(he,{checked:n.showMissingPrimaryKeyAlert,onChange:u=>{e=b({},e),e.generalOptions=b({},e.generalOptions),e.generalOptions.showMissingPrimaryKeyAlert=u,t.onChangeadaptableOptions(e)}}))),Ut.createElement(_t,null,"Grid Options"),Ut.createElement(tt,{margin:2,columns:[{name:"children"},{name:"label",style:{textAlign:"start"}}]},Ut.createElement(pe,{label:"Enable Range Selection"},Ut.createElement(he,{checked:s.enableRangeSelection,onChange:u=>{e=b({},e),e.gridOptions=b({},e.gridOptions),e.gridOptions.enableRangeSelection=u,t.onChangeadaptableOptions(e)}})),Ut.createElement(pe,{label:"Show Quick Filter"},Ut.createElement(he,{checked:s.floatingFilter,onChange:u=>{e=b({},e),e.gridOptions=b({},e.gridOptions),e.gridOptions.floatingFilter=u,t.onChangeadaptableOptions(e)}})),Ut.createElement(pe,{label:"Suppress Column Virtualisation"},Ut.createElement(he,{checked:s.suppressColumnVirtualisation,onChange:u=>{e=b({},e),e.gridOptions=b({},e.gridOptions),e.gridOptions.suppressColumnVirtualisation=u,t.onChangeadaptableOptions(e)}})),Ut.createElement(pe,{label:"Show Column Menu Button"},Ut.createElement(he,{checked:s.suppressMenuHide,onChange:u=>{e=b({},e),e.gridOptions=b({},e.gridOptions),e.gridOptions.suppressMenuHide=u,t.onChangeadaptableOptions(e)}}))),Ut.createElement(_t,null,"Layout Options"),Ut.createElement(tt,{margin:2,columns:[{name:"children"},{name:"label",style:{textAlign:"start"}}]},Ut.createElement(pe,{label:"Auto Save Layouts"},Ut.createElement(he,{checked:r.autoSaveLayouts,onChange:u=>{e=b({},e),e.layoutOptions=b({},e.layoutOptions),e.layoutOptions.autoSaveLayouts=u,t.onChangeadaptableOptions(e)}}))),Ut.createElement(_t,null,"Search Options"),Ut.createElement(tt,{margin:2,columns:[{name:"children"},{name:"label",style:{textAlign:"start"}}]},Ut.createElement(pe,{label:"Case Sensitive Text Comparison"},Ut.createElement(he,{checked:n.caseSensitiveTextComparisons,onChange:u=>{e=b({},e),e.generalOptions=b({},e.generalOptions),e.generalOptions.caseSensitiveTextComparisons=u,t.onChangeadaptableOptions(e)}})),Ut.createElement(pe,{label:"Use AG Grid Filter Form Style"},Ut.createElement(he,{checked:a.useAgGridFilterFormStyle,onChange:u=>{e=b({},e),e.filterOptions=b({},e.filterOptions),e.filterOptions.useAgGridFilterFormStyle=u,t.onChangeadaptableOptions(e)}})),Ut.createElement(pe,{label:"Use Adaptable Quick Filter"},Ut.createElement(he,{checked:a.useAdaptableQuickFilter==!0,onChange:u=>{e=b({},e),e.filterOptions=b({},e.filterOptions),e.filterOptions.useAdaptableQuickFilter=u,t.onChangeadaptableOptions(e)}})),Ut.createElement(pe,{label:"Use Adaptable Filter Form"},Ut.createElement(he,{checked:a.useAdaptableFilterForm==!0,onChange:u=>{e=b({},e),e.filterOptions=b({},e.filterOptions),e.filterOptions.useAdaptableFilterForm=u,t.onChangeadaptableOptions(e)}})),Ut.createElement(pe,{label:"Indicate Filtered Columns"},Ut.createElement(he,{checked:a.indicateFilteredColumns,onChange:u=>{e=b({},e),e.filterOptions=b({},e.filterOptions),e.filterOptions.indicateFilteredColumns=u,t.onChangeadaptableOptions(e)}})),Ut.createElement(pe,{label:"Auto Apply Filter"},Ut.createElement(he,{checked:a.autoApplyFilter,onChange:u=>{e=b({},e),e.filterOptions=b({},e.filterOptions),e.filterOptions.autoApplyFilter=u,t.onChangeadaptableOptions(e)}}))),Ut.createElement(ky.Flex,{flexDirection:"row",alignItems:"center",margin:2},Ut.createElement(ky.Text,{style:{flex:3},marginRight:2},"Max Column Value Items To Display"),Ut.createElement(ky.Flex,{flex:7,flexDirection:"row",alignItems:"center"},Ut.createElement($e,{style:{flex:1},type:"number",placeholder:"Enter Number",onChange:u=>{let d=u.target,c=parseInt(d.value);e=b({},e),e.filterOptions=b({},e.filterOptions),e.filterOptions.maxFilterValuesToDisplay=c,t.onChangeadaptableOptions(e)},value:a.maxFilterValuesToDisplay,marginRight:3}))))},Eve=pct;var cct=t=>{let[e,r]=(0,zO.useState)(t.adaptableOptions),[n,o]=(0,zO.useState)(!0),[i,a]=(0,zO.useState)(0),s=n;e.adaptableId||(s=!1);let u=s&&i===0,d=pn.useRef(),c=C=>{let S=b({},e);S.adaptableId=C.target.value,r(S)},m=()=>{let C=b({},e);C.gridOptions=b({},e.gridOptions),C.gridOptions.columnDefs=d.current.getColumns().map(S=>{let v=E(b({},S),{headerName:S.caption||qe.Humanize(S.field)});return delete v.caption,v}),C.primaryKey=d.current.getPrimaryKey(),r(C),t.onFinish(C)},f=()=>{a(1)},h=pn.createElement(pn.Fragment,null,pn.createElement(Gt,{header:"Configure AdapTable",border:"none",bodyScroll:!1,bodyProps:{padding:0,style:{overflow:"auto",display:"flex",flexFlow:"column"}},borderRadius:"none",style:{fontSize:16,flex:1}},pn.createElement(Gt,{border:"none"},pn.createElement(tt,null,pn.createElement(pe,{label:"AdaptableId"},pn.createElement($e,{value:e.adaptableId,onChange:c,style:{minWidth:"20rem"}})))),pn.createElement(xve,{handle:d,onValidityChange:C=>{o(C)},columns:e.gridOptions.columnDefs})));return pn.createElement(Gn,{modal:!0,isOpen:!0,showCloseButton:!1},pn.createElement(tB.Flex,{flexDirection:"column",style:{height:"100%",width:"90vw",maxWidth:1e3,maxHeight:"90vh"}},i===0?h:pn.createElement(pn.Fragment,null,pn.createElement(Gt,{header:"Configure AdapTable",border:"none",style:{flex:1,overflow:"auto"}},pn.createElement(Eve,{adaptableOptions:e,onChangeadaptableOptions:C=>{r(C)}}))),pn.createElement(tB.Flex,{flexDirection:"row",padding:2,backgroundColor:"primary",alignItems:"center"},pn.createElement(Z,{tone:"neutral",variant:"text",tooltip:"Cancel configuration ",onClick:t.onCancel},"Cancel"),pn.createElement("div",{style:{flex:1}}),pn.createElement(Z,{variant:"outlined",onClick:()=>a(0),disabled:i===0,marginRight:2,tone:"neutral"},"Back"),pn.createElement(Z,{variant:"outlined",onClick:f,disabled:!u,marginRight:2,tone:"neutral"},"Next"),pn.createElement(Z,{tone:"accent",variant:"raised",icon:"check",onClick:m,disabled:!s},"Finish"))))},Rve=cct;var mct=t=>vu.createElement(Ive.ThemeProvider,{theme:qh},vu.createElement(bct,b({},t))),fct={dropped:!1},hct=(t,e)=>e.type==="DROPPED"?E(b({},t),{adaptableOptions:e.payload,dropped:!0,error:null}):e.type==="ERROR"?E(b({},t),{dropped:!1,error:e.payload}):e.type==="CANCEL"?E(b({},t),{error:null,dropped:!1}):t,gct=t=>{if(!t||!Array.isArray(t.columns))throw"We can't find any columns in your configuration";if(!t.columns.length)throw"You should have at least one column";if(!t.columns.reduce((r,n)=>!n||typeof n!="string"?!1:r,!0))throw"Some of your columns are not strings";if(!Array.isArray(t.data))throw"We can't find the data array in your configuration";return!0},bct=t=>{let[e,r]=(0,Tm.useReducer)(hct,E(b({},fct),{adaptableOptions:t.adaptableOptions})),[n,o]=(0,Tm.useState)(Date.now()),[i,a]=(0,Tm.useState)(!1),s=(c,m)=>{let f=(t.prepareData||gve)(c,m);try{gct(f)}catch(S){return r({type:"ERROR",payload:`Invalid adaptable configuration - ${S}`})}let h=bve(f),g=b({},t.adaptableOptions);g.adaptableId=g.adaptableId||(m?m.name:""),g.gridOptions=h,f.primaryKey&&(g.primaryKey=f.primaryKey),(t.fetchData?Boolean(t.showFetchDataWizard):!0)?r({type:"DROPPED",payload:g}):t.onInit(g)},u;e.dropped&&(u=vu.createElement(Rve,{adaptableOptions:e.adaptableOptions,onCancel:()=>{o(Date.now()),r({type:"CANCEL"})},onFinish:c=>{t.onInit(c)}})),(0,Tm.useEffect)(()=>{t.fetchData&&(a(!0),t.fetchData().then(c=>{s(c),a(!1)}))},[]);let d=!t.fetchData;return vu.createElement(vu.Fragment,null,d&&vu.createElement(VSe,{key:n,className:"ab-nocode-wizard",toJSON:t.fileContentsToJSON,readFile:t.readFile,fileAccept:t.fileAccept,helpText:t.helpText,message:e.error,defaultText:t.defaultActionMessage,dragOverText:t.dragOverActionMessage,loadingText:t.loadingMessage,onDropSuccess:s}),i&&vu.createElement(Dve.Flex,{className:"ab-nocode-wizard",alignItems:"center",justifyContent:"center",flexDirection:"column"},t.loadingMessage||"Loading ..."),u)},qO=mct;l();var Oo=y(require("react"));var Mve=require("react-dom"),KO=y(re());l();var QO=y(require("react"));var By=class extends QO.Component{render(){return QO.createElement(Z,E(b({"data-name":"configure",tooltip:"Configure",iconSize:18,icon:"build"},this.props),{variant:"text"}))}};l();var Ip=y(require("react"));l();var Rp=y(require("react")),lb=require("react");var wve=t=>{var u;let{customToolPanel:e}=t,{api:r}=ht(),n=(0,lb.useRef)(),o=`ab-ToolPanel__${e.name}__contents`,i=`ab-ToolPanel__${e.name}__buttons`,[a,s]=(0,lb.useState)("");return(0,lb.useLayoutEffect)(()=>{let d=n.current;if(Pve(e)){let c=e.render({visible:!0,node:d,adaptableApi:r});s(c)}else Tve(e)&&r.internalApi.createFrameworkComponent(d,e.frameworkComponent,"toolPanel");return()=>{Pve(e)?e.render({visible:!1,node:d,adaptableApi:r}):Tve(e)&&r.internalApi.destroyFrameworkComponent(d,e.frameworkComponent,"toolPanel")}},[]),Rp.createElement(Rp.Fragment,null,Rp.createElement("div",{ref:n,id:o,className:o,dangerouslySetInnerHTML:{__html:a},style:{width:"100%"}}),((u=e.toolPanelButtons)==null?void 0:u.length)&&Rp.createElement("div",{id:i,className:`ab-ToolPanel__custom-content__buttons ${i}`},e.toolPanelButtons.map(d=>{let c={style:{height:"var(--ab-cmp-simple-button__height)",width:"var(--ab-cmp-simple-button__width)"}},m=d.icon&&Object.assign({},c,d.icon),f={adaptableApi:r,toolPanelState:r.toolPanelApi.getToolPanelState(),customToolPanel:e},h=r.internalApi.getStyleForButton(d,f),g=r.internalApi.getLabelForButton(d,f),C=r.internalApi.getTooltipForButton(d,f);if(d.hidden&&d.hidden(d,f))return null;let S=d.disabled&&d.disabled(d,f),v=h&&h.variant?h.variant:"text",x=h&&h.tone?h.tone:"none",R=g!=null?g:Sd();return Rp.createElement(Z,{key:R,variant:v,tone:x,className:`ab-ToolPanel__Home__${Da(g)} ${(h==null?void 0:h.className)||""}`,tooltip:C,disabled:S,onClick:()=>d.onClick(d,f),accessLevel:"Full"},d.icon?Rp.createElement("img",b({},m)):null,g)})))},Pve=t=>t.render,Tve=t=>t.frameworkComponent;var Fve=y(re());l();var ka=y(require("react"));l();var jO=y(require("react"));var Vy=class extends jO.Component{render(){return jO.createElement(Z,E(b({"data-name":"close",tooltip:"Close",iconSize:20,icon:"clear"},this.props),{variant:"text"}))}};var Ove=y(re());var YO=class extends ka.Component{render(){let d=this.props,{useDefaultPanelStyle:e,isMinimised:r,onMinimiseChanged:n,headerText:o,onClose:i,onConfigure:a}=d,s=Ye(d,["useDefaultPanelStyle","isMinimised","onMinimiseChanged","headerText","onClose","onConfigure"]),u=ka.createElement(ka.Fragment,null,r?ka.createElement(Ey,{className:"ab-ToolPanelPanel__header-maximise",onClick:()=>n(),marginRight:1}):ka.createElement(xy,{className:"ab-ToolPanelPanel__header-minimise",onClick:()=>n(),marginRight:1}),ka.createElement(Ove.Flex,{className:"ab-ToolPanelPanel__header-text",flex:1,alignItems:"center",marginLeft:0},o),a&&ka.createElement(By,{iconSize:16,marginLeft:1,className:"ab-ToolPanelPanel__header-configure-button",tooltip:"Configure "+o,onClick:()=>a()}),i&&ka.createElement(Vy,{marginLeft:0,className:"ab-ToolPanelPanel__header-close-button",tooltip:"Close "+o,onClick:()=>i(),disabled:s.disabled}));return ka.createElement(Gt,E(b({border:"var(--ab-cmp-toolpanelpanel__border)"},s),{className:He("ab-ToolPanelPanel",s.className),header:u,style:b({color:"var(--ab-cmp-toolpanelpanel__color)",fill:"var(--ab-cmp-toolpanelpanel__fill)"},s.style),headerProps:E(b({},s.headerProps),{alignItems:"stretch",style:b({padding:"var(--ab-cmp-toolpanelpanel_header__padding)",background:"var(--ab-cmp-toolpanelpanel_header__background)",color:"var(--ab-cmp-toolpanelpanel_header__color)",fill:"var(--ab-cmp-toolpanelpanel_header__fill)"},s.headerProps?s.headerProps.style:null)}),bodyProps:E(b({},s.bodyProps),{style:E(b({padding:"var(--ab-cmp-dashboardpanel_body__padding)",background:"var(--ab-cmp-dashboardpanel_body__background)"},s.bodyProps?s.bodyProps.style:null),{display:"flex",flexDirection:"column"})})}))}};YO.defaultProps={headerText:"",onClose:null,onConfigure:null,onMinimiseChanged:null,isMinimised:!0};var rB=t=>{let{adaptableToolPanel:e,customToolPanel:r,visibilityMode:n,onVisibilityModeChange:o}=t,{api:i}=ht(),a=()=>{var g;if(e){let C=i.internalApi.getEntitlementService().getEntitlementAccessLevelForModule(e),S=i.internalApi.getModuleService().getModuleInfoByModule(e),v=kO.get(e);return[e,S.FriendlyName,v?Ip.createElement(v,{viewType:"ToolPanel",api:i,accessLevel:C,moduleInfo:S}):null,S]}else return[r.name,(g=r==null?void 0:r.title)!=null?g:r.name,Ip.createElement(wve,{customToolPanel:r})]},[s,u,d,c]=a(),m=n==="collapsed",f=!!c&&s!=="OpenFin"&&s!=="IPushPull"&&s!=="Glue42",h=i.internalApi.getModuleService().getModuleById(Bl).isModuleEditable();return Ip.createElement(Ip.Fragment,null,d&&Ip.createElement(Fve.Box,{marginTop:1,className:`ab-ToolPanel__container ab-ToolPanel__container--${s}`},Ip.createElement(YO,{className:`ab-ToolPanel__${s}`,"data-name":`ab-ToolPanel__${s}`,headerText:u,disabled:!h,onMinimiseChanged:()=>{o(m?"expanded":"collapsed")},isMinimised:m,onConfigure:f?()=>{let g=i.internalApi.getModuleService().getPopupMaxWidth(c.ModuleName),C=g?{maxWidth:g,source:"Toolbar"}:{source:"Toolbar"};i.internalApi.dispatchReduxAction(dr(c.ModuleName,c.Popup,C))}:null,onClose:()=>i.internalApi.dispatchReduxAction(FE(s))},m?null:d)))};var Cct=t=>t.preventDefault(),Sct=t=>{var T;let e=Oo.createElement(Ct,{name:"align-justify"}),r=t.api.internalApi.getEntitlementService(),n=t.api.internalApi.getModuleService(),o=t.api.internalApi.getAdaptableOptions(),i=o.toolPanelOptions,a=o.settingsPanelOptions;if(r.isModuleHiddenEntitlement("ToolPanel"))return Oo.createElement(_t,{mt:2,mb:2,p:2,style:{fontSize:"var(--ab-font-size-3)"}},"Not enough rights");let u=t.MainMenuItems.filter(w=>w.isVisible).map(w=>w.module);r.isModuleHiddenEntitlement("Dashboard")||u.push("Dashboard"),t.api.pluginsApi.getipushpullPluginApi()&&!r.isModuleHiddenEntitlement("IPushPull")&&u.push("IPushPull"),t.api.pluginsApi.getOpenFinPluginApi()&&!r.isModuleHiddenEntitlement("OpenFin")&&u.push("OpenFin");let d=Ag.filter(w=>Pe.ContainsItem(u,w)),c=(w,N)=>{N==="expanded"?t.onExpandToolPanel(w):t.onCollapseToolPanel(w)},m=t.api.internalApi.getModuleService().getModuleById(Bl).isModuleEditable(),f=[],h=((T=t.ToolPanels)!=null?T:[]).map(w=>{var A;let N=(A=w.VisibilityMode)!=null?A:"collapsed",M=t.api.toolPanelApi.getCustomToolPanelByName(w.Name);if(M)return f.push(M.name),Oo.createElement(rB,{key:M.name,customToolPanel:M,visibilityMode:N,onVisibilityModeChange:I=>c(M.name,I)});if(d.some(I=>I===w.Name)){let I=w.Name;return f.push(I),Oo.createElement(rB,{key:I,adaptableToolPanel:I,visibilityMode:N,onVisibilityModeChange:O=>c(I,O)})}}),g=()=>{if(!i.showToolPanelsDropdown)return;let w=[{clickable:!1,label:Oo.createElement("div",{key:"toolPanelTitle"}," ","\xA0\xA0",Oo.createElement("b",null,"Tool Panels"),R("ToolPanels"))}],N=A=>f.includes(A),M=(A,I,O)=>({id:A,onClick:()=>{x(A,!O)},label:Oo.createElement(he,{className:"ab-dd-checkbox",variant:"agGrid",my:0,as:"div",value:A,key:A,checked:O,onMouseDown:Cct},A)});return t.api.toolPanelApi.getCustomToolPanels().forEach(A=>{let I=A.name;w.push(M(I,I,N(I)))}),d.forEach(A=>{let I=n.getModuleInfoByModule(A).FriendlyName;w.push(M(A,I,N(A)))}),w.sort((A,I)=>A.label<I.label?-1:A.label>I.label?1:0),Oo.createElement(rt,{variant:"text",tone:"none",collapseOnItemClick:!1,key:"dropdown-toolpanels",id:"dropdown-toolpanels",className:"ab-ToolPanel__toolbars",columns:["label"],items:w,tooltip:"Manage Tool Panels"},e)},C=()=>{let w=[],N=t.ModuleButtons;return a.alwaysShowInToolPanel&&!t.api.internalApi.getEntitlementService().isModuleHiddenEntitlement("SettingsPanel")&&!N.includes("SettingsPanel")&&(N=["SettingsPanel",...N]),(N==null?void 0:N.length)&&w.push(N.map(A=>{let I=t.MainMenuItems.find(O=>O.isVisible&&O.module==A);if(I)return Oo.createElement(Z,{"data-name":I.module,key:I.label,icon:I.icon,tone:"none",variant:"text",className:`ab-ToolPanel__Home__${Da(I.label)}`,tooltip:I.label,onClick:()=>t.onClick(I.reduxAction),accessLevel:"Full"})})),w},S=()=>t.api.toolPanelApi.getCustomToolPanelButtons().map(w=>{let N={style:{height:"var(--ab-cmp-simple-button__height)",width:"var(--ab-cmp-simple-button__width)"}},M=w.icon&&Object.assign({},N,w.icon),A={adaptableApi:t.api,toolPanelState:t.api.toolPanelApi.getToolPanelState()},I=t.api.internalApi.getStyleForButton(w,A),O=t.api.internalApi.getLabelForButton(w,A),z=t.api.internalApi.getTooltipForButton(w,A);if(w.hidden&&w.hidden(w,A))return null;let F=w.disabled&&w.disabled(w,A),B=I&&I.variant?I.variant:"text",Y=I&&I.tone?I.tone:"none",ie=O!=null?O:Sd();return Oo.createElement(Z,{key:ie,variant:B,tone:Y,className:`ab-ToolPanel__Home__${Da(O)} ${(I==null?void 0:I.className)||""}`,tooltip:z,disabled:F,onClick:()=>w.onClick(w,A),accessLevel:"Full"},w.icon?Oo.createElement("img",b({},M)):null,O)}),v=w=>{let N=t.api.columnApi.getColumnFromId(w),M=[].concat(t.Columns);N=Object.assign({},N,{Visible:!N.visible});let A=M.findIndex(I=>I.columnId==w);M[A]=N,t.onNewColumnListOrder(M.filter(I=>I.visible).map(I=>I.columnId))},x=(w,N)=>{N?t.onShowToolPanel(w):t.onHideToolPanel(w)},R=w=>{let N=w?{source:"Other",config:{initialTab:w}}:void 0;return Oo.createElement(By,{iconSize:16,tone:"none",marginLeft:2,className:"ab-ToolPanel__configure-button",tooltip:"Configure ToolPanels",onClick:()=>{t.api.toolPanelApi.showToolPanelPopup(N)}})},D=C();return Oo.createElement(KO.Flex,{className:"ab-ToolPanel","data-name":"adaptable-tool-panel",flexDirection:"column",justifyContent:"center",padding:2,style:{width:"100%"}},Oo.createElement(KO.Flex,{className:"ab-ToolPanel__header",flexDirection:"row",justifyContent:"left",padding:1,flexWrap:"wrap",style:{width:"100%"}},m&&g(),D,m&&R()),Boolean(t.api.toolPanelApi.getCustomToolPanelButtons().length)&&Oo.createElement(KO.Flex,{className:"ab-ToolPanel__header__buttons",flexDirection:"row",justifyContent:"left",padding:1,flexWrap:"wrap"},S()),h)};function yct(t){return{ToolPanels:t.ToolPanel.ToolPanels,ModuleButtons:t.ToolPanel.ModuleButtons,MainMenuItems:t.Grid.ModuleDropdownMenuItems,Columns:t.Grid.Columns}}function vct(t){return{onClick:e=>t(e),onNewColumnListOrder:e=>t(CW(e)),onSetToolPanelVisibility:e=>t(dc(e)),onShowToolPanel:e=>t(DJ(e)),onHideToolPanel:e=>t(FE(e)),onExpandToolPanel:e=>t(ME(e)),onCollapseToolPanel:e=>t(_E(e))}}var Act=We(yct,vct)(Sct),nB=t=>class{init(r){let o=r.api.__adaptable||t,i=o.api;this.gui=document.createElement("div"),this.gui.id="adaptable-tool-panel_"+o.adaptableOptions.adaptableId,this.gui.className="ag-adaptable-panel",this.gui.style.width="100%",this.gui.style.overflow="auto",(0,Mve.render)(La(Oo.createElement(Act,{api:i,teamSharingActivated:!1}),o),this.gui)}getGui(){return this.gui||this.init(),this.gui}refresh(){}},lpr=nB();l();var $O=require("react-dom"),oB=y(require("react"));var iB=class{init(e){var o;let r=e.api.__adaptable,n=(o=r.api.userInterfaceApi.getAllActionColumn())==null?void 0:o.find(i=>i.columnId==e.colDef.colId);if(n){let m=function(){(0,$O.render)(d(r.api,s),c)};this.eGui=document.createElement("div"),this.eGui.className="ab-ActionColumn";let i=r.getPrimaryKeyValueFromRowNode(e.node),a=n.actionColumnButton,s={actionColumn:n,primaryKeyValue:i,rowNode:e.node,adaptableApi:r.api};if(r.api.gridApi.isGroupRowNode(e.node)&&!n.includeGroupedRows){this.eGui.innerHTML="";return}if(a.hidden&&a.hidden(a,s)){this.eGui.innerHTML="";return}let u=a.disabled&&a.disabled(a,s),d=(f,h)=>{var D,T;let g={style:{height:15,width:15}},C=a.icon&&Object.assign({},g,a.icon),S=f.internalApi.getStyleForButton(a,h),v=f.internalApi.getLabelForButton(a,h),x=f.internalApi.getTooltipForButton(a,h),R=()=>{a.onClick(a,h),setTimeout(()=>{m()},16)};return oB.createElement(Z,{key:a.Uuid,variant:(D=S==null?void 0:S.variant)!=null?D:"text",disabled:u,tooltip:x,tone:(T=S==null?void 0:S.tone)!=null?T:"none",onClick:R,className:S==null?void 0:S.className,accessLevel:"Full"},a.icon?oB.createElement("img",b({},C)):null,v)},c=this.eGui;this.render=m,m()}}render(){}getGui(){return this.eGui}refresh(e){return this.render(),!0}destroy(){(0,$O.unmountComponentAtNode)(this.eGui),this.eGui&&this.eGui.removeEventListener("click",this.eventListener)}};l();l();l();l();var aB=class{constructor(e,r,n,o,i){this.label=e,this.module=r,this.isVisible=i,this.icon=o,this.reduxAction=n}},lB=class{constructor(e,r,n,o,i){this.label=e,this.module=r,this.isVisible=i,this.icon=o,this.onClick=n}},XO=class{constructor(e,r,n,o,i,a){this.label=e,this.module=r,this.isVisible=i,this.icon=o,this.reduxAction=dr(r,n,a)}};var mt=class{constructor(e,r,n,o,i,a){this.api=a;this.moduleInfo={ModuleName:e,FriendlyName:this.getFriendlyName(e,r),Description:i,HelpPage:this.api.internalApi.getModuleService().getModuleDocumentationPageByModule(e),Glyph:n,Popup:o},this.api=a,this.api.eventApi.on("AdaptableReady",()=>{this.handleAdaptableReady(),this.api.configApi.dispatchStateReadyAction(this.moduleInfo.ModuleName)})}getViewAccessLevel(){return"ReadOnly"}getEditAccessLevel(){return"Full"}isModuleAvailable(){return this.hasRequiredAccessLevel(this.getViewAccessLevel())}isModuleEditable(){return this.hasRequiredAccessLevel(this.getEditAccessLevel())}updateOldConfig(){}getModuleAdaptableObjects(){return[]}getExplicitlyReferencedColumnIds(e){return[]}getReferencedNamedQueryNames(e){return[]}hasNamedQueryReferences(){return!0}handleAdaptableReady(){}setModuleEntitlement(){this.AccessLevel=this.api.internalApi.getEntitlementService().getEntitlementAccessLevelForModule(this.moduleInfo.ModuleName)}addModuleMenuItem(e){if(this.isModuleAvailable()&&this.moduleInfo.Popup){let r={source:e,maxWidth:this.getPopupMaxWidth()};return this.createMainMenuItemShowPopup({Label:this.moduleInfo.FriendlyName,ComponentName:this.moduleInfo.Popup,Icon:this.moduleInfo.Glyph,PopupParams:r})}}addModuleButtonMenuItem(){}addColumnMenuItems(e){}addContextMenuItems(e){}createMainMenuItemShowPopup({Label:e,ComponentName:r,Icon:n,PopupParams:o}){return new XO(e,this.moduleInfo.ModuleName,r,n,!0,o)}createColumnMenuItemClickFunction(e,r,n){return new lB(e,this.moduleInfo.ModuleName,n,r,!0)}createColumnMenuItemReduxAction(e,r,n){return new aB(e,this.moduleInfo.ModuleName,n,r,!0)}createColumnMenuItemShowPopup(e,r,n,o){return new XO(e,this.moduleInfo.ModuleName,r,n,!0,o)}canCreateColumnMenuItem(e,r,n){if(!this.hasRequiredAccessLevel(r)||!e)return!1;if(De.IsNotNullOrEmpty(n)){if(n=="sort"&&!e.isSparkline)return e.sortable;if(n=="editable")return!e.readOnly;if(n=="style")return!e.isSparkline;if(n=="numeric")return e.dataType=="Number";if(n=="filter")return e.filterable;if(n=="quickfilter")return this.api.columnApi.usesAdaptableQuickFilter(e.columnId)}return!0}getTeamSharingAction(){}getModuleNamedQueryReferences(){if(!this.hasNamedQueryReferences())return[];let e=[];return this.getModuleAdaptableObjects().forEach(r=>e.push(...this.getReferencedNamedQueryNames(r))),e}getModuleCalculatedColumnReferences(){let e=[],r=this.api.calculatedColumnApi.getAllCalculatedColumn();return this.getModuleAdaptableObjects().forEach(n=>{this.getExplicitlyReferencedColumnIds(n).forEach(i=>{let a=r.find(s=>s.ColumnId===i);a&&e.push(a)})}),e}getModuleFreeTextColumnReferences(){let e=[],r=this.api.freeTextColumnApi.getAllFreeTextColumn();return this.getModuleAdaptableObjects().forEach(n=>{this.getExplicitlyReferencedColumnIds(n).forEach(i=>{let a=r.find(s=>s.ColumnId===i);a&&e.push(a)})}),e}getTeamSharingReferences(e){let r=[],n=this.getExplicitlyReferencedColumnIds(e);if(n.length){let i=this.api.calculatedColumnApi.getAllCalculatedColumn(),a=this.api.freeTextColumnApi.getAllFreeTextColumn();n.forEach(s=>{let u=i.find(c=>c.ColumnId===s);u&&r.push({Module:"CalculatedColumn",Reference:u});let d=!u&&a.find(c=>c.ColumnId===s);d&&r.push({Module:"FreeTextColumn",Reference:d})})}return this.getReferencedNamedQueryNames(e).map(i=>this.api.queryApi.getNamedQueryByName(i)).forEach(i=>{r.push({Module:"Query",Reference:i})}),r}getPopupMaxWidth(){}getFriendlyName(e,r){let n=r,o=this.api.internalApi.getAdaptableOptions().generalOptions;return o&&Pe.IsNotNullOrEmpty(o.alternativeModuleNames)&&o.alternativeModuleNames.forEach(i=>{e==i.adaptableModule&&(n=i.newName)}),n}hasRequiredAccessLevel(e){return this.AccessLevel==="Hidden"?!1:e==="ReadOnly"?this.AccessLevel==="ReadOnly"||this.AccessLevel==="Full":e==="Full"?this.AccessLevel==="Full":!1}};l();var Fo=y(require("react")),qve=require("react"),oF=y(re());l();var _ve=y(require("react"));l();var Dn=y(require("react")),gs=y(re());var JO=t=>{let{data:e,api:r}=je();return Dn.createElement(gs.Flex,{flexDirection:"column",style:{height:"100%"},padding:2},Dn.createElement(Oa,{descriptions:{rowScope:"Changes anywhere in the row will trigger an alert",columnScope:"Changes in selected columns will trigger an alert"},scope:e.Scope,updateScope:n=>{let o=E(b({},e),{Scope:n});o.Rule.Predicate&&(o.Rule={Predicate:{PredicateId:"Any"}}),o.Rule.ObservableExpression!==void 0&&!r.scopeApi.scopeIsAll(n)&&(delete o.Rule.ObservableExpression,o.Rule.BooleanExpression=""),o.Rule.AggregationExpression!==void 0&&!r.scopeApi.scopeIsAll(n)&&(delete o.Rule.AggregationExpression,o.Rule.BooleanExpression=""),t.onChange(o)}}))},ZO=t=>{let{api:{scopeApi:e}}=je(),r=e.getColumnsForScope(t.Scope);return Dn.createElement(Dn.Fragment,null,Dn.createElement(gs.Box,null,Dn.createElement(gs.Text,{fontSize:2},e.scopeIsAll(t.Scope)?"Changes anywhere in the row will trigger an alert":null)),Dn.createElement(gs.Box,{style:{overflow:"hidden"}},"ColumnIds"in t.Scope?Dn.createElement(Dn.Fragment,null,Dn.createElement(gs.Text,{fontSize:2,mb:r.length?2:0},"Changes in selected columns will trigger an alert"),r.length?Dn.createElement(Zo,{options:r,value:r.map(n=>n.columnId),toLabel:n=>n.friendlyName,allowWrap:!0,readOnly:!0,renderLabel:n=>Dn.createElement(Dn.Fragment,null,n),toIdentifier:n=>n.columnId}):null):null),Dn.createElement(gs.Box,null,"DataTypes"in t.Scope?Dn.createElement(Dn.Fragment,null,Dn.createElement(gs.Text,{fontSize:2,mb:2},"Changes in columns of the selected data-types trigger an alert"),Dn.createElement(Zo,{readOnly:!0,options:t.Scope.DataTypes,value:t.Scope.DataTypes,toLabel:n=>n,allowWrap:!0,renderLabel:n=>Dn.createElement(Dn.Fragment,null,`DataType: ${n}`),toIdentifier:n=>n})):null))};var Nve=t=>_ve.createElement(JO,b({},t));l();var bs=y(require("react"));l();var Ba=y(require("react"));var eF=t=>{let{data:e,api:r,moduleInfo:n}=je(),o=t.wholeRowScope!=null?t.wholeRowScope:r.scopeApi.scopeIsAll(e.Scope),i=t.module=="alert"?r.alertApi.getAlertPredicateDefsForScope(e.Scope):r.flashingCellApi.getFlashingCellPredicateDefsForScope(e.Scope);return Ba.createElement(Vg,{module:n.ModuleName,defaultPredicateId:"Any",data:e,predicateDefs:i,onChange:t.onChange,showAggregation:!!o,showObservable:!!o,showBoolean:!0,showPredicate:!0,descriptions:{selectPredicate:"Select an Alert Rule - to be applied when data changes",useBooleanQuery:Ba.createElement(Ba.Fragment,null,"Use an BooleanQuery if ",Ba.createElement("i",null,"Scope")," is 'Whole Row' - so any data change may be evaluated in a complex BooleanExpression"),useObservableQuery:Ba.createElement(Ba.Fragment,null,"Use an ObservableQuery if ",Ba.createElement("i",null,"Scope")," is 'Whole Row' - so any data change may be evaluated in a complex ObservableExpression"),useAggregationQuery:Ba.createElement(Ba.Fragment,null,"Use an AggregationQuery if ",Ba.createElement("i",null,"Scope")," is 'Whole Row' - so any data change may be evaluated in a complex AggregationExpression")}})};var Lve=t=>bs.createElement(eF,b({},t)),kve=t=>bs.createElement(op,{data:t,renderPredicate:e=>bs.createElement(bs.Fragment,null,"Alert condition ",bs.createElement(Dt,null,e)),renderQueryExpression:e=>bs.createElement(bs.Fragment,null,"Alert when ",bs.createElement(Dt,null,e))});l();var Bve=(t,e,r)=>{let n=!0;if(!t.Rule.Predicate&&!t.Rule.BooleanExpression&&!t.Rule.ObservableExpression&&!t.Rule.AggregationExpression)return"No condition defined for alert";if(n&&t.Rule.Predicate&&(n=e.predicateApi.isValidPredicate(t.Rule.Predicate),!n))return"Predicate is not valid";if(n&&t.Rule.BooleanExpression&&(n=e.queryLanguageApi.isValidBooleanExpression(t.Rule.BooleanExpression,On),!n))return"The query is not a valid boolean query";if(r.namedQuery!=!1){let o=e.queryApi.isValidNamedQueryName(r.namedQuery);if(!o.valid)return o.message}return n&&t.Rule.ObservableExpression&&(n=e.queryLanguageApi.isValidObservableExpression(t.Rule.ObservableExpression,On),!n)?"The query is not a valid observable query":n&&t.Rule.AggregationExpression&&(n=e.queryLanguageApi.isValidAggregationExpression(t.Rule.AggregationExpression,On),!n)?"The query is not a valid aggregation query":!0};l();var _n=y(require("react"));var tF=y(re());var rF=(t,e,r=!1)=>{let{AlertProperties:n={}}=t,o=[n.PreventEdit?{label:"Prevent Cell Edit",id:"preventCellEdit"}:null,n.HighlightCell?{label:"Highlight Cell",id:"highlightCell"}:null,n.JumpToCell?{label:"Jump To Cell",id:"jumptocell"}:null,n.ShowInDiv?{label:_n.createElement(_n.Fragment,null,"Show in ",_n.createElement(Mr,{ml:1,p:0},"<div />")),id:"showInDiv"}:null,n.LogToConsole?{label:"Log To Console",id:"logtoconsole"}:null].filter(Boolean);return o.length||o.push({label:"No behaviour selected",id:"none"}),_n.createElement(Zo,{allowWrap:r,options:o,value:o.map(i=>i.id),readOnly:!0,toIdentifier:i=>i.id,toLabel:i=>_n.createElement(_n.Fragment,null,i.label)})},Vve=t=>{let{data:e}=je(),{AlertProperties:r={}}=e,n=o=>{t.onChange(E(b({},e),{AlertProperties:b(b({},e.AlertProperties),o)}))};return _n.createElement(j,null,_n.createElement(j.Tab,null,"Behaviour"),_n.createElement(j.Content,null,_n.createElement(he,{style:{alignItems:"flex-start"},checked:r.PreventEdit,onChange:o=>{n({PreventEdit:o})}},"Prevent Cell Edit",_n.createElement(tF.Text,{fontSize:2,mt:1},"(automatically undo data change which triggered Alert)")),_n.createElement(he,{style:{alignItems:"flex-start"},checked:Boolean(r.HighlightCell),onChange:o=>{n({HighlightCell:o})}},"Highlight Cell",_n.createElement(tF.Text,{fontSize:2,mt:1},"(using the Alert message type)")),_n.createElement(he,{style:{alignItems:"flex-start"},checked:Boolean(r.HighlightRow),onChange:o=>{n({HighlightRow:o})}},"Highlight Row",_n.createElement(tF.Text,{fontSize:2,mt:1},"(using the Alert message type)")),_n.createElement(he,{checked:r.JumpToCell,onChange:o=>{n({JumpToCell:o})}},"Jump To Cell"),_n.createElement(he,{checked:r.ShowInDiv,onChange:o=>{n({ShowInDiv:o})}},"Show in separate ",_n.createElement(Mr,null,"<div />")," element"),_n.createElement(he,{checked:r.LogToConsole,onChange:o=>{n({LogToConsole:o})}},"Log To Console")))};l();var Yt=y(require("react"));var wm=y(re());l();var ta=y(re()),cn=y(require("react"));var Gve=["highlight-cell","jump-to-cell","undo","suspend"],Uve=t=>{let e=n=>{t.onChange(n)},r=Er(t.AlertButtons||[])||[];return cn.createElement(cn.Fragment,null,cn.createElement(ta.Flex,{flexDirection:"row",alignItems:"center",justifyContent:"space-between"},cn.createElement(ta.Text,{fontSize:2,mt:3,mb:2},"Add buttons to Alert, and Actions to perform when button is clicked"),cn.createElement(Z,{icon:"add",onClick:()=>{e([...r||[],{Label:"OK",ButtonStyle:{variant:"raised"}}])}},"Add")),r.map((n,o)=>{var m,f;let i=n.ButtonStyle,a=n.Label,s=n.Action?Array.isArray(n.Action)?n.Action:[n.Action]:[],u=s.filter(h=>!Gve.includes(h)),d=h=>{e(r.map((g,C)=>{if(C===o){let S=b({},g.ButtonStyle);return S.variant=h,E(b({},g),{ButtonStyle:S})}return g}))},c=h=>{e(r.map((g,C)=>{if(C===o){let S=b({},g.ButtonStyle);return h==null?delete S.tone:S.tone=h,E(b({},g),{ButtonStyle:S})}return g}))};return cn.createElement(ta.Box,{key:o,marginLeft:3,style:{borderTop:o?"1px dashed var(--ab-color-inputborder)":""}},cn.createElement(tt,{marginBottom:2,paddingTop:2},cn.createElement(pe,{label:cn.createElement(ta.Text,{fontSize:2,style:{whiteSpace:"nowrap"}},"Button text")},cn.createElement(ta.Flex,{flexDirection:"row"},cn.createElement($e,{value:a,style:{width:80},onChange:h=>{e(r.map((g,C)=>C===o?E(b({},g),{Label:h.target.value}):g))}}),cn.createElement(rt,{marginLeft:2,columns:["label"],style:{minWidth:110},items:["text","outlined","raised"].map(h=>({label:qe.CapitaliseFirstLetter(h),value:h,onClick:()=>d(h)}))},cn.createElement(ta.Text,{fontSize:2},"Variant:"," ",qe.CapitaliseFirstLetter((m=i==null?void 0:i.variant)!=null?m:"raised"))),cn.createElement(rt,{columns:["label"],marginLeft:2,style:{minWidth:120},items:[{label:"Use Alert Tone",value:"text",onClick:()=>c(null)},...["success","info","error","warning","accent","neutral"].map(h=>({label:qe.CapitaliseFirstLetter(h),value:h,onClick:()=>c(h)}))]},cn.createElement(ta.Text,{fontSize:2},"Tone:"," ",qe.CapitaliseFirstLetter((f=i==null?void 0:i.tone)!=null?f:"Use alert tone"))),cn.createElement(Z,{icon:"clear",tone:"error",disabled:r.length<=1,marginLeft:1,variant:"text",tooltip:r.length<=1?"Cannot remove last button":"Remove button",onClick:()=>{e(r.filter(h=>h!==n))}}))),cn.createElement(pe,{label:cn.createElement(ta.Text,{fontSize:2},"Actions")},Gve.map(h=>cn.createElement(he,{key:h,marginRight:3,onChange:g=>{let C=s;g?C=[...C,h]:C=C.filter(S=>S!==h),e(r.map((S,v)=>v===o?E(b({},S),{Action:C.length?C:void 0}):S))},checked:n.Action===h||Array.isArray(n.Action)&&n.Action.includes(h)},cn.createElement(ta.Text,{fontSize:2},Ox(h)))),u.length?cn.createElement(he,{checked:!0,disabled:!0},cn.createElement(ta.Text,{fontSize:2},"User function",u.length>1?"s":"",":"," ",u.join(", "))):null)))}))};var Hve=[{Label:"OK",ButtonStyle:{variant:"raised"}}],Wve=()=>{var r;let{data:t,api:e}=je();return((r=t.AlertProperties)==null?void 0:r.DisplayNotification)?Yt.createElement(nF,{api:e,alertDefinition:t}):Yt.createElement(wm.Text,{fontSize:2},"Alert type ",Yt.createElement(Mr,null,t.MessageType),". No alert popup will be displayed")},nF=n=>{var o=n,{alertDefinition:t,api:e}=o,r=Ye(o,["alertDefinition","api"]);let i=Yt.useCallback(s=>{let u=s.ButtonStyle;return u&&u.tone==null&&(t==null?void 0:t.MessageType)?E(b({},s),{ButtonStyle:b({tone:t.MessageType.toLowerCase()},u)}):s},[t==null?void 0:t.MessageType]),a=Yt.useMemo(()=>{var c;let s=t.AlertForm||{},u=(((c=s==null?void 0:s.Buttons)==null?void 0:c.length)?s.Buttons:Hve).map(i);return{header:t.MessageType,message:e.alertApi.getAlertDescription(t),alertDefinition:E(b({},t),{AlertForm:E(b({},s),{Buttons:u})})}},[t]);return Yt.createElement(wm.Box,E(b({},r),{style:b({border:"1px solid var(--ab-color-inputborder)"},r.style)}),Yt.createElement(a3,{headless:!0,adaptableAlert:a,api:e,onClose:()=>{}}))},zve=t=>{var s,u,d,c;let{data:e,api:r}=je(),n=e.MessageType,o=r.alertApi.getAlertDescription(e),i={header:e.MessageType,message:"",alertDefinition:e},a=m=>{let{value:f}=m.target;t.onChange(E(b({},e),{MessageText:f}))};return Yt.createElement(Yt.Fragment,null,Yt.createElement(j,null,Yt.createElement(j.Tab,null,"Message Type"),Yt.createElement(j.Content,null,Yt.createElement(she,{value:n,name:"messageType",orientation:"horizontal",onRadioChange:m=>{t.onChange(E(b({},e),{MessageType:m}))}},Yt.createElement(ke,{marginLeft:1,value:"Info"},"Info"),Yt.createElement(ke,{marginLeft:4,value:"Success"},"Success"),Yt.createElement(ke,{marginLeft:4,value:"Warning"},"Warning"),Yt.createElement(ke,{marginLeft:4,value:"Error"},"Error")))),Yt.createElement(j,{mt:2,mb:3,autoFocus:!1},Yt.createElement(j.Tab,null,"Message Text"),Yt.createElement(j.Content,null,Yt.createElement(wm.Text,{fontSize:2,mt:3,mb:2},"The text to display as the Alert Message (leave blank to show automated Message based on Trigger and Condition)")," ",Yt.createElement(Yr,{marginTop:2,type:"text",autoFocus:!1,value:o,onChange:m=>a(m)}))),Yt.createElement(j,{mt:2,mb:3,autoFocus:!1},Yt.createElement(j.Tab,null,"Display options"),Yt.createElement(j.Content,null,Yt.createElement(he,{checked:(s=e.AlertProperties)==null?void 0:s.DisplayNotification,onChange:m=>{let f=E(b({},e),{AlertProperties:E(b({},e.AlertProperties),{DisplayNotification:m})});!m&&typeof f.AlertForm=="object"&&delete f.AlertForm.Buttons,t.onChange(f)}},"Show a Notification when Alert is triggered (with action buttons)"),((u=e.AlertProperties)==null?void 0:u.DisplayNotification)?typeof e.AlertForm=="string"?Yt.createElement(wm.Text,{fontSize:2},"Alert buttons cannot be customized because form is dynamically driven"):Yt.createElement(Uve,{AlertButtons:((d=e.AlertForm)==null?void 0:d.Buttons)||Hve,api:r,adaptableAlert:i,onChange:m=>{t.onChange(E(b({},e),{AlertForm:E(b({},e.AlertForm),{Buttons:m})}))}}):null)),((c=e.AlertProperties)==null?void 0:c.DisplayNotification)?Yt.createElement(j,{autoFocus:!1},Yt.createElement(j.Tab,null,"Alert preview"),Yt.createElement(j.Content,null,typeof e.AlertForm=="string"?Yt.createElement(wm.Text,{fontSize:2},"Preview not available because form is dynamically driven"):Yt.createElement(nF,{alertDefinition:e,api:r}))):null)};var Qve=t=>{let[e,r]=(0,qve.useState)(()=>{var a;let i=t.data?Er(t.data):at.CreateEmptyAlertDefinition();return!i.Rule.BooleanExpression&&!i.Rule.ObservableExpression&&!i.Rule.AggregationExpression&&!i.Rule.Predicate&&(i.Rule.BooleanExpression=""),i.MessageType=(a=i.MessageType)!=null?a:Ov,i}),n=Ht(),o=()=>{t.data?n(Hf(e)):n(Uf(e)),t.onCloseWizard()};return Fo.createElement($r,{defaultCurrentSectionName:t.defaultCurrentSectionName,moduleInfo:t.moduleInfo,data:e,onHide:t.onCloseWizard,onFinish:o,sections:[{details:Fo.createElement(Fo.Fragment,null,"Specify ",Fo.createElement("b",null,"which")," data changes should trigger the Alert"),isValid:wa,render:()=>Fo.createElement(Nve,{onChange:r}),renderSummary:ZO,title:"Trigger"},{details:Fo.createElement(Fo.Fragment,null,"Build the rules ",Fo.createElement("b",null,"when")," the Alert should trigger"),isValid:Bve,render:()=>Fo.createElement(Lve,{onChange:r,module:"alert"}),renderSummary:kve,title:"Rule"},{details:"Select the Alert's Message Type and Notification option",render:()=>Fo.createElement(oF.Box,{padding:2},Fo.createElement(zve,{onChange:r})),renderSummary:Wve,title:"Type & Display"},{details:"Configure behaviour for the Alert",title:"Behaviour",render:()=>Fo.createElement(oF.Box,{padding:2},Fo.createElement(Vve,{onChange:r})),renderSummary:rF},"-",{details:"Review your Alert",render:()=>Fo.createElement(oF.Box,{padding:2},Fo.createElement(Xr,null)),title:"Summary"}]})};l();var ra=t=>{let e=[];return"ColumnIds"in t&&(e=t.ColumnIds),"DataTypes"in t&&(e=t.DataTypes),"All"in t&&(e=["All"]),{label:"Target",name:"Target",values:e}};l();var Dp=(t,e)=>({name:"Condition",label:"Condition",values:[t.Predicate?e.predicateApi.predicateToString(t.Predicate):Gl(t)]});l();var sB=y(require("react"));var jve=(t,e)=>({name:"Type and Display",view:()=>{var r;return((r=t==null?void 0:t.AlertProperties)==null?void 0:r.DisplayNotification)?sB.createElement(nF,{style:{maxWidth:400},mt:2,api:e,alertDefinition:t}):sB.createElement(Dt,null,t.MessageType)}});l();var xct=t=>{let e=ht();return rF(t.data,e.api,!0)},Yve=()=>({name:"Behaviour",view:xct});l();var iF=y(require("react"));var Kve=t=>{let n=ht().api.internalApi.getEntitlementService().getEntitlementAccessLevelForModule(t.module.moduleInfo.ModuleName)=="ReadOnly"?"You have no Alert Definitions.":"Click 'New' to start creating Alert Definitions. An Alert is triggered whenever an edit - or external data change - matches the Rule in the Alert Definition.";return iF.createElement(iF.Fragment,null,n)};var uB=class extends mt{constructor(e){super(On,"Alert","alert","AlertPopup","Get notified when things happen in Adaptable that you need to know about",e);this.api.internalApi.getDataService().on("DataChanged",r=>{if(r.trigger!=="undo"){if(this.api.internalApi.getAdaptableOptions().notificationsOptions.dataChangeDetectionPolicy==="formattedValue"){let{oldValue:n,newValue:o}=r,i=r.column.columnId,a=this.api.gridApi.getFormattedValueFromRawValue(i,n),s=this.api.gridApi.getFormattedValueFromRawValue(i,o);if(a===s)return}this.handleDataSourceChanged(r)}}),this.api.internalApi.getAlertService().onReactiveAlertTriggered(r=>this.handleReactiveAlertTriggered(r))}getModuleAdaptableObjects(){return this.api.alertApi.getAlertDefinitions()}getExplicitlyReferencedColumnIds(e){let r=Gl(e.Rule);return r?this.api.queryLanguageApi.getColumnsFromExpression(r):this.api.scopeApi.scopeHasColumns(e.Scope)?this.api.scopeApi.getColumnsForScope(e.Scope).map(n=>n.columnId):[]}getReferencedNamedQueryNames(e){let r=Gl(e.Rule);return r?this.api.queryApi.getReferencedNamedQueryNames(r):[]}updateOldConfig(){let e=this.api.alertApi.getAlertState().FlashingAlertDefinitions,r=this.api.flashingCellApi.getFlashingCellDefinitions();Ee.IsEmpty(r)&&Ee.IsNotNullOrEmpty(e)&&(this.api.flashingCellApi.setFlashingCellDefinitions(e),this.api.internalApi.clearFlashingCellState())}addContextMenuItems(e){let r=[];if(!e.isRowGroupColumn&&this.isModuleAvailable()&&e.adaptableColumn&&e.rowNode){let n=this.api.internalApi.getAdaptableAlerts().filter(o=>{var i;return o.dataChangedInfo&&((i=o.alertDefinition.AlertProperties)==null?void 0:i.HighlightCell)});if(Ee.IsNotNullOrEmpty(n)){let o=n.find(i=>this.api.scopeApi.isColumnInScope(e.adaptableColumn,i.alertDefinition.Scope)&&i.dataChangedInfo.rowNode==e.rowNode);o&&r.push(this.createColumnMenuItemReduxAction("Clear Alert",this.moduleInfo.Glyph,Jv(o)))}}return r}handleDataSourceChanged(e){let r=this.getAlertDefinitionsForDataChange(e);Ee.IsNotNullOrEmpty(r)&&this.showAlertForDefinitions(e,r)}handleReactiveAlertTriggered(e){var r;e.dataChangeLogEntry.rowNode=this.api.internalApi.getAdaptableInstance().getRowNodeForPrimaryKey(e.dataChangeLogEntry.primaryKeyValue),e.dataChangeLogEntry.rowData=(r=e.dataChangeLogEntry.rowNode)==null?void 0:r.data,e.type==="alert"&&this.showAlertForDefinitions(e.dataChangeLogEntry,[e.alertDefinition])}showAlertForDefinitions(e,r=[]){r.forEach(n=>{let o=at.CreateAlert(e.column.friendlyName,this.api.alertApi.getAlertDescription(n,e),n,e);this.api.alertApi.displayAlert(o)})}getAlertDefinitionsForDataChange(e){return this.getBaseAlertDefinitionsForDataChange(e,this.api.alertApi.getActiveNonReactiveAlertDefinitions())}getBaseAlertDefinitionsForDataChange(e,r,n=!1){let o=r.filter(a=>this.api.scopeApi.isColumnInScope(e.column,a.Scope)).filter(a=>!nc(a.Rule)),i=[];return Ee.IsNotNullOrEmpty(o)&&o.forEach(a=>{if(a.Rule.BooleanExpression){let s=a.Rule.BooleanExpression,u=e.rowNode;u||(u=this.api.gridApi.getRowNodeForPrimaryKey(e.primaryKeyValue)),this.api.queryLanguageApi.isValidBooleanExpression(s,this.moduleInfo.ModuleName,`Invalid Alert boolean expression '${s}'`)&&this.api.internalApi.getQueryLanguageService().evaluateBooleanExpression(s,this.moduleInfo.ModuleName,u)&&i.push(a)}else this.isAlertPredicateTriggered(a,e,n)&&i.push(a)}),i}isAlertPredicateTriggered(e,r,n=!1){return this.api.predicateApi.handlePredicate(e.Rule.Predicate,{value:r.newValue,oldValue:r.oldValue,displayValue:null,node:r.rowNode,column:r.column},n)}getTeamSharingAction(){return{ModuleEntities:this.api.alertApi.getAlertDefinitions(),AddAction:Uf,EditAction:Hf}}toView(e){return{items:[ra(e.Scope),Dp(e.Rule,this.api),Yve(),jve(e,this.api)],abObject:e}}toViewAll(){return this.api.alertApi.getAlertDefinitions().map(e=>this.toView(e))}getViewProperties(){return{getDeleteAction:CK,getSuspendAction:_x,getUnSuspendAction:Nx,emptyView:Kve,getEditWizard:()=>Qve}}};l();var dB=class extends mt{constructor(e){super(Qa,"Bulk Update","bulk-update","BulkUpdatePopup","Update multiple cell simultaneously with a new or existing value",e)}getViewAccessLevel(){return"Full"}addContextMenuItems(e){let r;if(!e.isRowGroupColumn&&this.isModuleEditable()&&e.adaptableColumn&&!e.adaptableColumn.readOnly&&e.isSelectedCell&&e.isSingleSelectedColumn&&this.api.gridApi.areCellsEditable(e.selectedCellInfo.gridCells)){let n={source:"ContextMenu"};r=this.createMainMenuItemShowPopup({Label:"Apply Bulk Update",ComponentName:this.moduleInfo.Popup,Icon:this.moduleInfo.Glyph,PopupParams:n})}return[r]}checkCorrectCellSelection(){let e=this.api.gridApi.getSelectedCellInfo();if(this.api.internalApi.isGridInPivotMode())return{IsValid:!1,Alert:{header:"Bulk Update Error",message:"Cannot edit while Grid is in Pivot Mode.",alertDefinition:at.CreateInternalAlertDefinitionForMessages("Error")}};if(e==null||Pe.IsNullOrEmpty(e.columns))return{IsValid:!1,Alert:{header:"Bulk Update Error",message:`No cells are selected.
282
282
  Please select some cells.`,alertDefinition:at.CreateInternalAlertDefinitionForMessages("Error")}};if(Pe.NotCorrectLength(e.columns,1))return{IsValid:!1,Alert:{header:"Bulk Update Error",message:`Bulk Update only supports single column edit.
@@ -296,7 +296,7 @@ Please adjust the cell selection.`,alertDefinition:at.CreateInternalAlertDefinit
296
296
  Please adjust the cell selection.`,alertDefinition:at.CreateInternalAlertDefinitionForMessages("Error")}}:{ActionReturn:!0}}BuildPreviewValues(e,r){let n=this.api.gridApi.getSelectedCellInfo(),o=[],i;return this.api.internalApi.isGridInPivotMode()||Pe.IsNotNullOrEmpty(n.columns)&&(i=this.api.columnApi.getColumnFromId(n.columns[0].columnId),i&&n.gridCells.forEach(a=>{let s;switch(r){case"Add":s=Number(a.rawValue)+e;break;case"Subtract":s=Number(a.rawValue)-e;break;case"Multiply":s=Number(a.rawValue)*e;break;case"Divide":s=Number(a.rawValue)/e;break}s&&(s=parseFloat(s.toFixed(12)));let u=this.api.internalApi.buildDataChangedInfo({oldValue:Number(a.rawValue),newValue:s,column:a.column,primaryKeyValue:a.primaryKeyValue,rowNode:a.rowNode,trigger:"edit"}),d=this.api.internalApi.getValidationService().getValidationRulesForDataChange(u),c={id:a.primaryKeyValue,initialValue:Number(a.rawValue),computedValue:s,validationRules:d,rowNode:a.rowNode};o.push(c)})),{column:i,previewResults:o,previewValidationSummary:Ya.GetPreviewValidationSummary(o)}}};l();var VB=class extends mt{constructor(e){super(Qf,"Manage State","state-management","StateManagementPopup","Manages Adaptable State, User State and Predefined Config",e)}};l();var GB=class extends mt{constructor(e){super(Ku,"System Status","system-status","SystemStatusPopup","Provide messages about the Status of your application",e)}addColumnMenuItems(e){if(this.isModuleAvailable())return[this.createColumnMenuItemShowPopup("Show System Status",this.moduleInfo.Popup,this.moduleInfo.Glyph)]}addContextMenuItems(e){if(this.isModuleAvailable()){let r={source:"ContextMenu"};return[this.createMainMenuItemShowPopup({Label:"Show System Status",ComponentName:this.moduleInfo.Popup,Icon:this.moduleInfo.Glyph,PopupParams:r})]}}};l();var UB=class extends mt{constructor(e){super($u,"Team Sharing","team-share","TeamSharingPopup","Team Sharing allows users to share - at run-time - Adaptable Objects between colleagues.",e);this.SKIP_TEAMSHARING_UPDATE_ACTIONS=[vC,OR,AC,xC,vh,EC,FR,RC];this.api.eventApi.on("AdaptableStateChanged",r=>this.handleStateChanged(r)),this.api.eventApi.on("AdaptableReady",()=>{this.api.internalApi.dispatchReduxAction(IC())})}isModuleAvailable(){return super.isModuleAvailable()&&this.api.teamSharingApi.isTeamSharingActivated()}getPopupMaxWidth(){return 1e3}handleStateChanged(e){if(!this.api.teamSharingApi.isTeamSharingActivated()||this.SKIP_TEAMSHARING_UPDATE_ACTIONS.includes(e.action.type))return;let r=this.extractAdaptableObjectFromAction(e.action);!r||!this.api.teamSharingApi.getTeamSharingState().ActiveSharedEntityMap[r.Uuid]||e.action.type===lc&&Di(e.oldState.Layout,e.newState.Layout)||this.api.internalApi.dispatchReduxAction(VJ(r,e.userName))}extractAdaptableObjectFromAction(e){if(!!e)return Object.values(e).find(r=>s1(r))}};l();var HB=class extends mt{constructor(e){super(Xu,"Theme","theme","ThemePopup","Theme AdapTable with a colour configuration set of your choosing",e)}getModuleAdaptableObjects(){return this.api.themeApi.getAllTheme()}hasNamedQueryReferences(){return!1}};l();var WB=class extends mt{constructor(e){super(Bl,"Tool Panel","tool-panel","ToolPanelPopup","An alternative to using the Dashboard is the AdapTable Tool Panel, the Tool Panel is the collapsible area to the right of the Grid.",e)}isModuleAvailable(){if(!super.isModuleAvailable())return!1;let e=this.api.internalApi.getAdaptableOptions().toolPanelOptions;return e&&e.showAdaptableToolPanel&&e.showAdaptableToolPanel==!0}updateOldConfig(){let e=this.api.toolPanelApi.getToolPanelState().VisibleToolPanels;if(e==null?void 0:e.length){pt(`Updating Obsolete VisibleToolPanels Config for ToolPanelState: [${e}]`);let r=e.map(n=>({Name:n,State:"collapsed"}));this.api.internalApi.dispatchReduxAction(dc(r))}else if(!this.api.toolPanelApi.getToolPanelState().ToolPanels){io("No predefined ToolPanels provided, displaying all available ones (custom&system)");let r=[];this.api.toolPanelApi.getCustomToolPanels().forEach(n=>r.push({Name:n.name})),Ag.forEach(n=>r.push({Name:n})),this.api.internalApi.dispatchReduxAction(dc(r))}}};l();var a0e=(t,e,r)=>{let n=function(){return""};return n.prototype.init=function(o){this.params=o;let i=document.createElement("input");i.type="checkbox",i.checked=o.value,i.disabled=e,this.checkedHandler=this.checkedHandler.bind(this),i.addEventListener("click",this.checkedHandler),this.eGui=document.createElement("div"),this.eGui.style.cssText=`display: flex;
297
297
  height: 100%;
298
298
  align-items: center;
299
- justify-content: center;`,this.eGui.appendChild(i)},n.prototype.checkedHandler=function(o){let i=o.target.checked;this.params.node.setDataValue(t,i),r.formatColumnApi.fireCheckboxColumnClickedEvent(t,this.params.node.data,r.gridApi.getPrimaryKeyValueForRowNode(this.params.node),i)},n.prototype.getGui=function(){return this.eGui},n.prototype.refresh=function(){return!0},n};l();var zB=class extends mt{constructor(e){super(Nl,"Data Changes","track-changes","DataChangeHistoryPopup","Provides an overview of all previous changes, giving the possibility to undo specific changes",e);this.api.internalApi.getDataService().on("DataChanged",r=>{r.trigger!=="undo"&&this.shouldLogDataChange(r)&&this.api.internalApi.dispatchReduxAction(IW(r))})}getPopupMaxWidth(){return 1e3}hasNamedQueryReferences(){return!1}shouldLogDataChange(e){return this.api.internalApi.getState().System.DataChangeHistory.currentMode!=="ACTIVE"?!1:this.api.internalApi.getAdaptableOptions().dataChangeHistoryOptions.showDataChange?this.api.internalApi.getAdaptableOptions().dataChangeHistoryOptions.showDataChange(e):!0}};l();l();var l0e=t=>({name:"Duration",values:[t.FlashDuration]});l();l();var Uy=y(require("react")),s0e=y(re());var u0e=t=>{let n=t,{data:e}=n,r=Ye(n,["data"]);return Uy.default.createElement(s0e.Flex,b({flexDirection:"row"},r),Uy.default.createElement(Cs,{mr:1,flex:1,styleObject:t.data.UpChangeStyle},"Up ",t.data.UpChangeStyle?"":" - no style"),Uy.default.createElement(Cs,{mr:1,flex:1,styleObject:t.data.DownChangeStyle},"Down",t.data.DownChangeStyle?"":" - no style"),Uy.default.createElement(Cs,{flex:1,styleObject:t.data.NeutralChangeStyle},"Neutral ",t.data.NeutralChangeStyle?"":" - no style"))};var d0e=()=>({name:"Change Style",view:u0e});l();var vs=y(require("react")),cb=require("react"),pF=y(re());l();var Sr=y(require("react")),p0e=require("react"),Fp=y(re());var c0e=t=>Sr.createElement(Sr.Fragment,null,Sr.createElement(Fp.Text,{fontSize:2},t.FlashDuration==="always"?Sr.createElement(Sr.Fragment,null,"Flashing is never removed"):Sr.createElement(Sr.Fragment,null,"Flashing is removed after ",Sr.createElement(Mr,null,t.FlashDuration)," ","milliseconds"))),m0e=t=>{var d;let{data:e}=je();e=e!=null?e:t.flashingCell;let r=c=>{t.onChange(E(b({},e),{FlashDuration:c}))},n=(d=e.FlashDuration)!=null?d:500,o=Sr.useRef(typeof n=="number"?n:500),i=(0,p0e.useRef)(null),a=Ni(n,n);Sr.useEffect(()=>{var c;a==="always"&&n!=a&&((c=i.current)==null||c.focus())},[n,a]);let s=c=>{r(c==="number"?o.current:"always")},u=c=>{t.onChange(E(b({},e),{FlashTarget:c}))};return Sr.createElement(Fp.Flex,{height:"100%",flexDirection:"column","data-name":"plus-minus-column-settings"},Sr.createElement(j,{autoFocus:!1,padding:2},Sr.createElement(j.Tab,null,"Flashing Cell Settings"),Sr.createElement(j.Content,null,Sr.createElement(tt,null,Sr.createElement(pe,{label:"Duration Type"},Sr.createElement(ke,{mr:3,checked:n=="always",tabIndex:-1,onChange:()=>s("always")},"Always"),Sr.createElement(ke,{checked:n!=="always",tabIndex:-1,onChange:()=>s("number")},"Limited (ms)")),Sr.createElement(pe,{label:""},n!=="always"&&Sr.createElement(Fp.Flex,{flexDirection:"row",alignItems:"baseline"},Sr.createElement(Fp.Text,{fontSize:2,mr:2},"After"),Sr.createElement($e,{readOnly:t.readOnly,type:"text",name:"value",ref:i,mt:2,mr:1,value:n,onChange:c=>{let m=c.target.value;r(isNaN(Number(m))?500:Number(m))}}),Sr.createElement(Fp.Text,{fontSize:2},"milliseconds")),n==="always"&&Sr.createElement(Fp.Text,{height:43,fontSize:3},"Persists the flashing style indeterminately - can be removed manually")),Sr.createElement(pe,{label:"Flash Target"},Sr.createElement(ke,{onChange:()=>u("cell"),mr:3,checked:(e==null?void 0:e.FlashTarget)=="cell",tabIndex:-1},"Cell"),Sr.createElement(ke,{onChange:()=>u("row"),checked:(e==null?void 0:e.FlashTarget)=="row",tabIndex:-1},"Row"))))))};l();var Jr=y(require("react"));var Hy=y(re());var f0e=t=>{var n;let{api:{flashingCellApi:e}}=je(),r=(n=t.FlashTarget)!=null?n:e.getFlashingCellFlashTarget(t);return Jr.createElement(op,{data:t,renderPredicate:o=>Jr.createElement(Jr.Fragment,null,"Flash ",Jr.createElement(Mr,null,r)," - value condition"," ",Jr.createElement(Mr,null,o)),renderQueryExpression:o=>Jr.createElement(Jr.Fragment,null,"Flash ",Jr.createElement(Mr,null,r)," when"," ",Jr.createElement("b",null,Jr.createElement(Mr,null,o)))})},h0e=t=>{var o;let{data:e,api:r}=je(),n=(o=e.FlashTarget)!=null?o:r.flashingCellApi.getFlashingCellFlashTarget(e);return Jr.createElement(eF,{onChange:t.onChange,wholeRowScope:!1,module:"flashingCell"},Jr.createElement(Hy.Text,{fontSize:2,mb:2,pl:2,pt:2},"Flash target"),Jr.createElement(j,{value:n!=null?n:"row",pl:2,onValueChange:i=>{t.onChange(E(b({},e),{FlashTarget:i}))}},Jr.createElement(j.Tab,{value:"row"},Jr.createElement(ke,{margin:0,tabIndex:-1,checked:n==="row"},"Row")),Jr.createElement(j.Content,{value:"row"},Jr.createElement(Hy.Text,{fontSize:2},"Flash the whole ",Jr.createElement("b",null,"row"))),Jr.createElement(j.Tab,{value:"cell"},Jr.createElement(ke,{margin:0,tabIndex:-1,checked:n==="cell"},"Cell")),Jr.createElement(j.Content,{value:"cell"},Jr.createElement(Hy.Text,{fontSize:2},"Flash the updated ",Jr.createElement("b",null,"cell")," only"))),Jr.createElement(Hy.Text,{mt:3,fontSize:2,pl:2},"Flash rules"))};l();var zn=y(require("react")),dF=y(re());var qB=zn.createElement(dF.Text,{fontSize:2,style:{display:"inline-block"}},"Change style"),g0e=t=>{var n,o,i;let{data:e,api:r}=je();return e=e!=null?e:t.flashingAlert,zn.createElement(zn.Fragment,null,zn.createElement(j,{defaultValue:"up"},zn.createElement(j.Tab,{value:"up"},"Up ",qB),zn.createElement(j.Content,{value:"up"},zn.createElement(nl,{headless:!0,api:r,Style:(n=e.UpChangeStyle)!=null?n:{},UpdateStyle:a=>t.onStyleChange("UpChangeStyle",a)})),zn.createElement(j.Tab,{value:"down"},"Down ",qB),zn.createElement(j.Content,{value:"down"},zn.createElement(nl,{headless:!0,api:r,Style:(o=e.DownChangeStyle)!=null?o:{},UpdateStyle:a=>t.onStyleChange("DownChangeStyle",a)})),zn.createElement(j.Tab,{value:"neutral"},"Neutral ",qB),zn.createElement(j.Content,{value:"neutral"},zn.createElement(nl,{headless:!0,api:r,Style:(i=e.NeutralChangeStyle)!=null?i:{},UpdateStyle:a=>t.onStyleChange("NeutralChangeStyle",a)}))))},Tct=t=>{let n=t,{data:e}=n,r=Ye(n,["data"]);return zn.createElement(dF.Box,b({},r),zn.createElement(Cs,{styleObject:t.data.UpChangeStyle},"Up change style ",t.data.UpChangeStyle?"":" - no style"),zn.createElement(Cs,{mt:2,styleObject:t.data.DownChangeStyle},"Down change style ",t.data.DownChangeStyle?"":" - no style"),zn.createElement(Cs,{mt:2,styleObject:t.data.NeutralChangeStyle},"Neutral change style ",t.data.NeutralChangeStyle?"":" - no style"))},b0e=t=>zn.createElement(Tct,{data:t});l();var C0e=y(require("react"));var S0e=t=>C0e.createElement(JO,b({},t));l();var y0e=(t,e,r)=>{let n=!0;if(!t.Rule.Predicate&&!t.Rule.BooleanExpression)return"No Rule defined for Flashing Cell";if(n&&t.Rule.Predicate&&(n=e.predicateApi.isValidPredicate(t.Rule.Predicate),!n))return"Predicate is not valid";if(n&&t.Rule.BooleanExpression&&(n=e.queryLanguageApi.isValidBooleanExpression(t.Rule.BooleanExpression,zf),!n))return"The query is not a valid boolean query";if(r.namedQuery!=!1){let o=e.queryApi.isValidNamedQueryName(r.namedQuery);if(!o.valid)return o.message}return!0};var v0e=t=>{let{api:e}=ht(),[r,n]=(0,cb.useState)(()=>{let d=t.data?Er(t.data):at.CreateEmptyFlashingCellDefinition();return d=e.flashingCellApi.mergeFlashingCellDefinitionWithDefaults(d),!d.Rule.BooleanExpression&&!d.Rule.Predicate&&(d.Rule.BooleanExpression=""),d}),o=d=>c=>{n(m=>(m=E(b({},m),{[d]:c}),m))},i={DownChangeStyle:(0,cb.useCallback)(o("DownChangeStyle"),[]),UpChangeStyle:(0,cb.useCallback)(o("UpChangeStyle"),[]),NeutralChangeStyle:(0,cb.useCallback)(o("NeutralChangeStyle"),[])},a=vs.createElement(g0e,{onStyleChange:(d,c)=>{i[d](c)}}),s=Ht(),u=()=>{t.data?s(th(r)):s(ic(r)),t.onFinishWizard(r)};return vs.createElement($r,{defaultCurrentSectionName:t.defaultCurrentSectionName,moduleInfo:t.moduleInfo,data:r,onHide:t.onCloseWizard,onFinish:u,sections:[{details:"Specify which data changes should trigger Cell Flashing",isValid:wa,render:()=>vs.createElement(S0e,{onChange:n}),renderSummary:ZO,title:"Scope"},{details:"Build the rules for when Cells should Flash",isValid:y0e,render:()=>vs.createElement(h0e,{onChange:n}),renderSummary:f0e,title:"Condition"},{details:"Select the Duration of the Flash",render:()=>vs.createElement(pF.Box,{padding:2},vs.createElement(m0e,{onChange:n})),renderSummary:c0e,title:"Settings"},{details:"Choose the Flashing Styles",render:()=>vs.createElement(pF.Box,{padding:2},a),renderSummary:b0e,title:"Flash Styles"},"-",{details:"Review the Flashing Cell Rule",render:()=>vs.createElement(pF.Box,{padding:2},vs.createElement(Xr,null)),title:"Summary"}]})};l();var A0e=t=>({name:"Target",values:[t.FlashTarget]});var QB=class extends mt{constructor(e){super(zf,"Flashing Cell","flashing-cell","FlashingAlert","Flash cells when they change",e);this.api.internalApi.getDataService().on("DataChanged",r=>{if(r.trigger!=="undo"){if(this.api.internalApi.getAdaptableOptions().notificationsOptions.dataChangeDetectionPolicy==="formattedValue"){let{oldValue:n,newValue:o}=r,i=r.column.columnId,a=this.api.gridApi.getFormattedValueFromRawValue(i,n),s=this.api.gridApi.getFormattedValueFromRawValue(i,o);if(a===s)return}this.handleDataSourceChanged(r)}})}getModuleAdaptableObjects(){return this.api.flashingCellApi.getFlashingCellDefinitions()}getExplicitlyReferencedColumnIds(e){let r=Gl(e.Rule);return r?this.api.queryLanguageApi.getColumnsFromExpression(r):this.api.scopeApi.scopeHasColumns(e.Scope)?this.api.scopeApi.getColumnsForScope(e.Scope).map(n=>n.columnId):[]}getReferencedNamedQueryNames(e){let r=Gl(e.Rule);return r?this.api.queryApi.getReferencedNamedQueryNames(r):[]}addColumnMenuItems(e){if(e&&this.isModuleEditable()&&!this.api.columnApi.isCalculatedColumn(e.columnId)){let n=this.api.flashingCellApi.getFlashingCellDefinitions().find(o=>this.api.scopeApi.isColumnInScope(e,o.Scope));return n?[this.createColumnMenuItemReduxAction("Remove Flashing Cell",this.moduleInfo.Glyph,Z_(n))]:[this.createColumnMenuItemReduxAction("Add Flashing Cell",this.moduleInfo.Glyph,ic({Scope:{ColumnIds:[e.columnId]},Rule:{Predicate:{PredicateId:"Any"}}}))]}}addContextMenuItems(e){let r=[];if(!e.isRowGroupColumn&&this.isModuleAvailable()&&e.adaptableColumn&&e.rowNode){let n=this.api.internalApi.getAdaptableFlashingCellFor(e.primaryKeyValue),o=this.api.internalApi.getAdaptableFlashingCellFor(e.primaryKeyValue,e.adaptableColumn.columnId);n&&n.flashTarget==="row"?r.push(this.createColumnMenuItemReduxAction("Clear Flashing Alert for Row",this.moduleInfo.Glyph,xb(n))):o&&o.flashTarget==="cell"&&r.push(this.createColumnMenuItemReduxAction("Clear Flashing Alert for Cell",this.moduleInfo.Glyph,xb(o)))}return r}handleDataSourceChanged(e){let r=this.getFlashingCellDefinitionsForDataChange(e);Ee.IsNotNullOrEmpty(r)&&this.showFlashingCellsForDefinitions(e,r)}showFlashingCellsForDefinitions(e,r=[]){let n=this.api.columnApi.getColumns().map(c=>c.columnId),o=e.column.dataType,i=o==="Number",a=i||o==="Date",s=!1,u=!1,d="neutral";if(a){let c=i?Number(e.newValue):e.newValue,m=i?Number(e.oldValue):e.oldValue;s=c>m,u=c<m,d=s?"up":u?"down":"neutral"}r.forEach(c=>{let m=this.api.flashingCellApi.getFlashingCellFlashTarget(c),f={[e.column.columnId]:!0};m==="row"&&n.forEach(g=>{f[g]=!0});let h=e.primaryKeyValue;this.api.flashingCellApi.showFlashingCell({rowPrimaryKey:h,flashingCellDefinition:c,dataChangedInfo:e,direction:d,flashTarget:m,flashColumnIds:f})})}getFlashingCellDefinitionsForDataChange(e){return this.getBaseAlertDefinitionsForDataChange(e,this.api.flashingCellApi.getActiveFlashingCellDefinitions(),!0)}getBaseAlertDefinitionsForDataChange(e,r,n=!1){let o=r.filter(a=>this.api.scopeApi.isColumnInScope(e.column,a.Scope)).filter(a=>!nc(a.Rule)),i=[];return Ee.IsNotNullOrEmpty(o)&&o.forEach(a=>{if(a.Rule.BooleanExpression){let s=a.Rule.BooleanExpression,u=e.rowNode;u||(u=this.api.gridApi.getRowNodeForPrimaryKey(e.primaryKeyValue)),this.api.queryLanguageApi.isValidBooleanExpression(s,this.moduleInfo.ModuleName,`Invalid Alert boolean expression '${s}'`)&&this.api.internalApi.getQueryLanguageService().evaluateBooleanExpression(s,this.moduleInfo.ModuleName,u)&&i.push(a)}else this.isAlertPredicateTriggered(a,e,n)&&i.push(a)}),i}isAlertPredicateTriggered(e,r,n=!1){return this.api.predicateApi.handlePredicate(e.Rule.Predicate,{value:r.newValue,oldValue:r.oldValue,displayValue:null,node:r.rowNode,column:r.column},n)}getTeamSharingAction(){return{ModuleEntities:this.api.flashingCellApi.getFlashingCellDefinitions(),AddAction:ic,EditAction:th}}toView(e){return{items:[E(b({},ra(e.Scope)),{label:"Trigger"}),Dp(e.Rule,this.api),l0e(e),A0e(e),d0e()],abObject:e}}toViewAll(){return this.api.flashingCellApi.getFlashingCellDefinitions().map(e=>this.toView(e))}getViewProperties(){return{getSuspendAction:h1,getUnSuspendAction:g1,getDeleteAction:Z_,getEditWizard:()=>v0e}}};l();var jB=class extends mt{constructor(e){let r=e.internalApi.getAdaptableOptions().settingsPanelOptions.title;super(kx,r,"settings",null,"Manage all Adaptable Settings",e)}addColumnMenuItems(e){return[this.createColumnMenuItemReduxAction("Open "+this.moduleInfo.FriendlyName,this.moduleInfo.Glyph,dr())]}addContextMenuItems(e){return[this.createColumnMenuItemReduxAction("Open "+this.moduleInfo.FriendlyName,this.moduleInfo.Glyph,dr())]}addModuleMenuItem(e){if(this.isModuleAvailable())return this.createColumnMenuItemReduxAction("Open "+this.moduleInfo.FriendlyName,this.moduleInfo.Glyph,dr())}};l();var YB=class extends mt{constructor(e){super(Lx,"Charts","chart","ChartPopup","Create Charts in order to see Adaptable Data visually",e)}isModuleAvailable(){return this.api.chartingApi.isChartingEnabled()&&super.isModuleAvailable()}};var Wy=z3(),KB=class{constructor(e,r){this.adaptable=e;this.gridOptions=r;this.initialAgGridColDefs={};this.adaptable=e,this.gridOptions=r}getAgGridLightThemeName(){return"ag-theme-balham"}getAgGridDarkThemeName(){return"ag-theme-balham-dark"}setUpModules(){let e=new Map,r=this.adaptable.api;return e.set(_l,new hB(r)),e.set(On,new uB(r)),e.set(zf,new QB(r)),e.set(Qa,new dB(r)),e.set(Kn,new pB(r)),e.set(Ml,new cB(r)),e.set(Vr,new mB(r)),e.set(yo,new fB(r)),e.set(Nl,new zB(r)),e.set(Yu,new bB(r)),e.set(Vn,new vB(r)),e.set(vo,new AB(r)),e.set(Ao,new xB(r)),e.set(lo,new EB(r)),e.set(Bo,new IB(r)),e.set(vn,new DB(r)),e.set(Or,new TB(r)),e.set(pa,new wB(r)),e.set(Ll,new LB(r)),e.set(ca,new BB(r)),e.set(kl,new kB(r)),e.set(Qf,new VB(r)),e.set($u,new UB(r)),e.set(Bl,new WB(r)),e.set(Ku,new GB(r)),e.set(Xu,new HB(r)),e.set(qf,new RB(r)),e.set(kx,new jB(r)),e.set(Lx,new YB(r)),e}TrySetUpNodeIds(){if(De.IsNullOrEmpty(this.adaptable.adaptableOptions.primaryKey))return!1;if(this.gridOptions.getRowNodeId!=null)return!0;let e=this.adaptable.adaptableOptions.primaryKey;return this.gridOptions.getRowNodeId=function(r){return r[e]},!0}createCheckboxRendererComp(e,r){return a0e(e,r,this.adaptable.api)}createNumericStyleRendererFunc(e){let r=e.ColumnStyle;return!r||r.CheckBoxStyle?void 0:o=>{if(!e.IncludeGroupedRows&&this.adaptable.isGroupRowNode(o.node))return;let i=this.adaptable.api.formatColumnApi.getNumericStyleMinValue(r,o.node,o.value),a=this.adaptable.api.formatColumnApi.getNumericStyleMaxValue(r,o.node,o.value),s=o.value;vr.objectNotExists(s)&&(s=0);let u=r.PercentBarStyle;if(u){let d=Lu(s,i,a),c=(d-i)/(a-i)*100,m;if(u.ColumnComparison)m=u.ColumnComparison.Color;else{let f=u.CellRanges.find(h=>h.Min<=d&&h.Max>=d);f&&(m=f.Color)}if(m){let f=document.createElement("div");f.className="ab-PercentBar__wrapper",f.style.height=u.CellText?"80%":"100%",f.style.display="flex",f.style.flexDirection="column",f.style.justifyContent="center";let h=document.createElement("div");h.className="ab-PercentBar__bar",h.style.background=u.BackColor,h.style.flex="1";let g=document.createElement("div");if(g.className="ab-PercentBar__barInside",g.style.background=m,g.style.height="100%",g.style.width=`${c.toFixed(0)}%`,h.append(g),f.append(h),u.CellText){let C=document.createElement("div");if(C.className="ab-PercentBar__text",C.style.lineHeight="1.2",u.CellText.includes("CellValue")){if(e.DisplayFormat){let S=e.DisplayFormat.Options;S&&(s=Yn.NumberFormatter(o.value,S))}C.innerText=s}u.CellText.includes("PercentageValue")&&(C.innerText+=` (${c.toFixed(0)}%)`),f.append(C)}return f}}}}getCleanValue(e){if(!(e==null||e=="null"||e==null||e=="undefined"))return String(e)||""}getRenderedValue(e,r){let n=e.cellRenderer;return typeof n=="string"?this.getCleanValue(r):n({value:r})||""}createAdaptableColumnFromAgGridColumn(e,r){let n=e.getColId(),o=e.getColDef(),i=this.gridOptions.columnApi.getDisplayNameForColumn(e,"header");this.initialAgGridColDefs[n]||(this.initialAgGridColDefs[n]=b({},e.getUserProvidedColDef()));let a=n,s=this.adaptable.adaptableOptions.primaryKey,u=r==null?void 0:r[a],d={Uuid:yt(),columnId:a,friendlyName:i,isPrimaryKey:a===s,dataType:this.getColumnDataType(e,!1),visible:e.isVisible(),readOnly:this.isColumnReadonly(o),columnGroup:u,sortable:this.isColumnSortable(o),filterable:this.isColumnFilterable(o),groupable:this.isColumnGroupable(o),pivotable:this.isColumnPivotable(o),aggregatable:this.isColumnAggregetable(o),availableAggregationFunctions:null,aggregationFunction:null,moveable:this.isColumnMoveable(o),hideable:this.isColumnHideable(o),queryable:this.isColumnQueryable(o,a),isGrouped:this.isColumnGrouped(o),isFixed:this.isColumnFixed(o),pinned:this.getColumnPinnedPosition(o),isExcludedFromQuickSearch:!1,isSparkline:this.isColumnSparkline(o)};d.aggregatable&&(d.availableAggregationFunctions=this.getColumnAggregationFunctions(o),typeof o.aggFunc=="string"&&(d.aggregationFunction=o.aggFunc));let c=this.adaptable.adaptableOptions.searchOptions.excludeColumnFromQuickSearch;return c&&c(d)&&(d.isExcludedFromQuickSearch=!0),d}createAdaptableSideBarDefs(e,r){let n=[];if(e){let i={id:"filters",labelDefault:"Filters",labelKey:"filters",iconKey:"filter",toolPanel:"agFiltersToolPanel"};n.push(i)}if(r){let i={id:"columns",labelDefault:"Columns",labelKey:"columns",iconKey:"columns",toolPanel:"agColumnsToolPanel"};n.push(i)}return n.push(this.createAdaptableToolPanel()),this.orderToolPanels(n),{toolPanels:n,defaultToolPanel:""}}createAdaptableToolPanel(){return{id:"adaptable",toolPanel:"AdaptableToolPanel",labelDefault:this.adaptable.adaptableOptions.toolPanelOptions.adaptableToolPanelTitle,labelKey:"adaptable",iconKey:this.adaptable.adaptableOptions.toolPanelOptions.iconKey,width:this.adaptable.adaptableOptions.toolPanelOptions.width,minWidth:this.adaptable.adaptableOptions.toolPanelOptions.minWidth,maxWidth:this.adaptable.adaptableOptions.toolPanelOptions.maxWidth}}orderToolPanels(e){let r=this.adaptable.adaptableOptions.toolPanelOptions.toolPanelOrder;e.sort(function(n,o){let i=typeof n=="string"?n:n.id,a=typeof o=="string"?o:o.id;return r.indexOf(i)-r.indexOf(a)})}reselectSelectedCells(){let e=this.gridOptions.api.getCellRanges();if(Ee.CorrectLength(e,1)){let r=e[0],n={rowStartIndex:r.startRow.rowIndex,rowEndIndex:r.endRow.rowIndex,columns:r.columns};this.gridOptions.api.clearRangeSelection(),this.gridOptions.api.addCellRange(n)}}fireSelectionChangedEvent(){let e={adaptableApi:this.adaptable.api,selectedCellInfo:this.adaptable.api.gridApi.getGridState().SelectedCellInfo,selectedRowInfo:this.adaptable.api.gridApi.getGridState().SelectedRowInfo};this.adaptable.api.eventApi.emit("SelectionChanged",e)}isColumnReadonly(e){return e&&typeof e.editable=="boolean"?!e.editable:!0}isColumnSortable(e){return e&&e.sortable!=null?e.sortable:!1}isColumnGroupable(e){return e&&e.enableRowGroup!=null?e.enableRowGroup:!1}isColumnPivotable(e){return e&&e.enablePivot!=null?e.enablePivot:!1}isColumnAggregetable(e){return e&&e.enableValue!=null?e.enableValue:!1}getColumnAggregationFunctions(e){return e.allowedAggFuncs||["sum","min","max","count","avg","first","last"]}isColumnMoveable(e){return!(!e||e.suppressMovable!=null&&e.suppressMovable==!0||this.isColumnFixed(e))}isColumnQueryable(e,r){if(!e)return!1;let n=this.adaptable.api.queryLanguageApi.getQueryableColumnIds();return Ee.IsNull(n)?!0:Ee.IsEmpty(n)?!1:n.find(o=>o==r)!=null}isColumnHideable(e){return!(!e||e.lockVisible!=null&&e.lockVisible==!0)}isColumnFilterable(e){return e!=null&&e.filter!=null&&e.filter!=!1}getColumnPinnedPosition(e){return e.pinned?e.pinned==="left"||e.pinned===!0?"left":"right":!1}isColumnFixed(e){return e?e.lockPosition!=null&&e.lockPosition==!0||e.lockPinned!=null&&e.lockPinned==!0:!1}isColumnGrouped(e){return e?e.rowGroup!=null&&e.rowGroup==!0||e.rowGroupIndex!=null:!1}isColumnSparkline(e){return(e==null?void 0:e.cellRenderer)==="agSparklineCellRenderer"}getColumnDataType(e,r=!0){if(!e)return pt("column is undefined returning String for Type"),"String";let n="Unknown",o=this.adaptable.api.columnApi.getColumnFromId(e.getId(),r);if(o&&o.dataType!="Unknown")return o.dataType;let i=e.getColDef().type;if(i&&(Array.isArray(i)?i.forEach(d=>{n=="Unknown"&&(n=this.getabColDefValue(d))}):n=this.getabColDefValue(i),n!="Unknown"))return n;let a=this.gridOptions.api.getModel();if(a==null)return pt(`No model so returning type "Unknown" for Column: "${e.getColId()}"`),"Unknown";let s=a.getRow(0);if(s==null)return pt(`No data in grid so returning type "Unknown" for Column: "${e.getColId()}"`),"Unknown";if(s.group){let d=s.childrenAfterGroup;if(Ee.IsNullOrEmpty(d))return pt(`No data in grid so returning type "Unknown" for Column: "${e.getColId()}"`),"Unknown";s=d[0]}let u=this.gridOptions.api.getValue(e,s);if(u instanceof Date)n="Date";else if(Array.isArray(u)&&u.length&&typeof u[0]=="number")n="NumberArray";else switch(typeof u){case"string":n="String";break;case"number":n="Number";break;case"boolean":n="Boolean";break;case"object":n="Object";break;default:break}return pt(`No defined type for column '${e.getColId()}'. Defaulting to type of first value: ${n}`),n}getabColDefValue(e){if(e=="numericColumn")return"Number";if(e.startsWith("abColDef"))switch(e){case"abColDefNumber":return"Number";case"abColDefNumberArray":return"NumberArray";case"abColDefString":return"String";case"abColDefBoolean":return"Boolean";case"abColDefDate":return"Date";case"abColDefObject":return"Object";default:return"Unknown"}return"Unknown"}getAgGridDataType(e){if(!e)return"abColDefString";switch(e){case"Boolean":return"abColDefBoolean";case"Date":return"abColDefDate";case"Number":return"abColDefNumber";case"NumberArray":return"abColDefNumberArray";case"Object":return"abColDefObject";case"String":return"abColDefString";case"All":case"Unknown":return"abColDefCustom"}}checkShouldClearExistingFiltersOrSearches(){this.adaptable.adaptableOptions.filterOptions.clearFiltersOnStartUp&&Ee.IsNotNullOrEmpty(this.adaptable.api.filterApi.getAllColumnFilter())&&(pt('Clearing existing Column Filters as "clearFiltersOnStartUp" is true'),this.adaptable.api.filterApi.clearAllColumnFilter()),this.adaptable.adaptableOptions.searchOptions.clearSearchesOnStartUp&&(De.IsNotNullOrEmpty(this.adaptable.api.quickSearchApi.getQuickSearchState().QuickSearchText)||De.IsNotNullOrEmpty(this.adaptable.api.queryApi.getCurrentQuery())||Ee.IsNotNullOrEmpty(this.adaptable.api.dataSourceApi.getAllDataSource()))&&(pt('Clearing existing Searches as "clearSearchesOnStartUp" is true'),this.adaptable.api.quickSearchApi.clearQuickSearch(),this.adaptable.api.queryApi.clearCurrentQuery(),this.adaptable.api.dataSourceApi.clearDataSource())}runAdaptableGroupComparerFunction(){let e=this.adaptable;return function(n,o){let i=e.getFirstGroupedColumn();if(i){let a=e.getActiveColumnComparator(i.columnId,e.api.customSortApi.getCustomSortByColumn(i.columnId),e.api.internalApi.getCustomSortComparer(i));if(a)return a(n.key,o.key)}return n.key==o.key?0:n.key<o.key?-1:1}}getCurrentIPPStyle(){let e=document.querySelectorAll(".ag-header-cell").item(0),r=document.querySelector(".ag-header"),n=r?window.getComputedStyle(r,null):null,o=document.querySelector(".ag-row-even"),i=o?window.getComputedStyle(o,null):null,a=document.querySelector(".ag-row-odd"),s=a?window.getComputedStyle(a,null):{backgroundColor:"#fff"};return{Header:{headerColor:Wy(n.color).toHexString(),headerBackColor:Wy(n.backgroundColor).toHexString(),headerFontFamily:n.fontFamily,headerFontSize:n.fontSize,headerFontStyle:n.fontStyle,headerFontWeight:n.fontWeight,height:Number(n.height.replace("px","")),Columns:this.adaptable.api.columnApi.getColumns().map(u=>{let d=document.querySelector(`.ag-header-cell[col-id='${u.columnId}']`),c=window.getComputedStyle(d||e,null);return{columnFriendlyName:u.friendlyName,width:Number(c.width.replace("px","")),textAlign:c.textAlign}})},Row:{color:Wy(i.color).toHexString(),backColor:Wy(i.backgroundColor).toHexString(),altBackColor:Wy(s.backgroundColor).toHexString(),fontFamily:i.fontFamily,fontSize:i.fontSize,fontStyle:i.fontStyle,fontWeight:i.fontWeight,height:Number(i.height.replace("px","")),Columns:this.adaptable.api.columnApi.getColumns().map(u=>{let d=document.querySelector(`.ag-cell[col-id='${u.columnId}']`),c=window.getComputedStyle(d||o,null);return{columnFriendlyName:u.friendlyName,width:Number(c.width.replace("px","")),textAlign:c.textAlign}})}}}};l();l();l();l();var x0e=no?no.isConcatSpreadable:void 0;function wct(t){return Tr(t)||Is(t)||!!(x0e&&t&&t[x0e])}var E0e=wct;function R0e(t,e,r,n,o){var i=-1,a=t.length;for(r||(r=E0e),o||(o=[]);++i<a;){var s=t[i];e>0&&r(s)?e>1?R0e(s,e-1,r,n,o):Ym(o,s):n||(o[o.length]=s)}return o}var I0e=R0e;function Oct(t){var e=t==null?0:t.length;return e?I0e(t,1):[]}var $B=Oct;var XB=class{constructor(e,r){this.adaptable=e;this.gridOptions=r;this.adaptable=e,this.gridOptions=r}buildColumnMenu(e,r){let n=e.column.getColId(),o=[],i=[],a=[];o.push(...this.createAgGridColumnMenuItems(r,e));let s=this.adaptable.adaptableOptions.menuOptions.showAdaptableColumnMenu,u=s==null||s!==!1;u&&o.push("separator");let d=this.adaptable.api.columnApi.getColumnFromId(n),c=this.createColumnMenuContextObject(d,e.column);if(c.isRowGroupColumn){let f=this.createGroupedColumnMenuItem();f&&i.push(f)}u&&i.push(...this.createAdaptableColumnMenuItems(d,c)),a.push(...this.createUserColumnMenuItems(c));let m={aggrid:o,adaptable:i,user:a};return $B(this.adaptable.adaptableOptions.menuOptions.columnMenuOrder.map(f=>m[f]))}buildContextMenu(e,r){let n=[],o=[],i=[],a=this.adaptable.adaptableOptions.menuOptions.showAdaptableContextMenu,s=a==null||a!==!1,u=this.adaptable.adaptableOptions.menuOptions.contextMenuItems,d=Ee.IsNotNullOrEmpty(u),c=this.createAgGridContextMenuItems(r,e);c&&(n.push(...c),(s||d)&&n.push("separator"));let m=[],f=e.column;if(f){let g=this.adaptable.api.columnApi.getColumnFromId(f.getColId()),C=this.createContextMenuContextObject(e,g),S=this.createAdaptableContextMenuItems(C);Ee.IsNotNullOrEmpty(S)&&m.push(...S),Ee.IsNotNullOrEmpty(m)&&s&&o.push(...this.createAgGridAdaptableContextMenuItems(m,C)),d&&i.push(...this.createAgGridUserContextMenuItems(u,C))}let h={aggrid:n,adaptable:o,user:i};return $B(this.adaptable.adaptableOptions.menuOptions.contextMenuOrder.map(g=>h[g]))}createRemoveGroupsMenuItem(e){return{name:e.label,action:e.onClick?e.onClick:()=>this.adaptable.api.internalApi.dispatchReduxAction(e.reduxAction),icon:Ck(e.icon,{style:{fill:"var(--ab-color-text-on-primary)"}})}}createAgGridMenuDefFromAdaptableMenu(e){let r=Ee.IsNotNullOrEmpty(e.subItems)?e.subItems.map(n=>this.createAgGridMenuDefFromAdaptableMenu(n)):void 0;return{name:e.label,action:e.onClick?e.onClick:e.reduxAction?()=>this.adaptable.api.internalApi.dispatchReduxAction(e.reduxAction):void 0,icon:Ck(e.icon,{style:{fill:"var(--ab-color-text-on-primary)"}}),subMenu:r}}createAgGridColumnMenuDefFromUserMenu(e,r){let n=e.onClick,o=e.disabled&&e.disabled(r);return{name:this.getLabelFromUserColumnMenuItem(e,r),action:()=>n?n(r):null,icon:e.icon,disabled:o,subMenu:Ee.IsNullOrEmpty(e.subMenuItems)?void 0:e.subMenuItems.map(i=>this.createAgGridColumnMenuDefFromUserMenu(i,r))}}createAgGridContextMenuDefFromUserMenu(e,r){let n=e.onClick,o=e.disabled&&e.disabled(r);return{name:this.getLabelFromUserContextMenuItem(e,r),action:()=>n?n(r):null,icon:e.icon,disabled:o,subMenu:Ee.IsNullOrEmpty(e.subMenuItems)?void 0:e.subMenuItems.map(i=>this.createAgGridContextMenuDefFromUserMenu(i,r))}}createAdaptableColumnMenuItemFromUserMenu(e,r){let n=e.onClick;return{label:this.getLabelFromUserColumnMenuItem(e,r),reduxAction:null,onClick:()=>n?n(r):null,isVisible:!0,icon:e.icon}}createAgGridColumnMenuItems(e,r){return e?e(r):r.defaultItems.slice(0)}createGroupedColumnMenuItem(){if(this.adaptable.adaptableOptions.menuOptions.showUngroupColumnMenuItem){let r={label:this.gridOptions.columnApi.getRowGroupColumns().length==1?"Ungroup Column":"Ungroup All",onClick:()=>this.gridOptions.columnApi.setRowGroupColumns([]),isVisible:!0,icon:"undo"};return this.createAgGridMenuDefFromAdaptableMenu(r)}}createAdaptableColumnMenuItems(e,r){let n=[];return this.getAdaptableMenuItemsColumnHeader(e,r).forEach(i=>{let a=this.createAgGridMenuDefFromAdaptableMenu(i);n.push(a)}),n}createUserColumnMenuItems(e){let r=[],n=this.getUserMenuItemsColumnHeader(e);return Ee.IsNotNullOrEmpty(n)&&n.forEach(o=>{let i=this.createAgGridColumnMenuDefFromUserMenu(o,e);r.push(i)}),r}createColumnMenuContextObject(e,r){return{adaptableColumn:e,agGridColumn:r,adaptableApi:this.adaptable.api,isRowGroupColumn:this.adaptable.api.columnApi.isRowGroupColumn(r.getColId())}}createContextMenuContextObject(e,r){let n=!1,o=!1,i;r&&(i=this.adaptable.getGridCellFromRowNode(e.node,r.columnId));let a=this.adaptable.api.gridApi.getSelectedCellInfo();i&&a&&(o=a.gridCells.find(d=>d!=null&&d.column==i.column&&d.primaryKeyValue==i.primaryKeyValue)!=null,o&&(n=Ee.CorrectLength(a.columns,1)));let s=this.adaptable.setSelectedRows();return{isSelectedCell:o,gridCell:i,adaptableColumn:r,agGridColumn:e.column,rowNode:e.node,isGroupedNode:e.node?e.node.group:!1,isSingleSelectedColumn:n,primaryKeyValue:i?i.primaryKeyValue:void 0,adaptableApi:this.adaptable.api,selectedCellInfo:a,selectedRowInfo:s,isRowGroupColumn:this.adaptable.api.columnApi.isRowGroupColumn(e.column.getColId())}}createAgGridContextMenuItems(e,r){return e?e(r).slice(0):r.defaultItems?r.defaultItems.slice(0):[]}createAdaptableContextMenuItems(e){let r=[];return this.adaptable.adaptableModules.forEach(n=>{let o=n.addContextMenuItems(e);o&&r.push(...o)}),this.adaptable._emitSync("CreateAdaptableContextMenuItems",{items:r,menuContext:e}),r}createAgGridAdaptableContextMenuItems(e,r){let n=[],o=this.adaptable.adaptableOptions.menuOptions.showAdaptableContextMenu;return(o==null||o!==!1)&&e.forEach(i=>{if(i){let a=!0;if(o!=null&&typeof o=="function"&&(a=o(i,r)),a){let s=this.createAgGridMenuDefFromAdaptableMenu(i);n.push(s)}}}),n}createAgGridUserContextMenuItems(e,r){let n=[];return e.filter(o=>!!o).filter(o=>o.hidden?!o.hidden(r):!0).forEach(o=>{let i=this.createAgGridContextMenuDefFromUserMenu(o,r);n.push(i)}),n}getAdaptableMenuItemsColumnHeader(e,r){let n=[],o=this.adaptable.adaptableOptions.menuOptions.showAdaptableColumnMenu,i=o==null||o!==!1;return this.adaptable.adaptableModules.forEach(a=>{let s=a.addColumnMenuItems(e);s&&(i?s.forEach(u=>{if(u){let d=!0;o!=null&&typeof o=="function"&&(d=o(u,r)),d&&n.push(u)}}):n.push(...s))}),n}getLabelFromUserColumnMenuItem(e,r){return typeof e.label=="function"?e.label(r):e.label}getLabelFromUserContextMenuItem(e,r){return typeof e.label=="function"?e.label(r):e.label}getUserMenuItemsColumnHeader(e){var r,n;return(n=(r=this.adaptable.adaptableOptions.menuOptions)==null?void 0:r.columnMenuItems)==null?void 0:n.filter(o=>o.hidden?!o.hidden(e):!0)}buildStandaloneColumnHeader(e){let r=this.createColumnMenuContextObject(e,null),n=[];n.push(...this.getAdaptableMenuItemsColumnHeader(e,r));let o=this.getUserMenuItemsColumnHeader(r);return Ee.IsNotNullOrEmpty(o)&&o.forEach(i=>{let a=this.createAdaptableColumnMenuItemFromUserMenu(i,r);n.push(a)}),n}};l();var Qy=y(require("react-dom"));l();var zr=y(require("react"));l();var hl=y(require("react"));var JB=y(re());l();var zy=y(require("react"));var Fct="ab-GridList",Mct=new Map([["item",{field:"item",header:null,flex:1}]]),_ct=t=>{var r;let e=zy.Children.map(t.children,(n,o)=>({item:n,id:o})).filter(n=>!!n.item);return zy.createElement(Wc,{data:e,primaryKey:"id"},zy.createElement(rs,{header:!1,showZebraRows:t.showZebraRows,rowHeight:(r=t.rowHeight)!=null?r:"--ab-grid-row-height",domProps:{className:He(Fct,t.className),style:{minHeight:"15rem"}},columns:Mct}))},D0e=_ct;var qy=require("react");var cF=t=>{let[e,r]=(0,qy.useState)(""),n=hl.useCallback(f=>{r(f),t==null||t.onFilterChange(f)},[t.onFilterChange]),[o,i]=(0,qy.useState)(t.uiSelectedColumnValues),a=f=>{i(f),t.onColumnValueSelectedChange(f)};(0,qy.useEffect)(()=>{i(t.uiSelectedColumnValues)},[t.uiSelectedColumnValues]);let s=f=>hl.createElement(he,E(b({},f),{variant:"agGrid",fontSize:2,marginTop:1,marginBottom:1,marginLeft:1,marginRight:1})),u=f=>{let h=o.indexOf(f);if(h>=0){let g=[...o];g.splice(h,1),a(g)}else a([...o,f])},d=t.columnDistinctValues.map((f,h)=>{let g=o.indexOf(f)>=0,C=f;return De.IsNullOrEmpty(C)||!t.suppressClientSideFilter&&De.IsNotNullOrEmpty(e)&&C.toLocaleLowerCase().indexOf(e.toLocaleLowerCase())<0?null:t.useAgGridStyle?s({key:"columnValue"+h,children:C,checked:g,onChange:()=>u(f)}):hl.createElement(eb,{noZebra:t.useAgGridStyle,key:"columnValue"+h,onClick:()=>u(f),active:g,value:C},C)}),c=hl.createElement(va,{autoFocus:!0,type:"text",placeholder:"Search Column Values",value:e,style:{paddingTop:"var(--ab-space-1)",paddingBottom:"var(--ab-space-1)",paddingLeft:"var(--ab-space-1)",borderRadius:"var(--ab__border-radius)"},OnTextChange:n}),m="ab-ListBoxFilterForm";return hl.createElement("div",{className:He(m,t.useAgGridStyle?`${m}--aggrid-style`:null,t.isLoading&&`${m}--loading`)},hl.createElement(JB.Box,{px:2},hl.createElement(JB.Box,{mx:t.useAgGridStyle?0:"2px",marginBottom:2},c,t.isLoading&&hl.createElement(yy,null,"Loading"))),!t.isLoading&&hl.createElement(D0e,{showZebraRows:!1,className:t.useAgGridStyle?"":"ab-padding-horizontal-0"},d))};l();var Om=y(require("react"));var ZB=class extends Om.Component{constructor(e){super(e);this.state={}}render(){let e=this.props.MenuItems.map((r,n)=>Om.createElement(eb,{key:n,onClick:()=>this.onClick(r)},r.icon&&Om.createElement(Ct,{name:r.icon}),r.label));return Om.createElement("div",{style:Nct},Om.createElement(bO,null,e))}onClick(e){this.props.onMenuItemClick(e)}},Nct={overflowY:"auto",overflowX:"hidden",height:"450px",marginBottom:"0"};l();var oi=y(require("react")),Iu=y(re());var eV=class extends oi.Component{render(){let e=oi.createElement(Iu.Flex,{alignItems:"center",flexDirection:"row",style:{width:"100%"}},this.props.IsAlwaysFilter?oi.createElement(Iu.Flex,{flex:6,marginRight:2},"Filter"):oi.createElement(Iu.Flex,{flex:6,flexDirection:"column"},oi.createElement(Iu.Flex,null,oi.createElement(Iu.Flex,{flex:6},oi.createElement(ke,{value:"Menu",checked:this.props.ColumnMenuTab=="Menu",onChange:()=>this.onSelectMenu()},"Menu")),oi.createElement(Iu.Flex,{flex:6},oi.createElement(ke,{value:"Filter",checked:this.props.ColumnMenuTab=="Filter",onChange:()=>this.onSelectFilter()},"Filter")))),this.props.clearFilterButton&&this.props.ColumnMenuTab=="Filter"&&this.props.clearFilterButton,this.props.saveButton&&this.props.ColumnMenuTab=="Filter"&&this.props.saveButton);return oi.createElement(Iu.Flex,{flexDirection:"column"},oi.createElement(Gt,{className:"ab-FilterFormPanel",header:e,headerProps:{padding:1},style:E(b({},this.props.style),{flex:1}),bodyProps:{padding:0,style:{maxHeight:"50vh"}},bodyScroll:!0,borderRadius:0,border:"none"},this.props.children),this.props.autoApplyFilter?null:oi.createElement(Iu.Flex,{flex:"none",flexDirection:"row",padding:1,justifyContent:"flex-end"},oi.createElement(Z,{variant:"raised",tone:"accent",disabled:this.props.applyFilterButtonDisabled,onClick:()=>this.onApplyFilterClicked()},"Apply Filter")))}onApplyFilterClicked(){this.props.onFilterApplied()}onSelectMenu(){this.props.ColumnMenuTabChanged("Menu")}onSelectFilter(){this.props.ColumnMenuTabChanged("Filter")}};var Fm=y(re());l();var Mp=(t,e)=>typeof e=="function"?e(t):e;var kct={width:"100%",minWidth:150},Mm=class extends zr.Component{constructor(e){super(e);this._isMounted=!1;this.handleFilterChange=e=>{this.state.suppressClientSideFilter&&this.loadPermittedValues(e)};this._isMounted=!0;let r=Mm.createColumnFilterFromProps(this.props);this.state={columnFilters:e.columnFilters,distinctColumnValues:[],isDistinctColumnValuesLoading:!1,showTab:!0,selectedTab:"Filter",editedColumnFilter:r,currentTab:Mm.getCurrentTab(r),suppressClientSideFilter:!1}}static createColumnFilterFromProps(e){let r=e.columnFilters.find(n=>n.ColumnId==e.currentColumn.columnId);if(!r){let n=e.api.internalApi.getAdaptableOptions().filterOptions;if(n.defaultFilterFormTab=="Values")return wt.CreateColumnFilter(e.currentColumn.columnId,"Values",[]);if(e.currentColumn.dataType==="Number")return wt.CreateColumnFilter(e.currentColumn.columnId,Mp(e.currentColumn,n.defaultNumericColumnFilter),[""]);if(e.currentColumn.dataType==="String")return wt.CreateColumnFilter(e.currentColumn.columnId,Mp(e.currentColumn,n.defaultStringColumnFilter),[""]);if(e.currentColumn.dataType==="Date")return wt.CreateColumnFilter(e.currentColumn.columnId,Mp(e.currentColumn,n.defaultDateColumnFilter),[""]);if(e.currentColumn.dataType==="Boolean")return wt.CreateColumnFilter(e.currentColumn.columnId,"BooleanToggle",["all"])}return r}static getCurrentTab(e){return e&&e.Predicate&&e.Predicate.PredicateId&&e.Predicate.PredicateId!="Values"?"predicates":"values"}static getDerivedStateFromProps(e,r){let o=e.api.internalApi.getAdaptableOptions().filterOptions.autoApplyFilter?Mm.createColumnFilterFromProps(e):r.editedColumnFilter,i=r.columnFilters,a=!1;return e.columnFilters!==i&&(i=e.columnFilters,a=!0),{editedColumnFilter:o,columnFilters:i,currentTab:a||!r.currentTab?Mm.getCurrentTab(o):r.currentTab}}componentWillUnmount(){this._isMounted=!1}componentDidMount(){this.props.currentColumn.dataType!="Boolean"&&this.loadPermittedValues()}async loadPermittedValues(e=""){let{values:r,suppressClientSideFilter:n}=await ep(this.props.api.columnApi.getDistinctFilterDisplayValuesForColumn(this.props.currentColumn.columnId,e),()=>this._isMounted&&this.setState({isDistinctColumnValuesLoading:!0}));!this._isMounted||this.setState({distinctColumnValues:r,isDistinctColumnValuesLoading:!1,suppressClientSideFilter:n})}render(){var d,c;let e=this.isFilterable(),r=this.props.api.internalApi.getAdaptableOptions().filterOptions,n=this.props.api.filterApi.getFilterPredicateDefsForColumn(this.props.currentColumn).filter(m=>!m.onlyQuickFilter),o=((c=(d=this.state.editedColumnFilter)==null?void 0:d.Predicate)==null?void 0:c.PredicateId)==="Values"?this.state.editedColumnFilter.Predicate.Inputs:[],i=vr.objectNotExists(this.state.editedColumnFilter)||vr.objectNotExists(this.state.editedColumnFilter.Predicate)||vr.objectNotExists(this.state.editedColumnFilter.Predicate.PredicateId),a=zr.createElement(Vy,{onClick:()=>this.onCloseForm(),tooltip:null,accessLevel:"Full"}),s=zr.createElement(Ma,{onClick:()=>this.onClearFilter(),disabled:i,tooltip:null,accessLevel:"Full",showText:!0,showIcon:!1}),u=!!r.useAgGridFilterFormStyle;return zr.createElement("div",{"data-name":"filter-form"},De.IsNullOrEmpty(e)?zr.createElement(eV,{style:kct,ColumnMenuTab:this.state.selectedTab,ColumnMenuTabChanged:m=>this.onSelectTab(m),IsAlwaysFilter:this.props.embedColumnMenu,clearFilterButton:s,closeButton:a,showCloseButton:this.props.showCloseButton,autoApplyFilter:!!r.autoApplyFilter,useAgGridStyle:u,applyFilterButtonDisabled:i,onFilterApplied:()=>this.onFilterApplied()},this.state.selectedTab=="Menu"?zr.createElement(ZB,{MenuItems:this.props.api.internalApi.buildStandaloneColumnHeader(this.props.currentColumn),onMenuItemClick:m=>this.onMenuItemClick(m)}):zr.createElement("div",null,this.state.showTab&&zr.createElement("div",null,zr.createElement(ke,{marginLeft:1,flex:1,checked:this.state.currentTab=="values",onChange:()=>this.setState({currentTab:"values"})},zr.createElement(Fm.Flex,{fontSize:"var( --ab-font-size-2)"},"Column Values")),zr.createElement(ke,{marginLeft:2,flex:1,checked:this.state.currentTab=="predicates",onChange:()=>this.setState({currentTab:"predicates"})},zr.createElement(Fm.Flex,{fontSize:"var( --ab-font-size-2)"},"Filters"))),this.state.currentTab==="values"&&zr.createElement("div",null,zr.createElement(cF,{suppressClientSideFilter:this.state.suppressClientSideFilter,isLoading:this.state.isDistinctColumnValuesLoading,onFilterChange:this.handleFilterChange,currentColumn:this.props.currentColumn,columns:this.props.columns,columnDistinctValues:this.state.distinctColumnValues,dataType:this.props.currentColumn.dataType,uiSelectedColumnValues:o,useAgGridStyle:u,onColumnValueSelectedChange:m=>this.onColumnValuesChange(m)})),this.state.currentTab==="predicates"&&zr.createElement("div",null," ",this.state.showTab&&zr.createElement("hr",null),n.filter(m=>m.id!="Values").map((m,f)=>this.renderColumnPredicate(m,f))))):zr.createElement(_t,null,e))}renderColumnPredicate(e,r){var i;let{editedColumnFilter:n}=this.state,o=((i=n==null?void 0:n.Predicate)==null?void 0:i.PredicateId)===e.id;return zr.createElement(Fm.Flex,{key:r,flexDirection:"column"},zr.createElement(ke,{fontSize:"var(--ab-font-size-2)",margin:1,flex:1,checked:o,onChange:()=>this.selectColumnPredicate(e)},e.label),zr.createElement(Fm.Flex,{flexDirection:"column",flex:0,marginLeft:3,marginRight:2},o&&this.renderPredicateInput(e,n)))}renderPredicateInput(e,r){var n;return(e==null?void 0:e.id)==="BooleanToggle"?zr.createElement(Fm.Flex,{flexDirection:"row",flex:1,justifyContent:"center",alignItems:"center"},zr.createElement(he,{checked:r.Predicate.Inputs[0]==="true"?!0:r.Predicate.Inputs[0]==="false"?!1:null,onChange:o=>{let i=r.Predicate.Inputs[0]==="false"&&o===!0?"all":o===!0?"true":"false";this.changeColumnPredicateInput(i,0)}})):(n=e.inputs)==null?void 0:n.map((o,i)=>zr.createElement(Fm.Flex,{flexDirection:"row"},zr.createElement(Yr,{key:i,type:o.type,autoFocus:i===0,value:r.Predicate.Inputs[i],onChange:a=>this.changeColumnPredicateInput(a.target.value,i),style:{marginBottom:5,flex:1,fontSize:"var( --ab-font-size-2)"}})))}isFilterable(){return this.props.currentColumn.filterable?"":"Column is not filterable"}onSelectTab(e){this.setState({selectedTab:e})}onColumnValuesChange(e){let{editedColumnFilter:r}=this.state;r.Predicate={PredicateId:"Values",Inputs:e},this.setState({editedColumnFilter:r}),this.persistFilter()}persistFilter(){let{editedColumnFilter:e}=this.state;e.Predicate===void 0||e.Predicate.PredicateId==="Values"&&e.Predicate.Inputs.length===0?this.props.onClearColumnFilter(e):this.props.api.internalApi.getAdaptableOptions().filterOptions.autoApplyFilter&&this.props.onSetColumnFilter(e)}onClearFilter(){let{editedColumnFilter:e}=this.state;e.Predicate=void 0,this.setState({editedColumnFilter:e}),this.persistFilter()}onFilterApplied(){this.props.onAddColumnFilter(this.state.editedColumnFilter),this.props.onHideFilterForm()}onCloseForm(){this.props.onHideFilterForm()}onMenuItemClick(e){e.reduxAction&&this.props.onMenuItemClick(e.reduxAction),e.onClick&&e.onClick(),this.props.onHideFilterForm()}selectColumnPredicate(e){var n;let{editedColumnFilter:r}=this.state;r.Predicate={PredicateId:e.id,Inputs:((n=e.inputs)!=null?n:[]).map(o=>{var i;return(i=o.defaultValue)!=null?i:""})},this.setState({editedColumnFilter:r}),this.persistFilter()}changeColumnPredicateInput(e,r){let{editedColumnFilter:n}=this.state;n.Predicate.Inputs[r]=e,this.setState({editedColumnFilter:n}),this.props.api.internalApi.getAdaptableOptions().filterOptions.autoApplyFilter&&this.props.onSetColumnFilter(n)}};function Bct(t,e){return{currentColumn:e.currentColumn,columns:t.Grid.Columns,columnFilters:t.Filter.ColumnFilters,showCloseButton:e.showCloseButton}}function Vct(t){return{onMenuItemClick:e=>t(e),onClearColumnFilter:e=>t(Ul(e)),onAddColumnFilter:e=>t(Hs(e)),onEditColumnFilter:e=>t(ch(e)),onSetColumnFilter:e=>t(CC(e)),onShowPrompt:e=>t(uA(e)),onHideFilterForm:()=>t(qX())}}var Gct=We(Bct,Vct)(Mm),P0e=t=>La(zr.createElement(Gct,{api:t.Adaptable.api,currentColumn:t.Column,teamSharingActivated:!1,embedColumnMenu:t.Adaptable.embedColumnMenu,showCloseButton:t.ShowCloseButton}),t.Adaptable);var T0e=t=>class{init(r){this.params=r,this.column=r.column,this.filterContainer=document.createElement("div"),this.filterContainer.id="filter_"+this.params.column.getColId()+"_"+t.adaptableOptions.adaptableId}isFilterActive(){return t.api.filterApi.getAllColumnFilter().findIndex(r=>r.ColumnId==this.params.column.getColId())>-1}doesFilterPass(r){return!0}getModel(){}setModel(r){}getGui(){return this.filterContainer}afterGuiAttached(r){Qy.unmountComponentAtNode(this.filterContainer);let n=t.api.columnApi.getColumnFromId(this.column.getColId());if(n){let o={Column:n,Adaptable:t,ShowCloseButton:r!=null&&r.hidePopup!=null};t.hideFilterFormPopup=r?r.hidePopup:null,Qy.render(P0e(o),this.filterContainer)}}destroy(){Qy.unmountComponentAtNode(this.filterContainer),this.filterContainer=null}};l();var mF=y(require("react-dom"));l();var hr=y(require("react"));var _m=y(re());var w0e=class extends hr.Component{constructor(e){super(e);this._isMounted=!1;this.handleFilterChange=e=>{this.state.suppressClientSideFilter&&this.loadPermittedValues(e)};this.loadPermittedValues=async(e="")=>{let{values:r,suppressClientSideFilter:n}=await ep(this.props.api.columnApi.getDistinctFilterDisplayValuesForColumn(this.props.currentColumn.columnId,e),()=>this._isMounted&&this.setState({isDistinctColumnValuesLoading:!0}));!this._isMounted||this.setState({distinctColumnValues:r,suppressClientSideFilter:n,isDistinctColumnValuesLoading:!1})};this.debouncedAddFilter=Ko(()=>this.props.onAddColumnFilter(this.state.filter),250);this.debouncedEditFilter=Ko(()=>this.props.onEditColumnFilter(this.state.filter),250);let r=this.getFilterFromProps();this._isMounted=!0,this.state={filter:r,suppressClientSideFilter:!1,isDistinctColumnValuesLoading:!1,distinctColumnValues:[]}}componentDidMount(){var e,r;((r=(e=this.state)==null?void 0:e.filter)==null?void 0:r.Predicate.PredicateId)==="Values"&&this.loadPermittedValues()}componentWillUnmount(){this._isMounted=!1}UNSAFE_componentWillReceiveProps(e){let r=this.getFilterFromProps(e);Di(r,this.state.filter)||(this.setState({filter:r}),(r==null?void 0:r.Predicate)&&r.Predicate.PredicateId==="Values"&&(this.setState({isDistinctColumnValuesLoading:!0}),this.loadPermittedValues()))}getFilterFromProps(e=this.props){let r=e.columnFilters.find(o=>o.ColumnId==e.currentColumn.columnId),n=e.api.internalApi.getAdaptableOptions().filterOptions;return r||(!r&&e.currentColumn.dataType==="Number"?wt.CreateColumnFilter(e.currentColumn.columnId,Mp(e.currentColumn,n.defaultNumericColumnFilter),[""]):!r&&e.currentColumn.dataType==="String"?wt.CreateColumnFilter(e.currentColumn.columnId,Mp(e.currentColumn,n.defaultStringColumnFilter),[""]):!r&&e.currentColumn.dataType==="Date"?wt.CreateColumnFilter(e.currentColumn.columnId,Mp(e.currentColumn,n.defaultDateColumnFilter),[""]):!r&&e.currentColumn.dataType==="Boolean"?wt.CreateColumnFilter(this.props.currentColumn.columnId,"BooleanToggle",["all"]):wt.CreateColumnFilter(this.props.currentColumn.columnId,null,null))}render(){let{filter:e}=this.state,r=this.props.api.filterApi.getFilterPredicateDefsForColumn(this.props.currentColumn),n=this.props.api.predicateApi.getPredicateDefById(e==null?void 0:e.Predicate.PredicateId);if(!this.props.currentColumn||!this.props.currentColumn.filterable)return null;let o="mouseenter",i="mouseleave";this.props.quickFilterTrigger==="click"&&(o="click",i="blur");let a=!0,s=this.props.api.internalApi.getAdaptableOptions().filterOptions.hideQuickFilterDropdown;s&&(a=!s(this.props.currentColumn));let u=!0,d=this.props.api.internalApi.getAdaptableOptions().filterOptions.hideQuickFilterInput;return d&&(u=!d(this.props.currentColumn)),hr.createElement(hr.Fragment,null,a&&hr.createElement(Li,{showEvent:o,hideEvent:i,preventPortalEventPropagation:o==="click",alignHorizontal:"left",targetOffset:10,hideDelay:300,"data-name":"quick-filter-overlay",style:{overflowY:"auto",fontSize:"var(--ab-font-size-2)",border:"1px solid var(--ab-color-primarydark)",background:"var(--ab-color-defaultbackground)"},render:()=>hr.createElement(_m.Flex,{flexDirection:"column","data-name":"quick-filter"},(e==null?void 0:e.Predicate.PredicateId)&&hr.createElement(hr.Fragment,null,hr.createElement(Z,{p:2,variant:"text",onClick:()=>this.clearFilter()},hr.createElement("span",{style:{width:20,marginRight:10}},hr.createElement(Ct,{name:"delete"})),"Clear")),r.map(c=>hr.createElement(Z,{key:c.id,p:2,variant:"text",tone:(e==null?void 0:e.Predicate.PredicateId)===c.id?"info":"none",onClick:()=>this.selectColumnPredicate(c.id)},hr.createElement("span",{style:{width:20,marginRight:10}},this.renderPredicateIcon(c)),c.label)))},hr.createElement(Z,{style:{borderRadius:0,borderColor:"var(--ab-color-primarydark)"}},this.renderPredicateIcon(n))),u&&this.renderLabel(e,n),u&&this.renderPredicateInput(n,e))}renderLabel(e,r){return(e==null?void 0:e.Predicate.PredicateId)==="Values"?Pe.IsNullOrEmpty(e.Predicate.Inputs)&&Pe.IsNullOrEmptyOrContainsSingleEmptyValue(this.state.distinctColumnValues)?this.renderNoValuesDropdown(e):this.renderValuesDropdown(e):r&&(r==null?void 0:r.inputs)===void 0&&hr.createElement(_m.Box,{p:1,alignSelf:"center"},r.label)}renderPredicateIcon(e){if(!e||!e.icon)return hr.createElement(Ct,{name:"filter-outline"});if("text"in e.icon)return hr.createElement("span",null,e.icon.text);if("path"in e.icon)return hr.createElement(Ct,{name:e.icon.path})}renderPredicateInput(e,r){var n;return(e==null?void 0:e.id)==="BooleanToggle"?hr.createElement(_m.Flex,{flexDirection:"row",flex:1,justifyContent:"center",alignItems:"center",style:{position:"absolute",left:0,right:0,bottom:0,top:0}},hr.createElement(he,{checked:r.Predicate.Inputs[0]==="checked"?!0:r.Predicate.Inputs[0]==="unchecked"?!1:null,onChange:o=>{let i=r.Predicate.Inputs[0]==="unchecked"&&o===!0?"all":o===!0?"checked":"unchecked";this.changeColumnPredicateInput(i,0)}})):(n=e==null?void 0:e.inputs)==null?void 0:n.map((o,i)=>{var a,s;return hr.createElement(Yr,{key:i,type:o.type==="number"?"text":o.type,autoFocus:!1,value:(s=(a=r.Predicate.Inputs)==null?void 0:a[i])!=null?s:"",onChange:u=>this.changeColumnPredicateInput(u.target.value,i),onKeyDownCapture:u=>{u.nativeEvent.key==="Escape"&&(u.nativeEvent.preventDefault(),u.nativeEvent.stopPropagation(),this.clearFilter())},flex:1,style:{minWidth:0,padding:"var(--ab-space-1)",borderRadius:0,borderLeftWidth:0}})})}renderNoValuesDropdown(e){return hr.createElement(Z,{disabled:!0,style:{flex:1,whiteSpace:"nowrap",overflow:"hidden",textOverflow:"ellipsis",borderRadius:0,borderLeftWidth:0,borderColor:"var(--ab-color-primarydark)"}},"No Column Values")}renderValuesDropdown(e){let r="mouseenter";return this.props.quickFilterValuesTrigger==="click"&&(r="click"),hr.createElement(Li,{alignHorizontal:"left",showEvent:r,hideEvent:"mouseleave",hideDelay:300,ref:n=>{this.valuesDropdown=n},render:()=>{var n;return hr.createElement(_m.Flex,{onMouseEnter:()=>{var o;r==="click"&&((o=this.valuesDropdown)==null||o.show())},"data-name":"quick-filter-form",flexDirection:"column",style:{fontSize:"var(--ab-font-size-2)",border:"1px solid var(--ab-color-primarydark)",background:"var(--ab-color-defaultbackground)",zIndex:1e3}},hr.createElement(_m.Flex,{m:2},hr.createElement(Z,{onClick:()=>this.clearFilter()},"Clear Filter"),((n=this.props.api.internalApi.getAdaptableOptions().filterOptions)==null?void 0:n.autoApplyFilter)==!1&&hr.createElement(Z,{ml:2,onClick:()=>this.updateFilter(this.state.filter)},"Apply Filter")),hr.createElement(cF,{suppressClientSideFilter:this.state.suppressClientSideFilter,isLoading:this.state.isDistinctColumnValuesLoading,onFilterChange:this.handleFilterChange,currentColumn:this.props.currentColumn,columns:[],columnDistinctValues:this.state.distinctColumnValues,dataType:this.props.currentColumn.dataType,uiSelectedColumnValues:this.state.filter.Predicate.Inputs,useAgGridStyle:!0,onColumnValueSelectedChange:o=>this.onColumnValuesChange(o)}))}},hr.createElement(Z,{style:{flex:1,whiteSpace:"nowrap",overflow:"hidden",textOverflow:"ellipsis",borderRadius:0,borderLeftWidth:0,borderColor:"var(--ab-color-primarydark)"},disabled:Pe.IsNullOrEmptyOrContainsSingleEmptyValue(this.state.distinctColumnValues)},e.Predicate.Inputs.join(", ")||"Select Values"))}onColumnValuesChange(e){var n;let{filter:r}=this.state;r.Predicate={PredicateId:"Values",Inputs:e},((n=this.props.api.internalApi.getAdaptableOptions().filterOptions)==null?void 0:n.autoApplyFilter)?this.updateFilter(r):this.setState({filter:r})}selectColumnPredicate(e){var o;let r=b({},this.state.filter),n=this.props.api.predicateApi.getPredicateDefById(e);r.Predicate={PredicateId:e,Inputs:((o=n.inputs)!=null?o:[]).map(i=>{var a;return(a=i.defaultValue)!=null?a:""})},this.updateFilter(r),e==="Values"&&(this.loadPermittedValues(),requestAnimationFrame(()=>{this.valuesDropdown&&this.valuesDropdown.show()}))}updateFilter(e){this.setState({filter:e}),e.Uuid?this.debouncedEditFilter():this.debouncedAddFilter()}changeColumnPredicateInput(e,r){let n=this.getPredicateIdForShortcutValue(e);if(n)this.selectColumnPredicate(n);else{let{filter:o}=this.state;o.Predicate.Inputs=o.Predicate.Inputs||[],o.Predicate.Inputs[r]=e,this.updateFilter(o)}}getPredicateIdForShortcutValue(e){var r;return(r=this.props.api.filterApi.findPredicateDefByShortcut(e,this.props.currentColumn))==null?void 0:r.id}clearFilter(){let{filter:e}=this.state;this.props.api.filterApi.clearColumnFilterByColumn(e.ColumnId)}};function Uct(t,e){return{currentColumn:e.currentColumn,columnFilters:t.Filter.ColumnFilters}}function Hct(t){return{onAddColumnFilter:e=>t(Hs(e)),onEditColumnFilter:e=>t(ch(e))}}var Wct=We(Uct,Hct)(w0e),O0e=t=>{var e,r;return La(hr.createElement(Wct,{api:t.Adaptable.api,quickFilterTrigger:(e=t.Adaptable.adaptableOptions.filterOptions)==null?void 0:e.quickFilterTrigger,quickFilterValuesTrigger:(r=t.Adaptable.adaptableOptions.filterOptions)==null?void 0:r.quickFilterValuesTrigger,currentColumn:t.Column,teamSharingActivated:!1,embedColumnMenu:t.Adaptable.embedColumnMenu}),t.Adaptable)};var F0e=t=>class{onParentModelChanged(r,n){}afterGuiAttached(r){this.filterContainer.parentElement.style.overflow="visible",this.filterContainer.parentElement.parentElement.style.padding="var(--ab-space-1)"}init(r){let n=r.column.getColId();this.filterContainer=document.createElement("div"),this.filterContainer.id=`floatingFilter_${n}_${t.adaptableOptions.adaptableId}`,this.filterContainer.style.overflow="hidden",this.filterContainer.style.minWidth="0",this.filterContainer.style.height="100%",this.filterContainer.style.display="flex",this.filterContainer.style.alignItems="stretch",this.filterContainer.style.position="relative";let o=t.api.columnApi.getColumnFromId(n);o&&mF.render(O0e({Column:o,Adaptable:t,ShowCloseButton:!1}),this.filterContainer)}getGui(){return this.filterContainer}destroy(){mF.unmountComponentAtNode(this.filterContainer),this.filterContainer=null}};l();var _0e=y(require("react")),fF=require("react-dom");l();var oa=y(require("react"));var zct={position:"absolute",left:0,top:0,right:0,bottom:0},qct=E(b({},zct),{boxSizing:"border-box",display:"flex",flexDirection:"row",alignItems:"center"}),Qct={position:"relative",background:"transparent",boxSizing:"border-box",minWidth:0,outline:"none",width:"100%",border:"none"},M0e=oa.forwardRef((t,e)=>{var s;let r=oa.useRef(null),n=()=>{var u;(u=r.current)==null||u.focus()},[o,i]=mr(t,"value",t.defaultValue,{onChange:u=>{var d;u!==""&&u==Number(u)&&(u=Number(u)),(d=t.onValueChange)==null||d.call(t,u)}});oa.useImperativeHandle(e,()=>({focus:n,setValue:i}));let a=t.showClearButton&&t.emptyValue!=null&&o!=t.emptyValue;return oa.createElement("div",{style:qct,onKeyDown:u=>{u.key==="Tab"&&a&&document.activeElement===r.current&&u.stopPropagation()}},oa.createElement("input",{type:(s=t.type)!=null?s:"number",value:o,onChange:oa.useCallback(u=>{i(u.target.value)},[]),style:Qct,ref:r}),a?oa.createElement("div",{style:{display:"inline-block",marginRight:"var(--ab-space-1)",marginLeft:"var(--ab-space-1)"},onClick:u=>{t.emptyValue!=null&&(i(t.emptyValue),u.stopPropagation(),n())},onKeyDown:u=>{t.emptyValue!=null&&u.key==="Enter"&&(i(t.emptyValue),u.stopPropagation(),n())}},oa.createElement(Ct,{size:18,name:"clear",tabIndex:0})):null)});var tV=require("@ag-grid-community/all-modules"),hF=class{constructor(){this.valueParser=({newValue:e,oldValue:r})=>e;this.onValueChange=e=>{this.value=this.valueParser?this.valueParser(E(b({},this.params),{oldValue:this.params.value,newValue:e})):e}}init(e){this.value=this.shouldClearExistingValue(e)?"":e.value,this.params=e,this.columnId=e.column.getColId();let{valueParser:r}=e.column.getColDef();typeof r=="function"&&(this.valueParser=r),this.el=document.createElement("div"),this.el.style.position="absolute",this.el.style.top="0px",this.el.style.left="0px",this.el.style.right="0px",this.el.style.bottom="0px"}getGui(){return this.el}getValue(){return this.value}focusIn(){var e;(e=this.editor)==null||e.focus()}focusOut(){}afterGuiAttached(){var o,i;let e=this.params.api.__adaptable,r=this.shouldClearExistingValue(this.params)?"":this.params.value,n=_0e.createElement(M0e,{defaultValue:r,showClearButton:(o=this.params.showClearButton)!=null?o:!0,emptyValue:(i=this.params.emptyValue)!=null?i:"",onValueChange:this.onValueChange,ref:a=>{this.editor=a,a==null||a.focus()}});(0,fF.render)(La(n,e),this.el),this.getGui().addEventListener("keydown",a=>{e._emit("CellEditorKeyDown",{keyDownEvent:a,cellValue:this.value,columnId:this.columnId,updateValueCallback:s=>{this.editor.setValue(s)}})})}destroy(){(0,fF.unmountComponentAtNode)(this.el)}shouldClearExistingValue(e){return e.keyPress===tV.KeyCode.BACKSPACE||e.keyPress===tV.KeyCode.DELETE}};l();var k0e=y(require("react")),gF=require("react-dom");l();var Va=y(require("react")),N0e=y(wb());var jct={position:"absolute",left:0,top:0,right:0,bottom:0},Yct=E(b({},jct),{boxSizing:"border-box",display:"flex",flexDirection:"row",alignItems:"center"}),Kct={position:"relative",background:"transparent",boxSizing:"border-box",minWidth:0,outline:"none",width:"100%",border:"none"},L0e=Va.forwardRef((t,e)=>{var u;let r=Va.useRef(null),n=()=>{var d;(d=r.current)==null||d.focus()},[o,i]=mr(t,"value",t.defaultValue,{onChange:d=>{var c,m;if(d===""||d==null)(c=t.onValueChange)==null||c.call(t,null);else{let f=typeof d=="string"?(0,N0e.default)(d):new Date(d);(m=t.onValueChange)==null||m.call(t,f)}}});Va.useImperativeHandle(e,()=>({focus:n}));let a=Fx(o,t.dateFormat),s=Va.useCallback(d=>{i(d.target.value)},[]);return Va.createElement("div",{style:Yct},Va.createElement(I4.Provider,{value:{onHide:d=>{var c;(c=t.onStopEdit)==null||c.call(t,d)},onShow:()=>{},showClearButton:(u=t.showClearButton)!=null?u:!0}},Va.createElement(Yr,{type:"date",value:a,onChange:s,style:Kct,ref:r})))});var rV=require("@ag-grid-community/all-modules");var bF=class{constructor(){this.valueParser=({newValue:e,oldValue:r,defaultParser:n})=>(typeof r=="string"||r==null)&&n?n(e):e}init(e){this.value=this.shouldClearExistingValue(e)?"":e.value;let{valueParser:r}=e.column.getColDef();this.params=e,typeof r=="function"&&(this.valueParser=r),this.el=document.createElement("div"),this.el.style.position="absolute",this.el.style.top="0px",this.el.style.left="0px",this.el.style.right="0px",this.el.style.bottom="0px"}getGui(){return this.el}getValue(){return this.value}focusIn(){var e;(e=this.editor)==null||e.focus()}focusOut(){}getAdaptableInstance(e){return e.api.__adaptable}afterGuiAttached(){var o;let e=this.getAdaptableInstance(this.params),r=this.shouldClearExistingValue(this.params)?"":this.params.value,n=k0e.createElement(L0e,{defaultValue:r,dateFormat:e.adaptableOptions.userInterfaceOptions.dateInputOptions.dateFormat,onValueChange:i=>{let a=isNaN(+i);if(this.valueParser){let s=E(b({},this.params),{oldValue:this.params.value,newValue:i,defaultParser:u=>{var c,m;let d=(m=(c=e.adaptableOptions.userInterfaceOptions)==null?void 0:c.dateInputOptions)==null?void 0:m.dateFormat;return d?Co(u,{Pattern:d}):u}});this.value=this.valueParser(s)}else this.value=a?null:i;a||requestAnimationFrame(()=>{this.params.stopEditing()})},showClearButton:(o=this.params.showClearButton)!=null?o:!0,onStopEdit:i=>{i==="Escape"?this.params.api.stopEditing(!0):this.params.stopEditing()},ref:i=>{this.editor=i,i==null||i.focus()}});(0,gF.render)(La(n,e),this.el)}destroy(){(0,gF.unmountComponentAtNode)(this.el)}shouldClearExistingValue(e){return e.keyPress===rV.KeyCode.BACKSPACE||e.keyPress===rV.KeyCode.DELETE}};l();var B0e=1643749744379;l();l();var V0e={AccessLevel:{name:"AccessLevel",kind:"TypeAlias",description:"Defines Access Level for an Entitlement - can be &#39;ReadOnly&#39;, &#39;Hidden&#39; or &#39;Full&#39;"},ActionColumn:{name:"ActionColumn",kind:"Interface",description:"A Special Column that wraps an AdapTable Button",properties:[{name:"actionColumnButton",kind:"unknown",description:"Button to display in the Column",uiLabel:"Action Column Button"},{name:"actionColumnSettings",kind:"REFERENCE",description:"Additional optional properties for Column (e.g. filterable, resizable)",uiLabel:"Action Column Settings",isOptional:!0,reference:"ActionColumnSettings"},{name:"columnId",kind:"string",description:"Mandatory &#39;Id&#39;; if no value set for `FriendlyName`, this will also be Column name",uiLabel:"Column Id"},{name:"friendlyName",kind:"string",description:"How Column appears in Column Header, Menus; if no value set, `ColumnId` is used",uiLabel:"Friendly Name",isOptional:!0},{name:"includeGroupedRows",kind:"boolean",description:"Shows Action Column also in grouped rows",uiLabel:"Include Grouped Rows",isOptional:!0}]},ActionColumnButtonContext:{name:"ActionColumnButtonContext",kind:"Interface",description:"Context required by functions when using an Action Column Button",properties:[{name:"actionColumn",kind:"REFERENCE",description:"Action Column in question",uiLabel:"Action Column",reference:"ActionColumn"},{name:"primaryKeyValue",kind:"unknown",description:"Primary Key Value in current row",uiLabel:"Primary Key Value"},{name:"rowNode",kind:"REFERENCE",description:"Current AG Grid Row Node",uiLabel:"Row Node",reference:"unknown"}]},ActionColumnSettings:{name:"ActionColumnSettings",kind:"Interface",description:"Set of optional properties that define an Action Columns behaviour",properties:[{name:"resizable",kind:"boolean",description:"Whether Column can be resized (by dragging column header edges)",uiLabel:"Resizable",isOptional:!0,defaultValue:"true"},{name:"suppressMenu",kind:"boolean",description:"Whether no menu should be shown for this Column header.",uiLabel:"Suppress Menu",isOptional:!0,defaultValue:"false"},{name:"suppressMovable",kind:"boolean",description:"Whether if this Column should be movable via dragging",uiLabel:"Suppress Movable",isOptional:!0,defaultValue:"false"},{name:"width",kind:"number",description:"Preferred width (in pixels) for Column; if unset, calculated dynamically by AG Grid",uiLabel:"Width",isOptional:!0}]},ActionHandler:{name:"ActionHandler",kind:"TypeAlias",description:"Handles a Form Button Action"},AdaptableAlert:{name:"AdaptableAlert",kind:"Interface",description:"Defines an Alert fired by AdapTable",properties:[{name:"alertDefinition",kind:"REFERENCE",description:"Rule that caused Alert to fire",uiLabel:"Alert Definition",reference:"AlertDefinition"},{name:"dataChangedInfo",kind:"REFERENCE",description:"DataChange which triggered Alert",uiLabel:"Data Changed Info",isOptional:!0,reference:"DataChangedInfo"},{name:"header",kind:"string",description:"Alert Header text",uiLabel:"Header"},{name:"message",kind:"string",description:"Alert Body text",uiLabel:"Message"}]},AdaptableApi:{name:"AdaptableApi",kind:"Interface",description:"The `AdaptableApi` provides developers with run-time access to AdapTable.",properties:[{name:"alertApi",kind:"REFERENCE",description:"Provides access to the Alert Module",uiLabel:"Alert Api",reference:"AlertApi"},{name:"applicationApi",kind:"REFERENCE",description:"Provides access to the Application Module",uiLabel:"Application Api",reference:"ApplicationApi"},{name:"bulkUpdateApi",kind:"REFERENCE",description:"Provides access to the Bulk Update Module",uiLabel:"Bulk Update Api",reference:"BulkUpdateApi"},{name:"calculatedColumnApi",kind:"REFERENCE",description:"Provides access to the Calculated Column Module",uiLabel:"Calculated Column Api",reference:"CalculatedColumnApi"},{name:"cellSummaryApi",kind:"REFERENCE",description:"Provides access to the Cell Summary Module",uiLabel:"Cell Summary Api",reference:"CellSummaryApi"},{name:"chartingApi",kind:"REFERENCE",description:"Provides run-time access to Charting Module and state",uiLabel:"Charting Api",reference:"unknown"},{name:"columnApi",kind:"REFERENCE",description:"Provides a number of column-related methods",uiLabel:"Column Api",reference:"ColumnApi"},{name:"conditionalStyleApi",kind:"REFERENCE",description:"Provides access to the Conditional Style Module",uiLabel:"Conditional Style Api",reference:"ConditionalStyleApi"},{name:"configApi",kind:"REFERENCE",description:"Methods giving access to Adaptable State",uiLabel:"Config Api",reference:"ConfigApi"},{name:"customSortApi",kind:"REFERENCE",description:"Provides access to the Custom Sort Module",uiLabel:"Custom Sort Api",reference:"CustomSortApi"},{name:"dashboardApi",kind:"REFERENCE",description:"Provides access to the Dashboard",uiLabel:"Dashboard Api",reference:"DashboardApi"},{name:"dataChangeHistoryApi",kind:"REFERENCE",description:"Provides run-time access to the Data Changes Module",uiLabel:"Data Change History Api",reference:"DataChangeHistoryApi"},{name:"dataSourceApi",kind:"REFERENCE",description:"Provides access to the Data Source Module",uiLabel:"Data Source Api",reference:"DataSourceApi"},{name:"destroy",kind:"unknown",description:"Cleanup method - should be called only when using the vanilla javascript component, as framework components cleanup is performed when the component is destroyed/unmounted.",uiLabel:"Destroy"},{name:"eventApi",kind:"REFERENCE",description:"Used for listenning / subscribing to the various Events published by AdapTable",uiLabel:"Event Api",reference:"EventApi"},{name:"exportApi",kind:"REFERENCE",description:"Provides access to the Export Module and Reports",uiLabel:"Export Api",reference:"ExportApi"},{name:"filterApi",kind:"REFERENCE",description:"Provides access to AdapTable&#39;s filtering functionality",uiLabel:"Filter Api",reference:"FilterApi"},{name:"formatColumnApi",kind:"REFERENCE",description:"Provides access to the Format Column Module",uiLabel:"Format Column Api",reference:"FormatColumnApi"},{name:"freeTextColumnApi",kind:"REFERENCE",description:"Provides access to the FreeText Column Module",uiLabel:"Free Text Column Api",reference:"FreeTextColumnApi"},{name:"gridApi",kind:"REFERENCE",description:"Provides methods for managing the Grid, and Grid data, directly",uiLabel:"Grid Api",reference:"GridApi"},{name:"internalApi",kind:"REFERENCE",description:"Api methods used *internally* within AdapTable.",uiLabel:"Internal Api",reference:"unknown"},{name:"layoutApi",kind:"REFERENCE",description:"Provides access to the Layout Module",uiLabel:"Layout Api",reference:"LayoutApi"},{name:"pluginsApi",kind:"REFERENCE",description:"Offers access to AdapTable Plugin (e.g. ipushpull, OpenFin etc)",uiLabel:"Plugins Api",reference:"PluginsApi"},{name:"plusMinusApi",kind:"REFERENCE",description:"Provides access to the Plus Minus Module",uiLabel:"Plus Minus Api",reference:"PlusMinusApi"},{name:"predicateApi",kind:"REFERENCE",description:"Manages the Predicate - a boolean-return function used in Filters and Alerts",uiLabel:"Predicate Api",reference:"PredicateApi"},{name:"queryApi",kind:"REFERENCE",description:"Provides access to functions related to the Query Module",uiLabel:"Query Api",reference:"QueryApi"},{name:"queryLanguageApi",kind:"REFERENCE",description:"Mangages AdapTableQL (Query Language)",uiLabel:"Query Language Api",reference:"QueryLanguageApi"},{name:"quickSearchApi",kind:"REFERENCE",description:"Provides access to the Quick Search Module",uiLabel:"Quick Search Api",reference:"QuickSearchApi"},{name:"scheduleApi",kind:"REFERENCE",description:"Provides access to the Schedule Module",uiLabel:"Schedule Api",reference:"ScheduleApi"},{name:"scopeApi",kind:"REFERENCE",description:"Manages the `Scope` object - used widely to determine where objects are applied",uiLabel:"Scope Api",reference:"ScopeApi"},{name:"shortcutApi",kind:"REFERENCE",description:"Provides access to the Shortcut Module",uiLabel:"Shortcut Api",reference:"ShortcutApi"},{name:"smartEditApi",kind:"REFERENCE",description:"Provides access to the Smart Edit Module",uiLabel:"Smart Edit Api",reference:"SmartEditApi"},{name:"systemStatusApi",kind:"REFERENCE",description:"Methods related to displaying System Status and application health messages",uiLabel:"System Status Api",reference:"SystemStatusApi"},{name:"teamSharingApi",kind:"REFERENCE",description:"Functions related to run-time Team Sharing of AdapTable objects between colleagues",uiLabel:"Team Sharing Api",reference:"TeamSharingApi"},{name:"themeApi",kind:"REFERENCE",description:"Api methods related to Theme management",uiLabel:"Theme Api",reference:"ThemeApi"},{name:"toolPanelApi",kind:"REFERENCE",description:"Provides access to the AdapTable Tool Panel on the right hand side of the grid",uiLabel:"Tool Panel Api",reference:"ToolPanelApi"},{name:"userInterfaceApi",kind:"REFERENCE",description:"Manages User Interface Options where colours, styles and permitted values are configured",uiLabel:"User Interface Api",reference:"UserInterfaceApi"}]},AdaptableButton:{name:"AdaptableButton",kind:"Interface",description:"Defines a Button that appears in numerous places including Adaptable Form",properties:[{name:"buttonStyle",kind:"unknown",description:"Style for Button - can be object or function thats provides a `Style` object",uiLabel:"Button Style",isOptional:!0},{name:"disabled",kind:"unknown",description:"Function that disables / enables the button based on its evaluation result",uiLabel:"Disabled",isOptional:!0},{name:"hidden",kind:"unknown",description:"Function which sets whether Button is hidden",uiLabel:"Hidden",isOptional:!0},{name:"icon",kind:"REFERENCE",description:"Icon to display, requires string for URL, other props are optional",uiLabel:"Icon",isOptional:!0,reference:"AdaptableIcon"},{name:"label",kind:"unknown",description:"Label for Button - can be string or function that provides string",uiLabel:"Label",isOptional:!0},{name:"onClick",kind:"unknown",description:"Function to invoke when button is clicked",uiLabel:"On Click",isOptional:!0},{name:"tooltip",kind:"unknown",description:"Tooltip for Button - can be string or function that provides string",uiLabel:"Tooltip",isOptional:!0}]},AdaptableColumn:{name:"AdaptableColumn",kind:"Interface",description:"Defines an Adaptable Column - created at run-time based on AG Grid column definition",properties:[{name:"aggregatable",kind:"boolean",description:"Is Column able to display aggregations (e.g. &#39;sum&#39;) when grouped",uiLabel:"Aggregatable"},{name:"aggregationFunction",kind:"string",description:"Custom aggregation function for the Column",uiLabel:"Aggregation Function",isOptional:!0},{name:"availableAggregationFunctions",kind:"unknown",description:"Available aggregations for the Column",uiLabel:"Available Aggregation Functions",isOptional:!0},{name:"columnGroup",kind:"REFERENCE",description:"The parent column group, if the column belongs to one",uiLabel:"Column Group",isOptional:!0,reference:"unknown"},{name:"filterable",kind:"boolean",description:"Is Column able to be filtered",uiLabel:"Filterable"},{name:"flex",kind:"number",description:"Flex details of the column",uiLabel:"Flex",isOptional:!0},{name:"groupable",kind:"boolean",description:"Can Column form a Row Group",uiLabel:"Groupable"},{name:"hideable",kind:"boolean",description:"Can Column be removed from the grid",uiLabel:"Hideable"},{name:"isExcludedFromQuickSearch",kind:"boolean",description:"Has colummn been excluded from Quick Search results",uiLabel:"Is Excluded From Quick Search"},{name:"isFixed",kind:"boolean",description:"Is Column pinned or locked into position",uiLabel:"Is Fixed"},{name:"isGrouped",kind:"boolean",description:"Is Column currently grouped",uiLabel:"Is Grouped"},{name:"isPrimaryKey",kind:"boolean",description:"Is this the Primary Key column",uiLabel:"Is Primary Key"},{name:"isSparkline",kind:"boolean",description:"Is it a Sparkline Column",uiLabel:"Is Sparkline"},{name:"moveable",kind:"boolean",description:"Can Column be moved at run-time to a new position",uiLabel:"Moveable"},{name:"pinned",kind:"unknown",description:"The pinned position of the column",uiLabel:"Pinned"},{name:"pivotable",kind:"boolean",description:"Can Column be used in a Pivot Grid",uiLabel:"Pivotable"},{name:"queryable",kind:"boolean",description:"Can the Column be in included in Queries / Expressions",uiLabel:"Queryable"},{name:"readOnly",kind:"boolean",description:"Is column editable",uiLabel:"Read Only"},{name:"sortable",kind:"boolean",description:"Is Column sortable",uiLabel:"Sortable"},{name:"visible",kind:"boolean",description:"Is Column currently visible",uiLabel:"Visible"},{name:"width",kind:"number",description:"Column width",uiLabel:"Width",isOptional:!0}]},AdaptableColumnBase:{name:"AdaptableColumnBase",kind:"Interface",description:"Base class for Adaptable Column containing most important properties",properties:[{name:"columnId",kind:"string",description:"Name of Column in AG Grid (e.g. field or colId)",uiLabel:"Column Id"},{name:"dataType",kind:"unknown",description:"DataType of the column",uiLabel:"Data Type"},{name:"friendlyName",kind:"string",description:"How Column is referred to in Adaptable UI; `Caption` property in AG Grid",uiLabel:"Friendly Name"}]},AdaptableComparerFunction:{name:"AdaptableComparerFunction",kind:"TypeAlias",description:"Standard comparer function used to evaluate custom sorts, returns -1, 0, 1 as required"},AdaptableCoordinate:{name:"AdaptableCoordinate",kind:"Interface",description:"Used by AdapTable to remember position of Floating Dashboard",properties:[{name:"x",kind:"number",description:"x axis number",uiLabel:"X"},{name:"y",kind:"number",description:"y axis number",uiLabel:"Y"}]},AdaptableFlashingCell:{name:"AdaptableFlashingCell",kind:"Interface",description:"Defines an Alert fired by AdapTable",properties:[{name:"dataChangedInfo",kind:"REFERENCE",description:"Data change which triggered the FlashingCell",uiLabel:"Data Changed Info",isOptional:!0,reference:"DataChangedInfo"},{name:"direction",kind:"unknown",description:"Direction of the change: &#39;up&#39;, &#39;down&#39; or &#39;neutral&#39;",uiLabel:"Direction"},{name:"flashColumnIds",kind:"unknown",description:"Column Ids that are flashing",uiLabel:"Flash Column Ids"},{name:"flashingCellDefinition",kind:"REFERENCE",description:"Rule that caused the FlashingCell to fire",uiLabel:"Flashing Cell Definition",reference:"FlashingCellDefinition"},{name:"flashTarget",kind:"unknown",description:"What will flash (e.g. Cell, Row)",uiLabel:"Flash Target"},{name:"rowPrimaryKey",kind:"string",description:"Primary Key Value of Row which is flashing",uiLabel:"Row Primary Key"}]},AdaptableForm:{name:"AdaptableForm",kind:"Interface",description:"Defines a form which appears dynamically; used by Alerts &amp; Export Custom Destinations",properties:[{name:"buttons",kind:"unknown",description:"Buttons to include in the Form",uiLabel:"Buttons",isOptional:!0},{name:"description",kind:"string",description:"Additional information to appear in the Form",uiLabel:"Description",isOptional:!0},{name:"fields",kind:"unknown",description:"Collection of Dynamic Fields to display",uiLabel:"Fields",isOptional:!0},{name:"title",kind:"string",description:"Title to appear in the Form",uiLabel:"Title",isOptional:!0}]},AdaptableFormat:{name:"AdaptableFormat",kind:"TypeAlias",description:"Object containing formatting information for Numeric and Date Columns"},AdaptableFormField:{name:"AdaptableFormField",kind:"Interface",description:"Defines a Field that appears in an Adaptable Form",properties:[{name:"defaultValue",kind:"unknown",description:"Field Default Value - can be of type string, boolean, number",uiLabel:"Default Value",isOptional:!0},{name:"fieldType",kind:"unknown",description:"Field Type: text, date, number, checkbox, select",uiLabel:"Field Type"},{name:"label",kind:"string",description:"Label to display in in the Field",uiLabel:"Label"},{name:"name",kind:"string",description:"Name of the Field",uiLabel:"Name"},{name:"options",kind:"unknown",description:"Items to populate the Select input",uiLabel:"Options",isOptional:!0}]},AdaptableIcon:{name:"AdaptableIcon",kind:"Interface",description:"Defines an icon to be used in AdapTable (e.g. in Dashboard Header and Buttons)",properties:[{name:"cssProperties",kind:"REFERENCE",description:"CSS Properties",uiLabel:"Css Properties",isOptional:!0,reference:"unknown"},{name:"src",kind:"string",description:"url specifying where icon can be found (mandatory)",uiLabel:"Src"},{name:"style",kind:"unknown",description:"The style for the icon - has height and width properties",uiLabel:"Style",isOptional:!0}]},AdaptableLoadStateFunction:{name:"AdaptableLoadStateFunction",kind:"Interface",description:"Allows the customization of state loading."},AdaptableMenuItem:{name:"AdaptableMenuItem",kind:"Interface",description:"Menu item used by Adaptable in both Column and Context Menus",properties:[{name:"icon",kind:"string",description:"Icon to display in Menu Item",uiLabel:"Icon",isOptional:!0},{name:"isVisible",kind:"boolean",description:"Whether menu item is visible",uiLabel:"Is Visible"},{name:"label",kind:"string",description:"Name that appears in the menu",uiLabel:"Label"},{name:"module",kind:"unknown",description:"Adaptable Module associated with (Adaptable) menu item.",uiLabel:"Module",isOptional:!0},{name:"onClick",kind:"unknown",description:"Function to invoke when (custom) menu item is clicked",uiLabel:"On Click",isOptional:!0},{name:"reduxAction",kind:"unknown",description:"Adaptable Redux Action to invoke when (Adaptable) menu item is clicked",uiLabel:"Redux Action",isOptional:!0},{name:"subItems",kind:"unknown",description:"Sub Menu Items to display",uiLabel:"Sub Items",isOptional:!0}]},AdaptableMessageType:{name:"AdaptableMessageType",kind:"TypeAlias",description:"Defines a Message Types: &#39;Success&#39;, &#39;Info&#39;, &#39;Warning&#39; or &#39;Error&#39;"},AdaptableObject:{name:"AdaptableObject",kind:"Interface",description:"Base interface which all other Adaptable State-related objects extend",properties:[{name:"IsReadOnly",kind:"boolean",description:"Sets Entity to ReadOnly (overwriting a Strategy Entitlement of &#39;Full&#39;)",uiLabel:"Is Read Only",isOptional:!0},{name:"Source",kind:"unknown",description:"Source of state object: &#39;Config&#39; if provided via , &#39;User&#39; or undefined for runtime state.",uiLabel:"Source",isOptional:!0},{name:"Uuid",kind:"REFERENCE",description:"Unique identifier for the Adaptable Object, generated and used internally by AdapTable",uiLabel:"Uuid",isOptional:!0,reference:"unknown"}]},AdaptableOptions:{name:"AdaptableOptions",kind:"Interface",description:"Group of property options enabling developers to set up AdapTable at design time to fit precise requirements - provides AG Grid, Predefined Config and other information required to ensure a full, rich user experience",properties:[{name:"adaptableId",kind:"string",description:"Identifier for this instance of AdapTable",uiLabel:"Adaptable Id",isOptional:!0,gridInfo:"item",defaultValue:"&#39;adaptable_id&#39;"},{name:"adaptableStateKey",kind:"string",description:"Identifier used as localStorage persistence key for AdaptableState",uiLabel:"Adaptable State Key",isOptional:!0,gridInfo:"item",defaultValue:"`adaptableId` value"},{name:"autogeneratePrimaryKey",kind:"boolean",description:"Will autogenerate a Primary Key; only use as a last resort if no unique column is available, as limits some Adaptable functionalities",uiLabel:"Autogenerate Primary Key",isOptional:!0,gridInfo:"item",defaultValue:"false"},{name:"containerOptions",kind:"REFERENCE",description:"Options for setting the &#39;Div&#39; elements in which AdapTable, AG Grid, popups are placed",uiLabel:"Container Options",isOptional:!0,reference:"ContainerOptions"},{name:"customPredicateDefs",kind:"unknown",description:"Predicate definitions provided by developers at Design-Time",uiLabel:"Custom Predicate Defs",isOptional:!0},{name:"dashboardOptions",kind:"REFERENCE",description:"Options related to managing the Dashboard in AdapTable",uiLabel:"Dashboard Options",isOptional:!0,gridInfo:"container",reference:"DashboardOptions"},{name:"dataChangeHistoryOptions",kind:"REFERENCE",description:"Options to manage Data Change History Module which provides an overview of all data changes",uiLabel:"Data Change History Options",isOptional:!0,gridInfo:"container",reference:"DataChangeHistoryOptions"},{name:"editOptions",kind:"REFERENCE",description:"Options related to Editing in AdapTable including Server Validation",uiLabel:"Edit Options",isOptional:!0,gridInfo:"container",reference:"EditOptions"},{name:"entitlementOptions",kind:"REFERENCE",description:"Options for managing Entitlements",uiLabel:"Entitlement Options",isOptional:!0,gridInfo:"container",reference:"EntitlementOptions"},{name:"exportOptions",kind:"REFERENCE",description:"Options for managing Exporting and Reports in AdapTable",uiLabel:"Export Options",isOptional:!0,gridInfo:"container",reference:"ExportOptions"},{name:"filterOptions",kind:"REFERENCE",description:"Options for managing Filtering in AdapTable",uiLabel:"Filter Options",isOptional:!0,gridInfo:"container",reference:"FilterOptions"},{name:"flashingCellOptions",kind:"REFERENCE",description:"Options for managing Flashing Cells - primarily default values",uiLabel:"Flashing Cell Options",isOptional:!0,gridInfo:"container",reference:"FlashingCellOptions"},{name:"generalOptions",kind:"REFERENCE",description:"General options to manage AdapTable e.g. grouping behaviour, Primary Keys",uiLabel:"General Options",isOptional:!0,gridInfo:"container",reference:"GeneralOptions"},{name:"gridOptions",kind:"REFERENCE",description:"The AG Grid object which AdapTable interacts with. Note: if using React or Angular Wrapper, no need to populate this property as AdapTable wires it up differently",uiLabel:"Grid Options",isOptional:!0,defaultValue:"n/a (Mandatory)",reference:"unknown"},{name:"layoutOptions",kind:"REFERENCE",description:"Options related to Layouts",uiLabel:"Layout Options",isOptional:!0,gridInfo:"container",reference:"LayoutOptions"},{name:"licenseKey",kind:"string",description:"Commercial license key. If the license is not provided or is expired, various visual information notes will be displayed and some functionality may be limited.",uiLabel:"License Key",isOptional:!0},{name:"menuOptions",kind:"REFERENCE",description:"Options for managing AdapTable menus",uiLabel:"Menu Options",isOptional:!0,gridInfo:"container",reference:"MenuOptions"},{name:"notificationsOptions",kind:"REFERENCE",description:"Options for managing Notifications in AdapTable",uiLabel:"Notifications Options",isOptional:!0,gridInfo:"container",reference:"NotificationsOptions"},{name:"plugins",kind:"unknown",description:"Used for managing the AdapTable Plugins",uiLabel:"Plugins",isOptional:!0},{name:"predefinedConfig",kind:"unknown",description:"User State set at design-time and shipped with AdapTable for first use; can be `PredefinedConfig` object or url to file containing config",uiLabel:"Predefined Config",isOptional:!0,defaultValue:"undefined"},{name:"primaryKey",kind:"string",description:"Name of Column in AdapTable guaranteed to contain unique values",uiLabel:"Primary Key",gridInfo:"item",defaultValue:"n/a (Mandatory)"},{name:"queryLanguageOptions",kind:"REFERENCE",description:"Options for managing queries in AdapTableQL",uiLabel:"Query Language Options",isOptional:!0,gridInfo:"container",reference:"QueryLanguageOptions"},{name:"searchOptions",kind:"REFERENCE",description:"Options for managing Search related functions in AdapTable",uiLabel:"Search Options",isOptional:!0,gridInfo:"container",reference:"SearchOptions"},{name:"settingsPanelOptions",kind:"REFERENCE",description:"Setting panel options",uiLabel:"Settings Panel Options",isOptional:!0,gridInfo:"container",reference:"unknown"},{name:"stateOptions",kind:"REFERENCE",description:"Options related to state hydration / dehydration - allows users to intercept state persistence and state loading and change default behavior of saving to local storage",uiLabel:"State Options",isOptional:!0,reference:"StateOptions"},{name:"teamSharingOptions",kind:"REFERENCE",description:"Options for managing &#39;Team Sharing&#39; which allows users to create Adaptable Objects and share with colleagues",uiLabel:"Team Sharing Options",isOptional:!0,gridInfo:"container",reference:"TeamSharingOptions"},{name:"toolPanelOptions",kind:"REFERENCE",description:"Options related to managing the Tool Panel elements in AdapTable",uiLabel:"Tool Panel Options",isOptional:!0,gridInfo:"container",reference:"ToolPanelOptions"},{name:"userInterfaceOptions",kind:"REFERENCE",description:"Options for managing the User Interface elements of AdapTable, i.e. Action Columns, Color Palette etc.",uiLabel:"User Interface Options",isOptional:!0,gridInfo:"container",reference:"UserInterfaceOptions"},{name:"userName",kind:"string",description:"Name of current AdapTable user",uiLabel:"User Name",isOptional:!0,gridInfo:"item",defaultValue:"&#39;anonymous&#39;"}]},AdaptablePersistStateFunction:{name:"AdaptablePersistStateFunction",kind:"Interface",description:"Allows the customization of state persistence."},AdaptablePredicate:{name:"AdaptablePredicate",kind:"Interface",description:"Predicate object used by AdapTableQL - essentially a boolean function",properties:[{name:"Inputs",kind:"unknown",description:"Optional Inputs that might be needed for evaluation",uiLabel:"Inputs",isOptional:!0},{name:"PredicateId",kind:"string",description:"Id of Predicate (e.g. `Equals`, `GreaterThan`)",uiLabel:"Predicate Id"}]},AdaptablePredicateDef:{name:"AdaptablePredicateDef",kind:"Interface",description:"Defines a Predicate - include where it can run and what it does",properties:[{name:"columnScope",kind:"REFERENCE",description:"Columns (or DataTypes) where Predicate is active",uiLabel:"Column Scope",reference:"AdaptableScope"},{name:"handler",kind:"unknown",description:"Actual boolean function invoked when evaluating the Predicate",uiLabel:"Handler"},{name:"icon",kind:"unknown",description:"Icon to show (primarily used in Filter dropdown)",uiLabel:"Icon",isOptional:!0},{name:"id",kind:"string",description:"Unique Id for the object",uiLabel:"Id"},{name:"inputs",kind:"unknown",description:"Inputs the Predicate can take",uiLabel:"Inputs",isOptional:!0},{name:"label",kind:"string",description:"Name of the Predicate",uiLabel:"Label"},{name:"moduleScope",kind:"unknown",description:"Modules where the Predicate can run",uiLabel:"Module Scope"},{name:"onlyQuickFilter",kind:"boolean",description:"Display this predicate only in Quick Filter Bar (and NOT in Filter Form)",uiLabel:"Only Quick Filter",isOptional:!0},{name:"shortcuts",kind:"unknown",description:"Keyboard shortcuts to initiate predicate - used in Quick Filter bar",uiLabel:"Shortcuts",isOptional:!0},{name:"toString",kind:"unknown",description:"String representation of the Predicate",uiLabel:"To String",isOptional:!0}]},AdaptableReadyInfo:{name:"AdaptableReadyInfo",kind:"Interface",description:"Object returned by `AdaptableReady` event - fired when AdapTable has loaded",properties:[{name:"gridOptions",kind:"REFERENCE",description:"Underlying AG Grid GridOptions object",uiLabel:"Grid Options",reference:"unknown"}]},AdaptableScope:{name:"AdaptableScope",kind:"TypeAlias",description:"Defines where a given Object / Module is active"},AdaptableSearchState:{name:"AdaptableSearchState",kind:"Interface",description:"Current Searches and Filter in AdapTable",properties:[{name:"columnFilters",kind:"unknown",description:"Currently applied Column Filters",uiLabel:"Column Filters"},{name:"currentQuery",kind:"unknown",description:"Current Query",uiLabel:"Current Query"},{name:"dataSource",kind:"unknown",description:"Current Data Source (if one selected)",uiLabel:"Data Source"},{name:"queryAST",kind:"unknown",description:"AST for Current Query",uiLabel:"Query AST"}]},AdaptableSortState:{name:"AdaptableSortState",kind:"Interface",description:"Overview of current sorting state in the grid",properties:[{name:"columnSorts",kind:"unknown",description:"Which columns have sorting applied and,if so, which direction",uiLabel:"Column Sorts"},{name:"customSorts",kind:"unknown",description:"All the Custom Sorts in State; this is always sent even if no custom sorts are active",uiLabel:"Custom Sorts"}]},AdaptableState:{name:"AdaptableState",kind:"Interface",description:"The main state object that Adaptable persists"},AdaptableStateChangedInfo:{name:"AdaptableStateChangedInfo",kind:"Interface",description:"Object returned by the `AdaptableStateChanged` event",properties:[{name:"action",kind:"unknown",description:"The Redux Action that was invoked",uiLabel:"Action"},{name:"actionName",kind:"string",description:"Name of the Action",uiLabel:"Action Name"},{name:"adaptableId",kind:"string",description:"Current AdapTableId",uiLabel:"Adaptable Id"},{name:"adaptableStateKey",kind:"string",description:"Current Adaptable State Key",uiLabel:"Adaptable State Key"},{name:"clientTimestamp",kind:"date",description:"Time on user&#39;s computer when message was sent",uiLabel:"Client Timestamp"},{name:"newState",kind:"REFERENCE",description:"Adaptable State after the Action",uiLabel:"New State",reference:"AdaptableState"},{name:"oldState",kind:"REFERENCE",description:"Adaptable State before the Action",uiLabel:"Old State",reference:"AdaptableState"},{name:"userName",kind:"string",description:"Name of current AdapTable user",uiLabel:"User Name"}]},AdaptableStyle:{name:"AdaptableStyle",kind:"Interface",description:"Style object used in numerous AdapTable Modules",properties:[{name:"BackColor",kind:"string",description:"Colour background of cell: provide hex value or name",uiLabel:"Back Color",isOptional:!0},{name:"BorderColor",kind:"string",description:"Colour of cell border: provide hex value or name",uiLabel:"Border Color",isOptional:!0},{name:"ClassName",kind:"string",description:"Existing CSS Class; use instead of setting other object properties",uiLabel:"Class Name",isOptional:!0},{name:"FontSize",kind:"unknown",description:"Size of font: `XSmall`, `Small`, `Medium`, `Large` or `XLarge`",uiLabel:"Font Size",isOptional:!0},{name:"FontStyle",kind:"unknown",description:"Style of font: `Normal` or `Italic`",uiLabel:"Font Style",isOptional:!0},{name:"FontWeight",kind:"unknown",description:"Weight of font: `Normal` or `Bold`",uiLabel:"Font Weight",isOptional:!0},{name:"ForeColor",kind:"string",description:"Font colour in cell: provide hex value or name",uiLabel:"Fore Color",isOptional:!0}]},AdaptableTheme:{name:"AdaptableTheme",kind:"Interface",description:"Used for creating User (i.e. Custom) Themes",properties:[{name:"AgGridClassName",kind:"string",description:"Ag Grid theme to apply when loading theme",uiLabel:"Ag Grid Class Name",isOptional:!0},{name:"Description",kind:"string",description:"Description of Theme - will appear in Theme Toolbar and Toolpanel",uiLabel:"Description"},{name:"Name",kind:"string",description:"Name of the Theme",uiLabel:"Name"},{name:"VendorGridClassName",kind:"string",description:"deprecated use `AgGridClassName` property instead",uiLabel:"Vendor Grid Class Name",isOptional:!0}]},AdaptableToolPanelDefinition:{name:"AdaptableToolPanelDefinition",kind:"Interface",description:"Defines a ToolPanel - Name and VisibilityMode (Expanded / Collapsed)",properties:[{name:"Name",kind:"unknown",description:"ToolPanel name - either an Adaptable Module or a Custom ToolPanel (defined in ToolPanel Options)",uiLabel:"Name"},{name:"VisibilityMode",kind:"unknown",description:"Whether the ToolPanel is &#39;expanded&#39; or &#39;collapsed&#39;",uiLabel:"Visibility Mode",isOptional:!0,defaultValue:"&#39;collapsed&#39;"}]},AlertApi:{name:"AlertApi",kind:"Interface",description:"Provides run-time access to Alert function and associated State",properties:[{name:"addAlertDefinition",kind:"function",description:"Adds new Alert Definition",uiLabel:"Add Alert Definition"},{name:"displayAlert",kind:"function",description:"Displays (fully formed) inputted Alert to the User",uiLabel:"Display Alert"},{name:"displayMessageAlertPopup",kind:"function",description:"Displays given Alert as a Popup",uiLabel:"Display Message Alert Popup"},{name:"editAlertDefinition",kind:"function",description:"Edits Alert in State with given one",uiLabel:"Edit Alert Definition"},{name:"executeAlertAction",kind:"function",description:"Runs after an Alert Action is invoked",uiLabel:"Execute Alert Action"},{name:"executeAlertButton",kind:"function",description:"Runs after a button in an Alert Form is clicked",uiLabel:"Execute Alert Button"},{name:"getActiveNonReactiveAlertDefinitions",kind:"function",description:"Retrieves all active (non-suspended) Alert Definitions in Alert State which are NOT Reactive (BooleanQuery)",uiLabel:"Get Active Non Reactive Alert Definitions"},{name:"getActiveReactiveAlertDefinitions",kind:"function",description:"Retrieves all active (non-suspended) Alert Definitions in Alert State which are reactive (ObservableQuery &amp; AggregationQuery)",uiLabel:"Get Active Reactive Alert Definitions"},{name:"getAdaptableFormByName",kind:"function",description:"Retrieeves the Adaptable Form with the given name",uiLabel:"Get Adaptable Form By Name"},{name:"getAlertDefinitionById",kind:"function",description:"Retrieves alert definition by id",uiLabel:"Get Alert Definition By Id"},{name:"getAlertDefinitions",kind:"function",description:"Retrieves all Alert Definitions in Alert State",uiLabel:"Get Alert Definitions"},{name:"getAlertDefinitionsWithAllowEdit",kind:"function",description:"Retrieves all Alert Definitions which allow a Cell Edit",uiLabel:"Get Alert Definitions With Allow Edit"},{name:"getAlertDefinitionsWithPreventEdit",kind:"function",description:"Retrieves all Alert Definitions which prevent a Cell Edit",uiLabel:"Get Alert Definitions With Prevent Edit"},{name:"getAlertDescription",kind:"function",description:"Returns a description of an Alert Definition",uiLabel:"Get Alert Description"},{name:"getAlertPredicateDefs",kind:"function",description:"Retrieves all Predicate Defs with Module Scope of Alert",uiLabel:"Get Alert Predicate Defs"},{name:"getAlertPredicateDefsForScope",kind:"function",description:"Retrieves all Predicate Defs that match given Scope",uiLabel:"Get Alert Predicate Defs For Scope"},{name:"getAlertRuleDescription",kind:"function",description:"Returns a description of an Alert Definition&#39;s Rule",uiLabel:"Get Alert Rule Description"},{name:"getAlertState",kind:"function",description:"Retrieves Alert section from Adaptable State",uiLabel:"Get Alert State"},{name:"getNonReactiveAlertDefinitions",kind:"function",description:"Retrieves all Alert Definitions in Alert State which are NOT Reactive (BooleanQuery)",uiLabel:"Get Non Reactive Alert Definitions"},{name:"getReactiveAlertDefinitions",kind:"function",description:"Retrieves all Alert Definitions in Alert State which are reactive (ObservableQuery &amp; AggregationQuery)",uiLabel:"Get Reactive Alert Definitions"},{name:"publishAlertFiredEvent",kind:"function",description:"Publishes an event when an Alert is triggered",uiLabel:"Publish Alert Fired Event"},{name:"showAlert",kind:"function",description:"Creates Alert formed from inputted values and displays it.",uiLabel:"Show Alert"},{name:"showAlertError",kind:"function",description:"Creates Alert formed from inputted values and displays it as Error Alert.",uiLabel:"Show Alert Error"},{name:"showAlertInfo",kind:"function",description:"Creates Alert formed from inputted values and displays it as Info Alert.",uiLabel:"Show Alert Info"},{name:"showAlertPopup",kind:"function",description:"Opens the Alert popup screen",uiLabel:"Show Alert Popup"},{name:"showAlertSuccess",kind:"function",description:"Creates Alert formed from inputted values and displays it as Succcess Alert.",uiLabel:"Show Alert Success"},{name:"showAlertWarning",kind:"function",description:"Creates Alert formed from inputted values and displays it as Warning Alert.",uiLabel:"Show Alert Warning"},{name:"suspendAlertDefinition",kind:"function",description:"Suspends Alert Definition",uiLabel:"Suspend Alert Definition"},{name:"unSuspendAlertDefinition",kind:"function",description:"Activates a suspended Alert Definition",uiLabel:"Un Suspend Alert Definition"}]},AlertButton:{name:"AlertButton",kind:"Interface",description:"Defines a button that appears in an Alert Form",properties:[{name:"Action",kind:"unknown",description:"Predefined Action(s) to trigger when button is clicked; but the implementation in `actionHandlers` property of Alert Options",uiLabel:"Action",isOptional:!0},{name:"ButtonStyle",kind:"REFERENCE",description:"Style for the Button",uiLabel:"Button Style",isOptional:!0,reference:"ButtonStyle"},{name:"Label",kind:"string",description:"Label to show in the Button",uiLabel:"Label"},{name:"Tooltip",kind:"string",description:"ToolTip to display",uiLabel:"Tooltip",isOptional:!0}]},AlertButtonContext:{name:"AlertButtonContext",kind:"Interface",description:"Context required by functions when using an Alert Button",properties:[{name:"alert",kind:"REFERENCE",description:"Alert that has been triggered",uiLabel:"Alert",reference:"AdaptableAlert"},{name:"formData",kind:"REFERENCE",description:"Data in the Alert Form",uiLabel:"Form Data",isOptional:!0,reference:"unknown"}]},AlertDefinition:{name:"AlertDefinition",kind:"Interface",description:"The Alert Definition object used in the Alert function",properties:[{name:"AlertForm",kind:"unknown",description:"Form to display in Alert with buttons and inputs",uiLabel:"Alert Form",isOptional:!0},{name:"AlertProperties",kind:"REFERENCE",description:"Series of properties which set what happens when Alert is triggered",uiLabel:"Alert Properties",isOptional:!0,reference:"AlertProperties"},{name:"MessageText",kind:"string",description:"Alert Message - can be string or function; if not provided AdapTable creates dynamically using Rule &amp; Scope",uiLabel:"Message Text",isOptional:!0},{name:"MessageType",kind:"REFERENCE",description:"Type of Alert: &#39;Info&#39;, &#39;Success&#39;, &#39;Warning&#39;, &#39;Error&#39;; influences Alert colour, icon and logging",uiLabel:"Message Type",reference:"AdaptableMessageType"},{name:"Rule",kind:"REFERENCE",description:"When Alert should be triggered",uiLabel:"Rule",reference:"unknown"},{name:"Scope",kind:"REFERENCE",description:"Where Alert can be triggered: one, some or all columns or DataTypes",uiLabel:"Scope",reference:"AdaptableScope"}]},AlertFiredInfo:{name:"AlertFiredInfo",kind:"Interface",description:"Object returned by the `AlertFired` event",properties:[{name:"alert",kind:"REFERENCE",description:"Alert which has been fired",uiLabel:"Alert",reference:"AdaptableAlert"}]},AlertForm:{name:"AlertForm",kind:"TypeAlias",description:"Form to show in an Alert"},AlertProperties:{name:"AlertProperties",kind:"Interface",description:"Additional properties that specify how a particular Alert will ALWAYS behave",properties:[{name:"DisplayNotification",kind:"boolean",description:"Displays a notification when Alert is triggered",uiLabel:"Display Notification",isOptional:!0},{name:"HighlightCell",kind:"unknown",description:"Colours updated cell using `MessageType` property of triggering Alert Definition",uiLabel:"Highlight Cell",isOptional:!0},{name:"HighlightRow",kind:"unknown",description:"Colours updated cell using `MessageType` property of triggering Alert Definition",uiLabel:"Highlight Row",isOptional:!0},{name:"JumpToCell",kind:"boolean",description:"Grid will &#39;jump&#39; to the cell which triggered the Alert",uiLabel:"Jump To Cell",isOptional:!0},{name:"LogToConsole",kind:"boolean",description:"Logs the Alert message to the console",uiLabel:"Log To Console",isOptional:!0},{name:"PreventEdit",kind:"boolean",description:"Automatically prevent any cell edit which triggered the Alert (i.e. validation) false",uiLabel:"Prevent Edit",isOptional:!0},{name:"ShowInDiv",kind:"boolean",description:"Shows Alert text in the div specificed in `alertContainer` property of Container Options",uiLabel:"Show In Div",isOptional:!0}]},AlertState:{name:"AlertState",kind:"Interface",description:"Predefined Configuration for Alert Module",properties:[{name:"AlertDefinitions",kind:"unknown",description:"Alert Definitions - will trigger Alerts when rule is met",uiLabel:"Alert Definitions",isOptional:!0,defaultValue:"null"}]},AlternativeModuleName:{name:"AlternativeModuleName",kind:"Interface",description:"Defines a new name for an Adaptable Module (e.g. change Dashboard to Grid Manager)",properties:[{name:"adaptableModule",kind:"REFERENCE",description:"Adaptable Module to rename",uiLabel:"Adaptable Module",reference:"unknown"},{name:"newName",kind:"string",description:"New name to use",uiLabel:"New Name"}]},AngularFrameworkComponent:{name:"AngularFrameworkComponent",kind:"TypeAlias",description:"An Angular component defined by its type and an optional initialisation callback."},ApplicationApi:{name:"ApplicationApi",kind:"Interface",description:"Provides run-time access to the Application Module",properties:[{name:"addApplicationDataEntry",kind:"function",description:"Adds new Application Data Entry",uiLabel:"Add Application Data Entry"},{name:"createApplicationDataEntry",kind:"function",description:"Creates new Application Data Entry with given Key and Value",uiLabel:"Create Application Data Entry"},{name:"deleteApplicationDataEntry",kind:"function",description:"Deletes given Application Data Entry",uiLabel:"Delete Application Data Entry"},{name:"editApplicationDataEntry",kind:"function",description:"Edits given Application Data Entry",uiLabel:"Edit Application Data Entry"},{name:"getApplicationDataEntries",kind:"function",description:"Retrieves all Key Value Pairs in Application state",uiLabel:"Get Application Data Entries"},{name:"getApplicationDataEntriesByValue",kind:"function",description:"Gets Application Data Entry with given value",uiLabel:"Get Application Data Entries By Value"},{name:"getApplicationDataEntryByKey",kind:"function",description:"Gets Application Data Entry with given key",uiLabel:"Get Application Data Entry By Key"},{name:"getApplicationState",kind:"function",description:"Retrieves Application section from Adaptable State",uiLabel:"Get Application State"}]},ApplicationDataEntry:{name:"ApplicationDataEntry",kind:"Interface",description:"Simple Key / Value pair object used to store custom - stringifiable - data in Adaptable State.",properties:[{name:"Key",kind:"string",description:"Key of Key / Value pair - always stored as a string",uiLabel:"Key"},{name:"Value",kind:"unknown",description:"Value of Key / Value pair (actual data being stored) - needs to stringifiable",uiLabel:"Value"}]},ApplicationState:{name:"ApplicationState",kind:"Interface",description:"Predefined Configuration for the Application Module",properties:[{name:"ApplicationDataEntries",kind:"unknown",description:"Array of Key / Value pairs enabling custom data to be stored in Adaptable State.",uiLabel:"Application Data Entries",isOptional:!0}]},BulkUpdateApi:{name:"BulkUpdateApi",kind:"Interface",description:"Provides run-time access to the Bulk Update Module",properties:[{name:"applyBulkUpdate",kind:"function",description:"Applies a Bulk Update to given Cells",uiLabel:"Apply Bulk Update"},{name:"getBulkUpdateValue",kind:"function",description:"Returns current Bulk Update value",uiLabel:"Get Bulk Update Value"},{name:"showBulkUpdatePopup",kind:"function",description:"Opens Bulk Update popup screen",uiLabel:"Show Bulk Update Popup"}]},BulkUpdatePermittedValues:{name:"BulkUpdatePermittedValues",kind:"Interface",description:"User to define permitted values when updating cells via bulk update"},ButtonStyle:{name:"ButtonStyle",kind:"Interface",description:"Defines the look and feel of an Adaptable Button",properties:[{name:"className",kind:"string",description:"CSS Classname to use for the Button",uiLabel:"Class Name",isOptional:!0},{name:"tone",kind:"unknown",description:"Button&#39;s Tone - values: &#39;success&#39;, &#39;error&#39;, &#39;neutral&#39;, &#39;none&#39;, &#39;warning&#39;, &#39;info&#39;, &#39;accent&#39;",uiLabel:"Tone",isOptional:!0,defaultValue:"&#39;neutral&#39;"},{name:"variant",kind:"unknown",description:"How Button appears - values: &#39;text&#39;, &#39;outlined&#39;, &#39;raised&#39;",uiLabel:"Variant",isOptional:!0,defaultValue:"&#39;outlined&#39;"}]},CalculatedColumn:{name:"CalculatedColumn",kind:"Interface",description:"Defines a Column where the display value is derived from other values in row, and the definition is stored in State.",properties:[{name:"CalculatedColumnSettings",kind:"REFERENCE",description:"Additional optional properties for Column (e.g. filterable, resizable)",uiLabel:"Calculated Column Settings",isOptional:!0,reference:"CalculatedColumnSettings"},{name:"ColumnId",kind:"string",description:"Name of Calculated Column",uiLabel:"Column Id"},{name:"FriendlyName",kind:"string",description:"Name to be used in Column Header; if blank `ColumnId` is used",uiLabel:"Friendly Name",isOptional:!0},{name:"Query",kind:"REFERENCE",description:"Scalar Expression used by AdapTableQL to evaluate Column&#39;s value",uiLabel:"Query",isOptional:!0,reference:"unknown"}]},CalculatedColumnApi:{name:"CalculatedColumnApi",kind:"Interface",description:"Provides run-time access to the Calculated Column Module",properties:[{name:"addCalculatedColumn",kind:"function",description:"Adds new Calculated Column",uiLabel:"Add Calculated Column"},{name:"deleteCalculatedColumn",kind:"function",description:"Removes Calculated Column from State",uiLabel:"Delete Calculated Column"},{name:"editCalculatedColumn",kind:"function",description:"Edits given Calculated Column",uiLabel:"Edit Calculated Column"},{name:"editCalculatedColumnExpression",kind:"function",description:"Replaces Expression in given Calculated Column with new value",uiLabel:"Edit Calculated Column Expression"},{name:"editCalculatedColumns",kind:"function",description:"Edits given Calculated Columns",uiLabel:"Edit Calculated Columns"},{name:"getAllCalculatedColumn",kind:"function",description:"Retrieves all Calculated Columns in Adaptable State",uiLabel:"Get All Calculated Column"},{name:"getCalculatedColumnById",kind:"function",description:"Retrieves Calculated column by id",uiLabel:"Get Calculated Column By Id"},{name:"getCalculatedColumnForColumnId",kind:"function",description:"Gets Calculated Column, if any, for given ColumnId",uiLabel:"Get Calculated Column For Column Id"},{name:"getCalculatedColumnModuleReferences",kind:"function",description:"Returns all the references in the AdaptableState of the given CalculatedColumn",uiLabel:"Get Calculated Column Module References"},{name:"getCalculatedColumnsReferencingColumnId",kind:"function",description:"Returns all Calculated Columns whose Expression contains the ColumnId",uiLabel:"Get Calculated Columns Referencing Column Id"},{name:"getCalculatedColumnState",kind:"function",description:"Retrieves Calculated Column section from Adaptable State",uiLabel:"Get Calculated Column State"},{name:"getReferencedColumnIdsForCalculatedColumn",kind:"function",description:"Gets any ColumnIds referenced in a Calculated Column",uiLabel:"Get Referenced Column Ids For Calculated Column"},{name:"getReferencedColumnIdsForCalculatedColumnId",kind:"function",description:"Gets any ColumnIds referenced in a Calculated Column",uiLabel:"Get Referenced Column Ids For Calculated Column Id"},{name:"showCalculatedColumnPopup",kind:"function",description:"Opens Calculated Column popup screen",uiLabel:"Show Calculated Column Popup"}]},CalculatedColumnSettings:{name:"CalculatedColumnSettings",kind:"Interface",description:"Set of optional properties that define a Calculated Column&#39;s behaviour",properties:[{name:"DataType",kind:"unknown",description:"Expression&#39;s return value DataType; inferred by AdapTable but settable by User",uiLabel:"Data Type",isOptional:!0},{name:"ShowToolTip",kind:"boolean",description:"Show underlying Expression as ToolTip when hovering over a cell",uiLabel:"Show Tool Tip",isOptional:!0,defaultValue:"false"}]},CalculatedColumnState:{name:"CalculatedColumnState",kind:"Interface",description:"Predefined Configuration for Calculated Column Module",properties:[{name:"CalculatedColumns",kind:"unknown",description:"Collection of Calculated Columns",uiLabel:"Calculated Columns",isOptional:!0,defaultValue:"empty"}]},CellChangedInfo:{name:"CellChangedInfo",kind:"Interface",description:"EventInfo returned by CellChanged event",properties:[{name:"cellChange",kind:"REFERENCE",description:"Object providing full information of the cell (and column and row) that changed",uiLabel:"Cell Change",reference:"DataChangedInfo"}]},CellHighlightInfo:{name:"CellHighlightInfo",kind:"Interface",description:"Defines how a given Cell in AdapTable should be highlighted",properties:[{name:"columnId",kind:"string",description:"Id of Column containing Cell",uiLabel:"Column Id"},{name:"primaryKeyValue",kind:"unknown",description:"Primary Key Value of row containing Cell",uiLabel:"Primary Key Value"},{name:"timeout",kind:"number",description:"Time after which Cell should be unhilighted",uiLabel:"Timeout",isOptional:!0}]},CellSummaryApi:{name:"CellSummaryApi",kind:"Interface",description:"Provides run-time access to the Cell Summary Module",properties:[{name:"getCellSummaryOperationDefinitions",kind:"function",description:"Retrieves all Cell Summary Definitions from Cell Summary State",uiLabel:"Get Cell Summary Operation Definitions"},{name:"getCurrentCellSummaryOperation",kind:"function",description:"Retrieves currently selected Cell Summary Operation",uiLabel:"Get Current Cell Summary Operation"},{name:"showCellSummaryPopup",kind:"function",description:"Opens Cell Summary popup screen",uiLabel:"Show Cell Summary Popup"}]},CellSummaryOperationParams:{name:"CellSummaryOperationParams",kind:"Interface",description:"Params provided to a custom Cell Summary Operation function",properties:[{name:"allValues",kind:"unknown",description:"All values of selected cells",uiLabel:"All Values"},{name:"api",kind:"REFERENCE",description:"Adaptable Api object",uiLabel:"Api",reference:"AdaptableApi"},{name:"distinctCount",kind:"number",description:"Count of currently selected cells",uiLabel:"Distinct Count"},{name:"numericColumns",kind:"unknown",description:"Any numeric columns in current selection",uiLabel:"Numeric Columns"},{name:"numericValues",kind:"unknown",description:"Any numeric values in current selection",uiLabel:"Numeric Values"},{name:"selectedCellInfo",kind:"REFERENCE",description:"Currently selected cells",uiLabel:"Selected Cell Info",reference:"SelectedCellInfo"}]},CellSummmary:{name:"CellSummmary",kind:"Interface",description:"Defines the Summary operations provides for Selected Cells"},CellTextOption:{name:"CellTextOption",kind:"TypeAlias",description:"List of all the Module buttons Adaptable provides - each Module has a popup for which this is a shortcut button"},CellValuesList:{name:"CellValuesList",kind:"TypeAlias",description:"Use PermittedValues instead"},CheckboxColumnClickedInfo:{name:"CheckboxColumnClickedInfo",kind:"Interface",description:"Event Info published by CheckboxColumnClicked event",properties:[{name:"column",kind:"REFERENCE",description:"Name of Column where Checkbox was clicked",uiLabel:"Column",reference:"AdaptableColumn"},{name:"isChecked",kind:"boolean",description:"Whether or not the Checkbox is checked",uiLabel:"Is Checked"},{name:"primaryKeyValue",kind:"unknown",description:"Value in Primary Key Column for row where Checkbox was clicked",uiLabel:"Primary Key Value"},{name:"rowData",kind:"unknown",description:"Data in the row where the Checkbox was clicked",uiLabel:"Row Data"}]},ColumnApi:{name:"ColumnApi",kind:"Interface",description:"A large range of column-related functions in AdapTable",properties:[{name:"addColumnsToSelection",kind:"function",description:"Adds (highlights) a group of Columns to any existing selection",uiLabel:"Add Columns To Selection"},{name:"addColumnToSelection",kind:"function",description:"Adds (highlights) a Column to any existing selection",uiLabel:"Add Column To Selection"},{name:"autosizeAllColumns",kind:"function",description:"Autosizes all Columns in the Grid",uiLabel:"Autosize All Columns"},{name:"autosizeColumn",kind:"function",description:"AutoSizes a Column",uiLabel:"Autosize Column"},{name:"autosizeColumns",kind:"function",description:"Autosizes given Columns",uiLabel:"Autosize Columns"},{name:"doesColumnExist",kind:"function",description:"Returns true if the given Column exists in the Grid",uiLabel:"Does Column Exist"},{name:"getAggregetableColumns",kind:"function",description:"Returns all Aggregatable Columns",uiLabel:"Get Aggregetable Columns"},{name:"getAgGridColumnFieldForAdaptableColumn",kind:"function",description:"Retrieves AG Grid&#39;s field property for the column",uiLabel:"Get Ag Grid Column Field For Adaptable Column"},{name:"getAgGridColumnForAdaptableColumn",kind:"function",description:"Retrieves AG Grid&#39;s column for an Adaptable column",uiLabel:"Get Ag Grid Column For Adaptable Column"},{name:"getAgGridColumnType",kind:"function",description:"Retrieves &#39;ColumnType&#39; property for a given Column",uiLabel:"Get Ag Grid Column Type"},{name:"getAllColumnFriendlyNames",kind:"function",description:"Retrieves a list providing the Friendly Name / Caption for all columns",uiLabel:"Get All Column Friendly Names"},{name:"getBooleanColumns",kind:"function",description:"Returns all boolean Columns",uiLabel:"Get Boolean Columns"},{name:"getColumnDataTypeFromColumnId",kind:"function",description:"Returns Data Type for a Column",uiLabel:"Get Column Data Type From Column Id"},{name:"getColumnFromFriendlyName",kind:"function",description:"Retrieves Adaptable Column with given Friendly name",uiLabel:"Get Column From Friendly Name"},{name:"getColumnFromId",kind:"function",description:"Retrieves Adaptable Column with given ColumnId",uiLabel:"Get Column From Id"},{name:"getColumnIdFromFriendlyName",kind:"function",description:"Retrieves ColumnId for Column with given Friendly Name",uiLabel:"Get Column Id From Friendly Name"},{name:"getColumnIdsFromFriendlyNames",kind:"function",description:"Retrieves ColumnIds for Columns with given Friendly Names",uiLabel:"Get Column Ids From Friendly Names"},{name:"getColumnIdsFromId",kind:"function",description:"Returns the ColumnId if regular, otherwise referenced columns if Calculated Column",uiLabel:"Get Column Ids From Id"},{name:"getColumns",kind:"function",description:"Returns all Columns",uiLabel:"Get Columns"},{name:"getColumnsFromFriendlyNames",kind:"function",description:"Retrieves Adaptable Columns with given Friendly names",uiLabel:"Get Columns From Friendly Names"},{name:"getColumnsFromIds",kind:"function",description:"Retrieves Adaptable Columns with given ColumnIds",uiLabel:"Get Columns From Ids"},{name:"getColumnsOfType",kind:"function",description:"Returns all Columns that have given DataType",uiLabel:"Get Columns Of Type"},{name:"getDateColumns",kind:"function",description:"Returns all Date Columns",uiLabel:"Get Date Columns"},{name:"getDistinctBulkUpdateDisplayValuesForColumn",kind:"function",description:"Gets all distinct column display values for bulk update.",uiLabel:"Get Distinct Bulk Update Display Values For Column"},{name:"getDistinctCustomSortDisplayValuesForColumn",kind:"function",description:"Gets all distinct column display values in for custom sort.",uiLabel:"Get Distinct Custom Sort Display Values For Column"},{name:"getDistinctDisplayValuesForColumn",kind:"function",description:"Gets all distinct display values in the Column",uiLabel:"Get Distinct Display Values For Column"},{name:"getDistinctFilterDisplayValuesForColumn",kind:"function",description:"Gets all distinct display values in for filter column, used for Floating Filter and Column Header filter",uiLabel:"Get Distinct Filter Display Values For Column"},{name:"getDistinctRawValuesForColumn",kind:"function",description:"Gets all distinct raw values in Column",uiLabel:"Get Distinct Raw Values For Column"},{name:"getDistinctVisibleDisplayValuesForColumn",kind:"function",description:"Gets all distinct visible display values in the Column",uiLabel:"Get Distinct Visible Display Values For Column"},{name:"getDistinctVisibleRawValuesForColumn",kind:"function",description:"Gets all distinct visible raw values in the Column",uiLabel:"Get Distinct Visible Raw Values For Column"},{name:"getFriendlyNameFromColumn",kind:"function",description:"Retrieves Friendly Name for a given Column",uiLabel:"Get Friendly Name From Column"},{name:"getFriendlyNameFromColumnId",kind:"function",description:"Retrieves Friendly Name for a given ColumnId",uiLabel:"Get Friendly Name From Column Id"},{name:"getFriendlyNamesFromColumnIds",kind:"function",description:"Retrieves Friendly Names for given ColumnIds",uiLabel:"Get Friendly Names From Column Ids"},{name:"getGroupableColumns",kind:"function",description:"Returns all Groupable Columns",uiLabel:"Get Groupable Columns"},{name:"getNumericArrayColumns",kind:"function",description:"Returns all numeric array Columns",uiLabel:"Get Numeric Array Columns"},{name:"getNumericColumns",kind:"function",description:"Returns all numeric Columns",uiLabel:"Get Numeric Columns"},{name:"getPivotableColumns",kind:"function",description:"Returns all Pivotable Columns",uiLabel:"Get Pivotable Columns"},{name:"getPrimaryKeyColumn",kind:"function",description:"Retrieves current Primary Key Column in AdapTable",uiLabel:"Get Primary Key Column"},{name:"getQueryableColumns",kind:"function",description:"Returns all Queryable Columns",uiLabel:"Get Queryable Columns"},{name:"getSortableColumns",kind:"function",description:"Returns all Sortable Columns",uiLabel:"Get Sortable Columns"},{name:"getStringColumns",kind:"function",description:"Returns all string Columns",uiLabel:"Get String Columns"},{name:"getVisibleColumns",kind:"function",description:"Returns all visible Columns",uiLabel:"Get Visible Columns"},{name:"hideColumn",kind:"function",description:"Hides a Column from Grid",uiLabel:"Hide Column"},{name:"isActionColumn",kind:"function",description:"Is Column an Action Column",uiLabel:"Is Action Column"},{name:"isBooleanColumn",kind:"function",description:"Is Column Boolean",uiLabel:"Is Boolean Column"},{name:"isCalculatedColumn",kind:"function",description:"Is Column a Calculated Column",uiLabel:"Is Calculated Column"},{name:"isColumnReferencedInExpression",kind:"function",description:"Checks if a column is referenced in a given Expression",uiLabel:"Is Column Referenced In Expression"},{name:"isDateColumn",kind:"function",description:"Is Column a Date",uiLabel:"Is Date Column"},{name:"isFormatNumericStyleColumn",kind:"function",description:"Does Column have a numeric style (e.g. Percent Bar or Gradient)",uiLabel:"Is Format Numeric Style Column"},{name:"isFreeTextColumn",kind:"function",description:"Is Column a Free Text Column",uiLabel:"Is Free Text Column"},{name:"isNumericColumn",kind:"function",description:"Is Column Numeric",uiLabel:"Is Numeric Column"},{name:"isRowGroupColumn",kind:"function",description:"Is Column row-grouped",uiLabel:"Is Row Group Column"},{name:"selectAllColumns",kind:"function",description:"Selects all Columns",uiLabel:"Select All Columns"},{name:"selectColumn",kind:"function",description:"Selects (highlights) a Column",uiLabel:"Select Column"},{name:"selectColumns",kind:"function",description:"Selects (highlights) group of Columns",uiLabel:"Select Columns"},{name:"showColumn",kind:"function",description:"Makes a Column visible",uiLabel:"Show Column"},{name:"usesAdaptableFilterForm",kind:"function",description:"Does Column use AdapTable&#39;s Filter Form",uiLabel:"Uses Adaptable Filter Form"},{name:"usesAdaptableQuickFilter",kind:"function",description:"Does Column use AdapTable&#39;s Quick Filter",uiLabel:"Uses Adaptable Quick Filter"}]},ColumnFilter:{name:"ColumnFilter",kind:"Interface",description:"Defines a Filter applied on a Column using a Predicate",properties:[{name:"ColumnId",kind:"string",description:"Column where Filter should be applied",uiLabel:"Column Id"},{name:"Predicate",kind:"REFERENCE",description:"`AdaptablePredicate` which AdaptableQL will evaluate when the Filter is run",uiLabel:"Predicate",reference:"unknown"}]},ColumnMenuContext:{name:"ColumnMenuContext",kind:"Interface",description:"Provides full details about the Column in which the Column Menu will appear",properties:[{name:"adaptableColumn",kind:"REFERENCE",description:"Current Adaptable Column",uiLabel:"Adaptable Column",reference:"AdaptableColumn"},{name:"agGridColumn",kind:"REFERENCE",description:"Current AG Grid Column",uiLabel:"Ag Grid Column",reference:"unknown"},{name:"isRowGroupColumn",kind:"boolean",description:"Whether current Column is Row Group",uiLabel:"Is Row Group Column"}]},ColumnSort:{name:"ColumnSort",kind:"Interface",description:"Defines how a Column is sorted",properties:[{name:"ColumnId",kind:"string",description:"Id of Column being sorted",uiLabel:"Column Id"},{name:"SortOrder",kind:"unknown",description:"How Column is sorted - either &#39;Asc&#39; or &#39;Desc&#39;",uiLabel:"Sort Order"}]},ColumnValuesComparer:{name:"ColumnValuesComparer",kind:"Interface",description:"Comparer object for Column Values - used for custom sorting",properties:[{name:"comparer",kind:"REFERENCE",description:"Comparer function to use",uiLabel:"Comparer",reference:"AdaptableComparerFunction"},{name:"scope",kind:"REFERENCE",description:"Column for which to compare values",uiLabel:"Scope",reference:"AdaptableScope"}]},ConditionalStyle:{name:"ConditionalStyle",kind:"Interface",description:"Object used in Conditional Style function - contains Scope, a Rule and a Style",properties:[{name:"IncludeGroupedRows",kind:"boolean",description:"Whether to apply Style in Grouped Rows",uiLabel:"Include Grouped Rows",isOptional:!0,defaultValue:"false"},{name:"Rule",kind:"REFERENCE",description:"Predicate-based Rule to use for deciding if a style needs to be applied.",uiLabel:"Rule",reference:"ConditionalStyleRule"},{name:"Scope",kind:"REFERENCE",description:"Where Style is applied - can be whole Row, some Columns or all Columns of given DataType",uiLabel:"Scope",reference:"AdaptableScope"},{name:"Style",kind:"REFERENCE",description:"Adaptable Style (e.g. font properties and colurs) to apply.",uiLabel:"Style",reference:"AdaptableStyle"}]},ConditionalStyleApi:{name:"ConditionalStyleApi",kind:"Interface",description:"Provides run-time access to Conditional Style Module and state",properties:[{name:"addConditionalStyle",kind:"function",description:"Adds new Conditional Style to State",uiLabel:"Add Conditional Style"},{name:"editConditionalStyle",kind:"function",description:"Replaces Conditional Style in State with given one",uiLabel:"Edit Conditional Style"},{name:"editConditionalStyles",kind:"function",description:"Replaces Conditional Styles in State with given ones",uiLabel:"Edit Conditional Styles"},{name:"getAllActiveConditionalStyle",kind:"function",description:"Gets all Conditional Styles that are active (not-suspended) in Adaptable State",uiLabel:"Get All Active Conditional Style"},{name:"getAllConditionalStyle",kind:"function",description:"Gets all Conditional Styles in Adaptable State",uiLabel:"Get All Conditional Style"},{name:"getAllSuspendedConditionalStyle",kind:"function",description:"Gets all Conditional Styles that are suspended in Adaptable State",uiLabel:"Get All Suspended Conditional Style"},{name:"getConditionalStyleById",kind:"function",description:"Get conditional style by id",uiLabel:"Get Conditional Style By Id"},{name:"getConditionalStylePredicateDefs",kind:"function",description:"Returns all Predicates usable in Conditional Styles",uiLabel:"Get Conditional Style Predicate Defs"},{name:"getConditionalStylesForColumn",kind:"function",description:"Gets all Conditional Styles that style a given Column",uiLabel:"Get Conditional Styles For Column"},{name:"getConditionalStyleState",kind:"function",description:"Retrieves Conditional Style section from Adaptable State",uiLabel:"Get Conditional Style State"},{name:"getConditionalStylesWithExpression",kind:"function",description:"Retrieves all Conditional Styles which have an Expression",uiLabel:"Get Conditional Styles With Expression"},{name:"getCondStylePredicateDefsForScope",kind:"function",description:"Returns all Predicates appropriate for the given Scope",uiLabel:"Get Cond Style Predicate Defs For Scope"},{name:"getOrderedConditionalStyles",kind:"function",description:"Retrieves all Conditional Styles ordered by Column then Row",uiLabel:"Get Ordered Conditional Styles"},{name:"getRowConditionalStyles",kind:"function",description:"Retrieves all Conditional Styles that style whole row",uiLabel:"Get Row Conditional Styles"},{name:"showConditionalStylePopup",kind:"function",description:"Opens Conditional Style popup screen",uiLabel:"Show Conditional Style Popup"},{name:"suspendConditionalStyle",kind:"function",description:"Suspends conditional style, a readonly object cannot be suspended",uiLabel:"Suspend Conditional Style"},{name:"unSuspendConditionalStyle",kind:"function",description:"Un-suspends or activates a suspended conditional style",uiLabel:"Un Suspend Conditional Style"}]},ConditionalStyleRule:{name:"ConditionalStyleRule",kind:"TypeAlias",description:"The Conditional Style Rule - can be either a Predicate or an Expression"},ConditionalStyleState:{name:"ConditionalStyleState",kind:"Interface",description:"Predefined Configuration for the Conditional Style Module",properties:[{name:"ConditionalStyles",kind:"unknown",description:"Array of Conditional Styles to ship with Adaptable",uiLabel:"Conditional Styles",isOptional:!0}]},ConfigApi:{name:"ConfigApi",kind:"Interface",description:"Range of functions to access Predefined Config and Adaptable State",properties:[{name:"configInit",kind:"function",description:"Initialised Adaptable State (for internal use only)",uiLabel:"Config Init"},{name:"copyAllStateToClipboard",kind:"function",description:"Copies all Adaptable state to clipboard",uiLabel:"Copy All State To Clipboard"},{name:"copyUserStateToClipboard",kind:"function",description:"Copies User State sections of Adaptable State to clipboard",uiLabel:"Copy User State To Clipboard"},{name:"dispatchStateReadyAction",kind:"function",description:"Sent by each Module when it is Ready",uiLabel:"Dispatch State Ready Action"},{name:"getAdaptableSearchState",kind:"function",description:"Gets search-related sections of Adaptable State",uiLabel:"Get Adaptable Search State"},{name:"getAdaptableSortState",kind:"function",description:"Gets sort-related sections of Adaptable State",uiLabel:"Get Adaptable Sort State"},{name:"getAlertState",kind:"function",description:"Returns Alert section of Adaptable State",uiLabel:"Get Alert State"},{name:"getAllState",kind:"function",description:"Retrieves ALL state which is currently stored by Adaptable (both User and internal)",uiLabel:"Get All State"},{name:"getAllUserState",kind:"function",description:"Retrieves the PERSISTED state in Adaptable",uiLabel:"Get All User State"},{name:"getApplicationState",kind:"function",description:"Returns Application section of Adaptable State",uiLabel:"Get Application State"},{name:"getCalculatedColumnState",kind:"function",description:"Returns Calculated Column section of Adaptable State",uiLabel:"Get Calculated Column State"},{name:"getConditionalStyleState",kind:"function",description:"Returns Conditional Style section of Adaptable State",uiLabel:"Get Conditional Style State"},{name:"getCustomSortState",kind:"function",description:"Returns Custom Sort section of Adaptable State",uiLabel:"Get Custom Sort State"},{name:"getDashboardState",kind:"function",description:"Returns Dashboard section of Adaptable State",uiLabel:"Get Dashboard State"},{name:"getDataSourceState",kind:"function",description:"Returns Data Source section of Adaptable State",uiLabel:"Get Data Source State"},{name:"getDescriptionForModule",kind:"function",description:"Retrieves a brief description of an AdapTable Module",uiLabel:"Get Description For Module"},{name:"getExportState",kind:"function",description:"Returns Export section of Adaptable State",uiLabel:"Get Export State"},{name:"getFilterState",kind:"function",description:"Returns Filter section of Adaptable State",uiLabel:"Get Filter State"},{name:"getFormatColumnState",kind:"function",description:"Returns Formt Column section of Adaptable State",uiLabel:"Get Format Column State"},{name:"getFreeTextColumnState",kind:"function",description:"Returns FreeText Column section of Adaptable State",uiLabel:"Get Free Text Column State"},{name:"getHelpPageForModule",kind:"function",description:"Retrieves the help page for an AdapTable Module",uiLabel:"Get Help Page For Module"},{name:"getLayoutState",kind:"function",description:"Returns Layout section of Adaptable State",uiLabel:"Get Layout State"},{name:"getPlusMinusState",kind:"function",description:"Returns Plus Minus section of Adaptable State",uiLabel:"Get Plus Minus State"},{name:"getPredefinedConfig",kind:"function",description:"Returns current Predefined Config",uiLabel:"Get Predefined Config"},{name:"getQueryState",kind:"function",description:"Returns Query section of Adaptable State",uiLabel:"Get Query State"},{name:"getQuickSearchState",kind:"function",description:"Returns Quick Search section of Adaptable State",uiLabel:"Get Quick Search State"},{name:"getScheduleState",kind:"function",description:"Returns Schedule section of Adaptable State",uiLabel:"Get Schedule State"},{name:"getShortcutState",kind:"function",description:"Returns Shortcut section of Adaptable State",uiLabel:"Get Shortcut State"},{name:"getThemeState",kind:"function",description:"Returns Theme section of Adaptable State",uiLabel:"Get Theme State"},{name:"getToolPanelState",kind:"function",description:"Returns Tool Panel section of Adaptable State",uiLabel:"Get Tool Panel State"},{name:"getUserStateByStateKey",kind:"function",description:"Returns given section of Adaptable State (as JSON or object)",uiLabel:"Get User State By State Key"},{name:"incrementUerStateRevision",kind:"function",description:"Adds &#39;1&#39; to current revision number of State element",uiLabel:"Increment Uer State Revision"},{name:"loadUserState",kind:"function",description:"Loads supplied user state, replacing (not merging) existing User State.",uiLabel:"Load User State"},{name:"reloadPredefinedConfig",kind:"function",description:"Reloads either existing or supplied Predefined Config; deletes local storage and calls clearState function for remote storage removal",uiLabel:"Reload Predefined Config"},{name:"setAdaptableStateKey",kind:"function",description:"Changes the key used for persisting the Adaptablestate into localStorage",uiLabel:"Set Adaptable State Key"}]},ConfigState:{name:"ConfigState",kind:"Interface",description:"Base Interface for all Adaptable State objects; contains`Revision` property, used for versioning",properties:[{name:"Revision",kind:"number",description:"Version number of the Item - allows developers to update one section in Predefined Config while keeping others unchanged",uiLabel:"Revision",isOptional:!0}]},ContainerOptions:{name:"ContainerOptions",kind:"Interface",description:"Options for managing the different div elements required by AdapTable",properties:[{name:"adaptableContainer",kind:"unknown",description:"Div containing AdapTable - string Id or HTMLElement",uiLabel:"Adaptable Container",isOptional:!0,gridInfo:"item",defaultValue:"&quot;adaptable&quot;"},{name:"agGridContainer",kind:"unknown",description:"Div containing AG Grid instance - string Id or HTMLElement",uiLabel:"Ag Grid Container",isOptional:!0,gridInfo:"item",defaultValue:"&quot;grid&quot;"},{name:"agGridContainerWaitTimeout",kind:"number",description:"how long AdapTable waits for AG Grid before giving up connecting to it; useful when AG Grid is instantiated separately (eg: by React or Angular Wrappers)",uiLabel:"Ag Grid Container Wait Timeout",isOptional:!0,gridInfo:"item",defaultValue:"60s"},{name:"alertContainer",kind:"unknown",description:"Div to show Alerts - string Id or HTMLElement",uiLabel:"Alert Container",isOptional:!0,gridInfo:"item",defaultValue:"undefined"},{name:"modalContainer",kind:"string",description:"Name of div where modals appear (if null, will be centre of page)",uiLabel:"Modal Container",isOptional:!0,gridInfo:"item",defaultValue:"undefined"},{name:"systemStatusContainer",kind:"unknown",description:"Div to show System Status messages - string Id or HTMLElement",uiLabel:"System Status Container",isOptional:!0,gridInfo:"item",defaultValue:"undefined"}]},ContextMenuContext:{name:"ContextMenuContext",kind:"Interface",description:"Provides full details about current cell (and selected cells) where the Context Menu will appear",properties:[{name:"adaptableColumn",kind:"REFERENCE",description:"Current Adaptable Column",uiLabel:"Adaptable Column",reference:"AdaptableColumn"},{name:"agGridColumn",kind:"REFERENCE",description:"Current AG Grid Column",uiLabel:"Ag Grid Column",reference:"unknown"},{name:"gridCell",kind:"REFERENCE",description:"Cell that has been clicked; contains cell value",uiLabel:"Grid Cell",reference:"GridCell"},{name:"isGroupedNode",kind:"boolean",description:"Whether current AG Grid row node is grouped",uiLabel:"Is Grouped Node"},{name:"isRowGroupColumn",kind:"boolean",description:"Whether current Column is Row Grouped",uiLabel:"Is Row Group Column"},{name:"isSelectedCell",kind:"boolean",description:"Whether cell that was clicked is also currently selected",uiLabel:"Is Selected Cell"},{name:"isSingleSelectedColumn",kind:"boolean",description:"Whether Column that was clicked is only column with selected cells",uiLabel:"Is Single Selected Column"},{name:"primaryKeyValue",kind:"unknown",description:"Value of Primary Key column in current row",uiLabel:"Primary Key Value"},{name:"rowNode",kind:"REFERENCE",description:"Current AG Grid row node",uiLabel:"Row Node",reference:"unknown"},{name:"selectedCellInfo",kind:"REFERENCE",description:"Currently selected cells in the grid",uiLabel:"Selected Cell Info",reference:"SelectedCellInfo"},{name:"selectedRowInfo",kind:"REFERENCE",description:"Currently selected rows in the grid",uiLabel:"Selected Row Info",reference:"SelectedRowInfo"}]},CustomDestination:{name:"CustomDestination",kind:"Interface",description:"Defines a custom Export destination",properties:[{name:"form",kind:"unknown",description:"Optional Adaptable Form - if provided, it must include Buttons that will execute the export",uiLabel:"Form",isOptional:!0},{name:"name",kind:"string",description:"Name of Custom Destination",uiLabel:"Name"},{name:"onExport",kind:"unknown",description:"Function invoked when export is applied (used if no form is supplied)",uiLabel:"On Export",isOptional:!0}]},CustomReport:{name:"CustomReport",kind:"Interface",description:"Defines a Report where all the data is provided entirely by the user",properties:[{name:"name",kind:"string",description:"Name of the Report",uiLabel:"Name"},{name:"onRunReport",kind:"unknown",description:"Function invoked to return the data (in the form of a `ReportData` object)",uiLabel:"On Run Report"}]},CustomSort:{name:"CustomSort",kind:"Interface",description:"Custom Sort object used in Custom Sort function.",properties:[{name:"ColumnId",kind:"string",description:"Id of Column on which Custom Sort will be applied",uiLabel:"Column Id"},{name:"SortedValues",kind:"unknown",description:"Order of values by which Column will be sorted",uiLabel:"Sorted Values",isOptional:!0}]},CustomSortApi:{name:"CustomSortApi",kind:"Interface",description:"Provides run-time access to the Custom Sort function",properties:[{name:"addCustomSort",kind:"function",description:"Adds a Custom Sort to Custom Sort collection in Adaptable State",uiLabel:"Add Custom Sort"},{name:"createCustomSort",kind:"function",description:"Creates new Custom Sort based on given values",uiLabel:"Create Custom Sort"},{name:"deleteCustomSort",kind:"function",description:"Removes Custom Sort for a given ColumnId",uiLabel:"Delete Custom Sort"},{name:"editCustomSort",kind:"function",description:"Updates existing Custom Sort with new set of Sorted Values",uiLabel:"Edit Custom Sort"},{name:"getAllActiveCustomSort",kind:"function",description:"Retrieves all Custom Sorts that are active (not-suspended) in Adaptable State",uiLabel:"Get All Active Custom Sort"},{name:"getAllCustomSort",kind:"function",description:"Retrieves all Custom Sorts in Adaptable State",uiLabel:"Get All Custom Sort"},{name:"getAllSuspendedCustomSort",kind:"function",description:"Retrieves all Custom Sorts that are suspended in Adaptable State",uiLabel:"Get All Suspended Custom Sort"},{name:"getCustomSortByColumn",kind:"function",description:"Retrieves Custom Sort from Adaptable State for given ColumnId",uiLabel:"Get Custom Sort By Column"},{name:"getCustomSortById",kind:"function",description:"Retrieves Custom Sort by id",uiLabel:"Get Custom Sort By Id"},{name:"getCustomSortState",kind:"function",description:"Retrieves Custom Sort section from Adaptable State",uiLabel:"Get Custom Sort State"},{name:"showCustomSortPopup",kind:"function",description:"Opens Custom Sort popup screen",uiLabel:"Show Custom Sort Popup"},{name:"suspendCustomSort",kind:"function",description:"Suspends Custom Sort",uiLabel:"Suspend Custom Sort"},{name:"unSuspendCustomSort",kind:"function",description:"Un-suspends or activates a suspended Custom Sort",uiLabel:"Un Suspend Custom Sort"}]},CustomSortPermittedValues:{name:"CustomSortPermittedValues",kind:"Interface",description:"Custom column values for custom sort."},CustomSortState:{name:"CustomSortState",kind:"Interface",description:"Predefined Configuration for Custom Sort Module",properties:[{name:"CustomSorts",kind:"unknown",description:"Collection of Custom Sort objects.",uiLabel:"Custom Sorts",isOptional:!0,defaultValue:"[]"}]},CustomToolbar:{name:"CustomToolbar",kind:"Interface",description:"Custom Toolbar (which AdapTable will manage) enabling devs to populate Dashboard with bepoke content",properties:[{name:"frameworkComponent",kind:"REFERENCE",description:"The Framework-specific (Angular or React) component to be rendered",uiLabel:"Framework Component",isOptional:!0,reference:"unknown"},{name:"name",kind:"string",description:"How Toolbar is referenced (e.g. in Dashboard Popup when managing toolbars)",uiLabel:"Name"},{name:"render",kind:"unknown",description:"Function to provide custom content when NOT using a Framework wrapper",uiLabel:"Render",isOptional:!0},{name:"showCloseButton",kind:"boolean",description:"Shows a Close button at the bottom of Custom Toolbar",uiLabel:"Show Close Button",isOptional:!0},{name:"showConfigureButton",kind:"boolean",description:"Shows a Configure (wrench) button which when clicked fires `CustomToolbarConfigured` event",uiLabel:"Show Configure Button",isOptional:!0},{name:"title",kind:"string",description:"Title to display in Toolbar; if unset or empty string, nothing will show",uiLabel:"Title",isOptional:!0},{name:"toolbarButtons",kind:"unknown",description:"Optional set of buttons to show in the Toolbar",uiLabel:"Toolbar Buttons",isOptional:!0}]},CustomToolbarButtonContext:{name:"CustomToolbarButtonContext",kind:"Interface",description:"Context required by functions when using a Custom Toolbar Button",properties:[{name:"customToolbar",kind:"REFERENCE",description:"Custom Toolbar which hosts the Button",uiLabel:"Custom Toolbar",reference:"CustomToolbar"},{name:"dashboardState",kind:"REFERENCE",description:"Current Dashboard State",uiLabel:"Dashboard State",reference:"DashboardState"}]},CustomToolbarConfiguredInfo:{name:"CustomToolbarConfiguredInfo",kind:"Interface",description:"EventInfo returned by the CustomToolbarConfigured event",properties:[{name:"customToolbar",kind:"REFERENCE",description:"Custom Toolbar in which the &#39;Configure&#39; button has been clicked",uiLabel:"Custom Toolbar",reference:"CustomToolbar"}]},CustomToolPanel:{name:"CustomToolPanel",kind:"Interface",description:"Defines a Custom ToolPanel - provided by Users and contains custom content",properties:[{name:"frameworkComponent",kind:"REFERENCE",description:"Framework-specific (Angular or React) component to be rendered",uiLabel:"Framework Component",isOptional:!0,reference:"unknown"},{name:"name",kind:"string",description:"Name of Custom ToolPanel - should be unique",uiLabel:"Name"},{name:"render",kind:"unknown",description:"Function to provide bespoke content when NOT using a Framework wrapper",uiLabel:"Render",isOptional:!0},{name:"title",kind:"string",description:"Title to display in Custom ToolPanel; if undefined, will default to `name` property",uiLabel:"Title",isOptional:!0},{name:"toolPanelButtons",kind:"unknown",description:"Optional set of buttons to show in the ToolPanel",uiLabel:"Tool Panel Buttons",isOptional:!0}]},DashboardApi:{name:"DashboardApi",kind:"Interface",description:"Functions relating to the AdapTable Dashboard.",properties:[{name:"addCustomToolbarButtons",kind:"function",description:"Adds Toolbar Buttons to current collection in Custom Toolbar",uiLabel:"Add Custom Toolbar Buttons"},{name:"clearCustomToolbarButtons",kind:"function",description:"Clears all Toolbar Buttons from Custom Toolbar",uiLabel:"Clear Custom Toolbar Buttons"},{name:"collapseDashboard",kind:"function",description:"Collapses Dashboard so only Dashboard Header is visible (and not Toolbars&#39; contents)",uiLabel:"Collapse Dashboard"},{name:"dockDashboard",kind:"function",description:"Docks Dashboard so it &#39;snaps back&#39; into its customary position above the grid",uiLabel:"Dock Dashboard"},{name:"expandDashboard",kind:"function",description:"Expands Dashboard so Toolbars in Active Tab are fully visible",uiLabel:"Expand Dashboard"},{name:"fireDashboardChangedEvent",kind:"function",description:"Fires Dashboard Changed Event",uiLabel:"Fire Dashboard Changed Event"},{name:"floatDashboard",kind:"function",description:"Floats Dashboard so only Dashboard Header is visible (in reduced size); can be dragged to a new location",uiLabel:"Float Dashboard"},{name:"getActiveTab",kind:"function",description:"Returns current Active Tab (if there is one)",uiLabel:"Get Active Tab"},{name:"getActiveTabIndex",kind:"function",description:"Returns current Active Tab index (if there is one)",uiLabel:"Get Active Tab Index"},{name:"getCurrentToolbars",kind:"function",description:"Retrieves all Toolbars in Active Tab",uiLabel:"Get Current Toolbars"},{name:"getCustomDashboardButtonByLabel",kind:"function",description:"Retrieves first Custom Button with given Label",uiLabel:"Get Custom Dashboard Button By Label"},{name:"getCustomDashboardButtons",kind:"function",description:"Retrieves all Custom Buttons",uiLabel:"Get Custom Dashboard Buttons"},{name:"getCustomToolbarByName",kind:"function",description:"Returns Custom Toolbar with the given name",uiLabel:"Get Custom Toolbar By Name"},{name:"getCustomToolbarContentsDiv",kind:"function",description:"Returns &#39;div&#39; element for given Custom Toolbar",uiLabel:"Get Custom Toolbar Contents Div"},{name:"getCustomToolbars",kind:"function",description:"Retrieves all Custom Toolbars",uiLabel:"Get Custom Toolbars"},{name:"getDashboardState",kind:"function",description:"Retrieves Dashboard section from Adaptable State",uiLabel:"Get Dashboard State"},{name:"getTabByName",kind:"function",description:"Retrieves the Tab from State that matches inputted name",uiLabel:"Get Tab By Name"},{name:"hasCustomToolbarChanged",kind:"function",description:"Has a custom toolbar become visible or",uiLabel:"Has Custom Toolbar Changed"},{name:"hideDashboard",kind:"function",description:"Hides the Dashboard so cannot be seen",uiLabel:"Hide Dashboard"},{name:"isDashboardCollapsed",kind:"function",description:"Is Dashboard Collapsed",uiLabel:"Is Dashboard Collapsed"},{name:"isDashboardDocked",kind:"function",description:"Is Dashboard Docked",uiLabel:"Is Dashboard Docked"},{name:"isDashboardExpanded",kind:"function",description:"Is Dashboard Expanded",uiLabel:"Is Dashboard Expanded"},{name:"isDashboardFloating",kind:"function",description:"Is Dashboard Floating",uiLabel:"Is Dashboard Floating"},{name:"isDashboardHidden",kind:"function",description:"Is Dashboard Hidden",uiLabel:"Is Dashboard Hidden"},{name:"isDashboardVisible",kind:"function",description:"Is Dashboard Visible",uiLabel:"Is Dashboard Visible"},{name:"isToolbarVisible",kind:"function",description:"Checks if a given Toolbar is visible",uiLabel:"Is Toolbar Visible"},{name:"setActiveTab",kind:"function",description:"Sets Active Tab in Dashboard",uiLabel:"Set Active Tab"},{name:"setActiveTabIndex",kind:"function",description:"Sets Active Tab in Dashboard",uiLabel:"Set Active Tab Index"},{name:"setCustomToolbarButtons",kind:"function",description:"Replaces Toolbar Buttons in Custom Toolbar with the new set",uiLabel:"Set Custom Toolbar Buttons"},{name:"setCustomToolbarContents",kind:"function",description:"Populates a Custom Toolbar with content",uiLabel:"Set Custom Toolbar Contents"},{name:"setDashboardTitle",kind:"function",description:"Sets title of Dashboard Header",uiLabel:"Set Dashboard Title"},{name:"setModuleButtons",kind:"function",description:"Sets which Module Buttons are visible",uiLabel:"Set Module Buttons"},{name:"showDashboard",kind:"function",description:"Makes the Dashboard visible",uiLabel:"Show Dashboard"},{name:"showDashboardPopup",kind:"function",description:"Opens the Dashboard popup screen",uiLabel:"Show Dashboard Popup"}]},DashboardButtonContext:{name:"DashboardButtonContext",kind:"Interface",description:"Context required by functions when using a Dashboard Button",properties:[{name:"dashboardState",kind:"REFERENCE",description:"Current Dashboard State",uiLabel:"Dashboard State",reference:"DashboardState"}]},DashboardChangedInfo:{name:"DashboardChangedInfo",kind:"Interface",description:"Object returned by the `DashboardChanged` event",properties:[{name:"actionName",kind:"string",description:"What caused Dashboard State to change",uiLabel:"Action Name"},{name:"newDashboardState",kind:"REFERENCE",description:"Current Dashboard State",uiLabel:"New Dashboard State",reference:"DashboardState"},{name:"oldDashboardState",kind:"REFERENCE",description:"Previous Dashboard State",uiLabel:"Old Dashboard State",reference:"DashboardState"}]},DashboardOptions:{name:"DashboardOptions",kind:"Interface",description:"Options related to the Dashboard in Adaptable.",properties:[{name:"buttonsLocation",kind:"unknown",description:"Position in the Dashboard to show the Module and Custom Buttons",uiLabel:"Buttons Location",isOptional:!0,defaultValue:"&#39;right&#39;"},{name:"canFloat",kind:"boolean",description:"Whether the Dashboard can be floated; if true (the default), double-clicking Dashboard puts it in float mode",uiLabel:"Can Float",isOptional:!0,gridInfo:"item",defaultValue:"true"},{name:"customDashboardButtons",kind:"unknown",description:"Custom Adaptable Buttons to appear in Dashboard (alongside Module Buttons)",uiLabel:"Custom Dashboard Buttons",isOptional:!0},{name:"customToolbars",kind:"unknown",description:"Toolbars provided by Users which contain custom content",uiLabel:"Custom Toolbars",isOptional:!0},{name:"showQuickSearchInHeader",kind:"boolean",description:"Shows Quick Search textbox in the Dashboard Header",uiLabel:"Show Quick Search In Header",isOptional:!0,gridInfo:"item",defaultValue:"true"}]},DashboardState:{name:"DashboardState",kind:"Interface",description:"Predefined Configuration for the AdapTable Dashboard",properties:[{name:"ActiveTabIndex",kind:"number",description:"The index of the Active Tab (in Tabs collection)",uiLabel:"Active Tab Index",isOptional:!0},{name:"DashboardTitle",kind:"string",description:"Title to display in Dashboard Header",uiLabel:"Dashboard Title",isOptional:!0,defaultValue:"`adaptableId` in Adaptable Options"},{name:"FloatingPosition",kind:"REFERENCE",description:"Position of Dashboard when in &#39;floating mode&#39;",uiLabel:"Floating Position",isOptional:!0,reference:"AdaptableCoordinate"},{name:"IsCollapsed",kind:"boolean",description:"Whether Dashboard is collapsed; if true, header is visible (but not tabs&#39; contents)",uiLabel:"Is Collapsed",isOptional:!0,defaultValue:"false"},{name:"IsFloating",kind:"boolean",description:"Whether Dashboard is floating; if true, appears in draggable, minmised form (double-click to revert to default position)",uiLabel:"Is Floating",isOptional:!0,defaultValue:"false"},{name:"IsHidden",kind:"boolean",description:"Whether Dashboard is completely hidden - can be made visible again in Column menu and toolpanel",uiLabel:"Is Hidden",isOptional:!0,defaultValue:"false"},{name:"IsInline",kind:"boolean",description:"Alternative way of showing Expanded Dashboard where headers section is to left of Toolbars",uiLabel:"Is Inline",isOptional:!0,defaultValue:"false"},{name:"ModuleButtons",kind:"REFERENCE",description:"Module Buttons which open screen in Settings Panel for associated AdapTable Module",uiLabel:"Module Buttons",isOptional:!0,defaultValue:"[&#39;SettingsPanel&#39;]",reference:"unknown"},{name:"Tabs",kind:"unknown",description:"Named group of Toolbars",uiLabel:"Tabs",isOptional:!0,defaultValue:"Empty Array"}]},DashboardTab:{name:"DashboardTab",kind:"Interface",description:"Defines a named set of Toolbars in the AdapTable Dashboard",properties:[{name:"Name",kind:"string",description:"Name of the tab - as appears in the Dashboard",uiLabel:"Name"},{name:"Toolbars",kind:"unknown",description:"List of Toolbars to show in the Tab",uiLabel:"Toolbars"}]},DataChangedInfo:{name:"DataChangedInfo",kind:"Interface",description:"Defines a Cell Edit - includes full details of old and new values, the column and the enclosing Row",properties:[{name:"changedAt",kind:"number",description:"Timestamp of change occurence (in milliseconds)",uiLabel:"Changed At"},{name:"column",kind:"REFERENCE",description:"Column in which cell is situated",uiLabel:"Column",reference:"AdaptableColumn"},{name:"newValue",kind:"unknown",description:"New value for the cell",uiLabel:"New Value"},{name:"oldValue",kind:"unknown",description:"Value in the Cell before the edit",uiLabel:"Old Value"},{name:"primaryKeyValue",kind:"unknown",description:"Primary Key Column&#39;s value for the row where edited cell is situated",uiLabel:"Primary Key Value"},{name:"rowData",kind:"unknown",description:"Data in the Row",uiLabel:"Row Data",isOptional:!0},{name:"rowNode",kind:"REFERENCE",description:"AG Grid RowNode that contains the cell",uiLabel:"Row Node",isOptional:!0,reference:"unknown"},{name:"trigger",kind:"unknown",description:"What triggered the change - user, background change or a reverted change?",uiLabel:"Trigger",isOptional:!0}]},DataChangeHistoryApi:{name:"DataChangeHistoryApi",kind:"Interface",description:"Provides run-time access to the Data Change History Module",properties:[{name:"activateDataChangeHistory",kind:"function",description:"Activates Data Change History tracking (or resumes it, if it is currently suspended)",uiLabel:"Activate Data Change History"},{name:"deactivateDataChangeHistory",kind:"function",description:"Deactivates Data Change History tracking and flushes the cache",uiLabel:"Deactivate Data Change History"},{name:"getDataChangeHistoryLog",kind:"function",description:"Retrieves all data changes which are currently available",uiLabel:"Get Data Change History Log"},{name:"getDataChangeHistoryMode",kind:"function",description:"Retrieves current Data Change History mode: &#39;ACTIVE&#39;, &#39;INACTIVE&#39;, &#39;SUSPENDED&#39;",uiLabel:"Get Data Change History Mode"},{name:"showDataChangeHistoryPopup",kind:"function",description:"Opens Data Change History screen",uiLabel:"Show Data Change History Popup"},{name:"suspendDataChangeHistory",kind:"function",description:"Suspends data change history tracking",uiLabel:"Suspend Data Change History"},{name:"undoDataChangeHistoryEntry",kind:"function",description:"Reverts the provided data change to its previous value",uiLabel:"Undo Data Change History Entry"}]},DataChangeHistoryOptions:{name:"DataChangeHistoryOptions",kind:"Interface",description:"Options to manage the &#39;Data Change History Module&#39;, which provides an overview of all previous changes, giving the possibility to undo specific changes",properties:[{name:"activeByDefault",kind:"boolean",description:"Whether data change history should be active by default",uiLabel:"Active By Default",isOptional:!0,gridInfo:"item",defaultValue:"false"},{name:"showDataChange",kind:"unknown",description:"Function specifying which data changes to include in Data Change History",uiLabel:"Show Data Change",isOptional:!0,gridInfo:"item",defaultValue:"undefined (all data changes are logged)"}]},DataSource:{name:"DataSource",kind:"Interface",description:"Defines a Data Source object - used in Data Source function",properties:[{name:"Description",kind:"string",description:"Describes the Data Source",uiLabel:"Description"},{name:"Form",kind:"unknown",description:"Params for DataSource pops up a form",uiLabel:"Form",isOptional:!0},{name:"Name",kind:"string",description:"Name of Data Source",uiLabel:"Name"}]},DataSourceApi:{name:"DataSourceApi",kind:"Interface",description:"Provides run-time access to Data Source Module",properties:[{name:"addDataSource",kind:"function",description:"Adds new DataSource to State",uiLabel:"Add Data Source"},{name:"clearDataSource",kind:"function",description:"Clears currently selected DataSource",uiLabel:"Clear Data Source"},{name:"createDataSource",kind:"function",description:"Creates a DataSource from a given name and description",uiLabel:"Create Data Source"},{name:"getAllDataSource",kind:"function",description:"Retrieves all Data Sources in the Adaptable State",uiLabel:"Get All Data Source"},{name:"getCurrentDataSource",kind:"function",description:"Retrieves the currently applied Data Source",uiLabel:"Get Current Data Source"},{name:"getDataSourceById",kind:"function",description:"Retrieves Data Source by id",uiLabel:"Get Data Source By Id"},{name:"getDataSourceByName",kind:"function",description:"Retrives Data Source from State with given name",uiLabel:"Get Data Source By Name"},{name:"getDataSourceState",kind:"function",description:"Retrieves Data Source section from Adaptable State",uiLabel:"Get Data Source State"},{name:"setDataSource",kind:"function",description:"Makes given DataSource current",uiLabel:"Set Data Source"},{name:"showDataSourcePopup",kind:"function",description:"Opens Data Source popup screen",uiLabel:"Show Data Source Popup"}]},DataSourceState:{name:"DataSourceState",kind:"Interface",description:"Predefined Configuration for Data Source Module",properties:[{name:"CurrentDataSource",kind:"string",description:"Name of the currently selected Data Source",uiLabel:"Current Data Source",isOptional:!0},{name:"DataSources",kind:"unknown",description:"Collection of available Data Sources",uiLabel:"Data Sources",isOptional:!0}]},DataUpdateConfig:{name:"DataUpdateConfig",kind:"Interface",description:"Object passed into Adaptable Grid Api data management methods",properties:[{name:"addIndex",kind:"number",description:"Index where to add new rows",uiLabel:"Add Index",isOptional:!0},{name:"callback",kind:"unknown",description:"Callback function invoked when a batch successfully updates",uiLabel:"Callback",isOptional:!0},{name:"runAsync",kind:"boolean",description:"Whether data should be updated asynchronously",uiLabel:"Run Async",isOptional:!0}]},DateFormatterOptions:{name:"DateFormatterOptions",kind:"Interface",description:"Formatter Options for Date Columns - contains a single `Pattern` property",properties:[{name:"Pattern",kind:"string",description:"Pattern to use for Date Format",uiLabel:"Pattern",isOptional:!0}]},DateInputOptions:{name:"DateInputOptions",kind:"Interface",description:"Options for managing and customizing the date inputs.",properties:[{name:"dateFormat",kind:"string",description:"Format string for formatting date input field",uiLabel:"Date Format",isOptional:!0,defaultValue:"&#39;yyyy-MM-dd&#39;"},{name:"datepickerButtons",kind:"unknown",description:"List of buttons which are displayed in the datepicker overlay in the given order (provide empty array to display no buttons); custom button layout and positioning is achievable with the special elements `-` and `|`",uiLabel:"Datepicker Buttons",isOptional:!0,defaultValue:"[&#39;close&#39;,&#39;today&#39;]"},{name:"locale",kind:"unknown",description:"Locale object (to localize Date Picker)",uiLabel:"Locale",isOptional:!0,defaultValue:"`en-US`"},{name:"showOutsideDays",kind:"boolean",description:"Display outside days (i.e. those falling in next or previous month)",uiLabel:"Show Outside Days",isOptional:!0,defaultValue:"true"},{name:"showWeekNumber",kind:"boolean",description:"Display the week numbers column",uiLabel:"Show Week Number",isOptional:!0,defaultValue:"false"},{name:"useNativeInput",kind:"boolean",description:"Use browser specific date input instead of AdapTable&#39;s Date Picker",uiLabel:"Use Native Input",isOptional:!0,defaultValue:"false"}]},EditLookUpPermittedValues:{name:"EditLookUpPermittedValues",kind:"Interface",description:"Used to define permitted values for inline column editor"},EditOptions:{name:"EditOptions",kind:"Interface",description:"Options related to Editing in Adaptable.",properties:[{name:"displayServerValidationMessages",kind:"boolean",description:"Displays message after Server Validation",uiLabel:"Display Server Validation Messages",isOptional:!0,gridInfo:"item",defaultValue:"true"},{name:"isCellEditable",kind:"unknown",description:"Function which checks if given Grid Cell is editable",uiLabel:"Is Cell Editable",isOptional:!0},{name:"validateOnServer",kind:"unknown",description:"Function to validate on Server Adaptable data edits",uiLabel:"Validate On Server",isOptional:!0}]},EntitlementOptions:{name:"EntitlementOptions",kind:"Interface",description:"Options for managing Entitlements in AdapTable, ie. which Modules are available to the User and whether as *Full*, *ReadOnly* or *Hidden*.",properties:[{name:"defaultAccessLevel",kind:"unknown",description:"AccessLevel to use when an Entitlement is not explicitly set; may be provided as a hardcoded value or as a function to invoke",uiLabel:"Default Access Level",isOptional:!0,gridInfo:"item",defaultValue:"&#39;Full&#39;"},{name:"moduleEntitlements",kind:"unknown",description:"Returns either collection of `Entitlements`, or a function to invoke when an Entitlement is required",uiLabel:"Module Entitlements",isOptional:!0,gridInfo:"item"}]},EventApi:{name:"EventApi",kind:"Interface",description:"Responsible for publishing the many Events that AdapTable fires",properties:[{name:"off",kind:"function",description:"Unsubscribe from SearchChanged",uiLabel:"Off"},{name:"off",kind:"function",description:"Unsubscribe from CheckboCxolumnClicked",uiLabel:"Off"},{name:"off",kind:"function",description:"Unsubscribe from LayoutChanged",uiLabel:"Off"},{name:"off",kind:"function",description:"Unsubscribe from CustomToolbarConfigured",uiLabel:"Off"},{name:"off",kind:"function",description:"Unsubscribe from DashboardChanged",uiLabel:"Off"},{name:"off",kind:"function",description:"Unsubscribe from AdaptableStateChanged",uiLabel:"Off"},{name:"off",kind:"function",description:"Unsubscribe from LiveDataChanged",uiLabel:"Off"},{name:"off",kind:"function",description:"Unsubscribe from AdaptableReady",uiLabel:"Off"},{name:"off",kind:"function",description:"Unsubscribe from CellChanged",uiLabel:"Off"},{name:"off",kind:"function",description:"Unsubscribe from TeamSharingEntityChanged",uiLabel:"Off"},{name:"off",kind:"function",description:"Unsubscribe from GridDataChanged",uiLabel:"Off"},{name:"off",kind:"function",description:"Unsubscribe from SelectionChanged",uiLabel:"Off"},{name:"off",kind:"function",description:"Unsubscribe from ThemeChanged",uiLabel:"Off"},{name:"off",kind:"function",description:"Unsubscribe from SystemStatusMessageDisplayed",uiLabel:"Off"},{name:"off",kind:"function",description:"Unsubscribe from AlertFired",uiLabel:"Off"},{name:"off",kind:"function",description:"Unsubscribe from FlashingCellDisplayed",uiLabel:"Off"},{name:"on",kind:"function",description:"Event fired whenever search criteria in AdapTable changes",uiLabel:"On"},{name:"on",kind:"function",description:"Event fired whenever the **Button in a Checkbox Column is clicked**.",uiLabel:"On"},{name:"on",kind:"function",description:"Event fired whenever the current Layout updates in AdapTable",uiLabel:"On"},{name:"on",kind:"function",description:"Event fired whenever **Configure Button is clicked in a Custom Toolbar**",uiLabel:"On"},{name:"on",kind:"function",description:"Event fired whenever **Dashboard State changes** Primarily used for rendering Custom toolbars.",uiLabel:"On"},{name:"on",kind:"function",description:"Event fired whenever **Adaptable State changes**",uiLabel:"On"},{name:"on",kind:"function",description:"Event fired whenever **a change occurs relating to live reports / data** Used in conjunction with AdapTable&#39;s partners OpenFin, ipushpull or Glue42",uiLabel:"On"},{name:"on",kind:"function",description:"Fired when Adaptable is up and running - has no arguments.",uiLabel:"On"},{name:"on",kind:"function",description:"Event fired whenever a cell changes in the Grid",uiLabel:"On"},{name:"on",kind:"function",description:"Event fired whenever a Shared Entity in Team Sharing changes",uiLabel:"On"},{name:"on",kind:"function",description:"Event fired when data changes in the Grid",uiLabel:"On"},{name:"on",kind:"function",description:"Event fired whenever the Cell or Row **Selection in AdapTable changes**.",uiLabel:"On"},{name:"on",kind:"function",description:"Event fired whenever the **selected theme of AdapTable is changed**.",uiLabel:"On"},{name:"on",kind:"function",description:"Event fired whenever a **System Status Message is displayed** in AdapTable",uiLabel:"On"},{name:"on",kind:"function",description:"Event fired whenever an **Alert is triggered** in AdapTable.",uiLabel:"On"},{name:"on",kind:"function",description:"Event fired whenever **Cell Flashing** is triggered in AdapTable.",uiLabel:"On"}]},ExportApi:{name:"ExportApi",kind:"Interface",description:"Provides run-time access to the Export Module and Report state",properties:[{name:"canExportToExcel",kind:"function",description:"If this AdapTable instance can to export to Excel; if false, the Export to Excel option will not be visible",uiLabel:"Can Export To Excel"},{name:"editReport",kind:"function",description:"Edits an existing report",uiLabel:"Edit Report"},{name:"editReports",kind:"function",description:"Edits existing reports",uiLabel:"Edit Reports"},{name:"exportDataToExcel",kind:"function",description:"Exports data to Excel",uiLabel:"Export Data To Excel"},{name:"exportVisualDataToExcel",kind:"function",description:"Exports data currently in grid to Excel as What-You-See-Is-What-You-Get",uiLabel:"Export Visual Data To Excel"},{name:"getAllCustomDestination",kind:"function",description:"Retrieves all Custom Destinations from Export Options",uiLabel:"Get All Custom Destination"},{name:"getAllReports",kind:"function",description:"Retrieves all Reports in State - both System and User-created Reports",uiLabel:"Get All Reports"},{name:"getAvailableExportDestinations",kind:"function",description:"Retrieves the available export destinations",uiLabel:"Get Available Export Destinations"},{name:"getAvailableSystemReports",kind:"function",description:"Retrieves System Reports section of Export State",uiLabel:"Get Available System Reports"},{name:"getCurrentReport",kind:"function",description:"Retrieves currently selected Report",uiLabel:"Get Current Report"},{name:"getCurrentReportName",kind:"function",description:"Retrieves name of currently selected Report",uiLabel:"Get Current Report Name"},{name:"getDestinationByName",kind:"function",description:"Retrieves Destination with the given name",uiLabel:"Get Destination By Name"},{name:"getExportDestinationForm",kind:"function",description:"Form Data entered by the User in the UI for a Custom Destination",uiLabel:"Get Export Destination Form"},{name:"getExportState",kind:"function",description:"Retrieves Export section from Adaptable State",uiLabel:"Get Export State"},{name:"getReportById",kind:"function",description:"Retrieves Report by Id",uiLabel:"Get Report By Id"},{name:"getReportByName",kind:"function",description:"Retrieves Report with the given name",uiLabel:"Get Report By Name"},{name:"getReportSchedules",kind:"function",description:"Retrieves all Report Schedules",uiLabel:"Get Report Schedules"},{name:"isDataChangeInReport",kind:"function",description:"Whether given data change affects given report",uiLabel:"Is Data Change In Report"},{name:"isExportDestinationCustom",kind:"function",description:"If the given destination is a Custom one",uiLabel:"Is Export Destination Custom"},{name:"runCustomReport",kind:"function",description:"Runs the report function of the CustomReport with the given reportName",uiLabel:"Run Custom Report"},{name:"sendReport",kind:"function",description:"Sends a Report to a given destination",uiLabel:"Send Report"},{name:"showExportPopup",kind:"function",description:"Opens Export popup screen",uiLabel:"Show Export Popup"}]},ExportButtonContext:{name:"ExportButtonContext",kind:"Interface",description:"Context required by functions when using an Export Button",properties:[{name:"customDestination",kind:"REFERENCE",description:"Custom Export destination",uiLabel:"Custom Destination",reference:"CustomDestination"},{name:"formData",kind:"REFERENCE",description:"Adaptable Form Data",uiLabel:"Form Data",reference:"unknown"},{name:"report",kind:"REFERENCE",description:"The exported report",uiLabel:"Report",reference:"unknown"},{name:"reportData",kind:"REFERENCE",description:"The data in the report",uiLabel:"Report Data",reference:"ReportData"}]},ExportOptions:{name:"ExportOptions",kind:"Interface",description:"Options regarding Exporting data from AdapTable",properties:[{name:"appendFileTimestamp",kind:"boolean",description:"Whether to add a timestamp as a suffix to exported file name",uiLabel:"Append File Timestamp",isOptional:!0,gridInfo:"item",defaultValue:"false"},{name:"customDestinations",kind:"unknown",description:"User-provided Report Destinations (in addition to those shipped in AdapTable)",uiLabel:"Custom Destinations",isOptional:!0},{name:"customReports",kind:"unknown",description:"Reports run entirely by users (and not AdapTable)",uiLabel:"Custom Reports",isOptional:!0},{name:"exportDateFormat",kind:"string",description:"Optional custom format for Date columns when exporting",uiLabel:"Export Date Format",isOptional:!0,gridInfo:"item",defaultValue:"undefined"},{name:"exportFormatType",kind:"unknown",description:"Format of exported values; can be set either for whole grid or specifically for each column type",uiLabel:"Export Format Type",isOptional:!0,defaultValue:"rawValue"},{name:"systemExportDestinations",kind:"REFERENCE",description:"Export destinations to use; leave blank for all, empty array for none",uiLabel:"System Export Destinations",isOptional:!0,gridInfo:"item",defaultValue:"&#39;Excel&#39;, &#39;CSV&#39;, &#39;Clipboard&#39;, &#39;JSON&#39;",reference:"unknown"},{name:"systemReportNames",kind:"REFERENCE",description:"System Reports to use; leave blank for all, empty array for none",uiLabel:"System Report Names",isOptional:!0,gridInfo:"item",defaultValue:"&#39;Visual Data&#39;, &#39;All Data&#39;, &#39;Current Data&#39;, &#39;Selected Cells&#39;, &#39;Selected Rows&#39;,",reference:"unknown"}]},ExportState:{name:"ExportState",kind:"Interface",description:"Predefined Configuration for Export Module",properties:[{name:"CurrentDestination",kind:"unknown",description:"Currently selected Report Destination in Export Toolbar &amp; Tool Panel",uiLabel:"Current Destination",isOptional:!0},{name:"CurrentReport",kind:"string",description:"Currently selected Report - in Export Toolbar &amp; Tool Panel",uiLabel:"Current Report",isOptional:!0},{name:"Reports",kind:"unknown",description:"User-created Reports; each has Name and Row and Column Scope",uiLabel:"Reports",isOptional:!0}]},ExpressionContext:{name:"ExpressionContext",kind:"Interface",description:"Provides context to an Expression Function, including current row node and AdaptableApi",properties:[{name:"api",kind:"REFERENCE",description:"Main Adaptable Api object",uiLabel:"Api",isOptional:!0,reference:"AdaptableApi"},{name:"filterFn",kind:"unknown",description:"Optional filter function to be applied before evaluating the expression",uiLabel:"Filter Fn",isOptional:!0},{name:"functions",kind:"REFERENCE",description:"All Expression Functions available to AdapTableQL",uiLabel:"Functions",reference:"unknown"},{name:"namedQueryCallStack",kind:"unknown",description:"All shared(named) query evaluations are tracked in order to detect circular dependencies",uiLabel:"Named Query Call Stack",isOptional:!0},{name:"node",kind:"unknown",description:"Current row node in grid being evaluated",uiLabel:"Node"},{name:"whereClauseFunctions",kind:"REFERENCE",description:"All Expression Functions available to AdapTableQL in the (optional) WHERE clause",uiLabel:"Where Clause Functions",isOptional:!0,reference:"unknown"}]},ExpressionFunction:{name:"ExpressionFunction",kind:"Interface",description:"Defines an AdapTableQL Function used in an Adaptable Expression",properties:[{name:"description",kind:"string",description:"What the AdapTableQL Function does",uiLabel:"Description",isOptional:!0},{name:"examples",kind:"unknown",description:"Examples that use the AdapTableQL Function",uiLabel:"Examples",isOptional:!0},{name:"handler",kind:"REFERENCE",description:"Actual AdapTableQL Function called by the Expression (mandatory prop)",uiLabel:"Handler",reference:"ExpressionFunctionHandler"},{name:"hasEagerEvaluation",kind:"boolean",description:"Whether Expression is evaluated eagerly (without handling inner AST nodes)",uiLabel:"Has Eager Evaluation",isOptional:!0},{name:"isHiddenFromMenu",kind:"boolean",description:"Removes entry from Expression Editor&#39;s Functions dropdown",uiLabel:"Is Hidden From Menu",isOptional:!0},{name:"isPredicate",kind:"boolean",description:"Whether the AdapTableQL Function returns true, if so can be used as Query",uiLabel:"Is Predicate",isOptional:!0},{name:"signatures",kind:"unknown",description:"How the AdapTableQL Function should be called",uiLabel:"Signatures",isOptional:!0}]},ExpressionFunctionDocBlock:{name:"ExpressionFunctionDocBlock",kind:"TypeAlias",description:"Defines how an AdapTableQL Function is described in Expression Editor"},ExpressionFunctionHandler:{name:"ExpressionFunctionHandler",kind:"TypeAlias",description:"The javascript function which is invoked by an AdapTableQL Function"},FDC3Context:{name:"FDC3Context",kind:"Interface",description:"General-purpose context type, as defined by [FDC3](https://fdc3.finos.org/docs/1.0/context-intro). A context object is a well-understood datum that is streamable between FDC3 participants. As a result it has a field describing what type it is, and data indicating its identity. Use this as a base to derive your own with any custom properties or metadata.",properties:[{name:"(indexer)",kind:"indexType",description:"Custom properties and metadata. This can be extended in specific context object.",uiLabel:"(indexer)"},{name:"id",kind:"unknown",description:"An optional map of any equivalent identifiers for the context type, e.g. ISIN, CUSIP, etc. for an instrument.",uiLabel:"Id",isOptional:!0},{name:"name",kind:"string",description:"The name of the context data (optional). This is a text string that describes the data being sent. Implementors of context may choose to make the name mandatory.",uiLabel:"Name",isOptional:!0},{name:"type",kind:"string",description:"The type of the context that uniquely identifies it, e.g. &quot;instrument&quot;. This is used to refer to the accepted context(s) when declaring intents. See [[AppDirIntent]].",uiLabel:"Type"}]},FilterActionOnDataChange:{name:"FilterActionOnDataChange",kind:"Interface",description:"Determines whether Adaptable should re-apply filtering after cell and ticking data edits. * If the &#39;applyFilter&#39; value is &#39;Throttle&#39; then the &#39;throttleDelay&#39; property should be additionally set.",properties:[{name:"applyFilter",kind:"unknown",description:"When to re-apply Filters: &#39;Always&#39;, &#39;Never&#39; or &#39;Throttle&#39;",uiLabel:"Apply Filter"},{name:"throttleDelay",kind:"number",description:"Delay in ms (when `applyFilter` is set to &#39;Throttle&#39;)",uiLabel:"Throttle Delay",isOptional:!0}]},FilterApi:{name:"FilterApi",kind:"Interface",description:"Provides run-time access to Filter section of Adaptable State.",properties:[{name:"clearAllColumnFilter",kind:"function",description:"Clears all Column Filters in State",uiLabel:"Clear All Column Filter"},{name:"clearAndSetColumnFilter",kind:"function",description:"Clears existing Column Filters and then sets the new ones",uiLabel:"Clear And Set Column Filter"},{name:"clearColumnFilter",kind:"function",description:"Clears given Column Filter",uiLabel:"Clear Column Filter"},{name:"clearColumnFilterByColumn",kind:"function",description:"Clears Column Filter for given Column",uiLabel:"Clear Column Filter By Column"},{name:"clearColumnFilterByColumns",kind:"function",description:"Clears Column Filters for given set of Columns",uiLabel:"Clear Column Filter By Columns"},{name:"columnFiltersToString",kind:"function",description:"Retrieves descriptions of given Column Filters",uiLabel:"Column Filters To String"},{name:"columnFilterToString",kind:"function",description:"Retrieves description of given Column Filter",uiLabel:"Column Filter To String"},{name:"createColumnFilterForCell",kind:"function",description:"Creates new Column Filter on given Column using Primary Key values",uiLabel:"Create Column Filter For Cell"},{name:"evaluateColumnFilter",kind:"function",description:"Calls AdapTableQL to evaluate Filter for given Row",uiLabel:"Evaluate Column Filter"},{name:"findPredicateDefByShortcut",kind:"function",description:"Returns Predicate Definition for given Column and Quick Filter shortcut",uiLabel:"Find Predicate Def By Shortcut"},{name:"getAllColumnFilter",kind:"function",description:"Retrieves all the Column Filters in the Column Filter State (of Predefined Config)",uiLabel:"Get All Column Filter"},{name:"getAllColumnFilterForColumn",kind:"function",description:"Retrieves all Column Filters for given Column",uiLabel:"Get All Column Filter For Column"},{name:"getAllSystemFilterIds",kind:"function",description:"Retrieves Ids for all System Filters",uiLabel:"Get All System Filter Ids"},{name:"getColumnFilterById",kind:"function",description:"Retrieves ColumnFilter by Id",uiLabel:"Get Column Filter By Id"},{name:"getFilterPredicateDefsForColumn",kind:"function",description:"Gets all Filter Predicates available for a given Column",uiLabel:"Get Filter Predicate Defs For Column"},{name:"getFilterPredicateDefsForColumnId",kind:"function",description:"Gets all Filter Predicates available for a given ColumnId",uiLabel:"Get Filter Predicate Defs For Column Id"},{name:"getFilterState",kind:"function",description:"Retrieves Filter section from Adaptable State",uiLabel:"Get Filter State"},{name:"hideQuickFilterBar",kind:"function",description:"Hides Quick Filter bar",uiLabel:"Hide Quick Filter Bar"},{name:"isQuickFilterAvailable",kind:"function",description:"Whether Quick Filter is available for use",uiLabel:"Is Quick Filter Available"},{name:"isQuickFilterVisible",kind:"function",description:"Whether Quick Filter Form is currently visible",uiLabel:"Is Quick Filter Visible"},{name:"setColumnFilter",kind:"function",description:"Sets Column Filters - will replace filters for existing column and leave other column filters in place",uiLabel:"Set Column Filter"},{name:"showQuickFilterBar",kind:"function",description:"Makes Quick Filter Bar appear",uiLabel:"Show Quick Filter Bar"}]},FilterOptions:{name:"FilterOptions",kind:"Interface",description:"Options for managing Filtering in AdapTable",properties:[{name:"autoApplyFilter",kind:"boolean",description:"Apply selected filters (in Filter Form or Quick Filter Bar) as soon as they are clicked; if false an Apply Filter button is displayed",uiLabel:"Auto Apply Filter",isOptional:!0,gridInfo:"item",defaultValue:"true"},{name:"clearFiltersOnStartUp",kind:"boolean",description:"Clears saved Column Filters when AdapTable loads",uiLabel:"Clear Filters On Start Up",isOptional:!0,gridInfo:"item",defaultValue:"false"},{name:"defaultDateColumnFilter",kind:"unknown",description:"Default filter type for date Columns",uiLabel:"Default Date Column Filter",isOptional:!0,gridInfo:"item",defaultValue:"On"},{name:"defaultFilterFormTab",kind:"unknown",description:"Whether to open the Filter Form on the Values or Predicates tab",uiLabel:"Default Filter Form Tab",isOptional:!0,gridInfo:"item",defaultValue:"&#39;Values&#39;"},{name:"defaultNumericColumnFilter",kind:"unknown",description:"Default filter type for numeric Columns",uiLabel:"Default Numeric Column Filter",isOptional:!0,gridInfo:"item",defaultValue:"Equals"},{name:"defaultStringColumnFilter",kind:"unknown",description:"Default filter type for string Columns",uiLabel:"Default String Column Filter",isOptional:!0,gridInfo:"item",defaultValue:"Contains"},{name:"enableFilterOnSpecialColumns",kind:"boolean",description:"Allows filtering on Calculated &amp; FreeText columns",uiLabel:"Enable Filter On Special Columns",isOptional:!0,gridInfo:"item",defaultValue:"true"},{name:"filterActionOnExternalDataChange",kind:"REFERENCE",description:"When to re-filter grid after data ticks: &#39;Always&#39;, &#39;Never&#39; or &#39;Throttle&#39; (which requires a &#39;ThrottleDelay&#39;)",uiLabel:"Filter Action On External Data Change",isOptional:!0,defaultValue:"&#39;Never&#39;",reference:"FilterActionOnDataChange"},{name:"filterActionOnUserDataChange",kind:"REFERENCE",description:"When to re-filter grid after user edits data: &#39;Always&#39;, &#39;Never&#39; or &#39;Throttle&#39; (which requires a &#39;ThrottleDelay&#39;)",uiLabel:"Filter Action On User Data Change",isOptional:!0,defaultValue:"&#39;Always&#39;",reference:"FilterActionOnDataChange"},{name:"hideQuickFilterDropdown",kind:"unknown",description:"Hides the Dropdown in Quick Filter Bar for a given Column",uiLabel:"Hide Quick Filter Dropdown",isOptional:!0,defaultValue:"undefined"},{name:"hideQuickFilterInput",kind:"unknown",description:"Hides the Input in Quick Filter Bar for a given Column",uiLabel:"Hide Quick Filter Input",isOptional:!0,defaultValue:"undefined"},{name:"indicateFilteredColumns",kind:"boolean",description:"Make Column header distinctive for filtered columns, helps users see currently filtered columns",uiLabel:"Indicate Filtered Columns",isOptional:!0,gridInfo:"item",defaultValue:"true"},{name:"maxFilterValuesToDisplay",kind:"number",description:"Distinct column items to display in Filter Form; useful with large datasource (though AdapTable offers virtualisation)",uiLabel:"Max Filter Values To Display",isOptional:!0,gridInfo:"item",defaultValue:"2,000"},{name:"quickFilterTrigger",kind:"unknown",description:"Whether to open Quick Filter dropdown with mouse hover or click",uiLabel:"Quick Filter Trigger",isOptional:!0,gridInfo:"item",defaultValue:"&#39;mouseenter&#39;"},{name:"quickFilterValuesTrigger",kind:"unknown",description:"Whether to open Quick Filter Values dropdown with mouse hover or click",uiLabel:"Quick Filter Values Trigger",isOptional:!0,gridInfo:"item",defaultValue:"&#39;mouseenter&#39;"},{name:"sortColumnValuesInFilter",kind:"boolean",description:"Whether column values in filter dropdown should apply column&#39;s current Sort Order for the column",uiLabel:"Sort Column Values In Filter",isOptional:!0,gridInfo:"item",defaultValue:"false"},{name:"systemFilters",kind:"REFERENCE",description:"Which Adaptable System Filter Predicates are available",uiLabel:"System Filters",isOptional:!0,reference:"unknown"},{name:"useAdaptableFilterForm",kind:"unknown",description:"Uses Adaptable&#39;s Filter Form in Column Menu for all columns if &#39;true&#39; (the default) or those listed, in preference to AG Grid&#39;s Filter Form",uiLabel:"Use Adaptable Filter Form",isOptional:!0,defaultValue:"true"},{name:"useAdaptableQuickFilter",kind:"unknown",description:"Use Adaptable&#39;s Quick Filter Bar for all columns if &#39;true&#39; (the default) or those listed, in preference to AG Grid&#39;s Floating Filter",uiLabel:"Use Adaptable Quick Filter",isOptional:!0,gridInfo:"item",defaultValue:"true"},{name:"useAgGridFilterFormStyle",kind:"boolean",description:"Styles Adaptable Filter Form to match AG Grid&#39;s current styling",uiLabel:"Use Ag Grid Filter Form Style",isOptional:!0,gridInfo:"item",defaultValue:"true"}]},FilterPermittedValues:{name:"FilterPermittedValues",kind:"Interface",description:"Used to define values inside the floating filter and floating filter (quick filter)",properties:[{name:"suppressFilterSearchBar",kind:"boolean",description:"Prevents AdapTable from filtering the list of values client-side; When true, values is called each time the search bar is changed false",uiLabel:"Suppress Filter Search Bar",isOptional:!0}]},FilterState:{name:"FilterState",kind:"Interface",description:"Predefined Configuration for Filters",properties:[{name:"ColumnFilters",kind:"unknown",description:"Collection of Column Filters",uiLabel:"Column Filters",isOptional:!0},{name:"IsQuickFilterVisible",kind:"boolean",description:"Whether to display Quick Filter Bar between Column Header and the Grid",uiLabel:"Is Quick Filter Visible",isOptional:!0,defaultValue:"true"}]},FinanceApi:{name:"FinanceApi",kind:"Interface",description:"Provides run-time access to the OpenFin Plugin",properties:[{name:"getPluginOptions",kind:"function",description:"Retrieves the OpenFinPlugOptions provided in OpenFin Plugin",uiLabel:"Get Plugin Options"}]},FinancePluginOptions:{name:"FinancePluginOptions",kind:"Interface",description:"Options required for when using the Finance plugin",properties:[{name:"instrumentColumns",kind:"unknown",description:"Columns to be defined as (FDC3) Instrument",uiLabel:"Instrument Columns",isOptional:!0},{name:"weightedAverageColumns",kind:"unknown",description:"Columns to use a Weighted Average aggregation",uiLabel:"Weighted Average Columns",isOptional:!0}]},FlashingCellApi:{name:"FlashingCellApi",kind:"Interface",description:"Provides run-time access to Flashing Cell functionality and associated State",properties:[{name:"addFlashingCellDefinition",kind:"function",description:"Adds a Flashing cell Definition to State",uiLabel:"Add Flashing Cell Definition"},{name:"addFlashingCellDefinitions",kind:"function",description:"Adds provided Flashing cell Definitions",uiLabel:"Add Flashing Cell Definitions"},{name:"editFlashingCellDefinition",kind:"function",description:"Edits Flashing Cell Definition in State with given one",uiLabel:"Edit Flashing Cell Definition"},{name:"editFlashingCellDefinitions",kind:"function",description:"Edits provided Flashing cell Definitions",uiLabel:"Edit Flashing Cell Definitions"},{name:"getActiveFlashingCellDefinitions",kind:"function",description:"Retrieves all active (non-suspended) cell Definitions in Flashing Cell State",uiLabel:"Get Active Flashing Cell Definitions"},{name:"getFlashingCellDefinitionById",kind:"function",description:"Retrieves Flashing cell Definition By Id",uiLabel:"Get Flashing Cell Definition By Id"},{name:"getFlashingCellDefinitions",kind:"function",description:"Retrieves all Flashing cell Definitions in Flashing Cell State",uiLabel:"Get Flashing Cell Definitions"},{name:"getFlashingCellFlashTarget",kind:"function",description:"Returns where a Flashing cell Definition will flash a single cell or a whole row",uiLabel:"Get Flashing Cell Flash Target"},{name:"getFlashingCellPredicateDefs",kind:"function",description:"Retrieves all Predicate Defs with Module Scope of Flashing Cell",uiLabel:"Get Flashing Cell Predicate Defs"},{name:"getFlashingCellPredicateDefsForScope",kind:"function",description:"Retrieves all Predicate Defs that match given Scope",uiLabel:"Get Flashing Cell Predicate Defs For Scope"},{name:"getFlashingCellState",kind:"function",description:"Retrieves Flashing Cell section from Adaptable State",uiLabel:"Get Flashing Cell State"},{name:"setFlashingCellDefinitions",kind:"function",description:"Sets a collection of Flashing Cell Definitions into State",uiLabel:"Set Flashing Cell Definitions"},{name:"showFlashingCell",kind:"function",description:"Displays a Flashing Cell Definition",uiLabel:"Show Flashing Cell"},{name:"suspendFlashingCellDefinition",kind:"function",description:"Suspends a Flashing cell Definition",uiLabel:"Suspend Flashing Cell Definition"},{name:"unSuspendFlashingCellDefinition",kind:"function",description:"Activates a suspended Flashing cell Definition",uiLabel:"Un Suspend Flashing Cell Definition"}]},FlashingCellDefinition:{name:"FlashingCellDefinition",kind:"Interface",description:"The Flashing Cell Definition",properties:[{name:"DownChangeStyle",kind:"REFERENCE",description:"Style for &#39;Down&#39; value changes",uiLabel:"Down Change Style",isOptional:!0,defaultValue:"Red BackColour",reference:"AdaptableStyle"},{name:"FlashDuration",kind:"unknown",description:"Duration of Flash - can be number (in ms) or &#39;always&#39;",uiLabel:"Flash Duration",isOptional:!0,defaultValue:"500ms"},{name:"FlashTarget",kind:"unknown",description:"Should a cell or whole row flash",uiLabel:"Flash Target",isOptional:!0,defaultValue:"&#39;cell&#39;"},{name:"NeutralChangeStyle",kind:"REFERENCE",description:"Style for &#39;Neutral&#39; value changes",uiLabel:"Neutral Change Style",isOptional:!0,defaultValue:"Gray BackColour",reference:"AdaptableStyle"},{name:"Rule",kind:"REFERENCE",description:"When Flashing Cell should be triggered",uiLabel:"Rule",reference:"unknown"},{name:"Scope",kind:"REFERENCE",description:"Where Flashing Cell can be triggered: one, some or all columns or DataTypes",uiLabel:"Scope",reference:"AdaptableScope"},{name:"UpChangeStyle",kind:"REFERENCE",description:"Style for &#39;Up&#39; value changes",uiLabel:"Up Change Style",isOptional:!0,defaultValue:"Green BackColour",reference:"AdaptableStyle"}]},FlashingCellDisplayedInfo:{name:"FlashingCellDisplayedInfo",kind:"Interface",description:"Object returned by the `FlashingCellDisplayed` event",properties:[{name:"flashingCell",kind:"REFERENCE",description:"Details of the Cell (or row) which has just flashed",uiLabel:"Flashing Cell",reference:"AdaptableFlashingCell"}]},FlashingCellOptions:{name:"FlashingCellOptions",kind:"Interface",description:"Properties for Flashing Cell",properties:[{name:"defaultDownChangeStyle",kind:"REFERENCE",description:"Style for &#39;Down&#39; value changes",uiLabel:"Default Down Change Style",isOptional:!0,defaultValue:"Red BackColour",reference:"AdaptableStyle"},{name:"defaultFlashDuration",kind:"unknown",description:"Duration of Flash - can be number (in ms) or &#39;always&#39;",uiLabel:"Default Flash Duration",isOptional:!0,defaultValue:"500ms"},{name:"defaultFlashTarget",kind:"unknown",description:"Should a cell or whole row flash",uiLabel:"Default Flash Target",isOptional:!0,defaultValue:"&#39;cell&#39;"},{name:"defaultNeutralChangeStyle",kind:"REFERENCE",description:"Style for &#39;Neutral&#39; value changes",uiLabel:"Default Neutral Change Style",isOptional:!0,defaultValue:"Gray BackColour",reference:"AdaptableStyle"},{name:"defaultUpChangeStyle",kind:"REFERENCE",description:"Style for &#39;Up&#39; value changes",uiLabel:"Default Up Change Style",isOptional:!0,defaultValue:"Green BackColour",reference:"AdaptableStyle"}]},FlashingCellState:{name:"FlashingCellState",kind:"Interface",description:"Predefined Configuration for Flashing Cell module",properties:[{name:"FlashingCellDefinitions",kind:"unknown",description:"Flashing Cell Definitions - will colour cells/rows when rule is met",uiLabel:"Flashing Cell Definitions",isOptional:!0,defaultValue:"null"}]},FormatColumn:{name:"FormatColumn",kind:"Interface",description:"Object used in Format Column function",properties:[{name:"CellAlignment",kind:"unknown",description:"Aligns cells &#39;Left&#39; or &#39;Right&#39; or &#39;Center&#39;",uiLabel:"Cell Alignment",isOptional:!0},{name:"ColumnStyle",kind:"REFERENCE",description:"Applies Gradient, Percent Bar or CheckBox style to a Column",uiLabel:"Column Style",isOptional:!0,reference:"unknown"},{name:"DisplayFormat",kind:"REFERENCE",description:"Display Format to apply to Column can be Numeric, String or Date",uiLabel:"Display Format",isOptional:!0,reference:"AdaptableFormat"},{name:"HeaderName",kind:"string",description:"Text to display in Column Header (doesn&#39;t change ColumnId)",uiLabel:"Header Name",isOptional:!0},{name:"IncludeGroupedRows",kind:"boolean",description:"Whether to Format the Column in Grouped Rows",uiLabel:"Include Grouped Rows",isOptional:!0,defaultValue:"false"},{name:"Scope",kind:"REFERENCE",description:"Where Format will be applied - whole Row, some Columns or all Columns of given DataType",uiLabel:"Scope",reference:"AdaptableScope"},{name:"Style",kind:"REFERENCE",description:"Style to apply",uiLabel:"Style",isOptional:!0,reference:"AdaptableStyle"}]},FormatColumnApi:{name:"FormatColumnApi",kind:"Interface",description:"Provides run-time access to the Format Column Module and associated state",properties:[{name:"addFormatColumn",kind:"function",description:"Adds a Format Column to Format Column State",uiLabel:"Add Format Column"},{name:"addFormatColumns",kind:"function",description:"Adds Format Columns to Format Column State",uiLabel:"Add Format Columns"},{name:"applyFormatColumnDisplayFormats",kind:"function",description:"Applies display format for all Format Columns in AdapTable State",uiLabel:"Apply Format Column Display Formats"},{name:"deleteAllFormatColumn",kind:"function",description:"Deletes all Format Columns in Adaptable State",uiLabel:"Delete All Format Column"},{name:"deleteFormatColumn",kind:"function",description:"Deletes an existing Format Column",uiLabel:"Delete Format Column"},{name:"editFormatColumn",kind:"function",description:"Edits the Format Column",uiLabel:"Edit Format Column"},{name:"fireCheckboxColumnClickedEvent",kind:"function",description:"Publishes the CheckboxColumnClickedEvent - when the checkbox in an Checkbox Column is clicked",uiLabel:"Fire Checkbox Column Clicked Event"},{name:"getAllActiveFormatColumn",kind:"function",description:"Retrieves all active (not-suspended) Format Columns in Adaptable State",uiLabel:"Get All Active Format Column"},{name:"getAllFormatColumn",kind:"function",description:"Retrieves all Format Columns in Adaptable State",uiLabel:"Get All Format Column"},{name:"getAllFormatColumnWithCellAlignment",kind:"function",description:"Retrieves all Format Columns in Adaptable State with `CellAlignment` property set",uiLabel:"Get All Format Column With Cell Alignment"},{name:"getAllFormatColumnWithDisplayFormat",kind:"function",description:"Retrieves all Format Columns in Adaptable State with `DisplayFormat` property set",uiLabel:"Get All Format Column With Display Format"},{name:"getAllFormatColumnWithStyle",kind:"function",description:"Retrieves all Format Columns in Adaptable State with the `Style` property set",uiLabel:"Get All Format Column With Style"},{name:"getAllSuspendedFormatColumn",kind:"function",description:"Retrieves all suspended Format Columns in Adaptable State",uiLabel:"Get All Suspended Format Column"},{name:"getCheckBoxStyleFormatColumn",kind:"function",description:"Returns first Format Column that contains checkbox style",uiLabel:"Get Check Box Style Format Column"},{name:"getColumnComparisonForFormatColumn",kind:"function",description:"Retrieves the ColumnComparison property, if there, from a Format Column (Column Style)",uiLabel:"Get Column Comparison For Format Column"},{name:"getColumnIdsFromColumnComparison",kind:"function",description:"Returns any ColumnIds referenced in a Column Comparison",uiLabel:"Get Column Ids From Column Comparison"},{name:"getFormatColumnById",kind:"function",description:"Retrieves Format Column by Id",uiLabel:"Get Format Column By Id"},{name:"getFormatColumnForColumn",kind:"function",description:"Gets Format Column, if any, for given Column",uiLabel:"Get Format Column For Column"},{name:"getFormatColumnForColumnId",kind:"function",description:"Gets Format Column, if any, for given ColumnId",uiLabel:"Get Format Column For Column Id"},{name:"getFormatColumnState",kind:"function",description:"Retrieves Format Column section from Adaptable State",uiLabel:"Get Format Column State"},{name:"getFormatColumnWithDisplayFormatForColumn",kind:"function",description:"Will get the most appropriate one i.e. first named Column, then DataType, then All",uiLabel:"Get Format Column With Display Format For Column"},{name:"getFormatColumnWithSingleColumnScope",kind:"function",description:"Get Format Column which has Scope of Single Column, if any, for given ColumnId",uiLabel:"Get Format Column With Single Column Scope"},{name:"getFormatColumnWithStyleClassNameForColumn",kind:"function",description:"Gets Format Column if any for given Column which includes Style element with ClassName",uiLabel:"Get Format Column With Style Class Name For Column"},{name:"getFormatColumnWithStyleForColumn",kind:"function",description:"Gets Format Column if any for given Column which includes Style element",uiLabel:"Get Format Column With Style For Column"},{name:"getNumericStyleMaxValue",kind:"function",description:"Gets the Maximum Value to display for a Numeric Style",uiLabel:"Get Numeric Style Max Value"},{name:"getNumericStyleMinValue",kind:"function",description:"Gets the Minimum Value to display for a Numeric Style",uiLabel:"Get Numeric Style Min Value"},{name:"hasStyleFormatColumns",kind:"function",description:"Returns true if Format State includes Format Columns with a Style property",uiLabel:"Has Style Format Columns"},{name:"isCheckBoxStyleFormatColumn",kind:"function",description:"Whether given column is a (boolean) checkbox column",uiLabel:"Is Check Box Style Format Column"},{name:"showFormatColumnPopup",kind:"function",description:"Opens the Format Column popup screen",uiLabel:"Show Format Column Popup"},{name:"suspendFormatColumn",kind:"function",description:"Suspends an Format column",uiLabel:"Suspend Format Column"},{name:"unSuspendFormatColumn",kind:"function",description:"Suspends an Format column",uiLabel:"Un Suspend Format Column"}]},FormatColumnState:{name:"FormatColumnState",kind:"Interface",description:"Predefined Configuration for Format Column Module",properties:[{name:"FormatColumns",kind:"unknown",description:"Collection of Format Columns",uiLabel:"Format Columns",isOptional:!0}]},FreeTextColumn:{name:"FreeTextColumn",kind:"Interface",description:"The FreeTextColumn object used in the Free Text Column function",properties:[{name:"ColumnId",kind:"string",description:"Id of Column",uiLabel:"Column Id"},{name:"DataType",kind:"unknown",description:"Whether Column is String, Number, Boolean or Date",uiLabel:"Data Type",isOptional:!0,defaultValue:"&#39;String&#39;"},{name:"DefaultValue",kind:"unknown",description:"Initial value to use for each cell in the Column",uiLabel:"Default Value",isOptional:!0},{name:"FreeTextColumnSettings",kind:"REFERENCE",description:"Additional optional properties for Column (e.g. filterable, resizable)",uiLabel:"Free Text Column Settings",isOptional:!0,reference:"FreeTextColumnSettings"},{name:"FreeTextStoredValues",kind:"unknown",description:"Collection of Stored Values to aplly in the Column",uiLabel:"Free Text Stored Values",isOptional:!0},{name:"FriendlyName",kind:"string",description:"Friendly Name to use to refer to Column; if unset `ColumnId` is used",uiLabel:"Friendly Name",isOptional:!0},{name:"TextEditor",kind:"unknown",description:"Cell editor to use when editing a string Free Text Column *",uiLabel:"Text Editor",isOptional:!0,defaultValue:"&#39;Inline&#39;"}]},FreeTextColumnApi:{name:"FreeTextColumnApi",kind:"Interface",description:"Provides run-time access to FreeTextColumn Module and associated state",properties:[{name:"addEditFreeTextColumnStoredValue",kind:"function",description:"Adds FreeTextStoredValue for a FreeTextColumn (replaces existing one if exists)",uiLabel:"Add Edit Free Text Column Stored Value"},{name:"addFreeTextColumn",kind:"function",description:"Adds new FreeTextColumn to Adaptable State",uiLabel:"Add Free Text Column"},{name:"addStoredValuesToFreeTextColumn",kind:"function",description:"Adds Stored Values to Existing FreeTextColumn",uiLabel:"Add Stored Values To Free Text Column"},{name:"checkFreeTextColumnForDataChange",kind:"function",description:"Checks if a User Edit was in a Free Text Column",uiLabel:"Check Free Text Column For Data Change"},{name:"createFreeTextColumn",kind:"function",description:"Creates new FreeTextColumn and adds it to Adaptable State",uiLabel:"Create Free Text Column"},{name:"deleteFreeTextColumn",kind:"function",description:"Deletes existing FreeTextColumn from Adaptable State",uiLabel:"Delete Free Text Column"},{name:"editFreeTextColumn",kind:"function",description:"Edits existing FreeTextColumn in Adaptable State",uiLabel:"Edit Free Text Column"},{name:"getAllFreeTextColumn",kind:"function",description:"Gets all FreeTextColumns in Adaptable State",uiLabel:"Get All Free Text Column"},{name:"getFreeTextColumnById",kind:"function",description:"Retrieves FreeTextColumn for given ColumnId",uiLabel:"Get Free Text Column By Id"},{name:"getFreeTextColumnModuleReferences",kind:"function",description:"Returns all the references in the AdaptableState of the given FreeTextColumn",uiLabel:"Get Free Text Column Module References"},{name:"getFreeTextColumnState",kind:"function",description:"Retrieves FreeTextColumn section of Adaptable State",uiLabel:"Get Free Text Column State"},{name:"getFreeTextColumnValueFromRowNode",kind:"function",description:"Retrieves a Free Text Column value from a row",uiLabel:"Get Free Text Column Value From Row Node"},{name:"showFreeTextColumnPopup",kind:"function",description:"Opens FreeTextColumn popup screen",uiLabel:"Show Free Text Column Popup"}]},FreeTextColumnSettings:{name:"FreeTextColumnSettings",kind:"Interface",description:"Set of optional properties that define a FreeText Columns behaviour"},FreeTextColumnState:{name:"FreeTextColumnState",kind:"Interface",description:"Predefined Configuration for the Free Text Column Module",properties:[{name:"FreeTextColumns",kind:"unknown",description:"Collection of Free Text Columns",uiLabel:"Free Text Columns",isOptional:!0}]},FreeTextStoredValue:{name:"FreeTextStoredValue",kind:"Interface",description:"Defines a cell value stored in a Free Text Column",properties:[{name:"FreeText",kind:"unknown",description:"Value to store in the cell",uiLabel:"Free Text"},{name:"PrimaryKey",kind:"unknown",description:"Primary Key Column value for the row",uiLabel:"Primary Key"}]},GeneralOptions:{name:"GeneralOptions",kind:"Interface",description:"General options for configuring AdapTable including managing Primary Keys",properties:[{name:"alternativeModuleNames",kind:"unknown",description:"Alternative names to use for Adaptable Modules in toolbars and menus",uiLabel:"Alternative Module Names",isOptional:!0,defaultValue:"null"},{name:"autoOrderGroupedColumns",kind:"boolean",description:"Sort Grouped Column automatically (using Custom Sort if one applied)",uiLabel:"Auto Order Grouped Columns",isOptional:!0,gridInfo:"item",defaultValue:"true"},{name:"caseSensitiveTextComparisons",kind:"boolean",description:"Perform case-sensitive text comparisons in all search and filter operations: QuickSearch, Filters, Query, Predicates",uiLabel:"Case Sensitive Text Comparisons",isOptional:!0,gridInfo:"item",defaultValue:"false"},{name:"cellSummaryOperations",kind:"unknown",description:"Custom Cell Summary Operations to add to shipped set",uiLabel:"Cell Summary Operations",isOptional:!0},{name:"currentCalendar",kind:"string",description:"Calendar to use for calculating Holidays &amp; Working Days",uiLabel:"Current Calendar",isOptional:!0,gridInfo:"item",defaultValue:"&#39;United Kingdom&#39;"},{name:"customSortComparers",kind:"unknown",description:"CustomSort column comparer functions",uiLabel:"Custom Sort Comparers",isOptional:!0},{name:"hideColumnWhenGrouped",kind:"boolean",description:"Automatically removes a column from the grid when it becomes Row Grouped",uiLabel:"Hide Column When Grouped",isOptional:!0,gridInfo:"item",defaultValue:"false"},{name:"hideEmptyGroupRows",kind:"boolean",description:"Hides any grouped rows if there are no columns visible",uiLabel:"Hide Empty Group Rows",isOptional:!0,defaultValue:"false"},{name:"showGroupingTotalsAsHeader",kind:"boolean",description:"Show aggregated totals row at top of Grid when row grouping",uiLabel:"Show Grouping Totals As Header",isOptional:!0,gridInfo:"item",defaultValue:"false"},{name:"showMissingColumnsWarning",kind:"boolean",description:"Show warning if AdapTable cannot find a column",uiLabel:"Show Missing Columns Warning",isOptional:!0,gridInfo:"item",defaultValue:"true"},{name:"showMissingPrimaryKeyAlert",kind:"boolean",description:"Shows Alert if Primary Key column in Adaptable Options is not present or incorrect",uiLabel:"Show Missing Primary Key Alert",isOptional:!0,gridInfo:"item",defaultValue:"false"}]},Glue42Api:{name:"Glue42Api",kind:"Interface",description:"Provides run-time access to the Glue42 Plugin.",properties:[{name:"clearGlue42InternalState",kind:"function",description:"Clears all Gluee42 Internal State",uiLabel:"Clear Glue42Internal State"},{name:"getCurrentLiveGlue42Report",kind:"function",description:"Retrieves the current Live Report",uiLabel:"Get Current Live Glue42Report"},{name:"getGlue42Schedules",kind:"function",description:"Retrieves all the Glue42 Schedules in from the Schedule section of AdapTable State",uiLabel:"Get Glue42Schedules"},{name:"getGlue42State",kind:"function",description:"Retrieves the Glue42 section of Adaptable State",uiLabel:"Get Glue42State"},{name:"getPluginOptions",kind:"function",description:"Retrieves the Glue42PluginOptions provided in Glue42 Plugin",uiLabel:"Get Plugin Options"},{name:"isGlue42Available",kind:"function",description:"Returns true if the Glue42 plugin is loaded",uiLabel:"Is Glue42Available"},{name:"isGlue42Running",kind:"function",description:"Returns true if the Glue42 plugin is loaded AND the user has logged into Glue42",uiLabel:"Is Glue42Running"},{name:"loginToGlue42",kind:"function",description:"Logs in the User to Glue42 using the given UserName and Password",uiLabel:"Login To Glue42"},{name:"logoutFromGlue42",kind:"function",description:"Logs out the currently logged in User from Glue42",uiLabel:"Logout From Glue42"},{name:"sendSnapshotToDo",kind:"function",description:"Starts a Snapshot as opposed to a Live report",uiLabel:"Send Snapshot To Do"},{name:"setGlue42AvailableOff",kind:"function",description:"Sets Glue42 Availability Off",uiLabel:"Set Glue42Available Off"},{name:"setGlue42AvailableOn",kind:"function",description:"Sets Glue42 Availability On",uiLabel:"Set Glue42Available On"},{name:"setGlue42LoginErrorMessage",kind:"function",description:"Sets an Error Message returned from Glue42 if login fails",uiLabel:"Set Glue42Login Error Message"},{name:"setGlue42RunningOff",kind:"function",description:"Sets Glue42 Running Off",uiLabel:"Set Glue42Running Off"},{name:"setGlue42RunningOn",kind:"function",description:"Sets Glue42 Running On",uiLabel:"Set Glue42Running On"},{name:"showNotification",kind:"function",description:"Shows a notification in Glue42",uiLabel:"Show Notification"},{name:"showNotificationForAlert",kind:"function",description:"Displays Alert as a Glue42 Notification",uiLabel:"Show Notification For Alert"},{name:"startLiveData",kind:"function",description:"Starts a &quot;Live&quot; report (ie. one which updates as the data ticks)",uiLabel:"Start Live Data"},{name:"stopLiveData",kind:"function",description:"Stops a &quot;Live&quot; report (ie. one which updates as the data ticks)",uiLabel:"Stop Live Data"}]},Glue42PluginOptions:{name:"Glue42PluginOptions",kind:"Interface",description:"Options for using the Glue42 plugin which provides a mechanism whereby AdapTable can be integreated with multiple widgets",properties:[{name:"gatewayURL",kind:"string",description:"Gateway URL",uiLabel:"Gateway URL",isOptional:!0},{name:"glue",kind:"unknown",description:"Main Glue desktop object",uiLabel:"Glue",isOptional:!0},{name:"glue42Office",kind:"unknown",description:"Main Glue42 Office object",uiLabel:"Glue42Office",isOptional:!0},{name:"password",kind:"string",description:"Password to use to login to Glue42; typically sourced from PC Credentials",uiLabel:"Password",isOptional:!0},{name:"username",kind:"string",description:"UserName to use to login to Glue42; typically sourced from PC Credentials",uiLabel:"Username",isOptional:!0}]},Glue42Report:{name:"Glue42Report",kind:"Interface",description:"Glue42 report - currently just contains name of Report",properties:[{name:"ReportName",kind:"string",description:"The Report&#39;s name (as exists in Export State)",uiLabel:"Report Name"}]},Glue42Schedule:{name:"Glue42Schedule",kind:"Interface",description:"Defines Glue42 Scheduled Report; used in Schedule Module (where State is stored)",properties:[{name:"Glue42Report",kind:"REFERENCE",description:"The Glue42 Report which will be sent when the Schedule runs",uiLabel:"Glue42Report",reference:"Glue42Report"},{name:"Transmission",kind:"unknown",description:"Whether its a one-off or &#39;streaming&#39; transmission",uiLabel:"Transmission"}]},Glue42State:{name:"Glue42State",kind:"Interface",description:"Internal State used by AdapTable for managing the Glue42 plugin",properties:[{name:"CurrentLiveGlue42Report",kind:"REFERENCE",description:"Which Glue42 Report is currently live",uiLabel:"Current Live Glue42Report",isOptional:!0,reference:"Glue42Report"},{name:"Glue42LoginErrorMessage",kind:"string",description:"Message to show when Login Fails",uiLabel:"Glue42Login Error Message",isOptional:!0},{name:"IsGlue42Available",kind:"boolean",description:"Whether Glue42 is available",uiLabel:"Is Glue42Available",isOptional:!0},{name:"IsGlue42Running",kind:"boolean",description:"Whether Glue42 is running",uiLabel:"Is Glue42Running",isOptional:!0}]},GridApi:{name:"GridApi",kind:"Interface",description:"Provides access to important properites of AdapTable e.g. sorting, selected cells etc.",properties:[{name:"addGridData",kind:"function",description:"Adds rows to Adaptable (and AG Grid)",uiLabel:"Add Grid Data"},{name:"applyGridFiltering",kind:"function",description:"Applies current Filtering and Searching in AdapTable",uiLabel:"Apply Grid Filtering"},{name:"areCellsEditable",kind:"function",description:"Checks if given set of Grid Cells are editable",uiLabel:"Are Cells Editable"},{name:"clearAdaptableSorting",kind:"function",description:"Removes Column Sorts in AdapTable",uiLabel:"Clear Adaptable Sorting"},{name:"clearGridFiltering",kind:"function",description:"Removes all current Filters and Searches in AdapTable",uiLabel:"Clear Grid Filtering"},{name:"clearRowGroupColumns",kind:"function",description:"Clears Row Grouping in the Grid",uiLabel:"Clear Row Group Columns"},{name:"closeAllRowGroups",kind:"function",description:"Close all open groups in Row Grouping",uiLabel:"Close All Row Groups"},{name:"deleteGridData",kind:"function",description:"Deletes rows from Adaptable (and AG Grid)",uiLabel:"Delete Grid Data"},{name:"deselectAll",kind:"function",description:"Deselects all selected rows, cells and ranges",uiLabel:"Deselect All"},{name:"deSelectNode",kind:"function",description:"Deselects the AG Grid Row Node in AdapTable",uiLabel:"De Select Node"},{name:"deSelectNodes",kind:"function",description:"AG Grid Row Nodes in AdapTable",uiLabel:"De Select Nodes"},{name:"deSelectRow",kind:"function",description:"Deselects Row with given Primary Key Value",uiLabel:"De Select Row"},{name:"deSelectRows",kind:"function",description:"Deselects Row with given Primary Key Values",uiLabel:"De Select Rows"},{name:"destroy",kind:"function",description:"Destroys current AdapTable instance",uiLabel:"Destroy"},{name:"expandAllRowGroups",kind:"function",description:"Expands all closed groups in Row Grouping",uiLabel:"Expand All Row Groups"},{name:"expandRowGroupsForValues",kind:"function",description:"Expands Row Groups that contain given keys",uiLabel:"Expand Row Groups For Values"},{name:"fireCellChangedEvent",kind:"function",description:"Fires Cell Changed Changed Event - when any data in AG Grid&#39;s dataset has changed",uiLabel:"Fire Cell Changed Event"},{name:"fireGridDataChangedEvent",kind:"function",description:"Fires Grid Data Changed Event - when a row has changed in AG Grid",uiLabel:"Fire Grid Data Changed Event"},{name:"fireSearchChangedEvent",kind:"function",description:"Fires Search Changed Event - typically used to enable server searching and filtering",uiLabel:"Fire Search Changed Event"},{name:"getAgGridInstance",kind:"function",description:"Returns Ag Grid instance (passed into Adaptable Options at start-up)",uiLabel:"Get Ag Grid Instance"},{name:"getCellDisplayValue",kind:"function",description:"Retrieves Display Value for a given cell",uiLabel:"Get Cell Display Value"},{name:"getCellNormalisedValue",kind:"function",description:"Retrieves Normalised Value for a given cell",uiLabel:"Get Cell Normalised Value"},{name:"getCellRawValue",kind:"function",description:"Retrieves Raw Value for a given cell",uiLabel:"Get Cell Raw Value"},{name:"getColumnCount",kind:"function",description:"Returns number of columns in Data Source",uiLabel:"Get Column Count"},{name:"getColumnSortForColumn",kind:"function",description:"Retrieves ColumnSort for a given Column",uiLabel:"Get Column Sort For Column"},{name:"getColumnSorts",kind:"function",description:"Returns Column Sort information in Adaptable",uiLabel:"Get Column Sorts"},{name:"getDisplayValueFromRowNode",kind:"function",description:"Retrieves Display Value for Cell in given Row and Column",uiLabel:"Get Display Value From Row Node"},{name:"getEntitlementAccessLevelForModule",kind:"function",description:"Retrieves the Entitlement Access Level for a given Adaptable Module",uiLabel:"Get Entitlement Access Level For Module"},{name:"getExpandRowGroupsKeys",kind:"function",description:"Get keys for any open rows in Row Grouping",uiLabel:"Get Expand Row Groups Keys"},{name:"getFilteredData",kind:"function",description:"Retrieves filtered data from the grid",uiLabel:"Get Filtered Data"},{name:"getFirstRowNode",kind:"function",description:"Retrieves the first Row Node in AdapTable",uiLabel:"Get First Row Node"},{name:"getFormattedValueFromRawValue",kind:"function",description:"Retrieves Formatted Value for a given Raw Value in given Column",uiLabel:"Get Formatted Value From Raw Value"},{name:"getGridCellFromRowNode",kind:"function",description:"Retrieves Cell in given Row and Column",uiLabel:"Get Grid Cell From Row Node"},{name:"getGridContainerElement",kind:"function",description:"Returns the Grid Container in which the Adaptable Instance is present",uiLabel:"Get Grid Container Element"},{name:"getGridData",kind:"function",description:"Retrieves all data from the grid",uiLabel:"Get Grid Data"},{name:"getGridState",kind:"function",description:"Returns Grid section from Adaptable State",uiLabel:"Get Grid State"},{name:"getNormalisedValueFromRowNode",kind:"function",description:"Retrieves Normalised Value for Cell in given Row and Column",uiLabel:"Get Normalised Value From Row Node"},{name:"getPrimaryKeyValueForRowNode",kind:"function",description:"Returns the Primary Kev Value for a given Row Node",uiLabel:"Get Primary Key Value For Row Node"},{name:"getRawValueFromRowNode",kind:"function",description:"Retrieves Raw Value for Cell in given Row and Column",uiLabel:"Get Raw Value From Row Node"},{name:"getRowCount",kind:"function",description:"Returns number of rows in Data Source",uiLabel:"Get Row Count"},{name:"getRowNodeForPrimaryKey",kind:"function",description:"Retrieves Row Node that contains given Primary Key",uiLabel:"Get Row Node For Primary Key"},{name:"getRowNodesForPrimaryKeys",kind:"function",description:"Retrieves Row Nodes that contain given Primary Keys",uiLabel:"Get Row Nodes For Primary Keys"},{name:"getSelectedCellInfo",kind:"function",description:"Returns all current Selected Cells in AdapTable",uiLabel:"Get Selected Cell Info"},{name:"getSelectedRowInfo",kind:"function",description:"Returns all current Selected Rows in AdapTable",uiLabel:"Get Selected Row Info"},{name:"getVisibleColumnCount",kind:"function",description:"Returns number of visible columns in Data Source",uiLabel:"Get Visible Column Count"},{name:"getVisibleRowCount",kind:"function",description:"Returns number of visible rows in Data Source",uiLabel:"Get Visible Row Count"},{name:"getVisibleRowNodes",kind:"function",description:"Retrieves all Row Nodes currently in the Grid (i.e. filtered)",uiLabel:"Get Visible Row Nodes"},{name:"hideFilterForm",kind:"function",description:"Hides the AdapTable Filter Form",uiLabel:"Hide Filter Form"},{name:"highlightCell",kind:"function",description:"Highlights a Cell in AdapTable",uiLabel:"Highlight Cell"},{name:"highlightRow",kind:"function",description:"Highlight a row using an adaptable style",uiLabel:"Highlight Row"},{name:"isGridGroupable",kind:"function",description:"Whether AdapTable instance can be Row Grouped",uiLabel:"Is Grid Groupable"},{name:"isGridPivotable",kind:"function",description:"Whether AdapTable instance can be pivoted",uiLabel:"Is Grid Pivotable"},{name:"isGridRowGrouped",kind:"function",description:"Whether Grid is currently showing Row Groups",uiLabel:"Is Grid Row Grouped"},{name:"isGridSelectable",kind:"function",description:"Whether AdapTable instance offers cell selection",uiLabel:"Is Grid Selectable"},{name:"isGroupRowNode",kind:"function",description:"Whether given Row Node is a Row Group",uiLabel:"Is Group Row Node"},{name:"isQuickFilterAvailable",kind:"function",description:"Whether Quick Filter is available in the Grid",uiLabel:"Is Quick Filter Available"},{name:"jumpToCell",kind:"function",description:"Grid will jump to cell in a given Row and Column",uiLabel:"Jump To Cell"},{name:"jumpToColumn",kind:"function",description:"Grid will jump to Column that has given ColumnId",uiLabel:"Jump To Column"},{name:"jumpToRow",kind:"function",description:"Grid will jump to Row containing given Primary Kev Value",uiLabel:"Jump To Row"},{name:"loadGridData",kind:"function",description:"Loads grid with given data",uiLabel:"Load Grid Data"},{name:"redrawGrid",kind:"function",description:"Redraws AdapTable (expensive operation so use sparingly)",uiLabel:"Redraw Grid"},{name:"refreshCells",kind:"function",description:"Refresh Cells in AdapTable",uiLabel:"Refresh Cells"},{name:"refreshRowByPrimaryKey",kind:"function",description:"Forces a render of a row",uiLabel:"Refresh Row By Primary Key"},{name:"refreshRowNode",kind:"function",description:"",uiLabel:"Refresh Row Node"},{name:"selectAll",kind:"function",description:"Select the whole Grid",uiLabel:"Select All"},{name:"selectCellRange",kind:"function",description:"Selects a group of cells in a given range",uiLabel:"Select Cell Range"},{name:"selectNode",kind:"function",description:"Selects the AG Grid Row Node in AdapTable",uiLabel:"Select Node"},{name:"selectNodes",kind:"function",description:"Selects the AG Grid Row Nodes in AdapTable",uiLabel:"Select Nodes"},{name:"selectRow",kind:"function",description:"Selects Row with given Primary Key Value",uiLabel:"Select Row"},{name:"selectRows",kind:"function",description:"Selects Rows with given Primary Key Values",uiLabel:"Select Rows"},{name:"setAdaptableSorting",kind:"function",description:"Sorts AdapTable using given Column Sorts",uiLabel:"Set Adaptable Sorting"},{name:"setCellsValue",kind:"function",description:"Updates multiple cells",uiLabel:"Set Cells Value"},{name:"setCellValue",kind:"function",description:"Updates cell in Adaptable (first performs Cell &amp; Server Validation)",uiLabel:"Set Cell Value"},{name:"setColumnSorts",kind:"function",description:"Sets Column Sorts in Grid",uiLabel:"Set Column Sorts"},{name:"setGridData",kind:"function",description:"Repopulates grid with given data",uiLabel:"Set Grid Data"},{name:"setRowGroupColumns",kind:"function",description:"Sets the grid to Row Group",uiLabel:"Set Row Group Columns"},{name:"showGridInfoPopup",kind:"function",description:"Opens Grid Info popup screen",uiLabel:"Show Grid Info Popup"},{name:"undoCellEdit",kind:"function",description:"Reverses a data change (if triggered by cell edit)",uiLabel:"Undo Cell Edit"},{name:"unHighlightAllCells",kind:"function",description:"Unhighlights all highlighted Cells in AdapTable",uiLabel:"Un Highlight All Cells"},{name:"unHighlightAllRows",kind:"function",description:"Remove all highlighted rows",uiLabel:"Un Highlight All Rows"},{name:"unHighlightCell",kind:"function",description:"Unhighlights a Cell in AdapTable",uiLabel:"Un Highlight Cell"},{name:"unHighlightRow",kind:"function",description:"Remove highlight from row",uiLabel:"Un Highlight Row"},{name:"updateGridData",kind:"function",description:"Updates Adaptable (and AG Grid) with rows that have changed",uiLabel:"Update Grid Data"}]},GridCell:{name:"GridCell",kind:"Interface",description:"Defines a Cell in Adaptable - every cell is an intersection of a Column Id and a Primary Key Value",properties:[{name:"column",kind:"REFERENCE",description:"Column in which cell is situtated",uiLabel:"Column",reference:"AdaptableColumn"},{name:"displayValue",kind:"unknown",description:"Display value of cell (e.g. if formatted)",uiLabel:"Display Value"},{name:"normalisedValue",kind:"unknown",description:"Normalised value of cell",uiLabel:"Normalised Value"},{name:"primaryKeyValue",kind:"unknown",description:"Primary Key column&#39;s value in row - how Adaptable locates the cell",uiLabel:"Primary Key Value",isOptional:!0},{name:"rawValue",kind:"unknown",description:"Actual raw value of cell",uiLabel:"Raw Value"},{name:"rowNode",kind:"REFERENCE",description:"AG Grid Row Node that holds the cell",uiLabel:"Row Node",reference:"unknown"}]},GridDataChangedInfo:{name:"GridDataChangedInfo",kind:"Interface",description:"EventInfo returned by GridDataChanged event",properties:[{name:"dataRows",kind:"unknown",description:"Rows that have been added, updated, or deleted",uiLabel:"Data Rows"},{name:"rowTrigger",kind:"unknown",description:"Trigger for row change: &#39;Add&#39;, &#39;Edit&#39; or &#39;Delete&#39;",uiLabel:"Row Trigger"}]},GridRow:{name:"GridRow",kind:"Interface",description:"Detailed information about a Row in AdapTable",properties:[{name:"primaryKeyValue",kind:"unknown",description:"Primary Key column&#39;s value for Row - how Adaptable locates a cell",uiLabel:"Primary Key Value"},{name:"rowData",kind:"unknown",description:"Actual data in the Row",uiLabel:"Row Data",isOptional:!0},{name:"rowInfo",kind:"REFERENCE",description:"Object which provides &#39;meta data&#39; about the Row",uiLabel:"Row Info",isOptional:!0,reference:"RowInfo"},{name:"rowNode",kind:"REFERENCE",description:"AG Grid Row Node object for the Row",uiLabel:"Row Node",isOptional:!0,reference:"unknown"}]},IAdaptableNoCodeWizard:{name:"IAdaptableNoCodeWizard",kind:"Interface",description:"When you want to configure an Adaptable via json file D&amp;D, use this instead of the normal Adaptable constructor"},InstrumentColumn:{name:"InstrumentColumn",kind:"Interface",description:"Defines an Column which will be defind as an (FDC3) Instrument",properties:[{name:"bbgColumnId",kind:"string",description:"Column which holds a Bloomberg Ticker value as instrument data",uiLabel:"Bbg Column Id",isOptional:!0},{name:"columnId",kind:"string",description:"Column defined as an Instrument - its value provides the `name` property in the FDC3 message",uiLabel:"Column Id"},{name:"cusipColumnId",kind:"string",description:"Column which holds a CUSIP value as instrument data",uiLabel:"Cusip Column Id",isOptional:!0},{name:"figiColumnId",kind:"string",description:"Column which holds a FIGI value as instrument data",uiLabel:"Figi Column Id",isOptional:!0},{name:"isinColumnId",kind:"string",description:"Column which holds an ISIN value as instrument data",uiLabel:"Isin Column Id",isOptional:!0},{name:"permidColumnId",kind:"string",description:"Column which holds a PERMID value as instrument data",uiLabel:"Permid Column Id",isOptional:!0},{name:"ricColumnId",kind:"string",description:"Column which holds a Reuters Instrument Code value as instrument data",uiLabel:"Ric Column Id",isOptional:!0},{name:"sedolColumnId",kind:"string",description:"Column which holds a SEDOL value as instrument data",uiLabel:"Sedol Column Id",isOptional:!0},{name:"tickerColumnId",kind:"string",description:"Column which holds a ticker value as instrument data",uiLabel:"Ticker Column Id",isOptional:!0}]},InstrumentContext:{name:"InstrumentContext",kind:"Interface",description:"Built-in context to define a financial instrument.",properties:[{name:"id",kind:"unknown",description:"The instrument data. Can contain some or all of: * `ticker`: a ticker * `ISIN`: [ISIN](https://www.isin.org/isin/) * `CUSIP`: [CUSIP](https://www.cusip.com/cusip/index.htm) * `SEDOL`: [SEDOL](https://www.londonstockexchange.com/products-and-services/reference-data/sedol-master-file/sedol-master-file.htm) * `RIC`: [Reuters Instrument Code (RIC)](https://en.wikipedia.org/wiki/Reuters_Instrument_Code) * `BBG`: [Bloomberg Ticker](https://www.bloomberg.com/professional/product/market-data/) * `PERMID`: [PERMID](https://permid.org/) * `FIGI`: [FIGI](https://www.openfigi.com/about/figi)",uiLabel:"Id"},{name:"name",kind:"string",description:"Free text name of the instrument.",uiLabel:"Name"},{name:"type",kind:"unknown",description:"The context type is always &#39;instrument&#39;.",uiLabel:"Type"}]},IPushPullApi:{name:"IPushPullApi",kind:"Interface",description:"Provides run-time access to ipushpull Plugin",properties:[{name:"addNewIPushPullPage",kind:"function",description:"Adds a new page to ipushpull using given name in the supplied folder",uiLabel:"Add New IPush Pull Page"},{name:"clearIPushPullInternalState",kind:"function",description:"Internal method which clears out ipushpull State",uiLabel:"Clear IPush Pull Internal State"},{name:"getAutoLogin",kind:"function",description:"Retrieves `AutoLogin` from ipushpull options; if `true` AdapTable will automatically log user in to ipushpull at start-up",uiLabel:"Get Auto Login"},{name:"getCurrentIPushPullPassword",kind:"function",description:"Retrieves `Password` from ipushpull state -- AFTER someone logs in",uiLabel:"Get Current IPush Pull Password"},{name:"getCurrentIPushPullUsername",kind:"function",description:"Retrieves `Username` from ipushpull state - AFTER someone logs in",uiLabel:"Get Current IPush Pull Username"},{name:"getCurrentLiveIPushPullReport",kind:"function",description:"Retrieves current ipushpull Report from ipushpull state; A Report contains Name, Folder and ipushpull Page",uiLabel:"Get Current Live IPush Pull Report"},{name:"getFolderIdForName",kind:"function",description:"Gets the Id of the ipushpull folder / Domain with the given name",uiLabel:"Get Folder Id For Name"},{name:"getIPushPullDomains",kind:"function",description:"Retrieves all the ipushpull domain to which the current user has access",uiLabel:"Get IPush Pull Domains"},{name:"getIPushPullInstance",kind:"function",description:"Retrieves the current ipushpull instance (if one has been provided by the User at design time in ipushpull state)",uiLabel:"Get IPush Pull Instance"},{name:"getIPushPullPassword",kind:"function",description:"Retrieves `Password` from ipushpull options (if provided)",uiLabel:"Get IPush Pull Password"},{name:"getIPushPullSchedules",kind:"function",description:"Gets ipushpull schedules ie. reports set to run at particular times",uiLabel:"Get IPush Pull Schedules"},{name:"getIPushPullThrottleTime",kind:"function",description:"Retrieves Throttle Time from ipushpull State; how often a Live report will update ipushpull (if data changes)",uiLabel:"Get IPush Pull Throttle Time"},{name:"getIPushPullUsername",kind:"function",description:"Retrieves `Username` from ipushpull options (if provided)",uiLabel:"Get IPush Pull Username"},{name:"getPagesForIPushPullDomain",kind:"function",description:"Retrieves all pages in given ipushpull domain",uiLabel:"Get Pages For IPush Pull Domain"},{name:"includeSystemReports",kind:"function",description:"Whether to dispaly System Reports in ipushpull toolbar",uiLabel:"Include System Reports"},{name:"isIPushPullAvailable",kind:"function",description:"Checks if an ipushpull instance has been provided by the user",uiLabel:"Is IPush Pull Available"},{name:"isIPushPullLiveDataRunning",kind:"function",description:"Checks if a report is sending Live Data to ipushpull",uiLabel:"Is IPush Pull Live Data Running"},{name:"isIPushPullReportLive",kind:"function",description:"Checks if given report is currently &#39;live&#39; (i.e. sending updates as data changes)",uiLabel:"Is IPush Pull Report Live"},{name:"isIPushPullRunning",kind:"function",description:"Checks to see if ipushpull is running (i.e. a user has successfully logged in)",uiLabel:"Is IPush Pull Running"},{name:"loginToIPushPull",kind:"function",description:"Logins in user to ipushpull with given credentials; if successful ipushpull toolbar will display full set of controls",uiLabel:"Login To IPush Pull"},{name:"logoutFromIPushPull",kind:"function",description:"Logs out the current user from ipushpull (changes ipushpull toolbar to show Login button)",uiLabel:"Logout From IPush Pull"},{name:"retrieveIPushPullDomainsFromIPushPull",kind:"function",description:"Internal AdapTable method used to manage domains",uiLabel:"Retrieve IPush Pull Domains From IPush Pull"},{name:"sendSnapshot",kind:"function",description:"Publishes an ipushpull Report as a one-off export (i.e. with no live data)",uiLabel:"Send Snapshot"},{name:"setIPushPullAvailableOff",kind:"function",description:"Internal method which sets ipushpull is unavailable",uiLabel:"Set IPush Pull Available Off"},{name:"setIPushPullAvailableOn",kind:"function",description:"Internal method which sets ipushpull is available",uiLabel:"Set IPush Pull Available On"},{name:"setIPushPullDomains",kind:"function",description:"Sets given Domains as those for the current User",uiLabel:"Set IPush Pull Domains"},{name:"setIPushPullInstance",kind:"function",description:"Sets the current ipushpull instance - this method should not generally be used.",uiLabel:"Set IPush Pull Instance"},{name:"setIPushPullLoginErrorMessage",kind:"function",description:"Internal method which displays given message in ipushpull login page",uiLabel:"Set IPush Pull Login Error Message"},{name:"setIPushPullRunningOff",kind:"function",description:"Internal method which sets ipushpull is not running",uiLabel:"Set IPush Pull Running Off"},{name:"setIPushPullRunningOn",kind:"function",description:"Internal method which sets ipushpull is running",uiLabel:"Set IPush Pull Running On"},{name:"setIPushPullThrottleTime",kind:"function",description:"Sets Throttle time for ipushpull; how often a Live report will update ipushpull (if data changes)",uiLabel:"Set IPush Pull Throttle Time"},{name:"showIPushPullPopup",kind:"function",description:"Opens iPushPullPopup (though its currently empty!)",uiLabel:"Show IPush Pull Popup"},{name:"startLiveData",kind:"function",description:"Publishes ipushpull Report as Live Data; any changes to underlying data in report will be sent to ipushpull",uiLabel:"Start Live Data"},{name:"stopLiveData",kind:"function",description:"Pauses current Live Data report",uiLabel:"Stop Live Data"}]},IPushPullDomain:{name:"IPushPullDomain",kind:"Interface",description:"Internal object that maps an IPushPull Domain object",properties:[{name:"FolderId",kind:"number",description:"the Id of the Folder",uiLabel:"Folder Id"},{name:"Name",kind:"string",description:"the Name of the Domain / Folder",uiLabel:"Name"},{name:"Pages",kind:"unknown",description:"The names of the pages within the (Folder)",uiLabel:"Pages"}]},IPushPullPluginOptions:{name:"IPushPullPluginOptions",kind:"Interface",description:"Options required for when using the ipushpull plugin",properties:[{name:"autoLogin",kind:"boolean",description:"Whether AdapTable should try log in to ipushpull automatically at start-up",uiLabel:"Auto Login",isOptional:!0,defaultValue:"false"},{name:"includeSystemReports",kind:"boolean",description:"Whether AdapTable will include System Reports (e.g. &#39;All Data&#39;, &#39;Selected Cells&#39; etc) in the ipushpull toolbar dropdown",uiLabel:"Include System Reports",isOptional:!0,defaultValue:"true"},{name:"ippConfig",kind:"unknown",description:"The config required to run ipushpull; use your ipushpull credentials",uiLabel:"Ipp Config",isOptional:!0},{name:"password",kind:"string",description:"The user&#39;s ipushpull password; if supplied, pre-populates the login screen&#39;s password textbox",uiLabel:"Password",isOptional:!0},{name:"throttleTime",kind:"number",description:"How many miliseconds AdapTable should throttle when sending data updates to ipushpull",uiLabel:"Throttle Time",isOptional:!0,defaultValue:"2000"},{name:"username",kind:"string",description:"User&#39;s ipushpull user name (usually email address); if supplied, pre-populates the login screen&#39;s username textbox",uiLabel:"Username",isOptional:!0}]},IPushPullReport:{name:"IPushPullReport",kind:"Interface",description:"An ipushpull report"},IPushPullSchedule:{name:"IPushPullSchedule",kind:"Interface",description:"Defines an ipushpull Schedule. Used in the Schedule Module (where the State will be stored)."},IPushPullState:{name:"IPushPullState",kind:"Interface",description:"Internal State used by AdapTable for managing the ipushpull plugin"},Layout:{name:"Layout",kind:"Interface",description:"Layout object - contains everything required including Columns, Sorts, Widths, Aggregations, Grouping and Pivoting details",properties:[{name:"AggregationColumns",kind:"unknown",description:"Columns showing aggregated values in grouped rows; first value in record is Column name and second is either the agg func (e.g. sum, avg etc.) or &#39;true&#39; (to use default aggfunc)",uiLabel:"Aggregation Columns",isOptional:!0},{name:"AutoSave",kind:"boolean",description:"Whether Layout should automatically save or not - overrides `autoSaveLayouts` property in LayoutOptions",uiLabel:"Auto Save",isOptional:!0},{name:"ColumnHeadersMap",kind:"unknown",description:"Set of custom header names for some (or all columns)",uiLabel:"Column Headers Map",isOptional:!0},{name:"Columns",kind:"unknown",description:"Which columns should be visible in the Layout and in which order",uiLabel:"Columns"},{name:"ColumnSorts",kind:"unknown",description:"Sorting to apply in the Layout",uiLabel:"Column Sorts",isOptional:!0},{name:"ColumnWidthMap",kind:"unknown",description:"Set of widths for some (or all columns)",uiLabel:"Column Width Map",isOptional:!0},{name:"EnablePivot",kind:"boolean",description:"Whether pivoting should be enabled in the Grid when this Layout loads",uiLabel:"Enable Pivot",isOptional:!0},{name:"ExpandedRowGroupValues",kind:"unknown",description:"Values of opened row groups",uiLabel:"Expanded Row Group Values",isOptional:!0},{name:"Name",kind:"string",description:"Name of Layout as will appear in Layout toolbar and tool panel",uiLabel:"Name"},{name:"PinnedColumnsMap",kind:"unknown",description:"Set of pinned Columns",uiLabel:"Pinned Columns Map",isOptional:!0},{name:"PivotColumns",kind:"unknown",description:"List of Columns which should be pivoted when grid is in pivot mode",uiLabel:"Pivot Columns",isOptional:!0},{name:"RowGroupedColumns",kind:"unknown",description:"Columns which are row-grouped when the Layout is applied",uiLabel:"Row Grouped Columns",isOptional:!0},{name:"SuppressAggFuncInHeader",kind:"boolean",description:"Whether to include the aggFunc name in the column header: e.g. &#39;sum(Bank Balance)&#39; will just be &#39;Bank Balance&#39;",uiLabel:"Suppress Agg Func In Header",isOptional:!0}]},LayoutApi:{name:"LayoutApi",kind:"Interface",description:"Provides run-time access to the Layout Module and associated state",properties:[{name:"areLayoutsEqual",kind:"function",description:"Compares 2 Layouts for equality",uiLabel:"Are Layouts Equal"},{name:"cloneAndSetLayout",kind:"function",description:"Creates new Layout based on given Layout but with name provided and then loads it into Grid",uiLabel:"Clone And Set Layout"},{name:"cloneLayout",kind:"function",description:"Creates new Layout based on given Layout but with name provided",uiLabel:"Clone Layout"},{name:"createAndSetLayout",kind:"function",description:"Creates new Layout in the state and then loads it into Grid",uiLabel:"Create And Set Layout"},{name:"createDefaultLayoutIfNeeded",kind:"function",description:"Creates a Default Layout (when none provided in Config)",uiLabel:"Create Default Layout If Needed"},{name:"createLayout",kind:"function",description:"Creates new Layout in the state",uiLabel:"Create Layout"},{name:"doesLayoutExist",kind:"function",description:"Checks whether this Layout exists in the Adaptable State (by comparing Uuid property)",uiLabel:"Does Layout Exist"},{name:"fireLayoutChangedEvent",kind:"function",description:"Fires the `LayoutChanged` event",uiLabel:"Fire Layout Changed Event"},{name:"getAllLayout",kind:"function",description:"Retrieves all Layouts in Adaptable State",uiLabel:"Get All Layout"},{name:"getCurrentLayout",kind:"function",description:"Retrieves Current Layout from Layout State",uiLabel:"Get Current Layout"},{name:"getCurrentLayoutName",kind:"function",description:"Retrieves name of current Layout",uiLabel:"Get Current Layout Name"},{name:"getCurrentVisibleColumnIds",kind:"function",description:"Retrieves array of visible ColumnIds in current Layout",uiLabel:"Get Current Visible Column Ids"},{name:"getCurrentVisibleColumnIdsMap",kind:"function",description:"Retrieves map with visible columns in current Layout",uiLabel:"Get Current Visible Column Ids Map"},{name:"getLayoutById",kind:"function",description:"Retrieves Layout by id",uiLabel:"Get Layout By Id"},{name:"getLayoutByName",kind:"function",description:"Retrieves Layout with the given name",uiLabel:"Get Layout By Name"},{name:"getLayoutDescription",kind:"function",description:"Get a string description of a Layout",uiLabel:"Get Layout Description"},{name:"getLayoutState",kind:"function",description:"Retrieves Layout section from Adaptable State",uiLabel:"Get Layout State"},{name:"saveCurrentLayout",kind:"function",description:"Saves current Layout - using column order, visibility, sorting etc. currently in use in the grid",uiLabel:"Save Current Layout"},{name:"saveLayout",kind:"function",description:"Saves given Layout into Adaptable State",uiLabel:"Save Layout"},{name:"setColumnCaption",kind:"function",description:"Sets a new Caption / Header for a Column (this Layout only)",uiLabel:"Set Column Caption"},{name:"setLayout",kind:"function",description:"Sets (i.e. selects) the Layout",uiLabel:"Set Layout"},{name:"shouldAutoSaveLayout",kind:"function",description:"Whether this Layout should be auto saved (based on Layout State and Layout Options)",uiLabel:"Should Auto Save Layout"},{name:"showLayoutPopup",kind:"function",description:"Opens Layout popup screen",uiLabel:"Show Layout Popup"}]},LayoutChangedInfo:{name:"LayoutChangedInfo",kind:"Interface",description:"EventInfo returned by LayoutChanged event",properties:[{name:"actionName",kind:"string",description:"What caused Layout State to change",uiLabel:"Action Name"},{name:"newLayoutState",kind:"REFERENCE",description:"Current Layout State",uiLabel:"New Layout State",reference:"LayoutState"},{name:"oldLayoutState",kind:"REFERENCE",description:"Previous Layout State",uiLabel:"Old Layout State",reference:"LayoutState"}]},LayoutOptions:{name:"LayoutOptions",kind:"Interface",description:"Options for configuring Layouts; these manage Column visibility, order, sorting, grouping and width",properties:[{name:"autoSaveLayouts",kind:"boolean",description:"Layouts save whenever Grid&#39;s column / sort info changes; if false, a Save button will display",uiLabel:"Auto Save Layouts",isOptional:!0,gridInfo:"item",defaultValue:"true"},{name:"autoSizeColumnsInLayout",kind:"boolean",description:"Columns auto-size when Layout loads for first time",uiLabel:"Auto Size Columns In Layout",isOptional:!0,gridInfo:"item",defaultValue:"false"},{name:"autoSizeColumnsInPivotLayout",kind:"boolean",description:"Columns auto-size when Pivot-based Layout loads first time",uiLabel:"Auto Size Columns In Pivot Layout",isOptional:!0,gridInfo:"item",defaultValue:"false"},{name:"createDefaultLayout",kind:"boolean",description:"Whether a &quot;Default Layout&quot; will be created in addition to Layouts provided in Config",uiLabel:"Create Default Layout",isOptional:!0,gridInfo:"item",defaultValue:"false"},{name:"includeExpandedRowGroups",kind:"boolean",description:"Layouts will include details of expanded grouped rows; if true these will be re-applied at start-up",uiLabel:"Include Expanded Row Groups",isOptional:!0,gridInfo:"item",defaultValue:"false"}]},LayoutState:{name:"LayoutState",kind:"Interface",description:"Predefined Configuration for the Layout Module",properties:[{name:"CurrentLayout",kind:"string",description:"Layout which will be loaded when AdapTable starts - must match `Name` property in Layout",uiLabel:"Current Layout",isOptional:!0,defaultValue:"&#39;&#39;"},{name:"Layouts",kind:"unknown",description:"Collection of Layout objects - listed in Layout toolbar and Tool Panel",uiLabel:"Layouts",isOptional:!0,defaultValue:"null"}]},LiveDataChangedInfo:{name:"LiveDataChangedInfo",kind:"Interface",description:"EventInfo returned by LiveDataChanged event",properties:[{name:"liveDataTrigger",kind:"unknown",description:"What triggered the event to fire",uiLabel:"Live Data Trigger"},{name:"liveReport",kind:"unknown",description:"The Report which is currently live - only used if the Trigger is LiveData related",uiLabel:"Live Report",isOptional:!0},{name:"reportDestination",kind:"unknown",description:"Which Adaptable partner is the export destination for the live data",uiLabel:"Report Destination"}]},LiveReport:{name:"LiveReport",kind:"Interface",description:"Defines which Adaptable Reports are &#39;Live&#39; (i.e. they will update the destination as the data in Adaptable ticks or changes)",properties:[{name:"pageName",kind:"string",description:"for OpenFin this will be the workbook name; for iPushpull the page name; for Glue42 the Spreadsheet name.",uiLabel:"Page Name"},{name:"report",kind:"REFERENCE",description:"The underlying report",uiLabel:"Report",reference:"unknown"},{name:"reportDestination",kind:"unknown",description:"Where the live data is being sent",uiLabel:"Report Destination"}]},MenuOptions:{name:"MenuOptions",kind:"Interface",description:"Options for managing menus in AdapTable",properties:[{name:"columnMenuItems",kind:"unknown",description:"User-defined Menu Items to add to the Column Menu",uiLabel:"Column Menu Items",isOptional:!0},{name:"columnMenuOrder",kind:"unknown",description:"Order in which AG Grid, AdapTable and User Menu items will appear in Column Menu",uiLabel:"Column Menu Order",isOptional:!0,gridInfo:"item",defaultValue:"&#39;aggrid&#39;, &#39;adaptable&#39;, &#39;user&#39;"},{name:"contextMenuItems",kind:"unknown",description:"User-defined Menu Items to add to the Context Menu",uiLabel:"Context Menu Items",isOptional:!0},{name:"contextMenuOrder",kind:"unknown",description:"Order in which AG grid, AdapTable and User Menu items will appear in Context Menu",uiLabel:"Context Menu Order",isOptional:!0,gridInfo:"item",defaultValue:"&#39;aggrid&#39;, &#39;adaptable&#39;, &#39;user&#39;"},{name:"showAdaptableColumnMenu",kind:"unknown",description:"Show Adaptable Column Menu (or specific items); can be boolean value or function invoked for each menu item",uiLabel:"Show Adaptable Column Menu",isOptional:!0,gridInfo:"item",defaultValue:"true"},{name:"showAdaptableContextMenu",kind:"unknown",description:"Show Adaptable Context Menu (or specific items); can be boolean value or function invoked for each menu item",uiLabel:"Show Adaptable Context Menu",isOptional:!0,gridInfo:"item",defaultValue:"true"},{name:"showUngroupColumnMenuItem",kind:"boolean",description:"Adds &#39;Ungroup&#39; Column Menu item to a row grouped column",uiLabel:"Show Ungroup Column Menu Item",isOptional:!0,gridInfo:"item",defaultValue:"true"}]},ModuleExpressionFunctions:{name:"ModuleExpressionFunctions",kind:"Interface",description:"Module specific Expression Functions"},NamedQuery:{name:"NamedQuery",kind:"Interface",description:"Defines a Query which can be used in multiple AdapTable Modules",properties:[{name:"Name",kind:"string",description:"Name of the Query - how it will appear in Query dropdown",uiLabel:"Name"}]},NotificationsOptions:{name:"NotificationsOptions",kind:"Interface",description:"Options related to Alerts, System Status Messages and Notifications in Adaptable.",properties:[{name:"actionHandlers",kind:"unknown",description:"onClick Handlers for Alert Buttons (defined in Alert State)",uiLabel:"Action Handlers",isOptional:!0},{name:"alertForms",kind:"unknown",description:"Full definitions of Alert Forms - the names of which are provided in Alert State",uiLabel:"Alert Forms",isOptional:!0},{name:"alertMessageText",kind:"unknown",description:"Function providing Message to display in Alert; if empty, AdapTable provides dynamically",uiLabel:"Alert Message Text",isOptional:!0},{name:"cellHighlightDuration",kind:"number",description:"How long (in ms) a cell will be highlighted",uiLabel:"Cell Highlight Duration",isOptional:!0,gridInfo:"item",defaultValue:"3000"},{name:"closeWhenClicked",kind:"boolean",description:"Closes Notification automatically when its clicked",uiLabel:"Close When Clicked",isOptional:!0,gridInfo:"item",defaultValue:"false"},{name:"dataChangeDetectionPolicy",kind:"unknown",description:"Whether Alert rule is evaluated against the `rawValue` or `formattedValue` of the changed cell data",uiLabel:"Data Change Detection Policy",isOptional:!0,gridInfo:"item",defaultValue:"&#39;rawValue&#39;"},{name:"duration",kind:"unknown",description:"How long (in ms) Notifications display for",uiLabel:"Duration",isOptional:!0,gridInfo:"item",defaultValue:"3000"},{name:"isDraggable",kind:"boolean",description:"Can Notification be dragged",uiLabel:"Is Draggable",isOptional:!0,gridInfo:"item",defaultValue:"false"},{name:"maxAlertsInStore",kind:"number",description:"How many alerts held in State at any one time; when limit is breached, oldest alert will be removed",uiLabel:"Max Alerts In Store",isOptional:!0,gridInfo:"item",defaultValue:"20"},{name:"maxNotifications",kind:"number",description:"How many Notifications can be displayed at one time",uiLabel:"Max Notifications",isOptional:!0,gridInfo:"item",defaultValue:"3"},{name:"maxSystemMessagesInStore",kind:"number",description:"How many System Status Messages to hold in State; when limit is reached, oldest Message is removed",uiLabel:"Max System Messages In Store",isOptional:!0,gridInfo:"item",defaultValue:"100"},{name:"pauseWhenHovering",kind:"boolean",description:"Pauses the Notification when mouse hovers over it",uiLabel:"Pause When Hovering",isOptional:!0,gridInfo:"item",defaultValue:"false"},{name:"position",kind:"REFERENCE",description:"Where Notification will appear (if anywhere)",uiLabel:"Position",isOptional:!0,gridInfo:"item",defaultValue:"&#39;BottomRight&#39;",reference:"unknown"},{name:"showApplicationIcon",kind:"boolean",description:"Displays the application icon in Notifications (if provided in `UserInterfaceOptions`)",uiLabel:"Show Application Icon",isOptional:!0,defaultValue:"false"},{name:"showProgressBar",kind:"boolean",description:"Shows a Progress Bar in the Notification",uiLabel:"Show Progress Bar",isOptional:!0,gridInfo:"item",defaultValue:"false"},{name:"showSystemStatusMessageNotifications",kind:"boolean",description:"Display an Alert when a System Status Message is set",uiLabel:"Show System Status Message Notifications",isOptional:!0,gridInfo:"item",defaultValue:"false"},{name:"transition",kind:"unknown",description:"How Notification will appear: &#39;Bounce&#39;, &#39;Slide&#39;, &#39;Zoom&#39; or &#39;Flip&#39;",uiLabel:"Transition",isOptional:!0,gridInfo:"item",defaultValue:"&#39;Slide&#39;"}]},NumberFormatterOptions:{name:"NumberFormatterOptions",kind:"Interface",description:"Formatter Options for Numeric Columns",properties:[{name:"FractionDigits",kind:"number",description:"Number of digits to show in fractions",uiLabel:"Fraction Digits",isOptional:!0},{name:"FractionSeparator",kind:"string",description:"Separator to use in fractions",uiLabel:"Fraction Separator",isOptional:!0},{name:"IntegerDigits",kind:"number",description:"Number of digits to show for integers",uiLabel:"Integer Digits",isOptional:!0},{name:"IntegerSeparator",kind:"string",description:"Separator to use in integers",uiLabel:"Integer Separator",isOptional:!0},{name:"Multiplier",kind:"number",description:"Multiplier to use on the number",uiLabel:"Multiplier",isOptional:!0},{name:"Parentheses",kind:"boolean",description:"Shows negative numbers in parentheses",uiLabel:"Parentheses",isOptional:!0},{name:"Prefix",kind:"string",description:"Prefix to use before the number",uiLabel:"Prefix",isOptional:!0},{name:"Suffix",kind:"string",description:"Suffix to use after the number",uiLabel:"Suffix",isOptional:!0},{name:"Truncate",kind:"boolean",description:"Truncates a number",uiLabel:"Truncate",isOptional:!0}]},OpenFinApi:{name:"OpenFinApi",kind:"Interface",description:"Provides run-time access to the OpenFin Plugin",properties:[{name:"clearOpenFinInternalState",kind:"function",description:"Clears any objects in internal OpenFin state created by AdapTable",uiLabel:"Clear Open Fin Internal State"},{name:"getCurrentLiveOpenFinReport",kind:"function",description:"Retrieves the OpenFin currently sending live data to Excel",uiLabel:"Get Current Live Open Fin Report"},{name:"getNotificationsOptions",kind:"function",description:"Gets the Notification section from Adaptable Options",uiLabel:"Get Notifications Options"},{name:"getOpenFinSchedules",kind:"function",description:"Retrieves all Schedules that send data to Excel via OpenFin",uiLabel:"Get Open Fin Schedules"},{name:"getOpenFinState",kind:"function",description:"Retrieves the OpenFin section of System State",uiLabel:"Get Open Fin State"},{name:"getOpenFinThrottleTime",kind:"function",description:"Retrieves the Throttle time for live updates",uiLabel:"Get Open Fin Throttle Time"},{name:"getPluginOptions",kind:"function",description:"Retrieves the OpenFinPlugOptions provided in OpenFin Plugin",uiLabel:"Get Plugin Options"},{name:"isOpenFinAvailable",kind:"function",description:"Whether OpenFin is available",uiLabel:"Is Open Fin Available"},{name:"isOpenFinRunning",kind:"function",description:"Whether OpenFin is currently running",uiLabel:"Is Open Fin Running"},{name:"showNotification",kind:"function",description:"Shows a notification in OpenFin",uiLabel:"Show Notification"},{name:"showNotificationForAlert",kind:"function",description:"Displays Alert as an OpenFin Notification",uiLabel:"Show Notification For Alert"},{name:"startLiveData",kind:"function",description:"Runs Report in Excel as Live Report (so updates as AdapTable ticks)",uiLabel:"Start Live Data"},{name:"stopLiveData",kind:"function",description:"Stops live data; data will no longer be sent from AdapTable to Excel",uiLabel:"Stop Live Data"}]},OpenFinPluginOptions:{name:"OpenFinPluginOptions",kind:"Interface",description:"Options required for when using the OpenFin plugin",properties:[{name:"broadcastFDC3Instrument",kind:"unknown",description:"Useful when you also use the finance plugin configured with instrumentColumns - values in cells in an instrument column can be broadcasted to fdc3, and this function will be called for broadcasting. It&#39;s your job to broadcast to the desired fdc3 channel",uiLabel:"Broadcast FDC3Instrument",isOptional:!0},{name:"notificationTimeout",kind:"unknown",description:"Timeout (in ms) for OpenFin Notifications to expire; set false for notifications not to auto-dismiss",uiLabel:"Notification Timeout",isOptional:!0,defaultValue:"5000"},{name:"onNotificationAction",kind:"unknown",description:"Function which is invoked when a button in OpenFin notification is clicked",uiLabel:"On Notification Action",isOptional:!0},{name:"onShowNotification",kind:"unknown",description:"Updates OpenFin Notification object before it&#39;s displayed (just add/remove properties); return false to stop Notification showing",uiLabel:"On Show Notification",isOptional:!0},{name:"onValidationFailureInExcel",kind:"unknown",description:"Action to perform when a data change in Live Excel report triggers Prevent Edit Alert failure",uiLabel:"On Validation Failure In Excel",isOptional:!0},{name:"showAdaptableAlertsAsNotifications",kind:"boolean",description:"Converts AdapTable Alerts configured to display in popup as OpenFin Notifications",uiLabel:"Show Adaptable Alerts As Notifications",isOptional:!0,defaultValue:"true"},{name:"showAppIconInNotifications",kind:"unknown",description:"Icon to show in Notification - uses the value supplied in UserInterfaceOptions",uiLabel:"Show App Icon In Notifications",isOptional:!0,defaultValue:"true"},{name:"throttleTime",kind:"number",description:"How long (in ms) AdapTable throttles when sending data update to OpenFin",uiLabel:"Throttle Time",isOptional:!0,defaultValue:"2000"}]},OpenFinReport:{name:"OpenFinReport",kind:"Interface",description:"An OpenFin report",properties:[{name:"ReportName",kind:"string",description:"Name of Report (which will exist in the Export State)",uiLabel:"Report Name"}]},OpenFinSchedule:{name:"OpenFinSchedule",kind:"Interface",description:"Defines a OpenFin Schedule - used in Schedule Module",properties:[{name:"OpenFinReport",kind:"REFERENCE",description:"Report being exported to Excel (via OpenFin)",uiLabel:"Open Fin Report",reference:"OpenFinReport"},{name:"Transmission",kind:"unknown",description:"Whether Snapshot or Live Data (currently only the latter is supported)",uiLabel:"Transmission"}]},OpenFinState:{name:"OpenFinState",kind:"Interface",description:"Internal State used by AdapTable for managing the OpenFin plugin"},PermittedValues:{name:"PermittedValues",kind:"Interface",description:"Permitted/possible values, when column values can be selected (e.g. sort, bulk-update)",properties:[{name:"values",kind:"unknown",description:"Values to display: either hardcoded list or a function",uiLabel:"Values",isOptional:!0}]},PluginsApi:{name:"PluginsApi",kind:"Interface",description:"API methods dealing with AdapTable plugins"},PlusMinusApi:{name:"PlusMinusApi",kind:"Interface",description:"Provides run-time access to the Plus / Minus Module and associated state",properties:[{name:"addPlusMinusNudge",kind:"function",description:"Adds new Plus Minus Rule to State",uiLabel:"Add Plus Minus Nudge"},{name:"applyPlusMinus",kind:"function",description:"Applies a Plus Minus to given cells",uiLabel:"Apply Plus Minus"},{name:"editPlusMinusNudge",kind:"function",description:"Replaces Plus Minus Rule in State with given one",uiLabel:"Edit Plus Minus Nudge"},{name:"getAllActivePlusMinus",kind:"function",description:"Retrieves all active (not-suspended) Plus Minus Rules in Adaptable State with those with expressions first",uiLabel:"Get All Active Plus Minus"},{name:"getAllPlusMinus",kind:"function",description:"Retrieves all Plus Minus Rules in Adaptable State with those with expressions first",uiLabel:"Get All Plus Minus"},{name:"getAllSuspendedPlusMinus",kind:"function",description:"Retrieves all suspended Plus Minus Rules in Adaptable State with those with expressions first",uiLabel:"Get All Suspended Plus Minus"},{name:"getPlusMinusById",kind:"function",description:"Retrieves Plus Minus Rule by Id",uiLabel:"Get Plus Minus By Id"},{name:"getPlusMinusState",kind:"function",description:"Retrieves Plus Minus section from Adaptable State",uiLabel:"Get Plus Minus State"},{name:"runPlusMinusNudge",kind:"function",description:"Applies a Plus Minus Rule to given cells",uiLabel:"Run Plus Minus Nudge"},{name:"showPlusMinusPopup",kind:"function",description:"Opens Plus Minus popup screen",uiLabel:"Show Plus Minus Popup"},{name:"suspendPlusMinusNudge",kind:"function",description:"Suspends Plus Minus Rule",uiLabel:"Suspend Plus Minus Nudge"},{name:"unSuspendPlusMinusNudge",kind:"function",description:"Activates a suspended Plus Minus Rule",uiLabel:"Un Suspend Plus Minus Nudge"}]},PlusMinusNudge:{name:"PlusMinusNudge",kind:"Interface",description:"Defines a Plus Minus Rule - used in the Plus Minus Module",properties:[{name:"NudgeValue",kind:"number",description:"Amount by which to update cell when Rule is applied",uiLabel:"Nudge Value"},{name:"Rule",kind:"REFERENCE",description:"(Optional) Boolean Query to determine whether to apply the Nudge",uiLabel:"Rule",isOptional:!0,reference:"unknown"},{name:"Scope",kind:"REFERENCE",description:"Where Rule is applied",uiLabel:"Scope",reference:"AdaptableScope"}]},PlusMinusState:{name:"PlusMinusState",kind:"Interface",description:"Predefined Configuration for Plus Minus Module",properties:[{name:"PlusMinusNudges",kind:"unknown",description:"Array of Plus Minus Nudges",uiLabel:"Plus Minus Nudges",isOptional:!0}]},PredefinedConfig:{name:"PredefinedConfig",kind:"Interface",description:"This is the main Predefined Config interface which developers will populate at design-time",properties:[{name:"Alert",kind:"REFERENCE",description:"Supplies a collection of *Alert Definition* objects which will fire when their definition is triggered, and where Alerts are displayed",uiLabel:"Alert",isOptional:!0,reference:"AlertState"},{name:"Application",kind:"REFERENCE",description:"Empty state section (only populated at Design Time) available for User to store their own data with the rest of AdapTable state.",uiLabel:"Application",isOptional:!0,reference:"ApplicationState"},{name:"CalculatedColumn",kind:"REFERENCE",description:"Supplies a collection of *CalculatedColumn* objects that will display a value based on other cells in the row (using a Calculated Column Expression)",uiLabel:"Calculated Column",isOptional:!0,reference:"CalculatedColumnState"},{name:"ConditionalStyle",kind:"REFERENCE",description:"Supplies a collection of *ConditionalStyle* objects to provides columns and rows with a particular style when the data matches a given rule",uiLabel:"Conditional Style",isOptional:!0,reference:"ConditionalStyleState"},{name:"CustomSort",kind:"REFERENCE",description:"Supplies a collection of *Custom Sort* objects to allow some columns to be sorted in non-standard (e.g. non alphabetical) ways",uiLabel:"Custom Sort",isOptional:!0,reference:"CustomSortState"},{name:"Dashboard",kind:"REFERENCE",description:"Large series of properties to give users full control over the look and feel of the *Dashboard* - the section above the grid with toolbars and buttons",uiLabel:"Dashboard",isOptional:!0,reference:"DashboardState"},{name:"DataSource",kind:"REFERENCE",description:"Supplies a collection of *DataSource* objects to facilitate replacing the DataSource in the Grid with an alternate set of data (e.g. a Book or Stored Proc name)",uiLabel:"Data Source",isOptional:!0,reference:"DataSourceState"},{name:"Export",kind:"REFERENCE",description:"Supplies a collection of *Report* objects, together with name of the Current Report, as part of AdapTable export Module",uiLabel:"Export",isOptional:!0,reference:"ExportState"},{name:"Filter",kind:"REFERENCE",description:"Stores Filters in AdapTable - both System and Column (predicate) Filters",uiLabel:"Filter",isOptional:!0,reference:"FilterState"},{name:"FormatColumn",kind:"REFERENCE",description:"Supplies a collection of *FormatColumn* objects that will style an entire column in a single way (and not subject to a rule like with Conditional Style).",uiLabel:"Format Column",isOptional:!0,reference:"FormatColumnState"},{name:"FreeTextColumn",kind:"REFERENCE",description:"Supplies a collection of *FreeText* objects so users can make their own notes in bespoke columns that will get stored with their state (and not with the DataSource). Useful if needing a &#39;Comments&#39; column.",uiLabel:"Free Text Column",isOptional:!0,reference:"FreeTextColumnState"},{name:"Layout",kind:"REFERENCE",description:"Supplies a collection of *Layout* objects to name and manage groups of column visibility, order and sorts.",uiLabel:"Layout",isOptional:!0,reference:"LayoutState"},{name:"PlusMinus",kind:"REFERENCE",description:"Supplies a collection of *PlusMinus* rule objects to stipulate what happens when the user clicks &#39;+&#39; or &#39;-&#39; in a numeric cell",uiLabel:"Plus Minus",isOptional:!0,reference:"PlusMinusState"},{name:"Query",kind:"REFERENCE",description:"Named Queries available for use across multiple AdapTable Modules; and `CurrentQuery` - an Expression to run at start-up",uiLabel:"Query",isOptional:!0,reference:"QueryState"},{name:"QuickSearch",kind:"REFERENCE",description:"Configues how Quick Search will run i.e. how and whether to highlight matching cells and to filter out non-matching rows",uiLabel:"Quick Search",isOptional:!0,reference:"QuickSearchState"},{name:"Schedule",kind:"REFERENCE",description:"Supplies a collection of *Schedule* objects",uiLabel:"Schedule",isOptional:!0,reference:"ScheduleState"},{name:"Shortcut",kind:"REFERENCE",description:"Supplies a collection of *Shortcut* objects to aid data entry and prevent &#39;fat finger&#39; issues",uiLabel:"Shortcut",isOptional:!0,reference:"ShortcutState"},{name:"Theme",kind:"REFERENCE",description:"Specifies the current Theme and lists the User and System themes available for selection.",uiLabel:"Theme",isOptional:!0,reference:"ThemeState"},{name:"ToolPanel",kind:"REFERENCE",description:"Sets the order and visibility of the Tool Panel controls in the AdapTable ToolPanel (on right of grid)",uiLabel:"Tool Panel",isOptional:!0,reference:"ToolPanelState"}]},PredicateApi:{name:"PredicateApi",kind:"Interface",description:"Functions which manage the Predicate object in AdapTable",properties:[{name:"getCustomPredicateDefById",kind:"function",description:"Gets Predicate Definition provided by users for given Id",uiLabel:"Get Custom Predicate Def By Id"},{name:"getCustomPredicateDefs",kind:"function",description:"Returns Predicate Definitions provided by users",uiLabel:"Get Custom Predicate Defs"},{name:"getPredicateDefById",kind:"function",description:"Gets the Predicate Definition for a given Id",uiLabel:"Get Predicate Def By Id"},{name:"getPredicateDefs",kind:"function",description:"Returns all current Predicate Definitions",uiLabel:"Get Predicate Defs"},{name:"getPredicateDefsByModuleScope",kind:"function",description:"Retrieves all Predicate Definitions for given Module Scope",uiLabel:"Get Predicate Defs By Module Scope"},{name:"getSystemPredicateDefById",kind:"function",description:"Gets Predicate Definition provided by AdapTable for given Id",uiLabel:"Get System Predicate Def By Id"},{name:"getSystemPredicateDefs",kind:"function",description:"Returns Predicate Definitions provided by AdapTable",uiLabel:"Get System Predicate Defs"},{name:"handlePredicate",kind:"function",description:"Main Handler function for a Predicate Definition - used by AdapTableQL",uiLabel:"Handle Predicate"},{name:"isValidPredicate",kind:"function",description:"Checks whether a given Predicate Definition is valid",uiLabel:"Is Valid Predicate"},{name:"predicateToString",kind:"function",description:"Stringifies a given Predicate Definition",uiLabel:"Predicate To String"}]},PredicateDefHandlerParams:{name:"PredicateDefHandlerParams",kind:"Interface",description:"Object passed into an Adaptable Predicate Definition",properties:[{name:"api",kind:"REFERENCE",description:"The Adaptable Api",uiLabel:"Api",reference:"AdaptableApi"},{name:"column",kind:"REFERENCE",description:"Adaptable Column which contains the cell",uiLabel:"Column",reference:"AdaptableColumn"},{name:"displayValue",kind:"unknown",description:"Display value in cell being evaluated",uiLabel:"Display Value"},{name:"inputs",kind:"unknown",description:"Any inputs required to perform evaluation",uiLabel:"Inputs"},{name:"node",kind:"REFERENCE",description:"AG Grid Row node which contains the cell",uiLabel:"Node",reference:"unknown"},{name:"oldValue",kind:"unknown",description:"Previous value in cell (e.g. if evaluating an edit)",uiLabel:"Old Value"},{name:"value",kind:"unknown",description:"Raw value in cell being evaluated",uiLabel:"Value"}]},QueryApi:{name:"QueryApi",kind:"Interface",description:"Provides run-time access to Named and Current Queries",properties:[{name:"clearCurrentQuery",kind:"function",description:"Clears the Current Query",uiLabel:"Clear Current Query"},{name:"getAllNamedQuery",kind:"function",description:"Gets all Named Queries in Adaptable State",uiLabel:"Get All Named Query"},{name:"getCurrentQuery",kind:"function",description:"Retuns the Current Query",uiLabel:"Get Current Query"},{name:"getNamedQueryByName",kind:"function",description:"Retrieves Named Query with given name from State",uiLabel:"Get Named Query By Name"},{name:"getNamedQueryModuleReferences",kind:"function",description:"Returns all the references in the AdaptableState of the NamedQuery with the given name",uiLabel:"Get Named Query Module References"},{name:"getQueryState",kind:"function",description:"Retrieves Query section from Adaptable State",uiLabel:"Get Query State"},{name:"getReferencedNamedQueryNames",kind:"function",description:"Returns the name of all the referenced Named Queries as an array of strings",uiLabel:"Get Referenced Named Query Names"},{name:"isValidNamedQueryName",kind:"function",description:"Checks if the given Named Query has a valid name",uiLabel:"Is Valid Named Query Name"},{name:"setCurrentQuery",kind:"function",description:"Set a Query as Current Query",uiLabel:"Set Current Query"},{name:"showExpandedQueryPopup",kind:"function",description:"Opens Expanded Query Popup screen",uiLabel:"Show Expanded Query Popup"},{name:"showQueryPopup",kind:"function",description:"Opens Query Popup screen",uiLabel:"Show Query Popup"}]},QueryLanguageApi:{name:"QueryLanguageApi",kind:"Interface",description:"Manages AdapTableQL (Query Language)",properties:[{name:"getASTForExpression",kind:"function",description:"Runs the AST that AdapTableQL creates for a expression - useful when evaluating remotely",uiLabel:"Get AST For Expression"},{name:"getColumnsFromExpression",kind:"function",description:"Returns all Columns referenced in a Query",uiLabel:"Get Columns From Expression"},{name:"getModuleExpressionFunctionMap",kind:"function",description:"Returns the current Module Expression Map",uiLabel:"Get Module Expression Function Map"},{name:"getQueryableColumnIds",kind:"function",description:"Returns all columns that can be used in an Expression",uiLabel:"Get Queryable Column Ids"},{name:"isValidAggregationExpression",kind:"function",description:"Whether the given AggregationExpression is valid",uiLabel:"Is Valid Aggregation Expression"},{name:"isValidBooleanExpression",kind:"function",description:"Whether the given BooleanExpression is valid",uiLabel:"Is Valid Boolean Expression"},{name:"isValidObservableExpression",kind:"function",description:"Whether the given ObservableExpression is valid",uiLabel:"Is Valid Observable Expression"}]},QueryLanguageOptions:{name:"QueryLanguageOptions",kind:"Interface",description:"Options for managing Expressions using AdapTableQL",properties:[{name:"defaultAggregationFunctions",kind:"REFERENCE",description:"Aggregation Expression Functions available in AdapTableQL",uiLabel:"Default Aggregation Functions",isOptional:!0,gridInfo:"item",defaultValue:"null (sets all)",reference:"unknown"},{name:"defaultBooleanFunctions",kind:"REFERENCE",description:"Boolean Expression Functions available in AdapTableQL",uiLabel:"Default Boolean Functions",isOptional:!0,gridInfo:"item",defaultValue:"null (sets all)",reference:"unknown"},{name:"defaultObservableFunctions",kind:"REFERENCE",description:"Observable Expression Functions available in AdapTableQL",uiLabel:"Default Observable Functions",isOptional:!0,gridInfo:"item",defaultValue:"null (sets all)",reference:"unknown"},{name:"defaultScalarFunctions",kind:"REFERENCE",description:"Scalar Expression Functions available in AdapTableQL",uiLabel:"Default Scalar Functions",isOptional:!0,gridInfo:"item",defaultValue:"null (sets all)",reference:"unknown"},{name:"maxTimeframeSize",kind:"number",description:"Maximum time (in milliseconds) to hold a Data Change event in a trailing timeframe (see observableExpressionFunctions); value is capped at 86400000 (~24 hours) for performance reasons",uiLabel:"Max Timeframe Size",isOptional:!0,gridInfo:"item",defaultValue:"28800000 (~8 hours)"},{name:"moduleExpressionFunctions",kind:"unknown",description:"Module specific ExpressionFunctions; if not defined, it falls back to the defined default values",uiLabel:"Module Expression Functions",isOptional:!0,gridInfo:"item",defaultValue:"undefined (defaults to default values)"},{name:"performExpressionValidation",kind:"boolean",description:"Validate Expressions before they can be run or saved",uiLabel:"Perform Expression Validation",isOptional:!0,gridInfo:"item",defaultValue:"true"},{name:"queryableColumns",kind:"unknown",description:"Columns that can be included in AdapTableQL Expressions; leave unset to include **ALL**, provide empty array to set **NONE**",uiLabel:"Queryable Columns",isOptional:!0,gridInfo:"item",defaultValue:"undefined"}]},QueryState:{name:"QueryState",kind:"Interface",description:"Predefined Configuration for Query Module",properties:[{name:"CurrentQuery",kind:"string",description:"Expression used for the Query currently being run",uiLabel:"Current Query",isOptional:!0},{name:"NamedQueries",kind:"unknown",description:"Named Queries - can be referenced in other Expressions",uiLabel:"Named Queries",isOptional:!0}]},QuickSearchApi:{name:"QuickSearchApi",kind:"Interface",description:"Provides run-time access to Quick Search Module",properties:[{name:"clearQuickSearch",kind:"function",description:"Clears Quick Search",uiLabel:"Clear Quick Search"},{name:"getQuickSearchState",kind:"function",description:"Retrieves Quick Search section from Adaptable State",uiLabel:"Get Quick Search State"},{name:"getQuickSearchStyle",kind:"function",description:"Retrieves current Quick Search style",uiLabel:"Get Quick Search Style"},{name:"getQuickSearchValue",kind:"function",description:"Retrieves current Quick Search text",uiLabel:"Get Quick Search Value"},{name:"runQuickSearch",kind:"function",description:"Runs Quick Search using supplied text",uiLabel:"Run Quick Search"},{name:"setQuickSearchStyle",kind:"function",description:"Sets style for Quick Search; can be name of (a provided) css style",uiLabel:"Set Quick Search Style"},{name:"showQuickSearchPopup",kind:"function",description:"Opens Quick Search popup screen",uiLabel:"Show Quick Search Popup"}]},QuickSearchState:{name:"QuickSearchState",kind:"Interface",description:"Predefined Configuration for Quick Search Module",properties:[{name:"QuickSearchText",kind:"string",description:"Last Quick Search that was run (and will run again at start up)",uiLabel:"Quick Search Text",isOptional:!0},{name:"Style",kind:"REFERENCE",description:"Style to use to highlight matching cells - uses common `AdaptableStyle` object",uiLabel:"Style",isOptional:!0,reference:"AdaptableStyle"}]},ReactFrameworkComponent:{name:"ReactFrameworkComponent",kind:"TypeAlias",description:"A function that returns a ReactNode"},ReminderSchedule:{name:"ReminderSchedule",kind:"Interface",description:"Schedules a Reminder to appear at a given point in time",properties:[{name:"DisplayNotification",kind:"boolean",description:"Displays Reminder as a Toast Notification",uiLabel:"Display Notification"},{name:"Header",kind:"string",description:"Reminder header text",uiLabel:"Header"},{name:"Message",kind:"string",description:"Reminder body text",uiLabel:"Message"},{name:"MessageType",kind:"REFERENCE",description:"Type of Message - &#39;Success&#39;, &#39;Info&#39;, &#39;Warning&#39; or &#39;Error&#39;",uiLabel:"Message Type",reference:"AdaptableMessageType"}]},ReportData:{name:"ReportData",kind:"Interface",description:"Defines the data in a Report run by AdapTable",properties:[{name:"columns",kind:"unknown",description:"Columns in the Report",uiLabel:"Columns"},{name:"rows",kind:"unknown",description:"Rows in the Report",uiLabel:"Rows"}]},ReportSchedule:{name:"ReportSchedule",kind:"Interface",description:"Defines a Scheduled Report - used in Schedule Module (where State is stored)",properties:[{name:"ExportDestination",kind:"unknown",description:"Where report data will be exported",uiLabel:"Export Destination"},{name:"ExportDestinationData",kind:"REFERENCE",description:"Additional data for a Custom Destination produced by a Dynamic Form",uiLabel:"Export Destination Data",isOptional:!0,reference:"unknown"},{name:"ReportName",kind:"string",description:"Name of Report to run on Schedule",uiLabel:"Report Name"}]},RowInfo:{name:"RowInfo",kind:"Interface",description:"Provides meta data about a Row in Adaptable",properties:[{name:"isDisplayed",kind:"boolean",description:"Is Row displayed (ie. filtered, not necessarily in viewport)",uiLabel:"Is Displayed",isOptional:!0},{name:"isExpanded",kind:"boolean",description:"Is Row expanded (if a group row)",uiLabel:"Is Expanded",isOptional:!0},{name:"isGroup",kind:"boolean",description:"Is Row grouped",uiLabel:"Is Group",isOptional:!0},{name:"isMaster",kind:"boolean",description:"Is Row a Master Row (in a Master-Detail grid)",uiLabel:"Is Master",isOptional:!0},{name:"isSelected",kind:"boolean",description:"Is Row selected",uiLabel:"Is Selected",isOptional:!0},{name:"rowGroupLevel",kind:"number",description:"What level the Row is (if Row Grouping is active)",uiLabel:"Row Group Level",isOptional:!0}]},Schedule:{name:"Schedule",kind:"Interface",description:"Defines when an action will be run - either one-off or recurring",properties:[{name:"DaysOfWeek",kind:"REFERENCE",description:"Days on which Schedule will run",uiLabel:"Days Of Week",isOptional:!0,reference:"unknown"},{name:"Hour",kind:"number",description:"Hour the Schedule will run",uiLabel:"Hour"},{name:"Minute",kind:"number",description:"Minute the Schedule will run",uiLabel:"Minute"},{name:"OneOffDate",kind:"string",description:"A one off date on which the Schedule will run",uiLabel:"One Off Date",isOptional:!0}]},ScheduleApi:{name:"ScheduleApi",kind:"Interface",description:"Provides run-time access to the Schedule Module and associated state",properties:[{name:"addGlue42Schedule",kind:"function",description:"Add Glue42-based Schedule",uiLabel:"Add Glue42Schedule"},{name:"addIPushPullSchedule",kind:"function",description:"Add ipushpull-based Schedule",uiLabel:"Add IPush Pull Schedule"},{name:"addOpenFinSchedule",kind:"function",description:"Add OpenFin-based Schedule",uiLabel:"Add Open Fin Schedule"},{name:"addReminderSchedule",kind:"function",description:"Adds Reminder-based Schedule",uiLabel:"Add Reminder Schedule"},{name:"addReportSchedule",kind:"function",description:"Adds Report / Export Schedule",uiLabel:"Add Report Schedule"},{name:"applySchedule",kind:"function",description:"Applies the Schedule of given type",uiLabel:"Apply Schedule"},{name:"deleteGlue42Schedule",kind:"function",description:"Delete Glue42-based Schedule",uiLabel:"Delete Glue42Schedule"},{name:"deleteIPushPullSchedule",kind:"function",description:"Delete ipushpull-based Schedule",uiLabel:"Delete IPush Pull Schedule"},{name:"deleteOpenFinSchedule",kind:"function",description:"Delete OpenFin-based Schedule",uiLabel:"Delete Open Fin Schedule"},{name:"deleteReminderSchedule",kind:"function",description:"Deletes Reminder-based Schedule",uiLabel:"Delete Reminder Schedule"},{name:"deleteReportSchedule",kind:"function",description:"Deletes Report / Export Schedule",uiLabel:"Delete Report Schedule"},{name:"editGlue42Schedule",kind:"function",description:"Edit Glue42-based Schedule",uiLabel:"Edit Glue42Schedule"},{name:"editIPushPullSchedule",kind:"function",description:"Edit ipushpull-based Schedule",uiLabel:"Edit IPush Pull Schedule"},{name:"editOpenFinSchedule",kind:"function",description:"Edit OpenFin-based Schedule",uiLabel:"Edit Open Fin Schedule"},{name:"editReminderSchedule",kind:"function",description:"Edits Reminder-based Schedule",uiLabel:"Edit Reminder Schedule"},{name:"editReportSchedule",kind:"function",description:"Edits Report / Export Schedule",uiLabel:"Edit Report Schedule"},{name:"getAllActiveGlue42Schedule",kind:"function",description:"Retrieves all active (not-suspended) Glue42-based Schedules from Schedule State",uiLabel:"Get All Active Glue42Schedule"},{name:"getAllActiveIPushPullSchedule",kind:"function",description:"Retrieves all active (not-suspended) ipushpull-based Schedules from Schedule State",uiLabel:"Get All Active IPush Pull Schedule"},{name:"getAllActiveOpenFinSchedule",kind:"function",description:"Retrieves all active (not-suspended) OpenFin-based Schedules from Schedule State",uiLabel:"Get All Active Open Fin Schedule"},{name:"getAllActiveReminderSchedule",kind:"function",description:"Retrieves all active (not-suspended) Reminder-based Schedules from Schedule State",uiLabel:"Get All Active Reminder Schedule"},{name:"getAllActiveReportSchedule",kind:"function",description:"Retrieves all active (not-suspended) Report / Export Schedules from Schedule State",uiLabel:"Get All Active Report Schedule"},{name:"getAllGlue42Schedule",kind:"function",description:"Retrieves all Glue42-based Schedules from Schedule State",uiLabel:"Get All Glue42Schedule"},{name:"getAllIPushPullSchedule",kind:"function",description:"Retrieves all ipushpull-based Schedules from Schedule State",uiLabel:"Get All IPush Pull Schedule"},{name:"getAllOpenFinSchedule",kind:"function",description:"Retrieves all OpenFin-based Schedules from Schedule State",uiLabel:"Get All Open Fin Schedule"},{name:"getAllReminderSchedule",kind:"function",description:"Retrieves all Reminder-based Schedules from Schedule State",uiLabel:"Get All Reminder Schedule"},{name:"getAllReportSchedule",kind:"function",description:"Retrieves all Report / Export Schedules from Schedule State",uiLabel:"Get All Report Schedule"},{name:"getAllSchedule",kind:"function",description:"Retrieves the Schedule section from Adaptable State",uiLabel:"Get All Schedule"},{name:"getAllSuspendedGlue42Schedule",kind:"function",description:"Retrieves all suspended Glue42-based Schedules from Schedule State",uiLabel:"Get All Suspended Glue42Schedule"},{name:"getAllSuspendedIPushPullSchedule",kind:"function",description:"Retrieves all suspended ipushpull-based Schedules from Schedule State",uiLabel:"Get All Suspended IPush Pull Schedule"},{name:"getAllSuspendedOpenFinSchedule",kind:"function",description:"Retrieves all suspended OpenFin-based Schedules from Schedule State",uiLabel:"Get All Suspended Open Fin Schedule"},{name:"getAllSuspendedReminderSchedule",kind:"function",description:"Retrieves all suspended Reminder-based Schedules from Schedule State",uiLabel:"Get All Suspended Reminder Schedule"},{name:"getAllSuspendedReportSchedule",kind:"function",description:"Retrieves all suspended Report / Export Schedules from Schedule State",uiLabel:"Get All Suspended Report Schedule"},{name:"getScheduleById",kind:"function",description:"Retrieves Schedule by id",uiLabel:"Get Schedule By Id"},{name:"showSchedulePopup",kind:"function",description:"Opens Schedule popup screen",uiLabel:"Show Schedule Popup"},{name:"suspendGlue42Schedule",kind:"function",description:"Suspends Glue42-based Schedule",uiLabel:"Suspend Glue42Schedule"},{name:"suspendIPushPullSchedule",kind:"function",description:"Suspends ipushpull-based Schedule",uiLabel:"Suspend IPush Pull Schedule"},{name:"suspendOpenFinSchedule",kind:"function",description:"Suspends OpenFin-based Schedule",uiLabel:"Suspend Open Fin Schedule"},{name:"suspendReminderSchedule",kind:"function",description:"Suspends Reminder-based Schedule",uiLabel:"Suspend Reminder Schedule"},{name:"suspendReportSchedule",kind:"function",description:"Suspends Report / Export Schedule",uiLabel:"Suspend Report Schedule"},{name:"unSuspendGlue42Schedule",kind:"function",description:"Activates a suspended Glue42-based Schedule",uiLabel:"Un Suspend Glue42Schedule"},{name:"unSuspendIPushPullSchedule",kind:"function",description:"Activates a suspended ipushpull-based Schedule",uiLabel:"Un Suspend IPush Pull Schedule"},{name:"unSuspendOpenFinSchedule",kind:"function",description:"Activates a suspended OpenFin-based Schedule",uiLabel:"Un Suspend Open Fin Schedule"},{name:"unSuspendReminderSchedule",kind:"function",description:"Activates a suspended Reminder-based Schedule",uiLabel:"Un Suspend Reminder Schedule"},{name:"unSuspendReportSchedule",kind:"function",description:"Activates a suspended Report / Export Schedule",uiLabel:"Un Suspend Report Schedule"}]},ScheduleState:{name:"ScheduleState",kind:"Interface",description:"Predefined Configuration for the Schedule Module",properties:[{name:"Glue42Schedules",kind:"unknown",description:"Schedules connected to Glue42 exports - available if Glue42 plugin is running",uiLabel:"Glue42Schedules",isOptional:!0},{name:"IPushPullSchedules",kind:"unknown",description:"Schedules connected to ipushpull Reports - available if ipushpull plugin is running",uiLabel:"I Push Pull Schedules",isOptional:!0},{name:"OpenFinSchedules",kind:"unknown",description:"Schedules connected to OpenFin data exports - available if OpenFin plugin is running",uiLabel:"Open Fin Schedules",isOptional:!0},{name:"Reminders",kind:"unknown",description:"Schedules connected to Reminders - Alerts that fire at set times",uiLabel:"Reminders",isOptional:!0},{name:"ReportSchedules",kind:"unknown",description:"Schedules connected to Reports (created in the Export function)",uiLabel:"Report Schedules",isOptional:!0}]},ScopeApi:{name:"ScopeApi",kind:"Interface",description:"Provides access to a suite of functions related to the `Scope` object",properties:[{name:"createCellColorRangesForScope",kind:"function",description:"Creates Cell Color Ranges (used in Format Column) for given Scope",uiLabel:"Create Cell Color Ranges For Scope"},{name:"getColumnIdsInScope",kind:"function",description:"Returns all the ColumnIds in the Scope",uiLabel:"Get Column Ids In Scope"},{name:"getColumnsForScope",kind:"function",description:"Returns list of all Columns in the given Scope",uiLabel:"Get Columns For Scope"},{name:"getDataTypesInScope",kind:"function",description:"Returns all the DataTypes in the Scope",uiLabel:"Get Data Types In Scope"},{name:"getScopeDescription",kind:"function",description:"Provides a description for the Scope",uiLabel:"Get Scope Description"},{name:"getScopeToString",kind:"function",description:"Gets string representation of the Scope",uiLabel:"Get Scope To String"},{name:"getSingleColumnInScope",kind:"function",description:"Gets the only Column in given Scope",uiLabel:"Get Single Column In Scope"},{name:"isColumnInDateScope",kind:"function",description:"True if Scope has Data DataType which contains Column",uiLabel:"Is Column In Date Scope"},{name:"isColumnInNumericScope",kind:"function",description:"True if Scope has Numeric DataType containing Column",uiLabel:"Is Column In Numeric Scope"},{name:"isColumnInScope",kind:"function",description:"True if Column is in given Scope",uiLabel:"Is Column In Scope"},{name:"isColumnInScopeColumns",kind:"function",description:"True if Column is in Scope&#39;s &#39;ColumnIds&#39; section",uiLabel:"Is Column In Scope Columns"},{name:"isColumnInStringsScope",kind:"function",description:"True if Scope has String DataType containing Column",uiLabel:"Is Column In Strings Scope"},{name:"isPrimaryKeyColumnInScopeColumns",kind:"function",description:"Whether PK column is included in Scope&#39;s column section",uiLabel:"Is Primary Key Column In Scope Columns"},{name:"isScopeInScope",kind:"function",description:"True if first scope is in second Scope",uiLabel:"Is Scope In Scope"},{name:"isSingleBooleanColumnScope",kind:"function",description:"True if Scope contains just 1 boolean Column",uiLabel:"Is Single Boolean Column Scope"},{name:"isSingleColumnScope",kind:"function",description:"True if Scope contains just 1 ColumnId",uiLabel:"Is Single Column Scope"},{name:"isSingleNumericColumnScope",kind:"function",description:"True if Scope contains just 1 numeric Column",uiLabel:"Is Single Numeric Column Scope"},{name:"scopeHasColumns",kind:"function",description:"True if Scope contains ColumnIds",uiLabel:"Scope Has Columns"},{name:"scopeHasDataType",kind:"function",description:"True if Scope contains DataTypes",uiLabel:"Scope Has Data Type"},{name:"scopeIsAll",kind:"function",description:"True if Scope is &#39;All&#39;",uiLabel:"Scope Is All"},{name:"scopeIsEmpty",kind:"function",description:"True if Scope is empty",uiLabel:"Scope Is Empty"}]},SearchChangedInfo:{name:"SearchChangedInfo",kind:"Interface",description:"EventInfo returned by SearchChanged event; includes full AdapTable search and sort info plus the event&#39;s trigger",properties:[{name:"adaptableSearchState",kind:"REFERENCE",description:"Current searches and filters in the Grid",uiLabel:"Adaptable Search State",reference:"AdaptableSearchState"},{name:"adaptableSortState",kind:"REFERENCE",description:"Current sort state in the Grid",uiLabel:"Adaptable Sort State",reference:"AdaptableSortState"},{name:"searchChangedTrigger",kind:"unknown",description:"What search-related change caused the event to fire",uiLabel:"Search Changed Trigger"}]},SearchOptions:{name:"SearchOptions",kind:"Interface",description:"Search options section of Adaptable Options; includes options for running some (or all) search functions on the server",properties:[{name:"clearSearchesOnStartUp",kind:"boolean",description:"Clears saved searches when AdapTable loads",uiLabel:"Clear Searches On Start Up",isOptional:!0,gridInfo:"item",defaultValue:"false"},{name:"excludeColumnFromQuickSearch",kind:"unknown",description:"Function enabling specific Columns to be excluded from Quick Search",uiLabel:"Exclude Column From Quick Search",isOptional:!0,defaultValue:"undefined"},{name:"filterResultsAfterQuickSearch",kind:"boolean",description:"Runs a Query after Quick Search runs, filtering on quick search results",uiLabel:"Filter Results After Quick Search",isOptional:!0,gridInfo:"item",defaultValue:"false"},{name:"quickSearchPlaceholder",kind:"string",description:"Value to use as placeholder in QuickSearch controls (e.g. in Dashboard)",uiLabel:"Quick Search Placeholder",isOptional:!0,gridInfo:"item",defaultValue:"&#39;Search&#39;"},{name:"serverSearchOptions",kind:"REFERENCE",description:"Which searching and filtering options, if any, should take place on server",uiLabel:"Server Search Options",isOptional:!0,gridInfo:"item",defaultValue:"undefined",reference:"unknown"}]},SelectedCellInfo:{name:"SelectedCellInfo",kind:"Interface",description:"Describes which Cells are currently selected in AdapTable",properties:[{name:"columns",kind:"unknown",description:"Array of Columns which have selected cells",uiLabel:"Columns"},{name:"gridCells",kind:"unknown",description:"Array of GridCells (which provide cell value, primary kev value and other info)",uiLabel:"Grid Cells"}]},SelectedRowInfo:{name:"SelectedRowInfo",kind:"Interface",description:"Describes which Rows are currently selected in AdapTable",properties:[{name:"gridRows",kind:"unknown",description:"Array of Grid Rows containing full information about a row in AdapTable",uiLabel:"Grid Rows"}]},SelectionChangedInfo:{name:"SelectionChangedInfo",kind:"Interface",description:"Event Info published by SelectionChanged event",properties:[{name:"selectedCellInfo",kind:"REFERENCE",description:"Details of cells currently selected in the Grid",uiLabel:"Selected Cell Info",reference:"SelectedCellInfo"},{name:"selectedRowInfo",kind:"REFERENCE",description:"Details of rows currently selected in the Grid",uiLabel:"Selected Row Info",reference:"SelectedRowInfo"}]},SharedEntity:{name:"SharedEntity",kind:"Interface",description:"Defines an object used in Team Sharing",properties:[{name:"ChangedAt",kind:"number",description:"Last time when the object was changed",uiLabel:"Changed At"},{name:"ChangedBy",kind:"string",description:"Last User who changed the object",uiLabel:"Changed By"},{name:"Description",kind:"string",description:"Description of object being shared",uiLabel:"Description"},{name:"Entity",kind:"REFERENCE",description:"Actual Adaptable Object being shared",uiLabel:"Entity",reference:"AdaptableObject"},{name:"EntityDependencyIds",kind:"unknown",description:"Ids of direct entity dependencies",uiLabel:"Entity Dependency Ids"},{name:"Module",kind:"REFERENCE",description:"Adaptable Module to which object belongs",uiLabel:"Module",reference:"unknown"},{name:"Revision",kind:"number",description:"Revision - incremental for &#39;Active&#39;, always 1 for &#39;Snapshot&#39;",uiLabel:"Revision"},{name:"Timestamp",kind:"number",description:"When the object was shared",uiLabel:"Timestamp"},{name:"Type",kind:"REFERENCE",description:"&#39;Snapshot&#39; (for 1-time sharing) or &#39;Active&#39; (for continuous sharing between local state &amp; Team Share)",uiLabel:"Type",reference:"unknown"},{name:"UserName",kind:"string",description:"User who shared the object",uiLabel:"User Name"}]},Shortcut:{name:"Shortcut",kind:"Interface",description:"Used to define a Shortcut as used in Shortcut State",properties:[{name:"Scope",kind:"unknown",description:"Numeric Columns where Shortcut is applied",uiLabel:"Scope"},{name:"ShortcutKey",kind:"string",description:"Key which triggers the Shortcut when pressed",uiLabel:"Shortcut Key"},{name:"ShortcutOperation",kind:"unknown",description:"The Operation: &#39;Add&#39;, &#39;Subtract&#39;, &#39;Multiply&#39;, &#39;Divide&#39;",uiLabel:"Shortcut Operation"},{name:"ShortcutValue",kind:"number",description:"Value which acts as 2nd operand for ShortcutOperation (the first operand being the cell value)",uiLabel:"Shortcut Value"}]},ShortcutApi:{name:"ShortcutApi",kind:"Interface",description:"Provides run-time access to Shortcut Module and associated state",properties:[{name:"addShortcut",kind:"function",description:"Adds new Shortcut to the state",uiLabel:"Add Shortcut"},{name:"deleteAllShortcut",kind:"function",description:"Deletes all Shortcuts in Adaptable State",uiLabel:"Delete All Shortcut"},{name:"deleteShortcut",kind:"function",description:"Deletes Shortcut from the state",uiLabel:"Delete Shortcut"},{name:"getAllActiveShortcut",kind:"function",description:"Gets all active (not-suspended) Shortcuts in Adaptable State",uiLabel:"Get All Active Shortcut"},{name:"getAllShortcut",kind:"function",description:"Gets all Shortcuts in Adaptable State",uiLabel:"Get All Shortcut"},{name:"getAllSuspendedShortcut",kind:"function",description:"Gets all suspended Shortcuts in Adaptable State",uiLabel:"Get All Suspended Shortcut"},{name:"getShortcutById",kind:"function",description:"Retrieves Shortcut by Id",uiLabel:"Get Shortcut By Id"},{name:"getShortcutState",kind:"function",description:"Retrieves Shortcut section from Adaptable State",uiLabel:"Get Shortcut State"},{name:"showShortcutPopup",kind:"function",description:"Opens Shortcut popup screen",uiLabel:"Show Shortcut Popup"},{name:"suspendShortcut",kind:"function",description:"Suspends Shortcut definition",uiLabel:"Suspend Shortcut"},{name:"unSuspendShortcut",kind:"function",description:"Activates a suspended Shortcut definition",uiLabel:"Un Suspend Shortcut"}]},ShortcutScopeDataType:{name:"ShortcutScopeDataType",kind:"TypeAlias",description:"Shortcut scope data type."},ShortcutState:{name:"ShortcutState",kind:"Interface",description:"Predefined Configuration for Shortcut Module",properties:[{name:"Shortcuts",kind:"unknown",description:"Collection of Shortcuts - designed to speed up data entry",uiLabel:"Shortcuts",isOptional:!0}]},SmartEditApi:{name:"SmartEditApi",kind:"Interface",description:"Provides run-time access to the Smart Edit Module",properties:[{name:"applySmartEdit",kind:"function",description:"Applies a Smart Edit to given Cells",uiLabel:"Apply Smart Edit"},{name:"getSmartEditOperation",kind:"function",description:"Gets current Smart Edit Operation",uiLabel:"Get Smart Edit Operation"},{name:"getSmartEditValue",kind:"function",description:"Returns current Smart Edit Value",uiLabel:"Get Smart Edit Value"},{name:"setSmartEditOperation",kind:"function",description:"Sets Smart Edit operation: (&#39;Add&#39;,&#39;Subtract&#39;,&#39;Multiply&#39;,&#39;Divide&#39;",uiLabel:"Set Smart Edit Operation"},{name:"setSmartEditValue",kind:"function",description:"Sets Smart Edit Value",uiLabel:"Set Smart Edit Value"},{name:"showSmartEditPopup",kind:"function",description:"Opens Smart Edit popup screen",uiLabel:"Show Smart Edit Popup"}]},SpecialColumnSettings:{name:"SpecialColumnSettings",kind:"Interface",description:"Base Settings for SpecialColumns",properties:[{name:"Aggregatable",kind:"boolean",description:"Whether Column can be used in an aggregation when grouping",uiLabel:"Aggregatable",isOptional:!0,defaultValue:"true"},{name:"ColumnTypes",kind:"unknown",description:"Custom column types to be added to AG Grid Column Types when object is created",uiLabel:"Column Types",isOptional:!0},{name:"Filterable",kind:"boolean",description:"Whether Column is filterable",uiLabel:"Filterable",isOptional:!0,defaultValue:"true"},{name:"Groupable",kind:"boolean",description:"Whether Column can be grouped",uiLabel:"Groupable",isOptional:!0,defaultValue:"true"},{name:"Pivotable",kind:"boolean",description:"Whether Column can be used when grid is in pivot mode",uiLabel:"Pivotable",isOptional:!0,defaultValue:"true"},{name:"Resizable",kind:"boolean",description:"Whether Column can be resized (by dragging column header edges)",uiLabel:"Resizable",isOptional:!0,defaultValue:"true"},{name:"Sortable",kind:"boolean",description:"Whether Column is sortable",uiLabel:"Sortable",isOptional:!0,defaultValue:"true"},{name:"SuppressMenu",kind:"boolean",description:"Whether if no menu should be shown for this Column header.",uiLabel:"Suppress Menu",isOptional:!0,defaultValue:"false"},{name:"SuppressMovable",kind:"boolean",description:"Whether if this Column should be movable via dragging",uiLabel:"Suppress Movable",isOptional:!0,defaultValue:"false"},{name:"Width",kind:"number",description:"Preferred width (in pixels) for Column; if unset, calculated dynamically by AG Grid",uiLabel:"Width",isOptional:!0}]},StateOptions:{name:"StateOptions",kind:"Interface",description:"Options related to state hydration/dehydration - allows users to intercept state persistence and state loading with custom functionality.",properties:[{name:"applyState",kind:"unknown",description:"Allows hooking into AdaptableState hydration",uiLabel:"Apply State",isOptional:!0},{name:"clearState",kind:"REFERENCE",description:"Allows clearing of remote state.",uiLabel:"Clear State",isOptional:!0,reference:"unknown"},{name:"debounceStateDelay",kind:"number",description:"Delay (in ms) to debounce saveState/persistState calls enabling grouping multiple sequential calls in single one (e.g. elevator doors)",uiLabel:"Debounce State Delay",isOptional:!0,defaultValue:"400"},{name:"loadState",kind:"REFERENCE",description:"Allows the customization of state loading.",uiLabel:"Load State",isOptional:!0,reference:"AdaptableLoadStateFunction"},{name:"persistState",kind:"REFERENCE",description:"Allows the customization of state persistence.",uiLabel:"Persist State",isOptional:!0,reference:"AdaptablePersistStateFunction"},{name:"saveState",kind:"REFERENCE",description:"Allows the customization of the state that is going to be persisted",uiLabel:"Save State",isOptional:!0,reference:"unknown"}]},SuspendableObject:{name:"SuspendableObject",kind:"Interface",description:"Interface that extends Adaptable Object for those config items that can be suspended at run-time",properties:[{name:"IsSuspended",kind:"boolean",description:"Suspends (i.e. turns off) an Adaptable Object",uiLabel:"Is Suspended",isOptional:!0}]},SystemStatusApi:{name:"SystemStatusApi",kind:"Interface",description:"Provides access to System Status Module and associated state",properties:[{name:"deleteAllSystemStatusMessages",kind:"function",description:"Deletes all System Status messages",uiLabel:"Delete All System Status Messages"},{name:"fireSystemStatusMessageDisplayedEvent",kind:"function",description:"Fires SystemStatusMessageDisplayed Event",uiLabel:"Fire System Status Message Displayed Event"},{name:"getCurrentSystemStatusMessageInfo",kind:"function",description:"Retrieves current System Status Message",uiLabel:"Get Current System Status Message Info"},{name:"setErrorSystemStatus",kind:"function",description:"Sets an **Error** System Status Message",uiLabel:"Set Error System Status"},{name:"setInfoSystemStatus",kind:"function",description:"Sets an **Info** System Status Message",uiLabel:"Set Info System Status"},{name:"setSuccessSystemStatus",kind:"function",description:"Sets a **Success** System Status Message",uiLabel:"Set Success System Status"},{name:"setSystemStatus",kind:"function",description:"Sets a new System Status message; appears in System Status toolbar, tool panel (and popup).",uiLabel:"Set System Status"},{name:"setWarningSystemStatus",kind:"function",description:"Sets a **Warning** System Status Message",uiLabel:"Set Warning System Status"},{name:"showSystemStatusPopup",kind:"function",description:"Opens System Status popup",uiLabel:"Show System Status Popup"}]},SystemStatusMessageDisplayedInfo:{name:"SystemStatusMessageDisplayedInfo",kind:"Interface",description:"Object returned by the SystemStatusMessageDisplayed&#39; event",properties:[{name:"systemStatusMessageInfo",kind:"REFERENCE",description:"Details of the System Status Message and Type",uiLabel:"System Status Message Info",reference:"SystemStatusMessageInfo"}]},SystemStatusMessageInfo:{name:"SystemStatusMessageInfo",kind:"Interface",description:"Wraps a System Status Message",properties:[{name:"statusFurtherInformation",kind:"string",description:"Additional information to display (optional)",uiLabel:"Status Further Information",isOptional:!0},{name:"statusMessage",kind:"string",description:"The Message to be displayed",uiLabel:"Status Message"},{name:"statusType",kind:"REFERENCE",description:"Type of Message i.e. Succcess, Warning, Error, Info",uiLabel:"Status Type",reference:"AdaptableMessageType"},{name:"timestamp",kind:"date",description:"When Message was sent",uiLabel:"Timestamp",isOptional:!0}]},TeamSharingApi:{name:"TeamSharingApi",kind:"Interface",description:"Provides run-time access to Team Sharing Module and associated state",properties:[{name:"checkForUpdates",kind:"function",description:"Checks if active Shared Entities have updates (higher revisions than the local counterpart objects)",uiLabel:"Check For Updates"},{name:"fireTeamSharingEntityChangedEvent",kind:"function",description:"Fires the Team Sharing Entity Changed Event",uiLabel:"Fire Team Sharing Entity Changed Event"},{name:"getSharedEntities",kind:"function",description:"Retrieves all Shared Entities in Team Sharing State",uiLabel:"Get Shared Entities"},{name:"getTeamSharingState",kind:"function",description:"Retrieves Team Sharing section of State",uiLabel:"Get Team Sharing State"},{name:"hasTeamSharingFullRights",kind:"function",description:"Whether current user has full Team Sharing rights (for creating &amp; updating shared items)",uiLabel:"Has Team Sharing Full Rights"},{name:"isTeamSharingActivated",kind:"function",description:"Whether Team Sharing is Activated",uiLabel:"Is Team Sharing Activated"},{name:"showTeamSharingPopup",kind:"function",description:"Opens Team Sharing popup screen",uiLabel:"Show Team Sharing Popup"}]},TeamSharingEntityChangedInfo:{name:"TeamSharingEntityChangedInfo",kind:"Interface",description:"EventInfo returned by TeamSharingEntityChanged event",properties:[{name:"sharedEntity",kind:"REFERENCE",description:"Object containing the Shared Entity that has changed",uiLabel:"Shared Entity",reference:"SharedEntity"}]},TeamSharingOptions:{name:"TeamSharingOptions",kind:"Interface",description:"Options for managing Team Sharing - which enables Adaptable Objects to be shared between colleagues",properties:[{name:"enableTeamSharing",kind:"boolean",description:"Whether Team Sharing is enabled",uiLabel:"Enable Team Sharing",gridInfo:"item",defaultValue:"false"},{name:"getSharedEntities",kind:"unknown",description:"Function which retrieves available Shared Entities that user can download and merge automatically with Adaptable State",uiLabel:"Get Shared Entities",defaultValue:"null"},{name:"setSharedEntities",kind:"unknown",description:"Function which uploads Shared Entities so they can be downloaded by other members of the team",uiLabel:"Set Shared Entities",defaultValue:"null"},{name:"updateInterval",kind:"number",description:"Frequency (in minutes) to check if Active Shared Entities have a newer revision",uiLabel:"Update Interval",isOptional:!0,gridInfo:"item",defaultValue:"0 (never)"},{name:"updateNotification",kind:"unknown",description:"How user is informed when Active Shared Entities have newer revisions",uiLabel:"Update Notification",isOptional:!0,gridInfo:"item",defaultValue:"null (none)"}]},TeamSharingState:{name:"TeamSharingState",kind:"Interface",description:"State for Team Sharing; this is internal so not designed to be provided as part of Predefined Config",properties:[{name:"ActiveSharedEntityMap",kind:"unknown",description:"Mapping of active AdaptableObjects which are shared with the local state. Maps UUIDs of local AdaptableObjects to a snapshot of the latest synchronized SharedEntity",uiLabel:"Active Shared Entity Map"},{name:"importProcessInProgress",kind:"boolean",description:"TRUE if an import is in progress, FALSE otherwise. This is required to skip the TEAMSHARING_UPDATE_ITEM action as a result of the import",uiLabel:"Import Process In Progress"},{name:"SharedEntities",kind:"unknown",description:"List of objects currently being Team Shared",uiLabel:"Shared Entities"}]},ThemeApi:{name:"ThemeApi",kind:"Interface",description:"Provides run-time access to the Theme Module and associated state",properties:[{name:"applyCurrentTheme",kind:"function",description:"Applies the Current Theme",uiLabel:"Apply Current Theme"},{name:"getAllSystemTheme",kind:"function",description:"Retrieves System Themes in State",uiLabel:"Get All System Theme"},{name:"getAllTheme",kind:"function",description:"Retrieves all Themes (both System User) in State",uiLabel:"Get All Theme"},{name:"getAllUserTheme",kind:"function",description:"Retrieves User Themes in State",uiLabel:"Get All User Theme"},{name:"getCurrentTheme",kind:"function",description:"Retrieves name of Current Theme",uiLabel:"Get Current Theme"},{name:"getThemeState",kind:"function",description:"Retrieves Theme section from Adaptable State",uiLabel:"Get Theme State"},{name:"loadDarkTheme",kind:"function",description:"Sets AdapTable Dark Theme - updates the AG Grid theme to match",uiLabel:"Load Dark Theme"},{name:"loadLightTheme",kind:"function",description:"Sets AdapTable Light Theme - updates the AG Grid theme to match",uiLabel:"Load Light Theme"},{name:"loadTheme",kind:"function",description:"Sets Adaptable to use a given theme",uiLabel:"Load Theme"},{name:"setSystemThemes",kind:"function",description:"Sets available System Themes; if empty array is passed none will be",uiLabel:"Set System Themes"},{name:"setUserThemes",kind:"function",description:"Sets available User Themes",uiLabel:"Set User Themes"},{name:"showThemePopup",kind:"function",description:"Opens Theme popup screen",uiLabel:"Show Theme Popup"}]},ThemeChangedInfo:{name:"ThemeChangedInfo",kind:"Interface",description:"Object returned by the `ThemeChanged` event",properties:[{name:"theme",kind:"unknown",description:"Selected Theme: either name of a (System) theme or the (Custom) Theme itself",uiLabel:"Theme"}]},ThemeState:{name:"ThemeState",kind:"Interface",description:"Theme section of Adaptable State",properties:[{name:"CurrentTheme",kind:"unknown",description:"Name of current theme (or theme to set at startup); leave blank if using &#39;Light Theme&#39;, set to &#39;dark&#39; for &#39;Dark Theme&#39; or provide name of Custom Theme",uiLabel:"Current Theme",isOptional:!0},{name:"SystemThemes",kind:"unknown",description:"Which, if any, of the 2 themes shipped by Adaptable should be available; leave unset to provide both, or an empty array to provide neither.",uiLabel:"System Themes",isOptional:!0},{name:"UserThemes",kind:"unknown",description:"Custom themes (of type AdaptableTheme) provided by developers",uiLabel:"User Themes",isOptional:!0}]},ToolPanelApi:{name:"ToolPanelApi",kind:"Interface",description:"Functions for managing the AdapTable ToolPanel Component (at side of grid)",properties:[{name:"closeAdapTableToolPanel",kind:"function",description:"Closes the Tool Panel section (irrespective of which toolpanel is showing)",uiLabel:"Close Adap Table Tool Panel"},{name:"getCustomToolPanelButtons",kind:"function",description:"Retrieves all Custom Tool Panel Buttons defined in ToolPanelOptions",uiLabel:"Get Custom Tool Panel Buttons"},{name:"getCustomToolPanelByName",kind:"function",description:"Retrieves the CustomToolPanel with the given name (or undefined if no match is found)",uiLabel:"Get Custom Tool Panel By Name"},{name:"getCustomToolPanels",kind:"function",description:"Retrieves all Custom Tool Panels defined in ToolPanelOptions",uiLabel:"Get Custom Tool Panels"},{name:"getToolPanelState",kind:"function",description:"Retrieves Tool Panel section from Tool Panel State",uiLabel:"Get Tool Panel State"},{name:"openAdapTableToolPanel",kind:"function",description:"Opens the Adaptable ToolPanel Component",uiLabel:"Open Adap Table Tool Panel"},{name:"setAdaptableToolPanelVisibilityMode",kind:"function",description:"Sets the given Adaptable ToolPanel with the provided visibilityMode (expanded / collapsed)",uiLabel:"Set Adaptable Tool Panel Visibility Mode"},{name:"setCustomToolPanelVisibilityMode",kind:"function",description:"Sets the Custom ToolPanel with the given name with the provided visibilityMode (expanded / collapsed)",uiLabel:"Set Custom Tool Panel Visibility Mode"},{name:"showToolPanelPopup",kind:"function",description:"Opens the Tool Panel popup",uiLabel:"Show Tool Panel Popup"}]},ToolPanelButtonContext:{name:"ToolPanelButtonContext",kind:"Interface",description:"Context required by functions when using a ToolPanel Button",properties:[{name:"toolPanelState",kind:"REFERENCE",description:"Current ToolPanel State",uiLabel:"Tool Panel State",reference:"ToolPanelState"}]},ToolPanelOptions:{name:"ToolPanelOptions",kind:"Interface",description:"Options related to managing the AdapTable ToolPanel Component",properties:[{name:"adaptableToolPanelTitle",kind:"string",description:"Title for AdapTable ToolPanel Component - appears vertically at side",uiLabel:"Adaptable Tool Panel Title",isOptional:!0,gridInfo:"item",defaultValue:"&#39;AdapTable&#39;"},{name:"customToolPanelButtons",kind:"unknown",description:"ToolPanel Buttons provided by Users which perform custom behaviour",uiLabel:"Custom Tool Panel Buttons",isOptional:!0},{name:"customToolPanels",kind:"unknown",description:"ToolPanels provided by Users which contain custom content",uiLabel:"Custom Tool Panels",isOptional:!0},{name:"iconKey",kind:"string",description:"Key of icon to be used (beside the label) for Adaptable ToolPanel Component",uiLabel:"Icon Key",isOptional:!0,gridInfo:"item",defaultValue:"&#39;menu&#39;"},{name:"maxWidth",kind:"number",description:"The max width of AdapTable ToolPanel",uiLabel:"Max Width",isOptional:!0,defaultValue:"undefined"},{name:"minWidth",kind:"number",description:"The min width of AdapTable ToolPanel",uiLabel:"Min Width",isOptional:!0,defaultValue:"var(--ab-cmp-toolpanel__width)"},{name:"showAdaptableToolPanel",kind:"boolean",description:"Displays Adaptable ToolPanel Component (only if AG Grid Sidebar is provided)",uiLabel:"Show Adaptable Tool Panel",isOptional:!0,gridInfo:"item",defaultValue:"true"},{name:"showToolPanelsDropdown",kind:"boolean",description:"Display the Tool Panels dropdown",uiLabel:"Show Tool Panels Dropdown",isOptional:!0,gridInfo:"item",defaultValue:"true"},{name:"toolPanelOrder",kind:"unknown",description:"Order of displayed ToolPanels in Sidebar",uiLabel:"Tool Panel Order",isOptional:!0,defaultValue:"[&#39;filters&#39;, &#39;columns&#39;, &#39;adaptable&#39;]"},{name:"width",kind:"number",description:"The initial width of AdapTable ToolPanel",uiLabel:"Width",isOptional:!0,defaultValue:"var(--ab-cmp-toolpanel__width)"}]},ToolPanelState:{name:"ToolPanelState",kind:"Interface",description:"Predefined Configuration for the Adaptable ToolPanel",properties:[{name:"ModuleButtons",kind:"REFERENCE",description:"AdapTable Module Buttons visible in ToolPanel",uiLabel:"Module Buttons",isOptional:!0,defaultValue:"Empty Array",reference:"unknown"},{name:"ToolPanels",kind:"unknown",description:"ToolPanels visible",uiLabel:"Tool Panels",isOptional:!0,defaultValue:"ToolPanels for all available Modules (subject to Entitlement rules)"}]},UserInterfaceApi:{name:"UserInterfaceApi",kind:"Interface",description:"Functions relating to User Interface section of Adaptable State",properties:[{name:"addColumnMenuItem",kind:"function",description:"Adds menu item to Column Menu",uiLabel:"Add Column Menu Item"},{name:"addContextMenuItem",kind:"function",description:"Adds menu item to Context Menu",uiLabel:"Add Context Menu Item"},{name:"getAllActionColumn",kind:"function",description:"Retrieves any Action Columns in User Interface Options",uiLabel:"Get All Action Column"},{name:"getAllEditLookUpItems",kind:"function",description:"Retrieves `editLookUpItems` property from User Interface Options",uiLabel:"Get All Edit Look Up Items"},{name:"getAllPermittedValuesItems",kind:"function",description:"Retrieves `permittedValues` property from User Interface Options",uiLabel:"Get All Permitted Values Items"},{name:"getColorPalette",kind:"function",description:"Retrieves Color Palette currently being used",uiLabel:"Get Color Palette"},{name:"getCustomSortPermittedValuesForColumn",kind:"function",description:"Retrieves Permitted values for Custom sort.",uiLabel:"Get Custom Sort Permitted Values For Column"},{name:"getEditableCellStyle",kind:"function",description:"Returns Style set for Editable cells",uiLabel:"Get Editable Cell Style"},{name:"getEditLookUpItemForColumn",kind:"function",description:"Retrieves EditLookUpItems for a given Column",uiLabel:"Get Edit Look Up Item For Column"},{name:"getEditLookUpValuesForEditLookUpItem",kind:"function",description:"Retrieves actual Look Up Values from an EditLookUpItem",uiLabel:"Get Edit Look Up Values For Edit Look Up Item"},{name:"getFilterPermittedValuesForColumn",kind:"function",description:"Retrieves Permitted values for filtering by column values in Floating Filter and dropdown Filter.",uiLabel:"Get Filter Permitted Values For Column"},{name:"getPermittedValuesForColumn",kind:"function",description:"Retrieves Permitted Values for a given Column",uiLabel:"Get Permitted Values For Column"},{name:"getReadOnlyCellStyle",kind:"function",description:"Returns Style set for ReadOnly cells",uiLabel:"Get Read Only Cell Style"},{name:"getStyleClassNames",kind:"function",description:"Retrieves any Style Class Names from User Interface Options",uiLabel:"Get Style Class Names"}]},UserInterfaceOptions:{name:"UserInterfaceOptions",kind:"Interface",description:"Options for managing the User Interface of AdapTable",properties:[{name:"actionColumns",kind:"unknown",description:"Columns which contain an AdapTable Button - used for performing Actions",uiLabel:"Action Columns",isOptional:!0},{name:"applicationIcon",kind:"REFERENCE",description:"The application icon to appear in Dashboard and elsewhere (e.g. OpenFin notifications)",uiLabel:"Application Icon",isOptional:!0,defaultValue:"null",reference:"AdaptableIcon"},{name:"bulkUpdatePermittedValues",kind:"unknown",description:"Custom column values for editing via bulk-update. When not defined it defaults to permittedValues.",uiLabel:"Bulk Update Permitted Values",isOptional:!0},{name:"colorPalette",kind:"unknown",description:"Colours to display in Colour Picker (in place of AdapTable&#39;s default set)",uiLabel:"Color Palette",isOptional:!0},{name:"columnTypes",kind:"unknown",description:"Optional list of Column Types - used primarily for special columns",uiLabel:"Column Types",isOptional:!0},{name:"customSortPermittedValues",kind:"unknown",description:"Custom column values for defining custom sort. When not defined it defaults to permittedValues.",uiLabel:"Custom Sort Permitted Values",isOptional:!0},{name:"dateInputOptions",kind:"REFERENCE",description:"Options for managing and customizing date inputs in AdapTable",uiLabel:"Date Input Options",isOptional:!0,reference:"DateInputOptions"},{name:"editableCellStyle",kind:"REFERENCE",description:"Style to set for editable cells",uiLabel:"Editable Cell Style",isOptional:!0,reference:"AdaptableStyle"},{name:"editLookUpItems",kind:"unknown",description:"Dropdown values displayed when column is being edited. When not defined it defaults to permittedValues.",uiLabel:"Edit Look Up Items",isOptional:!0},{name:"filterPermittedValues",kind:"unknown",description:"Dropdown values for filter options inside floating and header filter. When not defined it defaults to permittedValues.",uiLabel:"Filter Permitted Values",isOptional:!0},{name:"gridInfoSections",kind:"REFERENCE",description:"Which sections to show in the Grid Info Screen",uiLabel:"Grid Info Sections",isOptional:!0,defaultValue:"[&#39;GridSummary&#39;, &#39;AdaptableOptions&#39;,&#39;ColumnInfo&#39;]",reference:"unknown"},{name:"permittedValues",kind:"unknown",description:"List of values which are permitted (e.g. to show in filter)",uiLabel:"Permitted Values",isOptional:!0},{name:"readOnlyCellStyle",kind:"REFERENCE",description:"Style to set for non-editable cells",uiLabel:"Read Only Cell Style",isOptional:!0,reference:"AdaptableStyle"},{name:"showDocumentationLinks",kind:"boolean",description:"Provide links to AdapTable documentation (in Module popups and Expression Editor)",uiLabel:"Show Documentation Links",isOptional:!0,gridInfo:"item",defaultValue:"true"},{name:"styleClassNames",kind:"unknown",description:"Optional list of CSS styles that can be used when creating Adaptable Styles in Adaptable (e.g. in Conditional Style, Format Column and other Modules)",uiLabel:"Style Class Names",isOptional:!0,gridInfo:"item"},{name:"useCustomMacLikeScrollbars",kind:"boolean",description:"Show Mac-like scrollbars; size is configurable via CSS variable `--ab-custom-scrollbar-size` (default: `10px`)",uiLabel:"Use Custom Mac Like Scrollbars",isOptional:!0,gridInfo:"item",defaultValue:"false"}]},UserMenuItem:{name:"UserMenuItem",kind:"Interface",description:"Menu Item which is added to Column Header or Context Menu, and can contain sub items",properties:[{name:"disabled",kind:"unknown",description:"Function to evaluate whether Menu Item is enabled",uiLabel:"Disabled",isOptional:!0},{name:"hidden",kind:"unknown",description:"Function to evaluate whether Menu Item is visible",uiLabel:"Hidden",isOptional:!0},{name:"icon",kind:"string",description:"Optional icon to display",uiLabel:"Icon",isOptional:!0},{name:"label",kind:"unknown",description:"Text that will appear in the Menu Item",uiLabel:"Label"},{name:"onClick",kind:"unknown",description:"Function to invoke when the Menu Item is clicked",uiLabel:"On Click",isOptional:!0},{name:"subMenuItems",kind:"unknown",description:"Array of Menu Items, enabling limitless levels of menus",uiLabel:"Sub Menu Items",isOptional:!0}]},ValidationResult:{name:"ValidationResult",kind:"Interface",description:"Used for Server Validation ie. after an edit has been made in Adaptable which should be checked on the Server",properties:[{name:"NewValue",kind:"unknown",description:"Cell Value to use for after Server Validation",uiLabel:"New Value",isOptional:!0},{name:"ValidationMessage",kind:"string",description:"Message to diplay with validation",uiLabel:"Validation Message",isOptional:!0}]},WeightedAverageColumn:{name:"WeightedAverageColumn",kind:"Interface",description:"Defines an Column which have Weighted Average aggregation",properties:[{name:"columnId",kind:"string",description:"Column which will contain the aggregation",uiLabel:"Column Id"},{name:"weightedColumnId",kind:"string",description:"Column used to perform the aggreation calculation",uiLabel:"Weighted Column Id"}]}};var nV=class{constructor(e){this.adaptable=e;this.gridInfoOptions=new Map;this.adaptable=e,this.gridInfoOptions=this.buildGridInfoOptions()}getGridInfoOptions(){return this.gridInfoOptions}buildGridInfoOptions(){let e=new Map,r=V0e,n=r.AdaptableOptions,o=this.adaptable.adaptableOptions,i=ar;if(!n)return e;let a=this.mapGridInfoContainerItems(n,o,i);return e.set("baseOptions",{containerLabel:"Base Options",items:a}),n.properties.filter(s=>s.gridInfo==="container").forEach(s=>{let u=s.reference,d=s.name,c=r[u],m=o[d],f=i[d];if(!c||!m||!f)return;let h=this.mapGridInfoContainerItems(c,m,f);e.set(s.name,{containerLabel:s.uiLabel,items:h})}),e}mapGridInfoContainerItems(e,r,n){var o;return(o=e.properties)==null?void 0:o.filter(i=>i.gridInfo==="item").map(i=>({name:i.name,value:r[i.name],defaultValue:n[i.name],description:i.description}))}destroy(){}};var CF=z3();Wt.ModuleRegistry.registerModules(Wt.AllCommunityModules);var G0e="/",iV=t=>{!t||(t.field&&!t.colId&&(t.colId=t.field),t.children?t.children.forEach(iV):t.colId||pt("A column is missing the colId - please check ",t,'Either pass a "field" property or a "colId" property.'))},H0e=Wt.RowNode.prototype,$ct=H0e.dispatchLocalEvent,oV=Wt.GridApi.prototype.setColumnDefs,W0e=(t,e,r)=>{t.forEach((n,o,i)=>{n.children?W0e(n.children,e,n):e(n,o,i,r)})},SF={},gl=class{constructor(){this.colDefPropertyCache=new Map;this.gridOptionsPropertyCache=new Map;this._on=(e,r)=>this.emitter?this.emitter.on(e,r):()=>{};this._onIncludeFired=(e,r)=>this.emitter?this.emitter.onIncludeFired(e,r):()=>{};this._emit=(e,r)=>{if(this.emitter)return this.emitter.emit(e,r)};this._emitSync=(e,r)=>{if(this.emitter)return this.emitter.emitSync(e,r)};this._adaptableReady=!1;this.isDestroyed=!1;this.agGridModules=[];this.isPluginLoaded=e=>{let r=this.adaptableOptions.plugins||[];for(let n=0,o=r.length;n<o;n++)if(r[n].pluginId===e)return!0;return!1};this.isAgGridReady=()=>{var r,n;let e=(n=(r=this.adaptableOptions.containerOptions)==null?void 0:r.agGridContainerWaitTimeout)!=null?n:6e4;return u3(()=>!!this.gridOptions.api,e)};this.debouncedSetColumnIntoStore=Ko(()=>{!this.gridOptions.api||this.updateColumnsIntoStore()},vb);this.debouncedSaveGridLayout=Ko(()=>{!this.gridOptions.api||this.updateLayoutFromGrid()},vb);this.debouncedSetSelectedCells=Ko(()=>{!this.gridOptions.api||this.setSelectedCells()},250);this.debouncedSetSelectedRows=Ko(()=>{!this.gridOptions.api||this.setSelectedRows()},vb);this.debouncedFilterGrid=Ko((e=()=>{})=>{!this.gridOptions.api||(this.applyGridFiltering(),e&&e())},vb);this.mapColumnDefs=(e,r,n)=>(n=n||{removeEmpty:!1},e=e||this.getGroupAndColumnDefs(),W0e(e,(o,i,a,s)=>{let u=r(o,i,a),d=s?s.children:a;d[i]=u,i===a.length-1&&n.removeEmpty&&s&&(s.children=d.filter(c=>!!c))}),n.removeEmpty&&(e=e.filter(o=>!!o)),e);this.getGroupAndColumnDefs=()=>[].concat(this.currentColumnDefs||this.gridOptions.columnDefs);this.getColumnDefsWithCorrectVisibility=()=>{let e=this.api.layoutApi.getCurrentVisibleColumnIdsMap();return this.gridOptions.columnApi.getAllColumns().map(r=>{let n=r.getColDef(),o=r.getColId();return n.colId=o,n.hide=!e[o],n})};this.getPreviousColDefInfo=e=>e.__ab||{}}static init(e){return gl.initInternal(e)}static async initInternal(e,r){let n={renderGrid:void 0,runtimeConfig:null},o=null;if(Array.isArray(e.plugins))for(let a of e.plugins)o=o&&o.then?o.then(()=>a.beforeInit(e)):a.beforeInit(e);let i=a=>a.init(e,r,!0).then(s=>(Array.isArray(e.plugins)&&e.plugins.forEach(u=>{u.afterInit(a)}),s));if(o&&o.then)return o.then(()=>{let a=new gl;return i(a)});{let a=new gl;return i(a)}}static collectInstance(e){e._id=e.adaptableOptions.adaptableId||yt(),SF[e._id]=e}static forEachAdaptable(e){Object.keys(SF).forEach(r=>{e(SF[r])})}static dismissInstance(e){delete SF[e._id]}async init(e,r,n){var o,i,a,s,u,d,c;return n||Rl(`
299
+ justify-content: center;`,this.eGui.appendChild(i)},n.prototype.checkedHandler=function(o){let i=o.target.checked;this.params.node.setDataValue(t,i),r.formatColumnApi.fireCheckboxColumnClickedEvent(t,this.params.node.data,r.gridApi.getPrimaryKeyValueForRowNode(this.params.node),i)},n.prototype.getGui=function(){return this.eGui},n.prototype.refresh=function(){return!0},n};l();var zB=class extends mt{constructor(e){super(Nl,"Data Changes","track-changes","DataChangeHistoryPopup","Provides an overview of all previous changes, giving the possibility to undo specific changes",e);this.api.internalApi.getDataService().on("DataChanged",r=>{r.trigger!=="undo"&&this.shouldLogDataChange(r)&&this.api.internalApi.dispatchReduxAction(IW(r))})}getPopupMaxWidth(){return 1e3}hasNamedQueryReferences(){return!1}shouldLogDataChange(e){return this.api.internalApi.getState().System.DataChangeHistory.currentMode!=="ACTIVE"?!1:this.api.internalApi.getAdaptableOptions().dataChangeHistoryOptions.showDataChange?this.api.internalApi.getAdaptableOptions().dataChangeHistoryOptions.showDataChange(e):!0}};l();l();var l0e=t=>({name:"Duration",values:[t.FlashDuration]});l();l();var Uy=y(require("react")),s0e=y(re());var u0e=t=>{let n=t,{data:e}=n,r=Ye(n,["data"]);return Uy.default.createElement(s0e.Flex,b({flexDirection:"row"},r),Uy.default.createElement(Cs,{mr:1,flex:1,styleObject:t.data.UpChangeStyle},"Up ",t.data.UpChangeStyle?"":" - no style"),Uy.default.createElement(Cs,{mr:1,flex:1,styleObject:t.data.DownChangeStyle},"Down",t.data.DownChangeStyle?"":" - no style"),Uy.default.createElement(Cs,{flex:1,styleObject:t.data.NeutralChangeStyle},"Neutral ",t.data.NeutralChangeStyle?"":" - no style"))};var d0e=()=>({name:"Change Style",view:u0e});l();var vs=y(require("react")),cb=require("react"),pF=y(re());l();var Sr=y(require("react")),p0e=require("react"),Fp=y(re());var c0e=t=>Sr.createElement(Sr.Fragment,null,Sr.createElement(Fp.Text,{fontSize:2},t.FlashDuration==="always"?Sr.createElement(Sr.Fragment,null,"Flashing is never removed"):Sr.createElement(Sr.Fragment,null,"Flashing is removed after ",Sr.createElement(Mr,null,t.FlashDuration)," ","milliseconds"))),m0e=t=>{var d;let{data:e}=je();e=e!=null?e:t.flashingCell;let r=c=>{t.onChange(E(b({},e),{FlashDuration:c}))},n=(d=e.FlashDuration)!=null?d:500,o=Sr.useRef(typeof n=="number"?n:500),i=(0,p0e.useRef)(null),a=Ni(n,n);Sr.useEffect(()=>{var c;a==="always"&&n!=a&&((c=i.current)==null||c.focus())},[n,a]);let s=c=>{r(c==="number"?o.current:"always")},u=c=>{t.onChange(E(b({},e),{FlashTarget:c}))};return Sr.createElement(Fp.Flex,{height:"100%",flexDirection:"column","data-name":"plus-minus-column-settings"},Sr.createElement(j,{autoFocus:!1,padding:2},Sr.createElement(j.Tab,null,"Flashing Cell Settings"),Sr.createElement(j.Content,null,Sr.createElement(tt,null,Sr.createElement(pe,{label:"Duration Type"},Sr.createElement(ke,{mr:3,checked:n=="always",tabIndex:-1,onChange:()=>s("always")},"Always"),Sr.createElement(ke,{checked:n!=="always",tabIndex:-1,onChange:()=>s("number")},"Limited (ms)")),Sr.createElement(pe,{label:""},n!=="always"&&Sr.createElement(Fp.Flex,{flexDirection:"row",alignItems:"baseline"},Sr.createElement(Fp.Text,{fontSize:2,mr:2},"After"),Sr.createElement($e,{readOnly:t.readOnly,type:"text",name:"value",ref:i,mt:2,mr:1,value:n,onChange:c=>{let m=c.target.value;r(isNaN(Number(m))?500:Number(m))}}),Sr.createElement(Fp.Text,{fontSize:2},"milliseconds")),n==="always"&&Sr.createElement(Fp.Text,{height:43,fontSize:3},"Persists the flashing style indeterminately - can be removed manually")),Sr.createElement(pe,{label:"Flash Target"},Sr.createElement(ke,{onChange:()=>u("cell"),mr:3,checked:(e==null?void 0:e.FlashTarget)=="cell",tabIndex:-1},"Cell"),Sr.createElement(ke,{onChange:()=>u("row"),checked:(e==null?void 0:e.FlashTarget)=="row",tabIndex:-1},"Row"))))))};l();var Jr=y(require("react"));var Hy=y(re());var f0e=t=>{var n;let{api:{flashingCellApi:e}}=je(),r=(n=t.FlashTarget)!=null?n:e.getFlashingCellFlashTarget(t);return Jr.createElement(op,{data:t,renderPredicate:o=>Jr.createElement(Jr.Fragment,null,"Flash ",Jr.createElement(Mr,null,r)," - value condition"," ",Jr.createElement(Mr,null,o)),renderQueryExpression:o=>Jr.createElement(Jr.Fragment,null,"Flash ",Jr.createElement(Mr,null,r)," when"," ",Jr.createElement("b",null,Jr.createElement(Mr,null,o)))})},h0e=t=>{var o;let{data:e,api:r}=je(),n=(o=e.FlashTarget)!=null?o:r.flashingCellApi.getFlashingCellFlashTarget(e);return Jr.createElement(eF,{onChange:t.onChange,wholeRowScope:!1,module:"flashingCell"},Jr.createElement(Hy.Text,{fontSize:2,mb:2,pl:2,pt:2},"Flash target"),Jr.createElement(j,{value:n!=null?n:"row",pl:2,onValueChange:i=>{t.onChange(E(b({},e),{FlashTarget:i}))}},Jr.createElement(j.Tab,{value:"row"},Jr.createElement(ke,{margin:0,tabIndex:-1,checked:n==="row"},"Row")),Jr.createElement(j.Content,{value:"row"},Jr.createElement(Hy.Text,{fontSize:2},"Flash the whole ",Jr.createElement("b",null,"row"))),Jr.createElement(j.Tab,{value:"cell"},Jr.createElement(ke,{margin:0,tabIndex:-1,checked:n==="cell"},"Cell")),Jr.createElement(j.Content,{value:"cell"},Jr.createElement(Hy.Text,{fontSize:2},"Flash the updated ",Jr.createElement("b",null,"cell")," only"))),Jr.createElement(Hy.Text,{mt:3,fontSize:2,pl:2},"Flash rules"))};l();var zn=y(require("react")),dF=y(re());var qB=zn.createElement(dF.Text,{fontSize:2,style:{display:"inline-block"}},"Change style"),g0e=t=>{var n,o,i;let{data:e,api:r}=je();return e=e!=null?e:t.flashingAlert,zn.createElement(zn.Fragment,null,zn.createElement(j,{defaultValue:"up"},zn.createElement(j.Tab,{value:"up"},"Up ",qB),zn.createElement(j.Content,{value:"up"},zn.createElement(nl,{headless:!0,api:r,Style:(n=e.UpChangeStyle)!=null?n:{},UpdateStyle:a=>t.onStyleChange("UpChangeStyle",a)})),zn.createElement(j.Tab,{value:"down"},"Down ",qB),zn.createElement(j.Content,{value:"down"},zn.createElement(nl,{headless:!0,api:r,Style:(o=e.DownChangeStyle)!=null?o:{},UpdateStyle:a=>t.onStyleChange("DownChangeStyle",a)})),zn.createElement(j.Tab,{value:"neutral"},"Neutral ",qB),zn.createElement(j.Content,{value:"neutral"},zn.createElement(nl,{headless:!0,api:r,Style:(i=e.NeutralChangeStyle)!=null?i:{},UpdateStyle:a=>t.onStyleChange("NeutralChangeStyle",a)}))))},Tct=t=>{let n=t,{data:e}=n,r=Ye(n,["data"]);return zn.createElement(dF.Box,b({},r),zn.createElement(Cs,{styleObject:t.data.UpChangeStyle},"Up change style ",t.data.UpChangeStyle?"":" - no style"),zn.createElement(Cs,{mt:2,styleObject:t.data.DownChangeStyle},"Down change style ",t.data.DownChangeStyle?"":" - no style"),zn.createElement(Cs,{mt:2,styleObject:t.data.NeutralChangeStyle},"Neutral change style ",t.data.NeutralChangeStyle?"":" - no style"))},b0e=t=>zn.createElement(Tct,{data:t});l();var C0e=y(require("react"));var S0e=t=>C0e.createElement(JO,b({},t));l();var y0e=(t,e,r)=>{let n=!0;if(!t.Rule.Predicate&&!t.Rule.BooleanExpression)return"No Rule defined for Flashing Cell";if(n&&t.Rule.Predicate&&(n=e.predicateApi.isValidPredicate(t.Rule.Predicate),!n))return"Predicate is not valid";if(n&&t.Rule.BooleanExpression&&(n=e.queryLanguageApi.isValidBooleanExpression(t.Rule.BooleanExpression,zf),!n))return"The query is not a valid boolean query";if(r.namedQuery!=!1){let o=e.queryApi.isValidNamedQueryName(r.namedQuery);if(!o.valid)return o.message}return!0};var v0e=t=>{let{api:e}=ht(),[r,n]=(0,cb.useState)(()=>{let d=t.data?Er(t.data):at.CreateEmptyFlashingCellDefinition();return d=e.flashingCellApi.mergeFlashingCellDefinitionWithDefaults(d),!d.Rule.BooleanExpression&&!d.Rule.Predicate&&(d.Rule.BooleanExpression=""),d}),o=d=>c=>{n(m=>(m=E(b({},m),{[d]:c}),m))},i={DownChangeStyle:(0,cb.useCallback)(o("DownChangeStyle"),[]),UpChangeStyle:(0,cb.useCallback)(o("UpChangeStyle"),[]),NeutralChangeStyle:(0,cb.useCallback)(o("NeutralChangeStyle"),[])},a=vs.createElement(g0e,{onStyleChange:(d,c)=>{i[d](c)}}),s=Ht(),u=()=>{t.data?s(th(r)):s(ic(r)),t.onFinishWizard(r)};return vs.createElement($r,{defaultCurrentSectionName:t.defaultCurrentSectionName,moduleInfo:t.moduleInfo,data:r,onHide:t.onCloseWizard,onFinish:u,sections:[{details:"Specify which data changes should trigger Cell Flashing",isValid:wa,render:()=>vs.createElement(S0e,{onChange:n}),renderSummary:ZO,title:"Scope"},{details:"Build the rules for when Cells should Flash",isValid:y0e,render:()=>vs.createElement(h0e,{onChange:n}),renderSummary:f0e,title:"Condition"},{details:"Select the Duration of the Flash",render:()=>vs.createElement(pF.Box,{padding:2},vs.createElement(m0e,{onChange:n})),renderSummary:c0e,title:"Settings"},{details:"Choose the Flashing Styles",render:()=>vs.createElement(pF.Box,{padding:2},a),renderSummary:b0e,title:"Flash Styles"},"-",{details:"Review the Flashing Cell Rule",render:()=>vs.createElement(pF.Box,{padding:2},vs.createElement(Xr,null)),title:"Summary"}]})};l();var A0e=t=>({name:"Target",values:[t.FlashTarget]});var QB=class extends mt{constructor(e){super(zf,"Flashing Cell","flashing-cell","FlashingAlert","Flash cells when they change",e);this.api.internalApi.getDataService().on("DataChanged",r=>{if(r.trigger!=="undo"){if(this.api.internalApi.getAdaptableOptions().notificationsOptions.dataChangeDetectionPolicy==="formattedValue"){let{oldValue:n,newValue:o}=r,i=r.column.columnId,a=this.api.gridApi.getFormattedValueFromRawValue(i,n),s=this.api.gridApi.getFormattedValueFromRawValue(i,o);if(a===s)return}this.handleDataSourceChanged(r)}})}getModuleAdaptableObjects(){return this.api.flashingCellApi.getFlashingCellDefinitions()}getExplicitlyReferencedColumnIds(e){let r=Gl(e.Rule);return r?this.api.queryLanguageApi.getColumnsFromExpression(r):this.api.scopeApi.scopeHasColumns(e.Scope)?this.api.scopeApi.getColumnsForScope(e.Scope).map(n=>n.columnId):[]}getReferencedNamedQueryNames(e){let r=Gl(e.Rule);return r?this.api.queryApi.getReferencedNamedQueryNames(r):[]}addColumnMenuItems(e){if(e&&this.isModuleEditable()&&!this.api.columnApi.isCalculatedColumn(e.columnId)){let n=this.api.flashingCellApi.getFlashingCellDefinitions().find(o=>this.api.scopeApi.isColumnInScope(e,o.Scope));return n?[this.createColumnMenuItemReduxAction("Remove Flashing Cell",this.moduleInfo.Glyph,Z_(n))]:[this.createColumnMenuItemReduxAction("Add Flashing Cell",this.moduleInfo.Glyph,ic({Scope:{ColumnIds:[e.columnId]},Rule:{Predicate:{PredicateId:"Any"}}}))]}}addContextMenuItems(e){let r=[];if(!e.isRowGroupColumn&&this.isModuleAvailable()&&e.adaptableColumn&&e.rowNode){let n=this.api.internalApi.getAdaptableFlashingCellFor(e.primaryKeyValue),o=this.api.internalApi.getAdaptableFlashingCellFor(e.primaryKeyValue,e.adaptableColumn.columnId);n&&n.flashTarget==="row"?r.push(this.createColumnMenuItemReduxAction("Clear Flashing Alert for Row",this.moduleInfo.Glyph,xb(n))):o&&o.flashTarget==="cell"&&r.push(this.createColumnMenuItemReduxAction("Clear Flashing Alert for Cell",this.moduleInfo.Glyph,xb(o)))}return r}handleDataSourceChanged(e){let r=this.getFlashingCellDefinitionsForDataChange(e);Ee.IsNotNullOrEmpty(r)&&this.showFlashingCellsForDefinitions(e,r)}showFlashingCellsForDefinitions(e,r=[]){let n=this.api.columnApi.getColumns().map(c=>c.columnId),o=e.column.dataType,i=o==="Number",a=i||o==="Date",s=!1,u=!1,d="neutral";if(a){let c=i?Number(e.newValue):e.newValue,m=i?Number(e.oldValue):e.oldValue;s=c>m,u=c<m,d=s?"up":u?"down":"neutral"}r.forEach(c=>{let m=this.api.flashingCellApi.getFlashingCellFlashTarget(c),f={[e.column.columnId]:!0};m==="row"&&n.forEach(g=>{f[g]=!0});let h=e.primaryKeyValue;this.api.flashingCellApi.showFlashingCell({rowPrimaryKey:h,flashingCellDefinition:c,dataChangedInfo:e,direction:d,flashTarget:m,flashColumnIds:f})})}getFlashingCellDefinitionsForDataChange(e){return this.getBaseAlertDefinitionsForDataChange(e,this.api.flashingCellApi.getActiveFlashingCellDefinitions(),!0)}getBaseAlertDefinitionsForDataChange(e,r,n=!1){let o=r.filter(a=>this.api.scopeApi.isColumnInScope(e.column,a.Scope)).filter(a=>!nc(a.Rule)),i=[];return Ee.IsNotNullOrEmpty(o)&&o.forEach(a=>{if(a.Rule.BooleanExpression){let s=a.Rule.BooleanExpression,u=e.rowNode;u||(u=this.api.gridApi.getRowNodeForPrimaryKey(e.primaryKeyValue)),this.api.queryLanguageApi.isValidBooleanExpression(s,this.moduleInfo.ModuleName,`Invalid Alert boolean expression '${s}'`)&&this.api.internalApi.getQueryLanguageService().evaluateBooleanExpression(s,this.moduleInfo.ModuleName,u)&&i.push(a)}else this.isAlertPredicateTriggered(a,e,n)&&i.push(a)}),i}isAlertPredicateTriggered(e,r,n=!1){return this.api.predicateApi.handlePredicate(e.Rule.Predicate,{value:r.newValue,oldValue:r.oldValue,displayValue:null,node:r.rowNode,column:r.column},n)}getTeamSharingAction(){return{ModuleEntities:this.api.flashingCellApi.getFlashingCellDefinitions(),AddAction:ic,EditAction:th}}toView(e){return{items:[E(b({},ra(e.Scope)),{label:"Trigger"}),Dp(e.Rule,this.api),l0e(e),A0e(e),d0e()],abObject:e}}toViewAll(){return this.api.flashingCellApi.getFlashingCellDefinitions().map(e=>this.toView(e))}getViewProperties(){return{getSuspendAction:h1,getUnSuspendAction:g1,getDeleteAction:Z_,getEditWizard:()=>v0e}}};l();var jB=class extends mt{constructor(e){let r=e.internalApi.getAdaptableOptions().settingsPanelOptions.title;super(kx,r,"settings",null,"Manage all Adaptable Settings",e)}addColumnMenuItems(e){return[this.createColumnMenuItemReduxAction("Open "+this.moduleInfo.FriendlyName,this.moduleInfo.Glyph,dr())]}addContextMenuItems(e){return[this.createColumnMenuItemReduxAction("Open "+this.moduleInfo.FriendlyName,this.moduleInfo.Glyph,dr())]}addModuleMenuItem(e){if(this.isModuleAvailable())return this.createColumnMenuItemReduxAction("Open "+this.moduleInfo.FriendlyName,this.moduleInfo.Glyph,dr())}};l();var YB=class extends mt{constructor(e){super(Lx,"Charts","chart","ChartPopup","Create Charts in order to see Adaptable Data visually",e)}isModuleAvailable(){return this.api.chartingApi.isChartingEnabled()&&super.isModuleAvailable()}};var Wy=z3(),KB=class{constructor(e,r){this.adaptable=e;this.gridOptions=r;this.initialAgGridColDefs={};this.adaptable=e,this.gridOptions=r}getAgGridLightThemeName(){return"ag-theme-balham"}getAgGridDarkThemeName(){return"ag-theme-balham-dark"}setUpModules(){let e=new Map,r=this.adaptable.api;return e.set(_l,new hB(r)),e.set(On,new uB(r)),e.set(zf,new QB(r)),e.set(Qa,new dB(r)),e.set(Kn,new pB(r)),e.set(Ml,new cB(r)),e.set(Vr,new mB(r)),e.set(yo,new fB(r)),e.set(Nl,new zB(r)),e.set(Yu,new bB(r)),e.set(Vn,new vB(r)),e.set(vo,new AB(r)),e.set(Ao,new xB(r)),e.set(lo,new EB(r)),e.set(Bo,new IB(r)),e.set(vn,new DB(r)),e.set(Or,new TB(r)),e.set(pa,new wB(r)),e.set(Ll,new LB(r)),e.set(ca,new BB(r)),e.set(kl,new kB(r)),e.set(Qf,new VB(r)),e.set($u,new UB(r)),e.set(Bl,new WB(r)),e.set(Ku,new GB(r)),e.set(Xu,new HB(r)),e.set(qf,new RB(r)),e.set(kx,new jB(r)),e.set(Lx,new YB(r)),e}TrySetUpNodeIds(){if(De.IsNullOrEmpty(this.adaptable.adaptableOptions.primaryKey))return!1;if(this.gridOptions.getRowNodeId!=null)return!0;let e=this.adaptable.adaptableOptions.primaryKey;return this.gridOptions.getRowNodeId=function(r){return r[e]},!0}createCheckboxRendererComp(e,r){return a0e(e,r,this.adaptable.api)}createNumericStyleRendererFunc(e){let r=e.ColumnStyle;return!r||r.CheckBoxStyle?void 0:o=>{if(!e.IncludeGroupedRows&&this.adaptable.isGroupRowNode(o.node))return;let i=this.adaptable.api.formatColumnApi.getNumericStyleMinValue(r,o.node,o.value),a=this.adaptable.api.formatColumnApi.getNumericStyleMaxValue(r,o.node,o.value),s=o.value;vr.objectNotExists(s)&&(s=0);let u=r.PercentBarStyle;if(u){let d=Lu(s,i,a),c=(d-i)/(a-i)*100,m;if(u.ColumnComparison)m=u.ColumnComparison.Color;else{let f=u.CellRanges.find(h=>h.Min<=d&&h.Max>=d);f&&(m=f.Color)}if(m){let f=document.createElement("div");f.className="ab-PercentBar__wrapper",f.style.height=u.CellText?"80%":"100%",f.style.display="flex",f.style.flexDirection="column",f.style.justifyContent="center";let h=document.createElement("div");h.className="ab-PercentBar__bar",h.style.background=u.BackColor,h.style.flex="1";let g=document.createElement("div");if(g.className="ab-PercentBar__barInside",g.style.background=m,g.style.height="100%",g.style.width=`${c.toFixed(0)}%`,h.append(g),f.append(h),u.CellText){let C=document.createElement("div");if(C.className="ab-PercentBar__text",C.style.lineHeight="1.2",u.CellText.includes("CellValue")){if(e.DisplayFormat){let S=e.DisplayFormat.Options;S&&(s=Yn.NumberFormatter(o.value,S))}C.innerText=s}u.CellText.includes("PercentageValue")&&(C.innerText+=` (${c.toFixed(0)}%)`),f.append(C)}return f}}}}getCleanValue(e){if(!(e==null||e=="null"||e==null||e=="undefined"))return String(e)||""}getRenderedValue(e,r){let n=e.cellRenderer;return typeof n=="string"?this.getCleanValue(r):n({value:r})||""}createAdaptableColumnFromAgGridColumn(e,r){let n=e.getColId(),o=e.getColDef(),i=this.gridOptions.columnApi.getDisplayNameForColumn(e,"header");this.initialAgGridColDefs[n]||(this.initialAgGridColDefs[n]=b({},e.getUserProvidedColDef()));let a=n,s=this.adaptable.adaptableOptions.primaryKey,u=r==null?void 0:r[a],d={Uuid:yt(),columnId:a,friendlyName:i,isPrimaryKey:a===s,dataType:this.getColumnDataType(e,!1),visible:e.isVisible(),readOnly:this.isColumnReadonly(o),columnGroup:u,sortable:this.isColumnSortable(o),filterable:this.isColumnFilterable(o),groupable:this.isColumnGroupable(o),pivotable:this.isColumnPivotable(o),aggregatable:this.isColumnAggregetable(o),availableAggregationFunctions:null,aggregationFunction:null,moveable:this.isColumnMoveable(o),hideable:this.isColumnHideable(o),queryable:this.isColumnQueryable(o,a),isGrouped:this.isColumnGrouped(o),isFixed:this.isColumnFixed(o),pinned:this.getColumnPinnedPosition(o),isExcludedFromQuickSearch:!1,isSparkline:this.isColumnSparkline(o)};d.aggregatable&&(d.availableAggregationFunctions=this.getColumnAggregationFunctions(o),typeof o.aggFunc=="string"&&(d.aggregationFunction=o.aggFunc));let c=this.adaptable.adaptableOptions.searchOptions.excludeColumnFromQuickSearch;return c&&c(d)&&(d.isExcludedFromQuickSearch=!0),d}createAdaptableSideBarDefs(e,r){let n=[];if(e){let i={id:"filters",labelDefault:"Filters",labelKey:"filters",iconKey:"filter",toolPanel:"agFiltersToolPanel"};n.push(i)}if(r){let i={id:"columns",labelDefault:"Columns",labelKey:"columns",iconKey:"columns",toolPanel:"agColumnsToolPanel"};n.push(i)}return n.push(this.createAdaptableToolPanel()),this.orderToolPanels(n),{toolPanels:n,defaultToolPanel:""}}createAdaptableToolPanel(){return{id:"adaptable",toolPanel:"AdaptableToolPanel",labelDefault:this.adaptable.adaptableOptions.toolPanelOptions.adaptableToolPanelTitle,labelKey:"adaptable",iconKey:this.adaptable.adaptableOptions.toolPanelOptions.iconKey,width:this.adaptable.adaptableOptions.toolPanelOptions.width,minWidth:this.adaptable.adaptableOptions.toolPanelOptions.minWidth,maxWidth:this.adaptable.adaptableOptions.toolPanelOptions.maxWidth}}orderToolPanels(e){let r=this.adaptable.adaptableOptions.toolPanelOptions.toolPanelOrder;e.sort(function(n,o){let i=typeof n=="string"?n:n.id,a=typeof o=="string"?o:o.id;return r.indexOf(i)-r.indexOf(a)})}reselectSelectedCells(){let e=this.gridOptions.api.getCellRanges();if(Ee.CorrectLength(e,1)){let r=e[0],n={rowStartIndex:r.startRow.rowIndex,rowEndIndex:r.endRow.rowIndex,columns:r.columns};this.gridOptions.api.clearRangeSelection(),this.gridOptions.api.addCellRange(n)}}fireSelectionChangedEvent(){let e={adaptableApi:this.adaptable.api,selectedCellInfo:this.adaptable.api.gridApi.getGridState().SelectedCellInfo,selectedRowInfo:this.adaptable.api.gridApi.getGridState().SelectedRowInfo};this.adaptable.api.eventApi.emit("SelectionChanged",e)}isColumnReadonly(e){return e&&typeof e.editable=="boolean"?!e.editable:!0}isColumnSortable(e){return e&&e.sortable!=null?e.sortable:!1}isColumnGroupable(e){return e&&e.enableRowGroup!=null?e.enableRowGroup:!1}isColumnPivotable(e){return e&&e.enablePivot!=null?e.enablePivot:!1}isColumnAggregetable(e){return e&&e.enableValue!=null?e.enableValue:!1}getColumnAggregationFunctions(e){return e.allowedAggFuncs||["sum","min","max","count","avg","first","last"]}isColumnMoveable(e){return!(!e||e.suppressMovable!=null&&e.suppressMovable==!0||this.isColumnFixed(e))}isColumnQueryable(e,r){if(!e)return!1;let n=this.adaptable.api.queryLanguageApi.getQueryableColumnIds();return Ee.IsNull(n)?!0:Ee.IsEmpty(n)?!1:n.find(o=>o==r)!=null}isColumnHideable(e){return!(!e||e.lockVisible!=null&&e.lockVisible==!0)}isColumnFilterable(e){return e!=null&&e.filter!=null&&e.filter!=!1}getColumnPinnedPosition(e){return e.pinned?e.pinned==="left"||e.pinned===!0?"left":"right":!1}isColumnFixed(e){return e?e.lockPosition!=null&&e.lockPosition==!0||e.lockPinned!=null&&e.lockPinned==!0:!1}isColumnGrouped(e){return e?e.rowGroup!=null&&e.rowGroup==!0||e.rowGroupIndex!=null:!1}isColumnSparkline(e){return(e==null?void 0:e.cellRenderer)==="agSparklineCellRenderer"}getColumnDataType(e,r=!0){if(!e)return pt("column is undefined returning String for Type"),"String";let n="Unknown",o=this.adaptable.api.columnApi.getColumnFromId(e.getId(),r);if(o&&o.dataType!="Unknown")return o.dataType;let i=e.getColDef().type;if(i&&(Array.isArray(i)?i.forEach(d=>{n=="Unknown"&&(n=this.getabColDefValue(d))}):n=this.getabColDefValue(i),n!="Unknown"))return n;let a=this.gridOptions.api.getModel();if(a==null)return pt(`No model so returning type "Unknown" for Column: "${e.getColId()}"`),"Unknown";let s=a.getRow(0);if(s==null)return pt(`No data in grid so returning type "Unknown" for Column: "${e.getColId()}"`),"Unknown";if(s.group){let d=s.childrenAfterGroup;if(Ee.IsNullOrEmpty(d))return pt(`No data in grid so returning type "Unknown" for Column: "${e.getColId()}"`),"Unknown";s=d[0]}let u=this.gridOptions.api.getValue(e,s);if(u instanceof Date)n="Date";else if(Array.isArray(u)&&u.length&&typeof u[0]=="number")n="NumberArray";else switch(typeof u){case"string":n="String";break;case"number":n="Number";break;case"boolean":n="Boolean";break;case"object":n="Object";break;default:break}return pt(`No defined type for column '${e.getColId()}'. Defaulting to type of first value: ${n}`),n}getabColDefValue(e){if(e=="numericColumn")return"Number";if(e.startsWith("abColDef"))switch(e){case"abColDefNumber":return"Number";case"abColDefNumberArray":return"NumberArray";case"abColDefString":return"String";case"abColDefBoolean":return"Boolean";case"abColDefDate":return"Date";case"abColDefObject":return"Object";default:return"Unknown"}return"Unknown"}getAgGridDataType(e){if(!e)return"abColDefString";switch(e){case"Boolean":return"abColDefBoolean";case"Date":return"abColDefDate";case"Number":return"abColDefNumber";case"NumberArray":return"abColDefNumberArray";case"Object":return"abColDefObject";case"String":return"abColDefString";case"All":case"Unknown":return"abColDefCustom"}}checkShouldClearExistingFiltersOrSearches(){this.adaptable.adaptableOptions.filterOptions.clearFiltersOnStartUp&&Ee.IsNotNullOrEmpty(this.adaptable.api.filterApi.getAllColumnFilter())&&(pt('Clearing existing Column Filters as "clearFiltersOnStartUp" is true'),this.adaptable.api.filterApi.clearAllColumnFilter()),this.adaptable.adaptableOptions.searchOptions.clearSearchesOnStartUp&&(De.IsNotNullOrEmpty(this.adaptable.api.quickSearchApi.getQuickSearchState().QuickSearchText)||De.IsNotNullOrEmpty(this.adaptable.api.queryApi.getCurrentQuery())||Ee.IsNotNullOrEmpty(this.adaptable.api.dataSourceApi.getAllDataSource()))&&(pt('Clearing existing Searches as "clearSearchesOnStartUp" is true'),this.adaptable.api.quickSearchApi.clearQuickSearch(),this.adaptable.api.queryApi.clearCurrentQuery(),this.adaptable.api.dataSourceApi.clearDataSource())}runAdaptableGroupComparerFunction(){let e=this.adaptable;return function(n,o){let i=e.getFirstGroupedColumn();if(i){let a=e.getActiveColumnComparator(i.columnId,e.api.customSortApi.getCustomSortByColumn(i.columnId),e.api.internalApi.getCustomSortComparer(i));if(a)return a(n.key,o.key)}return n.key==o.key?0:n.key<o.key?-1:1}}getCurrentIPPStyle(){let e=document.querySelectorAll(".ag-header-cell").item(0),r=document.querySelector(".ag-header"),n=r?window.getComputedStyle(r,null):null,o=document.querySelector(".ag-row-even"),i=o?window.getComputedStyle(o,null):null,a=document.querySelector(".ag-row-odd"),s=a?window.getComputedStyle(a,null):{backgroundColor:"#fff"};return{Header:{headerColor:Wy(n.color).toHexString(),headerBackColor:Wy(n.backgroundColor).toHexString(),headerFontFamily:n.fontFamily,headerFontSize:n.fontSize,headerFontStyle:n.fontStyle,headerFontWeight:n.fontWeight,height:Number(n.height.replace("px","")),Columns:this.adaptable.api.columnApi.getColumns().map(u=>{let d=document.querySelector(`.ag-header-cell[col-id='${u.columnId}']`),c=window.getComputedStyle(d||e,null);return{columnFriendlyName:u.friendlyName,width:Number(c.width.replace("px","")),textAlign:c.textAlign}})},Row:{color:Wy(i.color).toHexString(),backColor:Wy(i.backgroundColor).toHexString(),altBackColor:Wy(s.backgroundColor).toHexString(),fontFamily:i.fontFamily,fontSize:i.fontSize,fontStyle:i.fontStyle,fontWeight:i.fontWeight,height:Number(i.height.replace("px","")),Columns:this.adaptable.api.columnApi.getColumns().map(u=>{let d=document.querySelector(`.ag-cell[col-id='${u.columnId}']`),c=window.getComputedStyle(d||o,null);return{columnFriendlyName:u.friendlyName,width:Number(c.width.replace("px","")),textAlign:c.textAlign}})}}}};l();l();l();l();var x0e=no?no.isConcatSpreadable:void 0;function wct(t){return Tr(t)||Is(t)||!!(x0e&&t&&t[x0e])}var E0e=wct;function R0e(t,e,r,n,o){var i=-1,a=t.length;for(r||(r=E0e),o||(o=[]);++i<a;){var s=t[i];e>0&&r(s)?e>1?R0e(s,e-1,r,n,o):Ym(o,s):n||(o[o.length]=s)}return o}var I0e=R0e;function Oct(t){var e=t==null?0:t.length;return e?I0e(t,1):[]}var $B=Oct;var XB=class{constructor(e,r){this.adaptable=e;this.gridOptions=r;this.adaptable=e,this.gridOptions=r}buildColumnMenu(e,r){let n=e.column.getColId(),o=[],i=[],a=[];o.push(...this.createAgGridColumnMenuItems(r,e));let s=this.adaptable.adaptableOptions.menuOptions.showAdaptableColumnMenu,u=s==null||s!==!1;u&&o.push("separator");let d=this.adaptable.api.columnApi.getColumnFromId(n),c=this.createColumnMenuContextObject(d,e.column);if(c.isRowGroupColumn){let f=this.createGroupedColumnMenuItem();f&&i.push(f)}u&&i.push(...this.createAdaptableColumnMenuItems(d,c)),a.push(...this.createUserColumnMenuItems(c));let m={aggrid:o,adaptable:i,user:a};return $B(this.adaptable.adaptableOptions.menuOptions.columnMenuOrder.map(f=>m[f]))}buildContextMenu(e,r){let n=[],o=[],i=[],a=this.adaptable.adaptableOptions.menuOptions.showAdaptableContextMenu,s=a==null||a!==!1,u=this.adaptable.adaptableOptions.menuOptions.contextMenuItems,d=Ee.IsNotNullOrEmpty(u),c=this.createAgGridContextMenuItems(r,e);c&&(n.push(...c),(s||d)&&n.push("separator"));let m=[],f=e.column;if(f){let g=this.adaptable.api.columnApi.getColumnFromId(f.getColId()),C=this.createContextMenuContextObject(e,g),S=this.createAdaptableContextMenuItems(C);Ee.IsNotNullOrEmpty(S)&&m.push(...S),Ee.IsNotNullOrEmpty(m)&&s&&o.push(...this.createAgGridAdaptableContextMenuItems(m,C)),d&&i.push(...this.createAgGridUserContextMenuItems(u,C))}let h={aggrid:n,adaptable:o,user:i};return $B(this.adaptable.adaptableOptions.menuOptions.contextMenuOrder.map(g=>h[g]))}createRemoveGroupsMenuItem(e){return{name:e.label,action:e.onClick?e.onClick:()=>this.adaptable.api.internalApi.dispatchReduxAction(e.reduxAction),icon:Ck(e.icon,{style:{fill:"var(--ab-color-text-on-primary)"}})}}createAgGridMenuDefFromAdaptableMenu(e){let r=Ee.IsNotNullOrEmpty(e.subItems)?e.subItems.map(n=>this.createAgGridMenuDefFromAdaptableMenu(n)):void 0;return{name:e.label,action:e.onClick?e.onClick:e.reduxAction?()=>this.adaptable.api.internalApi.dispatchReduxAction(e.reduxAction):void 0,icon:Ck(e.icon,{style:{fill:"var(--ab-color-text-on-primary)"}}),subMenu:r}}createAgGridColumnMenuDefFromUserMenu(e,r){let n=e.onClick,o=e.disabled&&e.disabled(r);return{name:this.getLabelFromUserColumnMenuItem(e,r),action:()=>n?n(r):null,icon:e.icon,disabled:o,subMenu:Ee.IsNullOrEmpty(e.subMenuItems)?void 0:e.subMenuItems.map(i=>this.createAgGridColumnMenuDefFromUserMenu(i,r))}}createAgGridContextMenuDefFromUserMenu(e,r){let n=e.onClick,o=e.disabled&&e.disabled(r);return{name:this.getLabelFromUserContextMenuItem(e,r),action:()=>n?n(r):null,icon:e.icon,disabled:o,subMenu:Ee.IsNullOrEmpty(e.subMenuItems)?void 0:e.subMenuItems.map(i=>this.createAgGridContextMenuDefFromUserMenu(i,r))}}createAdaptableColumnMenuItemFromUserMenu(e,r){let n=e.onClick;return{label:this.getLabelFromUserColumnMenuItem(e,r),reduxAction:null,onClick:()=>n?n(r):null,isVisible:!0,icon:e.icon}}createAgGridColumnMenuItems(e,r){return e?e(r):r.defaultItems.slice(0)}createGroupedColumnMenuItem(){if(this.adaptable.adaptableOptions.menuOptions.showUngroupColumnMenuItem){let r={label:this.gridOptions.columnApi.getRowGroupColumns().length==1?"Ungroup Column":"Ungroup All",onClick:()=>this.gridOptions.columnApi.setRowGroupColumns([]),isVisible:!0,icon:"undo"};return this.createAgGridMenuDefFromAdaptableMenu(r)}}createAdaptableColumnMenuItems(e,r){let n=[];return this.getAdaptableMenuItemsColumnHeader(e,r).forEach(i=>{let a=this.createAgGridMenuDefFromAdaptableMenu(i);n.push(a)}),n}createUserColumnMenuItems(e){let r=[],n=this.getUserMenuItemsColumnHeader(e);return Ee.IsNotNullOrEmpty(n)&&n.forEach(o=>{let i=this.createAgGridColumnMenuDefFromUserMenu(o,e);r.push(i)}),r}createColumnMenuContextObject(e,r){return{adaptableColumn:e,agGridColumn:r,adaptableApi:this.adaptable.api,isRowGroupColumn:this.adaptable.api.columnApi.isRowGroupColumn(r.getColId())}}createContextMenuContextObject(e,r){let n=!1,o=!1,i;r&&(i=this.adaptable.getGridCellFromRowNode(e.node,r.columnId));let a=this.adaptable.api.gridApi.getSelectedCellInfo();i&&a&&(o=a.gridCells.find(d=>d!=null&&d.column==i.column&&d.primaryKeyValue==i.primaryKeyValue)!=null,o&&(n=Ee.CorrectLength(a.columns,1)));let s=this.adaptable.setSelectedRows();return{isSelectedCell:o,gridCell:i,adaptableColumn:r,agGridColumn:e.column,rowNode:e.node,isGroupedNode:e.node?e.node.group:!1,isSingleSelectedColumn:n,primaryKeyValue:i?i.primaryKeyValue:void 0,adaptableApi:this.adaptable.api,selectedCellInfo:a,selectedRowInfo:s,isRowGroupColumn:this.adaptable.api.columnApi.isRowGroupColumn(e.column.getColId())}}createAgGridContextMenuItems(e,r){return e?e(r).slice(0):r.defaultItems?r.defaultItems.slice(0):[]}createAdaptableContextMenuItems(e){let r=[];return this.adaptable.adaptableModules.forEach(n=>{let o=n.addContextMenuItems(e);o&&r.push(...o)}),this.adaptable._emitSync("CreateAdaptableContextMenuItems",{items:r,menuContext:e}),r}createAgGridAdaptableContextMenuItems(e,r){let n=[],o=this.adaptable.adaptableOptions.menuOptions.showAdaptableContextMenu;return(o==null||o!==!1)&&e.forEach(i=>{if(i){let a=!0;if(o!=null&&typeof o=="function"&&(a=o(i,r)),a){let s=this.createAgGridMenuDefFromAdaptableMenu(i);n.push(s)}}}),n}createAgGridUserContextMenuItems(e,r){let n=[];return e.filter(o=>!!o).filter(o=>o.hidden?!o.hidden(r):!0).forEach(o=>{let i=this.createAgGridContextMenuDefFromUserMenu(o,r);n.push(i)}),n}getAdaptableMenuItemsColumnHeader(e,r){let n=[],o=this.adaptable.adaptableOptions.menuOptions.showAdaptableColumnMenu,i=o==null||o!==!1;return this.adaptable.adaptableModules.forEach(a=>{let s=a.addColumnMenuItems(e);s&&(i?s.forEach(u=>{if(u){let d=!0;o!=null&&typeof o=="function"&&(d=o(u,r)),d&&n.push(u)}}):n.push(...s))}),n}getLabelFromUserColumnMenuItem(e,r){return typeof e.label=="function"?e.label(r):e.label}getLabelFromUserContextMenuItem(e,r){return typeof e.label=="function"?e.label(r):e.label}getUserMenuItemsColumnHeader(e){var r,n;return(n=(r=this.adaptable.adaptableOptions.menuOptions)==null?void 0:r.columnMenuItems)==null?void 0:n.filter(o=>o.hidden?!o.hidden(e):!0)}buildStandaloneColumnHeader(e){let r=this.createColumnMenuContextObject(e,null),n=[];n.push(...this.getAdaptableMenuItemsColumnHeader(e,r));let o=this.getUserMenuItemsColumnHeader(r);return Ee.IsNotNullOrEmpty(o)&&o.forEach(i=>{let a=this.createAdaptableColumnMenuItemFromUserMenu(i,r);n.push(a)}),n}};l();var Qy=y(require("react-dom"));l();var zr=y(require("react"));l();var hl=y(require("react"));var JB=y(re());l();var zy=y(require("react"));var Fct="ab-GridList",Mct=new Map([["item",{field:"item",header:null,flex:1}]]),_ct=t=>{var r;let e=zy.Children.map(t.children,(n,o)=>({item:n,id:o})).filter(n=>!!n.item);return zy.createElement(Wc,{data:e,primaryKey:"id"},zy.createElement(rs,{header:!1,showZebraRows:t.showZebraRows,rowHeight:(r=t.rowHeight)!=null?r:"--ab-grid-row-height",domProps:{className:He(Fct,t.className),style:{minHeight:"15rem"}},columns:Mct}))},D0e=_ct;var qy=require("react");var cF=t=>{let[e,r]=(0,qy.useState)(""),n=hl.useCallback(f=>{r(f),t==null||t.onFilterChange(f)},[t.onFilterChange]),[o,i]=(0,qy.useState)(t.uiSelectedColumnValues),a=f=>{i(f),t.onColumnValueSelectedChange(f)};(0,qy.useEffect)(()=>{i(t.uiSelectedColumnValues)},[t.uiSelectedColumnValues]);let s=f=>hl.createElement(he,E(b({},f),{variant:"agGrid",fontSize:2,marginTop:1,marginBottom:1,marginLeft:1,marginRight:1})),u=f=>{let h=o.indexOf(f);if(h>=0){let g=[...o];g.splice(h,1),a(g)}else a([...o,f])},d=t.columnDistinctValues.map((f,h)=>{let g=o.indexOf(f)>=0,C=f;return De.IsNullOrEmpty(C)||!t.suppressClientSideFilter&&De.IsNotNullOrEmpty(e)&&C.toLocaleLowerCase().indexOf(e.toLocaleLowerCase())<0?null:t.useAgGridStyle?s({key:"columnValue"+h,children:C,checked:g,onChange:()=>u(f)}):hl.createElement(eb,{noZebra:t.useAgGridStyle,key:"columnValue"+h,onClick:()=>u(f),active:g,value:C},C)}),c=hl.createElement(va,{autoFocus:!0,type:"text",placeholder:"Search Column Values",value:e,style:{paddingTop:"var(--ab-space-1)",paddingBottom:"var(--ab-space-1)",paddingLeft:"var(--ab-space-1)",borderRadius:"var(--ab__border-radius)"},OnTextChange:n}),m="ab-ListBoxFilterForm";return hl.createElement("div",{className:He(m,t.useAgGridStyle?`${m}--aggrid-style`:null,t.isLoading&&`${m}--loading`)},hl.createElement(JB.Box,{px:2},hl.createElement(JB.Box,{mx:t.useAgGridStyle?0:"2px",marginBottom:2},c,t.isLoading&&hl.createElement(yy,null,"Loading"))),!t.isLoading&&hl.createElement(D0e,{showZebraRows:!1,className:t.useAgGridStyle?"":"ab-padding-horizontal-0"},d))};l();var Om=y(require("react"));var ZB=class extends Om.Component{constructor(e){super(e);this.state={}}render(){let e=this.props.MenuItems.map((r,n)=>Om.createElement(eb,{key:n,onClick:()=>this.onClick(r)},r.icon&&Om.createElement(Ct,{name:r.icon}),r.label));return Om.createElement("div",{style:Nct},Om.createElement(bO,null,e))}onClick(e){this.props.onMenuItemClick(e)}},Nct={overflowY:"auto",overflowX:"hidden",height:"450px",marginBottom:"0"};l();var oi=y(require("react")),Iu=y(re());var eV=class extends oi.Component{render(){let e=oi.createElement(Iu.Flex,{alignItems:"center",flexDirection:"row",style:{width:"100%"}},this.props.IsAlwaysFilter?oi.createElement(Iu.Flex,{flex:6,marginRight:2},"Filter"):oi.createElement(Iu.Flex,{flex:6,flexDirection:"column"},oi.createElement(Iu.Flex,null,oi.createElement(Iu.Flex,{flex:6},oi.createElement(ke,{value:"Menu",checked:this.props.ColumnMenuTab=="Menu",onChange:()=>this.onSelectMenu()},"Menu")),oi.createElement(Iu.Flex,{flex:6},oi.createElement(ke,{value:"Filter",checked:this.props.ColumnMenuTab=="Filter",onChange:()=>this.onSelectFilter()},"Filter")))),this.props.clearFilterButton&&this.props.ColumnMenuTab=="Filter"&&this.props.clearFilterButton,this.props.saveButton&&this.props.ColumnMenuTab=="Filter"&&this.props.saveButton);return oi.createElement(Iu.Flex,{flexDirection:"column"},oi.createElement(Gt,{className:"ab-FilterFormPanel",header:e,headerProps:{padding:1},style:E(b({},this.props.style),{flex:1}),bodyProps:{padding:0,style:{maxHeight:"50vh"}},bodyScroll:!0,borderRadius:0,border:"none"},this.props.children),this.props.autoApplyFilter?null:oi.createElement(Iu.Flex,{flex:"none",flexDirection:"row",padding:1,justifyContent:"flex-end"},oi.createElement(Z,{variant:"raised",tone:"accent",disabled:this.props.applyFilterButtonDisabled,onClick:()=>this.onApplyFilterClicked()},"Apply Filter")))}onApplyFilterClicked(){this.props.onFilterApplied()}onSelectMenu(){this.props.ColumnMenuTabChanged("Menu")}onSelectFilter(){this.props.ColumnMenuTabChanged("Filter")}};var Fm=y(re());l();var Mp=(t,e)=>typeof e=="function"?e(t):e;var kct={width:"100%",minWidth:150},Mm=class extends zr.Component{constructor(e){super(e);this._isMounted=!1;this.handleFilterChange=e=>{this.state.suppressClientSideFilter&&this.loadPermittedValues(e)};this._isMounted=!0;let r=Mm.createColumnFilterFromProps(this.props);this.state={columnFilters:e.columnFilters,distinctColumnValues:[],isDistinctColumnValuesLoading:!1,showTab:!0,selectedTab:"Filter",editedColumnFilter:r,currentTab:Mm.getCurrentTab(r),suppressClientSideFilter:!1}}static createColumnFilterFromProps(e){let r=e.columnFilters.find(n=>n.ColumnId==e.currentColumn.columnId);if(!r){let n=e.api.internalApi.getAdaptableOptions().filterOptions;if(n.defaultFilterFormTab=="Values")return wt.CreateColumnFilter(e.currentColumn.columnId,"Values",[]);if(e.currentColumn.dataType==="Number")return wt.CreateColumnFilter(e.currentColumn.columnId,Mp(e.currentColumn,n.defaultNumericColumnFilter),[""]);if(e.currentColumn.dataType==="String")return wt.CreateColumnFilter(e.currentColumn.columnId,Mp(e.currentColumn,n.defaultStringColumnFilter),[""]);if(e.currentColumn.dataType==="Date")return wt.CreateColumnFilter(e.currentColumn.columnId,Mp(e.currentColumn,n.defaultDateColumnFilter),[""]);if(e.currentColumn.dataType==="Boolean")return wt.CreateColumnFilter(e.currentColumn.columnId,"BooleanToggle",["all"])}return r}static getCurrentTab(e){return e&&e.Predicate&&e.Predicate.PredicateId&&e.Predicate.PredicateId!="Values"?"predicates":"values"}static getDerivedStateFromProps(e,r){let o=e.api.internalApi.getAdaptableOptions().filterOptions.autoApplyFilter?Mm.createColumnFilterFromProps(e):r.editedColumnFilter,i=r.columnFilters,a=!1;return e.columnFilters!==i&&(i=e.columnFilters,a=!0),{editedColumnFilter:o,columnFilters:i,currentTab:a||!r.currentTab?Mm.getCurrentTab(o):r.currentTab}}componentWillUnmount(){this._isMounted=!1}componentDidMount(){this.props.currentColumn.dataType!="Boolean"&&this.loadPermittedValues()}async loadPermittedValues(e=""){let{values:r,suppressClientSideFilter:n}=await ep(this.props.api.columnApi.getDistinctFilterDisplayValuesForColumn(this.props.currentColumn.columnId,e),()=>this._isMounted&&this.setState({isDistinctColumnValuesLoading:!0}));!this._isMounted||this.setState({distinctColumnValues:r,isDistinctColumnValuesLoading:!1,suppressClientSideFilter:n})}render(){var d,c;let e=this.isFilterable(),r=this.props.api.internalApi.getAdaptableOptions().filterOptions,n=this.props.api.filterApi.getFilterPredicateDefsForColumn(this.props.currentColumn).filter(m=>!m.onlyQuickFilter),o=((c=(d=this.state.editedColumnFilter)==null?void 0:d.Predicate)==null?void 0:c.PredicateId)==="Values"?this.state.editedColumnFilter.Predicate.Inputs:[],i=vr.objectNotExists(this.state.editedColumnFilter)||vr.objectNotExists(this.state.editedColumnFilter.Predicate)||vr.objectNotExists(this.state.editedColumnFilter.Predicate.PredicateId),a=zr.createElement(Vy,{onClick:()=>this.onCloseForm(),tooltip:null,accessLevel:"Full"}),s=zr.createElement(Ma,{onClick:()=>this.onClearFilter(),disabled:i,tooltip:null,accessLevel:"Full",showText:!0,showIcon:!1}),u=!!r.useAgGridFilterFormStyle;return zr.createElement("div",{"data-name":"filter-form"},De.IsNullOrEmpty(e)?zr.createElement(eV,{style:kct,ColumnMenuTab:this.state.selectedTab,ColumnMenuTabChanged:m=>this.onSelectTab(m),IsAlwaysFilter:this.props.embedColumnMenu,clearFilterButton:s,closeButton:a,showCloseButton:this.props.showCloseButton,autoApplyFilter:!!r.autoApplyFilter,useAgGridStyle:u,applyFilterButtonDisabled:i,onFilterApplied:()=>this.onFilterApplied()},this.state.selectedTab=="Menu"?zr.createElement(ZB,{MenuItems:this.props.api.internalApi.buildStandaloneColumnHeader(this.props.currentColumn),onMenuItemClick:m=>this.onMenuItemClick(m)}):zr.createElement("div",null,this.state.showTab&&zr.createElement("div",null,zr.createElement(ke,{marginLeft:1,flex:1,checked:this.state.currentTab=="values",onChange:()=>this.setState({currentTab:"values"})},zr.createElement(Fm.Flex,{fontSize:"var( --ab-font-size-2)"},"Column Values")),zr.createElement(ke,{marginLeft:2,flex:1,checked:this.state.currentTab=="predicates",onChange:()=>this.setState({currentTab:"predicates"})},zr.createElement(Fm.Flex,{fontSize:"var( --ab-font-size-2)"},"Filters"))),this.state.currentTab==="values"&&zr.createElement("div",null,zr.createElement(cF,{suppressClientSideFilter:this.state.suppressClientSideFilter,isLoading:this.state.isDistinctColumnValuesLoading,onFilterChange:this.handleFilterChange,currentColumn:this.props.currentColumn,columns:this.props.columns,columnDistinctValues:this.state.distinctColumnValues,dataType:this.props.currentColumn.dataType,uiSelectedColumnValues:o,useAgGridStyle:u,onColumnValueSelectedChange:m=>this.onColumnValuesChange(m)})),this.state.currentTab==="predicates"&&zr.createElement("div",null," ",this.state.showTab&&zr.createElement("hr",null),n.filter(m=>m.id!="Values").map((m,f)=>this.renderColumnPredicate(m,f))))):zr.createElement(_t,null,e))}renderColumnPredicate(e,r){var i;let{editedColumnFilter:n}=this.state,o=((i=n==null?void 0:n.Predicate)==null?void 0:i.PredicateId)===e.id;return zr.createElement(Fm.Flex,{key:r,flexDirection:"column"},zr.createElement(ke,{fontSize:"var(--ab-font-size-2)",margin:1,flex:1,checked:o,onChange:()=>this.selectColumnPredicate(e)},e.label),zr.createElement(Fm.Flex,{flexDirection:"column",flex:0,marginLeft:3,marginRight:2},o&&this.renderPredicateInput(e,n)))}renderPredicateInput(e,r){var n;return(e==null?void 0:e.id)==="BooleanToggle"?zr.createElement(Fm.Flex,{flexDirection:"row",flex:1,justifyContent:"center",alignItems:"center"},zr.createElement(he,{checked:r.Predicate.Inputs[0]==="true"?!0:r.Predicate.Inputs[0]==="false"?!1:null,onChange:o=>{let i=r.Predicate.Inputs[0]==="false"&&o===!0?"all":o===!0?"true":"false";this.changeColumnPredicateInput(i,0)}})):(n=e.inputs)==null?void 0:n.map((o,i)=>zr.createElement(Fm.Flex,{flexDirection:"row"},zr.createElement(Yr,{key:i,type:o.type,autoFocus:i===0,value:r.Predicate.Inputs[i],onChange:a=>this.changeColumnPredicateInput(a.target.value,i),style:{marginBottom:5,flex:1,fontSize:"var( --ab-font-size-2)"}})))}isFilterable(){return this.props.currentColumn.filterable?"":"Column is not filterable"}onSelectTab(e){this.setState({selectedTab:e})}onColumnValuesChange(e){let{editedColumnFilter:r}=this.state;r.Predicate={PredicateId:"Values",Inputs:e},this.setState({editedColumnFilter:r}),this.persistFilter()}persistFilter(){let{editedColumnFilter:e}=this.state;e.Predicate===void 0||e.Predicate.PredicateId==="Values"&&e.Predicate.Inputs.length===0?this.props.onClearColumnFilter(e):this.props.api.internalApi.getAdaptableOptions().filterOptions.autoApplyFilter&&this.props.onSetColumnFilter(e)}onClearFilter(){let{editedColumnFilter:e}=this.state;e.Predicate=void 0,this.setState({editedColumnFilter:e}),this.persistFilter()}onFilterApplied(){this.props.onAddColumnFilter(this.state.editedColumnFilter),this.props.onHideFilterForm()}onCloseForm(){this.props.onHideFilterForm()}onMenuItemClick(e){e.reduxAction&&this.props.onMenuItemClick(e.reduxAction),e.onClick&&e.onClick(),this.props.onHideFilterForm()}selectColumnPredicate(e){var n;let{editedColumnFilter:r}=this.state;r.Predicate={PredicateId:e.id,Inputs:((n=e.inputs)!=null?n:[]).map(o=>{var i;return(i=o.defaultValue)!=null?i:""})},this.setState({editedColumnFilter:r}),this.persistFilter()}changeColumnPredicateInput(e,r){let{editedColumnFilter:n}=this.state;n.Predicate.Inputs[r]=e,this.setState({editedColumnFilter:n}),this.props.api.internalApi.getAdaptableOptions().filterOptions.autoApplyFilter&&this.props.onSetColumnFilter(n)}};function Bct(t,e){return{currentColumn:e.currentColumn,columns:t.Grid.Columns,columnFilters:t.Filter.ColumnFilters,showCloseButton:e.showCloseButton}}function Vct(t){return{onMenuItemClick:e=>t(e),onClearColumnFilter:e=>t(Ul(e)),onAddColumnFilter:e=>t(Hs(e)),onEditColumnFilter:e=>t(ch(e)),onSetColumnFilter:e=>t(CC(e)),onShowPrompt:e=>t(uA(e)),onHideFilterForm:()=>t(qX())}}var Gct=We(Bct,Vct)(Mm),P0e=t=>La(zr.createElement(Gct,{api:t.Adaptable.api,currentColumn:t.Column,teamSharingActivated:!1,embedColumnMenu:t.Adaptable.embedColumnMenu,showCloseButton:t.ShowCloseButton}),t.Adaptable);var T0e=t=>class{init(r){this.params=r,this.column=r.column,this.filterContainer=document.createElement("div"),this.filterContainer.id="filter_"+this.params.column.getColId()+"_"+t.adaptableOptions.adaptableId}isFilterActive(){return t.api.filterApi.getAllColumnFilter().findIndex(r=>r.ColumnId==this.params.column.getColId())>-1}doesFilterPass(r){return!0}getModel(){}setModel(r){}getGui(){return this.filterContainer}afterGuiAttached(r){Qy.unmountComponentAtNode(this.filterContainer);let n=t.api.columnApi.getColumnFromId(this.column.getColId());if(n){let o={Column:n,Adaptable:t,ShowCloseButton:r!=null&&r.hidePopup!=null};t.hideFilterFormPopup=r?r.hidePopup:null,Qy.render(P0e(o),this.filterContainer)}}destroy(){Qy.unmountComponentAtNode(this.filterContainer),this.filterContainer=null}};l();var mF=y(require("react-dom"));l();var hr=y(require("react"));var _m=y(re());var w0e=class extends hr.Component{constructor(e){super(e);this._isMounted=!1;this.handleFilterChange=e=>{this.state.suppressClientSideFilter&&this.loadPermittedValues(e)};this.loadPermittedValues=async(e="")=>{let{values:r,suppressClientSideFilter:n}=await ep(this.props.api.columnApi.getDistinctFilterDisplayValuesForColumn(this.props.currentColumn.columnId,e),()=>this._isMounted&&this.setState({isDistinctColumnValuesLoading:!0}));!this._isMounted||this.setState({distinctColumnValues:r,suppressClientSideFilter:n,isDistinctColumnValuesLoading:!1})};this.debouncedAddFilter=Ko(()=>this.props.onAddColumnFilter(this.state.filter),250);this.debouncedEditFilter=Ko(()=>this.props.onEditColumnFilter(this.state.filter),250);let r=this.getFilterFromProps();this._isMounted=!0,this.state={filter:r,suppressClientSideFilter:!1,isDistinctColumnValuesLoading:!1,distinctColumnValues:[]}}componentDidMount(){var e,r;((r=(e=this.state)==null?void 0:e.filter)==null?void 0:r.Predicate.PredicateId)==="Values"&&this.loadPermittedValues()}componentWillUnmount(){this._isMounted=!1}UNSAFE_componentWillReceiveProps(e){let r=this.getFilterFromProps(e);Di(r,this.state.filter)||(this.setState({filter:r}),(r==null?void 0:r.Predicate)&&r.Predicate.PredicateId==="Values"&&(this.setState({isDistinctColumnValuesLoading:!0}),this.loadPermittedValues()))}getFilterFromProps(e=this.props){let r=e.columnFilters.find(o=>o.ColumnId==e.currentColumn.columnId),n=e.api.internalApi.getAdaptableOptions().filterOptions;return r||(!r&&e.currentColumn.dataType==="Number"?wt.CreateColumnFilter(e.currentColumn.columnId,Mp(e.currentColumn,n.defaultNumericColumnFilter),[""]):!r&&e.currentColumn.dataType==="String"?wt.CreateColumnFilter(e.currentColumn.columnId,Mp(e.currentColumn,n.defaultStringColumnFilter),[""]):!r&&e.currentColumn.dataType==="Date"?wt.CreateColumnFilter(e.currentColumn.columnId,Mp(e.currentColumn,n.defaultDateColumnFilter),[""]):!r&&e.currentColumn.dataType==="Boolean"?wt.CreateColumnFilter(this.props.currentColumn.columnId,"BooleanToggle",["all"]):wt.CreateColumnFilter(this.props.currentColumn.columnId,null,null))}render(){let{filter:e}=this.state,r=this.props.api.filterApi.getFilterPredicateDefsForColumn(this.props.currentColumn),n=this.props.api.predicateApi.getPredicateDefById(e==null?void 0:e.Predicate.PredicateId);if(!this.props.currentColumn||!this.props.currentColumn.filterable)return null;let o="mouseenter",i="mouseleave";this.props.quickFilterTrigger==="click"&&(o="click",i="blur");let a=!0,s=this.props.api.internalApi.getAdaptableOptions().filterOptions.hideQuickFilterDropdown;s&&(a=!s(this.props.currentColumn));let u=!0,d=this.props.api.internalApi.getAdaptableOptions().filterOptions.hideQuickFilterInput;return d&&(u=!d(this.props.currentColumn)),hr.createElement(hr.Fragment,null,a&&hr.createElement(Li,{showEvent:o,hideEvent:i,preventPortalEventPropagation:o==="click",alignHorizontal:"left",targetOffset:10,hideDelay:300,"data-name":"quick-filter-overlay",style:{overflowY:"auto",fontSize:"var(--ab-font-size-2)",border:"1px solid var(--ab-color-primarydark)",background:"var(--ab-color-defaultbackground)"},render:()=>hr.createElement(_m.Flex,{flexDirection:"column","data-name":"quick-filter"},(e==null?void 0:e.Predicate.PredicateId)&&hr.createElement(hr.Fragment,null,hr.createElement(Z,{p:2,variant:"text",onClick:()=>this.clearFilter()},hr.createElement("span",{style:{width:20,marginRight:10}},hr.createElement(Ct,{name:"delete"})),"Clear")),r.map(c=>hr.createElement(Z,{key:c.id,p:2,variant:"text",tone:(e==null?void 0:e.Predicate.PredicateId)===c.id?"info":"none",onClick:()=>this.selectColumnPredicate(c.id)},hr.createElement("span",{style:{width:20,marginRight:10}},this.renderPredicateIcon(c)),c.label)))},hr.createElement(Z,{style:{borderRadius:0,borderColor:"var(--ab-color-primarydark)"}},this.renderPredicateIcon(n))),u&&this.renderLabel(e,n),u&&this.renderPredicateInput(n,e))}renderLabel(e,r){return(e==null?void 0:e.Predicate.PredicateId)==="Values"?Pe.IsNullOrEmpty(e.Predicate.Inputs)&&Pe.IsNullOrEmptyOrContainsSingleEmptyValue(this.state.distinctColumnValues)?this.renderNoValuesDropdown(e):this.renderValuesDropdown(e):r&&(r==null?void 0:r.inputs)===void 0&&hr.createElement(_m.Box,{p:1,alignSelf:"center"},r.label)}renderPredicateIcon(e){if(!e||!e.icon)return hr.createElement(Ct,{name:"filter-outline"});if("text"in e.icon)return hr.createElement("span",null,e.icon.text);if("path"in e.icon)return hr.createElement(Ct,{name:e.icon.path})}renderPredicateInput(e,r){var n;return(e==null?void 0:e.id)==="BooleanToggle"?hr.createElement(_m.Flex,{flexDirection:"row",flex:1,justifyContent:"center",alignItems:"center",style:{position:"absolute",left:0,right:0,bottom:0,top:0}},hr.createElement(he,{checked:r.Predicate.Inputs[0]==="checked"?!0:r.Predicate.Inputs[0]==="unchecked"?!1:null,onChange:o=>{let i=r.Predicate.Inputs[0]==="unchecked"&&o===!0?"all":o===!0?"checked":"unchecked";this.changeColumnPredicateInput(i,0)}})):(n=e==null?void 0:e.inputs)==null?void 0:n.map((o,i)=>{var a,s;return hr.createElement(Yr,{key:i,type:o.type==="number"?"text":o.type,autoFocus:!1,value:(s=(a=r.Predicate.Inputs)==null?void 0:a[i])!=null?s:"",onChange:u=>this.changeColumnPredicateInput(u.target.value,i),onKeyDownCapture:u=>{u.nativeEvent.key==="Escape"&&(u.nativeEvent.preventDefault(),u.nativeEvent.stopPropagation(),this.clearFilter())},flex:1,style:{minWidth:0,padding:"var(--ab-space-1)",borderRadius:0,borderLeftWidth:0}})})}renderNoValuesDropdown(e){return hr.createElement(Z,{disabled:!0,style:{flex:1,whiteSpace:"nowrap",overflow:"hidden",textOverflow:"ellipsis",borderRadius:0,borderLeftWidth:0,borderColor:"var(--ab-color-primarydark)"}},"No Column Values")}renderValuesDropdown(e){let r="mouseenter";return this.props.quickFilterValuesTrigger==="click"&&(r="click"),hr.createElement(Li,{alignHorizontal:"left",showEvent:r,hideEvent:"mouseleave",hideDelay:300,ref:n=>{this.valuesDropdown=n},render:()=>{var n;return hr.createElement(_m.Flex,{onMouseEnter:()=>{var o;r==="click"&&((o=this.valuesDropdown)==null||o.show())},"data-name":"quick-filter-form",flexDirection:"column",style:{fontSize:"var(--ab-font-size-2)",border:"1px solid var(--ab-color-primarydark)",background:"var(--ab-color-defaultbackground)",zIndex:1e3}},hr.createElement(_m.Flex,{m:2},hr.createElement(Z,{onClick:()=>this.clearFilter()},"Clear Filter"),((n=this.props.api.internalApi.getAdaptableOptions().filterOptions)==null?void 0:n.autoApplyFilter)==!1&&hr.createElement(Z,{ml:2,onClick:()=>this.updateFilter(this.state.filter)},"Apply Filter")),hr.createElement(cF,{suppressClientSideFilter:this.state.suppressClientSideFilter,isLoading:this.state.isDistinctColumnValuesLoading,onFilterChange:this.handleFilterChange,currentColumn:this.props.currentColumn,columns:[],columnDistinctValues:this.state.distinctColumnValues,dataType:this.props.currentColumn.dataType,uiSelectedColumnValues:this.state.filter.Predicate.Inputs,useAgGridStyle:!0,onColumnValueSelectedChange:o=>this.onColumnValuesChange(o)}))}},hr.createElement(Z,{style:{flex:1,whiteSpace:"nowrap",overflow:"hidden",textOverflow:"ellipsis",borderRadius:0,borderLeftWidth:0,borderColor:"var(--ab-color-primarydark)"},disabled:Pe.IsNullOrEmptyOrContainsSingleEmptyValue(this.state.distinctColumnValues)},e.Predicate.Inputs.join(", ")||"Select Values"))}onColumnValuesChange(e){var n;let{filter:r}=this.state;r.Predicate={PredicateId:"Values",Inputs:e},((n=this.props.api.internalApi.getAdaptableOptions().filterOptions)==null?void 0:n.autoApplyFilter)?this.updateFilter(r):this.setState({filter:r})}selectColumnPredicate(e){var o;let r=b({},this.state.filter),n=this.props.api.predicateApi.getPredicateDefById(e);r.Predicate={PredicateId:e,Inputs:((o=n.inputs)!=null?o:[]).map(i=>{var a;return(a=i.defaultValue)!=null?a:""})},this.updateFilter(r),e==="Values"&&(this.loadPermittedValues(),requestAnimationFrame(()=>{this.valuesDropdown&&this.valuesDropdown.show()}))}updateFilter(e){this.setState({filter:e}),e.Uuid?this.debouncedEditFilter():this.debouncedAddFilter()}changeColumnPredicateInput(e,r){let n=this.getPredicateIdForShortcutValue(e);if(n)this.selectColumnPredicate(n);else{let{filter:o}=this.state;o.Predicate.Inputs=o.Predicate.Inputs||[],o.Predicate.Inputs[r]=e,this.updateFilter(o)}}getPredicateIdForShortcutValue(e){var r;return(r=this.props.api.filterApi.findPredicateDefByShortcut(e,this.props.currentColumn))==null?void 0:r.id}clearFilter(){let{filter:e}=this.state;this.props.api.filterApi.clearColumnFilterByColumn(e.ColumnId)}};function Uct(t,e){return{currentColumn:e.currentColumn,columnFilters:t.Filter.ColumnFilters}}function Hct(t){return{onAddColumnFilter:e=>t(Hs(e)),onEditColumnFilter:e=>t(ch(e))}}var Wct=We(Uct,Hct)(w0e),O0e=t=>{var e,r;return La(hr.createElement(Wct,{api:t.Adaptable.api,quickFilterTrigger:(e=t.Adaptable.adaptableOptions.filterOptions)==null?void 0:e.quickFilterTrigger,quickFilterValuesTrigger:(r=t.Adaptable.adaptableOptions.filterOptions)==null?void 0:r.quickFilterValuesTrigger,currentColumn:t.Column,teamSharingActivated:!1,embedColumnMenu:t.Adaptable.embedColumnMenu}),t.Adaptable)};var F0e=t=>class{onParentModelChanged(r,n){}afterGuiAttached(r){this.filterContainer.parentElement.style.overflow="visible",this.filterContainer.parentElement.parentElement.style.padding="var(--ab-space-1)"}init(r){let n=r.column.getColId();this.filterContainer=document.createElement("div"),this.filterContainer.id=`floatingFilter_${n}_${t.adaptableOptions.adaptableId}`,this.filterContainer.style.overflow="hidden",this.filterContainer.style.minWidth="0",this.filterContainer.style.height="100%",this.filterContainer.style.display="flex",this.filterContainer.style.alignItems="stretch",this.filterContainer.style.position="relative";let o=t.api.columnApi.getColumnFromId(n);o&&mF.render(O0e({Column:o,Adaptable:t,ShowCloseButton:!1}),this.filterContainer)}getGui(){return this.filterContainer}destroy(){mF.unmountComponentAtNode(this.filterContainer),this.filterContainer=null}};l();var _0e=y(require("react")),fF=require("react-dom");l();var oa=y(require("react"));var zct={position:"absolute",left:0,top:0,right:0,bottom:0},qct=E(b({},zct),{boxSizing:"border-box",display:"flex",flexDirection:"row",alignItems:"center"}),Qct={position:"relative",background:"transparent",boxSizing:"border-box",minWidth:0,outline:"none",width:"100%",border:"none"},M0e=oa.forwardRef((t,e)=>{var s;let r=oa.useRef(null),n=()=>{var u;(u=r.current)==null||u.focus()},[o,i]=mr(t,"value",t.defaultValue,{onChange:u=>{var d;u!==""&&u==Number(u)&&(u=Number(u)),(d=t.onValueChange)==null||d.call(t,u)}});oa.useImperativeHandle(e,()=>({focus:n,setValue:i}));let a=t.showClearButton&&t.emptyValue!=null&&o!=t.emptyValue;return oa.createElement("div",{style:qct,onKeyDown:u=>{u.key==="Tab"&&a&&document.activeElement===r.current&&u.stopPropagation()}},oa.createElement("input",{type:(s=t.type)!=null?s:"number",value:o,onChange:oa.useCallback(u=>{i(u.target.value)},[]),style:Qct,ref:r}),a?oa.createElement("div",{style:{display:"inline-block",marginRight:"var(--ab-space-1)",marginLeft:"var(--ab-space-1)"},onClick:u=>{t.emptyValue!=null&&(i(t.emptyValue),u.stopPropagation(),n())},onKeyDown:u=>{t.emptyValue!=null&&u.key==="Enter"&&(i(t.emptyValue),u.stopPropagation(),n())}},oa.createElement(Ct,{size:18,name:"clear",tabIndex:0})):null)});var tV=require("@ag-grid-community/all-modules"),hF=class{constructor(){this.valueParser=({newValue:e,oldValue:r})=>e;this.onValueChange=e=>{this.value=this.valueParser?this.valueParser(E(b({},this.params),{oldValue:this.params.value,newValue:e})):e}}init(e){this.value=this.shouldClearExistingValue(e)?"":e.value,this.params=e,this.columnId=e.column.getColId();let{valueParser:r}=e.column.getColDef();typeof r=="function"&&(this.valueParser=r),this.el=document.createElement("div"),this.el.style.position="absolute",this.el.style.top="0px",this.el.style.left="0px",this.el.style.right="0px",this.el.style.bottom="0px"}getGui(){return this.el}getValue(){return this.value}focusIn(){var e;(e=this.editor)==null||e.focus()}focusOut(){}afterGuiAttached(){var o,i;let e=this.params.api.__adaptable,r=this.shouldClearExistingValue(this.params)?"":this.params.value,n=_0e.createElement(M0e,{defaultValue:r,showClearButton:(o=this.params.showClearButton)!=null?o:!0,emptyValue:(i=this.params.emptyValue)!=null?i:"",onValueChange:this.onValueChange,ref:a=>{this.editor=a,a==null||a.focus()}});(0,fF.render)(La(n,e),this.el),this.getGui().addEventListener("keydown",a=>{e._emit("CellEditorKeyDown",{keyDownEvent:a,cellValue:this.value,columnId:this.columnId,updateValueCallback:s=>{this.editor.setValue(s)}})})}destroy(){(0,fF.unmountComponentAtNode)(this.el)}shouldClearExistingValue(e){return e.keyPress===tV.KeyCode.BACKSPACE||e.keyPress===tV.KeyCode.DELETE}};l();var k0e=y(require("react")),gF=require("react-dom");l();var Va=y(require("react")),N0e=y(wb());var jct={position:"absolute",left:0,top:0,right:0,bottom:0},Yct=E(b({},jct),{boxSizing:"border-box",display:"flex",flexDirection:"row",alignItems:"center"}),Kct={position:"relative",background:"transparent",boxSizing:"border-box",minWidth:0,outline:"none",width:"100%",border:"none"},L0e=Va.forwardRef((t,e)=>{var u;let r=Va.useRef(null),n=()=>{var d;(d=r.current)==null||d.focus()},[o,i]=mr(t,"value",t.defaultValue,{onChange:d=>{var c,m;if(d===""||d==null)(c=t.onValueChange)==null||c.call(t,null);else{let f=typeof d=="string"?(0,N0e.default)(d):new Date(d);(m=t.onValueChange)==null||m.call(t,f)}}});Va.useImperativeHandle(e,()=>({focus:n}));let a=Fx(o,t.dateFormat),s=Va.useCallback(d=>{i(d.target.value)},[]);return Va.createElement("div",{style:Yct},Va.createElement(I4.Provider,{value:{onHide:d=>{var c;(c=t.onStopEdit)==null||c.call(t,d)},onShow:()=>{},showClearButton:(u=t.showClearButton)!=null?u:!0}},Va.createElement(Yr,{type:"date",value:a,onChange:s,style:Kct,ref:r})))});var rV=require("@ag-grid-community/all-modules");var bF=class{constructor(){this.valueParser=({newValue:e,oldValue:r,defaultParser:n})=>(typeof r=="string"||r==null)&&n?n(e):e}init(e){this.value=this.shouldClearExistingValue(e)?"":e.value;let{valueParser:r}=e.column.getColDef();this.params=e,typeof r=="function"&&(this.valueParser=r),this.el=document.createElement("div"),this.el.style.position="absolute",this.el.style.top="0px",this.el.style.left="0px",this.el.style.right="0px",this.el.style.bottom="0px"}getGui(){return this.el}getValue(){return this.value}focusIn(){var e;(e=this.editor)==null||e.focus()}focusOut(){}getAdaptableInstance(e){return e.api.__adaptable}afterGuiAttached(){var o;let e=this.getAdaptableInstance(this.params),r=this.shouldClearExistingValue(this.params)?"":this.params.value,n=k0e.createElement(L0e,{defaultValue:r,dateFormat:e.adaptableOptions.userInterfaceOptions.dateInputOptions.dateFormat,onValueChange:i=>{let a=isNaN(+i);if(this.valueParser){let s=E(b({},this.params),{oldValue:this.params.value,newValue:i,defaultParser:u=>{var c,m;let d=(m=(c=e.adaptableOptions.userInterfaceOptions)==null?void 0:c.dateInputOptions)==null?void 0:m.dateFormat;return d?Co(u,{Pattern:d}):u}});this.value=this.valueParser(s)}else this.value=a?null:i;a||requestAnimationFrame(()=>{this.params.stopEditing()})},showClearButton:(o=this.params.showClearButton)!=null?o:!0,onStopEdit:i=>{i==="Escape"?this.params.api.stopEditing(!0):this.params.stopEditing()},ref:i=>{this.editor=i,i==null||i.focus()}});(0,gF.render)(La(n,e),this.el)}destroy(){(0,gF.unmountComponentAtNode)(this.el)}shouldClearExistingValue(e){return e.keyPress===rV.KeyCode.BACKSPACE||e.keyPress===rV.KeyCode.DELETE}};l();var B0e=1643751455083;l();l();var V0e={AccessLevel:{name:"AccessLevel",kind:"TypeAlias",description:"Defines Access Level for an Entitlement - can be &#39;ReadOnly&#39;, &#39;Hidden&#39; or &#39;Full&#39;"},ActionColumn:{name:"ActionColumn",kind:"Interface",description:"A Special Column that wraps an AdapTable Button",properties:[{name:"actionColumnButton",kind:"unknown",description:"Button to display in the Column",uiLabel:"Action Column Button"},{name:"actionColumnSettings",kind:"REFERENCE",description:"Additional optional properties for Column (e.g. filterable, resizable)",uiLabel:"Action Column Settings",isOptional:!0,reference:"ActionColumnSettings"},{name:"columnId",kind:"string",description:"Mandatory &#39;Id&#39;; if no value set for `FriendlyName`, this will also be Column name",uiLabel:"Column Id"},{name:"friendlyName",kind:"string",description:"How Column appears in Column Header, Menus; if no value set, `ColumnId` is used",uiLabel:"Friendly Name",isOptional:!0},{name:"includeGroupedRows",kind:"boolean",description:"Shows Action Column also in grouped rows",uiLabel:"Include Grouped Rows",isOptional:!0}]},ActionColumnButtonContext:{name:"ActionColumnButtonContext",kind:"Interface",description:"Context required by functions when using an Action Column Button",properties:[{name:"actionColumn",kind:"REFERENCE",description:"Action Column in question",uiLabel:"Action Column",reference:"ActionColumn"},{name:"primaryKeyValue",kind:"unknown",description:"Primary Key Value in current row",uiLabel:"Primary Key Value"},{name:"rowNode",kind:"REFERENCE",description:"Current AG Grid Row Node",uiLabel:"Row Node",reference:"unknown"}]},ActionColumnSettings:{name:"ActionColumnSettings",kind:"Interface",description:"Set of optional properties that define an Action Columns behaviour",properties:[{name:"resizable",kind:"boolean",description:"Whether Column can be resized (by dragging column header edges)",uiLabel:"Resizable",isOptional:!0,defaultValue:"true"},{name:"suppressMenu",kind:"boolean",description:"Whether no menu should be shown for this Column header.",uiLabel:"Suppress Menu",isOptional:!0,defaultValue:"false"},{name:"suppressMovable",kind:"boolean",description:"Whether if this Column should be movable via dragging",uiLabel:"Suppress Movable",isOptional:!0,defaultValue:"false"},{name:"width",kind:"number",description:"Preferred width (in pixels) for Column; if unset, calculated dynamically by AG Grid",uiLabel:"Width",isOptional:!0}]},ActionHandler:{name:"ActionHandler",kind:"TypeAlias",description:"Handles a Form Button Action"},AdaptableAlert:{name:"AdaptableAlert",kind:"Interface",description:"Defines an Alert fired by AdapTable",properties:[{name:"alertDefinition",kind:"REFERENCE",description:"Rule that caused Alert to fire",uiLabel:"Alert Definition",reference:"AlertDefinition"},{name:"dataChangedInfo",kind:"REFERENCE",description:"DataChange which triggered Alert",uiLabel:"Data Changed Info",isOptional:!0,reference:"DataChangedInfo"},{name:"header",kind:"string",description:"Alert Header text",uiLabel:"Header"},{name:"message",kind:"string",description:"Alert Body text",uiLabel:"Message"}]},AdaptableApi:{name:"AdaptableApi",kind:"Interface",description:"The `AdaptableApi` provides developers with run-time access to AdapTable.",properties:[{name:"alertApi",kind:"REFERENCE",description:"Provides access to the Alert Module",uiLabel:"Alert Api",reference:"AlertApi"},{name:"applicationApi",kind:"REFERENCE",description:"Provides access to the Application Module",uiLabel:"Application Api",reference:"ApplicationApi"},{name:"bulkUpdateApi",kind:"REFERENCE",description:"Provides access to the Bulk Update Module",uiLabel:"Bulk Update Api",reference:"BulkUpdateApi"},{name:"calculatedColumnApi",kind:"REFERENCE",description:"Provides access to the Calculated Column Module",uiLabel:"Calculated Column Api",reference:"CalculatedColumnApi"},{name:"cellSummaryApi",kind:"REFERENCE",description:"Provides access to the Cell Summary Module",uiLabel:"Cell Summary Api",reference:"CellSummaryApi"},{name:"chartingApi",kind:"REFERENCE",description:"Provides run-time access to Charting Module and state",uiLabel:"Charting Api",reference:"unknown"},{name:"columnApi",kind:"REFERENCE",description:"Provides a number of column-related methods",uiLabel:"Column Api",reference:"ColumnApi"},{name:"conditionalStyleApi",kind:"REFERENCE",description:"Provides access to the Conditional Style Module",uiLabel:"Conditional Style Api",reference:"ConditionalStyleApi"},{name:"configApi",kind:"REFERENCE",description:"Methods giving access to Adaptable State",uiLabel:"Config Api",reference:"ConfigApi"},{name:"customSortApi",kind:"REFERENCE",description:"Provides access to the Custom Sort Module",uiLabel:"Custom Sort Api",reference:"CustomSortApi"},{name:"dashboardApi",kind:"REFERENCE",description:"Provides access to the Dashboard",uiLabel:"Dashboard Api",reference:"DashboardApi"},{name:"dataChangeHistoryApi",kind:"REFERENCE",description:"Provides run-time access to the Data Changes Module",uiLabel:"Data Change History Api",reference:"DataChangeHistoryApi"},{name:"dataSourceApi",kind:"REFERENCE",description:"Provides access to the Data Source Module",uiLabel:"Data Source Api",reference:"DataSourceApi"},{name:"destroy",kind:"unknown",description:"Cleanup method - should be called only when using the vanilla javascript component, as framework components cleanup is performed when the component is destroyed/unmounted.",uiLabel:"Destroy"},{name:"eventApi",kind:"REFERENCE",description:"Used for listenning / subscribing to the various Events published by AdapTable",uiLabel:"Event Api",reference:"EventApi"},{name:"exportApi",kind:"REFERENCE",description:"Provides access to the Export Module and Reports",uiLabel:"Export Api",reference:"ExportApi"},{name:"filterApi",kind:"REFERENCE",description:"Provides access to AdapTable&#39;s filtering functionality",uiLabel:"Filter Api",reference:"FilterApi"},{name:"formatColumnApi",kind:"REFERENCE",description:"Provides access to the Format Column Module",uiLabel:"Format Column Api",reference:"FormatColumnApi"},{name:"freeTextColumnApi",kind:"REFERENCE",description:"Provides access to the FreeText Column Module",uiLabel:"Free Text Column Api",reference:"FreeTextColumnApi"},{name:"gridApi",kind:"REFERENCE",description:"Provides methods for managing the Grid, and Grid data, directly",uiLabel:"Grid Api",reference:"GridApi"},{name:"internalApi",kind:"REFERENCE",description:"Api methods used *internally* within AdapTable.",uiLabel:"Internal Api",reference:"unknown"},{name:"layoutApi",kind:"REFERENCE",description:"Provides access to the Layout Module",uiLabel:"Layout Api",reference:"LayoutApi"},{name:"pluginsApi",kind:"REFERENCE",description:"Offers access to AdapTable Plugin (e.g. ipushpull, OpenFin etc)",uiLabel:"Plugins Api",reference:"PluginsApi"},{name:"plusMinusApi",kind:"REFERENCE",description:"Provides access to the Plus Minus Module",uiLabel:"Plus Minus Api",reference:"PlusMinusApi"},{name:"predicateApi",kind:"REFERENCE",description:"Manages the Predicate - a boolean-return function used in Filters and Alerts",uiLabel:"Predicate Api",reference:"PredicateApi"},{name:"queryApi",kind:"REFERENCE",description:"Provides access to functions related to the Query Module",uiLabel:"Query Api",reference:"QueryApi"},{name:"queryLanguageApi",kind:"REFERENCE",description:"Mangages AdapTableQL (Query Language)",uiLabel:"Query Language Api",reference:"QueryLanguageApi"},{name:"quickSearchApi",kind:"REFERENCE",description:"Provides access to the Quick Search Module",uiLabel:"Quick Search Api",reference:"QuickSearchApi"},{name:"scheduleApi",kind:"REFERENCE",description:"Provides access to the Schedule Module",uiLabel:"Schedule Api",reference:"ScheduleApi"},{name:"scopeApi",kind:"REFERENCE",description:"Manages the `Scope` object - used widely to determine where objects are applied",uiLabel:"Scope Api",reference:"ScopeApi"},{name:"shortcutApi",kind:"REFERENCE",description:"Provides access to the Shortcut Module",uiLabel:"Shortcut Api",reference:"ShortcutApi"},{name:"smartEditApi",kind:"REFERENCE",description:"Provides access to the Smart Edit Module",uiLabel:"Smart Edit Api",reference:"SmartEditApi"},{name:"systemStatusApi",kind:"REFERENCE",description:"Methods related to displaying System Status and application health messages",uiLabel:"System Status Api",reference:"SystemStatusApi"},{name:"teamSharingApi",kind:"REFERENCE",description:"Functions related to run-time Team Sharing of AdapTable objects between colleagues",uiLabel:"Team Sharing Api",reference:"TeamSharingApi"},{name:"themeApi",kind:"REFERENCE",description:"Api methods related to Theme management",uiLabel:"Theme Api",reference:"ThemeApi"},{name:"toolPanelApi",kind:"REFERENCE",description:"Provides access to the AdapTable Tool Panel on the right hand side of the grid",uiLabel:"Tool Panel Api",reference:"ToolPanelApi"},{name:"userInterfaceApi",kind:"REFERENCE",description:"Manages User Interface Options where colours, styles and permitted values are configured",uiLabel:"User Interface Api",reference:"UserInterfaceApi"}]},AdaptableButton:{name:"AdaptableButton",kind:"Interface",description:"Defines a Button that appears in numerous places including Adaptable Form",properties:[{name:"buttonStyle",kind:"unknown",description:"Style for Button - can be object or function thats provides a `Style` object",uiLabel:"Button Style",isOptional:!0},{name:"disabled",kind:"unknown",description:"Function that disables / enables the button based on its evaluation result",uiLabel:"Disabled",isOptional:!0},{name:"hidden",kind:"unknown",description:"Function which sets whether Button is hidden",uiLabel:"Hidden",isOptional:!0},{name:"icon",kind:"REFERENCE",description:"Icon to display, requires string for URL, other props are optional",uiLabel:"Icon",isOptional:!0,reference:"AdaptableIcon"},{name:"label",kind:"unknown",description:"Label for Button - can be string or function that provides string",uiLabel:"Label",isOptional:!0},{name:"onClick",kind:"unknown",description:"Function to invoke when button is clicked",uiLabel:"On Click",isOptional:!0},{name:"tooltip",kind:"unknown",description:"Tooltip for Button - can be string or function that provides string",uiLabel:"Tooltip",isOptional:!0}]},AdaptableColumn:{name:"AdaptableColumn",kind:"Interface",description:"Defines an Adaptable Column - created at run-time based on AG Grid column definition",properties:[{name:"aggregatable",kind:"boolean",description:"Is Column able to display aggregations (e.g. &#39;sum&#39;) when grouped",uiLabel:"Aggregatable"},{name:"aggregationFunction",kind:"string",description:"Custom aggregation function for the Column",uiLabel:"Aggregation Function",isOptional:!0},{name:"availableAggregationFunctions",kind:"unknown",description:"Available aggregations for the Column",uiLabel:"Available Aggregation Functions",isOptional:!0},{name:"columnGroup",kind:"REFERENCE",description:"The parent column group, if the column belongs to one",uiLabel:"Column Group",isOptional:!0,reference:"unknown"},{name:"filterable",kind:"boolean",description:"Is Column able to be filtered",uiLabel:"Filterable"},{name:"flex",kind:"number",description:"Flex details of the column",uiLabel:"Flex",isOptional:!0},{name:"groupable",kind:"boolean",description:"Can Column form a Row Group",uiLabel:"Groupable"},{name:"hideable",kind:"boolean",description:"Can Column be removed from the grid",uiLabel:"Hideable"},{name:"isExcludedFromQuickSearch",kind:"boolean",description:"Has colummn been excluded from Quick Search results",uiLabel:"Is Excluded From Quick Search"},{name:"isFixed",kind:"boolean",description:"Is Column pinned or locked into position",uiLabel:"Is Fixed"},{name:"isGrouped",kind:"boolean",description:"Is Column currently grouped",uiLabel:"Is Grouped"},{name:"isPrimaryKey",kind:"boolean",description:"Is this the Primary Key column",uiLabel:"Is Primary Key"},{name:"isSparkline",kind:"boolean",description:"Is it a Sparkline Column",uiLabel:"Is Sparkline"},{name:"moveable",kind:"boolean",description:"Can Column be moved at run-time to a new position",uiLabel:"Moveable"},{name:"pinned",kind:"unknown",description:"The pinned position of the column",uiLabel:"Pinned"},{name:"pivotable",kind:"boolean",description:"Can Column be used in a Pivot Grid",uiLabel:"Pivotable"},{name:"queryable",kind:"boolean",description:"Can the Column be in included in Queries / Expressions",uiLabel:"Queryable"},{name:"readOnly",kind:"boolean",description:"Is column editable",uiLabel:"Read Only"},{name:"sortable",kind:"boolean",description:"Is Column sortable",uiLabel:"Sortable"},{name:"visible",kind:"boolean",description:"Is Column currently visible",uiLabel:"Visible"},{name:"width",kind:"number",description:"Column width",uiLabel:"Width",isOptional:!0}]},AdaptableColumnBase:{name:"AdaptableColumnBase",kind:"Interface",description:"Base class for Adaptable Column containing most important properties",properties:[{name:"columnId",kind:"string",description:"Name of Column in AG Grid (e.g. field or colId)",uiLabel:"Column Id"},{name:"dataType",kind:"unknown",description:"DataType of the column",uiLabel:"Data Type"},{name:"friendlyName",kind:"string",description:"How Column is referred to in Adaptable UI; `Caption` property in AG Grid",uiLabel:"Friendly Name"}]},AdaptableComparerFunction:{name:"AdaptableComparerFunction",kind:"TypeAlias",description:"Standard comparer function used to evaluate custom sorts, returns -1, 0, 1 as required"},AdaptableCoordinate:{name:"AdaptableCoordinate",kind:"Interface",description:"Used by AdapTable to remember position of Floating Dashboard",properties:[{name:"x",kind:"number",description:"x axis number",uiLabel:"X"},{name:"y",kind:"number",description:"y axis number",uiLabel:"Y"}]},AdaptableFlashingCell:{name:"AdaptableFlashingCell",kind:"Interface",description:"Defines an Alert fired by AdapTable",properties:[{name:"dataChangedInfo",kind:"REFERENCE",description:"Data change which triggered the FlashingCell",uiLabel:"Data Changed Info",isOptional:!0,reference:"DataChangedInfo"},{name:"direction",kind:"unknown",description:"Direction of the change: &#39;up&#39;, &#39;down&#39; or &#39;neutral&#39;",uiLabel:"Direction"},{name:"flashColumnIds",kind:"unknown",description:"Column Ids that are flashing",uiLabel:"Flash Column Ids"},{name:"flashingCellDefinition",kind:"REFERENCE",description:"Rule that caused the FlashingCell to fire",uiLabel:"Flashing Cell Definition",reference:"FlashingCellDefinition"},{name:"flashTarget",kind:"unknown",description:"What will flash (e.g. Cell, Row)",uiLabel:"Flash Target"},{name:"rowPrimaryKey",kind:"string",description:"Primary Key Value of Row which is flashing",uiLabel:"Row Primary Key"}]},AdaptableForm:{name:"AdaptableForm",kind:"Interface",description:"Defines a form which appears dynamically; used by Alerts &amp; Export Custom Destinations",properties:[{name:"buttons",kind:"unknown",description:"Buttons to include in the Form",uiLabel:"Buttons",isOptional:!0},{name:"description",kind:"string",description:"Additional information to appear in the Form",uiLabel:"Description",isOptional:!0},{name:"fields",kind:"unknown",description:"Collection of Dynamic Fields to display",uiLabel:"Fields",isOptional:!0},{name:"title",kind:"string",description:"Title to appear in the Form",uiLabel:"Title",isOptional:!0}]},AdaptableFormat:{name:"AdaptableFormat",kind:"TypeAlias",description:"Object containing formatting information for Numeric and Date Columns"},AdaptableFormField:{name:"AdaptableFormField",kind:"Interface",description:"Defines a Field that appears in an Adaptable Form",properties:[{name:"defaultValue",kind:"unknown",description:"Field Default Value - can be of type string, boolean, number",uiLabel:"Default Value",isOptional:!0},{name:"fieldType",kind:"unknown",description:"Field Type: text, date, number, checkbox, select",uiLabel:"Field Type"},{name:"label",kind:"string",description:"Label to display in in the Field",uiLabel:"Label"},{name:"name",kind:"string",description:"Name of the Field",uiLabel:"Name"},{name:"options",kind:"unknown",description:"Items to populate the Select input",uiLabel:"Options",isOptional:!0}]},AdaptableIcon:{name:"AdaptableIcon",kind:"Interface",description:"Defines an icon to be used in AdapTable (e.g. in Dashboard Header and Buttons)",properties:[{name:"cssProperties",kind:"REFERENCE",description:"CSS Properties",uiLabel:"Css Properties",isOptional:!0,reference:"unknown"},{name:"src",kind:"string",description:"url specifying where icon can be found (mandatory)",uiLabel:"Src"},{name:"style",kind:"unknown",description:"The style for the icon - has height and width properties",uiLabel:"Style",isOptional:!0}]},AdaptableLoadStateFunction:{name:"AdaptableLoadStateFunction",kind:"Interface",description:"Allows the customization of state loading."},AdaptableMenuItem:{name:"AdaptableMenuItem",kind:"Interface",description:"Menu item used by Adaptable in both Column and Context Menus",properties:[{name:"icon",kind:"string",description:"Icon to display in Menu Item",uiLabel:"Icon",isOptional:!0},{name:"isVisible",kind:"boolean",description:"Whether menu item is visible",uiLabel:"Is Visible"},{name:"label",kind:"string",description:"Name that appears in the menu",uiLabel:"Label"},{name:"module",kind:"unknown",description:"Adaptable Module associated with (Adaptable) menu item.",uiLabel:"Module",isOptional:!0},{name:"onClick",kind:"unknown",description:"Function to invoke when (custom) menu item is clicked",uiLabel:"On Click",isOptional:!0},{name:"reduxAction",kind:"unknown",description:"Adaptable Redux Action to invoke when (Adaptable) menu item is clicked",uiLabel:"Redux Action",isOptional:!0},{name:"subItems",kind:"unknown",description:"Sub Menu Items to display",uiLabel:"Sub Items",isOptional:!0}]},AdaptableMessageType:{name:"AdaptableMessageType",kind:"TypeAlias",description:"Defines a Message Types: &#39;Success&#39;, &#39;Info&#39;, &#39;Warning&#39; or &#39;Error&#39;"},AdaptableObject:{name:"AdaptableObject",kind:"Interface",description:"Base interface which all other Adaptable State-related objects extend",properties:[{name:"IsReadOnly",kind:"boolean",description:"Sets Entity to ReadOnly (overwriting a Strategy Entitlement of &#39;Full&#39;)",uiLabel:"Is Read Only",isOptional:!0},{name:"Source",kind:"unknown",description:"Source of state object: &#39;Config&#39; if provided via , &#39;User&#39; or undefined for runtime state.",uiLabel:"Source",isOptional:!0},{name:"Uuid",kind:"REFERENCE",description:"Unique identifier for the Adaptable Object, generated and used internally by AdapTable",uiLabel:"Uuid",isOptional:!0,reference:"unknown"}]},AdaptableOptions:{name:"AdaptableOptions",kind:"Interface",description:"Group of property options enabling developers to set up AdapTable at design time to fit precise requirements - provides AG Grid, Predefined Config and other information required to ensure a full, rich user experience",properties:[{name:"adaptableId",kind:"string",description:"Identifier for this instance of AdapTable",uiLabel:"Adaptable Id",isOptional:!0,gridInfo:"item",defaultValue:"&#39;adaptable_id&#39;"},{name:"adaptableStateKey",kind:"string",description:"Identifier used as localStorage persistence key for AdaptableState",uiLabel:"Adaptable State Key",isOptional:!0,gridInfo:"item",defaultValue:"`adaptableId` value"},{name:"autogeneratePrimaryKey",kind:"boolean",description:"Will autogenerate a Primary Key; only use as a last resort if no unique column is available, as limits some Adaptable functionalities",uiLabel:"Autogenerate Primary Key",isOptional:!0,gridInfo:"item",defaultValue:"false"},{name:"containerOptions",kind:"REFERENCE",description:"Options for setting the &#39;Div&#39; elements in which AdapTable, AG Grid, popups are placed",uiLabel:"Container Options",isOptional:!0,reference:"ContainerOptions"},{name:"customPredicateDefs",kind:"unknown",description:"Predicate definitions provided by developers at Design-Time",uiLabel:"Custom Predicate Defs",isOptional:!0},{name:"dashboardOptions",kind:"REFERENCE",description:"Options related to managing the Dashboard in AdapTable",uiLabel:"Dashboard Options",isOptional:!0,gridInfo:"container",reference:"DashboardOptions"},{name:"dataChangeHistoryOptions",kind:"REFERENCE",description:"Options to manage Data Change History Module which provides an overview of all data changes",uiLabel:"Data Change History Options",isOptional:!0,gridInfo:"container",reference:"DataChangeHistoryOptions"},{name:"editOptions",kind:"REFERENCE",description:"Options related to Editing in AdapTable including Server Validation",uiLabel:"Edit Options",isOptional:!0,gridInfo:"container",reference:"EditOptions"},{name:"entitlementOptions",kind:"REFERENCE",description:"Options for managing Entitlements",uiLabel:"Entitlement Options",isOptional:!0,gridInfo:"container",reference:"EntitlementOptions"},{name:"exportOptions",kind:"REFERENCE",description:"Options for managing Exporting and Reports in AdapTable",uiLabel:"Export Options",isOptional:!0,gridInfo:"container",reference:"ExportOptions"},{name:"filterOptions",kind:"REFERENCE",description:"Options for managing Filtering in AdapTable",uiLabel:"Filter Options",isOptional:!0,gridInfo:"container",reference:"FilterOptions"},{name:"flashingCellOptions",kind:"REFERENCE",description:"Options for managing Flashing Cells - primarily default values",uiLabel:"Flashing Cell Options",isOptional:!0,gridInfo:"container",reference:"FlashingCellOptions"},{name:"generalOptions",kind:"REFERENCE",description:"General options to manage AdapTable e.g. grouping behaviour, Primary Keys",uiLabel:"General Options",isOptional:!0,gridInfo:"container",reference:"GeneralOptions"},{name:"gridOptions",kind:"REFERENCE",description:"The AG Grid object which AdapTable interacts with. Note: if using React or Angular Wrapper, no need to populate this property as AdapTable wires it up differently",uiLabel:"Grid Options",isOptional:!0,defaultValue:"n/a (Mandatory)",reference:"unknown"},{name:"layoutOptions",kind:"REFERENCE",description:"Options related to Layouts",uiLabel:"Layout Options",isOptional:!0,gridInfo:"container",reference:"LayoutOptions"},{name:"licenseKey",kind:"string",description:"Commercial license key. If the license is not provided or is expired, various visual information notes will be displayed and some functionality may be limited.",uiLabel:"License Key",isOptional:!0},{name:"menuOptions",kind:"REFERENCE",description:"Options for managing AdapTable menus",uiLabel:"Menu Options",isOptional:!0,gridInfo:"container",reference:"MenuOptions"},{name:"notificationsOptions",kind:"REFERENCE",description:"Options for managing Notifications in AdapTable",uiLabel:"Notifications Options",isOptional:!0,gridInfo:"container",reference:"NotificationsOptions"},{name:"plugins",kind:"unknown",description:"Used for managing the AdapTable Plugins",uiLabel:"Plugins",isOptional:!0},{name:"predefinedConfig",kind:"unknown",description:"User State set at design-time and shipped with AdapTable for first use; can be `PredefinedConfig` object or url to file containing config",uiLabel:"Predefined Config",isOptional:!0,defaultValue:"undefined"},{name:"primaryKey",kind:"string",description:"Name of Column in AdapTable guaranteed to contain unique values",uiLabel:"Primary Key",gridInfo:"item",defaultValue:"n/a (Mandatory)"},{name:"queryLanguageOptions",kind:"REFERENCE",description:"Options for managing queries in AdapTableQL",uiLabel:"Query Language Options",isOptional:!0,gridInfo:"container",reference:"QueryLanguageOptions"},{name:"searchOptions",kind:"REFERENCE",description:"Options for managing Search related functions in AdapTable",uiLabel:"Search Options",isOptional:!0,gridInfo:"container",reference:"SearchOptions"},{name:"settingsPanelOptions",kind:"REFERENCE",description:"Setting panel options",uiLabel:"Settings Panel Options",isOptional:!0,gridInfo:"container",reference:"unknown"},{name:"stateOptions",kind:"REFERENCE",description:"Options related to state hydration / dehydration - allows users to intercept state persistence and state loading and change default behavior of saving to local storage",uiLabel:"State Options",isOptional:!0,reference:"StateOptions"},{name:"teamSharingOptions",kind:"REFERENCE",description:"Options for managing &#39;Team Sharing&#39; which allows users to create Adaptable Objects and share with colleagues",uiLabel:"Team Sharing Options",isOptional:!0,gridInfo:"container",reference:"TeamSharingOptions"},{name:"toolPanelOptions",kind:"REFERENCE",description:"Options related to managing the Tool Panel elements in AdapTable",uiLabel:"Tool Panel Options",isOptional:!0,gridInfo:"container",reference:"ToolPanelOptions"},{name:"userInterfaceOptions",kind:"REFERENCE",description:"Options for managing the User Interface elements of AdapTable, i.e. Action Columns, Color Palette etc.",uiLabel:"User Interface Options",isOptional:!0,gridInfo:"container",reference:"UserInterfaceOptions"},{name:"userName",kind:"string",description:"Name of current AdapTable user",uiLabel:"User Name",isOptional:!0,gridInfo:"item",defaultValue:"&#39;anonymous&#39;"}]},AdaptablePersistStateFunction:{name:"AdaptablePersistStateFunction",kind:"Interface",description:"Allows the customization of state persistence."},AdaptablePredicate:{name:"AdaptablePredicate",kind:"Interface",description:"Predicate object used by AdapTableQL - essentially a boolean function",properties:[{name:"Inputs",kind:"unknown",description:"Optional Inputs that might be needed for evaluation",uiLabel:"Inputs",isOptional:!0},{name:"PredicateId",kind:"string",description:"Id of Predicate (e.g. `Equals`, `GreaterThan`)",uiLabel:"Predicate Id"}]},AdaptablePredicateDef:{name:"AdaptablePredicateDef",kind:"Interface",description:"Defines a Predicate - include where it can run and what it does",properties:[{name:"columnScope",kind:"REFERENCE",description:"Columns (or DataTypes) where Predicate is active",uiLabel:"Column Scope",reference:"AdaptableScope"},{name:"handler",kind:"unknown",description:"Actual boolean function invoked when evaluating the Predicate",uiLabel:"Handler"},{name:"icon",kind:"unknown",description:"Icon to show (primarily used in Filter dropdown)",uiLabel:"Icon",isOptional:!0},{name:"id",kind:"string",description:"Unique Id for the object",uiLabel:"Id"},{name:"inputs",kind:"unknown",description:"Inputs the Predicate can take",uiLabel:"Inputs",isOptional:!0},{name:"label",kind:"string",description:"Name of the Predicate",uiLabel:"Label"},{name:"moduleScope",kind:"unknown",description:"Modules where the Predicate can run",uiLabel:"Module Scope"},{name:"onlyQuickFilter",kind:"boolean",description:"Display this predicate only in Quick Filter Bar (and NOT in Filter Form)",uiLabel:"Only Quick Filter",isOptional:!0},{name:"shortcuts",kind:"unknown",description:"Keyboard shortcuts to initiate predicate - used in Quick Filter bar",uiLabel:"Shortcuts",isOptional:!0},{name:"toString",kind:"unknown",description:"String representation of the Predicate",uiLabel:"To String",isOptional:!0}]},AdaptableReadyInfo:{name:"AdaptableReadyInfo",kind:"Interface",description:"Object returned by `AdaptableReady` event - fired when AdapTable has loaded",properties:[{name:"gridOptions",kind:"REFERENCE",description:"Underlying AG Grid GridOptions object",uiLabel:"Grid Options",reference:"unknown"}]},AdaptableScope:{name:"AdaptableScope",kind:"TypeAlias",description:"Defines where a given Object / Module is active"},AdaptableSearchState:{name:"AdaptableSearchState",kind:"Interface",description:"Current Searches and Filter in AdapTable",properties:[{name:"columnFilters",kind:"unknown",description:"Currently applied Column Filters",uiLabel:"Column Filters"},{name:"currentQuery",kind:"unknown",description:"Current Query",uiLabel:"Current Query"},{name:"dataSource",kind:"unknown",description:"Current Data Source (if one selected)",uiLabel:"Data Source"},{name:"queryAST",kind:"unknown",description:"AST for Current Query",uiLabel:"Query AST"}]},AdaptableSortState:{name:"AdaptableSortState",kind:"Interface",description:"Overview of current sorting state in the grid",properties:[{name:"columnSorts",kind:"unknown",description:"Which columns have sorting applied and,if so, which direction",uiLabel:"Column Sorts"},{name:"customSorts",kind:"unknown",description:"All the Custom Sorts in State; this is always sent even if no custom sorts are active",uiLabel:"Custom Sorts"}]},AdaptableState:{name:"AdaptableState",kind:"Interface",description:"The main state object that Adaptable persists"},AdaptableStateChangedInfo:{name:"AdaptableStateChangedInfo",kind:"Interface",description:"Object returned by the `AdaptableStateChanged` event",properties:[{name:"action",kind:"unknown",description:"The Redux Action that was invoked",uiLabel:"Action"},{name:"actionName",kind:"string",description:"Name of the Action",uiLabel:"Action Name"},{name:"adaptableId",kind:"string",description:"Current AdapTableId",uiLabel:"Adaptable Id"},{name:"adaptableStateKey",kind:"string",description:"Current Adaptable State Key",uiLabel:"Adaptable State Key"},{name:"clientTimestamp",kind:"date",description:"Time on user&#39;s computer when message was sent",uiLabel:"Client Timestamp"},{name:"newState",kind:"REFERENCE",description:"Adaptable State after the Action",uiLabel:"New State",reference:"AdaptableState"},{name:"oldState",kind:"REFERENCE",description:"Adaptable State before the Action",uiLabel:"Old State",reference:"AdaptableState"},{name:"userName",kind:"string",description:"Name of current AdapTable user",uiLabel:"User Name"}]},AdaptableStyle:{name:"AdaptableStyle",kind:"Interface",description:"Style object used in numerous AdapTable Modules",properties:[{name:"BackColor",kind:"string",description:"Colour background of cell: provide hex value or name",uiLabel:"Back Color",isOptional:!0},{name:"BorderColor",kind:"string",description:"Colour of cell border: provide hex value or name",uiLabel:"Border Color",isOptional:!0},{name:"ClassName",kind:"string",description:"Existing CSS Class; use instead of setting other object properties",uiLabel:"Class Name",isOptional:!0},{name:"FontSize",kind:"unknown",description:"Size of font: `XSmall`, `Small`, `Medium`, `Large` or `XLarge`",uiLabel:"Font Size",isOptional:!0},{name:"FontStyle",kind:"unknown",description:"Style of font: `Normal` or `Italic`",uiLabel:"Font Style",isOptional:!0},{name:"FontWeight",kind:"unknown",description:"Weight of font: `Normal` or `Bold`",uiLabel:"Font Weight",isOptional:!0},{name:"ForeColor",kind:"string",description:"Font colour in cell: provide hex value or name",uiLabel:"Fore Color",isOptional:!0}]},AdaptableTheme:{name:"AdaptableTheme",kind:"Interface",description:"Used for creating User (i.e. Custom) Themes",properties:[{name:"AgGridClassName",kind:"string",description:"Ag Grid theme to apply when loading theme",uiLabel:"Ag Grid Class Name",isOptional:!0},{name:"Description",kind:"string",description:"Description of Theme - will appear in Theme Toolbar and Toolpanel",uiLabel:"Description"},{name:"Name",kind:"string",description:"Name of the Theme",uiLabel:"Name"},{name:"VendorGridClassName",kind:"string",description:"deprecated use `AgGridClassName` property instead",uiLabel:"Vendor Grid Class Name",isOptional:!0}]},AdaptableToolPanelDefinition:{name:"AdaptableToolPanelDefinition",kind:"Interface",description:"Defines a ToolPanel - Name and VisibilityMode (Expanded / Collapsed)",properties:[{name:"Name",kind:"unknown",description:"ToolPanel name - either an Adaptable Module or a Custom ToolPanel (defined in ToolPanel Options)",uiLabel:"Name"},{name:"VisibilityMode",kind:"unknown",description:"Whether the ToolPanel is &#39;expanded&#39; or &#39;collapsed&#39;",uiLabel:"Visibility Mode",isOptional:!0,defaultValue:"&#39;collapsed&#39;"}]},AlertApi:{name:"AlertApi",kind:"Interface",description:"Provides run-time access to Alert function and associated State",properties:[{name:"addAlertDefinition",kind:"function",description:"Adds new Alert Definition",uiLabel:"Add Alert Definition"},{name:"displayAlert",kind:"function",description:"Displays (fully formed) inputted Alert to the User",uiLabel:"Display Alert"},{name:"displayMessageAlertPopup",kind:"function",description:"Displays given Alert as a Popup",uiLabel:"Display Message Alert Popup"},{name:"editAlertDefinition",kind:"function",description:"Edits Alert in State with given one",uiLabel:"Edit Alert Definition"},{name:"executeAlertAction",kind:"function",description:"Runs after an Alert Action is invoked",uiLabel:"Execute Alert Action"},{name:"executeAlertButton",kind:"function",description:"Runs after a button in an Alert Form is clicked",uiLabel:"Execute Alert Button"},{name:"getActiveNonReactiveAlertDefinitions",kind:"function",description:"Retrieves all active (non-suspended) Alert Definitions in Alert State which are NOT Reactive (BooleanQuery)",uiLabel:"Get Active Non Reactive Alert Definitions"},{name:"getActiveReactiveAlertDefinitions",kind:"function",description:"Retrieves all active (non-suspended) Alert Definitions in Alert State which are reactive (ObservableQuery &amp; AggregationQuery)",uiLabel:"Get Active Reactive Alert Definitions"},{name:"getAdaptableFormByName",kind:"function",description:"Retrieeves the Adaptable Form with the given name",uiLabel:"Get Adaptable Form By Name"},{name:"getAlertDefinitionById",kind:"function",description:"Retrieves alert definition by id",uiLabel:"Get Alert Definition By Id"},{name:"getAlertDefinitions",kind:"function",description:"Retrieves all Alert Definitions in Alert State",uiLabel:"Get Alert Definitions"},{name:"getAlertDefinitionsWithAllowEdit",kind:"function",description:"Retrieves all Alert Definitions which allow a Cell Edit",uiLabel:"Get Alert Definitions With Allow Edit"},{name:"getAlertDefinitionsWithPreventEdit",kind:"function",description:"Retrieves all Alert Definitions which prevent a Cell Edit",uiLabel:"Get Alert Definitions With Prevent Edit"},{name:"getAlertDescription",kind:"function",description:"Returns a description of an Alert Definition",uiLabel:"Get Alert Description"},{name:"getAlertPredicateDefs",kind:"function",description:"Retrieves all Predicate Defs with Module Scope of Alert",uiLabel:"Get Alert Predicate Defs"},{name:"getAlertPredicateDefsForScope",kind:"function",description:"Retrieves all Predicate Defs that match given Scope",uiLabel:"Get Alert Predicate Defs For Scope"},{name:"getAlertRuleDescription",kind:"function",description:"Returns a description of an Alert Definition&#39;s Rule",uiLabel:"Get Alert Rule Description"},{name:"getAlertState",kind:"function",description:"Retrieves Alert section from Adaptable State",uiLabel:"Get Alert State"},{name:"getNonReactiveAlertDefinitions",kind:"function",description:"Retrieves all Alert Definitions in Alert State which are NOT Reactive (BooleanQuery)",uiLabel:"Get Non Reactive Alert Definitions"},{name:"getReactiveAlertDefinitions",kind:"function",description:"Retrieves all Alert Definitions in Alert State which are reactive (ObservableQuery &amp; AggregationQuery)",uiLabel:"Get Reactive Alert Definitions"},{name:"publishAlertFiredEvent",kind:"function",description:"Publishes an event when an Alert is triggered",uiLabel:"Publish Alert Fired Event"},{name:"showAlert",kind:"function",description:"Creates Alert formed from inputted values and displays it.",uiLabel:"Show Alert"},{name:"showAlertError",kind:"function",description:"Creates Alert formed from inputted values and displays it as Error Alert.",uiLabel:"Show Alert Error"},{name:"showAlertInfo",kind:"function",description:"Creates Alert formed from inputted values and displays it as Info Alert.",uiLabel:"Show Alert Info"},{name:"showAlertPopup",kind:"function",description:"Opens the Alert popup screen",uiLabel:"Show Alert Popup"},{name:"showAlertSuccess",kind:"function",description:"Creates Alert formed from inputted values and displays it as Succcess Alert.",uiLabel:"Show Alert Success"},{name:"showAlertWarning",kind:"function",description:"Creates Alert formed from inputted values and displays it as Warning Alert.",uiLabel:"Show Alert Warning"},{name:"suspendAlertDefinition",kind:"function",description:"Suspends Alert Definition",uiLabel:"Suspend Alert Definition"},{name:"unSuspendAlertDefinition",kind:"function",description:"Activates a suspended Alert Definition",uiLabel:"Un Suspend Alert Definition"}]},AlertButton:{name:"AlertButton",kind:"Interface",description:"Defines a button that appears in an Alert Form",properties:[{name:"Action",kind:"unknown",description:"Predefined Action(s) to trigger when button is clicked; but the implementation in `actionHandlers` property of Alert Options",uiLabel:"Action",isOptional:!0},{name:"ButtonStyle",kind:"REFERENCE",description:"Style for the Button",uiLabel:"Button Style",isOptional:!0,reference:"ButtonStyle"},{name:"Label",kind:"string",description:"Label to show in the Button",uiLabel:"Label"},{name:"Tooltip",kind:"string",description:"ToolTip to display",uiLabel:"Tooltip",isOptional:!0}]},AlertButtonContext:{name:"AlertButtonContext",kind:"Interface",description:"Context required by functions when using an Alert Button",properties:[{name:"alert",kind:"REFERENCE",description:"Alert that has been triggered",uiLabel:"Alert",reference:"AdaptableAlert"},{name:"formData",kind:"REFERENCE",description:"Data in the Alert Form",uiLabel:"Form Data",isOptional:!0,reference:"unknown"}]},AlertDefinition:{name:"AlertDefinition",kind:"Interface",description:"The Alert Definition object used in the Alert function",properties:[{name:"AlertForm",kind:"unknown",description:"Form to display in Alert with buttons and inputs",uiLabel:"Alert Form",isOptional:!0},{name:"AlertProperties",kind:"REFERENCE",description:"Series of properties which set what happens when Alert is triggered",uiLabel:"Alert Properties",isOptional:!0,reference:"AlertProperties"},{name:"MessageText",kind:"string",description:"Alert Message - can be string or function; if not provided AdapTable creates dynamically using Rule &amp; Scope",uiLabel:"Message Text",isOptional:!0},{name:"MessageType",kind:"REFERENCE",description:"Type of Alert: &#39;Info&#39;, &#39;Success&#39;, &#39;Warning&#39;, &#39;Error&#39;; influences Alert colour, icon and logging",uiLabel:"Message Type",reference:"AdaptableMessageType"},{name:"Rule",kind:"REFERENCE",description:"When Alert should be triggered",uiLabel:"Rule",reference:"unknown"},{name:"Scope",kind:"REFERENCE",description:"Where Alert can be triggered: one, some or all columns or DataTypes",uiLabel:"Scope",reference:"AdaptableScope"}]},AlertFiredInfo:{name:"AlertFiredInfo",kind:"Interface",description:"Object returned by the `AlertFired` event",properties:[{name:"alert",kind:"REFERENCE",description:"Alert which has been fired",uiLabel:"Alert",reference:"AdaptableAlert"}]},AlertForm:{name:"AlertForm",kind:"TypeAlias",description:"Form to show in an Alert"},AlertProperties:{name:"AlertProperties",kind:"Interface",description:"Additional properties that specify how a particular Alert will ALWAYS behave",properties:[{name:"DisplayNotification",kind:"boolean",description:"Displays a notification when Alert is triggered",uiLabel:"Display Notification",isOptional:!0},{name:"HighlightCell",kind:"unknown",description:"Colours updated cell using `MessageType` property of triggering Alert Definition",uiLabel:"Highlight Cell",isOptional:!0},{name:"HighlightRow",kind:"unknown",description:"Colours updated cell using `MessageType` property of triggering Alert Definition",uiLabel:"Highlight Row",isOptional:!0},{name:"JumpToCell",kind:"boolean",description:"Grid will &#39;jump&#39; to the cell which triggered the Alert",uiLabel:"Jump To Cell",isOptional:!0},{name:"LogToConsole",kind:"boolean",description:"Logs the Alert message to the console",uiLabel:"Log To Console",isOptional:!0},{name:"PreventEdit",kind:"boolean",description:"Automatically prevent any cell edit which triggered the Alert (i.e. validation) false",uiLabel:"Prevent Edit",isOptional:!0},{name:"ShowInDiv",kind:"boolean",description:"Shows Alert text in the div specificed in `alertContainer` property of Container Options",uiLabel:"Show In Div",isOptional:!0}]},AlertState:{name:"AlertState",kind:"Interface",description:"Predefined Configuration for Alert Module",properties:[{name:"AlertDefinitions",kind:"unknown",description:"Alert Definitions - will trigger Alerts when rule is met",uiLabel:"Alert Definitions",isOptional:!0,defaultValue:"null"}]},AlternativeModuleName:{name:"AlternativeModuleName",kind:"Interface",description:"Defines a new name for an Adaptable Module (e.g. change Dashboard to Grid Manager)",properties:[{name:"adaptableModule",kind:"REFERENCE",description:"Adaptable Module to rename",uiLabel:"Adaptable Module",reference:"unknown"},{name:"newName",kind:"string",description:"New name to use",uiLabel:"New Name"}]},AngularFrameworkComponent:{name:"AngularFrameworkComponent",kind:"TypeAlias",description:"An Angular component defined by its type and an optional initialisation callback."},ApplicationApi:{name:"ApplicationApi",kind:"Interface",description:"Provides run-time access to the Application Module",properties:[{name:"addApplicationDataEntry",kind:"function",description:"Adds new Application Data Entry",uiLabel:"Add Application Data Entry"},{name:"createApplicationDataEntry",kind:"function",description:"Creates new Application Data Entry with given Key and Value",uiLabel:"Create Application Data Entry"},{name:"deleteApplicationDataEntry",kind:"function",description:"Deletes given Application Data Entry",uiLabel:"Delete Application Data Entry"},{name:"editApplicationDataEntry",kind:"function",description:"Edits given Application Data Entry",uiLabel:"Edit Application Data Entry"},{name:"getApplicationDataEntries",kind:"function",description:"Retrieves all Key Value Pairs in Application state",uiLabel:"Get Application Data Entries"},{name:"getApplicationDataEntriesByValue",kind:"function",description:"Gets Application Data Entry with given value",uiLabel:"Get Application Data Entries By Value"},{name:"getApplicationDataEntryByKey",kind:"function",description:"Gets Application Data Entry with given key",uiLabel:"Get Application Data Entry By Key"},{name:"getApplicationState",kind:"function",description:"Retrieves Application section from Adaptable State",uiLabel:"Get Application State"}]},ApplicationDataEntry:{name:"ApplicationDataEntry",kind:"Interface",description:"Simple Key / Value pair object used to store custom - stringifiable - data in Adaptable State.",properties:[{name:"Key",kind:"string",description:"Key of Key / Value pair - always stored as a string",uiLabel:"Key"},{name:"Value",kind:"unknown",description:"Value of Key / Value pair (actual data being stored) - needs to stringifiable",uiLabel:"Value"}]},ApplicationState:{name:"ApplicationState",kind:"Interface",description:"Predefined Configuration for the Application Module",properties:[{name:"ApplicationDataEntries",kind:"unknown",description:"Array of Key / Value pairs enabling custom data to be stored in Adaptable State.",uiLabel:"Application Data Entries",isOptional:!0}]},BulkUpdateApi:{name:"BulkUpdateApi",kind:"Interface",description:"Provides run-time access to the Bulk Update Module",properties:[{name:"applyBulkUpdate",kind:"function",description:"Applies a Bulk Update to given Cells",uiLabel:"Apply Bulk Update"},{name:"getBulkUpdateValue",kind:"function",description:"Returns current Bulk Update value",uiLabel:"Get Bulk Update Value"},{name:"showBulkUpdatePopup",kind:"function",description:"Opens Bulk Update popup screen",uiLabel:"Show Bulk Update Popup"}]},BulkUpdatePermittedValues:{name:"BulkUpdatePermittedValues",kind:"Interface",description:"User to define permitted values when updating cells via bulk update"},ButtonStyle:{name:"ButtonStyle",kind:"Interface",description:"Defines the look and feel of an Adaptable Button",properties:[{name:"className",kind:"string",description:"CSS Classname to use for the Button",uiLabel:"Class Name",isOptional:!0},{name:"tone",kind:"unknown",description:"Button&#39;s Tone - values: &#39;success&#39;, &#39;error&#39;, &#39;neutral&#39;, &#39;none&#39;, &#39;warning&#39;, &#39;info&#39;, &#39;accent&#39;",uiLabel:"Tone",isOptional:!0,defaultValue:"&#39;neutral&#39;"},{name:"variant",kind:"unknown",description:"How Button appears - values: &#39;text&#39;, &#39;outlined&#39;, &#39;raised&#39;",uiLabel:"Variant",isOptional:!0,defaultValue:"&#39;outlined&#39;"}]},CalculatedColumn:{name:"CalculatedColumn",kind:"Interface",description:"Defines a Column where the display value is derived from other values in row, and the definition is stored in State.",properties:[{name:"CalculatedColumnSettings",kind:"REFERENCE",description:"Additional optional properties for Column (e.g. filterable, resizable)",uiLabel:"Calculated Column Settings",isOptional:!0,reference:"CalculatedColumnSettings"},{name:"ColumnId",kind:"string",description:"Name of Calculated Column",uiLabel:"Column Id"},{name:"FriendlyName",kind:"string",description:"Name to be used in Column Header; if blank `ColumnId` is used",uiLabel:"Friendly Name",isOptional:!0},{name:"Query",kind:"REFERENCE",description:"Scalar Expression used by AdapTableQL to evaluate Column&#39;s value",uiLabel:"Query",isOptional:!0,reference:"unknown"}]},CalculatedColumnApi:{name:"CalculatedColumnApi",kind:"Interface",description:"Provides run-time access to the Calculated Column Module",properties:[{name:"addCalculatedColumn",kind:"function",description:"Adds new Calculated Column",uiLabel:"Add Calculated Column"},{name:"deleteCalculatedColumn",kind:"function",description:"Removes Calculated Column from State",uiLabel:"Delete Calculated Column"},{name:"editCalculatedColumn",kind:"function",description:"Edits given Calculated Column",uiLabel:"Edit Calculated Column"},{name:"editCalculatedColumnExpression",kind:"function",description:"Replaces Expression in given Calculated Column with new value",uiLabel:"Edit Calculated Column Expression"},{name:"editCalculatedColumns",kind:"function",description:"Edits given Calculated Columns",uiLabel:"Edit Calculated Columns"},{name:"getAllCalculatedColumn",kind:"function",description:"Retrieves all Calculated Columns in Adaptable State",uiLabel:"Get All Calculated Column"},{name:"getCalculatedColumnById",kind:"function",description:"Retrieves Calculated column by id",uiLabel:"Get Calculated Column By Id"},{name:"getCalculatedColumnForColumnId",kind:"function",description:"Gets Calculated Column, if any, for given ColumnId",uiLabel:"Get Calculated Column For Column Id"},{name:"getCalculatedColumnModuleReferences",kind:"function",description:"Returns all the references in the AdaptableState of the given CalculatedColumn",uiLabel:"Get Calculated Column Module References"},{name:"getCalculatedColumnsReferencingColumnId",kind:"function",description:"Returns all Calculated Columns whose Expression contains the ColumnId",uiLabel:"Get Calculated Columns Referencing Column Id"},{name:"getCalculatedColumnState",kind:"function",description:"Retrieves Calculated Column section from Adaptable State",uiLabel:"Get Calculated Column State"},{name:"getReferencedColumnIdsForCalculatedColumn",kind:"function",description:"Gets any ColumnIds referenced in a Calculated Column",uiLabel:"Get Referenced Column Ids For Calculated Column"},{name:"getReferencedColumnIdsForCalculatedColumnId",kind:"function",description:"Gets any ColumnIds referenced in a Calculated Column",uiLabel:"Get Referenced Column Ids For Calculated Column Id"},{name:"showCalculatedColumnPopup",kind:"function",description:"Opens Calculated Column popup screen",uiLabel:"Show Calculated Column Popup"}]},CalculatedColumnSettings:{name:"CalculatedColumnSettings",kind:"Interface",description:"Set of optional properties that define a Calculated Column&#39;s behaviour",properties:[{name:"DataType",kind:"unknown",description:"Expression&#39;s return value DataType; inferred by AdapTable but settable by User",uiLabel:"Data Type",isOptional:!0},{name:"ShowToolTip",kind:"boolean",description:"Show underlying Expression as ToolTip when hovering over a cell",uiLabel:"Show Tool Tip",isOptional:!0,defaultValue:"false"}]},CalculatedColumnState:{name:"CalculatedColumnState",kind:"Interface",description:"Predefined Configuration for Calculated Column Module",properties:[{name:"CalculatedColumns",kind:"unknown",description:"Collection of Calculated Columns",uiLabel:"Calculated Columns",isOptional:!0,defaultValue:"empty"}]},CellChangedInfo:{name:"CellChangedInfo",kind:"Interface",description:"EventInfo returned by CellChanged event",properties:[{name:"cellChange",kind:"REFERENCE",description:"Object providing full information of the cell (and column and row) that changed",uiLabel:"Cell Change",reference:"DataChangedInfo"}]},CellHighlightInfo:{name:"CellHighlightInfo",kind:"Interface",description:"Defines how a given Cell in AdapTable should be highlighted",properties:[{name:"columnId",kind:"string",description:"Id of Column containing Cell",uiLabel:"Column Id"},{name:"primaryKeyValue",kind:"unknown",description:"Primary Key Value of row containing Cell",uiLabel:"Primary Key Value"},{name:"timeout",kind:"number",description:"Time after which Cell should be unhilighted",uiLabel:"Timeout",isOptional:!0}]},CellSummaryApi:{name:"CellSummaryApi",kind:"Interface",description:"Provides run-time access to the Cell Summary Module",properties:[{name:"getCellSummaryOperationDefinitions",kind:"function",description:"Retrieves all Cell Summary Definitions from Cell Summary State",uiLabel:"Get Cell Summary Operation Definitions"},{name:"getCurrentCellSummaryOperation",kind:"function",description:"Retrieves currently selected Cell Summary Operation",uiLabel:"Get Current Cell Summary Operation"},{name:"showCellSummaryPopup",kind:"function",description:"Opens Cell Summary popup screen",uiLabel:"Show Cell Summary Popup"}]},CellSummaryOperationParams:{name:"CellSummaryOperationParams",kind:"Interface",description:"Params provided to a custom Cell Summary Operation function",properties:[{name:"allValues",kind:"unknown",description:"All values of selected cells",uiLabel:"All Values"},{name:"api",kind:"REFERENCE",description:"Adaptable Api object",uiLabel:"Api",reference:"AdaptableApi"},{name:"distinctCount",kind:"number",description:"Count of currently selected cells",uiLabel:"Distinct Count"},{name:"numericColumns",kind:"unknown",description:"Any numeric columns in current selection",uiLabel:"Numeric Columns"},{name:"numericValues",kind:"unknown",description:"Any numeric values in current selection",uiLabel:"Numeric Values"},{name:"selectedCellInfo",kind:"REFERENCE",description:"Currently selected cells",uiLabel:"Selected Cell Info",reference:"SelectedCellInfo"}]},CellSummmary:{name:"CellSummmary",kind:"Interface",description:"Defines the Summary operations provides for Selected Cells"},CellTextOption:{name:"CellTextOption",kind:"TypeAlias",description:"List of all the Module buttons Adaptable provides - each Module has a popup for which this is a shortcut button"},CellValuesList:{name:"CellValuesList",kind:"TypeAlias",description:"Use PermittedValues instead"},CheckboxColumnClickedInfo:{name:"CheckboxColumnClickedInfo",kind:"Interface",description:"Event Info published by CheckboxColumnClicked event",properties:[{name:"column",kind:"REFERENCE",description:"Name of Column where Checkbox was clicked",uiLabel:"Column",reference:"AdaptableColumn"},{name:"isChecked",kind:"boolean",description:"Whether or not the Checkbox is checked",uiLabel:"Is Checked"},{name:"primaryKeyValue",kind:"unknown",description:"Value in Primary Key Column for row where Checkbox was clicked",uiLabel:"Primary Key Value"},{name:"rowData",kind:"unknown",description:"Data in the row where the Checkbox was clicked",uiLabel:"Row Data"}]},ColumnApi:{name:"ColumnApi",kind:"Interface",description:"A large range of column-related functions in AdapTable",properties:[{name:"addColumnsToSelection",kind:"function",description:"Adds (highlights) a group of Columns to any existing selection",uiLabel:"Add Columns To Selection"},{name:"addColumnToSelection",kind:"function",description:"Adds (highlights) a Column to any existing selection",uiLabel:"Add Column To Selection"},{name:"autosizeAllColumns",kind:"function",description:"Autosizes all Columns in the Grid",uiLabel:"Autosize All Columns"},{name:"autosizeColumn",kind:"function",description:"AutoSizes a Column",uiLabel:"Autosize Column"},{name:"autosizeColumns",kind:"function",description:"Autosizes given Columns",uiLabel:"Autosize Columns"},{name:"doesColumnExist",kind:"function",description:"Returns true if the given Column exists in the Grid",uiLabel:"Does Column Exist"},{name:"getAggregetableColumns",kind:"function",description:"Returns all Aggregatable Columns",uiLabel:"Get Aggregetable Columns"},{name:"getAgGridColumnFieldForAdaptableColumn",kind:"function",description:"Retrieves AG Grid&#39;s field property for the column",uiLabel:"Get Ag Grid Column Field For Adaptable Column"},{name:"getAgGridColumnForAdaptableColumn",kind:"function",description:"Retrieves AG Grid&#39;s column for an Adaptable column",uiLabel:"Get Ag Grid Column For Adaptable Column"},{name:"getAgGridColumnType",kind:"function",description:"Retrieves &#39;ColumnType&#39; property for a given Column",uiLabel:"Get Ag Grid Column Type"},{name:"getAllColumnFriendlyNames",kind:"function",description:"Retrieves a list providing the Friendly Name / Caption for all columns",uiLabel:"Get All Column Friendly Names"},{name:"getBooleanColumns",kind:"function",description:"Returns all boolean Columns",uiLabel:"Get Boolean Columns"},{name:"getColumnDataTypeFromColumnId",kind:"function",description:"Returns Data Type for a Column",uiLabel:"Get Column Data Type From Column Id"},{name:"getColumnFromFriendlyName",kind:"function",description:"Retrieves Adaptable Column with given Friendly name",uiLabel:"Get Column From Friendly Name"},{name:"getColumnFromId",kind:"function",description:"Retrieves Adaptable Column with given ColumnId",uiLabel:"Get Column From Id"},{name:"getColumnIdFromFriendlyName",kind:"function",description:"Retrieves ColumnId for Column with given Friendly Name",uiLabel:"Get Column Id From Friendly Name"},{name:"getColumnIdsFromFriendlyNames",kind:"function",description:"Retrieves ColumnIds for Columns with given Friendly Names",uiLabel:"Get Column Ids From Friendly Names"},{name:"getColumnIdsFromId",kind:"function",description:"Returns the ColumnId if regular, otherwise referenced columns if Calculated Column",uiLabel:"Get Column Ids From Id"},{name:"getColumns",kind:"function",description:"Returns all Columns",uiLabel:"Get Columns"},{name:"getColumnsFromFriendlyNames",kind:"function",description:"Retrieves Adaptable Columns with given Friendly names",uiLabel:"Get Columns From Friendly Names"},{name:"getColumnsFromIds",kind:"function",description:"Retrieves Adaptable Columns with given ColumnIds",uiLabel:"Get Columns From Ids"},{name:"getColumnsOfType",kind:"function",description:"Returns all Columns that have given DataType",uiLabel:"Get Columns Of Type"},{name:"getDateColumns",kind:"function",description:"Returns all Date Columns",uiLabel:"Get Date Columns"},{name:"getDistinctBulkUpdateDisplayValuesForColumn",kind:"function",description:"Gets all distinct column display values for bulk update.",uiLabel:"Get Distinct Bulk Update Display Values For Column"},{name:"getDistinctCustomSortDisplayValuesForColumn",kind:"function",description:"Gets all distinct column display values in for custom sort.",uiLabel:"Get Distinct Custom Sort Display Values For Column"},{name:"getDistinctDisplayValuesForColumn",kind:"function",description:"Gets all distinct display values in the Column",uiLabel:"Get Distinct Display Values For Column"},{name:"getDistinctFilterDisplayValuesForColumn",kind:"function",description:"Gets all distinct display values in for filter column, used for Floating Filter and Column Header filter",uiLabel:"Get Distinct Filter Display Values For Column"},{name:"getDistinctRawValuesForColumn",kind:"function",description:"Gets all distinct raw values in Column",uiLabel:"Get Distinct Raw Values For Column"},{name:"getDistinctVisibleDisplayValuesForColumn",kind:"function",description:"Gets all distinct visible display values in the Column",uiLabel:"Get Distinct Visible Display Values For Column"},{name:"getDistinctVisibleRawValuesForColumn",kind:"function",description:"Gets all distinct visible raw values in the Column",uiLabel:"Get Distinct Visible Raw Values For Column"},{name:"getFriendlyNameFromColumn",kind:"function",description:"Retrieves Friendly Name for a given Column",uiLabel:"Get Friendly Name From Column"},{name:"getFriendlyNameFromColumnId",kind:"function",description:"Retrieves Friendly Name for a given ColumnId",uiLabel:"Get Friendly Name From Column Id"},{name:"getFriendlyNamesFromColumnIds",kind:"function",description:"Retrieves Friendly Names for given ColumnIds",uiLabel:"Get Friendly Names From Column Ids"},{name:"getGroupableColumns",kind:"function",description:"Returns all Groupable Columns",uiLabel:"Get Groupable Columns"},{name:"getNumericArrayColumns",kind:"function",description:"Returns all numeric array Columns",uiLabel:"Get Numeric Array Columns"},{name:"getNumericColumns",kind:"function",description:"Returns all numeric Columns",uiLabel:"Get Numeric Columns"},{name:"getPivotableColumns",kind:"function",description:"Returns all Pivotable Columns",uiLabel:"Get Pivotable Columns"},{name:"getPrimaryKeyColumn",kind:"function",description:"Retrieves current Primary Key Column in AdapTable",uiLabel:"Get Primary Key Column"},{name:"getQueryableColumns",kind:"function",description:"Returns all Queryable Columns",uiLabel:"Get Queryable Columns"},{name:"getSortableColumns",kind:"function",description:"Returns all Sortable Columns",uiLabel:"Get Sortable Columns"},{name:"getStringColumns",kind:"function",description:"Returns all string Columns",uiLabel:"Get String Columns"},{name:"getVisibleColumns",kind:"function",description:"Returns all visible Columns",uiLabel:"Get Visible Columns"},{name:"hideColumn",kind:"function",description:"Hides a Column from Grid",uiLabel:"Hide Column"},{name:"isActionColumn",kind:"function",description:"Is Column an Action Column",uiLabel:"Is Action Column"},{name:"isBooleanColumn",kind:"function",description:"Is Column Boolean",uiLabel:"Is Boolean Column"},{name:"isCalculatedColumn",kind:"function",description:"Is Column a Calculated Column",uiLabel:"Is Calculated Column"},{name:"isColumnReferencedInExpression",kind:"function",description:"Checks if a column is referenced in a given Expression",uiLabel:"Is Column Referenced In Expression"},{name:"isDateColumn",kind:"function",description:"Is Column a Date",uiLabel:"Is Date Column"},{name:"isFormatNumericStyleColumn",kind:"function",description:"Does Column have a numeric style (e.g. Percent Bar or Gradient)",uiLabel:"Is Format Numeric Style Column"},{name:"isFreeTextColumn",kind:"function",description:"Is Column a Free Text Column",uiLabel:"Is Free Text Column"},{name:"isNumericColumn",kind:"function",description:"Is Column Numeric",uiLabel:"Is Numeric Column"},{name:"isRowGroupColumn",kind:"function",description:"Is Column row-grouped",uiLabel:"Is Row Group Column"},{name:"selectAllColumns",kind:"function",description:"Selects all Columns",uiLabel:"Select All Columns"},{name:"selectColumn",kind:"function",description:"Selects (highlights) a Column",uiLabel:"Select Column"},{name:"selectColumns",kind:"function",description:"Selects (highlights) group of Columns",uiLabel:"Select Columns"},{name:"showColumn",kind:"function",description:"Makes a Column visible",uiLabel:"Show Column"},{name:"usesAdaptableFilterForm",kind:"function",description:"Does Column use AdapTable&#39;s Filter Form",uiLabel:"Uses Adaptable Filter Form"},{name:"usesAdaptableQuickFilter",kind:"function",description:"Does Column use AdapTable&#39;s Quick Filter",uiLabel:"Uses Adaptable Quick Filter"}]},ColumnFilter:{name:"ColumnFilter",kind:"Interface",description:"Defines a Filter applied on a Column using a Predicate",properties:[{name:"ColumnId",kind:"string",description:"Column where Filter should be applied",uiLabel:"Column Id"},{name:"Predicate",kind:"REFERENCE",description:"`AdaptablePredicate` which AdaptableQL will evaluate when the Filter is run",uiLabel:"Predicate",reference:"unknown"}]},ColumnMenuContext:{name:"ColumnMenuContext",kind:"Interface",description:"Provides full details about the Column in which the Column Menu will appear",properties:[{name:"adaptableColumn",kind:"REFERENCE",description:"Current Adaptable Column",uiLabel:"Adaptable Column",reference:"AdaptableColumn"},{name:"agGridColumn",kind:"REFERENCE",description:"Current AG Grid Column",uiLabel:"Ag Grid Column",reference:"unknown"},{name:"isRowGroupColumn",kind:"boolean",description:"Whether current Column is Row Group",uiLabel:"Is Row Group Column"}]},ColumnSort:{name:"ColumnSort",kind:"Interface",description:"Defines how a Column is sorted",properties:[{name:"ColumnId",kind:"string",description:"Id of Column being sorted",uiLabel:"Column Id"},{name:"SortOrder",kind:"unknown",description:"How Column is sorted - either &#39;Asc&#39; or &#39;Desc&#39;",uiLabel:"Sort Order"}]},ColumnValuesComparer:{name:"ColumnValuesComparer",kind:"Interface",description:"Comparer object for Column Values - used for custom sorting",properties:[{name:"comparer",kind:"REFERENCE",description:"Comparer function to use",uiLabel:"Comparer",reference:"AdaptableComparerFunction"},{name:"scope",kind:"REFERENCE",description:"Column for which to compare values",uiLabel:"Scope",reference:"AdaptableScope"}]},ConditionalStyle:{name:"ConditionalStyle",kind:"Interface",description:"Object used in Conditional Style function - contains Scope, a Rule and a Style",properties:[{name:"IncludeGroupedRows",kind:"boolean",description:"Whether to apply Style in Grouped Rows",uiLabel:"Include Grouped Rows",isOptional:!0,defaultValue:"false"},{name:"Rule",kind:"REFERENCE",description:"Predicate-based Rule to use for deciding if a style needs to be applied.",uiLabel:"Rule",reference:"ConditionalStyleRule"},{name:"Scope",kind:"REFERENCE",description:"Where Style is applied - can be whole Row, some Columns or all Columns of given DataType",uiLabel:"Scope",reference:"AdaptableScope"},{name:"Style",kind:"REFERENCE",description:"Adaptable Style (e.g. font properties and colurs) to apply.",uiLabel:"Style",reference:"AdaptableStyle"}]},ConditionalStyleApi:{name:"ConditionalStyleApi",kind:"Interface",description:"Provides run-time access to Conditional Style Module and state",properties:[{name:"addConditionalStyle",kind:"function",description:"Adds new Conditional Style to State",uiLabel:"Add Conditional Style"},{name:"editConditionalStyle",kind:"function",description:"Replaces Conditional Style in State with given one",uiLabel:"Edit Conditional Style"},{name:"editConditionalStyles",kind:"function",description:"Replaces Conditional Styles in State with given ones",uiLabel:"Edit Conditional Styles"},{name:"getAllActiveConditionalStyle",kind:"function",description:"Gets all Conditional Styles that are active (not-suspended) in Adaptable State",uiLabel:"Get All Active Conditional Style"},{name:"getAllConditionalStyle",kind:"function",description:"Gets all Conditional Styles in Adaptable State",uiLabel:"Get All Conditional Style"},{name:"getAllSuspendedConditionalStyle",kind:"function",description:"Gets all Conditional Styles that are suspended in Adaptable State",uiLabel:"Get All Suspended Conditional Style"},{name:"getConditionalStyleById",kind:"function",description:"Get conditional style by id",uiLabel:"Get Conditional Style By Id"},{name:"getConditionalStylePredicateDefs",kind:"function",description:"Returns all Predicates usable in Conditional Styles",uiLabel:"Get Conditional Style Predicate Defs"},{name:"getConditionalStylesForColumn",kind:"function",description:"Gets all Conditional Styles that style a given Column",uiLabel:"Get Conditional Styles For Column"},{name:"getConditionalStyleState",kind:"function",description:"Retrieves Conditional Style section from Adaptable State",uiLabel:"Get Conditional Style State"},{name:"getConditionalStylesWithExpression",kind:"function",description:"Retrieves all Conditional Styles which have an Expression",uiLabel:"Get Conditional Styles With Expression"},{name:"getCondStylePredicateDefsForScope",kind:"function",description:"Returns all Predicates appropriate for the given Scope",uiLabel:"Get Cond Style Predicate Defs For Scope"},{name:"getOrderedConditionalStyles",kind:"function",description:"Retrieves all Conditional Styles ordered by Column then Row",uiLabel:"Get Ordered Conditional Styles"},{name:"getRowConditionalStyles",kind:"function",description:"Retrieves all Conditional Styles that style whole row",uiLabel:"Get Row Conditional Styles"},{name:"showConditionalStylePopup",kind:"function",description:"Opens Conditional Style popup screen",uiLabel:"Show Conditional Style Popup"},{name:"suspendConditionalStyle",kind:"function",description:"Suspends conditional style, a readonly object cannot be suspended",uiLabel:"Suspend Conditional Style"},{name:"unSuspendConditionalStyle",kind:"function",description:"Un-suspends or activates a suspended conditional style",uiLabel:"Un Suspend Conditional Style"}]},ConditionalStyleRule:{name:"ConditionalStyleRule",kind:"TypeAlias",description:"The Conditional Style Rule - can be either a Predicate or an Expression"},ConditionalStyleState:{name:"ConditionalStyleState",kind:"Interface",description:"Predefined Configuration for the Conditional Style Module",properties:[{name:"ConditionalStyles",kind:"unknown",description:"Array of Conditional Styles to ship with Adaptable",uiLabel:"Conditional Styles",isOptional:!0}]},ConfigApi:{name:"ConfigApi",kind:"Interface",description:"Range of functions to access Predefined Config and Adaptable State",properties:[{name:"configInit",kind:"function",description:"Initialised Adaptable State (for internal use only)",uiLabel:"Config Init"},{name:"copyAllStateToClipboard",kind:"function",description:"Copies all Adaptable state to clipboard",uiLabel:"Copy All State To Clipboard"},{name:"copyUserStateToClipboard",kind:"function",description:"Copies User State sections of Adaptable State to clipboard",uiLabel:"Copy User State To Clipboard"},{name:"dispatchStateReadyAction",kind:"function",description:"Sent by each Module when it is Ready",uiLabel:"Dispatch State Ready Action"},{name:"getAdaptableSearchState",kind:"function",description:"Gets search-related sections of Adaptable State",uiLabel:"Get Adaptable Search State"},{name:"getAdaptableSortState",kind:"function",description:"Gets sort-related sections of Adaptable State",uiLabel:"Get Adaptable Sort State"},{name:"getAlertState",kind:"function",description:"Returns Alert section of Adaptable State",uiLabel:"Get Alert State"},{name:"getAllState",kind:"function",description:"Retrieves ALL state which is currently stored by Adaptable (both User and internal)",uiLabel:"Get All State"},{name:"getAllUserState",kind:"function",description:"Retrieves the PERSISTED state in Adaptable",uiLabel:"Get All User State"},{name:"getApplicationState",kind:"function",description:"Returns Application section of Adaptable State",uiLabel:"Get Application State"},{name:"getCalculatedColumnState",kind:"function",description:"Returns Calculated Column section of Adaptable State",uiLabel:"Get Calculated Column State"},{name:"getConditionalStyleState",kind:"function",description:"Returns Conditional Style section of Adaptable State",uiLabel:"Get Conditional Style State"},{name:"getCustomSortState",kind:"function",description:"Returns Custom Sort section of Adaptable State",uiLabel:"Get Custom Sort State"},{name:"getDashboardState",kind:"function",description:"Returns Dashboard section of Adaptable State",uiLabel:"Get Dashboard State"},{name:"getDataSourceState",kind:"function",description:"Returns Data Source section of Adaptable State",uiLabel:"Get Data Source State"},{name:"getDescriptionForModule",kind:"function",description:"Retrieves a brief description of an AdapTable Module",uiLabel:"Get Description For Module"},{name:"getExportState",kind:"function",description:"Returns Export section of Adaptable State",uiLabel:"Get Export State"},{name:"getFilterState",kind:"function",description:"Returns Filter section of Adaptable State",uiLabel:"Get Filter State"},{name:"getFormatColumnState",kind:"function",description:"Returns Formt Column section of Adaptable State",uiLabel:"Get Format Column State"},{name:"getFreeTextColumnState",kind:"function",description:"Returns FreeText Column section of Adaptable State",uiLabel:"Get Free Text Column State"},{name:"getHelpPageForModule",kind:"function",description:"Retrieves the help page for an AdapTable Module",uiLabel:"Get Help Page For Module"},{name:"getLayoutState",kind:"function",description:"Returns Layout section of Adaptable State",uiLabel:"Get Layout State"},{name:"getPlusMinusState",kind:"function",description:"Returns Plus Minus section of Adaptable State",uiLabel:"Get Plus Minus State"},{name:"getPredefinedConfig",kind:"function",description:"Returns current Predefined Config",uiLabel:"Get Predefined Config"},{name:"getQueryState",kind:"function",description:"Returns Query section of Adaptable State",uiLabel:"Get Query State"},{name:"getQuickSearchState",kind:"function",description:"Returns Quick Search section of Adaptable State",uiLabel:"Get Quick Search State"},{name:"getScheduleState",kind:"function",description:"Returns Schedule section of Adaptable State",uiLabel:"Get Schedule State"},{name:"getShortcutState",kind:"function",description:"Returns Shortcut section of Adaptable State",uiLabel:"Get Shortcut State"},{name:"getThemeState",kind:"function",description:"Returns Theme section of Adaptable State",uiLabel:"Get Theme State"},{name:"getToolPanelState",kind:"function",description:"Returns Tool Panel section of Adaptable State",uiLabel:"Get Tool Panel State"},{name:"getUserStateByStateKey",kind:"function",description:"Returns given section of Adaptable State (as JSON or object)",uiLabel:"Get User State By State Key"},{name:"incrementUerStateRevision",kind:"function",description:"Adds &#39;1&#39; to current revision number of State element",uiLabel:"Increment Uer State Revision"},{name:"loadUserState",kind:"function",description:"Loads supplied user state, replacing (not merging) existing User State.",uiLabel:"Load User State"},{name:"reloadPredefinedConfig",kind:"function",description:"Reloads either existing or supplied Predefined Config; deletes local storage and calls clearState function for remote storage removal",uiLabel:"Reload Predefined Config"},{name:"setAdaptableStateKey",kind:"function",description:"Changes the key used for persisting the Adaptablestate into localStorage",uiLabel:"Set Adaptable State Key"}]},ConfigState:{name:"ConfigState",kind:"Interface",description:"Base Interface for all Adaptable State objects; contains`Revision` property, used for versioning",properties:[{name:"Revision",kind:"number",description:"Version number of the Item - allows developers to update one section in Predefined Config while keeping others unchanged",uiLabel:"Revision",isOptional:!0}]},ContainerOptions:{name:"ContainerOptions",kind:"Interface",description:"Options for managing the different div elements required by AdapTable",properties:[{name:"adaptableContainer",kind:"unknown",description:"Div containing AdapTable - string Id or HTMLElement",uiLabel:"Adaptable Container",isOptional:!0,gridInfo:"item",defaultValue:"&quot;adaptable&quot;"},{name:"agGridContainer",kind:"unknown",description:"Div containing AG Grid instance - string Id or HTMLElement",uiLabel:"Ag Grid Container",isOptional:!0,gridInfo:"item",defaultValue:"&quot;grid&quot;"},{name:"agGridContainerWaitTimeout",kind:"number",description:"how long AdapTable waits for AG Grid before giving up connecting to it; useful when AG Grid is instantiated separately (eg: by React or Angular Wrappers)",uiLabel:"Ag Grid Container Wait Timeout",isOptional:!0,gridInfo:"item",defaultValue:"60s"},{name:"alertContainer",kind:"unknown",description:"Div to show Alerts - string Id or HTMLElement",uiLabel:"Alert Container",isOptional:!0,gridInfo:"item",defaultValue:"undefined"},{name:"modalContainer",kind:"string",description:"Name of div where modals appear (if null, will be centre of page)",uiLabel:"Modal Container",isOptional:!0,gridInfo:"item",defaultValue:"undefined"},{name:"systemStatusContainer",kind:"unknown",description:"Div to show System Status messages - string Id or HTMLElement",uiLabel:"System Status Container",isOptional:!0,gridInfo:"item",defaultValue:"undefined"}]},ContextMenuContext:{name:"ContextMenuContext",kind:"Interface",description:"Provides full details about current cell (and selected cells) where the Context Menu will appear",properties:[{name:"adaptableColumn",kind:"REFERENCE",description:"Current Adaptable Column",uiLabel:"Adaptable Column",reference:"AdaptableColumn"},{name:"agGridColumn",kind:"REFERENCE",description:"Current AG Grid Column",uiLabel:"Ag Grid Column",reference:"unknown"},{name:"gridCell",kind:"REFERENCE",description:"Cell that has been clicked; contains cell value",uiLabel:"Grid Cell",reference:"GridCell"},{name:"isGroupedNode",kind:"boolean",description:"Whether current AG Grid row node is grouped",uiLabel:"Is Grouped Node"},{name:"isRowGroupColumn",kind:"boolean",description:"Whether current Column is Row Grouped",uiLabel:"Is Row Group Column"},{name:"isSelectedCell",kind:"boolean",description:"Whether cell that was clicked is also currently selected",uiLabel:"Is Selected Cell"},{name:"isSingleSelectedColumn",kind:"boolean",description:"Whether Column that was clicked is only column with selected cells",uiLabel:"Is Single Selected Column"},{name:"primaryKeyValue",kind:"unknown",description:"Value of Primary Key column in current row",uiLabel:"Primary Key Value"},{name:"rowNode",kind:"REFERENCE",description:"Current AG Grid row node",uiLabel:"Row Node",reference:"unknown"},{name:"selectedCellInfo",kind:"REFERENCE",description:"Currently selected cells in the grid",uiLabel:"Selected Cell Info",reference:"SelectedCellInfo"},{name:"selectedRowInfo",kind:"REFERENCE",description:"Currently selected rows in the grid",uiLabel:"Selected Row Info",reference:"SelectedRowInfo"}]},CustomDestination:{name:"CustomDestination",kind:"Interface",description:"Defines a custom Export destination",properties:[{name:"form",kind:"unknown",description:"Optional Adaptable Form - if provided, it must include Buttons that will execute the export",uiLabel:"Form",isOptional:!0},{name:"name",kind:"string",description:"Name of Custom Destination",uiLabel:"Name"},{name:"onExport",kind:"unknown",description:"Function invoked when export is applied (used if no form is supplied)",uiLabel:"On Export",isOptional:!0}]},CustomReport:{name:"CustomReport",kind:"Interface",description:"Defines a Report where all the data is provided entirely by the user",properties:[{name:"name",kind:"string",description:"Name of the Report",uiLabel:"Name"},{name:"onRunReport",kind:"unknown",description:"Function invoked to return the data (in the form of a `ReportData` object)",uiLabel:"On Run Report"}]},CustomSort:{name:"CustomSort",kind:"Interface",description:"Custom Sort object used in Custom Sort function.",properties:[{name:"ColumnId",kind:"string",description:"Id of Column on which Custom Sort will be applied",uiLabel:"Column Id"},{name:"SortedValues",kind:"unknown",description:"Order of values by which Column will be sorted",uiLabel:"Sorted Values",isOptional:!0}]},CustomSortApi:{name:"CustomSortApi",kind:"Interface",description:"Provides run-time access to the Custom Sort function",properties:[{name:"addCustomSort",kind:"function",description:"Adds a Custom Sort to Custom Sort collection in Adaptable State",uiLabel:"Add Custom Sort"},{name:"createCustomSort",kind:"function",description:"Creates new Custom Sort based on given values",uiLabel:"Create Custom Sort"},{name:"deleteCustomSort",kind:"function",description:"Removes Custom Sort for a given ColumnId",uiLabel:"Delete Custom Sort"},{name:"editCustomSort",kind:"function",description:"Updates existing Custom Sort with new set of Sorted Values",uiLabel:"Edit Custom Sort"},{name:"getAllActiveCustomSort",kind:"function",description:"Retrieves all Custom Sorts that are active (not-suspended) in Adaptable State",uiLabel:"Get All Active Custom Sort"},{name:"getAllCustomSort",kind:"function",description:"Retrieves all Custom Sorts in Adaptable State",uiLabel:"Get All Custom Sort"},{name:"getAllSuspendedCustomSort",kind:"function",description:"Retrieves all Custom Sorts that are suspended in Adaptable State",uiLabel:"Get All Suspended Custom Sort"},{name:"getCustomSortByColumn",kind:"function",description:"Retrieves Custom Sort from Adaptable State for given ColumnId",uiLabel:"Get Custom Sort By Column"},{name:"getCustomSortById",kind:"function",description:"Retrieves Custom Sort by id",uiLabel:"Get Custom Sort By Id"},{name:"getCustomSortState",kind:"function",description:"Retrieves Custom Sort section from Adaptable State",uiLabel:"Get Custom Sort State"},{name:"showCustomSortPopup",kind:"function",description:"Opens Custom Sort popup screen",uiLabel:"Show Custom Sort Popup"},{name:"suspendCustomSort",kind:"function",description:"Suspends Custom Sort",uiLabel:"Suspend Custom Sort"},{name:"unSuspendCustomSort",kind:"function",description:"Un-suspends or activates a suspended Custom Sort",uiLabel:"Un Suspend Custom Sort"}]},CustomSortPermittedValues:{name:"CustomSortPermittedValues",kind:"Interface",description:"Custom column values for custom sort."},CustomSortState:{name:"CustomSortState",kind:"Interface",description:"Predefined Configuration for Custom Sort Module",properties:[{name:"CustomSorts",kind:"unknown",description:"Collection of Custom Sort objects.",uiLabel:"Custom Sorts",isOptional:!0,defaultValue:"[]"}]},CustomToolbar:{name:"CustomToolbar",kind:"Interface",description:"Custom Toolbar (which AdapTable will manage) enabling devs to populate Dashboard with bepoke content",properties:[{name:"frameworkComponent",kind:"REFERENCE",description:"The Framework-specific (Angular or React) component to be rendered",uiLabel:"Framework Component",isOptional:!0,reference:"unknown"},{name:"name",kind:"string",description:"How Toolbar is referenced (e.g. in Dashboard Popup when managing toolbars)",uiLabel:"Name"},{name:"render",kind:"unknown",description:"Function to provide custom content when NOT using a Framework wrapper",uiLabel:"Render",isOptional:!0},{name:"showCloseButton",kind:"boolean",description:"Shows a Close button at the bottom of Custom Toolbar",uiLabel:"Show Close Button",isOptional:!0},{name:"showConfigureButton",kind:"boolean",description:"Shows a Configure (wrench) button which when clicked fires `CustomToolbarConfigured` event",uiLabel:"Show Configure Button",isOptional:!0},{name:"title",kind:"string",description:"Title to display in Toolbar; if unset or empty string, nothing will show",uiLabel:"Title",isOptional:!0},{name:"toolbarButtons",kind:"unknown",description:"Optional set of buttons to show in the Toolbar",uiLabel:"Toolbar Buttons",isOptional:!0}]},CustomToolbarButtonContext:{name:"CustomToolbarButtonContext",kind:"Interface",description:"Context required by functions when using a Custom Toolbar Button",properties:[{name:"customToolbar",kind:"REFERENCE",description:"Custom Toolbar which hosts the Button",uiLabel:"Custom Toolbar",reference:"CustomToolbar"},{name:"dashboardState",kind:"REFERENCE",description:"Current Dashboard State",uiLabel:"Dashboard State",reference:"DashboardState"}]},CustomToolbarConfiguredInfo:{name:"CustomToolbarConfiguredInfo",kind:"Interface",description:"EventInfo returned by the CustomToolbarConfigured event",properties:[{name:"customToolbar",kind:"REFERENCE",description:"Custom Toolbar in which the &#39;Configure&#39; button has been clicked",uiLabel:"Custom Toolbar",reference:"CustomToolbar"}]},CustomToolPanel:{name:"CustomToolPanel",kind:"Interface",description:"Defines a Custom ToolPanel - provided by Users and contains custom content",properties:[{name:"frameworkComponent",kind:"REFERENCE",description:"Framework-specific (Angular or React) component to be rendered",uiLabel:"Framework Component",isOptional:!0,reference:"unknown"},{name:"name",kind:"string",description:"Name of Custom ToolPanel - should be unique",uiLabel:"Name"},{name:"render",kind:"unknown",description:"Function to provide bespoke content when NOT using a Framework wrapper",uiLabel:"Render",isOptional:!0},{name:"title",kind:"string",description:"Title to display in Custom ToolPanel; if undefined, will default to `name` property",uiLabel:"Title",isOptional:!0},{name:"toolPanelButtons",kind:"unknown",description:"Optional set of buttons to show in the ToolPanel",uiLabel:"Tool Panel Buttons",isOptional:!0}]},DashboardApi:{name:"DashboardApi",kind:"Interface",description:"Functions relating to the AdapTable Dashboard.",properties:[{name:"addCustomToolbarButtons",kind:"function",description:"Adds Toolbar Buttons to current collection in Custom Toolbar",uiLabel:"Add Custom Toolbar Buttons"},{name:"clearCustomToolbarButtons",kind:"function",description:"Clears all Toolbar Buttons from Custom Toolbar",uiLabel:"Clear Custom Toolbar Buttons"},{name:"collapseDashboard",kind:"function",description:"Collapses Dashboard so only Dashboard Header is visible (and not Toolbars&#39; contents)",uiLabel:"Collapse Dashboard"},{name:"dockDashboard",kind:"function",description:"Docks Dashboard so it &#39;snaps back&#39; into its customary position above the grid",uiLabel:"Dock Dashboard"},{name:"expandDashboard",kind:"function",description:"Expands Dashboard so Toolbars in Active Tab are fully visible",uiLabel:"Expand Dashboard"},{name:"fireDashboardChangedEvent",kind:"function",description:"Fires Dashboard Changed Event",uiLabel:"Fire Dashboard Changed Event"},{name:"floatDashboard",kind:"function",description:"Floats Dashboard so only Dashboard Header is visible (in reduced size); can be dragged to a new location",uiLabel:"Float Dashboard"},{name:"getActiveTab",kind:"function",description:"Returns current Active Tab (if there is one)",uiLabel:"Get Active Tab"},{name:"getActiveTabIndex",kind:"function",description:"Returns current Active Tab index (if there is one)",uiLabel:"Get Active Tab Index"},{name:"getCurrentToolbars",kind:"function",description:"Retrieves all Toolbars in Active Tab",uiLabel:"Get Current Toolbars"},{name:"getCustomDashboardButtonByLabel",kind:"function",description:"Retrieves first Custom Button with given Label",uiLabel:"Get Custom Dashboard Button By Label"},{name:"getCustomDashboardButtons",kind:"function",description:"Retrieves all Custom Buttons",uiLabel:"Get Custom Dashboard Buttons"},{name:"getCustomToolbarByName",kind:"function",description:"Returns Custom Toolbar with the given name",uiLabel:"Get Custom Toolbar By Name"},{name:"getCustomToolbarContentsDiv",kind:"function",description:"Returns &#39;div&#39; element for given Custom Toolbar",uiLabel:"Get Custom Toolbar Contents Div"},{name:"getCustomToolbars",kind:"function",description:"Retrieves all Custom Toolbars",uiLabel:"Get Custom Toolbars"},{name:"getDashboardState",kind:"function",description:"Retrieves Dashboard section from Adaptable State",uiLabel:"Get Dashboard State"},{name:"getTabByName",kind:"function",description:"Retrieves the Tab from State that matches inputted name",uiLabel:"Get Tab By Name"},{name:"hasCustomToolbarChanged",kind:"function",description:"Has a custom toolbar become visible or",uiLabel:"Has Custom Toolbar Changed"},{name:"hideDashboard",kind:"function",description:"Hides the Dashboard so cannot be seen",uiLabel:"Hide Dashboard"},{name:"isDashboardCollapsed",kind:"function",description:"Is Dashboard Collapsed",uiLabel:"Is Dashboard Collapsed"},{name:"isDashboardDocked",kind:"function",description:"Is Dashboard Docked",uiLabel:"Is Dashboard Docked"},{name:"isDashboardExpanded",kind:"function",description:"Is Dashboard Expanded",uiLabel:"Is Dashboard Expanded"},{name:"isDashboardFloating",kind:"function",description:"Is Dashboard Floating",uiLabel:"Is Dashboard Floating"},{name:"isDashboardHidden",kind:"function",description:"Is Dashboard Hidden",uiLabel:"Is Dashboard Hidden"},{name:"isDashboardVisible",kind:"function",description:"Is Dashboard Visible",uiLabel:"Is Dashboard Visible"},{name:"isToolbarVisible",kind:"function",description:"Checks if a given Toolbar is visible",uiLabel:"Is Toolbar Visible"},{name:"setActiveTab",kind:"function",description:"Sets Active Tab in Dashboard",uiLabel:"Set Active Tab"},{name:"setActiveTabIndex",kind:"function",description:"Sets Active Tab in Dashboard",uiLabel:"Set Active Tab Index"},{name:"setCustomToolbarButtons",kind:"function",description:"Replaces Toolbar Buttons in Custom Toolbar with the new set",uiLabel:"Set Custom Toolbar Buttons"},{name:"setCustomToolbarContents",kind:"function",description:"Populates a Custom Toolbar with content",uiLabel:"Set Custom Toolbar Contents"},{name:"setDashboardTitle",kind:"function",description:"Sets title of Dashboard Header",uiLabel:"Set Dashboard Title"},{name:"setModuleButtons",kind:"function",description:"Sets which Module Buttons are visible",uiLabel:"Set Module Buttons"},{name:"showDashboard",kind:"function",description:"Makes the Dashboard visible",uiLabel:"Show Dashboard"},{name:"showDashboardPopup",kind:"function",description:"Opens the Dashboard popup screen",uiLabel:"Show Dashboard Popup"}]},DashboardButtonContext:{name:"DashboardButtonContext",kind:"Interface",description:"Context required by functions when using a Dashboard Button",properties:[{name:"dashboardState",kind:"REFERENCE",description:"Current Dashboard State",uiLabel:"Dashboard State",reference:"DashboardState"}]},DashboardChangedInfo:{name:"DashboardChangedInfo",kind:"Interface",description:"Object returned by the `DashboardChanged` event",properties:[{name:"actionName",kind:"string",description:"What caused Dashboard State to change",uiLabel:"Action Name"},{name:"newDashboardState",kind:"REFERENCE",description:"Current Dashboard State",uiLabel:"New Dashboard State",reference:"DashboardState"},{name:"oldDashboardState",kind:"REFERENCE",description:"Previous Dashboard State",uiLabel:"Old Dashboard State",reference:"DashboardState"}]},DashboardOptions:{name:"DashboardOptions",kind:"Interface",description:"Options related to the Dashboard in Adaptable.",properties:[{name:"buttonsLocation",kind:"unknown",description:"Position in the Dashboard to show the Module and Custom Buttons",uiLabel:"Buttons Location",isOptional:!0,defaultValue:"&#39;right&#39;"},{name:"canFloat",kind:"boolean",description:"Whether the Dashboard can be floated; if true (the default), double-clicking Dashboard puts it in float mode",uiLabel:"Can Float",isOptional:!0,gridInfo:"item",defaultValue:"true"},{name:"customDashboardButtons",kind:"unknown",description:"Custom Adaptable Buttons to appear in Dashboard (alongside Module Buttons)",uiLabel:"Custom Dashboard Buttons",isOptional:!0},{name:"customToolbars",kind:"unknown",description:"Toolbars provided by Users which contain custom content",uiLabel:"Custom Toolbars",isOptional:!0},{name:"showQuickSearchInHeader",kind:"boolean",description:"Shows Quick Search textbox in the Dashboard Header",uiLabel:"Show Quick Search In Header",isOptional:!0,gridInfo:"item",defaultValue:"true"}]},DashboardState:{name:"DashboardState",kind:"Interface",description:"Predefined Configuration for the AdapTable Dashboard",properties:[{name:"ActiveTabIndex",kind:"number",description:"The index of the Active Tab (in Tabs collection)",uiLabel:"Active Tab Index",isOptional:!0},{name:"DashboardTitle",kind:"string",description:"Title to display in Dashboard Header",uiLabel:"Dashboard Title",isOptional:!0,defaultValue:"`adaptableId` in Adaptable Options"},{name:"FloatingPosition",kind:"REFERENCE",description:"Position of Dashboard when in &#39;floating mode&#39;",uiLabel:"Floating Position",isOptional:!0,reference:"AdaptableCoordinate"},{name:"IsCollapsed",kind:"boolean",description:"Whether Dashboard is collapsed; if true, header is visible (but not tabs&#39; contents)",uiLabel:"Is Collapsed",isOptional:!0,defaultValue:"false"},{name:"IsFloating",kind:"boolean",description:"Whether Dashboard is floating; if true, appears in draggable, minmised form (double-click to revert to default position)",uiLabel:"Is Floating",isOptional:!0,defaultValue:"false"},{name:"IsHidden",kind:"boolean",description:"Whether Dashboard is completely hidden - can be made visible again in Column menu and toolpanel",uiLabel:"Is Hidden",isOptional:!0,defaultValue:"false"},{name:"IsInline",kind:"boolean",description:"Alternative way of showing Expanded Dashboard where headers section is to left of Toolbars",uiLabel:"Is Inline",isOptional:!0,defaultValue:"false"},{name:"ModuleButtons",kind:"REFERENCE",description:"Module Buttons which open screen in Settings Panel for associated AdapTable Module",uiLabel:"Module Buttons",isOptional:!0,defaultValue:"[&#39;SettingsPanel&#39;]",reference:"unknown"},{name:"Tabs",kind:"unknown",description:"Named group of Toolbars",uiLabel:"Tabs",isOptional:!0,defaultValue:"Empty Array"}]},DashboardTab:{name:"DashboardTab",kind:"Interface",description:"Defines a named set of Toolbars in the AdapTable Dashboard",properties:[{name:"Name",kind:"string",description:"Name of the tab - as appears in the Dashboard",uiLabel:"Name"},{name:"Toolbars",kind:"unknown",description:"List of Toolbars to show in the Tab",uiLabel:"Toolbars"}]},DataChangedInfo:{name:"DataChangedInfo",kind:"Interface",description:"Defines a Cell Edit - includes full details of old and new values, the column and the enclosing Row",properties:[{name:"changedAt",kind:"number",description:"Timestamp of change occurence (in milliseconds)",uiLabel:"Changed At"},{name:"column",kind:"REFERENCE",description:"Column in which cell is situated",uiLabel:"Column",reference:"AdaptableColumn"},{name:"newValue",kind:"unknown",description:"New value for the cell",uiLabel:"New Value"},{name:"oldValue",kind:"unknown",description:"Value in the Cell before the edit",uiLabel:"Old Value"},{name:"primaryKeyValue",kind:"unknown",description:"Primary Key Column&#39;s value for the row where edited cell is situated",uiLabel:"Primary Key Value"},{name:"rowData",kind:"unknown",description:"Data in the Row",uiLabel:"Row Data",isOptional:!0},{name:"rowNode",kind:"REFERENCE",description:"AG Grid RowNode that contains the cell",uiLabel:"Row Node",isOptional:!0,reference:"unknown"},{name:"trigger",kind:"unknown",description:"What triggered the change - user, background change or a reverted change?",uiLabel:"Trigger",isOptional:!0}]},DataChangeHistoryApi:{name:"DataChangeHistoryApi",kind:"Interface",description:"Provides run-time access to the Data Change History Module",properties:[{name:"activateDataChangeHistory",kind:"function",description:"Activates Data Change History tracking (or resumes it, if it is currently suspended)",uiLabel:"Activate Data Change History"},{name:"deactivateDataChangeHistory",kind:"function",description:"Deactivates Data Change History tracking and flushes the cache",uiLabel:"Deactivate Data Change History"},{name:"getDataChangeHistoryLog",kind:"function",description:"Retrieves all data changes which are currently available",uiLabel:"Get Data Change History Log"},{name:"getDataChangeHistoryMode",kind:"function",description:"Retrieves current Data Change History mode: &#39;ACTIVE&#39;, &#39;INACTIVE&#39;, &#39;SUSPENDED&#39;",uiLabel:"Get Data Change History Mode"},{name:"showDataChangeHistoryPopup",kind:"function",description:"Opens Data Change History screen",uiLabel:"Show Data Change History Popup"},{name:"suspendDataChangeHistory",kind:"function",description:"Suspends data change history tracking",uiLabel:"Suspend Data Change History"},{name:"undoDataChangeHistoryEntry",kind:"function",description:"Reverts the provided data change to its previous value",uiLabel:"Undo Data Change History Entry"}]},DataChangeHistoryOptions:{name:"DataChangeHistoryOptions",kind:"Interface",description:"Options to manage the &#39;Data Change History Module&#39;, which provides an overview of all previous changes, giving the possibility to undo specific changes",properties:[{name:"activeByDefault",kind:"boolean",description:"Whether data change history should be active by default",uiLabel:"Active By Default",isOptional:!0,gridInfo:"item",defaultValue:"false"},{name:"showDataChange",kind:"unknown",description:"Function specifying which data changes to include in Data Change History",uiLabel:"Show Data Change",isOptional:!0,gridInfo:"item",defaultValue:"undefined (all data changes are logged)"}]},DataSource:{name:"DataSource",kind:"Interface",description:"Defines a Data Source object - used in Data Source function",properties:[{name:"Description",kind:"string",description:"Describes the Data Source",uiLabel:"Description"},{name:"Form",kind:"unknown",description:"Params for DataSource pops up a form",uiLabel:"Form",isOptional:!0},{name:"Name",kind:"string",description:"Name of Data Source",uiLabel:"Name"}]},DataSourceApi:{name:"DataSourceApi",kind:"Interface",description:"Provides run-time access to Data Source Module",properties:[{name:"addDataSource",kind:"function",description:"Adds new DataSource to State",uiLabel:"Add Data Source"},{name:"clearDataSource",kind:"function",description:"Clears currently selected DataSource",uiLabel:"Clear Data Source"},{name:"createDataSource",kind:"function",description:"Creates a DataSource from a given name and description",uiLabel:"Create Data Source"},{name:"getAllDataSource",kind:"function",description:"Retrieves all Data Sources in the Adaptable State",uiLabel:"Get All Data Source"},{name:"getCurrentDataSource",kind:"function",description:"Retrieves the currently applied Data Source",uiLabel:"Get Current Data Source"},{name:"getDataSourceById",kind:"function",description:"Retrieves Data Source by id",uiLabel:"Get Data Source By Id"},{name:"getDataSourceByName",kind:"function",description:"Retrives Data Source from State with given name",uiLabel:"Get Data Source By Name"},{name:"getDataSourceState",kind:"function",description:"Retrieves Data Source section from Adaptable State",uiLabel:"Get Data Source State"},{name:"setDataSource",kind:"function",description:"Makes given DataSource current",uiLabel:"Set Data Source"},{name:"showDataSourcePopup",kind:"function",description:"Opens Data Source popup screen",uiLabel:"Show Data Source Popup"}]},DataSourceState:{name:"DataSourceState",kind:"Interface",description:"Predefined Configuration for Data Source Module",properties:[{name:"CurrentDataSource",kind:"string",description:"Name of the currently selected Data Source",uiLabel:"Current Data Source",isOptional:!0},{name:"DataSources",kind:"unknown",description:"Collection of available Data Sources",uiLabel:"Data Sources",isOptional:!0}]},DataUpdateConfig:{name:"DataUpdateConfig",kind:"Interface",description:"Object passed into Adaptable Grid Api data management methods",properties:[{name:"addIndex",kind:"number",description:"Index where to add new rows",uiLabel:"Add Index",isOptional:!0},{name:"callback",kind:"unknown",description:"Callback function invoked when a batch successfully updates",uiLabel:"Callback",isOptional:!0},{name:"runAsync",kind:"boolean",description:"Whether data should be updated asynchronously",uiLabel:"Run Async",isOptional:!0}]},DateFormatterOptions:{name:"DateFormatterOptions",kind:"Interface",description:"Formatter Options for Date Columns - contains a single `Pattern` property",properties:[{name:"Pattern",kind:"string",description:"Pattern to use for Date Format",uiLabel:"Pattern",isOptional:!0}]},DateInputOptions:{name:"DateInputOptions",kind:"Interface",description:"Options for managing and customizing the date inputs.",properties:[{name:"dateFormat",kind:"string",description:"Format string for formatting date input field",uiLabel:"Date Format",isOptional:!0,defaultValue:"&#39;yyyy-MM-dd&#39;"},{name:"datepickerButtons",kind:"unknown",description:"List of buttons which are displayed in the datepicker overlay in the given order (provide empty array to display no buttons); custom button layout and positioning is achievable with the special elements `-` and `|`",uiLabel:"Datepicker Buttons",isOptional:!0,defaultValue:"[&#39;close&#39;,&#39;today&#39;]"},{name:"locale",kind:"unknown",description:"Locale object (to localize Date Picker)",uiLabel:"Locale",isOptional:!0,defaultValue:"`en-US`"},{name:"showOutsideDays",kind:"boolean",description:"Display outside days (i.e. those falling in next or previous month)",uiLabel:"Show Outside Days",isOptional:!0,defaultValue:"true"},{name:"showWeekNumber",kind:"boolean",description:"Display the week numbers column",uiLabel:"Show Week Number",isOptional:!0,defaultValue:"false"},{name:"useNativeInput",kind:"boolean",description:"Use browser specific date input instead of AdapTable&#39;s Date Picker",uiLabel:"Use Native Input",isOptional:!0,defaultValue:"false"}]},EditLookUpPermittedValues:{name:"EditLookUpPermittedValues",kind:"Interface",description:"Used to define permitted values for inline column editor"},EditOptions:{name:"EditOptions",kind:"Interface",description:"Options related to Editing in Adaptable.",properties:[{name:"displayServerValidationMessages",kind:"boolean",description:"Displays message after Server Validation",uiLabel:"Display Server Validation Messages",isOptional:!0,gridInfo:"item",defaultValue:"true"},{name:"isCellEditable",kind:"unknown",description:"Function which checks if given Grid Cell is editable",uiLabel:"Is Cell Editable",isOptional:!0},{name:"validateOnServer",kind:"unknown",description:"Function to validate on Server Adaptable data edits",uiLabel:"Validate On Server",isOptional:!0}]},EntitlementOptions:{name:"EntitlementOptions",kind:"Interface",description:"Options for managing Entitlements in AdapTable, ie. which Modules are available to the User and whether as *Full*, *ReadOnly* or *Hidden*.",properties:[{name:"defaultAccessLevel",kind:"unknown",description:"AccessLevel to use when an Entitlement is not explicitly set; may be provided as a hardcoded value or as a function to invoke",uiLabel:"Default Access Level",isOptional:!0,gridInfo:"item",defaultValue:"&#39;Full&#39;"},{name:"moduleEntitlements",kind:"unknown",description:"Returns either collection of `Entitlements`, or a function to invoke when an Entitlement is required",uiLabel:"Module Entitlements",isOptional:!0,gridInfo:"item"}]},EventApi:{name:"EventApi",kind:"Interface",description:"Responsible for publishing the many Events that AdapTable fires",properties:[{name:"off",kind:"function",description:"Unsubscribe from SearchChanged",uiLabel:"Off"},{name:"off",kind:"function",description:"Unsubscribe from CheckboCxolumnClicked",uiLabel:"Off"},{name:"off",kind:"function",description:"Unsubscribe from LayoutChanged",uiLabel:"Off"},{name:"off",kind:"function",description:"Unsubscribe from CustomToolbarConfigured",uiLabel:"Off"},{name:"off",kind:"function",description:"Unsubscribe from DashboardChanged",uiLabel:"Off"},{name:"off",kind:"function",description:"Unsubscribe from AdaptableStateChanged",uiLabel:"Off"},{name:"off",kind:"function",description:"Unsubscribe from LiveDataChanged",uiLabel:"Off"},{name:"off",kind:"function",description:"Unsubscribe from AdaptableReady",uiLabel:"Off"},{name:"off",kind:"function",description:"Unsubscribe from CellChanged",uiLabel:"Off"},{name:"off",kind:"function",description:"Unsubscribe from TeamSharingEntityChanged",uiLabel:"Off"},{name:"off",kind:"function",description:"Unsubscribe from GridDataChanged",uiLabel:"Off"},{name:"off",kind:"function",description:"Unsubscribe from SelectionChanged",uiLabel:"Off"},{name:"off",kind:"function",description:"Unsubscribe from ThemeChanged",uiLabel:"Off"},{name:"off",kind:"function",description:"Unsubscribe from SystemStatusMessageDisplayed",uiLabel:"Off"},{name:"off",kind:"function",description:"Unsubscribe from AlertFired",uiLabel:"Off"},{name:"off",kind:"function",description:"Unsubscribe from FlashingCellDisplayed",uiLabel:"Off"},{name:"on",kind:"function",description:"Event fired whenever search criteria in AdapTable changes",uiLabel:"On"},{name:"on",kind:"function",description:"Event fired whenever the **Button in a Checkbox Column is clicked**.",uiLabel:"On"},{name:"on",kind:"function",description:"Event fired whenever the current Layout updates in AdapTable",uiLabel:"On"},{name:"on",kind:"function",description:"Event fired whenever **Configure Button is clicked in a Custom Toolbar**",uiLabel:"On"},{name:"on",kind:"function",description:"Event fired whenever **Dashboard State changes** Primarily used for rendering Custom toolbars.",uiLabel:"On"},{name:"on",kind:"function",description:"Event fired whenever **Adaptable State changes**",uiLabel:"On"},{name:"on",kind:"function",description:"Event fired whenever **a change occurs relating to live reports / data** Used in conjunction with AdapTable&#39;s partners OpenFin, ipushpull or Glue42",uiLabel:"On"},{name:"on",kind:"function",description:"Fired when Adaptable is up and running - has no arguments.",uiLabel:"On"},{name:"on",kind:"function",description:"Event fired whenever a cell changes in the Grid",uiLabel:"On"},{name:"on",kind:"function",description:"Event fired whenever a Shared Entity in Team Sharing changes",uiLabel:"On"},{name:"on",kind:"function",description:"Event fired when data changes in the Grid",uiLabel:"On"},{name:"on",kind:"function",description:"Event fired whenever the Cell or Row **Selection in AdapTable changes**.",uiLabel:"On"},{name:"on",kind:"function",description:"Event fired whenever the **selected theme of AdapTable is changed**.",uiLabel:"On"},{name:"on",kind:"function",description:"Event fired whenever a **System Status Message is displayed** in AdapTable",uiLabel:"On"},{name:"on",kind:"function",description:"Event fired whenever an **Alert is triggered** in AdapTable.",uiLabel:"On"},{name:"on",kind:"function",description:"Event fired whenever **Cell Flashing** is triggered in AdapTable.",uiLabel:"On"}]},ExportApi:{name:"ExportApi",kind:"Interface",description:"Provides run-time access to the Export Module and Report state",properties:[{name:"canExportToExcel",kind:"function",description:"If this AdapTable instance can to export to Excel; if false, the Export to Excel option will not be visible",uiLabel:"Can Export To Excel"},{name:"editReport",kind:"function",description:"Edits an existing report",uiLabel:"Edit Report"},{name:"editReports",kind:"function",description:"Edits existing reports",uiLabel:"Edit Reports"},{name:"exportDataToExcel",kind:"function",description:"Exports data to Excel",uiLabel:"Export Data To Excel"},{name:"exportVisualDataToExcel",kind:"function",description:"Exports data currently in grid to Excel as What-You-See-Is-What-You-Get",uiLabel:"Export Visual Data To Excel"},{name:"getAllCustomDestination",kind:"function",description:"Retrieves all Custom Destinations from Export Options",uiLabel:"Get All Custom Destination"},{name:"getAllReports",kind:"function",description:"Retrieves all Reports in State - both System and User-created Reports",uiLabel:"Get All Reports"},{name:"getAvailableExportDestinations",kind:"function",description:"Retrieves the available export destinations",uiLabel:"Get Available Export Destinations"},{name:"getAvailableSystemReports",kind:"function",description:"Retrieves System Reports section of Export State",uiLabel:"Get Available System Reports"},{name:"getCurrentReport",kind:"function",description:"Retrieves currently selected Report",uiLabel:"Get Current Report"},{name:"getCurrentReportName",kind:"function",description:"Retrieves name of currently selected Report",uiLabel:"Get Current Report Name"},{name:"getDestinationByName",kind:"function",description:"Retrieves Destination with the given name",uiLabel:"Get Destination By Name"},{name:"getExportDestinationForm",kind:"function",description:"Form Data entered by the User in the UI for a Custom Destination",uiLabel:"Get Export Destination Form"},{name:"getExportState",kind:"function",description:"Retrieves Export section from Adaptable State",uiLabel:"Get Export State"},{name:"getReportById",kind:"function",description:"Retrieves Report by Id",uiLabel:"Get Report By Id"},{name:"getReportByName",kind:"function",description:"Retrieves Report with the given name",uiLabel:"Get Report By Name"},{name:"getReportSchedules",kind:"function",description:"Retrieves all Report Schedules",uiLabel:"Get Report Schedules"},{name:"isDataChangeInReport",kind:"function",description:"Whether given data change affects given report",uiLabel:"Is Data Change In Report"},{name:"isExportDestinationCustom",kind:"function",description:"If the given destination is a Custom one",uiLabel:"Is Export Destination Custom"},{name:"runCustomReport",kind:"function",description:"Runs the report function of the CustomReport with the given reportName",uiLabel:"Run Custom Report"},{name:"sendReport",kind:"function",description:"Sends a Report to a given destination",uiLabel:"Send Report"},{name:"showExportPopup",kind:"function",description:"Opens Export popup screen",uiLabel:"Show Export Popup"}]},ExportButtonContext:{name:"ExportButtonContext",kind:"Interface",description:"Context required by functions when using an Export Button",properties:[{name:"customDestination",kind:"REFERENCE",description:"Custom Export destination",uiLabel:"Custom Destination",reference:"CustomDestination"},{name:"formData",kind:"REFERENCE",description:"Adaptable Form Data",uiLabel:"Form Data",reference:"unknown"},{name:"report",kind:"REFERENCE",description:"The exported report",uiLabel:"Report",reference:"unknown"},{name:"reportData",kind:"REFERENCE",description:"The data in the report",uiLabel:"Report Data",reference:"ReportData"}]},ExportOptions:{name:"ExportOptions",kind:"Interface",description:"Options regarding Exporting data from AdapTable",properties:[{name:"appendFileTimestamp",kind:"boolean",description:"Whether to add a timestamp as a suffix to exported file name",uiLabel:"Append File Timestamp",isOptional:!0,gridInfo:"item",defaultValue:"false"},{name:"customDestinations",kind:"unknown",description:"User-provided Report Destinations (in addition to those shipped in AdapTable)",uiLabel:"Custom Destinations",isOptional:!0},{name:"customReports",kind:"unknown",description:"Reports run entirely by users (and not AdapTable)",uiLabel:"Custom Reports",isOptional:!0},{name:"exportDateFormat",kind:"string",description:"Optional custom format for Date columns when exporting",uiLabel:"Export Date Format",isOptional:!0,gridInfo:"item",defaultValue:"undefined"},{name:"exportFormatType",kind:"unknown",description:"Format of exported values; can be set either for whole grid or specifically for each column type",uiLabel:"Export Format Type",isOptional:!0,defaultValue:"rawValue"},{name:"systemExportDestinations",kind:"REFERENCE",description:"Export destinations to use; leave blank for all, empty array for none",uiLabel:"System Export Destinations",isOptional:!0,gridInfo:"item",defaultValue:"&#39;Excel&#39;, &#39;CSV&#39;, &#39;Clipboard&#39;, &#39;JSON&#39;",reference:"unknown"},{name:"systemReportNames",kind:"REFERENCE",description:"System Reports to use; leave blank for all, empty array for none",uiLabel:"System Report Names",isOptional:!0,gridInfo:"item",defaultValue:"&#39;Visual Data&#39;, &#39;All Data&#39;, &#39;Current Data&#39;, &#39;Selected Cells&#39;, &#39;Selected Rows&#39;,",reference:"unknown"}]},ExportState:{name:"ExportState",kind:"Interface",description:"Predefined Configuration for Export Module",properties:[{name:"CurrentDestination",kind:"unknown",description:"Currently selected Report Destination in Export Toolbar &amp; Tool Panel",uiLabel:"Current Destination",isOptional:!0},{name:"CurrentReport",kind:"string",description:"Currently selected Report - in Export Toolbar &amp; Tool Panel",uiLabel:"Current Report",isOptional:!0},{name:"Reports",kind:"unknown",description:"User-created Reports; each has Name and Row and Column Scope",uiLabel:"Reports",isOptional:!0}]},ExpressionContext:{name:"ExpressionContext",kind:"Interface",description:"Provides context to an Expression Function, including current row node and AdaptableApi",properties:[{name:"api",kind:"REFERENCE",description:"Main Adaptable Api object",uiLabel:"Api",isOptional:!0,reference:"AdaptableApi"},{name:"filterFn",kind:"unknown",description:"Optional filter function to be applied before evaluating the expression",uiLabel:"Filter Fn",isOptional:!0},{name:"functions",kind:"REFERENCE",description:"All Expression Functions available to AdapTableQL",uiLabel:"Functions",reference:"unknown"},{name:"namedQueryCallStack",kind:"unknown",description:"All shared(named) query evaluations are tracked in order to detect circular dependencies",uiLabel:"Named Query Call Stack",isOptional:!0},{name:"node",kind:"unknown",description:"Current row node in grid being evaluated",uiLabel:"Node"},{name:"whereClauseFunctions",kind:"REFERENCE",description:"All Expression Functions available to AdapTableQL in the (optional) WHERE clause",uiLabel:"Where Clause Functions",isOptional:!0,reference:"unknown"}]},ExpressionFunction:{name:"ExpressionFunction",kind:"Interface",description:"Defines an AdapTableQL Function used in an Adaptable Expression",properties:[{name:"description",kind:"string",description:"What the AdapTableQL Function does",uiLabel:"Description",isOptional:!0},{name:"examples",kind:"unknown",description:"Examples that use the AdapTableQL Function",uiLabel:"Examples",isOptional:!0},{name:"handler",kind:"REFERENCE",description:"Actual AdapTableQL Function called by the Expression (mandatory prop)",uiLabel:"Handler",reference:"ExpressionFunctionHandler"},{name:"hasEagerEvaluation",kind:"boolean",description:"Whether Expression is evaluated eagerly (without handling inner AST nodes)",uiLabel:"Has Eager Evaluation",isOptional:!0},{name:"isHiddenFromMenu",kind:"boolean",description:"Removes entry from Expression Editor&#39;s Functions dropdown",uiLabel:"Is Hidden From Menu",isOptional:!0},{name:"isPredicate",kind:"boolean",description:"Whether the AdapTableQL Function returns true, if so can be used as Query",uiLabel:"Is Predicate",isOptional:!0},{name:"signatures",kind:"unknown",description:"How the AdapTableQL Function should be called",uiLabel:"Signatures",isOptional:!0}]},ExpressionFunctionDocBlock:{name:"ExpressionFunctionDocBlock",kind:"TypeAlias",description:"Defines how an AdapTableQL Function is described in Expression Editor"},ExpressionFunctionHandler:{name:"ExpressionFunctionHandler",kind:"TypeAlias",description:"The javascript function which is invoked by an AdapTableQL Function"},FDC3Context:{name:"FDC3Context",kind:"Interface",description:"General-purpose context type, as defined by [FDC3](https://fdc3.finos.org/docs/1.0/context-intro). A context object is a well-understood datum that is streamable between FDC3 participants. As a result it has a field describing what type it is, and data indicating its identity. Use this as a base to derive your own with any custom properties or metadata.",properties:[{name:"(indexer)",kind:"indexType",description:"Custom properties and metadata. This can be extended in specific context object.",uiLabel:"(indexer)"},{name:"id",kind:"unknown",description:"An optional map of any equivalent identifiers for the context type, e.g. ISIN, CUSIP, etc. for an instrument.",uiLabel:"Id",isOptional:!0},{name:"name",kind:"string",description:"The name of the context data (optional). This is a text string that describes the data being sent. Implementors of context may choose to make the name mandatory.",uiLabel:"Name",isOptional:!0},{name:"type",kind:"string",description:"The type of the context that uniquely identifies it, e.g. &quot;instrument&quot;. This is used to refer to the accepted context(s) when declaring intents. See [[AppDirIntent]].",uiLabel:"Type"}]},FilterActionOnDataChange:{name:"FilterActionOnDataChange",kind:"Interface",description:"Determines whether Adaptable should re-apply filtering after cell and ticking data edits. * If the &#39;applyFilter&#39; value is &#39;Throttle&#39; then the &#39;throttleDelay&#39; property should be additionally set.",properties:[{name:"applyFilter",kind:"unknown",description:"When to re-apply Filters: &#39;Always&#39;, &#39;Never&#39; or &#39;Throttle&#39;",uiLabel:"Apply Filter"},{name:"throttleDelay",kind:"number",description:"Delay in ms (when `applyFilter` is set to &#39;Throttle&#39;)",uiLabel:"Throttle Delay",isOptional:!0}]},FilterApi:{name:"FilterApi",kind:"Interface",description:"Provides run-time access to Filter section of Adaptable State.",properties:[{name:"clearAllColumnFilter",kind:"function",description:"Clears all Column Filters in State",uiLabel:"Clear All Column Filter"},{name:"clearAndSetColumnFilter",kind:"function",description:"Clears existing Column Filters and then sets the new ones",uiLabel:"Clear And Set Column Filter"},{name:"clearColumnFilter",kind:"function",description:"Clears given Column Filter",uiLabel:"Clear Column Filter"},{name:"clearColumnFilterByColumn",kind:"function",description:"Clears Column Filter for given Column",uiLabel:"Clear Column Filter By Column"},{name:"clearColumnFilterByColumns",kind:"function",description:"Clears Column Filters for given set of Columns",uiLabel:"Clear Column Filter By Columns"},{name:"columnFiltersToString",kind:"function",description:"Retrieves descriptions of given Column Filters",uiLabel:"Column Filters To String"},{name:"columnFilterToString",kind:"function",description:"Retrieves description of given Column Filter",uiLabel:"Column Filter To String"},{name:"createColumnFilterForCell",kind:"function",description:"Creates new Column Filter on given Column using Primary Key values",uiLabel:"Create Column Filter For Cell"},{name:"evaluateColumnFilter",kind:"function",description:"Calls AdapTableQL to evaluate Filter for given Row",uiLabel:"Evaluate Column Filter"},{name:"findPredicateDefByShortcut",kind:"function",description:"Returns Predicate Definition for given Column and Quick Filter shortcut",uiLabel:"Find Predicate Def By Shortcut"},{name:"getAllColumnFilter",kind:"function",description:"Retrieves all the Column Filters in the Column Filter State (of Predefined Config)",uiLabel:"Get All Column Filter"},{name:"getAllColumnFilterForColumn",kind:"function",description:"Retrieves all Column Filters for given Column",uiLabel:"Get All Column Filter For Column"},{name:"getAllSystemFilterIds",kind:"function",description:"Retrieves Ids for all System Filters",uiLabel:"Get All System Filter Ids"},{name:"getColumnFilterById",kind:"function",description:"Retrieves ColumnFilter by Id",uiLabel:"Get Column Filter By Id"},{name:"getFilterPredicateDefsForColumn",kind:"function",description:"Gets all Filter Predicates available for a given Column",uiLabel:"Get Filter Predicate Defs For Column"},{name:"getFilterPredicateDefsForColumnId",kind:"function",description:"Gets all Filter Predicates available for a given ColumnId",uiLabel:"Get Filter Predicate Defs For Column Id"},{name:"getFilterState",kind:"function",description:"Retrieves Filter section from Adaptable State",uiLabel:"Get Filter State"},{name:"hideQuickFilterBar",kind:"function",description:"Hides Quick Filter bar",uiLabel:"Hide Quick Filter Bar"},{name:"isQuickFilterAvailable",kind:"function",description:"Whether Quick Filter is available for use",uiLabel:"Is Quick Filter Available"},{name:"isQuickFilterVisible",kind:"function",description:"Whether Quick Filter Form is currently visible",uiLabel:"Is Quick Filter Visible"},{name:"setColumnFilter",kind:"function",description:"Sets Column Filters - will replace filters for existing column and leave other column filters in place",uiLabel:"Set Column Filter"},{name:"showQuickFilterBar",kind:"function",description:"Makes Quick Filter Bar appear",uiLabel:"Show Quick Filter Bar"}]},FilterOptions:{name:"FilterOptions",kind:"Interface",description:"Options for managing Filtering in AdapTable",properties:[{name:"autoApplyFilter",kind:"boolean",description:"Apply selected filters (in Filter Form or Quick Filter Bar) as soon as they are clicked; if false an Apply Filter button is displayed",uiLabel:"Auto Apply Filter",isOptional:!0,gridInfo:"item",defaultValue:"true"},{name:"clearFiltersOnStartUp",kind:"boolean",description:"Clears saved Column Filters when AdapTable loads",uiLabel:"Clear Filters On Start Up",isOptional:!0,gridInfo:"item",defaultValue:"false"},{name:"defaultDateColumnFilter",kind:"unknown",description:"Default filter type for date Columns",uiLabel:"Default Date Column Filter",isOptional:!0,gridInfo:"item",defaultValue:"On"},{name:"defaultFilterFormTab",kind:"unknown",description:"Whether to open the Filter Form on the Values or Predicates tab",uiLabel:"Default Filter Form Tab",isOptional:!0,gridInfo:"item",defaultValue:"&#39;Values&#39;"},{name:"defaultNumericColumnFilter",kind:"unknown",description:"Default filter type for numeric Columns",uiLabel:"Default Numeric Column Filter",isOptional:!0,gridInfo:"item",defaultValue:"Equals"},{name:"defaultStringColumnFilter",kind:"unknown",description:"Default filter type for string Columns",uiLabel:"Default String Column Filter",isOptional:!0,gridInfo:"item",defaultValue:"Contains"},{name:"enableFilterOnSpecialColumns",kind:"boolean",description:"Allows filtering on Calculated &amp; FreeText columns",uiLabel:"Enable Filter On Special Columns",isOptional:!0,gridInfo:"item",defaultValue:"true"},{name:"filterActionOnExternalDataChange",kind:"REFERENCE",description:"When to re-filter grid after data ticks: &#39;Always&#39;, &#39;Never&#39; or &#39;Throttle&#39; (which requires a &#39;ThrottleDelay&#39;)",uiLabel:"Filter Action On External Data Change",isOptional:!0,defaultValue:"&#39;Never&#39;",reference:"FilterActionOnDataChange"},{name:"filterActionOnUserDataChange",kind:"REFERENCE",description:"When to re-filter grid after user edits data: &#39;Always&#39;, &#39;Never&#39; or &#39;Throttle&#39; (which requires a &#39;ThrottleDelay&#39;)",uiLabel:"Filter Action On User Data Change",isOptional:!0,defaultValue:"&#39;Always&#39;",reference:"FilterActionOnDataChange"},{name:"hideQuickFilterDropdown",kind:"unknown",description:"Hides the Dropdown in Quick Filter Bar for a given Column",uiLabel:"Hide Quick Filter Dropdown",isOptional:!0,defaultValue:"undefined"},{name:"hideQuickFilterInput",kind:"unknown",description:"Hides the Input in Quick Filter Bar for a given Column",uiLabel:"Hide Quick Filter Input",isOptional:!0,defaultValue:"undefined"},{name:"indicateFilteredColumns",kind:"boolean",description:"Make Column header distinctive for filtered columns, helps users see currently filtered columns",uiLabel:"Indicate Filtered Columns",isOptional:!0,gridInfo:"item",defaultValue:"true"},{name:"maxFilterValuesToDisplay",kind:"number",description:"Distinct column items to display in Filter Form; useful with large datasource (though AdapTable offers virtualisation)",uiLabel:"Max Filter Values To Display",isOptional:!0,gridInfo:"item",defaultValue:"2,000"},{name:"quickFilterTrigger",kind:"unknown",description:"Whether to open Quick Filter dropdown with mouse hover or click",uiLabel:"Quick Filter Trigger",isOptional:!0,gridInfo:"item",defaultValue:"&#39;mouseenter&#39;"},{name:"quickFilterValuesTrigger",kind:"unknown",description:"Whether to open Quick Filter Values dropdown with mouse hover or click",uiLabel:"Quick Filter Values Trigger",isOptional:!0,gridInfo:"item",defaultValue:"&#39;mouseenter&#39;"},{name:"sortColumnValuesInFilter",kind:"boolean",description:"Whether column values in filter dropdown should apply column&#39;s current Sort Order for the column",uiLabel:"Sort Column Values In Filter",isOptional:!0,gridInfo:"item",defaultValue:"false"},{name:"systemFilters",kind:"REFERENCE",description:"Which Adaptable System Filter Predicates are available",uiLabel:"System Filters",isOptional:!0,reference:"unknown"},{name:"useAdaptableFilterForm",kind:"unknown",description:"Uses Adaptable&#39;s Filter Form in Column Menu for all columns if &#39;true&#39; (the default) or those listed, in preference to AG Grid&#39;s Filter Form",uiLabel:"Use Adaptable Filter Form",isOptional:!0,defaultValue:"true"},{name:"useAdaptableQuickFilter",kind:"unknown",description:"Use Adaptable&#39;s Quick Filter Bar for all columns if &#39;true&#39; (the default) or those listed, in preference to AG Grid&#39;s Floating Filter",uiLabel:"Use Adaptable Quick Filter",isOptional:!0,gridInfo:"item",defaultValue:"true"},{name:"useAgGridFilterFormStyle",kind:"boolean",description:"Styles Adaptable Filter Form to match AG Grid&#39;s current styling",uiLabel:"Use Ag Grid Filter Form Style",isOptional:!0,gridInfo:"item",defaultValue:"true"}]},FilterPermittedValues:{name:"FilterPermittedValues",kind:"Interface",description:"Used to define values inside the floating filter and floating filter (quick filter)",properties:[{name:"suppressFilterSearchBar",kind:"boolean",description:"Prevents AdapTable from filtering the list of values client-side; When true, values is called each time the search bar is changed false",uiLabel:"Suppress Filter Search Bar",isOptional:!0}]},FilterState:{name:"FilterState",kind:"Interface",description:"Predefined Configuration for Filters",properties:[{name:"ColumnFilters",kind:"unknown",description:"Collection of Column Filters",uiLabel:"Column Filters",isOptional:!0},{name:"IsQuickFilterVisible",kind:"boolean",description:"Whether to display Quick Filter Bar between Column Header and the Grid",uiLabel:"Is Quick Filter Visible",isOptional:!0,defaultValue:"true"}]},FinanceApi:{name:"FinanceApi",kind:"Interface",description:"Provides run-time access to the OpenFin Plugin",properties:[{name:"getPluginOptions",kind:"function",description:"Retrieves the OpenFinPlugOptions provided in OpenFin Plugin",uiLabel:"Get Plugin Options"}]},FinancePluginOptions:{name:"FinancePluginOptions",kind:"Interface",description:"Options required for when using the Finance plugin",properties:[{name:"instrumentColumns",kind:"unknown",description:"Columns to be defined as (FDC3) Instrument",uiLabel:"Instrument Columns",isOptional:!0},{name:"weightedAverageColumns",kind:"unknown",description:"Columns to use a Weighted Average aggregation",uiLabel:"Weighted Average Columns",isOptional:!0}]},FlashingCellApi:{name:"FlashingCellApi",kind:"Interface",description:"Provides run-time access to Flashing Cell functionality and associated State",properties:[{name:"addFlashingCellDefinition",kind:"function",description:"Adds a Flashing cell Definition to State",uiLabel:"Add Flashing Cell Definition"},{name:"addFlashingCellDefinitions",kind:"function",description:"Adds provided Flashing cell Definitions",uiLabel:"Add Flashing Cell Definitions"},{name:"editFlashingCellDefinition",kind:"function",description:"Edits Flashing Cell Definition in State with given one",uiLabel:"Edit Flashing Cell Definition"},{name:"editFlashingCellDefinitions",kind:"function",description:"Edits provided Flashing cell Definitions",uiLabel:"Edit Flashing Cell Definitions"},{name:"getActiveFlashingCellDefinitions",kind:"function",description:"Retrieves all active (non-suspended) cell Definitions in Flashing Cell State",uiLabel:"Get Active Flashing Cell Definitions"},{name:"getFlashingCellDefinitionById",kind:"function",description:"Retrieves Flashing cell Definition By Id",uiLabel:"Get Flashing Cell Definition By Id"},{name:"getFlashingCellDefinitions",kind:"function",description:"Retrieves all Flashing cell Definitions in Flashing Cell State",uiLabel:"Get Flashing Cell Definitions"},{name:"getFlashingCellFlashTarget",kind:"function",description:"Returns where a Flashing cell Definition will flash a single cell or a whole row",uiLabel:"Get Flashing Cell Flash Target"},{name:"getFlashingCellPredicateDefs",kind:"function",description:"Retrieves all Predicate Defs with Module Scope of Flashing Cell",uiLabel:"Get Flashing Cell Predicate Defs"},{name:"getFlashingCellPredicateDefsForScope",kind:"function",description:"Retrieves all Predicate Defs that match given Scope",uiLabel:"Get Flashing Cell Predicate Defs For Scope"},{name:"getFlashingCellState",kind:"function",description:"Retrieves Flashing Cell section from Adaptable State",uiLabel:"Get Flashing Cell State"},{name:"setFlashingCellDefinitions",kind:"function",description:"Sets a collection of Flashing Cell Definitions into State",uiLabel:"Set Flashing Cell Definitions"},{name:"showFlashingCell",kind:"function",description:"Displays a Flashing Cell Definition",uiLabel:"Show Flashing Cell"},{name:"suspendFlashingCellDefinition",kind:"function",description:"Suspends a Flashing cell Definition",uiLabel:"Suspend Flashing Cell Definition"},{name:"unSuspendFlashingCellDefinition",kind:"function",description:"Activates a suspended Flashing cell Definition",uiLabel:"Un Suspend Flashing Cell Definition"}]},FlashingCellDefinition:{name:"FlashingCellDefinition",kind:"Interface",description:"The Flashing Cell Definition",properties:[{name:"DownChangeStyle",kind:"REFERENCE",description:"Style for &#39;Down&#39; value changes",uiLabel:"Down Change Style",isOptional:!0,defaultValue:"Red BackColour",reference:"AdaptableStyle"},{name:"FlashDuration",kind:"unknown",description:"Duration of Flash - can be number (in ms) or &#39;always&#39;",uiLabel:"Flash Duration",isOptional:!0,defaultValue:"500ms"},{name:"FlashTarget",kind:"unknown",description:"Should a cell or whole row flash",uiLabel:"Flash Target",isOptional:!0,defaultValue:"&#39;cell&#39;"},{name:"NeutralChangeStyle",kind:"REFERENCE",description:"Style for &#39;Neutral&#39; value changes",uiLabel:"Neutral Change Style",isOptional:!0,defaultValue:"Gray BackColour",reference:"AdaptableStyle"},{name:"Rule",kind:"REFERENCE",description:"When Flashing Cell should be triggered",uiLabel:"Rule",reference:"unknown"},{name:"Scope",kind:"REFERENCE",description:"Where Flashing Cell can be triggered: one, some or all columns or DataTypes",uiLabel:"Scope",reference:"AdaptableScope"},{name:"UpChangeStyle",kind:"REFERENCE",description:"Style for &#39;Up&#39; value changes",uiLabel:"Up Change Style",isOptional:!0,defaultValue:"Green BackColour",reference:"AdaptableStyle"}]},FlashingCellDisplayedInfo:{name:"FlashingCellDisplayedInfo",kind:"Interface",description:"Object returned by the `FlashingCellDisplayed` event",properties:[{name:"flashingCell",kind:"REFERENCE",description:"Details of the Cell (or row) which has just flashed",uiLabel:"Flashing Cell",reference:"AdaptableFlashingCell"}]},FlashingCellOptions:{name:"FlashingCellOptions",kind:"Interface",description:"Properties for Flashing Cell",properties:[{name:"defaultDownChangeStyle",kind:"REFERENCE",description:"Style for &#39;Down&#39; value changes",uiLabel:"Default Down Change Style",isOptional:!0,defaultValue:"Red BackColour",reference:"AdaptableStyle"},{name:"defaultFlashDuration",kind:"unknown",description:"Duration of Flash - can be number (in ms) or &#39;always&#39;",uiLabel:"Default Flash Duration",isOptional:!0,defaultValue:"500ms"},{name:"defaultFlashTarget",kind:"unknown",description:"Should a cell or whole row flash",uiLabel:"Default Flash Target",isOptional:!0,defaultValue:"&#39;cell&#39;"},{name:"defaultNeutralChangeStyle",kind:"REFERENCE",description:"Style for &#39;Neutral&#39; value changes",uiLabel:"Default Neutral Change Style",isOptional:!0,defaultValue:"Gray BackColour",reference:"AdaptableStyle"},{name:"defaultUpChangeStyle",kind:"REFERENCE",description:"Style for &#39;Up&#39; value changes",uiLabel:"Default Up Change Style",isOptional:!0,defaultValue:"Green BackColour",reference:"AdaptableStyle"}]},FlashingCellState:{name:"FlashingCellState",kind:"Interface",description:"Predefined Configuration for Flashing Cell module",properties:[{name:"FlashingCellDefinitions",kind:"unknown",description:"Flashing Cell Definitions - will colour cells/rows when rule is met",uiLabel:"Flashing Cell Definitions",isOptional:!0,defaultValue:"null"}]},FormatColumn:{name:"FormatColumn",kind:"Interface",description:"Object used in Format Column function",properties:[{name:"CellAlignment",kind:"unknown",description:"Aligns cells &#39;Left&#39; or &#39;Right&#39; or &#39;Center&#39;",uiLabel:"Cell Alignment",isOptional:!0},{name:"ColumnStyle",kind:"REFERENCE",description:"Applies Gradient, Percent Bar or CheckBox style to a Column",uiLabel:"Column Style",isOptional:!0,reference:"unknown"},{name:"DisplayFormat",kind:"REFERENCE",description:"Display Format to apply to Column can be Numeric, String or Date",uiLabel:"Display Format",isOptional:!0,reference:"AdaptableFormat"},{name:"HeaderName",kind:"string",description:"Text to display in Column Header (doesn&#39;t change ColumnId)",uiLabel:"Header Name",isOptional:!0},{name:"IncludeGroupedRows",kind:"boolean",description:"Whether to Format the Column in Grouped Rows",uiLabel:"Include Grouped Rows",isOptional:!0,defaultValue:"false"},{name:"Scope",kind:"REFERENCE",description:"Where Format will be applied - whole Row, some Columns or all Columns of given DataType",uiLabel:"Scope",reference:"AdaptableScope"},{name:"Style",kind:"REFERENCE",description:"Style to apply",uiLabel:"Style",isOptional:!0,reference:"AdaptableStyle"}]},FormatColumnApi:{name:"FormatColumnApi",kind:"Interface",description:"Provides run-time access to the Format Column Module and associated state",properties:[{name:"addFormatColumn",kind:"function",description:"Adds a Format Column to Format Column State",uiLabel:"Add Format Column"},{name:"addFormatColumns",kind:"function",description:"Adds Format Columns to Format Column State",uiLabel:"Add Format Columns"},{name:"applyFormatColumnDisplayFormats",kind:"function",description:"Applies display format for all Format Columns in AdapTable State",uiLabel:"Apply Format Column Display Formats"},{name:"deleteAllFormatColumn",kind:"function",description:"Deletes all Format Columns in Adaptable State",uiLabel:"Delete All Format Column"},{name:"deleteFormatColumn",kind:"function",description:"Deletes an existing Format Column",uiLabel:"Delete Format Column"},{name:"editFormatColumn",kind:"function",description:"Edits the Format Column",uiLabel:"Edit Format Column"},{name:"fireCheckboxColumnClickedEvent",kind:"function",description:"Publishes the CheckboxColumnClickedEvent - when the checkbox in an Checkbox Column is clicked",uiLabel:"Fire Checkbox Column Clicked Event"},{name:"getAllActiveFormatColumn",kind:"function",description:"Retrieves all active (not-suspended) Format Columns in Adaptable State",uiLabel:"Get All Active Format Column"},{name:"getAllFormatColumn",kind:"function",description:"Retrieves all Format Columns in Adaptable State",uiLabel:"Get All Format Column"},{name:"getAllFormatColumnWithCellAlignment",kind:"function",description:"Retrieves all Format Columns in Adaptable State with `CellAlignment` property set",uiLabel:"Get All Format Column With Cell Alignment"},{name:"getAllFormatColumnWithDisplayFormat",kind:"function",description:"Retrieves all Format Columns in Adaptable State with `DisplayFormat` property set",uiLabel:"Get All Format Column With Display Format"},{name:"getAllFormatColumnWithStyle",kind:"function",description:"Retrieves all Format Columns in Adaptable State with the `Style` property set",uiLabel:"Get All Format Column With Style"},{name:"getAllSuspendedFormatColumn",kind:"function",description:"Retrieves all suspended Format Columns in Adaptable State",uiLabel:"Get All Suspended Format Column"},{name:"getCheckBoxStyleFormatColumn",kind:"function",description:"Returns first Format Column that contains checkbox style",uiLabel:"Get Check Box Style Format Column"},{name:"getColumnComparisonForFormatColumn",kind:"function",description:"Retrieves the ColumnComparison property, if there, from a Format Column (Column Style)",uiLabel:"Get Column Comparison For Format Column"},{name:"getColumnIdsFromColumnComparison",kind:"function",description:"Returns any ColumnIds referenced in a Column Comparison",uiLabel:"Get Column Ids From Column Comparison"},{name:"getFormatColumnById",kind:"function",description:"Retrieves Format Column by Id",uiLabel:"Get Format Column By Id"},{name:"getFormatColumnForColumn",kind:"function",description:"Gets Format Column, if any, for given Column",uiLabel:"Get Format Column For Column"},{name:"getFormatColumnForColumnId",kind:"function",description:"Gets Format Column, if any, for given ColumnId",uiLabel:"Get Format Column For Column Id"},{name:"getFormatColumnState",kind:"function",description:"Retrieves Format Column section from Adaptable State",uiLabel:"Get Format Column State"},{name:"getFormatColumnWithDisplayFormatForColumn",kind:"function",description:"Will get the most appropriate one i.e. first named Column, then DataType, then All",uiLabel:"Get Format Column With Display Format For Column"},{name:"getFormatColumnWithSingleColumnScope",kind:"function",description:"Get Format Column which has Scope of Single Column, if any, for given ColumnId",uiLabel:"Get Format Column With Single Column Scope"},{name:"getFormatColumnWithStyleClassNameForColumn",kind:"function",description:"Gets Format Column if any for given Column which includes Style element with ClassName",uiLabel:"Get Format Column With Style Class Name For Column"},{name:"getFormatColumnWithStyleForColumn",kind:"function",description:"Gets Format Column if any for given Column which includes Style element",uiLabel:"Get Format Column With Style For Column"},{name:"getNumericStyleMaxValue",kind:"function",description:"Gets the Maximum Value to display for a Numeric Style",uiLabel:"Get Numeric Style Max Value"},{name:"getNumericStyleMinValue",kind:"function",description:"Gets the Minimum Value to display for a Numeric Style",uiLabel:"Get Numeric Style Min Value"},{name:"hasStyleFormatColumns",kind:"function",description:"Returns true if Format State includes Format Columns with a Style property",uiLabel:"Has Style Format Columns"},{name:"isCheckBoxStyleFormatColumn",kind:"function",description:"Whether given column is a (boolean) checkbox column",uiLabel:"Is Check Box Style Format Column"},{name:"showFormatColumnPopup",kind:"function",description:"Opens the Format Column popup screen",uiLabel:"Show Format Column Popup"},{name:"suspendFormatColumn",kind:"function",description:"Suspends an Format column",uiLabel:"Suspend Format Column"},{name:"unSuspendFormatColumn",kind:"function",description:"Suspends an Format column",uiLabel:"Un Suspend Format Column"}]},FormatColumnState:{name:"FormatColumnState",kind:"Interface",description:"Predefined Configuration for Format Column Module",properties:[{name:"FormatColumns",kind:"unknown",description:"Collection of Format Columns",uiLabel:"Format Columns",isOptional:!0}]},FreeTextColumn:{name:"FreeTextColumn",kind:"Interface",description:"The FreeTextColumn object used in the Free Text Column function",properties:[{name:"ColumnId",kind:"string",description:"Id of Column",uiLabel:"Column Id"},{name:"DataType",kind:"unknown",description:"Whether Column is String, Number, Boolean or Date",uiLabel:"Data Type",isOptional:!0,defaultValue:"&#39;String&#39;"},{name:"DefaultValue",kind:"unknown",description:"Initial value to use for each cell in the Column",uiLabel:"Default Value",isOptional:!0},{name:"FreeTextColumnSettings",kind:"REFERENCE",description:"Additional optional properties for Column (e.g. filterable, resizable)",uiLabel:"Free Text Column Settings",isOptional:!0,reference:"FreeTextColumnSettings"},{name:"FreeTextStoredValues",kind:"unknown",description:"Collection of Stored Values to aplly in the Column",uiLabel:"Free Text Stored Values",isOptional:!0},{name:"FriendlyName",kind:"string",description:"Friendly Name to use to refer to Column; if unset `ColumnId` is used",uiLabel:"Friendly Name",isOptional:!0},{name:"TextEditor",kind:"unknown",description:"Cell editor to use when editing a string Free Text Column *",uiLabel:"Text Editor",isOptional:!0,defaultValue:"&#39;Inline&#39;"}]},FreeTextColumnApi:{name:"FreeTextColumnApi",kind:"Interface",description:"Provides run-time access to FreeTextColumn Module and associated state",properties:[{name:"addEditFreeTextColumnStoredValue",kind:"function",description:"Adds FreeTextStoredValue for a FreeTextColumn (replaces existing one if exists)",uiLabel:"Add Edit Free Text Column Stored Value"},{name:"addFreeTextColumn",kind:"function",description:"Adds new FreeTextColumn to Adaptable State",uiLabel:"Add Free Text Column"},{name:"addStoredValuesToFreeTextColumn",kind:"function",description:"Adds Stored Values to Existing FreeTextColumn",uiLabel:"Add Stored Values To Free Text Column"},{name:"checkFreeTextColumnForDataChange",kind:"function",description:"Checks if a User Edit was in a Free Text Column",uiLabel:"Check Free Text Column For Data Change"},{name:"createFreeTextColumn",kind:"function",description:"Creates new FreeTextColumn and adds it to Adaptable State",uiLabel:"Create Free Text Column"},{name:"deleteFreeTextColumn",kind:"function",description:"Deletes existing FreeTextColumn from Adaptable State",uiLabel:"Delete Free Text Column"},{name:"editFreeTextColumn",kind:"function",description:"Edits existing FreeTextColumn in Adaptable State",uiLabel:"Edit Free Text Column"},{name:"getAllFreeTextColumn",kind:"function",description:"Gets all FreeTextColumns in Adaptable State",uiLabel:"Get All Free Text Column"},{name:"getFreeTextColumnById",kind:"function",description:"Retrieves FreeTextColumn for given ColumnId",uiLabel:"Get Free Text Column By Id"},{name:"getFreeTextColumnModuleReferences",kind:"function",description:"Returns all the references in the AdaptableState of the given FreeTextColumn",uiLabel:"Get Free Text Column Module References"},{name:"getFreeTextColumnState",kind:"function",description:"Retrieves FreeTextColumn section of Adaptable State",uiLabel:"Get Free Text Column State"},{name:"getFreeTextColumnValueFromRowNode",kind:"function",description:"Retrieves a Free Text Column value from a row",uiLabel:"Get Free Text Column Value From Row Node"},{name:"showFreeTextColumnPopup",kind:"function",description:"Opens FreeTextColumn popup screen",uiLabel:"Show Free Text Column Popup"}]},FreeTextColumnSettings:{name:"FreeTextColumnSettings",kind:"Interface",description:"Set of optional properties that define a FreeText Columns behaviour"},FreeTextColumnState:{name:"FreeTextColumnState",kind:"Interface",description:"Predefined Configuration for the Free Text Column Module",properties:[{name:"FreeTextColumns",kind:"unknown",description:"Collection of Free Text Columns",uiLabel:"Free Text Columns",isOptional:!0}]},FreeTextStoredValue:{name:"FreeTextStoredValue",kind:"Interface",description:"Defines a cell value stored in a Free Text Column",properties:[{name:"FreeText",kind:"unknown",description:"Value to store in the cell",uiLabel:"Free Text"},{name:"PrimaryKey",kind:"unknown",description:"Primary Key Column value for the row",uiLabel:"Primary Key"}]},GeneralOptions:{name:"GeneralOptions",kind:"Interface",description:"General options for configuring AdapTable including managing Primary Keys",properties:[{name:"alternativeModuleNames",kind:"unknown",description:"Alternative names to use for Adaptable Modules in toolbars and menus",uiLabel:"Alternative Module Names",isOptional:!0,defaultValue:"null"},{name:"autoOrderGroupedColumns",kind:"boolean",description:"Sort Grouped Column automatically (using Custom Sort if one applied)",uiLabel:"Auto Order Grouped Columns",isOptional:!0,gridInfo:"item",defaultValue:"true"},{name:"caseSensitiveTextComparisons",kind:"boolean",description:"Perform case-sensitive text comparisons in all search and filter operations: QuickSearch, Filters, Query, Predicates",uiLabel:"Case Sensitive Text Comparisons",isOptional:!0,gridInfo:"item",defaultValue:"false"},{name:"cellSummaryOperations",kind:"unknown",description:"Custom Cell Summary Operations to add to shipped set",uiLabel:"Cell Summary Operations",isOptional:!0},{name:"currentCalendar",kind:"string",description:"Calendar to use for calculating Holidays &amp; Working Days",uiLabel:"Current Calendar",isOptional:!0,gridInfo:"item",defaultValue:"&#39;United Kingdom&#39;"},{name:"customSortComparers",kind:"unknown",description:"CustomSort column comparer functions",uiLabel:"Custom Sort Comparers",isOptional:!0},{name:"hideColumnWhenGrouped",kind:"boolean",description:"Automatically removes a column from the grid when it becomes Row Grouped",uiLabel:"Hide Column When Grouped",isOptional:!0,gridInfo:"item",defaultValue:"false"},{name:"hideEmptyGroupRows",kind:"boolean",description:"Hides any grouped rows if there are no columns visible",uiLabel:"Hide Empty Group Rows",isOptional:!0,defaultValue:"false"},{name:"showGroupingTotalsAsHeader",kind:"boolean",description:"Show aggregated totals row at top of Grid when row grouping",uiLabel:"Show Grouping Totals As Header",isOptional:!0,gridInfo:"item",defaultValue:"false"},{name:"showMissingColumnsWarning",kind:"boolean",description:"Show warning if AdapTable cannot find a column",uiLabel:"Show Missing Columns Warning",isOptional:!0,gridInfo:"item",defaultValue:"true"},{name:"showMissingPrimaryKeyAlert",kind:"boolean",description:"Shows Alert if Primary Key column in Adaptable Options is not present or incorrect",uiLabel:"Show Missing Primary Key Alert",isOptional:!0,gridInfo:"item",defaultValue:"false"}]},Glue42Api:{name:"Glue42Api",kind:"Interface",description:"Provides run-time access to the Glue42 Plugin.",properties:[{name:"clearGlue42InternalState",kind:"function",description:"Clears all Gluee42 Internal State",uiLabel:"Clear Glue42Internal State"},{name:"getCurrentLiveGlue42Report",kind:"function",description:"Retrieves the current Live Report",uiLabel:"Get Current Live Glue42Report"},{name:"getGlue42Schedules",kind:"function",description:"Retrieves all the Glue42 Schedules in from the Schedule section of AdapTable State",uiLabel:"Get Glue42Schedules"},{name:"getGlue42State",kind:"function",description:"Retrieves the Glue42 section of Adaptable State",uiLabel:"Get Glue42State"},{name:"getPluginOptions",kind:"function",description:"Retrieves the Glue42PluginOptions provided in Glue42 Plugin",uiLabel:"Get Plugin Options"},{name:"isGlue42Available",kind:"function",description:"Returns true if the Glue42 plugin is loaded",uiLabel:"Is Glue42Available"},{name:"isGlue42Running",kind:"function",description:"Returns true if the Glue42 plugin is loaded AND the user has logged into Glue42",uiLabel:"Is Glue42Running"},{name:"loginToGlue42",kind:"function",description:"Logs in the User to Glue42 using the given UserName and Password",uiLabel:"Login To Glue42"},{name:"logoutFromGlue42",kind:"function",description:"Logs out the currently logged in User from Glue42",uiLabel:"Logout From Glue42"},{name:"sendSnapshotToDo",kind:"function",description:"Starts a Snapshot as opposed to a Live report",uiLabel:"Send Snapshot To Do"},{name:"setGlue42AvailableOff",kind:"function",description:"Sets Glue42 Availability Off",uiLabel:"Set Glue42Available Off"},{name:"setGlue42AvailableOn",kind:"function",description:"Sets Glue42 Availability On",uiLabel:"Set Glue42Available On"},{name:"setGlue42LoginErrorMessage",kind:"function",description:"Sets an Error Message returned from Glue42 if login fails",uiLabel:"Set Glue42Login Error Message"},{name:"setGlue42RunningOff",kind:"function",description:"Sets Glue42 Running Off",uiLabel:"Set Glue42Running Off"},{name:"setGlue42RunningOn",kind:"function",description:"Sets Glue42 Running On",uiLabel:"Set Glue42Running On"},{name:"showNotification",kind:"function",description:"Shows a notification in Glue42",uiLabel:"Show Notification"},{name:"showNotificationForAlert",kind:"function",description:"Displays Alert as a Glue42 Notification",uiLabel:"Show Notification For Alert"},{name:"startLiveData",kind:"function",description:"Starts a &quot;Live&quot; report (ie. one which updates as the data ticks)",uiLabel:"Start Live Data"},{name:"stopLiveData",kind:"function",description:"Stops a &quot;Live&quot; report (ie. one which updates as the data ticks)",uiLabel:"Stop Live Data"}]},Glue42PluginOptions:{name:"Glue42PluginOptions",kind:"Interface",description:"Options for using the Glue42 plugin which provides a mechanism whereby AdapTable can be integreated with multiple widgets",properties:[{name:"gatewayURL",kind:"string",description:"Gateway URL",uiLabel:"Gateway URL",isOptional:!0},{name:"glue",kind:"unknown",description:"Main Glue desktop object",uiLabel:"Glue",isOptional:!0},{name:"glue42Office",kind:"unknown",description:"Main Glue42 Office object",uiLabel:"Glue42Office",isOptional:!0},{name:"password",kind:"string",description:"Password to use to login to Glue42; typically sourced from PC Credentials",uiLabel:"Password",isOptional:!0},{name:"username",kind:"string",description:"UserName to use to login to Glue42; typically sourced from PC Credentials",uiLabel:"Username",isOptional:!0}]},Glue42Report:{name:"Glue42Report",kind:"Interface",description:"Glue42 report - currently just contains name of Report",properties:[{name:"ReportName",kind:"string",description:"The Report&#39;s name (as exists in Export State)",uiLabel:"Report Name"}]},Glue42Schedule:{name:"Glue42Schedule",kind:"Interface",description:"Defines Glue42 Scheduled Report; used in Schedule Module (where State is stored)",properties:[{name:"Glue42Report",kind:"REFERENCE",description:"The Glue42 Report which will be sent when the Schedule runs",uiLabel:"Glue42Report",reference:"Glue42Report"},{name:"Transmission",kind:"unknown",description:"Whether its a one-off or &#39;streaming&#39; transmission",uiLabel:"Transmission"}]},Glue42State:{name:"Glue42State",kind:"Interface",description:"Internal State used by AdapTable for managing the Glue42 plugin",properties:[{name:"CurrentLiveGlue42Report",kind:"REFERENCE",description:"Which Glue42 Report is currently live",uiLabel:"Current Live Glue42Report",isOptional:!0,reference:"Glue42Report"},{name:"Glue42LoginErrorMessage",kind:"string",description:"Message to show when Login Fails",uiLabel:"Glue42Login Error Message",isOptional:!0},{name:"IsGlue42Available",kind:"boolean",description:"Whether Glue42 is available",uiLabel:"Is Glue42Available",isOptional:!0},{name:"IsGlue42Running",kind:"boolean",description:"Whether Glue42 is running",uiLabel:"Is Glue42Running",isOptional:!0}]},GridApi:{name:"GridApi",kind:"Interface",description:"Provides access to important properites of AdapTable e.g. sorting, selected cells etc.",properties:[{name:"addGridData",kind:"function",description:"Adds rows to Adaptable (and AG Grid)",uiLabel:"Add Grid Data"},{name:"applyGridFiltering",kind:"function",description:"Applies current Filtering and Searching in AdapTable",uiLabel:"Apply Grid Filtering"},{name:"areCellsEditable",kind:"function",description:"Checks if given set of Grid Cells are editable",uiLabel:"Are Cells Editable"},{name:"clearAdaptableSorting",kind:"function",description:"Removes Column Sorts in AdapTable",uiLabel:"Clear Adaptable Sorting"},{name:"clearGridFiltering",kind:"function",description:"Removes all current Filters and Searches in AdapTable",uiLabel:"Clear Grid Filtering"},{name:"clearRowGroupColumns",kind:"function",description:"Clears Row Grouping in the Grid",uiLabel:"Clear Row Group Columns"},{name:"closeAllRowGroups",kind:"function",description:"Close all open groups in Row Grouping",uiLabel:"Close All Row Groups"},{name:"deleteGridData",kind:"function",description:"Deletes rows from Adaptable (and AG Grid)",uiLabel:"Delete Grid Data"},{name:"deselectAll",kind:"function",description:"Deselects all selected rows, cells and ranges",uiLabel:"Deselect All"},{name:"deSelectNode",kind:"function",description:"Deselects the AG Grid Row Node in AdapTable",uiLabel:"De Select Node"},{name:"deSelectNodes",kind:"function",description:"AG Grid Row Nodes in AdapTable",uiLabel:"De Select Nodes"},{name:"deSelectRow",kind:"function",description:"Deselects Row with given Primary Key Value",uiLabel:"De Select Row"},{name:"deSelectRows",kind:"function",description:"Deselects Row with given Primary Key Values",uiLabel:"De Select Rows"},{name:"destroy",kind:"function",description:"Destroys current AdapTable instance",uiLabel:"Destroy"},{name:"expandAllRowGroups",kind:"function",description:"Expands all closed groups in Row Grouping",uiLabel:"Expand All Row Groups"},{name:"expandRowGroupsForValues",kind:"function",description:"Expands Row Groups that contain given keys",uiLabel:"Expand Row Groups For Values"},{name:"fireCellChangedEvent",kind:"function",description:"Fires Cell Changed Changed Event - when any data in AG Grid&#39;s dataset has changed",uiLabel:"Fire Cell Changed Event"},{name:"fireGridDataChangedEvent",kind:"function",description:"Fires Grid Data Changed Event - when a row has changed in AG Grid",uiLabel:"Fire Grid Data Changed Event"},{name:"fireSearchChangedEvent",kind:"function",description:"Fires Search Changed Event - typically used to enable server searching and filtering",uiLabel:"Fire Search Changed Event"},{name:"getAgGridInstance",kind:"function",description:"Returns Ag Grid instance (passed into Adaptable Options at start-up)",uiLabel:"Get Ag Grid Instance"},{name:"getCellDisplayValue",kind:"function",description:"Retrieves Display Value for a given cell",uiLabel:"Get Cell Display Value"},{name:"getCellNormalisedValue",kind:"function",description:"Retrieves Normalised Value for a given cell",uiLabel:"Get Cell Normalised Value"},{name:"getCellRawValue",kind:"function",description:"Retrieves Raw Value for a given cell",uiLabel:"Get Cell Raw Value"},{name:"getColumnCount",kind:"function",description:"Returns number of columns in Data Source",uiLabel:"Get Column Count"},{name:"getColumnSortForColumn",kind:"function",description:"Retrieves ColumnSort for a given Column",uiLabel:"Get Column Sort For Column"},{name:"getColumnSorts",kind:"function",description:"Returns Column Sort information in Adaptable",uiLabel:"Get Column Sorts"},{name:"getDisplayValueFromRowNode",kind:"function",description:"Retrieves Display Value for Cell in given Row and Column",uiLabel:"Get Display Value From Row Node"},{name:"getEntitlementAccessLevelForModule",kind:"function",description:"Retrieves the Entitlement Access Level for a given Adaptable Module",uiLabel:"Get Entitlement Access Level For Module"},{name:"getExpandRowGroupsKeys",kind:"function",description:"Get keys for any open rows in Row Grouping",uiLabel:"Get Expand Row Groups Keys"},{name:"getFilteredData",kind:"function",description:"Retrieves filtered data from the grid",uiLabel:"Get Filtered Data"},{name:"getFirstRowNode",kind:"function",description:"Retrieves the first Row Node in AdapTable",uiLabel:"Get First Row Node"},{name:"getFormattedValueFromRawValue",kind:"function",description:"Retrieves Formatted Value for a given Raw Value in given Column",uiLabel:"Get Formatted Value From Raw Value"},{name:"getGridCellFromRowNode",kind:"function",description:"Retrieves Cell in given Row and Column",uiLabel:"Get Grid Cell From Row Node"},{name:"getGridContainerElement",kind:"function",description:"Returns the Grid Container in which the Adaptable Instance is present",uiLabel:"Get Grid Container Element"},{name:"getGridData",kind:"function",description:"Retrieves all data from the grid",uiLabel:"Get Grid Data"},{name:"getGridState",kind:"function",description:"Returns Grid section from Adaptable State",uiLabel:"Get Grid State"},{name:"getNormalisedValueFromRowNode",kind:"function",description:"Retrieves Normalised Value for Cell in given Row and Column",uiLabel:"Get Normalised Value From Row Node"},{name:"getPrimaryKeyValueForRowNode",kind:"function",description:"Returns the Primary Kev Value for a given Row Node",uiLabel:"Get Primary Key Value For Row Node"},{name:"getRawValueFromRowNode",kind:"function",description:"Retrieves Raw Value for Cell in given Row and Column",uiLabel:"Get Raw Value From Row Node"},{name:"getRowCount",kind:"function",description:"Returns number of rows in Data Source",uiLabel:"Get Row Count"},{name:"getRowNodeForPrimaryKey",kind:"function",description:"Retrieves Row Node that contains given Primary Key",uiLabel:"Get Row Node For Primary Key"},{name:"getRowNodesForPrimaryKeys",kind:"function",description:"Retrieves Row Nodes that contain given Primary Keys",uiLabel:"Get Row Nodes For Primary Keys"},{name:"getSelectedCellInfo",kind:"function",description:"Returns all current Selected Cells in AdapTable",uiLabel:"Get Selected Cell Info"},{name:"getSelectedRowInfo",kind:"function",description:"Returns all current Selected Rows in AdapTable",uiLabel:"Get Selected Row Info"},{name:"getVisibleColumnCount",kind:"function",description:"Returns number of visible columns in Data Source",uiLabel:"Get Visible Column Count"},{name:"getVisibleRowCount",kind:"function",description:"Returns number of visible rows in Data Source",uiLabel:"Get Visible Row Count"},{name:"getVisibleRowNodes",kind:"function",description:"Retrieves all Row Nodes currently in the Grid (i.e. filtered)",uiLabel:"Get Visible Row Nodes"},{name:"hideFilterForm",kind:"function",description:"Hides the AdapTable Filter Form",uiLabel:"Hide Filter Form"},{name:"highlightCell",kind:"function",description:"Highlights a Cell in AdapTable",uiLabel:"Highlight Cell"},{name:"highlightRow",kind:"function",description:"Highlight a row using an adaptable style",uiLabel:"Highlight Row"},{name:"isGridGroupable",kind:"function",description:"Whether AdapTable instance can be Row Grouped",uiLabel:"Is Grid Groupable"},{name:"isGridPivotable",kind:"function",description:"Whether AdapTable instance can be pivoted",uiLabel:"Is Grid Pivotable"},{name:"isGridRowGrouped",kind:"function",description:"Whether Grid is currently showing Row Groups",uiLabel:"Is Grid Row Grouped"},{name:"isGridSelectable",kind:"function",description:"Whether AdapTable instance offers cell selection",uiLabel:"Is Grid Selectable"},{name:"isGroupRowNode",kind:"function",description:"Whether given Row Node is a Row Group",uiLabel:"Is Group Row Node"},{name:"isQuickFilterAvailable",kind:"function",description:"Whether Quick Filter is available in the Grid",uiLabel:"Is Quick Filter Available"},{name:"jumpToCell",kind:"function",description:"Grid will jump to cell in a given Row and Column",uiLabel:"Jump To Cell"},{name:"jumpToColumn",kind:"function",description:"Grid will jump to Column that has given ColumnId",uiLabel:"Jump To Column"},{name:"jumpToRow",kind:"function",description:"Grid will jump to Row containing given Primary Kev Value",uiLabel:"Jump To Row"},{name:"loadGridData",kind:"function",description:"Loads grid with given data",uiLabel:"Load Grid Data"},{name:"redrawGrid",kind:"function",description:"Redraws AdapTable (expensive operation so use sparingly)",uiLabel:"Redraw Grid"},{name:"refreshCells",kind:"function",description:"Refresh Cells in AdapTable",uiLabel:"Refresh Cells"},{name:"refreshRowByPrimaryKey",kind:"function",description:"Forces a render of a row",uiLabel:"Refresh Row By Primary Key"},{name:"refreshRowNode",kind:"function",description:"",uiLabel:"Refresh Row Node"},{name:"selectAll",kind:"function",description:"Select the whole Grid",uiLabel:"Select All"},{name:"selectCellRange",kind:"function",description:"Selects a group of cells in a given range",uiLabel:"Select Cell Range"},{name:"selectNode",kind:"function",description:"Selects the AG Grid Row Node in AdapTable",uiLabel:"Select Node"},{name:"selectNodes",kind:"function",description:"Selects the AG Grid Row Nodes in AdapTable",uiLabel:"Select Nodes"},{name:"selectRow",kind:"function",description:"Selects Row with given Primary Key Value",uiLabel:"Select Row"},{name:"selectRows",kind:"function",description:"Selects Rows with given Primary Key Values",uiLabel:"Select Rows"},{name:"setAdaptableSorting",kind:"function",description:"Sorts AdapTable using given Column Sorts",uiLabel:"Set Adaptable Sorting"},{name:"setCellsValue",kind:"function",description:"Updates multiple cells",uiLabel:"Set Cells Value"},{name:"setCellValue",kind:"function",description:"Updates cell in Adaptable (first performs Cell &amp; Server Validation)",uiLabel:"Set Cell Value"},{name:"setColumnSorts",kind:"function",description:"Sets Column Sorts in Grid",uiLabel:"Set Column Sorts"},{name:"setGridData",kind:"function",description:"Repopulates grid with given data",uiLabel:"Set Grid Data"},{name:"setRowGroupColumns",kind:"function",description:"Sets the grid to Row Group",uiLabel:"Set Row Group Columns"},{name:"showGridInfoPopup",kind:"function",description:"Opens Grid Info popup screen",uiLabel:"Show Grid Info Popup"},{name:"undoCellEdit",kind:"function",description:"Reverses a data change (if triggered by cell edit)",uiLabel:"Undo Cell Edit"},{name:"unHighlightAllCells",kind:"function",description:"Unhighlights all highlighted Cells in AdapTable",uiLabel:"Un Highlight All Cells"},{name:"unHighlightAllRows",kind:"function",description:"Remove all highlighted rows",uiLabel:"Un Highlight All Rows"},{name:"unHighlightCell",kind:"function",description:"Unhighlights a Cell in AdapTable",uiLabel:"Un Highlight Cell"},{name:"unHighlightRow",kind:"function",description:"Remove highlight from row",uiLabel:"Un Highlight Row"},{name:"updateGridData",kind:"function",description:"Updates Adaptable (and AG Grid) with rows that have changed",uiLabel:"Update Grid Data"}]},GridCell:{name:"GridCell",kind:"Interface",description:"Defines a Cell in Adaptable - every cell is an intersection of a Column Id and a Primary Key Value",properties:[{name:"column",kind:"REFERENCE",description:"Column in which cell is situtated",uiLabel:"Column",reference:"AdaptableColumn"},{name:"displayValue",kind:"unknown",description:"Display value of cell (e.g. if formatted)",uiLabel:"Display Value"},{name:"normalisedValue",kind:"unknown",description:"Normalised value of cell",uiLabel:"Normalised Value"},{name:"primaryKeyValue",kind:"unknown",description:"Primary Key column&#39;s value in row - how Adaptable locates the cell",uiLabel:"Primary Key Value",isOptional:!0},{name:"rawValue",kind:"unknown",description:"Actual raw value of cell",uiLabel:"Raw Value"},{name:"rowNode",kind:"REFERENCE",description:"AG Grid Row Node that holds the cell",uiLabel:"Row Node",reference:"unknown"}]},GridDataChangedInfo:{name:"GridDataChangedInfo",kind:"Interface",description:"EventInfo returned by GridDataChanged event",properties:[{name:"dataRows",kind:"unknown",description:"Rows that have been added, updated, or deleted",uiLabel:"Data Rows"},{name:"rowTrigger",kind:"unknown",description:"Trigger for row change: &#39;Add&#39;, &#39;Edit&#39; or &#39;Delete&#39;",uiLabel:"Row Trigger"}]},GridRow:{name:"GridRow",kind:"Interface",description:"Detailed information about a Row in AdapTable",properties:[{name:"primaryKeyValue",kind:"unknown",description:"Primary Key column&#39;s value for Row - how Adaptable locates a cell",uiLabel:"Primary Key Value"},{name:"rowData",kind:"unknown",description:"Actual data in the Row",uiLabel:"Row Data",isOptional:!0},{name:"rowInfo",kind:"REFERENCE",description:"Object which provides &#39;meta data&#39; about the Row",uiLabel:"Row Info",isOptional:!0,reference:"RowInfo"},{name:"rowNode",kind:"REFERENCE",description:"AG Grid Row Node object for the Row",uiLabel:"Row Node",isOptional:!0,reference:"unknown"}]},IAdaptableNoCodeWizard:{name:"IAdaptableNoCodeWizard",kind:"Interface",description:"When you want to configure an Adaptable via json file D&amp;D, use this instead of the normal Adaptable constructor"},InstrumentColumn:{name:"InstrumentColumn",kind:"Interface",description:"Defines an Column which will be defind as an (FDC3) Instrument",properties:[{name:"bbgColumnId",kind:"string",description:"Column which holds a Bloomberg Ticker value as instrument data",uiLabel:"Bbg Column Id",isOptional:!0},{name:"columnId",kind:"string",description:"Column defined as an Instrument - its value provides the `name` property in the FDC3 message",uiLabel:"Column Id"},{name:"cusipColumnId",kind:"string",description:"Column which holds a CUSIP value as instrument data",uiLabel:"Cusip Column Id",isOptional:!0},{name:"figiColumnId",kind:"string",description:"Column which holds a FIGI value as instrument data",uiLabel:"Figi Column Id",isOptional:!0},{name:"isinColumnId",kind:"string",description:"Column which holds an ISIN value as instrument data",uiLabel:"Isin Column Id",isOptional:!0},{name:"permidColumnId",kind:"string",description:"Column which holds a PERMID value as instrument data",uiLabel:"Permid Column Id",isOptional:!0},{name:"ricColumnId",kind:"string",description:"Column which holds a Reuters Instrument Code value as instrument data",uiLabel:"Ric Column Id",isOptional:!0},{name:"sedolColumnId",kind:"string",description:"Column which holds a SEDOL value as instrument data",uiLabel:"Sedol Column Id",isOptional:!0},{name:"tickerColumnId",kind:"string",description:"Column which holds a ticker value as instrument data",uiLabel:"Ticker Column Id",isOptional:!0}]},InstrumentContext:{name:"InstrumentContext",kind:"Interface",description:"Built-in context to define a financial instrument.",properties:[{name:"id",kind:"unknown",description:"The instrument data. Can contain some or all of: * `ticker`: a ticker * `ISIN`: [ISIN](https://www.isin.org/isin/) * `CUSIP`: [CUSIP](https://www.cusip.com/cusip/index.htm) * `SEDOL`: [SEDOL](https://www.londonstockexchange.com/products-and-services/reference-data/sedol-master-file/sedol-master-file.htm) * `RIC`: [Reuters Instrument Code (RIC)](https://en.wikipedia.org/wiki/Reuters_Instrument_Code) * `BBG`: [Bloomberg Ticker](https://www.bloomberg.com/professional/product/market-data/) * `PERMID`: [PERMID](https://permid.org/) * `FIGI`: [FIGI](https://www.openfigi.com/about/figi)",uiLabel:"Id"},{name:"name",kind:"string",description:"Free text name of the instrument.",uiLabel:"Name"},{name:"type",kind:"unknown",description:"The context type is always &#39;instrument&#39;.",uiLabel:"Type"}]},IPushPullApi:{name:"IPushPullApi",kind:"Interface",description:"Provides run-time access to ipushpull Plugin",properties:[{name:"addNewIPushPullPage",kind:"function",description:"Adds a new page to ipushpull using given name in the supplied folder",uiLabel:"Add New IPush Pull Page"},{name:"clearIPushPullInternalState",kind:"function",description:"Internal method which clears out ipushpull State",uiLabel:"Clear IPush Pull Internal State"},{name:"getAutoLogin",kind:"function",description:"Retrieves `AutoLogin` from ipushpull options; if `true` AdapTable will automatically log user in to ipushpull at start-up",uiLabel:"Get Auto Login"},{name:"getCurrentIPushPullPassword",kind:"function",description:"Retrieves `Password` from ipushpull state -- AFTER someone logs in",uiLabel:"Get Current IPush Pull Password"},{name:"getCurrentIPushPullUsername",kind:"function",description:"Retrieves `Username` from ipushpull state - AFTER someone logs in",uiLabel:"Get Current IPush Pull Username"},{name:"getCurrentLiveIPushPullReport",kind:"function",description:"Retrieves current ipushpull Report from ipushpull state; A Report contains Name, Folder and ipushpull Page",uiLabel:"Get Current Live IPush Pull Report"},{name:"getFolderIdForName",kind:"function",description:"Gets the Id of the ipushpull folder / Domain with the given name",uiLabel:"Get Folder Id For Name"},{name:"getIPushPullDomains",kind:"function",description:"Retrieves all the ipushpull domain to which the current user has access",uiLabel:"Get IPush Pull Domains"},{name:"getIPushPullInstance",kind:"function",description:"Retrieves the current ipushpull instance (if one has been provided by the User at design time in ipushpull state)",uiLabel:"Get IPush Pull Instance"},{name:"getIPushPullPassword",kind:"function",description:"Retrieves `Password` from ipushpull options (if provided)",uiLabel:"Get IPush Pull Password"},{name:"getIPushPullSchedules",kind:"function",description:"Gets ipushpull schedules ie. reports set to run at particular times",uiLabel:"Get IPush Pull Schedules"},{name:"getIPushPullThrottleTime",kind:"function",description:"Retrieves Throttle Time from ipushpull State; how often a Live report will update ipushpull (if data changes)",uiLabel:"Get IPush Pull Throttle Time"},{name:"getIPushPullUsername",kind:"function",description:"Retrieves `Username` from ipushpull options (if provided)",uiLabel:"Get IPush Pull Username"},{name:"getPagesForIPushPullDomain",kind:"function",description:"Retrieves all pages in given ipushpull domain",uiLabel:"Get Pages For IPush Pull Domain"},{name:"includeSystemReports",kind:"function",description:"Whether to dispaly System Reports in ipushpull toolbar",uiLabel:"Include System Reports"},{name:"isIPushPullAvailable",kind:"function",description:"Checks if an ipushpull instance has been provided by the user",uiLabel:"Is IPush Pull Available"},{name:"isIPushPullLiveDataRunning",kind:"function",description:"Checks if a report is sending Live Data to ipushpull",uiLabel:"Is IPush Pull Live Data Running"},{name:"isIPushPullReportLive",kind:"function",description:"Checks if given report is currently &#39;live&#39; (i.e. sending updates as data changes)",uiLabel:"Is IPush Pull Report Live"},{name:"isIPushPullRunning",kind:"function",description:"Checks to see if ipushpull is running (i.e. a user has successfully logged in)",uiLabel:"Is IPush Pull Running"},{name:"loginToIPushPull",kind:"function",description:"Logins in user to ipushpull with given credentials; if successful ipushpull toolbar will display full set of controls",uiLabel:"Login To IPush Pull"},{name:"logoutFromIPushPull",kind:"function",description:"Logs out the current user from ipushpull (changes ipushpull toolbar to show Login button)",uiLabel:"Logout From IPush Pull"},{name:"retrieveIPushPullDomainsFromIPushPull",kind:"function",description:"Internal AdapTable method used to manage domains",uiLabel:"Retrieve IPush Pull Domains From IPush Pull"},{name:"sendSnapshot",kind:"function",description:"Publishes an ipushpull Report as a one-off export (i.e. with no live data)",uiLabel:"Send Snapshot"},{name:"setIPushPullAvailableOff",kind:"function",description:"Internal method which sets ipushpull is unavailable",uiLabel:"Set IPush Pull Available Off"},{name:"setIPushPullAvailableOn",kind:"function",description:"Internal method which sets ipushpull is available",uiLabel:"Set IPush Pull Available On"},{name:"setIPushPullDomains",kind:"function",description:"Sets given Domains as those for the current User",uiLabel:"Set IPush Pull Domains"},{name:"setIPushPullInstance",kind:"function",description:"Sets the current ipushpull instance - this method should not generally be used.",uiLabel:"Set IPush Pull Instance"},{name:"setIPushPullLoginErrorMessage",kind:"function",description:"Internal method which displays given message in ipushpull login page",uiLabel:"Set IPush Pull Login Error Message"},{name:"setIPushPullRunningOff",kind:"function",description:"Internal method which sets ipushpull is not running",uiLabel:"Set IPush Pull Running Off"},{name:"setIPushPullRunningOn",kind:"function",description:"Internal method which sets ipushpull is running",uiLabel:"Set IPush Pull Running On"},{name:"setIPushPullThrottleTime",kind:"function",description:"Sets Throttle time for ipushpull; how often a Live report will update ipushpull (if data changes)",uiLabel:"Set IPush Pull Throttle Time"},{name:"showIPushPullPopup",kind:"function",description:"Opens iPushPullPopup (though its currently empty!)",uiLabel:"Show IPush Pull Popup"},{name:"startLiveData",kind:"function",description:"Publishes ipushpull Report as Live Data; any changes to underlying data in report will be sent to ipushpull",uiLabel:"Start Live Data"},{name:"stopLiveData",kind:"function",description:"Pauses current Live Data report",uiLabel:"Stop Live Data"}]},IPushPullDomain:{name:"IPushPullDomain",kind:"Interface",description:"Internal object that maps an IPushPull Domain object",properties:[{name:"FolderId",kind:"number",description:"the Id of the Folder",uiLabel:"Folder Id"},{name:"Name",kind:"string",description:"the Name of the Domain / Folder",uiLabel:"Name"},{name:"Pages",kind:"unknown",description:"The names of the pages within the (Folder)",uiLabel:"Pages"}]},IPushPullPluginOptions:{name:"IPushPullPluginOptions",kind:"Interface",description:"Options required for when using the ipushpull plugin",properties:[{name:"autoLogin",kind:"boolean",description:"Whether AdapTable should try log in to ipushpull automatically at start-up",uiLabel:"Auto Login",isOptional:!0,defaultValue:"false"},{name:"includeSystemReports",kind:"boolean",description:"Whether AdapTable will include System Reports (e.g. &#39;All Data&#39;, &#39;Selected Cells&#39; etc) in the ipushpull toolbar dropdown",uiLabel:"Include System Reports",isOptional:!0,defaultValue:"true"},{name:"ippConfig",kind:"unknown",description:"The config required to run ipushpull; use your ipushpull credentials",uiLabel:"Ipp Config",isOptional:!0},{name:"password",kind:"string",description:"The user&#39;s ipushpull password; if supplied, pre-populates the login screen&#39;s password textbox",uiLabel:"Password",isOptional:!0},{name:"throttleTime",kind:"number",description:"How many miliseconds AdapTable should throttle when sending data updates to ipushpull",uiLabel:"Throttle Time",isOptional:!0,defaultValue:"2000"},{name:"username",kind:"string",description:"User&#39;s ipushpull user name (usually email address); if supplied, pre-populates the login screen&#39;s username textbox",uiLabel:"Username",isOptional:!0}]},IPushPullReport:{name:"IPushPullReport",kind:"Interface",description:"An ipushpull report"},IPushPullSchedule:{name:"IPushPullSchedule",kind:"Interface",description:"Defines an ipushpull Schedule. Used in the Schedule Module (where the State will be stored)."},IPushPullState:{name:"IPushPullState",kind:"Interface",description:"Internal State used by AdapTable for managing the ipushpull plugin"},Layout:{name:"Layout",kind:"Interface",description:"Layout object - contains everything required including Columns, Sorts, Widths, Aggregations, Grouping and Pivoting details",properties:[{name:"AggregationColumns",kind:"unknown",description:"Columns showing aggregated values in grouped rows; first value in record is Column name and second is either the agg func (e.g. sum, avg etc.) or &#39;true&#39; (to use default aggfunc)",uiLabel:"Aggregation Columns",isOptional:!0},{name:"AutoSave",kind:"boolean",description:"Whether Layout should automatically save or not - overrides `autoSaveLayouts` property in LayoutOptions",uiLabel:"Auto Save",isOptional:!0},{name:"ColumnHeadersMap",kind:"unknown",description:"Set of custom header names for some (or all columns)",uiLabel:"Column Headers Map",isOptional:!0},{name:"Columns",kind:"unknown",description:"Which columns should be visible in the Layout and in which order",uiLabel:"Columns"},{name:"ColumnSorts",kind:"unknown",description:"Sorting to apply in the Layout",uiLabel:"Column Sorts",isOptional:!0},{name:"ColumnWidthMap",kind:"unknown",description:"Set of widths for some (or all columns)",uiLabel:"Column Width Map",isOptional:!0},{name:"EnablePivot",kind:"boolean",description:"Whether pivoting should be enabled in the Grid when this Layout loads",uiLabel:"Enable Pivot",isOptional:!0},{name:"ExpandedRowGroupValues",kind:"unknown",description:"Values of opened row groups",uiLabel:"Expanded Row Group Values",isOptional:!0},{name:"Name",kind:"string",description:"Name of Layout as will appear in Layout toolbar and tool panel",uiLabel:"Name"},{name:"PinnedColumnsMap",kind:"unknown",description:"Set of pinned Columns",uiLabel:"Pinned Columns Map",isOptional:!0},{name:"PivotColumns",kind:"unknown",description:"List of Columns which should be pivoted when grid is in pivot mode",uiLabel:"Pivot Columns",isOptional:!0},{name:"RowGroupedColumns",kind:"unknown",description:"Columns which are row-grouped when the Layout is applied",uiLabel:"Row Grouped Columns",isOptional:!0},{name:"SuppressAggFuncInHeader",kind:"boolean",description:"Whether to include the aggFunc name in the column header: e.g. &#39;sum(Bank Balance)&#39; will just be &#39;Bank Balance&#39;",uiLabel:"Suppress Agg Func In Header",isOptional:!0}]},LayoutApi:{name:"LayoutApi",kind:"Interface",description:"Provides run-time access to the Layout Module and associated state",properties:[{name:"areLayoutsEqual",kind:"function",description:"Compares 2 Layouts for equality",uiLabel:"Are Layouts Equal"},{name:"cloneAndSetLayout",kind:"function",description:"Creates new Layout based on given Layout but with name provided and then loads it into Grid",uiLabel:"Clone And Set Layout"},{name:"cloneLayout",kind:"function",description:"Creates new Layout based on given Layout but with name provided",uiLabel:"Clone Layout"},{name:"createAndSetLayout",kind:"function",description:"Creates new Layout in the state and then loads it into Grid",uiLabel:"Create And Set Layout"},{name:"createDefaultLayoutIfNeeded",kind:"function",description:"Creates a Default Layout (when none provided in Config)",uiLabel:"Create Default Layout If Needed"},{name:"createLayout",kind:"function",description:"Creates new Layout in the state",uiLabel:"Create Layout"},{name:"doesLayoutExist",kind:"function",description:"Checks whether this Layout exists in the Adaptable State (by comparing Uuid property)",uiLabel:"Does Layout Exist"},{name:"fireLayoutChangedEvent",kind:"function",description:"Fires the `LayoutChanged` event",uiLabel:"Fire Layout Changed Event"},{name:"getAllLayout",kind:"function",description:"Retrieves all Layouts in Adaptable State",uiLabel:"Get All Layout"},{name:"getCurrentLayout",kind:"function",description:"Retrieves Current Layout from Layout State",uiLabel:"Get Current Layout"},{name:"getCurrentLayoutName",kind:"function",description:"Retrieves name of current Layout",uiLabel:"Get Current Layout Name"},{name:"getCurrentVisibleColumnIds",kind:"function",description:"Retrieves array of visible ColumnIds in current Layout",uiLabel:"Get Current Visible Column Ids"},{name:"getCurrentVisibleColumnIdsMap",kind:"function",description:"Retrieves map with visible columns in current Layout",uiLabel:"Get Current Visible Column Ids Map"},{name:"getLayoutById",kind:"function",description:"Retrieves Layout by id",uiLabel:"Get Layout By Id"},{name:"getLayoutByName",kind:"function",description:"Retrieves Layout with the given name",uiLabel:"Get Layout By Name"},{name:"getLayoutDescription",kind:"function",description:"Get a string description of a Layout",uiLabel:"Get Layout Description"},{name:"getLayoutState",kind:"function",description:"Retrieves Layout section from Adaptable State",uiLabel:"Get Layout State"},{name:"saveCurrentLayout",kind:"function",description:"Saves current Layout - using column order, visibility, sorting etc. currently in use in the grid",uiLabel:"Save Current Layout"},{name:"saveLayout",kind:"function",description:"Saves given Layout into Adaptable State",uiLabel:"Save Layout"},{name:"setColumnCaption",kind:"function",description:"Sets a new Caption / Header for a Column (this Layout only)",uiLabel:"Set Column Caption"},{name:"setLayout",kind:"function",description:"Sets (i.e. selects) the Layout",uiLabel:"Set Layout"},{name:"shouldAutoSaveLayout",kind:"function",description:"Whether this Layout should be auto saved (based on Layout State and Layout Options)",uiLabel:"Should Auto Save Layout"},{name:"showLayoutPopup",kind:"function",description:"Opens Layout popup screen",uiLabel:"Show Layout Popup"}]},LayoutChangedInfo:{name:"LayoutChangedInfo",kind:"Interface",description:"EventInfo returned by LayoutChanged event",properties:[{name:"actionName",kind:"string",description:"What caused Layout State to change",uiLabel:"Action Name"},{name:"newLayoutState",kind:"REFERENCE",description:"Current Layout State",uiLabel:"New Layout State",reference:"LayoutState"},{name:"oldLayoutState",kind:"REFERENCE",description:"Previous Layout State",uiLabel:"Old Layout State",reference:"LayoutState"}]},LayoutOptions:{name:"LayoutOptions",kind:"Interface",description:"Options for configuring Layouts; these manage Column visibility, order, sorting, grouping and width",properties:[{name:"autoSaveLayouts",kind:"boolean",description:"Layouts save whenever Grid&#39;s column / sort info changes; if false, a Save button will display",uiLabel:"Auto Save Layouts",isOptional:!0,gridInfo:"item",defaultValue:"true"},{name:"autoSizeColumnsInLayout",kind:"boolean",description:"Columns auto-size when Layout loads for first time",uiLabel:"Auto Size Columns In Layout",isOptional:!0,gridInfo:"item",defaultValue:"false"},{name:"autoSizeColumnsInPivotLayout",kind:"boolean",description:"Columns auto-size when Pivot-based Layout loads first time",uiLabel:"Auto Size Columns In Pivot Layout",isOptional:!0,gridInfo:"item",defaultValue:"false"},{name:"createDefaultLayout",kind:"boolean",description:"Whether a &quot;Default Layout&quot; will be created in addition to Layouts provided in Config",uiLabel:"Create Default Layout",isOptional:!0,gridInfo:"item",defaultValue:"false"},{name:"includeExpandedRowGroups",kind:"boolean",description:"Layouts will include details of expanded grouped rows; if true these will be re-applied at start-up",uiLabel:"Include Expanded Row Groups",isOptional:!0,gridInfo:"item",defaultValue:"false"}]},LayoutState:{name:"LayoutState",kind:"Interface",description:"Predefined Configuration for the Layout Module",properties:[{name:"CurrentLayout",kind:"string",description:"Layout which will be loaded when AdapTable starts - must match `Name` property in Layout",uiLabel:"Current Layout",isOptional:!0,defaultValue:"&#39;&#39;"},{name:"Layouts",kind:"unknown",description:"Collection of Layout objects - listed in Layout toolbar and Tool Panel",uiLabel:"Layouts",isOptional:!0,defaultValue:"null"}]},LiveDataChangedInfo:{name:"LiveDataChangedInfo",kind:"Interface",description:"EventInfo returned by LiveDataChanged event",properties:[{name:"liveDataTrigger",kind:"unknown",description:"What triggered the event to fire",uiLabel:"Live Data Trigger"},{name:"liveReport",kind:"unknown",description:"The Report which is currently live - only used if the Trigger is LiveData related",uiLabel:"Live Report",isOptional:!0},{name:"reportDestination",kind:"unknown",description:"Which Adaptable partner is the export destination for the live data",uiLabel:"Report Destination"}]},LiveReport:{name:"LiveReport",kind:"Interface",description:"Defines which Adaptable Reports are &#39;Live&#39; (i.e. they will update the destination as the data in Adaptable ticks or changes)",properties:[{name:"pageName",kind:"string",description:"for OpenFin this will be the workbook name; for iPushpull the page name; for Glue42 the Spreadsheet name.",uiLabel:"Page Name"},{name:"report",kind:"REFERENCE",description:"The underlying report",uiLabel:"Report",reference:"unknown"},{name:"reportDestination",kind:"unknown",description:"Where the live data is being sent",uiLabel:"Report Destination"}]},MenuOptions:{name:"MenuOptions",kind:"Interface",description:"Options for managing menus in AdapTable",properties:[{name:"columnMenuItems",kind:"unknown",description:"User-defined Menu Items to add to the Column Menu",uiLabel:"Column Menu Items",isOptional:!0},{name:"columnMenuOrder",kind:"unknown",description:"Order in which AG Grid, AdapTable and User Menu items will appear in Column Menu",uiLabel:"Column Menu Order",isOptional:!0,gridInfo:"item",defaultValue:"&#39;aggrid&#39;, &#39;adaptable&#39;, &#39;user&#39;"},{name:"contextMenuItems",kind:"unknown",description:"User-defined Menu Items to add to the Context Menu",uiLabel:"Context Menu Items",isOptional:!0},{name:"contextMenuOrder",kind:"unknown",description:"Order in which AG grid, AdapTable and User Menu items will appear in Context Menu",uiLabel:"Context Menu Order",isOptional:!0,gridInfo:"item",defaultValue:"&#39;aggrid&#39;, &#39;adaptable&#39;, &#39;user&#39;"},{name:"showAdaptableColumnMenu",kind:"unknown",description:"Show Adaptable Column Menu (or specific items); can be boolean value or function invoked for each menu item",uiLabel:"Show Adaptable Column Menu",isOptional:!0,gridInfo:"item",defaultValue:"true"},{name:"showAdaptableContextMenu",kind:"unknown",description:"Show Adaptable Context Menu (or specific items); can be boolean value or function invoked for each menu item",uiLabel:"Show Adaptable Context Menu",isOptional:!0,gridInfo:"item",defaultValue:"true"},{name:"showUngroupColumnMenuItem",kind:"boolean",description:"Adds &#39;Ungroup&#39; Column Menu item to a row grouped column",uiLabel:"Show Ungroup Column Menu Item",isOptional:!0,gridInfo:"item",defaultValue:"true"}]},ModuleExpressionFunctions:{name:"ModuleExpressionFunctions",kind:"Interface",description:"Module specific Expression Functions"},NamedQuery:{name:"NamedQuery",kind:"Interface",description:"Defines a Query which can be used in multiple AdapTable Modules",properties:[{name:"Name",kind:"string",description:"Name of the Query - how it will appear in Query dropdown",uiLabel:"Name"}]},NotificationsOptions:{name:"NotificationsOptions",kind:"Interface",description:"Options related to Alerts, System Status Messages and Notifications in Adaptable.",properties:[{name:"actionHandlers",kind:"unknown",description:"onClick Handlers for Alert Buttons (defined in Alert State)",uiLabel:"Action Handlers",isOptional:!0},{name:"alertForms",kind:"unknown",description:"Full definitions of Alert Forms - the names of which are provided in Alert State",uiLabel:"Alert Forms",isOptional:!0},{name:"alertMessageText",kind:"unknown",description:"Function providing Message to display in Alert; if empty, AdapTable provides dynamically",uiLabel:"Alert Message Text",isOptional:!0},{name:"cellHighlightDuration",kind:"number",description:"How long (in ms) a cell will be highlighted",uiLabel:"Cell Highlight Duration",isOptional:!0,gridInfo:"item",defaultValue:"3000"},{name:"closeWhenClicked",kind:"boolean",description:"Closes Notification automatically when its clicked",uiLabel:"Close When Clicked",isOptional:!0,gridInfo:"item",defaultValue:"false"},{name:"dataChangeDetectionPolicy",kind:"unknown",description:"Whether Alert rule is evaluated against the `rawValue` or `formattedValue` of the changed cell data",uiLabel:"Data Change Detection Policy",isOptional:!0,gridInfo:"item",defaultValue:"&#39;rawValue&#39;"},{name:"duration",kind:"unknown",description:"How long (in ms) Notifications display for",uiLabel:"Duration",isOptional:!0,gridInfo:"item",defaultValue:"3000"},{name:"isDraggable",kind:"boolean",description:"Can Notification be dragged",uiLabel:"Is Draggable",isOptional:!0,gridInfo:"item",defaultValue:"false"},{name:"maxAlertsInStore",kind:"number",description:"How many alerts held in State at any one time; when limit is breached, oldest alert will be removed",uiLabel:"Max Alerts In Store",isOptional:!0,gridInfo:"item",defaultValue:"20"},{name:"maxNotifications",kind:"number",description:"How many Notifications can be displayed at one time",uiLabel:"Max Notifications",isOptional:!0,gridInfo:"item",defaultValue:"3"},{name:"maxSystemMessagesInStore",kind:"number",description:"How many System Status Messages to hold in State; when limit is reached, oldest Message is removed",uiLabel:"Max System Messages In Store",isOptional:!0,gridInfo:"item",defaultValue:"100"},{name:"pauseWhenHovering",kind:"boolean",description:"Pauses the Notification when mouse hovers over it",uiLabel:"Pause When Hovering",isOptional:!0,gridInfo:"item",defaultValue:"false"},{name:"position",kind:"REFERENCE",description:"Where Notification will appear (if anywhere)",uiLabel:"Position",isOptional:!0,gridInfo:"item",defaultValue:"&#39;BottomRight&#39;",reference:"unknown"},{name:"showApplicationIcon",kind:"boolean",description:"Displays the application icon in Notifications (if provided in `UserInterfaceOptions`)",uiLabel:"Show Application Icon",isOptional:!0,defaultValue:"false"},{name:"showProgressBar",kind:"boolean",description:"Shows a Progress Bar in the Notification",uiLabel:"Show Progress Bar",isOptional:!0,gridInfo:"item",defaultValue:"false"},{name:"showSystemStatusMessageNotifications",kind:"boolean",description:"Display an Alert when a System Status Message is set",uiLabel:"Show System Status Message Notifications",isOptional:!0,gridInfo:"item",defaultValue:"false"},{name:"transition",kind:"unknown",description:"How Notification will appear: &#39;Bounce&#39;, &#39;Slide&#39;, &#39;Zoom&#39; or &#39;Flip&#39;",uiLabel:"Transition",isOptional:!0,gridInfo:"item",defaultValue:"&#39;Slide&#39;"}]},NumberFormatterOptions:{name:"NumberFormatterOptions",kind:"Interface",description:"Formatter Options for Numeric Columns",properties:[{name:"FractionDigits",kind:"number",description:"Number of digits to show in fractions",uiLabel:"Fraction Digits",isOptional:!0},{name:"FractionSeparator",kind:"string",description:"Separator to use in fractions",uiLabel:"Fraction Separator",isOptional:!0},{name:"IntegerDigits",kind:"number",description:"Number of digits to show for integers",uiLabel:"Integer Digits",isOptional:!0},{name:"IntegerSeparator",kind:"string",description:"Separator to use in integers",uiLabel:"Integer Separator",isOptional:!0},{name:"Multiplier",kind:"number",description:"Multiplier to use on the number",uiLabel:"Multiplier",isOptional:!0},{name:"Parentheses",kind:"boolean",description:"Shows negative numbers in parentheses",uiLabel:"Parentheses",isOptional:!0},{name:"Prefix",kind:"string",description:"Prefix to use before the number",uiLabel:"Prefix",isOptional:!0},{name:"Suffix",kind:"string",description:"Suffix to use after the number",uiLabel:"Suffix",isOptional:!0},{name:"Truncate",kind:"boolean",description:"Truncates a number",uiLabel:"Truncate",isOptional:!0}]},OpenFinApi:{name:"OpenFinApi",kind:"Interface",description:"Provides run-time access to the OpenFin Plugin",properties:[{name:"clearOpenFinInternalState",kind:"function",description:"Clears any objects in internal OpenFin state created by AdapTable",uiLabel:"Clear Open Fin Internal State"},{name:"getCurrentLiveOpenFinReport",kind:"function",description:"Retrieves the OpenFin currently sending live data to Excel",uiLabel:"Get Current Live Open Fin Report"},{name:"getNotificationsOptions",kind:"function",description:"Gets the Notification section from Adaptable Options",uiLabel:"Get Notifications Options"},{name:"getOpenFinSchedules",kind:"function",description:"Retrieves all Schedules that send data to Excel via OpenFin",uiLabel:"Get Open Fin Schedules"},{name:"getOpenFinState",kind:"function",description:"Retrieves the OpenFin section of System State",uiLabel:"Get Open Fin State"},{name:"getOpenFinThrottleTime",kind:"function",description:"Retrieves the Throttle time for live updates",uiLabel:"Get Open Fin Throttle Time"},{name:"getPluginOptions",kind:"function",description:"Retrieves the OpenFinPlugOptions provided in OpenFin Plugin",uiLabel:"Get Plugin Options"},{name:"isOpenFinAvailable",kind:"function",description:"Whether OpenFin is available",uiLabel:"Is Open Fin Available"},{name:"isOpenFinRunning",kind:"function",description:"Whether OpenFin is currently running",uiLabel:"Is Open Fin Running"},{name:"showNotification",kind:"function",description:"Shows a notification in OpenFin",uiLabel:"Show Notification"},{name:"showNotificationForAlert",kind:"function",description:"Displays Alert as an OpenFin Notification",uiLabel:"Show Notification For Alert"},{name:"startLiveData",kind:"function",description:"Runs Report in Excel as Live Report (so updates as AdapTable ticks)",uiLabel:"Start Live Data"},{name:"stopLiveData",kind:"function",description:"Stops live data; data will no longer be sent from AdapTable to Excel",uiLabel:"Stop Live Data"}]},OpenFinPluginOptions:{name:"OpenFinPluginOptions",kind:"Interface",description:"Options required for when using the OpenFin plugin",properties:[{name:"broadcastFDC3Instrument",kind:"unknown",description:"Useful when you also use the finance plugin configured with instrumentColumns - values in cells in an instrument column can be broadcasted to fdc3, and this function will be called for broadcasting. It&#39;s your job to broadcast to the desired fdc3 channel",uiLabel:"Broadcast FDC3Instrument",isOptional:!0},{name:"notificationTimeout",kind:"unknown",description:"Timeout (in ms) for OpenFin Notifications to expire; set false for notifications not to auto-dismiss",uiLabel:"Notification Timeout",isOptional:!0,defaultValue:"5000"},{name:"onNotificationAction",kind:"unknown",description:"Function which is invoked when a button in OpenFin notification is clicked",uiLabel:"On Notification Action",isOptional:!0},{name:"onShowNotification",kind:"unknown",description:"Updates OpenFin Notification object before it&#39;s displayed (just add/remove properties); return false to stop Notification showing",uiLabel:"On Show Notification",isOptional:!0},{name:"onValidationFailureInExcel",kind:"unknown",description:"Action to perform when a data change in Live Excel report triggers Prevent Edit Alert failure",uiLabel:"On Validation Failure In Excel",isOptional:!0},{name:"showAdaptableAlertsAsNotifications",kind:"boolean",description:"Converts AdapTable Alerts configured to display in popup as OpenFin Notifications",uiLabel:"Show Adaptable Alerts As Notifications",isOptional:!0,defaultValue:"true"},{name:"showAppIconInNotifications",kind:"unknown",description:"Icon to show in Notification - uses the value supplied in UserInterfaceOptions",uiLabel:"Show App Icon In Notifications",isOptional:!0,defaultValue:"true"},{name:"throttleTime",kind:"number",description:"How long (in ms) AdapTable throttles when sending data update to OpenFin",uiLabel:"Throttle Time",isOptional:!0,defaultValue:"2000"}]},OpenFinReport:{name:"OpenFinReport",kind:"Interface",description:"An OpenFin report",properties:[{name:"ReportName",kind:"string",description:"Name of Report (which will exist in the Export State)",uiLabel:"Report Name"}]},OpenFinSchedule:{name:"OpenFinSchedule",kind:"Interface",description:"Defines a OpenFin Schedule - used in Schedule Module",properties:[{name:"OpenFinReport",kind:"REFERENCE",description:"Report being exported to Excel (via OpenFin)",uiLabel:"Open Fin Report",reference:"OpenFinReport"},{name:"Transmission",kind:"unknown",description:"Whether Snapshot or Live Data (currently only the latter is supported)",uiLabel:"Transmission"}]},OpenFinState:{name:"OpenFinState",kind:"Interface",description:"Internal State used by AdapTable for managing the OpenFin plugin"},PermittedValues:{name:"PermittedValues",kind:"Interface",description:"Permitted/possible values, when column values can be selected (e.g. sort, bulk-update)",properties:[{name:"values",kind:"unknown",description:"Values to display: either hardcoded list or a function",uiLabel:"Values",isOptional:!0}]},PluginsApi:{name:"PluginsApi",kind:"Interface",description:"API methods dealing with AdapTable plugins"},PlusMinusApi:{name:"PlusMinusApi",kind:"Interface",description:"Provides run-time access to the Plus / Minus Module and associated state",properties:[{name:"addPlusMinusNudge",kind:"function",description:"Adds new Plus Minus Rule to State",uiLabel:"Add Plus Minus Nudge"},{name:"applyPlusMinus",kind:"function",description:"Applies a Plus Minus to given cells",uiLabel:"Apply Plus Minus"},{name:"editPlusMinusNudge",kind:"function",description:"Replaces Plus Minus Rule in State with given one",uiLabel:"Edit Plus Minus Nudge"},{name:"getAllActivePlusMinus",kind:"function",description:"Retrieves all active (not-suspended) Plus Minus Rules in Adaptable State with those with expressions first",uiLabel:"Get All Active Plus Minus"},{name:"getAllPlusMinus",kind:"function",description:"Retrieves all Plus Minus Rules in Adaptable State with those with expressions first",uiLabel:"Get All Plus Minus"},{name:"getAllSuspendedPlusMinus",kind:"function",description:"Retrieves all suspended Plus Minus Rules in Adaptable State with those with expressions first",uiLabel:"Get All Suspended Plus Minus"},{name:"getPlusMinusById",kind:"function",description:"Retrieves Plus Minus Rule by Id",uiLabel:"Get Plus Minus By Id"},{name:"getPlusMinusState",kind:"function",description:"Retrieves Plus Minus section from Adaptable State",uiLabel:"Get Plus Minus State"},{name:"runPlusMinusNudge",kind:"function",description:"Applies a Plus Minus Rule to given cells",uiLabel:"Run Plus Minus Nudge"},{name:"showPlusMinusPopup",kind:"function",description:"Opens Plus Minus popup screen",uiLabel:"Show Plus Minus Popup"},{name:"suspendPlusMinusNudge",kind:"function",description:"Suspends Plus Minus Rule",uiLabel:"Suspend Plus Minus Nudge"},{name:"unSuspendPlusMinusNudge",kind:"function",description:"Activates a suspended Plus Minus Rule",uiLabel:"Un Suspend Plus Minus Nudge"}]},PlusMinusNudge:{name:"PlusMinusNudge",kind:"Interface",description:"Defines a Plus Minus Rule - used in the Plus Minus Module",properties:[{name:"NudgeValue",kind:"number",description:"Amount by which to update cell when Rule is applied",uiLabel:"Nudge Value"},{name:"Rule",kind:"REFERENCE",description:"(Optional) Boolean Query to determine whether to apply the Nudge",uiLabel:"Rule",isOptional:!0,reference:"unknown"},{name:"Scope",kind:"REFERENCE",description:"Where Rule is applied",uiLabel:"Scope",reference:"AdaptableScope"}]},PlusMinusState:{name:"PlusMinusState",kind:"Interface",description:"Predefined Configuration for Plus Minus Module",properties:[{name:"PlusMinusNudges",kind:"unknown",description:"Array of Plus Minus Nudges",uiLabel:"Plus Minus Nudges",isOptional:!0}]},PredefinedConfig:{name:"PredefinedConfig",kind:"Interface",description:"This is the main Predefined Config interface which developers will populate at design-time",properties:[{name:"Alert",kind:"REFERENCE",description:"Supplies a collection of *Alert Definition* objects which will fire when their definition is triggered, and where Alerts are displayed",uiLabel:"Alert",isOptional:!0,reference:"AlertState"},{name:"Application",kind:"REFERENCE",description:"Empty state section (only populated at Design Time) available for User to store their own data with the rest of AdapTable state.",uiLabel:"Application",isOptional:!0,reference:"ApplicationState"},{name:"CalculatedColumn",kind:"REFERENCE",description:"Supplies a collection of *CalculatedColumn* objects that will display a value based on other cells in the row (using a Calculated Column Expression)",uiLabel:"Calculated Column",isOptional:!0,reference:"CalculatedColumnState"},{name:"ConditionalStyle",kind:"REFERENCE",description:"Supplies a collection of *ConditionalStyle* objects to provides columns and rows with a particular style when the data matches a given rule",uiLabel:"Conditional Style",isOptional:!0,reference:"ConditionalStyleState"},{name:"CustomSort",kind:"REFERENCE",description:"Supplies a collection of *Custom Sort* objects to allow some columns to be sorted in non-standard (e.g. non alphabetical) ways",uiLabel:"Custom Sort",isOptional:!0,reference:"CustomSortState"},{name:"Dashboard",kind:"REFERENCE",description:"Large series of properties to give users full control over the look and feel of the *Dashboard* - the section above the grid with toolbars and buttons",uiLabel:"Dashboard",isOptional:!0,reference:"DashboardState"},{name:"DataSource",kind:"REFERENCE",description:"Supplies a collection of *DataSource* objects to facilitate replacing the DataSource in the Grid with an alternate set of data (e.g. a Book or Stored Proc name)",uiLabel:"Data Source",isOptional:!0,reference:"DataSourceState"},{name:"Export",kind:"REFERENCE",description:"Supplies a collection of *Report* objects, together with name of the Current Report, as part of AdapTable export Module",uiLabel:"Export",isOptional:!0,reference:"ExportState"},{name:"Filter",kind:"REFERENCE",description:"Stores Filters in AdapTable - both System and Column (predicate) Filters",uiLabel:"Filter",isOptional:!0,reference:"FilterState"},{name:"FormatColumn",kind:"REFERENCE",description:"Supplies a collection of *FormatColumn* objects that will style an entire column in a single way (and not subject to a rule like with Conditional Style).",uiLabel:"Format Column",isOptional:!0,reference:"FormatColumnState"},{name:"FreeTextColumn",kind:"REFERENCE",description:"Supplies a collection of *FreeText* objects so users can make their own notes in bespoke columns that will get stored with their state (and not with the DataSource). Useful if needing a &#39;Comments&#39; column.",uiLabel:"Free Text Column",isOptional:!0,reference:"FreeTextColumnState"},{name:"Layout",kind:"REFERENCE",description:"Supplies a collection of *Layout* objects to name and manage groups of column visibility, order and sorts.",uiLabel:"Layout",isOptional:!0,reference:"LayoutState"},{name:"PlusMinus",kind:"REFERENCE",description:"Supplies a collection of *PlusMinus* rule objects to stipulate what happens when the user clicks &#39;+&#39; or &#39;-&#39; in a numeric cell",uiLabel:"Plus Minus",isOptional:!0,reference:"PlusMinusState"},{name:"Query",kind:"REFERENCE",description:"Named Queries available for use across multiple AdapTable Modules; and `CurrentQuery` - an Expression to run at start-up",uiLabel:"Query",isOptional:!0,reference:"QueryState"},{name:"QuickSearch",kind:"REFERENCE",description:"Configues how Quick Search will run i.e. how and whether to highlight matching cells and to filter out non-matching rows",uiLabel:"Quick Search",isOptional:!0,reference:"QuickSearchState"},{name:"Schedule",kind:"REFERENCE",description:"Supplies a collection of *Schedule* objects",uiLabel:"Schedule",isOptional:!0,reference:"ScheduleState"},{name:"Shortcut",kind:"REFERENCE",description:"Supplies a collection of *Shortcut* objects to aid data entry and prevent &#39;fat finger&#39; issues",uiLabel:"Shortcut",isOptional:!0,reference:"ShortcutState"},{name:"Theme",kind:"REFERENCE",description:"Specifies the current Theme and lists the User and System themes available for selection.",uiLabel:"Theme",isOptional:!0,reference:"ThemeState"},{name:"ToolPanel",kind:"REFERENCE",description:"Sets the order and visibility of the Tool Panel controls in the AdapTable ToolPanel (on right of grid)",uiLabel:"Tool Panel",isOptional:!0,reference:"ToolPanelState"}]},PredicateApi:{name:"PredicateApi",kind:"Interface",description:"Functions which manage the Predicate object in AdapTable",properties:[{name:"getCustomPredicateDefById",kind:"function",description:"Gets Predicate Definition provided by users for given Id",uiLabel:"Get Custom Predicate Def By Id"},{name:"getCustomPredicateDefs",kind:"function",description:"Returns Predicate Definitions provided by users",uiLabel:"Get Custom Predicate Defs"},{name:"getPredicateDefById",kind:"function",description:"Gets the Predicate Definition for a given Id",uiLabel:"Get Predicate Def By Id"},{name:"getPredicateDefs",kind:"function",description:"Returns all current Predicate Definitions",uiLabel:"Get Predicate Defs"},{name:"getPredicateDefsByModuleScope",kind:"function",description:"Retrieves all Predicate Definitions for given Module Scope",uiLabel:"Get Predicate Defs By Module Scope"},{name:"getSystemPredicateDefById",kind:"function",description:"Gets Predicate Definition provided by AdapTable for given Id",uiLabel:"Get System Predicate Def By Id"},{name:"getSystemPredicateDefs",kind:"function",description:"Returns Predicate Definitions provided by AdapTable",uiLabel:"Get System Predicate Defs"},{name:"handlePredicate",kind:"function",description:"Main Handler function for a Predicate Definition - used by AdapTableQL",uiLabel:"Handle Predicate"},{name:"isValidPredicate",kind:"function",description:"Checks whether a given Predicate Definition is valid",uiLabel:"Is Valid Predicate"},{name:"predicateToString",kind:"function",description:"Stringifies a given Predicate Definition",uiLabel:"Predicate To String"}]},PredicateDefHandlerParams:{name:"PredicateDefHandlerParams",kind:"Interface",description:"Object passed into an Adaptable Predicate Definition",properties:[{name:"api",kind:"REFERENCE",description:"The Adaptable Api",uiLabel:"Api",reference:"AdaptableApi"},{name:"column",kind:"REFERENCE",description:"Adaptable Column which contains the cell",uiLabel:"Column",reference:"AdaptableColumn"},{name:"displayValue",kind:"unknown",description:"Display value in cell being evaluated",uiLabel:"Display Value"},{name:"inputs",kind:"unknown",description:"Any inputs required to perform evaluation",uiLabel:"Inputs"},{name:"node",kind:"REFERENCE",description:"AG Grid Row node which contains the cell",uiLabel:"Node",reference:"unknown"},{name:"oldValue",kind:"unknown",description:"Previous value in cell (e.g. if evaluating an edit)",uiLabel:"Old Value"},{name:"value",kind:"unknown",description:"Raw value in cell being evaluated",uiLabel:"Value"}]},QueryApi:{name:"QueryApi",kind:"Interface",description:"Provides run-time access to Named and Current Queries",properties:[{name:"clearCurrentQuery",kind:"function",description:"Clears the Current Query",uiLabel:"Clear Current Query"},{name:"getAllNamedQuery",kind:"function",description:"Gets all Named Queries in Adaptable State",uiLabel:"Get All Named Query"},{name:"getCurrentQuery",kind:"function",description:"Retuns the Current Query",uiLabel:"Get Current Query"},{name:"getNamedQueryByName",kind:"function",description:"Retrieves Named Query with given name from State",uiLabel:"Get Named Query By Name"},{name:"getNamedQueryModuleReferences",kind:"function",description:"Returns all the references in the AdaptableState of the NamedQuery with the given name",uiLabel:"Get Named Query Module References"},{name:"getQueryState",kind:"function",description:"Retrieves Query section from Adaptable State",uiLabel:"Get Query State"},{name:"getReferencedNamedQueryNames",kind:"function",description:"Returns the name of all the referenced Named Queries as an array of strings",uiLabel:"Get Referenced Named Query Names"},{name:"isValidNamedQueryName",kind:"function",description:"Checks if the given Named Query has a valid name",uiLabel:"Is Valid Named Query Name"},{name:"setCurrentQuery",kind:"function",description:"Set a Query as Current Query",uiLabel:"Set Current Query"},{name:"showExpandedQueryPopup",kind:"function",description:"Opens Expanded Query Popup screen",uiLabel:"Show Expanded Query Popup"},{name:"showQueryPopup",kind:"function",description:"Opens Query Popup screen",uiLabel:"Show Query Popup"}]},QueryLanguageApi:{name:"QueryLanguageApi",kind:"Interface",description:"Manages AdapTableQL (Query Language)",properties:[{name:"getASTForExpression",kind:"function",description:"Runs the AST that AdapTableQL creates for a expression - useful when evaluating remotely",uiLabel:"Get AST For Expression"},{name:"getColumnsFromExpression",kind:"function",description:"Returns all Columns referenced in a Query",uiLabel:"Get Columns From Expression"},{name:"getModuleExpressionFunctionMap",kind:"function",description:"Returns the current Module Expression Map",uiLabel:"Get Module Expression Function Map"},{name:"getQueryableColumnIds",kind:"function",description:"Returns all columns that can be used in an Expression",uiLabel:"Get Queryable Column Ids"},{name:"isValidAggregationExpression",kind:"function",description:"Whether the given AggregationExpression is valid",uiLabel:"Is Valid Aggregation Expression"},{name:"isValidBooleanExpression",kind:"function",description:"Whether the given BooleanExpression is valid",uiLabel:"Is Valid Boolean Expression"},{name:"isValidObservableExpression",kind:"function",description:"Whether the given ObservableExpression is valid",uiLabel:"Is Valid Observable Expression"}]},QueryLanguageOptions:{name:"QueryLanguageOptions",kind:"Interface",description:"Options for managing Expressions using AdapTableQL",properties:[{name:"defaultAggregationFunctions",kind:"REFERENCE",description:"Aggregation Expression Functions available in AdapTableQL",uiLabel:"Default Aggregation Functions",isOptional:!0,gridInfo:"item",defaultValue:"null (sets all)",reference:"unknown"},{name:"defaultBooleanFunctions",kind:"REFERENCE",description:"Boolean Expression Functions available in AdapTableQL",uiLabel:"Default Boolean Functions",isOptional:!0,gridInfo:"item",defaultValue:"null (sets all)",reference:"unknown"},{name:"defaultObservableFunctions",kind:"REFERENCE",description:"Observable Expression Functions available in AdapTableQL",uiLabel:"Default Observable Functions",isOptional:!0,gridInfo:"item",defaultValue:"null (sets all)",reference:"unknown"},{name:"defaultScalarFunctions",kind:"REFERENCE",description:"Scalar Expression Functions available in AdapTableQL",uiLabel:"Default Scalar Functions",isOptional:!0,gridInfo:"item",defaultValue:"null (sets all)",reference:"unknown"},{name:"maxTimeframeSize",kind:"number",description:"Maximum time (in milliseconds) to hold a Data Change event in a trailing timeframe (see observableExpressionFunctions); value is capped at 86400000 (~24 hours) for performance reasons",uiLabel:"Max Timeframe Size",isOptional:!0,gridInfo:"item",defaultValue:"28800000 (~8 hours)"},{name:"moduleExpressionFunctions",kind:"unknown",description:"Module specific ExpressionFunctions; if not defined, it falls back to the defined default values",uiLabel:"Module Expression Functions",isOptional:!0,gridInfo:"item",defaultValue:"undefined (defaults to default values)"},{name:"performExpressionValidation",kind:"boolean",description:"Validate Expressions before they can be run or saved",uiLabel:"Perform Expression Validation",isOptional:!0,gridInfo:"item",defaultValue:"true"},{name:"queryableColumns",kind:"unknown",description:"Columns that can be included in AdapTableQL Expressions; leave unset to include **ALL**, provide empty array to set **NONE**",uiLabel:"Queryable Columns",isOptional:!0,gridInfo:"item",defaultValue:"undefined"}]},QueryState:{name:"QueryState",kind:"Interface",description:"Predefined Configuration for Query Module",properties:[{name:"CurrentQuery",kind:"string",description:"Expression used for the Query currently being run",uiLabel:"Current Query",isOptional:!0},{name:"NamedQueries",kind:"unknown",description:"Named Queries - can be referenced in other Expressions",uiLabel:"Named Queries",isOptional:!0}]},QuickSearchApi:{name:"QuickSearchApi",kind:"Interface",description:"Provides run-time access to Quick Search Module",properties:[{name:"clearQuickSearch",kind:"function",description:"Clears Quick Search",uiLabel:"Clear Quick Search"},{name:"getQuickSearchState",kind:"function",description:"Retrieves Quick Search section from Adaptable State",uiLabel:"Get Quick Search State"},{name:"getQuickSearchStyle",kind:"function",description:"Retrieves current Quick Search style",uiLabel:"Get Quick Search Style"},{name:"getQuickSearchValue",kind:"function",description:"Retrieves current Quick Search text",uiLabel:"Get Quick Search Value"},{name:"runQuickSearch",kind:"function",description:"Runs Quick Search using supplied text",uiLabel:"Run Quick Search"},{name:"setQuickSearchStyle",kind:"function",description:"Sets style for Quick Search; can be name of (a provided) css style",uiLabel:"Set Quick Search Style"},{name:"showQuickSearchPopup",kind:"function",description:"Opens Quick Search popup screen",uiLabel:"Show Quick Search Popup"}]},QuickSearchState:{name:"QuickSearchState",kind:"Interface",description:"Predefined Configuration for Quick Search Module",properties:[{name:"QuickSearchText",kind:"string",description:"Last Quick Search that was run (and will run again at start up)",uiLabel:"Quick Search Text",isOptional:!0},{name:"Style",kind:"REFERENCE",description:"Style to use to highlight matching cells - uses common `AdaptableStyle` object",uiLabel:"Style",isOptional:!0,reference:"AdaptableStyle"}]},ReactFrameworkComponent:{name:"ReactFrameworkComponent",kind:"TypeAlias",description:"A function that returns a ReactNode"},ReminderSchedule:{name:"ReminderSchedule",kind:"Interface",description:"Schedules a Reminder to appear at a given point in time",properties:[{name:"DisplayNotification",kind:"boolean",description:"Displays Reminder as a Toast Notification",uiLabel:"Display Notification"},{name:"Header",kind:"string",description:"Reminder header text",uiLabel:"Header"},{name:"Message",kind:"string",description:"Reminder body text",uiLabel:"Message"},{name:"MessageType",kind:"REFERENCE",description:"Type of Message - &#39;Success&#39;, &#39;Info&#39;, &#39;Warning&#39; or &#39;Error&#39;",uiLabel:"Message Type",reference:"AdaptableMessageType"}]},ReportData:{name:"ReportData",kind:"Interface",description:"Defines the data in a Report run by AdapTable",properties:[{name:"columns",kind:"unknown",description:"Columns in the Report",uiLabel:"Columns"},{name:"rows",kind:"unknown",description:"Rows in the Report",uiLabel:"Rows"}]},ReportSchedule:{name:"ReportSchedule",kind:"Interface",description:"Defines a Scheduled Report - used in Schedule Module (where State is stored)",properties:[{name:"ExportDestination",kind:"unknown",description:"Where report data will be exported",uiLabel:"Export Destination"},{name:"ExportDestinationData",kind:"REFERENCE",description:"Additional data for a Custom Destination produced by a Dynamic Form",uiLabel:"Export Destination Data",isOptional:!0,reference:"unknown"},{name:"ReportName",kind:"string",description:"Name of Report to run on Schedule",uiLabel:"Report Name"}]},RowInfo:{name:"RowInfo",kind:"Interface",description:"Provides meta data about a Row in Adaptable",properties:[{name:"isDisplayed",kind:"boolean",description:"Is Row displayed (ie. filtered, not necessarily in viewport)",uiLabel:"Is Displayed",isOptional:!0},{name:"isExpanded",kind:"boolean",description:"Is Row expanded (if a group row)",uiLabel:"Is Expanded",isOptional:!0},{name:"isGroup",kind:"boolean",description:"Is Row grouped",uiLabel:"Is Group",isOptional:!0},{name:"isMaster",kind:"boolean",description:"Is Row a Master Row (in a Master-Detail grid)",uiLabel:"Is Master",isOptional:!0},{name:"isSelected",kind:"boolean",description:"Is Row selected",uiLabel:"Is Selected",isOptional:!0},{name:"rowGroupLevel",kind:"number",description:"What level the Row is (if Row Grouping is active)",uiLabel:"Row Group Level",isOptional:!0}]},Schedule:{name:"Schedule",kind:"Interface",description:"Defines when an action will be run - either one-off or recurring",properties:[{name:"DaysOfWeek",kind:"REFERENCE",description:"Days on which Schedule will run",uiLabel:"Days Of Week",isOptional:!0,reference:"unknown"},{name:"Hour",kind:"number",description:"Hour the Schedule will run",uiLabel:"Hour"},{name:"Minute",kind:"number",description:"Minute the Schedule will run",uiLabel:"Minute"},{name:"OneOffDate",kind:"string",description:"A one off date on which the Schedule will run",uiLabel:"One Off Date",isOptional:!0}]},ScheduleApi:{name:"ScheduleApi",kind:"Interface",description:"Provides run-time access to the Schedule Module and associated state",properties:[{name:"addGlue42Schedule",kind:"function",description:"Add Glue42-based Schedule",uiLabel:"Add Glue42Schedule"},{name:"addIPushPullSchedule",kind:"function",description:"Add ipushpull-based Schedule",uiLabel:"Add IPush Pull Schedule"},{name:"addOpenFinSchedule",kind:"function",description:"Add OpenFin-based Schedule",uiLabel:"Add Open Fin Schedule"},{name:"addReminderSchedule",kind:"function",description:"Adds Reminder-based Schedule",uiLabel:"Add Reminder Schedule"},{name:"addReportSchedule",kind:"function",description:"Adds Report / Export Schedule",uiLabel:"Add Report Schedule"},{name:"applySchedule",kind:"function",description:"Applies the Schedule of given type",uiLabel:"Apply Schedule"},{name:"deleteGlue42Schedule",kind:"function",description:"Delete Glue42-based Schedule",uiLabel:"Delete Glue42Schedule"},{name:"deleteIPushPullSchedule",kind:"function",description:"Delete ipushpull-based Schedule",uiLabel:"Delete IPush Pull Schedule"},{name:"deleteOpenFinSchedule",kind:"function",description:"Delete OpenFin-based Schedule",uiLabel:"Delete Open Fin Schedule"},{name:"deleteReminderSchedule",kind:"function",description:"Deletes Reminder-based Schedule",uiLabel:"Delete Reminder Schedule"},{name:"deleteReportSchedule",kind:"function",description:"Deletes Report / Export Schedule",uiLabel:"Delete Report Schedule"},{name:"editGlue42Schedule",kind:"function",description:"Edit Glue42-based Schedule",uiLabel:"Edit Glue42Schedule"},{name:"editIPushPullSchedule",kind:"function",description:"Edit ipushpull-based Schedule",uiLabel:"Edit IPush Pull Schedule"},{name:"editOpenFinSchedule",kind:"function",description:"Edit OpenFin-based Schedule",uiLabel:"Edit Open Fin Schedule"},{name:"editReminderSchedule",kind:"function",description:"Edits Reminder-based Schedule",uiLabel:"Edit Reminder Schedule"},{name:"editReportSchedule",kind:"function",description:"Edits Report / Export Schedule",uiLabel:"Edit Report Schedule"},{name:"getAllActiveGlue42Schedule",kind:"function",description:"Retrieves all active (not-suspended) Glue42-based Schedules from Schedule State",uiLabel:"Get All Active Glue42Schedule"},{name:"getAllActiveIPushPullSchedule",kind:"function",description:"Retrieves all active (not-suspended) ipushpull-based Schedules from Schedule State",uiLabel:"Get All Active IPush Pull Schedule"},{name:"getAllActiveOpenFinSchedule",kind:"function",description:"Retrieves all active (not-suspended) OpenFin-based Schedules from Schedule State",uiLabel:"Get All Active Open Fin Schedule"},{name:"getAllActiveReminderSchedule",kind:"function",description:"Retrieves all active (not-suspended) Reminder-based Schedules from Schedule State",uiLabel:"Get All Active Reminder Schedule"},{name:"getAllActiveReportSchedule",kind:"function",description:"Retrieves all active (not-suspended) Report / Export Schedules from Schedule State",uiLabel:"Get All Active Report Schedule"},{name:"getAllGlue42Schedule",kind:"function",description:"Retrieves all Glue42-based Schedules from Schedule State",uiLabel:"Get All Glue42Schedule"},{name:"getAllIPushPullSchedule",kind:"function",description:"Retrieves all ipushpull-based Schedules from Schedule State",uiLabel:"Get All IPush Pull Schedule"},{name:"getAllOpenFinSchedule",kind:"function",description:"Retrieves all OpenFin-based Schedules from Schedule State",uiLabel:"Get All Open Fin Schedule"},{name:"getAllReminderSchedule",kind:"function",description:"Retrieves all Reminder-based Schedules from Schedule State",uiLabel:"Get All Reminder Schedule"},{name:"getAllReportSchedule",kind:"function",description:"Retrieves all Report / Export Schedules from Schedule State",uiLabel:"Get All Report Schedule"},{name:"getAllSchedule",kind:"function",description:"Retrieves the Schedule section from Adaptable State",uiLabel:"Get All Schedule"},{name:"getAllSuspendedGlue42Schedule",kind:"function",description:"Retrieves all suspended Glue42-based Schedules from Schedule State",uiLabel:"Get All Suspended Glue42Schedule"},{name:"getAllSuspendedIPushPullSchedule",kind:"function",description:"Retrieves all suspended ipushpull-based Schedules from Schedule State",uiLabel:"Get All Suspended IPush Pull Schedule"},{name:"getAllSuspendedOpenFinSchedule",kind:"function",description:"Retrieves all suspended OpenFin-based Schedules from Schedule State",uiLabel:"Get All Suspended Open Fin Schedule"},{name:"getAllSuspendedReminderSchedule",kind:"function",description:"Retrieves all suspended Reminder-based Schedules from Schedule State",uiLabel:"Get All Suspended Reminder Schedule"},{name:"getAllSuspendedReportSchedule",kind:"function",description:"Retrieves all suspended Report / Export Schedules from Schedule State",uiLabel:"Get All Suspended Report Schedule"},{name:"getScheduleById",kind:"function",description:"Retrieves Schedule by id",uiLabel:"Get Schedule By Id"},{name:"showSchedulePopup",kind:"function",description:"Opens Schedule popup screen",uiLabel:"Show Schedule Popup"},{name:"suspendGlue42Schedule",kind:"function",description:"Suspends Glue42-based Schedule",uiLabel:"Suspend Glue42Schedule"},{name:"suspendIPushPullSchedule",kind:"function",description:"Suspends ipushpull-based Schedule",uiLabel:"Suspend IPush Pull Schedule"},{name:"suspendOpenFinSchedule",kind:"function",description:"Suspends OpenFin-based Schedule",uiLabel:"Suspend Open Fin Schedule"},{name:"suspendReminderSchedule",kind:"function",description:"Suspends Reminder-based Schedule",uiLabel:"Suspend Reminder Schedule"},{name:"suspendReportSchedule",kind:"function",description:"Suspends Report / Export Schedule",uiLabel:"Suspend Report Schedule"},{name:"unSuspendGlue42Schedule",kind:"function",description:"Activates a suspended Glue42-based Schedule",uiLabel:"Un Suspend Glue42Schedule"},{name:"unSuspendIPushPullSchedule",kind:"function",description:"Activates a suspended ipushpull-based Schedule",uiLabel:"Un Suspend IPush Pull Schedule"},{name:"unSuspendOpenFinSchedule",kind:"function",description:"Activates a suspended OpenFin-based Schedule",uiLabel:"Un Suspend Open Fin Schedule"},{name:"unSuspendReminderSchedule",kind:"function",description:"Activates a suspended Reminder-based Schedule",uiLabel:"Un Suspend Reminder Schedule"},{name:"unSuspendReportSchedule",kind:"function",description:"Activates a suspended Report / Export Schedule",uiLabel:"Un Suspend Report Schedule"}]},ScheduleState:{name:"ScheduleState",kind:"Interface",description:"Predefined Configuration for the Schedule Module",properties:[{name:"Glue42Schedules",kind:"unknown",description:"Schedules connected to Glue42 exports - available if Glue42 plugin is running",uiLabel:"Glue42Schedules",isOptional:!0},{name:"IPushPullSchedules",kind:"unknown",description:"Schedules connected to ipushpull Reports - available if ipushpull plugin is running",uiLabel:"I Push Pull Schedules",isOptional:!0},{name:"OpenFinSchedules",kind:"unknown",description:"Schedules connected to OpenFin data exports - available if OpenFin plugin is running",uiLabel:"Open Fin Schedules",isOptional:!0},{name:"Reminders",kind:"unknown",description:"Schedules connected to Reminders - Alerts that fire at set times",uiLabel:"Reminders",isOptional:!0},{name:"ReportSchedules",kind:"unknown",description:"Schedules connected to Reports (created in the Export function)",uiLabel:"Report Schedules",isOptional:!0}]},ScopeApi:{name:"ScopeApi",kind:"Interface",description:"Provides access to a suite of functions related to the `Scope` object",properties:[{name:"createCellColorRangesForScope",kind:"function",description:"Creates Cell Color Ranges (used in Format Column) for given Scope",uiLabel:"Create Cell Color Ranges For Scope"},{name:"getColumnIdsInScope",kind:"function",description:"Returns all the ColumnIds in the Scope",uiLabel:"Get Column Ids In Scope"},{name:"getColumnsForScope",kind:"function",description:"Returns list of all Columns in the given Scope",uiLabel:"Get Columns For Scope"},{name:"getDataTypesInScope",kind:"function",description:"Returns all the DataTypes in the Scope",uiLabel:"Get Data Types In Scope"},{name:"getScopeDescription",kind:"function",description:"Provides a description for the Scope",uiLabel:"Get Scope Description"},{name:"getScopeToString",kind:"function",description:"Gets string representation of the Scope",uiLabel:"Get Scope To String"},{name:"getSingleColumnInScope",kind:"function",description:"Gets the only Column in given Scope",uiLabel:"Get Single Column In Scope"},{name:"isColumnInDateScope",kind:"function",description:"True if Scope has Data DataType which contains Column",uiLabel:"Is Column In Date Scope"},{name:"isColumnInNumericScope",kind:"function",description:"True if Scope has Numeric DataType containing Column",uiLabel:"Is Column In Numeric Scope"},{name:"isColumnInScope",kind:"function",description:"True if Column is in given Scope",uiLabel:"Is Column In Scope"},{name:"isColumnInScopeColumns",kind:"function",description:"True if Column is in Scope&#39;s &#39;ColumnIds&#39; section",uiLabel:"Is Column In Scope Columns"},{name:"isColumnInStringsScope",kind:"function",description:"True if Scope has String DataType containing Column",uiLabel:"Is Column In Strings Scope"},{name:"isPrimaryKeyColumnInScopeColumns",kind:"function",description:"Whether PK column is included in Scope&#39;s column section",uiLabel:"Is Primary Key Column In Scope Columns"},{name:"isScopeInScope",kind:"function",description:"True if first scope is in second Scope",uiLabel:"Is Scope In Scope"},{name:"isSingleBooleanColumnScope",kind:"function",description:"True if Scope contains just 1 boolean Column",uiLabel:"Is Single Boolean Column Scope"},{name:"isSingleColumnScope",kind:"function",description:"True if Scope contains just 1 ColumnId",uiLabel:"Is Single Column Scope"},{name:"isSingleNumericColumnScope",kind:"function",description:"True if Scope contains just 1 numeric Column",uiLabel:"Is Single Numeric Column Scope"},{name:"scopeHasColumns",kind:"function",description:"True if Scope contains ColumnIds",uiLabel:"Scope Has Columns"},{name:"scopeHasDataType",kind:"function",description:"True if Scope contains DataTypes",uiLabel:"Scope Has Data Type"},{name:"scopeIsAll",kind:"function",description:"True if Scope is &#39;All&#39;",uiLabel:"Scope Is All"},{name:"scopeIsEmpty",kind:"function",description:"True if Scope is empty",uiLabel:"Scope Is Empty"}]},SearchChangedInfo:{name:"SearchChangedInfo",kind:"Interface",description:"EventInfo returned by SearchChanged event; includes full AdapTable search and sort info plus the event&#39;s trigger",properties:[{name:"adaptableSearchState",kind:"REFERENCE",description:"Current searches and filters in the Grid",uiLabel:"Adaptable Search State",reference:"AdaptableSearchState"},{name:"adaptableSortState",kind:"REFERENCE",description:"Current sort state in the Grid",uiLabel:"Adaptable Sort State",reference:"AdaptableSortState"},{name:"searchChangedTrigger",kind:"unknown",description:"What search-related change caused the event to fire",uiLabel:"Search Changed Trigger"}]},SearchOptions:{name:"SearchOptions",kind:"Interface",description:"Search options section of Adaptable Options; includes options for running some (or all) search functions on the server",properties:[{name:"clearSearchesOnStartUp",kind:"boolean",description:"Clears saved searches when AdapTable loads",uiLabel:"Clear Searches On Start Up",isOptional:!0,gridInfo:"item",defaultValue:"false"},{name:"excludeColumnFromQuickSearch",kind:"unknown",description:"Function enabling specific Columns to be excluded from Quick Search",uiLabel:"Exclude Column From Quick Search",isOptional:!0,defaultValue:"undefined"},{name:"filterResultsAfterQuickSearch",kind:"boolean",description:"Runs a Query after Quick Search runs, filtering on quick search results",uiLabel:"Filter Results After Quick Search",isOptional:!0,gridInfo:"item",defaultValue:"false"},{name:"quickSearchPlaceholder",kind:"string",description:"Value to use as placeholder in QuickSearch controls (e.g. in Dashboard)",uiLabel:"Quick Search Placeholder",isOptional:!0,gridInfo:"item",defaultValue:"&#39;Search&#39;"},{name:"serverSearchOptions",kind:"REFERENCE",description:"Which searching and filtering options, if any, should take place on server",uiLabel:"Server Search Options",isOptional:!0,gridInfo:"item",defaultValue:"undefined",reference:"unknown"}]},SelectedCellInfo:{name:"SelectedCellInfo",kind:"Interface",description:"Describes which Cells are currently selected in AdapTable",properties:[{name:"columns",kind:"unknown",description:"Array of Columns which have selected cells",uiLabel:"Columns"},{name:"gridCells",kind:"unknown",description:"Array of GridCells (which provide cell value, primary kev value and other info)",uiLabel:"Grid Cells"}]},SelectedRowInfo:{name:"SelectedRowInfo",kind:"Interface",description:"Describes which Rows are currently selected in AdapTable",properties:[{name:"gridRows",kind:"unknown",description:"Array of Grid Rows containing full information about a row in AdapTable",uiLabel:"Grid Rows"}]},SelectionChangedInfo:{name:"SelectionChangedInfo",kind:"Interface",description:"Event Info published by SelectionChanged event",properties:[{name:"selectedCellInfo",kind:"REFERENCE",description:"Details of cells currently selected in the Grid",uiLabel:"Selected Cell Info",reference:"SelectedCellInfo"},{name:"selectedRowInfo",kind:"REFERENCE",description:"Details of rows currently selected in the Grid",uiLabel:"Selected Row Info",reference:"SelectedRowInfo"}]},SharedEntity:{name:"SharedEntity",kind:"Interface",description:"Defines an object used in Team Sharing",properties:[{name:"ChangedAt",kind:"number",description:"Last time when the object was changed",uiLabel:"Changed At"},{name:"ChangedBy",kind:"string",description:"Last User who changed the object",uiLabel:"Changed By"},{name:"Description",kind:"string",description:"Description of object being shared",uiLabel:"Description"},{name:"Entity",kind:"REFERENCE",description:"Actual Adaptable Object being shared",uiLabel:"Entity",reference:"AdaptableObject"},{name:"EntityDependencyIds",kind:"unknown",description:"Ids of direct entity dependencies",uiLabel:"Entity Dependency Ids"},{name:"Module",kind:"REFERENCE",description:"Adaptable Module to which object belongs",uiLabel:"Module",reference:"unknown"},{name:"Revision",kind:"number",description:"Revision - incremental for &#39;Active&#39;, always 1 for &#39;Snapshot&#39;",uiLabel:"Revision"},{name:"Timestamp",kind:"number",description:"When the object was shared",uiLabel:"Timestamp"},{name:"Type",kind:"REFERENCE",description:"&#39;Snapshot&#39; (for 1-time sharing) or &#39;Active&#39; (for continuous sharing between local state &amp; Team Share)",uiLabel:"Type",reference:"unknown"},{name:"UserName",kind:"string",description:"User who shared the object",uiLabel:"User Name"}]},Shortcut:{name:"Shortcut",kind:"Interface",description:"Used to define a Shortcut as used in Shortcut State",properties:[{name:"Scope",kind:"unknown",description:"Numeric Columns where Shortcut is applied",uiLabel:"Scope"},{name:"ShortcutKey",kind:"string",description:"Key which triggers the Shortcut when pressed",uiLabel:"Shortcut Key"},{name:"ShortcutOperation",kind:"unknown",description:"The Operation: &#39;Add&#39;, &#39;Subtract&#39;, &#39;Multiply&#39;, &#39;Divide&#39;",uiLabel:"Shortcut Operation"},{name:"ShortcutValue",kind:"number",description:"Value which acts as 2nd operand for ShortcutOperation (the first operand being the cell value)",uiLabel:"Shortcut Value"}]},ShortcutApi:{name:"ShortcutApi",kind:"Interface",description:"Provides run-time access to Shortcut Module and associated state",properties:[{name:"addShortcut",kind:"function",description:"Adds new Shortcut to the state",uiLabel:"Add Shortcut"},{name:"deleteAllShortcut",kind:"function",description:"Deletes all Shortcuts in Adaptable State",uiLabel:"Delete All Shortcut"},{name:"deleteShortcut",kind:"function",description:"Deletes Shortcut from the state",uiLabel:"Delete Shortcut"},{name:"getAllActiveShortcut",kind:"function",description:"Gets all active (not-suspended) Shortcuts in Adaptable State",uiLabel:"Get All Active Shortcut"},{name:"getAllShortcut",kind:"function",description:"Gets all Shortcuts in Adaptable State",uiLabel:"Get All Shortcut"},{name:"getAllSuspendedShortcut",kind:"function",description:"Gets all suspended Shortcuts in Adaptable State",uiLabel:"Get All Suspended Shortcut"},{name:"getShortcutById",kind:"function",description:"Retrieves Shortcut by Id",uiLabel:"Get Shortcut By Id"},{name:"getShortcutState",kind:"function",description:"Retrieves Shortcut section from Adaptable State",uiLabel:"Get Shortcut State"},{name:"showShortcutPopup",kind:"function",description:"Opens Shortcut popup screen",uiLabel:"Show Shortcut Popup"},{name:"suspendShortcut",kind:"function",description:"Suspends Shortcut definition",uiLabel:"Suspend Shortcut"},{name:"unSuspendShortcut",kind:"function",description:"Activates a suspended Shortcut definition",uiLabel:"Un Suspend Shortcut"}]},ShortcutScopeDataType:{name:"ShortcutScopeDataType",kind:"TypeAlias",description:"Shortcut scope data type."},ShortcutState:{name:"ShortcutState",kind:"Interface",description:"Predefined Configuration for Shortcut Module",properties:[{name:"Shortcuts",kind:"unknown",description:"Collection of Shortcuts - designed to speed up data entry",uiLabel:"Shortcuts",isOptional:!0}]},SmartEditApi:{name:"SmartEditApi",kind:"Interface",description:"Provides run-time access to the Smart Edit Module",properties:[{name:"applySmartEdit",kind:"function",description:"Applies a Smart Edit to given Cells",uiLabel:"Apply Smart Edit"},{name:"getSmartEditOperation",kind:"function",description:"Gets current Smart Edit Operation",uiLabel:"Get Smart Edit Operation"},{name:"getSmartEditValue",kind:"function",description:"Returns current Smart Edit Value",uiLabel:"Get Smart Edit Value"},{name:"setSmartEditOperation",kind:"function",description:"Sets Smart Edit operation: (&#39;Add&#39;,&#39;Subtract&#39;,&#39;Multiply&#39;,&#39;Divide&#39;",uiLabel:"Set Smart Edit Operation"},{name:"setSmartEditValue",kind:"function",description:"Sets Smart Edit Value",uiLabel:"Set Smart Edit Value"},{name:"showSmartEditPopup",kind:"function",description:"Opens Smart Edit popup screen",uiLabel:"Show Smart Edit Popup"}]},SpecialColumnSettings:{name:"SpecialColumnSettings",kind:"Interface",description:"Base Settings for SpecialColumns",properties:[{name:"Aggregatable",kind:"boolean",description:"Whether Column can be used in an aggregation when grouping",uiLabel:"Aggregatable",isOptional:!0,defaultValue:"true"},{name:"ColumnTypes",kind:"unknown",description:"Custom column types to be added to AG Grid Column Types when object is created",uiLabel:"Column Types",isOptional:!0},{name:"Filterable",kind:"boolean",description:"Whether Column is filterable",uiLabel:"Filterable",isOptional:!0,defaultValue:"true"},{name:"Groupable",kind:"boolean",description:"Whether Column can be grouped",uiLabel:"Groupable",isOptional:!0,defaultValue:"true"},{name:"Pivotable",kind:"boolean",description:"Whether Column can be used when grid is in pivot mode",uiLabel:"Pivotable",isOptional:!0,defaultValue:"true"},{name:"Resizable",kind:"boolean",description:"Whether Column can be resized (by dragging column header edges)",uiLabel:"Resizable",isOptional:!0,defaultValue:"true"},{name:"Sortable",kind:"boolean",description:"Whether Column is sortable",uiLabel:"Sortable",isOptional:!0,defaultValue:"true"},{name:"SuppressMenu",kind:"boolean",description:"Whether if no menu should be shown for this Column header.",uiLabel:"Suppress Menu",isOptional:!0,defaultValue:"false"},{name:"SuppressMovable",kind:"boolean",description:"Whether if this Column should be movable via dragging",uiLabel:"Suppress Movable",isOptional:!0,defaultValue:"false"},{name:"Width",kind:"number",description:"Preferred width (in pixels) for Column; if unset, calculated dynamically by AG Grid",uiLabel:"Width",isOptional:!0}]},StateOptions:{name:"StateOptions",kind:"Interface",description:"Options related to state hydration/dehydration - allows users to intercept state persistence and state loading with custom functionality.",properties:[{name:"applyState",kind:"unknown",description:"Allows hooking into AdaptableState hydration",uiLabel:"Apply State",isOptional:!0},{name:"clearState",kind:"REFERENCE",description:"Allows clearing of remote state.",uiLabel:"Clear State",isOptional:!0,reference:"unknown"},{name:"debounceStateDelay",kind:"number",description:"Delay (in ms) to debounce saveState/persistState calls enabling grouping multiple sequential calls in single one (e.g. elevator doors)",uiLabel:"Debounce State Delay",isOptional:!0,defaultValue:"400"},{name:"loadState",kind:"REFERENCE",description:"Allows the customization of state loading.",uiLabel:"Load State",isOptional:!0,reference:"AdaptableLoadStateFunction"},{name:"persistState",kind:"REFERENCE",description:"Allows the customization of state persistence.",uiLabel:"Persist State",isOptional:!0,reference:"AdaptablePersistStateFunction"},{name:"saveState",kind:"REFERENCE",description:"Allows the customization of the state that is going to be persisted",uiLabel:"Save State",isOptional:!0,reference:"unknown"}]},SuspendableObject:{name:"SuspendableObject",kind:"Interface",description:"Interface that extends Adaptable Object for those config items that can be suspended at run-time",properties:[{name:"IsSuspended",kind:"boolean",description:"Suspends (i.e. turns off) an Adaptable Object",uiLabel:"Is Suspended",isOptional:!0}]},SystemStatusApi:{name:"SystemStatusApi",kind:"Interface",description:"Provides access to System Status Module and associated state",properties:[{name:"deleteAllSystemStatusMessages",kind:"function",description:"Deletes all System Status messages",uiLabel:"Delete All System Status Messages"},{name:"fireSystemStatusMessageDisplayedEvent",kind:"function",description:"Fires SystemStatusMessageDisplayed Event",uiLabel:"Fire System Status Message Displayed Event"},{name:"getCurrentSystemStatusMessageInfo",kind:"function",description:"Retrieves current System Status Message",uiLabel:"Get Current System Status Message Info"},{name:"setErrorSystemStatus",kind:"function",description:"Sets an **Error** System Status Message",uiLabel:"Set Error System Status"},{name:"setInfoSystemStatus",kind:"function",description:"Sets an **Info** System Status Message",uiLabel:"Set Info System Status"},{name:"setSuccessSystemStatus",kind:"function",description:"Sets a **Success** System Status Message",uiLabel:"Set Success System Status"},{name:"setSystemStatus",kind:"function",description:"Sets a new System Status message; appears in System Status toolbar, tool panel (and popup).",uiLabel:"Set System Status"},{name:"setWarningSystemStatus",kind:"function",description:"Sets a **Warning** System Status Message",uiLabel:"Set Warning System Status"},{name:"showSystemStatusPopup",kind:"function",description:"Opens System Status popup",uiLabel:"Show System Status Popup"}]},SystemStatusMessageDisplayedInfo:{name:"SystemStatusMessageDisplayedInfo",kind:"Interface",description:"Object returned by the SystemStatusMessageDisplayed&#39; event",properties:[{name:"systemStatusMessageInfo",kind:"REFERENCE",description:"Details of the System Status Message and Type",uiLabel:"System Status Message Info",reference:"SystemStatusMessageInfo"}]},SystemStatusMessageInfo:{name:"SystemStatusMessageInfo",kind:"Interface",description:"Wraps a System Status Message",properties:[{name:"statusFurtherInformation",kind:"string",description:"Additional information to display (optional)",uiLabel:"Status Further Information",isOptional:!0},{name:"statusMessage",kind:"string",description:"The Message to be displayed",uiLabel:"Status Message"},{name:"statusType",kind:"REFERENCE",description:"Type of Message i.e. Succcess, Warning, Error, Info",uiLabel:"Status Type",reference:"AdaptableMessageType"},{name:"timestamp",kind:"date",description:"When Message was sent",uiLabel:"Timestamp",isOptional:!0}]},TeamSharingApi:{name:"TeamSharingApi",kind:"Interface",description:"Provides run-time access to Team Sharing Module and associated state",properties:[{name:"checkForUpdates",kind:"function",description:"Checks if active Shared Entities have updates (higher revisions than the local counterpart objects)",uiLabel:"Check For Updates"},{name:"fireTeamSharingEntityChangedEvent",kind:"function",description:"Fires the Team Sharing Entity Changed Event",uiLabel:"Fire Team Sharing Entity Changed Event"},{name:"getSharedEntities",kind:"function",description:"Retrieves all Shared Entities in Team Sharing State",uiLabel:"Get Shared Entities"},{name:"getTeamSharingState",kind:"function",description:"Retrieves Team Sharing section of State",uiLabel:"Get Team Sharing State"},{name:"hasTeamSharingFullRights",kind:"function",description:"Whether current user has full Team Sharing rights (for creating &amp; updating shared items)",uiLabel:"Has Team Sharing Full Rights"},{name:"isTeamSharingActivated",kind:"function",description:"Whether Team Sharing is Activated",uiLabel:"Is Team Sharing Activated"},{name:"showTeamSharingPopup",kind:"function",description:"Opens Team Sharing popup screen",uiLabel:"Show Team Sharing Popup"}]},TeamSharingEntityChangedInfo:{name:"TeamSharingEntityChangedInfo",kind:"Interface",description:"EventInfo returned by TeamSharingEntityChanged event",properties:[{name:"sharedEntity",kind:"REFERENCE",description:"Object containing the Shared Entity that has changed",uiLabel:"Shared Entity",reference:"SharedEntity"}]},TeamSharingOptions:{name:"TeamSharingOptions",kind:"Interface",description:"Options for managing Team Sharing - which enables Adaptable Objects to be shared between colleagues",properties:[{name:"enableTeamSharing",kind:"boolean",description:"Whether Team Sharing is enabled",uiLabel:"Enable Team Sharing",gridInfo:"item",defaultValue:"false"},{name:"getSharedEntities",kind:"unknown",description:"Function which retrieves available Shared Entities that user can download and merge automatically with Adaptable State",uiLabel:"Get Shared Entities",defaultValue:"null"},{name:"setSharedEntities",kind:"unknown",description:"Function which uploads Shared Entities so they can be downloaded by other members of the team",uiLabel:"Set Shared Entities",defaultValue:"null"},{name:"updateInterval",kind:"number",description:"Frequency (in minutes) to check if Active Shared Entities have a newer revision",uiLabel:"Update Interval",isOptional:!0,gridInfo:"item",defaultValue:"0 (never)"},{name:"updateNotification",kind:"unknown",description:"How user is informed when Active Shared Entities have newer revisions",uiLabel:"Update Notification",isOptional:!0,gridInfo:"item",defaultValue:"null (none)"}]},TeamSharingState:{name:"TeamSharingState",kind:"Interface",description:"State for Team Sharing; this is internal so not designed to be provided as part of Predefined Config",properties:[{name:"ActiveSharedEntityMap",kind:"unknown",description:"Mapping of active AdaptableObjects which are shared with the local state. Maps UUIDs of local AdaptableObjects to a snapshot of the latest synchronized SharedEntity",uiLabel:"Active Shared Entity Map"},{name:"importProcessInProgress",kind:"boolean",description:"TRUE if an import is in progress, FALSE otherwise. This is required to skip the TEAMSHARING_UPDATE_ITEM action as a result of the import",uiLabel:"Import Process In Progress"},{name:"SharedEntities",kind:"unknown",description:"List of objects currently being Team Shared",uiLabel:"Shared Entities"}]},ThemeApi:{name:"ThemeApi",kind:"Interface",description:"Provides run-time access to the Theme Module and associated state",properties:[{name:"applyCurrentTheme",kind:"function",description:"Applies the Current Theme",uiLabel:"Apply Current Theme"},{name:"getAllSystemTheme",kind:"function",description:"Retrieves System Themes in State",uiLabel:"Get All System Theme"},{name:"getAllTheme",kind:"function",description:"Retrieves all Themes (both System User) in State",uiLabel:"Get All Theme"},{name:"getAllUserTheme",kind:"function",description:"Retrieves User Themes in State",uiLabel:"Get All User Theme"},{name:"getCurrentTheme",kind:"function",description:"Retrieves name of Current Theme",uiLabel:"Get Current Theme"},{name:"getThemeState",kind:"function",description:"Retrieves Theme section from Adaptable State",uiLabel:"Get Theme State"},{name:"loadDarkTheme",kind:"function",description:"Sets AdapTable Dark Theme - updates the AG Grid theme to match",uiLabel:"Load Dark Theme"},{name:"loadLightTheme",kind:"function",description:"Sets AdapTable Light Theme - updates the AG Grid theme to match",uiLabel:"Load Light Theme"},{name:"loadTheme",kind:"function",description:"Sets Adaptable to use a given theme",uiLabel:"Load Theme"},{name:"setSystemThemes",kind:"function",description:"Sets available System Themes; if empty array is passed none will be",uiLabel:"Set System Themes"},{name:"setUserThemes",kind:"function",description:"Sets available User Themes",uiLabel:"Set User Themes"},{name:"showThemePopup",kind:"function",description:"Opens Theme popup screen",uiLabel:"Show Theme Popup"}]},ThemeChangedInfo:{name:"ThemeChangedInfo",kind:"Interface",description:"Object returned by the `ThemeChanged` event",properties:[{name:"theme",kind:"unknown",description:"Selected Theme: either name of a (System) theme or the (Custom) Theme itself",uiLabel:"Theme"}]},ThemeState:{name:"ThemeState",kind:"Interface",description:"Theme section of Adaptable State",properties:[{name:"CurrentTheme",kind:"unknown",description:"Name of current theme (or theme to set at startup); leave blank if using &#39;Light Theme&#39;, set to &#39;dark&#39; for &#39;Dark Theme&#39; or provide name of Custom Theme",uiLabel:"Current Theme",isOptional:!0},{name:"SystemThemes",kind:"unknown",description:"Which, if any, of the 2 themes shipped by Adaptable should be available; leave unset to provide both, or an empty array to provide neither.",uiLabel:"System Themes",isOptional:!0},{name:"UserThemes",kind:"unknown",description:"Custom themes (of type AdaptableTheme) provided by developers",uiLabel:"User Themes",isOptional:!0}]},ToolPanelApi:{name:"ToolPanelApi",kind:"Interface",description:"Functions for managing the AdapTable ToolPanel Component (at side of grid)",properties:[{name:"closeAdapTableToolPanel",kind:"function",description:"Closes the Tool Panel section (irrespective of which toolpanel is showing)",uiLabel:"Close Adap Table Tool Panel"},{name:"getCustomToolPanelButtons",kind:"function",description:"Retrieves all Custom Tool Panel Buttons defined in ToolPanelOptions",uiLabel:"Get Custom Tool Panel Buttons"},{name:"getCustomToolPanelByName",kind:"function",description:"Retrieves the CustomToolPanel with the given name (or undefined if no match is found)",uiLabel:"Get Custom Tool Panel By Name"},{name:"getCustomToolPanels",kind:"function",description:"Retrieves all Custom Tool Panels defined in ToolPanelOptions",uiLabel:"Get Custom Tool Panels"},{name:"getToolPanelState",kind:"function",description:"Retrieves Tool Panel section from Tool Panel State",uiLabel:"Get Tool Panel State"},{name:"openAdapTableToolPanel",kind:"function",description:"Opens the Adaptable ToolPanel Component",uiLabel:"Open Adap Table Tool Panel"},{name:"setAdaptableToolPanelVisibilityMode",kind:"function",description:"Sets the given Adaptable ToolPanel with the provided visibilityMode (expanded / collapsed)",uiLabel:"Set Adaptable Tool Panel Visibility Mode"},{name:"setCustomToolPanelVisibilityMode",kind:"function",description:"Sets the Custom ToolPanel with the given name with the provided visibilityMode (expanded / collapsed)",uiLabel:"Set Custom Tool Panel Visibility Mode"},{name:"showToolPanelPopup",kind:"function",description:"Opens the Tool Panel popup",uiLabel:"Show Tool Panel Popup"}]},ToolPanelButtonContext:{name:"ToolPanelButtonContext",kind:"Interface",description:"Context required by functions when using a ToolPanel Button",properties:[{name:"toolPanelState",kind:"REFERENCE",description:"Current ToolPanel State",uiLabel:"Tool Panel State",reference:"ToolPanelState"}]},ToolPanelOptions:{name:"ToolPanelOptions",kind:"Interface",description:"Options related to managing the AdapTable ToolPanel Component",properties:[{name:"adaptableToolPanelTitle",kind:"string",description:"Title for AdapTable ToolPanel Component - appears vertically at side",uiLabel:"Adaptable Tool Panel Title",isOptional:!0,gridInfo:"item",defaultValue:"&#39;AdapTable&#39;"},{name:"customToolPanelButtons",kind:"unknown",description:"ToolPanel Buttons provided by Users which perform custom behaviour",uiLabel:"Custom Tool Panel Buttons",isOptional:!0},{name:"customToolPanels",kind:"unknown",description:"ToolPanels provided by Users which contain custom content",uiLabel:"Custom Tool Panels",isOptional:!0},{name:"iconKey",kind:"string",description:"Key of icon to be used (beside the label) for Adaptable ToolPanel Component",uiLabel:"Icon Key",isOptional:!0,gridInfo:"item",defaultValue:"&#39;menu&#39;"},{name:"maxWidth",kind:"number",description:"The max width of AdapTable ToolPanel",uiLabel:"Max Width",isOptional:!0,defaultValue:"undefined"},{name:"minWidth",kind:"number",description:"The min width of AdapTable ToolPanel",uiLabel:"Min Width",isOptional:!0,defaultValue:"var(--ab-cmp-toolpanel__width)"},{name:"showAdaptableToolPanel",kind:"boolean",description:"Displays Adaptable ToolPanel Component (only if AG Grid Sidebar is provided)",uiLabel:"Show Adaptable Tool Panel",isOptional:!0,gridInfo:"item",defaultValue:"true"},{name:"showToolPanelsDropdown",kind:"boolean",description:"Display the Tool Panels dropdown",uiLabel:"Show Tool Panels Dropdown",isOptional:!0,gridInfo:"item",defaultValue:"true"},{name:"toolPanelOrder",kind:"unknown",description:"Order of displayed ToolPanels in Sidebar",uiLabel:"Tool Panel Order",isOptional:!0,defaultValue:"[&#39;filters&#39;, &#39;columns&#39;, &#39;adaptable&#39;]"},{name:"width",kind:"number",description:"The initial width of AdapTable ToolPanel",uiLabel:"Width",isOptional:!0,defaultValue:"var(--ab-cmp-toolpanel__width)"}]},ToolPanelState:{name:"ToolPanelState",kind:"Interface",description:"Predefined Configuration for the Adaptable ToolPanel",properties:[{name:"ModuleButtons",kind:"REFERENCE",description:"AdapTable Module Buttons visible in ToolPanel",uiLabel:"Module Buttons",isOptional:!0,defaultValue:"Empty Array",reference:"unknown"},{name:"ToolPanels",kind:"unknown",description:"ToolPanels visible",uiLabel:"Tool Panels",isOptional:!0,defaultValue:"ToolPanels for all available Modules (subject to Entitlement rules)"}]},UserInterfaceApi:{name:"UserInterfaceApi",kind:"Interface",description:"Functions relating to User Interface section of Adaptable State",properties:[{name:"addColumnMenuItem",kind:"function",description:"Adds menu item to Column Menu",uiLabel:"Add Column Menu Item"},{name:"addContextMenuItem",kind:"function",description:"Adds menu item to Context Menu",uiLabel:"Add Context Menu Item"},{name:"getAllActionColumn",kind:"function",description:"Retrieves any Action Columns in User Interface Options",uiLabel:"Get All Action Column"},{name:"getAllEditLookUpItems",kind:"function",description:"Retrieves `editLookUpItems` property from User Interface Options",uiLabel:"Get All Edit Look Up Items"},{name:"getAllPermittedValuesItems",kind:"function",description:"Retrieves `permittedValues` property from User Interface Options",uiLabel:"Get All Permitted Values Items"},{name:"getColorPalette",kind:"function",description:"Retrieves Color Palette currently being used",uiLabel:"Get Color Palette"},{name:"getCustomSortPermittedValuesForColumn",kind:"function",description:"Retrieves Permitted values for Custom sort.",uiLabel:"Get Custom Sort Permitted Values For Column"},{name:"getEditableCellStyle",kind:"function",description:"Returns Style set for Editable cells",uiLabel:"Get Editable Cell Style"},{name:"getEditLookUpItemForColumn",kind:"function",description:"Retrieves EditLookUpItems for a given Column",uiLabel:"Get Edit Look Up Item For Column"},{name:"getEditLookUpValuesForEditLookUpItem",kind:"function",description:"Retrieves actual Look Up Values from an EditLookUpItem",uiLabel:"Get Edit Look Up Values For Edit Look Up Item"},{name:"getFilterPermittedValuesForColumn",kind:"function",description:"Retrieves Permitted values for filtering by column values in Floating Filter and dropdown Filter.",uiLabel:"Get Filter Permitted Values For Column"},{name:"getPermittedValuesForColumn",kind:"function",description:"Retrieves Permitted Values for a given Column",uiLabel:"Get Permitted Values For Column"},{name:"getReadOnlyCellStyle",kind:"function",description:"Returns Style set for ReadOnly cells",uiLabel:"Get Read Only Cell Style"},{name:"getStyleClassNames",kind:"function",description:"Retrieves any Style Class Names from User Interface Options",uiLabel:"Get Style Class Names"}]},UserInterfaceOptions:{name:"UserInterfaceOptions",kind:"Interface",description:"Options for managing the User Interface of AdapTable",properties:[{name:"actionColumns",kind:"unknown",description:"Columns which contain an AdapTable Button - used for performing Actions",uiLabel:"Action Columns",isOptional:!0},{name:"applicationIcon",kind:"REFERENCE",description:"The application icon to appear in Dashboard and elsewhere (e.g. OpenFin notifications)",uiLabel:"Application Icon",isOptional:!0,defaultValue:"null",reference:"AdaptableIcon"},{name:"bulkUpdatePermittedValues",kind:"unknown",description:"Custom column values for editing via bulk-update. When not defined it defaults to permittedValues.",uiLabel:"Bulk Update Permitted Values",isOptional:!0},{name:"colorPalette",kind:"unknown",description:"Colours to display in Colour Picker (in place of AdapTable&#39;s default set)",uiLabel:"Color Palette",isOptional:!0},{name:"columnTypes",kind:"unknown",description:"Optional list of Column Types - used primarily for special columns",uiLabel:"Column Types",isOptional:!0},{name:"customSortPermittedValues",kind:"unknown",description:"Custom column values for defining custom sort. When not defined it defaults to permittedValues.",uiLabel:"Custom Sort Permitted Values",isOptional:!0},{name:"dateInputOptions",kind:"REFERENCE",description:"Options for managing and customizing date inputs in AdapTable",uiLabel:"Date Input Options",isOptional:!0,reference:"DateInputOptions"},{name:"editableCellStyle",kind:"REFERENCE",description:"Style to set for editable cells",uiLabel:"Editable Cell Style",isOptional:!0,reference:"AdaptableStyle"},{name:"editLookUpItems",kind:"unknown",description:"Dropdown values displayed when column is being edited. When not defined it defaults to permittedValues.",uiLabel:"Edit Look Up Items",isOptional:!0},{name:"filterPermittedValues",kind:"unknown",description:"Dropdown values for filter options inside floating and header filter. When not defined it defaults to permittedValues.",uiLabel:"Filter Permitted Values",isOptional:!0},{name:"gridInfoSections",kind:"REFERENCE",description:"Which sections to show in the Grid Info Screen",uiLabel:"Grid Info Sections",isOptional:!0,defaultValue:"[&#39;GridSummary&#39;, &#39;AdaptableOptions&#39;,&#39;ColumnInfo&#39;]",reference:"unknown"},{name:"permittedValues",kind:"unknown",description:"List of values which are permitted (e.g. to show in filter)",uiLabel:"Permitted Values",isOptional:!0},{name:"readOnlyCellStyle",kind:"REFERENCE",description:"Style to set for non-editable cells",uiLabel:"Read Only Cell Style",isOptional:!0,reference:"AdaptableStyle"},{name:"showDocumentationLinks",kind:"boolean",description:"Provide links to AdapTable documentation (in Module popups and Expression Editor)",uiLabel:"Show Documentation Links",isOptional:!0,gridInfo:"item",defaultValue:"true"},{name:"styleClassNames",kind:"unknown",description:"Optional list of CSS styles that can be used when creating Adaptable Styles in Adaptable (e.g. in Conditional Style, Format Column and other Modules)",uiLabel:"Style Class Names",isOptional:!0,gridInfo:"item"},{name:"useCustomMacLikeScrollbars",kind:"boolean",description:"Show Mac-like scrollbars; size is configurable via CSS variable `--ab-custom-scrollbar-size` (default: `10px`)",uiLabel:"Use Custom Mac Like Scrollbars",isOptional:!0,gridInfo:"item",defaultValue:"false"}]},UserMenuItem:{name:"UserMenuItem",kind:"Interface",description:"Menu Item which is added to Column Header or Context Menu, and can contain sub items",properties:[{name:"disabled",kind:"unknown",description:"Function to evaluate whether Menu Item is enabled",uiLabel:"Disabled",isOptional:!0},{name:"hidden",kind:"unknown",description:"Function to evaluate whether Menu Item is visible",uiLabel:"Hidden",isOptional:!0},{name:"icon",kind:"string",description:"Optional icon to display",uiLabel:"Icon",isOptional:!0},{name:"label",kind:"unknown",description:"Text that will appear in the Menu Item",uiLabel:"Label"},{name:"onClick",kind:"unknown",description:"Function to invoke when the Menu Item is clicked",uiLabel:"On Click",isOptional:!0},{name:"subMenuItems",kind:"unknown",description:"Array of Menu Items, enabling limitless levels of menus",uiLabel:"Sub Menu Items",isOptional:!0}]},ValidationResult:{name:"ValidationResult",kind:"Interface",description:"Used for Server Validation ie. after an edit has been made in Adaptable which should be checked on the Server",properties:[{name:"NewValue",kind:"unknown",description:"Cell Value to use for after Server Validation",uiLabel:"New Value",isOptional:!0},{name:"ValidationMessage",kind:"string",description:"Message to diplay with validation",uiLabel:"Validation Message",isOptional:!0}]},WeightedAverageColumn:{name:"WeightedAverageColumn",kind:"Interface",description:"Defines an Column which have Weighted Average aggregation",properties:[{name:"columnId",kind:"string",description:"Column which will contain the aggregation",uiLabel:"Column Id"},{name:"weightedColumnId",kind:"string",description:"Column used to perform the aggreation calculation",uiLabel:"Weighted Column Id"}]}};var nV=class{constructor(e){this.adaptable=e;this.gridInfoOptions=new Map;this.adaptable=e,this.gridInfoOptions=this.buildGridInfoOptions()}getGridInfoOptions(){return this.gridInfoOptions}buildGridInfoOptions(){let e=new Map,r=V0e,n=r.AdaptableOptions,o=this.adaptable.adaptableOptions,i=ar;if(!n)return e;let a=this.mapGridInfoContainerItems(n,o,i);return e.set("baseOptions",{containerLabel:"Base Options",items:a}),n.properties.filter(s=>s.gridInfo==="container").forEach(s=>{let u=s.reference,d=s.name,c=r[u],m=o[d],f=i[d];if(!c||!m||!f)return;let h=this.mapGridInfoContainerItems(c,m,f);e.set(s.name,{containerLabel:s.uiLabel,items:h})}),e}mapGridInfoContainerItems(e,r,n){var o;return(o=e.properties)==null?void 0:o.filter(i=>i.gridInfo==="item").map(i=>({name:i.name,value:r[i.name],defaultValue:n[i.name],description:i.description}))}destroy(){}};var CF=z3();Wt.ModuleRegistry.registerModules(Wt.AllCommunityModules);var G0e="/",iV=t=>{!t||(t.field&&!t.colId&&(t.colId=t.field),t.children?t.children.forEach(iV):t.colId||pt("A column is missing the colId - please check ",t,'Either pass a "field" property or a "colId" property.'))},H0e=Wt.RowNode.prototype,$ct=H0e.dispatchLocalEvent,oV=Wt.GridApi.prototype.setColumnDefs,W0e=(t,e,r)=>{t.forEach((n,o,i)=>{n.children?W0e(n.children,e,n):e(n,o,i,r)})},SF={},gl=class{constructor(){this.colDefPropertyCache=new Map;this.gridOptionsPropertyCache=new Map;this._on=(e,r)=>this.emitter?this.emitter.on(e,r):()=>{};this._onIncludeFired=(e,r)=>this.emitter?this.emitter.onIncludeFired(e,r):()=>{};this._emit=(e,r)=>{if(this.emitter)return this.emitter.emit(e,r)};this._emitSync=(e,r)=>{if(this.emitter)return this.emitter.emitSync(e,r)};this._adaptableReady=!1;this.isDestroyed=!1;this.agGridModules=[];this.isPluginLoaded=e=>{let r=this.adaptableOptions.plugins||[];for(let n=0,o=r.length;n<o;n++)if(r[n].pluginId===e)return!0;return!1};this.isAgGridReady=()=>{var r,n;let e=(n=(r=this.adaptableOptions.containerOptions)==null?void 0:r.agGridContainerWaitTimeout)!=null?n:6e4;return u3(()=>!!this.gridOptions.api,e)};this.debouncedSetColumnIntoStore=Ko(()=>{!this.gridOptions.api||this.updateColumnsIntoStore()},vb);this.debouncedSaveGridLayout=Ko(()=>{!this.gridOptions.api||this.updateLayoutFromGrid()},vb);this.debouncedSetSelectedCells=Ko(()=>{!this.gridOptions.api||this.setSelectedCells()},250);this.debouncedSetSelectedRows=Ko(()=>{!this.gridOptions.api||this.setSelectedRows()},vb);this.debouncedFilterGrid=Ko((e=()=>{})=>{!this.gridOptions.api||(this.applyGridFiltering(),e&&e())},vb);this.mapColumnDefs=(e,r,n)=>(n=n||{removeEmpty:!1},e=e||this.getGroupAndColumnDefs(),W0e(e,(o,i,a,s)=>{let u=r(o,i,a),d=s?s.children:a;d[i]=u,i===a.length-1&&n.removeEmpty&&s&&(s.children=d.filter(c=>!!c))}),n.removeEmpty&&(e=e.filter(o=>!!o)),e);this.getGroupAndColumnDefs=()=>[].concat(this.currentColumnDefs||this.gridOptions.columnDefs);this.getColumnDefsWithCorrectVisibility=()=>{let e=this.api.layoutApi.getCurrentVisibleColumnIdsMap();return this.gridOptions.columnApi.getAllColumns().map(r=>{let n=r.getColDef(),o=r.getColId();return n.colId=o,n.hide=!e[o],n})};this.getPreviousColDefInfo=e=>e.__ab||{}}static init(e){return gl.initInternal(e)}static async initInternal(e,r){let n={renderGrid:void 0,runtimeConfig:null},o=null;if(Array.isArray(e.plugins))for(let a of e.plugins)o=o&&o.then?o.then(()=>a.beforeInit(e)):a.beforeInit(e);let i=a=>a.init(e,r,!0).then(s=>(Array.isArray(e.plugins)&&e.plugins.forEach(u=>{u.afterInit(a)}),s));if(o&&o.then)return o.then(()=>{let a=new gl;return i(a)});{let a=new gl;return i(a)}}static collectInstance(e){e._id=e.adaptableOptions.adaptableId||yt(),SF[e._id]=e}static forEachAdaptable(e){Object.keys(SF).forEach(r=>{e(SF[r])})}static dismissInstance(e){delete SF[e._id]}async init(e,r,n){var o,i,a,s,u,d,c;return n||Rl(`
300
300
  !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
301
301
  !!!!!!! You should not use the "Adaptable" constructor directly, as it was deprecated in v6 and removed in v7!
302
302
  !!!!!!!