* Add maximum document length config option
* Show remaining characters in tooltip of status-bar length-info
* Remove unnecessary checkDocumentLength function
* Add max-length warning
* Update translation wording
* Set dialog to medium size
* Add coloring to status-bar length info
* Improve wording in warning modal
* Add cypress e2e tests
I included the cypress-commands package and set the language level to ES6 to allow easier testing e.g. of element attributes.
* Changed way how the modal-advice was styled and positioned
* Show warning modal only on first length exceeding
* Improved length tooltip by adding messages when exceeding or reaching limit
* Add mock files
Note that revisions-list needs to be called revisions in the reality to be confirm with the API spec, but our mocking solution doesn't allow that...
* Add revisions API calls
* Fix line endings in mock files
* Extend CommonModal to accept size and additionalClasses
* Clarify variable name in API request
* Add react-diff-viewer as dependency
* Add revision chooser modal
* Fix type of route params
* Added and updated mock files
* Added user-icon list per revision
* Added translation to alt text of avatars
* Updated mock file to remove inconsistencies
* Add caching for revisions
* Sort mock file revisions-list descending by timestamp
* Pre-select first/newest revision on first modal open
* Regenerated yarn.lock file from scratch
* Applied requested changes in variable names and line lengths
* User UserAvatar component instead of manually set image
* Move revision-modal-list-entry to own component
* Removed unnecessary return statements
Massive improvement of render performance by:
- replacing the codimd-line-marker with an in-memory map
- an observation of the changed markdown code to identify changed lines
- a unique react-key calculation
* Remove useless divider-spans from toolbar and change css-selector
The use of extra divider elements is not needed as we can set the css-after pseudo-class to the button groups with the same styling.
This way we can reduce the amount of elements in the DOM by a hand full.
* Use scss syntax and include one rule into another more common one
* added missing autocompletions:
- code-block
- container
- header
- image
- link
- pdf
* added extraTags ([name=], [time=], [color=]) to the link autocompletion, because they trigger on the same characters
added getUser in /redux/user/methods to retrive the current user outside of .tsx files
improve the regexps on several autocompletion
* renamed hints to auto
Co-authored-by: Erik Michelson <github@erik.michelson.eu>
Co-authored-by: Tilman Vatteroth <tilman.vatteroth@tu-dortmund.de>
* Add 'yarn lint' command and run it in GH actions
* Move linting to own workflow
* Remove linting from build-workflow
* Solve linting warnings
Signed-off-by: Tilman Vatteroth <tilman.vatteroth@tu-dortmund.de>
Co-authored-by: Tilman Vatteroth <tilman.vatteroth@tu-dortmund.de>
- added csv-replacer
- changed highlghted-code plugin:
each replacer extracts what he need from the data-extra attribute now
- changed CHANGELOG.md
Co-authored-by: Erik Michelson <github@erik.michelson.eu>
This fix needs a little bit of explanation. Normally the 'keyUp' prevent is preferred because it fires after being sure, that not some buttons more belong to the shortcut. Additionally some platforms set the key-property of the 'keyDown'-event to the composition result of the key-combination thus resolving under certain environments to '€' while in other environments to 'e'.
The browser's event flow is as following: keyDown -> keyPress -> textInput -> keyUp.
As the keyUp-event is too late (after textinput) and the keyPress-event does not work properly with the modifiers, we felt compelled to use 'keyDown' and watch for 'e' as well as '€' key-properties. If some other keyboard locale does output different characters than these two, that person got a problem - meaning no functionality of the shortcut. But still better than nothing.