@lax-wp/design-system 0.14.57 → 0.15.0
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/dist/components/data-display/infinite-table/index.cjs.js +1 -1
- package/dist/components/data-display/infinite-table/index.cjs.js.map +1 -1
- package/dist/components/data-display/infinite-table/index.es.js +32 -31
- package/dist/components/data-display/infinite-table/index.es.js.map +1 -1
- package/dist/components/data-display/infinite-table/types.d.ts +1 -0
- package/package.json +1 -1
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const s=require("react/jsx-runtime"),Ts=require("../../../hooks/useCheckbox.cjs.js"),ys=require("../../../providers/design-system-provider/hooks.cjs.js"),Be=require("../../../utils/table.cjs.js"),At=require("../../button/Button.cjs.js"),Rs=require("../../floating-bar/FloatingBar.cjs.js"),xe=require("../typography/Typography.cjs.js"),E=require("@dnd-kit/core"),l=require("react"),js=require("react-virtualized-auto-sizer"),Os=require("react-dom"),_t=require("react-table"),ks=require("./body/index.cjs.js"),Mt=require("./validateCell.cjs.js"),Es=require("./body/rows/row.cjs.js"),Ds=require("./context.cjs.js"),Ns=require("./CellContextMenuPortal.cjs.js"),As=require("./CurrencyDropdownPortal.cjs.js"),_s=require("./head/index.cjs.js"),Ms=require("./PendingEditsFloatingBar.cjs.js"),m=require("./constants.cjs.js"),It=require("./useRowHeight.cjs.js"),Is=require("../empty-state/NoDataFoundWidgets.cjs.js"),Ls=require("../empty-state/NoDataFound.cjs.js"),gs=require("../../icon/icons.generated.cjs.js"),Cs=js.AutoSizer,Lt="Create Column",Vs=(_,T)=>`button-admin-${_.toLowerCase().trim().replace(/\s+/g,"-").replace(/[^a-z0-9-_]/g,"")||T}`,Bs=l.memo(({tableKey:_,searchConfig:T={search:"",handleSearch:()=>null,allowAStarSearch:!1},filterConfig:a={columnFilters:[],onFilter:()=>null,onRemoveFilter:()=>null,onClearFilter:()=>null,onResetFilter:()=>Promise.resolve({}),asyncRowOptionsFilter:()=>Promise.resolve({})},sortConfig:f={onSort:()=>null,columnSort:{field:"",order:""},onRemoveSort:()=>null},headerConfig:i={showExportButton:null,showFilters:!0,showSorts:!0,showSearch:!0,showTableView:!0,showTableViewAsModal:!1,content:null,postContent:null,preContent:null,isLoading:!1,showDivider:!1},hoverConfig:gt=null,columns:R,modelName:J,enableMasterDataEnumSuggestions:G=!1,agreementId:X,enumSuggestionsExtraParams:Y,enumSuggestionsData:Z,data:d=[],onRowClick:Ct,showHeader:ve,showSubHeader:Vt=!0,tableActions:Pe,rowOptions:M,hideRowOptionWidth:qe,checkboxUtilities:I,isLoading:Q=!1,onScroll:Bt,onScrolling:Pt,isColumnConfigurable:K,onAddColumnClick:ee,emptyMessage:We,noDataWidget:He,buttons:$e,onEditColumnClick:ze,onDeleteColumnClick:Ue,onRowTooltipClick:qt,tooltiptext:Wt,cascadingTableConfig:Ht,originalsOnly:$t,disableOptionsForRowIndex:zt,tableHeightClass:te="h-[calc(100vh-220px)]",getFullRowDataOnClick:Ut,selectedRowId:Jt=null,onRowEdit:D,onBulkRowEdit:L,inlineEditColumns:Gt,isResizable:Xt=!0,paginationConfig:le,dndSortableUtils:se,multipleContexts:Je,withSortable:Se,withDraggable:Yt,enableRootDrag:Zt,pageSize:Qt=m.DEFAULT_PAGE_SIZE,onCascadingRowExpand:Kt,totalItems:Ge,showRecordCount:we=!1,getInnerRowData:el,maxLevel:tl,expandedRows:ll={},setExpandedRows:sl,showNewItem:rl,rawData:Xe,dragConfig:nl,isOverlayLoading:al,style:ol={},floatingBarConfig:be,rowWrapper:cl,rowLinkConfig:Ye,isCellClickDisabled:il,setHeaderOnParent:pe,optimizeTable:ul=!1,multiSelectConfig:dl,cellContextMenuConfig:Ze,headerContextOptions:hl,showHeaderContextOptions:ml,setShowHeaderContextOptions:fl,showDataTypeIcon:xl=!1,rowAdditionalActions:re,rowAdditionalActionsWidth:Fe,setVisibleHeaders:Te,cellEditing:vl=null,cellEditingValue:Sl=null,allowInlineEdit:wl=!1,onFieldOperationFlow:bl,fieldOperationLoading:g=null,onTableActionsReady:ye,onPendingEditsChange:Qe,onCancelPendingEdits:C})=>{const c=ys.useTableConfig(),pl=It.getRowSlotHeight(It.useRowHeight()),Fl=!!T?.search,Ke=a?.columnFilters?.length>0,q=Fl||Ke,Tl=!!I,y=c?.getTableView?.(_)??null,[p,W]=l.useState(y||null),et=Be.isModifiedGlobalView(p,c?.getUserId?.()),[Re,je]=l.useState(!1),[Oe,tt]=l.useState(!1),[yl,lt]=l.useState(null),[v,ke]=l.useState(R),st=(d.length===0||!v.length)&&!Q,[rt,ne]=l.useState(null),[Rl,jl]=l.useState(!1),[Ol,kl]=l.useState(null),[El,Dl]=l.useState(!1),[Nl,ae]=l.useState(null),[Al,oe]=l.useState(null),[_l,nt]=l.useState({}),[H,Ee]=l.useState(null),[Ml,at]=l.useState(!1),[j,Il]=l.useState(0),De=l.useRef(null),Ne=l.useRef(null),[ot,Ll]=l.useState({width:0,height:0}),[gl,V]=l.useState(null),[O,ct]=l.useState(null),[Cl,it]=l.useState(null),[ut,dt]=l.useState(null),[Vl,ht]=l.useState(null),[Ae,$]=l.useState({}),_e=l.useRef(!1),ce=l.useRef(!1),Me=l.useRef(p);Me.current=p;const mt=l.useRef(c);mt.current=c;const ft=l.useRef(R);ft.current=R;const ie=l.useRef(a);ie.current=a;const xt=l.useRef(null),vt=l.useRef(()=>({})),St=l.useRef(()=>({})),[h,k]=l.useState({}),Ie=l.useCallback((e,t,r)=>{k(n=>{const o=n[e]?.[t];let u=r.validationError;if(u===void 0){const w=v.find(x=>x.key===t);if(w){const x=Mt.validateCellValue(r.value,w);u=x.isValid?null:x.error||"Invalid"}else u=o?.validationError??null}return{...n,[e]:{...n[e]||{},[t]:{...r,validationError:u??null}}}})},[v]),wt=l.useCallback(()=>Object.values(h).some(e=>Object.keys(e).length>0),[h]);l.useEffect(()=>{ye&&ye({addPendingEdit:Ie,hasPendingEdits:wt})},[ye,Ie,wt]);const Bl=l.useCallback((e,t)=>{k(r=>{const n={...r};if(n[e]){const{[t]:o,...u}=n[e];Object.keys(u).length===0?delete n[e]:n[e]=u}return n})},[]),Pl=l.useCallback((e,t)=>h[e]?.[t],[h]),ql=l.useCallback((e,t)=>!!h[e]?.[t],[h]),bt=l.useCallback(()=>{g||(C&&Object.keys(h).length>0&&C(h),k({}),$({}),V(null))},[g,C,h]),B=l.useCallback((e,t,r)=>{setTimeout(()=>{c?.dispatchEvent?.("SCROLL_TO_TABLE_ROW",{rowIndex:r});const n=v.findIndex(o=>o.key===t);setTimeout(()=>{const o=document.querySelector(`[${m.DATA_ROW_ID_ATTR}="${e}"] [${m.DATA_COLUMN_KEY_ATTR}="${t}"]`);if(o)o.scrollIntoView({behavior:"smooth",block:"center",inline:"center"});else if(n>0){const u=document.querySelector(m.OS_VIEWPORT_SELECTOR);if(u){let w=0;for(let x=0;x<n;x++){const F=v[x];F?.sticky||(w+=F?.width||m.SCROLL_TO_CELL_COLUMN_WIDTH_FALLBACK)}w=Math.max(0,w-m.SCROLL_TO_CELL_LEFT_OFFSET),u.scrollTo({left:w,behavior:"smooth"})}}V({rowId:e,columnKey:t})},350)},100)},[v,c]),z=l.useCallback(e=>{let t=!1,r=null;const n={},o=new Set;return Object.entries(e).forEach(([u,w])=>{n[u]={},Object.entries(w).forEach(([x,F])=>{const A=v.find(b=>b.key===x),S=Mt.validateCellValue(F.value,A);S.isValid?n[u][x]={...F,validationError:null}:(t=!0,S.error&&o.add(S.error),r||(r={rowId:u,columnKey:x}),n[u][x]={...F,validationError:S.error})})}),{hasErrors:t,updatedEdits:n,firstError:r,errorTypes:o}},[v]),ue=l.useCallback(e=>{const t=e.has("Field required"),r=e.size>(t?1:0);return t&&r?"Missing required field(s) and invalid format detected. Please review highlighted field(s).":t?"Missing required field(s). Please review highlighted field(s).":"Invalid field value(s). Please review highlighted field(s)."},[]),pt=l.useCallback(()=>{const{hasErrors:e,updatedEdits:t,firstError:r,errorTypes:n}=z(h);if(e){if(k(t),c?.showNotification?.("error",ue(n)),r){const u=d.findIndex(w=>w.id===r.rowId);B(r.rowId,r.columnKey,u)}return}const o=[];Object.entries(h).forEach(([u,w])=>{const x=d.find(F=>F.id===u);if(x){const F={...x},A={};Object.entries(w).forEach(([S,b])=>{F[S]=b.value,A[S]={value:b.value,meta:b.meta}}),o.push({...F,__editedFields:A})}}),o.length>0&&(L?L(o):D&&D(null,null,null,null,null,{isBulk:!0,rows:o})),k({}),$({}),V(null)},[h,d,D,L,z,ue,B,c]),Wl=l.useCallback(e=>{if(g)return;const t=h[e];t&&C&&C({[e]:t}),k(r=>{const n={...r};return delete n[e],n}),$(r=>{const n={...r};return Object.keys(n).forEach(o=>{o.startsWith(`${e}-`)&&delete n[o]}),n}),V(null)},[g,C,h]),Hl=l.useCallback(e=>{const t=h[e];if(!t||Object.keys(t).length===0)return;const{hasErrors:r,updatedEdits:n,firstError:o,errorTypes:u}=z({[e]:t});if(r){if(k(S=>({...S,[e]:n[e]})),c?.showNotification?.("error",ue(u)),o){const S=d.findIndex(b=>b.id===o.rowId);B(o.rowId,o.columnKey,S)}return}const w=d.find(S=>S.id===e);if(!w)return;const x={...w},F={};Object.entries(t).forEach(([S,b])=>{x[S]=b.value,F[S]={value:b.value,meta:b.meta}});const A={...x,__editedFields:F};L?L([A]):D&&D(null,null,null,null,null,{isBulk:!0,rows:[A]}),k(S=>{const b={...S};return delete b[e],b}),$(S=>{const b={...S};return Object.keys(b).forEach(Nt=>{Nt.startsWith(`${e}-`)&&delete b[Nt]}),b}),V(null)},[h,d,D,L,z,ue,B,c]),P=l.useMemo(()=>Object.values(h).reduce((e,t)=>e+Object.keys(t).length,0),[h]);l.useEffect(()=>{Qe?.(P>0,P)},[P,Qe]);const $l=l.useMemo(()=>{const e=[];return Object.entries(h).forEach(([t,r])=>{const n=d.findIndex(o=>o.id===t);Object.entries(r).forEach(([o,u])=>{const w=v.find(x=>x.key===o);e.push({rowId:t,columnKey:o,fieldName:w?.Header||w?.display_name||o,value:u.value,originalValue:u.originalValue,meta:u.meta,originalMeta:u.originalMeta,rowIndex:n})})}),e},[h,v,d]),zl=l.useMemo(()=>{const e=new Map;return Object.entries(h).forEach(([t,r])=>{const n=d.findIndex(o=>o.id===t);e.set(t,{rowId:t,rowIndex:n,editCount:Object.keys(r).length})}),Array.from(e.values()).sort((t,r)=>t.rowIndex-r.rowIndex)},[h,d]),Ul=l.useCallback(e=>ct(e),[]),de=l.useCallback(()=>ct(null),[]),Jl=l.useCallback((e,t)=>{it({value:e,reference:t}),O?.onSelected&&O.onSelected(e,t),de()},[O,de]),Gl=l.useCallback(()=>it(null),[]),Xl=l.useCallback(e=>dt(e),[]),Ft=l.useCallback(()=>dt(null),[]),Yl=l.useCallback(e=>ht(e),[]),Tt=l.useCallback(()=>ht(null),[]),Zl=l.useCallback((e,t)=>{$(r=>({...r,[e]:t}))},[]),Ql=l.useCallback(e=>Ae[e],[Ae]),Kl=l.useMemo(()=>{const e=te.match(/h-\[(\d+px)\]/);if(e)return e[1];const t=te.match(/h-\[(calc\(.+\))\]/);if(t)return t[1].replace(/([+-])/g," $1 ").replace(/\s+/g," ")},[te]),es={isEmpty:st,isFilters:q,isColumnConfigurable:K,handleOnClick:ee,emptyMessage:We,buttons:$e,noDataWidget:He},ts=c?.t?.(Lt)??Lt,he=q?"No Results Found":We||"No Data Found",ls=typeof he=="string"?c?.t?.(he)??he:he,yt={__isLoading:!0},ss=new Array(1).fill(yt),rs=new Array(Qt).fill(yt),U=l.useMemo(()=>v.filter(e=>!!e?.visible),[v]),ns=_t.useTable({columns:ul?U:v,data:[...d,...Q?d?.length?ss:rs:[]],defaultColumn:{minWidth:m.DEFAULT_COLUMN_MIN_WIDTH,width:m.DEFAULT_COLUMN_WIDTH,maxWidth:m.DEFAULT_COLUMN_MAX_WIDTH}},_t.useResizeColumns),{getTableProps:Rt,getTableBodyProps:jt,headerGroups:me,prepareRow:Ot,rows:N}=ns;xt.current=me;const as=JSON.stringify(me[0]?.headers?.map(e=>e?.Header));l.useEffect(()=>{if(Te){const e=xt.current;Te?.(e?.[0]?.headers?.map(t=>t?.Header)??[])}},[as,Te]);const{checkboxConfig:Le}=Ts.useCheckbox({rows:N,checkedIds:I?.checkedIds,isCheckAllDisabled:I?.isCheckAllDisabled,selectionDisabledRowIds:I?.selectionDisabledRowIds,rawData:Xe,onAllChecked:Dl,setCheckedIds:I?.setCheckedIds,checkboxMetadata:I?.checkboxMetadata}),os=E.useSensors(E.useSensor(E.MouseSensor,{activationConstraint:{distance:m.DND_ACTIVATION_DISTANCE}}),E.useSensor(E.TouchSensor,{activationConstraint:{distance:m.DND_ACTIVATION_DISTANCE}})),cs={easing:m.DROP_ANIMATION_EASING,duration:m.DROP_ANIMATION_DURATION};function is(){return!Je?.length||!Se?N:Je.reduce((e,t)=>(e[t]=N.filter(r=>r.original?.type===t),e),{})}St.current=is;const us=e=>{const{active:t}=e;Ee(N.find(r=>r.original?.id===t?.id)??null)},ds=e=>{const{active:t,over:r}=e;r&&(se?.checkDndDragEnd&&se.checkDndDragEnd(t,r,_l,n=>{nt(n),at(!0),se.onDragSuccess?.({draggedId:t.id,droppedId:r.id,draggedType:t.data.current?.type,droppedType:r.data.current?.type,updatedList:n,cb:()=>at(!1)})}),Ee(null))},hs=()=>Ee(null),ms=e=>{!f?.onSort&&!a?.onFilter||ne(rt===e?null:e)},fs=e=>{kl(e),jl(!Rl),ne(null)},ge=l.useCallback(()=>{f?.onRemoveSort?f.onRemoveSort():f?.onSort&&f.onSort("","")},[f]),fe=l.useCallback((e=null)=>{lt(e),je(t=>e?!0:!t)},[]),Ce=l.useCallback(()=>tt(e=>!e),[]),xs=()=>{const e=me[0]?.headers?.filter(t=>t?.visible!==!1);for(let t=0;t<e.length;t++)if(e[t].sticky)return t-1;return e.length-1},vs=l.useCallback(e=>{let t=0;for(let r=e+1;r<U.length;r++)U[r].visible!==!1&&(t+=U[r].width??0);return re&&(t+=Fe||m.ROW_ADDITIONAL_ACTIONS_DEFAULT_WIDTH),M&&(t+=qe?0:m.ROW_OPTIONS_COLUMN_WIDTH),t},[U,Fe,qe,re,M]),kt=()=>{const e=c?.getUserId?.();return{...p||{},name:p?.name||"Untitled View",created_by:p?.created_by||e,filters:p?.filters||a?.columnFilters,id:p?.id||"untitled-view",table_key:p?.table_key||_,columns:p?.columns||R?.map((t,r)=>({name:t.Header,width:t.width,visible:t.visible,sticky:t.sticky,order:r+1,display_name:t.Header,sequence:r+1,Header:t.Header}))}};vt.current=kt;const Ss=(e,t)=>{const r=kt();W({...r,columns:r?.columns?.map(n=>n.name===e?{...n,width:t}:n),unsaved:!0})};l.useEffect(()=>{a?.columnFilters?.length>0&&je(!0);const e=Me.current;if(JSON.stringify(e?.filters||[])!==JSON.stringify(a?.columnFilters||[])){const t=(e?.filters?.length??0)>0,r=a?.columnFilters?.length>0;if(!(t&&!r&&!ce.current)){const o=vt.current();W({...o,filters:JSON.parse(JSON.stringify(a?.columnFilters||[])),unsaved:!0})}ce.current=!1}},[a?.columnFilters]);const ws=l.useCallback(e=>{ce.current=!0,a?.onRemoveFilter?.(e)},[a?.onRemoveFilter]),bs=l.useCallback(()=>{ce.current=!0,a?.onClearFilter?.()},[a?.onClearFilter]);l.useEffect(()=>{f?.columnSort?.field?(tt(!0),f.columnSort.order==="asc"?(ae(f.columnSort.field),oe(null)):f.columnSort.order==="desc"&&(oe(f.columnSort.field),ae(null))):(ae(null),oe(null))},[f?.columnSort?.field,f?.columnSort?.order]),l.useEffect(()=>{ke(Be.mergeViewColumnsWithTableColumns(Me.current?.columns||[],R))},[R]),l.useEffect(()=>{p?.unsaved&&!et&&mt.current?.persistTableView?.(p)},[p]),l.useEffect(()=>{nt(St.current())},[N.length]),l.useEffect(()=>{et||(W(y||null),y?.columns&&ke(Be.mergeViewColumnsWithTableColumns(y?.columns||[],ft.current)),y?.filters&&y.filters.length>0&&!_e.current?(requestAnimationFrame(()=>{ie.current?.onFilter?.(y.filters)}),_e.current=!0):y?.filters&&_e.current&&JSON.stringify(y.filters)!==JSON.stringify(ie.current?.columnFilters)&&ie.current?.onFilter?.(y.filters))},[y]),l.useEffect(()=>{if(De.current){const e=new ResizeObserver(t=>Il(t[0].contentRect.width));return e.observe(De.current),()=>e.disconnect()}},[]),l.useEffect(()=>{if(!Ne.current)return;const e=new ResizeObserver(t=>{const{width:r,height:n}=t[0].contentRect;Ll({width:r,height:n})});return e.observe(Ne.current),()=>e.disconnect()},[]);const Et=s.jsx(_s.Head,{isResizable:Xt,headerGroups:me,isCheckbox:Tl,checkboxConfig:Le,isAllChecked:El,showHeaderOptions:rt??"",setShowHeaderOptions:ne,isShowSortArrowAsc:Nl,isShowSortArrowDesc:Al,onSort:f?.onSort,onFilter:a?.onFilter,toggleHeaderOption:ms,setIsShowSortArrowAsc:ae,setIsShowSortArrowDesc:oe,toggleDataFilterModal:fe,rowOptions:Array.isArray(M)?M:[],isColumnConfigurable:K??!1,onAddColumnClick:ee,onEditColumnClick:ze,onDeleteColumnClick:Ue,tableActions:Pe||null,isLoading:Q,rowAdditionalActions:re??null,showPendingEditsColumn:P>0}),Dt=s.jsxs(s.Fragment,{children:[Ml||al?s.jsx("div",{className:"absolute left-0 top-0 w-full h-full z-40 flex items-center justify-center bg-neutral-100 dark:bg-black-700"}):null,s.jsx("div",{...Rt(),className:"w-full text-sm text-left text-neutral-500 dark:text-neutral-200 h-full bg-white dark:bg-black-800",children:st?s.jsxs("div",{className:"z-10",children:[Et,s.jsx("div",{className:"absolute w-full",children:c?.renderEmpty?c.renderEmpty(es):s.jsxs("div",{className:"flex flex-col items-center justify-center w-full h-[12rem] text-neutral-900 dark:text-neutral-200 mt-8",children:[He&&!q?s.jsx(Is.NoDataFoundWidgets,{widgetType:"TABLE"}):s.jsx(Ls.NoDataFound,{text:ls}),K&&!q?s.jsx("div",{className:"my-4",children:s.jsxs(At,{id:"btn-table-shell-create-column",status:"primary",appearance:"ghost",onClick:ee,children:[s.jsx(gs.Add2Icon,{className:"text-white dark:text-white"})," ",ts]})}):null,!q&&$e?.map((e,t)=>s.jsx(At,{status:"secondary",id:Vs(e.label,t),onClick:e.onClick,children:c?.t?.(e.label)??e.label},`${e.label}-${t}`))]})})]}):s.jsx(Cs,{style:{width:"100%",height:"100%"},renderProp:({width:e,height:t})=>{const r=e>0?e:ot.width,n=t>0?t:ot.height;return r>0&&n>0?s.jsx(ks.Body,{getTableBodyProps:jt,rows:N,prepareRow:Ot,isLoading:Q,onScroll:Bt,onScrolling:Pt,columns:R,width:r,height:n,withSortable:Se,allowAstarSearch:T?.allowAStarSearch||!1}):null}})})]}),ps=l.forwardRef((e,t)=>s.jsxs("div",{className:"h-full w-full",...e,ref:t,children:[Et,s.jsx("div",{className:"relative w-full h-full",children:e?.children})]})),Fs=l.forwardRef((e,t)=>s.jsx("div",{className:"h-full w-full",...e,ref:t,children:s.jsx("div",{className:"relative w-full h-full",children:e?.children})})),Ve=l.useMemo(()=>c?.renderTableHeader?c.renderTableHeader({tableKey:_,search:T?.search,handleSearch:T?.handleSearch,toggleShowFilters:fe,toggleShowSorts:Ce,filterCounts:a?.columnFilters?.length,columns:R,columnFilters:a?.columnFilters,setSelectedTableView:W,selectedTableView:p,enableTableView:i?.showTableView,modelName:J,enableMasterDataEnumSuggestions:G,onRemoveFilter:a?.onRemoveFilter,onClearFilter:a?.onClearFilter,onFilter:a?.onFilter,data:Z??d,tableHeaders:v,showTableViewAsModal:i?.showTableViewAsModal,additionalOptions:i?.additionalOptions,inlineActions:i?.inlineActions,showFilters:i?.showFilters,showSorts:i?.showSorts,showSearch:i?.showSearch,isLoading:!!i?.isLoading,setTableHeaders:ke,allowAStarSearch:!!T?.allowAStarSearch,withContent:!!i?.content,setShowFilters:je,sort:f?.columnSort,onSort:f?.onSort,onRemoveSort:ge,showExportButton:i?.showExportButton,onExportClick:i?.onExportClick,agreementId:X,enumSuggestionsExtraParams:Y}):null,[_,T?.search,T?.handleSearch,fe,Ce,a?.columnFilters,R,W,p,i,J,a?.onRemoveFilter,a?.onClearFilter,a?.onFilter,d,Z,v,f?.columnSort,f?.onSort,ge,c,T?.allowAStarSearch,G,X,Y]);return l.useEffect(()=>{pe&&pe(Ve)},[Ve,pe]),s.jsxs(Ds.TableContext.Provider,{value:{tableWrapper:ps,tableBodyWrapper:Fs,lastNonStickyColumnIndex:xs,search:T?.search,columnFilters:a?.columnFilters,onRowClick:Ct,onSort:f?.onSort,onFilter:a?.onFilter,toggleShowFilters:fe,toggleShowSorts:Ce,onRemoveFilter:a?.onRemoveFilter,onClearFilter:a?.onClearFilter,rowOptions:M,checkboxConfig:Le,onResetFilter:a?.onResetFilter,isColumnConfigurable:K,onAddColumnClick:ee,onEditColumnClick:ze,onDeleteColumnClick:Ue,onRowTooltipClick:qt,tooltiptext:Wt,cascadingTableConfig:Ht,activeInlineEdit:gl,setActiveInlineEdit:V,originalsOnly:$t,disableOptionsForRowIndex:zt,getFullRowDataOnClick:Ut,selectedRowId:Jt,getSumOfNextVisibleColumnWidth:vs,onRowEdit:D,inlineEditColumns:Gt,tableActions:Pe,dndSortableUtils:se,withSortable:Se,withDraggable:Yt,onCascadingRowExpand:Kt,getInnerRowData:el,tableHeaders:v,maxLevel:tl,expandedRows:ll,setExpandedRows:sl,showNewItem:rl,rawData:Xe,dragConfig:nl,rowWrapper:cl,rowLinkConfig:Ye,isCellClickDisabled:il,asyncRowOptionsFilter:a?.asyncRowOptionsFilter,handleUpdateColumnWidth:Ss,multiSelectConfig:dl,cellContextMenuConfig:Ze,openCellContextMenu:Yl,closeCellContextMenu:Tt,headerContextOptions:hl,showHeaderContextOptions:ml,setShowHeaderContextOptions:fl,headerDivWidth:j,showDataTypeIcon:xl,rowAdditionalActions:re,hoverConfig:gt,rowAdditionalActionsWidth:Fe,cellEditing:vl,cellEditingValue:Sl,openMasterDataModal:Ul,closeMasterDataModal:de,selectedMasterData:Cl,clearSelectedMasterData:Gl,allowInlineEdit:wl,openCurrencyDropdown:Xl,closeCurrencyDropdown:Ft,currencyDropdownConfig:ut,selectedCurrenciesMap:Ae,setCurrencyForCell:Zl,getCurrencyForCell:Ql,pendingEdits:h,addPendingEdit:Ie,removePendingEdit:Bl,getPendingEdit:Pl,hasPendingEdit:ql,clearAllPendingEdits:bt,saveAllPendingEdits:pt,clearRowPendingEdits:Wl,saveRowPendingEdits:Hl,pendingEditsCount:P,scrollToCell:B,onFieldOperationFlow:bl,fieldOperationLoading:g,validateAllPendingEdits:z},children:[ve?s.jsxs("div",{ref:De,className:`mb-2 flex w-full min-w-0 gap-2 justify-end dark:bg-black-800 ${j<m.TOOLBAR_FIRST_BREAKPOINT?"flex-col items-stretch":"flex-row flex-wrap items-center"}`,children:[s.jsxs("div",{className:`flex items-center gap-x-2 gap-y-1 ${j<m.TOOLBAR_FIRST_BREAKPOINT?"w-full flex-wrap":""} ${i?.content?"min-w-0 flex-1":"shrink-0"}`,children:[i?.content?s.jsx("div",{className:`min-w-0 ${j<m.TOOLBAR_FIRST_BREAKPOINT?"w-full":"flex-1"}`,children:i.content}):null,we?s.jsxs("div",{className:"flex items-center gap-1.5 shrink-0",children:[s.jsxs("svg",{xmlns:"http://www.w3.org/2000/svg",width:"16",height:"16",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",className:"text-neutral-500 dark:text-neutral-400 flex-shrink-0","aria-hidden":!0,children:[s.jsx("ellipse",{cx:"12",cy:"5",rx:"9",ry:"3"}),s.jsx("path",{d:"M3 5v4c0 1.66 4.03 3 9 3s9-1.34 9-3V5"}),s.jsx("path",{d:"M3 9v4c0 1.66 4.03 3 9 3s9-1.34 9-3V9"}),s.jsx("path",{d:"M3 13v4c0 1.66 4.03 3 9 3s9-1.34 9-3v-4"})]}),s.jsx(xe.Typography,{size:"small",variant:"semibold",appearance:"title",children:(Ge??d.length).toLocaleString()}),s.jsx(xe.Typography,{size:"small",variant:"regular",appearance:"subtitle",children:"total records"})]}):i?.preContent?s.jsx("div",{className:"flex min-w-0 shrink-0 justify-start items-center",children:i.preContent}):null]}),s.jsxs("div",{className:`flex min-w-0 items-center justify-end ${j<m.TOOLBAR_FIRST_BREAKPOINT?"w-full":i?.content?"shrink-0":"flex-1"} ${j<m.TOOLBAR_SECOND_BREAKPOINT?"flex-col":"flex-row flex-wrap"} ${i?.postContent?"gap-2":""}`,children:[we&&i?.preContent?s.jsx("div",{className:"flex w-full justify-start items-center",children:i.preContent}):null,s.jsx("div",{className:`flex justify-end items-center min-w-0 ${j<m.TOOLBAR_SECOND_BREAKPOINT||j<m.TOOLBAR_FIRST_BREAKPOINT?"w-full":""}`,children:Ve}),i?.postContent?s.jsx("div",{className:`flex justify-end items-center ${j<m.TOOLBAR_SECOND_BREAKPOINT?"w-full":""}`,children:i.postContent}):null]})]}):null,i?.showDivider?s.jsx("div",{className:"border-b pb-2 w-full dark:bg-black-800"}):null,Vt&&(Re||Oe)?s.jsx("div",{className:"flex justify-between items-center pb-4 dark:bg-black-800",children:s.jsxs("div",{className:"flex gap-2 items-center",children:[Oe&&c?.renderSortItem?c.renderSortItem({sort:f?.columnSort,onRemoveSort:ge,onSort:f?.onSort,tableHeaders:v,data:d}):null,Re&&Oe&&f?.columnSort?.field!==""?s.jsx("div",{className:"h-8 w-[1px] flex-shrink-0 bg-neutral-200"}):null,Re?s.jsxs("div",{className:"flex gap-2 items-center",children:[(Ke||a?.onResetFilter)&&c?.renderActiveFilters&&c.renderActiveFilters({filters:a?.columnFilters,onRemoveFilter:ws,onClearFilter:bs,onResetFilter:a?.onResetFilter,onFilter:a?.onFilter,tableHeaders:v,columnFilters:a?.columnFilters,modelName:J,enableMasterDataEnumSuggestions:G,noSpacing:!0,notionStyle:a?.notionStyle,context:a?.context,data:Z??d,agreementId:X,enumSuggestionsExtraParams:Y}),c?.renderFilterButtons&&c.renderFilterButtons({onClearFilter:a?.onClearFilter,onClose:fs,modelName:J,enableMasterDataEnumSuggestions:G,defaultFilterColumn:yl,resetDefaultFilterColumn:()=>lt(null),column:Ol,onFilter:a?.onFilter,tableHeaders:v,columnFilters:a?.columnFilters,data:Z??d,notionStyle:a?.notionStyle,context:a?.context,agreementId:X,enumSuggestionsExtraParams:Y})]}):null]})}):null,be&&Object.keys(be).length?s.jsx(Rs.FloatingBar,{...be}):null,!ve&&we?s.jsxs("div",{className:"flex items-center gap-1.5 mb-2",children:[s.jsxs("svg",{xmlns:"http://www.w3.org/2000/svg",width:"16",height:"16",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",className:"text-neutral-500 dark:text-neutral-400 flex-shrink-0","aria-hidden":!0,children:[s.jsx("ellipse",{cx:"12",cy:"5",rx:"9",ry:"3"}),s.jsx("path",{d:"M3 5v4c0 1.66 4.03 3 9 3s9-1.34 9-3V5"}),s.jsx("path",{d:"M3 9v4c0 1.66 4.03 3 9 3s9-1.34 9-3V9"}),s.jsx("path",{d:"M3 13v4c0 1.66 4.03 3 9 3s9-1.34 9-3v-4"})]}),s.jsx(xe.Typography,{size:"small",variant:"semibold",appearance:"title",children:(Ge??d.length).toLocaleString()}),s.jsx(xe.Typography,{size:"small",variant:"regular",appearance:"subtitle",children:"total records"})]}):!ve&&i?.preContent?s.jsx("div",{className:"flex items-center mb-2",children:i.preContent}):null,s.jsx("div",{ref:Ne,className:`w-full ${le?"h-auto":te} rounded-lg relative border overflow-x-hidden`,style:{...le?{height:d?.length>0?`${(d?.length+1)*pl+4}px`:"350px"}:{height:Kl},...ol},children:Zt?Dt:s.jsxs(E.DndContext,{sensors:os,onDragEnd:ds,onDragStart:us,onDragCancel:hs,collisionDetection:E.closestCorners,children:[Dt,H?Os.createPortal(s.jsx(E.DragOverlay,{adjustScale:!0,dropAnimation:cs,children:s.jsx("table",{...Rt(),className:"w-full text-sm text-left text-neutral-500 dark:text-neutral-200 bg-white dark:bg-black-700 table-auto border-collapse",children:s.jsxs("tbody",{...jt(),className:"bg-transparent divide-y divide-neutral-200",children:[void Ot(H),s.jsx(Es.Row,{row:H,index:N?.findIndex(e=>e.id===H.original.id)},H.original.id)]})})}),document.getElementById("full-screen-container")||document.body):null]})}),le&&c?.renderPagination?c.renderPagination(le):null,c?.renderMasterDataModal&&c.renderMasterDataModal({isVisible:!!O,onSelected:Jl,onClose:de,masterDataColumnName:O?.masterDataColumnName,masterDataFormula:O?.masterDataFormula,masterDataFilters:O?.masterDataFilters,masterDataName:O?.masterDataName,masterDataId:O?.masterDataName,showFilters:!0}),s.jsx(As.CurrencyDropdownPortal,{config:ut,onClose:Ft}),s.jsx(Ns.CellContextMenuPortal,{state:Vl,config:Ze,rowOptions:M,asyncRowOptionsFilter:a?.asyncRowOptionsFilter,checkedIds:Le?.checkedIds,rows:d,columns:v,rowLinkConfig:Ye,onClose:Tt}),s.jsx(Ms.PendingEditsFloatingBar,{pendingEditsCount:P,pendingEditsList:$l,rowsWithPendingEdits:zl,fieldOperationLoading:g,onClearAll:bt,onSaveAll:pt,onScrollToCell:B})]})});exports.InfiniteTable=Bs;
|
|
1
|
+
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const s=require("react/jsx-runtime"),Ts=require("../../../hooks/useCheckbox.cjs.js"),ys=require("../../../providers/design-system-provider/hooks.cjs.js"),Be=require("../../../utils/table.cjs.js"),At=require("../../button/Button.cjs.js"),Rs=require("../../floating-bar/FloatingBar.cjs.js"),xe=require("../typography/Typography.cjs.js"),E=require("@dnd-kit/core"),l=require("react"),js=require("react-virtualized-auto-sizer"),Os=require("react-dom"),_t=require("react-table"),ks=require("./body/index.cjs.js"),Mt=require("./validateCell.cjs.js"),Es=require("./body/rows/row.cjs.js"),Ds=require("./context.cjs.js"),Ns=require("./CellContextMenuPortal.cjs.js"),As=require("./CurrencyDropdownPortal.cjs.js"),_s=require("./head/index.cjs.js"),Ms=require("./PendingEditsFloatingBar.cjs.js"),m=require("./constants.cjs.js"),It=require("./useRowHeight.cjs.js"),Is=require("../empty-state/NoDataFoundWidgets.cjs.js"),Ls=require("../empty-state/NoDataFound.cjs.js"),gs=require("../../icon/icons.generated.cjs.js"),Cs=js.AutoSizer,Lt="Create Column",Vs=(_,T)=>`button-admin-${_.toLowerCase().trim().replace(/\s+/g,"-").replace(/[^a-z0-9-_]/g,"")||T}`,Bs=l.memo(({tableKey:_,searchConfig:T={search:"",handleSearch:()=>null,allowAStarSearch:!1},filterConfig:a={columnFilters:[],onFilter:()=>null,onRemoveFilter:()=>null,onClearFilter:()=>null,onResetFilter:()=>Promise.resolve({}),asyncRowOptionsFilter:()=>Promise.resolve({})},sortConfig:f={onSort:()=>null,columnSort:{field:"",order:""},onRemoveSort:()=>null},headerConfig:i={showExportButton:null,showFilters:!0,showSorts:!0,showSearch:!0,showTableView:!0,showTableViewAsModal:!1,content:null,postContent:null,preContent:null,isLoading:!1,showDivider:!1},hoverConfig:gt=null,columns:R,modelName:J,enableMasterDataEnumSuggestions:G=!1,agreementId:X,enumSuggestionsExtraParams:Y,enumSuggestionsData:Z,data:d=[],onRowClick:Ct,showHeader:ve,showSubHeader:Vt=!0,tableActions:Pe,rowOptions:M,hideRowOptionWidth:qe,checkboxUtilities:I,isLoading:Q=!1,onScroll:Bt,onScrolling:Pt,isColumnConfigurable:K,onAddColumnClick:ee,emptyMessage:We,noDataWidget:He,buttons:$e,onEditColumnClick:ze,onDeleteColumnClick:Ue,onRowTooltipClick:qt,tooltiptext:Wt,cascadingTableConfig:Ht,originalsOnly:$t,disableOptionsForRowIndex:zt,tableHeightClass:te="h-[calc(100vh-220px)]",getFullRowDataOnClick:Ut,selectedRowId:Jt=null,onRowEdit:D,onBulkRowEdit:L,inlineEditColumns:Gt,isResizable:Xt=!0,paginationConfig:le,dndSortableUtils:se,multipleContexts:Je,withSortable:Se,withDraggable:Yt,enableRootDrag:Zt,pageSize:Qt=m.DEFAULT_PAGE_SIZE,onCascadingRowExpand:Kt,totalItems:Ge,showRecordCount:we=!1,getInnerRowData:el,maxLevel:tl,expandedRows:ll={},setExpandedRows:sl,showNewItem:rl,rawData:Xe,dragConfig:nl,isOverlayLoading:al,style:ol={},floatingBarConfig:be,rowWrapper:cl,rowLinkConfig:Ye,isCellClickDisabled:il,setHeaderOnParent:pe,optimizeTable:ul=!1,multiSelectConfig:dl,cellContextMenuConfig:Ze,headerContextOptions:hl,showHeaderContextOptions:ml,setShowHeaderContextOptions:fl,showDataTypeIcon:xl=!1,rowAdditionalActions:re,rowAdditionalActionsWidth:Fe,setVisibleHeaders:Te,cellEditing:vl=null,cellEditingValue:Sl=null,allowInlineEdit:wl=!1,onFieldOperationFlow:bl,fieldOperationLoading:g=null,onTableActionsReady:ye,onPendingEditsChange:Qe,onCancelPendingEdits:C})=>{const c=ys.useTableConfig(),pl=It.getRowSlotHeight(It.useRowHeight()),Fl=!!T?.search,Ke=a?.columnFilters?.length>0,q=Fl||Ke,Tl=!!I,y=c?.getTableView?.(_)??null,[p,W]=l.useState(y||null),et=Be.isModifiedGlobalView(p,c?.getUserId?.()),[Re,je]=l.useState(!1),[Oe,tt]=l.useState(!1),[yl,lt]=l.useState(null),[v,ke]=l.useState(R),st=(d.length===0||!v.length)&&!Q,[rt,ne]=l.useState(null),[Rl,jl]=l.useState(!1),[Ol,kl]=l.useState(null),[El,Dl]=l.useState(!1),[Nl,ae]=l.useState(null),[Al,oe]=l.useState(null),[_l,nt]=l.useState({}),[H,Ee]=l.useState(null),[Ml,at]=l.useState(!1),[j,Il]=l.useState(0),De=l.useRef(null),Ne=l.useRef(null),[ot,Ll]=l.useState({width:0,height:0}),[gl,V]=l.useState(null),[O,ct]=l.useState(null),[Cl,it]=l.useState(null),[ut,dt]=l.useState(null),[Vl,ht]=l.useState(null),[Ae,$]=l.useState({}),_e=l.useRef(!1),ce=l.useRef(!1),Me=l.useRef(p);Me.current=p;const mt=l.useRef(c);mt.current=c;const ft=l.useRef(R);ft.current=R;const ie=l.useRef(a);ie.current=a;const xt=l.useRef(null),vt=l.useRef(()=>({})),St=l.useRef(()=>({})),[h,k]=l.useState({}),Ie=l.useCallback((e,t,r)=>{k(n=>{const o=n[e]?.[t];let u=r.validationError;if(u===void 0){const w=v.find(x=>x.key===t);if(w){const x=Mt.validateCellValue(r.value,w);u=x.isValid?null:x.error||"Invalid"}else u=o?.validationError??null}return{...n,[e]:{...n[e]||{},[t]:{...r,validationError:u??null}}}})},[v]),wt=l.useCallback(()=>Object.values(h).some(e=>Object.keys(e).length>0),[h]);l.useEffect(()=>{ye&&ye({addPendingEdit:Ie,hasPendingEdits:wt})},[ye,Ie,wt]);const Bl=l.useCallback((e,t)=>{k(r=>{const n={...r};if(n[e]){const{[t]:o,...u}=n[e];Object.keys(u).length===0?delete n[e]:n[e]=u}return n})},[]),Pl=l.useCallback((e,t)=>h[e]?.[t],[h]),ql=l.useCallback((e,t)=>!!h[e]?.[t],[h]),bt=l.useCallback(()=>{g||(C&&Object.keys(h).length>0&&C(h),k({}),$({}),V(null))},[g,C,h]),B=l.useCallback((e,t,r)=>{setTimeout(()=>{c?.dispatchEvent?.("SCROLL_TO_TABLE_ROW",{rowIndex:r});const n=v.findIndex(o=>o.key===t);setTimeout(()=>{const o=document.querySelector(`[${m.DATA_ROW_ID_ATTR}="${e}"] [${m.DATA_COLUMN_KEY_ATTR}="${t}"]`);if(o)o.scrollIntoView({behavior:"smooth",block:"center",inline:"center"});else if(n>0){const u=document.querySelector(m.OS_VIEWPORT_SELECTOR);if(u){let w=0;for(let x=0;x<n;x++){const F=v[x];F?.sticky||(w+=F?.width||m.SCROLL_TO_CELL_COLUMN_WIDTH_FALLBACK)}w=Math.max(0,w-m.SCROLL_TO_CELL_LEFT_OFFSET),u.scrollTo({left:w,behavior:"smooth"})}}V({rowId:e,columnKey:t})},350)},100)},[v,c]),z=l.useCallback(e=>{let t=!1,r=null;const n={},o=new Set;return Object.entries(e).forEach(([u,w])=>{n[u]={},Object.entries(w).forEach(([x,F])=>{const A=v.find(b=>b.key===x),S=Mt.validateCellValue(F.value,A);S.isValid?n[u][x]={...F,validationError:null}:(t=!0,S.error&&o.add(S.error),r||(r={rowId:u,columnKey:x}),n[u][x]={...F,validationError:S.error})})}),{hasErrors:t,updatedEdits:n,firstError:r,errorTypes:o}},[v]),ue=l.useCallback(e=>{const t=e.has("Field required"),r=e.size>(t?1:0);return t&&r?"Missing required field(s) and invalid format detected. Please review highlighted field(s).":t?"Missing required field(s). Please review highlighted field(s).":"Invalid field value(s). Please review highlighted field(s)."},[]),pt=l.useCallback(()=>{const{hasErrors:e,updatedEdits:t,firstError:r,errorTypes:n}=z(h);if(e){if(k(t),c?.showNotification?.("error",ue(n)),r){const u=d.findIndex(w=>w.id===r.rowId);B(r.rowId,r.columnKey,u)}return}const o=[];Object.entries(h).forEach(([u,w])=>{const x=d.find(F=>F.id===u);if(x){const F={...x},A={};Object.entries(w).forEach(([S,b])=>{F[S]=b.value,A[S]={value:b.value,meta:b.meta}}),o.push({...F,__editedFields:A})}}),o.length>0&&(L?L(o):D&&D(null,null,null,null,null,{isBulk:!0,rows:o})),k({}),$({}),V(null)},[h,d,D,L,z,ue,B,c]),Wl=l.useCallback(e=>{if(g)return;const t=h[e];t&&C&&C({[e]:t}),k(r=>{const n={...r};return delete n[e],n}),$(r=>{const n={...r};return Object.keys(n).forEach(o=>{o.startsWith(`${e}-`)&&delete n[o]}),n}),V(null)},[g,C,h]),Hl=l.useCallback(e=>{const t=h[e];if(!t||Object.keys(t).length===0)return;const{hasErrors:r,updatedEdits:n,firstError:o,errorTypes:u}=z({[e]:t});if(r){if(k(S=>({...S,[e]:n[e]})),c?.showNotification?.("error",ue(u)),o){const S=d.findIndex(b=>b.id===o.rowId);B(o.rowId,o.columnKey,S)}return}const w=d.find(S=>S.id===e);if(!w)return;const x={...w},F={};Object.entries(t).forEach(([S,b])=>{x[S]=b.value,F[S]={value:b.value,meta:b.meta}});const A={...x,__editedFields:F};L?L([A]):D&&D(null,null,null,null,null,{isBulk:!0,rows:[A]}),k(S=>{const b={...S};return delete b[e],b}),$(S=>{const b={...S};return Object.keys(b).forEach(Nt=>{Nt.startsWith(`${e}-`)&&delete b[Nt]}),b}),V(null)},[h,d,D,L,z,ue,B,c]),P=l.useMemo(()=>Object.values(h).reduce((e,t)=>e+Object.keys(t).length,0),[h]);l.useEffect(()=>{Qe?.(P>0,P)},[P,Qe]);const $l=l.useMemo(()=>{const e=[];return Object.entries(h).forEach(([t,r])=>{const n=d.findIndex(o=>o.id===t);Object.entries(r).forEach(([o,u])=>{const w=v.find(x=>x.key===o);e.push({rowId:t,columnKey:o,fieldName:w?.Header||w?.display_name||o,value:u.value,originalValue:u.originalValue,meta:u.meta,originalMeta:u.originalMeta,rowIndex:n})})}),e},[h,v,d]),zl=l.useMemo(()=>{const e=new Map;return Object.entries(h).forEach(([t,r])=>{const n=d.findIndex(o=>o.id===t);e.set(t,{rowId:t,rowIndex:n,editCount:Object.keys(r).length})}),Array.from(e.values()).sort((t,r)=>t.rowIndex-r.rowIndex)},[h,d]),Ul=l.useCallback(e=>ct(e),[]),de=l.useCallback(()=>ct(null),[]),Jl=l.useCallback((e,t)=>{it({value:e,reference:t}),O?.onSelected&&O.onSelected(e,t),de()},[O,de]),Gl=l.useCallback(()=>it(null),[]),Xl=l.useCallback(e=>dt(e),[]),Ft=l.useCallback(()=>dt(null),[]),Yl=l.useCallback(e=>ht(e),[]),Tt=l.useCallback(()=>ht(null),[]),Zl=l.useCallback((e,t)=>{$(r=>({...r,[e]:t}))},[]),Ql=l.useCallback(e=>Ae[e],[Ae]),Kl=l.useMemo(()=>{const e=te.match(/h-\[(\d+px)\]/);if(e)return e[1];const t=te.match(/h-\[(calc\(.+\))\]/);if(t)return t[1].replace(/([+-])/g," $1 ").replace(/\s+/g," ")},[te]),es={isEmpty:st,isFilters:q,isColumnConfigurable:K,handleOnClick:ee,emptyMessage:We,buttons:$e,noDataWidget:He},ts=c?.t?.(Lt)??Lt,he=q?"No Results Found":We||"No Data Found",ls=typeof he=="string"?c?.t?.(he)??he:he,yt={__isLoading:!0},ss=new Array(1).fill(yt),rs=new Array(Qt).fill(yt),U=l.useMemo(()=>v.filter(e=>!!e?.visible),[v]),ns=_t.useTable({columns:ul?U:v,data:[...d,...Q?d?.length?ss:rs:[]],defaultColumn:{minWidth:m.DEFAULT_COLUMN_MIN_WIDTH,width:m.DEFAULT_COLUMN_WIDTH,maxWidth:m.DEFAULT_COLUMN_MAX_WIDTH}},_t.useResizeColumns),{getTableProps:Rt,getTableBodyProps:jt,headerGroups:me,prepareRow:Ot,rows:N}=ns;xt.current=me;const as=JSON.stringify(me[0]?.headers?.map(e=>e?.Header));l.useEffect(()=>{if(Te){const e=xt.current;Te?.(e?.[0]?.headers?.map(t=>t?.Header)??[])}},[as,Te]);const{checkboxConfig:Le}=Ts.useCheckbox({rows:N,checkedIds:I?.checkedIds,isCheckAllDisabled:I?.isCheckAllDisabled,selectionDisabledRowIds:I?.selectionDisabledRowIds,rawData:Xe,onAllChecked:Dl,setCheckedIds:I?.setCheckedIds,checkboxMetadata:I?.checkboxMetadata}),os=E.useSensors(E.useSensor(E.MouseSensor,{activationConstraint:{distance:m.DND_ACTIVATION_DISTANCE}}),E.useSensor(E.TouchSensor,{activationConstraint:{distance:m.DND_ACTIVATION_DISTANCE}})),cs={easing:m.DROP_ANIMATION_EASING,duration:m.DROP_ANIMATION_DURATION};function is(){return!Je?.length||!Se?N:Je.reduce((e,t)=>(e[t]=N.filter(r=>r.original?.type===t),e),{})}St.current=is;const us=e=>{const{active:t}=e;Ee(N.find(r=>r.original?.id===t?.id)??null)},ds=e=>{const{active:t,over:r}=e;r&&(se?.checkDndDragEnd&&se.checkDndDragEnd(t,r,_l,n=>{nt(n),at(!0),se.onDragSuccess?.({draggedId:t.id,droppedId:r.id,draggedType:t.data.current?.type,droppedType:r.data.current?.type,updatedList:n,cb:()=>at(!1)})}),Ee(null))},hs=()=>Ee(null),ms=e=>{!f?.onSort&&!a?.onFilter||ne(rt===e?null:e)},fs=e=>{kl(e),jl(!Rl),ne(null)},ge=l.useCallback(()=>{f?.onRemoveSort?f.onRemoveSort():f?.onSort&&f.onSort("","")},[f]),fe=l.useCallback((e=null)=>{lt(e),je(t=>e?!0:!t)},[]),Ce=l.useCallback(()=>tt(e=>!e),[]),xs=()=>{const e=me[0]?.headers?.filter(t=>t?.visible!==!1);for(let t=0;t<e.length;t++)if(e[t].sticky)return t-1;return e.length-1},vs=l.useCallback(e=>{let t=0;for(let r=e+1;r<U.length;r++)U[r].visible!==!1&&(t+=U[r].width??0);return re&&(t+=Fe||m.ROW_ADDITIONAL_ACTIONS_DEFAULT_WIDTH),M&&(t+=qe?0:m.ROW_OPTIONS_COLUMN_WIDTH),t},[U,Fe,qe,re,M]),kt=()=>{const e=c?.getUserId?.();return{...p||{},name:p?.name||"Untitled View",created_by:p?.created_by||e,filters:p?.filters||a?.columnFilters,id:p?.id||"untitled-view",table_key:p?.table_key||_,columns:p?.columns||R?.map((t,r)=>({name:t.Header,width:t.width,visible:t.visible,sticky:t.sticky,order:r+1,display_name:t.Header,sequence:r+1,Header:t.Header}))}};vt.current=kt;const Ss=(e,t)=>{const r=kt();W({...r,columns:r?.columns?.map(n=>n.name===e?{...n,width:t}:n),unsaved:!0})};l.useEffect(()=>{a?.columnFilters?.length>0&&je(!0);const e=Me.current;if(JSON.stringify(e?.filters||[])!==JSON.stringify(a?.columnFilters||[])){const t=(e?.filters?.length??0)>0,r=a?.columnFilters?.length>0;if(!(t&&!r&&!ce.current)){const o=vt.current();W({...o,filters:JSON.parse(JSON.stringify(a?.columnFilters||[])),unsaved:!0})}ce.current=!1}},[a?.columnFilters]);const ws=l.useCallback(e=>{ce.current=!0,a?.onRemoveFilter?.(e)},[a?.onRemoveFilter]),bs=l.useCallback(()=>{ce.current=!0,a?.onClearFilter?.()},[a?.onClearFilter]);l.useEffect(()=>{f?.columnSort?.field?(tt(!0),f.columnSort.order==="asc"?(ae(f.columnSort.field),oe(null)):f.columnSort.order==="desc"&&(oe(f.columnSort.field),ae(null))):(ae(null),oe(null))},[f?.columnSort?.field,f?.columnSort?.order]),l.useEffect(()=>{ke(Be.mergeViewColumnsWithTableColumns(Me.current?.columns||[],R))},[R]),l.useEffect(()=>{p?.unsaved&&!et&&mt.current?.persistTableView?.(p)},[p]),l.useEffect(()=>{nt(St.current())},[N.length]),l.useEffect(()=>{et||(W(y||null),y?.columns&&ke(Be.mergeViewColumnsWithTableColumns(y?.columns||[],ft.current)),y?.filters&&y.filters.length>0&&!_e.current?(requestAnimationFrame(()=>{ie.current?.onFilter?.(y.filters)}),_e.current=!0):y?.filters&&_e.current&&JSON.stringify(y.filters)!==JSON.stringify(ie.current?.columnFilters)&&ie.current?.onFilter?.(y.filters))},[y]),l.useEffect(()=>{if(De.current){const e=new ResizeObserver(t=>Il(t[0].contentRect.width));return e.observe(De.current),()=>e.disconnect()}},[]),l.useEffect(()=>{if(!Ne.current)return;const e=new ResizeObserver(t=>{const{width:r,height:n}=t[0].contentRect;Ll({width:r,height:n})});return e.observe(Ne.current),()=>e.disconnect()},[]);const Et=s.jsx(_s.Head,{isResizable:Xt,headerGroups:me,isCheckbox:Tl,checkboxConfig:Le,isAllChecked:El,showHeaderOptions:rt??"",setShowHeaderOptions:ne,isShowSortArrowAsc:Nl,isShowSortArrowDesc:Al,onSort:f?.onSort,onFilter:a?.onFilter,toggleHeaderOption:ms,setIsShowSortArrowAsc:ae,setIsShowSortArrowDesc:oe,toggleDataFilterModal:fe,rowOptions:Array.isArray(M)?M:[],isColumnConfigurable:K??!1,onAddColumnClick:ee,onEditColumnClick:ze,onDeleteColumnClick:Ue,tableActions:Pe||null,isLoading:Q,rowAdditionalActions:re??null,showPendingEditsColumn:P>0}),Dt=s.jsxs(s.Fragment,{children:[Ml||al?s.jsx("div",{className:"absolute left-0 top-0 w-full h-full z-40 flex items-center justify-center bg-neutral-100 dark:bg-black-700"}):null,s.jsx("div",{...Rt(),className:"w-full text-sm text-left text-neutral-500 dark:text-neutral-200 h-full bg-white dark:bg-black-800",children:st?s.jsxs("div",{className:"z-10",children:[Et,s.jsx("div",{className:"absolute w-full",children:c?.renderEmpty?c.renderEmpty(es):s.jsxs("div",{className:"flex flex-col items-center justify-center w-full h-[12rem] text-neutral-900 dark:text-neutral-200 mt-8",children:[He&&!q?s.jsx(Is.NoDataFoundWidgets,{widgetType:"TABLE"}):s.jsx(Ls.NoDataFound,{text:ls}),K&&!q?s.jsx("div",{className:"my-4",children:s.jsxs(At,{id:"btn-table-shell-create-column",status:"primary",appearance:"ghost",onClick:ee,children:[s.jsx(gs.Add2Icon,{className:"text-white dark:text-white"})," ",ts]})}):null,!q&&$e?.map((e,t)=>s.jsx(At,{status:"secondary",id:Vs(e.label,t),onClick:e.onClick,children:c?.t?.(e.label)??e.label},`${e.label}-${t}`))]})})]}):s.jsx(Cs,{style:{width:"100%",height:"100%"},renderProp:({width:e,height:t})=>{const r=e>0?e:ot.width,n=t>0?t:ot.height;return r>0&&n>0?s.jsx(ks.Body,{getTableBodyProps:jt,rows:N,prepareRow:Ot,isLoading:Q,onScroll:Bt,onScrolling:Pt,columns:R,width:r,height:n,withSortable:Se,allowAstarSearch:T?.allowAStarSearch||!1}):null}})})]}),ps=l.forwardRef((e,t)=>s.jsxs("div",{className:"h-full w-full",...e,ref:t,children:[Et,s.jsx("div",{className:"relative w-full h-full",children:e?.children})]})),Fs=l.forwardRef((e,t)=>s.jsx("div",{className:"h-full w-full",...e,ref:t,children:s.jsx("div",{className:"relative w-full h-full",children:e?.children})})),Ve=l.useMemo(()=>c?.renderTableHeader?c.renderTableHeader({tableKey:_,search:T?.search,handleSearch:T?.handleSearch,toggleShowFilters:fe,toggleShowSorts:Ce,filterCounts:a?.columnFilters?.length,columns:R,columnFilters:a?.columnFilters,setSelectedTableView:W,selectedTableView:p,onTableViewSelect:i?.onTableViewSelect,enableTableView:i?.showTableView,modelName:J,enableMasterDataEnumSuggestions:G,onRemoveFilter:a?.onRemoveFilter,onClearFilter:a?.onClearFilter,onFilter:a?.onFilter,data:Z??d,tableHeaders:v,showTableViewAsModal:i?.showTableViewAsModal,additionalOptions:i?.additionalOptions,inlineActions:i?.inlineActions,showFilters:i?.showFilters,showSorts:i?.showSorts,showSearch:i?.showSearch,isLoading:!!i?.isLoading,setTableHeaders:ke,allowAStarSearch:!!T?.allowAStarSearch,withContent:!!i?.content,setShowFilters:je,sort:f?.columnSort,onSort:f?.onSort,onRemoveSort:ge,showExportButton:i?.showExportButton,onExportClick:i?.onExportClick,agreementId:X,enumSuggestionsExtraParams:Y}):null,[_,T?.search,T?.handleSearch,fe,Ce,a?.columnFilters,R,W,p,i,J,a?.onRemoveFilter,a?.onClearFilter,a?.onFilter,d,Z,v,f?.columnSort,f?.onSort,ge,c,T?.allowAStarSearch,G,X,Y]);return l.useEffect(()=>{pe&&pe(Ve)},[Ve,pe]),s.jsxs(Ds.TableContext.Provider,{value:{tableWrapper:ps,tableBodyWrapper:Fs,lastNonStickyColumnIndex:xs,search:T?.search,columnFilters:a?.columnFilters,onRowClick:Ct,onSort:f?.onSort,onFilter:a?.onFilter,toggleShowFilters:fe,toggleShowSorts:Ce,onRemoveFilter:a?.onRemoveFilter,onClearFilter:a?.onClearFilter,rowOptions:M,checkboxConfig:Le,onResetFilter:a?.onResetFilter,isColumnConfigurable:K,onAddColumnClick:ee,onEditColumnClick:ze,onDeleteColumnClick:Ue,onRowTooltipClick:qt,tooltiptext:Wt,cascadingTableConfig:Ht,activeInlineEdit:gl,setActiveInlineEdit:V,originalsOnly:$t,disableOptionsForRowIndex:zt,getFullRowDataOnClick:Ut,selectedRowId:Jt,getSumOfNextVisibleColumnWidth:vs,onRowEdit:D,inlineEditColumns:Gt,tableActions:Pe,dndSortableUtils:se,withSortable:Se,withDraggable:Yt,onCascadingRowExpand:Kt,getInnerRowData:el,tableHeaders:v,maxLevel:tl,expandedRows:ll,setExpandedRows:sl,showNewItem:rl,rawData:Xe,dragConfig:nl,rowWrapper:cl,rowLinkConfig:Ye,isCellClickDisabled:il,asyncRowOptionsFilter:a?.asyncRowOptionsFilter,handleUpdateColumnWidth:Ss,multiSelectConfig:dl,cellContextMenuConfig:Ze,openCellContextMenu:Yl,closeCellContextMenu:Tt,headerContextOptions:hl,showHeaderContextOptions:ml,setShowHeaderContextOptions:fl,headerDivWidth:j,showDataTypeIcon:xl,rowAdditionalActions:re,hoverConfig:gt,rowAdditionalActionsWidth:Fe,cellEditing:vl,cellEditingValue:Sl,openMasterDataModal:Ul,closeMasterDataModal:de,selectedMasterData:Cl,clearSelectedMasterData:Gl,allowInlineEdit:wl,openCurrencyDropdown:Xl,closeCurrencyDropdown:Ft,currencyDropdownConfig:ut,selectedCurrenciesMap:Ae,setCurrencyForCell:Zl,getCurrencyForCell:Ql,pendingEdits:h,addPendingEdit:Ie,removePendingEdit:Bl,getPendingEdit:Pl,hasPendingEdit:ql,clearAllPendingEdits:bt,saveAllPendingEdits:pt,clearRowPendingEdits:Wl,saveRowPendingEdits:Hl,pendingEditsCount:P,scrollToCell:B,onFieldOperationFlow:bl,fieldOperationLoading:g,validateAllPendingEdits:z},children:[ve?s.jsxs("div",{ref:De,className:`mb-2 flex w-full min-w-0 gap-2 justify-end dark:bg-black-800 ${j<m.TOOLBAR_FIRST_BREAKPOINT?"flex-col items-stretch":"flex-row flex-wrap items-center"}`,children:[s.jsxs("div",{className:`flex items-center gap-x-2 gap-y-1 ${j<m.TOOLBAR_FIRST_BREAKPOINT?"w-full flex-wrap":""} ${i?.content?"min-w-0 flex-1":"shrink-0"}`,children:[i?.content?s.jsx("div",{className:`min-w-0 ${j<m.TOOLBAR_FIRST_BREAKPOINT?"w-full":"flex-1"}`,children:i.content}):null,we?s.jsxs("div",{className:"flex items-center gap-1.5 shrink-0",children:[s.jsxs("svg",{xmlns:"http://www.w3.org/2000/svg",width:"16",height:"16",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",className:"text-neutral-500 dark:text-neutral-400 flex-shrink-0","aria-hidden":!0,children:[s.jsx("ellipse",{cx:"12",cy:"5",rx:"9",ry:"3"}),s.jsx("path",{d:"M3 5v4c0 1.66 4.03 3 9 3s9-1.34 9-3V5"}),s.jsx("path",{d:"M3 9v4c0 1.66 4.03 3 9 3s9-1.34 9-3V9"}),s.jsx("path",{d:"M3 13v4c0 1.66 4.03 3 9 3s9-1.34 9-3v-4"})]}),s.jsx(xe.Typography,{size:"small",variant:"semibold",appearance:"title",children:(Ge??d.length).toLocaleString()}),s.jsx(xe.Typography,{size:"small",variant:"regular",appearance:"subtitle",children:"total records"})]}):i?.preContent?s.jsx("div",{className:"flex min-w-0 shrink-0 justify-start items-center",children:i.preContent}):null]}),s.jsxs("div",{className:`flex min-w-0 items-center justify-end ${j<m.TOOLBAR_FIRST_BREAKPOINT?"w-full":i?.content?"shrink-0":"flex-1"} ${j<m.TOOLBAR_SECOND_BREAKPOINT?"flex-col":"flex-row flex-wrap"} ${i?.postContent?"gap-2":""}`,children:[we&&i?.preContent?s.jsx("div",{className:"flex w-full justify-start items-center",children:i.preContent}):null,s.jsx("div",{className:`flex justify-end items-center min-w-0 ${j<m.TOOLBAR_SECOND_BREAKPOINT||j<m.TOOLBAR_FIRST_BREAKPOINT?"w-full":""}`,children:Ve}),i?.postContent?s.jsx("div",{className:`flex justify-end items-center ${j<m.TOOLBAR_SECOND_BREAKPOINT?"w-full":""}`,children:i.postContent}):null]})]}):null,i?.showDivider?s.jsx("div",{className:"border-b pb-2 w-full dark:bg-black-800"}):null,Vt&&(Re||Oe)?s.jsx("div",{className:"flex justify-between items-center pb-4 dark:bg-black-800",children:s.jsxs("div",{className:"flex gap-2 items-center",children:[Oe&&c?.renderSortItem?c.renderSortItem({sort:f?.columnSort,onRemoveSort:ge,onSort:f?.onSort,tableHeaders:v,data:d}):null,Re&&Oe&&f?.columnSort?.field!==""?s.jsx("div",{className:"h-8 w-[1px] flex-shrink-0 bg-neutral-200"}):null,Re?s.jsxs("div",{className:"flex gap-2 items-center",children:[(Ke||a?.onResetFilter)&&c?.renderActiveFilters&&c.renderActiveFilters({filters:a?.columnFilters,onRemoveFilter:ws,onClearFilter:bs,onResetFilter:a?.onResetFilter,onFilter:a?.onFilter,tableHeaders:v,columnFilters:a?.columnFilters,modelName:J,enableMasterDataEnumSuggestions:G,noSpacing:!0,notionStyle:a?.notionStyle,context:a?.context,data:Z??d,agreementId:X,enumSuggestionsExtraParams:Y}),c?.renderFilterButtons&&c.renderFilterButtons({onClearFilter:a?.onClearFilter,onClose:fs,modelName:J,enableMasterDataEnumSuggestions:G,defaultFilterColumn:yl,resetDefaultFilterColumn:()=>lt(null),column:Ol,onFilter:a?.onFilter,tableHeaders:v,columnFilters:a?.columnFilters,data:Z??d,notionStyle:a?.notionStyle,context:a?.context,agreementId:X,enumSuggestionsExtraParams:Y})]}):null]})}):null,be&&Object.keys(be).length?s.jsx(Rs.FloatingBar,{...be}):null,!ve&&we?s.jsxs("div",{className:"flex items-center gap-1.5 mb-2",children:[s.jsxs("svg",{xmlns:"http://www.w3.org/2000/svg",width:"16",height:"16",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",className:"text-neutral-500 dark:text-neutral-400 flex-shrink-0","aria-hidden":!0,children:[s.jsx("ellipse",{cx:"12",cy:"5",rx:"9",ry:"3"}),s.jsx("path",{d:"M3 5v4c0 1.66 4.03 3 9 3s9-1.34 9-3V5"}),s.jsx("path",{d:"M3 9v4c0 1.66 4.03 3 9 3s9-1.34 9-3V9"}),s.jsx("path",{d:"M3 13v4c0 1.66 4.03 3 9 3s9-1.34 9-3v-4"})]}),s.jsx(xe.Typography,{size:"small",variant:"semibold",appearance:"title",children:(Ge??d.length).toLocaleString()}),s.jsx(xe.Typography,{size:"small",variant:"regular",appearance:"subtitle",children:"total records"})]}):!ve&&i?.preContent?s.jsx("div",{className:"flex items-center mb-2",children:i.preContent}):null,s.jsx("div",{ref:Ne,className:`w-full ${le?"h-auto":te} rounded-lg relative border overflow-x-hidden`,style:{...le?{height:d?.length>0?`${(d?.length+1)*pl+4}px`:"350px"}:{height:Kl},...ol},children:Zt?Dt:s.jsxs(E.DndContext,{sensors:os,onDragEnd:ds,onDragStart:us,onDragCancel:hs,collisionDetection:E.closestCorners,children:[Dt,H?Os.createPortal(s.jsx(E.DragOverlay,{adjustScale:!0,dropAnimation:cs,children:s.jsx("table",{...Rt(),className:"w-full text-sm text-left text-neutral-500 dark:text-neutral-200 bg-white dark:bg-black-700 table-auto border-collapse",children:s.jsxs("tbody",{...jt(),className:"bg-transparent divide-y divide-neutral-200",children:[void Ot(H),s.jsx(Es.Row,{row:H,index:N?.findIndex(e=>e.id===H.original.id)},H.original.id)]})})}),document.getElementById("full-screen-container")||document.body):null]})}),le&&c?.renderPagination?c.renderPagination(le):null,c?.renderMasterDataModal&&c.renderMasterDataModal({isVisible:!!O,onSelected:Jl,onClose:de,masterDataColumnName:O?.masterDataColumnName,masterDataFormula:O?.masterDataFormula,masterDataFilters:O?.masterDataFilters,masterDataName:O?.masterDataName,masterDataId:O?.masterDataName,showFilters:!0}),s.jsx(As.CurrencyDropdownPortal,{config:ut,onClose:Ft}),s.jsx(Ns.CellContextMenuPortal,{state:Vl,config:Ze,rowOptions:M,asyncRowOptionsFilter:a?.asyncRowOptionsFilter,checkedIds:Le?.checkedIds,rows:d,columns:v,rowLinkConfig:Ye,onClose:Tt}),s.jsx(Ms.PendingEditsFloatingBar,{pendingEditsCount:P,pendingEditsList:$l,rowsWithPendingEdits:zl,fieldOperationLoading:g,onClearAll:bt,onSaveAll:pt,onScrollToCell:B})]})});exports.InfiniteTable=Bs;
|
|
2
2
|
//# sourceMappingURL=index.cjs.js.map
|