Sha256: 0c4c7d96108c747dc354570a575a45a63e0fdc3b1acc53c602dc4193a0d520bf

Contents?: true

Size: 1.43 KB

Versions: 633

Compression:

Stored size: 1.43 KB

Contents

import React, {useCallback} from "react";
import EditorButton from "./EditorButton";
import { ToolbarTypes } from "./EditorTypes";

const ToolbarNodes = ({editor}: any): React.ReactElement => {

// eslint-disable-next-line react-hooks/rules-of-hooks
const setLink = useCallback(() => {
  const previousUrl = editor.getAttributes("link").href;
  const url = window.prompt("URL", previousUrl);

  // cancelled
  if (url === null) {
    return;
  }

  // empty
  if (url === "") {
    editor.chain().focus().extendMarkRange("link").unsetLink().run();

    return;
  }

  // update link
  editor.chain().focus().extendMarkRange("link").setLink({ href: url }).run();
}, [editor]);

const toolbarNodesItems = [
        {
          onclick: () => editor.chain().focus().toggleCodeBlock().run(),
          icon: "code",
          isActive: editor.isActive("codeBlock"),
          text: "Codeblock",
        },
        {
          onclick: setLink,
          icon: "link",
          isActive: editor.isActive("link"),
          text: "Link",
        },
      ];

return (
    <>
        {toolbarNodesItems.map(({ onclick, icon, text, isActive }: ToolbarTypes, index: number) => (
            <EditorButton
                classname={`toolbar_button ${isActive ? 'is-active' : ''}`}
                icon={icon}
                key={index}
                onclick={onclick}
                text={text}
            />
        ))}
   </>
    )
}


export default ToolbarNodes

Version data entries

633 entries across 633 versions & 1 rubygems

Version Path
playbook_ui-14.10.0.pre.rc.23 app/pb_kits/playbook/pb_rich_text_editor/TipTap/ToolbarNodes.tsx
playbook_ui-14.10.0.pre.rc.22 app/pb_kits/playbook/pb_rich_text_editor/TipTap/ToolbarNodes.tsx
playbook_ui-14.10.0.pre.rc.21 app/pb_kits/playbook/pb_rich_text_editor/TipTap/ToolbarNodes.tsx
playbook_ui-14.9.0.pre.alpha.play1703errorstatealignment5060 app/pb_kits/playbook/pb_rich_text_editor/TipTap/ToolbarNodes.tsx
playbook_ui-14.10.0.pre.rc.20 app/pb_kits/playbook/pb_rich_text_editor/TipTap/ToolbarNodes.tsx
playbook_ui-14.10.0.pre.rc.19 app/pb_kits/playbook/pb_rich_text_editor/TipTap/ToolbarNodes.tsx
playbook_ui-14.10.0.pre.rc.18 app/pb_kits/playbook/pb_rich_text_editor/TipTap/ToolbarNodes.tsx
playbook_ui-14.9.0.pre.alpha.PLAY1660reactdropzone5020 app/pb_kits/playbook/pb_rich_text_editor/TipTap/ToolbarNodes.tsx
playbook_ui-14.10.0.pre.rc.17 app/pb_kits/playbook/pb_rich_text_editor/TipTap/ToolbarNodes.tsx
playbook_ui-14.10.0.pre.rc.16 app/pb_kits/playbook/pb_rich_text_editor/TipTap/ToolbarNodes.tsx
playbook_ui-14.9.0.pre.alpha.play17004992 app/pb_kits/playbook/pb_rich_text_editor/TipTap/ToolbarNodes.tsx
playbook_ui-14.9.0.pre.alpha.play1703errorstatealignment4991 app/pb_kits/playbook/pb_rich_text_editor/TipTap/ToolbarNodes.tsx
playbook_ui-14.10.0.pre.rc.15 app/pb_kits/playbook/pb_rich_text_editor/TipTap/ToolbarNodes.tsx
playbook_ui-14.9.0.pre.alpha.PLAY16264952 app/pb_kits/playbook/pb_rich_text_editor/TipTap/ToolbarNodes.tsx
playbook_ui-14.9.0.pre.alpha.PLAY1731inputmasking4927 app/pb_kits/playbook/pb_rich_text_editor/TipTap/ToolbarNodes.tsx
playbook_ui-14.9.0.pre.alpha.play1742globalheightfixes4926 app/pb_kits/playbook/pb_rich_text_editor/TipTap/ToolbarNodes.tsx
playbook_ui-14.9.0.pre.alpha.play1742globalheightfixes4925 app/pb_kits/playbook/pb_rich_text_editor/TipTap/ToolbarNodes.tsx
playbook_ui-14.10.0.pre.rc.14 app/pb_kits/playbook/pb_rich_text_editor/TipTap/ToolbarNodes.tsx
playbook_ui-14.10.0.pre.rc.13 app/pb_kits/playbook/pb_rich_text_editor/TipTap/ToolbarNodes.tsx
playbook_ui-14.9.0.pre.alpha.PBNTR746datepickerdefaultbug4903 app/pb_kits/playbook/pb_rich_text_editor/TipTap/ToolbarNodes.tsx