mirror of
https://github.com/penpot/penpot.git
synced 2025-05-10 18:56:37 +02:00
✨ Import text-editor code into the repository
This commit is contained in:
parent
68397edd4d
commit
04a0d867b0
65 changed files with 11112 additions and 7 deletions
34
frontend/text-editor/editor/commands/insertText.js
Normal file
34
frontend/text-editor/editor/commands/insertText.js
Normal file
|
@ -0,0 +1,34 @@
|
|||
/**
|
||||
* This Source Code Form is subject to the terms of the Mozilla Public
|
||||
* License, v. 2.0. If a copy of the MPL was not distributed with this
|
||||
* file, You can obtain one at http://mozilla.org/MPL/2.0/.
|
||||
*
|
||||
* Copyright (c) KALEIDOS INC
|
||||
*/
|
||||
|
||||
/**
|
||||
* Insert typed plain text
|
||||
*
|
||||
* @see https://w3c.github.io/input-events/#interface-InputEvent
|
||||
* @param {InputEvent} event
|
||||
* @param {TextEditor} editor
|
||||
* @param {SelectionController} selectionController
|
||||
*/
|
||||
export function insertText(event, editor, selectionController) {
|
||||
event.preventDefault();
|
||||
if (selectionController.isCollapsed) {
|
||||
if (selectionController.isTextFocus) {
|
||||
return selectionController.insertText(event.data);
|
||||
} else if (selectionController.isLineBreakFocus) {
|
||||
return selectionController.replaceLineBreak(event.data);
|
||||
}
|
||||
} else {
|
||||
if (selectionController.isMultiParagraph) {
|
||||
return selectionController.replaceParagraphs(event.data);
|
||||
} else if (selectionController.isMultiInline) {
|
||||
return selectionController.replaceInlines(event.data);
|
||||
} else if (selectionController.isTextSame) {
|
||||
return selectionController.replaceText(event.data);
|
||||
}
|
||||
}
|
||||
}
|
Loading…
Add table
Add a link
Reference in a new issue