Tabs
Summary: fixing ts-strict errors Reviewed By: passy Differential Revision: D17181149 fbshipit-source-id: 43b12336e6467e0b134087fdabfd21f414741188
This commit is contained in:
committed by
Facebook Github Bot
parent
7055deff7e
commit
244df345f4
@@ -139,16 +139,20 @@ export default function Tabs(props: {
|
|||||||
const after = props.after || [];
|
const after = props.after || [];
|
||||||
|
|
||||||
//
|
//
|
||||||
const tabs = {};
|
const tabs: {
|
||||||
|
[key: string]: React.ReactNode;
|
||||||
|
} = {};
|
||||||
|
|
||||||
// a list of keys
|
// a list of keys
|
||||||
const keys = props.order ? props.order.slice() : [];
|
const keys = props.order ? props.order.slice() : [];
|
||||||
|
|
||||||
const tabContents = [];
|
const tabContents: React.ReactNode[] = [];
|
||||||
const tabSiblings = [];
|
const tabSiblings: React.ReactNode[] = [];
|
||||||
|
|
||||||
function add(comps: React.ReactElement | React.ReactElement[]) {
|
function add(comps: React.ReactElement | React.ReactElement[]) {
|
||||||
const compsArray: React.ReactElement<TabProps>[] = [].concat(comps || []);
|
const compsArray: React.ReactElement<TabProps>[] = Array.isArray(comps)
|
||||||
|
? comps
|
||||||
|
: [comps];
|
||||||
for (const comp of compsArray) {
|
for (const comp of compsArray) {
|
||||||
if (Array.isArray(comp)) {
|
if (Array.isArray(comp)) {
|
||||||
add(comp);
|
add(comp);
|
||||||
@@ -189,7 +193,7 @@ export default function Tabs(props: {
|
|||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
|
|
||||||
let closeButton;
|
let closeButton: HTMLDivElement | undefined;
|
||||||
|
|
||||||
tabs[key] = (
|
tabs[key] = (
|
||||||
<TabListItem
|
<TabListItem
|
||||||
@@ -197,13 +201,13 @@ export default function Tabs(props: {
|
|||||||
width={width}
|
width={width}
|
||||||
active={isActive}
|
active={isActive}
|
||||||
onMouseDown={
|
onMouseDown={
|
||||||
!isActive &&
|
!isActive && onActive
|
||||||
onActive &&
|
? (event: React.MouseEvent<HTMLDivElement>) => {
|
||||||
((event: React.MouseEvent) => {
|
if (event.target !== closeButton) {
|
||||||
if (event.target !== closeButton) {
|
onActive(key);
|
||||||
onActive(key);
|
}
|
||||||
}
|
}
|
||||||
})
|
: undefined
|
||||||
}>
|
}>
|
||||||
{comp.props.label}
|
{comp.props.label}
|
||||||
{closable && (
|
{closable && (
|
||||||
@@ -215,8 +219,9 @@ export default function Tabs(props: {
|
|||||||
const newActive = keys[index + 1] || keys[index - 1] || null;
|
const newActive = keys[index + 1] || keys[index - 1] || null;
|
||||||
onActive(newActive);
|
onActive(newActive);
|
||||||
}
|
}
|
||||||
|
if (onClose) {
|
||||||
onClose();
|
onClose();
|
||||||
|
}
|
||||||
}}>
|
}}>
|
||||||
X
|
X
|
||||||
</CloseButton>
|
</CloseButton>
|
||||||
@@ -226,7 +231,9 @@ export default function Tabs(props: {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
add(props.children);
|
if (props.children) {
|
||||||
|
add(props.children);
|
||||||
|
}
|
||||||
|
|
||||||
let tabList;
|
let tabList;
|
||||||
if (props.orderable === true) {
|
if (props.orderable === true) {
|
||||||
|
|||||||
Reference in New Issue
Block a user