/*
 * Licensed to the Apache Software Foundation (ASF) under one or more
 * contributor license agreements.  See the NOTICE file distributed with
 * this work for additional information regarding copyright ownership.
 * The ASF licenses this file to You under the Apache License, Version 2.0
 * (the "License"); you may not use this file except in compliance with
 * the License.  You may obtain a copy of the License at
 *
 *     http://www.apache.org/licenses/LICENSE-2.0
 *
 * Unless required by applicable law or agreed to in writing, software
 * distributed under the License is distributed on an "AS IS" BASIS,
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 * See the License for the specific language governing permissions and
 * limitations under the License.
 */

import { TableLayout } from "@components/Table/TableLayout";
import { Typography } from "@mui/material";
import { useMemo } from "react";
import TermRelationViewAttributes from "./TermRelationViewAttributes";

const TermRelationAttributes = ({
  termObj,
  control,
  editModal,
  currentType
}: any) => {
  const defaultColumns = useMemo(
    () => [
      {
        accessorKey: "terms",
        cell: (info: any) => {
          let values = info.row.original;
          const { displayText } = values;
          return <Typography fontWeight="600"> {displayText} </Typography>;
        },
        header: "Term",
        width: "30%",
        enableSorting: true,
        show: true
      },
      {
        accessorKey: "attributes",
        cell: (info: any) => {
          let values: string = info.row.original;

          return (
            <TermRelationViewAttributes
              attrObj={values}
              control={control}
              editModal={editModal}
              currentType={currentType}
            />
          );
        },
        header: "Attribute",
        enableSorting: false,
        width: "60%"
      }
    ],
    []
  );
  return (
    <>
      <TableLayout
        data={termObj}
        columns={defaultColumns}
        emptyText="No Records found!"
        columnVisibility={false}
        clientSideSorting={false}
        columnSort={false}
        showPagination={false}
        showRowSelection={false}
        tableFilters={false}
      />
    </>
  );
};

export default TermRelationAttributes;
