ontime icon indicating copy to clipboard operation
ontime copied to clipboard

Keyboard shortcuts

Open alex-Arc opened this issue 3 months ago • 7 comments

Navigation

  • Select entry Alt/
  • Reorder entry AltCtrl/
  • Add event below AltE
  • Add event above AltE
  • Add block below AltB
  • Add block above AltB
  • Add delay below AltD
  • Add delay above AltD
  • Deselect entry Esc
  • Delete entry Ctrl
  • Copy selected entry CtrlC
  • Past above selected entry CtrlV
  • Past below selected entry CtrlV

Editing

  • Submit and leave normal input
  • Submit and leave multi line input Ctrl
  • Cancel and leave input Esc

TODO:

  • [ ] delete all events in multi select

alex-Arc avatar Mar 25 '24 16:03 alex-Arc

[!IMPORTANT]

Auto Review Skipped

Review was skipped due to path filters

Files ignored due to path filters (19)
  • apps/client/src/common/components/input/auto-text-area/AutoTextArea.tsx is excluded by none and included by none
  • apps/client/src/common/components/input/text-input/TextInput.tsx is excluded by none and included by none
  • apps/client/src/common/components/input/text-input/useReactiveTextInput.tsx is excluded by none and included by none
  • apps/client/src/common/components/input/time-input/TimeInput.tsx is excluded by none and included by none
  • apps/client/src/common/stores/eventCopySore.ts is excluded by none and included by none
  • apps/client/src/common/utils/__tests__/eventsManager.test.ts is excluded by none and included by none
  • apps/client/src/common/utils/eventsManager.ts is excluded by none and included by none
  • apps/client/src/features/control/message/InputRow.tsx is excluded by none and included by none
  • apps/client/src/features/cuesheet/cuesheet-table-elements/EditableCell.tsx is excluded by none and included by none
  • apps/client/src/features/rundown/Rundown.tsx is excluded by none and included by none
  • apps/client/src/features/rundown/RundownEntry.tsx is excluded by none and included by none
  • apps/client/src/features/rundown/RundownWrapper.tsx is excluded by none and included by none
  • apps/client/src/features/rundown/common/EditableBlockTitle.tsx is excluded by none and included by none
  • apps/client/src/features/rundown/event-block/EventBlock.tsx is excluded by none and included by none
  • apps/client/src/features/rundown/event-editor/composite/EventTextArea.tsx is excluded by none and included by none
  • apps/client/src/features/rundown/event-editor/composite/EventTextInput.tsx is excluded by none and included by none
  • apps/client/src/features/rundown/rundown-header/RundownHeader.tsx is excluded by none and included by none
  • packages/utils/index.ts is excluded by none and included by none
  • packages/utils/src/rundown-utils/rundownUtils.ts is excluded by none and included by none

Thank you for using CodeRabbit. We offer it for free to the OSS community and would appreciate your support in helping us grow. If you find it useful, would you consider giving us a shout-out on your favorite social media?

Share

Tips

Chat

There are 3 ways to chat with CodeRabbit:

  • Review comments: Directly reply to a review comment made by CodeRabbit. Example:
    • I pushed a fix in commit <commit_id>.
    • Generate unit testing code for this file.
    • Open a follow-up GitHub issue for this discussion.
  • Files and specific lines of code (under the "Files changed" tab): Tag @coderabbitai in a new review comment at the desired location with your query. Examples:
    • @coderabbitai generate unit testing code for this file.
    • @coderabbitai modularize this function.
  • PR comments: Tag @coderabbitai in a new PR comment to ask questions about the PR branch. For the best results, please provide a very specific query, as very limited context is provided in this mode. Examples:
    • @coderabbitai generate interesting stats about this repository and render them as a table.
    • @coderabbitai show all the console.log statements in this repository.
    • @coderabbitai read src/utils.ts and generate unit testing code.
    • @coderabbitai read the files in the src/scheduler package and generate a class diagram using mermaid and a README in the markdown format.

Note: Be mindful of the bot's finite context window. It's strongly recommended to break down tasks such as reading entire modules into smaller chunks. For a focused discussion, use review comments to chat about specific files and their changes, instead of using the PR comments.

CodeRabbit Commands (invoked as PR comments)

  • @coderabbitai pause to pause the reviews on a PR.
  • @coderabbitai resume to resume the paused reviews.
  • @coderabbitai review to trigger a review. This is useful when automatic reviews are disabled for the repository.
  • @coderabbitai resolve resolve all the CodeRabbit review comments.
  • @coderabbitai help to get help.

Additionally, you can add @coderabbitai ignore anywhere in the PR description to prevent this PR from being reviewed.

CodeRabbit Configration File (.coderabbit.yaml)

  • You can programmatically configure CodeRabbit by adding a .coderabbit.yaml file to the root of your repository.
  • Please see the configuration documentation for more information.
  • If your editor has YAML language server enabled, you can add the path at the top of this file to enable auto-completion and validation: # yaml-language-server: $schema=https://coderabbit.ai/integrations/coderabbit-overrides.v2.json

Documentation and Community

  • Visit our Documentation for detailed information on how to use CodeRabbit.
  • Join our Discord Community to get help, request features, and share feedback.
  • Follow us on X/Twitter for updates and announcements.

coderabbitai[bot] avatar Mar 25 '24 16:03 coderabbitai[bot]

Can you check the shortcuts against the browser and OS? We need to make sure that there are no conflicts, or the conflicts are harmless and don't affect runtime

From the top of my head ctrl + enter submits the URL, this sounds like it could be pretty frustrating for the user if they do not have the focus where they thing it is

Good documentation by the way. We should make a PR towards the documentation to add this

cpvalente avatar Mar 27 '24 16:03 cpvalente

ctrl + enter

I think this on is safe you have to be actively in the address bar for it to do something

alex-Arc avatar Mar 28 '24 10:03 alex-Arc

Suggestion:

  • Add event below AltE

  • Add event above AltShiftE

  • Add block below AltB

  • Add block above AltShiftB

  • Add delay below AltD

  • Add delay above AltShiftD

cpvalente avatar Mar 31 '24 20:03 cpvalente

Nice, this looks better. We should cleanup the api a little and make sure we are not generating multiple listeners for every shortcuts. But a single listener per component

not sure how to ensure this?

Also, why not use the existing useKeypress hook?

did not know about it, will try it out

alex-Arc avatar Apr 01 '24 16:04 alex-Arc

@cpvalente

Also, why not use the existing useKeypress hook?

https://github.com/cpvalente/ontime/blob/v3/apps/client/src/common/hooks/useKeyDown.ts

it seams to only take in 1 key or am I missing something?

alex-Arc avatar Apr 03 '24 11:04 alex-Arc

@cpvalente

Also, why not use the existing useKeypress hook?

https://github.com/cpvalente/ontime/blob/v3/apps/client/src/common/hooks/useKeyDown.ts

it seams to only take in 1 key or am I missing something?

yes, we can choose to modify the code to take an array alternatively we can use the hook from mantine https://mantine.dev/hooks/use-hotkeys/

cpvalente avatar Apr 03 '24 11:04 cpvalente