Commit graph

105 commits

Author SHA1 Message Date
Tanya Fomina 32dcd3fa6d
feat(dx): add a dev-server for debugging on mobile devices from a local network (#2009)
* Add server

* Get rid of express

* Cleanup

* Revert lock

* Revert lock 2

* Update script to substitute ip address automatically

* terminal output improved

* npm ignore devserver.js

* rm spaces

* handle offline state

* Update devserver.js

* Update changelog

Co-authored-by: Peter Savchenko <specc.dev@gmail.com>
2022-04-05 19:49:16 +03:00
Peter Savchenko 640b1a2d7e
fix(readonly): crash with readonly property (#1969)
* fix(readonly): fix readonly property

Resolves #1968

* changelog added

* Update CHANGELOG.md
2022-02-09 20:46:26 +03:00
Peter Savchenko c1bca10d12
fix(ci): incorrect release tag fixed (#1964) 2022-02-08 13:26:13 +03:00
George Berezhnoy e3db19df84
Fire onChange event for native inputs (#1832)
* Fire onChange event for native inputs

* Add changelog
2022-01-13 16:12:08 +00:00
Ilya Moroz 40c05173a9
[Fix] isFunction function for async functions (#1857)
* fix test of async function, fix TS type because Function is banned type

* add tests for isFunction function

* fix eslint

* add changelog for 2.23.1

* fix changelog

* fix changelog
2022-01-13 00:46:07 +03:00
Peter Savchenko ff91466b14
feat(toolbar): toolbar refactored and ui improved (#1815)
* chore(block-tune-toggler): toggler moved to the left (draft)

* toolbox ui updated

* fixd caret jumpling, improved some styles

* toolbar moving by block-hover

- UI module triggers 'block-hovered' event
- Toolbar uses 'block-hovered' for appearing
- `currentBlock` setter added to the BlockManager
- (reactangle-selection): the throttling added to the mousemove and scroll handlers
- `getBlockIndex` method added to the Api
- (api-blocks): toolbar moving logic removed from `blocks.move()` and `blocks.swap()` methods. Instead, MoveUp and MoveDown tunes uses Toolbar API

* the dark-theme to the example-dev.html

* positioning improved

* fix(rectangle-selection): first click after RS does not clears selection state

* toolbox position fixed

* the toolbox module became a standalone class

- Toolbox became a standalone class from the editor module. It can be accessed only via the owner (the Toolbar module)
- (api.blocks) the insert() method now has the `replace` param. Also, it returns inserted Block API now.

* new(api.listeners): `on()` now returns the listener id. The new `offById()` method added

* fix bug with Tab pressing on hovered but not focused block

* mobile version improved

* upd example dev

* small updaets

* add nested-list

* linting

* (api.toolbar): `toggleBlockSettings` now fires toggling event with the same state

* EventDispatcher used instead of callbacks for the Toolbox

* UIApi added

* fix ci

* git submodules removed from the ci flow

* add paragraph submodule to the ci flow

* Update CHANGELOG.md

* Update package.json

* use ubuntu-latest for chrome ci
2021-11-24 21:14:24 +03:00
Peter Savchenko 9c0fc48d89
feat(block-api): the new dispatchChange() method (#1794)
The new `dispatchChange()` method allows to manually trigger the 'onChange' callback. Useful when Tool made a state mutation that is invisible for editor core.
2021-10-05 23:41:03 +03:00
Peter Savchenko 4f15bbc0cb
feat(onchange): callback now accepts custom event (#1791)
* feat(onchange): callback now accepts custom event

* Delete block-added.ts

* testd updated, changelog added

* Update example-dev.html

* indexes added to all events

* block-removed dispatching on block replacing

* Update example-dev.html
2021-10-05 20:40:44 +03:00
George Berezhnoy a3df3b8ace
Fix: pass user configuration to Tool prepare method (#1781)
* Fix: pass user configuration to Tool prepare method

* Fix lint

* update types

* Update changelog
2021-09-16 14:21:38 +00:00
George Berezhnoy d2d18f8061
Fix jump on CBS (#1732)
* Fix jump on CBS

* Fix lint
2021-07-21 22:12:13 +03:00
Peter Savchenko 9190824b1d
fix(blocks): plugin's destroy() method will be called on blocks removing (#1719)
* Plugin's destroy() method on blocks removing

* Add changelog

Co-authored-by: Georgy Berezhnoy <gohabereg@gmail.com>
Co-authored-by: George Berezhnoy <gohabereg@users.noreply.github.com>
2021-07-21 21:50:16 +03:00
George Berezhnoy 6f36707f67
Tunes improvements for inline actions (#1722)
* Add tunes improvements

* Allow to show Inline Toolbar at Block Tune Wrapper element

* Add fake cursor on block selection

* Fix lint

* Update types

* Fix bugs with selection

* Remove selection observer

* Update due to comments

* Fix tests

* Update docs/block-tunes.md

Co-authored-by: Peter Savchenko <specc.dev@gmail.com>

* Move fake cursor to selection utils

* Fix missing range for Safari

* Fix data attribute value

* Add comment

* Update z-index for inline-toolbar

* Add changelog

* Remove fake cursor visibility for the core

Co-authored-by: Peter Savchenko <specc.dev@gmail.com>
2021-07-21 21:33:09 +03:00
Taly cf494a7a28
Fix i18n for tunes and tools (#1711)
* we need to call isTune param to get result

* remove Tune from exported name

* Update CHANGELOG.md

* Bump version

* Update Tools.spec.ts

* Update Tools.spec.ts

* prevent tooltip jumping

* Update CHANGELOG.md

* Delete table

* Create table

Co-authored-by: Peter Savchenko <specc.dev@gmail.com>
2021-06-28 13:06:35 +03:00
Peter Savchenko a4ffb1a7fc
feature(api): blocks update method added (#1687) 2021-05-26 20:39:25 +03:00
George Berezhnoy 4e7b33c2b8
onChange improvements (#1678)
* onChange improvements

* Return modifications observer module

* Fix lint

* Fix tests
2021-05-26 18:59:32 +03:00
github-actions[bot] 231d122949
Bump version up to 2.21.0 (#1670)
* Bump version

* Update CHANGELOG.md

* Update package.json

Co-authored-by: github-actions <action@github.com>
Co-authored-by: Peter Savchenko <specc.dev@gmail.com>
2021-04-27 22:04:26 +03:00
Jean-Gab de364175eb
Unique ids in blocks with nanoid (#1667)
* feat: Add unique ids for each block

* fix: Improve code based on code review

* feat(block ids): Use nanoid library for block id generation

* Remove unused files

* Add tests

* Fix lint & test

* fix: Remove unnecessary id generation, use nanoid(10) to shorten the id, add changelog and some documentation

Also improved some documentation along the lines and fixed linting

* Update copy-paste.spec.ts

* fix id generation, add api method

* Update blocks.spec.ts

* update tests

Co-authored-by: cobb <kebincheng@yeah.net>
Co-authored-by: George Berezhnoy <gohabereg@users.noreply.github.com>
Co-authored-by: Georgy Berezhnoy <gohabereg@gmail.com>
Co-authored-by: Peter Savchenko <specc.dev@gmail.com>
2021-04-27 16:33:00 +03:00
Taly 472d950b0b
refactoring: notifier is util now (#1628)
* Notifier is util now

* Update CHANGELOG.md

* Update notifier.ts

* Update cypress.yml

* Revert "Update cypress.yml"

This reverts commit a2c8331314.

* Update CHANGELOG.md
2021-04-15 20:20:21 +03:00
George Berezhnoy 2996affb0a
Fix #1640 (#1649)
* Fix #1640

* Update changelog

* Fix typo
2021-04-14 19:07:16 +00:00
Tomoyuki Hata 04749ed098
Prevent the leak of codex-tooltip when Editor.js is destroyed (#1590)
* Prevent the leak of codex-tooltip when Editor.js is destroyed

* Cover destroy() function

Thanks, @hata6502
2021-04-14 17:49:22 +03:00
Tomoyuki Hata d5217067a6
Refactoring based on ESLint (#1637)
* Refactoring based on ESLint

* Update .eslintrc

Co-authored-by: George Berezhnoy <gohabereg@users.noreply.github.com>
2021-04-08 22:53:11 +03:00
George Berezhnoy 14acef136c
Fix copy in FireFox (#1632)
* Fix copy in FireFox

* Add test cases

* Eslint fix

* Improve readability

* fix eslint
2021-04-08 22:19:49 +03:00
Tomoyuki Hata aa5a3d05f3
Create a new block when clicked at the bottom (#1605)
* Create a new block when clicked at the bottom

* Fix for 2.20.0

Co-authored-by: George Berezhnoy <gohabereg@users.noreply.github.com>
2021-04-08 21:38:08 +03:00
Tomoyuki Hata 9cdda110da
Refactoring based on LGTM (#1635)
* Refactoring based on LGTM

* Fixed jsdoc/no-undefined-types

Co-authored-by: George Berezhnoy <gohabereg@users.noreply.github.com>
2021-04-08 21:32:49 +03:00
George Berezhnoy a88dc8e30b
refactoring(modules): sanitizer module is util now (#1574)
* refactoring(modules): sanitizer module is util now

* Remove Sanitizer from Editor modules signature

* Bind context to config composition method

* Make sanitizer singletone

* Make sanitizer a module instead of class

* Fix

* Add test cases for default values

* Fix inline tools default value

* Move inline tools and block tunes to BlockTool instance

* Fixes after review & some test cases for sanitisation

* Upgrade test case

Co-authored-by: Peter Savchenko <specc.dev@gmail.com>
2021-04-08 21:17:23 +03:00
Umang G. Patel 63e438a72d
refactoring(modules): Tooltip module is util now (#1601)
* remove tooltip module and create tooltip class

* change log added

* constructor added with tooltip

* linting added

* js-docs improved

* linting added
2021-04-08 22:17:46 +05:30
George Berezhnoy 2d89105670
[Feature] Block Tunes API (#1596)
* Add internal wrappers for tools classes

* FIx lint

* Change tools collections to map

* Apply some more refactoring

* Make tool instance private field

* Add some docs

* Fix eslint

* Basic implementation for Block Tunes

* Small fix for demo

* Review changes

* Fix

* Add common tunes and ToolsCollection class

* Fixes after review

* Rename tools collections

* Readonly fix

* Some fixes after review

* Apply suggestions from code review

Co-authored-by: Peter Savchenko <specc.dev@gmail.com>

* Fixes after review

* Add docs and changelog

* Update docs/block-tunes.md

Co-authored-by: Peter Savchenko <specc.dev@gmail.com>

* Apply suggestions from code review

Co-authored-by: Peter Savchenko <specc.dev@gmail.com>

* Update src/components/block/index.ts

Co-authored-by: Murod Khaydarov <murod.haydarov@gmail.com>

* [Dev] Tools utils tests (#1602)

* Add tests for tools utils and coverage report

* Fix eslint

* Adjust test

* Add more tests

* Update after code review

* Fix test & bump version

Co-authored-by: Peter Savchenko <specc.dev@gmail.com>
Co-authored-by: Murod Khaydarov <murod.haydarov@gmail.com>
2021-04-04 15:10:26 +03:00
George Berezhnoy 79793906a4
Ignore shortcuts error (#1598) 2021-03-15 22:41:11 +03:00
Murod Khaydarov d945d4c518
refactoring(modules): Events module is util now (#1582)
* refactoring(modules): events module is util now

* Update changelog

* remove redundant line

* refactor

* Update editor-modules.d.ts

Co-authored-by: Peter Savchenko <specc.dev@gmail.com>
2021-03-15 21:01:10 +03:00
Murod Khaydarov c4ebdee396
Do not use bubbling on blockManagers' listener (#1563)
* prevent bubbling

* update CHANGELOG
2021-03-12 20:02:09 +03:00
George Berezhnoy 2f5da52d1a
refactoring(modules): shortcuts module is util now (#1578)
* (refactoring)shortcuts module is util now

* Fix eslint

Co-authored-by: Peter Savchenko <specc.dev@gmail.com>
2021-03-05 00:32:55 +03:00
Tomoyuki Hata a67e699991
Fix SanitizerConfig type definition (#1456)
* Fix SanitizerConfig type definition

* Update docs/CHANGELOG.md

Co-authored-by: Peter Savchenko <specc.dev@gmail.com>

* Fix CHANGELOG

* Add JSDoc to TagConfig

* yarn lint:fix

Co-authored-by: Peter Savchenko <specc.dev@gmail.com>
Co-authored-by: George Berezhnoy <gohabereg@users.noreply.github.com>
2021-03-02 16:34:23 +03:00
Peter Savchenko 2759b25d35
refactoring(modules): the listeners module now a util (#1572)
* listeners module goes util

* fix listeners 'off' bug

* improve garbage collecting
2021-03-02 16:25:52 +03:00
Tomoyuki Hata 3bf30f0c1e
Add generics to OutputBlockData (#1326)
* Add generics to OutputBlockData

* Fix typo

* Update CHANGELOG.md

* Add @template description

Co-authored-by: Peter Savchenko <specc.dev@gmail.com>
Co-authored-by: George Berezhnoy <gohabereg@users.noreply.github.com>
2021-02-28 00:33:06 +03:00
Tomoyuki Hata e5fe93eeb5
Make passed config immutable (#1553)
* Make passed config immutable

* Update docs/CHANGELOG.md

Co-authored-by: Peter Savchenko <specc.dev@gmail.com>

* Separate this.config initialization

Co-authored-by: Peter Savchenko <specc.dev@gmail.com>
Co-authored-by: Taly <vitalik7tv@yandex.ru>
2021-02-28 00:31:11 +03:00
Tomoyuki Hata 3f39cb735d
Set caret when block data pasted (#1470)
Co-authored-by: Peter Savchenko <specc.dev@gmail.com>
2021-02-18 20:31:37 +03:00
kai_ogita 527ff4e6d1
Add url length validation to Link at inline-tool. (#1476)
* Add url length validation to Link at inline-tool.

fix

* simplify, add chengelog

Co-authored-by: Peter Savchenko <specc.dev@gmail.com>
2021-02-18 20:25:38 +03:00
Umang G. Patel aa8675d61d
Toolbar toggler API (#1466)
* ToolBar Api Added

* Change Log added

* change Toggletoolbar to  toggleBlockSetting

* Update docs/CHANGELOG.md

* Update editor.js

* Update toggleBlockSetting to toggleBlockSettings

* Apply suggestions from code review

Co-authored-by: Peter Savchenko <specc.dev@gmail.com>

* Apply suggestions from code review

Co-authored-by: Peter Savchenko <specc.dev@gmail.com>

* Changes requested by hata added

Co-authored-by: Peter Savchenko <specc.dev@gmail.com>
2021-02-18 22:20:45 +05:30
Tomoyuki Hata 143a539e01
Fix unstable block cut process (#1485)
* Fix unstable block cut process

* Update CHANGELOG

Co-authored-by: Peter Savchenko <specc.dev@gmail.com>
2021-02-18 18:51:03 +03:00
Tomoyuki Hata 21adb61bc9
Scroll Window with block selection (#1457)
* Scroll Window with block selection

* Update CHANGELOG.md

Co-authored-by: Peter Savchenko <specc.dev@gmail.com>
2021-02-18 18:48:05 +03:00
Hiếu Phan 51b1fdc9e0
Hotfix: sanitizer config type definition (#1491)
* fix: sanitizer config type definition

* update func parram in sanitizer config

* update type

* Update CHANGELOG.md

Co-authored-by: Peter Savchenko <specc.dev@gmail.com>
2021-02-18 18:47:11 +03:00
Tomoyuki Hata 4ddba9208d
chore(types): a generic type for tool config added (#1517)
* Add a generic type to ToolSettings

* Update tool-settings.d.ts

Co-authored-by: Peter Savchenko <specc.dev@gmail.com>
2021-02-18 16:25:12 +03:00
Tomoyuki Hata 4c7cad1b41
Remove force options in Caret.navigateNext() and Caret.navigatePrevious() (#1525)
Co-authored-by: Peter Savchenko <specc.dev@gmail.com>
2021-02-18 15:19:20 +03:00
Taly fbd4bd9e0a
Feature: remove bundles (#1541)
* Remove dist directory

* Ignore dist directory

* Remove local file usage

* Add error banner for missing bundle

* Update CHANGELOG.md

* Fix missed code

* Add mkdir dist command
2021-02-18 14:06:20 +03:00
Peter Savchenko c106819184 the long line splitted for several small ones, some more docs added 2021-02-17 18:01:28 +03:00
Tomoyuki Hata 7c8778acc4 Fix BlockManager.setCurrentBlockByChildNode() with multiple Editor.js instances 2021-02-17 18:01:28 +03:00
Tomoyuki Hata bbbd637dfd
Change shortcut listener binding (#1431)
* Change shortcut listener binding

* Update CHANGELOG.md

Co-authored-by: Peter Savchenko <specc.dev@gmail.com>
2020-11-21 21:08:49 +03:00
Mihir Rane 585e01b06c
Basic initialisation test for Editor.js (#1410)
* Initial commit

* Fixed test.html file

* Create editor instance in the test

* Assert paragraph data in editor instance

* Moving cypress folder to test folder

* Minor Fixes

* Removed config test for now

* Fixed example.html

* Fixed editor.js dist path

* Minor Fixes

* Stored Host in a const

* Add nodemon and Fix commands

* Add and configure cypress eslint plugin

* Updated Tests according to best practices

* Minor FIxes

* Minor FIxes

* adjust eslint and ts

* Update .eslintrc

* improve config

* debug tests

* fix tests

* Fix declarations

* descrease debounce

* rm timeout

* Update CHANGELOG.md

* Update CHANGELOG.md

Co-authored-by: Peter Savchenko <specc.dev@gmail.com>
Co-authored-by: George Berezhnoy <gohabereg@gmail.com>
2020-11-21 21:01:31 +03:00
Murod Khaydarov f440a60ead
Replace typeofs (#1434)
* Replace typeofs

* save eslint fixes

* fix

* update

* remove sourcemap

* update

* update changelog

* fix typo
2020-11-21 20:54:01 +03:00
Peter Savchenko e319e04350
fix(caret): right-arrow on last non-default block (#1416)
* fix(caret): last non-default block navigation won't craete a new block untill reaching the end

* reuse variable
2020-11-21 16:44:20 +03:00