amotify
Version:
UI Component for React,NextJS,esbuild
2 lines (1 loc) • 12.4 kB
JavaScript
import{b as r,c as S,d as $}from"../../chunk-C5N2D3ZX.js";import{Fragment as U,jsx as a,jsxs as L}from"react/jsx-runtime";import D,{UUID as G,useStore as Q}from"jmini";import{useState as Y,useEffect as W}from"react";import{useRemote as E}from"../../@utils";import{Box as B,Flex as M,FAI as N,Span as le,Column as oe}from"../../atoms";import{Literal as ne,Row as j}from"../../mols";import{Button as F}from"../Button";import ee from"../Sheet";import I from"../Input";import{faArrowUp as se}from"@fortawesome/free-solid-svg-icons/faArrowUp";import{faArrowDown as ie}from"@fortawesome/free-solid-svg-icons/faArrowDown";import{faArrowRight as ce}from"@fortawesome/free-solid-svg-icons/faArrowRight";import{faFilter as de}from"@fortawesome/free-solid-svg-icons/faFilter";import R from"./Parts";import ue from"./Wrapper";import{DefaultCellSystemAdjustingStyles as K}from"./cellStyling";import{TableClasses as b}from"../../@styles/componentClasses";const x={__memoryID:G(),Header:t=>{var g,w;let{val_status:e,set_status:s,KeywordFilterRows:h}=r({},t),{order:i,filter:l}=e,[d,p]=i.current,m=[],c=[...e.head];if(e.checker){let n={top:!0,bottom:!e.rows.length,left:!0,right:!e.colLength,rowIndex:0,colIndex:0,isBody:!1,isHeader:!0},o=K(n),u=e.cellStylesCallback?e.cellStylesCallback(n):{};m.push(a(R.TH,S(r(r(r({fontWeight:"2.normal",position:"sticky",ssZIndex:2,top:0,unitWidth:4,padding:0},e.cellStyles),o),u),{xcss:r(r({},(g=e.cellStyles)==null?void 0:g.xcss),u.xcss),className:[b("Cell"),e.cellClassName].join(" "),children:a(B,{flexCenter:!0,children:a(I.Checker,{label:"",value:!1,onUpdateValidValue:f=>{let y=e.rows;y.forEach(T=>{T.checked=f}),s(S(r({},e),{rows:y}))}})})}),-1))}for(let n=0;n<e.colLength;n++){let o=c[n];if(!o)continue;let u=o.children||o.data,f=i.enabled&&i.column[n],y=l.enabled&&l.column[n],T=f?a(N,{fontSize:"1.mini",fontColor:n==d?"1.clear":"5.translucent",icon:n==d?p=="DESC"?ie:se:ce}):null,A=a(U,{});if(y){let _=h.map(O=>{var v;return(v=O[n])==null?void 0:v.data});_=[...new Set(_)].toASC();let P=l.current[n];if(P){let O=_.filter(C=>!P.includes(C)),v=[];_.forEach(C=>{C&&v.push({value:C,label:a(B,{flexSizing:"auto",children:C})})});let J="BUTTON-"+e.componentId+"-"+n,X=e.componentId+"-"+n,re={sheetID:X,parent:"#"+J,gravityPoint:23,content:L(M,{flexType:"col",border:!0,boxShadow:"3.remark",backgroundColor:"layer.1",borderRadius:1,xcss:{minWidth:12*20,maxWidth:12*30},children:[a(oe,{gap:"1/3",overflow:"auto",padding:"2/3",xcss:{maxHeight:12*30},children:a(I.Checkbox,{icon:!0,value:O,display:"flex",gap:"2/3",override:"force",options:v,hideInput:!0,name:"DTFilter-col-"+n+"-table-"+e.componentId,onUpdateValidValue:C=>{let H=_.filter(ae=>!C.includes(ae)),Z=r({},e);Z.filter.current[n]=H,s(Z)}})}),L(j.Separate,{gap:"2/3",padding:"2/3",horizontalAlign:"right",children:[a(F.Border.S,{isRounded:!0,onClick:()=>{ee.close(X)},children:"\u9589\u3058\u308B"}),a(F.Prime.S,{color:"theme",isRounded:!0,ssEffectsOnActive:"shrink",onClick:()=>{let C=[];P.length||(C=_);let H=r({},e);H.filter.current[n]=C,s(H)},children:"\u5168\u9078\u629E"})]})]})};A=a(B,{className:b("FilterRegion"),children:a(F.Sub.S,{ssSphere:2.5,fontSize:"1.mini",className:b("Filtering_"+!!P.length),id:J,onClick:C=>{C.stopPropagation(),ee.open("custom",re)},children:a(N,{icon:de})})})}}let z={top:!0,bottom:!e.rows.length,left:e.checker?!1:n==0,right:n==e.colLength-1,rowIndex:0,colIndex:n,isBody:!1,isHeader:!0},te=K(z),q=e.cellStylesCallback?e.cellStylesCallback(z):{};o=S(r(r(r(r({},e.cellStyles),te),o),q),{ssPushable:f,xcss:r(r(r({},(w=e.cellStyles)==null?void 0:w.xcss),q.xcss),o.xcss),className:[b("Cell"),e.cellClassName,o.className].join(" ")}),delete o.orderIndex,m.push(a(R.TH,S(r({fontWeight:"2.normal",position:"sticky",ssZIndex:2,top:0},o),{onClick:_=>{if(f){let P=r({},e),O=[n,d===n?p=="ASC"?"DESC":"ASC":i.priority];P.order.current=O,s(P),e.onOrderChanged&&e.onOrderChanged(O)}},children:L(M,{flexType:"row-r",flexWrap:!1,height:1,borderRadius:"inherit",flexCenter:!0,children:[A,L(M,{flexSizing:0,position:"relative",borderRadius:"inherit",gap:"1/2",flexWrap:!1,verticalAlign:"center",horizontalAlign:"center",children:[T,u]})]})}),n))}return a(R.Row,{className:[b("Row"),b("HeadRow")].join(" "),children:m})},Body:t=>{let{val_status:e,PageRows:s}=t,h=[];if(s.forEach((i,l)=>{var m;let d=[...i],p=[];if(e.checker){let c={top:l==0&&!e.head,bottom:l==s.length-1,left:!0,right:!e.colLength,rowIndex:l,colIndex:0,isBody:!0,isHeader:!1},g=K(c),w=e.cellStylesCallback?e.cellStylesCallback(c):{};p.push(a(R.TH,S(r(r(r({unitWidth:4,padding:0,borderRight:!0},e.cellStyles),g),w),{xcss:r(r({},(m=e.cellStyles)==null?void 0:m.xcss),w.xcss),className:[b("Cell"),e.cellClassName].join(" "),children:a(B,{flexCenter:!0,children:a(I.Checker,{label:"",value:i.checked,override:"force",onUpdateValidValue:n=>{let o=e.rows,u=o.findIndex(f=>D.isEqual(f.rowID,i.rowID));u!=-1&&(o[u].checked=n,t.set_status(f=>S(r({},f),{rows:o})))}})})}),-1))}d.forEach((c,g)=>{var A;if(!c)return;let T=c,{type:w="td"}=T,n=$(T,["type"]),o={top:l==0&&!e.head,bottom:l==s.length-1,left:e.checker?!1:g==0,right:g==e.colLength-1,rowIndex:l,colIndex:g,isBody:!0,isHeader:!1},u=K(o),f=e.cellStylesCallback?e.cellStylesCallback(o):{};n=S(r(r(r(r({},e.cellStyles),u),n),f),{xcss:r(r(r({},(A=e.cellStyles)==null?void 0:A.xcss),n.xcss),f.xcss),className:[b("Cell"),e.cellClassName,n.className].join(" ")}),delete n.orderIndex;let y=R[w=="td"?"TD":"TH"];p.push(a(y,r({},n),g))}),h.push(a(R.Row,{className:[b("Row"),b("BodyRow")].join(" "),children:p,onClick:c=>{e.onRowClick&&e.onRowClick(i.rowID,c)}},l))}),!s.length){let i=a(B,{padding:2,fontColor:"4.thin",textAlign:"center",borderTop:"1.thin",children:"\u30C6\u30FC\u30D6\u30EB\u304C\u3042\u308A\u307E\u305B\u3093"});e.noRecords&&(i=a(U,{children:e.noRecords})),h.push(a(R.Row,{className:[b("Row"),b("BodyRow"),b("DataNotFound")].join(" "),children:a(R.TD,{colSpan:e.colLength,className:b("Cell"),children:i})},"dataNotFound"))}return a(U,{children:h})},Core:t=>{let{val_status:e,set_status:s}=t,{searchKeyword:h,filter:i,order:l,paging:d}=e,p=[...e.rows],m=[...e.rows],c=[...e.rows],g=[...e.rows];if(h&&(m=p.filter(o=>(o.__sys4SearchKey||"").match(new RegExp(String(h).escapeRegExChar(),"i"))?1:0),c=[...m],g=[...m]),i.enabled)for(let o=0;o<e.colLength;o++){let u=i.column[o],f=i.current[o];u&&f&&f.length&&(c=c.filter(y=>!f.includes(y[o].data)),g=[...c])}l.enabled&&(l.current[1]=="ASC"?c=c.toASC(l.current[0]+"[orderIndex]"):c=c.toDESC(l.current[0]+"[orderIndex]"),g=[...c]);{let{currentPageIndex:o,rowLength:u}=d;g=[...g].splice((o-1)*u,u)}let w=x.__memoryID+"_"+e.tableID,n={rows:{total:p.length,page:g.length,filtered:c.length},val_status:S(r({},e),{paging:S(r({},e.paging),{pageLength:Math.ceil(c.length/e.paging.rowLength)})}),set_status:s};return Q.update({[w]:{getRowData:()=>{let o=[...p];return l.enabled&&(l.current[1]=="ASC"?o=o.toASC(l.current[0]+"[orderIndex]"):o=o.toDESC(l.current[0]+"[orderIndex]")),o.forEach(u=>{u.currentPage=!1,u.filtered=!1}),g.forEach(u=>{let{rowID:f}=u;o.find(y=>D.isEqual(y.rowID,f)).currentPage=!0}),c.forEach(u=>{let{rowID:f}=u;o.find(y=>D.isEqual(y.rowID,f)).filtered=!0}),o}}}),W(()=>{E.bridge(e.tableID,n)}),a(B,{className:b("TableBase"),children:a(R.Table,{className:b("Table"),children:L(R.Body,{children:[a(x.Header,{val_status:e,set_status:s,KeywordFilterRows:m}),a(x.Body,{val_status:e,set_status:s,PageRows:g})]})})},h)},Propagations:{},DataLeveler:t=>{var e,s;return t=r({},t),t.filter=(e=t.filter)!=null?e:!1,t.filter=Array.from({length:t.colLength}).map((h,i)=>{var l;return D.isBoolean(t.filter)?t.filter:(l=t.filter[i])!=null?l:!1}),t.order=(s=t.order)!=null?s:!0,t.orderPriority=t.orderPriority||"ASC",t.order=Array.from({length:t.colLength}).map((h,i)=>{var l;return D.isBoolean(t.order)?t.order:(l=t.order[i])!=null?l:!0}),t=r({checker:!1,searchKeyword:"",filter:!1,order:!0,defaultOrder:[0,"ASC"]},t),t.rows.forEach((h,i)=>{h.rowID=h.rowID||i;let l=[];h.forEach((d,p)=>{let{data:m,children:c,orderIndex:g}=d;d.orderIndex=D.isExist(g)?String(g):String(m),d.children=c||String(m),l.push(String(d.data))}),h.__sys4SearchKey=l.join("/")}),a(x.StateManager,r({},t))},StateManager:t=>{let{colLength:e,checker:s=!1,searchKeyword:h="",filter:i,order:l,orderPriority:d="ASC",defaultOrder:p=[0,d],pageRowLength:m=30}=t,[c]=Y(G()),g={tableID:t.tableID||c,componentId:c,colLength:e,checker:s,searchKeyword:h,filter:{enabled:i!==!1,column:i,current:Array.from({length:e},()=>[])},order:{enabled:l!==!1,column:l,current:p,priority:t.orderPriority},paging:{rowLength:m,pageLength:Math.ceil(t.rows.length/m),currentPageIndex:1},head:t.head,rows:t.rows,noRecords:t.noRecords,cellStyles:t.cellStyles||{},cellClassName:t.cellClassName||"",cellStylesCallback:t.cellStylesCallback,onRowClick:t.onRowClick,onOrderChanged:t.onOrderChanged},[w,n]=Y(g);const o=()=>{const u=new WeakSet;return(f,y)=>{if(typeof y=="object"&&y!==null){if(u.has(y))return"[Circular Reference]";if(f=="children")return"[React Element]";u.add(y)}return y}};return W(()=>{n(u=>S(r({},u),{rows:g.rows}))},[D.Stringify(g.rows,o())]),W(()=>{n(u=>S(r({},u),{head:g.head}))},[D.Stringify(g.head,o())]),a(x.Core,{val_status:w,set_status:n})}},ge={__memoryID:x.__memoryID,getRowData:t=>{let e=Q.get(x.__memoryID+"_"+t);if(e!=null&&e.getRowData)return e.getRowData()}},V={SearchInput:t=>{let e=E.catch(t.tableID);if(!e)return null;let{val_status:s,set_status:h}=e;return a(I.TextField,{label:"\u691C\u7D22...",clearButton:!0,padding:"2/3",paddingRight:3,rightIcon:a(I.RightIcon,{ssSphere:2,fontColor:"5.translucent",right:"2/3",children:a(N.Search,{})}),value:s.searchKeyword,onUpdateValidValue:i=>{t.onChange(i),D.interval.once(()=>{h(l=>S(r({},l),{paging:S(r({},l.paging),{currentPageIndex:1}),filter:S(r({},l.filter),{current:Array.from({length:l.colLength},()=>[])}),searchKeyword:i}))},200,"InputSearchTime")}})},Info:t=>{let e=E.catch(t.tableID);if(!e)return null;let s=e.rows.filtered.toRate(e.rows.total)||0;return L(M,{verticalAlign:"baseline",gap:"1/2",fontSize:"1.mini",fontColor:"3.blur",children:[a(le,{fontSize:"4.thirdTitle",fontColor:"theme",children:e.rows.filtered.toLocaleString()}),"/ ",e.rows.total.toLocaleString(),"\u4EF6 (",s,"%)"]})},Paging:t=>{let e=E.catch(t.tableID);if(!e)return null;let{val_status:s,set_status:h}=e,i=[];for(let d=0;d<s.paging.pageLength;d++)i.push({value:d+1,label:(d+1).toString()});const l=d=>{let p=Math.min(Math.max(1,d),s.paging.pageLength),m=r({},s);m.paging.currentPageIndex=p,h(c=>S(r({},c),{paging:S(r({},c.paging),{currentPageIndex:p})}))};return a(I.Select,{emptySelect:!1,padding:["1/3","2/3"],override:"force",gap:0,leftIcon:a(I.LeftIcon,{xcss:{left:2,pointerEvents:"all"},children:a(F.Sub.S,{color:"cloud",fontColor:"4.thin",ssSquare:2.5,unitWidth:2,onClick:()=>{if(s.paging.currentPageIndex==1){l(s.paging.pageLength);return}l(s.paging.currentPageIndex-1)},children:a(N.ChevronLeft,{})})}),rightIcon:a(I.RightIcon,{xcss:{right:2,pointerEvents:"all"},children:a(F.Sub.S,{color:"cloud",fontColor:"4.thin",ssSquare:2.5,unitWidth:2,onClick:()=>{if(s.paging.currentPageIndex==s.paging.pageLength){l(1);return}l(s.paging.currentPageIndex+1)},children:a(N.ChevronRight,{})})}),options:i.map(d=>({value:d.value,label:L(j.Left,{gap:"1/3",verticalAlign:"baseline",children:[d.label,L(ne.Micro,{fontColor:"4.thin",children:["/ ",s.paging.pageLength]})]})})),value:s.paging.currentPageIndex,onUpdateValidValue:d=>{l(d)}})},RowLength:t=>{let e=E.catch(t.tableID);if(!e)return null;let{val_status:s,set_status:h}=e,i=s.paging.rowLength,l=0,d=t.lengthSelect.map(p=>(l|=+(p==i),{value:p,label:p.toString()}));return l||d.push({value:i,label:i.toString()}),a(j.Center,{gap:"1/2",children:a(I.Select,{emptySelect:!1,override:"force",padding:"1/3",paddingLeft:3,paddingRight:2,pickerStyles:{xcss:{minWidth:12*9}},pickerPosition:4,value:s.paging.rowLength,leftIcon:a(I.LeftIcon,{fontSize:"0.xs",fontColor:"4.thin",xcss:{left:6},children:"\u8868\u793A"}),rightIcon:a(I.RightIcon,{fontSize:"0.xs",fontColor:"4.thin",xcss:{right:6},children:"\u4EF6"}),options:d.toASC("value"),onUpdateValidValue:p=>{h(m=>S(r({},m),{paging:{rowLength:Number(p),currentPageIndex:1,pageLength:Math.ceil(e.rows.filtered/Number(p))}}))}})})}},he=t=>a(ue,S(r({},t),{type:"data",JSXChildren:x.DataLeveler})),k=he;k.__memoryID=x.__memoryID,k.getRowData=ge.getRowData,k.Info=V.Info,k.Paging=V.Paging,k.RowLength=V.RowLength,k.SearchInput=V.SearchInput;export{k as Data,k as default};