Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Shortcut chaining #512

Open
TimAufdemKampe opened this issue Apr 28, 2023 · 3 comments
Open

Shortcut chaining #512

TimAufdemKampe opened this issue Apr 28, 2023 · 3 comments

Comments

@TimAufdemKampe
Copy link

Hello,
is there a way to implement this shortcut.

CMD + SHIFT + P

@jaywcjlove
Copy link
Member

@TimAufdemKampe

const title2 = {
  name: 'title2',
  keyCommand: 'title2',
  shortcuts: 'ctrlcmd+shift+P',
}

@TimAufdemKampe
Copy link
Author

@jaywcjlove
Copy link
Member

@TimAufdemKampe https://codesandbox.io/embed/react-md-editor-custom-toolbars-https-github-com-uiwjs-react-md-editor-issues-512-utltre?fontsize=14&hidenavigation=1&theme=dark

import React from "react";
import MDEditor, {
  ICommand,
  TextState,
  TextAreaTextApi
} from "@uiw/react-md-editor";

const title3: ICommand = {
  name: "title3",
  keyCommand: "title3",
  shortcuts: "ctrlcmd+shift+P",
  buttonProps: { "aria-label": "Insert title3" },
  icon: (
    <svg width="12" height="12" viewBox="0 0 520 520">
      <path
        fill="currentColor"
        d="M15.7083333,468 C7.03242448,468 0,462.030833 0,454.666667 L0,421.333333 C0,413.969167 7.03242448,408 15.7083333,408 L361.291667,408 C369.967576,408 377,413.969167 377,421.333333 L377,454.666667 C377,462.030833 369.967576,468 361.291667,468 L15.7083333,468 Z M21.6666667,366 C9.69989583,366 0,359.831861 0,352.222222 L0,317.777778 C0,310.168139 9.69989583,304 21.6666667,304 L498.333333,304 C510.300104,304 520,310.168139 520,317.777778 L520,352.222222 C520,359.831861 510.300104,366 498.333333,366 L21.6666667,366 Z M136.835938,64 L136.835937,126 L107.25,126 L107.25,251 L40.75,251 L40.75,126 L-5.68434189e-14,126 L-5.68434189e-14,64 L136.835938,64 Z M212,64 L212,251 L161.648438,251 L161.648438,64 L212,64 Z M378,64 L378,126 L343.25,126 L343.25,251 L281.75,251 L281.75,126 L238,126 L238,64 L378,64 Z M449.047619,189.550781 L520,189.550781 L520,251 L405,251 L405,64 L449.047619,64 L449.047619,189.550781 Z"
      />
    </svg>
  ),
  execute: (state: TextState, api: TextAreaTextApi) => {
    let modifyText = `### ${state.selectedText}\n`;
    if (!state.selectedText) {
      modifyText = `### `;
    }
    api.replaceSelection(modifyText);
  }
};

export default function App() {
  const [value, setValue] = React.useState("**Hello world!!!**");
  return (
    <div className="container">
      <div>The system automatically sets the theme</div>
      <MDEditor
        value={value}
        onChange={(val) => {
          setValue(val!);
        }}
        commands={[
          // Custom Toolbars
          title3
        ]}
      />
    </div>
  );
}

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants