amotify 0.2.302 → 0.2.303

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