am-editor

A rich text editor that supports collaborative editing and allows for the free use of front-end common libraries such as React and Vue to extend and define plugins.

MIT License

Stars
919
Committers
22

Bot releases are hidden (Show)

am-editor - @aomao/[email protected]

Published by big-camel over 2 years ago

Improvements

  • sub & sup plugins are not nested in each other
  • Editor out of focus no longer disables toolbar

Fixed

  • Japanese input will not trigger change event
  • typing on the card will delete the card structure incorrectly
am-editor - @aomao/[email protected]

Published by big-camel over 2 years ago

Fixed

  • card editable card lazy loading will be wrongly written to history
  • toolbar optimizes the mobile toolbar #188
  • plugin-table table contents lost after copying in read-only state
am-editor - @aomao/[email protected]

Published by big-camel over 2 years ago

Improvements

  • getText can get the text in the current document through engine.getText(). If you need the text in the card, you can listen to the parser:text event for parsing

Fixed

  • parser filters tabs such as newlines between nodes
  • In input safari browser, when inputting Chinese in front of the list, there will be extra line breaks #187
  • card Select all documents and press the delete key, if the card is at the end, the card will not be deleted
  • select sets the mark style when the Range has not changed, the toolbar state is not displayed correctly
am-editor - @aomao/[email protected]

Published by big-camel over 2 years ago

Improvements

  • mention prevents events from bubbling when selected with the enter key

Fixed

  • paste pastes missing part of mark style information and filters out some invalid tabs
  • After codeblock parses markdown, there will be an extra line break at the end
am-editor - @aomao/[email protected]

Published by big-camel over 2 years ago

Improvements

  • table uses a delay to display a draggable blue line when the mouse moves over the table

Fixed

  • mention Entering the @ symbol in a card that is not editable will execute the popup of the mention plugin
  • table pulling the cell size does not automatically adjust the width of the table
am-editor - @aomao/[email protected]

Published by big-camel over 2 years ago

Improvements

Fixed

  • ot co-cursor background drawn not removed after collaborator leaves
  • The text in the quote quote block cannot be deleted after it is selected
  • ot-server deletion of multiple nested nodes cannot be synchronized
am-editor - @aomao/[email protected]

Published by big-camel over 2 years ago

Improvements

  • markdown pressing enter also performs markdown checks

Fixed

  • ot insert text to generate op occasional index error
  • table Can't paste new table on both sides of table
  • block The block-level node paste position is wrong
  • list list cannot be inserted at title node position
am-editor - @aomao/[email protected]

Published by big-camel over 2 years ago

Improvements

  • ot-server optimized collaboration server
  • ot only redraws the collaboration cursor for the collaborator who is currently modifying the content, reducing the amount of computation
  • The card editable card will no longer perform asynchronous rendering in the collaborative process, but can be executed in non-cooperative

Fixed

  • table has multiple merged cells and the selected position is not accurate
  • invalid accept attribute in file options
  • video certain operations will cause a cooperative infinite loop to update the card value
am-editor - @aomao/[email protected]

Published by big-camel over 2 years ago

Fixed

  • ot: cause synergy because Array.at does not support most lower version browsers Error, unable to sync. #179
am-editor - @aomao/[email protected]

Published by big-camel over 2 years ago

Fixed

  • link: text link not resolved in paste
am-editor - @aomao/[email protected]

Published by big-camel over 2 years ago

Improvements

  • ot optimizes collaborative editing performance
    The cursor change of the collaborator needs to be processed in the ot-server
if (action === 'broadcast') {
  if (data.type === 'select') {
	  if ('remove' in data.body) {
		  const index = doc.selection.findIndex(
			  (selection) =>
				  selection.uuid === data.body.uuid,
		  );
		  if (index > -1) {
			  doc.selection.splice(index, 1, data.body);
		  } else {
			  doc.selection.push(data.body);
		  }
	  }
  }
  doc.broadcast(
	  'broadcast',
	  data,
	  (m) => m.uuid !== uuid,
  );
}
  • change adjust the timing of the select cursor change event

Fixed

  • link Insert character link duplicates with markdown conversion
  • getSelectionData unable to get data inside editable node
  • markrange cannot comment #178
am-editor - @aomao/[email protected]

Published by big-camel over 2 years ago

Improvements

  • Refactor the algorithm for generating ops to ensure the uniqueness of data updates
  • Optimize the parsing of markdown

Fixed

  • table: cannot paste after copying multiple cells
  • card: The editor change event is not triggered after pressing the delete key in the editable area
  • video: collaborative editing status, some parameters are not synchronized
am-editor - @aomao/[email protected]

Published by big-camel over 2 years ago

Fixed

  • List pasting may result in nested text directly under ul or ol tags
  • The getSelectionData api cannot get the contents of multiple cells selected in the table
  • scrollbar may appear infinite loop
  • the isFocused state is not properly set after the blur api call
  • markdown transition detection precision issues https://editor.aomao.com/config#markdown
am-editor - @aomao/[email protected]

Published by big-camel over 2 years ago

Improvements

markdown is all parsed using the markdown-it library

Other

Fixed

  • Cursor positioning is incorrect after list modification #167
  • If the img tag contains onload or onerror events during the pasting process, an error will be reported
  • The hr plugin will report an error during the conversion of html
  • The table cell cannot be selected by clicking on the blank space
  • some errors generated by the synergistic command
am-editor - @aomao/[email protected]

Published by big-camel over 2 years ago

Improvements

  • message : Refactored messageSuccess & messageError & messageConfirm methods. add type parameter
  • ot: After the collaborative command is executed incorrectly, reset the collaborative data on the collaborative server (delete it, then overwrite it with the current value). In order to avoid errors in the collaborative data structure and collaboration exceptions.

Full Changelog: https://github.com/red-axe/am-editor/compare/@aomao/[email protected]...@aomao/[email protected]

am-editor - @aomao/[email protected]

Published by big-camel over 2 years ago

  • feat(card): Enter the mark style after the card with the mark style #155
  • feat(ot): add opsChange event
  • feat(request): Asynchronous data and headers can be added to the request

  • fix(delete): list is merged incorrectly after deletion
  • fix(input): firefox cannot enter spaces continuously
  • fix(inline): warp will cause card exception #154
  • fix(list): fix delete list merge error and infinite loop #157
  • fix(range): History status is not updated in time
  • fix(paste): paste missing paragraph centering style
  • fix(card): Entering Chinese on the left and right sides of the card will delete the card
am-editor - @aomao/[email protected]

Published by big-camel over 2 years ago

  • fix(link): read-only disable link editing #153
  • refactor(card): The editable card cannot be edited after the updateNode method is called
am-editor - @aomao/[email protected]

Published by big-camel over 2 years ago

  • Card drag button cannot be displayed
  • Codeblock right-click menu doesn't work #151
am-editor - @aomao/[email protected]

Published by big-camel over 2 years ago

  • Upgrade sharedb version to 2.2.5
  • Switch to edit mode under readonly model ot error #150
  • Cutting block nodes accidentally caused data-id duplication
am-editor - @aomao/[email protected]

Published by big-camel over 2 years ago

Improvements

  • Added onDownload & onPreview optional configuration for file plugin
  • Refactored code block paste parsing and syntax parsing

Fixed

  • pasting into nests that cause some errors
  • Regular expression matching and re-entering after conversion will be associated with the style