amotify 0.2.305 → 0.2.306

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.
@@ -1 +1 @@
1
- import{b as n,c as y,d as j,e as ye}from"../../chunk-C5N2D3ZX.js";import{Fragment as ke,jsx as a,jsxs as F}from"react/jsx-runtime";import m,{useStore as re,UUID as ge}from"jmini";import pe,{useState as he,useEffect as le}from"react";import{ExtractStyles as W,GenerateHTMLProps as Ce,dragEffect as ie,useRemote as oe}from"../../@utils";import{faArrowUp as Re}from"@fortawesome/free-solid-svg-icons/faArrowUp";import{faUpDown as Ie}from"@fortawesome/free-solid-svg-icons/faUpDown";import{Box as w,Flex as xe,FAI as v,Span as Te}from"../../atoms";import{Literal as de,Row as _,MarkerPen as ue}from"../../mols";import{Button as ae}from"../Button";import P from"../Input";import{TableClasses as we}from"../../@styles/componentClasses";import{faGripVertical as fe}from"@fortawesome/free-solid-svg-icons/faGripVertical";import{Tips as me}from"../Tips";const u={reservedKeys:["row_id","columnIdx","isSelected","isFilterMatched","isVisible","draggerIndex","onRowClick"],toSafetyHeader:t=>{let e=!!t.some(r=>r.draggable);return(t==null?void 0:t.map((r,d)=>{var i;return m.isRecord(r)||(r={key:r}),e&&(r.sortable=0,r.filterable=!1),r.columnIdx=(i=r.columnIdx)!=null?i:d,r}).toASC("columnIdx"))||[]},toSafetyBody:t=>t==null?void 0:t.map((e,o)=>{var d;let r={};return Object.entries(e).forEach(([i,s])=>{var p,f;if(m.isOneOf(i,...u.reservedKeys))return;let l=s;m.isNullish(l)||(m.isRecord(l)||(l={data:l}),l.sortKey=(f=(p=l.sortKey)!=null?p:String(l.data))!=null?f:"",r[i]=l)}),r=y(n({},r),{row_id:(d=e.row_id)!=null?d:o,onRowClick:e.onRowClick,isSelected:!!e.isSelected,isFilterMatched:!0,isVisible:!0,draggerIndex:o}),r}),toSafetyData:t=>{var r,d,i;let{header:e=[]}=t,o={datagridID:t.datagridID||ge(),colLength:t.colLength||e.length||0,body:u.toSafetyBody(t.body||[]),filter:{keyword:t.defaultSearchKey||"",current:[]},sort:{col:-1,dir:1},paging:{rows:t.maxRows||100,total:1,current:1},draggable:!!e.some(s=>s.draggable)};{let s=(r=e==null?void 0:e.filter(l=>l.defSort))==null?void 0:r[0];s&&(o.sort.col=(d=e.indexOf(s))!=null?d:-1,o.sort.dir=(i=s==null?void 0:s.sortable)!=null?i:1)}return o.draggable&&(o.filter.keyword="",o.sort.col=-1,o.sort.dir=0),u.updateRowMeta(o,t)},updateRowMeta:(t,e)=>{let o=n({},t);if(o.sort.col>=0&&o.sort.dir){let r=e.header[o.sort.col].key;o.sort.dir==1?o.body.toASC(r+".sortKey"):o.body.toDESC(r+".sortKey")}{let r=String(o.filter.keyword)||"";o.body.forEach(d=>{if(d.isFilterMatched=!0,!r)return;let i=e.header.some(s=>{var f;let l=d[s.key];return!l||!l.sortKey?!1:!!((f=String(l.sortKey||l.data))!=null&&f.match(new RegExp(r.escapeRegExChar(),"i")))});d.isFilterMatched=i})}{let r=o.paging.rows;o.paging.total=Math.ceil(o.body.filter(l=>l.isFilterMatched).length/r);let d=r*(o.paging.current-1),i=d+r,s=0;o.body.forEach(l=>{l.isVisible=!1,l.isFilterMatched&&(l.isVisible=s>=d&&s<i,s++)})}return o.draggable&&o.body.toASC("draggerIndex"),o},index:t=>{var p,f,M;let[e,o]=he(()=>u.toSafetyData(t));le(()=>{re.set({["refresh-"+e.datagridID]:()=>o(g=>u.updateRowMeta(y(n({},g),{body:u.toSafetyBody(t.body)}),t))})},[t]),le(()=>{re.set({["rows-"+e.datagridID]:e.body}),oe.bridge(e.datagridID,{val_config:e,remoteUpdate:{paging:g=>{o(c=>u.updateRowMeta(y(n({},c),{paging:y(n({},c.paging),{current:Math.max(1,Math.min(c.paging.total,g))})}),t))},maxRow:g=>{o(c=>u.updateRowMeta(y(n({},c),{paging:y(n({},c.paging),{rows:g,current:1})}),t))},searchKey:g=>{e.draggable||m.interval.once(()=>{o(c=>{let h=y(n({},c),{paging:y(n({},c.paging),{current:1}),filter:y(n({},c.filter),{keyword:String(g||"").trim()})});return u.updateRowMeta(h,t)})},300,"InputSearchTime")}}})},[e]);const r=pe.useRef(!1);le(()=>{if(t.onSelected){if(!r.current){r.current=!0;return}t.onSelected(e.body.filter(g=>g.isSelected))}},[(p=e==null?void 0:e.body)==null?void 0:p.filter(g=>g.isSelected).length]);const d=pe.useRef(!1);le(()=>{if(t.onSorted){if(!d.current){d.current=!0;return}t.onSorted(e.sort.col,e.sort.dir)}},[(f=e==null?void 0:e.sort)==null?void 0:f.col,(M=e==null?void 0:e.sort)==null?void 0:M.dir]);let i={input:t,val_config:e,set_config:o},{className:s,style:l}=Ce(t);return a(w,{className:s,style:l,children:a(I.Table,{className:we("DataGrid"),borderRadius:"inherit",children:F(I.Body,{children:[a(u.Header,n({},i)),a(u.Body,n({},i)),a(u.Footer,n({},i))]})})})},Checker:t=>a(w,{flexCenter:!0,onClick:e=>{e.stopPropagation()},children:a(P.Checker,y(n({wrapStyles:{display:"inlineBlock"},cellStyles:{gap:0}},t),{label:!1}))}),Header:t=>{let{input:e,val_config:o,set_config:r}=t;if(e.headerless)return null;let d="datagrid-dragger-"+o.datagridID,i=["datagrid",o.datagridID,""].join("-"),s=1+o.body.filter(l=>l.isVisible).length+ +!!e.footer;return a(ie.DropArea,y(n({jsxElement:I.Row,id:i},e.rowStyles),{dragInfo:{type:d,id:i,idx:0,marker:"bottom"},children:e.header.toASC("columnIdx").map((l,p)=>{var Q,X,Y,Z,k,A;let[f,M]=W(l),J=M,{isTH:g,key:c,label:h,onLabelRender:D,columnIdx:x,checkable:L,draggable:V,defSort:q,sortable:G,filterable:U,isHidden:H}=J,T=j(J,["isTH","key","label","onLabelRender","columnIdx","checkable","draggable","defSort","sortable","filterable","isHidden"]);if(H)return null;let S={rowIdx:0,colIdx:p,topIdx:0,leftIdx:p,rightIdx:o.colLength-p-1,bottomIdx:s-1,isHeader:!0,isBody:!1,isFooter:!1},R=V,O=G!=0,E=p==o.sort.col,z=m.deepMerge(m.deepCopy(e.cellStyles),se(S,{}),(Q=e.cellStyles)==null?void 0:Q.onHeader,!S.leftIdx&&((X=e.cellStyles)==null?void 0:X.onLeft),!S.rightIdx&&((Y=e.cellStyles)==null?void 0:Y.onRight),!S.topIdx&&((Z=e.cellStyles)==null?void 0:Z.onTop),!S.bottomIdx&&((k=e.cellStyles)==null?void 0:k.onBottom),f);e.onCellStyles&&(z=e.onCellStyles(S,z||{}));let N=[],$=[];if(R&&N.push(a(ae.Clear.S,{ssSphere:2,fontColor:"theme",onMouseOver:b=>{me.open(b.currentTarget,F(de.Supplement,{children:[a(v,{icon:fe}),"\u30C9\u30E9\u30C3\u30B0\u3067\u5217\u306E\u9806\u756A\u3092\u5909\u66F4"]}),22)},onMouseLeave:b=>me.abort(),onClick:b=>{b.stopPropagation()},children:a(v.QuestionCircle,{})},"drag")),L){let b=a(u.Checker,{value:o.body.every(C=>C.isSelected),onUpdateValue:C=>{r(B=>{let K=n({},B);return K.body.forEach(ee=>{ee.isFilterMatched&&(ee.isSelected=!!C)}),K})}},"check");L=="left"?N.push(b):$.push(b)}return O&&N.push(a(v,{fontSize:"1.mini",fontColor:"theme",opacity:E?"max":"low",transition:"middle",xcss:{transform:E&&o.sort.dir==-1?"rotate(180deg)":"none"},icon:E?Re:Ie},"sort")),a(I.Cell,y(n(n({isTH:!!g,ssPushable:!!G},W(z||{})[0]),T),{className:[e.cellClassName,T.className].join(" "),onClick:b=>{T.onClick&&T.onClick(b),e.onCellClick&&e.onCellClick(S,b),O&&r(C=>{let B=n({},C);return B.sort={col:p,dir:E?C.sort.dir*-1:G},u.updateRowMeta(B,e)})},children:F(_.Left,{gap:"1/4",height:1,children:[N,(A=D==null?void 0:D(c))!=null?A:a(w,{flexSizing:0,children:h!=null?h:c}),$]})}),p)})}))},Body:t=>{var s;let{input:e,val_config:o,set_config:r}=t,d=o.body.filter(l=>l.isVisible),i=+!e.headerless+d.length+ +!!e.footer;return F(ke,{children:[!d.length&&a(I.Row,y(n({},e.rowStyles),{children:a(I.Cell,{colSpan:o.colLength,padding:1,children:(s=e.onNoRecordsRender)==null?void 0:s.call(e)})})),d.map((l,p)=>{let f=p;e.headerless||(f+=1);let M="datagrid-dragger-"+o.datagridID,g=["datagrid",o.datagridID,l.row_id].join("-");return a(ie.DropArea,y(n({jsxElement:I.Row,id:g,ssPushable:!!e.onRowClick||!!l.onRowClick},e.rowStyles),{onClick:c=>{l.onRowClick&&l.onRowClick(c),e.onRowClick&&e.onRowClick(l,c)},dragInfo:{type:M,id:g,idx:p+1,disabled:!o.draggable,marker:"bottom"},children:e.header.toASC("columnIdx").map((c,h)=>{var $,J,Q,X,Y,Z;let D=c.draggable,x=l[c.key];if(!x)return null;let[L,V]=W(x),N=V,{isTH:q,sortKey:G,data:U,label:H,onLabelRender:T}=N,S=j(N,["isTH","sortKey","data","label","onLabelRender"]),R={rowIdx:f,colIdx:h,topIdx:f,leftIdx:h,rightIdx:o.colLength-h-1,bottomIdx:i-f-1,isHeader:!1,isBody:!0,isFooter:!1},O=m.deepMerge(m.deepCopy(e.cellStyles),se(R,{}),($=e.cellStyles)==null?void 0:$.onBody,!R.leftIdx&&((J=e.cellStyles)==null?void 0:J.onLeft),!R.rightIdx&&((Q=e.cellStyles)==null?void 0:Q.onRight),!R.topIdx&&((X=e.cellStyles)==null?void 0:X.onTop),!R.bottomIdx&&((Y=e.cellStyles)==null?void 0:Y.onBottom),L);e.onCellStyles&&(O=e.onCellStyles(R,O||{}));let E=[],z=[];if(D&&E.push(a(ae.Clear.S,{tabIndex:-1,isRounded:!0,ssSphere:2.5,fontColor:"6.clear",onPointerDown:k=>{let A=m("#"+g)[0],b=A.cloneNode(!0);b.style.width=A.offsetWidth+"px",ie.Start(M,{dragElement:b,startEvent:k,originId:g,horizontal:!1},C=>ye(void 0,null,function*(){if(!C.onDropArea)return;let B=p,K=Number(C.idx);if(m.isNullish(K)||K==-1||(K>B&&K--,B==K)||!C.end)return;let ee=o.paging.rows*(o.paging.current-1);B+=ee,K+=ee;let te=[...o.body||[]],be=te.splice(B,1)[0];te.splice(K,0,be),te.forEach((ne,Se)=>{ne.draggerIndex=Se+1}),e.onDragged&&e.onDragged(te),r(ne=>y(n({},ne),{body:te}))}))},children:a(_.Center,{gap:"1/4",children:a(v,{icon:fe})})},"drag")),c.checkable){let k=a(u.Checker,{override:"force",value:!!l.isSelected,onUpdateValue:A=>{r(b=>y(n({},b),{body:b.body.map(C=>(C.row_id==l.row_id&&(C.isSelected=!!A),C))}))}},"check");c.checkable=="left"?E.push(k):z.push(k)}return a(I.Cell,y(n(n({isTH:!!q},W(O||{})[0]),S),{className:[e.cellClassName,S.className].join(" "),onClick:k=>{S.onClick&&S.onClick(k),e.onCellClick&&e.onCellClick(R,k)},children:F(_.Left,{gap:"1/4",height:1,children:[E,(Z=T==null?void 0:T(U))!=null?Z:a(w,{flexSizing:0,children:ue(H!=null?H:String(U),o.filter.keyword)}),z]})}),h)})}),String(l.row_id))})]})},Footer:t=>{let{input:e,val_config:o,set_config:r}=t;if(!e.footer)return null;let d=+!e.headerless+o.body.filter(i=>i.isVisible).length+1;return a(I.Row,y(n({},e.rowStyles),{children:e.header.toASC("columnIdx").map((i,s)=>{var q,G,U,H,T,S;let l=e.footer[i.key];if(!l)return null;m.isRecord(l)||(l={data:l});let[p,f]=W(l),V=f,{isTH:M,data:g,label:c,onLabelRender:h}=V,D=j(V,["isTH","data","label","onLabelRender"]),x={rowIdx:d-1,colIdx:s,topIdx:d-1,leftIdx:s,rightIdx:o.colLength-s-1,bottomIdx:0,isHeader:!1,isBody:!1,isFooter:!0},L=m.deepMerge(m.deepCopy(e.cellStyles),se(x,{}),(q=e.cellStyles)==null?void 0:q.onBody,!x.leftIdx&&((G=e.cellStyles)==null?void 0:G.onLeft),!x.rightIdx&&((U=e.cellStyles)==null?void 0:U.onRight),!x.topIdx&&((H=e.cellStyles)==null?void 0:H.onTop),!x.bottomIdx&&((T=e.cellStyles)==null?void 0:T.onBottom),p);return e.onCellStyles&&(L=e.onCellStyles(x,L||{})),a(I.Cell,y(n(n({isTH:!!M},W(L||{})[0]),D),{className:[e.cellClassName,D.className].join(" "),onClick:R=>{D.onClick&&D.onClick(R),e.onCellClick&&e.onCellClick(x,R)},children:a(w,{flexSizing:0,children:(S=h==null?void 0:h(g))!=null?S:ue(c!=null?c:String(g),o.filter.keyword)})}),s)})}))}},se=(t,e)=>{let o=n({},e);return t.topIdx||(o.borderTop="unset"),t.bottomIdx||(o.borderBottom="unset"),t.rightIdx||(o.borderRight="unset"),t.leftIdx||(o.borderLeft="unset"),t.topIdx||(t.leftIdx||(o.borderTopLeftRadius="inherit"),t.rightIdx||(o.borderTopRightRadius="inherit")),t.bottomIdx||(t.leftIdx||(o.borderBottomLeftRadius="inherit"),t.rightIdx||(o.borderBottomRightRadius="inherit")),o},De=t=>(t=n({datagridID:ge(),tone:"border",colLength:0,maxRows:100,onNoRecordsRender:()=>a(_.Center,{children:a(de.Supplement,{fontColor:"4.thin",children:"(\u30C7\u30FC\u30BF\u306A\u3057)"})})},t),t.rowStyles=n({backgroundColor:"layer.0"},t.rowStyles),t.cellStyles=n(y(n({},m.scope(()=>{if(!t.tone)return{};let e={};return m.isOneOf(t.tone,"border","border.horizontal")&&(e.borderBottom="2.normal"),m.isOneOf(t.tone,"border","border.vertical")&&(e.borderRight="2.normal"),e})),{position:"relative",padding:"1/3",transition:"short"}),t.cellStyles),t.tone&&(t=n({border:!0,borderRadius:"2.tone.secondary",backgroundColor:"layer.1"},t)),t.header=u.toSafetyHeader(t.header||[]),t.header.forEach((e,o)=>{var r;e.sortable=(r=e.sortable)!=null?r:1,e.checkable===!0&&(e.checkable="left")}),a(u.index,n({},t))),ce={getBodyRows:t=>re.get("rows-"+t)||[],toSafetyBody:u.toSafetyBody,remoteRefresh:t=>{var e;(e=re.get("refresh-"+t))==null||e()},reservedKeys:u.reservedKeys,Table:t=>a(w,y(n({htmlTag:"table",borderRadius:"inherit"},t),{border:t.border})),Head:t=>a(w,n({htmlTag:"thead",borderRadius:"inherit"},t)),Body:t=>a(w,n({htmlTag:"tbody",borderRadius:"inherit"},t)),Row:t=>a(w,n({htmlTag:"tr",borderRadius:"inherit"},t)),TH:t=>a(w,n({htmlTag:"th"},t)),TD:t=>a(w,n({htmlTag:"td"},t)),Cell:t=>{let r=t,{isTH:e}=r,o=j(r,["isTH"]);return e?a(ce.TH,n({},o)):a(ce.TD,n({},o))},RightIndicator:{data:"",label:a(_.Right,{children:a(v.AngleRight,{fontColor:"theme",fontSize:"3.paragraph"})})},SearchInput:t=>{let i=t,{datagridID:e}=i,o=j(i,["datagridID"]),r=oe.catch(t.datagridID);if(!r)return console.warn("[DataGrid] SearchInput must be used inside DataGrid."),null;let{val_config:d}=r;return a(P.TextField,y(n({label:"\u691C\u7D22...",clearButton:!0,padding:["1/2","2/3"],rightIcon:a(P.RightIcon,{ssSphere:2,fontColor:"5.translucent",right:"2/3",children:a(v.Search,{})}),value:d.filter.keyword},o),{onUpdateValidValue:(...s)=>{o.onUpdateValidValue&&o.onUpdateValidValue(...s),r.remoteUpdate.searchKey(s[0])}}))},Info:t=>{let e=oe.catch(t.datagridID);if(!e)return null;let{val_config:o}=e,r=o.body.length,d=o.body.filter(s=>s.isFilterMatched).length,i=d.ratio(r)||0;return F(xe,{verticalAlign:"baseline",gap:"1/2",fontSize:"1.mini",fontColor:"3.blur",children:[a(Te,{fontSize:"4.thirdTitle",fontColor:"theme",children:d.toLocaleString()}),"/ ",r.toLocaleString(),"\u4EF6 (",i,"%)"]})},Paging:t=>{let e=oe.catch(t.datagridID);if(!e)return null;let{val_config:o}=e,r=[];for(let i=0;i<o.paging.total;i++)r.push({value:i+1,label:(i+1).toString()});const d=i=>{let s=Math.min(Math.max(1,i),o.paging.total),l=n({},o);l.paging.current=s,e.remoteUpdate.paging(s)};return a(P.Select,{emptySelect:!1,padding:["1/3","2/3"],override:"force",gap:0,leftIcon:a(P.LeftIcon,{xcss:{left:2,pointerEvents:"all"},children:a(ae.Sub.S,{color:"cloud",fontColor:"4.thin",ssSquare:2.5,unitWidth:2,onClick:()=>{if(o.paging.current==1){d(o.paging.total);return}d(o.paging.current-1)},children:a(v.ChevronLeft,{})})}),rightIcon:a(P.RightIcon,{xcss:{right:2,pointerEvents:"all"},children:a(ae.Sub.S,{color:"cloud",fontColor:"4.thin",ssSquare:2.5,unitWidth:2,onClick:()=>{if(o.paging.current==o.paging.total){d(1);return}d(o.paging.current+1)},children:a(v.ChevronRight,{})})}),options:r.map(i=>({value:i.value||0,label:F(_.Left,{gap:"1/3",verticalAlign:"baseline",children:[i.label,F(de,{fontColor:"4.thin",fontSize:"0.xs",children:["/ ",o.paging.total]})]})})),value:o.paging.current,onUpdateValidValue:i=>{d(i)}})},RowCount:t=>{let e=oe.catch(t.datagridID);if(!e)return null;let{val_config:o}=e,r=o.body.filter(l=>l.isFilterMatched).length,d=o.paging.rows,i=0,s=t.options.map(l=>(i|=+(l==d),{value:l,label:l.toString()}));return i||s.push({value:d,label:d.toString()}),a(_.Center,{gap:"1/2",children:a(P.Select,{emptySelect:!1,override:"force",padding:"1/3",paddingLeft:3,paddingRight:2,pickerStyles:{xcss:{minWidth:12*9}},pickerPosition:4,leftIcon:a(P.LeftIcon,{fontSize:"0.xs",fontColor:"4.thin",xcss:{left:6},children:"\u8868\u793A"}),rightIcon:a(P.RightIcon,{fontSize:"0.xs",fontColor:"4.thin",xcss:{right:6},children:"\u4EF6"}),value:o.paging.rows,options:s.toASC("value"),onUpdateValidValue:l=>{e.remoteUpdate.maxRow(Number(l))}})})}},I=Object.assign(De,ce);export{I as DataGrid,I as default,se as onDefaultCellStyles};
1
+ import{b as n,c as g,d as j,e as ye}from"../../chunk-C5N2D3ZX.js";import{Fragment as ke,jsx as r,jsxs as _}from"react/jsx-runtime";import m,{useStore as re,UUID as le}from"jmini";import pe,{useState as he,useEffect as ae}from"react";import{ExtractStyles as W,GenerateHTMLProps as Ce,dragEffect as de,useRemote as oe}from"../../@utils";import{faArrowUp as Re}from"@fortawesome/free-solid-svg-icons/faArrowUp";import{faUpDown as Ie}from"@fortawesome/free-solid-svg-icons/faUpDown";import{Box as w,Flex as xe,FAI as v,Span as Te}from"../../atoms";import{Literal as se,Row as A,MarkerPen as ue}from"../../mols";import{Button as ne}from"../Button";import P from"../Input";import{TableClasses as we}from"../../@styles/componentClasses";import{faGripVertical as fe}from"@fortawesome/free-solid-svg-icons/faGripVertical";import{Tips as me}from"../Tips";const u={reservedKeys:["row_id","columnIdx","isSelected","isFilterMatched","isVisible","draggerIndex","onRowClick"],toSafetyHeader:t=>{let e=!!t.some(l=>l.draggable);return(t==null?void 0:t.map((l,d)=>{var i;return m.isRecord(l)||(l={key:l}),e&&(l.sortable=0,l.filterable=!1),l.columnIdx=(i=l.columnIdx)!=null?i:d,l}).toASC("columnIdx"))||[]},toSafetyBody:t=>t==null?void 0:t.map((e,o)=>{var d;let l={};return Object.entries(e).forEach(([i,s])=>{var p,f;if(m.isOneOf(i,...u.reservedKeys))return;let a=s;m.isNullish(a)||(m.isRecord(a)||(a={data:a}),a.sortKey=(f=(p=a.sortKey)!=null?p:String(a.data))!=null?f:"",l[i]=a)}),l=g(n({},l),{row_id:(d=e.row_id)!=null?d:o,onRowClick:e.onRowClick,isSelected:!!e.isSelected,isFilterMatched:!0,isVisible:!0,draggerIndex:o}),l}),toSafetyData:t=>{var l,d,i;let{header:e=[]}=t,o={datagridID:t.datagridID||le(),sessionID:le(),colLength:t.colLength||e.length||0,body:u.toSafetyBody(t.body||[]),filter:{keyword:t.defaultSearchKey||"",current:[]},sort:{col:-1,dir:1},paging:{rows:t.maxRows||100,total:1,current:1},draggable:!!e.some(s=>s.draggable)};{let s=(l=e==null?void 0:e.filter(a=>a.defSort))==null?void 0:l[0];s&&(o.sort.col=(d=e.indexOf(s))!=null?d:-1,o.sort.dir=(i=s==null?void 0:s.sortable)!=null?i:1)}return o.draggable&&(o.filter.keyword="",o.sort.col=-1,o.sort.dir=0),u.updateRowMeta(o,t)},updateRowMeta:(t,e)=>{let o=n({},t);if(o.sort.col>=0&&o.sort.dir){let l=e.header[o.sort.col].key;o.sort.dir==1?o.body.toASC(l+".sortKey"):o.body.toDESC(l+".sortKey")}{let l=String(o.filter.keyword)||"";o.body.forEach(d=>{if(d.isFilterMatched=!0,!l)return;let i=e.header.some(s=>{var f;let a=d[s.key];return!a||!a.sortKey?!1:!!((f=String(a.sortKey||a.data))!=null&&f.match(new RegExp(l.escapeRegExChar(),"i")))});d.isFilterMatched=i})}{let l=o.paging.rows;o.paging.total=Math.ceil(o.body.filter(a=>a.isFilterMatched).length/l);let d=l*(o.paging.current-1),i=d+l,s=0;o.body.forEach(a=>{a.isVisible=!1,a.isFilterMatched&&(a.isVisible=s>=d&&s<i,s++)})}return o.draggable&&o.body.toASC("draggerIndex"),o},index:t=>{var p,f,M;let[e,o]=he(()=>u.toSafetyData(t));ae(()=>{re.set({["refresh-"+e.datagridID]:()=>{o(y=>g(n({},u.updateRowMeta(g(n({},y),{body:u.toSafetyBody(t.body)}),t)),{sessionID:le(),colLength:t.colLength||t.header.length||0}))}})},[t]),ae(()=>{re.set({["rows-"+e.datagridID]:e.body}),oe.bridge(e.datagridID,{val_config:e,remoteUpdate:{paging:y=>{o(c=>u.updateRowMeta(g(n({},c),{paging:g(n({},c.paging),{current:Math.max(1,Math.min(c.paging.total,y))})}),t))},maxRow:y=>{o(c=>u.updateRowMeta(g(n({},c),{paging:g(n({},c.paging),{rows:y,current:1})}),t))},searchKey:y=>{e.draggable||m.interval.once(()=>{o(c=>{let h=g(n({},c),{paging:g(n({},c.paging),{current:1}),filter:g(n({},c.filter),{keyword:String(y||"").trim()})});return u.updateRowMeta(h,t)})},300,"InputSearchTime")}}})},[e]);const l=pe.useRef(!1);ae(()=>{if(t.onSelected){if(!l.current){l.current=!0;return}t.onSelected(e.body.filter(y=>y.isSelected))}},[(p=e==null?void 0:e.body)==null?void 0:p.filter(y=>y.isSelected).length]);const d=pe.useRef(!1);ae(()=>{if(t.onSorted){if(!d.current){d.current=!0;return}t.onSorted(e.sort.col,e.sort.dir)}},[(f=e==null?void 0:e.sort)==null?void 0:f.col,(M=e==null?void 0:e.sort)==null?void 0:M.dir]);let i={input:t,val_config:e,set_config:o},{className:s,style:a}=Ce(t);return r(w,{className:s,style:a,children:r(I.Table,{className:we("DataGrid"),borderRadius:"inherit",children:_(I.Body,{children:[r(u.Header,n({},i)),r(u.Body,n({},i)),r(u.Footer,n({},i))]})},e.sessionID)})},Checker:t=>r(w,{flexCenter:!0,onClick:e=>{e.stopPropagation()},children:r(P.Checker,g(n({wrapStyles:{display:"inlineBlock"},cellStyles:{gap:0}},t),{label:!1}))}),Header:t=>{let{input:e,val_config:o,set_config:l}=t;if(e.headerless)return null;let d="datagrid-dragger-"+o.datagridID,i=["datagrid",o.datagridID,""].join("-"),s=1+o.body.filter(a=>a.isVisible).length+ +!!e.footer;return r(de.DropArea,g(n({jsxElement:I.Row,id:i},e.rowStyles),{dragInfo:{type:d,id:i,idx:0,marker:"bottom"},children:e.header.toASC("columnIdx").map((a,p)=>{var Q,X,Y,Z,k,N;let[f,M]=W(a),J=M,{isTH:y,key:c,label:h,onLabelRender:D,columnIdx:x,checkable:L,draggable:V,defSort:q,sortable:F,filterable:U,isHidden:H}=J,T=j(J,["isTH","key","label","onLabelRender","columnIdx","checkable","draggable","defSort","sortable","filterable","isHidden"]);if(H)return null;let S={rowIdx:0,colIdx:p,topIdx:0,leftIdx:p,rightIdx:o.colLength-p-1,bottomIdx:s-1,isHeader:!0,isBody:!1,isFooter:!1},R=V,O=F!=0,E=p==o.sort.col,z=m.deepMerge(m.deepCopy(e.cellStyles),ce(S,{}),(Q=e.cellStyles)==null?void 0:Q.onHeader,!S.leftIdx&&((X=e.cellStyles)==null?void 0:X.onLeft),!S.rightIdx&&((Y=e.cellStyles)==null?void 0:Y.onRight),!S.topIdx&&((Z=e.cellStyles)==null?void 0:Z.onTop),!S.bottomIdx&&((k=e.cellStyles)==null?void 0:k.onBottom),f);e.onCellStyles&&(z=e.onCellStyles(S,z||{}));let G=[],$=[];if(R&&G.push(r(ne.Clear.S,{ssSphere:2,fontColor:"theme",onMouseOver:b=>{me.open(b.currentTarget,_(se.Supplement,{children:[r(v,{icon:fe}),"\u30C9\u30E9\u30C3\u30B0\u3067\u5217\u306E\u9806\u756A\u3092\u5909\u66F4"]}),22)},onMouseLeave:b=>me.abort(),onClick:b=>{b.stopPropagation()},children:r(v.QuestionCircle,{})},"drag")),L){let b=r(u.Checker,{value:o.body.every(C=>C.isSelected),onUpdateValue:C=>{l(B=>{let K=n({},B);return K.body.forEach(ee=>{ee.isFilterMatched&&(ee.isSelected=!!C)}),K})}},"check");L=="left"?G.push(b):$.push(b)}return O&&G.push(r(v,{fontSize:"1.mini",fontColor:"theme",opacity:E?"max":"low",transition:"middle",xcss:{transform:E&&o.sort.dir==-1?"rotate(180deg)":"none"},icon:E?Re:Ie},"sort")),r(I.Cell,g(n(n({isTH:!!y,ssPushable:!!F},W(z||{})[0]),T),{className:[e.cellClassName,T.className].join(" "),onClick:b=>{T.onClick&&T.onClick(b),e.onCellClick&&e.onCellClick(S,b),O&&l(C=>{let B=n({},C);return B.sort={col:p,dir:E?C.sort.dir*-1:F},u.updateRowMeta(B,e)})},children:_(A.Left,{gap:"1/4",height:1,children:[G,(N=D==null?void 0:D(c))!=null?N:r(w,{flexSizing:0,children:h!=null?h:c}),$]})}),p)})}))},Body:t=>{var s;let{input:e,val_config:o,set_config:l}=t,d=o.body.filter(a=>a.isVisible),i=+!e.headerless+d.length+ +!!e.footer;return d.length?r(ke,{children:d.map((a,p)=>{let f=p;e.headerless||(f+=1);let M="datagrid-dragger-"+o.datagridID,y=["datagrid",o.datagridID,a.row_id].join("-");return r(de.DropArea,g(n({jsxElement:I.Row,id:y,ssPushable:!!e.onRowClick||!!a.onRowClick},e.rowStyles),{onClick:c=>{a.onRowClick&&a.onRowClick(c),e.onRowClick&&e.onRowClick(a,c)},dragInfo:{type:M,id:y,idx:p+1,disabled:!o.draggable,marker:"bottom"},children:e.header.toASC("columnIdx").map((c,h)=>{var $,J,Q,X,Y,Z;let D=c.draggable,x=a[c.key];if(!x)return null;let[L,V]=W(x),G=V,{isTH:q,sortKey:F,data:U,label:H,onLabelRender:T}=G,S=j(G,["isTH","sortKey","data","label","onLabelRender"]),R={rowIdx:f,colIdx:h,topIdx:f,leftIdx:h,rightIdx:o.colLength-h-1,bottomIdx:i-f-1,isHeader:!1,isBody:!0,isFooter:!1},O=m.deepMerge(m.deepCopy(e.cellStyles),ce(R,{}),($=e.cellStyles)==null?void 0:$.onBody,!R.leftIdx&&((J=e.cellStyles)==null?void 0:J.onLeft),!R.rightIdx&&((Q=e.cellStyles)==null?void 0:Q.onRight),!R.topIdx&&((X=e.cellStyles)==null?void 0:X.onTop),!R.bottomIdx&&((Y=e.cellStyles)==null?void 0:Y.onBottom),L);e.onCellStyles&&(O=e.onCellStyles(R,O||{}));let E=[],z=[];if(D&&E.push(r(ne.Clear.S,{tabIndex:-1,isRounded:!0,ssSphere:2.5,fontColor:"6.clear",onPointerDown:k=>{let N=m("#"+y)[0],b=N.cloneNode(!0);b.style.width=N.offsetWidth+"px",de.Start(M,{dragElement:b,startEvent:k,originId:y,horizontal:!1},C=>ye(void 0,null,function*(){if(!C.onDropArea)return;let B=p,K=Number(C.idx);if(m.isNullish(K)||K==-1||(K>B&&K--,B==K)||!C.end)return;let ee=o.paging.rows*(o.paging.current-1);B+=ee,K+=ee;let te=[...o.body||[]],be=te.splice(B,1)[0];te.splice(K,0,be),te.forEach((ie,Se)=>{ie.draggerIndex=Se+1}),e.onDragged&&e.onDragged(te),l(ie=>g(n({},ie),{body:te}))}))},children:r(A.Center,{gap:"1/4",children:r(v,{icon:fe})})},"drag")),c.checkable){let k=r(u.Checker,{override:"force",value:!!a.isSelected,onUpdateValue:N=>{l(b=>g(n({},b),{body:b.body.map(C=>(C.row_id==a.row_id&&(C.isSelected=!!N),C))}))}},"check");c.checkable=="left"?E.push(k):z.push(k)}return r(I.Cell,g(n(n({isTH:!!q},W(O||{})[0]),S),{className:[e.cellClassName,S.className].join(" "),onClick:k=>{S.onClick&&S.onClick(k),e.onCellClick&&e.onCellClick(R,k)},children:_(A.Left,{gap:"1/4",height:1,children:[E,(Z=T==null?void 0:T(U))!=null?Z:r(w,{flexSizing:0,children:ue(H!=null?H:String(U),o.filter.keyword)}),z]})}),h)})}),[a.row_id,f].join("."))})}):r(I.Row,g(n({},e.rowStyles),{children:r(I.Cell,{colSpan:o.colLength,padding:1,children:(s=e.onNoRecordsRender)==null?void 0:s.call(e)})}))},Footer:t=>{let{input:e,val_config:o,set_config:l}=t;if(!e.footer)return null;let d=+!e.headerless+o.body.filter(i=>i.isVisible).length+1;return r(I.Row,g(n({},e.rowStyles),{children:e.header.toASC("columnIdx").map((i,s)=>{var q,F,U,H,T,S;let a=e.footer[i.key];if(!a)return null;m.isRecord(a)||(a={data:a});let[p,f]=W(a),V=f,{isTH:M,data:y,label:c,onLabelRender:h}=V,D=j(V,["isTH","data","label","onLabelRender"]),x={rowIdx:d-1,colIdx:s,topIdx:d-1,leftIdx:s,rightIdx:o.colLength-s-1,bottomIdx:0,isHeader:!1,isBody:!1,isFooter:!0},L=m.deepMerge(m.deepCopy(e.cellStyles),ce(x,{}),(q=e.cellStyles)==null?void 0:q.onBody,!x.leftIdx&&((F=e.cellStyles)==null?void 0:F.onLeft),!x.rightIdx&&((U=e.cellStyles)==null?void 0:U.onRight),!x.topIdx&&((H=e.cellStyles)==null?void 0:H.onTop),!x.bottomIdx&&((T=e.cellStyles)==null?void 0:T.onBottom),p);return e.onCellStyles&&(L=e.onCellStyles(x,L||{})),r(I.Cell,g(n(n({isTH:!!M},W(L||{})[0]),D),{className:[e.cellClassName,D.className].join(" "),onClick:R=>{D.onClick&&D.onClick(R),e.onCellClick&&e.onCellClick(x,R)},children:r(w,{flexSizing:0,children:(S=h==null?void 0:h(y))!=null?S:ue(c!=null?c:String(y),o.filter.keyword)})}),s)})}))}},ce=(t,e)=>{let o=n({},e);return t.topIdx||(o.borderTop="unset"),t.bottomIdx||(o.borderBottom="unset"),t.rightIdx||(o.borderRight="unset"),t.leftIdx||(o.borderLeft="unset"),t.topIdx||(t.leftIdx||(o.borderTopLeftRadius="inherit"),t.rightIdx||(o.borderTopRightRadius="inherit")),t.bottomIdx||(t.leftIdx||(o.borderBottomLeftRadius="inherit"),t.rightIdx||(o.borderBottomRightRadius="inherit")),o},De=t=>(t=n({datagridID:le(),tone:"border",colLength:0,maxRows:100,onNoRecordsRender:()=>r(A.Center,{children:r(se.Supplement,{fontColor:"4.thin",children:"(\u30C7\u30FC\u30BF\u306A\u3057)"})})},t),t.rowStyles=n({backgroundColor:"layer.0"},t.rowStyles),t.cellStyles=n(g(n({},m.scope(()=>{if(!t.tone)return{};let e={};return m.isOneOf(t.tone,"border","border.horizontal")&&(e.borderBottom="2.normal"),m.isOneOf(t.tone,"border","border.vertical")&&(e.borderRight="2.normal"),e})),{position:"relative",padding:"1/3",transition:"short"}),t.cellStyles),t.tone&&(t=n({border:!0,borderRadius:"2.tone.secondary",backgroundColor:"layer.1"},t)),t.header=u.toSafetyHeader(t.header||[]),t.header.forEach((e,o)=>{var l;e.sortable=(l=e.sortable)!=null?l:1,e.checkable===!0&&(e.checkable="left")}),r(u.index,n({},t))),ge={getBodyRows:t=>re.get("rows-"+t)||[],toSafetyBody:u.toSafetyBody,remoteRefresh:t=>{var e;(e=re.get("refresh-"+t))==null||e()},reservedKeys:u.reservedKeys,Table:t=>r(w,g(n({htmlTag:"table",borderRadius:"inherit"},t),{border:t.border})),Head:t=>r(w,n({htmlTag:"thead",borderRadius:"inherit"},t)),Body:t=>r(w,n({htmlTag:"tbody",borderRadius:"inherit"},t)),Row:t=>r(w,n({htmlTag:"tr",borderRadius:"inherit"},t)),TH:t=>r(w,n({htmlTag:"th"},t)),TD:t=>r(w,n({htmlTag:"td"},t)),Cell:t=>{let l=t,{isTH:e}=l,o=j(l,["isTH"]);return e?r(ge.TH,n({},o)):r(ge.TD,n({},o))},RightIndicator:{data:"",label:r(A.Right,{children:r(v.AngleRight,{fontColor:"theme",fontSize:"3.paragraph"})})},SearchInput:t=>{let i=t,{datagridID:e}=i,o=j(i,["datagridID"]),l=oe.catch(t.datagridID);if(!l)return console.warn("[DataGrid] SearchInput must be used inside DataGrid."),null;let{val_config:d}=l;return r(P.TextField,g(n({label:"\u691C\u7D22...",clearButton:!0,padding:["1/2","2/3"],rightIcon:r(P.RightIcon,{ssSphere:2,fontColor:"5.translucent",right:"2/3",children:r(v.Search,{})}),value:d.filter.keyword},o),{onUpdateValidValue:(...s)=>{o.onUpdateValidValue&&o.onUpdateValidValue(...s),l.remoteUpdate.searchKey(s[0])}}))},Info:t=>{let e=oe.catch(t.datagridID);if(!e)return null;let{val_config:o}=e,l=o.body.length,d=o.body.filter(s=>s.isFilterMatched).length,i=d.ratio(l)||0;return _(xe,{verticalAlign:"baseline",gap:"1/2",fontSize:"1.mini",fontColor:"3.blur",children:[r(Te,{fontSize:"4.thirdTitle",fontColor:"theme",children:d.toLocaleString()}),"/ ",l.toLocaleString(),"\u4EF6 (",i,"%)"]})},Paging:t=>{let e=oe.catch(t.datagridID);if(!e)return null;let{val_config:o}=e,l=[];for(let i=0;i<o.paging.total;i++)l.push({value:i+1,label:(i+1).toString()});const d=i=>{let s=Math.min(Math.max(1,i),o.paging.total),a=n({},o);a.paging.current=s,e.remoteUpdate.paging(s)};return r(P.Select,{emptySelect:!1,padding:["1/3","2/3"],override:"force",gap:0,leftIcon:r(P.LeftIcon,{xcss:{left:2,pointerEvents:"all"},children:r(ne.Sub.S,{color:"cloud",fontColor:"4.thin",ssSquare:2.5,unitWidth:2,onClick:()=>{if(o.paging.current==1){d(o.paging.total);return}d(o.paging.current-1)},children:r(v.ChevronLeft,{})})}),rightIcon:r(P.RightIcon,{xcss:{right:2,pointerEvents:"all"},children:r(ne.Sub.S,{color:"cloud",fontColor:"4.thin",ssSquare:2.5,unitWidth:2,onClick:()=>{if(o.paging.current==o.paging.total){d(1);return}d(o.paging.current+1)},children:r(v.ChevronRight,{})})}),options:l.map(i=>({value:i.value||0,label:_(A.Left,{gap:"1/3",verticalAlign:"baseline",children:[i.label,_(se,{fontColor:"4.thin",fontSize:"0.xs",children:["/ ",o.paging.total]})]})})),value:o.paging.current,onUpdateValidValue:i=>{d(i)}})},RowCount:t=>{let e=oe.catch(t.datagridID);if(!e)return null;let{val_config:o}=e,l=o.body.filter(a=>a.isFilterMatched).length,d=o.paging.rows,i=0,s=t.options.map(a=>(i|=+(a==d),{value:a,label:a.toString()}));return i||s.push({value:d,label:d.toString()}),r(A.Center,{gap:"1/2",children:r(P.Select,{emptySelect:!1,override:"force",padding:"1/3",paddingLeft:3,paddingRight:2,pickerStyles:{xcss:{minWidth:12*9}},pickerPosition:4,leftIcon:r(P.LeftIcon,{fontSize:"0.xs",fontColor:"4.thin",xcss:{left:6},children:"\u8868\u793A"}),rightIcon:r(P.RightIcon,{fontSize:"0.xs",fontColor:"4.thin",xcss:{right:6},children:"\u4EF6"}),value:o.paging.rows,options:s.toASC("value"),onUpdateValidValue:a=>{e.remoteUpdate.maxRow(Number(a))}})})}},I=Object.assign(De,ge);export{I as DataGrid,I as default,ce as onDefaultCellStyles};
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "amotify",
3
- "version": "0.2.305",
3
+ "version": "0.2.306",
4
4
  "description": "UI Component for React,NextJS,esbuild",
5
5
  "scripts": {
6
6
  "start": "run-p clean build:*",