- Fix a regression in the paste extension related to
pasteHTML
function
- Fix issue with creating anchors and restoring selection at the beginning of paragraphs
- Fix issue with creating anchors and restoring selection within list items and nested blocks
- Ensure CTRL + M is respected as a way to insert new lines
- Add new 'tim' theme for medium-editor toolbar
- Fix issue Chrome generated comment tags when pasting
- Fix issue where 'editableInput' is triggered multiple times when creating links
- Fix issue with anchor and selection inconsitencies in IE
- Fix issue with replacing a pre-existing link
- Fix issue with selection after creating a link after empty paragraphs
- Fix issue where block elements where cleaned up incorrectly when pasting
- Fix anchor form checkboxes to reflect status of selected link
- Fix issue with creating links in same paragraph as another link
- Fix issue with creating links after empty paragraphs
- Ensure all attributes are copied from textareas to divs
- Fix appearance of anchor form when checkboxes are present
- Fix breaking issue with standardizeSelectionStart option
- Add setContent method into core API, which triggers editableInput
- Fix issue where custom anchor-preview extensions weren't overriding built-in anchor preview
- Add documentation from wiki into the source code
- Add support for including 'alt' key in keyboard-commands
- Fix issue with disabling image drag & drop via imageDragging option
- Deprecate image-dragging extension
- Introduce file-dragging extension
- Ensure autolink urls respect targetBlank option
- Expose importSelection and exportSelection as generic Selection helpers
- Move allowMultiParagraphSelection into toolbar options
- Deprecate global allowMultiParagraphSelection option
- Fix issue with allowMultiParagraphSelection option over empty elements
- Fix issue with creating links producing multiple anchor tags
- Fix issue where anchor preview displays while toolbar is visible
- Add demo pages for example extension and example button
- Add showToolbarDefaultAction helper method to form extension
- Ensure elements generated for textareas have a unique id
- Ensure all added attributes are removed during destroy
- Cleanup divs generated by Chrome during justify actions
- Add parameter to anchorPreview.positionPreview for reusability
- All deprecated functions have been removed
- Keyboard Shorcuts are now part of an extension and not attached to specific button/commands
- Placeholders are now part of an extension with its own dedicated options
- Toolbar is now an extension with its own dedicated options
- firstHeader and secondHeader are gone you should use h1 thru h6
- Support pre-releases
- Buttons
- The array of buttons can now contain objects, for overriding any part of the button object
- This replaces the custom object value for the buttonLabels option
- The array of buttons can now contain objects, for overriding any part of the button object
- API
- Unique id for MediumEditor instance will now remain unique (regardless of how many instances are created)
- .statics references are gone
- .trigger supports triggering events without needing to declare the event
- .callExtensions(), .setToolbarPosition(), and .hideToolbarDefaultActions() have been removed
- Extension
- .window & .document are now exposed as members of the Extension
- init no longer is passed MediumEditor instance as first argument
- CSS
- All classes are now
medium-editor
prefixed
- All classes are now
- Util
- getProp, derives, getSelectionData, setObject & getObject are gone
- getSelectionRange & getSelectionStart are now in Selection
- Fix issue with restoring selection within nested block elements
- Ensure auto-link will never select an empty element (br, hr, input, etc.)
- Fix bug with un-linked auto-links causing unexpected cursor positioning
- Fix broken keyboard shortcuts
- Fix break with updateOnEmptySelection option for static toolbars
- Fix pasting links when targetBlank option is being used
- Fix for spellcheck option after destroy
- Fix over-reaching keyboard shortcuts for commands
- Expose new 'positionToolbar' custom event
- Add new isKey() helper in util
- Add cleanup on destroy for auto-link and placeholder extensions
- Base extension changes
- Add getEditorElements(), getEditorId(), and getEditorOption() helpers
- Add on(), off(), subscribe(), and execAction() helpers
- Introduce destroy() lifecycle method + deprecate deactivate()
- Fix issue with auto-linked text after manually unlinking
- Fix some incorrect TLDs for auto-link
- Add hideToolbar and showToolbar custom events
- Add hideOnClick option for placeholder extension
- Fix issue with linebreaks in Safari
- Fix issue with calling setup again after destroy
- Add support for CDN hosting
- Pass window and document to each extension
- Deprecate .parent property of extensions
- Auto-Link Fixes
- Don't auto-link text after it is manually unlinked
- Trigger auto-linking when focus is lost (ie Tab key)
- Fix issue where link appears and immediately disappears when hitting Enter in IE11
- Fix issue where hostname with more than three w's only auto-links final three w's in the name
- Fix issue where valid urls were not auto-linked
- Fix issue where some text was auto-linked when it shouldn't be
- Fix paste issue with plain-text containing multiple paragraphs
- Fix issue with incorrect cursor positon after creating a list
- Fix disabledDoubleReturn option within a sentence
- Allow for nested contenteditables
- New style of passing options for anchor-preview and anchor
- Introduce extensions.button + extensions.form as extendable base extensions
- Convert anchor, fontsize, and anchor-preview to updated extensions model
- New auto-link support for detecting urls and converting them to links
- Fix target _blank issue for links in Firefox
- Don't show placeholders for empty lists
- Allow for overriding image drag and drop via extension
- Fix error thrown when loading MediumEditor js from head
- Expose new 'editableInput' event for monitoring changes to editor
- Cleanup contenteditable elements created for textareas
- Update version number in dist files
- Add shortcut to insert a link (ctrl/cmd + k)
- Fix
this.getAttribute is not a function
error
- Make anchor preview wrap for long links
- Fix issue when clean pasting spans with child nodes
- Expose importSelection + exportSelection helper methods
- Fix issue with initialization of MediumEditor using textarea
- Introduce jscs
-
Add 'beta' version of fontSize button/form
-
Add option for enabling/disabling spellcheck
-
Add titles to toolbar buttons for tooltips
-
Use actual anchor tag in anchor preview
-
Fix anchor preview issue with tags nested inside anchors
-
Speed up travis builds
-
Convert paste handler into overrideable extension
- Fix blur event detection when clicking on elements that don't clear focus
- Fix broken 'paste.cleanPastedHtml' option and rename to 'paste.cleanPastedHTML'
- Expose 'unsubscribe' for custom events
- Detach custom events when editor is destroyed
- Fix fontawesome url in demo page
- Expose smart 'blur' and 'focus' events which account for toolbar interaction
- Expose selectElement method for selecting text and updating toolbar
- Fix always wrapping pasted text in a
tag
- Add override options for pasteHTML and cleanPaste
- Support overriding of scss theme variables
- Fix for justify button states in IE
- New helpers for manipulating nested objects
- Internal tooling prep for options and defaults
- Add textarea support
- Fix .version issue
- Expose Util and Selection methods externally via MediumEditor.util and MediumEditor.selection
- Expose MediumEditor.version for version info
- Add support for custom cleaning of attributes and tags for .pasteHTML
- Move from jslint to jshint
- Introduce 'removeFormat' button, for removing formatting from selection
- Fix issues with focus/blur when using standardizeSelectionStart option
- Fix bug causing toolbar to disappaer on click in safari (rollback fix from 4.0.1)
- Break up anchor form extension logic into more overrideable parts
- Fix issue with dragged in image sizes
- Fix issues with focus/blur when using standardizeSelectionStart option
- Introduced custom events (consumable externally)
- Reduce API surface area
- Deprecated activate & deactivated. Exposed setup and destroy as replacements
- Updated documentation to reflect API changes
- HTML standardization around list items
- Fixed throttling
- Added superscript & subscript css
- Added better paste cleaning for Microsoft Word
- Convert anchor preview into overrideable extension
- Added disableAnchorPreview option
- Extract toolbar
- Extract anchor preview
- MIT License
- Use code from selection.js which is duplicated in core.js
- Fix bug in paste handling + increase paste coverage
- Ensure static toolbar won't render outside window + minimize when toolbar overflows
- Fix flashing static-toolbar bug
- Fix bug with sticky-toolbar when scrolling past bottom of contenteditable
- Fix css declaration of linear-gradient
- Fix AMD "Uncaught TypeError: undefined is not a function" issue
- Account for 'full' actions when doing queryCommandState
- Fix bugs in modified queryCommandState calls
- Extract anchor form code from core code and convert into an extension
- Expose onShowToolbar and onHideToolbar as options
- Change button method names (now
setActive
andsetInactive
) to differentiate from core'sactivate
anddeactivate
- Simplify blur check selection
- Add Sauce Labs configuration to automate cross-browser testing
- Add IE9 polyfill to repo
- Let 'meta' key trigger shortcuts
- Add basic support to keyboard shortcuts
- Fix main file reference in npm package
- Introduce full content actions
- Fix disableDoubleReturn option
- Fix isListItemChild call
- Split source code into several files for better development flow
- Make saveSelection and restoreSelection more consistant cross browser
- Use document.queryCommandState for some button toolbar states
- Add selection storage
- Call extensions deactivate when deactivating the editor
- Turn Anchor button into an extension
- Fix various selection and positioning bugs
- Introduce commands as combination of buttons and extensions
- Update aria label so that setting secondHeader activates the toolbar
- Don't use styles for detecting underline + strikethrough
- Fix 'imageDragging: false' option
- Fix list item tab identation
- Add extension onHide command
- Fix bug in getSelectedParentElement + Fix tests in browsers
- Fall back to shimmed insertHTML in cases where firefox throws when calling insertHTML
- Prevent "Argument not optional" error
- Prevent infinite loop after findAdjacentTextNodeWithContent
- Remove cleanups from contenteditable false areas
- Firefox fix: Don't modify value of input before calling execCommand()
- Fix selection issue for clean pasted html test case in firefox
- Add image drag and drop support
- Fix issue with multiple elements with the same class on the same editor instance
- Specify default npm registry (
http://registry.npmjs.org
)
- Adds support for newlines in placeholder attribute
- Adds support and documentation for new toolbar extensions
- Adds support for changing 'open in new window' label text
- Fixes bug where
nodeValue
could unexpectedly be null - A couple of fixes to make tests a bit more reliable when run in the browser
- Handles ESC key in link editor
- Standardizes usage of setTimeout for UX delays vs debouncing vs deferring
- Adds an optional onShowToolbar method
- Supports enabling/disabling checkSelection updates externally
- Standardizes where in the DOM a range begins
- Adds ARIA role information
- Fixes off() not removing any event listeners
- Misc minor bug fixes and improvements
- Adds static toolbar feature
- Now uses textContent instead of innerText
- Fixes plain text paste on IE
- Hides placeholder on mouse click
- Adds a 'collapse' option to 'selectElementContents' helper
- Allows toolbar button states to change when selection is collapsed
- In hideToolbarActions, calls an optional 'onHideToolbar' method
- Ensures that ul.id and anchor.id are unique
- Avoids grabbing selection on keypress for contenteditable except for spacebar
- Supports disabling anchorForm, avoiding unnecessary event handling and element creation
- Supports disabling placeholders, including not attaching event handlers when not needed
- Various minor bug fixes and improvements
- Adds a strikethrough option in buttonLabel
- Now uses
options.elementsContainer
to calculate ID - Removes events during deactivate
- Adds custom doc and win functionality, now you can specify the editor container
- Minor bugfixes
- Fixes 'this' out of scope
- Adds justify buttons
- Fix #308 by passing clipboard content through self.htmlEntities before inserting
- Minor bug fixes
- Adds support for tab based indenting and outdenting of
- and
- Adds a save button to the anchor form
- Improves toolbar positioning
- Adds anchorButton and anchorButtonClass options
- Extensions
- Disables the toolbar when selecting within an element that has contenteditable="false"
- Fixes hidden placeholder content override
- Fixes bug where if you had an empty blockquote the placeholder would still be active
- Fixes bug that would create link without values
- Exposes save/restoreSelection()
- Allows customization of active/first/last button classes
- Adds a script to run app from the cli
- Adds protocols to checkLinkFormat regex
- Fixes unlink behavior on Firefox
- Fixes white space behavior at the end of anchors
- Adds non-minified CSS files to bower.json
- Changes to the element list or element selector now take effect on reactivation
- Changed innerHTML to textContent to prevent XSS through twisted href values
- Checks for data-disable-return on element on paste
- Adds disableEditing and elementsContainer options
- Removes anchor preview listeners on deactivate
- Implements clean paste
- Adds an option to validate links
- Adds a basic extensions support
- Misc minor fixes
- Fixes isActive toggling
- Removes anchor preview default value
- Fixes activate/deactivate behavior
- Removes DOM elements created by MediumEditor on deactivate
- Prevents new lines with shift+enter when disableReturn is set to true
- Removes compass dependency by using grunt with libsass
- Fixes subscript button markup
- Fixes anchor preview behavior for empty links and anchors
- Adds a new option to disable double returns
- Allows initialization with a single DOM node
- Adds indent and outdent buttons
- fixes some minor paste bugs
- adds a delay option for anchor toolbar
- fixes anchor toolbar initial positioning
- fixes heading and blockquote on IE
- fixes case where clicking anchor preview and then clicking into the anchorInput causes hideToolbarActions to be called
- fixes window resize when toolbar element is not created
- Reorganizes CSS files
- Removes unused method bindElementToolbarEvents
- Adds a preview toolbar for anchors
- Removes paste event binding on deactivate
- Fixes filenames for main in bower.json
- Removes window resize event listener on deactivate
- Adds bootstrap theme
- Adds image button that converts selected text into an image tag
- Removes normalize.css dependency
- Adds 3 new themes: Roman, Mani e Flat
- Adds ability to set custom labels on buttons
- Updates uglify
- Fixes bug where pressing enter on formatted list item would generate a new list instead of a new list item
- Adds new extra buttons: pre and strikethrough
- Fixes placeholder bug on paste
- Various code improvements
- Prevents returns using shift when disableReturn is set to true
- Improves CSS to avoid conflicts
- Fixes problem with text selection ending outside the container div
- Implements serialize method
- Adds a targetBlank option
- Fixes Firefox box-sizing declarations
- Fixes toolbar binding button issue with multi-editor mode
- Fixes data-disable-return not preventing paragraph creation
- Improves getSelectionElement() to work in any case
- Fixes multi element selection bug
- Fixes Issues #88 & #89
- Improves binding for multiple editor instance, checkSelection() is called only once per instance
- Improves allowMultiParagraphSelection filter by removing empty tags elements before counting
- Considers header tags has a paragraph too (same as medium)
- Removes blur event listener when disabling the toolbar
- Adds a light gradient opacity to the toolbar
- Fixes bug that would keep toolbar alive when moving out of the anchor input
- Fixes empty selectionNode.el bug
- Prevents toolbar opening when changing to selection elements with the toolbar disabled
- Adds a transition to the toolbar when moving across elements
- Fixes issue on deactivation without enabled toolbar
- Fixes checkSelection error when disableToolbar option is enabled
- Adds new option to disable multiple paragraph selection
- Prevents paragraph creation on paste when disableReturn is set to true
- Adds extra buttons: superscript, subscript, ordered list and unordered list
- Changes buttons blacklist to whitelist
- Exports MediumEditor as module
- Changes "Underline" button to display "U" instead of "S"
- Pasted text is now wrapped into P elements
- Changes the editor to use the formatBlock command to handle block elements
- Fixes placeholder for empty elements
- Normalizes styles and scripts
- Improves bower manifest
- Adds an option to disable the toolbar and maintain only the contenteditable behavior
- Adds an option to disable returns
- Adds an placeholder option for the contenteditable areas
- Fixes toolbar positioning on screen top
- Adds the possibility to pass an element list directly into initialization
- Fixes issue with initial positioning when some actions are disabled
- Don't rely on :last-child to style first/last element, as they may be hidden
- Changes demo texto to something more friendly
- Fixes shift+enter behavior
- Initial release