Commit graph

256 commits

Author SHA1 Message Date
horoyami b367ecddbf
Fix losing of selection (#576)
* update table

* fix code

* fix name

* Update package.json

* version
2018-12-24 23:58:45 +03:00
George Berezhnoy 5b156c1875
Fix jumping caret bug (#568)
* Fix jumping caret bug

* Get element from point
2018-12-24 21:40:15 +03:00
Peter Savchenko cfae683d6a
Add z-index to editor, add default styles for internal inline-tools (#566) 2018-12-24 09:20:20 +03:00
Peter Savchenko 71315d902a
Disable Mutation Observer while saving (#563)
* Disable Mutation Observer while saving

* rm image
2018-12-20 23:47:27 +03:00
Murod Khaydarov 41ae41cda7
issue-469: resolving error with setCaret (#570)
* issue-469: resolving error with setCaret

* dump version

* update package.json

* expand input types
2018-12-19 15:46:07 +03:00
Peter Savchenko 71a8a99937
Add changelog (#571)
* Changelog added

* note about html janitor

* update changelog

* update patch

* even
2018-12-19 14:52:21 +03:00
Taly f9d65d9544
Update prod build (#572)
* Remove watch from prod build

* x -> X

* bump version for CI

* Revert "bump version for CI"

This reverts commit 2c9d24d82c.
2018-12-19 08:09:56 +03:00
George Berezhnoy 8e5a56a67a
Check if node is single tag element in isNodeEmpty method (#567) 2018-12-18 22:24:15 +03:00
Murod Khaydarov 7c778d511c
issue-559: Allow default selection on native inputs (#564)
* issue-559: allow double CMD+A on native inputs

* restore commented code
2018-12-14 18:22:21 +03:00
Taly ed8b4f11f2
Remove "decline sound" on macOS on copy event (#558)
* Remove "decline sound" on macOS on copy event

* bump version

* remove legacy "build" dir
2018-12-08 09:48:27 +03:00
Murod Khaydarov d5d77c60cb
[ModificationObserver]: Use Native MutationObserver instead of DomModification listener (#556)
* Use native Mutation Observer

* use debounce on mutations

* bump version

* code descriptions

* upd
2018-12-07 11:33:43 +03:00
Murod Khaydarov 3d512d66ff
Polifylls Element interface type fixes and Selection util rangeCount extra condition (#555)
* hotfix

* update
2018-12-07 09:37:14 +03:00
horoyami 0ad9484c75 Inline Toolbar: Selection is not reseted (#543)
* Selection is not reseted if click on toolbar borde

* blue back

* 'refactoring'

* fix double link click

* fix double link click

* fix double link click

* listener

* 'reset'

* reset fix

* add missed bundles, increment version

* update submodules
2018-12-06 22:33:32 +03:00
Murod Khaydarov af4f62b254
Issue-459 (#551)
* close toolbar after block is removed

* update bundle
2018-12-06 22:23:06 +03:00
Murod Khaydarov 020961a7e8
Fix bug with warning (#550)
* Fix bug with warning

* update from master
2018-12-06 22:14:56 +03:00
Peter Savchenko 79399b6eb4
Dont clear dist before build (#549)
* Dont clear dist before build

* dont drop dist dir
2018-12-06 21:48:32 +03:00
George Berezhnoy 3a9e4a814b
Add notification if URL is not valid (#548) 2018-12-06 09:42:30 +03:00
George Berezhnoy 71f8d76787
Optimize and improve bundling (#547)
* Optimize and improve bundling

* Bump version

* Update path to main script
2018-12-06 00:01:24 +03:00
George Berezhnoy 866c38af2a
Stub Tool (#545)
* Add stub tool

* Rendered -> displayed

* Bump version

* font sizes updated

* add opacity for selected block with stub tool

* Update comment
2018-12-05 17:02:09 +03:00
George Berezhnoy c93ed2501b
Add tools` titles for Toolbox (#540)
* Add tools` titles for Toolbox

* Bump version

* Use isEmpty method to check object emptiness

* Improve isEmpty method

* Override toolbox settings from editor config
2018-12-04 20:24:41 +03:00
Murod Khaydarov 185eed8cb8
Merge fixes (#541)
* Merge fixes

* add type

* source map
2018-11-30 21:57:30 +03:00
Murod Khaydarov 4511194bb9
Enter on selected Block (#538)
* Enter on selected Block

* fix small bug with restoring caret
2018-11-30 18:02:24 +03:00
George Berezhnoy 669c11eaa5
Paste handling improvements (#534)
* Make on paste callback non-static method

* Add docs

* change tools.md header levels

* some docs improvements

* upd docs

* Types improvements

* add image tool for testing

* Fix file drag'n'drop

* improve log on paste

* Update submodules

* Update bundle

* Update paragraph submodule

* Fix some bugs with blocks replacement
Remove tag from HTMLPasteEvent

* Use production webpack mode

* minimize: true

* Update docs

* Update submodules

* Update bundle
2018-11-29 12:16:06 +03:00
Murod Khaydarov 819719aadc
update HTML-Janitor patch (#537)
* update HTML-Janitor patch

* update readme

* add licence to code
2018-11-24 22:06:40 +03:00
Peter Savchenko feace16fc1
Remove contentless and irreplaceable (#535)
* Remove contentless and irreplacable settings

* update version
2018-11-24 18:47:49 +03:00
Taly 953949e56f
set default value for holderId (#533)
resolves #496
2018-11-24 17:52:26 +03:00
Peter Savchenko 8398f825a8
Dont show Block Actions on new paragraphs (#532) 2018-11-24 17:04:32 +03:00
Peter Savchenko ecfcfaa79f
Optimisation: dont fire isEmpty checking for not-initial Blocks (#529)
* Optimisation: dont fire isEmpty checking for not-initial Blocks

Because not-initial Tools can has maaany nodes and it will be slow to walk three.

* upd comment
2018-11-24 16:33:43 +03:00
Peter Savchenko 09df079509
Logger improved (#521)
* Logger styles improved

Resolves #520

* increment version

* update bundle

* change last log
2018-11-24 12:57:11 +03:00
George Berezhnoy bcdfcdadbc
Move to typescript (#474)
* Move all modules to ts

* It works

* Update README.md

Co-Authored-By: gohabereg <gohabereg@users.noreply.github.com>

* Interfaces

* Interfaces

* Move depending interfaces to external types

* Update README.md

* update tools

* add some docs

* Add some fixes

* Add desctiprion for Block declaration and Core properties

* Fixes due comments
:

* Remove Block from external types

* Bump version

* Update src/components/modules/tools.ts

Co-Authored-By: gohabereg <gohabereg@users.noreply.github.com>

* Update src/components/core.ts

Co-Authored-By: gohabereg <gohabereg@users.noreply.github.com>

* Rename gteBlockHTMLByIndex to getBlockByIndex

* Remove unnecessary constructors

* Clean up bindEvents method

* Add InlineToolConstructable interface

* Delete legacy notifications class

* Fix zero-configuration bugs

* Update inline tools and block tunes constructors
2018-11-23 19:11:50 +03:00
Murod Khaydarov 6a90784b69
Block selection (#483)
* initial commit for feature

* selection with cmd+a

* copy to clipboard

* use div instead of textarea

* select and copy improvements

* requested changes

* update

* improve styles

* remove missclick

* clear selection with escape and other keydowns except shift

* copy to clipboard with cmd+a&cmd+c

* restore selection after clearing block selection

* update submodules

* update

* rename func name

* rename getter selected

* small naming changes

* native selection fix

* fix with appendCallback

* add light animations to selection

* move appendcallback to the toolbox insertnew function

* upd styles

* update

* missed {}

* last fixes

* upgrade version
2018-11-13 19:11:47 +03:00
Taly 7901bbb7e6
Add .idea/ dir to npmignore (#489)
* add .idea/ dir to npmignore

* bump version
2018-11-11 01:31:57 +03:00
Taly f5c4a8db37
add npmignore file (#488) 2018-11-11 01:27:51 +03:00
Taly b8ce51d77f
Notifier module and API (#486)
* Notifier module and API

* add docs

* update notifier module

* bump version

* impr image module

* git cache cleared

* remove image submobule

* add sumbodule
2018-11-10 15:47:25 +03:00
Polina Shneider 4a27dc6766
Fix plugin int return data (#487)
* Fix plugin int return data

* clean only strings

* Increase version
2018-11-09 20:15:49 +03:00
Peter Savchenko 8ceb615cd5
Some new styles, used by Image Tool (#479)
* Some new styles, used by Image Tool

* update example

* Update submodule

* increase version

* remove Simple

* update some packages
2018-11-06 18:33:39 +03:00
George Berezhnoy 986708ed90
Do not sanitize if sanitizer config is empty (#477) 2018-10-23 15:33:03 +03:00
Murod Khaydarov 3f8c7fbb7b
Sanitizer features (#467)
* Sanitizer features

* move to ts, use sanitizer module to clean taintstring

* Sanitizer is ready

* it works

* Code refactored (#476)

* Use new features for paste handling

* Fix asterix

* Add types and some comments

* Use any type for deepSanitize method

* Make sanitize property static and use apiSettings object

* Use sanitize for single-block pasting

* Fix comment

* little updates

* rename sanitize in inline-tools docs

* Update pattern handling

* Use public getter for available tools

* Fix typo
2018-10-23 10:34:00 +03:00
George Berezhnoy cb86bf446b
Improve paste behaviour (#473)
* Improve paste behaviour

* Use variables for long expressions

* Fix paste processing logic
2018-10-16 15:33:49 +03:00
George Berezhnoy 53f58584b6
Fix sanitize config on paste (#471) 2018-10-10 22:32:17 +03:00
Murod Khaydarov ff80ca6e92
api sanitizer improvements (#457)
* api sanitizer improvements

* update

* sanitize recursively

* clear from logs and update comments

* optimize

* update

* perfect recursive method

* update request

* upd

* update docs

* update comments

* update

* update docs

* update last comment

* update

* update docs

* update docs

* update

* upd docs

* add extra condition

* update

* update docs link
2018-10-01 14:07:51 +03:00
George Berezhnoy cba8de8367
Bump minor version (#461)
* Bump version

* Bump minor version
2018-09-28 17:08:09 +03:00
George Berezhnoy 330e8ac76f
Bump version (#460) 2018-09-28 16:52:49 +03:00
George Berezhnoy cdf6d973c1
Update toolbar move as not to overlap editor`s content (#455)
* Update toolbar move as not to overlap editor`s content

* Bump version

* Add top offset to toolbox actions

* Calculate offset once
2018-09-20 16:46:40 +03:00
Murod Khaydarov bdae8d3fad
inline-tools: prevent default behaviour on clicks to prevent form submitting (#454)
* fix inline-tool buttons

* prevent default on inline-tool clicks

* update

* update version from package json

* update version and use badgen in README

* upd
2018-09-20 14:51:21 +03:00
Murod Khaydarov 7acf321454
Mutation callback (#444)
* modification observer initials

* add debouncer to callback execution

* change feature name

* update

* code improvements

* tslint fixes

* use debouncer from utils

* add types

* upgrade

* fix

* update
2018-09-05 00:34:11 +03:00
Taly 45d19ab4d2
configuration must be undefined by default (#442)
* configuration must be undefined by default

* update
2018-09-03 20:27:19 +03:00
Taly 314cc6de24
Define default value for config object (#441)
* define default value for config object

* bump version

* redefine onReady function
2018-09-03 18:54:37 +03:00
Murod Khaydarov f2f8bc0851
Do not show plus button if toolbox is empty (#439) 2018-08-30 16:38:52 +03:00
Murod Khaydarov bd09c150bf
issue-433: shortcuts handler errors (#438)
* check selection existance or current block is not null

* ignore shortcut handler if nothing selected

* remove unnecessary code

*  check for empty selection

* update comment

* allow to fire shorcuts with empty selection
2018-08-30 16:34:47 +03:00
Peter Savchenko 6ac69a48e8
Issue #426 : Imporve Toolbar position calculating (#435)
* Issue #426 : Imporve Toolbar position calculating

* header tool update

* 2.0.5
2018-08-28 18:14:34 +03:00
Taly d9a2361603
use Apache-2.0 license (#428)
resolve #408
2018-08-15 19:51:18 +03:00
Max Kokorin 3a2512cd76 fix babel-polyfill conflict (#424) 2018-08-10 16:35:49 +03:00
Taly 1627f8a3bd update readme (#419)
* update readme

* update readme
2018-08-07 09:32:32 +03:00
Taly 15599d032d
Fix missing holderId (#407)
* set default holderid

* 2.0.2

* pack bundle
2018-08-05 16:09:30 +03:00
Taly 87ed7ec0ee
Fix link to example (#405)
* fix link to example.html

* 2.0.1
2018-08-05 15:44:53 +03:00
Peter Savchenko 61242ab6a6
Release 2.0-beta (#387)
* update
* Toolbar, Toolbox, UI (#239)
* Toolbox making
* Add Toolbox buttons click handler
* Toolbar, Toolbox, UI
* Updates
* update css prefix
* trying to write docs
* append callback behaviour
* update request
* update
* empty initial data
* initial saver
* some requested changes
* update request
* requested changes
* upgrade saver
* new improvements
* update
* Caret module: initial
* improvements
* moving caret initial
* small improvements
* last changes, added docs
* requested changes
* implement getters instead of functions in block cursors
* last requested changes
* caret module docs and last improvements
* update docs
* upgrade request
* update docs
* upd
* todo on delays
* Sanitizer docs
* split func upd
* split blocks update
* up docs
* Listeners Module: initial
* listener module updates
* split is ready
* update
* start to make merge
* upd
* split general upd split is ready
* ups
* keyboard module update
* BlockManager removed keyboard handler
* commit before merging rewriting2.0
* general upd split
* Documentation upd
* document + listener upd
* upd doc
* documentation upd
* doc upd
* listener upd
* update algh extract fragm
* upd extractRangeContent
* upd dom.js
* keyboard upd (shift + enter & enableLineBreaks)
* upd enter pressed
* keyboard.js upd
* enter pressed upd
* documenation added
* documentation upd
* Toolbar: settings zone added. (#252)
* Toolbar: settings zone added.
* update some comments
* Making a Toolbar
* delete block
* dom improvements and merging blocks
* merge and split improvements
* fix merging
* do not remove block if block contains media
* optimize code
* caret behaviour improved
* up
* up
* merging blocks. Now plugins handles this cases
* mergeable getter
* save
* up
* dom getdeepestnode improvements
* improve getDeepest node method one more time
* upd
* Deal with it
* improve isAtStart
* improve docs
* use smart isAtStart and isAtEnt method in navigateNext/navigatePrevious
* improve docs
* fix bug in $.isEmpty, improve keydown
* fix isAtEnd
* rollback setCaret code duplication
* improve backspace
* Debug tree walker
* fix tree walker
* small caret fix
* queue ordering
* update bundle
* improve first letter checkup
* doc upd
* update current block index setter
* TypeScript support, Webpack 4, Inline Toolbar beginning (#257)
* Create UI
* Support TypeScript Modules
* remove tmp files
* migrate to 2-spaced tabs
* Add TS Linter
* Inline Toolbar moving (#258)
* Inline Toolbar moving
* simplify code
* Check is need to show Inline Toolbar
* remove duplicate from doc
* fix doc
* open/close IT
* Close IT by clicks on Redactor
* @guryn going strange
* default settings initial
* add move up button to default tunes area
* need to figure out with assets
* Inline Toolbar Tools base example (#260)
* Inline Toolbar Tools base example
* texts fixed
* imrpove texts
* little fixes
* save
* tunes with interface
* add tool settings
* initial api methods
* api is ready
* started writing docs
* Create svg sprite (#261)
* API
* requested changes
* fix conflicts
* add docs
* doc fixes and interface improvements
* update
* API scopes improved
* Deleting block: Initial
* Delete block with confirmation
* Event subscription&unsubscription
* deletion trigger improvements
* small improvements
* Link Inline Tool (#264)
* Link Inline Tool
* api injected
* text improved
* Clear input on the reselection
* little improvements
* Delete tune fixes
* UI: Block Settings, show Plus after Enter keydown (#265)
* Some UI improvements: icons settigns
* Show plus button after split
* decrease autoprefixer
* rename variable
* Revert "Merge branch 'delete-tune-fixes' into rewriting-version2.0"
* Delete Tune improvements
* upd
* upd comments
* actualize API docs
* Allow to connect external Inline Tools (#269)
* Allow to connect external Inline Tools
* unhardcode tool's api settings
* Italic inline tool
* update icon size
* upgrade findParentTag function
* add interface selection
* fix cs
* save marker
* bundles
* add todo
* removing wrapper
* update styles
* market -> term
* add comments
* improve code
* descrease margin
* add text block to example
* add line brakes
* remove space
* fix bugs
* fix bug
* umd as a library target
* background -> background-color
* Clear API (#274)
* blockManager.clear
* upd
* api bez ebanoj knopki api
* fix assignment
* insert empty block with clear method
* clear and render methods improved
* open saver.save()
* add comments
* update comments
* fix data returned by editor
* rename plugin name field in data object (#276)
* Text tool refactored (#277) Now it returns strict data format.
* do not add block if tool is not exist (#278)
* do not add block if tool is not exist
* show warning
* add todo
* update warning message
* put message into variable
* Revert "put message into variable"
* update comment
* Module Keyboard rewrited to BlockEvents (#279)
* Module Keydown rewrited to BlockEvents
* move keyup and mouseup to the Block Events
* Move-up tune (#268)
* Move up tune initial
* move up tune initial behaviour* moving up formula, docs and code cleaned
* do not close the toolbar if moving block up* move nagivate methods to Caret Module* navigations returns boolean if caret is set
* code improved
* update comments
* Eslint --fix for project files (#280)
* Header plugin (#281)
* header initial
* fix styles
* eslint fix
* add appendCallback
* add comments
* update styles
* add svgs
* highlight settings buttons
* do not show text plugin in the toolbar
* remove svg
* Fixing caret behaviour. (#282) Plugins can change their state so that affect on Block's pluginsContent property which is in memory.
* remove useless code
* fix merge
* "MoveDown" tune (#283)
* move down initial Swap current block with next block and scroll window screen
* check if block is last added new method to the blocks API that returns blocks count
* fix comments
* animate tune
* add animation when tune is disabled
* requested changes
* remove unused css
* Fix merge function and rename Block's wrapper (#284)
* Fix merge function and rename wrapper
* update
* renew condition
* update
* upd
* Merging blocks: Restore caret position 🤟🤟💪 (#286)
* Merging blocks: Restore caret position 🤟🤟💪
* requested changes
* update removing shadow caret
* hide toolbar and selection on typing (#289)
* Editor Instance config Interface (#285)
* create interface for editor config
* use IEditorConfig
* create some interfaces
* add comments
* editor interface
* updates
* update editor interface (#293)
* При перемещении по стрелочкам убирать выделение блока (#296)
* При перемещении по стрелочкам убирать выделение блока
* Add comments
* update comments
* update comment
* update toolbar design (#301)
* Set caret at the end if clicked outsite the block (#305)
* Set caret at last block or create new block at end
* update comment
* fix comments
* Insert new Block when enter pressed on editor area (#307)
* insert new block when enter pressed on editor zone
* extra conditions. Enter must be handled on editors area
* move at editor condition to the Selection method
* closes can return null
* fixing editor area
* do not create new block
* clean example
* updates due to the requested changes
* Add placeholder to contentEditable elements (#306)
* add placeholder to contentEditable elements
* store selection color in a variable
* add placeholder to header block
* Add placeholder to contenteditable only if attribute data-placeholder exists
* remove tool config
* Close toolbar after block is removed (#314)
* makeSettings -> renderSettings (#315)
* Term: new icon, new style. + margin between settings buttons (#316)
* remove useless span wrapper
* update linters
* update styles
* process click on svg by closest
* remove commented code
* rename function: svgIcon -> toolboxIcon
* add toolboxIcon to docs
* Paste (#259)
* Paste module
* Rewrite paste logic
* Update due comments
* Docs
* Add all block elements
* Sanitize content on paste
* Remove logs and add header handler
* Add comment to dom.js
* Add comment to tools.js
* Split block if paste not at the end
* Update docs
* Update docs
* Take Tool name from config
* Update docs
* Label onPaste handler as private
* Resolve conflict
* Replace current block if it is empty (#320)
* Improve Header line-height (#321)
* Fix typo (#324)
* CodeX Editor 2.0
* Module Shortcuts (#317)
* import shortcuts
* node modules works
* enable shortcut for inline tools
* check shortcut existance
* enable shortcuts to Block tools
* set caret to block if block replaced
* enable shortcuts on inline-tools
* improve code
* last changes
* update
* fix
* insert returns block so we can set caret
* use Map instead own structure
* disable shortcut if iniline-toolbar disabled
* update code styles
* remove todo
* upd
* update
* remove settings from insert function
* create interface
* code improvements
* use const instead of let
* upd
* Simple Image Tool (#326)
* Simple Image
* fix pattern
* show tunes` state
* update code
* update code
* upd
* Fix toolbox appearance, tools boxed are clickable (#331)
* Remove toolsConfig from Editor's config (#327)
* fix linters
* remove toolsConfig
* update tool's interfaces
* add comments
* bundles
* remove test headers
* restore commented code
* update tool's interface
* toolConfig -> toolSetting
* fix typos
* update code comments
* update installation doc
* update docs
* update dev dep packages (#333)
* Check is paste handler a function only if it exists (#328)
* Toolbar with tab (#330)
* toolbar tabs initial
* leaf initial
* save state
* flip back toolbox items
* enter on toolbox item
* update
* requested changes
* new condfition
* update
* improve animation on leaf
* fix shift+tab flip
* up
* update
* updates
* Consecutive blank lines are forbidden
* Correct choosing next toolbox item
* update
* update comment
* Validate editor's config before initing (#341)
* validate editor's config before initing
* update readme
* @
* update comments
* add function _.isClass
* Styles API (#343)
* StylesAPI
* use styles api in plugins
* add inline styles
* List Tool [new] (#344)
* list tool initial
* list class with settings
* make tool reactive
* final List improvements
* reorder
* tmp update
* unhadrcode enter handler
* updates
* enableLineBreaks also checks
* skip empty items
* select LI by CMD+A, fix backspace in the last item
* improve check for emptiness
* Example page improved (#347)
* Update new example
* imrpove example.html
* updates
* improve code
* Header plugin (#348)
* isFunction function
* use header from cdn
* Improve paste behaviour (#346)
* Improve paste behaviour
* Done
* Don't pass empty items
* Update comment
* move public up
* Remove disallow paste option
* Quote Tool (#329)
* Quote Tool
* Add icon
* Upd
* fix ENTER on quote
* Remove useless code
* items -> blocks (#351)
* use SimpleImage from cdn (#355)
* use simpleimage from cdn
* add comments
* fix spaces
* fix comments
* remove comments
* update simple-image script
* Update text on the example.html (#356)
* use Paragraph Tool from CDN (#357)
* use Paragraph Tool from CDN
* add line brakes
* rename block: paragraph -> text
* Remove _callbacks.js (#358)
* Clear unused files (#359)
* TOOLBAR_ICON_CLASS -> TOOLBAR_ICON (#360)
* TOOLBAR_ICON_CLASS -> TOOLBAR_ICON
* remove defaultConfig
* Delimiter tool (#362)
* Delimiter added
* ашч
* use delimiter from cdn
* Enter on editor (#363)
* Enterpress on editor
* use additional property
* check enter on body
* update
* fix toolbar behaviour
* upd
* update bundle
* remove useless ui property
* update comment
* add Element.prepend() function (#365)
* add Element.prepend() function
* allow to pass element of array to prepend() polyfill
* use List Tool from cdn (#366)
* use List Tool from cdn
* add missing </div> in example.html
* Pass "config" from Tool's settings to Tool's constructor (#367)
* pass config from Tool's settings to Tool's constructor
* reorder elements
* add apiSettings.CONFIG property
* use string as a object's key 😔 (#368)
* update placeholder's styles (#369)
* Add shortcuts for internal tools (#370)
* Add shortcuts for internal tools
* upd doc
* remove articles
* ☹️ guryn asked
* use quote from cdn (#371)
* Add cache to the inline tools (#372)
* use Inline Code Tool from cdn (#375)
* Issue 354 inline tools filter (#376)
* Allow to filter inline tools.
* update example
* update header
* fix endless cycle (#378)
* Destructured options for Inline Tools (#379)
* add destructured options for inline-tools
* temporary disable inlineCode
* remove term sources
* Fix toolbar moving after arrow navigation (#380)
* Fix toolbar moving after arrow navigation
* move before open
* fix error on Enter after block removing
* add example Tools as submodules (#381)
* add destructured options for inline-tools
* temporary disable inlineCode
* remove term sources
* add inline code Tool as a submodule
* update version of inline-code package
* add Tools as submodules
* update Tools and use destructured params object
* Add constructor() docs
* update package Paragraph Tool
* update installation docs
* Input navigation (#339)
* Quote Tool
* Add icon
* Upd
* Initial setup
* Save changes
* Add scroll and fix input focus
* Add comments
* Rebuild bundle
* fix ENTER on quote
* Fix split behaviour
* Fix
* Navigate only to contentful blocks
* add comments
* Fix backspace on last block
* Remove log
* It works
* Resolve comments
* Use constants
* New readme 🦅 (#386)
* New readme 🦅
* upd text
* Issue 374 (#385)
* Fix issue #374
* Set current block index to -1 if there is no blocks left
* Insert new block if first one was removed by default
* Paragraph as a default Tool in editor; Zero-conf (#389)
* git commit -m "Removed submodule Paragraph"
* add paragraph to core + zero-config
* update bundle
* update comment
* remove log
* enable minifying (#390)
* Drop current block index only if there is no selection at the Editor (#388)
* Drop current block index only if there is no selection at the Editor
* Set current node if click ended out of editor
* Small backspace behaviour improvement (#391)
* Small backspace behaviour improvement
* fix caret position
* update from base branch
* Update webpack config
* Migrate to Yarn (#393)
* Migrate to yarn
* Update scripts
* Rewrite helpers classes to TypeScript (#396)
* Add docs and isReady promise (#394)
* set default holderId value (#404)
* Destroyer (#392)
* Initial destroy method
* Add destroy method to api docs
* Export isReady promise in CodexEditor constructor

👨‍🎓

Co-authored-by: Murod Khaydarov <murod.haydarov@gmail.com>
Co-authored-by: George Berezhnoy <gohabereg@gmail.com>
Co-authored-by: Taly <vitalik7tv@yandex.ru>
2018-08-05 14:51:58 +03:00
Taly b9b07135f7 check for a coords or focusedNode is null (#255)
* check for a coords or focusedNode is null

* bump version
2018-05-25 17:49:46 +03:00
George Berezhnoy e06d3c36eb Hot fix for Codex.Notes 2017-10-12 20:04:35 +03:00
George Berezhnoy 03f84307f4 Update version 2017-08-30 16:09:37 +03:00
George Berezhnoy 5e9c0a175f Merge branch 'master' into add-update 2017-08-30 14:20:13 +03:00
Taly Guryn 6a95324f0c update version 2017-08-30 06:49:10 +03:00
Taly Guryn 49827b75d7 Add custom placeholder 2017-08-30 06:33:09 +03:00
Taly Guryn 610ee0b27c Update version 2017-08-30 05:23:01 +03:00
Taly Guryn 8d628b9dc3 Update version 2017-08-30 04:19:02 +03:00
George Berezhnoy 880505a88c Remove placeholder when toolbar is opened 2017-08-30 03:40:16 +03:00
George Berezhnoy b5fae97b3d New saver 2017-08-30 02:33:57 +03:00
Peter Savchenko dc1d780c89 configure sanitize 2017-04-25 03:47:30 +03:00
George Berezhnoy aecd0da45a Update version 2017-04-24 20:41:36 +03:00
George Berezhnoy e027488fa8 Update version 2017-04-24 02:04:38 +03:00
Peter Savchenko da4d8153d7 Improve AJAX context saving (#184)
* Improve AJAX context saving

Value returned in beforeSend method now will be passed as context to
the Error, Success and Progress events

* resolve conflict
2017-04-23 17:11:03 +03:00
Murod Khaydarov 49a4290e8e sanitize improvements 2017-04-23 00:53:06 +03:00
George Berezhnoy 510764a3cd Attaches plugin (#181)
* Attaches plugin

* Ignore server dir

* Progress bar added

* Styles upd

* Fix

* refactoring

* core.ajax fix

* Upd

* Upd

* update styles

* remove tmp return

* styles updated

* file title now 'title'

* Current upload check

* update attaches and image plugin
2017-03-21 21:45:52 +03:00
khaydarov 7972b2ff50 sanitizer configuration (#179) 2017-03-16 00:42:47 +03:00
Taly a98d6e4f1a Release.1.6 (#178)
* Remove textarea, add holder

* Change textareaId to holderId release.1.6.0

* Update bundles release.1.6
2017-03-15 17:29:55 +03:00
khaydarov c8808e802b content module. New description, private and public methods (#175)
* content module. New description, private and public methods

* clear from anchors and covers

* clear from example

* cleared services
2017-03-03 18:39:56 +03:00
khaydarov 83f0407ee2 callbacks module refactored and added description to each method. (#174)
* callbacks module refactored and added description to each method.

Now all methods have descriptions and documented as JSDoc style

* increase version

* refactored ui
2017-03-02 13:44:53 +03:00
Peter Savchenko f4e1b2aff7 release.1.5.5 – Transport updated 2017-02-27 19:19:42 +03:00
George Berezhnoy c87eddc7c3 raw plugin added (#163)
* raw plugin added

* Try to paste raw html to raw plugin

* insert text/plain to native area instead of contenteditable element

* styles updated

* rename variable

* fixed raw backspace click handler

* paste code

* Replace mask with two svg icons

* Toolbox leaf fix

* Remove data in example.html

* Toolbar and caret behavior improvments

* upd

* Upd

* new bundle due the local merge
2017-02-27 14:44:22 +03:00
khaydarov 3cbe8faaa6 Remove tool type from switchBlock -> by default it will saved from previous (#166)
* small fixes

regex match must not be similar to pasted string. Ex:
```https://www.instagram.com/p/BQ3wxmlA5GN/?taken-by=thenotoriousmma``
and match is ```https://www.instagram.com/p/BQ3wxmlA5GN/```.

```SwitchBlock``` have 3 parameter that is not important

* new instagram embed regex
2017-02-26 13:22:21 +03:00
George Berezhnoy 7f737774bb Fix (#165) 2017-02-23 13:32:41 +03:00
George Berezhnoy 9e32f5a47d hideToolbar flag added (#162) 2017-02-17 01:15:23 +03:00
George Berezhnoy d2e755086a Destroy module (#157)
* listeners module added

* Destroy method added

* Destroy method for plugins added

* Delete plugins properties from window obj

* Revert "Delete plugins properties from window obj"

This reverts commit 6c91f81229.

* Twitter and instagram api's destroy

* Scripts destoy added

* Fix

* Replace regex with String.indexOf

* Settings for destroyer
2017-02-13 20:54:18 +03:00
George Berezhnoy e28349d3fb Paste moved to core (#158)
* Paste moved to core

* Some fixies
2017-02-12 18:25:20 +03:00
George Berezhnoy 4b33f59031 List plugin improvements (#151)
* Fix

* Merge branch 'master' into list-hotfix

# Conflicts:
#	codex-editor.js
#	codex-editor.js.map
#	package.json
#	whatwg-fetch.js.map

* styles updted

* Ctrl+A fix

* Add comment to the new methods
2017-02-11 13:53:45 +03:00
Peter Savchenko d8297116b8 1.4.8. - anchors module updated 2017-02-10 16:45:27 +03:00
Peter Savchenko b20b96131e Prepare plugins improvements 2017-02-10 16:00:01 +03:00
George Berezhnoy edcd0d793c Notifications improved (#152)
* Notifications improved

* Animation fix

* styles updated

* Fixes for prompt and confirm types
2017-02-09 01:01:13 +03:00
George Berezhnoy f253fa121d Fix (#156) 2017-02-08 19:21:59 +03:00
George Berezhnoy 61fd151568 anchors added (#150)
* anchors added

* Styles improve and keyboard behavior fix

* Styles improve

* Translit added

* Anchors as default settings

* Remove trash changes

* Upd

* Anchors module added and version updated

* styles imroved

* remove anchor flag on mobile viewport
2017-02-08 09:39:07 +03:00
khaydarov f5314dfab6 Prepare plugins (#148)
* prepare plugins improvements

* prepare plugins asyncronically

* update version

* restore data from cache when plugin is unavailable

* added comments to the complicated solution

* new module tools.js for methods working with plugins

* remove ArrayOfCachedData

* build updated

* remove trash
2017-02-05 17:50:48 +03:00
khaydarov 1397727115 paste module improvements (#145)
* paste module improvements

* paste callback improved

users won’t be able to paste on block without designMode
2017-02-02 16:58:05 +03:00
Peter Savchenko 70df6b20b0 New plugin preparation scheme - now async (#143)
- core.importScript now returns a Promise
- ui.preparePlugins now returns a Promise
- `prepare` method of tools now *should* return a promise
2017-02-01 12:14:00 +03:00
khaydarov 869c65f3da code improved after review 2017-01-30 20:11:58 +03:00
khaydarov bb7aaee8e3 Merge branch 'master' into paragraph-parser-algorythm
# Conflicts:
#	codex-editor.js.map
#	whatwg-fetch.js.map
2017-01-30 19:57:52 +03:00
Peter Savchenko 13d9c04781 settings&delete icons background 2017-01-28 17:40:42 +03:00
khaydarov 8eb549aa35 pasted text/plain or text/html (#134) 2017-01-28 17:14:36 +03:00
Peter Savchenko 0c55a995b4 plus button showing, embed.js paddings removed (#133) 2017-01-28 17:11:03 +03:00
khaydarov d1a04fc454 image module hotfix (#126)
* image module hotfix

* image improved configurations

* Image plugin updated

- add border settings
- show selected settings
- stretched setting
2017-01-27 21:10:04 +03:00
khaydarov 1279c5e9d2 restore feed mode (#124)
* restore feed mode

* removed logs
2017-01-26 11:57:35 +03:00
khaydarov 8e6cf4eb6f fixed bug when enter pressed (#112)
When enter was pressed on empty node or node that has siblings,
function worked incorrect and created a new block
2017-01-20 21:25:28 +03:00
khaydarov a9a0992217 new feature (#109)
* new feature

method validate must be appended to codex.tools.

* beta-redactor

* before merge

* validate is not important setting
2017-01-18 18:12:50 +03:00
khaydarov c3ee7560f1 cover restoring, versioning, sanitize and new initialization structure (#105)
* cover restoring fixed

* upd

* fetch fixed in safari

* updated

* plugins

* plugins ready

* code improved

* fixed bug with backspace

* improved architecture

* Versioning (#102)

* start versioning

* codex.version

* eslint settings

* versioning improved

* cover restoring and fetch function fixed (#101)

* cover restoring fixed

* upd

* fetch fixed in safari

* updated

* plugins

* plugins ready

* code improved

* fixed bug with backspace

* improved architecture

* new sanitize method (#103)

* new sanitize method

Need to fix caret position

* removed console logs

* version updated

* eslint style

* caret position

* big fixed on sanitize method

* sanitize improved, using observers

* sanitize: using html-janitor

* fixes

* last fixes, code improved after review

* updated

* new bundle

* webpack config improved

* upd

* upd

* upd

* upd

* clear from conflicts

* upd

* upd
2017-01-10 21:22:40 +03:00
khaydarov bc8fb1aed9 cover restoring and fetch function fixed (#101)
* cover restoring fixed

* upd

* fetch fixed in safari

* updated

* plugins

* plugins ready

* code improved

* fixed bug with backspace

* improved architecture
2016-12-25 17:41:57 +03:00
khaydarov b76ec5c0a1 toolbox leaf (#96)
* toolbox leaf

* new bundle

* bundle updates

* code improved

* updated
2016-12-18 16:54:34 +03:00
khaydarov 458c834dc9 new redactor version (#94)
* new redactor version

* update

* update

* bundler config updated

* clear bundler without plugins
2016-12-07 21:25:31 +03:00