Sha256: 6b05507d7d6bdfc85467d37b5d7da003c3322d59c102f846612de2476cd451f3

Contents?: true

Size: 761 Bytes

Versions: 4

Compression:

Stored size: 761 Bytes

Contents

import React from "react";

import * as PageEditor from "../../types/PageEditor";

interface Props {
  tab: string;
  tabs: PageEditor.Tab[];
  setTab: (tab: string) => void;
}

export default function Tabs(props: Props) {
  const { tab, tabs, setTab } = props;

  const handleTabChange = (tab: PageEditor.Tab) => (evt: React.MouseEvent) => {
    evt.preventDefault();
    setTab(tab.id);
  };

  return (
    <ul className="content-tabs" role="tablist">
      {tabs.map((t) => (
        <li key={t.id} className={t.id == tab ? "current" : ""}>
          {!t.enabled && t.name}
          {t.enabled && (
            <a href={`#${t.id}`} onClick={handleTabChange(t)}>
              {t.name}
            </a>
          )}
        </li>
      ))}
    </ul>
  );
}

Version data entries

4 entries across 4 versions & 1 rubygems

Version Path
pages_core-3.15.4 app/javascript/components/PageForm/Tabs.tsx
pages_core-3.15.3 app/javascript/components/PageForm/Tabs.tsx
pages_core-3.15.2 app/javascript/components/PageForm/Tabs.tsx
pages_core-3.15.1 app/javascript/components/PageForm/Tabs.tsx