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.11.1.pre.alpha.PLAY1720phonenumberinputformatAsYouType5377 app/pb_kits/playbook/pb_rich_text_editor/TipTap/ToolbarNodes.tsx
playbook_ui-14.11.1.pre.alpha.play17725374 app/pb_kits/playbook/pb_rich_text_editor/TipTap/ToolbarNodes.tsx
playbook_ui-14.11.1.pre.alpha.play17725372 app/pb_kits/playbook/pb_rich_text_editor/TipTap/ToolbarNodes.tsx
playbook_ui-14.12.0.pre.rc.4 app/pb_kits/playbook/pb_rich_text_editor/TipTap/ToolbarNodes.tsx
playbook_ui-14.11.1.pre.alpha.hfhbrakemanplaybook5370 app/pb_kits/playbook/pb_rich_text_editor/TipTap/ToolbarNodes.tsx
playbook_ui-14.11.1.pre.alpha.responsivetablerails5364 app/pb_kits/playbook/pb_rich_text_editor/TipTap/ToolbarNodes.tsx
playbook_ui-14.11.1.pre.alpha.responsivetablerails5362 app/pb_kits/playbook/pb_rich_text_editor/TipTap/ToolbarNodes.tsx
playbook_ui-14.11.1.pre.alpha.PBNTR769sticky5359 app/pb_kits/playbook/pb_rich_text_editor/TipTap/ToolbarNodes.tsx
playbook_ui-14.11.1.pre.alpha.PBNTR573datepickerinvestigation5355 app/pb_kits/playbook/pb_rich_text_editor/TipTap/ToolbarNodes.tsx
playbook_ui-14.11.1.pre.alpha.PLAY1750pbcontenttagkitbutton5341 app/pb_kits/playbook/pb_rich_text_editor/TipTap/ToolbarNodes.tsx
playbook_ui-14.11.1.pre.alpha.PLAY1750pbcontenttagkitbutton5340 app/pb_kits/playbook/pb_rich_text_editor/TipTap/ToolbarNodes.tsx
playbook_ui-14.11.1.pre.alpha.PLAY1750pbcontenttagkitbutton5339 app/pb_kits/playbook/pb_rich_text_editor/TipTap/ToolbarNodes.tsx
playbook_ui-14.12.0.pre.rc.3 app/pb_kits/playbook/pb_rich_text_editor/TipTap/ToolbarNodes.tsx
playbook_ui-14.12.0.pre.rc.2 app/pb_kits/playbook/pb_rich_text_editor/TipTap/ToolbarNodes.tsx
playbook_ui-14.12.0.pre.rc.1 app/pb_kits/playbook/pb_rich_text_editor/TipTap/ToolbarNodes.tsx
playbook_ui-14.12.0.pre.rc.0 app/pb_kits/playbook/pb_rich_text_editor/TipTap/ToolbarNodes.tsx
playbook_ui-14.10.0.pre.alpha.PLAY1774timelinelabelstepspacing5315 app/pb_kits/playbook/pb_rich_text_editor/TipTap/ToolbarNodes.tsx
playbook_ui-14.10.0.pre.alpha.PLAY1774timelinelabelstepspacing5314 app/pb_kits/playbook/pb_rich_text_editor/TipTap/ToolbarNodes.tsx
playbook_ui-14.10.0.pre.alpha.PLAY1750pbcontenttagkitbutton5308 app/pb_kits/playbook/pb_rich_text_editor/TipTap/ToolbarNodes.tsx
playbook_ui-14.11.1 app/pb_kits/playbook/pb_rich_text_editor/TipTap/ToolbarNodes.tsx