itsa-react-table 16.8.1 → 16.8.3

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.
Files changed (2) hide show
  1. package/lib/component.jsx +52 -18
  2. package/package.json +1 -1
package/lib/component.jsx CHANGED
@@ -534,7 +534,8 @@ class Table extends React.Component {
534
534
  columns = props.columns,
535
535
  fixedHeaders = props.fixedHeaders,
536
536
  rowHeader = props.rowHeader,
537
- onHeaderClick = props.onHeaderClick;
537
+ onHeaderClick = props.onHeaderClick,
538
+ htmlHeaders = props.htmlHeaders;
538
539
 
539
540
  if (columns && columns.length > 0) {
540
541
  // first dedupe duplicated col-keys
@@ -600,28 +601,56 @@ class Table extends React.Component {
600
601
  classname += " itsa-table-header-rowheader";
601
602
  key = j--;
602
603
  }
603
- if (fixedHeaders) {
604
- colName || (colName = " ");
605
- cellContent = (
606
- <div>
607
- <div class="itsa-table-header-cont">
608
- <div class="itsa-table-header">{colName}</div>
604
+
605
+ if (htmlHeaders) {
606
+ if (fixedHeaders) {
607
+ colName || (colName = "&nbsp;");
608
+ cellContent = (
609
+ <div>
610
+ <div class="itsa-table-header-cont">
611
+ <div class="itsa-table-header">{colName}</div>
612
+ </div>
613
+ {colName}
609
614
  </div>
610
- {colName}
611
- </div>
612
- );
615
+ );
616
+ return (
617
+ <th className={classname} key={key} onClick={headerClick}>
618
+ {cellContent}
619
+ </th>
620
+ );
621
+ }
622
+ cellContent = <div>{colName}</div>;
613
623
  return (
614
624
  <th className={classname} key={key} onClick={headerClick}>
615
- {cellContent}
625
+ {colName}
616
626
  </th>
617
627
  );
628
+ } else {
629
+ if (fixedHeaders) {
630
+ colName || (colName = "&nbsp;");
631
+ cellContent =
632
+ '<div class="itsa-table-header-cont"><div class="itsa-table-header">' +
633
+ colName +
634
+ "</div></div>" +
635
+ colName;
636
+ return (
637
+ <th
638
+ className={classname}
639
+ dangerouslySetInnerHTML={{ __html: cellContent }}
640
+ key={key}
641
+ onClick={headerClick}
642
+ />
643
+ );
644
+ }
645
+ return (
646
+ <th
647
+ className={classname}
648
+ dangerouslySetInnerHTML={{ __html: colName }}
649
+ key={key}
650
+ onClick={headerClick}
651
+ />
652
+ );
618
653
  }
619
- cellContent = <div>{colName}</div>;
620
- return (
621
- <th className={classname} key={key} onClick={headerClick}>
622
- {colName}
623
- </th>
624
- );
625
654
  });
626
655
  if (extendableY === "full") {
627
656
  if (fixedHeaders) {
@@ -1005,7 +1034,10 @@ class Table extends React.Component {
1005
1034
  editableCols = props.editableCols,
1006
1035
  cursorNav = props.cursorNav,
1007
1036
  lowestColIndex = props.rowHeader ? 1 : 0,
1008
- highestColIndex = data.itsa_keys().length - (props.rowHeader ? 0 : 1),
1037
+ highestColIndex =
1038
+ data.length > 0
1039
+ ? data[0].itsa_keys().length - (props.rowHeader ? 0 : 1)
1040
+ : 0,
1009
1041
  columns = props.columns,
1010
1042
  hasColumns = columns && columns.length > 0;
1011
1043
 
@@ -1455,6 +1487,7 @@ Table.propTypes = {
1455
1487
  extendableY: PropTypes.oneOfType([PropTypes.bool, PropTypes.string]), // true, "begin" or "all"
1456
1488
  fixedHeaders: PropTypes.bool,
1457
1489
  fullSelectOnEdit: PropTypes.bool,
1490
+ htmlHeaders: PropTypes.bool,
1458
1491
  loop: PropTypes.bool,
1459
1492
  multiEdit: PropTypes.bool,
1460
1493
  onChange: PropTypes.func,
@@ -1477,6 +1510,7 @@ Table.defaultProps = {
1477
1510
  extendableX: false,
1478
1511
  extendableY: false,
1479
1512
  fullSelectOnEdit: true,
1513
+ htmlHeaders: false,
1480
1514
  loop: true,
1481
1515
  multiEdit: false,
1482
1516
  removeableY: false,
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "itsa-react-table",
3
- "version": "16.8.1",
3
+ "version": "16.8.3",
4
4
  "description": "Editable React.js table",
5
5
  "author": [
6
6
  {