UNPKG

@carry0987/paginator

Version:
2 lines (1 loc) 7.42 kB
!function(n,o){"object"==typeof exports&&"undefined"!=typeof module?o(exports,require("@carry0987/paginator")):"function"==typeof define&&define.amd?define(["exports","@carry0987/paginator"],o):o(((n="undefined"!=typeof globalThis?globalThis:n||self).paginatorjs=n.paginatorjs||{},n.paginatorjs.plugins=n.paginatorjs.plugins||{},n.paginatorjs.plugins.table={}),n.paginatorjs)}(this,function(n,o){"use strict";var t;t={__e:function(n,o,t,e){for(var l,a,r;o=o.__;)if((l=o.__c)&&!l.__)try{if((a=l.constructor)&&null!=a.getDerivedStateFromError&&(l.setState(a.getDerivedStateFromError(n)),r=l.__d),null!=l.componentDidCatch&&(l.componentDidCatch(n,e||{}),r=l.__d),r)return l.__E=l}catch(o){n=o}throw n}},"function"==typeof Promise?Promise.prototype.then.bind(Promise.resolve()):setTimeout;var e=0;function l(n,o,l,a,r,i){o||(o={});var s,c,u=o;if("ref"in u)for(c in u={},o)"ref"==c?s=o[c]:u[c]=o[c];var d={type:n,props:u,key:l,ref:s,__k:null,__:null,__b:0,__e:null,__c:null,constructor:void 0,__v:--e,__i:-1,__u:0,__source:r,__self:i};if("function"==typeof n&&(s=n.defaultProps))for(c in s)void 0===u[c]&&(u[c]=s[c]);return t.vnode&&t.vnode(d),d}function a(n){const t=o.pluginAPI.useConfig();return l("td",{role:n.role,colSpan:n.colSpan,"data-column-id":n.column&&n.column.id,className:o.PluginUtil.classJoin(o.PluginUtil.className("td")),style:{...n.style},onClick:o=>{n.messageCell||t.eventEmitter.emit("cellClick",o,n.cell,n.column,n.row)},children:n.row&&n.column&&"function"==typeof n.column.formatter?n.column.formatter(n.cell.data,n.row,n.column):n.column&&n.column.plugin?l(o.PluginUtil.PluginRenderer,{pluginId:n.column.id,props:{column:n.column,cell:n.cell,row:n.row}}):n.cell.data})}function r(n){const t=o.pluginAPI.useConfig(),e=o.pluginAPI.useSelector(n=>n.header);return l("tr",{className:o.PluginUtil.classJoin(o.PluginUtil.className("tr")),onClick:o=>{n.messageRow||t.eventEmitter.emit("rowClick",o,n.row)},children:n.children?n.children:n.row&&n.row.cells.map((t,r)=>{const i=(n=>{if(e){const t=o.PluginUtil.leafColumns(e.columns);if(t[n])return t[n]}})(r);return i&&i.hidden?null:l(a,{cell:t,row:n.row,column:i},t.id)})})}function i(n){return l("th",{ref:o.pluginAPI.useRef(null),"data-column-id":n.column&&n.column.id,className:o.PluginUtil.classJoin(o.PluginUtil.className("th")),onClick:n=>{n.stopPropagation()},style:{...n.style},rowSpan:"number"==typeof n.rowSpan&&n.rowSpan>1?n.rowSpan:void 0,colSpan:"number"==typeof n.colSpan&&n.colSpan>1?n.colSpan:void 0,children:l("div",{className:o.PluginUtil.className("th","content"),children:void 0!==n.column.name?n.column.name:void 0!==n.column.plugin?l(o.PluginUtil.PluginRenderer,{pluginId:n.column.plugin.id,props:{column:n.column}}):null})})}function s(){const n=o.pluginAPI.useSelector(n=>n.header),t=(n,o,t,e)=>{const{rowSpan:a,colSpan:r}=function(n,o,t){const e=n.length-1,l=t-o;return{rowSpan:Math.floor(l-e-e/l),colSpan:1}}([n],o,e);return l(i,{column:n,index:t,colSpan:r,rowSpan:a})},e=()=>{const e=o.PluginUtil.tabularFormat(n?.columns||[]);return e.map((a,i)=>((e,a,i)=>{if(!n)return null;const s=o.PluginUtil.leafColumns(n.columns);return l(r,{children:e.map(n=>n.hidden?null:t(n,a,s.indexOf(n),i))})})(a,i,e.length))};return n?l("thead",{className:o.PluginUtil.classJoin(o.PluginUtil.className("thead")),children:e()},n.id):null}function c(n){return l(r,{messageRow:!0,children:l(a,{role:"alert",colSpan:n.colSpan,messageCell:!0,cell:new o.PluginUtil.Cell(n.message),className:o.PluginUtil.classJoin(o.PluginUtil.className("message"),n.className?n.className:null)})})}function u(){const n=o.PluginUtil.Status,t=o.pluginAPI.useSelector(n=>n.tabular),e=o.pluginAPI.useSelector(n=>n.status),a=o.pluginAPI.useSelector(n=>n.header),i=o.pluginAPI.useTranslator(),s=t?.data,u=()=>a?a.visibleColumns.length:0;return l("tbody",{className:o.PluginUtil.classJoin(o.PluginUtil.className("tbody")),children:[t&&t.data.map(n=>l(r,{row:n},n.id)),e===n.Loading&&(!s||0===s.length)&&l(c,{message:i("loading"),colSpan:u(),className:o.PluginUtil.classJoin(o.PluginUtil.className("loading"))}),e===n.Rendered&&s&&0===s.length&&l(c,{message:i("noRecordsFound"),colSpan:u(),className:o.PluginUtil.classJoin(o.PluginUtil.className("notfound"))}),e===n.Error&&l(c,{message:i("error"),colSpan:u(),className:o.PluginUtil.classJoin(o.PluginUtil.className("error"))})]})}!function(n,o){void 0===o&&(o={});var t=o.insertAt;if("undefined"!=typeof document){var e=document.head||document.getElementsByTagName("head")[0],l=document.createElement("style");l.type="text/css","top"===t&&e.firstChild?e.insertBefore(l,e.firstChild):e.appendChild(l),l.styleSheet?l.styleSheet.cssText=n:l.appendChild(document.createTextNode(n))}}(":root{--paginatorjs-table-background:#fff;--paginatorjs-table-border:#e5e7eb;--paginatorjs-th-background:#f9fafb;--paginatorjs-th-color:#6b7280;--paginatorjs-td-background:#fff;--paginatorjs-td-color:#3d4044}@media (prefers-color-scheme:dark){:root{--paginatorjs-table-background:#121212;--paginatorjs-table-border:#373737;--paginatorjs-th-background:#1f1f1f;--paginatorjs-th-color:#c4c4c4;--paginatorjs-td-background:#121212;--paginatorjs-td-color:#bcc7d2}}html[data-theme=dark]{--paginatorjs-table-background:#121212;--paginatorjs-table-border:#373737;--paginatorjs-th-background:#1f1f1f;--paginatorjs-th-color:#c4c4c4;--paginatorjs-td-background:#121212;--paginatorjs-td-color:#bcc7d2}table.paginatorjs-plugin-table{border-collapse:collapse;display:table;margin:0;max-width:100%;overflow:auto;padding:0;table-layout:fixed;text-align:left;width:100%}.paginatorjs-plugin-tbody{box-sizing:border-box}td.paginatorjs-plugin-td{background-color:var(--paginatorjs-td-background);border:1px solid var(--paginatorjs-table-border);box-sizing:content-box;color:var(--paginatorjs-td-color);padding:12px 24px}td.paginatorjs-plugin-td:first-child{border-left:none}td.paginatorjs-plugin-td:last-child{border-right:none}td.paginatorjs-plugin-message{text-align:center}th.paginatorjs-plugin-th{background-color:var(--paginatorjs-th-background);border:1px solid var(--paginatorjs-table-border);border-top:none;box-sizing:border-box;color:var(--paginatorjs-th-color);outline:none;padding:14px 24px;position:relative;user-select:none;vertical-align:middle;white-space:nowrap}th.paginatorjs-plugin-th .paginatorjs-th-content{float:left;overflow:hidden;text-overflow:ellipsis;width:100%}th.paginatorjs-plugin-th-sort{cursor:pointer}th.paginatorjs-plugin-th-sort .paginatorjs-th-content{width:calc(100% - 15px)}th.paginatorjs-plugin-th-sort:focus,th.paginatorjs-plugin-th-sort:hover{background-color:#e5e7eb}th.paginatorjs-plugin-th-fixed{box-shadow:0 1px 0 0 #e5e7eb;position:sticky}@supports (-moz-appearance:none){th.paginatorjs-plugin-th-fixed{box-shadow:0 0 0 1px #e5e7eb}}th.paginatorjs-plugin-th:first-child{border-left:none}th.paginatorjs-plugin-th:last-child{border-right:none}.paginatorjs-plugin-tr{border:none}.paginatorjs-plugin-tr-selected td{background-color:#ebf5ff}.paginatorjs-plugin-tr:last-child td{border-bottom:0}.paginatorjs-plugin-thead{box-sizing:border-box}");const d=()=>{const n=o.pluginAPI.useRef(null),{dispatch:t}=o.pluginAPI.useStore();return o.pluginAPI.useEffect(()=>{n&&t((n=>o=>({...o,tableRef:n}))(n))},[n]),l("table",{ref:n,role:"table",className:o.PluginUtil.classJoin(o.PluginUtil.className("table")),children:[l(s,{}),l(u,{})]})},g={id:"tablePlugin",component:d,position:o.PluginPosition.Body,order:1};n.Table=d,n.tablePlugin=g});