component-library-mustafa-akagunduz
Version:
Air Command System projesi için geliştirilmiş React component kütüphanesi
3 lines (2 loc) • 2.42 kB
JavaScript
import{jsxs as e,jsx as l}from"react/jsx-runtime";import{clsx as a}from"../node_modules/clsx/dist/clsx.js";import{Button as t}from"./Button.js";const n=({data:n,columns:s,selectedRowId:i,selectedRowIds:r=[],sortConfig:c=[],totalCount:o,showingCount:d,onRowSelect:h,onSort:m,onShowFilters:b,onClearSelection:p,onUpdate:u,onDelete:y,onShowHistory:N,showUpdateDelete:v=!1,hasSelection:w=!1,isMultipleSelection:k=!1,t:C,className:g,children:S})=>{const f=e=>{const l=c.find(l=>l.column===e);if(!l)return null;const a="asc"===l.direction?"↑":"↓";return`${l.order}${a}`};return e("div",{className:a("table-container",g),children:[S,e("div",{className:"table-header",children:[l("div",{className:"table-info",children:l("span",{className:"table-count",children:C("table.showing",{showing:d||n.length,total:o||n.length})})}),e("div",{className:"table-actions",children:[l(t,{variant:"secondary",size:"small",onClick:b,children:C("table.showFilterOptions")}),l(t,{variant:"secondary",size:"small",onClick:p,disabled:!w,children:C("table.clearSelection")}),v&&l(t,{variant:"danger",size:"small",onClick:y,disabled:!w,children:C("table.delete")}),l(t,{variant:"secondary",size:"small",onClick:N,className:"show-history-btn",disabled:!w||k,children:C("table.showHistory")}),v&&l(t,{variant:"primary",size:"small",onClick:u,disabled:!w||k,children:C("table.update")})]})]}),l("div",{className:"table-wrapper",children:e("table",{className:"table",children:[l("thead",{className:"table-head",children:l("tr",{children:s.map(t=>l("th",{className:a("table-header-cell",{sortable:t.sortable}),style:{width:t.width},onClick:t.sortable?()=>{return e=t.key,void(m&&m(e));var e}:void 0,children:e("div",{className:"header-content",children:[l("span",{className:"header-label",children:t.label}),t.sortable&&l("span",{className:"sort-indicator",children:f(t.key)})]})},t.key))})}),l("tbody",{className:"table-body",children:0===n.length?l("tr",{children:l("td",{colSpan:s.length,className:"table-empty",children:C("table.noData")})}):n.map((e,t)=>{const n=e.id||e.key||t.toString(),c=(e=>r.includes(e)||i===e)(n);return l("tr",{className:a("table-row",{selected:c&&!k,"multi-selected":c&&k}),onClick:l=>((e,l,a)=>{const t=a.nativeEvent;null==h||h(e,l,t)})(n,e,l),children:s.map(a=>l("td",{className:"table-cell",children:a.render?a.render(e[a.key],e):e[a.key]},a.key))},n)})})]})})]})};export{n as Table};
//# sourceMappingURL=Table.js.map