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.
- package/lib/component.jsx +52 -18
- 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
|
-
|
|
604
|
-
|
|
605
|
-
|
|
606
|
-
|
|
607
|
-
|
|
608
|
-
|
|
604
|
+
|
|
605
|
+
if (htmlHeaders) {
|
|
606
|
+
if (fixedHeaders) {
|
|
607
|
+
colName || (colName = " ");
|
|
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
|
-
|
|
611
|
-
|
|
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
|
-
{
|
|
625
|
+
{colName}
|
|
616
626
|
</th>
|
|
617
627
|
);
|
|
628
|
+
} else {
|
|
629
|
+
if (fixedHeaders) {
|
|
630
|
+
colName || (colName = " ");
|
|
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 =
|
|
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,
|