import React, { useContext } from 'react';
import { PrimaryTr } from './primaryTr';
import { SubordinateTr } from './subordinateTr';
import { CollapseTr } from './collapseTr'
import { LionTestTableContext } from '../../../testTable';

const IntermediateArea: React.FC<{
  primaryElevae: number,
  trClick: any,
  list_columns: any[],
  fixColumns: any[],
  source: any,
  surfaceItemWidth: number,
  colSpan: number,
  subordinateElevae: number,
  colHide: boolean,
  subordinateQuantity: number,
  subSource: any
}> = (props) => {

  const {
    primaryElevae,
    trClick,
    list_columns,
    fixColumns,
    source,
    surfaceItemWidth,
    colSpan,
    subordinateElevae,
    colHide,
    subordinateQuantity,
    subSource
  } = props;

  const { subSchemaApi } = useContext(LionTestTableContext)

  return <>
    <PrimaryTr
      list_columns={list_columns}
      primaryElevae={primaryElevae}
      trClick={trClick}
      source={source}
      surfaceItemWidth={surfaceItemWidth}
      colSpan={colSpan}
    />
    <SubordinateTr
      fixColumns={fixColumns}
      subordinateElevae={subordinateElevae}
      colHide={colHide}
      source={subSource}
      subId={source?.id}
    />
    {
      // 1. !subSchemaApi && subordinateQuantity>=4 点击展开数据
      // 2. !subSchemaApi && subordinateQuantity < 4 null
      // 3. subSchemaApi && subordinateQuantity>=4 true 点击查看全部数据
      // 4. subSchemaApi && subordinateQuantity < 4 false null
      (subordinateQuantity! >= 4) ? <CollapseTr
        colSpan={colSpan}
        source={source}
        subordinateQuantity={subordinateQuantity}
        colHide={colHide}
        trClick={trClick}
      /> : null
    }
  </>
}

export {
  IntermediateArea
}
