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.PLAY17445539 app/pb_kits/playbook/pb_rich_text_editor/TipTap/ToolbarNodes.tsx
playbook_ui-14.11.1.pre.alpha.PBNTR798datepickerturbo5537 app/pb_kits/playbook/pb_rich_text_editor/TipTap/ToolbarNodes.tsx
playbook_ui-14.11.1.pre.alpha.pbntr703collapsiblerowsrails5536 app/pb_kits/playbook/pb_rich_text_editor/TipTap/ToolbarNodes.tsx
playbook_ui-14.11.1.pre.alpha.PLAY1751pbcontenttagpt25529 app/pb_kits/playbook/pb_rich_text_editor/TipTap/ToolbarNodes.tsx
playbook_ui-14.11.1.pre.alpha.PBNTR7495495 app/pb_kits/playbook/pb_rich_text_editor/TipTap/ToolbarNodes.tsx
playbook_ui-14.12.0.pre.rc.11 app/pb_kits/playbook/pb_rich_text_editor/TipTap/ToolbarNodes.tsx
playbook_ui-14.12.0.pre.rc.10 app/pb_kits/playbook/pb_rich_text_editor/TipTap/ToolbarNodes.tsx
playbook_ui-14.12.0.pre.rc.9 app/pb_kits/playbook/pb_rich_text_editor/TipTap/ToolbarNodes.tsx
playbook_ui-14.12.0.pre.rc.8 app/pb_kits/playbook/pb_rich_text_editor/TipTap/ToolbarNodes.tsx
playbook_ui-14.12.0.pre.rc.7 app/pb_kits/playbook/pb_rich_text_editor/TipTap/ToolbarNodes.tsx
playbook_ui-14.11.1.pre.alpha.play1724darkmodeauditmap5437 app/pb_kits/playbook/pb_rich_text_editor/TipTap/ToolbarNodes.tsx
playbook_ui-14.11.1.pre.alpha.PBNTR719listdraggablesimple5432 app/pb_kits/playbook/pb_rich_text_editor/TipTap/ToolbarNodes.tsx
playbook_ui-14.11.1.pre.alpha.PBNTR768stickyrightcolumn5431 app/pb_kits/playbook/pb_rich_text_editor/TipTap/ToolbarNodes.tsx
playbook_ui-14.12.0.pre.rc.6 app/pb_kits/playbook/pb_rich_text_editor/TipTap/ToolbarNodes.tsx
playbook_ui-14.11.1.pre.alpha.PBNTR718simiplifieddraggablereact5415 app/pb_kits/playbook/pb_rich_text_editor/TipTap/ToolbarNodes.tsx
playbook_ui-14.11.1.pre.alpha.play1724darkmodeauditmap5413 app/pb_kits/playbook/pb_rich_text_editor/TipTap/ToolbarNodes.tsx
playbook_ui-14.12.0.pre.rc.5 app/pb_kits/playbook/pb_rich_text_editor/TipTap/ToolbarNodes.tsx
playbook_ui-14.11.1.pre.alpha.play1724darkmodeauditmap5409 app/pb_kits/playbook/pb_rich_text_editor/TipTap/ToolbarNodes.tsx
playbook_ui-14.11.1.pre.alpha.PBNTR718simiplifieddraggablereact5400 app/pb_kits/playbook/pb_rich_text_editor/TipTap/ToolbarNodes.tsx
playbook_ui-14.11.1.pre.alpha.PBNTR718simiplifieddraggablereact5392 app/pb_kits/playbook/pb_rich_text_editor/TipTap/ToolbarNodes.tsx