@syncfusion/ej2-richtexteditor
Advanced tools
Comparing version 17.1.48 to 17.1.49
@@ -7,2 +7,10 @@ # Changelog | ||
#### Bug Fixes | ||
- #235461 - Thrown the console error while rendering the RichTextEditor within a table element and pressing the tab key from edit area that issue has been resolved. | ||
## 17.1.48 (2019-05-21) | ||
### RichTextEditor | ||
#### New Features | ||
@@ -9,0 +17,0 @@ |
/*! | ||
* filename: index.d.ts | ||
* version : 17.1.48 | ||
* version : 17.1.49 | ||
* Copyright Syncfusion Inc. 2001 - 2019. All rights reserved. | ||
@@ -5,0 +5,0 @@ * Use of this code is subject to the terms of our license. |
{ | ||
"name": "@syncfusion/ej2-richtexteditor", | ||
"version": "17.1.48", | ||
"description": "Essential JS 2 RichTextEditor component", | ||
"author": "Syncfusion Inc.", | ||
"license": "SEE LICENSE IN license", | ||
"main": "./dist/ej2-richtexteditor.umd.min.js", | ||
"module": "./index.js", | ||
"es2015": "./dist/es6/ej2-richtexteditor.es2015.js", | ||
"_from": "@syncfusion/ej2-richtexteditor@*", | ||
"_id": "@syncfusion/ej2-richtexteditor@17.1.48", | ||
"_inBundle": false, | ||
"_integrity": "sha512-irZnzHA0Pgl9gdRg5r1oa4oRpd7vjzq73wdIS6Hydd+TaC7sWXMdKvF/OpBTKYD7cJYPZ1XCmQ2NPjkPjkZcIg==", | ||
"_location": "/@syncfusion/ej2-richtexteditor", | ||
"_phantomChildren": {}, | ||
"_requested": { | ||
"type": "range", | ||
"registry": true, | ||
"raw": "@syncfusion/ej2-richtexteditor@*", | ||
"name": "@syncfusion/ej2-richtexteditor", | ||
"escapedName": "@syncfusion%2fej2-richtexteditor", | ||
"scope": "@syncfusion", | ||
"rawSpec": "*", | ||
"saveSpec": null, | ||
"fetchSpec": "*" | ||
}, | ||
"_requiredBy": [ | ||
"/", | ||
"/@syncfusion/ej2", | ||
"/@syncfusion/ej2-angular-richtexteditor", | ||
"/@syncfusion/ej2-gantt", | ||
"/@syncfusion/ej2-inplace-editor", | ||
"/@syncfusion/ej2-react-richtexteditor", | ||
"/@syncfusion/ej2-vue-richtexteditor" | ||
], | ||
"_resolved": "http://nexus.syncfusion.com/repository/ej2-release/@syncfusion/ej2-richtexteditor/-/ej2-richtexteditor-17.1.48.tgz", | ||
"_shasum": "8a9ccb71e0865b85f20a32b579923a670f9a246c", | ||
"_spec": "@syncfusion/ej2-richtexteditor@*", | ||
"_where": "/jenkins/workspace/ation_hotfix_16.4.0.42_Vol4-CJVRBFC7Z7RSISPRJNEMNQSRMCB6XTG67IJD6R2DVNXFIKQEITTQ/packages/included", | ||
"author": { | ||
"name": "Syncfusion Inc." | ||
}, | ||
"bugs": { | ||
"url": "https://github.com/syncfusion/ej2-javascript-ui-controls/issues" | ||
}, | ||
"bundleDependencies": false, | ||
"dependencies": { | ||
"@syncfusion/ej2-base": "~17.1.48", | ||
"@syncfusion/ej2-navigations": "~17.1.48", | ||
"@syncfusion/ej2-base": "~17.1.49", | ||
"@syncfusion/ej2-navigations": "~17.1.49", | ||
"@syncfusion/ej2-popups": "~17.1.47", | ||
"@syncfusion/ej2-splitbuttons": "~17.1.47" | ||
}, | ||
"deprecated": false, | ||
"description": "Essential JS 2 RichTextEditor component", | ||
"devDependencies": {}, | ||
"es2015": "./dist/es6/ej2-richtexteditor.es2015.js", | ||
"homepage": "https://github.com/syncfusion/ej2-javascript-ui-controls#readme", | ||
"keywords": [ | ||
@@ -27,7 +60,12 @@ "ej2", | ||
], | ||
"license": "SEE LICENSE IN license", | ||
"main": "./dist/ej2-richtexteditor.umd.min.js", | ||
"module": "./index.js", | ||
"name": "@syncfusion/ej2-richtexteditor", | ||
"repository": { | ||
"type": "git", | ||
"url": "https://github.com/syncfusion/ej2-javascript-ui-controls.git" | ||
"url": "git+https://github.com/syncfusion/ej2-javascript-ui-controls.git" | ||
}, | ||
"version": "17.1.49", | ||
"sideEffects": false | ||
} |
@@ -21,1 +21,2 @@ /** | ||
export * from './plugin/table'; | ||
export * from './plugin/toolbar-status'; |
@@ -21,1 +21,2 @@ /** | ||
export * from './plugin/table'; | ||
export * from './plugin/toolbar-status'; |
@@ -28,2 +28,3 @@ import { IRichTextEditor } from '../base/interface'; | ||
private getTextNode; | ||
private insertAfter; | ||
private getTextContent; | ||
@@ -30,0 +31,0 @@ private tagGrouping; |
@@ -16,3 +16,3 @@ import * as events from '../base/constant'; | ||
function PasteCleanup(parent, serviceLocator) { | ||
this.inlineNode = ['a', 'abbr', 'acronym', 'audio', 'b', 'bdi', 'bdo', 'big', 'br', 'button', | ||
this.inlineNode = ['a', 'abbr', 'acronym', 'audio', 'b', 'bdi', 'bdo', 'big', 'button', | ||
'canvas', 'cite', 'code', 'data', 'datalist', 'del', 'dfn', 'em', 'embed', 'i', 'iframe', 'img', 'input', | ||
@@ -219,3 +219,2 @@ 'ins', 'kbd', 'label', 'map', 'mark', 'meter', 'noscript', 'object', 'output', 'picture', 'progress', | ||
while (!isNullOrUndefined(element)) { | ||
element = element.firstElementChild ? element.firstElementChild : element; | ||
var isInlineElement = false; | ||
@@ -227,3 +226,3 @@ for (var j = 0; j < this.inlineNode.length && !isInlineElement; j++) { | ||
if (!isNullOrUndefined(element.childNodes[0]) && element.childNodes[0].textContent !== '') { | ||
element.parentElement.insertBefore(this.getTextNode(element.childNodes[0]), element); | ||
element.parentElement.insertBefore(this.getTextNode(element), element); | ||
} | ||
@@ -235,11 +234,19 @@ detach(element); | ||
} | ||
if (!isNullOrUndefined(element) && element.children.length > 0 || isInlineElement) { | ||
element = element; | ||
if (!isNullOrUndefined(element)) { | ||
if (isInlineElement) { | ||
element = element; | ||
} | ||
else if (element.firstElementChild) { | ||
element = element.firstElementChild; | ||
} | ||
else if (element.nextElementSibling) { | ||
element = element.nextElementSibling; | ||
} | ||
else if (element.parentElement.nextElementSibling) { | ||
element = element.parentElement.nextElementSibling; | ||
} | ||
else { | ||
element = null; | ||
} | ||
} | ||
else if (element.nextElementSibling) { | ||
element = element.nextElementSibling; | ||
} | ||
else if (element.parentElement.nextElementSibling) { | ||
element = element.parentElement.nextElementSibling; | ||
} | ||
else { | ||
@@ -255,2 +262,5 @@ element = null; | ||
}; | ||
PasteCleanup.prototype.insertAfter = function (newNode, referenceNode) { | ||
referenceNode.parentNode.insertBefore(newNode, referenceNode.nextSibling); | ||
}; | ||
PasteCleanup.prototype.getTextContent = function (element) { | ||
@@ -260,2 +270,20 @@ var result; | ||
result = ''; | ||
var brElement = element.nodeType === 1 ? element.querySelectorAll('br') : null; | ||
if (brElement) { | ||
for (var i = 0; i < brElement.length; i++) { | ||
if (!isNullOrUndefined(brElement[i].previousSibling)) { | ||
var resultElement = this.parent.createElement('div'); | ||
resultElement.innerHTML = brElement[i].previousSibling.textContent; | ||
detach(brElement[i].previousSibling); | ||
brElement[i].parentElement.insertBefore(resultElement, brElement[i]); | ||
} | ||
if (i + 1 === brElement.length && !isNullOrUndefined(brElement[i].nextSibling)) { | ||
var divNextElement = this.parent.createElement('div'); | ||
divNextElement.innerHTML = brElement[i].nextSibling.textContent; | ||
detach(brElement[i].nextSibling); | ||
this.insertAfter(divNextElement, brElement[i]); | ||
} | ||
detach(brElement[i]); | ||
} | ||
} | ||
if (element.children.length === 0 && element.textContent.trim() !== '') { | ||
@@ -262,0 +290,0 @@ text = '<p>' + element.textContent + '</p>'; |
@@ -169,9 +169,2 @@ import { Component, ModuleDeclaration, EventHandler, Complex, Browser, EmitType, addClass, select, detach } from '@syncfusion/ej2-base';import { Property, NotifyPropertyChanges, INotifyPropertyChanged, formatUnit, L10n, closest } from '@syncfusion/ej2-base';import { setStyleAttribute, Event, removeClass, print as printWindow, attributes } from '@syncfusion/ej2-base';import { isNullOrUndefined as isNOU, compile, append, extend, debounce } from '@syncfusion/ej2-base';import { Touch as EJ2Touch, TapEventArgs } from '@syncfusion/ej2-base';import { getScrollableParent } from '@syncfusion/ej2-popups';import * as events from '../base/constant';import * as classes from '../base/classes';import { Render } from '../renderer/render';import { ViewSource } from '../renderer/view-source';import { IRenderer, IFormatter, PrintEventArgs, ActionCompleteEventArgs, ActionBeginEventArgs } from './interface';import { IFontProperties, IFormatProperties, IColorProperties, IExecutionGroup, executeGroup, CommandName, ResizeArgs } from './interface';import { ServiceLocator } from '../services/service-locator';import { RendererFactory } from '../services/renderer-factory';import { RenderType, ToolbarType } from './enum';import { EditorMode } from './../../common/types';import { Toolbar } from '../actions/toolbar';import { ExecCommandCallBack } from '../actions/execute-command-callback';import { KeyboardEvents, KeyboardEventArgs } from '../actions/keyboard';import { ToolbarSettingsModel, IFrameSettingsModel, ImageSettingsModel, TableSettingsModel } from '../models/models';import { QuickToolbarSettingsModel, InlineModeModel, PasteCleanupSettingsModel } from '../models/models';import { ToolbarSettings, ImageSettings, QuickToolbarSettings, FontFamily, FontSize, Format } from '../models/toolbar-settings';import { TableSettings, PasteCleanupSettings } from '../models/toolbar-settings';import { FontColor, BackgroundColor } from '../models/toolbar-settings';import { IFrameSettings } from '../models/iframe-settings';import { InlineMode } from '../models/inline-mode';import { Link } from '../renderer/link-module';import { Image } from '../renderer/image-module';import { Table } from '../renderer/table-module';import { Count } from '../actions/count';import { HtmlEditor } from '../actions/html-editor';import { MarkdownEditor } from '../actions/markdown-editor';import { defaultLocale } from '../models/default-locale';import { setAttributes } from '../actions/html-attributes';import { BaseToolbar } from '../actions/base-toolbar';import { QuickToolbar } from '../actions/quick-toolbar';import { FullScreen } from '../actions/full-screen';import { PasteCleanup } from '../actions/paste-clean-up';import * as CONSTANT from '../../common/constant';import { IHtmlKeyboardEvent } from '../../editor-manager/base/interface';import { dispatchEvent, getEditValue, isIDevice, decode } from '../base/util'; | ||
/** | ||
* Specifies the direction of the RichTextEditor component. | ||
* For cultures like Arabic, Hebrew, etc. direction can be switched to right to left | ||
* @default false. | ||
*/ | ||
enableRtl?: boolean; | ||
/** | ||
* Allows additional HTML attributes such as title, name, etc., and | ||
@@ -178,0 +171,0 @@ * It will be accepts n number of attributes in a key-value pair format. |
@@ -274,8 +274,2 @@ import { Component, ModuleDeclaration, EmitType } from '@syncfusion/ej2-base'; | ||
/** | ||
* Specifies the direction of the RichTextEditor component. | ||
* For cultures like Arabic, Hebrew, etc. direction can be switched to right to left | ||
* @default false. | ||
*/ | ||
enableRtl: boolean; | ||
/** | ||
* Allows additional HTML attributes such as title, name, etc., and | ||
@@ -282,0 +276,0 @@ * It will be accepts n number of attributes in a key-value pair format. |
@@ -1364,5 +1364,2 @@ var __extends = (this && this.__extends) || (function () { | ||
__decorate([ | ||
Property(false) | ||
], RichTextEditor.prototype, "enableRtl", void 0); | ||
__decorate([ | ||
Property({}) | ||
@@ -1369,0 +1366,0 @@ ], RichTextEditor.prototype, "htmlAttributes", void 0); |
@@ -136,3 +136,6 @@ import { detach, closest, Browser } from '@syncfusion/ej2-base'; | ||
} | ||
ele = (ele && ele.tagName !== 'TD' && ele.tagName !== 'TH') ? closest(ele, 'td') : ele; | ||
if (ele && ele.tagName !== 'TD' && ele.tagName !== 'TH') { | ||
var closestTd = closest(ele, 'td'); | ||
ele = !isNullOrUndefined(closestTd) && this.parent.inputElement.contains(closestTd) ? closestTd : ele; | ||
} | ||
if (ele && (ele.tagName === 'TD' || ele.tagName === 'TH')) { | ||
@@ -139,0 +142,0 @@ switch (event.keyCode) { |
Sorry, the diff of this file is too big to display
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is too big to display
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is too big to display
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is too big to display
Sorry, the diff of this file is not supported yet
License Policy Violation
LicenseThis package is not allowed per your license policy. Review the package's license to ensure compliance.
Found 1 instance in 1 package
License Policy Violation
LicenseThis package is not allowed per your license policy. Review the package's license to ensure compliance.
Found 1 instance in 1 package
No bug tracker
MaintenancePackage does not have a linked bug tracker in package.json.
Found 1 instance in 1 package
No website
QualityPackage does not have a website.
Found 1 instance in 1 package
10585067
94267
0
1