-
Notifications
You must be signed in to change notification settings - Fork 33
/
Copy pathreact-json-table.min.js
6 lines (6 loc) · 3.28 KB
/
react-json-table.min.js
1
2
3
4
5
6
/*
react-json-table v0.1.1
https://github.com/arqex/react-json-table
MIT: https://github.com/arqex/react-json-table/raw/master/LICENSE
*/
!function(e,t){"object"==typeof exports&&"object"==typeof module?module.exports=t(require(void 0)):"function"==typeof define&&define.amd?define([],t):"object"==typeof exports?exports.JsonTable=t(require(void 0)):e.JsonTable=t(e.React)}(this,function(e){return function(e){function t(o){if(n[o])return n[o].exports;var i=n[o]={exports:{},id:o,loaded:!1};return e[o].call(i.exports,i,i.exports,t),i.loaded=!0,i.exports}var n={};return t.m=e,t.c=n,t.p="",t(0)}([function(e,t,n){var o=n(1),i=o.DOM,r={header:!0,noRowsMessage:"No items",classPrefix:"json"},s=function(e){var t=this.props.settings;return t&&"undefined"!=typeof t[e]?t[e]:r[e]},l=o.createClass({getSetting:s,render:function(){var e=this.normalizeColumns(),t=[this.renderRows(e)];this.getSetting("header")&&t.unshift(this.renderHeader(e));var n=this.props.className||this.getSetting("classPrefix")+"Table";return i.table({className:n},t)},renderHeader:function(e){var t=this,n=this.getSetting("classPrefix"),o=this.getSetting("headerClass"),r=e.map(function(e){var r=n+"Column";return o&&(r=o(r,e.key)),i.th({className:r,key:e.key,onClick:t.onClickHeader,"data-key":e.key},e.label)});return i.thead({key:"th"},i.tr({className:n+"Header"},r))},renderRows:function(e){var t=this,n=this.props.rows,r=this.props.settings||{},s=1;if(!n||!n.length)return i.tbody({key:"body"},[i.tr({key:"row"},i.td({key:"column"},this.getSetting("noRowsMessage")))]);var l=n.map(function(n){var i=t.getKey(n,s);return o.createElement(a,{key:i,reactKey:i,item:n,settings:r,columns:e,i:s++,onClickRow:t.onClickRow,onClickCell:t.onClickCell})});return i.tbody({key:"body"},l)},getItemField:function(e,t){return e[t]},normalizeColumns:function(){var e=this.props.cellRenderer||this.getItemField,t=this.props.columns,n=this.props.rows;return t?t.map(function(t){var n;return"string"==typeof t?{key:t,label:t,cell:e}:"object"==typeof t?(n=t.key||t.label,{key:n,label:t.label||n,cell:t.cell||e}):{key:"unknown",name:"unknown",cell:"Unknown"}}):n&&n.length?Object.keys(n[0]).map(function(t){return{key:t,label:t,cell:e}}):[]},getKey:function(e,t){var n=this.props.settings&&this.props.settings.keyField;return n&&e[n]?e[n]:e.id?e.id:e._id?e._id:t},shouldComponentUpdate:function(){return!0},onClickRow:function(e,t){this.props.onClickRow&&this.props.onClickRow(e,t)},onClickHeader:function(e){this.props.onClickHeader&&this.props.onClickHeader(e,e.target.dataset.key)},onClickCell:function(e,t,n){this.props.onClickCell&&this.props.onClickCell(e,t,n)}}),a=o.createClass({getSetting:s,render:function(){var e=this,t=this.props,n=this.getSetting("cellClass"),o=this.getSetting("rowClass"),r=this.getSetting("classPrefix"),s=t.columns.map(function(o){var s=o.cell,l=o.key,a=r+"Cell "+r+"Cell_"+l;return n&&(a=n(a,l,t.item)),"function"==typeof s&&(s=s(t.item,l)),i.td({className:a,key:l,"data-key":l,onClick:e.onClickCell},s)}),l=r+"Row "+r+(t.i%2?"Odd":"Even");return t.reactKey&&(l+=" "+r+"Row_"+t.reactKey),o&&(l=o(l,t.item)),i.tr({className:l,onClick:e.onClickRow,key:this.props.reactKey},s)},onClickCell:function(e){this.props.onClickCell(e,e.target.dataset.key,this.props.item)},onClickRow:function(e){this.props.onClickRow(e,this.props.item)}});e.exports=l},function(t,n){t.exports=e}])});