From 1d4a0804c7f4bc1aa7c12d69c08ea9633d14809a Mon Sep 17 00:00:00 2001
From: baka
Date: Mon, 28 Jan 2019 15:02:04 +0000
Subject: [PATCH] Changes the TinyMCE workflow for building and compiling
plugins
git-svn-id: https://svn.libreccm.org/ccm/trunk@5812 8810af33-2d31-482b-a856-94f89814c4df
---
tools-ng/tinymce/{editor => }/.gitignore | 0
tools-ng/tinymce/Gruntfile.js | 1032 +++++++++++++++++
tools-ng/tinymce/{editor => }/LICENSE.TXT | 0
tools-ng/tinymce/TinyMCE Instructions.md | 9 +-
tools-ng/tinymce/{editor => }/changelog.txt | 21 +
tools-ng/tinymce/editor/.editorconfig | 8 -
tools-ng/tinymce/editor/.gitattributes | 16 -
.../tinymce/editor/.github/ISSUE_TEMPLATE.md | 9 -
.../editor/.github/PULL_REQUEST_TEMPLATE.md | 7 -
tools-ng/tinymce/editor/Gruntfile.js | 825 -------------
tools-ng/tinymce/editor/readme.md | 99 --
.../src/core/main/ts/api/dom/NativeTypes.ts | 14 -
.../src/core/main/ts/keyboard/InputKeys.ts | 25 -
.../src/core/main/ts/newline/InsertNewLine.ts | 30 -
.../main/ts/selection/GetSelectionContent.ts | 68 --
.../editor/src/core/main/ts/text/Bidi.ts | 17 -
.../editor/src/core/main/ts/util/Fun.ts | 90 --
.../test/ts/browser/keyboard/SpaceKeyTest.ts | 302 -----
.../src/core/test/ts/browser/util/FunTest.ts | 58 -
.../plugins/anchor/main/ts/api/Commands.ts | 21 -
.../autoresize/main/ts/api/Commands.ts | 21 -
.../plugins/bbcode/main/ts/api/Settings.ts | 18 -
.../plugins/charmap/main/ts/api/Commands.ts | 21 -
.../src/plugins/charmap/main/ts/api/Events.ts | 17 -
.../plugins/charmap/main/ts/api/Settings.ts | 22 -
.../src/plugins/code/main/ts/api/Commands.ts | 21 -
.../plugins/contextmenu/main/ts/api/Api.ts | 23 -
.../plugins/fullpage/main/ts/api/Commands.ts | 21 -
.../src/plugins/fullscreen/main/ts/api/Api.ts | 21 -
.../plugins/fullscreen/main/ts/api/Events.ts | 17 -
.../src/plugins/help/main/ts/api/Commands.ts | 19 -
.../src/plugins/hr/main/ts/api/Commands.ts | 19 -
.../src/plugins/image/main/ts/api/Commands.ts | 19 -
.../src/plugins/link/main/ts/api/Commands.ts | 19 -
.../src/plugins/link/main/ts/core/Keyboard.ts | 19 -
.../lists/main/ts/actions/Indendation.ts | 75 --
.../src/plugins/lists/main/ts/api/Api.ts | 23 -
.../src/plugins/lists/main/ts/api/Settings.ts | 17 -
.../lists/main/ts/listModel/ComposeList.ts | 106 --
.../plugins/lists/main/ts/listModel/Entry.ts | 43 -
.../lists/main/ts/listModel/Indentation.ts | 32 -
.../lists/main/ts/listModel/ListType.ts | 39 -
.../main/ts/listModel/NormalizeEntries.ts | 47 -
.../lists/main/ts/listModel/ParseLists.ts | 88 --
.../plugins/lists/main/ts/listModel/Util.ts | 25 -
.../src/plugins/media/main/ts/api/Api.ts | 25 -
.../src/plugins/media/main/ts/api/Commands.ts | 23 -
.../nonbreaking/main/ts/api/Commands.ts | 21 -
.../src/plugins/noneditable/main/ts/Plugin.ts | 18 -
.../src/plugins/paste/main/ts/api/Api.ts | 22 -
.../plugins/preview/main/ts/api/Commands.ts | 21 -
.../src/plugins/print/main/ts/api/Commands.ts | 19 -
.../searchreplace/main/ts/api/Commands.ts | 21 -
.../src/plugins/tabfocus/main/ts/Plugin.ts | 18 -
.../src/plugins/textpattern/main/ts/Plugin.ts | 25 -
.../plugins/textpattern/main/ts/api/Api.ts | 28 -
.../textpattern/main/ts/api/Settings.ts | 34 -
.../textpattern/main/ts/core/Formatter.ts | 175 ---
.../textpattern/main/ts/core/KeyHandler.ts | 76 --
.../textpattern/main/ts/core/Patterns.ts | 67 --
.../src/plugins/toc/main/ts/core/Guid.ts | 22 -
.../visualblocks/main/ts/api/Events.ts | 17 -
.../plugins/visualchars/main/ts/api/Api.ts | 23 -
.../plugins/visualchars/main/ts/api/Events.ts | 17 -
.../plugins/visualchars/main/ts/core/Html.ts | 19 -
.../plugins/wordcount/main/ts/alien/Arr.ts | 54 -
.../src/plugins/wordcount/main/ts/api/Api.ts | 25 -
.../src/themes/inlite/main/ts/alien/Arr.ts | 19 -
.../src/themes/mobile/main/ts/style/Styles.ts | 12 -
.../mobile/main/ts/util/DataAttributes.ts | 10 -
tools-ng/tinymce/{editor => }/package.json | 12 +-
.../tinymce/plugins/ccm-cms-images/README.md | 15 +
.../config/webpack.config.prod.js | 35 +
.../config/webpack.config.test.js | 35 +
.../plugins/ccm-cms-images/package.json | 33 +
.../plugins/ccm-cms-images/src/Dialog.ts | 305 +++++
.../plugins/ccm-cms-images/src/LICENSE | 21 +
.../plugins/ccm-cms-images/src/index.ts | 5 +
.../plugins/ccm-cms-images/src/plugin.ts | 21 +
.../plugins/ccm-cms-images/static/index.html | 19 +
.../plugins/ccm-cms-images/tsconfig.json | 6 +
.../plugins/ccm-cms-images/tslint.json | 101 ++
.../plugins/ccm-cms-images/typings.json | 5 +
.../src/core/demo/css/content_editable.css | 0
.../src/core/demo/html/annotations_demo.html | 0
.../src/core/demo/html/commands_demo.html | 0
.../html/content_editable_false_demo.html | 0
.../src/core/demo/html/custom_theme_demo.html | 0
.../src/core/demo/html/full_demo.html | 0
.../core/demo/html/jquery_integration.html | 0
.../src/core/demo/html/source_dump_demo.html | 0
.../src/core/demo/html/tiny_demo.html | 0
.../src/core/demo/html/ui_container.html | 0
.../src/core/demo/ts/demo/AnnotationsDemo.ts | 0
.../src/core/demo/ts/demo/CommandsDemo.ts | 0
.../demo/ts/demo/ContentEditableFalseDemo.ts | 0
.../src/core/demo/ts/demo/CustomThemeDemo.ts | 0
.../src/core/demo/ts/demo/Demos.ts | 0
.../src/core/demo/ts/demo/FullDemo.ts | 0
.../src/core/demo/ts/demo/SourceDumpDemo.ts | 0
.../src/core/demo/ts/demo/TinyMceDemo.ts | 0
.../src/core/demo/ts/demo/UiContainerDemo.ts | 0
.../src/core/main/js/GlobalsTemplate.js | 0
.../src/core/main/js/JqueryIntegration.js | 0
.../src/core/main/json/globals.json | 0
.../src/core/main/text/readme_lang.md | 0
.../src/core/main/ts/DragDropOverrides.ts | 17 +-
.../src/core/main/ts/EditorRemove.ts | 7 +
.../src/core/main/ts/EditorSettings.ts | 11 +-
.../src/core/main/ts/EditorView.ts | 11 +-
.../src/core/main/ts/ErrorReporter.ts | 11 +-
.../src/core/main/ts/ForceBlocks.ts | 11 +-
.../{editor => }/src/core/main/ts/Mode.ts | 11 +-
.../src/core/main/ts/NodeChange.ts | 11 +-
.../src/core/main/ts/SelectionOverrides.ts | 11 +-
.../main/ts/annotate/AnnotationChanges.ts | 7 +
.../main/ts/annotate/AnnotationContext.ts | 7 +
.../core/main/ts/annotate/AnnotationFilter.ts | 7 +
.../main/ts/annotate/AnnotationsRegistry.ts | 7 +
.../core/main/ts/annotate/Identification.ts | 7 +
.../src/core/main/ts/annotate/Markings.ts | 7 +
.../src/core/main/ts/annotate/Wrapping.ts | 7 +
.../src/core/main/ts/api/AddOnManager.ts | 11 +-
.../src/core/main/ts/api/Annotator.ts | 7 +
.../src/core/main/ts/api/Editor.ts | 11 +-
.../src/core/main/ts/api/EditorCommands.ts | 11 +-
.../src/core/main/ts/api/EditorManager.ts | 11 +-
.../src/core/main/ts/api/EditorObservable.ts | 11 +-
.../src/core/main/ts/api/EditorUpload.ts | 11 +-
.../{editor => }/src/core/main/ts/api/Env.ts | 11 +-
.../src/core/main/ts/api/Events.ts | 11 +-
.../src/core/main/ts/api/FocusManager.ts | 11 +-
.../src/core/main/ts/api/Formatter.ts | 11 +-
.../{editor => }/src/core/main/ts/api/Main.ts | 11 +-
.../core/main/ts/api/NotificationManager.ts | 11 +-
.../src/core/main/ts/api/PluginManager.ts | 11 +-
.../src/core/main/ts/api/Settings.ts | 11 +-
.../src/core/main/ts/api/Shortcuts.ts | 22 +-
.../src/core/main/ts/api/ThemeManager.ts | 11 +-
.../src/core/main/ts/api/Tinymce.ts | 11 +-
.../src/core/main/ts/api/UndoManager.ts | 11 +-
.../src/core/main/ts/api/WindowManager.ts | 11 +-
.../core/main/ts/api/dom/BookmarkManager.ts | 11 +-
.../core/main/ts/api/dom/ControlSelection.ts | 11 +-
.../src/core/main/ts/api/dom/DOMUtils.ts | 11 +-
.../src/core/main/ts/api/dom/DomQuery.ts | 11 +-
.../src/core/main/ts/api/dom/ElementUtils.ts | 11 +-
.../src/core/main/ts/api/dom/EventUtils.ts | 11 +-
.../src/core/main/ts/api/dom/NativeTypes.ts | 11 +
.../src/core/main/ts/api/dom/RangeUtils.ts | 11 +-
.../src/core/main/ts/api/dom/ScriptLoader.ts | 11 +-
.../src/core/main/ts/api/dom/Selection.ts | 11 +-
.../src/core/main/ts/api/dom/Serializer.ts | 11 +-
.../src/core/main/ts/api/dom/Sizzle.ts | 16 +-
.../src/core/main/ts/api/dom/TreeWalker.ts | 11 +-
.../src/core/main/ts/api/file/BlobCache.ts | 30 +-
.../src/core/main/ts/api/geom/Rect.ts | 11 +-
.../src/core/main/ts/api/html/DomParser.ts | 12 +-
.../src/core/main/ts/api/html/Entities.ts | 11 +-
.../src/core/main/ts/api/html/Node.ts | 11 +-
.../src/core/main/ts/api/html/SaxParser.ts | 11 +-
.../src/core/main/ts/api/html/Schema.ts | 11 +-
.../src/core/main/ts/api/html/Serializer.ts | 11 +-
.../src/core/main/ts/api/html/Styles.ts | 11 +-
.../src/core/main/ts/api/html/Writer.ts | 11 +-
.../src/core/main/ts/api/ui/Factory.ts | 11 +-
.../src/core/main/ts/api/util/Class.ts | 11 +-
.../src/core/main/ts/api/util/Color.ts | 11 +-
.../src/core/main/ts/api/util/Delay.ts | 11 +-
.../core/main/ts/api/util/EventDispatcher.ts | 11 +-
.../src/core/main/ts/api/util/FakeStorage.ts | 7 +
.../src/core/main/ts/api/util/I18n.ts | 11 +-
.../src/core/main/ts/api/util/JSON.ts | 11 +-
.../src/core/main/ts/api/util/JSONP.ts | 11 +-
.../src/core/main/ts/api/util/JSONRequest.ts | 11 +-
.../src/core/main/ts/api/util/LocalStorage.ts | 11 +-
.../src/core/main/ts/api/util/Observable.ts | 11 +-
.../src/core/main/ts/api/util/Promise.ts | 13 +-
.../src/core/main/ts/api/util/Tools.ts | 31 +-
.../src/core/main/ts/api/util/URI.ts | 11 +-
.../src/core/main/ts/api/util/VK.ts | 11 +-
.../src/core/main/ts/api/util/XHR.ts | 11 +-
.../core/main/ts/bookmark/BookmarkTypes.ts | 7 +
.../src/core/main/ts/bookmark/Bookmarks.ts | 11 +-
.../core/main/ts/bookmark/CaretBookmark.ts | 35 +-
.../src/core/main/ts/bookmark/GetBookmark.ts | 25 +-
.../core/main/ts/bookmark/ResolveBookmark.ts | 11 +-
.../src/core/main/ts/caret/BlockBoundary.ts | 25 +-
.../src/core/main/ts/caret/CaretBr.ts | 11 +-
.../src/core/main/ts/caret/CaretCandidate.ts | 15 +-
.../src/core/main/ts/caret/CaretContainer.ts | 25 +-
.../main/ts/caret/CaretContainerInline.ts | 11 +-
.../core/main/ts/caret/CaretContainerInput.ts | 11 +-
.../main/ts/caret/CaretContainerRemove.ts | 11 +-
.../src/core/main/ts/caret/CaretFinder.ts | 11 +-
.../src/core/main/ts/caret/CaretPosition.ts | 19 +-
.../src/core/main/ts/caret/CaretUtils.ts | 36 +-
.../src/core/main/ts/caret/CaretWalker.ts | 64 +-
.../src/core/main/ts/caret/FakeCaret.ts | 11 +-
.../src/core/main/ts/caret/InsertText.ts | 11 +-
.../src/core/main/ts/caret/LineReader.ts | 11 +-
.../src/core/main/ts/caret/LineUtils.ts | 19 +-
.../src/core/main/ts/caret/LineWalker.ts | 23 +-
.../src/core/main/ts/caret/TableCells.ts | 11 +-
.../src/core/main/ts/commands/FontCommands.ts | 11 +-
.../core/main/ts/commands/IndentOutdent.ts | 7 +
.../src/core/main/ts/content/EditorContent.ts | 11 +-
.../src/core/main/ts/content/GetContent.ts | 11 +-
.../src/core/main/ts/content/InsertContent.ts | 11 +-
.../src/core/main/ts/content/InsertList.ts | 11 +-
.../src/core/main/ts/content/NbspTrim.ts | 7 +
.../src/core/main/ts/content/SetContent.ts | 11 +-
.../main/ts/delete/BlockBoundaryDelete.ts | 11 +-
.../core/main/ts/delete/BlockMergeBoundary.ts | 11 +-
.../core/main/ts/delete/BlockRangeDelete.ts | 11 +-
.../core/main/ts/delete/CefBoundaryDelete.ts | 88 ++
.../src/core/main/ts/delete/CefDelete.ts | 11 +-
.../core/main/ts/delete/CefDeleteAction.ts | 11 +-
.../src/core/main/ts/delete/DeleteCommands.ts | 21 +-
.../src/core/main/ts/delete/DeleteElement.ts | 11 +-
.../src/core/main/ts/delete/DeleteUtils.ts | 11 +-
.../main/ts/delete/InlineBoundaryDelete.ts | 11 +-
.../core/main/ts/delete/InlineFormatDelete.ts | 11 +-
.../src/core/main/ts/delete/MergeBlocks.ts | 11 +-
.../src/core/main/ts/delete/MergeText.ts | 7 +
.../src/core/main/ts/delete/TableDelete.ts | 11 +-
.../core/main/ts/delete/TableDeleteAction.ts | 11 +-
.../src/core/main/ts/dom/Dimensions.ts | 15 +-
.../src/core/main/ts/dom/DomSerializer.ts | 11 +-
.../core/main/ts/dom/DomSerializerFilters.ts | 11 +-
.../main/ts/dom/DomSerializerPreProcess.ts | 11 +-
.../src/core/main/ts/dom/ElementType.ts | 11 +-
.../src/core/main/ts/dom/Empty.ts | 11 +-
.../src/core/main/ts/dom/MousePosition.ts | 11 +-
.../src/core/main/ts/dom/NodePath.ts | 11 +-
.../src/core/main/ts/dom/NodeType.ts | 15 +-
.../src/core/main/ts/dom/PaddingBr.ts | 11 +-
.../src/core/main/ts/dom/Parents.ts | 11 +-
.../src/core/main/ts/dom/Position.ts | 11 +-
.../src/core/main/ts/dom/RangePoint.ts | 11 +-
.../src/core/main/ts/dom/ScrollIntoView.ts | 11 +-
.../src/core/main/ts/dom/StyleSheetLoader.ts | 11 +-
.../src/core/main/ts/dom/TrimHtml.ts | 11 +-
.../src/core/main/ts/dom/TrimNode.ts | 7 +
.../src/core/main/ts/file/Conversions.ts | 11 +-
.../src/core/main/ts/file/ImageScanner.ts | 18 +-
.../src/core/main/ts/file/UploadStatus.ts | 11 +-
.../src/core/main/ts/file/Uploader.ts | 11 +-
.../src/core/main/ts/fmt/ApplyFormat.ts | 11 +-
.../src/core/main/ts/fmt/CaretFormat.ts | 14 +-
.../src/core/main/ts/fmt/DefaultFormats.ts | 11 +-
.../src/core/main/ts/fmt/ExpandRange.ts | 11 +-
.../src/core/main/ts/fmt/FontInfo.ts | 11 +-
.../src/core/main/ts/fmt/FormatChanged.ts | 11 +-
.../src/core/main/ts/fmt/FormatContainer.ts | 11 +-
.../src/core/main/ts/fmt/FormatRegistry.ts | 11 +-
.../src/core/main/ts/fmt/FormatUtils.ts | 11 +-
.../src/core/main/ts/fmt/Hooks.ts | 17 +-
.../src/core/main/ts/fmt/MatchFormat.ts | 11 +-
.../src/core/main/ts/fmt/MergeFormats.ts | 11 +-
.../src/core/main/ts/fmt/Preview.ts | 11 +-
.../src/core/main/ts/fmt/RemoveFormat.ts | 57 +-
.../src/core/main/ts/fmt/ToggleFormat.ts | 11 +-
.../src/core/main/ts/focus/CefFocus.ts | 11 +-
.../src/core/main/ts/focus/EditorFocus.ts | 11 +-
.../src/core/main/ts/focus/FocusController.ts | 11 +-
.../src/core/main/ts/geom/ClientRect.ts | 11 +-
.../src/core/main/ts/html/FilterNode.ts | 11 +-
.../src/core/main/ts/html/LegacyFilter.ts | 11 +-
.../src/core/main/ts/html/ParserFilters.ts | 7 +
.../src/core/main/ts/html/ParserUtils.ts | 7 +
.../src/core/main/ts/init/Init.ts | 11 +-
.../src/core/main/ts/init/InitContentBody.ts | 11 +-
.../src/core/main/ts/init/InitIframe.ts | 11 +-
.../src/core/main/ts/init/Render.ts | 11 +-
.../src/core/main/ts/keyboard/ArrowKeys.ts | 16 +-
.../core/main/ts/keyboard/BoundaryCaret.ts | 11 +-
.../core/main/ts/keyboard/BoundaryLocation.ts | 11 +-
.../main/ts/keyboard/BoundarySelection.ts | 11 +-
.../core/main/ts/keyboard/CefNavigation.ts | 74 +-
.../src/core/main/ts/keyboard/CefUtils.ts | 11 +-
.../ts/keyboard/ContentEndpointNavigation.ts | 95 ++
.../main/ts/keyboard/DeleteBackspaceKeys.ts | 14 +-
.../src/core/main/ts/keyboard/EnterKey.ts | 14 +-
.../core/main/ts/keyboard/FormatShortcuts.ts | 11 +-
.../src/core/main/ts/keyboard/InlineUtils.ts | 15 +-
.../src/core/main/ts/keyboard/InputKeys.ts | 50 +
.../src/core/main/ts/keyboard/InsertSpace.ts | 16 +-
.../main/ts/keyboard/KeyboardOverrides.ts | 11 +-
.../src/core/main/ts/keyboard/MatchKeys.ts | 11 +-
.../src/core/main/ts/keyboard/Nbsps.ts | 25 +-
.../src/core/main/ts/keyboard/SpaceKey.ts | 11 +-
.../core/main/ts/keyboard/TableNavigation.ts | 11 +-
.../core/main/ts/newline/ContextSelectors.ts | 11 +-
.../src/core/main/ts/newline/InsertBlock.ts | 34 +-
.../src/core/main/ts/newline/InsertBr.ts | 24 +-
.../src/core/main/ts/newline/InsertLi.ts | 11 +-
.../src/core/main/ts/newline/InsertNewLine.ts | 30 +
.../src/core/main/ts/newline/NewLineAction.ts | 11 +-
.../src/core/main/ts/newline/NewLineUtils.ts | 11 +-
.../main/ts/selection/CaretRangeFromPoint.ts | 11 +-
.../core/main/ts/selection/DetailsElement.ts | 11 +-
.../main/ts/selection/ElementSelection.ts | 11 +-
.../main/ts/selection/EventProcessRanges.ts | 11 +-
.../core/main/ts/selection/FragmentReader.ts | 11 +-
.../main/ts/selection/GetSelectionContent.ts | 67 ++
.../main/ts/selection/MultiClickSelection.ts | 11 +-
.../src/core/main/ts/selection/MultiRange.ts | 11 +-
.../core/main/ts/selection/NormalizeRange.ts | 11 +-
.../core/main/ts/selection/RangeCompare.ts | 11 +-
.../core/main/ts/selection/RangeInsertNode.ts | 47 +
.../src/core/main/ts/selection/RangeNodes.ts | 11 +-
.../core/main/ts/selection/RangeNormalizer.ts | 11 +-
.../src/core/main/ts/selection/RangeWalk.ts | 11 +-
.../main/ts/selection/SelectionBookmark.ts | 15 +-
.../main/ts/selection/SelectionRestore.ts | 11 +-
.../core/main/ts/selection/SelectionUtils.ts | 11 +-
.../main/ts/selection/SetSelectionContent.ts | 11 +-
.../main/ts/selection/SimpleTableModel.ts | 11 +-
.../src/core/main/ts/selection/SplitRange.ts | 11 +-
.../main/ts/selection/TableCellSelection.ts | 11 +-
.../core/main/ts/selection/WordSelection.ts | 11 +-
.../tinymce/src/core/main/ts/text/Bidi.ts | 14 +
.../src/core/main/ts/text/CharType.ts | 11 +-
.../src/core/main/ts/text/ExtendingChar.ts | 11 +-
.../src/core/main/ts/text/Zwsp.ts | 11 +-
.../main/ts/ui/NotificationManagerImpl.ts | 11 +-
.../src/core/main/ts/ui/Sidebar.ts | 11 +-
.../src/core/main/ts/ui/WindowManagerImpl.ts | 11 +-
.../src/core/main/ts/undo/Diff.ts | 11 +-
.../src/core/main/ts/undo/Fragments.ts | 17 +-
.../src/core/main/ts/undo/Levels.ts | 11 +-
.../core/main/ts/util/ArrUtils.ts} | 11 +-
.../src/core/main/ts/util/LazyEvaluator.ts | 11 +-
.../src/core/main/ts/util/Predicate.ts | 41 +
.../src/core/main/ts/util/Private.ts | 11 +-
.../src/core/main/ts/util/Quirks.ts | 13 +-
.../src/core/main/ts/util/Uuid.ts | 11 +-
.../src/core/test/css/ui-overrides.css | 0
.../src/core/test/json/routes.json | 0
.../{editor => }/src/core/test/ts/.eslintrc | 0
.../test/ts/atomic/keyboard/MatchKeysTest.ts | 0
.../core/test/ts/atomic/keyboard/NbspsTest.ts | 0
.../src/core/test/ts/atomic/text/BidiTest.ts | 0
.../test/ts/atomic/text/ExtendingCharTest.ts | 0
.../src/core/test/ts/atomic/text/ZwspTest.ts | 0
.../test/ts/atomic/util/LazyEvaluatorTest.ts | 0
.../core/test/ts/atomic/util/PredicateTest.ts | 20 +
.../core/test/ts/browser/AddOnManagerTest.ts | 0
.../browser/ClickContentEditableFalseTest.ts | 0
.../test/ts/browser/DragDropOverridesTest.ts | 0
.../ts/browser/EditorForcedSettingsTest.ts | 0
.../core/test/ts/browser/EditorManagerTest.ts | 0
.../core/test/ts/browser/EditorRemoveTest.ts | 0
.../test/ts/browser/EditorRemovedApiTest.ts | 0
.../src/core/test/ts/browser/EditorRtlTest.ts | 0
.../test/ts/browser/EditorSettingsTest.ts | 0
.../src/core/test/ts/browser/EditorTest.ts | 0
.../core/test/ts/browser/EditorUploadTest.ts | 0
.../test/ts/browser/EditorViewIframeTest.ts | 0
.../test/ts/browser/EditorViewInlineTest.ts | 0
.../core/test/ts/browser/FontSelectTest.ts | 0
.../core/test/ts/browser/ForceBlocksTest.ts | 0
.../test/ts/browser/FormatterApplyTest.ts | 0
.../test/ts/browser/FormatterCheckTest.ts | 0
.../test/ts/browser/FormatterRemoveTest.ts | 18 +-
.../test/ts/browser/FormattingCommandsTest.ts | 0
.../test/ts/browser/InlineEditorRemoveTest.ts | 0
.../test/ts/browser/InlineEditorSaveTest.ts | 0
.../ts/browser/JqueryIntegrationTest.disabled | 0
.../core/test/ts/browser/MiscCommandsTest.ts | 0
.../src/core/test/ts/browser/ModeTest.ts | 0
.../ts/browser/NotificationManagerTest.ts | 0
.../test/ts/browser/SelectionOverridesTest.ts | 0
.../src/core/test/ts/browser/ShortcutsTest.ts | 13 +
.../core/test/ts/browser/UndoManagerTest.ts | 0
.../core/test/ts/browser/WindowManagerTest.ts | 0
.../test/ts/browser/annotate/AnnotateTest.ts | 0
.../browser/annotate/AnnotationChangedTest.ts | 0
.../annotate/AnnotationPersistenceTest.ts | 0
.../browser/annotate/AnnotationRemovedTest.ts | 0
.../core/test/ts/browser/api/SettingsTest.ts | 0
.../test/ts/browser/api/dom/RangeUtilsTest.ts | 0
.../test/ts/browser/bookmark/BookmarksTest.ts | 0
.../ts/browser/bookmark/CaretBookmarkTest.ts | 0
.../ts/browser/caret/CaretCandidateTest.ts | 0
.../browser/caret/CaretContainerRemoveTest.ts | 0
.../ts/browser/caret/CaretContainerTest.ts | 13 +
.../test/ts/browser/caret/CaretFinderTest.ts | 0
.../ts/browser/caret/CaretPositionTest.ts | 0
.../test/ts/browser/caret/CaretUtilsTest.ts | 0
.../test/ts/browser/caret/CaretWalkerTest.ts | 22 +-
.../test/ts/browser/caret/FakeCaretTest.ts | 0
.../FirefoxFakeCaretBeforeTableTypeTest.ts | 0
.../test/ts/browser/caret/LineReaderTest.ts | 0
.../test/ts/browser/caret/LineUtilsTest.ts | 0
.../test/ts/browser/caret/LineWalkerTest.ts | 0
.../test/ts/browser/caret/TableCellsTest.ts | 0
.../EditorContentNotInitializedTest.ts | 0
.../ts/browser/content/EditorContentTest.ts | 0
.../ts/browser/content/EditorContentWsTest.ts | 0
.../content/EditorGetContentTextFormatTest.ts | 0
.../content/EditorGetContentTreeTest.ts | 0
.../content/InsertContentCommandTest.ts | 0
.../InsertContentForcedRootFalseTest.ts | 0
.../ts/browser/content/InsertContentTest.ts | 0
.../content/InsertContentWebKitBugs.ts | 0
.../test/ts/browser/content/InsertListTest.ts | 0
.../browser/delete/BlockBoundaryDeleteTest.ts | 0
.../browser/delete/BlockMergeBoundaryTest.ts | 0
.../ts/browser/delete/BlockRangeDeleteTest.ts | 0
.../browser/delete/CefBoundaryDeleteTest.ts | 119 ++
.../ts/browser/delete/CefDeleteActionTest.ts | 0
.../test/ts/browser/delete/CefDeleteTest.ts | 0
.../ts/browser/delete/DeleteCommandsTest.ts | 0
.../ts/browser/delete/DeleteElementTest.ts | 0
.../test/ts/browser/delete/DeleteUtilsTest.ts | 0
.../delete/InlineBoundaryDeleteTest.ts | 0
.../browser/delete/InlineFormatDeleteTest.ts | 0
.../test/ts/browser/delete/MergeBlocksTest.ts | 0
.../browser/delete/TableDeleteActionTest.ts | 0
.../test/ts/browser/delete/TableDeleteTest.ts | 0
.../test/ts/browser/dom/ContentCssCorsTest.ts | 0
.../ts/browser/dom/ControlSelectionTest.ts | 0
.../test/ts/browser/dom/DimensionsTest.ts | 8 +-
.../core/test/ts/browser/dom/DomUtilsTest.ts | 0
.../test/ts/browser/dom/ElementTypeTest.ts | 0
.../src/core/test/ts/browser/dom/EmptyTest.ts | 0
.../test/ts/browser/dom/EventUtilsTest.ts | 0
.../core/test/ts/browser/dom/NodePathTest.ts | 0
.../core/test/ts/browser/dom/NodeTypeTest.ts | 0
.../core/test/ts/browser/dom/PaddingBrTest.ts | 0
.../core/test/ts/browser/dom/ParentsTest.ts | 0
.../test/ts/browser/dom/ScrollIntoViewTest.ts | 0
.../ts/browser/dom/SelectionEventsTest.ts | 0
.../ts/browser/dom/SelectionQuirksTest.ts | 0
.../core/test/ts/browser/dom/SelectionTest.ts | 0
.../ts/browser/dom/SerializerEventsTest.ts | 0
.../test/ts/browser/dom/SerializerTest.ts | 0
.../test/ts/browser/dom/TreeWalkerTest.ts | 0
.../core/test/ts/browser/dom/TrimHtmlTest.ts | 0
.../core/test/ts/browser/dom/TrimNodeTest.ts | 0
.../test/ts/browser/file/BlobCacheTest.ts | 0
.../test/ts/browser/file/ConversionsTest.ts | 0
.../test/ts/browser/file/ImageScannerTest.ts | 0
.../test/ts/browser/file/UploadStatusTest.ts | 0
.../test/ts/browser/fmt/BlockFormatsTest.ts | 0
.../test/ts/browser/fmt/CaretFormatTest.ts | 0
.../test/ts/browser/fmt/ExpandRangeTest.ts | 0
.../core/test/ts/browser/fmt/FontInfoTest.ts | 0
.../test/ts/browser/fmt/FontsizeFormatTest.ts | 0
.../browser/fmt/FormatChangeSelectionTest.ts | 0
.../src/core/test/ts/browser/fmt/HooksTest.ts | 0
.../core/test/ts/browser/fmt/PreviewTest.ts | 0
.../test/ts/browser/fmt/RemoveFormatTest.ts | 0
.../fmt/RemoveTrailingWhitespaceFormatTest.ts | 0
.../test/ts/browser/focus/CefFocusTest.ts | 0
.../test/ts/browser/focus/EditorFocusTest.ts | 0
.../ts/browser/focus/FocusControllerTest.ts | 0
.../test/ts/browser/geom/ClientRectTest.ts | 0
.../src/core/test/ts/browser/geom/RectTest.ts | 0
.../test/ts/browser/html/DomParserTest.ts | 23 +
.../core/test/ts/browser/html/EntitiesTest.ts | 0
.../src/core/test/ts/browser/html/NodeTest.ts | 0
.../test/ts/browser/html/SaxParserTest.ts | 0
.../core/test/ts/browser/html/SchemaTest.ts | 0
.../test/ts/browser/html/SerializerTest.ts | 0
.../core/test/ts/browser/html/StylesTest.ts | 0
.../core/test/ts/browser/html/WriterTest.ts | 0
.../browser/init/ContentStylePositionTest.ts | 0
.../ts/browser/init/EditorCustomThemeTest.ts | 0
.../browser/init/EditorInitializationTest.ts | 0
.../init/InitEditorNoThemeIframeTest.ts | 0
.../init/InitEditorNoThemeInlineTest.ts | 0
.../init/InitEditorOnHiddenElementTest.ts | 0
.../init/InitEditorThemeFunctionIframeTest.ts | 0
.../init/InitEditorThemeFunctionInlineTest.ts | 0
.../InitIframeEditorWithCustomAttrsTest.ts | 0
.../browser/keyboard/ArrowKeysAnchorTest.ts | 0
.../ArrowKeysContentEndpointBrModeTest.ts | 59 +
.../keyboard/ArrowKeysContentEndpointTest.ts | 75 ++
.../keyboard/ArrowKeysInlineBoundariesTest.ts | 0
.../ts/browser/keyboard/ArrowKeysTableTest.ts | 0
.../ts/browser/keyboard/BoundaryCaretTest.ts | 0
.../browser/keyboard/BoundaryLocationTest.ts | 0
.../ts/browser/keyboard/EnterKeyAnchorTest.ts | 5 +-
.../browser/keyboard/EnterKeyCeFalseTest.ts | 0
.../ts/browser/keyboard/EnterKeyHrTest.ts | 0
.../ts/browser/keyboard/EnterKeyInlineTest.ts | 0
.../ts/browser/keyboard/EnterKeyListsTest.ts | 0
.../test/ts/browser/keyboard/EnterKeyTest.ts | 0
.../ts/browser/keyboard/InlineUtilsTest.ts | 0
.../browser/keyboard/InsertKeysBrModeTest.ts | 129 +++
.../ts/browser/keyboard/InsertKeysTest.ts | 20 +-
.../test/ts/browser/keyboard/SpaceKeyTest.ts | 75 ++
.../browser/keyboard/TableNavigationTest.ts | 0
.../ts/browser/keyboard/TypeTextAtCefTest.ts | 9 +
.../test/ts/browser/newline/InsertBrTest.ts | 25 +-
.../ts/browser/newline/InsertNewLineTest.ts | 17 +-
.../browser/selection/DetailsElementTest.ts | 0
.../browser/selection/FragmentReaderTest.ts | 0
.../selection/GetSelectionContentTest.ts | 54 +-
.../selection/MultiClickSelectionTest.ts | 0
.../browser/selection/NormalizeRangeTest.ts | 0
.../browser/selection/RangeInsertNodeTest.ts | 93 ++
.../browser/selection/RangeNormalizerTest.ts | 0
.../SelectionBookmarkIframeEditorTest.ts | 0
.../SelectionBookmarkInlineEditorTest.ts | 0
.../selection/SelectionBookmarkTest.ts | 0
.../browser/selection/SelectionUtilsTest.ts | 0
.../selection/SetSelectionContentTest.ts | 0
.../browser/selection/SimpleTableModelTest.ts | 0
.../selection/TableCellSelectionTest.ts | 0
.../src/core/test/ts/browser/undo/DiffTest.ts | 0
.../ts/browser/undo/ForcedRootBlockTest.ts | 0
.../test/ts/browser/undo/FragmentsTest.ts | 0
.../core/test/ts/browser/undo/LevelsTest.ts | 0
.../core/test/ts/browser/util/ColorTest.ts | 0
.../core/test/ts/browser/util/DelayTest.ts | 0
.../ts/browser/util/EventDispatcherTest.ts | 0
.../test/ts/browser/util/FakeStorageTest.ts | 0
.../src/core/test/ts/browser/util/I18nTest.ts | 0
.../test/ts/browser/util/JsonRequestTest.ts | 0
.../src/core/test/ts/browser/util/JsonTest.ts | 0
.../test/ts/browser/util/ObservableTest.ts | 0
.../core/test/ts/browser/util/PromiseTest.ts | 0
.../test/ts/browser/util/QuirksWebkitTest.ts | 0
.../core/test/ts/browser/util/ToolsTest.ts | 0
.../src/core/test/ts/browser/util/UriTest.ts | 0
.../src/core/test/ts/browser/util/XhrTest.ts | 0
.../test/ts/module/test/AnnotationAsserts.ts | 0
.../core/test/ts/module/test/CaretAsserts.ts | 3 +-
.../src/core/test/ts/module/test/HtmlUtils.ts | 0
.../src/core/test/ts/module/test/KeyUtils.ts | 0
.../src/core/test/ts/module/test/TypeText.ts | 0
.../src/core/test/ts/module/test/ViewBlock.ts | 0
.../src/plugins/advlist/demo/html/demo.html | 0
.../src/plugins/advlist/demo/ts/demo/Demo.ts | 0
.../src/plugins/advlist/main/ts/Plugin.ts | 11 +-
.../plugins/advlist/main/ts/api/Commands.ts | 11 +-
.../plugins/advlist/main/ts/api/Settings.ts | 11 +-
.../plugins/advlist/main/ts/core/Actions.ts | 11 +-
.../plugins/advlist/main/ts/core/ListUtils.ts | 11 +-
.../src/plugins/advlist/main/ts/ui/Buttons.ts | 11 +-
.../plugins/advlist/main/ts/ui/ListStyles.ts | 11 +-
.../test/ts/browser/AdvlistPluginTest.ts | 0
.../test/ts/browser/ChangeListStyleTest.ts | 0
.../test/ts/browser/SplitButtonTest.ts | 0
.../src/plugins/anchor/demo/html/demo.html | 0
.../src/plugins/anchor/demo/ts/demo/Demo.ts | 0
.../src/plugins/anchor/main/ts/Plugin.ts | 11 +-
.../plugins/anchor/main/ts/api/Commands.ts | 18 +
.../src/plugins/anchor/main/ts/core/Anchor.ts | 11 +-
.../anchor/main/ts/core/FilterContent.ts | 11 +-
.../src/plugins/anchor/main/ts/ui/Buttons.ts | 11 +-
.../src/plugins/anchor/main/ts/ui/Dialog.ts | 11 +-
.../anchor/test/ts/browser/AnchorEditTest.ts | 0
.../test/ts/browser/AnchorInlineTest.ts | 0
.../test/ts/browser/AnchorSanityTest.ts | 0
.../src/plugins/autolink/demo/html/demo.html | 0
.../src/plugins/autolink/demo/ts/demo/Demo.ts | 0
.../src/plugins/autolink/main/ts/Plugin.ts | 11 +-
.../plugins/autolink/main/ts/api/Settings.ts | 11 +-
.../src/plugins/autolink/main/ts/core/Keys.ts | 11 +-
.../test/ts/browser/AutoLinkPluginTest.ts | 0
.../test/ts/browser/ConsecutiveLinkTest.ts | 0
.../autolink/test/ts/browser/EnterKeyTest.ts | 0
.../autolink/test/ts/module/test/KeyUtils.ts | 0
.../plugins/autoresize/demo/html/demo.html | 0
.../plugins/autoresize/demo/ts/demo/Demo.ts | 0
.../src/plugins/autoresize/main/ts/Plugin.ts | 11 +-
.../autoresize/main/ts/api/Commands.ts | 18 +
.../autoresize/main/ts/api/Settings.ts | 11 +-
.../plugins/autoresize/main/ts/core/Resize.ts | 11 +-
.../test/ts/browser/AutoresizePluginTest.ts | 0
.../src/plugins/autosave/demo/html/demo.html | 0
.../src/plugins/autosave/demo/ts/demo/Demo.ts | 0
.../src/plugins/autosave/main/ts/Plugin.ts | 11 +-
.../src/plugins/autosave/main/ts/api/Api.ts | 11 +-
.../plugins/autosave/main/ts/api/Events.ts | 11 +-
.../plugins/autosave/main/ts/api/Settings.ts | 11 +-
.../autosave/main/ts/core/BeforeUnload.ts | 11 +-
.../plugins/autosave/main/ts/core/Storage.ts | 11 +-
.../src/plugins/autosave/main/ts/core/Time.ts | 11 +-
.../plugins/autosave/main/ts/ui/Buttons.ts | 11 +-
.../test/ts/browser/AutoSavePluginTest.ts | 0
.../ts/browser/ShouldRestoreWhenEmptyTest.ts | 0
.../src/plugins/bbcode/demo/html/demo.html | 0
.../src/plugins/bbcode/demo/ts/demo/Demo.ts | 0
.../src/plugins/bbcode/main/ts/Plugin.ts | 11 +-
.../plugins/bbcode/main/ts/api/Settings.ts | 15 +
.../plugins/bbcode/main/ts/core/Convert.ts | 11 +-
.../test/ts/browser/BbcodeSanityTest.ts | 0
.../plugins/ccmcmsimages/main/ts/Dialog.ts | 305 +++++
.../plugins/ccmcmsimages/main/ts/Plugin.ts | 22 +
.../src/plugins/charmap/demo/html/demo.html | 0
.../src/plugins/charmap/demo/ts/demo/Demo.ts | 0
.../src/plugins/charmap/main/ts/Plugin.ts | 11 +-
.../src/plugins/charmap/main/ts/api/Api.ts | 11 +-
.../plugins/charmap/main/ts/api/Commands.ts | 18 +
.../src/plugins/charmap/main/ts/api/Events.ts | 14 +
.../plugins/charmap/main/ts/api/Settings.ts | 19 +
.../plugins/charmap/main/ts/core/Actions.ts | 11 +-
.../plugins/charmap/main/ts/core/CharMap.ts | 11 +-
.../src/plugins/charmap/main/ts/ui/Buttons.ts | 11 +-
.../src/plugins/charmap/main/ts/ui/Dialog.ts | 11 +-
.../plugins/charmap/main/ts/ui/GridHtml.ts | 11 +-
.../test/ts/browser/CharmapPluginTest.ts | 0
.../ts/browser/InsertQuotationMarkTest.ts | 0
.../src/plugins/code/demo/html/demo.html | 0
.../src/plugins/code/demo/ts/demo/Demo.ts | 0
.../src/plugins/code/main/ts/Plugin.ts | 11 +-
.../src/plugins/code/main/ts/api/Commands.ts | 18 +
.../src/plugins/code/main/ts/api/Settings.ts | 11 +-
.../src/plugins/code/main/ts/core/Content.ts | 11 +-
.../src/plugins/code/main/ts/ui/Buttons.ts | 11 +-
.../src/plugins/code/main/ts/ui/Dialog.ts | 11 +-
.../code/test/ts/browser/CodeSanityTest.ts | 0
.../plugins/codesample/demo/html/demo.html | 0
.../plugins/codesample/demo/ts/demo/Demo.ts | 0
.../src/plugins/codesample/main/css/prism.css | 0
.../src/plugins/codesample/main/ts/Plugin.ts | 11 +-
.../codesample/main/ts/api/Commands.ts | 11 +-
.../codesample/main/ts/api/Settings.ts | 11 +-
.../codesample/main/ts/core/CodeSample.ts | 11 +-
.../codesample/main/ts/core/FilterContent.ts | 11 +-
.../codesample/main/ts/core/Languages.ts | 11 +-
.../codesample/main/ts/core/LoadCss.ts | 11 +-
.../plugins/codesample/main/ts/core/Prism.ts | 13 +-
.../plugins/codesample/main/ts/ui/Buttons.ts | 11 +-
.../plugins/codesample/main/ts/ui/Dialog.ts | 11 +-
.../plugins/codesample/main/ts/util/Utils.ts | 11 +-
.../test/ts/browser/CodeSampleSanityTest.ts | 0
.../test/ts/browser/DblClickCodesampleTest.ts | 0
.../plugins/colorpicker/demo/html/demo.html | 0
.../plugins/colorpicker/demo/ts/demo/Demo.ts | 0
.../src/plugins/colorpicker/main/ts/Plugin.ts | 11 +-
.../plugins/colorpicker/main/ts/ui/Dialog.ts | 11 +-
.../test/ts/browser/ColorPickerSanityTest.ts | 0
.../src/plugins/compat3x/main/css/dialog.css | 0
.../src/plugins/compat3x/main/img/buttons.png | Bin
.../src/plugins/compat3x/main/img/icons.gif | Bin
.../src/plugins/compat3x/main/img/items.gif | Bin
.../plugins/compat3x/main/img/menu_arrow.gif | Bin
.../plugins/compat3x/main/img/menu_check.gif | Bin
.../plugins/compat3x/main/img/progress.gif | Bin
.../src/plugins/compat3x/main/img/tabs.gif | Bin
.../src/plugins/compat3x/main/js/plugin.js | 0
.../compat3x/main/js/tiny_mce_popup.js | 0
.../main/js/utils/editable_selects.js | 0
.../compat3x/main/js/utils/form_utils.js | 0
.../plugins/compat3x/main/js/utils/mctabs.js | 0
.../compat3x/main/js/utils/validate.js | 0
.../plugins/compat3x/test/html/dialog.html | 0
.../js/browser/Compat3xPluginTest.disabled | 0
.../plugins/contextmenu/demo/html/demo.html | 0
.../plugins/contextmenu/demo/ts/demo/Demo.ts | 0
.../src/plugins/contextmenu/main/ts/Plugin.ts | 11 +-
.../plugins/contextmenu/main/ts/api/Api.ts | 20 +
.../contextmenu/main/ts/api/Settings.ts | 11 +-
.../plugins/contextmenu/main/ts/core/Bind.ts | 11 +-
.../contextmenu/main/ts/core/Coords.ts | 11 +-
.../contextmenu/main/ts/core/RangePoint.ts | 11 +-
.../contextmenu/main/ts/core/UiContainer.ts | 11 +-
.../contextmenu/main/ts/ui/ContextMenu.ts | 11 +-
.../test/ts/browser/ContextMenuPluginTest.ts | 0
.../directionality/demo/html/demo.html | 0
.../directionality/demo/ts/demo/Demo.ts | 0
.../plugins/directionality/main/ts/Plugin.ts | 11 +-
.../directionality/main/ts/api/Commands.ts | 11 +-
.../directionality/main/ts/core/Direction.ts | 11 +-
.../directionality/main/ts/ui/Buttons.ts | 11 +-
.../ts/browser/DirectionalitySanityTest.ts | 0
.../src/plugins/emoticons/demo/html/demo.html | 0
.../plugins/emoticons/demo/ts/demo/Demo.ts | 0
.../emoticons/main/img/smiley-cool.gif | Bin
.../plugins/emoticons/main/img/smiley-cry.gif | Bin
.../emoticons/main/img/smiley-embarassed.gif | Bin
.../main/img/smiley-foot-in-mouth.gif | Bin
.../emoticons/main/img/smiley-frown.gif | Bin
.../emoticons/main/img/smiley-innocent.gif | Bin
.../emoticons/main/img/smiley-kiss.gif | Bin
.../emoticons/main/img/smiley-laughing.gif | Bin
.../emoticons/main/img/smiley-money-mouth.gif | Bin
.../emoticons/main/img/smiley-sealed.gif | Bin
.../emoticons/main/img/smiley-smile.gif | Bin
.../emoticons/main/img/smiley-surprised.gif | Bin
.../emoticons/main/img/smiley-tongue-out.gif | Bin
.../emoticons/main/img/smiley-undecided.gif | Bin
.../emoticons/main/img/smiley-wink.gif | Bin
.../emoticons/main/img/smiley-yell.gif | Bin
.../src/plugins/emoticons/main/ts/Plugin.ts | 11 +-
.../plugins/emoticons/main/ts/ui/Buttons.ts | 11 +-
.../plugins/emoticons/main/ts/ui/PanelHtml.ts | 11 +-
.../test/ts/browser/EmoticonSanityTest.ts | 0
.../src/plugins/fullpage/demo/html/demo.html | 0
.../src/plugins/fullpage/demo/ts/demo/Demo.ts | 0
.../src/plugins/fullpage/main/ts/Plugin.ts | 11 +-
.../plugins/fullpage/main/ts/api/Commands.ts | 18 +
.../plugins/fullpage/main/ts/api/Settings.ts | 11 +-
.../fullpage/main/ts/core/FilterContent.ts | 11 +-
.../plugins/fullpage/main/ts/core/Parser.ts | 11 +-
.../plugins/fullpage/main/ts/core/Protect.ts | 11 +-
.../plugins/fullpage/main/ts/ui/Buttons.ts | 11 +-
.../src/plugins/fullpage/main/ts/ui/Dialog.ts | 11 +-
.../fullpage/test/ts/atomic/ProtectTest.ts | 0
.../test/ts/browser/FullPagePluginTest.ts | 0
.../plugins/fullscreen/demo/html/demo.html | 0
.../plugins/fullscreen/demo/ts/demo/Demo.ts | 0
.../src/plugins/fullscreen/main/ts/Plugin.ts | 11 +-
.../src/plugins/fullscreen/main/ts/api/Api.ts | 18 +
.../fullscreen/main/ts/api/Commands.ts | 11 +-
.../plugins/fullscreen/main/ts/api/Events.ts | 14 +
.../fullscreen/main/ts/core/Actions.ts | 11 +-
.../plugins/fullscreen/main/ts/ui/Buttons.ts | 11 +-
.../test/ts/browser/FullScreenPluginTest.ts | 0
.../FullscreenPluginInlineEditorTest.ts | 0
.../src/plugins/help/demo/html/demo.html | 0
.../src/plugins/help/demo/ts/demo/Demo.ts | 0
.../src/plugins/help/main/img/logo.png | Bin
.../src/plugins/help/main/ts/Plugin.ts | 11 +-
.../src/plugins/help/main/ts/api/Commands.ts | 16 +
.../help/main/ts/data/KeyboardShortcuts.ts | 11 +-
.../plugins/help/main/ts/data/PluginUrls.ts | 11 +-
.../src/plugins/help/main/ts/ui/Buttons.ts | 11 +-
.../src/plugins/help/main/ts/ui/ButtonsRow.ts | 11 +-
.../src/plugins/help/main/ts/ui/Dialog.ts | 11 +-
.../help/main/ts/ui/KeyboardShortcutsTab.ts | 11 +-
.../src/plugins/help/main/ts/ui/PluginsTab.ts | 11 +-
.../ts/browser/IgnoreForcedPluginsTest.ts | 0
.../help/test/ts/browser/MetadataTest.ts | 0
.../help/test/ts/browser/PluginTest.ts | 0
.../help/test/ts/module/test/FakePlugin.ts | 0
.../test/ts/module/test/NoMetaFakePlugin.ts | 0
.../src/plugins/hr/demo/html/demo.html | 0
.../src/plugins/hr/demo/ts/demo/Demo.ts | 0
.../src/plugins/hr/main/ts/Plugin.ts | 11 +-
.../src/plugins/hr/main/ts/api/Commands.ts | 16 +
.../src/plugins/hr/main/ts/ui/Buttons.ts | 11 +-
.../hr/test/ts/browser/HrSanityTest.ts | 0
.../src/plugins/image/demo/html/demo.html | 0
.../src/plugins/image/demo/ts/demo/Demo.ts | 0
.../src/plugins/image/main/ts/Plugin.ts | 11 +-
.../src/plugins/image/main/ts/api/Commands.ts | 16 +
.../src/plugins/image/main/ts/api/Settings.ts | 11 +-
.../image/main/ts/core/FilterContent.ts | 11 +-
.../plugins/image/main/ts/core/ImageData.ts | 11 +-
.../image/main/ts/core/ImageSelection.ts | 11 +-
.../plugins/image/main/ts/core/Uploader.ts | 11 +-
.../src/plugins/image/main/ts/core/Utils.ts | 11 +-
.../src/plugins/image/main/ts/ui/AdvTab.ts | 7 +
.../src/plugins/image/main/ts/ui/Buttons.ts | 11 +-
.../src/plugins/image/main/ts/ui/Dialog.ts | 11 +-
.../src/plugins/image/main/ts/ui/MainTab.ts | 7 +
.../plugins/image/main/ts/ui/SizeManager.ts | 7 +
.../src/plugins/image/main/ts/ui/UploadTab.ts | 7 +
.../image/test/ts/browser/FigureDeleteTest.ts | 0
.../image/test/ts/browser/FigureResizeTest.ts | 13 +-
.../image/test/ts/browser/ImageListTest.ts | 0
.../image/test/ts/browser/ImagePluginTest.ts | 0
.../image/test/ts/browser/ImageResizeTest.ts | 0
.../image/test/ts/browser/UploadTabTest.ts | 0
.../test/ts/browser/core/ImageDataTest.ts | 0
.../ts/browser/core/ImageSelectionTest.ts | 0
.../plugins/imagetools/demo/html/demo.html | 0
.../plugins/imagetools/demo/img/dogleft.jpg | Bin
.../plugins/imagetools/demo/ts/demo/Demo.ts | 0
.../src/plugins/imagetools/main/ts/Plugin.ts | 11 +-
.../imagetools/main/ts/api/Commands.ts | 11 +-
.../imagetools/main/ts/api/Settings.ts | 11 +-
.../imagetools/main/ts/core/Actions.ts | 11 +-
.../plugins/imagetools/main/ts/core/Errors.ts | 7 +
.../imagetools/main/ts/core/ImageSize.ts | 11 +-
.../imagetools/main/ts/core/LoadImage.ts | 11 +-
.../plugins/imagetools/main/ts/core/Proxy.ts | 11 +-
.../imagetools/main/ts/core/UndoStack.ts | 11 +-
.../main/ts/core/UploadSelectedImage.ts | 11 +-
.../plugins/imagetools/main/ts/core/Utils.ts | 12 +-
.../plugins/imagetools/main/ts/ui/Buttons.ts | 11 +-
.../imagetools/main/ts/ui/ContextToolbar.ts | 11 +-
.../plugins/imagetools/main/ts/ui/CropRect.ts | 11 +-
.../plugins/imagetools/main/ts/ui/Dialog.ts | 11 +-
.../imagetools/main/ts/ui/ImagePanel.ts | 11 +-
.../imagetools/test/ts/atomic/ErrorsTest.ts | 0
.../test/ts/browser/ImageToolsErrorTest.ts | 0
.../test/ts/browser/ImageToolsPluginTest.ts | 0
.../test/ts/browser/SequenceTest.ts | 0
.../test/ts/module/test/ImageOps.ts | 0
.../test/ts/module/test/ImageUtils.ts | 0
.../src/plugins/importcss/demo/css/rules.css | 0
.../src/plugins/importcss/demo/html/demo.html | 0
.../plugins/importcss/demo/ts/demo/Demo.ts | 0
.../src/plugins/importcss/main/ts/Plugin.ts | 11 +-
.../src/plugins/importcss/main/ts/api/Api.ts | 11 +-
.../plugins/importcss/main/ts/api/Settings.ts | 11 +-
.../importcss/main/ts/core/ImportCss.ts | 11 +-
.../test/ts/browser/ImportCssPluginTest.ts | 0
.../insertdatetime/demo/html/demo.html | 0
.../insertdatetime/demo/ts/demo/Demo.ts | 0
.../plugins/insertdatetime/main/ts/Plugin.ts | 11 +-
.../insertdatetime/main/ts/api/Commands.ts | 11 +-
.../insertdatetime/main/ts/api/Settings.ts | 11 +-
.../insertdatetime/main/ts/core/Actions.ts | 11 +-
.../insertdatetime/main/ts/ui/Buttons.ts | 11 +-
.../ts/browser/InsertDatetimeSanityTest.ts | 0
.../plugins/legacyoutput/demo/html/demo.html | 0
.../plugins/legacyoutput/demo/ts/demo/Demo.ts | 0
.../plugins/legacyoutput/main/ts/Plugin.ts | 11 +-
.../legacyoutput/main/ts/core/Formats.ts | 11 +-
.../legacyoutput/main/ts/ui/Buttons.ts | 11 +-
.../test/ts/browser/LegacyOutputPluginTest.ts | 0
.../src/plugins/link/demo/html/demo.html | 0
.../src/plugins/link/demo/ts/demo/Demo.ts | 0
.../src/plugins/link/main/ts/Plugin.ts | 11 +-
.../src/plugins/link/main/ts/api/Commands.ts | 16 +
.../src/plugins/link/main/ts/api/Settings.ts | 11 +-
.../src/plugins/link/main/ts/core/Actions.ts | 11 +-
.../src/plugins/link/main/ts/core/Keyboard.ts | 16 +
.../src/plugins/link/main/ts/core/OpenUrl.ts | 11 +-
.../src/plugins/link/main/ts/core/Utils.ts | 11 +-
.../src/plugins/link/main/ts/ui/Controls.ts | 11 +-
.../src/plugins/link/main/ts/ui/Dialog.ts | 11 +-
.../ts/browser/AllowUnsafeLinkTargetTest.ts | 0
.../ts/browser/AssumeExternalTargetsTest.ts | 0
.../test/ts/browser/ContextToolbarTest.ts | 0
.../test/ts/browser/ImageFigureLinkTest.ts | 0
.../link/test/ts/browser/LinkClassListTest.ts | 0
.../link/test/ts/browser/LinkPluginTest.ts | 0
.../link/test/ts/browser/LinkTitleTest.ts | 0
.../link/test/ts/browser/RelListTest.ts | 0
.../link/test/ts/browser/SelectedLinkTest.ts | 0
.../link/test/ts/browser/TargetListTest.ts | 0
.../link/test/ts/browser/UrlInputTest.ts | 0
.../src/plugins/lists/demo/html/demo.html | 0
.../src/plugins/lists/demo/ts/demo/Demo.ts | 0
.../src/plugins/lists/main/ts/Plugin.ts | 11 +-
.../lists/main/ts/actions/Indendation.ts | 53 +
.../lists/main/ts/actions/ToggleList.ts | 11 +-
.../src/plugins/lists/main/ts/api/Api.ts | 20 +
.../src/plugins/lists/main/ts/api/Commands.ts | 11 +-
.../src/plugins/lists/main/ts/api/Settings.ts | 14 +
.../plugins/lists/main/ts/core/Bookmark.ts | 11 +-
.../src/plugins/lists/main/ts/core/Delete.ts | 11 +-
.../lists/main/ts/core/DlIndentation.ts | 38 +
.../plugins/lists/main/ts/core/Keyboard.ts | 22 +-
.../plugins/lists/main/ts/core/NodeType.ts | 11 +-
.../lists/main/ts/core/NormalizeLists.ts | 11 +-
.../src/plugins/lists/main/ts/core/Range.ts | 11 +-
.../plugins/lists/main/ts/core/Selection.ts | 26 +-
.../plugins/lists/main/ts/core/SplitList.ts | 19 +-
.../plugins/lists/main/ts/core/TextBlock.ts | 41 +-
.../lists/main/ts/listModel/ComposeList.ts | 109 ++
.../plugins/lists/main/ts/listModel/Entry.ts | 67 ++
.../lists/main/ts/listModel/Indentation.ts | 29 +
.../main/ts/listModel/ListsIndendation.ts | 45 +-
.../main/ts/listModel/NormalizeEntries.ts | 40 +
.../lists/main/ts/listModel/ParseLists.ts | 71 ++
.../plugins/lists/main/ts/listModel/Util.ts | 31 +
.../src/plugins/lists/main/ts/ui/Buttons.ts | 11 +-
.../lists/test/ts/browser/ApplyDlTest.ts | 0
.../ApplyListOnParagraphWithStylesTest.ts | 0
.../lists/test/ts/browser/ApplyTest.ts | 0
.../BackspaceDeleteFromBlockIntoLiTest.ts | 0
.../ts/browser/BackspaceDeleteInlineTest.ts | 0
.../test/ts/browser/BackspaceDeleteTest.ts | 0
.../test/ts/browser/ChangeListStyleTest.ts | 0
.../lists/test/ts/browser/IndentTest.ts | 0
.../lists/test/ts/browser/InlineTest.ts | 0
.../lists/test/ts/browser/ListModelTest.ts | 15 +-
.../lists/test/ts/browser/OutdentTest.ts | 23 +
.../lists/test/ts/browser/RemoveTest.ts | 0
.../lists/test/ts/browser/TableInListTest.ts | 0
.../ts/browser/ToggleListWithEmptyLiTest.ts | 0
.../src/plugins/media/demo/html/demo.html | 0
.../src/plugins/media/demo/ts/demo/Demo.ts | 0
.../src/plugins/media/main/ts/Plugin.ts | 11 +-
.../src/plugins/media/main/ts/api/Api.ts | 22 +
.../src/plugins/media/main/ts/api/Commands.ts | 20 +
.../src/plugins/media/main/ts/api/Settings.ts | 11 +-
.../plugins/media/main/ts/core/DataToHtml.ts | 11 +-
.../media/main/ts/core/FilterContent.ts | 11 +-
.../plugins/media/main/ts/core/HtmlToData.ts | 11 +-
.../src/plugins/media/main/ts/core/Mime.ts | 11 +-
.../src/plugins/media/main/ts/core/Nodes.ts | 11 +-
.../plugins/media/main/ts/core/ResolveName.ts | 11 +-
.../plugins/media/main/ts/core/Sanitize.ts | 11 +-
.../plugins/media/main/ts/core/Selection.ts | 11 +-
.../src/plugins/media/main/ts/core/Service.ts | 11 +-
.../src/plugins/media/main/ts/core/Size.ts | 11 +-
.../plugins/media/main/ts/core/UpdateHtml.ts | 11 +-
.../plugins/media/main/ts/core/UrlPatterns.ts | 11 +-
.../plugins/media/main/ts/core/VideoScript.ts | 11 +-
.../src/plugins/media/main/ts/ui/Buttons.ts | 11 +-
.../src/plugins/media/main/ts/ui/Dialog.ts | 11 +-
.../plugins/media/main/ts/ui/SizeManager.ts | 11 +-
.../media/test/ts/atomic/HtmlToDataTest.ts | 0
.../media/test/ts/atomic/UrlPatternsTest.ts | 0
.../test/ts/browser/ContentFormatsTest.ts | 0
.../test/ts/browser/DataAttributeTest.ts | 0
.../media/test/ts/browser/DataToHtmlTest.ts | 0
.../test/ts/browser/DimensionsControlTest.ts | 0
.../ts/browser/DimensionsFalseEmbedTest.ts | 0
.../media/test/ts/browser/EphoxEmbedTest.ts | 0
.../media/test/ts/browser/IframeNodeTest.ts | 0
.../test/ts/browser/IsCachedResponseTest.ts | 0
.../media/test/ts/browser/MediaEmbedTest.ts | 0
.../test/ts/browser/NoAdvancedTabTest.ts | 0
.../media/test/ts/browser/PlaceholderTest.ts | 0
.../media/test/ts/browser/PluginTest.ts | 0
.../media/test/ts/browser/ReopenResizeTest.ts | 0
.../media/test/ts/browser/SubmitTest.ts | 0
.../media/test/ts/module/test/Utils.ts | 0
.../plugins/nonbreaking/demo/html/demo.html | 0
.../plugins/nonbreaking/demo/ts/demo/Demo.ts | 0
.../src/plugins/nonbreaking/main/ts/Plugin.ts | 11 +-
.../nonbreaking/main/ts/api/Commands.ts | 18 +
.../nonbreaking/main/ts/api/Settings.ts | 11 +-
.../nonbreaking/main/ts/core/Actions.ts | 11 +-
.../nonbreaking/main/ts/core/Keyboard.ts | 11 +-
.../plugins/nonbreaking/main/ts/ui/Buttons.ts | 11 +-
.../ts/browser/NonbreakingForceTabTest.ts | 0
.../test/ts/browser/NonbreakingSanityTest.ts | 0
.../ts/browser/NonbreakingSettingsTest.ts | 0
.../plugins/noneditable/demo/html/demo.html | 0
.../plugins/noneditable/demo/ts/demo/Demo.ts | 0
.../src/plugins/noneditable/main/ts/Plugin.ts | 15 +
.../noneditable/main/ts/api/Settings.ts | 11 +-
.../noneditable/main/ts/core/FilterContent.ts | 11 +-
.../test/ts/browser/NonEditablePluginTest.ts | 0
.../src/plugins/pagebreak/demo/html/demo.html | 0
.../plugins/pagebreak/demo/ts/demo/Demo.ts | 0
.../src/plugins/pagebreak/main/ts/Plugin.ts | 11 +-
.../plugins/pagebreak/main/ts/api/Commands.ts | 11 +-
.../plugins/pagebreak/main/ts/api/Settings.ts | 11 +-
.../pagebreak/main/ts/core/FilterContent.ts | 11 +-
.../pagebreak/main/ts/core/ResolveName.ts | 11 +-
.../plugins/pagebreak/main/ts/ui/Buttons.ts | 11 +-
.../test/ts/browser/PageBreakSanityTest.ts | 0
.../src/plugins/paste/demo/html/demo.html | 0
.../src/plugins/paste/demo/ts/demo/Demo.ts | 0
.../src/plugins/paste/main/ts/Plugin.ts | 11 +-
.../paste/main/ts/alien/DetectProPlugin.ts | 11 +-
.../src/plugins/paste/main/ts/api/Api.ts | 19 +
.../plugins/paste/main/ts/api/Clipboard.ts | 7 +
.../src/plugins/paste/main/ts/api/Commands.ts | 11 +-
.../src/plugins/paste/main/ts/api/Events.ts | 11 +-
.../src/plugins/paste/main/ts/api/Settings.ts | 11 +-
.../src/plugins/paste/main/ts/core/Actions.ts | 11 +-
.../plugins/paste/main/ts/core/Clipboard.ts | 100 +-
.../src/plugins/paste/main/ts/core/CutCopy.ts | 23 +-
.../plugins/paste/main/ts/core/DragDrop.ts | 11 +-
.../paste/main/ts/core/FragmentParser.ts | 11 +-
.../paste/main/ts/core/InternalHtml.ts | 11 +-
.../plugins/paste/main/ts/core/Newlines.ts | 11 +-
.../plugins/paste/main/ts/core/PasteBin.ts | 11 +-
.../paste/main/ts/core/PrePostProcess.ts | 11 +-
.../paste/main/ts/core/ProcessFilters.ts | 11 +-
.../src/plugins/paste/main/ts/core/Quirks.ts | 11 +-
.../plugins/paste/main/ts/core/SmartPaste.ts | 11 +-
.../src/plugins/paste/main/ts/core/Utils.ts | 11 +-
.../plugins/paste/main/ts/core/WordFilter.ts | 11 +-
.../src/plugins/paste/main/ts/ui/Buttons.ts | 11 +-
.../src/plugins/paste/test/.eslintrc | 0
.../test/ts/atomic/FragmentParserTest.ts | 0
.../paste/test/ts/atomic/InternalHtmlTest.ts | 0
.../paste/test/ts/browser/ImagePasteTest.ts | 0
.../test/ts/browser/InternalClipboardTest.ts | 31 +-
.../paste/test/ts/browser/NewlinesTest.ts | 0
.../paste/test/ts/browser/PasteBinTest.ts | 0
.../test/ts/browser/PasteFormatToggleTest.ts | 0
.../test/ts/browser/PasteSettingsTest.ts | 0
.../paste/test/ts/browser/PasteStylesTest.ts | 0
.../paste/test/ts/browser/PasteTest.ts | 0
.../test/ts/browser/PlainTextPasteTest.ts | 0
.../test/ts/browser/ProcessFiltersTest.ts | 0
.../paste/test/ts/browser/SmartPasteTest.ts | 0
.../ts/browser/alien/DetectProPluginTest.ts | 0
.../test/ts/module/test/MockDataTransfer.ts | 0
.../paste/test/ts/module/test/Paste.ts | 0
.../paste/test/ts/module/test/Strings.ts | 0
.../paste/test/ts/module/test/ViewBlock.ts | 0
.../paste/test/ts/webdriver/CutTest.ts | 0
.../src/plugins/preview/demo/html/demo.html | 0
.../src/plugins/preview/demo/ts/demo/Demo.ts | 0
.../src/plugins/preview/main/ts/Plugin.ts | 11 +-
.../plugins/preview/main/ts/api/Commands.ts | 18 +
.../plugins/preview/main/ts/api/Settings.ts | 11 +-
.../src/plugins/preview/main/ts/ui/Buttons.ts | 11 +-
.../src/plugins/preview/main/ts/ui/Dialog.ts | 11 +-
.../preview/main/ts/ui/IframeContent.ts | 11 +-
.../ts/browser/PreviewContentStyleTest.ts | 0
.../test/ts/browser/PreviewSanityTest.ts | 0
.../src/plugins/print/demo/html/demo.html | 0
.../src/plugins/print/demo/ts/demo/Demo.ts | 0
.../src/plugins/print/main/ts/Plugin.ts | 11 +-
.../src/plugins/print/main/ts/api/Commands.ts | 16 +
.../src/plugins/print/main/ts/ui/Buttons.ts | 11 +-
.../print/test/ts/browser/PrintSanityTest.ts | 0
.../src/plugins/save/demo/html/demo.html | 0
.../src/plugins/save/demo/ts/demo/Demo.ts | 0
.../src/plugins/save/main/ts/Plugin.ts | 11 +-
.../src/plugins/save/main/ts/api/Commands.ts | 11 +-
.../src/plugins/save/main/ts/api/Settings.ts | 11 +-
.../src/plugins/save/main/ts/core/Actions.ts | 11 +-
.../src/plugins/save/main/ts/ui/Buttons.ts | 11 +-
.../save/test/ts/browser/SaveSanityTest.ts | 0
.../plugins/searchreplace/demo/html/demo.html | 0
.../searchreplace/demo/ts/demo/Demo.ts | 0
.../plugins/searchreplace/main/ts/Plugin.ts | 11 +-
.../plugins/searchreplace/main/ts/api/Api.ts | 11 +-
.../searchreplace/main/ts/api/Commands.ts | 18 +
.../searchreplace/main/ts/core/Actions.ts | 11 +-
.../main/ts/core/FindReplaceText.ts | 11 +-
.../searchreplace/main/ts/ui/Buttons.ts | 11 +-
.../searchreplace/main/ts/ui/Dialog.ts | 11 +-
.../ts/browser/SearchReplacePluginTest.ts | 0
.../test/ts/browser/UndoReplaceSpanTest.ts | 0
.../test/ts/module/test/HtmlUtils.ts | 0
.../plugins/spellchecker/demo/html/demo.html | 0
.../plugins/spellchecker/demo/ts/demo/Demo.ts | 0
.../plugins/spellchecker/main/ts/Plugin.ts | 11 +-
.../main/ts/alien/DetectProPlugin.ts | 11 +-
.../plugins/spellchecker/main/ts/api/Api.ts | 11 +-
.../spellchecker/main/ts/api/Commands.ts | 11 +-
.../spellchecker/main/ts/api/Events.ts | 11 +-
.../spellchecker/main/ts/api/Settings.ts | 12 +-
.../spellchecker/main/ts/core/Actions.ts | 18 +-
.../main/ts/core/DomTextMatcher.ts | 11 +-
.../spellchecker/main/ts/ui/Buttons.ts | 11 +-
.../main/ts/ui/SuggestionsMenu.ts | 11 +-
.../test/ts/browser/AddToDictionaryTest.ts | 0
.../browser/SpellcheckerChangeLanguageTest.ts | 0
.../browser/SpellcheckerManyLanguagesTest.ts | 0
.../browser/SpellcheckerSingleLanguageTest.ts | 0
.../test/ts/browser/SpellcheckerTest.ts | 0
.../ts/browser/alien/DetectProPluginTest.ts | 0
.../src/plugins/tabfocus/demo/html/demo.html | 0
.../src/plugins/tabfocus/demo/ts/demo/Demo.ts | 0
.../src/plugins/tabfocus/main/ts/Plugin.ts | 15 +
.../plugins/tabfocus/main/ts/api/Settings.ts | 11 +-
.../plugins/tabfocus/main/ts/core/Keyboard.ts | 11 +-
.../test/ts/browser/TabfocusSanityTest.ts | 0
.../src/plugins/table/demo/html/demo.html | 0
.../src/plugins/table/demo/ts/demo/Demo.ts | 0
.../src/plugins/table/main/ts/Plugin.ts | 11 +-
.../table/main/ts/actions/Clipboard.ts | 23 +-
.../table/main/ts/actions/InsertTable.ts | 11 +-
.../table/main/ts/actions/ResizeHandler.ts | 12 +-
.../plugins/table/main/ts/actions/Styles.ts | 11 +-
.../table/main/ts/actions/TableActions.ts | 11 +-
.../table/main/ts/actions/TableWire.ts | 11 +-
.../src/plugins/table/main/ts/alien/Util.ts | 11 +-
.../src/plugins/table/main/ts/api/Api.ts | 11 +-
.../src/plugins/table/main/ts/api/Commands.ts | 11 +-
.../src/plugins/table/main/ts/api/Events.ts | 11 +-
.../src/plugins/table/main/ts/api/Settings.ts | 11 +-
.../table/main/ts/queries/CellOperations.ts | 11 +-
.../table/main/ts/queries/Direction.ts | 11 +-
.../table/main/ts/queries/TabContext.ts | 11 +-
.../table/main/ts/queries/TableTargets.ts | 11 +-
.../table/main/ts/selection/CellSelection.ts | 11 +-
.../table/main/ts/selection/Ephemera.ts | 11 +-
.../table/main/ts/selection/SelectionTypes.ts | 11 +-
.../table/main/ts/selection/Selections.ts | 11 +-
.../src/plugins/table/main/ts/ui/Buttons.ts | 11 +-
.../plugins/table/main/ts/ui/CellDialog.ts | 11 +-
.../src/plugins/table/main/ts/ui/Helpers.ts | 11 +-
.../src/plugins/table/main/ts/ui/MenuItems.ts | 11 +-
.../src/plugins/table/main/ts/ui/RowDialog.ts | 11 +-
.../plugins/table/main/ts/ui/TableDialog.ts | 11 +-
.../browser/AlignedCellRowStyleChangeTest.ts | 0
.../table/test/ts/browser/ClipboardTest.ts | 19 +
.../table/test/ts/browser/DragResizeTest.ts | 0
.../test/ts/browser/GridSelectionTest.ts | 0
.../test/ts/browser/IndentListsInTableTest.ts | 0
.../ts/browser/InlineEditorInsideTableTest.ts | 0
.../test/ts/browser/InsertCommandsTest.ts | 0
.../table/test/ts/browser/InsertTableTest.ts | 0
.../ts/browser/KeyboardCellNavigationTest.ts | 0
.../test/ts/browser/MergeCellCommandTest.ts | 0
.../test/ts/browser/NewCellRowEventsTest.ts | 0
.../table/test/ts/browser/ResizeTableTest.ts | 0
.../test/ts/browser/TabKeyNavigationTest.ts | 0
.../table/test/ts/browser/TableAsBodyTest.ts | 0
.../ts/browser/TableCellPropsStyleTest.ts | 0
.../settings/CustomTableToolbarTest.ts | 0
.../settings/DefaultTableToolbarTest.ts | 0
.../settings/DisabledTableToolbarTest.ts | 0
.../settings/TableAppearanceOptionsTest.ts | 0
.../settings/TableCellClassListTest.ts | 0
.../ts/browser/settings/TableClassListTest.ts | 0
.../settings/TableDefaultAttributesTest.ts | 0
.../settings/TableDefaultStylesTest.ts | 0
.../ts/browser/settings/TableGridFalseTest.ts | 0
.../browser/settings/TableRowClassListTest.ts | 0
.../TableTabNavigationDisabledTest.ts | 0
.../test/ts/browser/ui/ColorPickerTest.ts | 0
.../test/ts/browser/ui/TableCellDialogTest.ts | 0
.../test/ts/browser/ui/TableDialogTest.ts | 0
.../test/ts/browser/ui/TableRowDialogTest.ts | 0
.../test/ts/module/test/TableTestUtils.ts | 0
.../src/plugins/template/demo/html/demo.html | 0
.../src/plugins/template/demo/ts/demo/Demo.ts | 0
.../src/plugins/template/main/ts/Plugin.ts | 11 +-
.../plugins/template/main/ts/api/Commands.ts | 11 +-
.../plugins/template/main/ts/api/Settings.ts | 11 +-
.../template/main/ts/core/DateTimeHelper.ts | 11 +-
.../template/main/ts/core/FilterContent.ts | 11 +-
.../template/main/ts/core/Templates.ts | 11 +-
.../plugins/template/main/ts/ui/Buttons.ts | 11 +-
.../src/plugins/template/main/ts/ui/Dialog.ts | 11 +-
.../template/test/html/test_template.html | 0
.../template/test/ts/browser/DatesTest.ts | 0
.../test/ts/browser/SelectedContentTest.ts | 0
.../test/ts/browser/TemplateSanityTest.ts | 0
.../src/plugins/textcolor/demo/html/demo.html | 0
.../plugins/textcolor/demo/ts/demo/Demo.ts | 0
.../src/plugins/textcolor/main/ts/Plugin.ts | 11 +-
.../plugins/textcolor/main/ts/api/Commands.ts | 7 +
.../plugins/textcolor/main/ts/api/Settings.ts | 11 +-
.../textcolor/main/ts/core/TextColor.ts | 11 +-
.../plugins/textcolor/main/ts/ui/Buttons.ts | 11 +-
.../textcolor/main/ts/ui/ColorPickerHtml.ts | 11 +-
.../test/ts/browser/GetCurrentColorTest.ts | 0
.../test/ts/browser/TextcolorCommandsTest.ts | 0
.../test/ts/browser/TextcolorSanityTest.ts | 0
.../plugins/textpattern/demo/html/demo.html | 0
.../plugins/textpattern/demo/ts/demo/Demo.ts | 0
.../src/plugins/textpattern/main/ts/Plugin.ts | 22 +
.../plugins/textpattern/main/ts/api/Api.ts | 32 +
.../textpattern/main/ts/api/Pattern.ts | 66 ++
.../textpattern/main/ts/api/Settings.ts | 33 +
.../textpattern/main/ts/core/FindPatterns.ts | 121 ++
.../textpattern/main/ts/core/KeyHandler.ts | 49 +
.../textpattern/main/ts/core/Keyboard.ts | 15 +-
.../main/ts/core/PatternApplication.ts | 212 ++++
.../test/ts/atomic/FindPatternsTest.ts | 16 +-
.../test/ts/browser/FindInlinePatternTest.ts} | 44 +-
.../test/ts/browser/ReplacementTest.ts | 82 ++
.../test/ts/browser/TextPatternPluginTest.ts | 43 +-
.../ts/browser/TrailingPunctuationTest.ts | 0
.../TriggerInlinePatternBeginningTest.ts | 0
.../test/ts/browser/UndoTextpatternTest.ts | 7 +-
.../textpattern/test/ts/module/test/Utils.ts | 11 +
.../src/plugins/toc/demo/html/demo.html | 0
.../src/plugins/toc/demo/ts/demo/Demo.ts | 0
.../src/plugins/toc/main/ts/Plugin.ts | 11 +-
.../src/plugins/toc/main/ts/api/Commands.ts | 11 +-
.../src/plugins/toc/main/ts/api/Settings.ts | 11 +-
.../plugins/toc/main/ts/core/FilterContent.ts | 11 +-
.../src/plugins/toc/main/ts/core/Guid.ts | 19 +
.../src/plugins/toc/main/ts/core/Toc.ts | 11 +-
.../src/plugins/toc/main/ts/ui/Buttons.ts | 11 +-
.../toc/test/ts/browser/TocPluginTest.ts | 0
.../toc/test/ts/browser/api/SettingsTest.ts | 0
.../toc/test/ts/module/test/HtmlUtils.ts | 0
.../plugins/visualblocks/demo/html/demo.html | 0
.../plugins/visualblocks/demo/ts/demo/Demo.ts | 0
.../visualblocks/main/css/visualblocks.css | 0
.../plugins/visualblocks/main/img/address.gif | Bin
.../plugins/visualblocks/main/img/article.gif | Bin
.../plugins/visualblocks/main/img/aside.gif | Bin
.../visualblocks/main/img/blockquote.gif | Bin
.../src/plugins/visualblocks/main/img/div.gif | Bin
.../src/plugins/visualblocks/main/img/dl.gif | Bin
.../plugins/visualblocks/main/img/figure.gif | Bin
.../src/plugins/visualblocks/main/img/h1.gif | Bin
.../src/plugins/visualblocks/main/img/h2.gif | Bin
.../src/plugins/visualblocks/main/img/h3.gif | Bin
.../src/plugins/visualblocks/main/img/h4.gif | Bin
.../src/plugins/visualblocks/main/img/h5.gif | Bin
.../src/plugins/visualblocks/main/img/h6.gif | Bin
.../plugins/visualblocks/main/img/hgroup.gif | Bin
.../src/plugins/visualblocks/main/img/ol.gif | Bin
.../src/plugins/visualblocks/main/img/p.gif | Bin
.../src/plugins/visualblocks/main/img/pre.gif | Bin
.../plugins/visualblocks/main/img/section.gif | Bin
.../src/plugins/visualblocks/main/img/ul.gif | Bin
.../plugins/visualblocks/main/ts/Plugin.ts | 11 +-
.../visualblocks/main/ts/api/Commands.ts | 11 +-
.../visualblocks/main/ts/api/Events.ts | 14 +
.../visualblocks/main/ts/api/Settings.ts | 11 +-
.../visualblocks/main/ts/core/Bindings.ts | 11 +-
.../visualblocks/main/ts/core/LoadCss.ts | 11 +-
.../visualblocks/main/ts/core/VisualBlocks.ts | 11 +-
.../visualblocks/main/ts/ui/Buttons.ts | 11 +-
.../test/ts/browser/PreviewFormatTest.ts | 0
.../test/ts/browser/VisualBlocksSanityTest.ts | 0
.../plugins/visualchars/demo/html/demo.html | 0
.../plugins/visualchars/demo/ts/demo/Demo.ts | 1 +
.../src/plugins/visualchars/main/ts/Plugin.ts | 13 +-
.../plugins/visualchars/main/ts/api/Api.ts | 20 +
.../visualchars/main/ts/api/Commands.ts | 11 +-
.../plugins/visualchars/main/ts/api/Events.ts | 14 +
.../visualchars/main/ts/api/Settings.ts | 16 +
.../visualchars/main/ts/core/Actions.ts | 11 +-
.../visualchars/main/ts/core/Bindings.ts | 23 +
.../plugins/visualchars/main/ts/core/Data.ts | 11 +-
.../plugins/visualchars/main/ts/core/Html.ts | 16 +
.../visualchars/main/ts/core/Keyboard.ts | 11 +-
.../plugins/visualchars/main/ts/core/Nodes.ts | 11 +-
.../visualchars/main/ts/core/VisualChars.ts | 11 +-
.../plugins/visualchars/main/ts/ui/Buttons.ts | 11 +-
.../visualchars/test/ts/atomic/DataTest.ts | 2 +-
.../visualchars/test/ts/atomic/HtmlTest.ts | 0
.../visualchars/test/ts/atomic/NodesTest.ts | 0
.../test/ts/browser/DefaultStateTest.ts | 35 +
.../visualchars/test/ts/browser/PluginTest.ts | 45 +-
.../visualchars/test/ts/module/test/Utils.ts | 36 +
.../src/plugins/wordcount/demo/html/demo.html | 0
.../plugins/wordcount/demo/ts/demo/Demo.ts | 0
.../src/plugins/wordcount/main/ts/Plugin.ts | 11 +-
.../src/plugins/wordcount/main/ts/api/Api.ts | 22 +
.../wordcount/main/ts/text/StringMapper.ts | 13 +-
.../wordcount/main/ts/text/UnicodeData.ts | 11 +-
.../wordcount/main/ts/text/WordBoundary.ts | 11 +-
.../wordcount/main/ts/text/WordCount.ts | 11 +-
.../wordcount/main/ts/text/WordGetter.ts | 11 +-
.../plugins/wordcount/main/ts/ui/Statusbar.ts | 11 +-
.../src/plugins/wordcount/test/.eslintrc | 0
.../test/ts/atomic/core/IsWordBoundaryTest.ts | 0
.../test/ts/atomic/core/StringMapperTest.ts | 0
.../test/ts/atomic/core/WordGetterTest.ts | 0
.../wordcount/test/ts/browser/ApiTest.ts | 0
.../test/ts/browser/core/PluginTest.ts | 0
.../skins/lightgray/demo/html/icons_demo.html | 0
.../src/skins/lightgray/main/fonts/readme.md | 0
.../lightgray/main/fonts/tinymce-mobile.json | 0
.../lightgray/main/fonts/tinymce-mobile.woff | Bin
.../lightgray/main/fonts/tinymce-small.eot | Bin
.../lightgray/main/fonts/tinymce-small.json | 0
.../lightgray/main/fonts/tinymce-small.svg | 0
.../lightgray/main/fonts/tinymce-small.ttf | Bin
.../lightgray/main/fonts/tinymce-small.woff | Bin
.../skins/lightgray/main/fonts/tinymce.eot | Bin
.../skins/lightgray/main/fonts/tinymce.json | 0
.../skins/lightgray/main/fonts/tinymce.svg | 0
.../skins/lightgray/main/fonts/tinymce.ttf | Bin
.../skins/lightgray/main/fonts/tinymce.woff | Bin
.../src/skins/lightgray/main/img/anchor.gif | Bin
.../src/skins/lightgray/main/img/loader.gif | Bin
.../src/skins/lightgray/main/img/object.gif | Bin
.../src/skins/lightgray/main/img/trans.gif | Bin
.../main/less/desktop/AbsoluteLayout.less | 0
.../main/less/desktop/Animations.less | 0
.../lightgray/main/less/desktop/Arrows.less | 0
.../main/less/desktop/BrowseButton.less | 0
.../lightgray/main/less/desktop/Button.less | 0
.../main/less/desktop/ButtonGroup.less | 0
.../lightgray/main/less/desktop/Checkbox.less | 0
.../lightgray/main/less/desktop/ColorBox.less | 0
.../main/less/desktop/ColorButton.less | 0
.../main/less/desktop/ColorPicker.less | 0
.../lightgray/main/less/desktop/ComboBox.less | 0
.../main/less/desktop/Container.less | 0
.../main/less/desktop/Content.Inline.less | 0
.../main/less/desktop/Content.Objects.less | 0
.../lightgray/main/less/desktop/Content.less | 0
.../lightgray/main/less/desktop/CropRect.less | 0
.../lightgray/main/less/desktop/DropZone.less | 0
.../lightgray/main/less/desktop/FieldSet.less | 0
.../main/less/desktop/FilePicker.less | 0
.../main/less/desktop/FitLayout.less | 0
.../main/less/desktop/FloatPanel.less | 0
.../main/less/desktop/FlowLayout.less | 0
.../lightgray/main/less/desktop/Icons.less | 0
.../lightgray/main/less/desktop/Iframe.less | 0
.../main/less/desktop/ImagePanel.less | 0
.../lightgray/main/less/desktop/InfoBox.less | 0
.../lightgray/main/less/desktop/Label.less | 0
.../lightgray/main/less/desktop/ListBox.less | 0
.../lightgray/main/less/desktop/Menu.less | 0
.../lightgray/main/less/desktop/MenuBar.less | 0
.../main/less/desktop/MenuButton.less | 0
.../lightgray/main/less/desktop/MenuItem.less | 0
.../lightgray/main/less/desktop/Mixins.less | 0
.../main/less/desktop/Notification.less | 0
.../lightgray/main/less/desktop/Panel.less | 0
.../lightgray/main/less/desktop/Path.less | 0
.../lightgray/main/less/desktop/Progress.less | 0
.../lightgray/main/less/desktop/Radio.less | 0
.../lightgray/main/less/desktop/Reset.less | 0
.../main/less/desktop/ResizeHandle.less | 0
.../main/less/desktop/Scrollable.less | 0
.../main/less/desktop/SelectBox.less | 0
.../lightgray/main/less/desktop/Sidebar.less | 0
.../lightgray/main/less/desktop/Skin.less | 0
.../lightgray/main/less/desktop/Slider.less | 0
.../lightgray/main/less/desktop/Spacer.less | 0
.../main/less/desktop/SplitButton.less | 0
.../main/less/desktop/StackLayout.less | 0
.../lightgray/main/less/desktop/TabPanel.less | 0
.../lightgray/main/less/desktop/TextBox.less | 0
.../lightgray/main/less/desktop/Throbber.less | 0
.../lightgray/main/less/desktop/TinyMCE.less | 0
.../lightgray/main/less/desktop/ToolTip.less | 0
.../main/less/desktop/Variables.less | 0
.../lightgray/main/less/desktop/Window.less | 0
.../main/less/mobile/app/android.less | 0
.../main/less/mobile/app/mask-section.less | 0
.../lightgray/main/less/mobile/app/mask.less | 0
.../main/less/mobile/app/mobile-icons.less | 0
.../main/less/mobile/app/mobile-less.less | 0
.../lightgray/main/less/mobile/app/reset.less | 0
.../main/less/mobile/app/variables.less | 0
.../lightgray/main/less/mobile/content.less | 0
.../main/less/mobile/menu/dropup.less | 0
.../main/less/mobile/menu/styles-menu.less | 0
.../mobile/toolstrip/context-toolbar.less | 0
.../less/mobile/toolstrip/main-toolbar.less | 0
.../mobile/toolstrip/serialised-dialogs.less | 0
.../main/less/mobile/toolstrip/slider.less | 0
.../main/less/mobile/toolstrip/toolstrip.less | 0
.../src/themes/inlite/demo/css/demo.css | 0
.../src/themes/inlite/demo/html/demo.html | 0
.../src/themes/inlite/demo/ts/demo/Demos.ts | 0
.../src/themes/inlite/main/ts/Theme.ts | 11 +-
.../themes/inlite/main/ts/alien/Bookmark.ts | 11 +-
.../inlite/main/ts/alien/DeepFlatten.ts | 16 +
.../inlite/main/ts/alien/EditorSettings.ts | 11 +-
.../src/themes/inlite/main/ts/alien/Type.ts | 11 +-
.../inlite/main/ts/alien/UiContainer.ts | 11 +-
.../src/themes/inlite/main/ts/alien/Unlink.ts | 11 +-
.../src/themes/inlite/main/ts/alien/Uuid.ts | 11 +-
.../src/themes/inlite/main/ts/api/Events.ts | 12 +-
.../src/themes/inlite/main/ts/api/Settings.ts | 11 +-
.../src/themes/inlite/main/ts/api/ThemeApi.ts | 11 +-
.../src/themes/inlite/main/ts/core/Actions.ts | 11 +-
.../src/themes/inlite/main/ts/core/Convert.ts | 12 +-
.../inlite/main/ts/core/ElementMatcher.ts | 11 +-
.../src/themes/inlite/main/ts/core/Layout.ts | 11 +-
.../src/themes/inlite/main/ts/core/Matcher.ts | 12 +-
.../src/themes/inlite/main/ts/core/Measure.ts | 11 +-
.../themes/inlite/main/ts/core/PredicateId.ts | 11 +-
.../src/themes/inlite/main/ts/core/Render.ts | 15 +-
.../inlite/main/ts/core/SelectionMatcher.ts | 11 +-
.../themes/inlite/main/ts/core/SkinLoader.ts | 11 +-
.../src/themes/inlite/main/ts/core/UrlType.ts | 11 +-
.../themes/inlite/main/ts/file/Conversions.ts | 11 +-
.../src/themes/inlite/main/ts/file/Picker.ts | 11 +-
.../src/themes/inlite/main/ts/ui/Buttons.ts | 11 +-
.../src/themes/inlite/main/ts/ui/Forms.ts | 11 +-
.../src/themes/inlite/main/ts/ui/Panel.ts | 11 +-
.../src/themes/inlite/main/ts/ui/Toolbar.ts | 11 +-
.../src/themes/inlite/test/.eslintrc | 0
.../inlite/test/ts/atomic/alien/ArrTest.ts | 4 +-
.../inlite/test/ts/atomic/alien/TypeTest.ts | 0
.../inlite/test/ts/atomic/alien/UuidTest.ts | 0
.../inlite/test/ts/atomic/core/ConvertTest.ts | 0
.../inlite/test/ts/atomic/core/MatcherTest.ts | 0
.../inlite/test/ts/atomic/core/UrlTypeTest.ts | 0
.../test/ts/browser/AutoCompleteTest.ts | 0
.../test/ts/browser/ClosedDialogScrollTest.ts | 0
.../inlite/test/ts/browser/SkinFalseTest.ts | 0
.../inlite/test/ts/browser/ThemeTest.ts | 0
.../test/ts/browser/alien/BookmarkTest.ts | 0
.../ts/browser/alien/EditorSettingsTest.ts | 0
.../test/ts/browser/alien/UnlinkTest.ts | 0
.../test/ts/browser/core/ActionsTest.ts | 0
.../ts/browser/core/ElementMatcherTest.ts | 0
.../inlite/test/ts/browser/core/LayoutTest.ts | 0
.../test/ts/browser/core/MeasureTest.ts | 0
.../test/ts/browser/core/PredicateIdTest.ts | 0
.../ts/browser/core/SelectionMatcherTest.ts | 0
.../test/ts/browser/file/ConversionsTest.ts | 0
.../test/ts/browser/file/SelectionMatcher.ts | 0
.../inlite/test/ts/module/test/Toolbar.ts | 0
.../themes/mobile/demo/html/demo-forms.html | 0
.../themes/mobile/demo/html/demo-sliders.html | 0
.../themes/mobile/demo/html/demo-styles.html | 0
.../src/themes/mobile/demo/html/demo.html | 0
.../src/themes/mobile/demo/ts/demo/Demo.ts | 0
.../src/themes/mobile/demo/ts/demo/Demos.ts | 0
.../themes/mobile/demo/ts/demo/FormDemo.ts | 0
.../themes/mobile/demo/ts/demo/SlidersDemo.ts | 0
.../mobile/demo/ts/demo/StylesMenuDemo.ts | 0
.../src/themes/mobile/main/ts/Theme.ts | 12 +-
.../mobile/main/ts/alien/TinyCodeDupe.ts | 7 +
.../mobile/main/ts/alien/TypeDefinitions.ts | 7 +
.../main/ts/android/core/AndroidEvents.ts | 7 +
.../main/ts/android/core/AndroidMode.ts | 7 +
.../main/ts/android/core/AndroidSetup.ts | 7 +
.../main/ts/android/focus/ResumeEditing.ts | 7 +
.../mobile/main/ts/api/AndroidWebapp.ts | 7 +
.../themes/mobile/main/ts/api/IosWebapp.ts | 7 +
.../themes/mobile/main/ts/api/MobileSchema.ts | 7 +
.../src/themes/mobile/main/ts/api/Settings.ts | 7 +
.../mobile/main/ts/bridge/LinkBridge.ts | 7 +
.../mobile/main/ts/channels/Receivers.ts | 7 +
.../mobile/main/ts/channels/TinyChannels.ts | 7 +
.../main/ts/features/DefaultStyleFormats.ts | 6 +
.../mobile/main/ts/features/Features.ts | 7 +
.../mobile/main/ts/ios/core/IosEvents.ts | 7 +
.../mobile/main/ts/ios/core/IosHacks.ts | 7 +
.../themes/mobile/main/ts/ios/core/IosMode.ts | 7 +
.../mobile/main/ts/ios/core/IosSetup.ts | 7 +
.../mobile/main/ts/ios/core/PlatformEditor.ts | 7 +
.../mobile/main/ts/ios/focus/FakeSelection.ts | 7 +
.../mobile/main/ts/ios/focus/ResumeEditing.ts | 7 +
.../mobile/main/ts/ios/scroll/IosScrolling.ts | 7 +
.../mobile/main/ts/ios/scroll/Scrollables.ts | 7 +
.../main/ts/ios/smooth/BackgroundActivity.ts | 7 +
.../main/ts/ios/smooth/SmoothAnimation.ts | 7 +
.../mobile/main/ts/ios/view/DeviceZones.ts | 7 +
.../themes/mobile/main/ts/ios/view/Devices.ts | 7 +
.../mobile/main/ts/ios/view/Greenzone.ts | 7 +
.../mobile/main/ts/ios/view/IosKeyboard.ts | 7 +
.../mobile/main/ts/ios/view/IosUpdates.ts | 7 +
.../mobile/main/ts/ios/view/IosViewport.ts | 7 +
.../mobile/main/ts/model/SwipingModel.ts | 7 +
.../src/themes/mobile/main/ts/style/Styles.ts | 19 +
.../main/ts/toolbar/ScrollingToolbar.ts | 7 +
.../main/ts/touch/focus/CursorRefresh.ts | 7 +
.../mobile/main/ts/touch/scroll/Scrollable.ts | 7 +
.../mobile/main/ts/touch/view/MetaViewport.ts | 7 +
.../mobile/main/ts/touch/view/Orientation.ts | 7 +
.../main/ts/touch/view/TapToEditMask.ts | 7 +
.../themes/mobile/main/ts/ui/AndroidRealm.ts | 7 +
.../src/themes/mobile/main/ts/ui/Buttons.ts | 7 +
.../themes/mobile/main/ts/ui/ColorSlider.ts | 7 +
.../themes/mobile/main/ts/ui/CommonRealm.ts | 7 +
.../src/themes/mobile/main/ts/ui/Dropup.ts | 7 +
.../mobile/main/ts/ui/FontSizeSlider.ts | 7 +
.../themes/mobile/main/ts/ui/HeadingSlider.ts | 7 +
.../themes/mobile/main/ts/ui/ImagePicker.ts | 7 +
.../src/themes/mobile/main/ts/ui/Inputs.ts | 7 +
.../src/themes/mobile/main/ts/ui/IosRealm.ts | 7 +
.../themes/mobile/main/ts/ui/LinkButton.ts | 7 +
.../mobile/main/ts/ui/OuterContainer.ts | 7 +
.../mobile/main/ts/ui/SerialisedDialog.ts | 7 +
.../themes/mobile/main/ts/ui/SizeSlider.ts | 7 +
.../themes/mobile/main/ts/ui/StylesMenu.ts | 7 +
.../mobile/main/ts/ui/ToolbarWidgets.ts | 7 +
.../themes/mobile/main/ts/util/CaptureBin.ts | 7 +
.../src/themes/mobile/main/ts/util/CssUrls.ts | 7 +
.../mobile/main/ts/util/DataAttributes.ts | 17 +
.../themes/mobile/main/ts/util/FontSizes.ts | 7 +
.../mobile/main/ts/util/FormatChangers.ts | 7 +
.../mobile/main/ts/util/RangePreserver.ts | 7 +
.../themes/mobile/main/ts/util/Rectangles.ts | 7 +
.../themes/mobile/main/ts/util/SkinLoaded.ts | 7 +
.../mobile/main/ts/util/StyleConversions.ts | 7 +
.../mobile/main/ts/util/StyleFormats.ts | 7 +
.../mobile/main/ts/util/TappingEvent.ts | 7 +
.../src/themes/mobile/main/ts/util/Thor.ts | 7 +
.../mobile/main/ts/util/UiDomFactory.ts | 7 +
.../resources/html/index-bootstrap.html | 0
.../themes/mobile/resources/html/index.html | 0
.../src/themes/mobile/test/html/editor.html | 0
.../atomic/smooth/AsyncSmoothAnimationTest.ts | 0
.../ts/atomic/smooth/SmoothAnimationTest.ts | 0
.../ts/atomic/styles/StyleConversionsTest.ts | 0
.../mobile/test/ts/browser/SkinFalseTest.ts | 0
.../mobile/test/ts/browser/ThemeTest.ts | 0
.../browser/features/BasicFormattingTest.ts | 0
.../test/ts/browser/features/ListTest.ts | 0
.../test/ts/browser/features/UnlinkTest.ts | 0
.../test/ts/browser/ios/IosRealmTest.ts | 0
.../mobile/test/ts/browser/ui/ButtonsTest.ts | 0
.../test/ts/browser/ui/FontSizeSliderTest.ts | 0
.../test/ts/browser/ui/SerialisedLinkTest.ts | 0
.../mobile/test/ts/module/test/GuiSetup.ts | 0
.../mobile/test/ts/module/test/TestStore.ts | 0
.../test/ts/module/test/theme/TestTheme.ts | 0
.../test/ts/module/test/ui/TestEditor.ts | 0
.../test/ts/module/test/ui/TestFrameEditor.ts | 0
.../test/ts/module/test/ui/TestSelectors.ts | 0
.../test/ts/module/test/ui/TestStyles.ts | 0
.../mobile/test/ts/module/test/ui/TestUi.ts | 0
.../test/ts/phantom/bridge/LinkBridgeTest.ts | 0
.../ts/phantom/features/FeatureDetectTest.ts | 0
.../phantom/features/IdentifyToolbarTest.ts | 0
.../themes/modern/demo/html/classic_demo.html | 0
.../src/themes/modern/demo/html/demo.html | 0
.../modern/demo/html/notification_demo.html | 0
.../themes/modern/demo/ts/demo/ClassicDemo.ts | 0
.../src/themes/modern/demo/ts/demo/Demo.ts | 0
.../src/themes/modern/demo/ts/demo/Demos.ts | 0
.../modern/demo/ts/demo/NotificationDemo.ts | 0
.../src/themes/modern/main/ts/Theme.ts | 11 +-
.../src/themes/modern/main/ts/api/Events.ts | 11 +-
.../src/themes/modern/main/ts/api/Settings.ts | 11 +-
.../src/themes/modern/main/ts/api/ThemeApi.ts | 11 +-
.../src/themes/modern/main/ts/modes/Iframe.ts | 13 +-
.../src/themes/modern/main/ts/modes/Inline.ts | 11 +-
.../src/themes/modern/main/ts/ui/A11y.ts | 11 +-
.../modern/main/ts/ui/ContextToolbars.ts | 11 +-
.../src/themes/modern/main/ts/ui/Menubar.ts | 11 +-
.../themes/modern/main/ts/ui/ProgressState.ts | 11 +-
.../src/themes/modern/main/ts/ui/Render.ts | 11 +-
.../src/themes/modern/main/ts/ui/Resize.ts | 11 +-
.../src/themes/modern/main/ts/ui/Sidebar.ts | 11 +-
.../themes/modern/main/ts/ui/SkinLoaded.ts | 11 +-
.../src/themes/modern/main/ts/ui/Toolbar.ts | 11 +-
.../src/themes/modern/test/.eslintrc | 0
.../test/ts/browser/BrandingDisabledTest.ts | 0
.../test/ts/browser/BrandingEnabledTest.ts | 0
.../modern/test/ts/browser/DimensionsTest.ts | 0
.../test/ts/browser/HideFloatPanelsTest.ts | 35 +
.../modern/test/ts/browser/SidebarTest.ts | 0
.../test/ts/browser/SkinFalseInlineTest.ts | 0
.../modern/test/ts/browser/SkinFalseTest.ts | 0
.../modern/test/ts/browser/ui/MenubarTest.ts | 0
.../modern/test/ts/module/test/ViewBlock.ts | 0
.../src/ui/main/ts/AbsoluteLayout.ts | 11 +-
.../{editor => }/src/ui/main/ts/Api.ts | 11 +-
.../{editor => }/src/ui/main/ts/BoxUtils.ts | 11 +-
.../src/ui/main/ts/BrowseButton.ts | 11 +-
.../{editor => }/src/ui/main/ts/Button.ts | 11 +-
.../src/ui/main/ts/ButtonGroup.ts | 11 +-
.../{editor => }/src/ui/main/ts/Checkbox.ts | 11 +-
.../{editor => }/src/ui/main/ts/ClassList.ts | 11 +-
.../{editor => }/src/ui/main/ts/Collection.ts | 11 +-
.../{editor => }/src/ui/main/ts/ColorBox.ts | 11 +-
.../src/ui/main/ts/ColorButton.ts | 11 +-
.../src/ui/main/ts/ColorPicker.ts | 11 +-
.../{editor => }/src/ui/main/ts/ComboBox.ts | 11 +-
.../{editor => }/src/ui/main/ts/Container.ts | 11 +-
.../{editor => }/src/ui/main/ts/Control.ts | 11 +-
.../{editor => }/src/ui/main/ts/DomUtils.ts | 11 +-
.../{editor => }/src/ui/main/ts/DragHelper.ts | 11 +-
.../{editor => }/src/ui/main/ts/DropZone.ts | 11 +-
.../src/ui/main/ts/ElementPath.ts | 11 +-
.../{editor => }/src/ui/main/ts/FieldSet.ts | 11 +-
.../{editor => }/src/ui/main/ts/FilePicker.ts | 19 +-
.../{editor => }/src/ui/main/ts/FitLayout.ts | 11 +-
.../{editor => }/src/ui/main/ts/FlexLayout.ts | 11 +-
.../{editor => }/src/ui/main/ts/FloatPanel.ts | 11 +-
.../{editor => }/src/ui/main/ts/FlowLayout.ts | 11 +-
.../{editor => }/src/ui/main/ts/Form.ts | 11 +-
.../{editor => }/src/ui/main/ts/FormItem.ts | 11 +-
.../src/ui/main/ts/FormatControls.ts | 21 +-
.../{editor => }/src/ui/main/ts/GridLayout.ts | 11 +-
.../{editor => }/src/ui/main/ts/Iframe.ts | 11 +-
.../{editor => }/src/ui/main/ts/InfoBox.ts | 11 +-
.../src/ui/main/ts/KeyboardNavigation.ts | 11 +-
.../{editor => }/src/ui/main/ts/Label.ts | 11 +-
.../{editor => }/src/ui/main/ts/Layout.ts | 11 +-
.../{editor => }/src/ui/main/ts/ListBox.ts | 11 +-
.../{editor => }/src/ui/main/ts/Menu.ts | 11 +-
.../{editor => }/src/ui/main/ts/MenuBar.ts | 11 +-
.../{editor => }/src/ui/main/ts/MenuButton.ts | 11 +-
.../{editor => }/src/ui/main/ts/MenuItem.ts | 11 +-
.../{editor => }/src/ui/main/ts/MessageBox.ts | 11 +-
.../{editor => }/src/ui/main/ts/Movable.ts | 11 +-
.../src/ui/main/ts/Notification.ts | 11 +-
.../src/ui/main/ts/NotificationManagerImpl.ts | 11 +-
.../{editor => }/src/ui/main/ts/Panel.ts | 11 +-
.../src/ui/main/ts/PanelButton.ts | 11 +-
.../{editor => }/src/ui/main/ts/Path.ts | 11 +-
.../{editor => }/src/ui/main/ts/Progress.ts | 11 +-
.../{editor => }/src/ui/main/ts/Radio.ts | 11 +-
.../src/ui/main/ts/ReflowQueue.ts | 11 +-
.../{editor => }/src/ui/main/ts/Resizable.ts | 11 +-
.../src/ui/main/ts/ResizeHandle.ts | 11 +-
.../{editor => }/src/ui/main/ts/Scrollable.ts | 11 +-
.../{editor => }/src/ui/main/ts/SelectBox.ts | 11 +-
.../{editor => }/src/ui/main/ts/Selector.ts | 11 +-
.../{editor => }/src/ui/main/ts/Slider.ts | 11 +-
.../{editor => }/src/ui/main/ts/Spacer.ts | 11 +-
.../src/ui/main/ts/SplitButton.ts | 11 +-
.../src/ui/main/ts/StackLayout.ts | 11 +-
.../{editor => }/src/ui/main/ts/TabPanel.ts | 11 +-
.../{editor => }/src/ui/main/ts/TextBox.ts | 11 +-
.../{editor => }/src/ui/main/ts/Throbber.ts | 11 +-
.../{editor => }/src/ui/main/ts/Toolbar.ts | 11 +-
.../{editor => }/src/ui/main/ts/Tooltip.ts | 11 +-
.../src/ui/main/ts/UiContainer.ts | 11 +-
.../{editor => }/src/ui/main/ts/Widget.ts | 11 +-
.../{editor => }/src/ui/main/ts/Window.ts | 11 +-
.../src/ui/main/ts/WindowManagerImpl.ts | 11 +-
.../src/ui/main/ts/content/LinkTargets.ts | 18 +-
.../src/ui/main/ts/data/Binding.ts | 11 +-
.../src/ui/main/ts/data/ObservableArray.ts | 11 +-
.../src/ui/main/ts/data/ObservableObject.ts | 11 +-
.../src/ui/main/ts/editorui/Align.ts | 11 +-
.../src/ui/main/ts/editorui/FontSelect.ts | 11 +-
.../src/ui/main/ts/editorui/FontSizeSelect.ts | 11 +-
.../src/ui/main/ts/editorui/FormatSelect.ts | 11 +-
.../src/ui/main/ts/editorui/FormatUtils.ts | 11 +-
.../src/ui/main/ts/editorui/Formats.ts | 11 +-
.../src/ui/main/ts/editorui/InsertButton.ts | 11 +-
.../src/ui/main/ts/editorui/SimpleControls.ts | 11 +-
.../src/ui/main/ts/editorui/UndoRedo.ts | 11 +-
.../src/ui/main/ts/editorui/VisualAid.ts | 11 +-
.../ui/test/ts/browser/AbsoluteLayoutTest.ts | 0
...BoxUtilsMeasureBoxIframeDisplayNoneTest.ts | 0
.../src/ui/test/ts/browser/ButtonTest.ts | 0
.../src/ui/test/ts/browser/CollectionTest.ts | 0
.../src/ui/test/ts/browser/ColorButtonTest.ts | 0
.../src/ui/test/ts/browser/ControlTest.ts | 4 +
.../src/ui/test/ts/browser/FilePickerTest.ts | 0
.../src/ui/test/ts/browser/FitLayoutTest.ts | 0
.../src/ui/test/ts/browser/FlexLayoutTest.ts | 0
.../src/ui/test/ts/browser/GridLayoutTest.ts | 0
.../src/ui/test/ts/browser/ListBoxTest.ts | 0
.../src/ui/test/ts/browser/MenuButtonTest.ts | 0
.../src/ui/test/ts/browser/PanelTest.ts | 0
.../src/ui/test/ts/browser/SelectorTest.ts | 0
.../src/ui/test/ts/browser/SplitButtonTest.ts | 0
.../src/ui/test/ts/browser/TabPanelTest.ts | 0
.../src/ui/test/ts/browser/TextBoxTest.ts | 0
.../src/ui/test/ts/browser/WindowTest.ts | 0
.../ts/browser/content/LinkTargetsTest.ts | 0
.../ts/browser/data/ObservableObjectTest.ts | 0
.../src/ui/test/ts/module/test/UiUtils.ts | 0
.../src/ui/test/ts/module/test/ViewBlock.ts | 0
tools-ng/tinymce/tinymce.sh | 36 +
.../tools/docs/tinymce.CommandEvent.js | 0
.../tools/docs/tinymce.ContentEvent.js | 0
.../{editor => }/tools/docs/tinymce.Editor.js | 0
.../{editor => }/tools/docs/tinymce.Event.js | 0
.../tools/docs/tinymce.FocusEvent.js | 0
.../tools/docs/tinymce.ProgressStateEvent.js | 0
.../tools/docs/tinymce.ResizeEvent.js | 0
.../{editor => }/tools/docs/tinymce.js | 0
.../{editor => }/tools/modules/grunt-utils.js | 0
.../tools/modules/grunt-webpack.js | 24 +-
.../{editor => }/tools/modules/zip-helper.js | 0
.../{editor => }/tools/tasks/bundle.js | 0
.../{editor => }/tools/tasks/globals.js | 0
.../{editor => }/tools/tasks/moxiezip.js | 0
.../tools/tasks/validateVersion.js | 0
tools-ng/tinymce/{editor => }/tsconfig.json | 3 +-
.../tinymce/{editor => }/tsconfig.plugin.json | 1 +
.../tinymce/{editor => }/tsconfig.theme.json | 1 +
tools-ng/tinymce/{editor => }/tslint.json | 0
1627 files changed, 8802 insertions(+), 8031 deletions(-)
rename tools-ng/tinymce/{editor => }/.gitignore (100%)
create mode 100644 tools-ng/tinymce/Gruntfile.js
rename tools-ng/tinymce/{editor => }/LICENSE.TXT (100%)
rename tools-ng/tinymce/{editor => }/changelog.txt (97%)
delete mode 100644 tools-ng/tinymce/editor/.editorconfig
delete mode 100644 tools-ng/tinymce/editor/.gitattributes
delete mode 100644 tools-ng/tinymce/editor/.github/ISSUE_TEMPLATE.md
delete mode 100644 tools-ng/tinymce/editor/.github/PULL_REQUEST_TEMPLATE.md
delete mode 100644 tools-ng/tinymce/editor/Gruntfile.js
delete mode 100644 tools-ng/tinymce/editor/readme.md
delete mode 100644 tools-ng/tinymce/editor/src/core/main/ts/api/dom/NativeTypes.ts
delete mode 100644 tools-ng/tinymce/editor/src/core/main/ts/keyboard/InputKeys.ts
delete mode 100644 tools-ng/tinymce/editor/src/core/main/ts/newline/InsertNewLine.ts
delete mode 100644 tools-ng/tinymce/editor/src/core/main/ts/selection/GetSelectionContent.ts
delete mode 100644 tools-ng/tinymce/editor/src/core/main/ts/text/Bidi.ts
delete mode 100644 tools-ng/tinymce/editor/src/core/main/ts/util/Fun.ts
delete mode 100644 tools-ng/tinymce/editor/src/core/test/ts/browser/keyboard/SpaceKeyTest.ts
delete mode 100644 tools-ng/tinymce/editor/src/core/test/ts/browser/util/FunTest.ts
delete mode 100644 tools-ng/tinymce/editor/src/plugins/anchor/main/ts/api/Commands.ts
delete mode 100644 tools-ng/tinymce/editor/src/plugins/autoresize/main/ts/api/Commands.ts
delete mode 100644 tools-ng/tinymce/editor/src/plugins/bbcode/main/ts/api/Settings.ts
delete mode 100644 tools-ng/tinymce/editor/src/plugins/charmap/main/ts/api/Commands.ts
delete mode 100644 tools-ng/tinymce/editor/src/plugins/charmap/main/ts/api/Events.ts
delete mode 100644 tools-ng/tinymce/editor/src/plugins/charmap/main/ts/api/Settings.ts
delete mode 100644 tools-ng/tinymce/editor/src/plugins/code/main/ts/api/Commands.ts
delete mode 100644 tools-ng/tinymce/editor/src/plugins/contextmenu/main/ts/api/Api.ts
delete mode 100644 tools-ng/tinymce/editor/src/plugins/fullpage/main/ts/api/Commands.ts
delete mode 100644 tools-ng/tinymce/editor/src/plugins/fullscreen/main/ts/api/Api.ts
delete mode 100644 tools-ng/tinymce/editor/src/plugins/fullscreen/main/ts/api/Events.ts
delete mode 100644 tools-ng/tinymce/editor/src/plugins/help/main/ts/api/Commands.ts
delete mode 100644 tools-ng/tinymce/editor/src/plugins/hr/main/ts/api/Commands.ts
delete mode 100644 tools-ng/tinymce/editor/src/plugins/image/main/ts/api/Commands.ts
delete mode 100644 tools-ng/tinymce/editor/src/plugins/link/main/ts/api/Commands.ts
delete mode 100644 tools-ng/tinymce/editor/src/plugins/link/main/ts/core/Keyboard.ts
delete mode 100644 tools-ng/tinymce/editor/src/plugins/lists/main/ts/actions/Indendation.ts
delete mode 100644 tools-ng/tinymce/editor/src/plugins/lists/main/ts/api/Api.ts
delete mode 100644 tools-ng/tinymce/editor/src/plugins/lists/main/ts/api/Settings.ts
delete mode 100644 tools-ng/tinymce/editor/src/plugins/lists/main/ts/listModel/ComposeList.ts
delete mode 100644 tools-ng/tinymce/editor/src/plugins/lists/main/ts/listModel/Entry.ts
delete mode 100644 tools-ng/tinymce/editor/src/plugins/lists/main/ts/listModel/Indentation.ts
delete mode 100644 tools-ng/tinymce/editor/src/plugins/lists/main/ts/listModel/ListType.ts
delete mode 100644 tools-ng/tinymce/editor/src/plugins/lists/main/ts/listModel/NormalizeEntries.ts
delete mode 100644 tools-ng/tinymce/editor/src/plugins/lists/main/ts/listModel/ParseLists.ts
delete mode 100644 tools-ng/tinymce/editor/src/plugins/lists/main/ts/listModel/Util.ts
delete mode 100644 tools-ng/tinymce/editor/src/plugins/media/main/ts/api/Api.ts
delete mode 100644 tools-ng/tinymce/editor/src/plugins/media/main/ts/api/Commands.ts
delete mode 100644 tools-ng/tinymce/editor/src/plugins/nonbreaking/main/ts/api/Commands.ts
delete mode 100644 tools-ng/tinymce/editor/src/plugins/noneditable/main/ts/Plugin.ts
delete mode 100644 tools-ng/tinymce/editor/src/plugins/paste/main/ts/api/Api.ts
delete mode 100644 tools-ng/tinymce/editor/src/plugins/preview/main/ts/api/Commands.ts
delete mode 100644 tools-ng/tinymce/editor/src/plugins/print/main/ts/api/Commands.ts
delete mode 100644 tools-ng/tinymce/editor/src/plugins/searchreplace/main/ts/api/Commands.ts
delete mode 100644 tools-ng/tinymce/editor/src/plugins/tabfocus/main/ts/Plugin.ts
delete mode 100644 tools-ng/tinymce/editor/src/plugins/textpattern/main/ts/Plugin.ts
delete mode 100644 tools-ng/tinymce/editor/src/plugins/textpattern/main/ts/api/Api.ts
delete mode 100644 tools-ng/tinymce/editor/src/plugins/textpattern/main/ts/api/Settings.ts
delete mode 100644 tools-ng/tinymce/editor/src/plugins/textpattern/main/ts/core/Formatter.ts
delete mode 100644 tools-ng/tinymce/editor/src/plugins/textpattern/main/ts/core/KeyHandler.ts
delete mode 100644 tools-ng/tinymce/editor/src/plugins/textpattern/main/ts/core/Patterns.ts
delete mode 100644 tools-ng/tinymce/editor/src/plugins/toc/main/ts/core/Guid.ts
delete mode 100644 tools-ng/tinymce/editor/src/plugins/visualblocks/main/ts/api/Events.ts
delete mode 100644 tools-ng/tinymce/editor/src/plugins/visualchars/main/ts/api/Api.ts
delete mode 100644 tools-ng/tinymce/editor/src/plugins/visualchars/main/ts/api/Events.ts
delete mode 100644 tools-ng/tinymce/editor/src/plugins/visualchars/main/ts/core/Html.ts
delete mode 100644 tools-ng/tinymce/editor/src/plugins/wordcount/main/ts/alien/Arr.ts
delete mode 100644 tools-ng/tinymce/editor/src/plugins/wordcount/main/ts/api/Api.ts
delete mode 100644 tools-ng/tinymce/editor/src/themes/inlite/main/ts/alien/Arr.ts
delete mode 100644 tools-ng/tinymce/editor/src/themes/mobile/main/ts/style/Styles.ts
delete mode 100644 tools-ng/tinymce/editor/src/themes/mobile/main/ts/util/DataAttributes.ts
rename tools-ng/tinymce/{editor => }/package.json (90%)
create mode 100644 tools-ng/tinymce/plugins/ccm-cms-images/README.md
create mode 100644 tools-ng/tinymce/plugins/ccm-cms-images/config/webpack.config.prod.js
create mode 100644 tools-ng/tinymce/plugins/ccm-cms-images/config/webpack.config.test.js
create mode 100644 tools-ng/tinymce/plugins/ccm-cms-images/package.json
create mode 100644 tools-ng/tinymce/plugins/ccm-cms-images/src/Dialog.ts
create mode 100644 tools-ng/tinymce/plugins/ccm-cms-images/src/LICENSE
create mode 100644 tools-ng/tinymce/plugins/ccm-cms-images/src/index.ts
create mode 100644 tools-ng/tinymce/plugins/ccm-cms-images/src/plugin.ts
create mode 100644 tools-ng/tinymce/plugins/ccm-cms-images/static/index.html
create mode 100644 tools-ng/tinymce/plugins/ccm-cms-images/tsconfig.json
create mode 100644 tools-ng/tinymce/plugins/ccm-cms-images/tslint.json
create mode 100644 tools-ng/tinymce/plugins/ccm-cms-images/typings.json
rename tools-ng/tinymce/{editor => }/src/core/demo/css/content_editable.css (100%)
rename tools-ng/tinymce/{editor => }/src/core/demo/html/annotations_demo.html (100%)
rename tools-ng/tinymce/{editor => }/src/core/demo/html/commands_demo.html (100%)
rename tools-ng/tinymce/{editor => }/src/core/demo/html/content_editable_false_demo.html (100%)
rename tools-ng/tinymce/{editor => }/src/core/demo/html/custom_theme_demo.html (100%)
rename tools-ng/tinymce/{editor => }/src/core/demo/html/full_demo.html (100%)
rename tools-ng/tinymce/{editor => }/src/core/demo/html/jquery_integration.html (100%)
rename tools-ng/tinymce/{editor => }/src/core/demo/html/source_dump_demo.html (100%)
rename tools-ng/tinymce/{editor => }/src/core/demo/html/tiny_demo.html (100%)
rename tools-ng/tinymce/{editor => }/src/core/demo/html/ui_container.html (100%)
rename tools-ng/tinymce/{editor => }/src/core/demo/ts/demo/AnnotationsDemo.ts (100%)
rename tools-ng/tinymce/{editor => }/src/core/demo/ts/demo/CommandsDemo.ts (100%)
rename tools-ng/tinymce/{editor => }/src/core/demo/ts/demo/ContentEditableFalseDemo.ts (100%)
rename tools-ng/tinymce/{editor => }/src/core/demo/ts/demo/CustomThemeDemo.ts (100%)
rename tools-ng/tinymce/{editor => }/src/core/demo/ts/demo/Demos.ts (100%)
rename tools-ng/tinymce/{editor => }/src/core/demo/ts/demo/FullDemo.ts (100%)
rename tools-ng/tinymce/{editor => }/src/core/demo/ts/demo/SourceDumpDemo.ts (100%)
rename tools-ng/tinymce/{editor => }/src/core/demo/ts/demo/TinyMceDemo.ts (100%)
rename tools-ng/tinymce/{editor => }/src/core/demo/ts/demo/UiContainerDemo.ts (100%)
rename tools-ng/tinymce/{editor => }/src/core/main/js/GlobalsTemplate.js (100%)
rename tools-ng/tinymce/{editor => }/src/core/main/js/JqueryIntegration.js (100%)
rename tools-ng/tinymce/{editor => }/src/core/main/json/globals.json (100%)
rename tools-ng/tinymce/{editor => }/src/core/main/text/readme_lang.md (100%)
rename tools-ng/tinymce/{editor => }/src/core/main/ts/DragDropOverrides.ts (94%)
rename tools-ng/tinymce/{editor => }/src/core/main/ts/EditorRemove.ts (91%)
rename tools-ng/tinymce/{editor => }/src/core/main/ts/EditorSettings.ts (96%)
rename tools-ng/tinymce/{editor => }/src/core/main/ts/EditorView.ts (90%)
rename tools-ng/tinymce/{editor => }/src/core/main/ts/ErrorReporter.ts (88%)
rename tools-ng/tinymce/{editor => }/src/core/main/ts/ForceBlocks.ts (93%)
rename tools-ng/tinymce/{editor => }/src/core/main/ts/Mode.ts (88%)
rename tools-ng/tinymce/{editor => }/src/core/main/ts/NodeChange.ts (95%)
rename tools-ng/tinymce/{editor => }/src/core/main/ts/SelectionOverrides.ts (98%)
rename tools-ng/tinymce/{editor => }/src/core/main/ts/annotate/AnnotationChanges.ts (92%)
rename tools-ng/tinymce/{editor => }/src/core/main/ts/annotate/AnnotationContext.ts (86%)
rename tools-ng/tinymce/{editor => }/src/core/main/ts/annotate/AnnotationFilter.ts (76%)
rename tools-ng/tinymce/{editor => }/src/core/main/ts/annotate/AnnotationsRegistry.ts (76%)
rename tools-ng/tinymce/{editor => }/src/core/main/ts/annotate/Identification.ts (90%)
rename tools-ng/tinymce/{editor => }/src/core/main/ts/annotate/Markings.ts (52%)
rename tools-ng/tinymce/{editor => }/src/core/main/ts/annotate/Wrapping.ts (95%)
rename tools-ng/tinymce/{editor => }/src/core/main/ts/api/AddOnManager.ts (97%)
rename tools-ng/tinymce/{editor => }/src/core/main/ts/api/Annotator.ts (93%)
rename tools-ng/tinymce/{editor => }/src/core/main/ts/api/Editor.ts (99%)
rename tools-ng/tinymce/{editor => }/src/core/main/ts/api/EditorCommands.ts (98%)
rename tools-ng/tinymce/{editor => }/src/core/main/ts/api/EditorManager.ts (98%)
rename tools-ng/tinymce/{editor => }/src/core/main/ts/api/EditorObservable.ts (95%)
rename tools-ng/tinymce/{editor => }/src/core/main/ts/api/EditorUpload.ts (96%)
rename tools-ng/tinymce/{editor => }/src/core/main/ts/api/Env.ts (94%)
rename tools-ng/tinymce/{editor => }/src/core/main/ts/api/Events.ts (79%)
rename tools-ng/tinymce/{editor => }/src/core/main/ts/api/FocusManager.ts (80%)
rename tools-ng/tinymce/{editor => }/src/core/main/ts/api/Formatter.ts (96%)
rename tools-ng/tinymce/{editor => }/src/core/main/ts/api/Main.ts (68%)
rename tools-ng/tinymce/{editor => }/src/core/main/ts/api/NotificationManager.ts (93%)
rename tools-ng/tinymce/{editor => }/src/core/main/ts/api/PluginManager.ts (69%)
rename tools-ng/tinymce/{editor => }/src/core/main/ts/api/Settings.ts (94%)
rename tools-ng/tinymce/{editor => }/src/core/main/ts/api/Shortcuts.ts (94%)
rename tools-ng/tinymce/{editor => }/src/core/main/ts/api/ThemeManager.ts (69%)
rename tools-ng/tinymce/{editor => }/src/core/main/ts/api/Tinymce.ts (93%)
rename tools-ng/tinymce/{editor => }/src/core/main/ts/api/UndoManager.ts (97%)
rename tools-ng/tinymce/{editor => }/src/core/main/ts/api/WindowManager.ts (96%)
rename tools-ng/tinymce/{editor => }/src/core/main/ts/api/dom/BookmarkManager.ts (91%)
rename tools-ng/tinymce/{editor => }/src/core/main/ts/api/dom/ControlSelection.ts (98%)
rename tools-ng/tinymce/{editor => }/src/core/main/ts/api/dom/DOMUtils.ts (99%)
rename tools-ng/tinymce/{editor => }/src/core/main/ts/api/dom/DomQuery.ts (99%)
rename tools-ng/tinymce/{editor => }/src/core/main/ts/api/dom/ElementUtils.ts (92%)
rename tools-ng/tinymce/{editor => }/src/core/main/ts/api/dom/EventUtils.ts (98%)
create mode 100644 tools-ng/tinymce/src/core/main/ts/api/dom/NativeTypes.ts
rename tools-ng/tinymce/{editor => }/src/core/main/ts/api/dom/RangeUtils.ts (92%)
rename tools-ng/tinymce/{editor => }/src/core/main/ts/api/dom/ScriptLoader.ts (97%)
rename tools-ng/tinymce/{editor => }/src/core/main/ts/api/dom/Selection.ts (98%)
rename tools-ng/tinymce/{editor => }/src/core/main/ts/api/dom/Serializer.ts (93%)
rename tools-ng/tinymce/{editor => }/src/core/main/ts/api/dom/Sizzle.ts (99%)
rename tools-ng/tinymce/{editor => }/src/core/main/ts/api/dom/TreeWalker.ts (91%)
rename tools-ng/tinymce/{editor => }/src/core/main/ts/api/file/BlobCache.ts (82%)
rename tools-ng/tinymce/{editor => }/src/core/main/ts/api/geom/Rect.ts (95%)
rename tools-ng/tinymce/{editor => }/src/core/main/ts/api/html/DomParser.ts (98%)
rename tools-ng/tinymce/{editor => }/src/core/main/ts/api/html/Entities.ts (97%)
rename tools-ng/tinymce/{editor => }/src/core/main/ts/api/html/Node.ts (98%)
rename tools-ng/tinymce/{editor => }/src/core/main/ts/api/html/SaxParser.ts (98%)
rename tools-ng/tinymce/{editor => }/src/core/main/ts/api/html/Schema.ts (99%)
rename tools-ng/tinymce/{editor => }/src/core/main/ts/api/html/Serializer.ts (93%)
rename tools-ng/tinymce/{editor => }/src/core/main/ts/api/html/Styles.ts (97%)
rename tools-ng/tinymce/{editor => }/src/core/main/ts/api/html/Writer.ts (95%)
rename tools-ng/tinymce/{editor => }/src/core/main/ts/api/ui/Factory.ts (91%)
rename tools-ng/tinymce/{editor => }/src/core/main/ts/api/util/Class.ts (93%)
rename tools-ng/tinymce/{editor => }/src/core/main/ts/api/util/Color.ts (95%)
rename tools-ng/tinymce/{editor => }/src/core/main/ts/api/util/Delay.ts (95%)
rename tools-ng/tinymce/{editor => }/src/core/main/ts/api/util/EventDispatcher.ts (96%)
rename tools-ng/tinymce/{editor => }/src/core/main/ts/api/util/FakeStorage.ts (74%)
rename tools-ng/tinymce/{editor => }/src/core/main/ts/api/util/I18n.ts (92%)
rename tools-ng/tinymce/{editor => }/src/core/main/ts/api/util/JSON.ts (90%)
rename tools-ng/tinymce/{editor => }/src/core/main/ts/api/util/JSONP.ts (69%)
rename tools-ng/tinymce/{editor => }/src/core/main/ts/api/util/JSONRequest.ts (90%)
rename tools-ng/tinymce/{editor => }/src/core/main/ts/api/util/LocalStorage.ts (72%)
rename tools-ng/tinymce/{editor => }/src/core/main/ts/api/util/Observable.ts (93%)
rename tools-ng/tinymce/{editor => }/src/core/main/ts/api/util/Promise.ts (94%)
rename tools-ng/tinymce/{editor => }/src/core/main/ts/api/util/Tools.ts (94%)
rename tools-ng/tinymce/{editor => }/src/core/main/ts/api/util/URI.ts (97%)
rename tools-ng/tinymce/{editor => }/src/core/main/ts/api/util/VK.ts (73%)
rename tools-ng/tinymce/{editor => }/src/core/main/ts/api/util/XHR.ts (92%)
rename tools-ng/tinymce/{editor => }/src/core/main/ts/bookmark/BookmarkTypes.ts (82%)
rename tools-ng/tinymce/{editor => }/src/core/main/ts/bookmark/Bookmarks.ts (78%)
rename tools-ng/tinymce/{editor => }/src/core/main/ts/bookmark/CaretBookmark.ts (85%)
rename tools-ng/tinymce/{editor => }/src/core/main/ts/bookmark/GetBookmark.ts (91%)
rename tools-ng/tinymce/{editor => }/src/core/main/ts/bookmark/ResolveBookmark.ts (97%)
rename tools-ng/tinymce/{editor => }/src/core/main/ts/caret/BlockBoundary.ts (52%)
rename tools-ng/tinymce/{editor => }/src/core/main/ts/caret/CaretBr.ts (83%)
rename tools-ng/tinymce/{editor => }/src/core/main/ts/caret/CaretCandidate.ts (86%)
rename tools-ng/tinymce/{editor => }/src/core/main/ts/caret/CaretContainer.ts (85%)
rename tools-ng/tinymce/{editor => }/src/core/main/ts/caret/CaretContainerInline.ts (89%)
rename tools-ng/tinymce/{editor => }/src/core/main/ts/caret/CaretContainerInput.ts (87%)
rename tools-ng/tinymce/{editor => }/src/core/main/ts/caret/CaretContainerRemove.ts (92%)
rename tools-ng/tinymce/{editor => }/src/core/main/ts/caret/CaretFinder.ts (93%)
rename tools-ng/tinymce/{editor => }/src/core/main/ts/caret/CaretPosition.ts (96%)
rename tools-ng/tinymce/{editor => }/src/core/main/ts/caret/CaretUtils.ts (91%)
rename tools-ng/tinymce/{editor => }/src/core/main/ts/caret/CaretWalker.ts (80%)
rename tools-ng/tinymce/{editor => }/src/core/main/ts/caret/FakeCaret.ts (96%)
rename tools-ng/tinymce/{editor => }/src/core/main/ts/caret/InsertText.ts (82%)
rename tools-ng/tinymce/{editor => }/src/core/main/ts/caret/LineReader.ts (96%)
rename tools-ng/tinymce/{editor => }/src/core/main/ts/caret/LineUtils.ts (88%)
rename tools-ng/tinymce/{editor => }/src/core/main/ts/caret/LineWalker.ts (86%)
rename tools-ng/tinymce/{editor => }/src/core/main/ts/caret/TableCells.ts (93%)
rename tools-ng/tinymce/{editor => }/src/core/main/ts/commands/FontCommands.ts (91%)
rename tools-ng/tinymce/{editor => }/src/core/main/ts/commands/IndentOutdent.ts (89%)
rename tools-ng/tinymce/{editor => }/src/core/main/ts/content/EditorContent.ts (54%)
rename tools-ng/tinymce/{editor => }/src/core/main/ts/content/GetContent.ts (90%)
rename tools-ng/tinymce/{editor => }/src/core/main/ts/content/InsertContent.ts (97%)
rename tools-ng/tinymce/{editor => }/src/core/main/ts/content/InsertList.ts (95%)
rename tools-ng/tinymce/{editor => }/src/core/main/ts/content/NbspTrim.ts (87%)
rename tools-ng/tinymce/{editor => }/src/core/main/ts/content/SetContent.ts (94%)
rename tools-ng/tinymce/{editor => }/src/core/main/ts/delete/BlockBoundaryDelete.ts (73%)
rename tools-ng/tinymce/{editor => }/src/core/main/ts/delete/BlockMergeBoundary.ts (92%)
rename tools-ng/tinymce/{editor => }/src/core/main/ts/delete/BlockRangeDelete.ts (90%)
create mode 100644 tools-ng/tinymce/src/core/main/ts/delete/CefBoundaryDelete.ts
rename tools-ng/tinymce/{editor => }/src/core/main/ts/delete/CefDelete.ts (92%)
rename tools-ng/tinymce/{editor => }/src/core/main/ts/delete/CefDeleteAction.ts (95%)
rename tools-ng/tinymce/{editor => }/src/core/main/ts/delete/DeleteCommands.ts (68%)
rename tools-ng/tinymce/{editor => }/src/core/main/ts/delete/DeleteElement.ts (96%)
rename tools-ng/tinymce/{editor => }/src/core/main/ts/delete/DeleteUtils.ts (89%)
rename tools-ng/tinymce/{editor => }/src/core/main/ts/delete/InlineBoundaryDelete.ts (95%)
rename tools-ng/tinymce/{editor => }/src/core/main/ts/delete/InlineFormatDelete.ts (89%)
rename tools-ng/tinymce/{editor => }/src/core/main/ts/delete/MergeBlocks.ts (93%)
rename tools-ng/tinymce/{editor => }/src/core/main/ts/delete/MergeText.ts (91%)
rename tools-ng/tinymce/{editor => }/src/core/main/ts/delete/TableDelete.ts (95%)
rename tools-ng/tinymce/{editor => }/src/core/main/ts/delete/TableDeleteAction.ts (94%)
rename tools-ng/tinymce/{editor => }/src/core/main/ts/dom/Dimensions.ts (74%)
rename tools-ng/tinymce/{editor => }/src/core/main/ts/dom/DomSerializer.ts (93%)
rename tools-ng/tinymce/{editor => }/src/core/main/ts/dom/DomSerializerFilters.ts (96%)
rename tools-ng/tinymce/{editor => }/src/core/main/ts/dom/DomSerializerPreProcess.ts (86%)
rename tools-ng/tinymce/{editor => }/src/core/main/ts/dom/ElementType.ts (89%)
rename tools-ng/tinymce/{editor => }/src/core/main/ts/dom/Empty.ts (89%)
rename tools-ng/tinymce/{editor => }/src/core/main/ts/dom/MousePosition.ts (89%)
rename tools-ng/tinymce/{editor => }/src/core/main/ts/dom/NodePath.ts (75%)
rename tools-ng/tinymce/{editor => }/src/core/main/ts/dom/NodeType.ts (86%)
rename tools-ng/tinymce/{editor => }/src/core/main/ts/dom/PaddingBr.ts (86%)
rename tools-ng/tinymce/{editor => }/src/core/main/ts/dom/Parents.ts (76%)
rename tools-ng/tinymce/{editor => }/src/core/main/ts/dom/Position.ts (91%)
rename tools-ng/tinymce/{editor => }/src/core/main/ts/dom/RangePoint.ts (62%)
rename tools-ng/tinymce/{editor => }/src/core/main/ts/dom/ScrollIntoView.ts (92%)
rename tools-ng/tinymce/{editor => }/src/core/main/ts/dom/StyleSheetLoader.ts (96%)
rename tools-ng/tinymce/{editor => }/src/core/main/ts/dom/TrimHtml.ts (85%)
rename tools-ng/tinymce/{editor => }/src/core/main/ts/dom/TrimNode.ts (90%)
rename tools-ng/tinymce/{editor => }/src/core/main/ts/file/Conversions.ts (91%)
rename tools-ng/tinymce/{editor => }/src/core/main/ts/file/ImageScanner.ts (90%)
rename tools-ng/tinymce/{editor => }/src/core/main/ts/file/UploadStatus.ts (85%)
rename tools-ng/tinymce/{editor => }/src/core/main/ts/file/Uploader.ts (95%)
rename tools-ng/tinymce/{editor => }/src/core/main/ts/fmt/ApplyFormat.ts (97%)
rename tools-ng/tinymce/{editor => }/src/core/main/ts/fmt/CaretFormat.ts (97%)
rename tools-ng/tinymce/{editor => }/src/core/main/ts/fmt/DefaultFormats.ts (95%)
rename tools-ng/tinymce/{editor => }/src/core/main/ts/fmt/ExpandRange.ts (98%)
rename tools-ng/tinymce/{editor => }/src/core/main/ts/fmt/FontInfo.ts (88%)
rename tools-ng/tinymce/{editor => }/src/core/main/ts/fmt/FormatChanged.ts (90%)
rename tools-ng/tinymce/{editor => }/src/core/main/ts/fmt/FormatContainer.ts (65%)
rename tools-ng/tinymce/{editor => }/src/core/main/ts/fmt/FormatRegistry.ts (88%)
rename tools-ng/tinymce/{editor => }/src/core/main/ts/fmt/FormatUtils.ts (94%)
rename tools-ng/tinymce/{editor => }/src/core/main/ts/fmt/Hooks.ts (70%)
rename tools-ng/tinymce/{editor => }/src/core/main/ts/fmt/MatchFormat.ts (95%)
rename tools-ng/tinymce/{editor => }/src/core/main/ts/fmt/MergeFormats.ts (96%)
rename tools-ng/tinymce/{editor => }/src/core/main/ts/fmt/Preview.ts (97%)
rename tools-ng/tinymce/{editor => }/src/core/main/ts/fmt/RemoveFormat.ts (90%)
rename tools-ng/tinymce/{editor => }/src/core/main/ts/fmt/ToggleFormat.ts (66%)
rename tools-ng/tinymce/{editor => }/src/core/main/ts/focus/CefFocus.ts (72%)
rename tools-ng/tinymce/{editor => }/src/core/main/ts/focus/EditorFocus.ts (94%)
rename tools-ng/tinymce/{editor => }/src/core/main/ts/focus/FocusController.ts (93%)
rename tools-ng/tinymce/{editor => }/src/core/main/ts/geom/ClientRect.ts (92%)
rename tools-ng/tinymce/{editor => }/src/core/main/ts/html/FilterNode.ts (89%)
rename tools-ng/tinymce/{editor => }/src/core/main/ts/html/LegacyFilter.ts (87%)
rename tools-ng/tinymce/{editor => }/src/core/main/ts/html/ParserFilters.ts (96%)
rename tools-ng/tinymce/{editor => }/src/core/main/ts/html/ParserUtils.ts (82%)
rename tools-ng/tinymce/{editor => }/src/core/main/ts/init/Init.ts (95%)
rename tools-ng/tinymce/{editor => }/src/core/main/ts/init/InitContentBody.ts (97%)
rename tools-ng/tinymce/{editor => }/src/core/main/ts/init/InitIframe.ts (94%)
rename tools-ng/tinymce/{editor => }/src/core/main/ts/init/Render.ts (96%)
rename tools-ng/tinymce/{editor => }/src/core/main/ts/keyboard/ArrowKeys.ts (77%)
rename tools-ng/tinymce/{editor => }/src/core/main/ts/keyboard/BoundaryCaret.ts (90%)
rename tools-ng/tinymce/{editor => }/src/core/main/ts/keyboard/BoundaryLocation.ts (96%)
rename tools-ng/tinymce/{editor => }/src/core/main/ts/keyboard/BoundarySelection.ts (94%)
rename tools-ng/tinymce/{editor => }/src/core/main/ts/keyboard/CefNavigation.ts (75%)
rename tools-ng/tinymce/{editor => }/src/core/main/ts/keyboard/CefUtils.ts (90%)
create mode 100644 tools-ng/tinymce/src/core/main/ts/keyboard/ContentEndpointNavigation.ts
rename tools-ng/tinymce/{editor => }/src/core/main/ts/keyboard/DeleteBackspaceKeys.ts (84%)
rename tools-ng/tinymce/{editor => }/src/core/main/ts/keyboard/EnterKey.ts (73%)
rename tools-ng/tinymce/{editor => }/src/core/main/ts/keyboard/FormatShortcuts.ts (71%)
rename tools-ng/tinymce/{editor => }/src/core/main/ts/keyboard/InlineUtils.ts (91%)
create mode 100644 tools-ng/tinymce/src/core/main/ts/keyboard/InputKeys.ts
rename tools-ng/tinymce/{editor => }/src/core/main/ts/keyboard/InsertSpace.ts (85%)
rename tools-ng/tinymce/{editor => }/src/core/main/ts/keyboard/KeyboardOverrides.ts (74%)
rename tools-ng/tinymce/{editor => }/src/core/main/ts/keyboard/MatchKeys.ts (85%)
rename tools-ng/tinymce/{editor => }/src/core/main/ts/keyboard/Nbsps.ts (87%)
rename tools-ng/tinymce/{editor => }/src/core/main/ts/keyboard/SpaceKey.ts (76%)
rename tools-ng/tinymce/{editor => }/src/core/main/ts/keyboard/TableNavigation.ts (96%)
rename tools-ng/tinymce/{editor => }/src/core/main/ts/newline/ContextSelectors.ts (73%)
rename tools-ng/tinymce/{editor => }/src/core/main/ts/newline/InsertBlock.ts (93%)
rename tools-ng/tinymce/{editor => }/src/core/main/ts/newline/InsertBr.ts (89%)
rename tools-ng/tinymce/{editor => }/src/core/main/ts/newline/InsertLi.ts (93%)
create mode 100644 tools-ng/tinymce/src/core/main/ts/newline/InsertNewLine.ts
rename tools-ng/tinymce/{editor => }/src/core/main/ts/newline/NewLineAction.ts (92%)
rename tools-ng/tinymce/{editor => }/src/core/main/ts/newline/NewLineUtils.ts (92%)
rename tools-ng/tinymce/{editor => }/src/core/main/ts/selection/CaretRangeFromPoint.ts (90%)
rename tools-ng/tinymce/{editor => }/src/core/main/ts/selection/DetailsElement.ts (80%)
rename tools-ng/tinymce/{editor => }/src/core/main/ts/selection/ElementSelection.ts (95%)
rename tools-ng/tinymce/{editor => }/src/core/main/ts/selection/EventProcessRanges.ts (59%)
rename tools-ng/tinymce/{editor => }/src/core/main/ts/selection/FragmentReader.ts (93%)
create mode 100644 tools-ng/tinymce/src/core/main/ts/selection/GetSelectionContent.ts
rename tools-ng/tinymce/{editor => }/src/core/main/ts/selection/MultiClickSelection.ts (86%)
rename tools-ng/tinymce/{editor => }/src/core/main/ts/selection/MultiRange.ts (74%)
rename tools-ng/tinymce/{editor => }/src/core/main/ts/selection/NormalizeRange.ts (97%)
rename tools-ng/tinymce/{editor => }/src/core/main/ts/selection/RangeCompare.ts (58%)
create mode 100644 tools-ng/tinymce/src/core/main/ts/selection/RangeInsertNode.ts
rename tools-ng/tinymce/{editor => }/src/core/main/ts/selection/RangeNodes.ts (74%)
rename tools-ng/tinymce/{editor => }/src/core/main/ts/selection/RangeNormalizer.ts (86%)
rename tools-ng/tinymce/{editor => }/src/core/main/ts/selection/RangeWalk.ts (94%)
rename tools-ng/tinymce/{editor => }/src/core/main/ts/selection/SelectionBookmark.ts (92%)
rename tools-ng/tinymce/{editor => }/src/core/main/ts/selection/SelectionRestore.ts (87%)
rename tools-ng/tinymce/{editor => }/src/core/main/ts/selection/SelectionUtils.ts (93%)
rename tools-ng/tinymce/{editor => }/src/core/main/ts/selection/SetSelectionContent.ts (91%)
rename tools-ng/tinymce/{editor => }/src/core/main/ts/selection/SimpleTableModel.ts (94%)
rename tools-ng/tinymce/{editor => }/src/core/main/ts/selection/SplitRange.ts (86%)
rename tools-ng/tinymce/{editor => }/src/core/main/ts/selection/TableCellSelection.ts (80%)
rename tools-ng/tinymce/{editor => }/src/core/main/ts/selection/WordSelection.ts (84%)
create mode 100644 tools-ng/tinymce/src/core/main/ts/text/Bidi.ts
rename tools-ng/tinymce/{editor => }/src/core/main/ts/text/CharType.ts (55%)
rename tools-ng/tinymce/{editor => }/src/core/main/ts/text/ExtendingChar.ts (92%)
rename tools-ng/tinymce/{editor => }/src/core/main/ts/text/Zwsp.ts (68%)
rename tools-ng/tinymce/{editor => }/src/core/main/ts/ui/NotificationManagerImpl.ts (54%)
rename tools-ng/tinymce/{editor => }/src/core/main/ts/ui/Sidebar.ts (57%)
rename tools-ng/tinymce/{editor => }/src/core/main/ts/ui/WindowManagerImpl.ts (58%)
rename tools-ng/tinymce/{editor => }/src/core/main/ts/undo/Diff.ts (93%)
rename tools-ng/tinymce/{editor => }/src/core/main/ts/undo/Fragments.ts (82%)
rename tools-ng/tinymce/{editor => }/src/core/main/ts/undo/Levels.ts (93%)
rename tools-ng/tinymce/{editor/src/core/main/ts/util/Arr.ts => src/core/main/ts/util/ArrUtils.ts} (90%)
rename tools-ng/tinymce/{editor => }/src/core/main/ts/util/LazyEvaluator.ts (55%)
create mode 100644 tools-ng/tinymce/src/core/main/ts/util/Predicate.ts
rename tools-ng/tinymce/{editor => }/src/core/main/ts/util/Private.ts (79%)
rename tools-ng/tinymce/{editor => }/src/core/main/ts/util/Quirks.ts (99%)
rename tools-ng/tinymce/{editor => }/src/core/main/ts/util/Uuid.ts (63%)
rename tools-ng/tinymce/{editor => }/src/core/test/css/ui-overrides.css (100%)
rename tools-ng/tinymce/{editor => }/src/core/test/json/routes.json (100%)
rename tools-ng/tinymce/{editor => }/src/core/test/ts/.eslintrc (100%)
rename tools-ng/tinymce/{editor => }/src/core/test/ts/atomic/keyboard/MatchKeysTest.ts (100%)
rename tools-ng/tinymce/{editor => }/src/core/test/ts/atomic/keyboard/NbspsTest.ts (100%)
rename tools-ng/tinymce/{editor => }/src/core/test/ts/atomic/text/BidiTest.ts (100%)
rename tools-ng/tinymce/{editor => }/src/core/test/ts/atomic/text/ExtendingCharTest.ts (100%)
rename tools-ng/tinymce/{editor => }/src/core/test/ts/atomic/text/ZwspTest.ts (100%)
rename tools-ng/tinymce/{editor => }/src/core/test/ts/atomic/util/LazyEvaluatorTest.ts (100%)
create mode 100644 tools-ng/tinymce/src/core/test/ts/atomic/util/PredicateTest.ts
rename tools-ng/tinymce/{editor => }/src/core/test/ts/browser/AddOnManagerTest.ts (100%)
rename tools-ng/tinymce/{editor => }/src/core/test/ts/browser/ClickContentEditableFalseTest.ts (100%)
rename tools-ng/tinymce/{editor => }/src/core/test/ts/browser/DragDropOverridesTest.ts (100%)
rename tools-ng/tinymce/{editor => }/src/core/test/ts/browser/EditorForcedSettingsTest.ts (100%)
rename tools-ng/tinymce/{editor => }/src/core/test/ts/browser/EditorManagerTest.ts (100%)
rename tools-ng/tinymce/{editor => }/src/core/test/ts/browser/EditorRemoveTest.ts (100%)
rename tools-ng/tinymce/{editor => }/src/core/test/ts/browser/EditorRemovedApiTest.ts (100%)
rename tools-ng/tinymce/{editor => }/src/core/test/ts/browser/EditorRtlTest.ts (100%)
rename tools-ng/tinymce/{editor => }/src/core/test/ts/browser/EditorSettingsTest.ts (100%)
rename tools-ng/tinymce/{editor => }/src/core/test/ts/browser/EditorTest.ts (100%)
rename tools-ng/tinymce/{editor => }/src/core/test/ts/browser/EditorUploadTest.ts (100%)
rename tools-ng/tinymce/{editor => }/src/core/test/ts/browser/EditorViewIframeTest.ts (100%)
rename tools-ng/tinymce/{editor => }/src/core/test/ts/browser/EditorViewInlineTest.ts (100%)
rename tools-ng/tinymce/{editor => }/src/core/test/ts/browser/FontSelectTest.ts (100%)
rename tools-ng/tinymce/{editor => }/src/core/test/ts/browser/ForceBlocksTest.ts (100%)
rename tools-ng/tinymce/{editor => }/src/core/test/ts/browser/FormatterApplyTest.ts (100%)
rename tools-ng/tinymce/{editor => }/src/core/test/ts/browser/FormatterCheckTest.ts (100%)
rename tools-ng/tinymce/{editor => }/src/core/test/ts/browser/FormatterRemoveTest.ts (96%)
rename tools-ng/tinymce/{editor => }/src/core/test/ts/browser/FormattingCommandsTest.ts (100%)
rename tools-ng/tinymce/{editor => }/src/core/test/ts/browser/InlineEditorRemoveTest.ts (100%)
rename tools-ng/tinymce/{editor => }/src/core/test/ts/browser/InlineEditorSaveTest.ts (100%)
rename tools-ng/tinymce/{editor => }/src/core/test/ts/browser/JqueryIntegrationTest.disabled (100%)
rename tools-ng/tinymce/{editor => }/src/core/test/ts/browser/MiscCommandsTest.ts (100%)
rename tools-ng/tinymce/{editor => }/src/core/test/ts/browser/ModeTest.ts (100%)
rename tools-ng/tinymce/{editor => }/src/core/test/ts/browser/NotificationManagerTest.ts (100%)
rename tools-ng/tinymce/{editor => }/src/core/test/ts/browser/SelectionOverridesTest.ts (100%)
rename tools-ng/tinymce/{editor => }/src/core/test/ts/browser/ShortcutsTest.ts (84%)
rename tools-ng/tinymce/{editor => }/src/core/test/ts/browser/UndoManagerTest.ts (100%)
rename tools-ng/tinymce/{editor => }/src/core/test/ts/browser/WindowManagerTest.ts (100%)
rename tools-ng/tinymce/{editor => }/src/core/test/ts/browser/annotate/AnnotateTest.ts (100%)
rename tools-ng/tinymce/{editor => }/src/core/test/ts/browser/annotate/AnnotationChangedTest.ts (100%)
rename tools-ng/tinymce/{editor => }/src/core/test/ts/browser/annotate/AnnotationPersistenceTest.ts (100%)
rename tools-ng/tinymce/{editor => }/src/core/test/ts/browser/annotate/AnnotationRemovedTest.ts (100%)
rename tools-ng/tinymce/{editor => }/src/core/test/ts/browser/api/SettingsTest.ts (100%)
rename tools-ng/tinymce/{editor => }/src/core/test/ts/browser/api/dom/RangeUtilsTest.ts (100%)
rename tools-ng/tinymce/{editor => }/src/core/test/ts/browser/bookmark/BookmarksTest.ts (100%)
rename tools-ng/tinymce/{editor => }/src/core/test/ts/browser/bookmark/CaretBookmarkTest.ts (100%)
rename tools-ng/tinymce/{editor => }/src/core/test/ts/browser/caret/CaretCandidateTest.ts (100%)
rename tools-ng/tinymce/{editor => }/src/core/test/ts/browser/caret/CaretContainerRemoveTest.ts (100%)
rename tools-ng/tinymce/{editor => }/src/core/test/ts/browser/caret/CaretContainerTest.ts (91%)
rename tools-ng/tinymce/{editor => }/src/core/test/ts/browser/caret/CaretFinderTest.ts (100%)
rename tools-ng/tinymce/{editor => }/src/core/test/ts/browser/caret/CaretPositionTest.ts (100%)
rename tools-ng/tinymce/{editor => }/src/core/test/ts/browser/caret/CaretUtilsTest.ts (100%)
rename tools-ng/tinymce/{editor => }/src/core/test/ts/browser/caret/CaretWalkerTest.ts (97%)
rename tools-ng/tinymce/{editor => }/src/core/test/ts/browser/caret/FakeCaretTest.ts (100%)
rename tools-ng/tinymce/{editor => }/src/core/test/ts/browser/caret/FirefoxFakeCaretBeforeTableTypeTest.ts (100%)
rename tools-ng/tinymce/{editor => }/src/core/test/ts/browser/caret/LineReaderTest.ts (100%)
rename tools-ng/tinymce/{editor => }/src/core/test/ts/browser/caret/LineUtilsTest.ts (100%)
rename tools-ng/tinymce/{editor => }/src/core/test/ts/browser/caret/LineWalkerTest.ts (100%)
rename tools-ng/tinymce/{editor => }/src/core/test/ts/browser/caret/TableCellsTest.ts (100%)
rename tools-ng/tinymce/{editor => }/src/core/test/ts/browser/content/EditorContentNotInitializedTest.ts (100%)
rename tools-ng/tinymce/{editor => }/src/core/test/ts/browser/content/EditorContentTest.ts (100%)
rename tools-ng/tinymce/{editor => }/src/core/test/ts/browser/content/EditorContentWsTest.ts (100%)
rename tools-ng/tinymce/{editor => }/src/core/test/ts/browser/content/EditorGetContentTextFormatTest.ts (100%)
rename tools-ng/tinymce/{editor => }/src/core/test/ts/browser/content/EditorGetContentTreeTest.ts (100%)
rename tools-ng/tinymce/{editor => }/src/core/test/ts/browser/content/InsertContentCommandTest.ts (100%)
rename tools-ng/tinymce/{editor => }/src/core/test/ts/browser/content/InsertContentForcedRootFalseTest.ts (100%)
rename tools-ng/tinymce/{editor => }/src/core/test/ts/browser/content/InsertContentTest.ts (100%)
rename tools-ng/tinymce/{editor => }/src/core/test/ts/browser/content/InsertContentWebKitBugs.ts (100%)
rename tools-ng/tinymce/{editor => }/src/core/test/ts/browser/content/InsertListTest.ts (100%)
rename tools-ng/tinymce/{editor => }/src/core/test/ts/browser/delete/BlockBoundaryDeleteTest.ts (100%)
rename tools-ng/tinymce/{editor => }/src/core/test/ts/browser/delete/BlockMergeBoundaryTest.ts (100%)
rename tools-ng/tinymce/{editor => }/src/core/test/ts/browser/delete/BlockRangeDeleteTest.ts (100%)
create mode 100644 tools-ng/tinymce/src/core/test/ts/browser/delete/CefBoundaryDeleteTest.ts
rename tools-ng/tinymce/{editor => }/src/core/test/ts/browser/delete/CefDeleteActionTest.ts (100%)
rename tools-ng/tinymce/{editor => }/src/core/test/ts/browser/delete/CefDeleteTest.ts (100%)
rename tools-ng/tinymce/{editor => }/src/core/test/ts/browser/delete/DeleteCommandsTest.ts (100%)
rename tools-ng/tinymce/{editor => }/src/core/test/ts/browser/delete/DeleteElementTest.ts (100%)
rename tools-ng/tinymce/{editor => }/src/core/test/ts/browser/delete/DeleteUtilsTest.ts (100%)
rename tools-ng/tinymce/{editor => }/src/core/test/ts/browser/delete/InlineBoundaryDeleteTest.ts (100%)
rename tools-ng/tinymce/{editor => }/src/core/test/ts/browser/delete/InlineFormatDeleteTest.ts (100%)
rename tools-ng/tinymce/{editor => }/src/core/test/ts/browser/delete/MergeBlocksTest.ts (100%)
rename tools-ng/tinymce/{editor => }/src/core/test/ts/browser/delete/TableDeleteActionTest.ts (100%)
rename tools-ng/tinymce/{editor => }/src/core/test/ts/browser/delete/TableDeleteTest.ts (100%)
rename tools-ng/tinymce/{editor => }/src/core/test/ts/browser/dom/ContentCssCorsTest.ts (100%)
rename tools-ng/tinymce/{editor => }/src/core/test/ts/browser/dom/ControlSelectionTest.ts (100%)
rename tools-ng/tinymce/{editor => }/src/core/test/ts/browser/dom/DimensionsTest.ts (82%)
rename tools-ng/tinymce/{editor => }/src/core/test/ts/browser/dom/DomUtilsTest.ts (100%)
rename tools-ng/tinymce/{editor => }/src/core/test/ts/browser/dom/ElementTypeTest.ts (100%)
rename tools-ng/tinymce/{editor => }/src/core/test/ts/browser/dom/EmptyTest.ts (100%)
rename tools-ng/tinymce/{editor => }/src/core/test/ts/browser/dom/EventUtilsTest.ts (100%)
rename tools-ng/tinymce/{editor => }/src/core/test/ts/browser/dom/NodePathTest.ts (100%)
rename tools-ng/tinymce/{editor => }/src/core/test/ts/browser/dom/NodeTypeTest.ts (100%)
rename tools-ng/tinymce/{editor => }/src/core/test/ts/browser/dom/PaddingBrTest.ts (100%)
rename tools-ng/tinymce/{editor => }/src/core/test/ts/browser/dom/ParentsTest.ts (100%)
rename tools-ng/tinymce/{editor => }/src/core/test/ts/browser/dom/ScrollIntoViewTest.ts (100%)
rename tools-ng/tinymce/{editor => }/src/core/test/ts/browser/dom/SelectionEventsTest.ts (100%)
rename tools-ng/tinymce/{editor => }/src/core/test/ts/browser/dom/SelectionQuirksTest.ts (100%)
rename tools-ng/tinymce/{editor => }/src/core/test/ts/browser/dom/SelectionTest.ts (100%)
rename tools-ng/tinymce/{editor => }/src/core/test/ts/browser/dom/SerializerEventsTest.ts (100%)
rename tools-ng/tinymce/{editor => }/src/core/test/ts/browser/dom/SerializerTest.ts (100%)
rename tools-ng/tinymce/{editor => }/src/core/test/ts/browser/dom/TreeWalkerTest.ts (100%)
rename tools-ng/tinymce/{editor => }/src/core/test/ts/browser/dom/TrimHtmlTest.ts (100%)
rename tools-ng/tinymce/{editor => }/src/core/test/ts/browser/dom/TrimNodeTest.ts (100%)
rename tools-ng/tinymce/{editor => }/src/core/test/ts/browser/file/BlobCacheTest.ts (100%)
rename tools-ng/tinymce/{editor => }/src/core/test/ts/browser/file/ConversionsTest.ts (100%)
rename tools-ng/tinymce/{editor => }/src/core/test/ts/browser/file/ImageScannerTest.ts (100%)
rename tools-ng/tinymce/{editor => }/src/core/test/ts/browser/file/UploadStatusTest.ts (100%)
rename tools-ng/tinymce/{editor => }/src/core/test/ts/browser/fmt/BlockFormatsTest.ts (100%)
rename tools-ng/tinymce/{editor => }/src/core/test/ts/browser/fmt/CaretFormatTest.ts (100%)
rename tools-ng/tinymce/{editor => }/src/core/test/ts/browser/fmt/ExpandRangeTest.ts (100%)
rename tools-ng/tinymce/{editor => }/src/core/test/ts/browser/fmt/FontInfoTest.ts (100%)
rename tools-ng/tinymce/{editor => }/src/core/test/ts/browser/fmt/FontsizeFormatTest.ts (100%)
rename tools-ng/tinymce/{editor => }/src/core/test/ts/browser/fmt/FormatChangeSelectionTest.ts (100%)
rename tools-ng/tinymce/{editor => }/src/core/test/ts/browser/fmt/HooksTest.ts (100%)
rename tools-ng/tinymce/{editor => }/src/core/test/ts/browser/fmt/PreviewTest.ts (100%)
rename tools-ng/tinymce/{editor => }/src/core/test/ts/browser/fmt/RemoveFormatTest.ts (100%)
rename tools-ng/tinymce/{editor => }/src/core/test/ts/browser/fmt/RemoveTrailingWhitespaceFormatTest.ts (100%)
rename tools-ng/tinymce/{editor => }/src/core/test/ts/browser/focus/CefFocusTest.ts (100%)
rename tools-ng/tinymce/{editor => }/src/core/test/ts/browser/focus/EditorFocusTest.ts (100%)
rename tools-ng/tinymce/{editor => }/src/core/test/ts/browser/focus/FocusControllerTest.ts (100%)
rename tools-ng/tinymce/{editor => }/src/core/test/ts/browser/geom/ClientRectTest.ts (100%)
rename tools-ng/tinymce/{editor => }/src/core/test/ts/browser/geom/RectTest.ts (100%)
rename tools-ng/tinymce/{editor => }/src/core/test/ts/browser/html/DomParserTest.ts (96%)
rename tools-ng/tinymce/{editor => }/src/core/test/ts/browser/html/EntitiesTest.ts (100%)
rename tools-ng/tinymce/{editor => }/src/core/test/ts/browser/html/NodeTest.ts (100%)
rename tools-ng/tinymce/{editor => }/src/core/test/ts/browser/html/SaxParserTest.ts (100%)
rename tools-ng/tinymce/{editor => }/src/core/test/ts/browser/html/SchemaTest.ts (100%)
rename tools-ng/tinymce/{editor => }/src/core/test/ts/browser/html/SerializerTest.ts (100%)
rename tools-ng/tinymce/{editor => }/src/core/test/ts/browser/html/StylesTest.ts (100%)
rename tools-ng/tinymce/{editor => }/src/core/test/ts/browser/html/WriterTest.ts (100%)
rename tools-ng/tinymce/{editor => }/src/core/test/ts/browser/init/ContentStylePositionTest.ts (100%)
rename tools-ng/tinymce/{editor => }/src/core/test/ts/browser/init/EditorCustomThemeTest.ts (100%)
rename tools-ng/tinymce/{editor => }/src/core/test/ts/browser/init/EditorInitializationTest.ts (100%)
rename tools-ng/tinymce/{editor => }/src/core/test/ts/browser/init/InitEditorNoThemeIframeTest.ts (100%)
rename tools-ng/tinymce/{editor => }/src/core/test/ts/browser/init/InitEditorNoThemeInlineTest.ts (100%)
rename tools-ng/tinymce/{editor => }/src/core/test/ts/browser/init/InitEditorOnHiddenElementTest.ts (100%)
rename tools-ng/tinymce/{editor => }/src/core/test/ts/browser/init/InitEditorThemeFunctionIframeTest.ts (100%)
rename tools-ng/tinymce/{editor => }/src/core/test/ts/browser/init/InitEditorThemeFunctionInlineTest.ts (100%)
rename tools-ng/tinymce/{editor => }/src/core/test/ts/browser/init/InitIframeEditorWithCustomAttrsTest.ts (100%)
rename tools-ng/tinymce/{editor => }/src/core/test/ts/browser/keyboard/ArrowKeysAnchorTest.ts (100%)
create mode 100644 tools-ng/tinymce/src/core/test/ts/browser/keyboard/ArrowKeysContentEndpointBrModeTest.ts
create mode 100644 tools-ng/tinymce/src/core/test/ts/browser/keyboard/ArrowKeysContentEndpointTest.ts
rename tools-ng/tinymce/{editor => }/src/core/test/ts/browser/keyboard/ArrowKeysInlineBoundariesTest.ts (100%)
rename tools-ng/tinymce/{editor => }/src/core/test/ts/browser/keyboard/ArrowKeysTableTest.ts (100%)
rename tools-ng/tinymce/{editor => }/src/core/test/ts/browser/keyboard/BoundaryCaretTest.ts (100%)
rename tools-ng/tinymce/{editor => }/src/core/test/ts/browser/keyboard/BoundaryLocationTest.ts (100%)
rename tools-ng/tinymce/{editor => }/src/core/test/ts/browser/keyboard/EnterKeyAnchorTest.ts (97%)
rename tools-ng/tinymce/{editor => }/src/core/test/ts/browser/keyboard/EnterKeyCeFalseTest.ts (100%)
rename tools-ng/tinymce/{editor => }/src/core/test/ts/browser/keyboard/EnterKeyHrTest.ts (100%)
rename tools-ng/tinymce/{editor => }/src/core/test/ts/browser/keyboard/EnterKeyInlineTest.ts (100%)
rename tools-ng/tinymce/{editor => }/src/core/test/ts/browser/keyboard/EnterKeyListsTest.ts (100%)
rename tools-ng/tinymce/{editor => }/src/core/test/ts/browser/keyboard/EnterKeyTest.ts (100%)
rename tools-ng/tinymce/{editor => }/src/core/test/ts/browser/keyboard/InlineUtilsTest.ts (100%)
create mode 100644 tools-ng/tinymce/src/core/test/ts/browser/keyboard/InsertKeysBrModeTest.ts
rename tools-ng/tinymce/{editor => }/src/core/test/ts/browser/keyboard/InsertKeysTest.ts (89%)
create mode 100644 tools-ng/tinymce/src/core/test/ts/browser/keyboard/SpaceKeyTest.ts
rename tools-ng/tinymce/{editor => }/src/core/test/ts/browser/keyboard/TableNavigationTest.ts (100%)
rename tools-ng/tinymce/{editor => }/src/core/test/ts/browser/keyboard/TypeTextAtCefTest.ts (74%)
rename tools-ng/tinymce/{editor => }/src/core/test/ts/browser/newline/InsertBrTest.ts (82%)
rename tools-ng/tinymce/{editor => }/src/core/test/ts/browser/newline/InsertNewLineTest.ts (82%)
rename tools-ng/tinymce/{editor => }/src/core/test/ts/browser/selection/DetailsElementTest.ts (100%)
rename tools-ng/tinymce/{editor => }/src/core/test/ts/browser/selection/FragmentReaderTest.ts (100%)
rename tools-ng/tinymce/{editor => }/src/core/test/ts/browser/selection/GetSelectionContentTest.ts (58%)
rename tools-ng/tinymce/{editor => }/src/core/test/ts/browser/selection/MultiClickSelectionTest.ts (100%)
rename tools-ng/tinymce/{editor => }/src/core/test/ts/browser/selection/NormalizeRangeTest.ts (100%)
create mode 100644 tools-ng/tinymce/src/core/test/ts/browser/selection/RangeInsertNodeTest.ts
rename tools-ng/tinymce/{editor => }/src/core/test/ts/browser/selection/RangeNormalizerTest.ts (100%)
rename tools-ng/tinymce/{editor => }/src/core/test/ts/browser/selection/SelectionBookmarkIframeEditorTest.ts (100%)
rename tools-ng/tinymce/{editor => }/src/core/test/ts/browser/selection/SelectionBookmarkInlineEditorTest.ts (100%)
rename tools-ng/tinymce/{editor => }/src/core/test/ts/browser/selection/SelectionBookmarkTest.ts (100%)
rename tools-ng/tinymce/{editor => }/src/core/test/ts/browser/selection/SelectionUtilsTest.ts (100%)
rename tools-ng/tinymce/{editor => }/src/core/test/ts/browser/selection/SetSelectionContentTest.ts (100%)
rename tools-ng/tinymce/{editor => }/src/core/test/ts/browser/selection/SimpleTableModelTest.ts (100%)
rename tools-ng/tinymce/{editor => }/src/core/test/ts/browser/selection/TableCellSelectionTest.ts (100%)
rename tools-ng/tinymce/{editor => }/src/core/test/ts/browser/undo/DiffTest.ts (100%)
rename tools-ng/tinymce/{editor => }/src/core/test/ts/browser/undo/ForcedRootBlockTest.ts (100%)
rename tools-ng/tinymce/{editor => }/src/core/test/ts/browser/undo/FragmentsTest.ts (100%)
rename tools-ng/tinymce/{editor => }/src/core/test/ts/browser/undo/LevelsTest.ts (100%)
rename tools-ng/tinymce/{editor => }/src/core/test/ts/browser/util/ColorTest.ts (100%)
rename tools-ng/tinymce/{editor => }/src/core/test/ts/browser/util/DelayTest.ts (100%)
rename tools-ng/tinymce/{editor => }/src/core/test/ts/browser/util/EventDispatcherTest.ts (100%)
rename tools-ng/tinymce/{editor => }/src/core/test/ts/browser/util/FakeStorageTest.ts (100%)
rename tools-ng/tinymce/{editor => }/src/core/test/ts/browser/util/I18nTest.ts (100%)
rename tools-ng/tinymce/{editor => }/src/core/test/ts/browser/util/JsonRequestTest.ts (100%)
rename tools-ng/tinymce/{editor => }/src/core/test/ts/browser/util/JsonTest.ts (100%)
rename tools-ng/tinymce/{editor => }/src/core/test/ts/browser/util/ObservableTest.ts (100%)
rename tools-ng/tinymce/{editor => }/src/core/test/ts/browser/util/PromiseTest.ts (100%)
rename tools-ng/tinymce/{editor => }/src/core/test/ts/browser/util/QuirksWebkitTest.ts (100%)
rename tools-ng/tinymce/{editor => }/src/core/test/ts/browser/util/ToolsTest.ts (100%)
rename tools-ng/tinymce/{editor => }/src/core/test/ts/browser/util/UriTest.ts (100%)
rename tools-ng/tinymce/{editor => }/src/core/test/ts/browser/util/XhrTest.ts (100%)
rename tools-ng/tinymce/{editor => }/src/core/test/ts/module/test/AnnotationAsserts.ts (100%)
rename tools-ng/tinymce/{editor => }/src/core/test/ts/module/test/CaretAsserts.ts (83%)
rename tools-ng/tinymce/{editor => }/src/core/test/ts/module/test/HtmlUtils.ts (100%)
rename tools-ng/tinymce/{editor => }/src/core/test/ts/module/test/KeyUtils.ts (100%)
rename tools-ng/tinymce/{editor => }/src/core/test/ts/module/test/TypeText.ts (100%)
rename tools-ng/tinymce/{editor => }/src/core/test/ts/module/test/ViewBlock.ts (100%)
rename tools-ng/tinymce/{editor => }/src/plugins/advlist/demo/html/demo.html (100%)
rename tools-ng/tinymce/{editor => }/src/plugins/advlist/demo/ts/demo/Demo.ts (100%)
rename tools-ng/tinymce/{editor => }/src/plugins/advlist/main/ts/Plugin.ts (70%)
rename tools-ng/tinymce/{editor => }/src/plugins/advlist/main/ts/api/Commands.ts (62%)
rename tools-ng/tinymce/{editor => }/src/plugins/advlist/main/ts/api/Settings.ts (66%)
rename tools-ng/tinymce/{editor => }/src/plugins/advlist/main/ts/core/Actions.ts (54%)
rename tools-ng/tinymce/{editor => }/src/plugins/advlist/main/ts/core/ListUtils.ts (72%)
rename tools-ng/tinymce/{editor => }/src/plugins/advlist/main/ts/ui/Buttons.ts (90%)
rename tools-ng/tinymce/{editor => }/src/plugins/advlist/main/ts/ui/ListStyles.ts (67%)
rename tools-ng/tinymce/{editor => }/src/plugins/advlist/test/ts/browser/AdvlistPluginTest.ts (100%)
rename tools-ng/tinymce/{editor => }/src/plugins/advlist/test/ts/browser/ChangeListStyleTest.ts (100%)
rename tools-ng/tinymce/{editor => }/src/plugins/advlist/test/ts/browser/SplitButtonTest.ts (100%)
rename tools-ng/tinymce/{editor => }/src/plugins/anchor/demo/html/demo.html (100%)
rename tools-ng/tinymce/{editor => }/src/plugins/anchor/demo/ts/demo/Demo.ts (100%)
rename tools-ng/tinymce/{editor => }/src/plugins/anchor/main/ts/Plugin.ts (60%)
create mode 100644 tools-ng/tinymce/src/plugins/anchor/main/ts/api/Commands.ts
rename tools-ng/tinymce/{editor => }/src/plugins/anchor/main/ts/core/Anchor.ts (79%)
rename tools-ng/tinymce/{editor => }/src/plugins/anchor/main/ts/core/FilterContent.ts (71%)
rename tools-ng/tinymce/{editor => }/src/plugins/anchor/main/ts/ui/Buttons.ts (58%)
rename tools-ng/tinymce/{editor => }/src/plugins/anchor/main/ts/ui/Dialog.ts (75%)
rename tools-ng/tinymce/{editor => }/src/plugins/anchor/test/ts/browser/AnchorEditTest.ts (100%)
rename tools-ng/tinymce/{editor => }/src/plugins/anchor/test/ts/browser/AnchorInlineTest.ts (100%)
rename tools-ng/tinymce/{editor => }/src/plugins/anchor/test/ts/browser/AnchorSanityTest.ts (100%)
rename tools-ng/tinymce/{editor => }/src/plugins/autolink/demo/html/demo.html (100%)
rename tools-ng/tinymce/{editor => }/src/plugins/autolink/demo/ts/demo/Demo.ts (100%)
rename tools-ng/tinymce/{editor => }/src/plugins/autolink/main/ts/Plugin.ts (52%)
rename tools-ng/tinymce/{editor => }/src/plugins/autolink/main/ts/api/Settings.ts (59%)
rename tools-ng/tinymce/{editor => }/src/plugins/autolink/main/ts/core/Keys.ts (95%)
rename tools-ng/tinymce/{editor => }/src/plugins/autolink/test/ts/browser/AutoLinkPluginTest.ts (100%)
rename tools-ng/tinymce/{editor => }/src/plugins/autolink/test/ts/browser/ConsecutiveLinkTest.ts (100%)
rename tools-ng/tinymce/{editor => }/src/plugins/autolink/test/ts/browser/EnterKeyTest.ts (100%)
rename tools-ng/tinymce/{editor => }/src/plugins/autolink/test/ts/module/test/KeyUtils.ts (100%)
rename tools-ng/tinymce/{editor => }/src/plugins/autoresize/demo/html/demo.html (100%)
rename tools-ng/tinymce/{editor => }/src/plugins/autoresize/demo/ts/demo/Demo.ts (100%)
rename tools-ng/tinymce/{editor => }/src/plugins/autoresize/main/ts/Plugin.ts (68%)
create mode 100644 tools-ng/tinymce/src/plugins/autoresize/main/ts/api/Commands.ts
rename tools-ng/tinymce/{editor => }/src/plugins/autoresize/main/ts/api/Settings.ts (76%)
rename tools-ng/tinymce/{editor => }/src/plugins/autoresize/main/ts/core/Resize.ts (94%)
rename tools-ng/tinymce/{editor => }/src/plugins/autoresize/test/ts/browser/AutoresizePluginTest.ts (100%)
rename tools-ng/tinymce/{editor => }/src/plugins/autosave/demo/html/demo.html (100%)
rename tools-ng/tinymce/{editor => }/src/plugins/autosave/demo/ts/demo/Demo.ts (100%)
rename tools-ng/tinymce/{editor => }/src/plugins/autosave/main/ts/Plugin.ts (78%)
rename tools-ng/tinymce/{editor => }/src/plugins/autosave/main/ts/api/Api.ts (64%)
rename tools-ng/tinymce/{editor => }/src/plugins/autosave/main/ts/api/Events.ts (56%)
rename tools-ng/tinymce/{editor => }/src/plugins/autosave/main/ts/api/Settings.ts (81%)
rename tools-ng/tinymce/{editor => }/src/plugins/autosave/main/ts/core/BeforeUnload.ts (77%)
rename tools-ng/tinymce/{editor => }/src/plugins/autosave/main/ts/core/Storage.ts (90%)
rename tools-ng/tinymce/{editor => }/src/plugins/autosave/main/ts/core/Time.ts (57%)
rename tools-ng/tinymce/{editor => }/src/plugins/autosave/main/ts/ui/Buttons.ts (82%)
rename tools-ng/tinymce/{editor => }/src/plugins/autosave/test/ts/browser/AutoSavePluginTest.ts (100%)
rename tools-ng/tinymce/{editor => }/src/plugins/autosave/test/ts/browser/ShouldRestoreWhenEmptyTest.ts (100%)
rename tools-ng/tinymce/{editor => }/src/plugins/bbcode/demo/html/demo.html (100%)
rename tools-ng/tinymce/{editor => }/src/plugins/bbcode/demo/ts/demo/Demo.ts (100%)
rename tools-ng/tinymce/{editor => }/src/plugins/bbcode/main/ts/Plugin.ts (70%)
create mode 100644 tools-ng/tinymce/src/plugins/bbcode/main/ts/api/Settings.ts
rename tools-ng/tinymce/{editor => }/src/plugins/bbcode/main/ts/core/Convert.ts (92%)
rename tools-ng/tinymce/{editor => }/src/plugins/bbcode/test/ts/browser/BbcodeSanityTest.ts (100%)
create mode 100644 tools-ng/tinymce/src/plugins/ccmcmsimages/main/ts/Dialog.ts
create mode 100644 tools-ng/tinymce/src/plugins/ccmcmsimages/main/ts/Plugin.ts
rename tools-ng/tinymce/{editor => }/src/plugins/charmap/demo/html/demo.html (100%)
rename tools-ng/tinymce/{editor => }/src/plugins/charmap/demo/ts/demo/Demo.ts (100%)
rename tools-ng/tinymce/{editor => }/src/plugins/charmap/main/ts/Plugin.ts (58%)
rename tools-ng/tinymce/{editor => }/src/plugins/charmap/main/ts/api/Api.ts (59%)
create mode 100644 tools-ng/tinymce/src/plugins/charmap/main/ts/api/Commands.ts
create mode 100644 tools-ng/tinymce/src/plugins/charmap/main/ts/api/Events.ts
create mode 100644 tools-ng/tinymce/src/plugins/charmap/main/ts/api/Settings.ts
rename tools-ng/tinymce/{editor => }/src/plugins/charmap/main/ts/core/Actions.ts (50%)
rename tools-ng/tinymce/{editor => }/src/plugins/charmap/main/ts/core/CharMap.ts (97%)
rename tools-ng/tinymce/{editor => }/src/plugins/charmap/main/ts/ui/Buttons.ts (58%)
rename tools-ng/tinymce/{editor => }/src/plugins/charmap/main/ts/ui/Dialog.ts (90%)
rename tools-ng/tinymce/{editor => }/src/plugins/charmap/main/ts/ui/GridHtml.ts (80%)
rename tools-ng/tinymce/{editor => }/src/plugins/charmap/test/ts/browser/CharmapPluginTest.ts (100%)
rename tools-ng/tinymce/{editor => }/src/plugins/charmap/test/ts/browser/InsertQuotationMarkTest.ts (100%)
rename tools-ng/tinymce/{editor => }/src/plugins/code/demo/html/demo.html (100%)
rename tools-ng/tinymce/{editor => }/src/plugins/code/demo/ts/demo/Demo.ts (100%)
rename tools-ng/tinymce/{editor => }/src/plugins/code/main/ts/Plugin.ts (55%)
create mode 100644 tools-ng/tinymce/src/plugins/code/main/ts/api/Commands.ts
rename tools-ng/tinymce/{editor => }/src/plugins/code/main/ts/api/Settings.ts (59%)
rename tools-ng/tinymce/{editor => }/src/plugins/code/main/ts/core/Content.ts (69%)
rename tools-ng/tinymce/{editor => }/src/plugins/code/main/ts/ui/Buttons.ts (60%)
rename tools-ng/tinymce/{editor => }/src/plugins/code/main/ts/ui/Dialog.ts (75%)
rename tools-ng/tinymce/{editor => }/src/plugins/code/test/ts/browser/CodeSanityTest.ts (100%)
rename tools-ng/tinymce/{editor => }/src/plugins/codesample/demo/html/demo.html (100%)
rename tools-ng/tinymce/{editor => }/src/plugins/codesample/demo/ts/demo/Demo.ts (100%)
rename tools-ng/tinymce/{editor => }/src/plugins/codesample/main/css/prism.css (100%)
rename tools-ng/tinymce/{editor => }/src/plugins/codesample/main/ts/Plugin.ts (77%)
rename tools-ng/tinymce/{editor => }/src/plugins/codesample/main/ts/api/Commands.ts (62%)
rename tools-ng/tinymce/{editor => }/src/plugins/codesample/main/ts/api/Settings.ts (72%)
rename tools-ng/tinymce/{editor => }/src/plugins/codesample/main/ts/core/CodeSample.ts (82%)
rename tools-ng/tinymce/{editor => }/src/plugins/codesample/main/ts/core/FilterContent.ts (85%)
rename tools-ng/tinymce/{editor => }/src/plugins/codesample/main/ts/core/Languages.ts (80%)
rename tools-ng/tinymce/{editor => }/src/plugins/codesample/main/ts/core/LoadCss.ts (75%)
rename tools-ng/tinymce/{editor => }/src/plugins/codesample/main/ts/core/Prism.ts (99%)
rename tools-ng/tinymce/{editor => }/src/plugins/codesample/main/ts/ui/Buttons.ts (55%)
rename tools-ng/tinymce/{editor => }/src/plugins/codesample/main/ts/ui/Dialog.ts (84%)
rename tools-ng/tinymce/{editor => }/src/plugins/codesample/main/ts/util/Utils.ts (53%)
rename tools-ng/tinymce/{editor => }/src/plugins/codesample/test/ts/browser/CodeSampleSanityTest.ts (100%)
rename tools-ng/tinymce/{editor => }/src/plugins/codesample/test/ts/browser/DblClickCodesampleTest.ts (100%)
rename tools-ng/tinymce/{editor => }/src/plugins/colorpicker/demo/html/demo.html (100%)
rename tools-ng/tinymce/{editor => }/src/plugins/colorpicker/demo/ts/demo/Demo.ts (100%)
rename tools-ng/tinymce/{editor => }/src/plugins/colorpicker/main/ts/Plugin.ts (60%)
rename tools-ng/tinymce/{editor => }/src/plugins/colorpicker/main/ts/ui/Dialog.ts (90%)
rename tools-ng/tinymce/{editor => }/src/plugins/colorpicker/test/ts/browser/ColorPickerSanityTest.ts (100%)
rename tools-ng/tinymce/{editor => }/src/plugins/compat3x/main/css/dialog.css (100%)
rename tools-ng/tinymce/{editor => }/src/plugins/compat3x/main/img/buttons.png (100%)
rename tools-ng/tinymce/{editor => }/src/plugins/compat3x/main/img/icons.gif (100%)
rename tools-ng/tinymce/{editor => }/src/plugins/compat3x/main/img/items.gif (100%)
rename tools-ng/tinymce/{editor => }/src/plugins/compat3x/main/img/menu_arrow.gif (100%)
rename tools-ng/tinymce/{editor => }/src/plugins/compat3x/main/img/menu_check.gif (100%)
rename tools-ng/tinymce/{editor => }/src/plugins/compat3x/main/img/progress.gif (100%)
rename tools-ng/tinymce/{editor => }/src/plugins/compat3x/main/img/tabs.gif (100%)
rename tools-ng/tinymce/{editor => }/src/plugins/compat3x/main/js/plugin.js (100%)
rename tools-ng/tinymce/{editor => }/src/plugins/compat3x/main/js/tiny_mce_popup.js (100%)
rename tools-ng/tinymce/{editor => }/src/plugins/compat3x/main/js/utils/editable_selects.js (100%)
rename tools-ng/tinymce/{editor => }/src/plugins/compat3x/main/js/utils/form_utils.js (100%)
rename tools-ng/tinymce/{editor => }/src/plugins/compat3x/main/js/utils/mctabs.js (100%)
rename tools-ng/tinymce/{editor => }/src/plugins/compat3x/main/js/utils/validate.js (100%)
rename tools-ng/tinymce/{editor => }/src/plugins/compat3x/test/html/dialog.html (100%)
rename tools-ng/tinymce/{editor => }/src/plugins/compat3x/test/js/browser/Compat3xPluginTest.disabled (100%)
rename tools-ng/tinymce/{editor => }/src/plugins/contextmenu/demo/html/demo.html (100%)
rename tools-ng/tinymce/{editor => }/src/plugins/contextmenu/demo/ts/demo/Demo.ts (100%)
rename tools-ng/tinymce/{editor => }/src/plugins/contextmenu/main/ts/Plugin.ts (61%)
create mode 100644 tools-ng/tinymce/src/plugins/contextmenu/main/ts/api/Api.ts
rename tools-ng/tinymce/{editor => }/src/plugins/contextmenu/main/ts/api/Settings.ts (57%)
rename tools-ng/tinymce/{editor => }/src/plugins/contextmenu/main/ts/core/Bind.ts (69%)
rename tools-ng/tinymce/{editor => }/src/plugins/contextmenu/main/ts/core/Coords.ts (84%)
rename tools-ng/tinymce/{editor => }/src/plugins/contextmenu/main/ts/core/RangePoint.ts (69%)
rename tools-ng/tinymce/{editor => }/src/plugins/contextmenu/main/ts/core/UiContainer.ts (56%)
rename tools-ng/tinymce/{editor => }/src/plugins/contextmenu/main/ts/ui/ContextMenu.ts (85%)
rename tools-ng/tinymce/{editor => }/src/plugins/contextmenu/test/ts/browser/ContextMenuPluginTest.ts (100%)
rename tools-ng/tinymce/{editor => }/src/plugins/directionality/demo/html/demo.html (100%)
rename tools-ng/tinymce/{editor => }/src/plugins/directionality/demo/ts/demo/Demo.ts (100%)
rename tools-ng/tinymce/{editor => }/src/plugins/directionality/main/ts/Plugin.ts (54%)
rename tools-ng/tinymce/{editor => }/src/plugins/directionality/main/ts/api/Commands.ts (56%)
rename tools-ng/tinymce/{editor => }/src/plugins/directionality/main/ts/core/Direction.ts (71%)
rename tools-ng/tinymce/{editor => }/src/plugins/directionality/main/ts/ui/Buttons.ts (71%)
rename tools-ng/tinymce/{editor => }/src/plugins/directionality/test/ts/browser/DirectionalitySanityTest.ts (100%)
rename tools-ng/tinymce/{editor => }/src/plugins/emoticons/demo/html/demo.html (100%)
rename tools-ng/tinymce/{editor => }/src/plugins/emoticons/demo/ts/demo/Demo.ts (100%)
rename tools-ng/tinymce/{editor => }/src/plugins/emoticons/main/img/smiley-cool.gif (100%)
rename tools-ng/tinymce/{editor => }/src/plugins/emoticons/main/img/smiley-cry.gif (100%)
rename tools-ng/tinymce/{editor => }/src/plugins/emoticons/main/img/smiley-embarassed.gif (100%)
rename tools-ng/tinymce/{editor => }/src/plugins/emoticons/main/img/smiley-foot-in-mouth.gif (100%)
rename tools-ng/tinymce/{editor => }/src/plugins/emoticons/main/img/smiley-frown.gif (100%)
rename tools-ng/tinymce/{editor => }/src/plugins/emoticons/main/img/smiley-innocent.gif (100%)
rename tools-ng/tinymce/{editor => }/src/plugins/emoticons/main/img/smiley-kiss.gif (100%)
rename tools-ng/tinymce/{editor => }/src/plugins/emoticons/main/img/smiley-laughing.gif (100%)
rename tools-ng/tinymce/{editor => }/src/plugins/emoticons/main/img/smiley-money-mouth.gif (100%)
rename tools-ng/tinymce/{editor => }/src/plugins/emoticons/main/img/smiley-sealed.gif (100%)
rename tools-ng/tinymce/{editor => }/src/plugins/emoticons/main/img/smiley-smile.gif (100%)
rename tools-ng/tinymce/{editor => }/src/plugins/emoticons/main/img/smiley-surprised.gif (100%)
rename tools-ng/tinymce/{editor => }/src/plugins/emoticons/main/img/smiley-tongue-out.gif (100%)
rename tools-ng/tinymce/{editor => }/src/plugins/emoticons/main/img/smiley-undecided.gif (100%)
rename tools-ng/tinymce/{editor => }/src/plugins/emoticons/main/img/smiley-wink.gif (100%)
rename tools-ng/tinymce/{editor => }/src/plugins/emoticons/main/img/smiley-yell.gif (100%)
rename tools-ng/tinymce/{editor => }/src/plugins/emoticons/main/ts/Plugin.ts (60%)
rename tools-ng/tinymce/{editor => }/src/plugins/emoticons/main/ts/ui/Buttons.ts (75%)
rename tools-ng/tinymce/{editor => }/src/plugins/emoticons/main/ts/ui/PanelHtml.ts (80%)
rename tools-ng/tinymce/{editor => }/src/plugins/emoticons/test/ts/browser/EmoticonSanityTest.ts (100%)
rename tools-ng/tinymce/{editor => }/src/plugins/fullpage/demo/html/demo.html (100%)
rename tools-ng/tinymce/{editor => }/src/plugins/fullpage/demo/ts/demo/Demo.ts (100%)
rename tools-ng/tinymce/{editor => }/src/plugins/fullpage/main/ts/Plugin.ts (67%)
create mode 100644 tools-ng/tinymce/src/plugins/fullpage/main/ts/api/Commands.ts
rename tools-ng/tinymce/{editor => }/src/plugins/fullpage/main/ts/api/Settings.ts (81%)
rename tools-ng/tinymce/{editor => }/src/plugins/fullpage/main/ts/core/FilterContent.ts (95%)
rename tools-ng/tinymce/{editor => }/src/plugins/fullpage/main/ts/core/Parser.ts (96%)
rename tools-ng/tinymce/{editor => }/src/plugins/fullpage/main/ts/core/Protect.ts (69%)
rename tools-ng/tinymce/{editor => }/src/plugins/fullpage/main/ts/ui/Buttons.ts (56%)
rename tools-ng/tinymce/{editor => }/src/plugins/fullpage/main/ts/ui/Dialog.ts (76%)
rename tools-ng/tinymce/{editor => }/src/plugins/fullpage/test/ts/atomic/ProtectTest.ts (100%)
rename tools-ng/tinymce/{editor => }/src/plugins/fullpage/test/ts/browser/FullPagePluginTest.ts (100%)
rename tools-ng/tinymce/{editor => }/src/plugins/fullscreen/demo/html/demo.html (100%)
rename tools-ng/tinymce/{editor => }/src/plugins/fullscreen/demo/ts/demo/Demo.ts (100%)
rename tools-ng/tinymce/{editor => }/src/plugins/fullscreen/main/ts/Plugin.ts (70%)
create mode 100644 tools-ng/tinymce/src/plugins/fullscreen/main/ts/api/Api.ts
rename tools-ng/tinymce/{editor => }/src/plugins/fullscreen/main/ts/api/Commands.ts (50%)
create mode 100644 tools-ng/tinymce/src/plugins/fullscreen/main/ts/api/Events.ts
rename tools-ng/tinymce/{editor => }/src/plugins/fullscreen/main/ts/core/Actions.ts (92%)
rename tools-ng/tinymce/{editor => }/src/plugins/fullscreen/main/ts/ui/Buttons.ts (72%)
rename tools-ng/tinymce/{editor => }/src/plugins/fullscreen/test/ts/browser/FullScreenPluginTest.ts (100%)
rename tools-ng/tinymce/{editor => }/src/plugins/fullscreen/test/ts/browser/FullscreenPluginInlineEditorTest.ts (100%)
rename tools-ng/tinymce/{editor => }/src/plugins/help/demo/html/demo.html (100%)
rename tools-ng/tinymce/{editor => }/src/plugins/help/demo/ts/demo/Demo.ts (100%)
rename tools-ng/tinymce/{editor => }/src/plugins/help/main/img/logo.png (100%)
rename tools-ng/tinymce/{editor => }/src/plugins/help/main/ts/Plugin.ts (61%)
create mode 100644 tools-ng/tinymce/src/plugins/help/main/ts/api/Commands.ts
rename tools-ng/tinymce/{editor => }/src/plugins/help/main/ts/data/KeyboardShortcuts.ts (86%)
rename tools-ng/tinymce/{editor => }/src/plugins/help/main/ts/data/PluginUrls.ts (88%)
rename tools-ng/tinymce/{editor => }/src/plugins/help/main/ts/ui/Buttons.ts (59%)
rename tools-ng/tinymce/{editor => }/src/plugins/help/main/ts/ui/ButtonsRow.ts (77%)
rename tools-ng/tinymce/{editor => }/src/plugins/help/main/ts/ui/Dialog.ts (74%)
rename tools-ng/tinymce/{editor => }/src/plugins/help/main/ts/ui/KeyboardShortcutsTab.ts (84%)
rename tools-ng/tinymce/{editor => }/src/plugins/help/main/ts/ui/PluginsTab.ts (91%)
rename tools-ng/tinymce/{editor => }/src/plugins/help/test/ts/browser/IgnoreForcedPluginsTest.ts (100%)
rename tools-ng/tinymce/{editor => }/src/plugins/help/test/ts/browser/MetadataTest.ts (100%)
rename tools-ng/tinymce/{editor => }/src/plugins/help/test/ts/browser/PluginTest.ts (100%)
rename tools-ng/tinymce/{editor => }/src/plugins/help/test/ts/module/test/FakePlugin.ts (100%)
rename tools-ng/tinymce/{editor => }/src/plugins/help/test/ts/module/test/NoMetaFakePlugin.ts (100%)
rename tools-ng/tinymce/{editor => }/src/plugins/hr/demo/html/demo.html (100%)
rename tools-ng/tinymce/{editor => }/src/plugins/hr/demo/ts/demo/Demo.ts (100%)
rename tools-ng/tinymce/{editor => }/src/plugins/hr/main/ts/Plugin.ts (53%)
create mode 100644 tools-ng/tinymce/src/plugins/hr/main/ts/api/Commands.ts
rename tools-ng/tinymce/{editor => }/src/plugins/hr/main/ts/ui/Buttons.ts (57%)
rename tools-ng/tinymce/{editor => }/src/plugins/hr/test/ts/browser/HrSanityTest.ts (100%)
rename tools-ng/tinymce/{editor => }/src/plugins/image/demo/html/demo.html (100%)
rename tools-ng/tinymce/{editor => }/src/plugins/image/demo/ts/demo/Demo.ts (100%)
rename tools-ng/tinymce/{editor => }/src/plugins/image/main/ts/Plugin.ts (60%)
create mode 100644 tools-ng/tinymce/src/plugins/image/main/ts/api/Commands.ts
rename tools-ng/tinymce/{editor => }/src/plugins/image/main/ts/api/Settings.ts (87%)
rename tools-ng/tinymce/{editor => }/src/plugins/image/main/ts/core/FilterContent.ts (79%)
rename tools-ng/tinymce/{editor => }/src/plugins/image/main/ts/core/ImageData.ts (96%)
rename tools-ng/tinymce/{editor => }/src/plugins/image/main/ts/core/ImageSelection.ts (93%)
rename tools-ng/tinymce/{editor => }/src/plugins/image/main/ts/core/Uploader.ts (90%)
rename tools-ng/tinymce/{editor => }/src/plugins/image/main/ts/core/Utils.ts (95%)
rename tools-ng/tinymce/{editor => }/src/plugins/image/main/ts/ui/AdvTab.ts (93%)
rename tools-ng/tinymce/{editor => }/src/plugins/image/main/ts/ui/Buttons.ts (66%)
rename tools-ng/tinymce/{editor => }/src/plugins/image/main/ts/ui/Dialog.ts (92%)
rename tools-ng/tinymce/{editor => }/src/plugins/image/main/ts/ui/MainTab.ts (92%)
rename tools-ng/tinymce/{editor => }/src/plugins/image/main/ts/ui/SizeManager.ts (88%)
rename tools-ng/tinymce/{editor => }/src/plugins/image/main/ts/ui/UploadTab.ts (90%)
rename tools-ng/tinymce/{editor => }/src/plugins/image/test/ts/browser/FigureDeleteTest.ts (100%)
rename tools-ng/tinymce/{editor => }/src/plugins/image/test/ts/browser/FigureResizeTest.ts (89%)
rename tools-ng/tinymce/{editor => }/src/plugins/image/test/ts/browser/ImageListTest.ts (100%)
rename tools-ng/tinymce/{editor => }/src/plugins/image/test/ts/browser/ImagePluginTest.ts (100%)
rename tools-ng/tinymce/{editor => }/src/plugins/image/test/ts/browser/ImageResizeTest.ts (100%)
rename tools-ng/tinymce/{editor => }/src/plugins/image/test/ts/browser/UploadTabTest.ts (100%)
rename tools-ng/tinymce/{editor => }/src/plugins/image/test/ts/browser/core/ImageDataTest.ts (100%)
rename tools-ng/tinymce/{editor => }/src/plugins/image/test/ts/browser/core/ImageSelectionTest.ts (100%)
rename tools-ng/tinymce/{editor => }/src/plugins/imagetools/demo/html/demo.html (100%)
rename tools-ng/tinymce/{editor => }/src/plugins/imagetools/demo/img/dogleft.jpg (100%)
rename tools-ng/tinymce/{editor => }/src/plugins/imagetools/demo/ts/demo/Demo.ts (100%)
rename tools-ng/tinymce/{editor => }/src/plugins/imagetools/main/ts/Plugin.ts (73%)
rename tools-ng/tinymce/{editor => }/src/plugins/imagetools/main/ts/api/Commands.ts (72%)
rename tools-ng/tinymce/{editor => }/src/plugins/imagetools/main/ts/api/Settings.ts (81%)
rename tools-ng/tinymce/{editor => }/src/plugins/imagetools/main/ts/core/Actions.ts (96%)
rename tools-ng/tinymce/{editor => }/src/plugins/imagetools/main/ts/core/Errors.ts (89%)
rename tools-ng/tinymce/{editor => }/src/plugins/imagetools/main/ts/core/ImageSize.ts (83%)
rename tools-ng/tinymce/{editor => }/src/plugins/imagetools/main/ts/core/LoadImage.ts (62%)
rename tools-ng/tinymce/{editor => }/src/plugins/imagetools/main/ts/core/Proxy.ts (85%)
rename tools-ng/tinymce/{editor => }/src/plugins/imagetools/main/ts/core/UndoStack.ts (71%)
rename tools-ng/tinymce/{editor => }/src/plugins/imagetools/main/ts/core/UploadSelectedImage.ts (76%)
rename tools-ng/tinymce/{editor => }/src/plugins/imagetools/main/ts/core/Utils.ts (86%)
rename tools-ng/tinymce/{editor => }/src/plugins/imagetools/main/ts/ui/Buttons.ts (74%)
rename tools-ng/tinymce/{editor => }/src/plugins/imagetools/main/ts/ui/ContextToolbar.ts (57%)
rename tools-ng/tinymce/{editor => }/src/plugins/imagetools/main/ts/ui/CropRect.ts (96%)
rename tools-ng/tinymce/{editor => }/src/plugins/imagetools/main/ts/ui/Dialog.ts (98%)
rename tools-ng/tinymce/{editor => }/src/plugins/imagetools/main/ts/ui/ImagePanel.ts (95%)
rename tools-ng/tinymce/{editor => }/src/plugins/imagetools/test/ts/atomic/ErrorsTest.ts (100%)
rename tools-ng/tinymce/{editor => }/src/plugins/imagetools/test/ts/browser/ImageToolsErrorTest.ts (100%)
rename tools-ng/tinymce/{editor => }/src/plugins/imagetools/test/ts/browser/ImageToolsPluginTest.ts (100%)
rename tools-ng/tinymce/{editor => }/src/plugins/imagetools/test/ts/browser/SequenceTest.ts (100%)
rename tools-ng/tinymce/{editor => }/src/plugins/imagetools/test/ts/module/test/ImageOps.ts (100%)
rename tools-ng/tinymce/{editor => }/src/plugins/imagetools/test/ts/module/test/ImageUtils.ts (100%)
rename tools-ng/tinymce/{editor => }/src/plugins/importcss/demo/css/rules.css (100%)
rename tools-ng/tinymce/{editor => }/src/plugins/importcss/demo/html/demo.html (100%)
rename tools-ng/tinymce/{editor => }/src/plugins/importcss/demo/ts/demo/Demo.ts (100%)
rename tools-ng/tinymce/{editor => }/src/plugins/importcss/main/ts/Plugin.ts (53%)
rename tools-ng/tinymce/{editor => }/src/plugins/importcss/main/ts/api/Api.ts (55%)
rename tools-ng/tinymce/{editor => }/src/plugins/importcss/main/ts/api/Settings.ts (78%)
rename tools-ng/tinymce/{editor => }/src/plugins/importcss/main/ts/core/ImportCss.ts (97%)
rename tools-ng/tinymce/{editor => }/src/plugins/importcss/test/ts/browser/ImportCssPluginTest.ts (100%)
rename tools-ng/tinymce/{editor => }/src/plugins/insertdatetime/demo/html/demo.html (100%)
rename tools-ng/tinymce/{editor => }/src/plugins/insertdatetime/demo/ts/demo/Demo.ts (100%)
rename tools-ng/tinymce/{editor => }/src/plugins/insertdatetime/main/ts/Plugin.ts (61%)
rename tools-ng/tinymce/{editor => }/src/plugins/insertdatetime/main/ts/api/Commands.ts (62%)
rename tools-ng/tinymce/{editor => }/src/plugins/insertdatetime/main/ts/api/Settings.ts (76%)
rename tools-ng/tinymce/{editor => }/src/plugins/insertdatetime/main/ts/core/Actions.ts (91%)
rename tools-ng/tinymce/{editor => }/src/plugins/insertdatetime/main/ts/ui/Buttons.ts (81%)
rename tools-ng/tinymce/{editor => }/src/plugins/insertdatetime/test/ts/browser/InsertDatetimeSanityTest.ts (100%)
rename tools-ng/tinymce/{editor => }/src/plugins/legacyoutput/demo/html/demo.html (100%)
rename tools-ng/tinymce/{editor => }/src/plugins/legacyoutput/demo/ts/demo/Demo.ts (100%)
rename tools-ng/tinymce/{editor => }/src/plugins/legacyoutput/main/ts/Plugin.ts (63%)
rename tools-ng/tinymce/{editor => }/src/plugins/legacyoutput/main/ts/core/Formats.ts (92%)
rename tools-ng/tinymce/{editor => }/src/plugins/legacyoutput/main/ts/ui/Buttons.ts (93%)
rename tools-ng/tinymce/{editor => }/src/plugins/legacyoutput/test/ts/browser/LegacyOutputPluginTest.ts (100%)
rename tools-ng/tinymce/{editor => }/src/plugins/link/demo/html/demo.html (100%)
rename tools-ng/tinymce/{editor => }/src/plugins/link/demo/ts/demo/Demo.ts (100%)
rename tools-ng/tinymce/{editor => }/src/plugins/link/main/ts/Plugin.ts (67%)
create mode 100644 tools-ng/tinymce/src/plugins/link/main/ts/api/Commands.ts
rename tools-ng/tinymce/{editor => }/src/plugins/link/main/ts/api/Settings.ts (89%)
rename tools-ng/tinymce/{editor => }/src/plugins/link/main/ts/core/Actions.ts (93%)
create mode 100644 tools-ng/tinymce/src/plugins/link/main/ts/core/Keyboard.ts
rename tools-ng/tinymce/{editor => }/src/plugins/link/main/ts/core/OpenUrl.ts (84%)
rename tools-ng/tinymce/{editor => }/src/plugins/link/main/ts/core/Utils.ts (94%)
rename tools-ng/tinymce/{editor => }/src/plugins/link/main/ts/ui/Controls.ts (86%)
rename tools-ng/tinymce/{editor => }/src/plugins/link/main/ts/ui/Dialog.ts (97%)
rename tools-ng/tinymce/{editor => }/src/plugins/link/test/ts/browser/AllowUnsafeLinkTargetTest.ts (100%)
rename tools-ng/tinymce/{editor => }/src/plugins/link/test/ts/browser/AssumeExternalTargetsTest.ts (100%)
rename tools-ng/tinymce/{editor => }/src/plugins/link/test/ts/browser/ContextToolbarTest.ts (100%)
rename tools-ng/tinymce/{editor => }/src/plugins/link/test/ts/browser/ImageFigureLinkTest.ts (100%)
rename tools-ng/tinymce/{editor => }/src/plugins/link/test/ts/browser/LinkClassListTest.ts (100%)
rename tools-ng/tinymce/{editor => }/src/plugins/link/test/ts/browser/LinkPluginTest.ts (100%)
rename tools-ng/tinymce/{editor => }/src/plugins/link/test/ts/browser/LinkTitleTest.ts (100%)
rename tools-ng/tinymce/{editor => }/src/plugins/link/test/ts/browser/RelListTest.ts (100%)
rename tools-ng/tinymce/{editor => }/src/plugins/link/test/ts/browser/SelectedLinkTest.ts (100%)
rename tools-ng/tinymce/{editor => }/src/plugins/link/test/ts/browser/TargetListTest.ts (100%)
rename tools-ng/tinymce/{editor => }/src/plugins/link/test/ts/browser/UrlInputTest.ts (100%)
rename tools-ng/tinymce/{editor => }/src/plugins/lists/demo/html/demo.html (100%)
rename tools-ng/tinymce/{editor => }/src/plugins/lists/demo/ts/demo/Demo.ts (100%)
rename tools-ng/tinymce/{editor => }/src/plugins/lists/main/ts/Plugin.ts (62%)
create mode 100644 tools-ng/tinymce/src/plugins/lists/main/ts/actions/Indendation.ts
rename tools-ng/tinymce/{editor => }/src/plugins/lists/main/ts/actions/ToggleList.ts (97%)
create mode 100644 tools-ng/tinymce/src/plugins/lists/main/ts/api/Api.ts
rename tools-ng/tinymce/{editor => }/src/plugins/lists/main/ts/api/Commands.ts (85%)
create mode 100644 tools-ng/tinymce/src/plugins/lists/main/ts/api/Settings.ts
rename tools-ng/tinymce/{editor => }/src/plugins/lists/main/ts/core/Bookmark.ts (92%)
rename tools-ng/tinymce/{editor => }/src/plugins/lists/main/ts/core/Delete.ts (96%)
create mode 100644 tools-ng/tinymce/src/plugins/lists/main/ts/core/DlIndentation.ts
rename tools-ng/tinymce/{editor => }/src/plugins/lists/main/ts/core/Keyboard.ts (59%)
rename tools-ng/tinymce/{editor => }/src/plugins/lists/main/ts/core/NodeType.ts (88%)
rename tools-ng/tinymce/{editor => }/src/plugins/lists/main/ts/core/NormalizeLists.ts (82%)
rename tools-ng/tinymce/{editor => }/src/plugins/lists/main/ts/core/Range.ts (85%)
rename tools-ng/tinymce/{editor => }/src/plugins/lists/main/ts/core/Selection.ts (88%)
rename tools-ng/tinymce/{editor => }/src/plugins/lists/main/ts/core/SplitList.ts (71%)
rename tools-ng/tinymce/{editor => }/src/plugins/lists/main/ts/core/TextBlock.ts (58%)
create mode 100644 tools-ng/tinymce/src/plugins/lists/main/ts/listModel/ComposeList.ts
create mode 100644 tools-ng/tinymce/src/plugins/lists/main/ts/listModel/Entry.ts
create mode 100644 tools-ng/tinymce/src/plugins/lists/main/ts/listModel/Indentation.ts
rename tools-ng/tinymce/{editor => }/src/plugins/lists/main/ts/listModel/ListsIndendation.ts (56%)
create mode 100644 tools-ng/tinymce/src/plugins/lists/main/ts/listModel/NormalizeEntries.ts
create mode 100644 tools-ng/tinymce/src/plugins/lists/main/ts/listModel/ParseLists.ts
create mode 100644 tools-ng/tinymce/src/plugins/lists/main/ts/listModel/Util.ts
rename tools-ng/tinymce/{editor => }/src/plugins/lists/main/ts/ui/Buttons.ts (86%)
rename tools-ng/tinymce/{editor => }/src/plugins/lists/test/ts/browser/ApplyDlTest.ts (100%)
rename tools-ng/tinymce/{editor => }/src/plugins/lists/test/ts/browser/ApplyListOnParagraphWithStylesTest.ts (100%)
rename tools-ng/tinymce/{editor => }/src/plugins/lists/test/ts/browser/ApplyTest.ts (100%)
rename tools-ng/tinymce/{editor => }/src/plugins/lists/test/ts/browser/BackspaceDeleteFromBlockIntoLiTest.ts (100%)
rename tools-ng/tinymce/{editor => }/src/plugins/lists/test/ts/browser/BackspaceDeleteInlineTest.ts (100%)
rename tools-ng/tinymce/{editor => }/src/plugins/lists/test/ts/browser/BackspaceDeleteTest.ts (100%)
rename tools-ng/tinymce/{editor => }/src/plugins/lists/test/ts/browser/ChangeListStyleTest.ts (100%)
rename tools-ng/tinymce/{editor => }/src/plugins/lists/test/ts/browser/IndentTest.ts (100%)
rename tools-ng/tinymce/{editor => }/src/plugins/lists/test/ts/browser/InlineTest.ts (100%)
rename tools-ng/tinymce/{editor => }/src/plugins/lists/test/ts/browser/ListModelTest.ts (93%)
rename tools-ng/tinymce/{editor => }/src/plugins/lists/test/ts/browser/OutdentTest.ts (93%)
rename tools-ng/tinymce/{editor => }/src/plugins/lists/test/ts/browser/RemoveTest.ts (100%)
rename tools-ng/tinymce/{editor => }/src/plugins/lists/test/ts/browser/TableInListTest.ts (100%)
rename tools-ng/tinymce/{editor => }/src/plugins/lists/test/ts/browser/ToggleListWithEmptyLiTest.ts (100%)
rename tools-ng/tinymce/{editor => }/src/plugins/media/demo/html/demo.html (100%)
rename tools-ng/tinymce/{editor => }/src/plugins/media/demo/ts/demo/Demo.ts (100%)
rename tools-ng/tinymce/{editor => }/src/plugins/media/main/ts/Plugin.ts (69%)
create mode 100644 tools-ng/tinymce/src/plugins/media/main/ts/api/Api.ts
create mode 100644 tools-ng/tinymce/src/plugins/media/main/ts/api/Commands.ts
rename tools-ng/tinymce/{editor => }/src/plugins/media/main/ts/api/Settings.ts (81%)
rename tools-ng/tinymce/{editor => }/src/plugins/media/main/ts/core/DataToHtml.ts (94%)
rename tools-ng/tinymce/{editor => }/src/plugins/media/main/ts/core/FilterContent.ts (93%)
rename tools-ng/tinymce/{editor => }/src/plugins/media/main/ts/core/HtmlToData.ts (90%)
rename tools-ng/tinymce/{editor => }/src/plugins/media/main/ts/core/Mime.ts (59%)
rename tools-ng/tinymce/{editor => }/src/plugins/media/main/ts/core/Nodes.ts (94%)
rename tools-ng/tinymce/{editor => }/src/plugins/media/main/ts/core/ResolveName.ts (51%)
rename tools-ng/tinymce/{editor => }/src/plugins/media/main/ts/core/Sanitize.ts (84%)
rename tools-ng/tinymce/{editor => }/src/plugins/media/main/ts/core/Selection.ts (82%)
rename tools-ng/tinymce/{editor => }/src/plugins/media/main/ts/core/Service.ts (84%)
rename tools-ng/tinymce/{editor => }/src/plugins/media/main/ts/core/Size.ts (71%)
rename tools-ng/tinymce/{editor => }/src/plugins/media/main/ts/core/UpdateHtml.ts (94%)
rename tools-ng/tinymce/{editor => }/src/plugins/media/main/ts/core/UrlPatterns.ts (90%)
rename tools-ng/tinymce/{editor => }/src/plugins/media/main/ts/core/VideoScript.ts (57%)
rename tools-ng/tinymce/{editor => }/src/plugins/media/main/ts/ui/Buttons.ts (63%)
rename tools-ng/tinymce/{editor => }/src/plugins/media/main/ts/ui/Dialog.ts (95%)
rename tools-ng/tinymce/{editor => }/src/plugins/media/main/ts/ui/SizeManager.ts (89%)
rename tools-ng/tinymce/{editor => }/src/plugins/media/test/ts/atomic/HtmlToDataTest.ts (100%)
rename tools-ng/tinymce/{editor => }/src/plugins/media/test/ts/atomic/UrlPatternsTest.ts (100%)
rename tools-ng/tinymce/{editor => }/src/plugins/media/test/ts/browser/ContentFormatsTest.ts (100%)
rename tools-ng/tinymce/{editor => }/src/plugins/media/test/ts/browser/DataAttributeTest.ts (100%)
rename tools-ng/tinymce/{editor => }/src/plugins/media/test/ts/browser/DataToHtmlTest.ts (100%)
rename tools-ng/tinymce/{editor => }/src/plugins/media/test/ts/browser/DimensionsControlTest.ts (100%)
rename tools-ng/tinymce/{editor => }/src/plugins/media/test/ts/browser/DimensionsFalseEmbedTest.ts (100%)
rename tools-ng/tinymce/{editor => }/src/plugins/media/test/ts/browser/EphoxEmbedTest.ts (100%)
rename tools-ng/tinymce/{editor => }/src/plugins/media/test/ts/browser/IframeNodeTest.ts (100%)
rename tools-ng/tinymce/{editor => }/src/plugins/media/test/ts/browser/IsCachedResponseTest.ts (100%)
rename tools-ng/tinymce/{editor => }/src/plugins/media/test/ts/browser/MediaEmbedTest.ts (100%)
rename tools-ng/tinymce/{editor => }/src/plugins/media/test/ts/browser/NoAdvancedTabTest.ts (100%)
rename tools-ng/tinymce/{editor => }/src/plugins/media/test/ts/browser/PlaceholderTest.ts (100%)
rename tools-ng/tinymce/{editor => }/src/plugins/media/test/ts/browser/PluginTest.ts (100%)
rename tools-ng/tinymce/{editor => }/src/plugins/media/test/ts/browser/ReopenResizeTest.ts (100%)
rename tools-ng/tinymce/{editor => }/src/plugins/media/test/ts/browser/SubmitTest.ts (100%)
rename tools-ng/tinymce/{editor => }/src/plugins/media/test/ts/module/test/Utils.ts (100%)
rename tools-ng/tinymce/{editor => }/src/plugins/nonbreaking/demo/html/demo.html (100%)
rename tools-ng/tinymce/{editor => }/src/plugins/nonbreaking/demo/ts/demo/Demo.ts (100%)
rename tools-ng/tinymce/{editor => }/src/plugins/nonbreaking/main/ts/Plugin.ts (66%)
create mode 100644 tools-ng/tinymce/src/plugins/nonbreaking/main/ts/api/Commands.ts
rename tools-ng/tinymce/{editor => }/src/plugins/nonbreaking/main/ts/api/Settings.ts (52%)
rename tools-ng/tinymce/{editor => }/src/plugins/nonbreaking/main/ts/core/Actions.ts (71%)
rename tools-ng/tinymce/{editor => }/src/plugins/nonbreaking/main/ts/core/Keyboard.ts (69%)
rename tools-ng/tinymce/{editor => }/src/plugins/nonbreaking/main/ts/ui/Buttons.ts (57%)
rename tools-ng/tinymce/{editor => }/src/plugins/nonbreaking/test/ts/browser/NonbreakingForceTabTest.ts (100%)
rename tools-ng/tinymce/{editor => }/src/plugins/nonbreaking/test/ts/browser/NonbreakingSanityTest.ts (100%)
rename tools-ng/tinymce/{editor => }/src/plugins/nonbreaking/test/ts/browser/NonbreakingSettingsTest.ts (100%)
rename tools-ng/tinymce/{editor => }/src/plugins/noneditable/demo/html/demo.html (100%)
rename tools-ng/tinymce/{editor => }/src/plugins/noneditable/demo/ts/demo/Demo.ts (100%)
create mode 100644 tools-ng/tinymce/src/plugins/noneditable/main/ts/Plugin.ts
rename tools-ng/tinymce/{editor => }/src/plugins/noneditable/main/ts/api/Settings.ts (72%)
rename tools-ng/tinymce/{editor => }/src/plugins/noneditable/main/ts/core/FilterContent.ts (92%)
rename tools-ng/tinymce/{editor => }/src/plugins/noneditable/test/ts/browser/NonEditablePluginTest.ts (100%)
rename tools-ng/tinymce/{editor => }/src/plugins/pagebreak/demo/html/demo.html (100%)
rename tools-ng/tinymce/{editor => }/src/plugins/pagebreak/demo/ts/demo/Demo.ts (100%)
rename tools-ng/tinymce/{editor => }/src/plugins/pagebreak/main/ts/Plugin.ts (64%)
rename tools-ng/tinymce/{editor => }/src/plugins/pagebreak/main/ts/api/Commands.ts (62%)
rename tools-ng/tinymce/{editor => }/src/plugins/pagebreak/main/ts/api/Settings.ts (54%)
rename tools-ng/tinymce/{editor => }/src/plugins/pagebreak/main/ts/core/FilterContent.ts (86%)
rename tools-ng/tinymce/{editor => }/src/plugins/pagebreak/main/ts/core/ResolveName.ts (56%)
rename tools-ng/tinymce/{editor => }/src/plugins/pagebreak/main/ts/ui/Buttons.ts (55%)
rename tools-ng/tinymce/{editor => }/src/plugins/pagebreak/test/ts/browser/PageBreakSanityTest.ts (100%)
rename tools-ng/tinymce/{editor => }/src/plugins/paste/demo/html/demo.html (100%)
rename tools-ng/tinymce/{editor => }/src/plugins/paste/demo/ts/demo/Demo.ts (100%)
rename tools-ng/tinymce/{editor => }/src/plugins/paste/main/ts/Plugin.ts (84%)
rename tools-ng/tinymce/{editor => }/src/plugins/paste/main/ts/alien/DetectProPlugin.ts (73%)
create mode 100644 tools-ng/tinymce/src/plugins/paste/main/ts/api/Api.ts
rename tools-ng/tinymce/{editor => }/src/plugins/paste/main/ts/api/Clipboard.ts (84%)
rename tools-ng/tinymce/{editor => }/src/plugins/paste/main/ts/api/Commands.ts (72%)
rename tools-ng/tinymce/{editor => }/src/plugins/paste/main/ts/api/Events.ts (78%)
rename tools-ng/tinymce/{editor => }/src/plugins/paste/main/ts/api/Settings.ts (91%)
rename tools-ng/tinymce/{editor => }/src/plugins/paste/main/ts/core/Actions.ts (83%)
rename tools-ng/tinymce/{editor => }/src/plugins/paste/main/ts/core/Clipboard.ts (88%)
rename tools-ng/tinymce/{editor => }/src/plugins/paste/main/ts/core/CutCopy.ts (83%)
rename tools-ng/tinymce/{editor => }/src/plugins/paste/main/ts/core/DragDrop.ts (93%)
rename tools-ng/tinymce/{editor => }/src/plugins/paste/main/ts/core/FragmentParser.ts (87%)
rename tools-ng/tinymce/{editor => }/src/plugins/paste/main/ts/core/InternalHtml.ts (65%)
rename tools-ng/tinymce/{editor => }/src/plugins/paste/main/ts/core/Newlines.ts (89%)
rename tools-ng/tinymce/{editor => }/src/plugins/paste/main/ts/core/PasteBin.ts (96%)
rename tools-ng/tinymce/{editor => }/src/plugins/paste/main/ts/core/PrePostProcess.ts (70%)
rename tools-ng/tinymce/{editor => }/src/plugins/paste/main/ts/core/ProcessFilters.ts (85%)
rename tools-ng/tinymce/{editor => }/src/plugins/paste/main/ts/core/Quirks.ts (95%)
rename tools-ng/tinymce/{editor => }/src/plugins/paste/main/ts/core/SmartPaste.ts (91%)
rename tools-ng/tinymce/{editor => }/src/plugins/paste/main/ts/core/Utils.ts (93%)
rename tools-ng/tinymce/{editor => }/src/plugins/paste/main/ts/core/WordFilter.ts (98%)
rename tools-ng/tinymce/{editor => }/src/plugins/paste/main/ts/ui/Buttons.ts (79%)
rename tools-ng/tinymce/{editor => }/src/plugins/paste/test/.eslintrc (100%)
rename tools-ng/tinymce/{editor => }/src/plugins/paste/test/ts/atomic/FragmentParserTest.ts (100%)
rename tools-ng/tinymce/{editor => }/src/plugins/paste/test/ts/atomic/InternalHtmlTest.ts (100%)
rename tools-ng/tinymce/{editor => }/src/plugins/paste/test/ts/browser/ImagePasteTest.ts (100%)
rename tools-ng/tinymce/{editor => }/src/plugins/paste/test/ts/browser/InternalClipboardTest.ts (89%)
rename tools-ng/tinymce/{editor => }/src/plugins/paste/test/ts/browser/NewlinesTest.ts (100%)
rename tools-ng/tinymce/{editor => }/src/plugins/paste/test/ts/browser/PasteBinTest.ts (100%)
rename tools-ng/tinymce/{editor => }/src/plugins/paste/test/ts/browser/PasteFormatToggleTest.ts (100%)
rename tools-ng/tinymce/{editor => }/src/plugins/paste/test/ts/browser/PasteSettingsTest.ts (100%)
rename tools-ng/tinymce/{editor => }/src/plugins/paste/test/ts/browser/PasteStylesTest.ts (100%)
rename tools-ng/tinymce/{editor => }/src/plugins/paste/test/ts/browser/PasteTest.ts (100%)
rename tools-ng/tinymce/{editor => }/src/plugins/paste/test/ts/browser/PlainTextPasteTest.ts (100%)
rename tools-ng/tinymce/{editor => }/src/plugins/paste/test/ts/browser/ProcessFiltersTest.ts (100%)
rename tools-ng/tinymce/{editor => }/src/plugins/paste/test/ts/browser/SmartPasteTest.ts (100%)
rename tools-ng/tinymce/{editor => }/src/plugins/paste/test/ts/browser/alien/DetectProPluginTest.ts (100%)
rename tools-ng/tinymce/{editor => }/src/plugins/paste/test/ts/module/test/MockDataTransfer.ts (100%)
rename tools-ng/tinymce/{editor => }/src/plugins/paste/test/ts/module/test/Paste.ts (100%)
rename tools-ng/tinymce/{editor => }/src/plugins/paste/test/ts/module/test/Strings.ts (100%)
rename tools-ng/tinymce/{editor => }/src/plugins/paste/test/ts/module/test/ViewBlock.ts (100%)
rename tools-ng/tinymce/{editor => }/src/plugins/paste/test/ts/webdriver/CutTest.ts (100%)
rename tools-ng/tinymce/{editor => }/src/plugins/preview/demo/html/demo.html (100%)
rename tools-ng/tinymce/{editor => }/src/plugins/preview/demo/ts/demo/Demo.ts (100%)
rename tools-ng/tinymce/{editor => }/src/plugins/preview/main/ts/Plugin.ts (54%)
create mode 100644 tools-ng/tinymce/src/plugins/preview/main/ts/api/Commands.ts
rename tools-ng/tinymce/{editor => }/src/plugins/preview/main/ts/api/Settings.ts (64%)
rename tools-ng/tinymce/{editor => }/src/plugins/preview/main/ts/ui/Buttons.ts (52%)
rename tools-ng/tinymce/{editor => }/src/plugins/preview/main/ts/ui/Dialog.ts (78%)
rename tools-ng/tinymce/{editor => }/src/plugins/preview/main/ts/ui/IframeContent.ts (90%)
rename tools-ng/tinymce/{editor => }/src/plugins/preview/test/ts/browser/PreviewContentStyleTest.ts (100%)
rename tools-ng/tinymce/{editor => }/src/plugins/preview/test/ts/browser/PreviewSanityTest.ts (100%)
rename tools-ng/tinymce/{editor => }/src/plugins/print/demo/html/demo.html (100%)
rename tools-ng/tinymce/{editor => }/src/plugins/print/demo/ts/demo/Demo.ts (100%)
rename tools-ng/tinymce/{editor => }/src/plugins/print/main/ts/Plugin.ts (57%)
create mode 100644 tools-ng/tinymce/src/plugins/print/main/ts/api/Commands.ts
rename tools-ng/tinymce/{editor => }/src/plugins/print/main/ts/ui/Buttons.ts (51%)
rename tools-ng/tinymce/{editor => }/src/plugins/print/test/ts/browser/PrintSanityTest.ts (100%)
rename tools-ng/tinymce/{editor => }/src/plugins/save/demo/html/demo.html (100%)
rename tools-ng/tinymce/{editor => }/src/plugins/save/demo/ts/demo/Demo.ts (100%)
rename tools-ng/tinymce/{editor => }/src/plugins/save/main/ts/Plugin.ts (53%)
rename tools-ng/tinymce/{editor => }/src/plugins/save/main/ts/api/Commands.ts (53%)
rename tools-ng/tinymce/{editor => }/src/plugins/save/main/ts/api/Settings.ts (62%)
rename tools-ng/tinymce/{editor => }/src/plugins/save/main/ts/core/Actions.ts (85%)
rename tools-ng/tinymce/{editor => }/src/plugins/save/main/ts/ui/Buttons.ts (74%)
rename tools-ng/tinymce/{editor => }/src/plugins/save/test/ts/browser/SaveSanityTest.ts (100%)
rename tools-ng/tinymce/{editor => }/src/plugins/searchreplace/demo/html/demo.html (100%)
rename tools-ng/tinymce/{editor => }/src/plugins/searchreplace/demo/ts/demo/Demo.ts (100%)
rename tools-ng/tinymce/{editor => }/src/plugins/searchreplace/main/ts/Plugin.ts (66%)
rename tools-ng/tinymce/{editor => }/src/plugins/searchreplace/main/ts/api/Api.ts (76%)
create mode 100644 tools-ng/tinymce/src/plugins/searchreplace/main/ts/api/Commands.ts
rename tools-ng/tinymce/{editor => }/src/plugins/searchreplace/main/ts/core/Actions.ts (95%)
rename tools-ng/tinymce/{editor => }/src/plugins/searchreplace/main/ts/core/FindReplaceText.ts (96%)
rename tools-ng/tinymce/{editor => }/src/plugins/searchreplace/main/ts/ui/Buttons.ts (73%)
rename tools-ng/tinymce/{editor => }/src/plugins/searchreplace/main/ts/ui/Dialog.ts (93%)
rename tools-ng/tinymce/{editor => }/src/plugins/searchreplace/test/ts/browser/SearchReplacePluginTest.ts (100%)
rename tools-ng/tinymce/{editor => }/src/plugins/searchreplace/test/ts/browser/UndoReplaceSpanTest.ts (100%)
rename tools-ng/tinymce/{editor => }/src/plugins/searchreplace/test/ts/module/test/HtmlUtils.ts (100%)
rename tools-ng/tinymce/{editor => }/src/plugins/spellchecker/demo/html/demo.html (100%)
rename tools-ng/tinymce/{editor => }/src/plugins/spellchecker/demo/ts/demo/Demo.ts (100%)
rename tools-ng/tinymce/{editor => }/src/plugins/spellchecker/main/ts/Plugin.ts (84%)
rename tools-ng/tinymce/{editor => }/src/plugins/spellchecker/main/ts/alien/DetectProPlugin.ts (73%)
rename tools-ng/tinymce/{editor => }/src/plugins/spellchecker/main/ts/api/Api.ts (80%)
rename tools-ng/tinymce/{editor => }/src/plugins/spellchecker/main/ts/api/Commands.ts (73%)
rename tools-ng/tinymce/{editor => }/src/plugins/spellchecker/main/ts/api/Events.ts (56%)
rename tools-ng/tinymce/{editor => }/src/plugins/spellchecker/main/ts/api/Settings.ts (83%)
rename tools-ng/tinymce/{editor => }/src/plugins/spellchecker/main/ts/core/Actions.ts (94%)
rename tools-ng/tinymce/{editor => }/src/plugins/spellchecker/main/ts/core/DomTextMatcher.ts (98%)
rename tools-ng/tinymce/{editor => }/src/plugins/spellchecker/main/ts/ui/Buttons.ts (91%)
rename tools-ng/tinymce/{editor => }/src/plugins/spellchecker/main/ts/ui/SuggestionsMenu.ts (93%)
rename tools-ng/tinymce/{editor => }/src/plugins/spellchecker/test/ts/browser/AddToDictionaryTest.ts (100%)
rename tools-ng/tinymce/{editor => }/src/plugins/spellchecker/test/ts/browser/SpellcheckerChangeLanguageTest.ts (100%)
rename tools-ng/tinymce/{editor => }/src/plugins/spellchecker/test/ts/browser/SpellcheckerManyLanguagesTest.ts (100%)
rename tools-ng/tinymce/{editor => }/src/plugins/spellchecker/test/ts/browser/SpellcheckerSingleLanguageTest.ts (100%)
rename tools-ng/tinymce/{editor => }/src/plugins/spellchecker/test/ts/browser/SpellcheckerTest.ts (100%)
rename tools-ng/tinymce/{editor => }/src/plugins/spellchecker/test/ts/browser/alien/DetectProPluginTest.ts (100%)
rename tools-ng/tinymce/{editor => }/src/plugins/tabfocus/demo/html/demo.html (100%)
rename tools-ng/tinymce/{editor => }/src/plugins/tabfocus/demo/ts/demo/Demo.ts (100%)
create mode 100644 tools-ng/tinymce/src/plugins/tabfocus/main/ts/Plugin.ts
rename tools-ng/tinymce/{editor => }/src/plugins/tabfocus/main/ts/api/Settings.ts (52%)
rename tools-ng/tinymce/{editor => }/src/plugins/tabfocus/main/ts/core/Keyboard.ts (92%)
rename tools-ng/tinymce/{editor => }/src/plugins/tabfocus/test/ts/browser/TabfocusSanityTest.ts (100%)
rename tools-ng/tinymce/{editor => }/src/plugins/table/demo/html/demo.html (100%)
rename tools-ng/tinymce/{editor => }/src/plugins/table/demo/ts/demo/Demo.ts (100%)
rename tools-ng/tinymce/{editor => }/src/plugins/table/main/ts/Plugin.ts (88%)
rename tools-ng/tinymce/{editor => }/src/plugins/table/main/ts/actions/Clipboard.ts (78%)
rename tools-ng/tinymce/{editor => }/src/plugins/table/main/ts/actions/InsertTable.ts (89%)
rename tools-ng/tinymce/{editor => }/src/plugins/table/main/ts/actions/ResizeHandler.ts (94%)
rename tools-ng/tinymce/{editor => }/src/plugins/table/main/ts/actions/Styles.ts (87%)
rename tools-ng/tinymce/{editor => }/src/plugins/table/main/ts/actions/TableActions.ts (94%)
rename tools-ng/tinymce/{editor => }/src/plugins/table/main/ts/actions/TableWire.ts (77%)
rename tools-ng/tinymce/{editor => }/src/plugins/table/main/ts/alien/Util.ts (83%)
rename tools-ng/tinymce/{editor => }/src/plugins/table/main/ts/api/Api.ts (80%)
rename tools-ng/tinymce/{editor => }/src/plugins/table/main/ts/api/Commands.ts (95%)
rename tools-ng/tinymce/{editor => }/src/plugins/table/main/ts/api/Events.ts (74%)
rename tools-ng/tinymce/{editor => }/src/plugins/table/main/ts/api/Settings.ts (93%)
rename tools-ng/tinymce/{editor => }/src/plugins/table/main/ts/queries/CellOperations.ts (86%)
rename tools-ng/tinymce/{editor => }/src/plugins/table/main/ts/queries/Direction.ts (62%)
rename tools-ng/tinymce/{editor => }/src/plugins/table/main/ts/queries/TabContext.ts (92%)
rename tools-ng/tinymce/{editor => }/src/plugins/table/main/ts/queries/TableTargets.ts (82%)
rename tools-ng/tinymce/{editor => }/src/plugins/table/main/ts/selection/CellSelection.ts (96%)
rename tools-ng/tinymce/{editor => }/src/plugins/table/main/ts/selection/Ephemera.ts (78%)
rename tools-ng/tinymce/{editor => }/src/plugins/table/main/ts/selection/SelectionTypes.ts (60%)
rename tools-ng/tinymce/{editor => }/src/plugins/table/main/ts/selection/Selections.ts (76%)
rename tools-ng/tinymce/{editor => }/src/plugins/table/main/ts/ui/Buttons.ts (92%)
rename tools-ng/tinymce/{editor => }/src/plugins/table/main/ts/ui/CellDialog.ts (96%)
rename tools-ng/tinymce/{editor => }/src/plugins/table/main/ts/ui/Helpers.ts (95%)
rename tools-ng/tinymce/{editor => }/src/plugins/table/main/ts/ui/MenuItems.ts (97%)
rename tools-ng/tinymce/{editor => }/src/plugins/table/main/ts/ui/RowDialog.ts (96%)
rename tools-ng/tinymce/{editor => }/src/plugins/table/main/ts/ui/TableDialog.ts (97%)
rename tools-ng/tinymce/{editor => }/src/plugins/table/test/ts/browser/AlignedCellRowStyleChangeTest.ts (100%)
rename tools-ng/tinymce/{editor => }/src/plugins/table/test/ts/browser/ClipboardTest.ts (96%)
rename tools-ng/tinymce/{editor => }/src/plugins/table/test/ts/browser/DragResizeTest.ts (100%)
rename tools-ng/tinymce/{editor => }/src/plugins/table/test/ts/browser/GridSelectionTest.ts (100%)
rename tools-ng/tinymce/{editor => }/src/plugins/table/test/ts/browser/IndentListsInTableTest.ts (100%)
rename tools-ng/tinymce/{editor => }/src/plugins/table/test/ts/browser/InlineEditorInsideTableTest.ts (100%)
rename tools-ng/tinymce/{editor => }/src/plugins/table/test/ts/browser/InsertCommandsTest.ts (100%)
rename tools-ng/tinymce/{editor => }/src/plugins/table/test/ts/browser/InsertTableTest.ts (100%)
rename tools-ng/tinymce/{editor => }/src/plugins/table/test/ts/browser/KeyboardCellNavigationTest.ts (100%)
rename tools-ng/tinymce/{editor => }/src/plugins/table/test/ts/browser/MergeCellCommandTest.ts (100%)
rename tools-ng/tinymce/{editor => }/src/plugins/table/test/ts/browser/NewCellRowEventsTest.ts (100%)
rename tools-ng/tinymce/{editor => }/src/plugins/table/test/ts/browser/ResizeTableTest.ts (100%)
rename tools-ng/tinymce/{editor => }/src/plugins/table/test/ts/browser/TabKeyNavigationTest.ts (100%)
rename tools-ng/tinymce/{editor => }/src/plugins/table/test/ts/browser/TableAsBodyTest.ts (100%)
rename tools-ng/tinymce/{editor => }/src/plugins/table/test/ts/browser/TableCellPropsStyleTest.ts (100%)
rename tools-ng/tinymce/{editor => }/src/plugins/table/test/ts/browser/settings/CustomTableToolbarTest.ts (100%)
rename tools-ng/tinymce/{editor => }/src/plugins/table/test/ts/browser/settings/DefaultTableToolbarTest.ts (100%)
rename tools-ng/tinymce/{editor => }/src/plugins/table/test/ts/browser/settings/DisabledTableToolbarTest.ts (100%)
rename tools-ng/tinymce/{editor => }/src/plugins/table/test/ts/browser/settings/TableAppearanceOptionsTest.ts (100%)
rename tools-ng/tinymce/{editor => }/src/plugins/table/test/ts/browser/settings/TableCellClassListTest.ts (100%)
rename tools-ng/tinymce/{editor => }/src/plugins/table/test/ts/browser/settings/TableClassListTest.ts (100%)
rename tools-ng/tinymce/{editor => }/src/plugins/table/test/ts/browser/settings/TableDefaultAttributesTest.ts (100%)
rename tools-ng/tinymce/{editor => }/src/plugins/table/test/ts/browser/settings/TableDefaultStylesTest.ts (100%)
rename tools-ng/tinymce/{editor => }/src/plugins/table/test/ts/browser/settings/TableGridFalseTest.ts (100%)
rename tools-ng/tinymce/{editor => }/src/plugins/table/test/ts/browser/settings/TableRowClassListTest.ts (100%)
rename tools-ng/tinymce/{editor => }/src/plugins/table/test/ts/browser/settings/TableTabNavigationDisabledTest.ts (100%)
rename tools-ng/tinymce/{editor => }/src/plugins/table/test/ts/browser/ui/ColorPickerTest.ts (100%)
rename tools-ng/tinymce/{editor => }/src/plugins/table/test/ts/browser/ui/TableCellDialogTest.ts (100%)
rename tools-ng/tinymce/{editor => }/src/plugins/table/test/ts/browser/ui/TableDialogTest.ts (100%)
rename tools-ng/tinymce/{editor => }/src/plugins/table/test/ts/browser/ui/TableRowDialogTest.ts (100%)
rename tools-ng/tinymce/{editor => }/src/plugins/table/test/ts/module/test/TableTestUtils.ts (100%)
rename tools-ng/tinymce/{editor => }/src/plugins/template/demo/html/demo.html (100%)
rename tools-ng/tinymce/{editor => }/src/plugins/template/demo/ts/demo/Demo.ts (100%)
rename tools-ng/tinymce/{editor => }/src/plugins/template/main/ts/Plugin.ts (60%)
rename tools-ng/tinymce/{editor => }/src/plugins/template/main/ts/api/Commands.ts (50%)
rename tools-ng/tinymce/{editor => }/src/plugins/template/main/ts/api/Settings.ts (86%)
rename tools-ng/tinymce/{editor => }/src/plugins/template/main/ts/core/DateTimeHelper.ts (87%)
rename tools-ng/tinymce/{editor => }/src/plugins/template/main/ts/core/FilterContent.ts (76%)
rename tools-ng/tinymce/{editor => }/src/plugins/template/main/ts/core/Templates.ts (91%)
rename tools-ng/tinymce/{editor => }/src/plugins/template/main/ts/ui/Buttons.ts (71%)
rename tools-ng/tinymce/{editor => }/src/plugins/template/main/ts/ui/Dialog.ts (93%)
rename tools-ng/tinymce/{editor => }/src/plugins/template/test/html/test_template.html (100%)
rename tools-ng/tinymce/{editor => }/src/plugins/template/test/ts/browser/DatesTest.ts (100%)
rename tools-ng/tinymce/{editor => }/src/plugins/template/test/ts/browser/SelectedContentTest.ts (100%)
rename tools-ng/tinymce/{editor => }/src/plugins/template/test/ts/browser/TemplateSanityTest.ts (100%)
rename tools-ng/tinymce/{editor => }/src/plugins/textcolor/demo/html/demo.html (100%)
rename tools-ng/tinymce/{editor => }/src/plugins/textcolor/demo/ts/demo/Demo.ts (100%)
rename tools-ng/tinymce/{editor => }/src/plugins/textcolor/main/ts/Plugin.ts (54%)
rename tools-ng/tinymce/{editor => }/src/plugins/textcolor/main/ts/api/Commands.ts (58%)
rename tools-ng/tinymce/{editor => }/src/plugins/textcolor/main/ts/api/Settings.ts (90%)
rename tools-ng/tinymce/{editor => }/src/plugins/textcolor/main/ts/core/TextColor.ts (81%)
rename tools-ng/tinymce/{editor => }/src/plugins/textcolor/main/ts/ui/Buttons.ts (94%)
rename tools-ng/tinymce/{editor => }/src/plugins/textcolor/main/ts/ui/ColorPickerHtml.ts (89%)
rename tools-ng/tinymce/{editor => }/src/plugins/textcolor/test/ts/browser/GetCurrentColorTest.ts (100%)
rename tools-ng/tinymce/{editor => }/src/plugins/textcolor/test/ts/browser/TextcolorCommandsTest.ts (100%)
rename tools-ng/tinymce/{editor => }/src/plugins/textcolor/test/ts/browser/TextcolorSanityTest.ts (100%)
rename tools-ng/tinymce/{editor => }/src/plugins/textpattern/demo/html/demo.html (100%)
rename tools-ng/tinymce/{editor => }/src/plugins/textpattern/demo/ts/demo/Demo.ts (100%)
create mode 100644 tools-ng/tinymce/src/plugins/textpattern/main/ts/Plugin.ts
create mode 100644 tools-ng/tinymce/src/plugins/textpattern/main/ts/api/Api.ts
create mode 100644 tools-ng/tinymce/src/plugins/textpattern/main/ts/api/Pattern.ts
create mode 100644 tools-ng/tinymce/src/plugins/textpattern/main/ts/api/Settings.ts
create mode 100644 tools-ng/tinymce/src/plugins/textpattern/main/ts/core/FindPatterns.ts
create mode 100644 tools-ng/tinymce/src/plugins/textpattern/main/ts/core/KeyHandler.ts
rename tools-ng/tinymce/{editor => }/src/plugins/textpattern/main/ts/core/Keyboard.ts (67%)
create mode 100644 tools-ng/tinymce/src/plugins/textpattern/main/ts/core/PatternApplication.ts
rename tools-ng/tinymce/{editor => }/src/plugins/textpattern/test/ts/atomic/FindPatternsTest.ts (71%)
rename tools-ng/tinymce/{editor/src/plugins/textpattern/test/ts/browser/FormatterTest.ts => src/plugins/textpattern/test/ts/browser/FindInlinePatternTest.ts} (84%)
create mode 100644 tools-ng/tinymce/src/plugins/textpattern/test/ts/browser/ReplacementTest.ts
rename tools-ng/tinymce/{editor => }/src/plugins/textpattern/test/ts/browser/TextPatternPluginTest.ts (91%)
rename tools-ng/tinymce/{editor => }/src/plugins/textpattern/test/ts/browser/TrailingPunctuationTest.ts (100%)
rename tools-ng/tinymce/{editor => }/src/plugins/textpattern/test/ts/browser/TriggerInlinePatternBeginningTest.ts (100%)
rename tools-ng/tinymce/{editor => }/src/plugins/textpattern/test/ts/browser/UndoTextpatternTest.ts (89%)
rename tools-ng/tinymce/{editor => }/src/plugins/textpattern/test/ts/module/test/Utils.ts (88%)
rename tools-ng/tinymce/{editor => }/src/plugins/toc/demo/html/demo.html (100%)
rename tools-ng/tinymce/{editor => }/src/plugins/toc/demo/ts/demo/Demo.ts (100%)
rename tools-ng/tinymce/{editor => }/src/plugins/toc/main/ts/Plugin.ts (60%)
rename tools-ng/tinymce/{editor => }/src/plugins/toc/main/ts/api/Commands.ts (53%)
rename tools-ng/tinymce/{editor => }/src/plugins/toc/main/ts/api/Settings.ts (66%)
rename tools-ng/tinymce/{editor => }/src/plugins/toc/main/ts/core/FilterContent.ts (73%)
create mode 100644 tools-ng/tinymce/src/plugins/toc/main/ts/core/Guid.ts
rename tools-ng/tinymce/{editor => }/src/plugins/toc/main/ts/core/Toc.ts (93%)
rename tools-ng/tinymce/{editor => }/src/plugins/toc/main/ts/ui/Buttons.ts (81%)
rename tools-ng/tinymce/{editor => }/src/plugins/toc/test/ts/browser/TocPluginTest.ts (100%)
rename tools-ng/tinymce/{editor => }/src/plugins/toc/test/ts/browser/api/SettingsTest.ts (100%)
rename tools-ng/tinymce/{editor => }/src/plugins/toc/test/ts/module/test/HtmlUtils.ts (100%)
rename tools-ng/tinymce/{editor => }/src/plugins/visualblocks/demo/html/demo.html (100%)
rename tools-ng/tinymce/{editor => }/src/plugins/visualblocks/demo/ts/demo/Demo.ts (100%)
rename tools-ng/tinymce/{editor => }/src/plugins/visualblocks/main/css/visualblocks.css (100%)
rename tools-ng/tinymce/{editor => }/src/plugins/visualblocks/main/img/address.gif (100%)
rename tools-ng/tinymce/{editor => }/src/plugins/visualblocks/main/img/article.gif (100%)
rename tools-ng/tinymce/{editor => }/src/plugins/visualblocks/main/img/aside.gif (100%)
rename tools-ng/tinymce/{editor => }/src/plugins/visualblocks/main/img/blockquote.gif (100%)
rename tools-ng/tinymce/{editor => }/src/plugins/visualblocks/main/img/div.gif (100%)
rename tools-ng/tinymce/{editor => }/src/plugins/visualblocks/main/img/dl.gif (100%)
rename tools-ng/tinymce/{editor => }/src/plugins/visualblocks/main/img/figure.gif (100%)
rename tools-ng/tinymce/{editor => }/src/plugins/visualblocks/main/img/h1.gif (100%)
rename tools-ng/tinymce/{editor => }/src/plugins/visualblocks/main/img/h2.gif (100%)
rename tools-ng/tinymce/{editor => }/src/plugins/visualblocks/main/img/h3.gif (100%)
rename tools-ng/tinymce/{editor => }/src/plugins/visualblocks/main/img/h4.gif (100%)
rename tools-ng/tinymce/{editor => }/src/plugins/visualblocks/main/img/h5.gif (100%)
rename tools-ng/tinymce/{editor => }/src/plugins/visualblocks/main/img/h6.gif (100%)
rename tools-ng/tinymce/{editor => }/src/plugins/visualblocks/main/img/hgroup.gif (100%)
rename tools-ng/tinymce/{editor => }/src/plugins/visualblocks/main/img/ol.gif (100%)
rename tools-ng/tinymce/{editor => }/src/plugins/visualblocks/main/img/p.gif (100%)
rename tools-ng/tinymce/{editor => }/src/plugins/visualblocks/main/img/pre.gif (100%)
rename tools-ng/tinymce/{editor => }/src/plugins/visualblocks/main/img/section.gif (100%)
rename tools-ng/tinymce/{editor => }/src/plugins/visualblocks/main/img/ul.gif (100%)
rename tools-ng/tinymce/{editor => }/src/plugins/visualblocks/main/ts/Plugin.ts (67%)
rename tools-ng/tinymce/{editor => }/src/plugins/visualblocks/main/ts/api/Commands.ts (53%)
create mode 100644 tools-ng/tinymce/src/plugins/visualblocks/main/ts/api/Events.ts
rename tools-ng/tinymce/{editor => }/src/plugins/visualblocks/main/ts/api/Settings.ts (53%)
rename tools-ng/tinymce/{editor => }/src/plugins/visualblocks/main/ts/core/Bindings.ts (76%)
rename tools-ng/tinymce/{editor => }/src/plugins/visualblocks/main/ts/core/LoadCss.ts (71%)
rename tools-ng/tinymce/{editor => }/src/plugins/visualblocks/main/ts/core/VisualBlocks.ts (70%)
rename tools-ng/tinymce/{editor => }/src/plugins/visualblocks/main/ts/ui/Buttons.ts (75%)
rename tools-ng/tinymce/{editor => }/src/plugins/visualblocks/test/ts/browser/PreviewFormatTest.ts (100%)
rename tools-ng/tinymce/{editor => }/src/plugins/visualblocks/test/ts/browser/VisualBlocksSanityTest.ts (100%)
rename tools-ng/tinymce/{editor => }/src/plugins/visualchars/demo/html/demo.html (100%)
rename tools-ng/tinymce/{editor => }/src/plugins/visualchars/demo/ts/demo/Demo.ts (92%)
rename tools-ng/tinymce/{editor => }/src/plugins/visualchars/main/ts/Plugin.ts (61%)
create mode 100644 tools-ng/tinymce/src/plugins/visualchars/main/ts/api/Api.ts
rename tools-ng/tinymce/{editor => }/src/plugins/visualchars/main/ts/api/Commands.ts (50%)
create mode 100644 tools-ng/tinymce/src/plugins/visualchars/main/ts/api/Events.ts
create mode 100644 tools-ng/tinymce/src/plugins/visualchars/main/ts/api/Settings.ts
rename tools-ng/tinymce/{editor => }/src/plugins/visualchars/main/ts/core/Actions.ts (70%)
create mode 100644 tools-ng/tinymce/src/plugins/visualchars/main/ts/core/Bindings.ts
rename tools-ng/tinymce/{editor => }/src/plugins/visualchars/main/ts/core/Data.ts (73%)
create mode 100644 tools-ng/tinymce/src/plugins/visualchars/main/ts/core/Html.ts
rename tools-ng/tinymce/{editor => }/src/plugins/visualchars/main/ts/core/Keyboard.ts (67%)
rename tools-ng/tinymce/{editor => }/src/plugins/visualchars/main/ts/core/Nodes.ts (81%)
rename tools-ng/tinymce/{editor => }/src/plugins/visualchars/main/ts/core/VisualChars.ts (83%)
rename tools-ng/tinymce/{editor => }/src/plugins/visualchars/main/ts/ui/Buttons.ts (73%)
rename tools-ng/tinymce/{editor => }/src/plugins/visualchars/test/ts/atomic/DataTest.ts (94%)
rename tools-ng/tinymce/{editor => }/src/plugins/visualchars/test/ts/atomic/HtmlTest.ts (100%)
rename tools-ng/tinymce/{editor => }/src/plugins/visualchars/test/ts/atomic/NodesTest.ts (100%)
create mode 100644 tools-ng/tinymce/src/plugins/visualchars/test/ts/browser/DefaultStateTest.ts
rename tools-ng/tinymce/{editor => }/src/plugins/visualchars/test/ts/browser/PluginTest.ts (53%)
create mode 100644 tools-ng/tinymce/src/plugins/visualchars/test/ts/module/test/Utils.ts
rename tools-ng/tinymce/{editor => }/src/plugins/wordcount/demo/html/demo.html (100%)
rename tools-ng/tinymce/{editor => }/src/plugins/wordcount/demo/ts/demo/Demo.ts (100%)
rename tools-ng/tinymce/{editor => }/src/plugins/wordcount/main/ts/Plugin.ts (53%)
create mode 100644 tools-ng/tinymce/src/plugins/wordcount/main/ts/api/Api.ts
rename tools-ng/tinymce/{editor => }/src/plugins/wordcount/main/ts/text/StringMapper.ts (73%)
rename tools-ng/tinymce/{editor => }/src/plugins/wordcount/main/ts/text/UnicodeData.ts (97%)
rename tools-ng/tinymce/{editor => }/src/plugins/wordcount/main/ts/text/WordBoundary.ts (92%)
rename tools-ng/tinymce/{editor => }/src/plugins/wordcount/main/ts/text/WordCount.ts (84%)
rename tools-ng/tinymce/{editor => }/src/plugins/wordcount/main/ts/text/WordGetter.ts (90%)
rename tools-ng/tinymce/{editor => }/src/plugins/wordcount/main/ts/ui/Statusbar.ts (80%)
rename tools-ng/tinymce/{editor => }/src/plugins/wordcount/test/.eslintrc (100%)
rename tools-ng/tinymce/{editor => }/src/plugins/wordcount/test/ts/atomic/core/IsWordBoundaryTest.ts (100%)
rename tools-ng/tinymce/{editor => }/src/plugins/wordcount/test/ts/atomic/core/StringMapperTest.ts (100%)
rename tools-ng/tinymce/{editor => }/src/plugins/wordcount/test/ts/atomic/core/WordGetterTest.ts (100%)
rename tools-ng/tinymce/{editor => }/src/plugins/wordcount/test/ts/browser/ApiTest.ts (100%)
rename tools-ng/tinymce/{editor => }/src/plugins/wordcount/test/ts/browser/core/PluginTest.ts (100%)
rename tools-ng/tinymce/{editor => }/src/skins/lightgray/demo/html/icons_demo.html (100%)
rename tools-ng/tinymce/{editor => }/src/skins/lightgray/main/fonts/readme.md (100%)
rename tools-ng/tinymce/{editor => }/src/skins/lightgray/main/fonts/tinymce-mobile.json (100%)
rename tools-ng/tinymce/{editor => }/src/skins/lightgray/main/fonts/tinymce-mobile.woff (100%)
rename tools-ng/tinymce/{editor => }/src/skins/lightgray/main/fonts/tinymce-small.eot (100%)
rename tools-ng/tinymce/{editor => }/src/skins/lightgray/main/fonts/tinymce-small.json (100%)
rename tools-ng/tinymce/{editor => }/src/skins/lightgray/main/fonts/tinymce-small.svg (100%)
rename tools-ng/tinymce/{editor => }/src/skins/lightgray/main/fonts/tinymce-small.ttf (100%)
rename tools-ng/tinymce/{editor => }/src/skins/lightgray/main/fonts/tinymce-small.woff (100%)
rename tools-ng/tinymce/{editor => }/src/skins/lightgray/main/fonts/tinymce.eot (100%)
rename tools-ng/tinymce/{editor => }/src/skins/lightgray/main/fonts/tinymce.json (100%)
rename tools-ng/tinymce/{editor => }/src/skins/lightgray/main/fonts/tinymce.svg (100%)
rename tools-ng/tinymce/{editor => }/src/skins/lightgray/main/fonts/tinymce.ttf (100%)
rename tools-ng/tinymce/{editor => }/src/skins/lightgray/main/fonts/tinymce.woff (100%)
rename tools-ng/tinymce/{editor => }/src/skins/lightgray/main/img/anchor.gif (100%)
rename tools-ng/tinymce/{editor => }/src/skins/lightgray/main/img/loader.gif (100%)
rename tools-ng/tinymce/{editor => }/src/skins/lightgray/main/img/object.gif (100%)
rename tools-ng/tinymce/{editor => }/src/skins/lightgray/main/img/trans.gif (100%)
rename tools-ng/tinymce/{editor => }/src/skins/lightgray/main/less/desktop/AbsoluteLayout.less (100%)
rename tools-ng/tinymce/{editor => }/src/skins/lightgray/main/less/desktop/Animations.less (100%)
rename tools-ng/tinymce/{editor => }/src/skins/lightgray/main/less/desktop/Arrows.less (100%)
rename tools-ng/tinymce/{editor => }/src/skins/lightgray/main/less/desktop/BrowseButton.less (100%)
rename tools-ng/tinymce/{editor => }/src/skins/lightgray/main/less/desktop/Button.less (100%)
rename tools-ng/tinymce/{editor => }/src/skins/lightgray/main/less/desktop/ButtonGroup.less (100%)
rename tools-ng/tinymce/{editor => }/src/skins/lightgray/main/less/desktop/Checkbox.less (100%)
rename tools-ng/tinymce/{editor => }/src/skins/lightgray/main/less/desktop/ColorBox.less (100%)
rename tools-ng/tinymce/{editor => }/src/skins/lightgray/main/less/desktop/ColorButton.less (100%)
rename tools-ng/tinymce/{editor => }/src/skins/lightgray/main/less/desktop/ColorPicker.less (100%)
rename tools-ng/tinymce/{editor => }/src/skins/lightgray/main/less/desktop/ComboBox.less (100%)
rename tools-ng/tinymce/{editor => }/src/skins/lightgray/main/less/desktop/Container.less (100%)
rename tools-ng/tinymce/{editor => }/src/skins/lightgray/main/less/desktop/Content.Inline.less (100%)
rename tools-ng/tinymce/{editor => }/src/skins/lightgray/main/less/desktop/Content.Objects.less (100%)
rename tools-ng/tinymce/{editor => }/src/skins/lightgray/main/less/desktop/Content.less (100%)
rename tools-ng/tinymce/{editor => }/src/skins/lightgray/main/less/desktop/CropRect.less (100%)
rename tools-ng/tinymce/{editor => }/src/skins/lightgray/main/less/desktop/DropZone.less (100%)
rename tools-ng/tinymce/{editor => }/src/skins/lightgray/main/less/desktop/FieldSet.less (100%)
rename tools-ng/tinymce/{editor => }/src/skins/lightgray/main/less/desktop/FilePicker.less (100%)
rename tools-ng/tinymce/{editor => }/src/skins/lightgray/main/less/desktop/FitLayout.less (100%)
rename tools-ng/tinymce/{editor => }/src/skins/lightgray/main/less/desktop/FloatPanel.less (100%)
rename tools-ng/tinymce/{editor => }/src/skins/lightgray/main/less/desktop/FlowLayout.less (100%)
rename tools-ng/tinymce/{editor => }/src/skins/lightgray/main/less/desktop/Icons.less (100%)
rename tools-ng/tinymce/{editor => }/src/skins/lightgray/main/less/desktop/Iframe.less (100%)
rename tools-ng/tinymce/{editor => }/src/skins/lightgray/main/less/desktop/ImagePanel.less (100%)
rename tools-ng/tinymce/{editor => }/src/skins/lightgray/main/less/desktop/InfoBox.less (100%)
rename tools-ng/tinymce/{editor => }/src/skins/lightgray/main/less/desktop/Label.less (100%)
rename tools-ng/tinymce/{editor => }/src/skins/lightgray/main/less/desktop/ListBox.less (100%)
rename tools-ng/tinymce/{editor => }/src/skins/lightgray/main/less/desktop/Menu.less (100%)
rename tools-ng/tinymce/{editor => }/src/skins/lightgray/main/less/desktop/MenuBar.less (100%)
rename tools-ng/tinymce/{editor => }/src/skins/lightgray/main/less/desktop/MenuButton.less (100%)
rename tools-ng/tinymce/{editor => }/src/skins/lightgray/main/less/desktop/MenuItem.less (100%)
rename tools-ng/tinymce/{editor => }/src/skins/lightgray/main/less/desktop/Mixins.less (100%)
rename tools-ng/tinymce/{editor => }/src/skins/lightgray/main/less/desktop/Notification.less (100%)
rename tools-ng/tinymce/{editor => }/src/skins/lightgray/main/less/desktop/Panel.less (100%)
rename tools-ng/tinymce/{editor => }/src/skins/lightgray/main/less/desktop/Path.less (100%)
rename tools-ng/tinymce/{editor => }/src/skins/lightgray/main/less/desktop/Progress.less (100%)
rename tools-ng/tinymce/{editor => }/src/skins/lightgray/main/less/desktop/Radio.less (100%)
rename tools-ng/tinymce/{editor => }/src/skins/lightgray/main/less/desktop/Reset.less (100%)
rename tools-ng/tinymce/{editor => }/src/skins/lightgray/main/less/desktop/ResizeHandle.less (100%)
rename tools-ng/tinymce/{editor => }/src/skins/lightgray/main/less/desktop/Scrollable.less (100%)
rename tools-ng/tinymce/{editor => }/src/skins/lightgray/main/less/desktop/SelectBox.less (100%)
rename tools-ng/tinymce/{editor => }/src/skins/lightgray/main/less/desktop/Sidebar.less (100%)
rename tools-ng/tinymce/{editor => }/src/skins/lightgray/main/less/desktop/Skin.less (100%)
rename tools-ng/tinymce/{editor => }/src/skins/lightgray/main/less/desktop/Slider.less (100%)
rename tools-ng/tinymce/{editor => }/src/skins/lightgray/main/less/desktop/Spacer.less (100%)
rename tools-ng/tinymce/{editor => }/src/skins/lightgray/main/less/desktop/SplitButton.less (100%)
rename tools-ng/tinymce/{editor => }/src/skins/lightgray/main/less/desktop/StackLayout.less (100%)
rename tools-ng/tinymce/{editor => }/src/skins/lightgray/main/less/desktop/TabPanel.less (100%)
rename tools-ng/tinymce/{editor => }/src/skins/lightgray/main/less/desktop/TextBox.less (100%)
rename tools-ng/tinymce/{editor => }/src/skins/lightgray/main/less/desktop/Throbber.less (100%)
rename tools-ng/tinymce/{editor => }/src/skins/lightgray/main/less/desktop/TinyMCE.less (100%)
rename tools-ng/tinymce/{editor => }/src/skins/lightgray/main/less/desktop/ToolTip.less (100%)
rename tools-ng/tinymce/{editor => }/src/skins/lightgray/main/less/desktop/Variables.less (100%)
rename tools-ng/tinymce/{editor => }/src/skins/lightgray/main/less/desktop/Window.less (100%)
rename tools-ng/tinymce/{editor => }/src/skins/lightgray/main/less/mobile/app/android.less (100%)
rename tools-ng/tinymce/{editor => }/src/skins/lightgray/main/less/mobile/app/mask-section.less (100%)
rename tools-ng/tinymce/{editor => }/src/skins/lightgray/main/less/mobile/app/mask.less (100%)
rename tools-ng/tinymce/{editor => }/src/skins/lightgray/main/less/mobile/app/mobile-icons.less (100%)
rename tools-ng/tinymce/{editor => }/src/skins/lightgray/main/less/mobile/app/mobile-less.less (100%)
rename tools-ng/tinymce/{editor => }/src/skins/lightgray/main/less/mobile/app/reset.less (100%)
rename tools-ng/tinymce/{editor => }/src/skins/lightgray/main/less/mobile/app/variables.less (100%)
rename tools-ng/tinymce/{editor => }/src/skins/lightgray/main/less/mobile/content.less (100%)
rename tools-ng/tinymce/{editor => }/src/skins/lightgray/main/less/mobile/menu/dropup.less (100%)
rename tools-ng/tinymce/{editor => }/src/skins/lightgray/main/less/mobile/menu/styles-menu.less (100%)
rename tools-ng/tinymce/{editor => }/src/skins/lightgray/main/less/mobile/toolstrip/context-toolbar.less (100%)
rename tools-ng/tinymce/{editor => }/src/skins/lightgray/main/less/mobile/toolstrip/main-toolbar.less (100%)
rename tools-ng/tinymce/{editor => }/src/skins/lightgray/main/less/mobile/toolstrip/serialised-dialogs.less (100%)
rename tools-ng/tinymce/{editor => }/src/skins/lightgray/main/less/mobile/toolstrip/slider.less (100%)
rename tools-ng/tinymce/{editor => }/src/skins/lightgray/main/less/mobile/toolstrip/toolstrip.less (100%)
rename tools-ng/tinymce/{editor => }/src/themes/inlite/demo/css/demo.css (100%)
rename tools-ng/tinymce/{editor => }/src/themes/inlite/demo/html/demo.html (100%)
rename tools-ng/tinymce/{editor => }/src/themes/inlite/demo/ts/demo/Demos.ts (100%)
rename tools-ng/tinymce/{editor => }/src/themes/inlite/main/ts/Theme.ts (71%)
rename tools-ng/tinymce/{editor => }/src/themes/inlite/main/ts/alien/Bookmark.ts (92%)
create mode 100644 tools-ng/tinymce/src/themes/inlite/main/ts/alien/DeepFlatten.ts
rename tools-ng/tinymce/{editor => }/src/themes/inlite/main/ts/alien/EditorSettings.ts (88%)
rename tools-ng/tinymce/{editor => }/src/themes/inlite/main/ts/alien/Type.ts (77%)
rename tools-ng/tinymce/{editor => }/src/themes/inlite/main/ts/alien/UiContainer.ts (73%)
rename tools-ng/tinymce/{editor => }/src/themes/inlite/main/ts/alien/Unlink.ts (89%)
rename tools-ng/tinymce/{editor => }/src/themes/inlite/main/ts/alien/Uuid.ts (65%)
rename tools-ng/tinymce/{editor => }/src/themes/inlite/main/ts/api/Events.ts (55%)
rename tools-ng/tinymce/{editor => }/src/themes/inlite/main/ts/api/Settings.ts (85%)
rename tools-ng/tinymce/{editor => }/src/themes/inlite/main/ts/api/ThemeApi.ts (73%)
rename tools-ng/tinymce/{editor => }/src/themes/inlite/main/ts/core/Actions.ts (91%)
rename tools-ng/tinymce/{editor => }/src/themes/inlite/main/ts/core/Convert.ts (71%)
rename tools-ng/tinymce/{editor => }/src/themes/inlite/main/ts/core/ElementMatcher.ts (82%)
rename tools-ng/tinymce/{editor => }/src/themes/inlite/main/ts/core/Layout.ts (92%)
rename tools-ng/tinymce/{editor => }/src/themes/inlite/main/ts/core/Matcher.ts (70%)
rename tools-ng/tinymce/{editor => }/src/themes/inlite/main/ts/core/Measure.ts (85%)
rename tools-ng/tinymce/{editor => }/src/themes/inlite/main/ts/core/PredicateId.ts (68%)
rename tools-ng/tinymce/{editor => }/src/themes/inlite/main/ts/core/Render.ts (93%)
rename tools-ng/tinymce/{editor => }/src/themes/inlite/main/ts/core/SelectionMatcher.ts (84%)
rename tools-ng/tinymce/{editor => }/src/themes/inlite/main/ts/core/SkinLoader.ts (78%)
rename tools-ng/tinymce/{editor => }/src/themes/inlite/main/ts/core/UrlType.ts (56%)
rename tools-ng/tinymce/{editor => }/src/themes/inlite/main/ts/file/Conversions.ts (64%)
rename tools-ng/tinymce/{editor => }/src/themes/inlite/main/ts/file/Picker.ts (73%)
rename tools-ng/tinymce/{editor => }/src/themes/inlite/main/ts/ui/Buttons.ts (87%)
rename tools-ng/tinymce/{editor => }/src/themes/inlite/main/ts/ui/Forms.ts (92%)
rename tools-ng/tinymce/{editor => }/src/themes/inlite/main/ts/ui/Panel.ts (96%)
rename tools-ng/tinymce/{editor => }/src/themes/inlite/main/ts/ui/Toolbar.ts (90%)
rename tools-ng/tinymce/{editor => }/src/themes/inlite/test/.eslintrc (100%)
rename tools-ng/tinymce/{editor => }/src/themes/inlite/test/ts/atomic/alien/ArrTest.ts (51%)
rename tools-ng/tinymce/{editor => }/src/themes/inlite/test/ts/atomic/alien/TypeTest.ts (100%)
rename tools-ng/tinymce/{editor => }/src/themes/inlite/test/ts/atomic/alien/UuidTest.ts (100%)
rename tools-ng/tinymce/{editor => }/src/themes/inlite/test/ts/atomic/core/ConvertTest.ts (100%)
rename tools-ng/tinymce/{editor => }/src/themes/inlite/test/ts/atomic/core/MatcherTest.ts (100%)
rename tools-ng/tinymce/{editor => }/src/themes/inlite/test/ts/atomic/core/UrlTypeTest.ts (100%)
rename tools-ng/tinymce/{editor => }/src/themes/inlite/test/ts/browser/AutoCompleteTest.ts (100%)
rename tools-ng/tinymce/{editor => }/src/themes/inlite/test/ts/browser/ClosedDialogScrollTest.ts (100%)
rename tools-ng/tinymce/{editor => }/src/themes/inlite/test/ts/browser/SkinFalseTest.ts (100%)
rename tools-ng/tinymce/{editor => }/src/themes/inlite/test/ts/browser/ThemeTest.ts (100%)
rename tools-ng/tinymce/{editor => }/src/themes/inlite/test/ts/browser/alien/BookmarkTest.ts (100%)
rename tools-ng/tinymce/{editor => }/src/themes/inlite/test/ts/browser/alien/EditorSettingsTest.ts (100%)
rename tools-ng/tinymce/{editor => }/src/themes/inlite/test/ts/browser/alien/UnlinkTest.ts (100%)
rename tools-ng/tinymce/{editor => }/src/themes/inlite/test/ts/browser/core/ActionsTest.ts (100%)
rename tools-ng/tinymce/{editor => }/src/themes/inlite/test/ts/browser/core/ElementMatcherTest.ts (100%)
rename tools-ng/tinymce/{editor => }/src/themes/inlite/test/ts/browser/core/LayoutTest.ts (100%)
rename tools-ng/tinymce/{editor => }/src/themes/inlite/test/ts/browser/core/MeasureTest.ts (100%)
rename tools-ng/tinymce/{editor => }/src/themes/inlite/test/ts/browser/core/PredicateIdTest.ts (100%)
rename tools-ng/tinymce/{editor => }/src/themes/inlite/test/ts/browser/core/SelectionMatcherTest.ts (100%)
rename tools-ng/tinymce/{editor => }/src/themes/inlite/test/ts/browser/file/ConversionsTest.ts (100%)
rename tools-ng/tinymce/{editor => }/src/themes/inlite/test/ts/browser/file/SelectionMatcher.ts (100%)
rename tools-ng/tinymce/{editor => }/src/themes/inlite/test/ts/module/test/Toolbar.ts (100%)
rename tools-ng/tinymce/{editor => }/src/themes/mobile/demo/html/demo-forms.html (100%)
rename tools-ng/tinymce/{editor => }/src/themes/mobile/demo/html/demo-sliders.html (100%)
rename tools-ng/tinymce/{editor => }/src/themes/mobile/demo/html/demo-styles.html (100%)
rename tools-ng/tinymce/{editor => }/src/themes/mobile/demo/html/demo.html (100%)
rename tools-ng/tinymce/{editor => }/src/themes/mobile/demo/ts/demo/Demo.ts (100%)
rename tools-ng/tinymce/{editor => }/src/themes/mobile/demo/ts/demo/Demos.ts (100%)
rename tools-ng/tinymce/{editor => }/src/themes/mobile/demo/ts/demo/FormDemo.ts (100%)
rename tools-ng/tinymce/{editor => }/src/themes/mobile/demo/ts/demo/SlidersDemo.ts (100%)
rename tools-ng/tinymce/{editor => }/src/themes/mobile/demo/ts/demo/StylesMenuDemo.ts (100%)
rename tools-ng/tinymce/{editor => }/src/themes/mobile/main/ts/Theme.ts (95%)
rename tools-ng/tinymce/{editor => }/src/themes/mobile/main/ts/alien/TinyCodeDupe.ts (70%)
rename tools-ng/tinymce/{editor => }/src/themes/mobile/main/ts/alien/TypeDefinitions.ts (77%)
rename tools-ng/tinymce/{editor => }/src/themes/mobile/main/ts/android/core/AndroidEvents.ts (92%)
rename tools-ng/tinymce/{editor => }/src/themes/mobile/main/ts/android/core/AndroidMode.ts (87%)
rename tools-ng/tinymce/{editor => }/src/themes/mobile/main/ts/android/core/AndroidSetup.ts (91%)
rename tools-ng/tinymce/{editor => }/src/themes/mobile/main/ts/android/focus/ResumeEditing.ts (89%)
rename tools-ng/tinymce/{editor => }/src/themes/mobile/main/ts/api/AndroidWebapp.ts (85%)
rename tools-ng/tinymce/{editor => }/src/themes/mobile/main/ts/api/IosWebapp.ts (84%)
rename tools-ng/tinymce/{editor => }/src/themes/mobile/main/ts/api/MobileSchema.ts (88%)
rename tools-ng/tinymce/{editor => }/src/themes/mobile/main/ts/api/Settings.ts (57%)
rename tools-ng/tinymce/{editor => }/src/themes/mobile/main/ts/bridge/LinkBridge.ts (91%)
rename tools-ng/tinymce/{editor => }/src/themes/mobile/main/ts/channels/Receivers.ts (76%)
rename tools-ng/tinymce/{editor => }/src/themes/mobile/main/ts/channels/TinyChannels.ts (57%)
rename tools-ng/tinymce/{editor => }/src/themes/mobile/main/ts/features/DefaultStyleFormats.ts (84%)
rename tools-ng/tinymce/{editor => }/src/themes/mobile/main/ts/features/Features.ts (95%)
rename tools-ng/tinymce/{editor => }/src/themes/mobile/main/ts/ios/core/IosEvents.ts (95%)
rename tools-ng/tinymce/{editor => }/src/themes/mobile/main/ts/ios/core/IosHacks.ts (88%)
rename tools-ng/tinymce/{editor => }/src/themes/mobile/main/ts/ios/core/IosMode.ts (94%)
rename tools-ng/tinymce/{editor => }/src/themes/mobile/main/ts/ios/core/IosSetup.ts (96%)
rename tools-ng/tinymce/{editor => }/src/themes/mobile/main/ts/ios/core/PlatformEditor.ts (94%)
rename tools-ng/tinymce/{editor => }/src/themes/mobile/main/ts/ios/focus/FakeSelection.ts (90%)
rename tools-ng/tinymce/{editor => }/src/themes/mobile/main/ts/ios/focus/ResumeEditing.ts (72%)
rename tools-ng/tinymce/{editor => }/src/themes/mobile/main/ts/ios/scroll/IosScrolling.ts (93%)
rename tools-ng/tinymce/{editor => }/src/themes/mobile/main/ts/ios/scroll/Scrollables.ts (86%)
rename tools-ng/tinymce/{editor => }/src/themes/mobile/main/ts/ios/smooth/BackgroundActivity.ts (69%)
rename tools-ng/tinymce/{editor => }/src/themes/mobile/main/ts/ios/smooth/SmoothAnimation.ts (84%)
rename tools-ng/tinymce/{editor => }/src/themes/mobile/main/ts/ios/view/DeviceZones.ts (91%)
rename tools-ng/tinymce/{editor => }/src/themes/mobile/main/ts/ios/view/Devices.ts (84%)
rename tools-ng/tinymce/{editor => }/src/themes/mobile/main/ts/ios/view/Greenzone.ts (74%)
rename tools-ng/tinymce/{editor => }/src/themes/mobile/main/ts/ios/view/IosKeyboard.ts (94%)
rename tools-ng/tinymce/{editor => }/src/themes/mobile/main/ts/ios/view/IosUpdates.ts (84%)
rename tools-ng/tinymce/{editor => }/src/themes/mobile/main/ts/ios/view/IosViewport.ts (95%)
rename tools-ng/tinymce/{editor => }/src/themes/mobile/main/ts/model/SwipingModel.ts (87%)
create mode 100644 tools-ng/tinymce/src/themes/mobile/main/ts/style/Styles.ts
rename tools-ng/tinymce/{editor => }/src/themes/mobile/main/ts/toolbar/ScrollingToolbar.ts (93%)
rename tools-ng/tinymce/{editor => }/src/themes/mobile/main/ts/touch/focus/CursorRefresh.ts (88%)
rename tools-ng/tinymce/{editor => }/src/themes/mobile/main/ts/touch/scroll/Scrollable.ts (69%)
rename tools-ng/tinymce/{editor => }/src/themes/mobile/main/ts/touch/view/MetaViewport.ts (84%)
rename tools-ng/tinymce/{editor => }/src/themes/mobile/main/ts/touch/view/Orientation.ts (89%)
rename tools-ng/tinymce/{editor => }/src/themes/mobile/main/ts/touch/view/TapToEditMask.ts (85%)
rename tools-ng/tinymce/{editor => }/src/themes/mobile/main/ts/ui/AndroidRealm.ts (89%)
rename tools-ng/tinymce/{editor => }/src/themes/mobile/main/ts/ui/Buttons.ts (87%)
rename tools-ng/tinymce/{editor => }/src/themes/mobile/main/ts/ui/ColorSlider.ts (92%)
rename tools-ng/tinymce/{editor => }/src/themes/mobile/main/ts/ui/CommonRealm.ts (83%)
rename tools-ng/tinymce/{editor => }/src/themes/mobile/main/ts/ui/Dropup.ts (89%)
rename tools-ng/tinymce/{editor => }/src/themes/mobile/main/ts/ui/FontSizeSlider.ts (81%)
rename tools-ng/tinymce/{editor => }/src/themes/mobile/main/ts/ui/HeadingSlider.ts (86%)
rename tools-ng/tinymce/{editor => }/src/themes/mobile/main/ts/ui/ImagePicker.ts (88%)
rename tools-ng/tinymce/{editor => }/src/themes/mobile/main/ts/ui/Inputs.ts (91%)
rename tools-ng/tinymce/{editor => }/src/themes/mobile/main/ts/ui/IosRealm.ts (90%)
rename tools-ng/tinymce/{editor => }/src/themes/mobile/main/ts/ui/LinkButton.ts (89%)
rename tools-ng/tinymce/{editor => }/src/themes/mobile/main/ts/ui/OuterContainer.ts (73%)
rename tools-ng/tinymce/{editor => }/src/themes/mobile/main/ts/ui/SerialisedDialog.ts (97%)
rename tools-ng/tinymce/{editor => }/src/themes/mobile/main/ts/ui/SizeSlider.ts (88%)
rename tools-ng/tinymce/{editor => }/src/themes/mobile/main/ts/ui/StylesMenu.ts (96%)
rename tools-ng/tinymce/{editor => }/src/themes/mobile/main/ts/ui/ToolbarWidgets.ts (60%)
rename tools-ng/tinymce/{editor => }/src/themes/mobile/main/ts/util/CaptureBin.ts (65%)
rename tools-ng/tinymce/{editor => }/src/themes/mobile/main/ts/util/CssUrls.ts (64%)
create mode 100644 tools-ng/tinymce/src/themes/mobile/main/ts/util/DataAttributes.ts
rename tools-ng/tinymce/{editor => }/src/themes/mobile/main/ts/util/FontSizes.ts (88%)
rename tools-ng/tinymce/{editor => }/src/themes/mobile/main/ts/util/FormatChangers.ts (76%)
rename tools-ng/tinymce/{editor => }/src/themes/mobile/main/ts/util/RangePreserver.ts (74%)
rename tools-ng/tinymce/{editor => }/src/themes/mobile/main/ts/util/Rectangles.ts (86%)
rename tools-ng/tinymce/{editor => }/src/themes/mobile/main/ts/util/SkinLoaded.ts (54%)
rename tools-ng/tinymce/{editor => }/src/themes/mobile/main/ts/util/StyleConversions.ts (83%)
rename tools-ng/tinymce/{editor => }/src/themes/mobile/main/ts/util/StyleFormats.ts (92%)
rename tools-ng/tinymce/{editor => }/src/themes/mobile/main/ts/util/TappingEvent.ts (77%)
rename tools-ng/tinymce/{editor => }/src/themes/mobile/main/ts/util/Thor.ts (91%)
rename tools-ng/tinymce/{editor => }/src/themes/mobile/main/ts/util/UiDomFactory.ts (62%)
rename tools-ng/tinymce/{editor => }/src/themes/mobile/resources/html/index-bootstrap.html (100%)
rename tools-ng/tinymce/{editor => }/src/themes/mobile/resources/html/index.html (100%)
rename tools-ng/tinymce/{editor => }/src/themes/mobile/test/html/editor.html (100%)
rename tools-ng/tinymce/{editor => }/src/themes/mobile/test/ts/atomic/smooth/AsyncSmoothAnimationTest.ts (100%)
rename tools-ng/tinymce/{editor => }/src/themes/mobile/test/ts/atomic/smooth/SmoothAnimationTest.ts (100%)
rename tools-ng/tinymce/{editor => }/src/themes/mobile/test/ts/atomic/styles/StyleConversionsTest.ts (100%)
rename tools-ng/tinymce/{editor => }/src/themes/mobile/test/ts/browser/SkinFalseTest.ts (100%)
rename tools-ng/tinymce/{editor => }/src/themes/mobile/test/ts/browser/ThemeTest.ts (100%)
rename tools-ng/tinymce/{editor => }/src/themes/mobile/test/ts/browser/features/BasicFormattingTest.ts (100%)
rename tools-ng/tinymce/{editor => }/src/themes/mobile/test/ts/browser/features/ListTest.ts (100%)
rename tools-ng/tinymce/{editor => }/src/themes/mobile/test/ts/browser/features/UnlinkTest.ts (100%)
rename tools-ng/tinymce/{editor => }/src/themes/mobile/test/ts/browser/ios/IosRealmTest.ts (100%)
rename tools-ng/tinymce/{editor => }/src/themes/mobile/test/ts/browser/ui/ButtonsTest.ts (100%)
rename tools-ng/tinymce/{editor => }/src/themes/mobile/test/ts/browser/ui/FontSizeSliderTest.ts (100%)
rename tools-ng/tinymce/{editor => }/src/themes/mobile/test/ts/browser/ui/SerialisedLinkTest.ts (100%)
rename tools-ng/tinymce/{editor => }/src/themes/mobile/test/ts/module/test/GuiSetup.ts (100%)
rename tools-ng/tinymce/{editor => }/src/themes/mobile/test/ts/module/test/TestStore.ts (100%)
rename tools-ng/tinymce/{editor => }/src/themes/mobile/test/ts/module/test/theme/TestTheme.ts (100%)
rename tools-ng/tinymce/{editor => }/src/themes/mobile/test/ts/module/test/ui/TestEditor.ts (100%)
rename tools-ng/tinymce/{editor => }/src/themes/mobile/test/ts/module/test/ui/TestFrameEditor.ts (100%)
rename tools-ng/tinymce/{editor => }/src/themes/mobile/test/ts/module/test/ui/TestSelectors.ts (100%)
rename tools-ng/tinymce/{editor => }/src/themes/mobile/test/ts/module/test/ui/TestStyles.ts (100%)
rename tools-ng/tinymce/{editor => }/src/themes/mobile/test/ts/module/test/ui/TestUi.ts (100%)
rename tools-ng/tinymce/{editor => }/src/themes/mobile/test/ts/phantom/bridge/LinkBridgeTest.ts (100%)
rename tools-ng/tinymce/{editor => }/src/themes/mobile/test/ts/phantom/features/FeatureDetectTest.ts (100%)
rename tools-ng/tinymce/{editor => }/src/themes/mobile/test/ts/phantom/features/IdentifyToolbarTest.ts (100%)
rename tools-ng/tinymce/{editor => }/src/themes/modern/demo/html/classic_demo.html (100%)
rename tools-ng/tinymce/{editor => }/src/themes/modern/demo/html/demo.html (100%)
rename tools-ng/tinymce/{editor => }/src/themes/modern/demo/html/notification_demo.html (100%)
rename tools-ng/tinymce/{editor => }/src/themes/modern/demo/ts/demo/ClassicDemo.ts (100%)
rename tools-ng/tinymce/{editor => }/src/themes/modern/demo/ts/demo/Demo.ts (100%)
rename tools-ng/tinymce/{editor => }/src/themes/modern/demo/ts/demo/Demos.ts (100%)
rename tools-ng/tinymce/{editor => }/src/themes/modern/demo/ts/demo/NotificationDemo.ts (100%)
rename tools-ng/tinymce/{editor => }/src/themes/modern/main/ts/Theme.ts (64%)
rename tools-ng/tinymce/{editor => }/src/themes/modern/main/ts/api/Events.ts (58%)
rename tools-ng/tinymce/{editor => }/src/themes/modern/main/ts/api/Settings.ts (93%)
rename tools-ng/tinymce/{editor => }/src/themes/modern/main/ts/api/ThemeApi.ts (77%)
rename tools-ng/tinymce/{editor => }/src/themes/modern/main/ts/modes/Iframe.ts (89%)
rename tools-ng/tinymce/{editor => }/src/themes/modern/main/ts/modes/Inline.ts (94%)
rename tools-ng/tinymce/{editor => }/src/themes/modern/main/ts/ui/A11y.ts (67%)
rename tools-ng/tinymce/{editor => }/src/themes/modern/main/ts/ui/ContextToolbars.ts (97%)
rename tools-ng/tinymce/{editor => }/src/themes/modern/main/ts/ui/Menubar.ts (94%)
rename tools-ng/tinymce/{editor => }/src/themes/modern/main/ts/ui/ProgressState.ts (59%)
rename tools-ng/tinymce/{editor => }/src/themes/modern/main/ts/ui/Render.ts (72%)
rename tools-ng/tinymce/{editor => }/src/themes/modern/main/ts/ui/Resize.ts (83%)
rename tools-ng/tinymce/{editor => }/src/themes/modern/main/ts/ui/Sidebar.ts (92%)
rename tools-ng/tinymce/{editor => }/src/themes/modern/main/ts/ui/SkinLoaded.ts (59%)
rename tools-ng/tinymce/{editor => }/src/themes/modern/main/ts/ui/Toolbar.ts (90%)
rename tools-ng/tinymce/{editor => }/src/themes/modern/test/.eslintrc (100%)
rename tools-ng/tinymce/{editor => }/src/themes/modern/test/ts/browser/BrandingDisabledTest.ts (100%)
rename tools-ng/tinymce/{editor => }/src/themes/modern/test/ts/browser/BrandingEnabledTest.ts (100%)
rename tools-ng/tinymce/{editor => }/src/themes/modern/test/ts/browser/DimensionsTest.ts (100%)
create mode 100644 tools-ng/tinymce/src/themes/modern/test/ts/browser/HideFloatPanelsTest.ts
rename tools-ng/tinymce/{editor => }/src/themes/modern/test/ts/browser/SidebarTest.ts (100%)
rename tools-ng/tinymce/{editor => }/src/themes/modern/test/ts/browser/SkinFalseInlineTest.ts (100%)
rename tools-ng/tinymce/{editor => }/src/themes/modern/test/ts/browser/SkinFalseTest.ts (100%)
rename tools-ng/tinymce/{editor => }/src/themes/modern/test/ts/browser/ui/MenubarTest.ts (100%)
rename tools-ng/tinymce/{editor => }/src/themes/modern/test/ts/module/test/ViewBlock.ts (100%)
rename tools-ng/tinymce/{editor => }/src/ui/main/ts/AbsoluteLayout.ts (84%)
rename tools-ng/tinymce/{editor => }/src/ui/main/ts/Api.ts (93%)
rename tools-ng/tinymce/{editor => }/src/ui/main/ts/BoxUtils.ts (89%)
rename tools-ng/tinymce/{editor => }/src/ui/main/ts/BrowseButton.ts (90%)
rename tools-ng/tinymce/{editor => }/src/ui/main/ts/Button.ts (95%)
rename tools-ng/tinymce/{editor => }/src/ui/main/ts/ButtonGroup.ts (83%)
rename tools-ng/tinymce/{editor => }/src/ui/main/ts/Checkbox.ts (93%)
rename tools-ng/tinymce/{editor => }/src/ui/main/ts/ClassList.ts (91%)
rename tools-ng/tinymce/{editor => }/src/ui/main/ts/Collection.ts (97%)
rename tools-ng/tinymce/{editor => }/src/ui/main/ts/ColorBox.ts (84%)
rename tools-ng/tinymce/{editor => }/src/ui/main/ts/ColorButton.ts (92%)
rename tools-ng/tinymce/{editor => }/src/ui/main/ts/ColorPicker.ts (95%)
rename tools-ng/tinymce/{editor => }/src/ui/main/ts/ComboBox.ts (97%)
rename tools-ng/tinymce/{editor => }/src/ui/main/ts/Container.ts (98%)
rename tools-ng/tinymce/{editor => }/src/ui/main/ts/Control.ts (99%)
rename tools-ng/tinymce/{editor => }/src/ui/main/ts/DomUtils.ts (91%)
rename tools-ng/tinymce/{editor => }/src/ui/main/ts/DragHelper.ts (93%)
rename tools-ng/tinymce/{editor => }/src/ui/main/ts/DropZone.ts (92%)
rename tools-ng/tinymce/{editor => }/src/ui/main/ts/ElementPath.ts (87%)
rename tools-ng/tinymce/{editor => }/src/ui/main/ts/FieldSet.ts (82%)
rename tools-ng/tinymce/{editor => }/src/ui/main/ts/FilePicker.ts (97%)
rename tools-ng/tinymce/{editor => }/src/ui/main/ts/FitLayout.ts (80%)
rename tools-ng/tinymce/{editor => }/src/ui/main/ts/FlexLayout.ts (97%)
rename tools-ng/tinymce/{editor => }/src/ui/main/ts/FloatPanel.ts (97%)
rename tools-ng/tinymce/{editor => }/src/ui/main/ts/FlowLayout.ts (75%)
rename tools-ng/tinymce/{editor => }/src/ui/main/ts/Form.ts (93%)
rename tools-ng/tinymce/{editor => }/src/ui/main/ts/FormItem.ts (82%)
rename tools-ng/tinymce/{editor => }/src/ui/main/ts/FormatControls.ts (86%)
rename tools-ng/tinymce/{editor => }/src/ui/main/ts/GridLayout.ts (96%)
rename tools-ng/tinymce/{editor => }/src/ui/main/ts/Iframe.ts (87%)
rename tools-ng/tinymce/{editor => }/src/ui/main/ts/InfoBox.ts (87%)
rename tools-ng/tinymce/{editor => }/src/ui/main/ts/KeyboardNavigation.ts (97%)
rename tools-ng/tinymce/{editor => }/src/ui/main/ts/Label.ts (92%)
rename tools-ng/tinymce/{editor => }/src/ui/main/ts/Layout.ts (90%)
rename tools-ng/tinymce/{editor => }/src/ui/main/ts/ListBox.ts (94%)
rename tools-ng/tinymce/{editor => }/src/ui/main/ts/Menu.ts (94%)
rename tools-ng/tinymce/{editor => }/src/ui/main/ts/MenuBar.ts (58%)
rename tools-ng/tinymce/{editor => }/src/ui/main/ts/MenuButton.ts (96%)
rename tools-ng/tinymce/{editor => }/src/ui/main/ts/MenuItem.ts (97%)
rename tools-ng/tinymce/{editor => }/src/ui/main/ts/MessageBox.ts (94%)
rename tools-ng/tinymce/{editor => }/src/ui/main/ts/Movable.ts (96%)
rename tools-ng/tinymce/{editor => }/src/ui/main/ts/Notification.ts (94%)
rename tools-ng/tinymce/{editor => }/src/ui/main/ts/NotificationManagerImpl.ts (90%)
rename tools-ng/tinymce/{editor => }/src/ui/main/ts/Panel.ts (83%)
rename tools-ng/tinymce/{editor => }/src/ui/main/ts/PanelButton.ts (91%)
rename tools-ng/tinymce/{editor => }/src/ui/main/ts/Path.ts (91%)
rename tools-ng/tinymce/{editor => }/src/ui/main/ts/Progress.ts (84%)
rename tools-ng/tinymce/{editor => }/src/ui/main/ts/Radio.ts (52%)
rename tools-ng/tinymce/{editor => }/src/ui/main/ts/ReflowQueue.ts (88%)
rename tools-ng/tinymce/{editor => }/src/ui/main/ts/Resizable.ts (84%)
rename tools-ng/tinymce/{editor => }/src/ui/main/ts/ResizeHandle.ts (85%)
rename tools-ng/tinymce/{editor => }/src/ui/main/ts/Scrollable.ts (94%)
rename tools-ng/tinymce/{editor => }/src/ui/main/ts/SelectBox.ts (90%)
rename tools-ng/tinymce/{editor => }/src/ui/main/ts/Selector.ts (97%)
rename tools-ng/tinymce/{editor => }/src/ui/main/ts/Slider.ts (95%)
rename tools-ng/tinymce/{editor => }/src/ui/main/ts/Spacer.ts (69%)
rename tools-ng/tinymce/{editor => }/src/ui/main/ts/SplitButton.ts (93%)
rename tools-ng/tinymce/{editor => }/src/ui/main/ts/StackLayout.ts (63%)
rename tools-ng/tinymce/{editor => }/src/ui/main/ts/TabPanel.ts (94%)
rename tools-ng/tinymce/{editor => }/src/ui/main/ts/TextBox.ts (95%)
rename tools-ng/tinymce/{editor => }/src/ui/main/ts/Throbber.ts (86%)
rename tools-ng/tinymce/{editor => }/src/ui/main/ts/Toolbar.ts (75%)
rename tools-ng/tinymce/{editor => }/src/ui/main/ts/Tooltip.ts (84%)
rename tools-ng/tinymce/{editor => }/src/ui/main/ts/UiContainer.ts (80%)
rename tools-ng/tinymce/{editor => }/src/ui/main/ts/Widget.ts (93%)
rename tools-ng/tinymce/{editor => }/src/ui/main/ts/Window.ts (98%)
rename tools-ng/tinymce/{editor => }/src/ui/main/ts/WindowManagerImpl.ts (91%)
rename tools-ng/tinymce/{editor => }/src/ui/main/ts/content/LinkTargets.ts (92%)
rename tools-ng/tinymce/{editor => }/src/ui/main/ts/data/Binding.ts (86%)
rename tools-ng/tinymce/{editor => }/src/ui/main/ts/data/ObservableArray.ts (94%)
rename tools-ng/tinymce/{editor => }/src/ui/main/ts/data/ObservableObject.ts (94%)
rename tools-ng/tinymce/{editor => }/src/ui/main/ts/editorui/Align.ts (88%)
rename tools-ng/tinymce/{editor => }/src/ui/main/ts/editorui/FontSelect.ts (92%)
rename tools-ng/tinymce/{editor => }/src/ui/main/ts/editorui/FontSizeSelect.ts (90%)
rename tools-ng/tinymce/{editor => }/src/ui/main/ts/editorui/FormatSelect.ts (91%)
rename tools-ng/tinymce/{editor => }/src/ui/main/ts/editorui/FormatUtils.ts (77%)
rename tools-ng/tinymce/{editor => }/src/ui/main/ts/editorui/Formats.ts (95%)
rename tools-ng/tinymce/{editor => }/src/ui/main/ts/editorui/InsertButton.ts (90%)
rename tools-ng/tinymce/{editor => }/src/ui/main/ts/editorui/SimpleControls.ts (92%)
rename tools-ng/tinymce/{editor => }/src/ui/main/ts/editorui/UndoRedo.ts (84%)
rename tools-ng/tinymce/{editor => }/src/ui/main/ts/editorui/VisualAid.ts (69%)
rename tools-ng/tinymce/{editor => }/src/ui/test/ts/browser/AbsoluteLayoutTest.ts (100%)
rename tools-ng/tinymce/{editor => }/src/ui/test/ts/browser/BoxUtilsMeasureBoxIframeDisplayNoneTest.ts (100%)
rename tools-ng/tinymce/{editor => }/src/ui/test/ts/browser/ButtonTest.ts (100%)
rename tools-ng/tinymce/{editor => }/src/ui/test/ts/browser/CollectionTest.ts (100%)
rename tools-ng/tinymce/{editor => }/src/ui/test/ts/browser/ColorButtonTest.ts (100%)
rename tools-ng/tinymce/{editor => }/src/ui/test/ts/browser/ControlTest.ts (98%)
rename tools-ng/tinymce/{editor => }/src/ui/test/ts/browser/FilePickerTest.ts (100%)
rename tools-ng/tinymce/{editor => }/src/ui/test/ts/browser/FitLayoutTest.ts (100%)
rename tools-ng/tinymce/{editor => }/src/ui/test/ts/browser/FlexLayoutTest.ts (100%)
rename tools-ng/tinymce/{editor => }/src/ui/test/ts/browser/GridLayoutTest.ts (100%)
rename tools-ng/tinymce/{editor => }/src/ui/test/ts/browser/ListBoxTest.ts (100%)
rename tools-ng/tinymce/{editor => }/src/ui/test/ts/browser/MenuButtonTest.ts (100%)
rename tools-ng/tinymce/{editor => }/src/ui/test/ts/browser/PanelTest.ts (100%)
rename tools-ng/tinymce/{editor => }/src/ui/test/ts/browser/SelectorTest.ts (100%)
rename tools-ng/tinymce/{editor => }/src/ui/test/ts/browser/SplitButtonTest.ts (100%)
rename tools-ng/tinymce/{editor => }/src/ui/test/ts/browser/TabPanelTest.ts (100%)
rename tools-ng/tinymce/{editor => }/src/ui/test/ts/browser/TextBoxTest.ts (100%)
rename tools-ng/tinymce/{editor => }/src/ui/test/ts/browser/WindowTest.ts (100%)
rename tools-ng/tinymce/{editor => }/src/ui/test/ts/browser/content/LinkTargetsTest.ts (100%)
rename tools-ng/tinymce/{editor => }/src/ui/test/ts/browser/data/ObservableObjectTest.ts (100%)
rename tools-ng/tinymce/{editor => }/src/ui/test/ts/module/test/UiUtils.ts (100%)
rename tools-ng/tinymce/{editor => }/src/ui/test/ts/module/test/ViewBlock.ts (100%)
create mode 100755 tools-ng/tinymce/tinymce.sh
rename tools-ng/tinymce/{editor => }/tools/docs/tinymce.CommandEvent.js (100%)
rename tools-ng/tinymce/{editor => }/tools/docs/tinymce.ContentEvent.js (100%)
rename tools-ng/tinymce/{editor => }/tools/docs/tinymce.Editor.js (100%)
rename tools-ng/tinymce/{editor => }/tools/docs/tinymce.Event.js (100%)
rename tools-ng/tinymce/{editor => }/tools/docs/tinymce.FocusEvent.js (100%)
rename tools-ng/tinymce/{editor => }/tools/docs/tinymce.ProgressStateEvent.js (100%)
rename tools-ng/tinymce/{editor => }/tools/docs/tinymce.ResizeEvent.js (100%)
rename tools-ng/tinymce/{editor => }/tools/docs/tinymce.js (100%)
rename tools-ng/tinymce/{editor => }/tools/modules/grunt-utils.js (100%)
rename tools-ng/tinymce/{editor => }/tools/modules/grunt-webpack.js (85%)
rename tools-ng/tinymce/{editor => }/tools/modules/zip-helper.js (100%)
rename tools-ng/tinymce/{editor => }/tools/tasks/bundle.js (100%)
rename tools-ng/tinymce/{editor => }/tools/tasks/globals.js (100%)
rename tools-ng/tinymce/{editor => }/tools/tasks/moxiezip.js (100%)
rename tools-ng/tinymce/{editor => }/tools/tasks/validateVersion.js (100%)
rename tools-ng/tinymce/{editor => }/tsconfig.json (97%)
rename tools-ng/tinymce/{editor => }/tsconfig.plugin.json (99%)
rename tools-ng/tinymce/{editor => }/tsconfig.theme.json (99%)
rename tools-ng/tinymce/{editor => }/tslint.json (100%)
diff --git a/tools-ng/tinymce/editor/.gitignore b/tools-ng/tinymce/.gitignore
similarity index 100%
rename from tools-ng/tinymce/editor/.gitignore
rename to tools-ng/tinymce/.gitignore
diff --git a/tools-ng/tinymce/Gruntfile.js b/tools-ng/tinymce/Gruntfile.js
new file mode 100644
index 000000000..ecaf3b685
--- /dev/null
+++ b/tools-ng/tinymce/Gruntfile.js
@@ -0,0 +1,1032 @@
+/*eslint-env node */
+
+let zipUtils = require("./tools/modules/zip-helper");
+let gruntUtils = require("./tools/modules/grunt-utils");
+let gruntWebPack = require("./tools/modules/grunt-webpack");
+let swag = require("@ephox/swag");
+let path = require("path");
+
+let plugins = [
+ "advlist",
+ "anchor",
+ "autolink",
+ "autoresize",
+ "autosave",
+ "bbcode",
+ "charmap",
+ "code",
+ "codesample",
+ "colorpicker",
+ /*'compat3x', */ "contextmenu",
+ "directionality",
+ "emoticons",
+ "help",
+ "fullpage",
+ "fullscreen",
+ "hr",
+ "image",
+ "imagetools",
+ "importcss",
+ "insertdatetime",
+ "legacyoutput",
+ "link",
+ "lists",
+ "media",
+ "nonbreaking",
+ "noneditable",
+ "pagebreak",
+ "paste",
+ "preview",
+ "print",
+ "save",
+ "searchreplace",
+ "spellchecker",
+ "tabfocus",
+ "table",
+ "template",
+ "textcolor",
+ "textpattern",
+ "toc",
+ "visualblocks",
+ "visualchars",
+ "wordcount",
+ "ccmcmsimages"
+];
+
+let themes = ["modern", "mobile", "inlite"];
+
+module.exports = function(grunt) {
+ var packageData = grunt.file.readJSON("package.json");
+ var changelogLine = grunt.file
+ .read("changelog.txt")
+ .toString()
+ .split("\n")[0];
+ var BUILD_VERSION =
+ packageData.version +
+ "-" +
+ (process.env.BUILD_NUMBER ? process.env.BUILD_NUMBER : "0");
+ packageData.date = /^Version [^\(]+\(([^\)]+)\)/.exec(changelogLine)[1];
+
+ grunt.initConfig({
+ pkg: packageData,
+
+ shell: {
+ tsc: { command: "node ./node_modules/typescript/bin/tsc" }
+ },
+
+ tslint: {
+ options: {
+ configuration: "tslint.json"
+ },
+ files: { src: ["src/**/*.ts"] }
+ },
+
+ globals: {
+ options: {
+ configFile: "src/core/main/json/globals.json",
+ outputDir: "lib/globals",
+ templateFile: "src/core/main/js/GlobalsTemplate.js"
+ }
+ },
+
+ rollup: Object.assign(
+ {
+ core: {
+ options: {
+ treeshake: true,
+ name: "tinymce",
+ format: "iife",
+ banner: "(function () {",
+ footer: "})();",
+ onwarn: swag.onwarn,
+ plugins: [
+ swag.nodeResolve({
+ basedir: __dirname,
+ prefixes: {
+ "tinymce/core": "lib/core/main/ts"
+ }
+ }),
+ swag.remapImports()
+ ]
+ },
+ files: [
+ {
+ src: "lib/core/main/ts/api/Main.js",
+ dest: "js/tinymce/tinymce.js"
+ }
+ ]
+ }
+ },
+ gruntUtils.generate(plugins, "plugin", name => {
+ return {
+ options: {
+ treeshake: true,
+ name: name,
+ format: "iife",
+ banner: "(function () {",
+ footer: "})();",
+ onwarn: swag.onwarn,
+ plugins: [
+ swag.nodeResolve({
+ basedir: __dirname,
+ prefixes: gruntUtils.prefixes(
+ {
+ "tinymce/core": "lib/globals/tinymce/core"
+ },
+ [
+ [
+ `tinymce/plugins/${name}`,
+ `lib/plugins/${name}/main/ts`
+ ]
+ ]
+ ),
+ mappers: [
+ swag.mappers.replaceDir(
+ "./lib/core/main/ts/api",
+ "./lib/globals/tinymce/core/api"
+ ),
+ swag.mappers.invalidDir("./lib/core/main/ts")
+ ]
+ }),
+ swag.remapImports()
+ ]
+ },
+ files: [
+ {
+ src: `lib/plugins/${name}/main/ts/Plugin.js`,
+ dest: `js/tinymce/plugins/${name}/plugin.js`
+ }
+ ]
+ };
+ }),
+ gruntUtils.generate(themes, "theme", name => {
+ return {
+ options: {
+ treeshake: true,
+ name: name,
+ format: "iife",
+ banner: "(function () {",
+ footer: "})();",
+ onwarn: swag.onwarn,
+ plugins: [
+ swag.nodeResolve({
+ basedir: __dirname,
+ prefixes: gruntUtils.prefixes(
+ {
+ "tinymce/core": "lib/globals/tinymce/core",
+ "tinymce/ui": "lib/ui/main/ts"
+ },
+ [[`tinymce/themes/${name}`, `lib/themes/${name}/main/ts`]]
+ ),
+ mappers: [
+ swag.mappers.replaceDir(
+ "./lib/core/main/ts/api",
+ "./lib/globals/tinymce/core/api"
+ ),
+ swag.mappers.invalidDir("./lib/core/main/ts")
+ ]
+ }),
+ swag.remapImports()
+ ]
+ },
+ files: [
+ {
+ src: `lib/themes/${name}/main/ts/Theme.js`,
+ dest: `js/tinymce/themes/${name}/theme.js`
+ }
+ ]
+ };
+ })
+ ),
+
+ uglify: Object.assign(
+ {
+ options: {
+ output: {
+ ascii_only: true
+ },
+ ie8: true
+ },
+ core: {
+ files: [
+ { src: "js/tinymce/tinymce.js", dest: "js/tinymce/tinymce.min.js" },
+ {
+ src: "src/core/main/js/JqueryIntegration.js",
+ dest: "js/tinymce/jquery.tinymce.min.js"
+ }
+ ]
+ },
+ "compat3x-plugin": {
+ files: [
+ {
+ src: "src/plugins/compat3x/main/js/plugin.js",
+ dest: "js/tinymce/plugins/compat3x/plugin.min.js"
+ }
+ ]
+ }
+ },
+ gruntUtils.generate(plugins, "plugin", name => {
+ return {
+ files: [
+ {
+ src: `js/tinymce/plugins/${name}/plugin.js`,
+ dest: `js/tinymce/plugins/${name}/plugin.min.js`
+ }
+ ]
+ };
+ }),
+ gruntUtils.generate(themes, "theme", name => {
+ return {
+ files: [
+ {
+ src: `js/tinymce/themes/${name}/theme.js`,
+ dest: `js/tinymce/themes/${name}/theme.min.js`
+ }
+ ]
+ };
+ })
+ ),
+
+ webpack: Object.assign(
+ {
+ core: () =>
+ gruntWebPack.create(
+ "src/core/demo/ts/demo/Demos.ts",
+ "tsconfig.json",
+ "scratch/demos/core",
+ "demo.js"
+ )
+ },
+ { plugins: () => gruntWebPack.allPlugins(plugins) },
+ { themes: () => gruntWebPack.allThemes(themes) },
+ gruntUtils.generate(plugins, "plugin", name => () =>
+ gruntWebPack.createPlugin(name)
+ ),
+ gruntUtils.generate(themes, "theme", name => () => gruntWebPack.createTheme(name))
+ ),
+
+ "webpack-dev-server": {
+ options: {
+ webpack: gruntWebPack.all(plugins, themes),
+ publicPath: "/",
+ inline: false,
+ port:
+ grunt.option("webpack-port") !== undefined
+ ? grunt.option("webpack-port")
+ : 3000,
+ host: "0.0.0.0",
+ disableHostCheck: true,
+ before: app => gruntWebPack.generateDemoIndex(grunt, app, plugins, themes)
+ },
+ start: {}
+ },
+
+ less: {
+ desktop: {
+ options: {
+ cleancss: true,
+ strictImports: true,
+ compress: true,
+ yuicompress: true,
+ sourceMap: true,
+ sourceMapRootpath: ".",
+ optimization: 2
+ },
+ files: {
+ "js/tinymce/skins/lightgray/skin.min.css":
+ "src/skins/lightgray/main/less/desktop/Skin.less"
+ }
+ },
+ mobile: {
+ options: {
+ plugins: [
+ new (require("less-plugin-autoprefix"))({
+ browsers: ["last 2 versions", /* for phantom */ "safari >= 4"]
+ })
+ ],
+ compress: true,
+ yuicompress: true,
+ sourceMap: true,
+ sourceMapRootpath: ".",
+ optimization: 2
+ },
+ files: {
+ "js/tinymce/skins/lightgray/skin.mobile.min.css":
+ "src/skins/lightgray/main/less/mobile/app/mobile-less.less"
+ }
+ },
+ "content-mobile": {
+ options: {
+ cleancss: true,
+ strictImports: true,
+ compress: true
+ },
+ files: {
+ "js/tinymce/skins/lightgray/content.mobile.min.css":
+ "src/skins/lightgray/main/less/mobile/content.less"
+ }
+ },
+ content: {
+ options: {
+ cleancss: true,
+ strictImports: true,
+ compress: true
+ },
+ files: {
+ "js/tinymce/skins/lightgray/content.min.css":
+ "src/skins/lightgray/main/less/desktop/Content.less"
+ }
+ },
+ "content-inline": {
+ options: {
+ cleancss: true,
+ strictImports: true,
+ compress: true
+ },
+ files: {
+ "js/tinymce/skins/lightgray/content.inline.min.css":
+ "src/skins/lightgray/main/less/desktop/Content.Inline.less"
+ }
+ }
+ },
+
+ copy: {
+ core: {
+ options: {
+ process: function(content) {
+ return content
+ .replace("@@majorVersion@@", packageData.version.split(".")[0])
+ .replace(
+ "@@minorVersion@@",
+ packageData.version
+ .split(".")
+ .slice(1)
+ .join(".")
+ )
+ .replace("@@releaseDate@@", packageData.date);
+ }
+ },
+ files: [
+ {
+ src: "js/tinymce/tinymce.js",
+ dest: "js/tinymce/tinymce.js"
+ },
+ {
+ src: "js/tinymce/tinymce.min.js",
+ dest: "js/tinymce/tinymce.min.js"
+ },
+ {
+ src: "src/core/main/text/readme_lang.md",
+ dest: "js/tinymce/langs/readme.md"
+ },
+ {
+ src: "LICENSE.TXT",
+ dest: "js/tinymce/license.txt"
+ }
+ ]
+ },
+ skins: {
+ files: [
+ {
+ expand: true,
+ flatten: true,
+ cwd: "src/skins/lightgray/main/fonts",
+ src: ["**", "!*.json", "!*.md"],
+ dest: "js/tinymce/skins/lightgray/fonts"
+ },
+ {
+ expand: true,
+ flatten: true,
+ cwd: "src/skins/lightgray/main/img",
+ src: "**",
+ dest: "js/tinymce/skins/lightgray/img"
+ }
+ ]
+ },
+ plugins: {
+ files: [
+ {
+ expand: true,
+ cwd: "src/plugins/compat3x/main",
+ src: ["img/**"],
+ dest: "js/tinymce/plugins/compat3x"
+ },
+ {
+ expand: true,
+ cwd: "src/plugins/compat3x/main",
+ src: ["css/**"],
+ dest: "js/tinymce/plugins/compat3x"
+ },
+ {
+ expand: true,
+ cwd: "src/plugins/compat3x/main/js",
+ src: ["utils/**", "plugin.js", "tiny_mce_popup.js"],
+ dest: "js/tinymce/plugins/compat3x"
+ },
+ {
+ src: "src/plugins/codesample/main/css/prism.css",
+ dest: "js/tinymce/plugins/codesample/css/prism.css"
+ }
+ ]
+ },
+ "emoticons-plugin": {
+ files: [
+ {
+ flatten: true,
+ expand: true,
+ cwd: "src/plugins/emoticons/main/img",
+ src: "*.gif",
+ dest: "js/tinymce/plugins/emoticons/img/"
+ }
+ ]
+ },
+ "help-plugin": {
+ files: [
+ {
+ src: "src/plugins/help/main/img/logo.png",
+ dest: "js/tinymce/plugins/help/img/logo.png"
+ }
+ ]
+ },
+ "visualblocks-plugin": {
+ files: [
+ {
+ src: "src/plugins/visualblocks/main/css/visualblocks.css",
+ dest: "js/tinymce/plugins/visualblocks/css/visualblocks.css"
+ }
+ ]
+ }
+ },
+
+ moxiezip: {
+ production: {
+ options: {
+ baseDir: "tinymce",
+ excludes: [
+ "js/**/plugin.js",
+ "js/**/theme.js",
+ "js/**/*.map",
+ "js/tinymce/tinymce.full.min.js",
+ "js/tinymce/plugins/moxiemanager",
+ "js/tinymce/plugins/compat3x",
+ "js/tinymce/plugins/visualblocks/img",
+ "js/tinymce/skins/*/fonts/*.json",
+ "js/tinymce/skins/*/fonts/readme.md",
+ "readme.md"
+ ],
+ to: "tmp/tinymce_<%= pkg.version %>.zip"
+ },
+ src: [
+ "js/tinymce/langs",
+ "js/tinymce/plugins",
+ "js/tinymce/skins",
+ "js/tinymce/themes",
+ "js/tinymce/tinymce.min.js",
+ "js/tinymce/jquery.tinymce.min.js",
+ "js/tinymce/license.txt",
+ "changelog.txt",
+ "LICENSE.TXT",
+ "readme.md"
+ ]
+ },
+
+ development: {
+ options: {
+ baseDir: "tinymce",
+ excludes: [
+ "src/**/dist",
+ "src/**/scratch",
+ "src/**/lib",
+ "src/**/dependency",
+ "js/tinymce/tinymce.full.min.js",
+ "js/tests/.jshintrc"
+ ],
+ to: "tmp/tinymce_<%= pkg.version %>_dev.zip"
+ },
+ src: [
+ "config",
+ "src",
+ "js",
+ "tests",
+ "tools",
+ "changelog.txt",
+ "LICENSE.TXT",
+ "Gruntfile.js",
+ "readme.md",
+ "package.json",
+ ".eslintrc",
+ ".jscsrc",
+ ".jshintrc"
+ ]
+ },
+ cdn: {
+ options: {
+ onBeforeSave: function(zip) {
+ zip.addData("dist/version.txt", packageData.version);
+ },
+ pathFilter: function(zipFilePath) {
+ return zipFilePath.replace("js/tinymce/", "dist/");
+ },
+ excludes: [
+ "js/**/config",
+ "js/**/scratch",
+ "js/**/classes",
+ "js/**/lib",
+ "js/**/dependency",
+ "js/**/src",
+ "js/**/*.less",
+ "js/**/*.dev.js",
+ "js/**/*.dev.svg",
+ "js/**/*.map",
+ "js/tinymce/tinymce.full.min.js",
+ "js/tinymce/plugins/moxiemanager",
+ "js/tinymce/plugins/visualblocks/img",
+ "js/tinymce/skins/*/fonts/*.json",
+ "js/tinymce/skins/*/fonts/*.dev.svg",
+ "js/tinymce/skins/*/fonts/readme.md",
+ "readme.md",
+ "js/tests/.jshintrc"
+ ],
+ concat: [
+ {
+ src: [
+ "js/tinymce/tinymce.min.js",
+ "js/tinymce/themes/*/theme.min.js",
+ "js/tinymce/plugins/*/plugin.min.js",
+ "!js/tinymce/plugins/compat3x/plugin.min.js",
+ "!js/tinymce/plugins/example/plugin.min.js",
+ "!js/tinymce/plugins/example_dependency/plugin.min.js"
+ ],
+
+ dest: ["js/tinymce/tinymce.min.js"]
+ }
+ ],
+ to: "tmp/tinymce_<%= pkg.version %>_cdn.zip"
+ },
+ src: [
+ "js/tinymce/jquery.tinymce.min.js",
+ "js/tinymce/tinymce.js",
+ "js/tinymce/langs",
+ "js/tinymce/plugins",
+ "js/tinymce/skins",
+ "js/tinymce/themes",
+ "js/tinymce/license.txt"
+ ]
+ },
+
+ component: {
+ options: {
+ excludes: [
+ "js/**/config",
+ "js/**/scratch",
+ "js/**/classes",
+ "js/**/lib",
+ "js/**/dependency",
+ "js/**/src",
+ "js/**/*.less",
+ "js/**/*.dev.svg",
+ "js/**/*.dev.js",
+ "js/**/*.map",
+ "js/tinymce/tinymce.full.min.js",
+ "js/tinymce/plugins/moxiemanager",
+ "js/tinymce/plugins/example",
+ "js/tinymce/plugins/example_dependency",
+ "js/tinymce/plugins/compat3x",
+ "js/tinymce/plugins/visualblocks/img",
+ "js/tinymce/skins/*/fonts/*.json",
+ "js/tinymce/skins/*/fonts/readme.md"
+ ],
+ pathFilter: function(zipFilePath) {
+ if (zipFilePath.indexOf("js/tinymce/") === 0) {
+ return zipFilePath.substr("js/tinymce/".length);
+ }
+
+ return zipFilePath;
+ },
+ onBeforeSave: function(zip) {
+ function jsonToBuffer(json) {
+ return new Buffer(JSON.stringify(json, null, "\t"));
+ }
+
+ zip.addData(
+ "bower.json",
+ jsonToBuffer({
+ name: "tinymce",
+ description:
+ "Web based JavaScript HTML WYSIWYG editor control.",
+ license: "LGPL-2.1",
+ keywords: [
+ "editor",
+ "wysiwyg",
+ "tinymce",
+ "richtext",
+ "javascript",
+ "html"
+ ],
+ homepage: "http://www.tinymce.com",
+ ignore: [
+ "readme.md",
+ "composer.json",
+ "package.json",
+ ".npmignore",
+ "changelog.txt"
+ ]
+ })
+ );
+
+ zip.addData(
+ "package.json",
+ jsonToBuffer({
+ name: "tinymce",
+ version: packageData.version,
+ repository: {
+ type: "git",
+ url: "https://github.com/tinymce/tinymce-dist.git"
+ },
+ description:
+ "Web based JavaScript HTML WYSIWYG editor control.",
+ author: "Ephox Corporation",
+ main: "tinymce.js",
+ license: "LGPL-2.1",
+ keywords: [
+ "editor",
+ "wysiwyg",
+ "tinymce",
+ "richtext",
+ "javascript",
+ "html"
+ ],
+ bugs: { url: "https://github.com/tinymce/tinymce/issues" }
+ })
+ );
+
+ zip.addData(
+ "composer.json",
+ jsonToBuffer({
+ name: "tinymce/tinymce",
+ version: packageData.version,
+ description:
+ "Web based JavaScript HTML WYSIWYG editor control.",
+ license: ["LGPL-2.1-only"],
+ keywords: [
+ "editor",
+ "wysiwyg",
+ "tinymce",
+ "richtext",
+ "javascript",
+ "html"
+ ],
+ homepage: "http://www.tinymce.com",
+ type: "component",
+ extra: {
+ component: {
+ scripts: [
+ "tinymce.js",
+ "plugins/*/plugin.js",
+ "themes/*/theme.js"
+ ],
+ files: [
+ "tinymce.min.js",
+ "plugins/*/plugin.min.js",
+ "themes/*/theme.min.js",
+ "skins/**"
+ ]
+ }
+ },
+ archive: {
+ exclude: [
+ "readme.md",
+ "bower.js",
+ "package.json",
+ ".npmignore",
+ "changelog.txt"
+ ]
+ }
+ })
+ );
+
+ zip.addFile("jquery.tinymce.js", "js/tinymce/jquery.tinymce.min.js");
+
+ var getDirs = zipUtils.getDirectories(grunt, this.excludes);
+
+ zipUtils.addIndexFiles(
+ zip,
+ getDirs("js/tinymce/plugins"),
+ zipUtils.generateIndex("plugins", "plugin")
+ );
+ zipUtils.addIndexFiles(
+ zip,
+ getDirs("js/tinymce/themes"),
+ zipUtils.generateIndex("themes", "theme")
+ );
+ },
+ to: "tmp/tinymce_<%= pkg.version %>_component.zip"
+ },
+ src: [
+ "js/tinymce/skins",
+ "js/tinymce/plugins",
+ "js/tinymce/themes",
+ "js/tinymce/tinymce.js",
+ "js/tinymce/tinymce.min.js",
+ "js/tinymce/jquery.tinymce.min.js",
+ "js/tinymce/license.txt",
+ "changelog.txt",
+ "readme.md"
+ ]
+ }
+ },
+
+ nugetpack: {
+ main: {
+ options: {
+ id: "TinyMCE",
+ version: packageData.version,
+ authors: "Ephox Corp",
+ owners: "Ephox Corp",
+ description:
+ "The best WYSIWYG editor! TinyMCE is a platform independent web based Javascript HTML WYSIWYG editor " +
+ "control released as Open Source under LGPL by Ephox Corp. TinyMCE has the ability to convert HTML " +
+ "TEXTAREA fields or other HTML elements to editor instances. TinyMCE is very easy to integrate " +
+ "into other Content Management Systems.",
+ releaseNotes: "Release notes for my package.",
+ summary:
+ "TinyMCE is a platform independent web based Javascript HTML WYSIWYG editor " +
+ "control released as Open Source under LGPL by Ephox Corp.",
+ projectUrl: "http://www.tinymce.com/",
+ iconUrl: "http://www.tinymce.com/favicon.ico",
+ licenseUrl: "http://www.tinymce.com/license",
+ requireLicenseAcceptance: true,
+ tags: "Editor TinyMCE HTML HTMLEditor",
+ excludes: [
+ "js/**/config",
+ "js/**/scratch",
+ "js/**/classes",
+ "js/**/lib",
+ "js/**/dependency",
+ "js/**/src",
+ "js/**/*.less",
+ "js/**/*.dev.svg",
+ "js/**/*.dev.js",
+ "js/**/*.map",
+ "js/tinymce/tinymce.full.min.js"
+ ],
+ outputDir: "tmp"
+ },
+ files: [
+ { src: "js/tinymce/langs", dest: "/content/scripts/tinymce/langs" },
+ { src: "js/tinymce/plugins", dest: "/content/scripts/tinymce/plugins" },
+ { src: "js/tinymce/themes", dest: "/content/scripts/tinymce/themes" },
+ { src: "js/tinymce/skins", dest: "/content/scripts/tinymce/skins" },
+ {
+ src: "js/tinymce/tinymce.js",
+ dest: "/content/scripts/tinymce/tinymce.js"
+ },
+ {
+ src: "js/tinymce/tinymce.min.js",
+ dest: "/content/scripts/tinymce/tinymce.min.js"
+ },
+ {
+ src: "js/tinymce/jquery.tinymce.min.js",
+ dest: "/content/scripts/tinymce/jquery.tinymce.min.js"
+ },
+ {
+ src: "js/tinymce/license.txt",
+ dest: "/content/scripts/tinymce/license.txt"
+ }
+ ]
+ },
+
+ jquery: {
+ options: {
+ id: "TinyMCE.jQuery",
+ title: "TinyMCE.jQuery [Deprecated]",
+ version: packageData.version,
+ authors: "Ephox Corp",
+ owners: "Ephox Corp",
+ description:
+ "This package has been deprecated use https://www.nuget.org/packages/TinyMCE/",
+ releaseNotes:
+ "This package has been deprecated use https://www.nuget.org/packages/TinyMCE/",
+ summary:
+ "This package has been deprecated use https://www.nuget.org/packages/TinyMCE/",
+ projectUrl: "http://www.tinymce.com/",
+ iconUrl: "http://www.tinymce.com/favicon.ico",
+ licenseUrl: "http://www.tinymce.com/license",
+ requireLicenseAcceptance: true,
+ tags: "Editor TinyMCE HTML HTMLEditor",
+ excludes: [
+ "js/**/config",
+ "js/**/scratch",
+ "js/**/classes",
+ "js/**/lib",
+ "js/**/dependency",
+ "js/**/src",
+ "js/**/*.less",
+ "js/**/*.dev.svg",
+ "js/**/*.dev.js",
+ "js/**/*.map",
+ "js/tinymce/tinymce.full.min.js"
+ ],
+ outputDir: "tmp"
+ },
+
+ files: [
+ { src: "js/tinymce/langs", dest: "/content/scripts/tinymce/langs" },
+ { src: "js/tinymce/plugins", dest: "/content/scripts/tinymce/plugins" },
+ { src: "js/tinymce/themes", dest: "/content/scripts/tinymce/themes" },
+ { src: "js/tinymce/skins", dest: "/content/scripts/tinymce/skins" },
+ {
+ src: "js/tinymce/tinymce.js",
+ dest: "/content/scripts/tinymce/tinymce.js"
+ },
+ {
+ src: "js/tinymce/tinymce.min.js",
+ dest: "/content/scripts/tinymce/tinymce.min.js"
+ },
+ {
+ src: "js/tinymce/jquery.tinymce.min.js",
+ dest: "/content/scripts/tinymce/jquery.tinymce.min.js"
+ },
+ {
+ src: "js/tinymce/license.txt",
+ dest: "/content/scripts/tinymce/license.txt"
+ }
+ ]
+ }
+ },
+
+ bundle: {
+ minified: {
+ options: {
+ themesDir: "js/tinymce/themes",
+ pluginsDir: "js/tinymce/plugins",
+ pluginFileName: "plugin.min.js",
+ themeFileName: "theme.min.js",
+ outputPath: "js/tinymce/tinymce.full.min.js"
+ },
+
+ src: ["js/tinymce/tinymce.min.js"]
+ },
+
+ source: {
+ options: {
+ themesDir: "js/tinymce/themes",
+ pluginsDir: "js/tinymce/plugins",
+ pluginFileName: "plugin.js",
+ themeFileName: "theme.js",
+ outputPath: "js/tinymce/tinymce.full.js"
+ },
+
+ src: ["js/tinymce/tinymce.js"]
+ }
+ },
+
+ clean: {
+ dist: ["js"],
+ lib: ["lib"],
+ scratch: ["scratch"],
+ release: ["tmp"]
+ },
+
+ "bedrock-manual": {
+ core: {
+ config: "tsconfig.json",
+ projectdir: ".",
+ stopOnFailure: true,
+ testfiles: [
+ "src/**/test/ts/atomic/**/*Test.ts",
+ "src/**/test/ts/browser/**/*Test.ts"
+ ],
+ customRoutes: "src/core/test/json/routes.json"
+ }
+ },
+
+ "bedrock-auto": {
+ phantomjs: {
+ browser: "phantomjs",
+ config: "tsconfig.json",
+ testfiles: ["src/**/test/ts/**/*Test.ts"],
+ stopOnFailure: true,
+ overallTimeout: 600000,
+ singleTimeout: 300000,
+ customRoutes: "src/core/test/json/routes.json",
+ name: "phantomjs"
+ },
+ "chrome-headless": {
+ browser: "chrome-headless",
+ config: "tsconfig.json",
+ testfiles: ["src/**/test/ts/**/*Test.ts"],
+ stopOnFailure: true,
+ overallTimeout: 600000,
+ singleTimeout: 300000,
+ customRoutes: "src/core/test/json/routes.json",
+ name: "chrome-headless"
+ },
+ "firefox-headless": {
+ browser: "firefox-headless",
+ config: "tsconfig.json",
+ testfiles: ["src/**/test/ts/**/*Test.ts"],
+ stopOnFailure: true,
+ overallTimeout: 600000,
+ singleTimeout: 300000,
+ customRoutes: "src/core/test/json/routes.json",
+ name: "firefox-headless"
+ },
+ chrome: {
+ browser: "chrome",
+ config: "tsconfig.json",
+ testfiles: ["src/**/test/ts/**/*Test.ts"],
+ stopOnFailure: true,
+ overallTimeout: 600000,
+ singleTimeout: 300000,
+ customRoutes: "src/core/test/json/routes.json",
+ name: "chrome"
+ },
+ firefox: {
+ browser: "firefox",
+ config: "tsconfig.json",
+ testfiles: ["src/**/test/ts/**/*Test.ts"],
+ stopOnFailure: true,
+ overallTimeout: 600000,
+ singleTimeout: 300000,
+ customRoutes: "src/core/test/json/routes.json",
+ name: "firefox"
+ },
+ MicrosoftEdge: {
+ browser: "MicrosoftEdge",
+ config: "tsconfig.json",
+ testfiles: ["src/**/test/ts/**/*Test.ts"],
+ stopOnFailure: true,
+ overallTimeout: 600000,
+ singleTimeout: 300000,
+ customRoutes: "src/core/test/json/routes.json",
+ name: "MicrosoftEdge"
+ },
+ ie: {
+ browser: "ie",
+ config: "tsconfig.json",
+ testfiles: ["src/**/test/ts/**/*Test.ts"],
+ stopOnFailure: true,
+ overallTimeout: 600000,
+ singleTimeout: 300000,
+ customRoutes: "src/core/test/json/routes.json",
+ name: "ie"
+ }
+ },
+
+ watch: {
+ skins: {
+ files: ["src/skins/lightgray/main/less/**/*"],
+ tasks: ["less", "copy:skins"],
+ options: {
+ spawn: false
+ }
+ }
+ }
+ });
+
+ grunt.registerTask("version", "Creates a version file", function() {
+ grunt.file.write("tmp/version.txt", BUILD_VERSION);
+ });
+
+ grunt.registerTask("build-headers", "Appends build headers to js files", function() {
+ var header = "// " + packageData.version + " (" + packageData.date + ")\n";
+ grunt.file.write(
+ "js/tinymce/tinymce.js",
+ header + grunt.file.read("js/tinymce/tinymce.js")
+ );
+ grunt.file.write(
+ "js/tinymce/tinymce.min.js",
+ header + grunt.file.read("js/tinymce/tinymce.min.js")
+ );
+ });
+
+ require("load-grunt-tasks")(grunt);
+ grunt.loadTasks("tools/tasks");
+ grunt.loadNpmTasks("@ephox/bedrock");
+ grunt.loadNpmTasks("@ephox/swag");
+ grunt.loadNpmTasks("grunt-tslint");
+
+ grunt.registerTask("prod", [
+ "validateVersion",
+ "shell:tsc",
+ "tslint",
+ "globals",
+ "rollup",
+ "uglify",
+ "less",
+ "copy",
+ "build-headers",
+ "clean:release",
+ "moxiezip",
+ "nugetpack",
+ "version"
+ ]);
+
+ grunt.registerTask("dev", ["shell:tsc", "globals", "rollup", "less", "copy"]);
+
+ grunt.registerTask("start", ["webpack-dev-server"]);
+
+ grunt.registerTask("default", ["prod"]);
+ grunt.registerTask("test", ["bedrock-auto:phantomjs"]);
+};
diff --git a/tools-ng/tinymce/editor/LICENSE.TXT b/tools-ng/tinymce/LICENSE.TXT
similarity index 100%
rename from tools-ng/tinymce/editor/LICENSE.TXT
rename to tools-ng/tinymce/LICENSE.TXT
diff --git a/tools-ng/tinymce/TinyMCE Instructions.md b/tools-ng/tinymce/TinyMCE Instructions.md
index 587c4ffdb..b17ee270e 100644
--- a/tools-ng/tinymce/TinyMCE Instructions.md
+++ b/tools-ng/tinymce/TinyMCE Instructions.md
@@ -12,8 +12,11 @@ waf.bebop.dhtml_editor_src=/assets/tinymce/js/tinymce/tinymce.min.js
This change will only take effect after you've run `ant load-bundle` again and restarted your installation.
-## How to compile an individual plugin
+## How to compile the editor and the plugins
-After you changed a plugin in `tools-ng/tinymce/plugins`, you may want to see this changes reflected in your installation for testing. To do this, you need to change into the directory of the plugin and execute `npm run build`. Of course you need to have `npm` installed to do this.
+Use the handy `tinymce.sh` script for that. You can do the following things:
-After you've done this, you need to recompile your code. You can do this by running `ant deploy`.
\ No newline at end of file
+- `./tinymce.sh` - Sets up the environment for compiling and builds the whole editor with all plugins. You can find the compiled files in `editor/js`
+- `./tinymce.sh build` - Builds everything (Editor, Plugins, Themes, ...)
+- `./tinymce.sh plugin ` - To compile a single plugin run this with the desired plugin name. The plugin will also be copied into `ccm-core`
+- `./tinymce.sh test ` - Similar to `plugin`, but without linting and copies the files into the current runtime for instant testing.
diff --git a/tools-ng/tinymce/editor/changelog.txt b/tools-ng/tinymce/changelog.txt
similarity index 97%
rename from tools-ng/tinymce/editor/changelog.txt
rename to tools-ng/tinymce/changelog.txt
index 73bde11af..a783e2a7f 100644
--- a/tools-ng/tinymce/editor/changelog.txt
+++ b/tools-ng/tinymce/changelog.txt
@@ -1,3 +1,24 @@
+Version 4.9.2 (2018-12-17)
+ Fixed a bug with pressing the space key on IE 11 would result in nbsp characters being inserted between words at the end of a block. #TINY-2996
+ Fixed a bug where character composition using quote and space on US International keyboards would produce a space instead of a quote. #TINY-2999
+ Fixed a bug where remove format wouldn't remove the inner most inline element in some situations. #TINY-2982
+ Fixed a bug where outdenting an list item would affect attributes on other list items within the same list. #TINY-2971
+ Fixed a bug where the DomParser filters wouldn't be applied for elements created when parsing invalid html. #TINY-2978
+ Fixed a bug where setProgressState wouldn't automatically close floating ui elements like menus. #TINY-2896
+ Fixed a bug where it wasn't possible to navigate out of a figcaption element using the arrow keys. #TINY-2894
+ Fixed a bug where enter key before an image inside a link would remove the image. #TINY-2780
+Version 4.9.1 (2018-12-04)
+ Added functionality to insert html to the replacement feature of the Textpattern Plugin. #TINY-2839
+ Fixed a bug where `editor.selection.getContent({format: 'text'})` didn't work as expected in IE11 on an unfocused editor. #TINY-2862
+ Fixed a bug in the Textpattern Plugin where the editor would get an incorrect selection after inserting a text pattern on Safari. #TINY-2838
+ Fixed a bug where the space bar didn't work correctly in editors with the forced_root_block setting set to false. #TINY-2816
+Version 4.9.0 (2018-11-27)
+ Added a replace feature to the Textpattern Plugin. #TINY-1908
+ Added functionality to the Lists Plugin that improves the indentation logic. #TINY-1790
+ Fixed a bug where it wasn't possible to delete/backspace when the caret was between a contentEditable=false element and a BR. #TINY-2372
+ Fixed a bug where copying table cells without a text selection would fail to copy anything. #TINY-1789
+ Implemented missing `autosave_restore_when_empty` functionality in the Autosave Plugin. Patch contributed by gzzo. #GH-4447
+ Reduced insertion of unnecessary nonbreaking spaces in the editor. #TINY-1879
Version 4.8.5 (2018-10-30)
Added a content_css_cors setting to the editor that adds the crossorigin="anonymous" attribute to link tags added by the StyleSheetLoader. #TINY-1909
Fixed a bug where trying to remove formatting with a collapsed selection range would throw an exception. #GH-4636
diff --git a/tools-ng/tinymce/editor/.editorconfig b/tools-ng/tinymce/editor/.editorconfig
deleted file mode 100644
index 04281c366..000000000
--- a/tools-ng/tinymce/editor/.editorconfig
+++ /dev/null
@@ -1,8 +0,0 @@
-root = true
-
-[*]
-charset = utf-8
-indent_style = space
-indent_size = 2
-trim_trailing_whitespace = true
-end_of_line = lf
diff --git a/tools-ng/tinymce/editor/.gitattributes b/tools-ng/tinymce/editor/.gitattributes
deleted file mode 100644
index e2f482943..000000000
--- a/tools-ng/tinymce/editor/.gitattributes
+++ /dev/null
@@ -1,16 +0,0 @@
-* eol=lf
-*.jar binary
-*.gif binary
-*.png binary
-*.jpg binary
-*.swf binary
-*.xap binary
-*.zip binary
-*.eot binary
-*.woff binary
-*.ttf binary
-*.mov binary
-*.avi binary
-*.flv binary
-*.rm binary
-*.dcr binary
diff --git a/tools-ng/tinymce/editor/.github/ISSUE_TEMPLATE.md b/tools-ng/tinymce/editor/.github/ISSUE_TEMPLATE.md
deleted file mode 100644
index ddbadeb25..000000000
--- a/tools-ng/tinymce/editor/.github/ISSUE_TEMPLATE.md
+++ /dev/null
@@ -1,9 +0,0 @@
-**Do you want to request a *feature* or report a *bug*?**
-
-**What is the current behavior?**
-
-**If the current behavior is a bug, please provide the steps to reproduce and if possible a minimal demo of the problem via [fiddle.tinymce.com](http://fiddle.tinymce.com/) or similar.**
-
-**What is the expected behavior?**
-
-**Which versions of TinyMCE, and which browser / OS are affected by this issue? Did this work in previous versions of TinyMCE?**
\ No newline at end of file
diff --git a/tools-ng/tinymce/editor/.github/PULL_REQUEST_TEMPLATE.md b/tools-ng/tinymce/editor/.github/PULL_REQUEST_TEMPLATE.md
deleted file mode 100644
index 350621ffe..000000000
--- a/tools-ng/tinymce/editor/.github/PULL_REQUEST_TEMPLATE.md
+++ /dev/null
@@ -1,7 +0,0 @@
-**Before submitting a pull request** please do the following:
-
-1. Fork [the repository](https://github.com/tinymce/tinymce) and create your branch from `master`
-2. Have you added some code that should be tested? Write some tests! (Are you unsure how to write the test you want to write, ask us for help!)
-3. Ensure that the tests pass: `grunt test`
-4. Ensure that your code passes the linter: `grunt lint`
-5. Make sure to sign the CLA.
\ No newline at end of file
diff --git a/tools-ng/tinymce/editor/Gruntfile.js b/tools-ng/tinymce/editor/Gruntfile.js
deleted file mode 100644
index 6d814e5a6..000000000
--- a/tools-ng/tinymce/editor/Gruntfile.js
+++ /dev/null
@@ -1,825 +0,0 @@
-/*eslint-env node */
-
-let zipUtils = require('./tools/modules/zip-helper');
-let gruntUtils = require('./tools/modules/grunt-utils');
-let gruntWebPack = require('./tools/modules/grunt-webpack');
-let swag = require('@ephox/swag');
-let path = require('path');
-
-let plugins = [
- 'advlist', 'anchor', 'autolink', 'autoresize', 'autosave', 'bbcode', 'charmap', 'code', 'codesample',
- 'colorpicker', /*'compat3x', */ 'contextmenu', 'directionality', 'emoticons', 'help', 'fullpage',
- 'fullscreen', 'hr', 'image', 'imagetools', 'importcss', 'insertdatetime', 'legacyoutput', 'link',
- 'lists', 'media', 'nonbreaking', 'noneditable', 'pagebreak', 'paste', 'preview', 'print', 'save',
- 'searchreplace', 'spellchecker', 'tabfocus', 'table', 'template', 'textcolor', 'textpattern', 'toc',
- 'visualblocks', 'visualchars', 'wordcount',
-];
-
-let themes = [
- 'modern', 'mobile', 'inlite'
-];
-
-module.exports = function (grunt) {
- var packageData = grunt.file.readJSON('package.json');
- var changelogLine = grunt.file.read('changelog.txt').toString().split('\n')[0];
- var BUILD_VERSION = packageData.version + '-' + (process.env.BUILD_NUMBER ? process.env.BUILD_NUMBER : '0');
- packageData.date = /^Version [^\(]+\(([^\)]+)\)/.exec(changelogLine)[1];
-
- grunt.initConfig({
- pkg: packageData,
-
- shell: {
- tsc: { command: 'node ./node_modules/typescript/bin/tsc' }
- },
-
- tslint: {
- options: {
- configuration: 'tslint.json'
- },
- files: { src: [ 'src/**/*.ts' ] }
- },
-
- globals: {
- options: {
- configFile: 'src/core/main/json/globals.json',
- outputDir: 'lib/globals',
- templateFile: 'src/core/main/js/GlobalsTemplate.js'
- }
- },
-
- rollup: Object.assign(
- {
- core: {
- options: {
- treeshake: true,
- name: 'tinymce',
- format: 'iife',
- banner: '(function () {',
- footer: '})();',
- plugins: [
- swag.nodeResolve({
- basedir: __dirname,
- prefixes: {
- 'tinymce/core': 'lib/core/main/ts'
- }
- }),
- swag.remapImports()
- ]
- },
- files:[
- {
- src: 'lib/core/main/ts/api/Main.js',
- dest: 'js/tinymce/tinymce.js'
- }
- ]
- }
- },
- gruntUtils.generate(plugins, 'plugin', (name) => {
- return {
- options: {
- treeshake: true,
- name: name,
- format: 'iife',
- banner: '(function () {',
- footer: '})();',
- plugins: [
- swag.nodeResolve({
- basedir: __dirname,
- prefixes: gruntUtils.prefixes({
- 'tinymce/core': 'lib/globals/tinymce/core'
- }, [
- [`tinymce/plugins/${name}`, `lib/plugins/${name}/main/ts`]
- ])
- }),
- swag.remapImports()
- ]
- },
- files:[ { src: `lib/plugins/${name}/main/ts/Plugin.js`, dest: `js/tinymce/plugins/${name}/plugin.js` } ]
- };
- }),
- gruntUtils.generate(themes, 'theme', (name) => {
- return {
- options: {
- treeshake: true,
- name: name,
- format: 'iife',
- banner: '(function () {',
- footer: '})();',
- plugins: [
- swag.nodeResolve({
- basedir: __dirname,
- prefixes: gruntUtils.prefixes({
- 'tinymce/core': 'lib/globals/tinymce/core',
- 'tinymce/ui': 'lib/ui/main/ts'
- }, [
- [`tinymce/themes/${name}`, `lib/themes/${name}/main/ts`]
- ])
- }),
- swag.remapImports()
- ]
- },
- files:[
- {
- src: `lib/themes/${name}/main/ts/Theme.js`,
- dest: `js/tinymce/themes/${name}/theme.js`
- }
- ]
- };
- })
- ),
-
- uglify: Object.assign(
- {
- options: {
- output: {
- ascii_only: true,
- },
- ie8: true
- },
- core: {
- files: [
- { src: 'js/tinymce/tinymce.js', dest: 'js/tinymce/tinymce.min.js' },
- { src: 'src/core/main/js/JqueryIntegration.js', dest: 'js/tinymce/jquery.tinymce.min.js' }
- ]
- },
- 'compat3x-plugin': {
- files: [
- {
- src: 'src/plugins/compat3x/main/js/plugin.js',
- dest: 'js/tinymce/plugins/compat3x/plugin.min.js'
- }
- ]
- }
- },
- gruntUtils.generate(plugins, 'plugin', (name) => {
- return {
- files: [ { src: `js/tinymce/plugins/${name}/plugin.js`, dest: `js/tinymce/plugins/${name}/plugin.min.js` } ]
- };
- }),
- gruntUtils.generate(themes, 'theme', (name) => {
- return {
- files: [ { src: `js/tinymce/themes/${name}/theme.js`, dest: `js/tinymce/themes/${name}/theme.min.js` } ]
- };
- })
- ),
-
- webpack: Object.assign(
- {core: () => gruntWebPack.create('src/core/demo/ts/demo/Demos.ts', 'tsconfig.json', 'scratch/demos/core', 'demo.js')},
- {plugins: () => gruntWebPack.allPlugins(plugins)},
- {themes: () => gruntWebPack.allThemes(themes)},
- gruntUtils.generate(plugins, 'plugin', (name) => () => gruntWebPack.createPlugin(name) ),
- gruntUtils.generate(themes, 'theme', (name) => () => gruntWebPack.createTheme(name) )
- ),
-
- 'webpack-dev-server': {
- options: {
- webpack: gruntWebPack.all(plugins, themes),
- publicPath: '/',
- inline: false,
- port: grunt.option('webpack-port') !== undefined ? grunt.option('webpack-port') : 3000,
- host: '0.0.0.0',
- disableHostCheck: true,
- before: app => gruntWebPack.generateDemoIndex(grunt, app, plugins, themes)
- },
- start: { }
- },
-
- less: {
- desktop: {
- options: {
- cleancss: true,
- strictImports: true,
- compress: true,
- yuicompress: true,
- sourceMap: true,
- sourceMapRootpath: '.',
- optimization: 2
- },
- files: {
- 'js/tinymce/skins/lightgray/skin.min.css': 'src/skins/lightgray/main/less/desktop/Skin.less'
- }
- },
- mobile: {
- options: {
- plugins : [ new (require('less-plugin-autoprefix'))({ browsers : [ 'last 2 versions', /* for phantom */'safari >= 4' ] }) ],
- compress: true,
- yuicompress: true,
- sourceMap: true,
- sourceMapRootpath: '.',
- optimization: 2
- },
- files: {
- 'js/tinymce/skins/lightgray/skin.mobile.min.css': 'src/skins/lightgray/main/less/mobile/app/mobile-less.less'
- }
- },
- 'content-mobile': {
- options: {
- cleancss: true,
- strictImports: true,
- compress: true
- },
- files: {
- 'js/tinymce/skins/lightgray/content.mobile.min.css': 'src/skins/lightgray/main/less/mobile/content.less'
- }
- },
- content: {
- options: {
- cleancss: true,
- strictImports: true,
- compress: true
- },
- files: {
- 'js/tinymce/skins/lightgray/content.min.css': 'src/skins/lightgray/main/less/desktop/Content.less'
- }
- },
- 'content-inline': {
- options: {
- cleancss: true,
- strictImports: true,
- compress: true
- },
- files: {
- 'js/tinymce/skins/lightgray/content.inline.min.css': 'src/skins/lightgray/main/less/desktop/Content.Inline.less'
- }
- }
- },
-
- copy: {
- core: {
- options: {
- process: function (content) {
- return content.
- replace('@@majorVersion@@', packageData.version.split('.')[0]).
- replace('@@minorVersion@@', packageData.version.split('.').slice(1).join('.')).
- replace('@@releaseDate@@', packageData.date);
- }
- },
- files: [
- {
- src: 'js/tinymce/tinymce.js',
- dest: 'js/tinymce/tinymce.js'
- },
- {
- src: 'js/tinymce/tinymce.min.js',
- dest: 'js/tinymce/tinymce.min.js'
- },
- {
- src: 'src/core/main/text/readme_lang.md',
- dest: 'js/tinymce/langs/readme.md'
- },
- {
- src: 'LICENSE.TXT',
- dest: 'js/tinymce/license.txt'
- }
- ]
- },
- skins: {
- files: [
- {
- expand: true,
- flatten: true,
- cwd: 'src/skins/lightgray/main/fonts',
- src: [
- '**',
- '!*.json',
- '!*.md'
- ],
- dest: 'js/tinymce/skins/lightgray/fonts'
- },
- {
- expand: true,
- flatten: true,
- cwd: 'src/skins/lightgray/main/img',
- src: '**',
- dest: 'js/tinymce/skins/lightgray/img'
- }
- ]
- },
- plugins: {
- files: [
- { expand: true, cwd: 'src/plugins/compat3x/main', src: ['img/**'], dest: 'js/tinymce/plugins/compat3x' },
- { expand: true, cwd: 'src/plugins/compat3x/main', src: ['css/**'], dest: 'js/tinymce/plugins/compat3x' },
- { expand: true, cwd: 'src/plugins/compat3x/main/js', src: ['utils/**', 'plugin.js', 'tiny_mce_popup.js'], dest: 'js/tinymce/plugins/compat3x' },
- { src: 'src/plugins/codesample/main/css/prism.css', dest: 'js/tinymce/plugins/codesample/css/prism.css' }
- ]
- },
- 'emoticons-plugin': {
- files: [
- {
- flatten: true,
- expand: true,
- cwd: 'src/plugins/emoticons/main/img',
- src: '*.gif',
- dest: 'js/tinymce/plugins/emoticons/img/'
- }
- ]
- },
- 'help-plugin': {
- files: [
- { src: 'src/plugins/help/main/img/logo.png', dest: 'js/tinymce/plugins/help/img/logo.png' }
- ]
- },
- 'visualblocks-plugin': {
- files: [
- { src: 'src/plugins/visualblocks/main/css/visualblocks.css', dest: 'js/tinymce/plugins/visualblocks/css/visualblocks.css' }
- ]
- }
- },
-
- moxiezip: {
- production: {
- options: {
- baseDir: 'tinymce',
- excludes: [
- 'js/**/plugin.js',
- 'js/**/theme.js',
- 'js/**/*.map',
- 'js/tinymce/tinymce.full.min.js',
- 'js/tinymce/plugins/moxiemanager',
- 'js/tinymce/plugins/compat3x',
- 'js/tinymce/plugins/visualblocks/img',
- 'js/tinymce/skins/*/fonts/*.json',
- 'js/tinymce/skins/*/fonts/readme.md',
- 'readme.md'
- ],
- to: 'tmp/tinymce_<%= pkg.version %>.zip'
- },
- src: [
- 'js/tinymce/langs',
- 'js/tinymce/plugins',
- 'js/tinymce/skins',
- 'js/tinymce/themes',
- 'js/tinymce/tinymce.min.js',
- 'js/tinymce/jquery.tinymce.min.js',
- 'js/tinymce/license.txt',
- 'changelog.txt',
- 'LICENSE.TXT',
- 'readme.md'
- ]
- },
-
- development: {
- options: {
- baseDir: 'tinymce',
- excludes: [
- 'src/**/dist',
- 'src/**/scratch',
- 'src/**/lib',
- 'src/**/dependency',
- 'js/tinymce/tinymce.full.min.js',
- 'js/tests/.jshintrc'
- ],
- to: 'tmp/tinymce_<%= pkg.version %>_dev.zip'
- },
- src: [
- 'config',
- 'src',
- 'js',
- 'tests',
- 'tools',
- 'changelog.txt',
- 'LICENSE.TXT',
- 'Gruntfile.js',
- 'readme.md',
- 'package.json',
- '.eslintrc',
- '.jscsrc',
- '.jshintrc'
- ]
- },
- cdn: {
- options: {
- onBeforeSave: function (zip) {
- zip.addData('dist/version.txt', packageData.version);
- },
- pathFilter: function (zipFilePath) {
- return zipFilePath.replace('js/tinymce/', 'dist/');
- },
- excludes: [
- 'js/**/config',
- 'js/**/scratch',
- 'js/**/classes',
- 'js/**/lib',
- 'js/**/dependency',
- 'js/**/src',
- 'js/**/*.less',
- 'js/**/*.dev.js',
- 'js/**/*.dev.svg',
- 'js/**/*.map',
- 'js/tinymce/tinymce.full.min.js',
- 'js/tinymce/plugins/moxiemanager',
- 'js/tinymce/plugins/visualblocks/img',
- 'js/tinymce/skins/*/fonts/*.json',
- 'js/tinymce/skins/*/fonts/*.dev.svg',
- 'js/tinymce/skins/*/fonts/readme.md',
- 'readme.md',
- 'js/tests/.jshintrc'
- ],
- concat: [
- {
- src: [
- 'js/tinymce/tinymce.min.js',
- 'js/tinymce/themes/*/theme.min.js',
- 'js/tinymce/plugins/*/plugin.min.js',
- '!js/tinymce/plugins/compat3x/plugin.min.js',
- '!js/tinymce/plugins/example/plugin.min.js',
- '!js/tinymce/plugins/example_dependency/plugin.min.js'
- ],
-
- dest: [
- 'js/tinymce/tinymce.min.js'
- ]
- }
- ],
- to: 'tmp/tinymce_<%= pkg.version %>_cdn.zip'
- },
- src: [
- 'js/tinymce/jquery.tinymce.min.js',
- 'js/tinymce/tinymce.js',
- 'js/tinymce/langs',
- 'js/tinymce/plugins',
- 'js/tinymce/skins',
- 'js/tinymce/themes',
- 'js/tinymce/license.txt'
- ]
- },
-
- component: {
- options: {
- excludes: [
- 'js/**/config',
- 'js/**/scratch',
- 'js/**/classes',
- 'js/**/lib',
- 'js/**/dependency',
- 'js/**/src',
- 'js/**/*.less',
- 'js/**/*.dev.svg',
- 'js/**/*.dev.js',
- 'js/**/*.map',
- 'js/tinymce/tinymce.full.min.js',
- 'js/tinymce/plugins/moxiemanager',
- 'js/tinymce/plugins/example',
- 'js/tinymce/plugins/example_dependency',
- 'js/tinymce/plugins/compat3x',
- 'js/tinymce/plugins/visualblocks/img',
- 'js/tinymce/skins/*/fonts/*.json',
- 'js/tinymce/skins/*/fonts/readme.md'
- ],
- pathFilter: function (zipFilePath) {
- if (zipFilePath.indexOf('js/tinymce/') === 0) {
- return zipFilePath.substr('js/tinymce/'.length);
- }
-
- return zipFilePath;
- },
- onBeforeSave: function (zip) {
- function jsonToBuffer(json) {
- return new Buffer(JSON.stringify(json, null, '\t'));
- }
-
- zip.addData('bower.json', jsonToBuffer({
- 'name': 'tinymce',
- 'description': 'Web based JavaScript HTML WYSIWYG editor control.',
- 'license': 'LGPL-2.1',
- 'keywords': ['editor', 'wysiwyg', 'tinymce', 'richtext', 'javascript', 'html'],
- 'homepage': 'http://www.tinymce.com',
- 'ignore': ['readme.md', 'composer.json', 'package.json', '.npmignore', 'changelog.txt']
- }));
-
- zip.addData('package.json', jsonToBuffer({
- 'name': 'tinymce',
- 'version': packageData.version,
- 'repository': {
- 'type': 'git',
- 'url': 'https://github.com/tinymce/tinymce-dist.git'
- },
- 'description': 'Web based JavaScript HTML WYSIWYG editor control.',
- 'author': 'Ephox Corporation',
- 'main': 'tinymce.js',
- 'license': 'LGPL-2.1',
- 'keywords': ['editor', 'wysiwyg', 'tinymce', 'richtext', 'javascript', 'html'],
- 'bugs': { 'url': 'https://github.com/tinymce/tinymce/issues' }
- }));
-
- zip.addData('composer.json', jsonToBuffer({
- 'name': 'tinymce/tinymce',
- 'version': packageData.version,
- 'description': 'Web based JavaScript HTML WYSIWYG editor control.',
- 'license': ['LGPL-2.1-only'],
- 'keywords': ['editor', 'wysiwyg', 'tinymce', 'richtext', 'javascript', 'html'],
- 'homepage': 'http://www.tinymce.com',
- 'type': 'component',
- 'extra': {
- 'component': {
- 'scripts': [
- 'tinymce.js',
- 'plugins/*/plugin.js',
- 'themes/*/theme.js'
- ],
- 'files': [
- 'tinymce.min.js',
- 'plugins/*/plugin.min.js',
- 'themes/*/theme.min.js',
- 'skins/**'
- ]
- }
- },
- 'archive': {
- 'exclude': ['readme.md', 'bower.js', 'package.json', '.npmignore', 'changelog.txt']
- }
- }));
-
- zip.addFile(
- 'jquery.tinymce.js',
- 'js/tinymce/jquery.tinymce.min.js'
- );
-
- var getDirs = zipUtils.getDirectories(grunt, this.excludes);
-
- zipUtils.addIndexFiles(
- zip,
- getDirs('js/tinymce/plugins'),
- zipUtils.generateIndex('plugins', 'plugin')
- );
- zipUtils.addIndexFiles(
- zip,
- getDirs('js/tinymce/themes'),
- zipUtils.generateIndex('themes', 'theme')
- );
- },
- to: 'tmp/tinymce_<%= pkg.version %>_component.zip'
- },
- src: [
- 'js/tinymce/skins',
- 'js/tinymce/plugins',
- 'js/tinymce/themes',
- 'js/tinymce/tinymce.js',
- 'js/tinymce/tinymce.min.js',
- 'js/tinymce/jquery.tinymce.min.js',
- 'js/tinymce/license.txt',
- 'changelog.txt',
- 'readme.md'
- ]
- }
- },
-
- nugetpack: {
- main: {
- options: {
- id: 'TinyMCE',
- version: packageData.version,
- authors: 'Ephox Corp',
- owners: 'Ephox Corp',
- description: 'The best WYSIWYG editor! TinyMCE is a platform independent web based Javascript HTML WYSIWYG editor ' +
- 'control released as Open Source under LGPL by Ephox Corp. TinyMCE has the ability to convert HTML ' +
- 'TEXTAREA fields or other HTML elements to editor instances. TinyMCE is very easy to integrate ' +
- 'into other Content Management Systems.',
- releaseNotes: 'Release notes for my package.',
- summary: 'TinyMCE is a platform independent web based Javascript HTML WYSIWYG editor ' +
- 'control released as Open Source under LGPL by Ephox Corp.',
- projectUrl: 'http://www.tinymce.com/',
- iconUrl: 'http://www.tinymce.com/favicon.ico',
- licenseUrl: 'http://www.tinymce.com/license',
- requireLicenseAcceptance: true,
- tags: 'Editor TinyMCE HTML HTMLEditor',
- excludes: [
- 'js/**/config',
- 'js/**/scratch',
- 'js/**/classes',
- 'js/**/lib',
- 'js/**/dependency',
- 'js/**/src',
- 'js/**/*.less',
- 'js/**/*.dev.svg',
- 'js/**/*.dev.js',
- 'js/**/*.map',
- 'js/tinymce/tinymce.full.min.js'
- ],
- outputDir: 'tmp'
- },
- files: [
- { src: 'js/tinymce/langs', dest: '/content/scripts/tinymce/langs' },
- { src: 'js/tinymce/plugins', dest: '/content/scripts/tinymce/plugins' },
- { src: 'js/tinymce/themes', dest: '/content/scripts/tinymce/themes' },
- { src: 'js/tinymce/skins', dest: '/content/scripts/tinymce/skins' },
- { src: 'js/tinymce/tinymce.js', dest: '/content/scripts/tinymce/tinymce.js' },
- { src: 'js/tinymce/tinymce.min.js', dest: '/content/scripts/tinymce/tinymce.min.js' },
- { src: 'js/tinymce/jquery.tinymce.min.js', dest: '/content/scripts/tinymce/jquery.tinymce.min.js' },
- { src: 'js/tinymce/license.txt', dest: '/content/scripts/tinymce/license.txt' }
- ]
- },
-
- jquery: {
- options: {
- id: 'TinyMCE.jQuery',
- title: 'TinyMCE.jQuery [Deprecated]',
- version: packageData.version,
- authors: 'Ephox Corp',
- owners: 'Ephox Corp',
- description: 'This package has been deprecated use https://www.nuget.org/packages/TinyMCE/',
- releaseNotes: 'This package has been deprecated use https://www.nuget.org/packages/TinyMCE/',
- summary: 'This package has been deprecated use https://www.nuget.org/packages/TinyMCE/',
- projectUrl: 'http://www.tinymce.com/',
- iconUrl: 'http://www.tinymce.com/favicon.ico',
- licenseUrl: 'http://www.tinymce.com/license',
- requireLicenseAcceptance: true,
- tags: 'Editor TinyMCE HTML HTMLEditor',
- excludes: [
- 'js/**/config',
- 'js/**/scratch',
- 'js/**/classes',
- 'js/**/lib',
- 'js/**/dependency',
- 'js/**/src',
- 'js/**/*.less',
- 'js/**/*.dev.svg',
- 'js/**/*.dev.js',
- 'js/**/*.map',
- 'js/tinymce/tinymce.full.min.js'
- ],
- outputDir: 'tmp'
- },
-
- files: [
- { src: 'js/tinymce/langs', dest: '/content/scripts/tinymce/langs' },
- { src: 'js/tinymce/plugins', dest: '/content/scripts/tinymce/plugins' },
- { src: 'js/tinymce/themes', dest: '/content/scripts/tinymce/themes' },
- { src: 'js/tinymce/skins', dest: '/content/scripts/tinymce/skins' },
- { src: 'js/tinymce/tinymce.js', dest: '/content/scripts/tinymce/tinymce.js' },
- { src: 'js/tinymce/tinymce.min.js', dest: '/content/scripts/tinymce/tinymce.min.js' },
- { src: 'js/tinymce/jquery.tinymce.min.js', dest: '/content/scripts/tinymce/jquery.tinymce.min.js' },
- { src: 'js/tinymce/license.txt', dest: '/content/scripts/tinymce/license.txt' }
- ]
- }
- },
-
- bundle: {
- minified: {
- options: {
- themesDir: 'js/tinymce/themes',
- pluginsDir: 'js/tinymce/plugins',
- pluginFileName: 'plugin.min.js',
- themeFileName: 'theme.min.js',
- outputPath: 'js/tinymce/tinymce.full.min.js'
- },
-
- src: [
- 'js/tinymce/tinymce.min.js'
- ]
- },
-
- source: {
- options: {
- themesDir: 'js/tinymce/themes',
- pluginsDir: 'js/tinymce/plugins',
- pluginFileName: 'plugin.js',
- themeFileName: 'theme.js',
- outputPath: 'js/tinymce/tinymce.full.js'
- },
-
- src: [
- 'js/tinymce/tinymce.js'
- ]
- }
- },
-
- clean: {
- dist: ['js'],
- lib: ['lib'],
- scratch: ['scratch'],
- release: ['tmp']
- },
-
- 'bedrock-manual': {
- core: {
- config: 'tsconfig.json',
- projectdir: '.',
- stopOnFailure: true,
- testfiles: [
- 'src/**/test/ts/atomic/**/*Test.ts',
- 'src/**/test/ts/browser/**/*Test.ts'
- ],
- customRoutes: 'src/core/test/json/routes.json'
- }
- },
-
- 'bedrock-auto': {
- phantomjs: {
- browser: 'phantomjs',
- config: 'tsconfig.json',
- testfiles: ['src/**/test/ts/**/*Test.ts'],
- stopOnFailure: true,
- overallTimeout: 600000,
- singleTimeout: 300000,
- customRoutes: 'src/core/test/json/routes.json',
- name: 'phantomjs'
- },
- 'chrome-headless': {
- browser: 'chrome-headless',
- config: 'tsconfig.json',
- testfiles: ['src/**/test/ts/**/*Test.ts'],
- stopOnFailure: true,
- overallTimeout: 600000,
- singleTimeout: 300000,
- customRoutes: 'src/core/test/json/routes.json',
- name: 'chrome-headless'
- },
- chrome: {
- browser: 'chrome',
- config: 'tsconfig.json',
- testfiles: ['src/**/test/ts/**/*Test.ts'],
- stopOnFailure: true,
- overallTimeout: 600000,
- singleTimeout: 300000,
- customRoutes: 'src/core/test/json/routes.json',
- name: 'chrome'
- },
- firefox: {
- browser: 'firefox',
- config: 'tsconfig.json',
- testfiles: ['src/**/test/ts/**/*Test.ts'],
- stopOnFailure: true,
- overallTimeout: 600000,
- singleTimeout: 300000,
- customRoutes: 'src/core/test/json/routes.json',
- name: 'firefox'
- },
- MicrosoftEdge: {
- browser: 'MicrosoftEdge',
- config: 'tsconfig.json',
- testfiles: ['src/**/test/ts/**/*Test.ts'],
- stopOnFailure: true,
- overallTimeout: 600000,
- singleTimeout: 300000,
- customRoutes: 'src/core/test/json/routes.json',
- name: 'MicrosoftEdge'
- },
- ie: {
- browser: 'ie',
- config: 'tsconfig.json',
- testfiles: ['src/**/test/ts/**/*Test.ts'],
- stopOnFailure: true,
- overallTimeout: 600000,
- singleTimeout: 300000,
- customRoutes: 'src/core/test/json/routes.json',
- name: 'ie'
- }
- },
-
- watch: {
- skins: {
- files: ['src/skins/lightgray/main/less/**/*'],
- tasks: ['less', 'copy:skins'],
- options: {
- spawn: false
- }
- }
- }
- });
-
- grunt.registerTask('version', 'Creates a version file', function () {
- grunt.file.write('tmp/version.txt', BUILD_VERSION);
- });
-
- grunt.registerTask('build-headers', 'Appends build headers to js files', function () {
- var header = '// ' + packageData.version + ' (' + packageData.date + ')\n';
- grunt.file.write('js/tinymce/tinymce.js', header + grunt.file.read('js/tinymce/tinymce.js'));
- grunt.file.write('js/tinymce/tinymce.min.js', header + grunt.file.read('js/tinymce/tinymce.min.js'));
- });
-
- require('load-grunt-tasks')(grunt);
- grunt.loadTasks('tools/tasks');
- grunt.loadNpmTasks('@ephox/bedrock');
- grunt.loadNpmTasks('@ephox/swag');
- grunt.loadNpmTasks('grunt-tslint');
-
- grunt.registerTask('prod', [
- 'validateVersion',
- 'shell:tsc',
- 'tslint',
- 'globals',
- 'rollup',
- 'uglify',
- 'less',
- 'copy',
- 'build-headers',
- 'clean:release',
- 'moxiezip',
- 'nugetpack',
- 'version'
- ]);
-
- grunt.registerTask('dev', [
- 'shell:tsc',
- 'globals',
- 'rollup',
- 'less',
- 'copy'
- ]);
-
- grunt.registerTask('start', ['webpack-dev-server']);
-
- grunt.registerTask('default', ['prod']);
- grunt.registerTask('test', ['bedrock-auto:phantomjs']);
-};
diff --git a/tools-ng/tinymce/editor/readme.md b/tools-ng/tinymce/editor/readme.md
deleted file mode 100644
index 84907ae46..000000000
--- a/tools-ng/tinymce/editor/readme.md
+++ /dev/null
@@ -1,99 +0,0 @@
-TinyMCE - JavaScript Library for Rich Text Editing
-===================================================
-
-Building TinyMCE
------------------
-Install [Node.js](https://nodejs.org/en/) on your system.
-Clone this repository on your system
-```
-$ git clone https://github.com/tinymce/tinymce.git
-```
-Open a console and go to the project directory.
-```
-$ cd tinymce/
-```
-Install `grunt` command line tool globally.
-```
-$ npm i -g grunt-cli
-```
-Install all package dependencies.
-```
-$ npm install
-```
-Now, build TinyMCE by using `grunt`.
-```
-$ grunt
-```
-
-
-Build tasks
-------------
-`grunt`
-Lints, compiles, minifies and creates release packages for TinyMCE. This will produce the production ready packages.
-
-`grunt start`
-Starts a webpack-dev-server that compiles the core, themes, plugins and all demos. Go to `localhost:3000` for a list of links to all the demo pages.
-
-`grunt dev`
-Runs tsc, webpack and less. This will only produce the bare essentials for a development build and is a lot faster.
-
-`grunt test`
-Runs all tests on PhantomJS.
-
-`grunt bedrock-manual`
-Runs all tests manually in a browser.
-
-`grunt bedrock-auto:`
-Runs all tests through selenium browsers supported are chrome, firefox, ie, MicrosoftEdge, chrome-headless and phantomjs.
-
-`grunt webpack:core`
-Builds the demo js files for the core part of tinymce this is required to get the core demos working.
-
-`grunt webpack:plugins`
-Builds the demo js files for the plugins part of tinymce this is required to get the plugins demos working.
-
-`grunt webpack:themes`
-Builds the demo js files for the themes part of tinymce this is required to get the themes demos working.
-
-`grunt webpack:-plugin`
-Builds the demo js files for the specific plugin.
-
-`grunt webpack:-theme`
-Builds the demo js files for the specific theme.
-
-`grunt --help`
-Displays the various build tasks.
-
-Bundle themes and plugins into a single file
----------------------------------------------
-`grunt bundle --themes=modern --plugins=table,paste`
-
-Minifies the core, adds the modern theme and adds the table and paste plugin into tinymce.min.js.
-
-Contributing to the TinyMCE project
-------------------------------------
-TinyMCE is an open source software project and we encourage developers to contribute patches and code to be included in the main package of TinyMCE.
-
-__Basic Rules__
-
-* Contributed code will be licensed under the LGPL license but not limited to LGPL
-* Copyright notices will be changed to Ephox Corporation, contributors will get credit for their work
-* All third party code will be reviewed, tested and possibly modified before being released
-* All contributors will have to have signed the Contributor License Agreement
-
-These basic rules ensures that the contributed code remains open source and under the LGPL license.
-
-__How to Contribute to the Code__
-
-The TinyMCE source code is [hosted on Github](https://github.com/tinymce/tinymce). Through Github you can submit pull requests and log new bugs and feature requests.
-
-When you submit a pull request, you will get a notice about signing the __Contributors License Agreement (CLA)__.
-You should have a __valid email address on your GitHub account__, and you will be sent a key to verify your identity and digitally sign the agreement.
-
-After you signed your pull request will automatically be ready for review & merge.
-
-__How to Contribute to the Docs__
-
-Docs are hosted on Github in the [tinymce-docs](https://github.com/tinymce/tinymce-docs) repo.
-
-[How to contribute](https://www.tinymce.com/docs/advanced/contributing-docs/) to the docs, including a style guide, can be found on the TinyMCE website.
diff --git a/tools-ng/tinymce/editor/src/core/main/ts/api/dom/NativeTypes.ts b/tools-ng/tinymce/editor/src/core/main/ts/api/dom/NativeTypes.ts
deleted file mode 100644
index 4ab5d94b5..000000000
--- a/tools-ng/tinymce/editor/src/core/main/ts/api/dom/NativeTypes.ts
+++ /dev/null
@@ -1,14 +0,0 @@
-/**
- * NativeTypes.ts
- *
- * Released under LGPL License.
- * Copyright (c) 1999-2018 Ephox Corp. All rights reserved
- *
- * License: http://www.tinymce.com/license
- * Contributing: http://www.tinymce.com/contributing
- */
-
-import { Selection } from '@ephox/dom-globals';
-
-// tslint:disable-next-line:no-empty-interface
-export interface NativeSelection extends Selection {}
diff --git a/tools-ng/tinymce/editor/src/core/main/ts/keyboard/InputKeys.ts b/tools-ng/tinymce/editor/src/core/main/ts/keyboard/InputKeys.ts
deleted file mode 100644
index 15934faad..000000000
--- a/tools-ng/tinymce/editor/src/core/main/ts/keyboard/InputKeys.ts
+++ /dev/null
@@ -1,25 +0,0 @@
-/**
- * InputKeys.ts
- *
- * Released under LGPL License.
- * Copyright (c) 1999-2018 Ephox Corp. All rights reserved
- *
- * License: http://www.tinymce.com/license
- * Contributing: http://www.tinymce.com/contributing
- */
-
-import { Editor } from '../api/Editor';
-import { normalizeNbspsInEditor } from './Nbsps';
-
-const setup = (editor: Editor) => {
- editor.on('input', (e) => {
- // We only care about non composing inputs since moving the caret or modifying the text node will blow away the IME
- if (e.isComposing === false) {
- normalizeNbspsInEditor(editor);
- }
- });
-};
-
-export {
- setup
-};
\ No newline at end of file
diff --git a/tools-ng/tinymce/editor/src/core/main/ts/newline/InsertNewLine.ts b/tools-ng/tinymce/editor/src/core/main/ts/newline/InsertNewLine.ts
deleted file mode 100644
index 635209f35..000000000
--- a/tools-ng/tinymce/editor/src/core/main/ts/newline/InsertNewLine.ts
+++ /dev/null
@@ -1,30 +0,0 @@
-/**
- * InsertNewLine.js
- *
- * Released under LGPL License.
- * Copyright (c) 1999-2017 Ephox Corp. All rights reserved
- *
- * License: http://www.tinymce.com/license
- * Contributing: http://www.tinymce.com/contributing
- */
-
-import { Fun } from '@ephox/katamari';
-import InsertBlock from './InsertBlock';
-import InsertBr from './InsertBr';
-import NewLineAction from './NewLineAction';
-
-const insert = function (editor, evt) {
- NewLineAction.getAction(editor, evt).fold(
- function () {
- InsertBr.insert(editor, evt);
- },
- function () {
- InsertBlock.insert(editor, evt);
- },
- Fun.noop
- );
-};
-
-export default {
- insert
-};
\ No newline at end of file
diff --git a/tools-ng/tinymce/editor/src/core/main/ts/selection/GetSelectionContent.ts b/tools-ng/tinymce/editor/src/core/main/ts/selection/GetSelectionContent.ts
deleted file mode 100644
index 1782b4502..000000000
--- a/tools-ng/tinymce/editor/src/core/main/ts/selection/GetSelectionContent.ts
+++ /dev/null
@@ -1,68 +0,0 @@
-/**
- * GetSelectionContent.js
- *
- * Released under LGPL License.
- * Copyright (c) 1999-2017 Ephox Corp. All rights reserved
- *
- * License: http://www.tinymce.com/license
- * Contributing: http://www.tinymce.com/contributing
- */
-
-import { Element } from '@ephox/sugar';
-import EventProcessRanges from './EventProcessRanges';
-import FragmentReader from './FragmentReader';
-import MultiRange from './MultiRange';
-import Zwsp from '../text/Zwsp';
-
-const getContent = function (editor, args) {
- const rng = editor.selection.getRng(), tmpElm = editor.dom.create('body');
- const sel = editor.selection.getSel();
- let fragment;
- const ranges = EventProcessRanges.processRanges(editor, MultiRange.getRanges(sel));
-
- args = args || {};
- args.get = true;
- args.format = args.format || 'html';
- args.selection = true;
-
- args = editor.fire('BeforeGetContent', args);
- if (args.isDefaultPrevented()) {
- editor.fire('GetContent', args);
- return args.content;
- }
-
- if (args.format === 'text') {
- return editor.selection.isCollapsed() ? '' : Zwsp.trim(rng.text || (sel.toString ? sel.toString() : ''));
- }
-
- if (rng.cloneContents) {
- fragment = args.contextual ? FragmentReader.read(Element.fromDom(editor.getBody()), ranges).dom() : rng.cloneContents();
- if (fragment) {
- tmpElm.appendChild(fragment);
- }
- } else if (rng.item !== undefined || rng.htmlText !== undefined) {
- // IE will produce invalid markup if elements are present that
- // it doesn't understand like custom elements or HTML5 elements.
- // Adding a BR in front of the contents and then remoiving it seems to fix it though.
- tmpElm.innerHTML = ' ' + (rng.item ? rng.item(0).outerHTML : rng.htmlText);
- tmpElm.removeChild(tmpElm.firstChild);
- } else {
- tmpElm.innerHTML = rng.toString();
- }
-
- args.getInner = true;
-
- const content = editor.selection.serializer.serialize(tmpElm, args);
- if (args.format === 'tree') {
- return content;
- }
-
- args.content = editor.selection.isCollapsed() ? '' : content;
- editor.fire('GetContent', args);
-
- return args.content;
-};
-
-export default {
- getContent
-};
\ No newline at end of file
diff --git a/tools-ng/tinymce/editor/src/core/main/ts/text/Bidi.ts b/tools-ng/tinymce/editor/src/core/main/ts/text/Bidi.ts
deleted file mode 100644
index 2ce1746d3..000000000
--- a/tools-ng/tinymce/editor/src/core/main/ts/text/Bidi.ts
+++ /dev/null
@@ -1,17 +0,0 @@
-/**
- * Bidi.js
- *
- * Released under LGPL License.
- * Copyright (c) 1999-2017 Ephox Corp. All rights reserved
- *
- * License: http://www.tinymce.com/license
- * Contributing: http://www.tinymce.com/contributing
- */
-
-const strongRtl = /[\u0591-\u07FF\uFB1D-\uFDFF\uFE70-\uFEFC]/;
-
-const hasStrongRtl = (text: string) => strongRtl.test(text);
-
-export {
- hasStrongRtl
-};
\ No newline at end of file
diff --git a/tools-ng/tinymce/editor/src/core/main/ts/util/Fun.ts b/tools-ng/tinymce/editor/src/core/main/ts/util/Fun.ts
deleted file mode 100644
index 2db93c2b4..000000000
--- a/tools-ng/tinymce/editor/src/core/main/ts/util/Fun.ts
+++ /dev/null
@@ -1,90 +0,0 @@
-/**
- * Fun.js
- *
- * Released under LGPL License.
- * Copyright (c) 1999-2017 Ephox Corp. All rights reserved
- *
- * License: http://www.tinymce.com/license
- * Contributing: http://www.tinymce.com/contributing
- */
-
-/**
- * Functional utility class.
- *
- * @private
- * @class tinymce.util.Fun
- */
-
-const slice = [].slice;
-
-const constant = function (value) {
- return function () {
- return value;
- };
-};
-
-const negate = function (predicate) {
- return function (x) {
- return !predicate(x);
- };
-};
-
-const compose = function (f, g) {
- return function (x) {
- return f(g(x));
- };
-};
-
-const or = function (...x: any[]) {
- const args = slice.call(arguments);
-
- return function (x) {
- for (let i = 0; i < args.length; i++) {
- if (args[i](x)) {
- return true;
- }
- }
-
- return false;
- };
-};
-
-const and = function (...x: any[]) {
- const args = slice.call(arguments);
-
- return function (x) {
- for (let i = 0; i < args.length; i++) {
- if (!args[i](x)) {
- return false;
- }
- }
-
- return true;
- };
-};
-
-const curry = function (fn, ...x: any[]) {
- const args = slice.call(arguments);
-
- if (args.length - 1 >= fn.length) {
- return fn.apply(this, args.slice(1));
- }
-
- return function () {
- const tempArgs = args.concat([].slice.call(arguments));
- return curry.apply(this, tempArgs);
- };
-};
-
-const noop = function () {
-};
-
-export default {
- constant,
- negate,
- and,
- or,
- curry,
- compose,
- noop
-};
\ No newline at end of file
diff --git a/tools-ng/tinymce/editor/src/core/test/ts/browser/keyboard/SpaceKeyTest.ts b/tools-ng/tinymce/editor/src/core/test/ts/browser/keyboard/SpaceKeyTest.ts
deleted file mode 100644
index b77df5ce5..000000000
--- a/tools-ng/tinymce/editor/src/core/test/ts/browser/keyboard/SpaceKeyTest.ts
+++ /dev/null
@@ -1,302 +0,0 @@
-import { GeneralSteps, Keys, Logger, Pipeline } from '@ephox/agar';
-import { TinyActions, TinyApis, TinyLoader } from '@ephox/mcagar';
-import Theme from 'tinymce/themes/modern/Theme';
-import { UnitTest } from '@ephox/bedrock';
-
-UnitTest.asynctest('browser.tinymce.core.keyboard.SpaceKeyTest', (success, failure) => {
- Theme();
-
- TinyLoader.setup(function (editor, onSuccess, onFailure) {
- const tinyApis = TinyApis(editor);
- const tinyActions = TinyActions(editor);
- const img = ' ';
-
- Pipeline.async({}, [
- Logger.t('Space key around inline boundary elements', GeneralSteps.sequence([
- Logger.t('Press space at beginning of inline boundary inserting nbsp', GeneralSteps.sequence([
- tinyApis.sFocus,
- tinyApis.sSetContent('a b c
'),
- tinyApis.sSetCursor([0, 1, 0], 0),
- tinyApis.sNodeChanged,
- tinyActions.sContentKeystroke(Keys.space(), {}),
- tinyApis.sAssertSelection([0, 1, 0], 1, [0, 1, 0], 1),
- tinyApis.sAssertContent('a b c
')
- ])),
- Logger.t('Press space at end of inline boundary inserting nbsp', GeneralSteps.sequence([
- tinyApis.sFocus,
- tinyApis.sSetContent('a b c
'),
- tinyApis.sSetCursor([0, 1, 0], 1),
- tinyApis.sNodeChanged,
- tinyActions.sContentKeystroke(Keys.space(), {}),
- tinyApis.sAssertSelection([0, 1, 0], 2, [0, 1, 0], 2),
- tinyApis.sAssertContent('a b c
')
- ])),
- Logger.t('Press space at beginning of inline boundary inserting space', GeneralSteps.sequence([
- tinyApis.sFocus,
- tinyApis.sSetContent('ab c
'),
- tinyApis.sSetCursor([0, 1, 0], 0),
- tinyApis.sNodeChanged,
- tinyActions.sContentKeystroke(Keys.space(), {}),
- tinyApis.sAssertSelection([0, 1, 0], 1, [0, 1, 0], 1),
- tinyApis.sAssertContent('a b c
')
- ])),
- Logger.t('Press space at end of inline boundary inserting space', GeneralSteps.sequence([
- tinyApis.sFocus,
- tinyApis.sSetContent('ab c
'),
- tinyApis.sSetCursor([0, 1, 0], 1),
- tinyApis.sNodeChanged,
- tinyActions.sContentKeystroke(Keys.space(), {}),
- tinyApis.sAssertSelection([0, 1, 0], 2, [0, 1, 0], 2),
- tinyApis.sAssertContent('ab c
')
- ])),
- Logger.t('Press space at start of inline boundary with leading space inserting nbsp', GeneralSteps.sequence([
- tinyApis.sFocus,
- tinyApis.sSetContent('a b c
'),
- tinyApis.sSetCursor([0, 1, 0], 0),
- tinyApis.sNodeChanged,
- tinyActions.sContentKeystroke(Keys.space(), {}),
- tinyApis.sAssertSelection([0, 1, 0], 1, [0, 1, 0], 1),
- tinyApis.sAssertContent('a b c
')
- ])),
- Logger.t('Press space at end of inline boundary with trailing space inserting nbsp', GeneralSteps.sequence([
- tinyApis.sFocus,
- tinyApis.sSetContent('ab c
'),
- tinyApis.sSetCursor([0, 1, 0], 2),
- tinyApis.sNodeChanged,
- tinyActions.sContentKeystroke(Keys.space(), {}),
- tinyApis.sAssertSelection([0, 1, 0], 3, [0, 1, 0], 3),
- tinyApis.sAssertContent('ab c
')
- ]))
- ])),
- Logger.t('Space key in block elements', GeneralSteps.sequence([
- Logger.t('Press space at beginning of block', GeneralSteps.sequence([
- tinyApis.sFocus,
- tinyApis.sSetContent('a
'),
- tinyApis.sSetCursor([0, 0], 0),
- tinyActions.sContentKeystroke(Keys.space(), {}),
- tinyApis.sAssertSelection([0, 0], 1, [0, 0], 1),
- tinyApis.sAssertContent(' a
')
- ])),
- Logger.t('Press space at end of block', GeneralSteps.sequence([
- tinyApis.sFocus,
- tinyApis.sSetContent('a
'),
- tinyApis.sSetCursor([0, 0], 1),
- tinyActions.sContentKeystroke(Keys.space(), {}),
- tinyApis.sAssertSelection([0, 0], 2, [0, 0], 2),
- tinyApis.sAssertContent('a
')
- ]))
- ])),
- Logger.t('Space key in text', GeneralSteps.sequence([
- Logger.t('Press space in middle of text', GeneralSteps.sequence([
- tinyApis.sFocus,
- tinyApis.sSetContent('ab
'),
- tinyApis.sSetCursor([0, 0], 1),
- tinyActions.sContentKeystroke(Keys.space(), {}),
- tinyApis.sAssertSelection([0, 0], 2, [0, 0], 2),
- tinyApis.sAssertContent('a b
')
- ])),
- Logger.t('Press space after letter preceded by space', GeneralSteps.sequence([
- tinyApis.sFocus,
- tinyApis.sSetContent('a bc
'),
- tinyApis.sSetCursor([0, 0], 3),
- tinyActions.sContentKeystroke(Keys.space(), {}),
- tinyApis.sAssertSelection([0, 0], 4, [0, 0], 4),
- tinyApis.sAssertContent('a b c
')
- ])),
- Logger.t('Press space before letter followed by space', GeneralSteps.sequence([
- tinyApis.sFocus,
- tinyApis.sSetContent('ab c
'),
- tinyApis.sSetCursor([0, 0], 1),
- tinyActions.sContentKeystroke(Keys.space(), {}),
- tinyApis.sAssertSelection([0, 0], 2, [0, 0], 2),
- tinyApis.sAssertContent('a b c
')
- ])),
- Logger.t('Press space after letter followed by space in inline element', GeneralSteps.sequence([
- tinyApis.sFocus,
- tinyApis.sSetContent('a c
'),
- tinyApis.sSetCursor([0, 0], 1),
- tinyActions.sContentKeystroke(Keys.space(), {}),
- tinyApis.sAssertSelection([0, 0], 2, [0, 0], 2),
- tinyApis.sAssertContent('a c
')
- ])),
- Logger.t('Press space before letter preceded by space in inline element', GeneralSteps.sequence([
- tinyApis.sFocus,
- tinyApis.sSetContent('ab c
'),
- tinyApis.sSetCursor([0, 2], 0),
- tinyActions.sContentKeystroke(Keys.space(), {}),
- tinyApis.sAssertSelection([0, 2], 1, [0, 2], 1),
- tinyApis.sAssertContent('ab c
')
- ])),
- Logger.t('Press space after letter followed by nbsp in inline element', GeneralSteps.sequence([
- tinyApis.sFocus,
- tinyApis.sSetContent('a c
'),
- tinyApis.sSetCursor([0, 0], 1),
- tinyActions.sContentKeystroke(Keys.space(), {}),
- tinyApis.sAssertSelection([0, 0], 2, [0, 0], 2),
- tinyApis.sAssertContent('a c
')
- ])),
- Logger.t('Press space before letter preceded by nbsp in inline element', GeneralSteps.sequence([
- tinyApis.sFocus,
- tinyApis.sSetContent('ab c
'),
- tinyApis.sSetCursor([0, 2], 0),
- tinyActions.sContentKeystroke(Keys.space(), {}),
- tinyApis.sAssertSelection([0, 2], 1, [0, 2], 1),
- tinyApis.sAssertContent('ab c
')
- ])),
- Logger.t('Press space before nbsp in text', GeneralSteps.sequence([
- tinyApis.sFocus,
- tinyApis.sSetContent('a b
'),
- tinyApis.sSetCursor([0, 0], 1),
- tinyActions.sContentKeystroke(Keys.space(), {}),
- tinyApis.sAssertSelection([0, 0], 2, [0, 0], 2),
- tinyApis.sAssertContent('a b
')
- ])),
- Logger.t('Press space after nbsp in text', GeneralSteps.sequence([
- tinyApis.sFocus,
- tinyApis.sSetContent('a b
'),
- tinyApis.sSetCursor([0, 0], 2),
- tinyActions.sContentKeystroke(Keys.space(), {}),
- tinyApis.sAssertSelection([0, 0], 3, [0, 0], 3),
- tinyApis.sAssertContent('a b
')
- ])),
- Logger.t('Press space between two nbsp in text', GeneralSteps.sequence([
- tinyApis.sFocus,
- tinyApis.sSetContent('a b
'),
- tinyApis.sSetCursor([0, 0], 2),
- tinyActions.sContentKeystroke(Keys.space(), {}),
- tinyApis.sAssertSelection([0, 0], 3, [0, 0], 3),
- tinyApis.sAssertContent('a b
')
- ])),
- Logger.t('Press space before two nbsp in text', GeneralSteps.sequence([
- tinyApis.sFocus,
- tinyApis.sSetContent('a b
'),
- tinyApis.sSetCursor([0, 0], 1),
- tinyActions.sContentKeystroke(Keys.space(), {}),
- tinyApis.sAssertSelection([0, 0], 2, [0, 0], 2),
- tinyApis.sAssertContent('a b
')
- ])),
- Logger.t('Press space after two nbsp in text', GeneralSteps.sequence([
- tinyApis.sFocus,
- tinyApis.sSetContent('a b
'),
- tinyApis.sSetCursor([0, 0], 3),
- tinyActions.sContentKeystroke(Keys.space(), {}),
- tinyApis.sAssertSelection([0, 0], 4, [0, 0], 4),
- tinyApis.sAssertContent('a b
')
- ])),
- Logger.t('Press space before letter followed by space in inline element', GeneralSteps.sequence([
- tinyApis.sFocus,
- tinyApis.sSetContent('ab c
'),
- tinyApis.sSetCursor([0, 0], 1),
- tinyActions.sContentKeystroke(Keys.space(), {}),
- tinyApis.sAssertSelection([0, 0], 2, [0, 0], 2),
- tinyApis.sAssertContent('a b c
')
- ])),
- Logger.t('Press space after letter preceded by space in inline element', GeneralSteps.sequence([
- tinyApis.sFocus,
- tinyApis.sSetContent('ab cd
'),
- tinyApis.sSetCursor([0, 2], 1),
- tinyActions.sContentKeystroke(Keys.space(), {}),
- tinyApis.sAssertSelection([0, 2], 2, [0, 2], 2),
- tinyApis.sAssertContent('ab c d
')
- ]))
- ])),
- Logger.t('Space key in preformatted text', GeneralSteps.sequence([
- Logger.t('Press space at start of pre', GeneralSteps.sequence([
- tinyApis.sFocus,
- tinyApis.sSetContent('ab '),
- tinyApis.sSetCursor([0, 0], 0),
- tinyActions.sContentKeystroke(Keys.space(), {}),
- tinyApis.sAssertSelection([0, 0], 1, [0, 0], 1),
- tinyApis.sAssertContent(' ab ')
- ])),
- Logger.t('Press space in middle of text', GeneralSteps.sequence([
- tinyApis.sFocus,
- tinyApis.sSetContent('ab '),
- tinyApis.sSetCursor([0, 0], 1),
- tinyActions.sContentKeystroke(Keys.space(), {}),
- tinyApis.sAssertSelection([0, 0], 2, [0, 0], 2),
- tinyApis.sAssertContent('a b ')
- ])),
- Logger.t('Press space at end of pre', GeneralSteps.sequence([
- tinyApis.sFocus,
- tinyApis.sSetContent('ab '),
- tinyApis.sSetCursor([0, 0], 2),
- tinyActions.sContentKeystroke(Keys.space(), {}),
- tinyApis.sAssertSelection([0, 0], 3, [0, 0], 3),
- tinyApis.sAssertContent('ab ')
- ])),
- Logger.t('Press space in after space', GeneralSteps.sequence([
- tinyApis.sFocus,
- tinyApis.sSetContent('a b '),
- tinyApis.sSetCursor([0, 0], 2),
- tinyActions.sContentKeystroke(Keys.space(), {}),
- tinyApis.sAssertSelection([0, 0], 3, [0, 0], 3),
- tinyApis.sAssertContent('a b ')
- ])),
- Logger.t('Press space in before space', GeneralSteps.sequence([
- tinyApis.sFocus,
- tinyApis.sSetContent('a b '),
- tinyApis.sSetCursor([0, 0], 1),
- tinyActions.sContentKeystroke(Keys.space(), {}),
- tinyApis.sAssertSelection([0, 0], 2, [0, 0], 2),
- tinyApis.sAssertContent('a b ')
- ]))
- ])),
- Logger.t('Space key at br', GeneralSteps.sequence([
- Logger.t('Press space between two br:s in block', GeneralSteps.sequence([
- tinyApis.sFocus,
- tinyApis.sSetRawContent('
'),
- tinyApis.sSetCursor([0], 1),
- tinyActions.sContentKeystroke(Keys.space(), {}),
- tinyApis.sAssertSelection([0, 1], 1, [0, 1], 1),
- tinyApis.sAssertContent('
')
- ])),
- Logger.t('Press space after br in beginning of text node', GeneralSteps.sequence([
- tinyApis.sFocus,
- tinyApis.sSetRawContent('a b
'),
- tinyApis.sSetCursor([0, 2], 0),
- tinyActions.sContentKeystroke(Keys.space(), {}),
- tinyApis.sAssertSelection([0, 2], 1, [0, 2], 1),
- tinyApis.sAssertContent('a b
')
- ])),
- Logger.t('Press space before br in beginning of text node', GeneralSteps.sequence([
- tinyApis.sFocus,
- tinyApis.sSetRawContent(' b
'),
- tinyApis.sSetCursor([0], 0),
- tinyActions.sContentKeystroke(Keys.space(), {}),
- tinyApis.sAssertSelection([0, 0], 1, [0, 0], 1),
- tinyApis.sAssertContent(' b
')
- ]))
- ])),
- Logger.t('Space key at node indexes', GeneralSteps.sequence([
- Logger.t('Press space before image element in block', GeneralSteps.sequence([
- tinyApis.sFocus,
- tinyApis.sSetRawContent(`${img}
`),
- tinyApis.sSetCursor([0], 0),
- tinyActions.sContentKeystroke(Keys.space(), {}),
- tinyApis.sAssertSelection([0, 0], 1, [0, 0], 1),
- tinyApis.sAssertContent(` ${img}
`)
- ])),
- Logger.t('Press space between two image elements in block', GeneralSteps.sequence([
- tinyApis.sFocus,
- tinyApis.sSetRawContent(`${img}${img}
`),
- tinyApis.sSetCursor([0], 1),
- tinyActions.sContentKeystroke(Keys.space(), {}),
- tinyApis.sAssertSelection([0, 1], 1, [0, 1], 1),
- tinyApis.sAssertContent(`${img} ${img}
`)
- ])),
- Logger.t('Press space after image element in block', GeneralSteps.sequence([
- tinyApis.sFocus,
- tinyApis.sSetRawContent(`${img}
`),
- tinyApis.sSetCursor([0], 1),
- tinyActions.sContentKeystroke(Keys.space(), {}),
- tinyApis.sAssertSelection([0, 1], 1, [0, 1], 1),
- tinyApis.sAssertContent(`${img}
`)
- ]))
- ]))
- ], onSuccess, onFailure);
- }, {
- indent: false,
- skin_url: '/project/js/tinymce/skins/lightgray'
- }, success, failure);
-});
diff --git a/tools-ng/tinymce/editor/src/core/test/ts/browser/util/FunTest.ts b/tools-ng/tinymce/editor/src/core/test/ts/browser/util/FunTest.ts
deleted file mode 100644
index d1ac123f2..000000000
--- a/tools-ng/tinymce/editor/src/core/test/ts/browser/util/FunTest.ts
+++ /dev/null
@@ -1,58 +0,0 @@
-import { LegacyUnit } from '@ephox/mcagar';
-import { Pipeline } from '@ephox/agar';
-import Fun from 'tinymce/core/util/Fun';
-import { UnitTest } from '@ephox/bedrock';
-
-UnitTest.asynctest('browser.tinymce.core.util.FunTest', function () {
- const success = arguments[arguments.length - 2];
- const failure = arguments[arguments.length - 1];
- const suite = LegacyUnit.createSuite();
-
- const isTrue = function (value) {
- return value === true;
- };
-
- const isFalse = function (value) {
- return value === true;
- };
-
- const isAbove = function (target, value) {
- return value() > target();
- };
-
- suite.test('constant', function () {
- LegacyUnit.strictEqual(Fun.constant(1)(), 1);
- LegacyUnit.strictEqual(Fun.constant('1')(), '1');
- LegacyUnit.strictEqual(Fun.constant(null)(), null);
- });
-
- suite.test('negate', function () {
- LegacyUnit.strictEqual(Fun.negate(isTrue)(false), true);
- LegacyUnit.strictEqual(Fun.negate(isFalse)(true), false);
- });
-
- suite.test('and', function () {
- const isAbove5 = Fun.curry(isAbove, Fun.constant(5));
- const isAbove10 = Fun.curry(isAbove, Fun.constant(10));
-
- LegacyUnit.strictEqual(Fun.and(isAbove10, isAbove5)(Fun.constant(10)), false);
- LegacyUnit.strictEqual(Fun.and(isAbove10, isAbove5)(Fun.constant(30)), true);
- });
-
- suite.test('or', function () {
- const isAbove5 = Fun.curry(isAbove, Fun.constant(5));
- const isAbove10 = Fun.curry(isAbove, Fun.constant(10));
-
- LegacyUnit.strictEqual(Fun.or(isAbove10, isAbove5)(Fun.constant(5)), false);
- LegacyUnit.strictEqual(Fun.or(isAbove10, isAbove5)(Fun.constant(15)), true);
- LegacyUnit.strictEqual(Fun.or(isAbove5, isAbove10)(Fun.constant(15)), true);
- });
-
- suite.test('compose', function () {
- LegacyUnit.strictEqual(Fun.compose(Fun.curry(isAbove, Fun.constant(5)), Fun.constant)(10), true);
- });
-
- Pipeline.async({}, suite.toSteps({}), function () {
- success();
- }, failure);
-});
diff --git a/tools-ng/tinymce/editor/src/plugins/anchor/main/ts/api/Commands.ts b/tools-ng/tinymce/editor/src/plugins/anchor/main/ts/api/Commands.ts
deleted file mode 100644
index 58a1737e7..000000000
--- a/tools-ng/tinymce/editor/src/plugins/anchor/main/ts/api/Commands.ts
+++ /dev/null
@@ -1,21 +0,0 @@
-/**
- * Commands.js
- *
- * Released under LGPL License.
- * Copyright (c) 1999-2017 Ephox Corp. All rights reserved
- *
- * License: http://www.tinymce.com/license
- * Contributing: http://www.tinymce.com/contributing
- */
-
-import Dialog from '../ui/Dialog';
-
-const register = function (editor) {
- editor.addCommand('mceAnchor', function () {
- Dialog.open(editor);
- });
-};
-
-export default {
- register
-};
\ No newline at end of file
diff --git a/tools-ng/tinymce/editor/src/plugins/autoresize/main/ts/api/Commands.ts b/tools-ng/tinymce/editor/src/plugins/autoresize/main/ts/api/Commands.ts
deleted file mode 100644
index 7debeb14d..000000000
--- a/tools-ng/tinymce/editor/src/plugins/autoresize/main/ts/api/Commands.ts
+++ /dev/null
@@ -1,21 +0,0 @@
-/**
- * Commands.js
- *
- * Released under LGPL License.
- * Copyright (c) 1999-2017 Ephox Corp. All rights reserved
- *
- * License: http://www.tinymce.com/license
- * Contributing: http://www.tinymce.com/contributing
- */
-
-import Resize from '../core/Resize';
-
-const register = function (editor, oldSize) {
- editor.addCommand('mceAutoResize', function () {
- Resize.resize(editor, oldSize);
- });
-};
-
-export default {
- register
-};
\ No newline at end of file
diff --git a/tools-ng/tinymce/editor/src/plugins/bbcode/main/ts/api/Settings.ts b/tools-ng/tinymce/editor/src/plugins/bbcode/main/ts/api/Settings.ts
deleted file mode 100644
index 496121cfc..000000000
--- a/tools-ng/tinymce/editor/src/plugins/bbcode/main/ts/api/Settings.ts
+++ /dev/null
@@ -1,18 +0,0 @@
-/**
- * Settings.js
- *
- * Released under LGPL License.
- * Copyright (c) 1999-2017 Ephox Corp. All rights reserved
- *
- * License: http://www.tinymce.com/license
- * Contributing: http://www.tinymce.com/contributing
- */
-
-const getDialect = function (editor) {
- // Note: This option isn't even used since we only support one dialect
- return editor.getParam('bbcode_dialect', 'punbb').toLowerCase();
-};
-
-export default {
- getDialect
-};
\ No newline at end of file
diff --git a/tools-ng/tinymce/editor/src/plugins/charmap/main/ts/api/Commands.ts b/tools-ng/tinymce/editor/src/plugins/charmap/main/ts/api/Commands.ts
deleted file mode 100644
index 878610ffc..000000000
--- a/tools-ng/tinymce/editor/src/plugins/charmap/main/ts/api/Commands.ts
+++ /dev/null
@@ -1,21 +0,0 @@
-/**
- * Commands.js
- *
- * Released under LGPL License.
- * Copyright (c) 1999-2017 Ephox Corp. All rights reserved
- *
- * License: http://www.tinymce.com/license
- * Contributing: http://www.tinymce.com/contributing
- */
-
-import Dialog from '../ui/Dialog';
-
-const register = function (editor) {
- editor.addCommand('mceShowCharmap', function () {
- Dialog.open(editor);
- });
-};
-
-export default {
- register
-};
\ No newline at end of file
diff --git a/tools-ng/tinymce/editor/src/plugins/charmap/main/ts/api/Events.ts b/tools-ng/tinymce/editor/src/plugins/charmap/main/ts/api/Events.ts
deleted file mode 100644
index 0c57b8004..000000000
--- a/tools-ng/tinymce/editor/src/plugins/charmap/main/ts/api/Events.ts
+++ /dev/null
@@ -1,17 +0,0 @@
-/**
- * Events.js
- *
- * Released under LGPL License.
- * Copyright (c) 1999-2017 Ephox Corp. All rights reserved
- *
- * License: http://www.tinymce.com/license
- * Contributing: http://www.tinymce.com/contributing
- */
-
-const fireInsertCustomChar = function (editor, chr) {
- return editor.fire('insertCustomChar', { chr });
-};
-
-export default {
- fireInsertCustomChar
-};
\ No newline at end of file
diff --git a/tools-ng/tinymce/editor/src/plugins/charmap/main/ts/api/Settings.ts b/tools-ng/tinymce/editor/src/plugins/charmap/main/ts/api/Settings.ts
deleted file mode 100644
index 4fc0a65ce..000000000
--- a/tools-ng/tinymce/editor/src/plugins/charmap/main/ts/api/Settings.ts
+++ /dev/null
@@ -1,22 +0,0 @@
-/**
- * Settings.js
- *
- * Released under LGPL License.
- * Copyright (c) 1999-2017 Ephox Corp. All rights reserved
- *
- * License: http://www.tinymce.com/license
- * Contributing: http://www.tinymce.com/contributing
- */
-
-const getCharMap = function (editor) {
- return editor.settings.charmap;
-};
-
-const getCharMapAppend = function (editor) {
- return editor.settings.charmap_append;
-};
-
-export default {
- getCharMap,
- getCharMapAppend
-};
\ No newline at end of file
diff --git a/tools-ng/tinymce/editor/src/plugins/code/main/ts/api/Commands.ts b/tools-ng/tinymce/editor/src/plugins/code/main/ts/api/Commands.ts
deleted file mode 100644
index 437386258..000000000
--- a/tools-ng/tinymce/editor/src/plugins/code/main/ts/api/Commands.ts
+++ /dev/null
@@ -1,21 +0,0 @@
-/**
- * Commands.js
- *
- * Released under LGPL License.
- * Copyright (c) 1999-2017 Ephox Corp. All rights reserved
- *
- * License: http://www.tinymce.com/license
- * Contributing: http://www.tinymce.com/contributing
- */
-
-import Dialog from '../ui/Dialog';
-
-const register = function (editor) {
- editor.addCommand('mceCodeEditor', function () {
- Dialog.open(editor);
- });
-};
-
-export default {
- register
-};
\ No newline at end of file
diff --git a/tools-ng/tinymce/editor/src/plugins/contextmenu/main/ts/api/Api.ts b/tools-ng/tinymce/editor/src/plugins/contextmenu/main/ts/api/Api.ts
deleted file mode 100644
index adfc1803e..000000000
--- a/tools-ng/tinymce/editor/src/plugins/contextmenu/main/ts/api/Api.ts
+++ /dev/null
@@ -1,23 +0,0 @@
-/**
- * Api.js
- *
- * Released under LGPL License.
- * Copyright (c) 1999-2017 Ephox Corp. All rights reserved
- *
- * License: http://www.tinymce.com/license
- * Contributing: http://www.tinymce.com/contributing
- */
-
-const get = function (visibleState) {
- const isContextMenuVisible = function () {
- return visibleState.get();
- };
-
- return {
- isContextMenuVisible
- };
-};
-
-export default {
- get
-};
\ No newline at end of file
diff --git a/tools-ng/tinymce/editor/src/plugins/fullpage/main/ts/api/Commands.ts b/tools-ng/tinymce/editor/src/plugins/fullpage/main/ts/api/Commands.ts
deleted file mode 100644
index 86d3f1338..000000000
--- a/tools-ng/tinymce/editor/src/plugins/fullpage/main/ts/api/Commands.ts
+++ /dev/null
@@ -1,21 +0,0 @@
-/**
- * Commands.js
- *
- * Released under LGPL License.
- * Copyright (c) 1999-2017 Ephox Corp. All rights reserved
- *
- * License: http://www.tinymce.com/license
- * Contributing: http://www.tinymce.com/contributing
- */
-
-import Dialog from '../ui/Dialog';
-
-const register = function (editor, headState) {
- editor.addCommand('mceFullPageProperties', function () {
- Dialog.open(editor, headState);
- });
-};
-
-export default {
- register
-};
\ No newline at end of file
diff --git a/tools-ng/tinymce/editor/src/plugins/fullscreen/main/ts/api/Api.ts b/tools-ng/tinymce/editor/src/plugins/fullscreen/main/ts/api/Api.ts
deleted file mode 100644
index bb7fdb420..000000000
--- a/tools-ng/tinymce/editor/src/plugins/fullscreen/main/ts/api/Api.ts
+++ /dev/null
@@ -1,21 +0,0 @@
-/**
- * Api.js
- *
- * Released under LGPL License.
- * Copyright (c) 1999-2017 Ephox Corp. All rights reserved
- *
- * License: http://www.tinymce.com/license
- * Contributing: http://www.tinymce.com/contributing
- */
-
-const get = function (fullscreenState) {
- return {
- isFullscreen () {
- return fullscreenState.get() !== null;
- }
- };
-};
-
-export default {
- get
-};
\ No newline at end of file
diff --git a/tools-ng/tinymce/editor/src/plugins/fullscreen/main/ts/api/Events.ts b/tools-ng/tinymce/editor/src/plugins/fullscreen/main/ts/api/Events.ts
deleted file mode 100644
index 22847b2f0..000000000
--- a/tools-ng/tinymce/editor/src/plugins/fullscreen/main/ts/api/Events.ts
+++ /dev/null
@@ -1,17 +0,0 @@
-/**
- * Events.js
- *
- * Released under LGPL License.
- * Copyright (c) 1999-2017 Ephox Corp. All rights reserved
- *
- * License: http://www.tinymce.com/license
- * Contributing: http://www.tinymce.com/contributing
- */
-
-const fireFullscreenStateChanged = function (editor, state) {
- editor.fire('FullscreenStateChanged', { state });
-};
-
-export default {
- fireFullscreenStateChanged
-};
\ No newline at end of file
diff --git a/tools-ng/tinymce/editor/src/plugins/help/main/ts/api/Commands.ts b/tools-ng/tinymce/editor/src/plugins/help/main/ts/api/Commands.ts
deleted file mode 100644
index 0167a2a6d..000000000
--- a/tools-ng/tinymce/editor/src/plugins/help/main/ts/api/Commands.ts
+++ /dev/null
@@ -1,19 +0,0 @@
-/**
- * Commands.js
- *
- * Released under LGPL License.
- * Copyright (c) 1999-2017 Ephox Corp. All rights reserved
- *
- * License: http://www.tinymce.com/license
- * Contributing: http://www.tinymce.com/contributing
- */
-
-import Dialog from '../ui/Dialog';
-
-const register = function (editor, pluginUrl) {
- editor.addCommand('mceHelp', Dialog.open(editor, pluginUrl));
-};
-
-export default {
- register
-};
\ No newline at end of file
diff --git a/tools-ng/tinymce/editor/src/plugins/hr/main/ts/api/Commands.ts b/tools-ng/tinymce/editor/src/plugins/hr/main/ts/api/Commands.ts
deleted file mode 100644
index 7bbcd802f..000000000
--- a/tools-ng/tinymce/editor/src/plugins/hr/main/ts/api/Commands.ts
+++ /dev/null
@@ -1,19 +0,0 @@
-/**
- * Commands.js
- *
- * Released under LGPL License.
- * Copyright (c) 1999-2017 Ephox Corp. All rights reserved
- *
- * License: http://www.tinymce.com/license
- * Contributing: http://www.tinymce.com/contributing
- */
-
-const register = function (editor) {
- editor.addCommand('InsertHorizontalRule', function () {
- editor.execCommand('mceInsertContent', false, ' ');
- });
-};
-
-export default {
- register
-};
\ No newline at end of file
diff --git a/tools-ng/tinymce/editor/src/plugins/image/main/ts/api/Commands.ts b/tools-ng/tinymce/editor/src/plugins/image/main/ts/api/Commands.ts
deleted file mode 100644
index 26c0bdf4b..000000000
--- a/tools-ng/tinymce/editor/src/plugins/image/main/ts/api/Commands.ts
+++ /dev/null
@@ -1,19 +0,0 @@
-/**
- * Commands.js
- *
- * Released under LGPL License.
- * Copyright (c) 1999-2017 Ephox Corp. All rights reserved
- *
- * License: http://www.tinymce.com/license
- * Contributing: http://www.tinymce.com/contributing
- */
-
-import Dialog from '../ui/Dialog';
-
-const register = function (editor) {
- editor.addCommand('mceImage', Dialog(editor).open);
-};
-
-export default {
- register
-};
\ No newline at end of file
diff --git a/tools-ng/tinymce/editor/src/plugins/link/main/ts/api/Commands.ts b/tools-ng/tinymce/editor/src/plugins/link/main/ts/api/Commands.ts
deleted file mode 100644
index 882949f1b..000000000
--- a/tools-ng/tinymce/editor/src/plugins/link/main/ts/api/Commands.ts
+++ /dev/null
@@ -1,19 +0,0 @@
-/**
- * Commands.js
- *
- * Released under LGPL License.
- * Copyright (c) 1999-2017 Ephox Corp. All rights reserved
- *
- * License: http://www.tinymce.com/license
- * Contributing: http://www.tinymce.com/contributing
- */
-
-import Actions from '../core/Actions';
-
-const register = function (editor) {
- editor.addCommand('mceLink', Actions.openDialog(editor));
-};
-
-export default {
- register
-};
\ No newline at end of file
diff --git a/tools-ng/tinymce/editor/src/plugins/link/main/ts/core/Keyboard.ts b/tools-ng/tinymce/editor/src/plugins/link/main/ts/core/Keyboard.ts
deleted file mode 100644
index c6e0225a3..000000000
--- a/tools-ng/tinymce/editor/src/plugins/link/main/ts/core/Keyboard.ts
+++ /dev/null
@@ -1,19 +0,0 @@
-/**
- * Keyboard.js
- *
- * Released under LGPL License.
- * Copyright (c) 1999-2017 Ephox Corp. All rights reserved
- *
- * License: http://www.tinymce.com/license
- * Contributing: http://www.tinymce.com/contributing
- */
-
-import Actions from './Actions';
-
-const setup = function (editor) {
- editor.addShortcut('Meta+K', '', Actions.openDialog(editor));
-};
-
-export default {
- setup
-};
\ No newline at end of file
diff --git a/tools-ng/tinymce/editor/src/plugins/lists/main/ts/actions/Indendation.ts b/tools-ng/tinymce/editor/src/plugins/lists/main/ts/actions/Indendation.ts
deleted file mode 100644
index 33c83e9ca..000000000
--- a/tools-ng/tinymce/editor/src/plugins/lists/main/ts/actions/Indendation.ts
+++ /dev/null
@@ -1,75 +0,0 @@
-/**
- * Indentation.js
- *
- * Released under LGPL License.
- * Copyright (c) 1999-2018 Ephox Corp. All rights reserved
- *
- * License: http://www.tinymce.com/license
- * Contributing: http://www.tinymce.com/contributing
- */
-
-import { Arr } from '@ephox/katamari';
-import { Compare, Element, Replication, Traverse } from '@ephox/sugar';
-import { Editor } from 'tinymce/core/api/Editor';
-import Range from '../core/Range';
-import Selection from '../core/Selection';
-import SplitList from '../core/SplitList';
-import { IndentValue } from '../listModel/Indentation';
-import { listsIndentation } from '../listModel/ListsIndendation';
-
-const outdentDlItem = (editor: Editor, item: Element): void => {
- if (Compare.is(item, 'DD')) {
- Replication.mutate(item, 'DT');
- } else if (Compare.is(item, 'DT')) {
- Traverse.parent(item).each((dl) => SplitList.splitList(editor, dl.dom(), item.dom()));
- }
-};
-
-const indentDlItem = (item: Element): void => {
- if (Compare.is(item, 'DT')) {
- Replication.mutate(item, 'DD');
- }
-};
-
-const dlIndentation = (editor: Editor, indentation: IndentValue, dlItems: Element[]) => {
- if (indentation === IndentValue.Indent) {
- Arr.each(dlItems, indentDlItem);
- } else {
- Arr.each(dlItems, (item) => outdentDlItem(editor, item));
- }
-};
-
-const selectionIndentation = (editor: Editor, indentation: IndentValue) => {
- const dlItems = Arr.map(Selection.getSelectedDlItems(editor), Element.fromDom);
- const lists = Arr.map(Selection.getSelectedListRoots(editor), Element.fromDom);
-
- if (dlItems.length || lists.length) {
- const bookmark = editor.selection.getBookmark();
-
- dlIndentation(editor, indentation, dlItems);
-
- listsIndentation(
- editor,
- lists,
- indentation
- );
-
- editor.selection.moveToBookmark(bookmark);
- editor.selection.setRng(Range.normalizeRange(editor.selection.getRng()));
- editor.nodeChanged();
- }
-};
-
-const indentListSelection = (editor: Editor) => {
- selectionIndentation(editor, IndentValue.Indent);
-};
-
-const outdentListSelection = (editor: Editor) => {
- selectionIndentation(editor, IndentValue.Outdent);
-};
-
-const flattenListSelection = (editor: Editor) => {
- selectionIndentation(editor, IndentValue.Flatten);
-};
-
-export { indentListSelection, outdentListSelection, flattenListSelection };
diff --git a/tools-ng/tinymce/editor/src/plugins/lists/main/ts/api/Api.ts b/tools-ng/tinymce/editor/src/plugins/lists/main/ts/api/Api.ts
deleted file mode 100644
index 92d84e55d..000000000
--- a/tools-ng/tinymce/editor/src/plugins/lists/main/ts/api/Api.ts
+++ /dev/null
@@ -1,23 +0,0 @@
-/**
- * Api.js
- *
- * Released under LGPL License.
- * Copyright (c) 1999-2017 Ephox Corp. All rights reserved
- *
- * License: http://www.tinymce.com/license
- * Contributing: http://www.tinymce.com/contributing
- */
-
-import Delete from '../core/Delete';
-
-const get = function (editor) {
- return {
- backspaceDelete (isForward) {
- Delete.backspaceDelete(editor, isForward);
- }
- };
-};
-
-export default {
- get
-};
\ No newline at end of file
diff --git a/tools-ng/tinymce/editor/src/plugins/lists/main/ts/api/Settings.ts b/tools-ng/tinymce/editor/src/plugins/lists/main/ts/api/Settings.ts
deleted file mode 100644
index 25dd8d7e7..000000000
--- a/tools-ng/tinymce/editor/src/plugins/lists/main/ts/api/Settings.ts
+++ /dev/null
@@ -1,17 +0,0 @@
-/**
- * Settings.js
- *
- * Released under LGPL License.
- * Copyright (c) 1999-2017 Ephox Corp. All rights reserved
- *
- * License: http://www.tinymce.com/license
- * Contributing: http://www.tinymce.com/contributing
- */
-
-const shouldIndentOnTab = function (editor) {
- return editor.getParam('lists_indent_on_tab', true);
-};
-
-export default {
- shouldIndentOnTab
-};
\ No newline at end of file
diff --git a/tools-ng/tinymce/editor/src/plugins/lists/main/ts/listModel/ComposeList.ts b/tools-ng/tinymce/editor/src/plugins/lists/main/ts/listModel/ComposeList.ts
deleted file mode 100644
index b9e7e5205..000000000
--- a/tools-ng/tinymce/editor/src/plugins/lists/main/ts/listModel/ComposeList.ts
+++ /dev/null
@@ -1,106 +0,0 @@
-/**
- * ComposeList.js
- *
- * Released under LGPL License.
- * Copyright (c) 1999-2018 Ephox Corp. All rights reserved
- *
- * License: http://www.tinymce.com/license
- * Contributing: http://www.tinymce.com/contributing
- */
-
-import { Entry } from './Entry';
-import { Element, Insert, InsertAll, Attr, Css, Node, Replication } from '@ephox/sugar';
-import { Arr, Option, Options } from '@ephox/katamari';
-import { ListType } from './ListType';
-
-interface Section {
- list: Element;
- item: Element;
-}
-
-const createSection = (listType: ListType): Section => {
- const section: Section = {
- list: Element.fromTag(listType),
- item: Element.fromTag('li')
- };
- Insert.append(section.list, section.item);
- return section;
-};
-
-const joinSections = (parent: Section, appendor: Section): void => {
- Insert.append(parent.item, appendor.list);
-};
-
-const createJoinedSections = (length: number, listType: ListType): Section[] => {
- const sections: Section[] = [];
- for (let i = 0; i < length; i++) {
- const newSection = createSection(listType);
- Arr.last(sections).each((lastSection) => joinSections(lastSection, newSection));
- sections.push(newSection);
- }
- return sections;
-};
-
-const normalizeSection = (section: Section, entry: Entry): void => {
- if (Node.name(section.list).toUpperCase() !== entry.listType) {
- section.list = Replication.mutate(section.list, entry.listType);
- }
- Attr.setAll(section.list, entry.listAttributes);
-};
-
-const createItem = (attr: Record, content: Element[]): Element => {
- const item = Element.fromTag('li');
- Attr.setAll(item, attr);
- InsertAll.append(item, content);
- return item;
-};
-
-const setItem = (section: Section, item: Element): void => {
- Insert.append(section.list, item);
- section.item = item;
-};
-
-const writeShallow = (outline: Section[], entry: Entry): Section[] => {
- const newOutline = outline.slice(0, entry.depth);
-
- Arr.last(newOutline).each((section) => {
- setItem(section, createItem(entry.itemAttributes, entry.content));
- normalizeSection(section, entry);
- });
-
- return newOutline;
-};
-
-const populateSections = (sections: Section[], entry: Entry): void => {
- Arr.last(sections).each((section) => {
- Attr.setAll(section.list, entry.listAttributes);
- Attr.setAll(section.item, entry.itemAttributes);
- InsertAll.append(section.item, entry.content);
- });
-
- for (let i = 0; i < sections.length - 1; i++) {
- Css.set(sections[i].item, 'list-style-type', 'none');
- }
-};
-
-const writeDeep = (outline: Section[], entry: Entry): Section[] => {
- const newSections = createJoinedSections(entry.depth - outline.length, entry.listType);
- populateSections(newSections, entry);
-
- Options.liftN([
- Arr.last(outline),
- Arr.head(newSections)
- ], joinSections);
- return outline.concat(newSections);
-};
-
-const composeList = (entries: Entry[]): Option => {
- const outline: Section[] = Arr.foldl(entries, (outline, entry) => {
- return entry.depth > outline.length ? writeDeep(outline, entry) : writeShallow(outline, entry);
- }, []);
- return Arr.head(outline).map((section) => section.list);
-};
-
-export {
- composeList
-};
\ No newline at end of file
diff --git a/tools-ng/tinymce/editor/src/plugins/lists/main/ts/listModel/Entry.ts b/tools-ng/tinymce/editor/src/plugins/lists/main/ts/listModel/Entry.ts
deleted file mode 100644
index 6ccad0a69..000000000
--- a/tools-ng/tinymce/editor/src/plugins/lists/main/ts/listModel/Entry.ts
+++ /dev/null
@@ -1,43 +0,0 @@
-/**
- * Entry.js
- *
- * Released under LGPL License.
- * Copyright (c) 1999-2018 Ephox Corp. All rights reserved
- *
- * License: http://www.tinymce.com/license
- * Contributing: http://www.tinymce.com/contributing
- */
-import { Element } from '@ephox/sugar';
-import { ListType } from './ListType';
-
-/*
-General workflow: Parse lists to entries -> Manipulate entries -> Compose entries to lists
-
-0-------1---2--------->Depth
- |
- a | Entry { depth: 1, content: [a], listType: ListType.OL, ... }
- b | Entry { depth: 1, content: [b], listType: ListType.OL, ... }
- |
- c | Entry { depth: 2, content: [c], listType: ListType.UL, ... }
- |
- |
- |
-0-------1---2--------->Depth
-*/
-
-export interface Entry {
- depth: number;
- content: Element[];
- isSelected: boolean;
- listType: ListType;
- listAttributes: Record;
- itemAttributes: Record;
-}
-
-export const isIndented = (entry: Entry) => {
- return entry.depth > 0;
-};
-
-export const isSelected = (entry: Entry) => {
- return entry.isSelected;
-};
\ No newline at end of file
diff --git a/tools-ng/tinymce/editor/src/plugins/lists/main/ts/listModel/Indentation.ts b/tools-ng/tinymce/editor/src/plugins/lists/main/ts/listModel/Indentation.ts
deleted file mode 100644
index c18238507..000000000
--- a/tools-ng/tinymce/editor/src/plugins/lists/main/ts/listModel/Indentation.ts
+++ /dev/null
@@ -1,32 +0,0 @@
-/**
- * Indentation.js
- *
- * Released under LGPL License.
- * Copyright (c) 1999-2018 Ephox Corp. All rights reserved
- *
- * License: http://www.tinymce.com/license
- * Contributing: http://www.tinymce.com/contributing
- */
-
-import { Entry } from './Entry';
-
-export const enum IndentValue {
- Indent = 'Indent',
- Outdent = 'Outdent',
- Flatten = 'Flatten'
-}
-
-export const indentEntry = (indentation: IndentValue, entry: Entry): void => {
- switch (indentation) {
- case IndentValue.Indent:
- entry.depth ++;
- break;
-
- case IndentValue.Outdent:
- entry.depth --;
- break;
-
- case IndentValue.Flatten:
- entry.depth = 0;
- }
-};
\ No newline at end of file
diff --git a/tools-ng/tinymce/editor/src/plugins/lists/main/ts/listModel/ListType.ts b/tools-ng/tinymce/editor/src/plugins/lists/main/ts/listModel/ListType.ts
deleted file mode 100644
index 2e8ee8f0f..000000000
--- a/tools-ng/tinymce/editor/src/plugins/lists/main/ts/listModel/ListType.ts
+++ /dev/null
@@ -1,39 +0,0 @@
-/**
- * ListType.js
- *
- * Released under LGPL License.
- * Copyright (c) 1999-2018 Ephox Corp. All rights reserved
- *
- * License: http://www.tinymce.com/license
- * Contributing: http://www.tinymce.com/contributing
- */
-import { Element, Compare, Node } from '@ephox/sugar';
-import { Option } from '@ephox/katamari';
-
-export enum ListType {
- OL = 'OL',
- UL = 'UL',
- DL = 'DL',
-}
-
-const getListType = (list: Element): Option => {
- switch (Node.name(list)) {
- case 'ol':
- return Option.some(ListType.OL);
- case 'ul':
- return Option.some(ListType.UL);
- case 'dl':
- return Option.some(ListType.DL);
- default:
- return Option.none();
- }
-};
-
-const isList = (el: Element) => {
- return Compare.is(el, 'OL,UL,DL');
-};
-
-export {
- isList,
- getListType
-};
\ No newline at end of file
diff --git a/tools-ng/tinymce/editor/src/plugins/lists/main/ts/listModel/NormalizeEntries.ts b/tools-ng/tinymce/editor/src/plugins/lists/main/ts/listModel/NormalizeEntries.ts
deleted file mode 100644
index 2fc406234..000000000
--- a/tools-ng/tinymce/editor/src/plugins/lists/main/ts/listModel/NormalizeEntries.ts
+++ /dev/null
@@ -1,47 +0,0 @@
-/**
- * NormalizeEntries.js
- *
- * Released under LGPL License.
- * Copyright (c) 1999-2018 Ephox Corp. All rights reserved
- *
- * License: http://www.tinymce.com/license
- * Contributing: http://www.tinymce.com/contributing
- */
-
-import { Entry } from './Entry';
-import { Arr, Merger, Option } from '@ephox/katamari';
-
-const assimilateEntry = (adherent: Entry, source: Entry) => {
- adherent.listType = source.listType;
- adherent.listAttributes = Merger.merge({}, source.listAttributes);
- adherent.itemAttributes = Merger.merge({}, source.itemAttributes);
-};
-
-const normalizeShallow = (outline: Array>, entry: Entry): Array > => {
- const matchingEntryDepth = entry.depth - 1;
- outline[matchingEntryDepth].each((matchingEntry) => assimilateEntry(entry, matchingEntry));
-
- const newOutline = outline.slice(0, matchingEntryDepth);
- newOutline.push(Option.some(entry));
- return newOutline;
-};
-
-const normalizeDeep = (outline: Array >, entry: Entry): Array > => {
- const newOutline = outline.slice(0);
- const diff = entry.depth - outline.length;
- for (let i = 1; i < diff; i++) {
- newOutline.push(Option.none());
- }
- newOutline.push(Option.some(entry));
- return newOutline;
-};
-
-const normalizeEntries = (entries: Entry[]): void => {
- Arr.foldl(entries, (outline: Array >, entry) => {
- return entry.depth > outline.length ? normalizeDeep(outline, entry) : normalizeShallow(outline, entry);
- }, []);
-};
-
-export {
- normalizeEntries
-};
\ No newline at end of file
diff --git a/tools-ng/tinymce/editor/src/plugins/lists/main/ts/listModel/ParseLists.ts b/tools-ng/tinymce/editor/src/plugins/lists/main/ts/listModel/ParseLists.ts
deleted file mode 100644
index 3d6e1193b..000000000
--- a/tools-ng/tinymce/editor/src/plugins/lists/main/ts/listModel/ParseLists.ts
+++ /dev/null
@@ -1,88 +0,0 @@
-/**
- * ParseLists.js
- *
- * Released under LGPL License.
- * Copyright (c) 1999-2018 Ephox Corp. All rights reserved
- *
- * License: http://www.tinymce.com/license
- * Contributing: http://www.tinymce.com/contributing
- */
-
-import { Arr, Cell, Fun, Option } from '@ephox/katamari';
-import { Attr, Compare, Element, Replication, Traverse } from '@ephox/sugar';
-import { getListType, isList, ListType } from './ListType';
-import { Entry } from './Entry';
-import { hasLastChildList } from './Util';
-
-type Parser = (depth: number, itemSelection: Option, selectionState: Cell, el: Element) => Entry[];
-
-export interface ItemTuple {
- start: Element;
- end: Element;
-}
-
-export interface EntrySet {
- entries: Entry[];
- sourceList: Element;
-}
-
-const enum ItemRange {
- Start = 'Start',
- End = 'End'
-}
-
-const getItemContent = (li: Element): Element[] => {
- const childNodes = Traverse.children(li);
- const contentLength = childNodes.length + (hasLastChildList(li) ? -1 : 0);
- return Arr.map(childNodes.slice(0, contentLength), Replication.deep);
-};
-
-const createEntry = (li: Element, depth: number, isSelected: boolean): Entry => {
- const list = Traverse.parent(li);
- return {
- depth,
- isSelected,
- content: getItemContent(li),
- listType: list.bind(getListType).getOr(ListType.OL),
- listAttributes: list.map(Attr.clone).getOr({}),
- itemAttributes: Attr.clone(li)
- };
-};
-
-const parseItem: Parser = (depth: number, itemSelection: Option, selectionState: Cell, item: Element): Entry[] => {
- const curriedParseList = Fun.curry(parseList, depth, itemSelection, selectionState);
-
- const updateSelectionState = (itemRange: ItemRange) => itemSelection.each((selection) => {
- if (Compare.eq(itemRange === ItemRange.Start ? selection.start : selection.end, item)) {
- selectionState.set(itemRange === ItemRange.Start);
- }
- });
-
- return Traverse.firstChild(item).filter(isList).fold(() => {
- updateSelectionState(ItemRange.Start);
- const fromCurrentItem: Entry = createEntry(item, depth, selectionState.get());
- updateSelectionState(ItemRange.End);
- const fromChildList: Entry[] = Traverse.lastChild(item).filter(isList).map(curriedParseList).getOr([]);
-
- return [ fromCurrentItem, ...fromChildList ];
- }, curriedParseList);
-};
-
-const parseList: Parser = (depth: number, itemSelection: Option, selectionState: Cell, list: Element): Entry[] => {
- const newDepth = depth + 1;
- return Arr.bind(Traverse.children(list), (child) =>
- isList(child) ? parseList(newDepth, itemSelection, selectionState, child) : parseItem(newDepth, itemSelection, selectionState, child)
- );
-};
-
-const parseLists = (lists: Element[], itemSelection: Option): EntrySet[] => {
- const selectionState = Cell(false);
- const initialDepth = 0;
-
- return Arr.map(lists, (list) => ({
- entries: parseList(initialDepth, itemSelection, selectionState, list),
- sourceList: list
- }));
-};
-
-export { parseLists };
diff --git a/tools-ng/tinymce/editor/src/plugins/lists/main/ts/listModel/Util.ts b/tools-ng/tinymce/editor/src/plugins/lists/main/ts/listModel/Util.ts
deleted file mode 100644
index fdbc9ce77..000000000
--- a/tools-ng/tinymce/editor/src/plugins/lists/main/ts/listModel/Util.ts
+++ /dev/null
@@ -1,25 +0,0 @@
-/**
- * Util.js
- *
- * Released under LGPL License.
- * Copyright (c) 1999-2018 Ephox Corp. All rights reserved
- *
- * License: http://www.tinymce.com/license
- * Contributing: http://www.tinymce.com/contributing
- */
-
-import { Element, Traverse } from '@ephox/sugar';
-import { isList } from './ListType';
-
-const hasFirstChildList = (li: Element) => {
- return Traverse.firstChild(li).map(isList).getOr(false);
-};
-
-const hasLastChildList = (li: Element) => {
- return Traverse.lastChild(li).map(isList).getOr(false);
-};
-
-export {
- hasFirstChildList,
- hasLastChildList
-};
\ No newline at end of file
diff --git a/tools-ng/tinymce/editor/src/plugins/media/main/ts/api/Api.ts b/tools-ng/tinymce/editor/src/plugins/media/main/ts/api/Api.ts
deleted file mode 100644
index 16dbc5617..000000000
--- a/tools-ng/tinymce/editor/src/plugins/media/main/ts/api/Api.ts
+++ /dev/null
@@ -1,25 +0,0 @@
-/**
- * Api.js
- *
- * Released under LGPL License.
- * Copyright (c) 1999-2017 Ephox Corp. All rights reserved
- *
- * License: http://www.tinymce.com/license
- * Contributing: http://www.tinymce.com/contributing
- */
-
-import Dialog from '../ui/Dialog';
-
-const get = function (editor) {
- const showDialog = function () {
- Dialog.showDialog(editor);
- };
-
- return {
- showDialog
- };
-};
-
-export default {
- get
-};
\ No newline at end of file
diff --git a/tools-ng/tinymce/editor/src/plugins/media/main/ts/api/Commands.ts b/tools-ng/tinymce/editor/src/plugins/media/main/ts/api/Commands.ts
deleted file mode 100644
index bcdc1ea86..000000000
--- a/tools-ng/tinymce/editor/src/plugins/media/main/ts/api/Commands.ts
+++ /dev/null
@@ -1,23 +0,0 @@
-/**
- * Commands.js
- *
- * Released under LGPL License.
- * Copyright (c) 1999-2017 Ephox Corp. All rights reserved
- *
- * License: http://www.tinymce.com/license
- * Contributing: http://www.tinymce.com/contributing
- */
-
-import Dialog from '../ui/Dialog';
-
-const register = function (editor) {
- const showDialog = function () {
- Dialog.showDialog(editor);
- };
-
- editor.addCommand('mceMedia', showDialog);
-};
-
-export default {
- register
-};
\ No newline at end of file
diff --git a/tools-ng/tinymce/editor/src/plugins/nonbreaking/main/ts/api/Commands.ts b/tools-ng/tinymce/editor/src/plugins/nonbreaking/main/ts/api/Commands.ts
deleted file mode 100644
index fbb26acf0..000000000
--- a/tools-ng/tinymce/editor/src/plugins/nonbreaking/main/ts/api/Commands.ts
+++ /dev/null
@@ -1,21 +0,0 @@
-/**
- * Commands.js
- *
- * Released under LGPL License.
- * Copyright (c) 1999-2017 Ephox Corp. All rights reserved
- *
- * License: http://www.tinymce.com/license
- * Contributing: http://www.tinymce.com/contributing
- */
-
-import Actions from '../core/Actions';
-
-const register = function (editor) {
- editor.addCommand('mceNonBreaking', function () {
- Actions.insertNbsp(editor, 1);
- });
-};
-
-export default {
- register
-};
\ No newline at end of file
diff --git a/tools-ng/tinymce/editor/src/plugins/noneditable/main/ts/Plugin.ts b/tools-ng/tinymce/editor/src/plugins/noneditable/main/ts/Plugin.ts
deleted file mode 100644
index 4c0009b7b..000000000
--- a/tools-ng/tinymce/editor/src/plugins/noneditable/main/ts/Plugin.ts
+++ /dev/null
@@ -1,18 +0,0 @@
-/**
- * Plugin.js
- *
- * Released under LGPL License.
- * Copyright (c) 1999-2017 Ephox Corp. All rights reserved
- *
- * License: http://www.tinymce.com/license
- * Contributing: http://www.tinymce.com/contributing
- */
-
-import PluginManager from 'tinymce/core/api/PluginManager';
-import FilterContent from './core/FilterContent';
-
-PluginManager.add('noneditable', function (editor) {
- FilterContent.setup(editor);
-});
-
-export default function () { }
\ No newline at end of file
diff --git a/tools-ng/tinymce/editor/src/plugins/paste/main/ts/api/Api.ts b/tools-ng/tinymce/editor/src/plugins/paste/main/ts/api/Api.ts
deleted file mode 100644
index 3250bcc6f..000000000
--- a/tools-ng/tinymce/editor/src/plugins/paste/main/ts/api/Api.ts
+++ /dev/null
@@ -1,22 +0,0 @@
-/**
- * Api.js
- *
- * Released under LGPL License.
- * Copyright (c) 1999-2017 Ephox Corp. All rights reserved
- *
- * License: http://www.tinymce.com/license
- * Contributing: http://www.tinymce.com/contributing
- */
-
-import { Clipboard } from '../api/Clipboard';
-
-const get = function (clipboard: Clipboard, quirks) {
- return {
- clipboard,
- quirks
- };
-};
-
-export default {
- get
-};
\ No newline at end of file
diff --git a/tools-ng/tinymce/editor/src/plugins/preview/main/ts/api/Commands.ts b/tools-ng/tinymce/editor/src/plugins/preview/main/ts/api/Commands.ts
deleted file mode 100644
index 889d178af..000000000
--- a/tools-ng/tinymce/editor/src/plugins/preview/main/ts/api/Commands.ts
+++ /dev/null
@@ -1,21 +0,0 @@
-/**
- * Commands.js
- *
- * Released under LGPL License.
- * Copyright (c) 1999-2017 Ephox Corp. All rights reserved
- *
- * License: http://www.tinymce.com/license
- * Contributing: http://www.tinymce.com/contributing
- */
-
-import Dialog from '../ui/Dialog';
-
-const register = function (editor) {
- editor.addCommand('mcePreview', function () {
- Dialog.open(editor);
- });
-};
-
-export default {
- register
-};
\ No newline at end of file
diff --git a/tools-ng/tinymce/editor/src/plugins/print/main/ts/api/Commands.ts b/tools-ng/tinymce/editor/src/plugins/print/main/ts/api/Commands.ts
deleted file mode 100644
index 934556ebe..000000000
--- a/tools-ng/tinymce/editor/src/plugins/print/main/ts/api/Commands.ts
+++ /dev/null
@@ -1,19 +0,0 @@
-/**
- * Commands.js
- *
- * Released under LGPL License.
- * Copyright (c) 1999-2017 Ephox Corp. All rights reserved
- *
- * License: http://www.tinymce.com/license
- * Contributing: http://www.tinymce.com/contributing
- */
-
-const register = function (editor) {
- editor.addCommand('mcePrint', function () {
- editor.getWin().print();
- });
-};
-
-export default {
- register
-};
\ No newline at end of file
diff --git a/tools-ng/tinymce/editor/src/plugins/searchreplace/main/ts/api/Commands.ts b/tools-ng/tinymce/editor/src/plugins/searchreplace/main/ts/api/Commands.ts
deleted file mode 100644
index 6fba42a5d..000000000
--- a/tools-ng/tinymce/editor/src/plugins/searchreplace/main/ts/api/Commands.ts
+++ /dev/null
@@ -1,21 +0,0 @@
-/**
- * Commands.js
- *
- * Released under LGPL License.
- * Copyright (c) 1999-2017 Ephox Corp. All rights reserved
- *
- * License: http://www.tinymce.com/license
- * Contributing: http://www.tinymce.com/contributing
- */
-
-import Dialog from '../ui/Dialog';
-
-const register = function (editor, currentIndexState) {
- editor.addCommand('SearchReplace', function () {
- Dialog.open(editor, currentIndexState);
- });
-};
-
-export default {
- register
-};
\ No newline at end of file
diff --git a/tools-ng/tinymce/editor/src/plugins/tabfocus/main/ts/Plugin.ts b/tools-ng/tinymce/editor/src/plugins/tabfocus/main/ts/Plugin.ts
deleted file mode 100644
index bf45c477a..000000000
--- a/tools-ng/tinymce/editor/src/plugins/tabfocus/main/ts/Plugin.ts
+++ /dev/null
@@ -1,18 +0,0 @@
-/**
- * Plugin.js
- *
- * Released under LGPL License.
- * Copyright (c) 1999-2017 Ephox Corp. All rights reserved
- *
- * License: http://www.tinymce.com/license
- * Contributing: http://www.tinymce.com/contributing
- */
-
-import PluginManager from 'tinymce/core/api/PluginManager';
-import Keyboard from './core/Keyboard';
-
-PluginManager.add('tabfocus', function (editor) {
- Keyboard.setup(editor);
-});
-
-export default function () { }
\ No newline at end of file
diff --git a/tools-ng/tinymce/editor/src/plugins/textpattern/main/ts/Plugin.ts b/tools-ng/tinymce/editor/src/plugins/textpattern/main/ts/Plugin.ts
deleted file mode 100644
index 1ada49527..000000000
--- a/tools-ng/tinymce/editor/src/plugins/textpattern/main/ts/Plugin.ts
+++ /dev/null
@@ -1,25 +0,0 @@
-/**
- * Plugin.js
- *
- * Released under LGPL License.
- * Copyright (c) 1999-2017 Ephox Corp. All rights reserved
- *
- * License: http://www.tinymce.com/license
- * Contributing: http://www.tinymce.com/contributing
- */
-
-import { Cell } from '@ephox/katamari';
-import PluginManager from 'tinymce/core/api/PluginManager';
-import Api from './api/Api';
-import Settings from './api/Settings';
-import Keyboard from './core/Keyboard';
-
-PluginManager.add('textpattern', function (editor) {
- const patternsState = Cell(Settings.getPatterns(editor.settings));
-
- Keyboard.setup(editor, patternsState);
-
- return Api.get(patternsState);
-});
-
-export default function () { }
\ No newline at end of file
diff --git a/tools-ng/tinymce/editor/src/plugins/textpattern/main/ts/api/Api.ts b/tools-ng/tinymce/editor/src/plugins/textpattern/main/ts/api/Api.ts
deleted file mode 100644
index f81c50ae5..000000000
--- a/tools-ng/tinymce/editor/src/plugins/textpattern/main/ts/api/Api.ts
+++ /dev/null
@@ -1,28 +0,0 @@
-/**
- * Api.js
- *
- * Released under LGPL License.
- * Copyright (c) 1999-2017 Ephox Corp. All rights reserved
- *
- * License: http://www.tinymce.com/license
- * Contributing: http://www.tinymce.com/contributing
- */
-
-const get = function (patternsState) {
- const setPatterns = function (newPatterns) {
- patternsState.set(newPatterns);
- };
-
- const getPatterns = function () {
- return patternsState.get();
- };
-
- return {
- setPatterns,
- getPatterns
- };
-};
-
-export default {
- get
-};
\ No newline at end of file
diff --git a/tools-ng/tinymce/editor/src/plugins/textpattern/main/ts/api/Settings.ts b/tools-ng/tinymce/editor/src/plugins/textpattern/main/ts/api/Settings.ts
deleted file mode 100644
index 646956662..000000000
--- a/tools-ng/tinymce/editor/src/plugins/textpattern/main/ts/api/Settings.ts
+++ /dev/null
@@ -1,34 +0,0 @@
-/**
- * Settings.js
- *
- * Released under LGPL License.
- * Copyright (c) 1999-2017 Ephox Corp. All rights reserved
- *
- * License: http://www.tinymce.com/license
- * Contributing: http://www.tinymce.com/contributing
- */
-
-const defaultPatterns = [
- { start: '*', end: '*', format: 'italic' },
- { start: '**', end: '**', format: 'bold' },
- { start: '***', end: '***', format: ['bold', 'italic'] },
- { start: '#', format: 'h1' },
- { start: '##', format: 'h2' },
- { start: '###', format: 'h3' },
- { start: '####', format: 'h4' },
- { start: '#####', format: 'h5' },
- { start: '######', format: 'h6' },
- { start: '1. ', cmd: 'InsertOrderedList' },
- { start: '* ', cmd: 'InsertUnorderedList' },
- { start: '- ', cmd: 'InsertUnorderedList' }
-];
-
-const getPatterns = function (editorSettings) {
- return editorSettings.textpattern_patterns !== undefined ?
- editorSettings.textpattern_patterns :
- defaultPatterns;
-};
-
-export default {
- getPatterns
-};
\ No newline at end of file
diff --git a/tools-ng/tinymce/editor/src/plugins/textpattern/main/ts/core/Formatter.ts b/tools-ng/tinymce/editor/src/plugins/textpattern/main/ts/core/Formatter.ts
deleted file mode 100644
index 0332c59e4..000000000
--- a/tools-ng/tinymce/editor/src/plugins/textpattern/main/ts/core/Formatter.ts
+++ /dev/null
@@ -1,175 +0,0 @@
-/**
- * Formatter.js
- *
- * Released under LGPL License.
- * Copyright (c) 1999-2017 Ephox Corp. All rights reserved
- *
- * License: http://www.tinymce.com/license
- * Contributing: http://www.tinymce.com/contributing
- */
-
-import TreeWalker from 'tinymce/core/api/dom/TreeWalker';
-import Tools from 'tinymce/core/api/util/Tools';
-import Patterns from './Patterns';
-import { document } from '@ephox/dom-globals';
-
-const splitContainer = function (container, pattern, endOffset, startOffset, space) {
-
- // Split text node and remove start/end from text node
- container = startOffset > 0 ? container.splitText(startOffset) : container;
- container.splitText(endOffset - startOffset + pattern.end.length);
- container.deleteData(0, pattern.start.length);
- container.deleteData(container.data.length - pattern.end.length, pattern.end.length);
-
- return container;
-};
-
-const patternFromRng = function (patterns, rng, space) {
- if (rng.collapsed === false) {
- return;
- }
-
- const container = rng.startContainer;
- const text = container.data;
- const delta = space === true ? 1 : 0;
-
- if (container.nodeType !== 3) {
- return;
- }
-
- // Find best matching end
- const endPattern = Patterns.findEndPattern(patterns, text, rng.startOffset, delta);
- if (endPattern === undefined) {
- return;
- }
-
- // Find start of matched pattern
- let endOffset = text.lastIndexOf(endPattern.end, rng.startOffset - delta);
- const startOffset = text.lastIndexOf(endPattern.start, endOffset - endPattern.end.length);
- endOffset = text.indexOf(endPattern.end, startOffset + endPattern.start.length);
-
- if (startOffset === -1) {
- return;
- }
-
- // Setup a range for the matching word
- const patternRng = document.createRange();
- patternRng.setStart(container, startOffset);
- patternRng.setEnd(container, endOffset + endPattern.end.length);
-
- const startPattern = Patterns.findPattern(patterns, patternRng.toString());
-
- if (endPattern === undefined || startPattern !== endPattern || (container.data.length <= endPattern.start.length + endPattern.end.length)) {
- return;
- }
-
- return {
- pattern: endPattern,
- startOffset,
- endOffset
- };
-};
-
-const splitAndApply = function (editor, container, found, space) {
- const formatArray = Tools.isArray(found.pattern.format) ? found.pattern.format : [found.pattern.format];
- const validFormats = Tools.grep(formatArray, function (formatName) {
- const format = editor.formatter.get(formatName);
- return format && format[0].inline;
- });
-
- if (validFormats.length !== 0) {
- editor.undoManager.transact(function () {
- container = splitContainer(container, found.pattern, found.endOffset, found.startOffset, space);
- formatArray.forEach(function (format) {
- editor.formatter.apply(format, {}, container);
- });
- });
-
- return container;
- }
-};
-
-// Handles inline formats like *abc* and **abc**
-const doApplyInlineFormat = function (editor, patterns, space) {
- const rng = editor.selection.getRng(true);
- const foundPattern = patternFromRng(patterns, rng, space);
-
- if (foundPattern) {
- return splitAndApply(editor, rng.startContainer, foundPattern, space);
- }
-};
-
-const applyInlineFormatSpace = function (editor, patterns) {
- return doApplyInlineFormat(editor, patterns, true);
-};
-const applyInlineFormatEnter = function (editor, patterns) {
- return doApplyInlineFormat(editor, patterns, false);
-};
-
-// Handles block formats like ##abc or 1. abc
-const applyBlockFormat = function (editor, patterns) {
- let selection, dom, container, firstTextNode, node, format, textBlockElm, pattern, walker, rng, offset;
-
- selection = editor.selection;
- dom = editor.dom;
-
- if (!selection.isCollapsed()) {
- return;
- }
-
- textBlockElm = dom.getParent(selection.getStart(), 'p');
- if (textBlockElm) {
- walker = new TreeWalker(textBlockElm, textBlockElm);
- while ((node = walker.next())) {
- if (node.nodeType === 3) {
- firstTextNode = node;
- break;
- }
- }
-
- if (firstTextNode) {
- pattern = Patterns.findPattern(patterns, firstTextNode.data);
- if (!pattern) {
- return;
- }
-
- rng = selection.getRng(true);
- container = rng.startContainer;
- offset = rng.startOffset;
-
- if (firstTextNode === container) {
- offset = Math.max(0, offset - pattern.start.length);
- }
-
- if (Tools.trim(firstTextNode.data).length === pattern.start.length) {
- return;
- }
-
- if (pattern.format) {
- format = editor.formatter.get(pattern.format);
- if (format && format[0].block) {
- firstTextNode.deleteData(0, pattern.start.length);
- editor.formatter.apply(pattern.format, {}, firstTextNode);
-
- rng.setStart(container, offset);
- rng.collapse(true);
- selection.setRng(rng);
- }
- }
-
- if (pattern.cmd) {
- editor.undoManager.transact(function () {
- firstTextNode.deleteData(0, pattern.start.length);
- editor.execCommand(pattern.cmd);
- });
- }
- }
- }
-};
-
-export default {
- patternFromRng,
- applyInlineFormatSpace,
- applyInlineFormatEnter,
- applyBlockFormat
-};
\ No newline at end of file
diff --git a/tools-ng/tinymce/editor/src/plugins/textpattern/main/ts/core/KeyHandler.ts b/tools-ng/tinymce/editor/src/plugins/textpattern/main/ts/core/KeyHandler.ts
deleted file mode 100644
index 50017bc8c..000000000
--- a/tools-ng/tinymce/editor/src/plugins/textpattern/main/ts/core/KeyHandler.ts
+++ /dev/null
@@ -1,76 +0,0 @@
-/**
- * KeyHandler.js
- *
- * Released under LGPL License.
- * Copyright (c) 1999-2017 Ephox Corp. All rights reserved
- *
- * License: http://www.tinymce.com/license
- * Contributing: http://www.tinymce.com/contributing
- */
-
-import VK from 'tinymce/core/api/util/VK';
-import Formatter from './Formatter';
-
-function handleEnter(editor, patterns) {
- let wrappedTextNode, rng;
-
- wrappedTextNode = Formatter.applyInlineFormatEnter(editor, patterns);
- if (wrappedTextNode) {
- rng = editor.dom.createRng();
- rng.setStart(wrappedTextNode, wrappedTextNode.data.length);
- rng.setEnd(wrappedTextNode, wrappedTextNode.data.length);
- editor.selection.setRng(rng);
- }
-
- Formatter.applyBlockFormat(editor, patterns);
-}
-
-function handleInlineKey(editor, patterns) {
- let wrappedTextNode, lastChar, lastCharNode, rng, dom;
-
- wrappedTextNode = Formatter.applyInlineFormatSpace(editor, patterns);
- if (wrappedTextNode) {
- dom = editor.dom;
- lastChar = wrappedTextNode.data.slice(-1);
-
- // Move space after the newly formatted node
- if (/[\u00a0 ]/.test(lastChar)) {
- wrappedTextNode.deleteData(wrappedTextNode.data.length - 1, 1);
- lastCharNode = dom.doc.createTextNode(lastChar);
-
- dom.insertAfter(lastCharNode, wrappedTextNode.parentNode);
-
- rng = dom.createRng();
- rng.setStart(lastCharNode, 1);
- rng.setEnd(lastCharNode, 1);
- editor.selection.setRng(rng);
- }
- }
-}
-
-const checkKeyEvent = function (codes, event, predicate) {
- for (let i = 0; i < codes.length; i++) {
- if (predicate(codes[i], event)) {
- return true;
- }
- }
-};
-
-const checkKeyCode = function (codes, event) {
- return checkKeyEvent(codes, event, function (code, event) {
- return code === event.keyCode && VK.modifierPressed(event) === false;
- });
-};
-
-const checkCharCode = function (chars, event) {
- return checkKeyEvent(chars, event, function (chr, event) {
- return chr.charCodeAt(0) === event.charCode;
- });
-};
-
-export default {
- handleEnter,
- handleInlineKey,
- checkCharCode,
- checkKeyCode
-};
\ No newline at end of file
diff --git a/tools-ng/tinymce/editor/src/plugins/textpattern/main/ts/core/Patterns.ts b/tools-ng/tinymce/editor/src/plugins/textpattern/main/ts/core/Patterns.ts
deleted file mode 100644
index 646027187..000000000
--- a/tools-ng/tinymce/editor/src/plugins/textpattern/main/ts/core/Patterns.ts
+++ /dev/null
@@ -1,67 +0,0 @@
-/**
- * Patterns.js
- *
- * Released under LGPL License.
- * Copyright (c) 1999-2017 Ephox Corp. All rights reserved
- *
- * License: http://www.tinymce.com/license
- * Contributing: http://www.tinymce.com/contributing
- */
-
-// Returns a sorted patterns list, ordered descending by start length
-const sortPatterns = function (patterns) {
- return patterns.sort(function (a, b) {
- if (a.start.length > b.start.length) {
- return -1;
- }
-
- if (a.start.length < b.start.length) {
- return 1;
- }
-
- return 0;
- });
-};
-
-// Finds a matching pattern to the specified text
-const findPattern = function (patterns, text) {
- for (let i = 0; i < patterns.length; i++) {
- if (text.indexOf(patterns[i].start) !== 0) {
- continue;
- }
-
- if (patterns[i].end && text.lastIndexOf(patterns[i].end) !== (text.length - patterns[i].end.length)) {
- continue;
- }
-
- return patterns[i];
- }
-};
-
-const isMatchingPattern = function (pattern, text, offset, delta) {
- const textEnd = text.substr(offset - pattern.end.length - delta, pattern.end.length);
- return textEnd === pattern.end;
-};
-
-const hasContent = function (offset, delta, pattern) {
- return (offset - delta - pattern.end.length - pattern.start.length) > 0;
-};
-
-// Finds the best matching end pattern
-const findEndPattern = function (patterns, text, offset, delta) {
- let pattern, i;
- const sortedPatterns = sortPatterns(patterns);
-
- // Find best matching end
- for (i = 0; i < sortedPatterns.length; i++) {
- pattern = sortedPatterns[i];
- if (pattern.end !== undefined && isMatchingPattern(pattern, text, offset, delta) && hasContent(offset, delta, pattern)) {
- return pattern;
- }
- }
-};
-
-export default {
- findPattern,
- findEndPattern
-};
\ No newline at end of file
diff --git a/tools-ng/tinymce/editor/src/plugins/toc/main/ts/core/Guid.ts b/tools-ng/tinymce/editor/src/plugins/toc/main/ts/core/Guid.ts
deleted file mode 100644
index 0a4fd9fdc..000000000
--- a/tools-ng/tinymce/editor/src/plugins/toc/main/ts/core/Guid.ts
+++ /dev/null
@@ -1,22 +0,0 @@
-/**
- * Guid.js
- *
- * Released under LGPL License.
- * Copyright (c) 1999-2017 Ephox Corp. All rights reserved
- *
- * License: http://www.tinymce.com/license
- * Contributing: http://www.tinymce.com/contributing
- */
-
-const create = function (prefix) {
- let counter = 0;
-
- return function () {
- const guid = new Date().getTime().toString(32);
- return prefix + guid + (counter++).toString(32);
- };
-};
-
-export default {
- create
-};
\ No newline at end of file
diff --git a/tools-ng/tinymce/editor/src/plugins/visualblocks/main/ts/api/Events.ts b/tools-ng/tinymce/editor/src/plugins/visualblocks/main/ts/api/Events.ts
deleted file mode 100644
index b1e5afd04..000000000
--- a/tools-ng/tinymce/editor/src/plugins/visualblocks/main/ts/api/Events.ts
+++ /dev/null
@@ -1,17 +0,0 @@
-/**
- * Events.js
- *
- * Released under LGPL License.
- * Copyright (c) 1999-2017 Ephox Corp. All rights reserved
- *
- * License: http://www.tinymce.com/license
- * Contributing: http://www.tinymce.com/contributing
- */
-
-const fireVisualBlocks = function (editor, state) {
- editor.fire('VisualBlocks', { state });
-};
-
-export default {
- fireVisualBlocks
-};
\ No newline at end of file
diff --git a/tools-ng/tinymce/editor/src/plugins/visualchars/main/ts/api/Api.ts b/tools-ng/tinymce/editor/src/plugins/visualchars/main/ts/api/Api.ts
deleted file mode 100644
index 98c811b38..000000000
--- a/tools-ng/tinymce/editor/src/plugins/visualchars/main/ts/api/Api.ts
+++ /dev/null
@@ -1,23 +0,0 @@
-/**
- * Api.js
- *
- * Released under LGPL License.
- * Copyright (c) 1999-2017 Ephox Corp. All rights reserved
- *
- * License: http://www.tinymce.com/license
- * Contributing: http://www.tinymce.com/contributing
- */
-
-const get = function (toggleState) {
- const isEnabled = function () {
- return toggleState.get();
- };
-
- return {
- isEnabled
- };
-};
-
-export default {
- get
-};
\ No newline at end of file
diff --git a/tools-ng/tinymce/editor/src/plugins/visualchars/main/ts/api/Events.ts b/tools-ng/tinymce/editor/src/plugins/visualchars/main/ts/api/Events.ts
deleted file mode 100644
index eaacc488f..000000000
--- a/tools-ng/tinymce/editor/src/plugins/visualchars/main/ts/api/Events.ts
+++ /dev/null
@@ -1,17 +0,0 @@
-/**
- * Events.js
- *
- * Released under LGPL License.
- * Copyright (c) 1999-2017 Ephox Corp. All rights reserved
- *
- * License: http://www.tinymce.com/license
- * Contributing: http://www.tinymce.com/contributing
- */
-
-const fireVisualChars = function (editor, state) {
- return editor.fire('VisualChars', { state });
-};
-
-export default {
- fireVisualChars
-};
\ No newline at end of file
diff --git a/tools-ng/tinymce/editor/src/plugins/visualchars/main/ts/core/Html.ts b/tools-ng/tinymce/editor/src/plugins/visualchars/main/ts/core/Html.ts
deleted file mode 100644
index a1dc90f6d..000000000
--- a/tools-ng/tinymce/editor/src/plugins/visualchars/main/ts/core/Html.ts
+++ /dev/null
@@ -1,19 +0,0 @@
-/**
- * Html.js
- *
- * Released under LGPL License.
- * Copyright (c) 1999-2017 Ephox Corp. All rights reserved
- *
- * License: http://www.tinymce.com/license
- * Contributing: http://www.tinymce.com/contributing
- */
-
-import Data from './Data';
-
-const wrapCharWithSpan = function (value) {
- return '' + value + ' ';
-};
-
-export default {
- wrapCharWithSpan
-};
\ No newline at end of file
diff --git a/tools-ng/tinymce/editor/src/plugins/wordcount/main/ts/alien/Arr.ts b/tools-ng/tinymce/editor/src/plugins/wordcount/main/ts/alien/Arr.ts
deleted file mode 100644
index 8e5ed1eea..000000000
--- a/tools-ng/tinymce/editor/src/plugins/wordcount/main/ts/alien/Arr.ts
+++ /dev/null
@@ -1,54 +0,0 @@
-/**
- * Arr.js
- *
- * Released under LGPL License.
- * Copyright (c) 1999-2016 Ephox Corp. All rights reserved
- *
- * License: http://www.tinymce.com/license
- * Contributing: http://www.tinymce.com/contributing
- */
-
-const each = function (o, cb, s?) {
- let n, l;
-
- if (!o) {
- return 0;
- }
-
- s = s || o;
-
- if (o.length !== undefined) {
- // Indexed arrays, needed for Safari
- for (n = 0, l = o.length; n < l; n++) {
- if (cb.call(s, o[n], n, o) === false) {
- return 0;
- }
- }
- } else {
- // Hashtables
- for (n in o) {
- if (o.hasOwnProperty(n)) {
- if (cb.call(s, o[n], n, o) === false) {
- return 0;
- }
- }
- }
- }
-
- return 1;
-};
-
-const map = function (array, callback) {
- const out = [];
-
- each(array, function (item, index) {
- out.push(callback(item, index, array));
- });
-
- return out;
-};
-
-export default {
- each,
- map
-};
\ No newline at end of file
diff --git a/tools-ng/tinymce/editor/src/plugins/wordcount/main/ts/api/Api.ts b/tools-ng/tinymce/editor/src/plugins/wordcount/main/ts/api/Api.ts
deleted file mode 100644
index 022bbb8e2..000000000
--- a/tools-ng/tinymce/editor/src/plugins/wordcount/main/ts/api/Api.ts
+++ /dev/null
@@ -1,25 +0,0 @@
-/**
- * Api.js
- *
- * Released under LGPL License.
- * Copyright (c) 1999-2016 Ephox Corp. All rights reserved
- *
- * License: http://www.tinymce.com/license
- * Contributing: http://www.tinymce.com/contributing
- */
-
-import WordCount from '../text/WordCount';
-
-const get = function (editor) {
- const getCount = function () {
- return WordCount.getCount(editor);
- };
-
- return {
- getCount
- };
-};
-
-export default {
- get
-};
\ No newline at end of file
diff --git a/tools-ng/tinymce/editor/src/themes/inlite/main/ts/alien/Arr.ts b/tools-ng/tinymce/editor/src/themes/inlite/main/ts/alien/Arr.ts
deleted file mode 100644
index 84c819058..000000000
--- a/tools-ng/tinymce/editor/src/themes/inlite/main/ts/alien/Arr.ts
+++ /dev/null
@@ -1,19 +0,0 @@
-/**
- * Arr.js
- *
- * Released under LGPL License.
- * Copyright (c) 1999-2016 Ephox Corp. All rights reserved
- *
- * License: http://www.tinymce.com/license
- * Contributing: http://www.tinymce.com/contributing
- */
-
-const flatten = function (arr: any[]) {
- return arr.reduce(function (results: any[], item) {
- return Array.isArray(item) ? results.concat(flatten(item)) : results.concat(item);
- }, []);
-};
-
-export default {
- flatten
-};
\ No newline at end of file
diff --git a/tools-ng/tinymce/editor/src/themes/mobile/main/ts/style/Styles.ts b/tools-ng/tinymce/editor/src/themes/mobile/main/ts/style/Styles.ts
deleted file mode 100644
index 3d11c7fba..000000000
--- a/tools-ng/tinymce/editor/src/themes/mobile/main/ts/style/Styles.ts
+++ /dev/null
@@ -1,12 +0,0 @@
-import { Fun } from '@ephox/katamari';
-
-const prefix = 'tinymce-mobile';
-
-const resolve = function (p) {
- return prefix + '-' + p;
-};
-
-export default {
- resolve,
- prefix: Fun.constant(prefix)
-};
\ No newline at end of file
diff --git a/tools-ng/tinymce/editor/src/themes/mobile/main/ts/util/DataAttributes.ts b/tools-ng/tinymce/editor/src/themes/mobile/main/ts/util/DataAttributes.ts
deleted file mode 100644
index 81231344c..000000000
--- a/tools-ng/tinymce/editor/src/themes/mobile/main/ts/util/DataAttributes.ts
+++ /dev/null
@@ -1,10 +0,0 @@
-import { Attr } from '@ephox/sugar';
-
-const safeParse = function (element, attribute) {
- const parsed = parseInt(Attr.get(element, attribute), 10);
- return isNaN(parsed) ? 0 : parsed;
-};
-
-export default {
- safeParse
-};
\ No newline at end of file
diff --git a/tools-ng/tinymce/editor/package.json b/tools-ng/tinymce/package.json
similarity index 90%
rename from tools-ng/tinymce/editor/package.json
rename to tools-ng/tinymce/package.json
index 915697fbf..1067a9c0b 100644
--- a/tools-ng/tinymce/editor/package.json
+++ b/tools-ng/tinymce/package.json
@@ -1,6 +1,6 @@
{
"name": "tinymce",
- "version": "4.8.5",
+ "version": "4.9.2",
"repository": {
"type": "git",
"url": "https://github.com/tinymce/tinymce.git"
@@ -30,7 +30,8 @@
"@ephox/robin": "latest",
"@ephox/sand": "latest",
"@ephox/snooker": "latest",
- "@ephox/sugar": "latest"
+ "@ephox/sugar": "latest",
+ "tslib": "^1.9.3"
},
"devDependencies": {
"@ephox/agar": "latest",
@@ -53,12 +54,13 @@
"less-plugin-autoprefix": "^1.5.1",
"load-grunt-tasks": "^4.0.0",
"moxie-zip": "~0.0.3",
- "tslint": "^5.9.1",
+ "rimraf": "^2.6.2",
+ "string-replace-loader": "^2.1.1",
"ts-loader": "^5.3.0",
+ "tslint": "^5.9.1",
"typescript": "^3.1.5",
"webpack": "^4.8.3",
"webpack-dev-server": "^3.1.5",
- "webpack-livereload-plugin": "^2.1.1",
- "rimraf": "^2.6.2"
+ "webpack-livereload-plugin": "^2.1.1"
}
}
diff --git a/tools-ng/tinymce/plugins/ccm-cms-images/README.md b/tools-ng/tinymce/plugins/ccm-cms-images/README.md
new file mode 100644
index 000000000..053a50626
--- /dev/null
+++ b/tools-ng/tinymce/plugins/ccm-cms-images/README.md
@@ -0,0 +1,15 @@
+# trunkImages TinyMCE Plugin
+
+Welcome stranger! This is a repo containing the trunkImages TinyMCE plugin.
+
+## The development server
+
+By running the `npm start` command you start the development server and open a browser window with an instance of TinyMCE with your plugin added to it. This window will reload automatically whenever a change is detected in the `index.html` file in the `static` folder or in one of the TypeScript files in the `src` directory.
+
+## The production build
+
+By running the `npm run build` command Webpack will create a `dist` directory with a child directory with the name of your plugin (trunk-images) containing three files:
+
+* `plugin.js` - the bundled plugin
+* `plugin.min.js` - the bundles, uglified and minified plugin
+* `LICENSE` - a file explaining the license of your plugin (copied over from `src/LICENSE`)
diff --git a/tools-ng/tinymce/plugins/ccm-cms-images/config/webpack.config.prod.js b/tools-ng/tinymce/plugins/ccm-cms-images/config/webpack.config.prod.js
new file mode 100644
index 000000000..d33b4292c
--- /dev/null
+++ b/tools-ng/tinymce/plugins/ccm-cms-images/config/webpack.config.prod.js
@@ -0,0 +1,35 @@
+const path = require("path");
+const webpack = require("webpack");
+const CopyWebpackPlugin = require("copy-webpack-plugin");
+
+const pluginName = "ccm-cms-images";
+
+module.exports = {
+ entry: {
+ plugin: "./src/index.ts",
+ "plugin.min": "./src/index.ts"
+ },
+ output: {
+ path: path.join(__dirname, "../../../../../ccm-core/web/assets/tinymce/js/tinymce/plugins", pluginName),
+ filename: "[name].js"
+ },
+ resolve: {
+ extensions: [".webpack.js", ".web.js", ".ts", ".js"]
+ },
+ module: {
+ rules: [{
+ test: /\.ts$/,
+ use: "ts-loader"
+ }]
+ },
+ plugins: [
+ new webpack.optimize.UglifyJsPlugin({
+ include: /\.min\.js$/,
+ minimize: true
+ }),
+ new CopyWebpackPlugin([{
+ from: path.join(__dirname, "../src/LICENSE"),
+ to: path.join(__dirname, "../dist", pluginName)
+ }])
+ ]
+};
\ No newline at end of file
diff --git a/tools-ng/tinymce/plugins/ccm-cms-images/config/webpack.config.test.js b/tools-ng/tinymce/plugins/ccm-cms-images/config/webpack.config.test.js
new file mode 100644
index 000000000..1d7a8259e
--- /dev/null
+++ b/tools-ng/tinymce/plugins/ccm-cms-images/config/webpack.config.test.js
@@ -0,0 +1,35 @@
+const path = require("path");
+const webpack = require("webpack");
+const CopyWebpackPlugin = require("copy-webpack-plugin");
+
+const pluginName = "ccm-cms-images";
+
+module.exports = {
+ entry: {
+ plugin: "./src/index.ts",
+ "plugin.min": "./src/index.ts"
+ },
+ output: {
+ path: path.join(__dirname, "../../../../../runtime/apache-tomcat-8.5.15/webapps/ROOT/assets/tinymce/js/tinymce/plugins", pluginName),
+ filename: "[name].js"
+ },
+ resolve: {
+ extensions: [".webpack.js", ".web.js", ".ts", ".js"]
+ },
+ module: {
+ rules: [{
+ test: /\.ts$/,
+ use: "ts-loader"
+ }]
+ },
+ plugins: [
+ new webpack.optimize.UglifyJsPlugin({
+ include: /\.min\.js$/,
+ minimize: true
+ }),
+ new CopyWebpackPlugin([{
+ from: path.join(__dirname, "../src/LICENSE"),
+ to: path.join(__dirname, "../dist", pluginName)
+ }])
+ ]
+};
\ No newline at end of file
diff --git a/tools-ng/tinymce/plugins/ccm-cms-images/package.json b/tools-ng/tinymce/plugins/ccm-cms-images/package.json
new file mode 100644
index 000000000..2e4977651
--- /dev/null
+++ b/tools-ng/tinymce/plugins/ccm-cms-images/package.json
@@ -0,0 +1,33 @@
+{
+ "name": "ccm-cms-images",
+ "version": "1.0.0",
+ "description": "CCM CMS Images TinyMCE plugin",
+ "main": "index.js",
+ "watch": {
+ "build": "src/*.ts"
+ },
+ "scripts": {
+ "postinstall": "typings install",
+ "start": "webpack-dev-server --config config/webpack.config.dev.js --progress --open --inline",
+ "lint": "tslint 'src/**/*.js'",
+ "build": "webpack --config config/webpack.config.prod.js --progress",
+ "test": "webpack --config config/webpack.config.test.js --progress",
+ "watch": "npm-watch"
+ },
+ "author": "",
+ "license": "MIT",
+ "devDependencies": {
+ "copy-webpack-plugin": "^4.0.1",
+ "html-webpack-plugin": "^2.26.0",
+ "ts-loader": "^1.3.3",
+ "tslint": "^4.2.0",
+ "typescript": "^2.1.4",
+ "typings": "^2.1.0",
+ "webpack": "^2.2.0",
+ "webpack-dev-server": "^1.16.2"
+ },
+ "dependencies": {
+ "lodash": "^4.17.4",
+ "npm-watch": "^0.4.0"
+ }
+}
\ No newline at end of file
diff --git a/tools-ng/tinymce/plugins/ccm-cms-images/src/Dialog.ts b/tools-ng/tinymce/plugins/ccm-cms-images/src/Dialog.ts
new file mode 100644
index 000000000..fecb708f5
--- /dev/null
+++ b/tools-ng/tinymce/plugins/ccm-cms-images/src/Dialog.ts
@@ -0,0 +1,305 @@
+declare var tinymce: any;
+
+export default function(editor) {
+ function getImageData(editor) {
+ const elem = editor.selection.getNode();
+ const imgDiv = editor.dom.getParent(elem, "div.image");
+ const img = editor.dom.select("img", imgDiv)[0];
+ if (imgDiv != null) {
+ let imageData = {
+ file: img.getAttribute("src"),
+ width: img.getAttribute("width").slice(0, -2),
+ height: img.getAttribute("height").slice(0, -2),
+ alt: img.getAttribute("alt"),
+ align: imgDiv.classList[1],
+ fancy: imgDiv.childNodes[0].classList[0].slice(0, -1),
+ title: imgDiv.childNodes[0].title,
+ caption: imgDiv.childNodes[1].localName == "span",
+ parent: imgDiv
+ };
+ console.log(imageData);
+ return imageData;
+ } else {
+ return null;
+ }
+ }
+
+ function open() {
+ const imageData = getImageData(editor);
+ let image_name = "";
+
+ // ================== File Chooser ====================
+ let fileChooseContainer = new tinymce.ui.Container({
+ type: "container",
+ layout: "flex",
+ direction: "row",
+ align: "center",
+ padding: 5,
+ spacing: 15,
+ margin: 5
+ });
+
+ let imagePathTextBox = new tinymce.ui.TextBox({
+ name: "file",
+ label: "File:",
+ disabled: true
+ });
+
+ fileChooseContainer.add(imagePathTextBox);
+
+ let browseButton = new tinymce.ui.Button({
+ name: "browse_images",
+ text: "Browse Images",
+ onclick: function() {
+ let baseURL = window.location.href;
+ let offset = baseURL.lastIndexOf("/");
+ let destURL = baseURL.slice(0, offset + 1) + "image_select.jsp";
+ let selectWindow = window.open(
+ destURL,
+ "_blank",
+ "scrollbars=yes,directories=no,toolbar=no,width=800,height=600,status=no,menubar=no"
+ );
+ (window).openCCM = new Object();
+ (window).openCCM.imageSet = selectedImage => {
+ imagePathTextBox.text(selectedImage.src);
+ win
+ .find("#file")
+ .value(selectedImage.src)
+ .fire("change");
+ win
+ .find("#width")
+ .value(selectedImage.width)
+ .fire("change");
+ win
+ .find("#height")
+ .value(selectedImage.height)
+ .fire("change");
+ image_name = selectedImage.name;
+ return true;
+ };
+ }
+ });
+ fileChooseContainer.add(browseButton);
+ // ================== File Chooser ====================
+
+ // ================== Alternate Text ==================
+ let alternateTextBox = new tinymce.ui.TextBox({
+ name: "alternate",
+ label: "Alternate:"
+ });
+ // ================== Alternate Text ==================
+
+ // ================== Title Text ======================
+ let titleTextBox = new tinymce.ui.TextBox({
+ name: "title",
+ label: "Title:"
+ });
+ // ================== Title Text ======================
+
+ // ================== Alignment =======================
+ let alignmentContainer = new tinymce.ui.Container({
+ type: "container",
+ layout: "flex",
+ direction: "row"
+ });
+
+ let alginLabel = new tinymce.ui.Label({
+ text: "Alignment:"
+ });
+
+ let alignListBox = new tinymce.ui.ListBox({
+ name: "alignment",
+ values: [
+ { text: "Not set", value: "" },
+ { text: "Left", value: "left" },
+ { text: "Center", value: "center" },
+ { text: "Right", value: "right" }
+ ]
+ });
+
+ alignmentContainer.add(alginLabel);
+ alignmentContainer.add(alignListBox);
+ // ================== Alignment =======================
+
+ // ================== Fancy Box =======================
+ let fancyBoxContainer = new tinymce.ui.Container({
+ type: "container",
+ layout: "flex",
+ direction: "row"
+ });
+
+ let fancyBoxLabel = new tinymce.ui.Label({
+ text: "Fancy Box:"
+ });
+
+ let fancyBoxListBox = new tinymce.ui.ListBox({
+ name: "fancybox",
+ values: [
+ { text: "None", value: "" },
+ { text: "Zoom", value: "imageZoom" },
+ { text: "Gallery", value: "imageGallery" }
+ ]
+ });
+
+ fancyBoxContainer.add(fancyBoxLabel);
+ fancyBoxContainer.add(fancyBoxListBox);
+ // ================== Fancy Box =======================
+
+ // ================== Caption =========================
+ let captionCheckBox = new tinymce.ui.Checkbox({
+ label: "Caption:",
+ name: "caption"
+ });
+ // ================== Caption =========================
+
+ // ================== Dimension Box ===================
+ let dimensionContainer = new tinymce.ui.Container({
+ label: "Dimension",
+ layout: "flex",
+ direction: "row",
+ align: "center",
+ padding: 5,
+ spacing: 15,
+ margin: 5
+ });
+
+ let widthTextBox = new tinymce.ui.TextBox({
+ name: "width",
+ label: "Width"
+ });
+
+ let heightTextBox = new tinymce.ui.TextBox({
+ name: "height",
+ label: "Height"
+ });
+
+ dimensionContainer.add(widthTextBox);
+ dimensionContainer.add({ type: "label", text: "X" });
+ dimensionContainer.add(heightTextBox);
+ // ================== Dimension Box ===================
+
+ const win = editor.windowManager.open({
+ title: "Insert/Modify Image",
+ width: 800,
+ height: 600,
+ body: [
+ fileChooseContainer,
+ alternateTextBox,
+ titleTextBox,
+ alignmentContainer,
+ fancyBoxContainer,
+ captionCheckBox,
+ dimensionContainer
+ ],
+ onsubmit: function() {
+ let src = win.find("#file").value();
+ let alternate = win.find("#alternate").value();
+ let width = win.find("#width").value();
+ let height = win.find("#height").value();
+ let title = win.find("#title").value();
+ let alignment = win.find("#alignment").value();
+ let fancy_box = win.find("#fancybox").value();
+
+ if (src != null) {
+ let img =
+ " ";
+
+ let fancy_box_wrap =
+ " ' +
+ img +
+ " ";
+ let span = "";
+ if (win.find("#caption").value()) {
+ span =
+ '' +
+ image_name +
+ " ";
+ }
+ let img_div =
+ '' +
+ fancy_box_wrap +
+ span +
+ "
";
+ if (imageData != null) {
+ editor.dom.replace(
+ editor.dom.createFragment(img_div),
+ imageData.parent
+ );
+ } else {
+ editor.insertContent(img_div);
+ }
+ }
+ }
+ });
+ // ================== Fill with selection =============
+ if (imageData != null) {
+ win
+ .find("#file")
+ .value(imageData.file)
+ .fire("change");
+ win
+ .find("#alternate")
+ .value(imageData.alt)
+ .fire("change");
+ win
+ .find("#width")
+ .value(imageData.width)
+ .fire("change");
+ win
+ .find("#height")
+ .value(imageData.height)
+ .fire("change");
+ if (imageData.align != undefined) {
+ win
+ .find("#alignment")
+ .value(imageData.align)
+ .fire("change");
+ }
+ if (imageData.fancy != undefined) {
+ win
+ .find("#fancybox")
+ .value(imageData.fancy)
+ .fire("change");
+ }
+ win
+ .find("#title")
+ .value(imageData.title)
+ .fire("change");
+ win
+ .find("#caption")
+ .value(imageData.caption)
+ .fire("change");
+ }
+ // ================== Fill with selection =============
+ }
+
+ return {
+ open
+ };
+}
diff --git a/tools-ng/tinymce/plugins/ccm-cms-images/src/LICENSE b/tools-ng/tinymce/plugins/ccm-cms-images/src/LICENSE
new file mode 100644
index 000000000..ebaf66c81
--- /dev/null
+++ b/tools-ng/tinymce/plugins/ccm-cms-images/src/LICENSE
@@ -0,0 +1,21 @@
+The MIT License (MIT)
+
+Copyright (c) 2018 Yannick Bülter
+
+Permission is hereby granted, free of charge, to any person obtaining a copy
+of this software and associated documentation files (the "Software"), to deal
+in the Software without restriction, including without limitation the rights
+to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+copies of the Software, and to permit persons to whom the Software is
+furnished to do so, subject to the following conditions:
+
+The above copyright notice and this permission notice shall be included in
+all copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
+THE SOFTWARE.
diff --git a/tools-ng/tinymce/plugins/ccm-cms-images/src/index.ts b/tools-ng/tinymce/plugins/ccm-cms-images/src/index.ts
new file mode 100644
index 000000000..5bee5cc57
--- /dev/null
+++ b/tools-ng/tinymce/plugins/ccm-cms-images/src/index.ts
@@ -0,0 +1,5 @@
+import plugin from "./plugin";
+
+declare var tinymce: any;
+
+tinymce.PluginManager.add("ccm-cms-images", plugin);
diff --git a/tools-ng/tinymce/plugins/ccm-cms-images/src/plugin.ts b/tools-ng/tinymce/plugins/ccm-cms-images/src/plugin.ts
new file mode 100644
index 000000000..43b29d929
--- /dev/null
+++ b/tools-ng/tinymce/plugins/ccm-cms-images/src/plugin.ts
@@ -0,0 +1,21 @@
+import Dialog from "./Dialog";
+declare var tinymce: any;
+
+const plugin = (editor: any, url: String) => {
+ editor.addButton("ccm-cms-images-button", {
+ icon: "image",
+ tooltip: "Insert/Edit image",
+ onlick: Dialog(editor).open,
+ stateSelector: "div.image"
+ });
+
+ editor.addMenuItem("ccm-cms-images-menu", {
+ icon: "image",
+ text: "Insert/Edit Images",
+ onclick: Dialog(editor).open,
+ stateSelector: "image",
+ context: "insert",
+ prependToContext: true
+ });
+};
+export default plugin;
diff --git a/tools-ng/tinymce/plugins/ccm-cms-images/static/index.html b/tools-ng/tinymce/plugins/ccm-cms-images/static/index.html
new file mode 100644
index 000000000..c4925ee3a
--- /dev/null
+++ b/tools-ng/tinymce/plugins/ccm-cms-images/static/index.html
@@ -0,0 +1,19 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/tools-ng/tinymce/plugins/ccm-cms-images/tsconfig.json b/tools-ng/tinymce/plugins/ccm-cms-images/tsconfig.json
new file mode 100644
index 000000000..b69bdccc6
--- /dev/null
+++ b/tools-ng/tinymce/plugins/ccm-cms-images/tsconfig.json
@@ -0,0 +1,6 @@
+{
+ "compilerOptions": {
+ "noImplicitAny": false,
+ "removeComments": true
+ }
+}
diff --git a/tools-ng/tinymce/plugins/ccm-cms-images/tslint.json b/tools-ng/tinymce/plugins/ccm-cms-images/tslint.json
new file mode 100644
index 000000000..6eb02acec
--- /dev/null
+++ b/tools-ng/tinymce/plugins/ccm-cms-images/tslint.json
@@ -0,0 +1,101 @@
+{
+ "jsRules": {
+ "class-name": true,
+ "comment-format": [
+ true,
+ "check-space"
+ ],
+ "indent": [
+ true,
+ "spaces"
+ ],
+ "no-duplicate-variable": true,
+ "no-eval": true,
+ "no-trailing-whitespace": true,
+ "no-unsafe-finally": true,
+ "one-line": [
+ true,
+ "check-open-brace",
+ "check-whitespace"
+ ],
+ "quotemark": [
+ true,
+ "double"
+ ],
+ "semicolon": [
+ true,
+ "always"
+ ],
+ "triple-equals": [
+ true,
+ "allow-null-check"
+ ],
+ "variable-name": [
+ true,
+ "ban-keywords"
+ ],
+ "whitespace": [
+ true,
+ "check-branch",
+ "check-decl",
+ "check-operator",
+ "check-separator",
+ "check-type"
+ ]
+ },
+ "rules": {
+ "class-name": true,
+ "comment-format": [
+ true,
+ "check-space"
+ ],
+ "indent": [
+ true,
+ "spaces"
+ ],
+ "no-eval": true,
+ "no-internal-module": true,
+ "no-trailing-whitespace": true,
+ "no-unsafe-finally": true,
+ "no-var-keyword": true,
+ "one-line": [
+ true,
+ "check-open-brace",
+ "check-whitespace"
+ ],
+ "quotemark": [
+ true,
+ "double"
+ ],
+ "semicolon": [
+ true,
+ "always"
+ ],
+ "triple-equals": [
+ true,
+ "allow-null-check"
+ ],
+ "typedef-whitespace": [
+ true,
+ {
+ "call-signature": "nospace",
+ "index-signature": "nospace",
+ "parameter": "nospace",
+ "property-declaration": "nospace",
+ "variable-declaration": "nospace"
+ }
+ ],
+ "variable-name": [
+ true,
+ "ban-keywords"
+ ],
+ "whitespace": [
+ true,
+ "check-branch",
+ "check-decl",
+ "check-operator",
+ "check-separator",
+ "check-type"
+ ]
+ }
+}
diff --git a/tools-ng/tinymce/plugins/ccm-cms-images/typings.json b/tools-ng/tinymce/plugins/ccm-cms-images/typings.json
new file mode 100644
index 000000000..35a89ae86
--- /dev/null
+++ b/tools-ng/tinymce/plugins/ccm-cms-images/typings.json
@@ -0,0 +1,5 @@
+{
+ "dependencies": {
+ "lodash": "registry:npm/lodash#4.0.0+20161015015725"
+ }
+}
diff --git a/tools-ng/tinymce/editor/src/core/demo/css/content_editable.css b/tools-ng/tinymce/src/core/demo/css/content_editable.css
similarity index 100%
rename from tools-ng/tinymce/editor/src/core/demo/css/content_editable.css
rename to tools-ng/tinymce/src/core/demo/css/content_editable.css
diff --git a/tools-ng/tinymce/editor/src/core/demo/html/annotations_demo.html b/tools-ng/tinymce/src/core/demo/html/annotations_demo.html
similarity index 100%
rename from tools-ng/tinymce/editor/src/core/demo/html/annotations_demo.html
rename to tools-ng/tinymce/src/core/demo/html/annotations_demo.html
diff --git a/tools-ng/tinymce/editor/src/core/demo/html/commands_demo.html b/tools-ng/tinymce/src/core/demo/html/commands_demo.html
similarity index 100%
rename from tools-ng/tinymce/editor/src/core/demo/html/commands_demo.html
rename to tools-ng/tinymce/src/core/demo/html/commands_demo.html
diff --git a/tools-ng/tinymce/editor/src/core/demo/html/content_editable_false_demo.html b/tools-ng/tinymce/src/core/demo/html/content_editable_false_demo.html
similarity index 100%
rename from tools-ng/tinymce/editor/src/core/demo/html/content_editable_false_demo.html
rename to tools-ng/tinymce/src/core/demo/html/content_editable_false_demo.html
diff --git a/tools-ng/tinymce/editor/src/core/demo/html/custom_theme_demo.html b/tools-ng/tinymce/src/core/demo/html/custom_theme_demo.html
similarity index 100%
rename from tools-ng/tinymce/editor/src/core/demo/html/custom_theme_demo.html
rename to tools-ng/tinymce/src/core/demo/html/custom_theme_demo.html
diff --git a/tools-ng/tinymce/editor/src/core/demo/html/full_demo.html b/tools-ng/tinymce/src/core/demo/html/full_demo.html
similarity index 100%
rename from tools-ng/tinymce/editor/src/core/demo/html/full_demo.html
rename to tools-ng/tinymce/src/core/demo/html/full_demo.html
diff --git a/tools-ng/tinymce/editor/src/core/demo/html/jquery_integration.html b/tools-ng/tinymce/src/core/demo/html/jquery_integration.html
similarity index 100%
rename from tools-ng/tinymce/editor/src/core/demo/html/jquery_integration.html
rename to tools-ng/tinymce/src/core/demo/html/jquery_integration.html
diff --git a/tools-ng/tinymce/editor/src/core/demo/html/source_dump_demo.html b/tools-ng/tinymce/src/core/demo/html/source_dump_demo.html
similarity index 100%
rename from tools-ng/tinymce/editor/src/core/demo/html/source_dump_demo.html
rename to tools-ng/tinymce/src/core/demo/html/source_dump_demo.html
diff --git a/tools-ng/tinymce/editor/src/core/demo/html/tiny_demo.html b/tools-ng/tinymce/src/core/demo/html/tiny_demo.html
similarity index 100%
rename from tools-ng/tinymce/editor/src/core/demo/html/tiny_demo.html
rename to tools-ng/tinymce/src/core/demo/html/tiny_demo.html
diff --git a/tools-ng/tinymce/editor/src/core/demo/html/ui_container.html b/tools-ng/tinymce/src/core/demo/html/ui_container.html
similarity index 100%
rename from tools-ng/tinymce/editor/src/core/demo/html/ui_container.html
rename to tools-ng/tinymce/src/core/demo/html/ui_container.html
diff --git a/tools-ng/tinymce/editor/src/core/demo/ts/demo/AnnotationsDemo.ts b/tools-ng/tinymce/src/core/demo/ts/demo/AnnotationsDemo.ts
similarity index 100%
rename from tools-ng/tinymce/editor/src/core/demo/ts/demo/AnnotationsDemo.ts
rename to tools-ng/tinymce/src/core/demo/ts/demo/AnnotationsDemo.ts
diff --git a/tools-ng/tinymce/editor/src/core/demo/ts/demo/CommandsDemo.ts b/tools-ng/tinymce/src/core/demo/ts/demo/CommandsDemo.ts
similarity index 100%
rename from tools-ng/tinymce/editor/src/core/demo/ts/demo/CommandsDemo.ts
rename to tools-ng/tinymce/src/core/demo/ts/demo/CommandsDemo.ts
diff --git a/tools-ng/tinymce/editor/src/core/demo/ts/demo/ContentEditableFalseDemo.ts b/tools-ng/tinymce/src/core/demo/ts/demo/ContentEditableFalseDemo.ts
similarity index 100%
rename from tools-ng/tinymce/editor/src/core/demo/ts/demo/ContentEditableFalseDemo.ts
rename to tools-ng/tinymce/src/core/demo/ts/demo/ContentEditableFalseDemo.ts
diff --git a/tools-ng/tinymce/editor/src/core/demo/ts/demo/CustomThemeDemo.ts b/tools-ng/tinymce/src/core/demo/ts/demo/CustomThemeDemo.ts
similarity index 100%
rename from tools-ng/tinymce/editor/src/core/demo/ts/demo/CustomThemeDemo.ts
rename to tools-ng/tinymce/src/core/demo/ts/demo/CustomThemeDemo.ts
diff --git a/tools-ng/tinymce/editor/src/core/demo/ts/demo/Demos.ts b/tools-ng/tinymce/src/core/demo/ts/demo/Demos.ts
similarity index 100%
rename from tools-ng/tinymce/editor/src/core/demo/ts/demo/Demos.ts
rename to tools-ng/tinymce/src/core/demo/ts/demo/Demos.ts
diff --git a/tools-ng/tinymce/editor/src/core/demo/ts/demo/FullDemo.ts b/tools-ng/tinymce/src/core/demo/ts/demo/FullDemo.ts
similarity index 100%
rename from tools-ng/tinymce/editor/src/core/demo/ts/demo/FullDemo.ts
rename to tools-ng/tinymce/src/core/demo/ts/demo/FullDemo.ts
diff --git a/tools-ng/tinymce/editor/src/core/demo/ts/demo/SourceDumpDemo.ts b/tools-ng/tinymce/src/core/demo/ts/demo/SourceDumpDemo.ts
similarity index 100%
rename from tools-ng/tinymce/editor/src/core/demo/ts/demo/SourceDumpDemo.ts
rename to tools-ng/tinymce/src/core/demo/ts/demo/SourceDumpDemo.ts
diff --git a/tools-ng/tinymce/editor/src/core/demo/ts/demo/TinyMceDemo.ts b/tools-ng/tinymce/src/core/demo/ts/demo/TinyMceDemo.ts
similarity index 100%
rename from tools-ng/tinymce/editor/src/core/demo/ts/demo/TinyMceDemo.ts
rename to tools-ng/tinymce/src/core/demo/ts/demo/TinyMceDemo.ts
diff --git a/tools-ng/tinymce/editor/src/core/demo/ts/demo/UiContainerDemo.ts b/tools-ng/tinymce/src/core/demo/ts/demo/UiContainerDemo.ts
similarity index 100%
rename from tools-ng/tinymce/editor/src/core/demo/ts/demo/UiContainerDemo.ts
rename to tools-ng/tinymce/src/core/demo/ts/demo/UiContainerDemo.ts
diff --git a/tools-ng/tinymce/editor/src/core/main/js/GlobalsTemplate.js b/tools-ng/tinymce/src/core/main/js/GlobalsTemplate.js
similarity index 100%
rename from tools-ng/tinymce/editor/src/core/main/js/GlobalsTemplate.js
rename to tools-ng/tinymce/src/core/main/js/GlobalsTemplate.js
diff --git a/tools-ng/tinymce/editor/src/core/main/js/JqueryIntegration.js b/tools-ng/tinymce/src/core/main/js/JqueryIntegration.js
similarity index 100%
rename from tools-ng/tinymce/editor/src/core/main/js/JqueryIntegration.js
rename to tools-ng/tinymce/src/core/main/js/JqueryIntegration.js
diff --git a/tools-ng/tinymce/editor/src/core/main/json/globals.json b/tools-ng/tinymce/src/core/main/json/globals.json
similarity index 100%
rename from tools-ng/tinymce/editor/src/core/main/json/globals.json
rename to tools-ng/tinymce/src/core/main/json/globals.json
diff --git a/tools-ng/tinymce/editor/src/core/main/text/readme_lang.md b/tools-ng/tinymce/src/core/main/text/readme_lang.md
similarity index 100%
rename from tools-ng/tinymce/editor/src/core/main/text/readme_lang.md
rename to tools-ng/tinymce/src/core/main/text/readme_lang.md
diff --git a/tools-ng/tinymce/editor/src/core/main/ts/DragDropOverrides.ts b/tools-ng/tinymce/src/core/main/ts/DragDropOverrides.ts
similarity index 94%
rename from tools-ng/tinymce/editor/src/core/main/ts/DragDropOverrides.ts
rename to tools-ng/tinymce/src/core/main/ts/DragDropOverrides.ts
index 0e5b8b6db..3e69834de 100644
--- a/tools-ng/tinymce/editor/src/core/main/ts/DragDropOverrides.ts
+++ b/tools-ng/tinymce/src/core/main/ts/DragDropOverrides.ts
@@ -1,20 +1,17 @@
/**
- * DragDropOverrides.js
- *
- * Released under LGPL License.
- * Copyright (c) 1999-2017 Ephox Corp. All rights reserved
- *
- * License: http://www.tinymce.com/license
- * Contributing: http://www.tinymce.com/contributing
+ * Copyright (c) Tiny Technologies, Inc. All rights reserved.
+ * Licensed under the LGPL or a commercial license.
+ * For LGPL see License.txt in the project root for license information.
+ * For commercial licenses see https://www.tiny.cloud/
*/
import DOMUtils from './api/dom/DOMUtils';
import MousePosition from './dom/MousePosition';
import NodeType from './dom/NodeType';
-import Arr from './util/Arr';
import Delay from './api/util/Delay';
-import Fun from './util/Fun';
import { document } from '@ephox/dom-globals';
+import Predicate from './util/Predicate';
+import { Arr } from '@ephox/katamari';
/**
* This module contains logic overriding the drag/drop logic of the editor.
@@ -130,7 +127,7 @@ const applyRelPos = function (state, position) {
const start = function (state, editor) {
return function (e) {
if (isLeftMouseButtonPressed(e)) {
- const ceElm = Arr.find(editor.dom.getParents(e.target), Fun.or(isContentEditableFalse, isContentEditableTrue));
+ const ceElm = Arr.find(editor.dom.getParents(e.target), Predicate.or(isContentEditableFalse, isContentEditableTrue)).getOr(null);
if (isDraggable(editor.getBody(), ceElm)) {
const elmPos = editor.dom.getPos(ceElm);
diff --git a/tools-ng/tinymce/editor/src/core/main/ts/EditorRemove.ts b/tools-ng/tinymce/src/core/main/ts/EditorRemove.ts
similarity index 91%
rename from tools-ng/tinymce/editor/src/core/main/ts/EditorRemove.ts
rename to tools-ng/tinymce/src/core/main/ts/EditorRemove.ts
index 92f5ab05f..7ffac8bf2 100644
--- a/tools-ng/tinymce/editor/src/core/main/ts/EditorRemove.ts
+++ b/tools-ng/tinymce/src/core/main/ts/EditorRemove.ts
@@ -1,3 +1,10 @@
+/**
+ * Copyright (c) Tiny Technologies, Inc. All rights reserved.
+ * Licensed under the LGPL or a commercial license.
+ * For LGPL see License.txt in the project root for license information.
+ * For commercial licenses see https://www.tiny.cloud/
+ */
+
import { Editor } from 'tinymce/core/api/Editor';
import DOMUtils from 'tinymce/core/api/dom/DOMUtils';
import { Option } from '@ephox/katamari';
diff --git a/tools-ng/tinymce/editor/src/core/main/ts/EditorSettings.ts b/tools-ng/tinymce/src/core/main/ts/EditorSettings.ts
similarity index 96%
rename from tools-ng/tinymce/editor/src/core/main/ts/EditorSettings.ts
rename to tools-ng/tinymce/src/core/main/ts/EditorSettings.ts
index 6af6ce116..9a264cde2 100644
--- a/tools-ng/tinymce/editor/src/core/main/ts/EditorSettings.ts
+++ b/tools-ng/tinymce/src/core/main/ts/EditorSettings.ts
@@ -1,11 +1,8 @@
/**
- * DefaultSettings.js
- *
- * Released under LGPL License.
- * Copyright (c) 1999-2017 Ephox Corp. All rights reserved
- *
- * License: http://www.tinymce.com/license
- * Contributing: http://www.tinymce.com/contributing
+ * Copyright (c) Tiny Technologies, Inc. All rights reserved.
+ * Licensed under the LGPL or a commercial license.
+ * For LGPL see License.txt in the project root for license information.
+ * For commercial licenses see https://www.tiny.cloud/
*/
import { Arr, Fun, Obj, Option, Strings, Struct, Type } from '@ephox/katamari';
diff --git a/tools-ng/tinymce/editor/src/core/main/ts/EditorView.ts b/tools-ng/tinymce/src/core/main/ts/EditorView.ts
similarity index 90%
rename from tools-ng/tinymce/editor/src/core/main/ts/EditorView.ts
rename to tools-ng/tinymce/src/core/main/ts/EditorView.ts
index 255ddf17d..129756b0b 100644
--- a/tools-ng/tinymce/editor/src/core/main/ts/EditorView.ts
+++ b/tools-ng/tinymce/src/core/main/ts/EditorView.ts
@@ -1,11 +1,8 @@
/**
- * EditorView.js
- *
- * Released under LGPL License.
- * Copyright (c) 1999-2016 Ephox Corp. All rights reserved
- *
- * License: http://www.tinymce.com/license
- * Contributing: http://www.tinymce.com/contributing
+ * Copyright (c) Tiny Technologies, Inc. All rights reserved.
+ * Licensed under the LGPL or a commercial license.
+ * For LGPL see License.txt in the project root for license information.
+ * For commercial licenses see https://www.tiny.cloud/
*/
import { Fun, Option } from '@ephox/katamari';
diff --git a/tools-ng/tinymce/editor/src/core/main/ts/ErrorReporter.ts b/tools-ng/tinymce/src/core/main/ts/ErrorReporter.ts
similarity index 88%
rename from tools-ng/tinymce/editor/src/core/main/ts/ErrorReporter.ts
rename to tools-ng/tinymce/src/core/main/ts/ErrorReporter.ts
index 44e824073..13ab4105a 100644
--- a/tools-ng/tinymce/editor/src/core/main/ts/ErrorReporter.ts
+++ b/tools-ng/tinymce/src/core/main/ts/ErrorReporter.ts
@@ -1,11 +1,8 @@
/**
- * ErrorReporter.js
- *
- * Released under LGPL License.
- * Copyright (c) 1999-2017 Ephox Corp. All rights reserved
- *
- * License: http://www.tinymce.com/license
- * Contributing: http://www.tinymce.com/contributing
+ * Copyright (c) Tiny Technologies, Inc. All rights reserved.
+ * Licensed under the LGPL or a commercial license.
+ * For LGPL see License.txt in the project root for license information.
+ * For commercial licenses see https://www.tiny.cloud/
*/
import { AddOnManager } from './api/AddOnManager';
diff --git a/tools-ng/tinymce/editor/src/core/main/ts/ForceBlocks.ts b/tools-ng/tinymce/src/core/main/ts/ForceBlocks.ts
similarity index 93%
rename from tools-ng/tinymce/editor/src/core/main/ts/ForceBlocks.ts
rename to tools-ng/tinymce/src/core/main/ts/ForceBlocks.ts
index 402adb1d5..5a60f21a1 100644
--- a/tools-ng/tinymce/editor/src/core/main/ts/ForceBlocks.ts
+++ b/tools-ng/tinymce/src/core/main/ts/ForceBlocks.ts
@@ -1,11 +1,8 @@
/**
- * ForceBlocks.js
- *
- * Released under LGPL License.
- * Copyright (c) 1999-2017 Ephox Corp. All rights reserved
- *
- * License: http://www.tinymce.com/license
- * Contributing: http://www.tinymce.com/contributing
+ * Copyright (c) Tiny Technologies, Inc. All rights reserved.
+ * Licensed under the LGPL or a commercial license.
+ * For LGPL see License.txt in the project root for license information.
+ * For commercial licenses see https://www.tiny.cloud/
*/
import { Arr, Fun } from '@ephox/katamari';
diff --git a/tools-ng/tinymce/editor/src/core/main/ts/Mode.ts b/tools-ng/tinymce/src/core/main/ts/Mode.ts
similarity index 88%
rename from tools-ng/tinymce/editor/src/core/main/ts/Mode.ts
rename to tools-ng/tinymce/src/core/main/ts/Mode.ts
index 33f2b5c36..cd1bf0402 100644
--- a/tools-ng/tinymce/editor/src/core/main/ts/Mode.ts
+++ b/tools-ng/tinymce/src/core/main/ts/Mode.ts
@@ -1,11 +1,8 @@
/**
- * Mode.js
- *
- * Released under LGPL License.
- * Copyright (c) 1999-2018 Ephox Corp. All rights reserved
- *
- * License: http://www.tinymce.com/license
- * Contributing: http://www.tinymce.com/contributing
+ * Copyright (c) Tiny Technologies, Inc. All rights reserved.
+ * Licensed under the LGPL or a commercial license.
+ * For LGPL see License.txt in the project root for license information.
+ * For commercial licenses see https://www.tiny.cloud/
*/
import { Editor } from 'tinymce/core/api/Editor';
diff --git a/tools-ng/tinymce/editor/src/core/main/ts/NodeChange.ts b/tools-ng/tinymce/src/core/main/ts/NodeChange.ts
similarity index 95%
rename from tools-ng/tinymce/editor/src/core/main/ts/NodeChange.ts
rename to tools-ng/tinymce/src/core/main/ts/NodeChange.ts
index 1cd32371b..528e4fe1f 100644
--- a/tools-ng/tinymce/editor/src/core/main/ts/NodeChange.ts
+++ b/tools-ng/tinymce/src/core/main/ts/NodeChange.ts
@@ -1,11 +1,8 @@
/**
- * NodeChange.js
- *
- * Released under LGPL License.
- * Copyright (c) 1999-2017 Ephox Corp. All rights reserved
- *
- * License: http://www.tinymce.com/license
- * Contributing: http://www.tinymce.com/contributing
+ * Copyright (c) Tiny Technologies, Inc. All rights reserved.
+ * Licensed under the LGPL or a commercial license.
+ * For LGPL see License.txt in the project root for license information.
+ * For commercial licenses see https://www.tiny.cloud/
*/
import Env from './api/Env';
diff --git a/tools-ng/tinymce/editor/src/core/main/ts/SelectionOverrides.ts b/tools-ng/tinymce/src/core/main/ts/SelectionOverrides.ts
similarity index 98%
rename from tools-ng/tinymce/editor/src/core/main/ts/SelectionOverrides.ts
rename to tools-ng/tinymce/src/core/main/ts/SelectionOverrides.ts
index 7abe627f0..35da8d582 100644
--- a/tools-ng/tinymce/editor/src/core/main/ts/SelectionOverrides.ts
+++ b/tools-ng/tinymce/src/core/main/ts/SelectionOverrides.ts
@@ -1,11 +1,8 @@
/**
- * SelectionOverrides.js
- *
- * Released under LGPL License.
- * Copyright (c) 1999-2017 Ephox Corp. All rights reserved
- *
- * License: http://www.tinymce.com/license
- * Contributing: http://www.tinymce.com/contributing
+ * Copyright (c) Tiny Technologies, Inc. All rights reserved.
+ * Licensed under the LGPL or a commercial license.
+ * For LGPL see License.txt in the project root for license information.
+ * For commercial licenses see https://www.tiny.cloud/
*/
import { Arr } from '@ephox/katamari';
diff --git a/tools-ng/tinymce/editor/src/core/main/ts/annotate/AnnotationChanges.ts b/tools-ng/tinymce/src/core/main/ts/annotate/AnnotationChanges.ts
similarity index 92%
rename from tools-ng/tinymce/editor/src/core/main/ts/annotate/AnnotationChanges.ts
rename to tools-ng/tinymce/src/core/main/ts/annotate/AnnotationChanges.ts
index 474f7f04a..27c6bf997 100644
--- a/tools-ng/tinymce/editor/src/core/main/ts/annotate/AnnotationChanges.ts
+++ b/tools-ng/tinymce/src/core/main/ts/annotate/AnnotationChanges.ts
@@ -1,3 +1,10 @@
+/**
+ * Copyright (c) Tiny Technologies, Inc. All rights reserved.
+ * Licensed under the LGPL or a commercial license.
+ * For LGPL see License.txt in the project root for license information.
+ * For commercial licenses see https://www.tiny.cloud/
+ */
+
import { AnnotationsRegistry } from 'tinymce/core/annotate/AnnotationsRegistry';
import { Editor } from 'tinymce/core/api/Editor';
import { Throttler, Option, Arr, Cell, Obj } from '@ephox/katamari';
diff --git a/tools-ng/tinymce/editor/src/core/main/ts/annotate/AnnotationContext.ts b/tools-ng/tinymce/src/core/main/ts/annotate/AnnotationContext.ts
similarity index 86%
rename from tools-ng/tinymce/editor/src/core/main/ts/annotate/AnnotationContext.ts
rename to tools-ng/tinymce/src/core/main/ts/annotate/AnnotationContext.ts
index 0a21c8a1d..7d4963b85 100644
--- a/tools-ng/tinymce/editor/src/core/main/ts/annotate/AnnotationContext.ts
+++ b/tools-ng/tinymce/src/core/main/ts/annotate/AnnotationContext.ts
@@ -1,3 +1,10 @@
+/**
+ * Copyright (c) Tiny Technologies, Inc. All rights reserved.
+ * Licensed under the LGPL or a commercial license.
+ * For LGPL see License.txt in the project root for license information.
+ * For commercial licenses see https://www.tiny.cloud/
+ */
+
import { Unicode } from '@ephox/katamari';
import { Node, Text, Traverse } from '@ephox/sugar';
import { isCaretNode } from 'tinymce/core/fmt/FormatContainer';
diff --git a/tools-ng/tinymce/editor/src/core/main/ts/annotate/AnnotationFilter.ts b/tools-ng/tinymce/src/core/main/ts/annotate/AnnotationFilter.ts
similarity index 76%
rename from tools-ng/tinymce/editor/src/core/main/ts/annotate/AnnotationFilter.ts
rename to tools-ng/tinymce/src/core/main/ts/annotate/AnnotationFilter.ts
index de70fdae8..72b1563d0 100644
--- a/tools-ng/tinymce/editor/src/core/main/ts/annotate/AnnotationFilter.ts
+++ b/tools-ng/tinymce/src/core/main/ts/annotate/AnnotationFilter.ts
@@ -1,3 +1,10 @@
+/**
+ * Copyright (c) Tiny Technologies, Inc. All rights reserved.
+ * Licensed under the LGPL or a commercial license.
+ * For LGPL see License.txt in the project root for license information.
+ * For commercial licenses see https://www.tiny.cloud/
+ */
+
import { Option, Arr } from '@ephox/katamari';
import { AnnotationsRegistry, AnnotatorSettings } from './AnnotationsRegistry';
diff --git a/tools-ng/tinymce/editor/src/core/main/ts/annotate/AnnotationsRegistry.ts b/tools-ng/tinymce/src/core/main/ts/annotate/AnnotationsRegistry.ts
similarity index 76%
rename from tools-ng/tinymce/editor/src/core/main/ts/annotate/AnnotationsRegistry.ts
rename to tools-ng/tinymce/src/core/main/ts/annotate/AnnotationsRegistry.ts
index 364b88ead..39f3facdf 100644
--- a/tools-ng/tinymce/editor/src/core/main/ts/annotate/AnnotationsRegistry.ts
+++ b/tools-ng/tinymce/src/core/main/ts/annotate/AnnotationsRegistry.ts
@@ -1,3 +1,10 @@
+/**
+ * Copyright (c) Tiny Technologies, Inc. All rights reserved.
+ * Licensed under the LGPL or a commercial license.
+ * For LGPL see License.txt in the project root for license information.
+ * For commercial licenses see https://www.tiny.cloud/
+ */
+
import { Decorator } from './Wrapping';
import { Option } from '@ephox/katamari';
diff --git a/tools-ng/tinymce/editor/src/core/main/ts/annotate/Identification.ts b/tools-ng/tinymce/src/core/main/ts/annotate/Identification.ts
similarity index 90%
rename from tools-ng/tinymce/editor/src/core/main/ts/annotate/Identification.ts
rename to tools-ng/tinymce/src/core/main/ts/annotate/Identification.ts
index 808439008..68064d72e 100644
--- a/tools-ng/tinymce/editor/src/core/main/ts/annotate/Identification.ts
+++ b/tools-ng/tinymce/src/core/main/ts/annotate/Identification.ts
@@ -1,3 +1,10 @@
+/**
+ * Copyright (c) Tiny Technologies, Inc. All rights reserved.
+ * Licensed under the LGPL or a commercial license.
+ * For LGPL see License.txt in the project root for license information.
+ * For commercial licenses see https://www.tiny.cloud/
+ */
+
import { Arr, Option } from '@ephox/katamari';
import { Attr, Class, Compare, Element, Node, SelectorFilter, SelectorFind, Traverse } from '@ephox/sugar';
import { Editor } from 'tinymce/core/api/Editor';
diff --git a/tools-ng/tinymce/editor/src/core/main/ts/annotate/Markings.ts b/tools-ng/tinymce/src/core/main/ts/annotate/Markings.ts
similarity index 52%
rename from tools-ng/tinymce/editor/src/core/main/ts/annotate/Markings.ts
rename to tools-ng/tinymce/src/core/main/ts/annotate/Markings.ts
index 72342d8e5..ef050fb6e 100644
--- a/tools-ng/tinymce/editor/src/core/main/ts/annotate/Markings.ts
+++ b/tools-ng/tinymce/src/core/main/ts/annotate/Markings.ts
@@ -1,3 +1,10 @@
+/**
+ * Copyright (c) Tiny Technologies, Inc. All rights reserved.
+ * Licensed under the LGPL or a commercial license.
+ * For LGPL see License.txt in the project root for license information.
+ * For commercial licenses see https://www.tiny.cloud/
+ */
+
import { Fun } from '@ephox/katamari';
const annotation = Fun.constant('mce-annotation');
diff --git a/tools-ng/tinymce/editor/src/core/main/ts/annotate/Wrapping.ts b/tools-ng/tinymce/src/core/main/ts/annotate/Wrapping.ts
similarity index 95%
rename from tools-ng/tinymce/editor/src/core/main/ts/annotate/Wrapping.ts
rename to tools-ng/tinymce/src/core/main/ts/annotate/Wrapping.ts
index 30ba906e8..ef5cd5a14 100644
--- a/tools-ng/tinymce/editor/src/core/main/ts/annotate/Wrapping.ts
+++ b/tools-ng/tinymce/src/core/main/ts/annotate/Wrapping.ts
@@ -1,3 +1,10 @@
+/**
+ * Copyright (c) Tiny Technologies, Inc. All rights reserved.
+ * Licensed under the LGPL or a commercial license.
+ * For LGPL see License.txt in the project root for license information.
+ * For commercial licenses see https://www.tiny.cloud/
+ */
+
import { Range, Document } from '@ephox/dom-globals';
import { Arr, Cell, Id, Option } from '@ephox/katamari';
import { Attr, Class, Classes, Element, Insert, Node, Replication, Traverse, Html } from '@ephox/sugar';
diff --git a/tools-ng/tinymce/editor/src/core/main/ts/api/AddOnManager.ts b/tools-ng/tinymce/src/core/main/ts/api/AddOnManager.ts
similarity index 97%
rename from tools-ng/tinymce/editor/src/core/main/ts/api/AddOnManager.ts
rename to tools-ng/tinymce/src/core/main/ts/api/AddOnManager.ts
index 1d44c69a0..612a68fe2 100644
--- a/tools-ng/tinymce/editor/src/core/main/ts/api/AddOnManager.ts
+++ b/tools-ng/tinymce/src/core/main/ts/api/AddOnManager.ts
@@ -1,11 +1,8 @@
/**
- * AddOnManager.js
- *
- * Released under LGPL License.
- * Copyright (c) 1999-2017 Ephox Corp. All rights reserved
- *
- * License: http://www.tinymce.com/license
- * Contributing: http://www.tinymce.com/contributing
+ * Copyright (c) Tiny Technologies, Inc. All rights reserved.
+ * Licensed under the LGPL or a commercial license.
+ * For LGPL see License.txt in the project root for license information.
+ * For commercial licenses see https://www.tiny.cloud/
*/
import { Arr } from '@ephox/katamari';
diff --git a/tools-ng/tinymce/editor/src/core/main/ts/api/Annotator.ts b/tools-ng/tinymce/src/core/main/ts/api/Annotator.ts
similarity index 93%
rename from tools-ng/tinymce/editor/src/core/main/ts/api/Annotator.ts
rename to tools-ng/tinymce/src/core/main/ts/api/Annotator.ts
index cb5121638..a49ccf2eb 100644
--- a/tools-ng/tinymce/editor/src/core/main/ts/api/Annotator.ts
+++ b/tools-ng/tinymce/src/core/main/ts/api/Annotator.ts
@@ -1,3 +1,10 @@
+/**
+ * Copyright (c) Tiny Technologies, Inc. All rights reserved.
+ * Licensed under the LGPL or a commercial license.
+ * For LGPL see License.txt in the project root for license information.
+ * For commercial licenses see https://www.tiny.cloud/
+ */
+
import { Arr, Obj, Option } from '@ephox/katamari';
import { Remove } from '@ephox/sugar';
import * as AnnotationChanges from 'tinymce/core/annotate/AnnotationChanges';
diff --git a/tools-ng/tinymce/editor/src/core/main/ts/api/Editor.ts b/tools-ng/tinymce/src/core/main/ts/api/Editor.ts
similarity index 99%
rename from tools-ng/tinymce/editor/src/core/main/ts/api/Editor.ts
rename to tools-ng/tinymce/src/core/main/ts/api/Editor.ts
index e541e3e8e..951dbf3bb 100644
--- a/tools-ng/tinymce/editor/src/core/main/ts/api/Editor.ts
+++ b/tools-ng/tinymce/src/core/main/ts/api/Editor.ts
@@ -1,11 +1,8 @@
/**
- * Editor.js
- *
- * Released under LGPL License.
- * Copyright (c) 1999-2017 Ephox Corp. All rights reserved
- *
- * License: http://www.tinymce.com/license
- * Contributing: http://www.tinymce.com/contributing
+ * Copyright (c) Tiny Technologies, Inc. All rights reserved.
+ * Licensed under the LGPL or a commercial license.
+ * For LGPL see License.txt in the project root for license information.
+ * For commercial licenses see https://www.tiny.cloud/
*/
import { AddOnManager } from './AddOnManager';
diff --git a/tools-ng/tinymce/editor/src/core/main/ts/api/EditorCommands.ts b/tools-ng/tinymce/src/core/main/ts/api/EditorCommands.ts
similarity index 98%
rename from tools-ng/tinymce/editor/src/core/main/ts/api/EditorCommands.ts
rename to tools-ng/tinymce/src/core/main/ts/api/EditorCommands.ts
index e42c363fd..85362e359 100644
--- a/tools-ng/tinymce/editor/src/core/main/ts/api/EditorCommands.ts
+++ b/tools-ng/tinymce/src/core/main/ts/api/EditorCommands.ts
@@ -1,11 +1,8 @@
/**
- * EditorCommands.js
- *
- * Released under LGPL License.
- * Copyright (c) 1999-2017 Ephox Corp. All rights reserved
- *
- * License: http://www.tinymce.com/license
- * Contributing: http://www.tinymce.com/contributing
+ * Copyright (c) Tiny Technologies, Inc. All rights reserved.
+ * Licensed under the LGPL or a commercial license.
+ * For LGPL see License.txt in the project root for license information.
+ * For commercial licenses see https://www.tiny.cloud/
*/
import Env from './Env';
diff --git a/tools-ng/tinymce/editor/src/core/main/ts/api/EditorManager.ts b/tools-ng/tinymce/src/core/main/ts/api/EditorManager.ts
similarity index 98%
rename from tools-ng/tinymce/editor/src/core/main/ts/api/EditorManager.ts
rename to tools-ng/tinymce/src/core/main/ts/api/EditorManager.ts
index bcae8254e..3d5d2836c 100644
--- a/tools-ng/tinymce/editor/src/core/main/ts/api/EditorManager.ts
+++ b/tools-ng/tinymce/src/core/main/ts/api/EditorManager.ts
@@ -1,11 +1,8 @@
/**
- * EditorManager.js
- *
- * Released under LGPL License.
- * Copyright (c) 1999-2017 Ephox Corp. All rights reserved
- *
- * License: http://www.tinymce.com/license
- * Contributing: http://www.tinymce.com/contributing
+ * Copyright (c) Tiny Technologies, Inc. All rights reserved.
+ * Licensed under the LGPL or a commercial license.
+ * For LGPL see License.txt in the project root for license information.
+ * For commercial licenses see https://www.tiny.cloud/
*/
import { Arr, Type } from '@ephox/katamari';
diff --git a/tools-ng/tinymce/editor/src/core/main/ts/api/EditorObservable.ts b/tools-ng/tinymce/src/core/main/ts/api/EditorObservable.ts
similarity index 95%
rename from tools-ng/tinymce/editor/src/core/main/ts/api/EditorObservable.ts
rename to tools-ng/tinymce/src/core/main/ts/api/EditorObservable.ts
index d62595132..844f00e45 100644
--- a/tools-ng/tinymce/editor/src/core/main/ts/api/EditorObservable.ts
+++ b/tools-ng/tinymce/src/core/main/ts/api/EditorObservable.ts
@@ -1,11 +1,8 @@
/**
- * EditorObservable.js
- *
- * Released under LGPL License.
- * Copyright (c) 1999-2017 Ephox Corp. All rights reserved
- *
- * License: http://www.tinymce.com/license
- * Contributing: http://www.tinymce.com/contributing
+ * Copyright (c) Tiny Technologies, Inc. All rights reserved.
+ * Licensed under the LGPL or a commercial license.
+ * For LGPL see License.txt in the project root for license information.
+ * For commercial licenses see https://www.tiny.cloud/
*/
import Observable from './util/Observable';
diff --git a/tools-ng/tinymce/editor/src/core/main/ts/api/EditorUpload.ts b/tools-ng/tinymce/src/core/main/ts/api/EditorUpload.ts
similarity index 96%
rename from tools-ng/tinymce/editor/src/core/main/ts/api/EditorUpload.ts
rename to tools-ng/tinymce/src/core/main/ts/api/EditorUpload.ts
index 47e096038..7058dadfa 100644
--- a/tools-ng/tinymce/editor/src/core/main/ts/api/EditorUpload.ts
+++ b/tools-ng/tinymce/src/core/main/ts/api/EditorUpload.ts
@@ -1,11 +1,8 @@
/**
- * EditorUpload.js
- *
- * Released under LGPL License.
- * Copyright (c) 1999-2017 Ephox Corp. All rights reserved
- *
- * License: http://www.tinymce.com/license
- * Contributing: http://www.tinymce.com/contributing
+ * Copyright (c) Tiny Technologies, Inc. All rights reserved.
+ * Licensed under the LGPL or a commercial license.
+ * For LGPL see License.txt in the project root for license information.
+ * For commercial licenses see https://www.tiny.cloud/
*/
import Uploader from '../file/Uploader';
diff --git a/tools-ng/tinymce/editor/src/core/main/ts/api/Env.ts b/tools-ng/tinymce/src/core/main/ts/api/Env.ts
similarity index 94%
rename from tools-ng/tinymce/editor/src/core/main/ts/api/Env.ts
rename to tools-ng/tinymce/src/core/main/ts/api/Env.ts
index 29ef00acf..1c297d922 100644
--- a/tools-ng/tinymce/editor/src/core/main/ts/api/Env.ts
+++ b/tools-ng/tinymce/src/core/main/ts/api/Env.ts
@@ -1,11 +1,8 @@
/**
- * Env.js
- *
- * Released under LGPL License.
- * Copyright (c) 1999-2017 Ephox Corp. All rights reserved
- *
- * License: http://www.tinymce.com/license
- * Contributing: http://www.tinymce.com/contributing
+ * Copyright (c) Tiny Technologies, Inc. All rights reserved.
+ * Licensed under the LGPL or a commercial license.
+ * For LGPL see License.txt in the project root for license information.
+ * For commercial licenses see https://www.tiny.cloud/
*/
import { URL } from '@ephox/sand';
diff --git a/tools-ng/tinymce/editor/src/core/main/ts/api/Events.ts b/tools-ng/tinymce/src/core/main/ts/api/Events.ts
similarity index 79%
rename from tools-ng/tinymce/editor/src/core/main/ts/api/Events.ts
rename to tools-ng/tinymce/src/core/main/ts/api/Events.ts
index 4eaa60202..4fd1b5dec 100644
--- a/tools-ng/tinymce/editor/src/core/main/ts/api/Events.ts
+++ b/tools-ng/tinymce/src/core/main/ts/api/Events.ts
@@ -1,11 +1,8 @@
/**
- * Events.js
- *
- * Released under LGPL License.
- * Copyright (c) 1999-2016 Ephox Corp. All rights reserved
- *
- * License: http://www.tinymce.com/license
- * Contributing: http://www.tinymce.com/contributing
+ * Copyright (c) Tiny Technologies, Inc. All rights reserved.
+ * Licensed under the LGPL or a commercial license.
+ * For LGPL see License.txt in the project root for license information.
+ * For commercial licenses see https://www.tiny.cloud/
*/
import { Editor } from 'tinymce/core/api/Editor';
diff --git a/tools-ng/tinymce/editor/src/core/main/ts/api/FocusManager.ts b/tools-ng/tinymce/src/core/main/ts/api/FocusManager.ts
similarity index 80%
rename from tools-ng/tinymce/editor/src/core/main/ts/api/FocusManager.ts
rename to tools-ng/tinymce/src/core/main/ts/api/FocusManager.ts
index 075627299..7dfc3681a 100644
--- a/tools-ng/tinymce/editor/src/core/main/ts/api/FocusManager.ts
+++ b/tools-ng/tinymce/src/core/main/ts/api/FocusManager.ts
@@ -1,11 +1,8 @@
/**
- * FocusManager.js
- *
- * Released under LGPL License.
- * Copyright (c) 1999-2017 Ephox Corp. All rights reserved
- *
- * License: http://www.tinymce.com/license
- * Contributing: http://www.tinymce.com/contributing
+ * Copyright (c) Tiny Technologies, Inc. All rights reserved.
+ * Licensed under the LGPL or a commercial license.
+ * For LGPL see License.txt in the project root for license information.
+ * For commercial licenses see https://www.tiny.cloud/
*/
import { Element } from '@ephox/dom-globals';
diff --git a/tools-ng/tinymce/editor/src/core/main/ts/api/Formatter.ts b/tools-ng/tinymce/src/core/main/ts/api/Formatter.ts
similarity index 96%
rename from tools-ng/tinymce/editor/src/core/main/ts/api/Formatter.ts
rename to tools-ng/tinymce/src/core/main/ts/api/Formatter.ts
index 831153bee..edd16c1b0 100644
--- a/tools-ng/tinymce/editor/src/core/main/ts/api/Formatter.ts
+++ b/tools-ng/tinymce/src/core/main/ts/api/Formatter.ts
@@ -1,11 +1,8 @@
/**
- * Formatter.js
- *
- * Released under LGPL License.
- * Copyright (c) 1999-2017 Ephox Corp. All rights reserved
- *
- * License: http://www.tinymce.com/license
- * Contributing: http://www.tinymce.com/contributing
+ * Copyright (c) Tiny Technologies, Inc. All rights reserved.
+ * Licensed under the LGPL or a commercial license.
+ * For LGPL see License.txt in the project root for license information.
+ * For commercial licenses see https://www.tiny.cloud/
*/
import { Cell, Fun } from '@ephox/katamari';
diff --git a/tools-ng/tinymce/editor/src/core/main/ts/api/Main.ts b/tools-ng/tinymce/src/core/main/ts/api/Main.ts
similarity index 68%
rename from tools-ng/tinymce/editor/src/core/main/ts/api/Main.ts
rename to tools-ng/tinymce/src/core/main/ts/api/Main.ts
index 662e27304..994a7c7f1 100644
--- a/tools-ng/tinymce/editor/src/core/main/ts/api/Main.ts
+++ b/tools-ng/tinymce/src/core/main/ts/api/Main.ts
@@ -1,11 +1,8 @@
/**
- * Main.js
- *
- * Released under LGPL License.
- * Copyright (c) 1999-2017 Ephox Corp. All rights reserved
- *
- * License: http://www.tinymce.com/license
- * Contributing: http://www.tinymce.com/contributing
+ * Copyright (c) Tiny Technologies, Inc. All rights reserved.
+ * Licensed under the LGPL or a commercial license.
+ * For LGPL see License.txt in the project root for license information.
+ * For commercial licenses see https://www.tiny.cloud/
*/
import Tinymce from './Tinymce';
diff --git a/tools-ng/tinymce/editor/src/core/main/ts/api/NotificationManager.ts b/tools-ng/tinymce/src/core/main/ts/api/NotificationManager.ts
similarity index 93%
rename from tools-ng/tinymce/editor/src/core/main/ts/api/NotificationManager.ts
rename to tools-ng/tinymce/src/core/main/ts/api/NotificationManager.ts
index db3bee819..35281dbb6 100644
--- a/tools-ng/tinymce/editor/src/core/main/ts/api/NotificationManager.ts
+++ b/tools-ng/tinymce/src/core/main/ts/api/NotificationManager.ts
@@ -1,11 +1,8 @@
/**
- * NotificationManager.js
- *
- * Released under LGPL License.
- * Copyright (c) 1999-2017 Ephox Corp. All rights reserved
- *
- * License: http://www.tinymce.com/license
- * Contributing: http://www.tinymce.com/contributing
+ * Copyright (c) Tiny Technologies, Inc. All rights reserved.
+ * Licensed under the LGPL or a commercial license.
+ * For LGPL see License.txt in the project root for license information.
+ * For commercial licenses see https://www.tiny.cloud/
*/
import { Arr, Option } from '@ephox/katamari';
diff --git a/tools-ng/tinymce/editor/src/core/main/ts/api/PluginManager.ts b/tools-ng/tinymce/src/core/main/ts/api/PluginManager.ts
similarity index 69%
rename from tools-ng/tinymce/editor/src/core/main/ts/api/PluginManager.ts
rename to tools-ng/tinymce/src/core/main/ts/api/PluginManager.ts
index b89b8d692..1cdbb6ea1 100644
--- a/tools-ng/tinymce/editor/src/core/main/ts/api/PluginManager.ts
+++ b/tools-ng/tinymce/src/core/main/ts/api/PluginManager.ts
@@ -1,11 +1,8 @@
/**
- * PluginManager.js
- *
- * Released under LGPL License.
- * Copyright (c) 1999-2017 Ephox Corp. All rights reserved
- *
- * License: http://www.tinymce.com/license
- * Contributing: http://www.tinymce.com/contributing
+ * Copyright (c) Tiny Technologies, Inc. All rights reserved.
+ * Licensed under the LGPL or a commercial license.
+ * For LGPL see License.txt in the project root for license information.
+ * For commercial licenses see https://www.tiny.cloud/
*/
import { UrlObject, AddOnManager } from './AddOnManager';
diff --git a/tools-ng/tinymce/editor/src/core/main/ts/api/Settings.ts b/tools-ng/tinymce/src/core/main/ts/api/Settings.ts
similarity index 94%
rename from tools-ng/tinymce/editor/src/core/main/ts/api/Settings.ts
rename to tools-ng/tinymce/src/core/main/ts/api/Settings.ts
index 2f72c14e5..3cb65158c 100644
--- a/tools-ng/tinymce/editor/src/core/main/ts/api/Settings.ts
+++ b/tools-ng/tinymce/src/core/main/ts/api/Settings.ts
@@ -1,11 +1,8 @@
/**
- * Settings.js
- *
- * Released under LGPL License.
- * Copyright (c) 1999-2016 Ephox Corp. All rights reserved
- *
- * License: http://www.tinymce.com/license
- * Contributing: http://www.tinymce.com/contributing
+ * Copyright (c) Tiny Technologies, Inc. All rights reserved.
+ * Licensed under the LGPL or a commercial license.
+ * For LGPL see License.txt in the project root for license information.
+ * For commercial licenses see https://www.tiny.cloud/
*/
import { Editor } from 'tinymce/core/api/Editor';
diff --git a/tools-ng/tinymce/editor/src/core/main/ts/api/Shortcuts.ts b/tools-ng/tinymce/src/core/main/ts/api/Shortcuts.ts
similarity index 94%
rename from tools-ng/tinymce/editor/src/core/main/ts/api/Shortcuts.ts
rename to tools-ng/tinymce/src/core/main/ts/api/Shortcuts.ts
index d6f2375f6..97eca28ef 100644
--- a/tools-ng/tinymce/editor/src/core/main/ts/api/Shortcuts.ts
+++ b/tools-ng/tinymce/src/core/main/ts/api/Shortcuts.ts
@@ -1,11 +1,8 @@
/**
- * Shortcuts.js
- *
- * Released under LGPL License.
- * Copyright (c) 1999-2017 Ephox Corp. All rights reserved
- *
- * License: http://www.tinymce.com/license
- * Contributing: http://www.tinymce.com/contributing
+ * Copyright (c) Tiny Technologies, Inc. All rights reserved.
+ * Licensed under the LGPL or a commercial license.
+ * For LGPL see License.txt in the project root for license information.
+ * For commercial licenses see https://www.tiny.cloud/
*/
import Tools from './util/Tools';
@@ -25,9 +22,18 @@ import Env from './Env';
const each = Tools.each, explode = Tools.explode;
const keyCodeLookup = {
+ f1: 112,
+ f2: 113,
+ f3: 114,
+ f4: 115,
+ f5: 116,
+ f6: 117,
+ f7: 118,
+ f8: 119,
f9: 120,
f10: 121,
- f11: 122
+ f11: 122,
+ f12: 123
};
const modifierNames = Tools.makeMap('alt,ctrl,shift,meta,access');
diff --git a/tools-ng/tinymce/editor/src/core/main/ts/api/ThemeManager.ts b/tools-ng/tinymce/src/core/main/ts/api/ThemeManager.ts
similarity index 69%
rename from tools-ng/tinymce/editor/src/core/main/ts/api/ThemeManager.ts
rename to tools-ng/tinymce/src/core/main/ts/api/ThemeManager.ts
index 8343f1e33..570b96e09 100644
--- a/tools-ng/tinymce/editor/src/core/main/ts/api/ThemeManager.ts
+++ b/tools-ng/tinymce/src/core/main/ts/api/ThemeManager.ts
@@ -1,11 +1,8 @@
/**
- * ThemeManager.js
- *
- * Released under LGPL License.
- * Copyright (c) 1999-2017 Ephox Corp. All rights reserved
- *
- * License: http://www.tinymce.com/license
- * Contributing: http://www.tinymce.com/contributing
+ * Copyright (c) Tiny Technologies, Inc. All rights reserved.
+ * Licensed under the LGPL or a commercial license.
+ * For LGPL see License.txt in the project root for license information.
+ * For commercial licenses see https://www.tiny.cloud/
*/
import { UrlObject, AddOnManager } from './AddOnManager';
diff --git a/tools-ng/tinymce/editor/src/core/main/ts/api/Tinymce.ts b/tools-ng/tinymce/src/core/main/ts/api/Tinymce.ts
similarity index 93%
rename from tools-ng/tinymce/editor/src/core/main/ts/api/Tinymce.ts
rename to tools-ng/tinymce/src/core/main/ts/api/Tinymce.ts
index 5886ab657..981f65ad4 100644
--- a/tools-ng/tinymce/editor/src/core/main/ts/api/Tinymce.ts
+++ b/tools-ng/tinymce/src/core/main/ts/api/Tinymce.ts
@@ -1,11 +1,8 @@
/**
- * Tinymce.js
- *
- * Released under LGPL License.
- * Copyright (c) 1999-2017 Ephox Corp. All rights reserved
- *
- * License: http://www.tinymce.com/license
- * Contributing: http://www.tinymce.com/contributing
+ * Copyright (c) Tiny Technologies, Inc. All rights reserved.
+ * Licensed under the LGPL or a commercial license.
+ * For LGPL see License.txt in the project root for license information.
+ * For commercial licenses see https://www.tiny.cloud/
*/
import { AddOnManager } from './AddOnManager';
diff --git a/tools-ng/tinymce/editor/src/core/main/ts/api/UndoManager.ts b/tools-ng/tinymce/src/core/main/ts/api/UndoManager.ts
similarity index 97%
rename from tools-ng/tinymce/editor/src/core/main/ts/api/UndoManager.ts
rename to tools-ng/tinymce/src/core/main/ts/api/UndoManager.ts
index 4089ee758..82fde6933 100644
--- a/tools-ng/tinymce/editor/src/core/main/ts/api/UndoManager.ts
+++ b/tools-ng/tinymce/src/core/main/ts/api/UndoManager.ts
@@ -1,11 +1,8 @@
/**
- * UndoManager.js
- *
- * Released under LGPL License.
- * Copyright (c) 1999-2017 Ephox Corp. All rights reserved
- *
- * License: http://www.tinymce.com/license
- * Contributing: http://www.tinymce.com/contributing
+ * Copyright (c) Tiny Technologies, Inc. All rights reserved.
+ * Licensed under the LGPL or a commercial license.
+ * For LGPL see License.txt in the project root for license information.
+ * For commercial licenses see https://www.tiny.cloud/
*/
import GetBookmark from '../bookmark/GetBookmark';
diff --git a/tools-ng/tinymce/editor/src/core/main/ts/api/WindowManager.ts b/tools-ng/tinymce/src/core/main/ts/api/WindowManager.ts
similarity index 96%
rename from tools-ng/tinymce/editor/src/core/main/ts/api/WindowManager.ts
rename to tools-ng/tinymce/src/core/main/ts/api/WindowManager.ts
index 056ee2348..f574406b9 100644
--- a/tools-ng/tinymce/editor/src/core/main/ts/api/WindowManager.ts
+++ b/tools-ng/tinymce/src/core/main/ts/api/WindowManager.ts
@@ -1,11 +1,8 @@
/**
- * WindowManager.js
- *
- * Released under LGPL License.
- * Copyright (c) 1999-2017 Ephox Corp. All rights reserved
- *
- * License: http://www.tinymce.com/license
- * Contributing: http://www.tinymce.com/contributing
+ * Copyright (c) Tiny Technologies, Inc. All rights reserved.
+ * Licensed under the LGPL or a commercial license.
+ * For LGPL see License.txt in the project root for license information.
+ * For commercial licenses see https://www.tiny.cloud/
*/
import { Arr, Option } from '@ephox/katamari';
diff --git a/tools-ng/tinymce/editor/src/core/main/ts/api/dom/BookmarkManager.ts b/tools-ng/tinymce/src/core/main/ts/api/dom/BookmarkManager.ts
similarity index 91%
rename from tools-ng/tinymce/editor/src/core/main/ts/api/dom/BookmarkManager.ts
rename to tools-ng/tinymce/src/core/main/ts/api/dom/BookmarkManager.ts
index d4cd515b6..15afecee8 100644
--- a/tools-ng/tinymce/editor/src/core/main/ts/api/dom/BookmarkManager.ts
+++ b/tools-ng/tinymce/src/core/main/ts/api/dom/BookmarkManager.ts
@@ -1,11 +1,8 @@
/**
- * BookmarkManager.js
- *
- * Released under LGPL License.
- * Copyright (c) 1999-2017 Ephox Corp. All rights reserved
- *
- * License: http://www.tinymce.com/license
- * Contributing: http://www.tinymce.com/contributing
+ * Copyright (c) Tiny Technologies, Inc. All rights reserved.
+ * Licensed under the LGPL or a commercial license.
+ * For LGPL see License.txt in the project root for license information.
+ * For commercial licenses see https://www.tiny.cloud/
*/
import { Fun } from '@ephox/katamari';
diff --git a/tools-ng/tinymce/editor/src/core/main/ts/api/dom/ControlSelection.ts b/tools-ng/tinymce/src/core/main/ts/api/dom/ControlSelection.ts
similarity index 98%
rename from tools-ng/tinymce/editor/src/core/main/ts/api/dom/ControlSelection.ts
rename to tools-ng/tinymce/src/core/main/ts/api/dom/ControlSelection.ts
index b2e6ad224..31f0dbf6a 100644
--- a/tools-ng/tinymce/editor/src/core/main/ts/api/dom/ControlSelection.ts
+++ b/tools-ng/tinymce/src/core/main/ts/api/dom/ControlSelection.ts
@@ -1,11 +1,8 @@
/**
- * ControlSelection.js
- *
- * Released under LGPL License.
- * Copyright (c) 1999-2017 Ephox Corp. All rights reserved
- *
- * License: http://www.tinymce.com/license
- * Contributing: http://www.tinymce.com/contributing
+ * Copyright (c) Tiny Technologies, Inc. All rights reserved.
+ * Licensed under the LGPL or a commercial license.
+ * For LGPL see License.txt in the project root for license information.
+ * For commercial licenses see https://www.tiny.cloud/
*/
import { Element as SugarElement, Selectors } from '@ephox/sugar';
diff --git a/tools-ng/tinymce/editor/src/core/main/ts/api/dom/DOMUtils.ts b/tools-ng/tinymce/src/core/main/ts/api/dom/DOMUtils.ts
similarity index 99%
rename from tools-ng/tinymce/editor/src/core/main/ts/api/dom/DOMUtils.ts
rename to tools-ng/tinymce/src/core/main/ts/api/dom/DOMUtils.ts
index 3d90dc8b1..8951809a9 100644
--- a/tools-ng/tinymce/editor/src/core/main/ts/api/dom/DOMUtils.ts
+++ b/tools-ng/tinymce/src/core/main/ts/api/dom/DOMUtils.ts
@@ -1,11 +1,8 @@
/**
- * DOMUtils.js
- *
- * Released under LGPL License.
- * Copyright (c) 1999-2017 Ephox Corp. All rights reserved
- *
- * License: http://www.tinymce.com/license
- * Contributing: http://www.tinymce.com/contributing
+ * Copyright (c) Tiny Technologies, Inc. All rights reserved.
+ * Licensed under the LGPL or a commercial license.
+ * For LGPL see License.txt in the project root for license information.
+ * For commercial licenses see https://www.tiny.cloud/
*/
import Env from '../Env';
diff --git a/tools-ng/tinymce/editor/src/core/main/ts/api/dom/DomQuery.ts b/tools-ng/tinymce/src/core/main/ts/api/dom/DomQuery.ts
similarity index 99%
rename from tools-ng/tinymce/editor/src/core/main/ts/api/dom/DomQuery.ts
rename to tools-ng/tinymce/src/core/main/ts/api/dom/DomQuery.ts
index 2629613ae..a7064c76c 100644
--- a/tools-ng/tinymce/editor/src/core/main/ts/api/dom/DomQuery.ts
+++ b/tools-ng/tinymce/src/core/main/ts/api/dom/DomQuery.ts
@@ -1,11 +1,8 @@
/**
- * DomQuery.js
- *
- * Released under LGPL License.
- * Copyright (c) 1999-2017 Ephox Corp. All rights reserved
- *
- * License: http://www.tinymce.com/license
- * Contributing: http://www.tinymce.com/contributing
+ * Copyright (c) Tiny Technologies, Inc. All rights reserved.
+ * Licensed under the LGPL or a commercial license.
+ * For LGPL see License.txt in the project root for license information.
+ * For commercial licenses see https://www.tiny.cloud/
*/
import EventUtils from './EventUtils';
diff --git a/tools-ng/tinymce/editor/src/core/main/ts/api/dom/ElementUtils.ts b/tools-ng/tinymce/src/core/main/ts/api/dom/ElementUtils.ts
similarity index 92%
rename from tools-ng/tinymce/editor/src/core/main/ts/api/dom/ElementUtils.ts
rename to tools-ng/tinymce/src/core/main/ts/api/dom/ElementUtils.ts
index 0ebb02427..dd8b42c3c 100644
--- a/tools-ng/tinymce/editor/src/core/main/ts/api/dom/ElementUtils.ts
+++ b/tools-ng/tinymce/src/core/main/ts/api/dom/ElementUtils.ts
@@ -1,11 +1,8 @@
/**
- * ElementUtils.js
- *
- * Released under LGPL License.
- * Copyright (c) 1999-2017 Ephox Corp. All rights reserved
- *
- * License: http://www.tinymce.com/license
- * Contributing: http://www.tinymce.com/contributing
+ * Copyright (c) Tiny Technologies, Inc. All rights reserved.
+ * Licensed under the LGPL or a commercial license.
+ * For LGPL see License.txt in the project root for license information.
+ * For commercial licenses see https://www.tiny.cloud/
*/
import Bookmarks from '../../bookmark/Bookmarks';
diff --git a/tools-ng/tinymce/editor/src/core/main/ts/api/dom/EventUtils.ts b/tools-ng/tinymce/src/core/main/ts/api/dom/EventUtils.ts
similarity index 98%
rename from tools-ng/tinymce/editor/src/core/main/ts/api/dom/EventUtils.ts
rename to tools-ng/tinymce/src/core/main/ts/api/dom/EventUtils.ts
index ad40e3e53..a6c21c78d 100644
--- a/tools-ng/tinymce/editor/src/core/main/ts/api/dom/EventUtils.ts
+++ b/tools-ng/tinymce/src/core/main/ts/api/dom/EventUtils.ts
@@ -1,11 +1,8 @@
/**
- * EventUtils.js
- *
- * Released under LGPL License.
- * Copyright (c) 1999-2017 Ephox Corp. All rights reserved
- *
- * License: http://www.tinymce.com/license
- * Contributing: http://www.tinymce.com/contributing
+ * Copyright (c) Tiny Technologies, Inc. All rights reserved.
+ * Licensed under the LGPL or a commercial license.
+ * For LGPL see License.txt in the project root for license information.
+ * For commercial licenses see https://www.tiny.cloud/
*/
import Env from '../Env';
diff --git a/tools-ng/tinymce/src/core/main/ts/api/dom/NativeTypes.ts b/tools-ng/tinymce/src/core/main/ts/api/dom/NativeTypes.ts
new file mode 100644
index 000000000..e5157ea88
--- /dev/null
+++ b/tools-ng/tinymce/src/core/main/ts/api/dom/NativeTypes.ts
@@ -0,0 +1,11 @@
+/**
+ * Copyright (c) Tiny Technologies, Inc. All rights reserved.
+ * Licensed under the LGPL or a commercial license.
+ * For LGPL see License.txt in the project root for license information.
+ * For commercial licenses see https://www.tiny.cloud/
+ */
+
+import { Selection } from '@ephox/dom-globals';
+
+// tslint:disable-next-line:no-empty-interface
+export interface NativeSelection extends Selection {}
diff --git a/tools-ng/tinymce/editor/src/core/main/ts/api/dom/RangeUtils.ts b/tools-ng/tinymce/src/core/main/ts/api/dom/RangeUtils.ts
similarity index 92%
rename from tools-ng/tinymce/editor/src/core/main/ts/api/dom/RangeUtils.ts
rename to tools-ng/tinymce/src/core/main/ts/api/dom/RangeUtils.ts
index ecc07ca99..c1a437690 100644
--- a/tools-ng/tinymce/editor/src/core/main/ts/api/dom/RangeUtils.ts
+++ b/tools-ng/tinymce/src/core/main/ts/api/dom/RangeUtils.ts
@@ -1,11 +1,8 @@
/**
- * RangeUtils.js
- *
- * Released under LGPL License.
- * Copyright (c) 1999-2017 Ephox Corp. All rights reserved
- *
- * License: http://www.tinymce.com/license
- * Contributing: http://www.tinymce.com/contributing
+ * Copyright (c) Tiny Technologies, Inc. All rights reserved.
+ * Licensed under the LGPL or a commercial license.
+ * For LGPL see License.txt in the project root for license information.
+ * For commercial licenses see https://www.tiny.cloud/
*/
import { Fun } from '@ephox/katamari';
diff --git a/tools-ng/tinymce/editor/src/core/main/ts/api/dom/ScriptLoader.ts b/tools-ng/tinymce/src/core/main/ts/api/dom/ScriptLoader.ts
similarity index 97%
rename from tools-ng/tinymce/editor/src/core/main/ts/api/dom/ScriptLoader.ts
rename to tools-ng/tinymce/src/core/main/ts/api/dom/ScriptLoader.ts
index 5d398d717..726a67e80 100644
--- a/tools-ng/tinymce/editor/src/core/main/ts/api/dom/ScriptLoader.ts
+++ b/tools-ng/tinymce/src/core/main/ts/api/dom/ScriptLoader.ts
@@ -1,11 +1,8 @@
/**
- * ScriptLoader.js
- *
- * Released under LGPL License.
- * Copyright (c) 1999-2017 Ephox Corp. All rights reserved
- *
- * License: http://www.tinymce.com/license
- * Contributing: http://www.tinymce.com/contributing
+ * Copyright (c) Tiny Technologies, Inc. All rights reserved.
+ * Licensed under the LGPL or a commercial license.
+ * For LGPL see License.txt in the project root for license information.
+ * For commercial licenses see https://www.tiny.cloud/
*/
import DOMUtils from './DOMUtils';
diff --git a/tools-ng/tinymce/editor/src/core/main/ts/api/dom/Selection.ts b/tools-ng/tinymce/src/core/main/ts/api/dom/Selection.ts
similarity index 98%
rename from tools-ng/tinymce/editor/src/core/main/ts/api/dom/Selection.ts
rename to tools-ng/tinymce/src/core/main/ts/api/dom/Selection.ts
index 9aff4cff2..7759b1bb4 100644
--- a/tools-ng/tinymce/editor/src/core/main/ts/api/dom/Selection.ts
+++ b/tools-ng/tinymce/src/core/main/ts/api/dom/Selection.ts
@@ -1,11 +1,8 @@
/**
- * Selection.js
- *
- * Released under LGPL License.
- * Copyright (c) 1999-2017 Ephox Corp. All rights reserved
- *
- * License: http://www.tinymce.com/license
- * Contributing: http://www.tinymce.com/contributing
+ * Copyright (c) Tiny Technologies, Inc. All rights reserved.
+ * Licensed under the LGPL or a commercial license.
+ * For LGPL see License.txt in the project root for license information.
+ * For commercial licenses see https://www.tiny.cloud/
*/
import { Compare, Element as SugarElement } from '@ephox/sugar';
diff --git a/tools-ng/tinymce/editor/src/core/main/ts/api/dom/Serializer.ts b/tools-ng/tinymce/src/core/main/ts/api/dom/Serializer.ts
similarity index 93%
rename from tools-ng/tinymce/editor/src/core/main/ts/api/dom/Serializer.ts
rename to tools-ng/tinymce/src/core/main/ts/api/dom/Serializer.ts
index fed74e258..bd59b583e 100644
--- a/tools-ng/tinymce/editor/src/core/main/ts/api/dom/Serializer.ts
+++ b/tools-ng/tinymce/src/core/main/ts/api/dom/Serializer.ts
@@ -1,11 +1,8 @@
/**
- * Serializer.js
- *
- * Released under LGPL License.
- * Copyright (c) 1999-2017 Ephox Corp. All rights reserved
- *
- * License: http://www.tinymce.com/license
- * Contributing: http://www.tinymce.com/contributing
+ * Copyright (c) Tiny Technologies, Inc. All rights reserved.
+ * Licensed under the LGPL or a commercial license.
+ * For LGPL see License.txt in the project root for license information.
+ * For commercial licenses see https://www.tiny.cloud/
*/
import DomSerializer from '../../dom/DomSerializer';
diff --git a/tools-ng/tinymce/editor/src/core/main/ts/api/dom/Sizzle.ts b/tools-ng/tinymce/src/core/main/ts/api/dom/Sizzle.ts
similarity index 99%
rename from tools-ng/tinymce/editor/src/core/main/ts/api/dom/Sizzle.ts
rename to tools-ng/tinymce/src/core/main/ts/api/dom/Sizzle.ts
index d5567658f..22e53ea00 100644
--- a/tools-ng/tinymce/editor/src/core/main/ts/api/dom/Sizzle.ts
+++ b/tools-ng/tinymce/src/core/main/ts/api/dom/Sizzle.ts
@@ -1,16 +1,8 @@
/**
- * Sizzle.js
- *
- * Released under LGPL License.
- * Copyright (c) 1999-2017 Ephox Corp. All rights reserved
- *
- * License: http://www.tinymce.com/license
- * Contributing: http://www.tinymce.com/contributing
- *
- * @ignore-file
- *
- * Forked changes:
- * - Disabled all assertions since they are only used for non supported browsers and cause dom repaints see #TINY-1141
+ * Copyright (c) Tiny Technologies, Inc. All rights reserved.
+ * Licensed under the LGPL or a commercial license.
+ * For LGPL see License.txt in the project root for license information.
+ * For commercial licenses see https://www.tiny.cloud/
*/
import { window } from '@ephox/dom-globals';
diff --git a/tools-ng/tinymce/editor/src/core/main/ts/api/dom/TreeWalker.ts b/tools-ng/tinymce/src/core/main/ts/api/dom/TreeWalker.ts
similarity index 91%
rename from tools-ng/tinymce/editor/src/core/main/ts/api/dom/TreeWalker.ts
rename to tools-ng/tinymce/src/core/main/ts/api/dom/TreeWalker.ts
index 33a1f3bc8..78e41636d 100644
--- a/tools-ng/tinymce/editor/src/core/main/ts/api/dom/TreeWalker.ts
+++ b/tools-ng/tinymce/src/core/main/ts/api/dom/TreeWalker.ts
@@ -1,11 +1,8 @@
/**
- * TreeWalker.js
- *
- * Released under LGPL License.
- * Copyright (c) 1999-2017 Ephox Corp. All rights reserved
- *
- * License: http://www.tinymce.com/license
- * Contributing: http://www.tinymce.com/contributing
+ * Copyright (c) Tiny Technologies, Inc. All rights reserved.
+ * Licensed under the LGPL or a commercial license.
+ * For LGPL see License.txt in the project root for license information.
+ * For commercial licenses see https://www.tiny.cloud/
*/
/**
diff --git a/tools-ng/tinymce/editor/src/core/main/ts/api/file/BlobCache.ts b/tools-ng/tinymce/src/core/main/ts/api/file/BlobCache.ts
similarity index 82%
rename from tools-ng/tinymce/editor/src/core/main/ts/api/file/BlobCache.ts
rename to tools-ng/tinymce/src/core/main/ts/api/file/BlobCache.ts
index 322b62cf5..0e0413bc0 100644
--- a/tools-ng/tinymce/editor/src/core/main/ts/api/file/BlobCache.ts
+++ b/tools-ng/tinymce/src/core/main/ts/api/file/BlobCache.ts
@@ -1,19 +1,14 @@
/**
- * BlobCache.js
- *
- * Released under LGPL License.
- * Copyright (c) 1999-2017 Ephox Corp. All rights reserved
- *
- * License: http://www.tinymce.com/license
- * Contributing: http://www.tinymce.com/contributing
+ * Copyright (c) Tiny Technologies, Inc. All rights reserved.
+ * Licensed under the LGPL or a commercial license.
+ * For LGPL see License.txt in the project root for license information.
+ * For commercial licenses see https://www.tiny.cloud/
*/
import { URL } from '@ephox/sand';
-import Arr from '../../util/Arr';
-import Fun from '../../util/Fun';
import Uuid from '../../util/Uuid';
import { Blob } from '@ephox/dom-globals';
-import { Type } from '@ephox/katamari';
+import { Type, Fun, Arr } from '@ephox/katamari';
export interface BlobCache {
create: (o: string | BlobInfoData, blob?: Blob, base64?: string, filename?: string) => BlobInfo;
@@ -46,7 +41,6 @@ export interface BlobInfo {
export default function (): BlobCache {
let cache: BlobInfo[] = [];
- const constant = Fun.constant;
const mimeToExt = function (mime) {
const mimes = {
@@ -87,13 +81,13 @@ export default function (): BlobCache {
name = o.name || id;
return {
- id: constant(id),
- name: constant(name),
- filename: constant(name + '.' + mimeToExt(o.blob.type)),
- blob: constant(o.blob),
- base64: constant(o.base64),
- blobUri: constant(o.blobUri || URL.createObjectURL(o.blob)),
- uri: constant(o.uri)
+ id: Fun.constant(id),
+ name: Fun.constant(name),
+ filename: Fun.constant(name + '.' + mimeToExt(o.blob.type)),
+ blob: Fun.constant(o.blob),
+ base64: Fun.constant(o.base64),
+ blobUri: Fun.constant(o.blobUri || URL.createObjectURL(o.blob)),
+ uri: Fun.constant(o.uri)
};
};
diff --git a/tools-ng/tinymce/editor/src/core/main/ts/api/geom/Rect.ts b/tools-ng/tinymce/src/core/main/ts/api/geom/Rect.ts
similarity index 95%
rename from tools-ng/tinymce/editor/src/core/main/ts/api/geom/Rect.ts
rename to tools-ng/tinymce/src/core/main/ts/api/geom/Rect.ts
index 2a215cc6a..69656b149 100644
--- a/tools-ng/tinymce/editor/src/core/main/ts/api/geom/Rect.ts
+++ b/tools-ng/tinymce/src/core/main/ts/api/geom/Rect.ts
@@ -1,11 +1,8 @@
/**
- * Rect.js
- *
- * Released under LGPL License.
- * Copyright (c) 1999-2017 Ephox Corp. All rights reserved
- *
- * License: http://www.tinymce.com/license
- * Contributing: http://www.tinymce.com/contributing
+ * Copyright (c) Tiny Technologies, Inc. All rights reserved.
+ * Licensed under the LGPL or a commercial license.
+ * For LGPL see License.txt in the project root for license information.
+ * For commercial licenses see https://www.tiny.cloud/
*/
/**
diff --git a/tools-ng/tinymce/editor/src/core/main/ts/api/html/DomParser.ts b/tools-ng/tinymce/src/core/main/ts/api/html/DomParser.ts
similarity index 98%
rename from tools-ng/tinymce/editor/src/core/main/ts/api/html/DomParser.ts
rename to tools-ng/tinymce/src/core/main/ts/api/html/DomParser.ts
index 2eea38b88..ef958086d 100644
--- a/tools-ng/tinymce/editor/src/core/main/ts/api/html/DomParser.ts
+++ b/tools-ng/tinymce/src/core/main/ts/api/html/DomParser.ts
@@ -1,11 +1,8 @@
/**
- * DomParser.js
- *
- * Released under LGPL License.
- * Copyright (c) 1999-2017 Ephox Corp. All rights reserved
- *
- * License: http://www.tinymce.com/license
- * Contributing: http://www.tinymce.com/contributing
+ * Copyright (c) Tiny Technologies, Inc. All rights reserved.
+ * Licensed under the LGPL or a commercial license.
+ * For LGPL see License.txt in the project root for license information.
+ * For commercial licenses see https://www.tiny.cloud/
*/
import LegacyFilter from '../../html/LegacyFilter';
@@ -178,6 +175,7 @@ export default function (settings?, schema = Schema()) {
const filterNode = (node: Node): Node => {
let i, name, list;
+ name = node.name;
// Run element filters
if (name in nodeFilters) {
list = matchedNodes[name];
diff --git a/tools-ng/tinymce/editor/src/core/main/ts/api/html/Entities.ts b/tools-ng/tinymce/src/core/main/ts/api/html/Entities.ts
similarity index 97%
rename from tools-ng/tinymce/editor/src/core/main/ts/api/html/Entities.ts
rename to tools-ng/tinymce/src/core/main/ts/api/html/Entities.ts
index bc53ce59f..d9de21caf 100644
--- a/tools-ng/tinymce/editor/src/core/main/ts/api/html/Entities.ts
+++ b/tools-ng/tinymce/src/core/main/ts/api/html/Entities.ts
@@ -1,11 +1,8 @@
/**
- * Entities.js
- *
- * Released under LGPL License.
- * Copyright (c) 1999-2017 Ephox Corp. All rights reserved
- *
- * License: http://www.tinymce.com/license
- * Contributing: http://www.tinymce.com/contributing
+ * Copyright (c) Tiny Technologies, Inc. All rights reserved.
+ * Licensed under the LGPL or a commercial license.
+ * For LGPL see License.txt in the project root for license information.
+ * For commercial licenses see https://www.tiny.cloud/
*/
import { Element } from '@ephox/sugar';
diff --git a/tools-ng/tinymce/editor/src/core/main/ts/api/html/Node.ts b/tools-ng/tinymce/src/core/main/ts/api/html/Node.ts
similarity index 98%
rename from tools-ng/tinymce/editor/src/core/main/ts/api/html/Node.ts
rename to tools-ng/tinymce/src/core/main/ts/api/html/Node.ts
index 7374d8675..04cae35a4 100644
--- a/tools-ng/tinymce/editor/src/core/main/ts/api/html/Node.ts
+++ b/tools-ng/tinymce/src/core/main/ts/api/html/Node.ts
@@ -1,11 +1,8 @@
/**
- * Node.js
- *
- * Released under LGPL License.
- * Copyright (c) 1999-2017 Ephox Corp. All rights reserved
- *
- * License: http://www.tinymce.com/license
- * Contributing: http://www.tinymce.com/contributing
+ * Copyright (c) Tiny Technologies, Inc. All rights reserved.
+ * Licensed under the LGPL or a commercial license.
+ * For LGPL see License.txt in the project root for license information.
+ * For commercial licenses see https://www.tiny.cloud/
*/
export type ElementMap = Array<{ [name: string]: boolean; }>;
diff --git a/tools-ng/tinymce/editor/src/core/main/ts/api/html/SaxParser.ts b/tools-ng/tinymce/src/core/main/ts/api/html/SaxParser.ts
similarity index 98%
rename from tools-ng/tinymce/editor/src/core/main/ts/api/html/SaxParser.ts
rename to tools-ng/tinymce/src/core/main/ts/api/html/SaxParser.ts
index e290c7916..4c5b581a9 100644
--- a/tools-ng/tinymce/editor/src/core/main/ts/api/html/SaxParser.ts
+++ b/tools-ng/tinymce/src/core/main/ts/api/html/SaxParser.ts
@@ -1,11 +1,8 @@
/**
- * SaxParser.js
- *
- * Released under LGPL License.
- * Copyright (c) 1999-2017 Ephox Corp. All rights reserved
- *
- * License: http://www.tinymce.com/license
- * Contributing: http://www.tinymce.com/contributing
+ * Copyright (c) Tiny Technologies, Inc. All rights reserved.
+ * Licensed under the LGPL or a commercial license.
+ * For LGPL see License.txt in the project root for license information.
+ * For commercial licenses see https://www.tiny.cloud/
*/
import Schema from './Schema';
diff --git a/tools-ng/tinymce/editor/src/core/main/ts/api/html/Schema.ts b/tools-ng/tinymce/src/core/main/ts/api/html/Schema.ts
similarity index 99%
rename from tools-ng/tinymce/editor/src/core/main/ts/api/html/Schema.ts
rename to tools-ng/tinymce/src/core/main/ts/api/html/Schema.ts
index b5d316757..7ccb25623 100644
--- a/tools-ng/tinymce/editor/src/core/main/ts/api/html/Schema.ts
+++ b/tools-ng/tinymce/src/core/main/ts/api/html/Schema.ts
@@ -1,11 +1,8 @@
/**
- * Schema.js
- *
- * Released under LGPL License.
- * Copyright (c) 1999-2017 Ephox Corp. All rights reserved
- *
- * License: http://www.tinymce.com/license
- * Contributing: http://www.tinymce.com/contributing
+ * Copyright (c) Tiny Technologies, Inc. All rights reserved.
+ * Licensed under the LGPL or a commercial license.
+ * For LGPL see License.txt in the project root for license information.
+ * For commercial licenses see https://www.tiny.cloud/
*/
import Tools from '../util/Tools';
diff --git a/tools-ng/tinymce/editor/src/core/main/ts/api/html/Serializer.ts b/tools-ng/tinymce/src/core/main/ts/api/html/Serializer.ts
similarity index 93%
rename from tools-ng/tinymce/editor/src/core/main/ts/api/html/Serializer.ts
rename to tools-ng/tinymce/src/core/main/ts/api/html/Serializer.ts
index 7e799f490..53ab5f6e6 100644
--- a/tools-ng/tinymce/editor/src/core/main/ts/api/html/Serializer.ts
+++ b/tools-ng/tinymce/src/core/main/ts/api/html/Serializer.ts
@@ -1,11 +1,8 @@
/**
- * Serializer.js
- *
- * Released under LGPL License.
- * Copyright (c) 1999-2017 Ephox Corp. All rights reserved
- *
- * License: http://www.tinymce.com/license
- * Contributing: http://www.tinymce.com/contributing
+ * Copyright (c) Tiny Technologies, Inc. All rights reserved.
+ * Licensed under the LGPL or a commercial license.
+ * For LGPL see License.txt in the project root for license information.
+ * For commercial licenses see https://www.tiny.cloud/
*/
import Writer from './Writer';
diff --git a/tools-ng/tinymce/editor/src/core/main/ts/api/html/Styles.ts b/tools-ng/tinymce/src/core/main/ts/api/html/Styles.ts
similarity index 97%
rename from tools-ng/tinymce/editor/src/core/main/ts/api/html/Styles.ts
rename to tools-ng/tinymce/src/core/main/ts/api/html/Styles.ts
index af64a30b9..0aed6afd0 100644
--- a/tools-ng/tinymce/editor/src/core/main/ts/api/html/Styles.ts
+++ b/tools-ng/tinymce/src/core/main/ts/api/html/Styles.ts
@@ -1,11 +1,8 @@
/**
- * Styles.js
- *
- * Released under LGPL License.
- * Copyright (c) 1999-2017 Ephox Corp. All rights reserved
- *
- * License: http://www.tinymce.com/license
- * Contributing: http://www.tinymce.com/contributing
+ * Copyright (c) Tiny Technologies, Inc. All rights reserved.
+ * Licensed under the LGPL or a commercial license.
+ * For LGPL see License.txt in the project root for license information.
+ * For commercial licenses see https://www.tiny.cloud/
*/
/**
diff --git a/tools-ng/tinymce/editor/src/core/main/ts/api/html/Writer.ts b/tools-ng/tinymce/src/core/main/ts/api/html/Writer.ts
similarity index 95%
rename from tools-ng/tinymce/editor/src/core/main/ts/api/html/Writer.ts
rename to tools-ng/tinymce/src/core/main/ts/api/html/Writer.ts
index 105445a46..c98f54e7c 100644
--- a/tools-ng/tinymce/editor/src/core/main/ts/api/html/Writer.ts
+++ b/tools-ng/tinymce/src/core/main/ts/api/html/Writer.ts
@@ -1,11 +1,8 @@
/**
- * Writer.js
- *
- * Released under LGPL License.
- * Copyright (c) 1999-2017 Ephox Corp. All rights reserved
- *
- * License: http://www.tinymce.com/license
- * Contributing: http://www.tinymce.com/contributing
+ * Copyright (c) Tiny Technologies, Inc. All rights reserved.
+ * Licensed under the LGPL or a commercial license.
+ * For LGPL see License.txt in the project root for license information.
+ * For commercial licenses see https://www.tiny.cloud/
*/
import Entities from './Entities';
diff --git a/tools-ng/tinymce/editor/src/core/main/ts/api/ui/Factory.ts b/tools-ng/tinymce/src/core/main/ts/api/ui/Factory.ts
similarity index 91%
rename from tools-ng/tinymce/editor/src/core/main/ts/api/ui/Factory.ts
rename to tools-ng/tinymce/src/core/main/ts/api/ui/Factory.ts
index 5046a5e0d..49d88a5b8 100644
--- a/tools-ng/tinymce/editor/src/core/main/ts/api/ui/Factory.ts
+++ b/tools-ng/tinymce/src/core/main/ts/api/ui/Factory.ts
@@ -1,11 +1,8 @@
/**
- * Factory.js
- *
- * Released under LGPL License.
- * Copyright (c) 1999-2017 Ephox Corp. All rights reserved
- *
- * License: http://www.tinymce.com/license
- * Contributing: http://www.tinymce.com/contributing
+ * Copyright (c) Tiny Technologies, Inc. All rights reserved.
+ * Licensed under the LGPL or a commercial license.
+ * For LGPL see License.txt in the project root for license information.
+ * For commercial licenses see https://www.tiny.cloud/
*/
/**
diff --git a/tools-ng/tinymce/editor/src/core/main/ts/api/util/Class.ts b/tools-ng/tinymce/src/core/main/ts/api/util/Class.ts
similarity index 93%
rename from tools-ng/tinymce/editor/src/core/main/ts/api/util/Class.ts
rename to tools-ng/tinymce/src/core/main/ts/api/util/Class.ts
index 6611f9cc7..28196a4f9 100644
--- a/tools-ng/tinymce/editor/src/core/main/ts/api/util/Class.ts
+++ b/tools-ng/tinymce/src/core/main/ts/api/util/Class.ts
@@ -1,11 +1,8 @@
/**
- * Class.js
- *
- * Released under LGPL License.
- * Copyright (c) 1999-2017 Ephox Corp. All rights reserved
- *
- * License: http://www.tinymce.com/license
- * Contributing: http://www.tinymce.com/contributing
+ * Copyright (c) Tiny Technologies, Inc. All rights reserved.
+ * Licensed under the LGPL or a commercial license.
+ * For LGPL see License.txt in the project root for license information.
+ * For commercial licenses see https://www.tiny.cloud/
*/
import Tools from './Tools';
diff --git a/tools-ng/tinymce/editor/src/core/main/ts/api/util/Color.ts b/tools-ng/tinymce/src/core/main/ts/api/util/Color.ts
similarity index 95%
rename from tools-ng/tinymce/editor/src/core/main/ts/api/util/Color.ts
rename to tools-ng/tinymce/src/core/main/ts/api/util/Color.ts
index abfb4986f..d1a1999b0 100644
--- a/tools-ng/tinymce/editor/src/core/main/ts/api/util/Color.ts
+++ b/tools-ng/tinymce/src/core/main/ts/api/util/Color.ts
@@ -1,11 +1,8 @@
/**
- * Color.js
- *
- * Released under LGPL License.
- * Copyright (c) 1999-2017 Ephox Corp. All rights reserved
- *
- * License: http://www.tinymce.com/license
- * Contributing: http://www.tinymce.com/contributing
+ * Copyright (c) Tiny Technologies, Inc. All rights reserved.
+ * Licensed under the LGPL or a commercial license.
+ * For LGPL see License.txt in the project root for license information.
+ * For commercial licenses see https://www.tiny.cloud/
*/
/**
diff --git a/tools-ng/tinymce/editor/src/core/main/ts/api/util/Delay.ts b/tools-ng/tinymce/src/core/main/ts/api/util/Delay.ts
similarity index 95%
rename from tools-ng/tinymce/editor/src/core/main/ts/api/util/Delay.ts
rename to tools-ng/tinymce/src/core/main/ts/api/util/Delay.ts
index 1edc2fc8f..841c3b1ab 100644
--- a/tools-ng/tinymce/editor/src/core/main/ts/api/util/Delay.ts
+++ b/tools-ng/tinymce/src/core/main/ts/api/util/Delay.ts
@@ -1,11 +1,8 @@
/**
- * Delay.js
- *
- * Released under LGPL License.
- * Copyright (c) 1999-2017 Ephox Corp. All rights reserved
- *
- * License: http://www.tinymce.com/license
- * Contributing: http://www.tinymce.com/contributing
+ * Copyright (c) Tiny Technologies, Inc. All rights reserved.
+ * Licensed under the LGPL or a commercial license.
+ * For LGPL see License.txt in the project root for license information.
+ * For commercial licenses see https://www.tiny.cloud/
*/
import Promise from './Promise';
diff --git a/tools-ng/tinymce/editor/src/core/main/ts/api/util/EventDispatcher.ts b/tools-ng/tinymce/src/core/main/ts/api/util/EventDispatcher.ts
similarity index 96%
rename from tools-ng/tinymce/editor/src/core/main/ts/api/util/EventDispatcher.ts
rename to tools-ng/tinymce/src/core/main/ts/api/util/EventDispatcher.ts
index 83258c6ba..b48aec717 100644
--- a/tools-ng/tinymce/editor/src/core/main/ts/api/util/EventDispatcher.ts
+++ b/tools-ng/tinymce/src/core/main/ts/api/util/EventDispatcher.ts
@@ -1,11 +1,8 @@
/**
- * EventDispatcher.js
- *
- * Released under LGPL License.
- * Copyright (c) 1999-2017 Ephox Corp. All rights reserved
- *
- * License: http://www.tinymce.com/license
- * Contributing: http://www.tinymce.com/contributing
+ * Copyright (c) Tiny Technologies, Inc. All rights reserved.
+ * Licensed under the LGPL or a commercial license.
+ * For LGPL see License.txt in the project root for license information.
+ * For commercial licenses see https://www.tiny.cloud/
*/
import Tools from './Tools';
diff --git a/tools-ng/tinymce/editor/src/core/main/ts/api/util/FakeStorage.ts b/tools-ng/tinymce/src/core/main/ts/api/util/FakeStorage.ts
similarity index 74%
rename from tools-ng/tinymce/editor/src/core/main/ts/api/util/FakeStorage.ts
rename to tools-ng/tinymce/src/core/main/ts/api/util/FakeStorage.ts
index 81bbacb48..d3ac27ead 100644
--- a/tools-ng/tinymce/editor/src/core/main/ts/api/util/FakeStorage.ts
+++ b/tools-ng/tinymce/src/core/main/ts/api/util/FakeStorage.ts
@@ -1,3 +1,10 @@
+/**
+ * Copyright (c) Tiny Technologies, Inc. All rights reserved.
+ * Licensed under the LGPL or a commercial license.
+ * For LGPL see License.txt in the project root for license information.
+ * For commercial licenses see https://www.tiny.cloud/
+ */
+
// Simple stub of localstorage for IE11 with strict security settings #TINY-1782
export const create = () => (function () {
let data = {};
diff --git a/tools-ng/tinymce/editor/src/core/main/ts/api/util/I18n.ts b/tools-ng/tinymce/src/core/main/ts/api/util/I18n.ts
similarity index 92%
rename from tools-ng/tinymce/editor/src/core/main/ts/api/util/I18n.ts
rename to tools-ng/tinymce/src/core/main/ts/api/util/I18n.ts
index 80190cc59..fe0c4dc27 100644
--- a/tools-ng/tinymce/editor/src/core/main/ts/api/util/I18n.ts
+++ b/tools-ng/tinymce/src/core/main/ts/api/util/I18n.ts
@@ -1,11 +1,8 @@
/**
- * I18n.js
- *
- * Released under LGPL License.
- * Copyright (c) 1999-2017 Ephox Corp. All rights reserved
- *
- * License: http://www.tinymce.com/license
- * Contributing: http://www.tinymce.com/contributing
+ * Copyright (c) Tiny Technologies, Inc. All rights reserved.
+ * Licensed under the LGPL or a commercial license.
+ * For LGPL see License.txt in the project root for license information.
+ * For commercial licenses see https://www.tiny.cloud/
*/
import Tools from './Tools';
diff --git a/tools-ng/tinymce/editor/src/core/main/ts/api/util/JSON.ts b/tools-ng/tinymce/src/core/main/ts/api/util/JSON.ts
similarity index 90%
rename from tools-ng/tinymce/editor/src/core/main/ts/api/util/JSON.ts
rename to tools-ng/tinymce/src/core/main/ts/api/util/JSON.ts
index c70a317b6..6c5d97dfa 100644
--- a/tools-ng/tinymce/editor/src/core/main/ts/api/util/JSON.ts
+++ b/tools-ng/tinymce/src/core/main/ts/api/util/JSON.ts
@@ -1,11 +1,8 @@
/**
- * JSON.js
- *
- * Released under LGPL License.
- * Copyright (c) 1999-2017 Ephox Corp. All rights reserved
- *
- * License: http://www.tinymce.com/license
- * Contributing: http://www.tinymce.com/contributing
+ * Copyright (c) Tiny Technologies, Inc. All rights reserved.
+ * Licensed under the LGPL or a commercial license.
+ * For LGPL see License.txt in the project root for license information.
+ * For commercial licenses see https://www.tiny.cloud/
*/
/**
diff --git a/tools-ng/tinymce/editor/src/core/main/ts/api/util/JSONP.ts b/tools-ng/tinymce/src/core/main/ts/api/util/JSONP.ts
similarity index 69%
rename from tools-ng/tinymce/editor/src/core/main/ts/api/util/JSONP.ts
rename to tools-ng/tinymce/src/core/main/ts/api/util/JSONP.ts
index 13f1c3282..c2d78b102 100644
--- a/tools-ng/tinymce/editor/src/core/main/ts/api/util/JSONP.ts
+++ b/tools-ng/tinymce/src/core/main/ts/api/util/JSONP.ts
@@ -1,11 +1,8 @@
/**
- * JSONP.js
- *
- * Released under LGPL License.
- * Copyright (c) 1999-2017 Ephox Corp. All rights reserved
- *
- * License: http://www.tinymce.com/license
- * Contributing: http://www.tinymce.com/contributing
+ * Copyright (c) Tiny Technologies, Inc. All rights reserved.
+ * Licensed under the LGPL or a commercial license.
+ * For LGPL see License.txt in the project root for license information.
+ * For commercial licenses see https://www.tiny.cloud/
*/
import DOMUtils from '../dom/DOMUtils';
diff --git a/tools-ng/tinymce/editor/src/core/main/ts/api/util/JSONRequest.ts b/tools-ng/tinymce/src/core/main/ts/api/util/JSONRequest.ts
similarity index 90%
rename from tools-ng/tinymce/editor/src/core/main/ts/api/util/JSONRequest.ts
rename to tools-ng/tinymce/src/core/main/ts/api/util/JSONRequest.ts
index 221aec9c7..fe466d377 100644
--- a/tools-ng/tinymce/editor/src/core/main/ts/api/util/JSONRequest.ts
+++ b/tools-ng/tinymce/src/core/main/ts/api/util/JSONRequest.ts
@@ -1,11 +1,8 @@
/**
- * JSONRequest.js
- *
- * Released under LGPL License.
- * Copyright (c) 1999-2017 Ephox Corp. All rights reserved
- *
- * License: http://www.tinymce.com/license
- * Contributing: http://www.tinymce.com/contributing
+ * Copyright (c) Tiny Technologies, Inc. All rights reserved.
+ * Licensed under the LGPL or a commercial license.
+ * For LGPL see License.txt in the project root for license information.
+ * For commercial licenses see https://www.tiny.cloud/
*/
import JSON from './JSON';
diff --git a/tools-ng/tinymce/editor/src/core/main/ts/api/util/LocalStorage.ts b/tools-ng/tinymce/src/core/main/ts/api/util/LocalStorage.ts
similarity index 72%
rename from tools-ng/tinymce/editor/src/core/main/ts/api/util/LocalStorage.ts
rename to tools-ng/tinymce/src/core/main/ts/api/util/LocalStorage.ts
index d0d6e8104..9a6e185d0 100644
--- a/tools-ng/tinymce/editor/src/core/main/ts/api/util/LocalStorage.ts
+++ b/tools-ng/tinymce/src/core/main/ts/api/util/LocalStorage.ts
@@ -1,11 +1,8 @@
/**
- * LocalStorage.js
- *
- * Released under LGPL License.
- * Copyright (c) 1999-2017 Ephox Corp. All rights reserved
- *
- * License: http://www.tinymce.com/license
- * Contributing: http://www.tinymce.com/contributing
+ * Copyright (c) Tiny Technologies, Inc. All rights reserved.
+ * Licensed under the LGPL or a commercial license.
+ * For LGPL see License.txt in the project root for license information.
+ * For commercial licenses see https://www.tiny.cloud/
*/
import { window, Storage } from '@ephox/dom-globals';
diff --git a/tools-ng/tinymce/editor/src/core/main/ts/api/util/Observable.ts b/tools-ng/tinymce/src/core/main/ts/api/util/Observable.ts
similarity index 93%
rename from tools-ng/tinymce/editor/src/core/main/ts/api/util/Observable.ts
rename to tools-ng/tinymce/src/core/main/ts/api/util/Observable.ts
index b2b0989bb..d10734911 100644
--- a/tools-ng/tinymce/editor/src/core/main/ts/api/util/Observable.ts
+++ b/tools-ng/tinymce/src/core/main/ts/api/util/Observable.ts
@@ -1,11 +1,8 @@
/**
- * Observable.js
- *
- * Released under LGPL License.
- * Copyright (c) 1999-2017 Ephox Corp. All rights reserved
- *
- * License: http://www.tinymce.com/license
- * Contributing: http://www.tinymce.com/contributing
+ * Copyright (c) Tiny Technologies, Inc. All rights reserved.
+ * Licensed under the LGPL or a commercial license.
+ * For LGPL see License.txt in the project root for license information.
+ * For commercial licenses see https://www.tiny.cloud/
*/
import EventDispatcher from './EventDispatcher';
diff --git a/tools-ng/tinymce/editor/src/core/main/ts/api/util/Promise.ts b/tools-ng/tinymce/src/core/main/ts/api/util/Promise.ts
similarity index 94%
rename from tools-ng/tinymce/editor/src/core/main/ts/api/util/Promise.ts
rename to tools-ng/tinymce/src/core/main/ts/api/util/Promise.ts
index bf635b639..4908f951d 100644
--- a/tools-ng/tinymce/editor/src/core/main/ts/api/util/Promise.ts
+++ b/tools-ng/tinymce/src/core/main/ts/api/util/Promise.ts
@@ -1,13 +1,8 @@
/**
- * Promise.js
- *
- * Released under LGPL License.
- * Copyright (c) 1999-2017 Ephox Corp. All rights reserved
- *
- * Promise polyfill under MIT license: https://github.com/taylorhakes/promise-polyfill
- *
- * License: http://www.tinymce.com/license
- * Contributing: http://www.tinymce.com/contributing
+ * Copyright (c) Tiny Technologies, Inc. All rights reserved.
+ * Licensed under the LGPL or a commercial license.
+ * For LGPL see License.txt in the project root for license information.
+ * For commercial licenses see https://www.tiny.cloud/
*/
/**
diff --git a/tools-ng/tinymce/editor/src/core/main/ts/api/util/Tools.ts b/tools-ng/tinymce/src/core/main/ts/api/util/Tools.ts
similarity index 94%
rename from tools-ng/tinymce/editor/src/core/main/ts/api/util/Tools.ts
rename to tools-ng/tinymce/src/core/main/ts/api/util/Tools.ts
index cf9222890..f60ac3fe0 100644
--- a/tools-ng/tinymce/editor/src/core/main/ts/api/util/Tools.ts
+++ b/tools-ng/tinymce/src/core/main/ts/api/util/Tools.ts
@@ -1,15 +1,12 @@
/**
- * Tools.js
- *
- * Released under LGPL License.
- * Copyright (c) 1999-2017 Ephox Corp. All rights reserved
- *
- * License: http://www.tinymce.com/license
- * Contributing: http://www.tinymce.com/contributing
+ * Copyright (c) Tiny Technologies, Inc. All rights reserved.
+ * Licensed under the LGPL or a commercial license.
+ * For LGPL see License.txt in the project root for license information.
+ * For commercial licenses see https://www.tiny.cloud/
*/
import Env from '../Env';
-import Arr from '../../util/Arr';
+import ArrUtils from '../../util/ArrUtils';
import { window } from '@ephox/dom-globals';
/**
@@ -45,7 +42,7 @@ const is = function (obj: Record | {}, type: string) {
return obj !== undefined;
}
- if (type === 'array' && Arr.isArray(obj)) {
+ if (type === 'array' && ArrUtils.isArray(obj)) {
return true;
}
@@ -264,7 +261,7 @@ const walk = function (o, f, n?, s?) {
o = o[n];
}
- Arr.each(o, function (o, i) {
+ ArrUtils.each(o, function (o, i) {
if (f.call(s, o, i, n) === false) {
return false;
}
@@ -354,7 +351,7 @@ const explode = function (s, d?) {
return s;
}
- return Arr.map(s.split(d || ','), trim);
+ return ArrUtils.map(s.split(d || ','), trim);
};
const _addCacheSuffix = function (url) {
@@ -377,7 +374,7 @@ export default {
* @param {Object} obj Object to check.
* @return {boolean} true/false state if the object is an array or not.
*/
- isArray: Arr.isArray,
+ isArray: ArrUtils.isArray,
is,
@@ -388,7 +385,7 @@ export default {
* @param {Object} obj Object to convert into array.
* @return {Array} Array object based in input.
*/
- toArray: Arr.toArray,
+ toArray: ArrUtils.toArray,
makeMap,
/**
@@ -411,7 +408,7 @@ export default {
* console.debug("Value: " + v + ", Key: " + k);
* });
*/
- each: Arr.each,
+ each: ArrUtils.each,
/**
* Creates a new array by the return value of each iteration function call. This enables you to convert
@@ -422,7 +419,7 @@ export default {
* @param {function} callback Function to call for each item. It's return value will be the new value.
* @return {Array} Array with new values based on function return values.
*/
- map: Arr.map,
+ map: ArrUtils.map,
/**
* Filters out items from the input array by calling the specified function for each item.
@@ -436,7 +433,7 @@ export default {
* // Filter out some items, this will return an array with 4 and 5
* var items = tinymce.grep([1,2,3,4,5], function(v) {return v > 3;});
*/
- grep: Arr.filter,
+ grep: ArrUtils.filter,
/**
* Returns an index of the item or -1 if item is not present in the array.
@@ -446,7 +443,7 @@ export default {
* @param {Array} arr Array to search in.
* @return {Number} index of the item or -1 if item was not found.
*/
- inArray: Arr.indexOf,
+ inArray: ArrUtils.indexOf,
hasOwn: hasOwnProperty,
diff --git a/tools-ng/tinymce/editor/src/core/main/ts/api/util/URI.ts b/tools-ng/tinymce/src/core/main/ts/api/util/URI.ts
similarity index 97%
rename from tools-ng/tinymce/editor/src/core/main/ts/api/util/URI.ts
rename to tools-ng/tinymce/src/core/main/ts/api/util/URI.ts
index fca398d9c..8e670229f 100644
--- a/tools-ng/tinymce/editor/src/core/main/ts/api/util/URI.ts
+++ b/tools-ng/tinymce/src/core/main/ts/api/util/URI.ts
@@ -1,11 +1,8 @@
/**
- * URI.js
- *
- * Released under LGPL License.
- * Copyright (c) 1999-2017 Ephox Corp. All rights reserved
- *
- * License: http://www.tinymce.com/license
- * Contributing: http://www.tinymce.com/contributing
+ * Copyright (c) Tiny Technologies, Inc. All rights reserved.
+ * Licensed under the LGPL or a commercial license.
+ * For LGPL see License.txt in the project root for license information.
+ * For commercial licenses see https://www.tiny.cloud/
*/
import Tools from './Tools';
diff --git a/tools-ng/tinymce/editor/src/core/main/ts/api/util/VK.ts b/tools-ng/tinymce/src/core/main/ts/api/util/VK.ts
similarity index 73%
rename from tools-ng/tinymce/editor/src/core/main/ts/api/util/VK.ts
rename to tools-ng/tinymce/src/core/main/ts/api/util/VK.ts
index bd34bdbc5..f021cd2f2 100644
--- a/tools-ng/tinymce/editor/src/core/main/ts/api/util/VK.ts
+++ b/tools-ng/tinymce/src/core/main/ts/api/util/VK.ts
@@ -1,11 +1,8 @@
/**
- * VK.js
- *
- * Released under LGPL License.
- * Copyright (c) 1999-2017 Ephox Corp. All rights reserved
- *
- * License: http://www.tinymce.com/license
- * Contributing: http://www.tinymce.com/contributing
+ * Copyright (c) Tiny Technologies, Inc. All rights reserved.
+ * Licensed under the LGPL or a commercial license.
+ * For LGPL see License.txt in the project root for license information.
+ * For commercial licenses see https://www.tiny.cloud/
*/
import Env from '../Env';
diff --git a/tools-ng/tinymce/editor/src/core/main/ts/api/util/XHR.ts b/tools-ng/tinymce/src/core/main/ts/api/util/XHR.ts
similarity index 92%
rename from tools-ng/tinymce/editor/src/core/main/ts/api/util/XHR.ts
rename to tools-ng/tinymce/src/core/main/ts/api/util/XHR.ts
index 59fc89207..823f56b6e 100644
--- a/tools-ng/tinymce/editor/src/core/main/ts/api/util/XHR.ts
+++ b/tools-ng/tinymce/src/core/main/ts/api/util/XHR.ts
@@ -1,11 +1,8 @@
/**
- * XHR.js
- *
- * Released under LGPL License.
- * Copyright (c) 1999-2017 Ephox Corp. All rights reserved
- *
- * License: http://www.tinymce.com/license
- * Contributing: http://www.tinymce.com/contributing
+ * Copyright (c) Tiny Technologies, Inc. All rights reserved.
+ * Licensed under the LGPL or a commercial license.
+ * For LGPL see License.txt in the project root for license information.
+ * For commercial licenses see https://www.tiny.cloud/
*/
import { XMLHttpRequest } from '@ephox/sand';
diff --git a/tools-ng/tinymce/editor/src/core/main/ts/bookmark/BookmarkTypes.ts b/tools-ng/tinymce/src/core/main/ts/bookmark/BookmarkTypes.ts
similarity index 82%
rename from tools-ng/tinymce/editor/src/core/main/ts/bookmark/BookmarkTypes.ts
rename to tools-ng/tinymce/src/core/main/ts/bookmark/BookmarkTypes.ts
index 075ea5fec..1c6661bb9 100644
--- a/tools-ng/tinymce/editor/src/core/main/ts/bookmark/BookmarkTypes.ts
+++ b/tools-ng/tinymce/src/core/main/ts/bookmark/BookmarkTypes.ts
@@ -1,3 +1,10 @@
+/**
+ * Copyright (c) Tiny Technologies, Inc. All rights reserved.
+ * Licensed under the LGPL or a commercial license.
+ * For LGPL see License.txt in the project root for license information.
+ * For commercial licenses see https://www.tiny.cloud/
+ */
+
import Tools from 'tinymce/core/api/util/Tools';
import { Range } from '@ephox/dom-globals';
diff --git a/tools-ng/tinymce/editor/src/core/main/ts/bookmark/Bookmarks.ts b/tools-ng/tinymce/src/core/main/ts/bookmark/Bookmarks.ts
similarity index 78%
rename from tools-ng/tinymce/editor/src/core/main/ts/bookmark/Bookmarks.ts
rename to tools-ng/tinymce/src/core/main/ts/bookmark/Bookmarks.ts
index 1c73e15d1..4b8164131 100644
--- a/tools-ng/tinymce/editor/src/core/main/ts/bookmark/Bookmarks.ts
+++ b/tools-ng/tinymce/src/core/main/ts/bookmark/Bookmarks.ts
@@ -1,11 +1,8 @@
/**
- * Bookmarks.js
- *
- * Released under LGPL License.
- * Copyright (c) 1999-2017 Ephox Corp. All rights reserved
- *
- * License: http://www.tinymce.com/license
- * Contributing: http://www.tinymce.com/contributing
+ * Copyright (c) Tiny Technologies, Inc. All rights reserved.
+ * Licensed under the LGPL or a commercial license.
+ * For LGPL see License.txt in the project root for license information.
+ * For commercial licenses see https://www.tiny.cloud/
*/
import GetBookmark from './GetBookmark';
diff --git a/tools-ng/tinymce/editor/src/core/main/ts/bookmark/CaretBookmark.ts b/tools-ng/tinymce/src/core/main/ts/bookmark/CaretBookmark.ts
similarity index 85%
rename from tools-ng/tinymce/editor/src/core/main/ts/bookmark/CaretBookmark.ts
rename to tools-ng/tinymce/src/core/main/ts/bookmark/CaretBookmark.ts
index 7e5d6f48c..fd5974d6c 100644
--- a/tools-ng/tinymce/editor/src/core/main/ts/bookmark/CaretBookmark.ts
+++ b/tools-ng/tinymce/src/core/main/ts/bookmark/CaretBookmark.ts
@@ -1,19 +1,16 @@
/**
- * CaretBookmark.js
- *
- * Released under LGPL License.
- * Copyright (c) 1999-2017 Ephox Corp. All rights reserved
- *
- * License: http://www.tinymce.com/license
- * Contributing: http://www.tinymce.com/contributing
+ * Copyright (c) Tiny Technologies, Inc. All rights reserved.
+ * Licensed under the LGPL or a commercial license.
+ * For LGPL see License.txt in the project root for license information.
+ * For commercial licenses see https://www.tiny.cloud/
*/
import NodeType from '../dom/NodeType';
import DomUtils from '../api/dom/DOMUtils';
-import Fun from '../util/Fun';
-import Arr from '../util/Arr';
+import ArrUtils from '../util/ArrUtils';
import CaretPosition from '../caret/CaretPosition';
import { Node } from '@ephox/dom-globals';
+import { Fun } from '@ephox/katamari';
/**
* This module creates or resolves xpath like string representation of a CaretPositions.
@@ -53,7 +50,7 @@ const getChildNodes = (node: Node): Node[] => {
return [];
}
- return Arr.reduce(node.childNodes, function (result, node) {
+ return ArrUtils.reduce(node.childNodes, function (result, node) {
if (isBogus(node) && node.nodeName !== 'BR') {
result = result.concat(getChildNodes(node));
} else {
@@ -82,9 +79,9 @@ const normalizedNodeIndex = (node: Node): number => {
let nodes, index, numTextFragments;
nodes = getChildNodes(normalizedParent(node));
- index = Arr.findIndex(nodes, equal(node), node);
+ index = ArrUtils.findIndex(nodes, equal(node), node);
nodes = nodes.slice(0, index + 1);
- numTextFragments = Arr.reduce(nodes, function (result, node, i) {
+ numTextFragments = ArrUtils.reduce(nodes, function (result, node, i) {
if (isText(node) && isText(nodes[i - 1])) {
result++;
}
@@ -92,8 +89,8 @@ const normalizedNodeIndex = (node: Node): number => {
return result;
}, 0);
- nodes = Arr.filter(nodes, NodeType.matchNodeNames(node.nodeName));
- index = Arr.findIndex(nodes, equal(node), node);
+ nodes = ArrUtils.filter(nodes, NodeType.matchNodeNames(node.nodeName));
+ index = ArrUtils.findIndex(nodes, equal(node), node);
return index - numTextFragments;
};
@@ -147,8 +144,8 @@ const create = (root: Node, caretPosition: CaretPosition): string => {
path.push(createPathItem(container));
parents = parentsUntil(root, container);
- parents = Arr.filter(parents, Fun.negate(NodeType.isBogus));
- path = path.concat(Arr.map(parents, function (node) {
+ parents = ArrUtils.filter(parents, Fun.not(NodeType.isBogus));
+ path = path.concat(ArrUtils.map(parents, function (node) {
return createPathItem(node);
}));
@@ -158,11 +155,11 @@ const create = (root: Node, caretPosition: CaretPosition): string => {
const resolvePathItem = (node: Node, name: string, index: number): Node => {
let nodes = getChildNodes(node);
- nodes = Arr.filter(nodes, function (node, index) {
+ nodes = ArrUtils.filter(nodes, function (node, index) {
return !isText(node) || !isText(nodes[index - 1]);
});
- nodes = Arr.filter(nodes, NodeType.matchNodeNames(name));
+ nodes = ArrUtils.filter(nodes, NodeType.matchNodeNames(name));
return nodes[index];
};
@@ -206,7 +203,7 @@ const resolve = (root: Node, path: string): CaretPosition => {
path = parts[0].split('/');
offset = parts.length > 1 ? parts[1] : 'before';
- container = Arr.reduce(path, function (result, value) {
+ container = ArrUtils.reduce(path, function (result, value) {
value = /([\w\-\(\)]+)\[([0-9]+)\]/.exec(value);
if (!value) {
return null;
diff --git a/tools-ng/tinymce/editor/src/core/main/ts/bookmark/GetBookmark.ts b/tools-ng/tinymce/src/core/main/ts/bookmark/GetBookmark.ts
similarity index 91%
rename from tools-ng/tinymce/editor/src/core/main/ts/bookmark/GetBookmark.ts
rename to tools-ng/tinymce/src/core/main/ts/bookmark/GetBookmark.ts
index 8e8ef571e..beb7070a8 100644
--- a/tools-ng/tinymce/editor/src/core/main/ts/bookmark/GetBookmark.ts
+++ b/tools-ng/tinymce/src/core/main/ts/bookmark/GetBookmark.ts
@@ -1,11 +1,8 @@
/**
- * GetBookmark.js
- *
- * Released under LGPL License.
- * Copyright (c) 1999-2017 Ephox Corp. All rights reserved
- *
- * License: http://www.tinymce.com/license
- * Contributing: http://www.tinymce.com/contributing
+ * Copyright (c) Tiny Technologies, Inc. All rights reserved.
+ * Licensed under the LGPL or a commercial license.
+ * For LGPL see License.txt in the project root for license information.
+ * For commercial licenses see https://www.tiny.cloud/
*/
import { Fun } from '@ephox/katamari';
@@ -20,6 +17,7 @@ import { Selection } from '../api/dom/Selection';
import { DOMUtils } from 'tinymce/core/api/dom/DOMUtils';
import { PathBookmark, IndexBookmark, StringPathBookmark, RangeBookmark, IdBookmark, Bookmark } from './BookmarkTypes';
import { Text, Range, Node, Element } from '@ephox/dom-globals';
+import { rangeInsertNode } from '../selection/RangeInsertNode';
type TrimFn = (s: string) => string;
@@ -75,12 +73,6 @@ const getLocation = function (trim: TrimFn, selection: Selection, normalized: bo
return bookmark;
};
-const trimEmptyTextNode = function (node: Node) {
- if (NodeType.isText(node) && node.data.length === 0) {
- node.parentNode.removeChild(node);
- }
-};
-
const findIndex = function (dom: DOMUtils, name: string, element: Element) {
let count = 0;
@@ -209,16 +201,13 @@ const getPersistentBookmark = function (selection: Selection, filled: boolean):
if (!collapsed) {
rng2.collapse(false);
const endBookmarkNode = createBookmarkSpan(dom, id + '_end', filled);
- rng2.insertNode(endBookmarkNode);
- trimEmptyTextNode(endBookmarkNode.nextSibling);
+ rangeInsertNode(dom, rng2, endBookmarkNode);
}
rng = normalizeTableCellSelection(rng);
rng.collapse(true);
const startBookmarkNode = createBookmarkSpan(dom, id + '_start', filled);
- rng.insertNode(startBookmarkNode);
- trimEmptyTextNode(startBookmarkNode.previousSibling);
- trimEmptyTextNode(startBookmarkNode.nextSibling);
+ rangeInsertNode(dom, rng, startBookmarkNode);
selection.moveToBookmark({ id, keep: 1 });
diff --git a/tools-ng/tinymce/editor/src/core/main/ts/bookmark/ResolveBookmark.ts b/tools-ng/tinymce/src/core/main/ts/bookmark/ResolveBookmark.ts
similarity index 97%
rename from tools-ng/tinymce/editor/src/core/main/ts/bookmark/ResolveBookmark.ts
rename to tools-ng/tinymce/src/core/main/ts/bookmark/ResolveBookmark.ts
index 4acacefe2..100e2e21e 100644
--- a/tools-ng/tinymce/editor/src/core/main/ts/bookmark/ResolveBookmark.ts
+++ b/tools-ng/tinymce/src/core/main/ts/bookmark/ResolveBookmark.ts
@@ -1,11 +1,8 @@
/**
- * ResolveBookmark.js
- *
- * Released under LGPL License.
- * Copyright (c) 1999-2017 Ephox Corp. All rights reserved
- *
- * License: http://www.tinymce.com/license
- * Contributing: http://www.tinymce.com/contributing
+ * Copyright (c) Tiny Technologies, Inc. All rights reserved.
+ * Licensed under the LGPL or a commercial license.
+ * For LGPL see License.txt in the project root for license information.
+ * For commercial licenses see https://www.tiny.cloud/
*/
import { Option, Options } from '@ephox/katamari';
diff --git a/tools-ng/tinymce/editor/src/core/main/ts/caret/BlockBoundary.ts b/tools-ng/tinymce/src/core/main/ts/caret/BlockBoundary.ts
similarity index 52%
rename from tools-ng/tinymce/editor/src/core/main/ts/caret/BlockBoundary.ts
rename to tools-ng/tinymce/src/core/main/ts/caret/BlockBoundary.ts
index ff052034b..d246e05b5 100644
--- a/tools-ng/tinymce/editor/src/core/main/ts/caret/BlockBoundary.ts
+++ b/tools-ng/tinymce/src/core/main/ts/caret/BlockBoundary.ts
@@ -1,11 +1,8 @@
/**
- * BlockBoundary.ts
- *
- * Released under LGPL License.
- * Copyright (c) 1999-2018 Ephox Corp. All rights reserved
- *
- * License: http://www.tinymce.com/license
- * Contributing: http://www.tinymce.com/contributing
+ * Copyright (c) Tiny Technologies, Inc. All rights reserved.
+ * Licensed under the LGPL or a commercial license.
+ * For LGPL see License.txt in the project root for license information.
+ * For commercial licenses see https://www.tiny.cloud/
*/
import { Arr, Fun } from '@ephox/katamari';
@@ -14,12 +11,20 @@ import { Element } from '@ephox/sugar';
import { CaretPosition } from './CaretPosition';
import CaretFinder from './CaretFinder';
import * as ElementType from '../dom/ElementType';
+import { isInSameBlock } from './CaretUtils';
const isAtBlockBoundary = (forward: boolean, root: Element, pos: CaretPosition) => {
const parentBlocks = Arr.filter(Parents.parentsAndSelf(Element.fromDom(pos.container()), root), ElementType.isBlock);
- return Arr.head(parentBlocks).exists((parent) => {
- return CaretFinder.navigate(forward, parent.dom(), pos).isNone();
- });
+ return Arr.head(parentBlocks).fold(
+ () => {
+ return CaretFinder.navigate(forward, root.dom(), pos).forall((newPos) => {
+ return isInSameBlock(newPos, pos, root.dom()) === false;
+ });
+ },
+ (parent) => {
+ return CaretFinder.navigate(forward, parent.dom(), pos).isNone();
+ }
+ );
};
const isAtStartOfBlock = Fun.curry(isAtBlockBoundary, false);
diff --git a/tools-ng/tinymce/editor/src/core/main/ts/caret/CaretBr.ts b/tools-ng/tinymce/src/core/main/ts/caret/CaretBr.ts
similarity index 83%
rename from tools-ng/tinymce/editor/src/core/main/ts/caret/CaretBr.ts
rename to tools-ng/tinymce/src/core/main/ts/caret/CaretBr.ts
index 52baeb843..9167c838a 100644
--- a/tools-ng/tinymce/editor/src/core/main/ts/caret/CaretBr.ts
+++ b/tools-ng/tinymce/src/core/main/ts/caret/CaretBr.ts
@@ -1,11 +1,8 @@
/**
- * CaretBr.ts
- *
- * Released under LGPL License.
- * Copyright (c) 1999-2018 Ephox Corp. All rights reserved
- *
- * License: http://www.tinymce.com/license
- * Contributing: http://www.tinymce.com/contributing
+ * Copyright (c) Tiny Technologies, Inc. All rights reserved.
+ * Licensed under the LGPL or a commercial license.
+ * For LGPL see License.txt in the project root for license information.
+ * For commercial licenses see https://www.tiny.cloud/
*/
import { Element } from '@ephox/sugar';
diff --git a/tools-ng/tinymce/editor/src/core/main/ts/caret/CaretCandidate.ts b/tools-ng/tinymce/src/core/main/ts/caret/CaretCandidate.ts
similarity index 86%
rename from tools-ng/tinymce/editor/src/core/main/ts/caret/CaretCandidate.ts
rename to tools-ng/tinymce/src/core/main/ts/caret/CaretCandidate.ts
index 8f9354efa..f5fc3e1c4 100644
--- a/tools-ng/tinymce/editor/src/core/main/ts/caret/CaretCandidate.ts
+++ b/tools-ng/tinymce/src/core/main/ts/caret/CaretCandidate.ts
@@ -1,17 +1,14 @@
/**
- * CaretCandidate.js
- *
- * Released under LGPL License.
- * Copyright (c) 1999-2017 Ephox Corp. All rights reserved
- *
- * License: http://www.tinymce.com/license
- * Contributing: http://www.tinymce.com/contributing
+ * Copyright (c) Tiny Technologies, Inc. All rights reserved.
+ * Licensed under the LGPL or a commercial license.
+ * For LGPL see License.txt in the project root for license information.
+ * For commercial licenses see https://www.tiny.cloud/
*/
import NodeType from '../dom/NodeType';
-import Arr from '../util/Arr';
import * as CaretContainer from './CaretContainer';
import { Node, HTMLElement } from '@ephox/dom-globals';
+import { Arr } from '@ephox/katamari';
/**
* This module contains logic for handling caret candidates. A caret candidate is
@@ -70,7 +67,7 @@ const isAtomicContentEditableFalse = (node: Node): boolean => {
return false;
}
- return Arr.reduce(node.getElementsByTagName('*'), function (result, elm) {
+ return Arr.foldl(Arr.from(node.getElementsByTagName('*')), function (result, elm) {
return result || isContentEditableTrue(elm);
}, false) !== true;
};
diff --git a/tools-ng/tinymce/editor/src/core/main/ts/caret/CaretContainer.ts b/tools-ng/tinymce/src/core/main/ts/caret/CaretContainer.ts
similarity index 85%
rename from tools-ng/tinymce/editor/src/core/main/ts/caret/CaretContainer.ts
rename to tools-ng/tinymce/src/core/main/ts/caret/CaretContainer.ts
index 3f853b12b..c3ed02e23 100644
--- a/tools-ng/tinymce/editor/src/core/main/ts/caret/CaretContainer.ts
+++ b/tools-ng/tinymce/src/core/main/ts/caret/CaretContainer.ts
@@ -1,11 +1,8 @@
/**
- * CaretContainer.js
- *
- * Released under LGPL License.
- * Copyright (c) 1999-2017 Ephox Corp. All rights reserved
- *
- * License: http://www.tinymce.com/license
- * Contributing: http://www.tinymce.com/contributing
+ * Copyright (c) Tiny Technologies, Inc. All rights reserved.
+ * Licensed under the LGPL or a commercial license.
+ * For LGPL see License.txt in the project root for license information.
+ * For commercial licenses see https://www.tiny.cloud/
*/
import NodeType from '../dom/NodeType';
@@ -105,12 +102,22 @@ const appendInline = (node: Node): Node => {
const isBeforeInline = (pos: CaretPosition): boolean => {
const container = pos.container();
- return pos && NodeType.isText(container) && container.data.charAt(pos.offset()) === Zwsp.ZWSP;
+ if (!pos || !NodeType.isText(container)) {
+ return false;
+ }
+
+ // The text nodes may not be normalized, so check the current node and the previous one
+ return container.data.charAt(pos.offset()) === Zwsp.ZWSP || pos.isAtStart() && isCaretContainerInline(container.previousSibling);
};
const isAfterInline = (pos: CaretPosition): boolean => {
const container = pos.container();
- return pos && NodeType.isText(container) && container.data.charAt(pos.offset() - 1) === Zwsp.ZWSP;
+ if (!pos || !NodeType.isText(container)) {
+ return false;
+ }
+
+ // The text nodes may not be normalized, so check the current node and the next one
+ return container.data.charAt(pos.offset() - 1) === Zwsp.ZWSP || pos.isAtEnd() && isCaretContainerInline(container.nextSibling);
};
const createBogusBr = (): Element => {
diff --git a/tools-ng/tinymce/editor/src/core/main/ts/caret/CaretContainerInline.ts b/tools-ng/tinymce/src/core/main/ts/caret/CaretContainerInline.ts
similarity index 89%
rename from tools-ng/tinymce/editor/src/core/main/ts/caret/CaretContainerInline.ts
rename to tools-ng/tinymce/src/core/main/ts/caret/CaretContainerInline.ts
index a137fcc52..0da144cdd 100644
--- a/tools-ng/tinymce/editor/src/core/main/ts/caret/CaretContainerInline.ts
+++ b/tools-ng/tinymce/src/core/main/ts/caret/CaretContainerInline.ts
@@ -1,11 +1,8 @@
/**
- * CaretContainerInline.js
- *
- * Released under LGPL License.
- * Copyright (c) 1999-2017 Ephox Corp. All rights reserved
- *
- * License: http://www.tinymce.com/license
- * Contributing: http://www.tinymce.com/contributing
+ * Copyright (c) Tiny Technologies, Inc. All rights reserved.
+ * Licensed under the LGPL or a commercial license.
+ * For LGPL see License.txt in the project root for license information.
+ * For commercial licenses see https://www.tiny.cloud/
*/
import { Fun } from '@ephox/katamari';
diff --git a/tools-ng/tinymce/editor/src/core/main/ts/caret/CaretContainerInput.ts b/tools-ng/tinymce/src/core/main/ts/caret/CaretContainerInput.ts
similarity index 87%
rename from tools-ng/tinymce/editor/src/core/main/ts/caret/CaretContainerInput.ts
rename to tools-ng/tinymce/src/core/main/ts/caret/CaretContainerInput.ts
index 7e4604c2e..bcc718ec7 100644
--- a/tools-ng/tinymce/editor/src/core/main/ts/caret/CaretContainerInput.ts
+++ b/tools-ng/tinymce/src/core/main/ts/caret/CaretContainerInput.ts
@@ -1,11 +1,8 @@
/**
- * CaretContainerInput.js
- *
- * Released under LGPL License.
- * Copyright (c) 1999-2017 Ephox Corp. All rights reserved
- *
- * License: http://www.tinymce.com/license
- * Contributing: http://www.tinymce.com/contributing
+ * Copyright (c) Tiny Technologies, Inc. All rights reserved.
+ * Licensed under the LGPL or a commercial license.
+ * For LGPL see License.txt in the project root for license information.
+ * For commercial licenses see https://www.tiny.cloud/
*/
import { Fun } from '@ephox/katamari';
diff --git a/tools-ng/tinymce/editor/src/core/main/ts/caret/CaretContainerRemove.ts b/tools-ng/tinymce/src/core/main/ts/caret/CaretContainerRemove.ts
similarity index 92%
rename from tools-ng/tinymce/editor/src/core/main/ts/caret/CaretContainerRemove.ts
rename to tools-ng/tinymce/src/core/main/ts/caret/CaretContainerRemove.ts
index c873a1e85..76a728656 100644
--- a/tools-ng/tinymce/editor/src/core/main/ts/caret/CaretContainerRemove.ts
+++ b/tools-ng/tinymce/src/core/main/ts/caret/CaretContainerRemove.ts
@@ -1,11 +1,8 @@
/**
- * CaretContainerRemove.js
- *
- * Released under LGPL License.
- * Copyright (c) 1999-2017 Ephox Corp. All rights reserved
- *
- * License: http://www.tinymce.com/license
- * Contributing: http://www.tinymce.com/contributing
+ * Copyright (c) Tiny Technologies, Inc. All rights reserved.
+ * Licensed under the LGPL or a commercial license.
+ * For LGPL see License.txt in the project root for license information.
+ * For commercial licenses see https://www.tiny.cloud/
*/
import { Arr } from '@ephox/katamari';
diff --git a/tools-ng/tinymce/editor/src/core/main/ts/caret/CaretFinder.ts b/tools-ng/tinymce/src/core/main/ts/caret/CaretFinder.ts
similarity index 93%
rename from tools-ng/tinymce/editor/src/core/main/ts/caret/CaretFinder.ts
rename to tools-ng/tinymce/src/core/main/ts/caret/CaretFinder.ts
index 7030c48bc..3c44b147a 100644
--- a/tools-ng/tinymce/editor/src/core/main/ts/caret/CaretFinder.ts
+++ b/tools-ng/tinymce/src/core/main/ts/caret/CaretFinder.ts
@@ -1,11 +1,8 @@
/**
- * CaretFinder.ts
- *
- * Released under LGPL License.
- * Copyright (c) 1999-2018 Ephox Corp. All rights reserved
- *
- * License: http://www.tinymce.com/license
- * Contributing: http://www.tinymce.com/contributing
+ * Copyright (c) Tiny Technologies, Inc. All rights reserved.
+ * Licensed under the LGPL or a commercial license.
+ * For LGPL see License.txt in the project root for license information.
+ * For commercial licenses see https://www.tiny.cloud/
*/
import { Fun, Option } from '@ephox/katamari';
diff --git a/tools-ng/tinymce/editor/src/core/main/ts/caret/CaretPosition.ts b/tools-ng/tinymce/src/core/main/ts/caret/CaretPosition.ts
similarity index 96%
rename from tools-ng/tinymce/editor/src/core/main/ts/caret/CaretPosition.ts
rename to tools-ng/tinymce/src/core/main/ts/caret/CaretPosition.ts
index b1272413e..269908e34 100644
--- a/tools-ng/tinymce/editor/src/core/main/ts/caret/CaretPosition.ts
+++ b/tools-ng/tinymce/src/core/main/ts/caret/CaretPosition.ts
@@ -1,11 +1,8 @@
/**
- * CaretPosition.js
- *
- * Released under LGPL License.
- * Copyright (c) 1999-2017 Ephox Corp. All rights reserved
- *
- * License: http://www.tinymce.com/license
- * Contributing: http://www.tinymce.com/contributing
+ * Copyright (c) Tiny Technologies, Inc. All rights reserved.
+ * Licensed under the LGPL or a commercial license.
+ * For LGPL see License.txt in the project root for license information.
+ * For commercial licenses see https://www.tiny.cloud/
*/
import * as CaretCandidate from './CaretCandidate';
@@ -14,9 +11,9 @@ import NodeType from '../dom/NodeType';
import * as GeomClientRect from '../geom/ClientRect';
import * as RangeNodes from '../selection/RangeNodes';
import * as ExtendingChar from '../text/ExtendingChar';
-import Fun from '../util/Fun';
-import { Arr, Options } from '@ephox/katamari';
+import { Arr, Options, Fun } from '@ephox/katamari';
import { Document, Range, Element, ClientRect, Node } from '@ephox/dom-globals';
+import Predicate from '../util/Predicate';
/**
* This module contains logic for creating caret positions within a document a caretposition
@@ -34,8 +31,8 @@ const isElement = NodeType.isElement;
const isCaretCandidate = CaretCandidate.isCaretCandidate;
const isBlock = NodeType.matchStyleValues('display', 'block table');
const isFloated = NodeType.matchStyleValues('float', 'left right');
-const isValidElementCaretCandidate = Fun.and(isElement, isCaretCandidate, Fun.negate(isFloated));
-const isNotPre = Fun.negate(NodeType.matchStyleValues('white-space', 'pre pre-line pre-wrap'));
+const isValidElementCaretCandidate = Predicate.and(isElement, isCaretCandidate, Fun.not(isFloated));
+const isNotPre = Fun.not(NodeType.matchStyleValues('white-space', 'pre pre-line pre-wrap'));
const isText = NodeType.isText;
const isBr = NodeType.isBr;
const nodeIndex = DOMUtils.nodeIndex;
diff --git a/tools-ng/tinymce/editor/src/core/main/ts/caret/CaretUtils.ts b/tools-ng/tinymce/src/core/main/ts/caret/CaretUtils.ts
similarity index 91%
rename from tools-ng/tinymce/editor/src/core/main/ts/caret/CaretUtils.ts
rename to tools-ng/tinymce/src/core/main/ts/caret/CaretUtils.ts
index b4b33fd58..2c6b870da 100644
--- a/tools-ng/tinymce/editor/src/core/main/ts/caret/CaretUtils.ts
+++ b/tools-ng/tinymce/src/core/main/ts/caret/CaretUtils.ts
@@ -1,11 +1,8 @@
/**
- * CaretUtils.ts
- *
- * Released under LGPL License.
- * Copyright (c) 1999-2018 Ephox Corp. All rights reserved
- *
- * License: http://www.tinymce.com/license
- * Contributing: http://www.tinymce.com/contributing
+ * Copyright (c) Tiny Technologies, Inc. All rights reserved.
+ * Licensed under the LGPL or a commercial license.
+ * For LGPL see License.txt in the project root for license information.
+ * For commercial licenses see https://www.tiny.cloud/
*/
import TreeWalker from '../api/dom/TreeWalker';
@@ -328,6 +325,27 @@ const isAfterSpace = Fun.curry(isChar, false, isWhiteSpace);
const getElementFromPosition = (pos: CaretPosition): Option => Option.from(pos.getNode()).map(Element.fromDom);
const getElementFromPrevPosition = (pos: CaretPosition): Option => Option.from(pos.getNode(true)).map(Element.fromDom);
+const getVisualCaretPosition = (walkFn, caretPosition: CaretPosition): CaretPosition => {
+ while ((caretPosition = walkFn(caretPosition))) {
+ if (caretPosition.isVisible()) {
+ return caretPosition;
+ }
+ }
+
+ return caretPosition;
+};
+
+const isMoveInsideSameBlock = (from: CaretPosition, to: CaretPosition): boolean => {
+ const inSameBlock = isInSameBlock(from, to);
+
+ // Handle bogus BR abc|
+ if (!inSameBlock && NodeType.isBr(from.getNode())) {
+ return true;
+ }
+
+ return inSameBlock;
+};
+
export {
isForwards,
isBackwards,
@@ -336,6 +354,7 @@ export {
getParentBlock,
isInSameBlock,
isInSameEditingHost,
+ isMoveInsideSameBlock,
isBeforeContentEditableFalse,
isAfterContentEditableFalse,
isBeforeTable,
@@ -346,5 +365,6 @@ export {
getRelativeCefElm,
getNormalizedRangeEndPoint,
getElementFromPosition,
- getElementFromPrevPosition
+ getElementFromPrevPosition,
+ getVisualCaretPosition
};
\ No newline at end of file
diff --git a/tools-ng/tinymce/editor/src/core/main/ts/caret/CaretWalker.ts b/tools-ng/tinymce/src/core/main/ts/caret/CaretWalker.ts
similarity index 80%
rename from tools-ng/tinymce/editor/src/core/main/ts/caret/CaretWalker.ts
rename to tools-ng/tinymce/src/core/main/ts/caret/CaretWalker.ts
index 0bf32436e..b43255e5d 100644
--- a/tools-ng/tinymce/editor/src/core/main/ts/caret/CaretWalker.ts
+++ b/tools-ng/tinymce/src/core/main/ts/caret/CaretWalker.ts
@@ -1,20 +1,17 @@
/**
- * CaretWalker.js
- *
- * Released under LGPL License.
- * Copyright (c) 1999-2017 Ephox Corp. All rights reserved
- *
- * License: http://www.tinymce.com/license
- * Contributing: http://www.tinymce.com/contributing
+ * Copyright (c) Tiny Technologies, Inc. All rights reserved.
+ * Licensed under the LGPL or a commercial license.
+ * For LGPL see License.txt in the project root for license information.
+ * For commercial licenses see https://www.tiny.cloud/
*/
import NodeType from '../dom/NodeType';
import * as CaretCandidate from './CaretCandidate';
import CaretPosition from './CaretPosition';
-import { isBackwards, isForwards, isInSameBlock, findNode } from './CaretUtils';
-import Arr from '../util/Arr';
-import Fun from '../util/Fun';
-import { Node } from '@ephox/dom-globals';
+import { isBackwards, isForwards, findNode } from './CaretUtils';
+import { Node, Element } from '@ephox/dom-globals';
+import { Fun, Arr } from '@ephox/katamari';
+import ArrUtils from '../util/ArrUtils';
export interface CaretWalker {
next(caretPosition: CaretPosition): CaretPosition;
@@ -100,25 +97,18 @@ const getCaretCandidatePosition = (direction: HDirection, node: Node): CaretPosi
return CaretPosition.before(node);
};
-// Jumps over BR elements |
a
->
|a
-const isBrBeforeBlock = (node: Node, root: Node): boolean => {
- let next;
+const moveForwardFromBr = (root: Element, nextNode: Node) => {
+ const nextSibling = nextNode.nextSibling;
- if (!NodeType.isBr(node)) {
- return false;
+ if (nextSibling && isCaretCandidate(nextSibling)) {
+ if (isText(nextSibling)) {
+ return CaretPosition(nextSibling, 0);
+ } else {
+ return CaretPosition.before(nextSibling);
+ }
+ } else {
+ return findCaretPosition(HDirection.Forwards, CaretPosition.after(nextNode), root);
}
-
- // Handles the case a|b
-> a |b
- if (CaretCandidate.isAtomic(node.nextSibling)) {
- return false;
- }
-
- next = findCaretPosition(HDirection.Forwards, CaretPosition.after(node), root);
- if (!next) {
- return false;
- }
-
- return !isInSameBlock(CaretPosition.before(node), CaretPosition.before(next), root);
};
const findCaretPosition = (direction: HDirection, startPos: CaretPosition, root: Node): CaretPosition => {
@@ -177,12 +167,8 @@ const findCaretPosition = (direction: HDirection, startPos: CaretPosition, root:
if (isForwards(direction) && offset < container.childNodes.length) {
nextNode = nodeAtIndex(container, offset);
if (isCaretCandidate(nextNode)) {
- if (isBr(nextNode) && root.lastChild === nextNode) {
- return null;
- }
-
- if (isBrBeforeBlock(nextNode, root)) {
- return findCaretPosition(direction, CaretPosition.after(nextNode), root);
+ if (isBr(nextNode)) {
+ return moveForwardFromBr(root, nextNode);
}
if (!isAtomic(nextNode)) {
@@ -216,7 +202,7 @@ const findCaretPosition = (direction: HDirection, startPos: CaretPosition, root:
nextNode = findNode(node, direction, isEditableCaretCandidate, root);
- rootContentEditableFalseElm = Arr.last(Arr.filter(getParents(container, root), isContentEditableFalse));
+ rootContentEditableFalseElm = ArrUtils.last(Arr.filter(getParents(container, root), isContentEditableFalse));
if (rootContentEditableFalseElm && (!nextNode || !rootContentEditableFalseElm.contains(nextNode))) {
if (isForwards(direction)) {
caretPosition = CaretPosition.after(rootContentEditableFalseElm);
@@ -237,8 +223,8 @@ const findCaretPosition = (direction: HDirection, startPos: CaretPosition, root:
export const CaretWalker = (root: Node): CaretWalker => {
return {
/**
- * Returns the next logical caret position from the specificed input
- * caretPoisiton or null if there isn't any more positions left for example
+ * Returns the next logical caret position from the specified input
+ * caretPosition or null if there isn't any more positions left for example
* at the end specified root element.
*
* @method next
@@ -250,8 +236,8 @@ export const CaretWalker = (root: Node): CaretWalker => {
},
/**
- * Returns the previous logical caret position from the specificed input
- * caretPoisiton or null if there isn't any more positions left for example
+ * Returns the previous logical caret position from the specified input
+ * caretPosition or null if there isn't any more positions left for example
* at the end specified root element.
*
* @method prev
diff --git a/tools-ng/tinymce/editor/src/core/main/ts/caret/FakeCaret.ts b/tools-ng/tinymce/src/core/main/ts/caret/FakeCaret.ts
similarity index 96%
rename from tools-ng/tinymce/editor/src/core/main/ts/caret/FakeCaret.ts
rename to tools-ng/tinymce/src/core/main/ts/caret/FakeCaret.ts
index d3a301cb9..bfae6dd87 100644
--- a/tools-ng/tinymce/editor/src/core/main/ts/caret/FakeCaret.ts
+++ b/tools-ng/tinymce/src/core/main/ts/caret/FakeCaret.ts
@@ -1,11 +1,8 @@
/**
- * FakeCaret.js
- *
- * Released under LGPL License.
- * Copyright (c) 1999-2017 Ephox Corp. All rights reserved
- *
- * License: http://www.tinymce.com/license
- * Contributing: http://www.tinymce.com/contributing
+ * Copyright (c) Tiny Technologies, Inc. All rights reserved.
+ * Licensed under the LGPL or a commercial license.
+ * For LGPL see License.txt in the project root for license information.
+ * For commercial licenses see https://www.tiny.cloud/
*/
import * as CaretContainer from './CaretContainer';
diff --git a/tools-ng/tinymce/editor/src/core/main/ts/caret/InsertText.ts b/tools-ng/tinymce/src/core/main/ts/caret/InsertText.ts
similarity index 82%
rename from tools-ng/tinymce/editor/src/core/main/ts/caret/InsertText.ts
rename to tools-ng/tinymce/src/core/main/ts/caret/InsertText.ts
index 23b9a37d0..f3007da8a 100644
--- a/tools-ng/tinymce/editor/src/core/main/ts/caret/InsertText.ts
+++ b/tools-ng/tinymce/src/core/main/ts/caret/InsertText.ts
@@ -1,11 +1,8 @@
/**
- * InsertText.ts
- *
- * Released under LGPL License.
- * Copyright (c) 1999-2018 Ephox Corp. All rights reserved
- *
- * License: http://www.tinymce.com/license
- * Contributing: http://www.tinymce.com/contributing
+ * Copyright (c) Tiny Technologies, Inc. All rights reserved.
+ * Licensed under the LGPL or a commercial license.
+ * For LGPL see License.txt in the project root for license information.
+ * For commercial licenses see https://www.tiny.cloud/
*/
import { getElementFromPosition } from '../caret/CaretUtils';
diff --git a/tools-ng/tinymce/editor/src/core/main/ts/caret/LineReader.ts b/tools-ng/tinymce/src/core/main/ts/caret/LineReader.ts
similarity index 96%
rename from tools-ng/tinymce/editor/src/core/main/ts/caret/LineReader.ts
rename to tools-ng/tinymce/src/core/main/ts/caret/LineReader.ts
index aec9ee7f1..4929298f3 100644
--- a/tools-ng/tinymce/editor/src/core/main/ts/caret/LineReader.ts
+++ b/tools-ng/tinymce/src/core/main/ts/caret/LineReader.ts
@@ -1,11 +1,8 @@
/**
- * LineReader.ts
- *
- * Released under LGPL License.
- * Copyright (c) 1999-2018 Ephox Corp. All rights reserved
- *
- * License: http://www.tinymce.com/license
- * Contributing: http://www.tinymce.com/contributing
+ * Copyright (c) Tiny Technologies, Inc. All rights reserved.
+ * Licensed under the LGPL or a commercial license.
+ * For LGPL see License.txt in the project root for license information.
+ * For commercial licenses see https://www.tiny.cloud/
*/
import { CaretPosition } from './CaretPosition';
diff --git a/tools-ng/tinymce/editor/src/core/main/ts/caret/LineUtils.ts b/tools-ng/tinymce/src/core/main/ts/caret/LineUtils.ts
similarity index 88%
rename from tools-ng/tinymce/editor/src/core/main/ts/caret/LineUtils.ts
rename to tools-ng/tinymce/src/core/main/ts/caret/LineUtils.ts
index eaf9b2616..ba09fa2e6 100644
--- a/tools-ng/tinymce/editor/src/core/main/ts/caret/LineUtils.ts
+++ b/tools-ng/tinymce/src/core/main/ts/caret/LineUtils.ts
@@ -1,20 +1,17 @@
/**
- * LineUtils.js
- *
- * Released under LGPL License.
- * Copyright (c) 1999-2017 Ephox Corp. All rights reserved
- *
- * License: http://www.tinymce.com/license
- * Contributing: http://www.tinymce.com/contributing
+ * Copyright (c) Tiny Technologies, Inc. All rights reserved.
+ * Licensed under the LGPL or a commercial license.
+ * For LGPL see License.txt in the project root for license information.
+ * For commercial licenses see https://www.tiny.cloud/
*/
-import Arr from '../util/Arr';
+import ArrUtils from '../util/ArrUtils';
import NodeType from '../dom/NodeType';
import { NodeClientRect, getClientRects } from '../dom/Dimensions';
import * as GeomClientRect from '../geom/ClientRect';
import * as CaretUtils from './CaretUtils';
import * as CaretCandidate from './CaretCandidate';
-import { Fun } from '@ephox/katamari';
+import { Fun, Arr } from '@ephox/katamari';
import { ClientRectLine, VDirection } from 'tinymce/core/caret/LineWalker';
import { isFakeCaretTarget } from 'tinymce/core/caret/FakeCaret';
import { Node, ClientRect, HTMLElement } from '@ephox/dom-globals';
@@ -31,7 +28,7 @@ const distanceToRectRight = (clientRect: NodeClientRect, clientX: number) => Mat
const isInside = (clientX: number, clientRect: ClientRect): boolean => clientX >= clientRect.left && clientX <= clientRect.right;
const findClosestClientRect = (clientRects: ClientRect[], clientX: number): NodeClientRect => {
- return Arr.reduce(clientRects, (oldClientRect, clientRect) => {
+ return ArrUtils.reduce(clientRects, (oldClientRect, clientRect) => {
let oldDistance, newDistance;
oldDistance = Math.min(distanceToRectLeft(oldClientRect, clientX), distanceToRectRight(oldClientRect, clientX));
@@ -89,7 +86,7 @@ const findLineNodeRects = (root: Node, targetNodeRect: NodeClientRect): ClientRe
};
const getFakeCaretTargets = (root: HTMLElement): HTMLElement[] => {
- return Arr.filter(Arr.toArray(root.getElementsByTagName('*')), isFakeCaretTarget);
+ return Arr.filter(Arr.from(root.getElementsByTagName('*')), isFakeCaretTarget) as HTMLElement[];
};
const caretInfo = (clientRect: NodeClientRect, clientX: number): CaretInfo => {
diff --git a/tools-ng/tinymce/editor/src/core/main/ts/caret/LineWalker.ts b/tools-ng/tinymce/src/core/main/ts/caret/LineWalker.ts
similarity index 86%
rename from tools-ng/tinymce/editor/src/core/main/ts/caret/LineWalker.ts
rename to tools-ng/tinymce/src/core/main/ts/caret/LineWalker.ts
index 880c15276..534936b39 100644
--- a/tools-ng/tinymce/editor/src/core/main/ts/caret/LineWalker.ts
+++ b/tools-ng/tinymce/src/core/main/ts/caret/LineWalker.ts
@@ -1,14 +1,11 @@
/**
- * LineWalker.js
- *
- * Released under LGPL License.
- * Copyright (c) 1999-2017 Ephox Corp. All rights reserved
- *
- * License: http://www.tinymce.com/license
- * Contributing: http://www.tinymce.com/contributing
+ * Copyright (c) Tiny Technologies, Inc. All rights reserved.
+ * Licensed under the LGPL or a commercial license.
+ * For LGPL see License.txt in the project root for license information.
+ * For commercial licenses see https://www.tiny.cloud/
*/
-import Arr from '../util/Arr';
+import ArrUtils from '../util/ArrUtils';
import * as Dimensions from '../dom/Dimensions';
import * as CaretCandidate from './CaretCandidate';
import * as CaretUtils from './CaretUtils';
@@ -57,7 +54,7 @@ const walkUntil = (direction: VDirection, isAboveFn: PosPredicate, isBeflowFn: P
continue;
}
- if (result.length > 0 && isAboveFn(clientRect, Arr.last(result))) {
+ if (result.length > 0 && isAboveFn(clientRect, ArrUtils.last(result))) {
line++;
}
@@ -71,7 +68,7 @@ const walkUntil = (direction: VDirection, isAboveFn: PosPredicate, isBeflowFn: P
}
};
- targetClientRect = Arr.last(caretPosition.getClientRects());
+ targetClientRect = ArrUtils.last(caretPosition.getClientRects());
if (!targetClientRect) {
return result;
}
@@ -97,10 +94,10 @@ const positionsUntil = (direction: VDirection, root: Node, predicateFn: RectPred
const getClientRect = function (caretPosition) {
if (direction === 1) {
- return Arr.last(caretPosition.getClientRects());
+ return ArrUtils.last(caretPosition.getClientRects());
}
- return Arr.last(caretPosition.getClientRects());
+ return ArrUtils.last(caretPosition.getClientRects());
};
if (direction === 1) {
@@ -128,7 +125,7 @@ const positionsUntil = (direction: VDirection, root: Node, predicateFn: RectPred
continue;
}
- if (result.length > 0 && isBelowFn(clientRect, Arr.last(result))) {
+ if (result.length > 0 && isBelowFn(clientRect, ArrUtils.last(result))) {
line++;
}
diff --git a/tools-ng/tinymce/editor/src/core/main/ts/caret/TableCells.ts b/tools-ng/tinymce/src/core/main/ts/caret/TableCells.ts
similarity index 93%
rename from tools-ng/tinymce/editor/src/core/main/ts/caret/TableCells.ts
rename to tools-ng/tinymce/src/core/main/ts/caret/TableCells.ts
index b7e42cb0e..e360644d1 100644
--- a/tools-ng/tinymce/editor/src/core/main/ts/caret/TableCells.ts
+++ b/tools-ng/tinymce/src/core/main/ts/caret/TableCells.ts
@@ -1,11 +1,8 @@
/**
- * TableCells.ts
- *
- * Released under LGPL License.
- * Copyright (c) 1999-2018 Ephox Corp. All rights reserved
- *
- * License: http://www.tinymce.com/license
- * Contributing: http://www.tinymce.com/contributing
+ * Copyright (c) Tiny Technologies, Inc. All rights reserved.
+ * Licensed under the LGPL or a commercial license.
+ * For LGPL see License.txt in the project root for license information.
+ * For commercial licenses see https://www.tiny.cloud/
*/
import { Element, SelectorFilter } from '@ephox/sugar';
diff --git a/tools-ng/tinymce/editor/src/core/main/ts/commands/FontCommands.ts b/tools-ng/tinymce/src/core/main/ts/commands/FontCommands.ts
similarity index 91%
rename from tools-ng/tinymce/editor/src/core/main/ts/commands/FontCommands.ts
rename to tools-ng/tinymce/src/core/main/ts/commands/FontCommands.ts
index 0deeaa3f9..9c64ef526 100644
--- a/tools-ng/tinymce/editor/src/core/main/ts/commands/FontCommands.ts
+++ b/tools-ng/tinymce/src/core/main/ts/commands/FontCommands.ts
@@ -1,11 +1,8 @@
/**
- * FontCommands.js
- *
- * Released under LGPL License.
- * Copyright (c) 1999-2016 Ephox Corp. All rights reserved
- *
- * License: http://www.tinymce.com/license
- * Contributing: http://www.tinymce.com/contributing
+ * Copyright (c) Tiny Technologies, Inc. All rights reserved.
+ * Licensed under the LGPL or a commercial license.
+ * For LGPL see License.txt in the project root for license information.
+ * For commercial licenses see https://www.tiny.cloud/
*/
import { Editor } from 'tinymce/core/api/Editor';
diff --git a/tools-ng/tinymce/editor/src/core/main/ts/commands/IndentOutdent.ts b/tools-ng/tinymce/src/core/main/ts/commands/IndentOutdent.ts
similarity index 89%
rename from tools-ng/tinymce/editor/src/core/main/ts/commands/IndentOutdent.ts
rename to tools-ng/tinymce/src/core/main/ts/commands/IndentOutdent.ts
index 9713c20cd..514621d18 100644
--- a/tools-ng/tinymce/editor/src/core/main/ts/commands/IndentOutdent.ts
+++ b/tools-ng/tinymce/src/core/main/ts/commands/IndentOutdent.ts
@@ -1,3 +1,10 @@
+/**
+ * Copyright (c) Tiny Technologies, Inc. All rights reserved.
+ * Licensed under the LGPL or a commercial license.
+ * For LGPL see License.txt in the project root for license information.
+ * For commercial licenses see https://www.tiny.cloud/
+ */
+
import { Editor } from 'tinymce/core/api/Editor';
import { Arr } from '@ephox/katamari';
import { HTMLElement } from '@ephox/dom-globals';
diff --git a/tools-ng/tinymce/editor/src/core/main/ts/content/EditorContent.ts b/tools-ng/tinymce/src/core/main/ts/content/EditorContent.ts
similarity index 54%
rename from tools-ng/tinymce/editor/src/core/main/ts/content/EditorContent.ts
rename to tools-ng/tinymce/src/core/main/ts/content/EditorContent.ts
index c2524e353..464d73c61 100644
--- a/tools-ng/tinymce/editor/src/core/main/ts/content/EditorContent.ts
+++ b/tools-ng/tinymce/src/core/main/ts/content/EditorContent.ts
@@ -1,11 +1,8 @@
/**
- * EditorContent.ts
- *
- * Released under LGPL License.
- * Copyright (c) 1999-2018 Ephox Corp. All rights reserved
- *
- * License: http://www.tinymce.com/license
- * Contributing: http://www.tinymce.com/contributing
+ * Copyright (c) Tiny Technologies, Inc. All rights reserved.
+ * Licensed under the LGPL or a commercial license.
+ * For LGPL see License.txt in the project root for license information.
+ * For commercial licenses see https://www.tiny.cloud/
*/
import { getContent, GetContentArgs } from './GetContent';
diff --git a/tools-ng/tinymce/editor/src/core/main/ts/content/GetContent.ts b/tools-ng/tinymce/src/core/main/ts/content/GetContent.ts
similarity index 90%
rename from tools-ng/tinymce/editor/src/core/main/ts/content/GetContent.ts
rename to tools-ng/tinymce/src/core/main/ts/content/GetContent.ts
index e7a026921..39808f201 100644
--- a/tools-ng/tinymce/editor/src/core/main/ts/content/GetContent.ts
+++ b/tools-ng/tinymce/src/core/main/ts/content/GetContent.ts
@@ -1,11 +1,8 @@
/**
- * GetContent.ts
- *
- * Released under LGPL License.
- * Copyright (c) 1999-2018 Ephox Corp. All rights reserved
- *
- * License: http://www.tinymce.com/license
- * Contributing: http://www.tinymce.com/contributing
+ * Copyright (c) Tiny Technologies, Inc. All rights reserved.
+ * Licensed under the LGPL or a commercial license.
+ * For LGPL see License.txt in the project root for license information.
+ * For commercial licenses see https://www.tiny.cloud/
*/
import { Editor } from 'tinymce/core/api/Editor';
diff --git a/tools-ng/tinymce/editor/src/core/main/ts/content/InsertContent.ts b/tools-ng/tinymce/src/core/main/ts/content/InsertContent.ts
similarity index 97%
rename from tools-ng/tinymce/editor/src/core/main/ts/content/InsertContent.ts
rename to tools-ng/tinymce/src/core/main/ts/content/InsertContent.ts
index 9e02fa5b1..d9a9214cc 100644
--- a/tools-ng/tinymce/editor/src/core/main/ts/content/InsertContent.ts
+++ b/tools-ng/tinymce/src/core/main/ts/content/InsertContent.ts
@@ -1,11 +1,8 @@
/**
- * InsertContent.js
- *
- * Released under LGPL License.
- * Copyright (c) 1999-2017 Ephox Corp. All rights reserved
- *
- * License: http://www.tinymce.com/license
- * Contributing: http://www.tinymce.com/contributing
+ * Copyright (c) Tiny Technologies, Inc. All rights reserved.
+ * Licensed under the LGPL or a commercial license.
+ * For LGPL see License.txt in the project root for license information.
+ * For commercial licenses see https://www.tiny.cloud/
*/
import { Option } from '@ephox/katamari';
diff --git a/tools-ng/tinymce/editor/src/core/main/ts/content/InsertList.ts b/tools-ng/tinymce/src/core/main/ts/content/InsertList.ts
similarity index 95%
rename from tools-ng/tinymce/editor/src/core/main/ts/content/InsertList.ts
rename to tools-ng/tinymce/src/core/main/ts/content/InsertList.ts
index 0140fefc0..4a7f62dc8 100644
--- a/tools-ng/tinymce/editor/src/core/main/ts/content/InsertList.ts
+++ b/tools-ng/tinymce/src/core/main/ts/content/InsertList.ts
@@ -1,11 +1,8 @@
/**
- * InsertList.js
- *
- * Released under LGPL License.
- * Copyright (c) 1999-2017 Ephox Corp. All rights reserved
- *
- * License: http://www.tinymce.com/license
- * Contributing: http://www.tinymce.com/contributing
+ * Copyright (c) Tiny Technologies, Inc. All rights reserved.
+ * Licensed under the LGPL or a commercial license.
+ * For LGPL see License.txt in the project root for license information.
+ * For commercial licenses see https://www.tiny.cloud/
*/
import CaretPosition from '../caret/CaretPosition';
diff --git a/tools-ng/tinymce/editor/src/core/main/ts/content/NbspTrim.ts b/tools-ng/tinymce/src/core/main/ts/content/NbspTrim.ts
similarity index 87%
rename from tools-ng/tinymce/editor/src/core/main/ts/content/NbspTrim.ts
rename to tools-ng/tinymce/src/core/main/ts/content/NbspTrim.ts
index eeac5837b..889494f57 100644
--- a/tools-ng/tinymce/editor/src/core/main/ts/content/NbspTrim.ts
+++ b/tools-ng/tinymce/src/core/main/ts/content/NbspTrim.ts
@@ -1,3 +1,10 @@
+/**
+ * Copyright (c) Tiny Technologies, Inc. All rights reserved.
+ * Licensed under the LGPL or a commercial license.
+ * For LGPL see License.txt in the project root for license information.
+ * For commercial licenses see https://www.tiny.cloud/
+ */
+
import NodeType from 'tinymce/core/dom/NodeType';
import { Node, Range } from '@ephox/dom-globals';
diff --git a/tools-ng/tinymce/editor/src/core/main/ts/content/SetContent.ts b/tools-ng/tinymce/src/core/main/ts/content/SetContent.ts
similarity index 94%
rename from tools-ng/tinymce/editor/src/core/main/ts/content/SetContent.ts
rename to tools-ng/tinymce/src/core/main/ts/content/SetContent.ts
index e63d549f5..be8b46990 100644
--- a/tools-ng/tinymce/editor/src/core/main/ts/content/SetContent.ts
+++ b/tools-ng/tinymce/src/core/main/ts/content/SetContent.ts
@@ -1,11 +1,8 @@
/**
- * SetContent.ts
- *
- * Released under LGPL License.
- * Copyright (c) 1999-2018 Ephox Corp. All rights reserved
- *
- * License: http://www.tinymce.com/license
- * Contributing: http://www.tinymce.com/contributing
+ * Copyright (c) Tiny Technologies, Inc. All rights reserved.
+ * Licensed under the LGPL or a commercial license.
+ * For LGPL see License.txt in the project root for license information.
+ * For commercial licenses see https://www.tiny.cloud/
*/
import { Editor } from 'tinymce/core/api/Editor';
diff --git a/tools-ng/tinymce/editor/src/core/main/ts/delete/BlockBoundaryDelete.ts b/tools-ng/tinymce/src/core/main/ts/delete/BlockBoundaryDelete.ts
similarity index 73%
rename from tools-ng/tinymce/editor/src/core/main/ts/delete/BlockBoundaryDelete.ts
rename to tools-ng/tinymce/src/core/main/ts/delete/BlockBoundaryDelete.ts
index 0454c9edf..56c2fd0ec 100644
--- a/tools-ng/tinymce/editor/src/core/main/ts/delete/BlockBoundaryDelete.ts
+++ b/tools-ng/tinymce/src/core/main/ts/delete/BlockBoundaryDelete.ts
@@ -1,11 +1,8 @@
/**
- * BlockBoundaryDelete.ts
- *
- * Released under LGPL License.
- * Copyright (c) 1999-2018 Ephox Corp. All rights reserved
- *
- * License: http://www.tinymce.com/license
- * Contributing: http://www.tinymce.com/contributing
+ * Copyright (c) Tiny Technologies, Inc. All rights reserved.
+ * Licensed under the LGPL or a commercial license.
+ * For LGPL see License.txt in the project root for license information.
+ * For commercial licenses see https://www.tiny.cloud/
*/
import { Element } from '@ephox/sugar';
diff --git a/tools-ng/tinymce/editor/src/core/main/ts/delete/BlockMergeBoundary.ts b/tools-ng/tinymce/src/core/main/ts/delete/BlockMergeBoundary.ts
similarity index 92%
rename from tools-ng/tinymce/editor/src/core/main/ts/delete/BlockMergeBoundary.ts
rename to tools-ng/tinymce/src/core/main/ts/delete/BlockMergeBoundary.ts
index e40c21978..3c1ef51b5 100644
--- a/tools-ng/tinymce/editor/src/core/main/ts/delete/BlockMergeBoundary.ts
+++ b/tools-ng/tinymce/src/core/main/ts/delete/BlockMergeBoundary.ts
@@ -1,11 +1,8 @@
/**
- * BlockBoundary.js
- *
- * Released under LGPL License.
- * Copyright (c) 1999-2017 Ephox Corp. All rights reserved
- *
- * License: http://www.tinymce.com/license
- * Contributing: http://www.tinymce.com/contributing
+ * Copyright (c) Tiny Technologies, Inc. All rights reserved.
+ * Licensed under the LGPL or a commercial license.
+ * For LGPL see License.txt in the project root for license information.
+ * For commercial licenses see https://www.tiny.cloud/
*/
import { Option, Options, Struct } from '@ephox/katamari';
diff --git a/tools-ng/tinymce/editor/src/core/main/ts/delete/BlockRangeDelete.ts b/tools-ng/tinymce/src/core/main/ts/delete/BlockRangeDelete.ts
similarity index 90%
rename from tools-ng/tinymce/editor/src/core/main/ts/delete/BlockRangeDelete.ts
rename to tools-ng/tinymce/src/core/main/ts/delete/BlockRangeDelete.ts
index 97364406a..8d3bc175b 100644
--- a/tools-ng/tinymce/editor/src/core/main/ts/delete/BlockRangeDelete.ts
+++ b/tools-ng/tinymce/src/core/main/ts/delete/BlockRangeDelete.ts
@@ -1,11 +1,8 @@
/**
- * BlockRangeDelete.js
- *
- * Released under LGPL License.
- * Copyright (c) 1999-2017 Ephox Corp. All rights reserved
- *
- * License: http://www.tinymce.com/license
- * Contributing: http://www.tinymce.com/contributing
+ * Copyright (c) Tiny Technologies, Inc. All rights reserved.
+ * Licensed under the LGPL or a commercial license.
+ * For LGPL see License.txt in the project root for license information.
+ * For commercial licenses see https://www.tiny.cloud/
*/
import { Fun, Options } from '@ephox/katamari';
diff --git a/tools-ng/tinymce/src/core/main/ts/delete/CefBoundaryDelete.ts b/tools-ng/tinymce/src/core/main/ts/delete/CefBoundaryDelete.ts
new file mode 100644
index 000000000..accd667e4
--- /dev/null
+++ b/tools-ng/tinymce/src/core/main/ts/delete/CefBoundaryDelete.ts
@@ -0,0 +1,88 @@
+/**
+ * Copyright (c) Tiny Technologies, Inc. All rights reserved.
+ * Licensed under the LGPL or a commercial license.
+ * For LGPL see License.txt in the project root for license information.
+ * For commercial licenses see https://www.tiny.cloud/
+ */
+
+import { Element, Node, Range } from '@ephox/dom-globals';
+import { Fun } from '@ephox/katamari';
+import { Editor } from '../api/Editor';
+import { DOMUtils } from '../api/dom/DOMUtils';
+import CaretPosition from '../caret/CaretPosition';
+import * as CaretUtils from '../caret/CaretUtils';
+import { CaretWalker, HDirection } from '../caret/CaretWalker';
+import NodeType from '../dom/NodeType';
+import * as CefUtils from '../keyboard/CefUtils';
+import InlineUtils from 'tinymce/core/keyboard/InlineUtils';
+
+const isAfterContentEditableFalse = CaretUtils.isAfterContentEditableFalse;
+const isBeforeContentEditableFalse = CaretUtils.isBeforeContentEditableFalse;
+
+const trimEmptyTextNode = (dom: DOMUtils, node: Node) => {
+ if (NodeType.isText(node) && node.data.length === 0) {
+ dom.remove(node);
+ }
+};
+
+const deleteContentAndShowCaret = (editor: Editor, range: Range, node: Node, direction: HDirection, forward: boolean, peekCaretPosition: CaretPosition) => {
+ const caretRange = CefUtils.showCaret(direction, editor, peekCaretPosition.getNode(!forward) as Element, forward, true);
+ // Delete the selected content
+ if (range.collapsed) {
+ const deleteRange = range.cloneRange();
+ if (forward) {
+ deleteRange.setEnd(caretRange.startContainer, caretRange.startOffset);
+ } else {
+ deleteRange.setStart(caretRange.endContainer, caretRange.endOffset);
+ }
+ deleteRange.deleteContents();
+ } else {
+ range.deleteContents();
+ }
+ editor.selection.setRng(caretRange);
+ trimEmptyTextNode(editor.dom, node);
+ return true;
+};
+
+// If the caret position is next to a cef element after a delete operation, then ensure a caret is added eg. a|b -> |bc
+// Note: We also need to handle the actual deletion, as some browsers (eg IE) move the selection to the opposite side of the cef element
+const deleteCefBoundaryText = function (editor: Editor, forward: boolean) {
+ const range = editor.selection.getRng();
+ if (!NodeType.isText(range.commonAncestorContainer)) {
+ return false;
+ }
+
+ const direction = forward ? HDirection.Forwards : HDirection.Backwards;
+ const caretWalker = CaretWalker(editor.getBody());
+ const getNextVisualCaretPosition = Fun.curry(CaretUtils.getVisualCaretPosition, caretWalker.next);
+ const getPrevVisualCaretPosition = Fun.curry(CaretUtils.getVisualCaretPosition, caretWalker.prev);
+ const getNextPosFn = forward ? getNextVisualCaretPosition : getPrevVisualCaretPosition;
+ const isBeforeContentEditableFalseFn = forward ? isBeforeContentEditableFalse : isAfterContentEditableFalse;
+
+ // Get the next caret position. ie where it'll be after the delete
+ const caretPosition = CaretUtils.getNormalizedRangeEndPoint(direction, editor.getBody(), range);
+ const nextCaretPosition = InlineUtils.normalizePosition(forward, getNextPosFn(caretPosition));
+ if (!nextCaretPosition) {
+ return false;
+ } else if (isBeforeContentEditableFalseFn(nextCaretPosition)) {
+ return deleteContentAndShowCaret(editor, range, caretPosition.getNode(), direction, forward, nextCaretPosition);
+ }
+
+ // Peek ahead and see if the next element is a cef element
+ const peekCaretPosition = getNextPosFn(nextCaretPosition);
+ if (peekCaretPosition && isBeforeContentEditableFalseFn(peekCaretPosition)) {
+ if (CaretUtils.isMoveInsideSameBlock(nextCaretPosition, peekCaretPosition)) {
+ return deleteContentAndShowCaret(editor, range, caretPosition.getNode(), direction, forward, peekCaretPosition);
+ }
+ }
+
+ return false;
+};
+
+const backspaceDelete = function (editor: Editor, forward: boolean): boolean {
+ return deleteCefBoundaryText(editor, forward);
+};
+
+export default {
+ backspaceDelete
+};
\ No newline at end of file
diff --git a/tools-ng/tinymce/editor/src/core/main/ts/delete/CefDelete.ts b/tools-ng/tinymce/src/core/main/ts/delete/CefDelete.ts
similarity index 92%
rename from tools-ng/tinymce/editor/src/core/main/ts/delete/CefDelete.ts
rename to tools-ng/tinymce/src/core/main/ts/delete/CefDelete.ts
index ca9dce669..d8a5070e0 100644
--- a/tools-ng/tinymce/editor/src/core/main/ts/delete/CefDelete.ts
+++ b/tools-ng/tinymce/src/core/main/ts/delete/CefDelete.ts
@@ -1,11 +1,8 @@
/**
- * CefDelete.js
- *
- * Released under LGPL License.
- * Copyright (c) 1999-2017 Ephox Corp. All rights reserved
- *
- * License: http://www.tinymce.com/license
- * Contributing: http://www.tinymce.com/contributing
+ * Copyright (c) Tiny Technologies, Inc. All rights reserved.
+ * Licensed under the LGPL or a commercial license.
+ * For LGPL see License.txt in the project root for license information.
+ * For commercial licenses see https://www.tiny.cloud/
*/
import { Arr } from '@ephox/katamari';
diff --git a/tools-ng/tinymce/editor/src/core/main/ts/delete/CefDeleteAction.ts b/tools-ng/tinymce/src/core/main/ts/delete/CefDeleteAction.ts
similarity index 95%
rename from tools-ng/tinymce/editor/src/core/main/ts/delete/CefDeleteAction.ts
rename to tools-ng/tinymce/src/core/main/ts/delete/CefDeleteAction.ts
index 7a9d6c852..92b0b502a 100644
--- a/tools-ng/tinymce/editor/src/core/main/ts/delete/CefDeleteAction.ts
+++ b/tools-ng/tinymce/src/core/main/ts/delete/CefDeleteAction.ts
@@ -1,11 +1,8 @@
/**
- * CefDeleteAction.js
- *
- * Released under LGPL License.
- * Copyright (c) 1999-2017 Ephox Corp. All rights reserved
- *
- * License: http://www.tinymce.com/license
- * Contributing: http://www.tinymce.com/contributing
+ * Copyright (c) Tiny Technologies, Inc. All rights reserved.
+ * Licensed under the LGPL or a commercial license.
+ * For LGPL see License.txt in the project root for license information.
+ * For commercial licenses see https://www.tiny.cloud/
*/
import { Adt, Fun , Option } from '@ephox/katamari';
diff --git a/tools-ng/tinymce/editor/src/core/main/ts/delete/DeleteCommands.ts b/tools-ng/tinymce/src/core/main/ts/delete/DeleteCommands.ts
similarity index 68%
rename from tools-ng/tinymce/editor/src/core/main/ts/delete/DeleteCommands.ts
rename to tools-ng/tinymce/src/core/main/ts/delete/DeleteCommands.ts
index 686b5d6d3..7b8163489 100644
--- a/tools-ng/tinymce/editor/src/core/main/ts/delete/DeleteCommands.ts
+++ b/tools-ng/tinymce/src/core/main/ts/delete/DeleteCommands.ts
@@ -1,11 +1,8 @@
/**
- * Commands.js
- *
- * Released under LGPL License.
- * Copyright (c) 1999-2017 Ephox Corp. All rights reserved
- *
- * License: http://www.tinymce.com/license
- * Contributing: http://www.tinymce.com/contributing
+ * Copyright (c) Tiny Technologies, Inc. All rights reserved.
+ * Licensed under the LGPL or a commercial license.
+ * For LGPL see License.txt in the project root for license information.
+ * For commercial licenses see https://www.tiny.cloud/
*/
import BlockBoundaryDelete from './BlockBoundaryDelete';
@@ -14,6 +11,8 @@ import CefDelete from './CefDelete';
import DeleteUtils from './DeleteUtils';
import BoundaryDelete from './InlineBoundaryDelete';
import TableDelete from './TableDelete';
+import InlineFormatDelete from './InlineFormatDelete';
+import CefBoundaryDelete from './CefBoundaryDelete';
const nativeCommand = function (editor, command) {
editor.getDoc().execCommand(command, false, null);
@@ -22,6 +21,8 @@ const nativeCommand = function (editor, command) {
const deleteCommand = function (editor) {
if (CefDelete.backspaceDelete(editor, false)) {
return;
+ } else if (CefBoundaryDelete.backspaceDelete(editor, false)) {
+ return;
} else if (BoundaryDelete.backspaceDelete(editor, false)) {
return;
} else if (BlockBoundaryDelete.backspaceDelete(editor, false)) {
@@ -30,6 +31,8 @@ const deleteCommand = function (editor) {
return;
} else if (BlockRangeDelete.backspaceDelete(editor, false)) {
return;
+ } else if (InlineFormatDelete.backspaceDelete(editor, false)) {
+ return;
} else {
nativeCommand(editor, 'Delete');
DeleteUtils.paddEmptyBody(editor);
@@ -39,6 +42,8 @@ const deleteCommand = function (editor) {
const forwardDeleteCommand = function (editor) {
if (CefDelete.backspaceDelete(editor, true)) {
return;
+ } else if (CefBoundaryDelete.backspaceDelete(editor, true)) {
+ return;
} else if (BoundaryDelete.backspaceDelete(editor, true)) {
return;
} else if (BlockBoundaryDelete.backspaceDelete(editor, true)) {
@@ -47,6 +52,8 @@ const forwardDeleteCommand = function (editor) {
return;
} else if (BlockRangeDelete.backspaceDelete(editor, true)) {
return;
+ } else if (InlineFormatDelete.backspaceDelete(editor, true)) {
+ return;
} else {
nativeCommand(editor, 'ForwardDelete');
}
diff --git a/tools-ng/tinymce/editor/src/core/main/ts/delete/DeleteElement.ts b/tools-ng/tinymce/src/core/main/ts/delete/DeleteElement.ts
similarity index 96%
rename from tools-ng/tinymce/editor/src/core/main/ts/delete/DeleteElement.ts
rename to tools-ng/tinymce/src/core/main/ts/delete/DeleteElement.ts
index 19100cee2..be25d37df 100644
--- a/tools-ng/tinymce/editor/src/core/main/ts/delete/DeleteElement.ts
+++ b/tools-ng/tinymce/src/core/main/ts/delete/DeleteElement.ts
@@ -1,11 +1,8 @@
/**
- * DeleteElement.js
- *
- * Released under LGPL License.
- * Copyright (c) 1999-2017 Ephox Corp. All rights reserved
- *
- * License: http://www.tinymce.com/license
- * Contributing: http://www.tinymce.com/contributing
+ * Copyright (c) Tiny Technologies, Inc. All rights reserved.
+ * Licensed under the LGPL or a commercial license.
+ * For LGPL see License.txt in the project root for license information.
+ * For commercial licenses see https://www.tiny.cloud/
*/
import { Fun, Obj, Option, Options } from '@ephox/katamari';
diff --git a/tools-ng/tinymce/editor/src/core/main/ts/delete/DeleteUtils.ts b/tools-ng/tinymce/src/core/main/ts/delete/DeleteUtils.ts
similarity index 89%
rename from tools-ng/tinymce/editor/src/core/main/ts/delete/DeleteUtils.ts
rename to tools-ng/tinymce/src/core/main/ts/delete/DeleteUtils.ts
index eb34f47d3..4b3bee043 100644
--- a/tools-ng/tinymce/editor/src/core/main/ts/delete/DeleteUtils.ts
+++ b/tools-ng/tinymce/src/core/main/ts/delete/DeleteUtils.ts
@@ -1,11 +1,8 @@
/**
- * DeleteUtils.js
- *
- * Released under LGPL License.
- * Copyright (c) 1999-2017 Ephox Corp. All rights reserved
- *
- * License: http://www.tinymce.com/license
- * Contributing: http://www.tinymce.com/contributing
+ * Copyright (c) Tiny Technologies, Inc. All rights reserved.
+ * Licensed under the LGPL or a commercial license.
+ * For LGPL see License.txt in the project root for license information.
+ * For commercial licenses see https://www.tiny.cloud/
*/
import { Option, Options } from '@ephox/katamari';
diff --git a/tools-ng/tinymce/editor/src/core/main/ts/delete/InlineBoundaryDelete.ts b/tools-ng/tinymce/src/core/main/ts/delete/InlineBoundaryDelete.ts
similarity index 95%
rename from tools-ng/tinymce/editor/src/core/main/ts/delete/InlineBoundaryDelete.ts
rename to tools-ng/tinymce/src/core/main/ts/delete/InlineBoundaryDelete.ts
index 41543bbc1..bf31cfc45 100644
--- a/tools-ng/tinymce/editor/src/core/main/ts/delete/InlineBoundaryDelete.ts
+++ b/tools-ng/tinymce/src/core/main/ts/delete/InlineBoundaryDelete.ts
@@ -1,11 +1,8 @@
/**
- * InlineBoundaryDelete.js
- *
- * Released under LGPL License.
- * Copyright (c) 1999-2017 Ephox Corp. All rights reserved
- *
- * License: http://www.tinymce.com/license
- * Contributing: http://www.tinymce.com/contributing
+ * Copyright (c) Tiny Technologies, Inc. All rights reserved.
+ * Licensed under the LGPL or a commercial license.
+ * For LGPL see License.txt in the project root for license information.
+ * For commercial licenses see https://www.tiny.cloud/
*/
import { Fun, Option, Options } from '@ephox/katamari';
diff --git a/tools-ng/tinymce/editor/src/core/main/ts/delete/InlineFormatDelete.ts b/tools-ng/tinymce/src/core/main/ts/delete/InlineFormatDelete.ts
similarity index 89%
rename from tools-ng/tinymce/editor/src/core/main/ts/delete/InlineFormatDelete.ts
rename to tools-ng/tinymce/src/core/main/ts/delete/InlineFormatDelete.ts
index 709d3da3a..a6e8aa385 100644
--- a/tools-ng/tinymce/editor/src/core/main/ts/delete/InlineFormatDelete.ts
+++ b/tools-ng/tinymce/src/core/main/ts/delete/InlineFormatDelete.ts
@@ -1,11 +1,8 @@
/**
- * InlineFormatDelete.js
- *
- * Released under LGPL License.
- * Copyright (c) 1999-2017 Ephox Corp. All rights reserved
- *
- * License: http://www.tinymce.com/license
- * Contributing: http://www.tinymce.com/contributing
+ * Copyright (c) Tiny Technologies, Inc. All rights reserved.
+ * Licensed under the LGPL or a commercial license.
+ * For LGPL see License.txt in the project root for license information.
+ * For commercial licenses see https://www.tiny.cloud/
*/
import { Arr, Fun } from '@ephox/katamari';
diff --git a/tools-ng/tinymce/editor/src/core/main/ts/delete/MergeBlocks.ts b/tools-ng/tinymce/src/core/main/ts/delete/MergeBlocks.ts
similarity index 93%
rename from tools-ng/tinymce/editor/src/core/main/ts/delete/MergeBlocks.ts
rename to tools-ng/tinymce/src/core/main/ts/delete/MergeBlocks.ts
index 848a72da8..0705caec7 100644
--- a/tools-ng/tinymce/editor/src/core/main/ts/delete/MergeBlocks.ts
+++ b/tools-ng/tinymce/src/core/main/ts/delete/MergeBlocks.ts
@@ -1,11 +1,8 @@
/**
- * MergeBlocks.js
- *
- * Released under LGPL License.
- * Copyright (c) 1999-2017 Ephox Corp. All rights reserved
- *
- * License: http://www.tinymce.com/license
- * Contributing: http://www.tinymce.com/contributing
+ * Copyright (c) Tiny Technologies, Inc. All rights reserved.
+ * Licensed under the LGPL or a commercial license.
+ * For LGPL see License.txt in the project root for license information.
+ * For commercial licenses see https://www.tiny.cloud/
*/
import { Arr, Option, Fun } from '@ephox/katamari';
diff --git a/tools-ng/tinymce/editor/src/core/main/ts/delete/MergeText.ts b/tools-ng/tinymce/src/core/main/ts/delete/MergeText.ts
similarity index 91%
rename from tools-ng/tinymce/editor/src/core/main/ts/delete/MergeText.ts
rename to tools-ng/tinymce/src/core/main/ts/delete/MergeText.ts
index 9914442b0..5db46afa1 100644
--- a/tools-ng/tinymce/editor/src/core/main/ts/delete/MergeText.ts
+++ b/tools-ng/tinymce/src/core/main/ts/delete/MergeText.ts
@@ -1,3 +1,10 @@
+/**
+ * Copyright (c) Tiny Technologies, Inc. All rights reserved.
+ * Licensed under the LGPL or a commercial license.
+ * For LGPL see License.txt in the project root for license information.
+ * For commercial licenses see https://www.tiny.cloud/
+ */
+
import { Arr, Strings } from '@ephox/katamari';
import { Text } from '@ephox/dom-globals';
import { Element, Remove } from '@ephox/sugar';
diff --git a/tools-ng/tinymce/editor/src/core/main/ts/delete/TableDelete.ts b/tools-ng/tinymce/src/core/main/ts/delete/TableDelete.ts
similarity index 95%
rename from tools-ng/tinymce/editor/src/core/main/ts/delete/TableDelete.ts
rename to tools-ng/tinymce/src/core/main/ts/delete/TableDelete.ts
index 5b60a0bd2..f347c1084 100644
--- a/tools-ng/tinymce/editor/src/core/main/ts/delete/TableDelete.ts
+++ b/tools-ng/tinymce/src/core/main/ts/delete/TableDelete.ts
@@ -1,11 +1,8 @@
/**
- * TableDelete.js
- *
- * Released under LGPL License.
- * Copyright (c) 1999-2018 Ephox Corp. All rights reserved
- *
- * License: http://www.tinymce.com/license
- * Contributing: http://www.tinymce.com/contributing
+ * Copyright (c) Tiny Technologies, Inc. All rights reserved.
+ * Licensed under the LGPL or a commercial license.
+ * For LGPL see License.txt in the project root for license information.
+ * For commercial licenses see https://www.tiny.cloud/
*/
import { Arr, Fun, Option } from '@ephox/katamari';
diff --git a/tools-ng/tinymce/editor/src/core/main/ts/delete/TableDeleteAction.ts b/tools-ng/tinymce/src/core/main/ts/delete/TableDeleteAction.ts
similarity index 94%
rename from tools-ng/tinymce/editor/src/core/main/ts/delete/TableDeleteAction.ts
rename to tools-ng/tinymce/src/core/main/ts/delete/TableDeleteAction.ts
index 15e9b417f..7f93bf15d 100644
--- a/tools-ng/tinymce/editor/src/core/main/ts/delete/TableDeleteAction.ts
+++ b/tools-ng/tinymce/src/core/main/ts/delete/TableDeleteAction.ts
@@ -1,11 +1,8 @@
/**
- * TableDeleteAction.js
- *
- * Released under LGPL License.
- * Copyright (c) 1999-2018 Ephox Corp. All rights reserved
- *
- * License: http://www.tinymce.com/license
- * Contributing: http://www.tinymce.com/contributing
+ * Copyright (c) Tiny Technologies, Inc. All rights reserved.
+ * Licensed under the LGPL or a commercial license.
+ * For LGPL see License.txt in the project root for license information.
+ * For commercial licenses see https://www.tiny.cloud/
*/
import { Adt, Arr, Fun, Option, Options, Struct } from '@ephox/katamari';
diff --git a/tools-ng/tinymce/editor/src/core/main/ts/dom/Dimensions.ts b/tools-ng/tinymce/src/core/main/ts/dom/Dimensions.ts
similarity index 74%
rename from tools-ng/tinymce/editor/src/core/main/ts/dom/Dimensions.ts
rename to tools-ng/tinymce/src/core/main/ts/dom/Dimensions.ts
index 861db97b8..c8c62f259 100644
--- a/tools-ng/tinymce/editor/src/core/main/ts/dom/Dimensions.ts
+++ b/tools-ng/tinymce/src/core/main/ts/dom/Dimensions.ts
@@ -1,17 +1,14 @@
/**
- * Dimensions.js
- *
- * Released under LGPL License.
- * Copyright (c) 1999-2017 Ephox Corp. All rights reserved
- *
- * License: http://www.tinymce.com/license
- * Contributing: http://www.tinymce.com/contributing
+ * Copyright (c) Tiny Technologies, Inc. All rights reserved.
+ * Licensed under the LGPL or a commercial license.
+ * For LGPL see License.txt in the project root for license information.
+ * For commercial licenses see https://www.tiny.cloud/
*/
-import Arr from '../util/Arr';
import NodeType from './NodeType';
import * as ClientRect from '../geom/ClientRect';
import { HTMLElement, Node } from '@ephox/dom-globals';
+import { Arr } from '@ephox/katamari';
export interface NodeClientRect extends ClientRect.ClientRect {
node: HTMLElement;
@@ -42,7 +39,7 @@ const getNodeClientRects = (node: Node): NodeClientRect[] => {
};
const getClientRects = (node: Node[]): NodeClientRect[] => {
- return Arr.reduce(node, function (result, node) {
+ return Arr.foldl(node, function (result, node) {
return result.concat(getNodeClientRects(node));
}, []);
};
diff --git a/tools-ng/tinymce/editor/src/core/main/ts/dom/DomSerializer.ts b/tools-ng/tinymce/src/core/main/ts/dom/DomSerializer.ts
similarity index 93%
rename from tools-ng/tinymce/editor/src/core/main/ts/dom/DomSerializer.ts
rename to tools-ng/tinymce/src/core/main/ts/dom/DomSerializer.ts
index 6ae0b3b55..45b2090ce 100644
--- a/tools-ng/tinymce/editor/src/core/main/ts/dom/DomSerializer.ts
+++ b/tools-ng/tinymce/src/core/main/ts/dom/DomSerializer.ts
@@ -1,11 +1,8 @@
/**
- * DomSerializer.js
- *
- * Released under LGPL License.
- * Copyright (c) 1999-2017 Ephox Corp. All rights reserved
- *
- * License: http://www.tinymce.com/license
- * Contributing: http://www.tinymce.com/contributing
+ * Copyright (c) Tiny Technologies, Inc. All rights reserved.
+ * Licensed under the LGPL or a commercial license.
+ * For LGPL see License.txt in the project root for license information.
+ * For commercial licenses see https://www.tiny.cloud/
*/
import { Fun, Merger } from '@ephox/katamari';
diff --git a/tools-ng/tinymce/editor/src/core/main/ts/dom/DomSerializerFilters.ts b/tools-ng/tinymce/src/core/main/ts/dom/DomSerializerFilters.ts
similarity index 96%
rename from tools-ng/tinymce/editor/src/core/main/ts/dom/DomSerializerFilters.ts
rename to tools-ng/tinymce/src/core/main/ts/dom/DomSerializerFilters.ts
index 95363d459..f3c3dde4d 100644
--- a/tools-ng/tinymce/editor/src/core/main/ts/dom/DomSerializerFilters.ts
+++ b/tools-ng/tinymce/src/core/main/ts/dom/DomSerializerFilters.ts
@@ -1,11 +1,8 @@
/**
- * DomSerializerFilters.js
- *
- * Released under LGPL License.
- * Copyright (c) 1999-2017 Ephox Corp. All rights reserved
- *
- * License: http://www.tinymce.com/license
- * Contributing: http://www.tinymce.com/contributing
+ * Copyright (c) Tiny Technologies, Inc. All rights reserved.
+ * Licensed under the LGPL or a commercial license.
+ * For LGPL see License.txt in the project root for license information.
+ * For commercial licenses see https://www.tiny.cloud/
*/
import { Arr } from '@ephox/katamari';
diff --git a/tools-ng/tinymce/editor/src/core/main/ts/dom/DomSerializerPreProcess.ts b/tools-ng/tinymce/src/core/main/ts/dom/DomSerializerPreProcess.ts
similarity index 86%
rename from tools-ng/tinymce/editor/src/core/main/ts/dom/DomSerializerPreProcess.ts
rename to tools-ng/tinymce/src/core/main/ts/dom/DomSerializerPreProcess.ts
index adbd198be..1a3e9b2a2 100644
--- a/tools-ng/tinymce/editor/src/core/main/ts/dom/DomSerializerPreProcess.ts
+++ b/tools-ng/tinymce/src/core/main/ts/dom/DomSerializerPreProcess.ts
@@ -1,11 +1,8 @@
/**
- * DomSerializerPreProcess.js
- *
- * Released under LGPL License.
- * Copyright (c) 1999-2017 Ephox Corp. All rights reserved
- *
- * License: http://www.tinymce.com/license
- * Contributing: http://www.tinymce.com/contributing
+ * Copyright (c) Tiny Technologies, Inc. All rights reserved.
+ * Licensed under the LGPL or a commercial license.
+ * For LGPL see License.txt in the project root for license information.
+ * For commercial licenses see https://www.tiny.cloud/
*/
import { Merger } from '@ephox/katamari';
diff --git a/tools-ng/tinymce/editor/src/core/main/ts/dom/ElementType.ts b/tools-ng/tinymce/src/core/main/ts/dom/ElementType.ts
similarity index 89%
rename from tools-ng/tinymce/editor/src/core/main/ts/dom/ElementType.ts
rename to tools-ng/tinymce/src/core/main/ts/dom/ElementType.ts
index a6819ae8d..0cc179b33 100644
--- a/tools-ng/tinymce/editor/src/core/main/ts/dom/ElementType.ts
+++ b/tools-ng/tinymce/src/core/main/ts/dom/ElementType.ts
@@ -1,11 +1,8 @@
/**
- * ElementType.js
- *
- * Released under LGPL License.
- * Copyright (c) 1999-2017 Ephox Corp. All rights reserved
- *
- * License: http://www.tinymce.com/license
- * Contributing: http://www.tinymce.com/contributing
+ * Copyright (c) Tiny Technologies, Inc. All rights reserved.
+ * Licensed under the LGPL or a commercial license.
+ * For LGPL see License.txt in the project root for license information.
+ * For commercial licenses see https://www.tiny.cloud/
*/
import { Arr, Fun } from '@ephox/katamari';
diff --git a/tools-ng/tinymce/editor/src/core/main/ts/dom/Empty.ts b/tools-ng/tinymce/src/core/main/ts/dom/Empty.ts
similarity index 89%
rename from tools-ng/tinymce/editor/src/core/main/ts/dom/Empty.ts
rename to tools-ng/tinymce/src/core/main/ts/dom/Empty.ts
index d7d16b936..d17ade9e0 100644
--- a/tools-ng/tinymce/editor/src/core/main/ts/dom/Empty.ts
+++ b/tools-ng/tinymce/src/core/main/ts/dom/Empty.ts
@@ -1,11 +1,8 @@
/**
- * Empty.js
- *
- * Released under LGPL License.
- * Copyright (c) 1999-2017 Ephox Corp. All rights reserved
- *
- * License: http://www.tinymce.com/license
- * Contributing: http://www.tinymce.com/contributing
+ * Copyright (c) Tiny Technologies, Inc. All rights reserved.
+ * Licensed under the LGPL or a commercial license.
+ * For LGPL see License.txt in the project root for license information.
+ * For commercial licenses see https://www.tiny.cloud/
*/
import { Fun } from '@ephox/katamari';
diff --git a/tools-ng/tinymce/editor/src/core/main/ts/dom/MousePosition.ts b/tools-ng/tinymce/src/core/main/ts/dom/MousePosition.ts
similarity index 89%
rename from tools-ng/tinymce/editor/src/core/main/ts/dom/MousePosition.ts
rename to tools-ng/tinymce/src/core/main/ts/dom/MousePosition.ts
index 86e8d3d59..328ecdf7e 100644
--- a/tools-ng/tinymce/editor/src/core/main/ts/dom/MousePosition.ts
+++ b/tools-ng/tinymce/src/core/main/ts/dom/MousePosition.ts
@@ -1,11 +1,8 @@
/**
- * MousePosition.js
- *
- * Released under LGPL License.
- * Copyright (c) 1999-2017 Ephox Corp. All rights reserved
- *
- * License: http://www.tinymce.com/license
- * Contributing: http://www.tinymce.com/contributing
+ * Copyright (c) Tiny Technologies, Inc. All rights reserved.
+ * Licensed under the LGPL or a commercial license.
+ * For LGPL see License.txt in the project root for license information.
+ * For commercial licenses see https://www.tiny.cloud/
*/
/**
diff --git a/tools-ng/tinymce/editor/src/core/main/ts/dom/NodePath.ts b/tools-ng/tinymce/src/core/main/ts/dom/NodePath.ts
similarity index 75%
rename from tools-ng/tinymce/editor/src/core/main/ts/dom/NodePath.ts
rename to tools-ng/tinymce/src/core/main/ts/dom/NodePath.ts
index 447e00d20..81bacd0d0 100644
--- a/tools-ng/tinymce/editor/src/core/main/ts/dom/NodePath.ts
+++ b/tools-ng/tinymce/src/core/main/ts/dom/NodePath.ts
@@ -1,11 +1,8 @@
/**
- * NodePath.js
- *
- * Released under LGPL License.
- * Copyright (c) 1999-2017 Ephox Corp. All rights reserved
- *
- * License: http://www.tinymce.com/license
- * Contributing: http://www.tinymce.com/contributing
+ * Copyright (c) Tiny Technologies, Inc. All rights reserved.
+ * Licensed under the LGPL or a commercial license.
+ * For LGPL see License.txt in the project root for license information.
+ * For commercial licenses see https://www.tiny.cloud/
*/
import DOMUtils from '../api/dom/DOMUtils';
diff --git a/tools-ng/tinymce/editor/src/core/main/ts/dom/NodeType.ts b/tools-ng/tinymce/src/core/main/ts/dom/NodeType.ts
similarity index 86%
rename from tools-ng/tinymce/editor/src/core/main/ts/dom/NodeType.ts
rename to tools-ng/tinymce/src/core/main/ts/dom/NodeType.ts
index 12ec68b56..eebf4e6f1 100644
--- a/tools-ng/tinymce/editor/src/core/main/ts/dom/NodeType.ts
+++ b/tools-ng/tinymce/src/core/main/ts/dom/NodeType.ts
@@ -1,14 +1,11 @@
/**
- * NodeType.js
- *
- * Released under LGPL License.
- * Copyright (c) 1999-2017 Ephox Corp. All rights reserved
- *
- * License: http://www.tinymce.com/license
- * Contributing: http://www.tinymce.com/contributing
+ * Copyright (c) Tiny Technologies, Inc. All rights reserved.
+ * Licensed under the LGPL or a commercial license.
+ * For LGPL see License.txt in the project root for license information.
+ * For commercial licenses see https://www.tiny.cloud/
*/
-import { Text, Comment, Document, Element, Node, HTMLElement } from '@ephox/dom-globals';
+import { Text, Comment, Document, Element, Node, HTMLElement, DocumentFragment } from '@ephox/dom-globals';
const isNodeType = function (type) {
return function (node: Node) {
@@ -99,6 +96,7 @@ const hasContentEditableState = function (value: string) {
const isText = isNodeType(3) as (node: Node) => node is Text;
const isComment = isNodeType(8) as (node: Node) => node is Comment;
const isDocument = isNodeType(9) as (node: Node) => node is Document;
+const isDocumentFragment = isNodeType(11) as (node: Node) => node is DocumentFragment;
const isBr = matchNodeNames('br') as (node: Node) => node is Element;
const isContentEditableTrue = hasContentEditableState('true') as (node: Node) => node is HTMLElement;
const isContentEditableFalse = hasContentEditableState('false') as (node: Node) => node is HTMLElement;
@@ -108,6 +106,7 @@ export default {
isElement,
isComment,
isDocument,
+ isDocumentFragment,
isBr,
isContentEditableTrue,
isContentEditableFalse,
diff --git a/tools-ng/tinymce/editor/src/core/main/ts/dom/PaddingBr.ts b/tools-ng/tinymce/src/core/main/ts/dom/PaddingBr.ts
similarity index 86%
rename from tools-ng/tinymce/editor/src/core/main/ts/dom/PaddingBr.ts
rename to tools-ng/tinymce/src/core/main/ts/dom/PaddingBr.ts
index 09de0c64e..b23c6d62b 100644
--- a/tools-ng/tinymce/editor/src/core/main/ts/dom/PaddingBr.ts
+++ b/tools-ng/tinymce/src/core/main/ts/dom/PaddingBr.ts
@@ -1,11 +1,8 @@
/**
- * PaddingBr.js
- *
- * Released under LGPL License.
- * Copyright (c) 1999-2017 Ephox Corp. All rights reserved
- *
- * License: http://www.tinymce.com/license
- * Contributing: http://www.tinymce.com/contributing
+ * Copyright (c) Tiny Technologies, Inc. All rights reserved.
+ * Licensed under the LGPL or a commercial license.
+ * For LGPL see License.txt in the project root for license information.
+ * For commercial licenses see https://www.tiny.cloud/
*/
import { Arr } from '@ephox/katamari';
diff --git a/tools-ng/tinymce/editor/src/core/main/ts/dom/Parents.ts b/tools-ng/tinymce/src/core/main/ts/dom/Parents.ts
similarity index 76%
rename from tools-ng/tinymce/editor/src/core/main/ts/dom/Parents.ts
rename to tools-ng/tinymce/src/core/main/ts/dom/Parents.ts
index c1642e8d5..c61edc7ac 100644
--- a/tools-ng/tinymce/editor/src/core/main/ts/dom/Parents.ts
+++ b/tools-ng/tinymce/src/core/main/ts/dom/Parents.ts
@@ -1,11 +1,8 @@
/**
- * Parents.js
- *
- * Released under LGPL License.
- * Copyright (c) 1999-2017 Ephox Corp. All rights reserved
- *
- * License: http://www.tinymce.com/license
- * Contributing: http://www.tinymce.com/contributing
+ * Copyright (c) Tiny Technologies, Inc. All rights reserved.
+ * Licensed under the LGPL or a commercial license.
+ * For LGPL see License.txt in the project root for license information.
+ * For commercial licenses see https://www.tiny.cloud/
*/
import { Fun } from '@ephox/katamari';
diff --git a/tools-ng/tinymce/editor/src/core/main/ts/dom/Position.ts b/tools-ng/tinymce/src/core/main/ts/dom/Position.ts
similarity index 91%
rename from tools-ng/tinymce/editor/src/core/main/ts/dom/Position.ts
rename to tools-ng/tinymce/src/core/main/ts/dom/Position.ts
index c7afb94ee..176bab360 100644
--- a/tools-ng/tinymce/editor/src/core/main/ts/dom/Position.ts
+++ b/tools-ng/tinymce/src/core/main/ts/dom/Position.ts
@@ -1,11 +1,8 @@
/**
- * Position.js
- *
- * Released under LGPL License.
- * Copyright (c) 1999-2017 Ephox Corp. All rights reserved
- *
- * License: http://www.tinymce.com/license
- * Contributing: http://www.tinymce.com/contributing
+ * Copyright (c) Tiny Technologies, Inc. All rights reserved.
+ * Licensed under the LGPL or a commercial license.
+ * For LGPL see License.txt in the project root for license information.
+ * For commercial licenses see https://www.tiny.cloud/
*/
import { Arr } from '@ephox/katamari';
diff --git a/tools-ng/tinymce/editor/src/core/main/ts/dom/RangePoint.ts b/tools-ng/tinymce/src/core/main/ts/dom/RangePoint.ts
similarity index 62%
rename from tools-ng/tinymce/editor/src/core/main/ts/dom/RangePoint.ts
rename to tools-ng/tinymce/src/core/main/ts/dom/RangePoint.ts
index 285c35620..cca4fc986 100644
--- a/tools-ng/tinymce/editor/src/core/main/ts/dom/RangePoint.ts
+++ b/tools-ng/tinymce/src/core/main/ts/dom/RangePoint.ts
@@ -1,11 +1,8 @@
/**
- * RangePoint.js
- *
- * Released under LGPL License.
- * Copyright (c) 1999-2017 Ephox Corp. All rights reserved
- *
- * License: http://www.tinymce.com/license
- * Contributing: http://www.tinymce.com/contributing
+ * Copyright (c) Tiny Technologies, Inc. All rights reserved.
+ * Licensed under the LGPL or a commercial license.
+ * For LGPL see License.txt in the project root for license information.
+ * For commercial licenses see https://www.tiny.cloud/
*/
import { Arr } from '@ephox/katamari';
diff --git a/tools-ng/tinymce/editor/src/core/main/ts/dom/ScrollIntoView.ts b/tools-ng/tinymce/src/core/main/ts/dom/ScrollIntoView.ts
similarity index 92%
rename from tools-ng/tinymce/editor/src/core/main/ts/dom/ScrollIntoView.ts
rename to tools-ng/tinymce/src/core/main/ts/dom/ScrollIntoView.ts
index 6526c2ab1..b22666013 100644
--- a/tools-ng/tinymce/editor/src/core/main/ts/dom/ScrollIntoView.ts
+++ b/tools-ng/tinymce/src/core/main/ts/dom/ScrollIntoView.ts
@@ -1,11 +1,8 @@
/**
- * ScrollIntoView.js
- *
- * Released under LGPL License.
- * Copyright (c) 1999-2017 Ephox Corp. All rights reserved
- *
- * License: http://www.tinymce.com/license
- * Contributing: http://www.tinymce.com/contributing
+ * Copyright (c) Tiny Technologies, Inc. All rights reserved.
+ * Licensed under the LGPL or a commercial license.
+ * For LGPL see License.txt in the project root for license information.
+ * For commercial licenses see https://www.tiny.cloud/
*/
import NodeType from './NodeType';
diff --git a/tools-ng/tinymce/editor/src/core/main/ts/dom/StyleSheetLoader.ts b/tools-ng/tinymce/src/core/main/ts/dom/StyleSheetLoader.ts
similarity index 96%
rename from tools-ng/tinymce/editor/src/core/main/ts/dom/StyleSheetLoader.ts
rename to tools-ng/tinymce/src/core/main/ts/dom/StyleSheetLoader.ts
index 107981b94..d4b587f13 100644
--- a/tools-ng/tinymce/editor/src/core/main/ts/dom/StyleSheetLoader.ts
+++ b/tools-ng/tinymce/src/core/main/ts/dom/StyleSheetLoader.ts
@@ -1,11 +1,8 @@
/**
- * StyleSheetLoader.js
- *
- * Released under LGPL License.
- * Copyright (c) 1999-2017 Ephox Corp. All rights reserved
- *
- * License: http://www.tinymce.com/license
- * Contributing: http://www.tinymce.com/contributing
+ * Copyright (c) Tiny Technologies, Inc. All rights reserved.
+ * Licensed under the LGPL or a commercial license.
+ * For LGPL see License.txt in the project root for license information.
+ * For commercial licenses see https://www.tiny.cloud/
*/
import { Arr, Fun, Future, Futures, Result } from '@ephox/katamari';
diff --git a/tools-ng/tinymce/editor/src/core/main/ts/dom/TrimHtml.ts b/tools-ng/tinymce/src/core/main/ts/dom/TrimHtml.ts
similarity index 85%
rename from tools-ng/tinymce/editor/src/core/main/ts/dom/TrimHtml.ts
rename to tools-ng/tinymce/src/core/main/ts/dom/TrimHtml.ts
index 646a1e15c..7c3a75ee3 100644
--- a/tools-ng/tinymce/editor/src/core/main/ts/dom/TrimHtml.ts
+++ b/tools-ng/tinymce/src/core/main/ts/dom/TrimHtml.ts
@@ -1,11 +1,8 @@
/**
- * TrimHtml.js
- *
- * Released under LGPL License.
- * Copyright (c) 1999-2017 Ephox Corp. All rights reserved
- *
- * License: http://www.tinymce.com/license
- * Contributing: http://www.tinymce.com/contributing
+ * Copyright (c) Tiny Technologies, Inc. All rights reserved.
+ * Licensed under the LGPL or a commercial license.
+ * For LGPL see License.txt in the project root for license information.
+ * For commercial licenses see https://www.tiny.cloud/
*/
import SaxParser from '../api/html/SaxParser';
diff --git a/tools-ng/tinymce/editor/src/core/main/ts/dom/TrimNode.ts b/tools-ng/tinymce/src/core/main/ts/dom/TrimNode.ts
similarity index 90%
rename from tools-ng/tinymce/editor/src/core/main/ts/dom/TrimNode.ts
rename to tools-ng/tinymce/src/core/main/ts/dom/TrimNode.ts
index 56ff6ed27..7bb1ac738 100644
--- a/tools-ng/tinymce/editor/src/core/main/ts/dom/TrimNode.ts
+++ b/tools-ng/tinymce/src/core/main/ts/dom/TrimNode.ts
@@ -1,3 +1,10 @@
+/**
+ * Copyright (c) Tiny Technologies, Inc. All rights reserved.
+ * Licensed under the LGPL or a commercial license.
+ * For LGPL see License.txt in the project root for license information.
+ * For commercial licenses see https://www.tiny.cloud/
+ */
+
import { Element } from '@ephox/sugar';
import * as ElementType from './ElementType';
import NodeType from './NodeType';
diff --git a/tools-ng/tinymce/editor/src/core/main/ts/file/Conversions.ts b/tools-ng/tinymce/src/core/main/ts/file/Conversions.ts
similarity index 91%
rename from tools-ng/tinymce/editor/src/core/main/ts/file/Conversions.ts
rename to tools-ng/tinymce/src/core/main/ts/file/Conversions.ts
index 5c1a9da7b..387351186 100644
--- a/tools-ng/tinymce/editor/src/core/main/ts/file/Conversions.ts
+++ b/tools-ng/tinymce/src/core/main/ts/file/Conversions.ts
@@ -1,11 +1,8 @@
/**
- * Conversions.js
- *
- * Released under LGPL License.
- * Copyright (c) 1999-2017 Ephox Corp. All rights reserved
- *
- * License: http://www.tinymce.com/license
- * Contributing: http://www.tinymce.com/contributing
+ * Copyright (c) Tiny Technologies, Inc. All rights reserved.
+ * Licensed under the LGPL or a commercial license.
+ * For LGPL see License.txt in the project root for license information.
+ * For commercial licenses see https://www.tiny.cloud/
*/
import { FileReader, Uint8Array, Window, XMLHttpRequest } from '@ephox/sand';
diff --git a/tools-ng/tinymce/editor/src/core/main/ts/file/ImageScanner.ts b/tools-ng/tinymce/src/core/main/ts/file/ImageScanner.ts
similarity index 90%
rename from tools-ng/tinymce/editor/src/core/main/ts/file/ImageScanner.ts
rename to tools-ng/tinymce/src/core/main/ts/file/ImageScanner.ts
index 80e208b17..1f985d030 100644
--- a/tools-ng/tinymce/editor/src/core/main/ts/file/ImageScanner.ts
+++ b/tools-ng/tinymce/src/core/main/ts/file/ImageScanner.ts
@@ -1,20 +1,16 @@
/**
- * ImageScanner.js
- *
- * Released under LGPL License.
- * Copyright (c) 1999-2017 Ephox Corp. All rights reserved
- *
- * License: http://www.tinymce.com/license
- * Contributing: http://www.tinymce.com/contributing
+ * Copyright (c) Tiny Technologies, Inc. All rights reserved.
+ * Licensed under the LGPL or a commercial license.
+ * For LGPL see License.txt in the project root for license information.
+ * For commercial licenses see https://www.tiny.cloud/
*/
import Promise from '../api/util/Promise';
-import Arr from '../util/Arr';
-import Fun from '../util/Fun';
import Conversions from './Conversions';
import Env from '../api/Env';
import { HTMLElement, HTMLImageElement } from '@ephox/dom-globals';
import { BlobCache, BlobInfo } from 'tinymce/core/api/file/BlobCache';
+import { Fun, Arr } from '@ephox/katamari';
export interface BlobInfoImagePair {
image: HTMLImageElement;
@@ -94,8 +90,8 @@ const imageToBlobInfo = function (blobCache: BlobCache, img: HTMLImageElement, r
}
};
-const getAllImages = function (elm: HTMLElement): HTMLElement[] {
- return elm ? (elm as any).getElementsByTagName('img') : [];
+const getAllImages = function (elm: HTMLElement): HTMLImageElement[] {
+ return elm ? Arr.from(elm.getElementsByTagName('img')) : [];
};
export default function (uploadStatus, blobCache: BlobCache): ImageScanner {
diff --git a/tools-ng/tinymce/editor/src/core/main/ts/file/UploadStatus.ts b/tools-ng/tinymce/src/core/main/ts/file/UploadStatus.ts
similarity index 85%
rename from tools-ng/tinymce/editor/src/core/main/ts/file/UploadStatus.ts
rename to tools-ng/tinymce/src/core/main/ts/file/UploadStatus.ts
index 5ec770b29..7f5ac0a0e 100644
--- a/tools-ng/tinymce/editor/src/core/main/ts/file/UploadStatus.ts
+++ b/tools-ng/tinymce/src/core/main/ts/file/UploadStatus.ts
@@ -1,11 +1,8 @@
/**
- * UploadStatus.js
- *
- * Released under LGPL License.
- * Copyright (c) 1999-2017 Ephox Corp. All rights reserved
- *
- * License: http://www.tinymce.com/license
- * Contributing: http://www.tinymce.com/contributing
+ * Copyright (c) Tiny Technologies, Inc. All rights reserved.
+ * Licensed under the LGPL or a commercial license.
+ * For LGPL see License.txt in the project root for license information.
+ * For commercial licenses see https://www.tiny.cloud/
*/
/**
diff --git a/tools-ng/tinymce/editor/src/core/main/ts/file/Uploader.ts b/tools-ng/tinymce/src/core/main/ts/file/Uploader.ts
similarity index 95%
rename from tools-ng/tinymce/editor/src/core/main/ts/file/Uploader.ts
rename to tools-ng/tinymce/src/core/main/ts/file/Uploader.ts
index 140240903..d58203ce1 100644
--- a/tools-ng/tinymce/editor/src/core/main/ts/file/Uploader.ts
+++ b/tools-ng/tinymce/src/core/main/ts/file/Uploader.ts
@@ -1,11 +1,8 @@
/**
- * Uploader.js
- *
- * Released under LGPL License.
- * Copyright (c) 1999-2017 Ephox Corp. All rights reserved
- *
- * License: http://www.tinymce.com/license
- * Contributing: http://www.tinymce.com/contributing
+ * Copyright (c) Tiny Technologies, Inc. All rights reserved.
+ * Licensed under the LGPL or a commercial license.
+ * For LGPL see License.txt in the project root for license information.
+ * For commercial licenses see https://www.tiny.cloud/
*/
import { XMLHttpRequest } from '@ephox/sand';
diff --git a/tools-ng/tinymce/editor/src/core/main/ts/fmt/ApplyFormat.ts b/tools-ng/tinymce/src/core/main/ts/fmt/ApplyFormat.ts
similarity index 97%
rename from tools-ng/tinymce/editor/src/core/main/ts/fmt/ApplyFormat.ts
rename to tools-ng/tinymce/src/core/main/ts/fmt/ApplyFormat.ts
index c2d504210..85c48c4d3 100644
--- a/tools-ng/tinymce/editor/src/core/main/ts/fmt/ApplyFormat.ts
+++ b/tools-ng/tinymce/src/core/main/ts/fmt/ApplyFormat.ts
@@ -1,11 +1,8 @@
/**
- * ApplyFormat.js
- *
- * Released under LGPL License.
- * Copyright (c) 1999-2017 Ephox Corp. All rights reserved
- *
- * License: http://www.tinymce.com/license
- * Contributing: http://www.tinymce.com/contributing
+ * Copyright (c) Tiny Technologies, Inc. All rights reserved.
+ * Licensed under the LGPL or a commercial license.
+ * For LGPL see License.txt in the project root for license information.
+ * For commercial licenses see https://www.tiny.cloud/
*/
import Bookmarks from '../bookmark/Bookmarks';
diff --git a/tools-ng/tinymce/editor/src/core/main/ts/fmt/CaretFormat.ts b/tools-ng/tinymce/src/core/main/ts/fmt/CaretFormat.ts
similarity index 97%
rename from tools-ng/tinymce/editor/src/core/main/ts/fmt/CaretFormat.ts
rename to tools-ng/tinymce/src/core/main/ts/fmt/CaretFormat.ts
index 46bee2484..e8ecee0c4 100644
--- a/tools-ng/tinymce/editor/src/core/main/ts/fmt/CaretFormat.ts
+++ b/tools-ng/tinymce/src/core/main/ts/fmt/CaretFormat.ts
@@ -1,14 +1,11 @@
/**
- * CaretFormat.js
- *
- * Released under LGPL License.
- * Copyright (c) 1999-2017 Ephox Corp. All rights reserved
- *
- * License: http://www.tinymce.com/license
- * Contributing: http://www.tinymce.com/contributing
+ * Copyright (c) Tiny Technologies, Inc. All rights reserved.
+ * Licensed under the LGPL or a commercial license.
+ * For LGPL see License.txt in the project root for license information.
+ * For commercial licenses see https://www.tiny.cloud/
*/
-import { Arr } from '@ephox/katamari';
+import { Arr, Fun } from '@ephox/katamari';
import { Insert, Remove, Element, Node as SugarNode, Attr } from '@ephox/sugar';
import { Node } from '@ephox/dom-globals';
import CaretPosition from '../caret/CaretPosition';
@@ -20,7 +17,6 @@ import FormatUtils from './FormatUtils';
import MatchFormat from './MatchFormat';
import SplitRange from '../selection/SplitRange';
import Zwsp from '../text/Zwsp';
-import Fun from '../util/Fun';
import { Selection } from '../api/dom/Selection';
import { Editor } from '../api/Editor';
import { isCaretNode, getParentCaretContainer } from './FormatContainer';
diff --git a/tools-ng/tinymce/editor/src/core/main/ts/fmt/DefaultFormats.ts b/tools-ng/tinymce/src/core/main/ts/fmt/DefaultFormats.ts
similarity index 95%
rename from tools-ng/tinymce/editor/src/core/main/ts/fmt/DefaultFormats.ts
rename to tools-ng/tinymce/src/core/main/ts/fmt/DefaultFormats.ts
index c33f252eb..ca787dbdd 100644
--- a/tools-ng/tinymce/editor/src/core/main/ts/fmt/DefaultFormats.ts
+++ b/tools-ng/tinymce/src/core/main/ts/fmt/DefaultFormats.ts
@@ -1,11 +1,8 @@
/**
- * DefaultFormats.js
- *
- * Released under LGPL License.
- * Copyright (c) 1999-2017 Ephox Corp. All rights reserved
- *
- * License: http://www.tinymce.com/license
- * Contributing: http://www.tinymce.com/contributing
+ * Copyright (c) Tiny Technologies, Inc. All rights reserved.
+ * Licensed under the LGPL or a commercial license.
+ * For LGPL see License.txt in the project root for license information.
+ * For commercial licenses see https://www.tiny.cloud/
*/
import Tools from '../api/util/Tools';
diff --git a/tools-ng/tinymce/editor/src/core/main/ts/fmt/ExpandRange.ts b/tools-ng/tinymce/src/core/main/ts/fmt/ExpandRange.ts
similarity index 98%
rename from tools-ng/tinymce/editor/src/core/main/ts/fmt/ExpandRange.ts
rename to tools-ng/tinymce/src/core/main/ts/fmt/ExpandRange.ts
index 3ea1f3a19..e6188980f 100644
--- a/tools-ng/tinymce/editor/src/core/main/ts/fmt/ExpandRange.ts
+++ b/tools-ng/tinymce/src/core/main/ts/fmt/ExpandRange.ts
@@ -1,11 +1,8 @@
/**
- * ExpandRange.js
- *
- * Released under LGPL License.
- * Copyright (c) 1999-2017 Ephox Corp. All rights reserved
- *
- * License: http://www.tinymce.com/license
- * Contributing: http://www.tinymce.com/contributing
+ * Copyright (c) Tiny Technologies, Inc. All rights reserved.
+ * Licensed under the LGPL or a commercial license.
+ * For LGPL see License.txt in the project root for license information.
+ * For commercial licenses see https://www.tiny.cloud/
*/
import Bookmarks from '../bookmark/Bookmarks';
diff --git a/tools-ng/tinymce/editor/src/core/main/ts/fmt/FontInfo.ts b/tools-ng/tinymce/src/core/main/ts/fmt/FontInfo.ts
similarity index 88%
rename from tools-ng/tinymce/editor/src/core/main/ts/fmt/FontInfo.ts
rename to tools-ng/tinymce/src/core/main/ts/fmt/FontInfo.ts
index 3b139a513..edf29d9ad 100644
--- a/tools-ng/tinymce/editor/src/core/main/ts/fmt/FontInfo.ts
+++ b/tools-ng/tinymce/src/core/main/ts/fmt/FontInfo.ts
@@ -1,11 +1,8 @@
/**
- * FontInfo.js
- *
- * Released under LGPL License.
- * Copyright (c) 1999-2017 Ephox Corp. All rights reserved
- *
- * License: http://www.tinymce.com/license
- * Contributing: http://www.tinymce.com/contributing
+ * Copyright (c) Tiny Technologies, Inc. All rights reserved.
+ * Licensed under the LGPL or a commercial license.
+ * For LGPL see License.txt in the project root for license information.
+ * For commercial licenses see https://www.tiny.cloud/
*/
import { Fun, Option } from '@ephox/katamari';
diff --git a/tools-ng/tinymce/editor/src/core/main/ts/fmt/FormatChanged.ts b/tools-ng/tinymce/src/core/main/ts/fmt/FormatChanged.ts
similarity index 90%
rename from tools-ng/tinymce/editor/src/core/main/ts/fmt/FormatChanged.ts
rename to tools-ng/tinymce/src/core/main/ts/fmt/FormatChanged.ts
index 21f2ae36e..23f6eaa11 100644
--- a/tools-ng/tinymce/editor/src/core/main/ts/fmt/FormatChanged.ts
+++ b/tools-ng/tinymce/src/core/main/ts/fmt/FormatChanged.ts
@@ -1,11 +1,8 @@
/**
- * FormatChanged.js
- *
- * Released under LGPL License.
- * Copyright (c) 1999-2017 Ephox Corp. All rights reserved
- *
- * License: http://www.tinymce.com/license
- * Contributing: http://www.tinymce.com/contributing
+ * Copyright (c) Tiny Technologies, Inc. All rights reserved.
+ * Licensed under the LGPL or a commercial license.
+ * For LGPL see License.txt in the project root for license information.
+ * For commercial licenses see https://www.tiny.cloud/
*/
import FormatUtils from './FormatUtils';
diff --git a/tools-ng/tinymce/editor/src/core/main/ts/fmt/FormatContainer.ts b/tools-ng/tinymce/src/core/main/ts/fmt/FormatContainer.ts
similarity index 65%
rename from tools-ng/tinymce/editor/src/core/main/ts/fmt/FormatContainer.ts
rename to tools-ng/tinymce/src/core/main/ts/fmt/FormatContainer.ts
index 9d43dc3dc..ae61e7300 100644
--- a/tools-ng/tinymce/editor/src/core/main/ts/fmt/FormatContainer.ts
+++ b/tools-ng/tinymce/src/core/main/ts/fmt/FormatContainer.ts
@@ -1,11 +1,8 @@
/**
- * FormatContainer.js
- *
- * Released under LGPL License.
- * Copyright (c) 1999-2017 Ephox Corp. All rights reserved
- *
- * License: http://www.tinymce.com/license
- * Contributing: http://www.tinymce.com/contributing
+ * Copyright (c) Tiny Technologies, Inc. All rights reserved.
+ * Licensed under the LGPL or a commercial license.
+ * For LGPL see License.txt in the project root for license information.
+ * For commercial licenses see https://www.tiny.cloud/
*/
import NodeType from '../dom/NodeType';
diff --git a/tools-ng/tinymce/editor/src/core/main/ts/fmt/FormatRegistry.ts b/tools-ng/tinymce/src/core/main/ts/fmt/FormatRegistry.ts
similarity index 88%
rename from tools-ng/tinymce/editor/src/core/main/ts/fmt/FormatRegistry.ts
rename to tools-ng/tinymce/src/core/main/ts/fmt/FormatRegistry.ts
index f34fbedde..9d83fd404 100644
--- a/tools-ng/tinymce/editor/src/core/main/ts/fmt/FormatRegistry.ts
+++ b/tools-ng/tinymce/src/core/main/ts/fmt/FormatRegistry.ts
@@ -1,11 +1,8 @@
/**
- * FormatRegistry.js
- *
- * Released under LGPL License.
- * Copyright (c) 1999-2017 Ephox Corp. All rights reserved
- *
- * License: http://www.tinymce.com/license
- * Contributing: http://www.tinymce.com/contributing
+ * Copyright (c) Tiny Technologies, Inc. All rights reserved.
+ * Licensed under the LGPL or a commercial license.
+ * For LGPL see License.txt in the project root for license information.
+ * For commercial licenses see https://www.tiny.cloud/
*/
import DefaultFormats from './DefaultFormats';
diff --git a/tools-ng/tinymce/editor/src/core/main/ts/fmt/FormatUtils.ts b/tools-ng/tinymce/src/core/main/ts/fmt/FormatUtils.ts
similarity index 94%
rename from tools-ng/tinymce/editor/src/core/main/ts/fmt/FormatUtils.ts
rename to tools-ng/tinymce/src/core/main/ts/fmt/FormatUtils.ts
index aeb8701c2..7537b1b3f 100644
--- a/tools-ng/tinymce/editor/src/core/main/ts/fmt/FormatUtils.ts
+++ b/tools-ng/tinymce/src/core/main/ts/fmt/FormatUtils.ts
@@ -1,11 +1,8 @@
/**
- * FormatUtils.js
- *
- * Released under LGPL License.
- * Copyright (c) 1999-2017 Ephox Corp. All rights reserved
- *
- * License: http://www.tinymce.com/license
- * Contributing: http://www.tinymce.com/contributing
+ * Copyright (c) Tiny Technologies, Inc. All rights reserved.
+ * Licensed under the LGPL or a commercial license.
+ * For LGPL see License.txt in the project root for license information.
+ * For commercial licenses see https://www.tiny.cloud/
*/
import TreeWalker from '../api/dom/TreeWalker';
diff --git a/tools-ng/tinymce/editor/src/core/main/ts/fmt/Hooks.ts b/tools-ng/tinymce/src/core/main/ts/fmt/Hooks.ts
similarity index 70%
rename from tools-ng/tinymce/editor/src/core/main/ts/fmt/Hooks.ts
rename to tools-ng/tinymce/src/core/main/ts/fmt/Hooks.ts
index 631148773..97dff9915 100644
--- a/tools-ng/tinymce/editor/src/core/main/ts/fmt/Hooks.ts
+++ b/tools-ng/tinymce/src/core/main/ts/fmt/Hooks.ts
@@ -1,14 +1,11 @@
/**
- * Hooks.js
- *
- * Released under LGPL License.
- * Copyright (c) 1999-2017 Ephox Corp. All rights reserved
- *
- * License: http://www.tinymce.com/license
- * Contributing: http://www.tinymce.com/contributing
+ * Copyright (c) Tiny Technologies, Inc. All rights reserved.
+ * Licensed under the LGPL or a commercial license.
+ * For LGPL see License.txt in the project root for license information.
+ * For commercial licenses see https://www.tiny.cloud/
*/
-import Arr from '../util/Arr';
+import ArrUtils from '../util/ArrUtils';
import NodeType from '../dom/NodeType';
import $ from '../api/dom/DomQuery';
@@ -19,7 +16,7 @@ import $ from '../api/dom/DomQuery';
* @class tinymce.fmt.Hooks
*/
-const postProcessHooks = {}, filter = Arr.filter, each = Arr.each;
+const postProcessHooks = {}, filter = ArrUtils.filter, each = ArrUtils.each;
const addPostProcessHook = function (name, hook) {
let hooks = postProcessHooks[name];
@@ -42,7 +39,7 @@ addPostProcessHook('pre', function (editor) {
let isPre, blocks;
const hasPreSibling = function (pre) {
- return isPre(pre.previousSibling) && Arr.indexOf(blocks, pre.previousSibling) !== -1;
+ return isPre(pre.previousSibling) && ArrUtils.indexOf(blocks, pre.previousSibling) !== -1;
};
const joinPre = function (pre1, pre2) {
diff --git a/tools-ng/tinymce/editor/src/core/main/ts/fmt/MatchFormat.ts b/tools-ng/tinymce/src/core/main/ts/fmt/MatchFormat.ts
similarity index 95%
rename from tools-ng/tinymce/editor/src/core/main/ts/fmt/MatchFormat.ts
rename to tools-ng/tinymce/src/core/main/ts/fmt/MatchFormat.ts
index d23b6b86b..7846ea8b2 100644
--- a/tools-ng/tinymce/editor/src/core/main/ts/fmt/MatchFormat.ts
+++ b/tools-ng/tinymce/src/core/main/ts/fmt/MatchFormat.ts
@@ -1,11 +1,8 @@
/**
- * MatchFormat.js
- *
- * Released under LGPL License.
- * Copyright (c) 1999-2017 Ephox Corp. All rights reserved
- *
- * License: http://www.tinymce.com/license
- * Contributing: http://www.tinymce.com/contributing
+ * Copyright (c) Tiny Technologies, Inc. All rights reserved.
+ * Licensed under the LGPL or a commercial license.
+ * For LGPL see License.txt in the project root for license information.
+ * For commercial licenses see https://www.tiny.cloud/
*/
import FormatUtils from './FormatUtils';
diff --git a/tools-ng/tinymce/editor/src/core/main/ts/fmt/MergeFormats.ts b/tools-ng/tinymce/src/core/main/ts/fmt/MergeFormats.ts
similarity index 96%
rename from tools-ng/tinymce/editor/src/core/main/ts/fmt/MergeFormats.ts
rename to tools-ng/tinymce/src/core/main/ts/fmt/MergeFormats.ts
index e07d6056a..1563f4a6f 100644
--- a/tools-ng/tinymce/editor/src/core/main/ts/fmt/MergeFormats.ts
+++ b/tools-ng/tinymce/src/core/main/ts/fmt/MergeFormats.ts
@@ -1,11 +1,8 @@
/**
- * MergeFormats.js
- *
- * Released under LGPL License.
- * Copyright (c) 1999-2017 Ephox Corp. All rights reserved
- *
- * License: http://www.tinymce.com/license
- * Contributing: http://www.tinymce.com/contributing
+ * Copyright (c) Tiny Technologies, Inc. All rights reserved.
+ * Licensed under the LGPL or a commercial license.
+ * For LGPL see License.txt in the project root for license information.
+ * For commercial licenses see https://www.tiny.cloud/
*/
import { Fun } from '@ephox/katamari';
diff --git a/tools-ng/tinymce/editor/src/core/main/ts/fmt/Preview.ts b/tools-ng/tinymce/src/core/main/ts/fmt/Preview.ts
similarity index 97%
rename from tools-ng/tinymce/editor/src/core/main/ts/fmt/Preview.ts
rename to tools-ng/tinymce/src/core/main/ts/fmt/Preview.ts
index 79c500fb9..ab5c71a97 100644
--- a/tools-ng/tinymce/editor/src/core/main/ts/fmt/Preview.ts
+++ b/tools-ng/tinymce/src/core/main/ts/fmt/Preview.ts
@@ -1,11 +1,8 @@
/**
- * Preview.js
- *
- * Released under LGPL License.
- * Copyright (c) 1999-2017 Ephox Corp. All rights reserved
- *
- * License: http://www.tinymce.com/license
- * Contributing: http://www.tinymce.com/contributing
+ * Copyright (c) Tiny Technologies, Inc. All rights reserved.
+ * Licensed under the LGPL or a commercial license.
+ * For LGPL see License.txt in the project root for license information.
+ * For commercial licenses see https://www.tiny.cloud/
*/
import DOMUtils from '../api/dom/DOMUtils';
diff --git a/tools-ng/tinymce/editor/src/core/main/ts/fmt/RemoveFormat.ts b/tools-ng/tinymce/src/core/main/ts/fmt/RemoveFormat.ts
similarity index 90%
rename from tools-ng/tinymce/editor/src/core/main/ts/fmt/RemoveFormat.ts
rename to tools-ng/tinymce/src/core/main/ts/fmt/RemoveFormat.ts
index b7ef1a605..38f331248 100644
--- a/tools-ng/tinymce/editor/src/core/main/ts/fmt/RemoveFormat.ts
+++ b/tools-ng/tinymce/src/core/main/ts/fmt/RemoveFormat.ts
@@ -1,11 +1,8 @@
/**
- * RemoveFormat.js
- *
- * Released under LGPL License.
- * Copyright (c) 1999-2017 Ephox Corp. All rights reserved
- *
- * License: http://www.tinymce.com/license
- * Contributing: http://www.tinymce.com/contributing
+ * Copyright (c) Tiny Technologies, Inc. All rights reserved.
+ * Licensed under the LGPL or a commercial license.
+ * For LGPL see License.txt in the project root for license information.
+ * For commercial licenses see https://www.tiny.cloud/
*/
import Bookmarks from '../bookmark/Bookmarks';
@@ -23,6 +20,8 @@ import { Editor } from 'tinymce/core/api/Editor';
import SplitRange from 'tinymce/core/selection/SplitRange';
import { Node } from '@ephox/dom-globals';
import { DOMUtils } from 'tinymce/core/api/dom/DOMUtils';
+import { Element, Traverse, InsertAll, Insert } from '@ephox/sugar';
+import { Option } from '@ephox/katamari';
const MCE_ATTR_RE = /^(src|href|style)$/;
const each = Tools.each;
@@ -32,6 +31,10 @@ const isTableCell = function (node) {
return /^(TH|TD)$/.test(node.nodeName);
};
+const isChildOfInlineParent = (dom: DOMUtils, node: Node, parent: Node): boolean => {
+ return dom.isChildOf(node, parent) && node !== parent && !dom.isBlock(parent);
+};
+
const getContainer = function (ed, rng, start?) {
let container, offset, lastIdx;
@@ -70,20 +73,21 @@ const wrap = function (dom, node, name, attrs?) {
return wrapper;
};
-const wrapWithSiblings = (dom: DOMUtils, startNode: Node, name: string, next: boolean, attrs?) => {
- const direction = (next ? 'next' : 'previous') + 'Sibling';
- const wrapper = dom.create(name, attrs);
- startNode.parentNode.insertBefore(wrapper, startNode);
+const wrapWithSiblings = (dom: DOMUtils, node: Node, next: boolean, name: string, attrs?): Node => {
+ const start = Element.fromDom(node);
+ const wrapper = Element.fromDom(dom.create(name, attrs));
+ const siblings = next ? Traverse.nextSiblings(start) : Traverse.prevSiblings(start);
- const nodesToWrap = [startNode];
- let currNode = startNode;
- while ((currNode) = currNode[direction]) {
- nodesToWrap.push(currNode);
+ InsertAll.append(wrapper, siblings);
+ if (next) {
+ Insert.before(start, wrapper);
+ Insert.prepend(wrapper, start);
+ } else {
+ Insert.after(start, wrapper);
+ Insert.append(wrapper, start);
}
- nodesToWrap.forEach((node) => wrapper.appendChild(node));
-
- return wrapper;
+ return wrapper.dom();
};
/**
@@ -476,10 +480,19 @@ const remove = function (ed: Editor, name: string, vars?, node?, similar?) {
endContainer = endContainer.firstChild || endContainer;
}
- if (dom.isChildOf(startContainer, endContainer) && startContainer !== endContainer && !dom.isBlock(endContainer) && !isTableCell(startContainer) && !isTableCell(endContainer)) {
- const wrappedContent = wrapWithSiblings(dom, startContainer, 'span', true, { 'id': '_start', 'data-mce-type': 'bookmark' });
- splitToFormatRoot(wrappedContent);
- startContainer = unwrap(true);
+ // Wrap and split if nested
+ if (isChildOfInlineParent(dom, startContainer, endContainer)) {
+ const marker = Option.from(startContainer.firstChild).getOr(startContainer);
+ splitToFormatRoot(wrapWithSiblings(dom, marker, true, 'span', { 'id': '_start', 'data-mce-type': 'bookmark' }));
+ unwrap(true);
+ return;
+ }
+
+ // Wrap and split if nested
+ if (isChildOfInlineParent(dom, endContainer, startContainer)) {
+ const marker = Option.from(endContainer.lastChild).getOr(endContainer);
+ splitToFormatRoot(wrapWithSiblings(dom, marker, false, 'span', { 'id': '_end', 'data-mce-type': 'bookmark' }));
+ unwrap(false);
return;
}
diff --git a/tools-ng/tinymce/editor/src/core/main/ts/fmt/ToggleFormat.ts b/tools-ng/tinymce/src/core/main/ts/fmt/ToggleFormat.ts
similarity index 66%
rename from tools-ng/tinymce/editor/src/core/main/ts/fmt/ToggleFormat.ts
rename to tools-ng/tinymce/src/core/main/ts/fmt/ToggleFormat.ts
index 2ed717bba..486f55fa9 100644
--- a/tools-ng/tinymce/editor/src/core/main/ts/fmt/ToggleFormat.ts
+++ b/tools-ng/tinymce/src/core/main/ts/fmt/ToggleFormat.ts
@@ -1,11 +1,8 @@
/**
- * ToggleFormat.js
- *
- * Released under LGPL License.
- * Copyright (c) 1999-2017 Ephox Corp. All rights reserved
- *
- * License: http://www.tinymce.com/license
- * Contributing: http://www.tinymce.com/contributing
+ * Copyright (c) Tiny Technologies, Inc. All rights reserved.
+ * Licensed under the LGPL or a commercial license.
+ * For LGPL see License.txt in the project root for license information.
+ * For commercial licenses see https://www.tiny.cloud/
*/
import ApplyFormat from './ApplyFormat';
diff --git a/tools-ng/tinymce/editor/src/core/main/ts/focus/CefFocus.ts b/tools-ng/tinymce/src/core/main/ts/focus/CefFocus.ts
similarity index 72%
rename from tools-ng/tinymce/editor/src/core/main/ts/focus/CefFocus.ts
rename to tools-ng/tinymce/src/core/main/ts/focus/CefFocus.ts
index 8d1dbd77c..b0c0c9253 100644
--- a/tools-ng/tinymce/editor/src/core/main/ts/focus/CefFocus.ts
+++ b/tools-ng/tinymce/src/core/main/ts/focus/CefFocus.ts
@@ -1,11 +1,8 @@
/**
- * CefFocus.js
- *
- * Released under LGPL License.
- * Copyright (c) 1999-2017 Ephox Corp. All rights reserved
- *
- * License: http://www.tinymce.com/license
- * Contributing: http://www.tinymce.com/contributing
+ * Copyright (c) Tiny Technologies, Inc. All rights reserved.
+ * Licensed under the LGPL or a commercial license.
+ * For LGPL see License.txt in the project root for license information.
+ * For commercial licenses see https://www.tiny.cloud/
*/
import { Throttler } from '@ephox/katamari';
diff --git a/tools-ng/tinymce/editor/src/core/main/ts/focus/EditorFocus.ts b/tools-ng/tinymce/src/core/main/ts/focus/EditorFocus.ts
similarity index 94%
rename from tools-ng/tinymce/editor/src/core/main/ts/focus/EditorFocus.ts
rename to tools-ng/tinymce/src/core/main/ts/focus/EditorFocus.ts
index 2121337fa..56b5471d3 100644
--- a/tools-ng/tinymce/editor/src/core/main/ts/focus/EditorFocus.ts
+++ b/tools-ng/tinymce/src/core/main/ts/focus/EditorFocus.ts
@@ -1,11 +1,8 @@
/**
- * EditorFocus.js
- *
- * Released under LGPL License.
- * Copyright (c) 1999-2017 Ephox Corp. All rights reserved
- *
- * License: http://www.tinymce.com/license
- * Contributing: http://www.tinymce.com/contributing
+ * Copyright (c) Tiny Technologies, Inc. All rights reserved.
+ * Licensed under the LGPL or a commercial license.
+ * For LGPL see License.txt in the project root for license information.
+ * For commercial licenses see https://www.tiny.cloud/
*/
import { Option } from '@ephox/katamari';
diff --git a/tools-ng/tinymce/editor/src/core/main/ts/focus/FocusController.ts b/tools-ng/tinymce/src/core/main/ts/focus/FocusController.ts
similarity index 93%
rename from tools-ng/tinymce/editor/src/core/main/ts/focus/FocusController.ts
rename to tools-ng/tinymce/src/core/main/ts/focus/FocusController.ts
index f76421740..a39cc5a06 100644
--- a/tools-ng/tinymce/editor/src/core/main/ts/focus/FocusController.ts
+++ b/tools-ng/tinymce/src/core/main/ts/focus/FocusController.ts
@@ -1,11 +1,8 @@
/**
- * FocusController.js
- *
- * Released under LGPL License.
- * Copyright (c) 1999-2017 Ephox Corp. All rights reserved
- *
- * License: http://www.tinymce.com/license
- * Contributing: http://www.tinymce.com/contributing
+ * Copyright (c) Tiny Technologies, Inc. All rights reserved.
+ * Licensed under the LGPL or a commercial license.
+ * For LGPL see License.txt in the project root for license information.
+ * For commercial licenses see https://www.tiny.cloud/
*/
import { Fun } from '@ephox/katamari';
diff --git a/tools-ng/tinymce/editor/src/core/main/ts/geom/ClientRect.ts b/tools-ng/tinymce/src/core/main/ts/geom/ClientRect.ts
similarity index 92%
rename from tools-ng/tinymce/editor/src/core/main/ts/geom/ClientRect.ts
rename to tools-ng/tinymce/src/core/main/ts/geom/ClientRect.ts
index 05f7bee49..ded490c81 100644
--- a/tools-ng/tinymce/editor/src/core/main/ts/geom/ClientRect.ts
+++ b/tools-ng/tinymce/src/core/main/ts/geom/ClientRect.ts
@@ -1,11 +1,8 @@
/**
- * ClientRect.js
- *
- * Released under LGPL License.
- * Copyright (c) 1999-2017 Ephox Corp. All rights reserved
- *
- * License: http://www.tinymce.com/license
- * Contributing: http://www.tinymce.com/contributing
+ * Copyright (c) Tiny Technologies, Inc. All rights reserved.
+ * Licensed under the LGPL or a commercial license.
+ * For LGPL see License.txt in the project root for license information.
+ * For commercial licenses see https://www.tiny.cloud/
*/
export interface ClientRect {
diff --git a/tools-ng/tinymce/editor/src/core/main/ts/html/FilterNode.ts b/tools-ng/tinymce/src/core/main/ts/html/FilterNode.ts
similarity index 89%
rename from tools-ng/tinymce/editor/src/core/main/ts/html/FilterNode.ts
rename to tools-ng/tinymce/src/core/main/ts/html/FilterNode.ts
index 6c32a2387..6fbf730f1 100644
--- a/tools-ng/tinymce/editor/src/core/main/ts/html/FilterNode.ts
+++ b/tools-ng/tinymce/src/core/main/ts/html/FilterNode.ts
@@ -1,11 +1,8 @@
/**
- * FilterNode.ts
- *
- * Released under LGPL License.
- * Copyright (c) 1999-2018 Ephox Corp. All rights reserved
- *
- * License: http://www.tinymce.com/license
- * Contributing: http://www.tinymce.com/contributing
+ * Copyright (c) Tiny Technologies, Inc. All rights reserved.
+ * Licensed under the LGPL or a commercial license.
+ * For LGPL see License.txt in the project root for license information.
+ * For commercial licenses see https://www.tiny.cloud/
*/
import Node from '../api/html/Node';
diff --git a/tools-ng/tinymce/editor/src/core/main/ts/html/LegacyFilter.ts b/tools-ng/tinymce/src/core/main/ts/html/LegacyFilter.ts
similarity index 87%
rename from tools-ng/tinymce/editor/src/core/main/ts/html/LegacyFilter.ts
rename to tools-ng/tinymce/src/core/main/ts/html/LegacyFilter.ts
index 98a7039fd..70de6404b 100644
--- a/tools-ng/tinymce/editor/src/core/main/ts/html/LegacyFilter.ts
+++ b/tools-ng/tinymce/src/core/main/ts/html/LegacyFilter.ts
@@ -1,11 +1,8 @@
/**
- * LegacyFilter.js
- *
- * Released under LGPL License.
- * Copyright (c) 1999-2017 Ephox Corp. All rights reserved
- *
- * License: http://www.tinymce.com/license
- * Contributing: http://www.tinymce.com/contributing
+ * Copyright (c) Tiny Technologies, Inc. All rights reserved.
+ * Licensed under the LGPL or a commercial license.
+ * For LGPL see License.txt in the project root for license information.
+ * For commercial licenses see https://www.tiny.cloud/
*/
import { Arr } from '@ephox/katamari';
diff --git a/tools-ng/tinymce/editor/src/core/main/ts/html/ParserFilters.ts b/tools-ng/tinymce/src/core/main/ts/html/ParserFilters.ts
similarity index 96%
rename from tools-ng/tinymce/editor/src/core/main/ts/html/ParserFilters.ts
rename to tools-ng/tinymce/src/core/main/ts/html/ParserFilters.ts
index 6bc5e89db..f91c78d99 100644
--- a/tools-ng/tinymce/editor/src/core/main/ts/html/ParserFilters.ts
+++ b/tools-ng/tinymce/src/core/main/ts/html/ParserFilters.ts
@@ -1,3 +1,10 @@
+/**
+ * Copyright (c) Tiny Technologies, Inc. All rights reserved.
+ * Licensed under the LGPL or a commercial license.
+ * For LGPL see License.txt in the project root for license information.
+ * For commercial licenses see https://www.tiny.cloud/
+ */
+
import Tools from '../api/util/Tools';
import { isEmpty, paddEmptyNode } from './ParserUtils';
import Node from '../api/html/Node';
diff --git a/tools-ng/tinymce/editor/src/core/main/ts/html/ParserUtils.ts b/tools-ng/tinymce/src/core/main/ts/html/ParserUtils.ts
similarity index 82%
rename from tools-ng/tinymce/editor/src/core/main/ts/html/ParserUtils.ts
rename to tools-ng/tinymce/src/core/main/ts/html/ParserUtils.ts
index 82f3d0aa0..c01b1cf7f 100644
--- a/tools-ng/tinymce/editor/src/core/main/ts/html/ParserUtils.ts
+++ b/tools-ng/tinymce/src/core/main/ts/html/ParserUtils.ts
@@ -1,3 +1,10 @@
+/**
+ * Copyright (c) Tiny Technologies, Inc. All rights reserved.
+ * Licensed under the LGPL or a commercial license.
+ * For LGPL see License.txt in the project root for license information.
+ * For commercial licenses see https://www.tiny.cloud/
+ */
+
import Node from '../api/html/Node';
const paddEmptyNode = function (settings, args, blockElements, node) {
diff --git a/tools-ng/tinymce/editor/src/core/main/ts/init/Init.ts b/tools-ng/tinymce/src/core/main/ts/init/Init.ts
similarity index 95%
rename from tools-ng/tinymce/editor/src/core/main/ts/init/Init.ts
rename to tools-ng/tinymce/src/core/main/ts/init/Init.ts
index f309c0c85..050aa2107 100644
--- a/tools-ng/tinymce/editor/src/core/main/ts/init/Init.ts
+++ b/tools-ng/tinymce/src/core/main/ts/init/Init.ts
@@ -1,11 +1,8 @@
/**
- * Init.js
- *
- * Released under LGPL License.
- * Copyright (c) 1999-2017 Ephox Corp. All rights reserved
- *
- * License: http://www.tinymce.com/license
- * Contributing: http://www.tinymce.com/contributing
+ * Copyright (c) Tiny Technologies, Inc. All rights reserved.
+ * Licensed under the LGPL or a commercial license.
+ * For LGPL see License.txt in the project root for license information.
+ * For commercial licenses see https://www.tiny.cloud/
*/
import { Type } from '@ephox/katamari';
diff --git a/tools-ng/tinymce/editor/src/core/main/ts/init/InitContentBody.ts b/tools-ng/tinymce/src/core/main/ts/init/InitContentBody.ts
similarity index 97%
rename from tools-ng/tinymce/editor/src/core/main/ts/init/InitContentBody.ts
rename to tools-ng/tinymce/src/core/main/ts/init/InitContentBody.ts
index 359066661..ab4ea37c2 100644
--- a/tools-ng/tinymce/editor/src/core/main/ts/init/InitContentBody.ts
+++ b/tools-ng/tinymce/src/core/main/ts/init/InitContentBody.ts
@@ -1,11 +1,8 @@
/**
- * InitContentBody.js
- *
- * Released under LGPL License.
- * Copyright (c) 1999-2017 Ephox Corp. All rights reserved
- *
- * License: http://www.tinymce.com/license
- * Contributing: http://www.tinymce.com/contributing
+ * Copyright (c) Tiny Technologies, Inc. All rights reserved.
+ * Licensed under the LGPL or a commercial license.
+ * For LGPL see License.txt in the project root for license information.
+ * For commercial licenses see https://www.tiny.cloud/
*/
import { Insert, Element, Attr } from '@ephox/sugar';
diff --git a/tools-ng/tinymce/editor/src/core/main/ts/init/InitIframe.ts b/tools-ng/tinymce/src/core/main/ts/init/InitIframe.ts
similarity index 94%
rename from tools-ng/tinymce/editor/src/core/main/ts/init/InitIframe.ts
rename to tools-ng/tinymce/src/core/main/ts/init/InitIframe.ts
index 09d134796..9c1cb2f78 100644
--- a/tools-ng/tinymce/editor/src/core/main/ts/init/InitIframe.ts
+++ b/tools-ng/tinymce/src/core/main/ts/init/InitIframe.ts
@@ -1,11 +1,8 @@
/**
- * InitIframe.js
- *
- * Released under LGPL License.
- * Copyright (c) 1999-2017 Ephox Corp. All rights reserved
- *
- * License: http://www.tinymce.com/license
- * Contributing: http://www.tinymce.com/contributing
+ * Copyright (c) Tiny Technologies, Inc. All rights reserved.
+ * Licensed under the LGPL or a commercial license.
+ * For LGPL see License.txt in the project root for license information.
+ * For commercial licenses see https://www.tiny.cloud/
*/
import { Element, Attr, Css } from '@ephox/sugar';
diff --git a/tools-ng/tinymce/editor/src/core/main/ts/init/Render.ts b/tools-ng/tinymce/src/core/main/ts/init/Render.ts
similarity index 96%
rename from tools-ng/tinymce/editor/src/core/main/ts/init/Render.ts
rename to tools-ng/tinymce/src/core/main/ts/init/Render.ts
index 8177aab3f..af9b0de1c 100644
--- a/tools-ng/tinymce/editor/src/core/main/ts/init/Render.ts
+++ b/tools-ng/tinymce/src/core/main/ts/init/Render.ts
@@ -1,11 +1,8 @@
/**
- * Render.js
- *
- * Released under LGPL License.
- * Copyright (c) 1999-2017 Ephox Corp. All rights reserved
- *
- * License: http://www.tinymce.com/license
- * Contributing: http://www.tinymce.com/contributing
+ * Copyright (c) Tiny Technologies, Inc. All rights reserved.
+ * Licensed under the LGPL or a commercial license.
+ * For LGPL see License.txt in the project root for license information.
+ * For commercial licenses see https://www.tiny.cloud/
*/
import { Type } from '@ephox/katamari';
diff --git a/tools-ng/tinymce/editor/src/core/main/ts/keyboard/ArrowKeys.ts b/tools-ng/tinymce/src/core/main/ts/keyboard/ArrowKeys.ts
similarity index 77%
rename from tools-ng/tinymce/editor/src/core/main/ts/keyboard/ArrowKeys.ts
rename to tools-ng/tinymce/src/core/main/ts/keyboard/ArrowKeys.ts
index aeb3d1758..ca9183232 100644
--- a/tools-ng/tinymce/editor/src/core/main/ts/keyboard/ArrowKeys.ts
+++ b/tools-ng/tinymce/src/core/main/ts/keyboard/ArrowKeys.ts
@@ -1,17 +1,15 @@
/**
- * ArrowKeys.js
- *
- * Released under LGPL License.
- * Copyright (c) 1999-2017 Ephox Corp. All rights reserved
- *
- * License: http://www.tinymce.com/license
- * Contributing: http://www.tinymce.com/contributing
+ * Copyright (c) Tiny Technologies, Inc. All rights reserved.
+ * Licensed under the LGPL or a commercial license.
+ * For LGPL see License.txt in the project root for license information.
+ * For commercial licenses see https://www.tiny.cloud/
*/
import { PlatformDetection } from '@ephox/sand';
import BoundarySelection from './BoundarySelection';
import * as CefNavigation from './CefNavigation';
import * as TableNavigation from './TableNavigation';
+import * as ContentEndpointNavigation from './ContentEndpointNavigation';
import MatchKeys from './MatchKeys';
import VK from '../api/util/VK';
import { Editor } from 'tinymce/core/api/Editor';
@@ -33,7 +31,9 @@ const executeKeydownOverride = function (editor: Editor, caret: Cell, evt:
{ keyCode: VK.RIGHT, action: BoundarySelection.move(editor, caret, true) },
{ keyCode: VK.LEFT, action: BoundarySelection.move(editor, caret, false) },
{ keyCode: VK.RIGHT, ctrlKey: !os.isOSX(), altKey: os.isOSX(), action: BoundarySelection.moveNextWord(editor, caret) },
- { keyCode: VK.LEFT, ctrlKey: !os.isOSX(), altKey: os.isOSX(), action: BoundarySelection.movePrevWord(editor, caret) }
+ { keyCode: VK.LEFT, ctrlKey: !os.isOSX(), altKey: os.isOSX(), action: BoundarySelection.movePrevWord(editor, caret) },
+ { keyCode: VK.UP, action: ContentEndpointNavigation.moveV(editor, false) },
+ { keyCode: VK.DOWN, action: ContentEndpointNavigation.moveV(editor, true) }
], evt).each(function (_) {
evt.preventDefault();
});
diff --git a/tools-ng/tinymce/editor/src/core/main/ts/keyboard/BoundaryCaret.ts b/tools-ng/tinymce/src/core/main/ts/keyboard/BoundaryCaret.ts
similarity index 90%
rename from tools-ng/tinymce/editor/src/core/main/ts/keyboard/BoundaryCaret.ts
rename to tools-ng/tinymce/src/core/main/ts/keyboard/BoundaryCaret.ts
index 8571393a3..17435b2c8 100644
--- a/tools-ng/tinymce/editor/src/core/main/ts/keyboard/BoundaryCaret.ts
+++ b/tools-ng/tinymce/src/core/main/ts/keyboard/BoundaryCaret.ts
@@ -1,11 +1,8 @@
/**
- * BoundaryCaret.js
- *
- * Released under LGPL License.
- * Copyright (c) 1999-2017 Ephox Corp. All rights reserved
- *
- * License: http://www.tinymce.com/license
- * Contributing: http://www.tinymce.com/contributing
+ * Copyright (c) Tiny Technologies, Inc. All rights reserved.
+ * Licensed under the LGPL or a commercial license.
+ * For LGPL see License.txt in the project root for license information.
+ * For commercial licenses see https://www.tiny.cloud/
*/
import { Option, Cell } from '@ephox/katamari';
diff --git a/tools-ng/tinymce/editor/src/core/main/ts/keyboard/BoundaryLocation.ts b/tools-ng/tinymce/src/core/main/ts/keyboard/BoundaryLocation.ts
similarity index 96%
rename from tools-ng/tinymce/editor/src/core/main/ts/keyboard/BoundaryLocation.ts
rename to tools-ng/tinymce/src/core/main/ts/keyboard/BoundaryLocation.ts
index 0b1d4b5df..273b1e896 100644
--- a/tools-ng/tinymce/editor/src/core/main/ts/keyboard/BoundaryLocation.ts
+++ b/tools-ng/tinymce/src/core/main/ts/keyboard/BoundaryLocation.ts
@@ -1,11 +1,8 @@
/**
- * BoundaryLocation.js
- *
- * Released under LGPL License.
- * Copyright (c) 1999-2017 Ephox Corp. All rights reserved
- *
- * License: http://www.tinymce.com/license
- * Contributing: http://www.tinymce.com/contributing
+ * Copyright (c) Tiny Technologies, Inc. All rights reserved.
+ * Licensed under the LGPL or a commercial license.
+ * For LGPL see License.txt in the project root for license information.
+ * For commercial licenses see https://www.tiny.cloud/
*/
import { Adt, Fun, Option, Options } from '@ephox/katamari';
diff --git a/tools-ng/tinymce/editor/src/core/main/ts/keyboard/BoundarySelection.ts b/tools-ng/tinymce/src/core/main/ts/keyboard/BoundarySelection.ts
similarity index 94%
rename from tools-ng/tinymce/editor/src/core/main/ts/keyboard/BoundarySelection.ts
rename to tools-ng/tinymce/src/core/main/ts/keyboard/BoundarySelection.ts
index d9c269845..088cd0ab4 100644
--- a/tools-ng/tinymce/editor/src/core/main/ts/keyboard/BoundarySelection.ts
+++ b/tools-ng/tinymce/src/core/main/ts/keyboard/BoundarySelection.ts
@@ -1,11 +1,8 @@
/**
- * BoundarySelection.js
- *
- * Released under LGPL License.
- * Copyright (c) 1999-2017 Ephox Corp. All rights reserved
- *
- * License: http://www.tinymce.com/license
- * Contributing: http://www.tinymce.com/contributing
+ * Copyright (c) Tiny Technologies, Inc. All rights reserved.
+ * Licensed under the LGPL or a commercial license.
+ * For LGPL see License.txt in the project root for license information.
+ * For commercial licenses see https://www.tiny.cloud/
*/
import { Arr, Cell, Fun } from '@ephox/katamari';
diff --git a/tools-ng/tinymce/editor/src/core/main/ts/keyboard/CefNavigation.ts b/tools-ng/tinymce/src/core/main/ts/keyboard/CefNavigation.ts
similarity index 75%
rename from tools-ng/tinymce/editor/src/core/main/ts/keyboard/CefNavigation.ts
rename to tools-ng/tinymce/src/core/main/ts/keyboard/CefNavigation.ts
index 4fefc3b4f..220cbbfb2 100644
--- a/tools-ng/tinymce/editor/src/core/main/ts/keyboard/CefNavigation.ts
+++ b/tools-ng/tinymce/src/core/main/ts/keyboard/CefNavigation.ts
@@ -1,11 +1,8 @@
/**
- * CefNavigation.js
- *
- * Released under LGPL License.
- * Copyright (c) 1999-2017 Ephox Corp. All rights reserved
- *
- * License: http://www.tinymce.com/license
- * Contributing: http://www.tinymce.com/contributing
+ * Copyright (c) Tiny Technologies, Inc. All rights reserved.
+ * Licensed under the LGPL or a commercial license.
+ * For LGPL see License.txt in the project root for license information.
+ * For commercial licenses see https://www.tiny.cloud/
*/
import Env from '../api/Env';
@@ -18,57 +15,36 @@ import * as LineWalker from '../caret/LineWalker';
import NodeType from '../dom/NodeType';
import * as CefUtils from './CefUtils';
import * as RangeNodes from '../selection/RangeNodes';
-import Arr from '../util/Arr';
-import Fun from '../util/Fun';
+import ArrUtils from '../util/ArrUtils';
import { Range, Element } from '@ephox/dom-globals';
+import { Fun, Arr } from '@ephox/katamari';
+import InlineUtils from 'tinymce/core/keyboard/InlineUtils';
const isContentEditableFalse = NodeType.isContentEditableFalse;
const getSelectedNode = RangeNodes.getSelectedNode;
const isAfterContentEditableFalse = CaretUtils.isAfterContentEditableFalse;
const isBeforeContentEditableFalse = CaretUtils.isBeforeContentEditableFalse;
-const getVisualCaretPosition = (walkFn, caretPosition: CaretPosition): CaretPosition => {
- while ((caretPosition = walkFn(caretPosition))) {
- if (caretPosition.isVisible()) {
- return caretPosition;
- }
- }
-
- return caretPosition;
-};
-
-const isMoveInsideSameBlock = (from: CaretPosition, to: CaretPosition): boolean => {
- const inSameBlock = CaretUtils.isInSameBlock(from, to);
-
- // Handle bogus BR abc|
- if (!inSameBlock && NodeType.isBr(from.getNode())) {
- return true;
- }
-
- return inSameBlock;
-};
-
const moveToCeFalseHorizontally = (direction: HDirection, editor, getNextPosFn, range): Range => {
- let node, caretPosition, peekCaretPosition, rangeIsInContainerBlock;
const forwards = direction === HDirection.Forwards;
const isBeforeContentEditableFalseFn = forwards ? isBeforeContentEditableFalse : isAfterContentEditableFalse;
if (!range.collapsed) {
- node = getSelectedNode(range);
+ const node = getSelectedNode(range);
if (isContentEditableFalse(node)) {
return CefUtils.showCaret(direction, editor, node, direction === HDirection.Backwards, true);
}
}
- rangeIsInContainerBlock = CaretContainer.isRangeInCaretContainerBlock(range);
- caretPosition = CaretUtils.getNormalizedRangeEndPoint(direction, editor.getBody(), range);
+ const rangeIsInContainerBlock = CaretContainer.isRangeInCaretContainerBlock(range);
+ const caretPosition = CaretUtils.getNormalizedRangeEndPoint(direction, editor.getBody(), range);
if (isBeforeContentEditableFalseFn(caretPosition)) {
- return CefUtils.selectNode(editor, caretPosition.getNode(!forwards));
+ return CefUtils.selectNode(editor, caretPosition.getNode(!forwards) as Element);
}
- caretPosition = getNextPosFn(caretPosition);
- if (!caretPosition) {
+ const nextCaretPosition = InlineUtils.normalizePosition(forwards, getNextPosFn(caretPosition));
+ if (!nextCaretPosition) {
if (rangeIsInContainerBlock) {
return range;
}
@@ -76,20 +52,20 @@ const moveToCeFalseHorizontally = (direction: HDirection, editor, getNextPosFn,
return null;
}
- if (isBeforeContentEditableFalseFn(caretPosition)) {
- return CefUtils.showCaret(direction, editor, caretPosition.getNode(!forwards), forwards, true);
+ if (isBeforeContentEditableFalseFn(nextCaretPosition)) {
+ return CefUtils.showCaret(direction, editor, nextCaretPosition.getNode(!forwards) as Element, forwards, true);
}
// Peek ahead for handling of ab|c -> abc|
- peekCaretPosition = getNextPosFn(caretPosition);
- if (isBeforeContentEditableFalseFn(peekCaretPosition)) {
- if (isMoveInsideSameBlock(caretPosition, peekCaretPosition)) {
+ const peekCaretPosition = getNextPosFn(nextCaretPosition);
+ if (peekCaretPosition && isBeforeContentEditableFalseFn(peekCaretPosition)) {
+ if (CaretUtils.isMoveInsideSameBlock(nextCaretPosition, peekCaretPosition)) {
return CefUtils.showCaret(direction, editor, peekCaretPosition.getNode(!forwards), forwards, true);
}
}
if (rangeIsInContainerBlock) {
- return CefUtils.renderRangeCaret(editor, caretPosition.toRange(), true);
+ return CefUtils.renderRangeCaret(editor, nextCaretPosition.toRange(), true);
}
return null;
@@ -104,7 +80,7 @@ const moveToCeFalseVertically = function (direction: LineWalker.VDirection, edit
caretPosition = CaretUtils.getNormalizedRangeEndPoint(direction, editor.getBody(), range);
linePositions = walkerFn(editor.getBody(), LineWalker.isAboveLine(1), caretPosition);
nextLinePositions = Arr.filter(linePositions, LineWalker.isLine(1));
- caretClientRect = Arr.last(caretPosition.getClientRects());
+ caretClientRect = ArrUtils.last(caretPosition.getClientRects());
if (isBeforeContentEditableFalse(caretPosition) || CaretUtils.isBeforeTable(caretPosition)) {
contentEditableFalseNode = caretPosition.getNode();
@@ -138,7 +114,7 @@ const moveToCeFalseVertically = function (direction: LineWalker.VDirection, edit
return CefUtils.renderRangeCaret(editor, closestNextLineRect.position.toRange(), true);
}
- closestNextLineRect = Arr.last(Arr.filter(caretPositions, LineWalker.isLine(0)));
+ closestNextLineRect = ArrUtils.last(Arr.filter(caretPositions, LineWalker.isLine(0)));
if (closestNextLineRect) {
return CefUtils.renderRangeCaret(editor, closestNextLineRect.position.toRange(), true);
}
@@ -158,8 +134,8 @@ const createTextBlock = (editor): Element => {
const exitPreBlock = (editor, direction: HDirection, range: Range): void => {
let pre, caretPos, newBlock;
const caretWalker = CaretWalker(editor.getBody());
- const getNextVisualCaretPosition = Fun.curry(getVisualCaretPosition, caretWalker.next);
- const getPrevVisualCaretPosition = Fun.curry(getVisualCaretPosition, caretWalker.prev);
+ const getNextVisualCaretPosition = Fun.curry(CaretUtils.getVisualCaretPosition, caretWalker.next);
+ const getPrevVisualCaretPosition = Fun.curry(CaretUtils.getVisualCaretPosition, caretWalker.prev);
if (range.collapsed && editor.settings.forced_root_block) {
pre = editor.dom.getParent(range.startContainer, 'PRE');
@@ -190,8 +166,8 @@ const exitPreBlock = (editor, direction: HDirection, range: Range): void => {
const getHorizontalRange = (editor, forward: boolean): Range => {
const caretWalker = CaretWalker(editor.getBody());
- const getNextVisualCaretPosition = Fun.curry(getVisualCaretPosition, caretWalker.next);
- const getPrevVisualCaretPosition = Fun.curry(getVisualCaretPosition, caretWalker.prev);
+ const getNextVisualCaretPosition = Fun.curry(CaretUtils.getVisualCaretPosition, caretWalker.next);
+ const getPrevVisualCaretPosition = Fun.curry(CaretUtils.getVisualCaretPosition, caretWalker.prev);
let newRange;
const direction = forward ? HDirection.Forwards : HDirection.Backwards;
const getNextPosFn = forward ? getNextVisualCaretPosition : getPrevVisualCaretPosition;
diff --git a/tools-ng/tinymce/editor/src/core/main/ts/keyboard/CefUtils.ts b/tools-ng/tinymce/src/core/main/ts/keyboard/CefUtils.ts
similarity index 90%
rename from tools-ng/tinymce/editor/src/core/main/ts/keyboard/CefUtils.ts
rename to tools-ng/tinymce/src/core/main/ts/keyboard/CefUtils.ts
index 7af553775..dbe3f1aa1 100644
--- a/tools-ng/tinymce/editor/src/core/main/ts/keyboard/CefUtils.ts
+++ b/tools-ng/tinymce/src/core/main/ts/keyboard/CefUtils.ts
@@ -1,11 +1,8 @@
/**
- * CefUtils.js
- *
- * Released under LGPL License.
- * Copyright (c) 1999-2017 Ephox Corp. All rights reserved
- *
- * License: http://www.tinymce.com/license
- * Contributing: http://www.tinymce.com/contributing
+ * Copyright (c) Tiny Technologies, Inc. All rights reserved.
+ * Licensed under the LGPL or a commercial license.
+ * For LGPL see License.txt in the project root for license information.
+ * For commercial licenses see https://www.tiny.cloud/
*/
import CaretPosition from '../caret/CaretPosition';
diff --git a/tools-ng/tinymce/src/core/main/ts/keyboard/ContentEndpointNavigation.ts b/tools-ng/tinymce/src/core/main/ts/keyboard/ContentEndpointNavigation.ts
new file mode 100644
index 000000000..fb4f3ffcc
--- /dev/null
+++ b/tools-ng/tinymce/src/core/main/ts/keyboard/ContentEndpointNavigation.ts
@@ -0,0 +1,95 @@
+/**
+ * Copyright (c) Tiny Technologies, Inc. All rights reserved.
+ * Licensed under the LGPL or a commercial license.
+ * For LGPL see License.txt in the project root for license information.
+ * For commercial licenses see https://www.tiny.cloud/
+ */
+
+import { Editor } from '../api/Editor';
+import CaretPosition from '../caret/CaretPosition';
+import { Fun, Arr } from '@ephox/katamari';
+import { Insert, Element, Compare, PredicateFind, Node, Attr } from '@ephox/sugar';
+import Settings from '../api/Settings';
+import { document } from '@ephox/dom-globals';
+import * as ElementType from '../dom/ElementType';
+import { isAtLastLine, isAtFirstLine } from '../caret/LineReader';
+
+const isTarget = (node: Element) => Arr.contains(['figcaption'], Node.name(node));
+
+const rangeBefore = (target: Element) => {
+ const rng = document.createRange();
+ rng.setStartBefore(target.dom());
+ rng.setEndBefore(target.dom());
+ return rng;
+};
+
+const insertElement = (root: Element, elm: Element, forward: boolean) => {
+ if (forward) {
+ Insert.append(root, elm);
+ } else {
+ Insert.prepend(root, elm);
+ }
+};
+
+const insertBr = (root: Element, forward: boolean) => {
+ const br = Element.fromTag('br');
+ insertElement(root, br, forward);
+ return rangeBefore(br);
+};
+
+const insertBlock = (root: Element, forward: boolean, blockName: string, attrs: Record) => {
+ const block = Element.fromTag(blockName);
+ const br = Element.fromTag('br');
+
+ Attr.setAll(block, attrs);
+ Insert.append(block, br);
+ insertElement(root, block, forward);
+
+ return rangeBefore(br);
+};
+
+const insertEmptyLine = (root: Element, rootBlockName: string, attrs: Record, forward: boolean) => {
+ if (rootBlockName === '') {
+ return insertBr(root, forward);
+ } else {
+ return insertBlock(root, forward, rootBlockName, attrs);
+ }
+};
+
+const getClosestTargetBlock = (pos: CaretPosition, root: Element) => {
+ const isRoot = Fun.curry(Compare.eq, root);
+ return PredicateFind.closest(Element.fromDom(pos.container()), ElementType.isBlock, isRoot).filter(isTarget);
+};
+
+const isAtFirstOrLastLine = (root: Element, forward: boolean, pos: CaretPosition) => {
+ return forward ? isAtLastLine(root.dom(), pos) : isAtFirstLine(root.dom(), pos);
+};
+
+const moveCaretToNewEmptyLine = (editor: Editor, forward: boolean) => {
+ const root = Element.fromDom(editor.getBody());
+ const pos = CaretPosition.fromRangeStart(editor.selection.getRng());
+ const rootBlock = Settings.getForcedRootBlock(editor);
+ const rootBlockAttrs = Settings.getForcedRootBlockAttrs(editor);
+
+ return getClosestTargetBlock(pos, root).exists(() => {
+ if (isAtFirstOrLastLine(root, forward, pos)) {
+ const rng = insertEmptyLine(root, rootBlock, rootBlockAttrs, forward);
+ editor.selection.setRng(rng);
+ return true;
+ } else {
+ return false;
+ }
+ });
+};
+
+const moveV = (editor: Editor, forward: boolean) => () => {
+ if (editor.selection.isCollapsed()) {
+ return moveCaretToNewEmptyLine(editor, forward);
+ } else {
+ return false;
+ }
+};
+
+export {
+ moveV
+};
\ No newline at end of file
diff --git a/tools-ng/tinymce/editor/src/core/main/ts/keyboard/DeleteBackspaceKeys.ts b/tools-ng/tinymce/src/core/main/ts/keyboard/DeleteBackspaceKeys.ts
similarity index 84%
rename from tools-ng/tinymce/editor/src/core/main/ts/keyboard/DeleteBackspaceKeys.ts
rename to tools-ng/tinymce/src/core/main/ts/keyboard/DeleteBackspaceKeys.ts
index 8a72bfde5..cdc9d5754 100644
--- a/tools-ng/tinymce/editor/src/core/main/ts/keyboard/DeleteBackspaceKeys.ts
+++ b/tools-ng/tinymce/src/core/main/ts/keyboard/DeleteBackspaceKeys.ts
@@ -1,16 +1,14 @@
/**
- * DeleteBackspaceKeys.js
- *
- * Released under LGPL License.
- * Copyright (c) 1999-2017 Ephox Corp. All rights reserved
- *
- * License: http://www.tinymce.com/license
- * Contributing: http://www.tinymce.com/contributing
+ * Copyright (c) Tiny Technologies, Inc. All rights reserved.
+ * Licensed under the LGPL or a commercial license.
+ * For LGPL see License.txt in the project root for license information.
+ * For commercial licenses see https://www.tiny.cloud/
*/
import BlockBoundaryDelete from '../delete/BlockBoundaryDelete';
import BlockRangeDelete from '../delete/BlockRangeDelete';
import CefDelete from '../delete/CefDelete';
+import CefBoundaryDelete from '../delete/CefBoundaryDelete';
import InlineBoundaryDelete from '../delete/InlineBoundaryDelete';
import InlineFormatDelete from '../delete/InlineFormatDelete';
import TableDelete from '../delete/TableDelete';
@@ -25,6 +23,8 @@ const executeKeydownOverride = function (editor: Editor, caret: Cell, evt:
MatchKeys.execute([
{ keyCode: VK.BACKSPACE, action: MatchKeys.action(CefDelete.backspaceDelete, editor, false) },
{ keyCode: VK.DELETE, action: MatchKeys.action(CefDelete.backspaceDelete, editor, true) },
+ { keyCode: VK.BACKSPACE, action: MatchKeys.action(CefBoundaryDelete.backspaceDelete, editor, false) },
+ { keyCode: VK.DELETE, action: MatchKeys.action(CefBoundaryDelete.backspaceDelete, editor, true) },
{ keyCode: VK.BACKSPACE, action: MatchKeys.action(InlineBoundaryDelete.backspaceDelete, editor, caret, false) },
{ keyCode: VK.DELETE, action: MatchKeys.action(InlineBoundaryDelete.backspaceDelete, editor, caret, true) },
{ keyCode: VK.BACKSPACE, action: MatchKeys.action(TableDelete.backspaceDelete, editor, false) },
diff --git a/tools-ng/tinymce/editor/src/core/main/ts/keyboard/EnterKey.ts b/tools-ng/tinymce/src/core/main/ts/keyboard/EnterKey.ts
similarity index 73%
rename from tools-ng/tinymce/editor/src/core/main/ts/keyboard/EnterKey.ts
rename to tools-ng/tinymce/src/core/main/ts/keyboard/EnterKey.ts
index dc33a50b1..01c0d0f39 100644
--- a/tools-ng/tinymce/editor/src/core/main/ts/keyboard/EnterKey.ts
+++ b/tools-ng/tinymce/src/core/main/ts/keyboard/EnterKey.ts
@@ -1,11 +1,8 @@
/**
- * EnterKey.js
- *
- * Released under LGPL License.
- * Copyright (c) 1999-2017 Ephox Corp. All rights reserved
- *
- * License: http://www.tinymce.com/license
- * Contributing: http://www.tinymce.com/contributing
+ * Copyright (c) Tiny Technologies, Inc. All rights reserved.
+ * Licensed under the LGPL or a commercial license.
+ * For LGPL see License.txt in the project root for license information.
+ * For commercial licenses see https://www.tiny.cloud/
*/
import InsertNewLine from '../newline/InsertNewLine';
@@ -13,8 +10,9 @@ import VK from '../api/util/VK';
import { Editor } from 'tinymce/core/api/Editor';
import { EditorEvent } from 'tinymce/core/api/dom/EventUtils';
import { KeyboardEvent } from '@ephox/dom-globals';
+import { UndoManager } from '../api/UndoManager';
-const endTypingLevel = function (undoManager) {
+const endTypingLevel = function (undoManager: UndoManager) {
if (undoManager.typing) {
undoManager.typing = false;
undoManager.add();
diff --git a/tools-ng/tinymce/editor/src/core/main/ts/keyboard/FormatShortcuts.ts b/tools-ng/tinymce/src/core/main/ts/keyboard/FormatShortcuts.ts
similarity index 71%
rename from tools-ng/tinymce/editor/src/core/main/ts/keyboard/FormatShortcuts.ts
rename to tools-ng/tinymce/src/core/main/ts/keyboard/FormatShortcuts.ts
index 67d8805d8..1ea8d16a9 100644
--- a/tools-ng/tinymce/editor/src/core/main/ts/keyboard/FormatShortcuts.ts
+++ b/tools-ng/tinymce/src/core/main/ts/keyboard/FormatShortcuts.ts
@@ -1,11 +1,8 @@
/**
- * FormatShortcuts.js
- *
- * Released under LGPL License.
- * Copyright (c) 1999-2017 Ephox Corp. All rights reserved
- *
- * License: http://www.tinymce.com/license
- * Contributing: http://www.tinymce.com/contributing
+ * Copyright (c) Tiny Technologies, Inc. All rights reserved.
+ * Licensed under the LGPL or a commercial license.
+ * For LGPL see License.txt in the project root for license information.
+ * For commercial licenses see https://www.tiny.cloud/
*/
const setup = function (editor) {
diff --git a/tools-ng/tinymce/editor/src/core/main/ts/keyboard/InlineUtils.ts b/tools-ng/tinymce/src/core/main/ts/keyboard/InlineUtils.ts
similarity index 91%
rename from tools-ng/tinymce/editor/src/core/main/ts/keyboard/InlineUtils.ts
rename to tools-ng/tinymce/src/core/main/ts/keyboard/InlineUtils.ts
index c263b66e6..ad39fd693 100644
--- a/tools-ng/tinymce/editor/src/core/main/ts/keyboard/InlineUtils.ts
+++ b/tools-ng/tinymce/src/core/main/ts/keyboard/InlineUtils.ts
@@ -1,11 +1,8 @@
/**
- * InlineUtils.js
- *
- * Released under LGPL License.
- * Copyright (c) 1999-2017 Ephox Corp. All rights reserved
- *
- * License: http://www.tinymce.com/license
- * Contributing: http://www.tinymce.com/contributing
+ * Copyright (c) Tiny Technologies, Inc. All rights reserved.
+ * Licensed under the LGPL or a commercial license.
+ * For LGPL see License.txt in the project root for license information.
+ * For commercial licenses see https://www.tiny.cloud/
*/
import { Arr, Fun, Option } from '@ephox/katamari';
@@ -49,6 +46,10 @@ const isAtZwsp = function (pos: CaretPosition) {
};
const normalizePosition = function (forward: boolean, pos: CaretPosition) {
+ if (!pos) {
+ return pos;
+ }
+
const container = pos.container(), offset = pos.offset();
if (forward) {
diff --git a/tools-ng/tinymce/src/core/main/ts/keyboard/InputKeys.ts b/tools-ng/tinymce/src/core/main/ts/keyboard/InputKeys.ts
new file mode 100644
index 000000000..5eca11638
--- /dev/null
+++ b/tools-ng/tinymce/src/core/main/ts/keyboard/InputKeys.ts
@@ -0,0 +1,50 @@
+/**
+ * Copyright (c) Tiny Technologies, Inc. All rights reserved.
+ * Licensed under the LGPL or a commercial license.
+ * For LGPL see License.txt in the project root for license information.
+ * For commercial licenses see https://www.tiny.cloud/
+ */
+
+import { Editor } from '../api/Editor';
+import { normalizeNbspsInEditor } from './Nbsps';
+import { PlatformDetection } from '@ephox/sand';
+import { Throttler } from '@ephox/katamari';
+
+const browser = PlatformDetection.detect().browser;
+
+const setupIeInput = (editor: Editor) => {
+ // We need to delay this since the normalization should happen after typing a letter
+ // for example typing ab in a paragraph would otherwise result in a a b
+ const keypressThrotter = Throttler.first(() => {
+ // We only care about non composing inputs since moving the caret or modifying the text node will blow away the IME
+ if (!editor.composing) {
+ normalizeNbspsInEditor(editor);
+ }
+ }, 0);
+
+ if (browser.isIE()) {
+ // IE doesn't have the input event so we need to fake that with a keypress on IE keypress is only fired on alpha numeric keys
+ editor.on('keypress', (e) => {
+ keypressThrotter.throttle();
+ });
+
+ editor.on('remove', (e) => {
+ keypressThrotter.cancel();
+ });
+ }
+};
+
+const setup = (editor: Editor) => {
+ setupIeInput(editor);
+
+ editor.on('input', (e) => {
+ // We only care about non composing inputs since moving the caret or modifying the text node will blow away the IME
+ if (e.isComposing === false) {
+ normalizeNbspsInEditor(editor);
+ }
+ });
+};
+
+export {
+ setup
+};
\ No newline at end of file
diff --git a/tools-ng/tinymce/editor/src/core/main/ts/keyboard/InsertSpace.ts b/tools-ng/tinymce/src/core/main/ts/keyboard/InsertSpace.ts
similarity index 85%
rename from tools-ng/tinymce/editor/src/core/main/ts/keyboard/InsertSpace.ts
rename to tools-ng/tinymce/src/core/main/ts/keyboard/InsertSpace.ts
index fa6dc5250..c9deb33bb 100644
--- a/tools-ng/tinymce/editor/src/core/main/ts/keyboard/InsertSpace.ts
+++ b/tools-ng/tinymce/src/core/main/ts/keyboard/InsertSpace.ts
@@ -1,11 +1,8 @@
/**
- * InsertSpace.ts
- *
- * Released under LGPL License.
- * Copyright (c) 1999-2018 Ephox Corp. All rights reserved
- *
- * License: http://www.tinymce.com/license
- * Contributing: http://www.tinymce.com/contributing
+ * Copyright (c) Tiny Technologies, Inc. All rights reserved.
+ * Licensed under the LGPL or a commercial license.
+ * For LGPL see License.txt in the project root for license information.
+ * For commercial licenses see https://www.tiny.cloud/
*/
import { Option, Fun } from '@ephox/katamari';
@@ -52,10 +49,7 @@ const insertSpaceOrNbspAtSelection = (editor: Editor): boolean => {
return BoundaryLocation.readLocation(isInlineTarget, editor.getBody(), caretPosition)
.bind(locationToCaretPosition(root))
.bind(insertInlineBoundarySpaceOrNbsp(root, pos))
- .fold(
- () => insertSpaceOrNbspAtPosition(root, pos).map(setSelection(editor)).getOr(false),
- setSelection(editor)
- );
+ .exists(setSelection(editor));
} else {
return false;
}
diff --git a/tools-ng/tinymce/editor/src/core/main/ts/keyboard/KeyboardOverrides.ts b/tools-ng/tinymce/src/core/main/ts/keyboard/KeyboardOverrides.ts
similarity index 74%
rename from tools-ng/tinymce/editor/src/core/main/ts/keyboard/KeyboardOverrides.ts
rename to tools-ng/tinymce/src/core/main/ts/keyboard/KeyboardOverrides.ts
index f5d5f28d9..39a02965f 100644
--- a/tools-ng/tinymce/editor/src/core/main/ts/keyboard/KeyboardOverrides.ts
+++ b/tools-ng/tinymce/src/core/main/ts/keyboard/KeyboardOverrides.ts
@@ -1,11 +1,8 @@
/**
- * KeyboardOverrides.js
- *
- * Released under LGPL License.
- * Copyright (c) 1999-2017 Ephox Corp. All rights reserved
- *
- * License: http://www.tinymce.com/license
- * Contributing: http://www.tinymce.com/contributing
+ * Copyright (c) Tiny Technologies, Inc. All rights reserved.
+ * Licensed under the LGPL or a commercial license.
+ * For LGPL see License.txt in the project root for license information.
+ * For commercial licenses see https://www.tiny.cloud/
*/
import ArrowKeys from './ArrowKeys';
diff --git a/tools-ng/tinymce/editor/src/core/main/ts/keyboard/MatchKeys.ts b/tools-ng/tinymce/src/core/main/ts/keyboard/MatchKeys.ts
similarity index 85%
rename from tools-ng/tinymce/editor/src/core/main/ts/keyboard/MatchKeys.ts
rename to tools-ng/tinymce/src/core/main/ts/keyboard/MatchKeys.ts
index c6f05c1d7..dc802dffd 100644
--- a/tools-ng/tinymce/editor/src/core/main/ts/keyboard/MatchKeys.ts
+++ b/tools-ng/tinymce/src/core/main/ts/keyboard/MatchKeys.ts
@@ -1,11 +1,8 @@
/**
- * MatchKeys.js
- *
- * Released under LGPL License.
- * Copyright (c) 1999-2017 Ephox Corp. All rights reserved
- *
- * License: http://www.tinymce.com/license
- * Contributing: http://www.tinymce.com/contributing
+ * Copyright (c) Tiny Technologies, Inc. All rights reserved.
+ * Licensed under the LGPL or a commercial license.
+ * For LGPL see License.txt in the project root for license information.
+ * For commercial licenses see https://www.tiny.cloud/
*/
import { Arr, Fun, Merger, Option } from '@ephox/katamari';
diff --git a/tools-ng/tinymce/editor/src/core/main/ts/keyboard/Nbsps.ts b/tools-ng/tinymce/src/core/main/ts/keyboard/Nbsps.ts
similarity index 87%
rename from tools-ng/tinymce/editor/src/core/main/ts/keyboard/Nbsps.ts
rename to tools-ng/tinymce/src/core/main/ts/keyboard/Nbsps.ts
index 5a16a1320..27f6c4c94 100644
--- a/tools-ng/tinymce/editor/src/core/main/ts/keyboard/Nbsps.ts
+++ b/tools-ng/tinymce/src/core/main/ts/keyboard/Nbsps.ts
@@ -1,11 +1,8 @@
/**
- * Nbsps.ts
- *
- * Released under LGPL License.
- * Copyright (c) 1999-2018 Ephox Corp. All rights reserved
- *
- * License: http://www.tinymce.com/license
- * Contributing: http://www.tinymce.com/contributing
+ * Copyright (c) Tiny Technologies, Inc. All rights reserved.
+ * Licensed under the LGPL or a commercial license.
+ * For LGPL see License.txt in the project root for license information.
+ * For commercial licenses see https://www.tiny.cloud/
*/
import { CaretPosition } from '../caret/CaretPosition';
@@ -55,7 +52,19 @@ const isInPre = (pos: CaretPosition) => {
.exists((elm) => isPreValue(Css.get(elm, 'white-space')));
};
-const isAtLineBoundary = (root: Element, pos: CaretPosition) => isAtStartOfBlock(root, pos) || isAtEndOfBlock(root, pos) || isAfterBr(root, pos) || isBeforeBr(root, pos);
+const isAtBeginningOfBody = (root, pos) => CaretFinder.prevPosition(root.dom(), pos).isNone();
+const isAtEndOfBody = (root, pos) => CaretFinder.nextPosition(root.dom(), pos).isNone();
+
+const isAtLineBoundary = (root: Element, pos: CaretPosition) => {
+ return (
+ isAtBeginningOfBody(root, pos) ||
+ isAtEndOfBody(root, pos) ||
+ isAtStartOfBlock(root, pos) ||
+ isAtEndOfBlock(root, pos) ||
+ isAfterBr(root, pos) ||
+ isBeforeBr(root, pos)
+ );
+};
const needsToHaveNbsp = (root: Element, pos: CaretPosition) => {
if (isInPre(pos)) {
diff --git a/tools-ng/tinymce/editor/src/core/main/ts/keyboard/SpaceKey.ts b/tools-ng/tinymce/src/core/main/ts/keyboard/SpaceKey.ts
similarity index 76%
rename from tools-ng/tinymce/editor/src/core/main/ts/keyboard/SpaceKey.ts
rename to tools-ng/tinymce/src/core/main/ts/keyboard/SpaceKey.ts
index 447fd8909..17f53e1ca 100644
--- a/tools-ng/tinymce/editor/src/core/main/ts/keyboard/SpaceKey.ts
+++ b/tools-ng/tinymce/src/core/main/ts/keyboard/SpaceKey.ts
@@ -1,11 +1,8 @@
/**
- * SpaceKey.js
- *
- * Released under LGPL License.
- * Copyright (c) 1999-2017 Ephox Corp. All rights reserved
- *
- * License: http://www.tinymce.com/license
- * Contributing: http://www.tinymce.com/contributing
+ * Copyright (c) Tiny Technologies, Inc. All rights reserved.
+ * Licensed under the LGPL or a commercial license.
+ * For LGPL see License.txt in the project root for license information.
+ * For commercial licenses see https://www.tiny.cloud/
*/
import * as InsertSpace from './InsertSpace';
diff --git a/tools-ng/tinymce/editor/src/core/main/ts/keyboard/TableNavigation.ts b/tools-ng/tinymce/src/core/main/ts/keyboard/TableNavigation.ts
similarity index 96%
rename from tools-ng/tinymce/editor/src/core/main/ts/keyboard/TableNavigation.ts
rename to tools-ng/tinymce/src/core/main/ts/keyboard/TableNavigation.ts
index 669080319..2c893a187 100644
--- a/tools-ng/tinymce/editor/src/core/main/ts/keyboard/TableNavigation.ts
+++ b/tools-ng/tinymce/src/core/main/ts/keyboard/TableNavigation.ts
@@ -1,11 +1,8 @@
/**
- * TableNavigation.ts
- *
- * Released under LGPL License.
- * Copyright (c) 1999-2018 Ephox Corp. All rights reserved
- *
- * License: http://www.tinymce.com/license
- * Contributing: http://www.tinymce.com/contributing
+ * Copyright (c) Tiny Technologies, Inc. All rights reserved.
+ * Licensed under the LGPL or a commercial license.
+ * For LGPL see License.txt in the project root for license information.
+ * For commercial licenses see https://www.tiny.cloud/
*/
import CaretFinder from '../caret/CaretFinder';
diff --git a/tools-ng/tinymce/editor/src/core/main/ts/newline/ContextSelectors.ts b/tools-ng/tinymce/src/core/main/ts/newline/ContextSelectors.ts
similarity index 73%
rename from tools-ng/tinymce/editor/src/core/main/ts/newline/ContextSelectors.ts
rename to tools-ng/tinymce/src/core/main/ts/newline/ContextSelectors.ts
index 204f08fe1..a03172008 100644
--- a/tools-ng/tinymce/editor/src/core/main/ts/newline/ContextSelectors.ts
+++ b/tools-ng/tinymce/src/core/main/ts/newline/ContextSelectors.ts
@@ -1,11 +1,8 @@
/**
- * ContextSelectors.js
- *
- * Released under LGPL License.
- * Copyright (c) 1999-2017 Ephox Corp. All rights reserved
- *
- * License: http://www.tinymce.com/license
- * Contributing: http://www.tinymce.com/contributing
+ * Copyright (c) Tiny Technologies, Inc. All rights reserved.
+ * Licensed under the LGPL or a commercial license.
+ * For LGPL see License.txt in the project root for license information.
+ * For commercial licenses see https://www.tiny.cloud/
*/
import { Element, Selectors } from '@ephox/sugar';
diff --git a/tools-ng/tinymce/editor/src/core/main/ts/newline/InsertBlock.ts b/tools-ng/tinymce/src/core/main/ts/newline/InsertBlock.ts
similarity index 93%
rename from tools-ng/tinymce/editor/src/core/main/ts/newline/InsertBlock.ts
rename to tools-ng/tinymce/src/core/main/ts/newline/InsertBlock.ts
index 00d8ab4c0..1d2be0ae9 100644
--- a/tools-ng/tinymce/editor/src/core/main/ts/newline/InsertBlock.ts
+++ b/tools-ng/tinymce/src/core/main/ts/newline/InsertBlock.ts
@@ -1,11 +1,8 @@
/**
- * InsertBlock.js
- *
- * Released under LGPL License.
- * Copyright (c) 1999-2017 Ephox Corp. All rights reserved
- *
- * License: http://www.tinymce.com/license
- * Contributing: http://www.tinymce.com/contributing
+ * Copyright (c) Tiny Technologies, Inc. All rights reserved.
+ * Licensed under the LGPL or a commercial license.
+ * For LGPL see License.txt in the project root for license information.
+ * For commercial licenses see https://www.tiny.cloud/
*/
import Settings from '../api/Settings';
@@ -16,11 +13,23 @@ import InsertLi from './InsertLi';
import NewLineUtils from './NewLineUtils';
import NormalizeRange from '../selection/NormalizeRange';
import Zwsp from '../text/Zwsp';
-import Tools from '../api/util/Tools';
import { isCaretNode } from 'tinymce/core/fmt/FormatContainer';
+import DOMUtils from '../api/dom/DOMUtils';
+import { Element as DomElement, DocumentFragment, KeyboardEvent } from '@ephox/dom-globals';
+import { PredicateFilter, Element, Node } from '@ephox/sugar';
+import { Arr } from '@ephox/katamari';
+import { Editor } from '../api/Editor';
+import { EditorEvent } from '../api/dom/EventUtils';
-const isEmptyAnchor = function (elm) {
- return elm && elm.nodeName === 'A' && Tools.trim(Zwsp.trim(elm.innerText || elm.textContent)).length === 0;
+const trimZwsp = (fragment: DocumentFragment) => {
+ Arr.each(PredicateFilter.descendants(Element.fromDom(fragment), Node.isText), (text) => {
+ const rawNode = text.dom();
+ rawNode.nodeValue = Zwsp.trim(rawNode.nodeValue);
+ });
+};
+
+const isEmptyAnchor = function (dom: DOMUtils, elm: DomElement) {
+ return elm && elm.nodeName === 'A' && dom.isEmpty(elm);
};
const isTableCell = function (node) {
@@ -71,7 +80,7 @@ const trimInlineElementsOnLeftSideOfBlock = function (dom, nonEmptyElementsMap,
if (!node.hasChildNodes() || (node.firstChild === node.lastChild && node.firstChild.nodeValue === '')) {
dom.remove(node);
} else {
- if (isEmptyAnchor(node)) {
+ if (isEmptyAnchor(dom, node)) {
dom.remove(node);
}
}
@@ -206,7 +215,7 @@ const addBrToBlockIfNeeded = function (dom, block) {
}
};
-const insert = function (editor, evt) {
+const insert = function (editor: Editor, evt: EditorEvent) {
let tmpRng, editableRoot, container, offset, parentBlock, shiftKey;
let newBlock, fragment, containerBlock, parentBlockName, containerBlockName, newBlockName, isAfterLastNodeInContainer;
const dom = editor.dom;
@@ -427,6 +436,7 @@ const insert = function (editor, evt) {
tmpRng = includeZwspInRange(rng).cloneRange();
tmpRng.setEndAfter(parentBlock);
fragment = tmpRng.extractContents();
+ trimZwsp(fragment);
trimLeadingLineBreaks(fragment);
newBlock = fragment.firstChild;
dom.insertAfter(fragment, parentBlock);
diff --git a/tools-ng/tinymce/editor/src/core/main/ts/newline/InsertBr.ts b/tools-ng/tinymce/src/core/main/ts/newline/InsertBr.ts
similarity index 89%
rename from tools-ng/tinymce/editor/src/core/main/ts/newline/InsertBr.ts
rename to tools-ng/tinymce/src/core/main/ts/newline/InsertBr.ts
index 627b3c583..646950584 100644
--- a/tools-ng/tinymce/editor/src/core/main/ts/newline/InsertBr.ts
+++ b/tools-ng/tinymce/src/core/main/ts/newline/InsertBr.ts
@@ -1,11 +1,8 @@
/**
- * InsertBr.js
- *
- * Released under LGPL License.
- * Copyright (c) 1999-2017 Ephox Corp. All rights reserved
- *
- * License: http://www.tinymce.com/license
- * Contributing: http://www.tinymce.com/contributing
+ * Copyright (c) Tiny Technologies, Inc. All rights reserved.
+ * Licensed under the LGPL or a commercial license.
+ * For LGPL see License.txt in the project root for license information.
+ * For commercial licenses see https://www.tiny.cloud/
*/
import { Fun } from '@ephox/katamari';
@@ -18,6 +15,9 @@ import BoundaryLocation from '../keyboard/BoundaryLocation';
import InlineUtils from '../keyboard/InlineUtils';
import NormalizeRange from '../selection/NormalizeRange';
import { Selection } from '../api/dom/Selection';
+import { HTMLElement } from '@ephox/dom-globals';
+import { rangeInsertNode } from '../selection/RangeInsertNode';
+import { Editor } from '../api/Editor';
// Walks the parent block to the right and look for BR elements
const hasRightSideContent = function (schema, container, parentBlock) {
@@ -54,12 +54,14 @@ const moveSelectionToBr = function (dom, selection: Selection, brElm, extraBr) {
selection.setRng(rng);
};
-const insertBrAtCaret = function (editor, evt) {
+const insertBrAtCaret = function (editor: Editor, evt) {
// We load the current event in from EnterKey.js when appropriate to heed
// certain event-specific variations such as ctrl-enter in a list
- const selection: Selection = editor.selection, dom = editor.dom;
- let brElm, extraBr;
+ const selection = editor.selection;
+ const dom = editor.dom;
const rng = selection.getRng();
+ let brElm: HTMLElement;
+ let extraBr: boolean;
NormalizeRange.normalize(dom, rng).each(function (normRng) {
rng.setStart(normRng.startContainer, normRng.startOffset);
@@ -103,7 +105,7 @@ const insertBrAtCaret = function (editor, evt) {
}
brElm = dom.create('br');
- rng.insertNode(brElm);
+ rangeInsertNode(dom, rng, brElm);
scrollToBr(dom, selection, brElm);
moveSelectionToBr(dom, selection, brElm, extraBr);
diff --git a/tools-ng/tinymce/editor/src/core/main/ts/newline/InsertLi.ts b/tools-ng/tinymce/src/core/main/ts/newline/InsertLi.ts
similarity index 93%
rename from tools-ng/tinymce/editor/src/core/main/ts/newline/InsertLi.ts
rename to tools-ng/tinymce/src/core/main/ts/newline/InsertLi.ts
index f07addcfe..d07a02a8e 100644
--- a/tools-ng/tinymce/editor/src/core/main/ts/newline/InsertLi.ts
+++ b/tools-ng/tinymce/src/core/main/ts/newline/InsertLi.ts
@@ -1,11 +1,8 @@
/**
- * InsertLi.js
- *
- * Released under LGPL License.
- * Copyright (c) 1999-2017 Ephox Corp. All rights reserved
- *
- * License: http://www.tinymce.com/license
- * Contributing: http://www.tinymce.com/contributing
+ * Copyright (c) Tiny Technologies, Inc. All rights reserved.
+ * Licensed under the LGPL or a commercial license.
+ * For LGPL see License.txt in the project root for license information.
+ * For commercial licenses see https://www.tiny.cloud/
*/
import NodeType from '../dom/NodeType';
diff --git a/tools-ng/tinymce/src/core/main/ts/newline/InsertNewLine.ts b/tools-ng/tinymce/src/core/main/ts/newline/InsertNewLine.ts
new file mode 100644
index 000000000..8465c5690
--- /dev/null
+++ b/tools-ng/tinymce/src/core/main/ts/newline/InsertNewLine.ts
@@ -0,0 +1,30 @@
+/**
+ * Copyright (c) Tiny Technologies, Inc. All rights reserved.
+ * Licensed under the LGPL or a commercial license.
+ * For LGPL see License.txt in the project root for license information.
+ * For commercial licenses see https://www.tiny.cloud/
+ */
+
+import { Fun } from '@ephox/katamari';
+import InsertBlock from './InsertBlock';
+import InsertBr from './InsertBr';
+import NewLineAction from './NewLineAction';
+import { Editor } from '../api/Editor';
+import { EditorEvent } from '../api/dom/EventUtils';
+import { KeyboardEvent } from '@ephox/dom-globals';
+
+const insert = function (editor: Editor, evt: EditorEvent) {
+ NewLineAction.getAction(editor, evt).fold(
+ function () {
+ InsertBr.insert(editor, evt);
+ },
+ function () {
+ InsertBlock.insert(editor, evt);
+ },
+ Fun.noop
+ );
+};
+
+export default {
+ insert
+};
\ No newline at end of file
diff --git a/tools-ng/tinymce/editor/src/core/main/ts/newline/NewLineAction.ts b/tools-ng/tinymce/src/core/main/ts/newline/NewLineAction.ts
similarity index 92%
rename from tools-ng/tinymce/editor/src/core/main/ts/newline/NewLineAction.ts
rename to tools-ng/tinymce/src/core/main/ts/newline/NewLineAction.ts
index 5eee58de3..e7e4080d3 100644
--- a/tools-ng/tinymce/editor/src/core/main/ts/newline/NewLineAction.ts
+++ b/tools-ng/tinymce/src/core/main/ts/newline/NewLineAction.ts
@@ -1,11 +1,8 @@
/**
- * NewLineAction.js
- *
- * Released under LGPL License.
- * Copyright (c) 1999-2017 Ephox Corp. All rights reserved
- *
- * License: http://www.tinymce.com/license
- * Contributing: http://www.tinymce.com/contributing
+ * Copyright (c) Tiny Technologies, Inc. All rights reserved.
+ * Licensed under the LGPL or a commercial license.
+ * For LGPL see License.txt in the project root for license information.
+ * For commercial licenses see https://www.tiny.cloud/
*/
import { Adt, Arr, Option } from '@ephox/katamari';
diff --git a/tools-ng/tinymce/editor/src/core/main/ts/newline/NewLineUtils.ts b/tools-ng/tinymce/src/core/main/ts/newline/NewLineUtils.ts
similarity index 92%
rename from tools-ng/tinymce/editor/src/core/main/ts/newline/NewLineUtils.ts
rename to tools-ng/tinymce/src/core/main/ts/newline/NewLineUtils.ts
index 9f7bd87e2..769a31780 100644
--- a/tools-ng/tinymce/editor/src/core/main/ts/newline/NewLineUtils.ts
+++ b/tools-ng/tinymce/src/core/main/ts/newline/NewLineUtils.ts
@@ -1,11 +1,8 @@
/**
- * NewLineUtils.js
- *
- * Released under LGPL License.
- * Copyright (c) 1999-2017 Ephox Corp. All rights reserved
- *
- * License: http://www.tinymce.com/license
- * Contributing: http://www.tinymce.com/contributing
+ * Copyright (c) Tiny Technologies, Inc. All rights reserved.
+ * Licensed under the LGPL or a commercial license.
+ * For LGPL see License.txt in the project root for license information.
+ * For commercial licenses see https://www.tiny.cloud/
*/
import { Fun, Option } from '@ephox/katamari';
diff --git a/tools-ng/tinymce/editor/src/core/main/ts/selection/CaretRangeFromPoint.ts b/tools-ng/tinymce/src/core/main/ts/selection/CaretRangeFromPoint.ts
similarity index 90%
rename from tools-ng/tinymce/editor/src/core/main/ts/selection/CaretRangeFromPoint.ts
rename to tools-ng/tinymce/src/core/main/ts/selection/CaretRangeFromPoint.ts
index 6505ae02c..ecfcf45fc 100644
--- a/tools-ng/tinymce/editor/src/core/main/ts/selection/CaretRangeFromPoint.ts
+++ b/tools-ng/tinymce/src/core/main/ts/selection/CaretRangeFromPoint.ts
@@ -1,11 +1,8 @@
/**
- * CaretRangeFromPoint.js
- *
- * Released under LGPL License.
- * Copyright (c) 1999-2017 Ephox Corp. All rights reserved
- *
- * License: http://www.tinymce.com/license
- * Contributing: http://www.tinymce.com/contributing
+ * Copyright (c) Tiny Technologies, Inc. All rights reserved.
+ * Licensed under the LGPL or a commercial license.
+ * For LGPL see License.txt in the project root for license information.
+ * For commercial licenses see https://www.tiny.cloud/
*/
import NodeType from '../dom/NodeType';
diff --git a/tools-ng/tinymce/editor/src/core/main/ts/selection/DetailsElement.ts b/tools-ng/tinymce/src/core/main/ts/selection/DetailsElement.ts
similarity index 80%
rename from tools-ng/tinymce/editor/src/core/main/ts/selection/DetailsElement.ts
rename to tools-ng/tinymce/src/core/main/ts/selection/DetailsElement.ts
index 7c3b6be09..50d638439 100644
--- a/tools-ng/tinymce/editor/src/core/main/ts/selection/DetailsElement.ts
+++ b/tools-ng/tinymce/src/core/main/ts/selection/DetailsElement.ts
@@ -1,11 +1,8 @@
/**
- * DetailsElement.js
- *
- * Released under LGPL License.
- * Copyright (c) 1999-2018 Ephox Corp. All rights reserved
- *
- * License: http://www.tinymce.com/license
- * Contributing: http://www.tinymce.com/contributing
+ * Copyright (c) Tiny Technologies, Inc. All rights reserved.
+ * Licensed under the LGPL or a commercial license.
+ * For LGPL see License.txt in the project root for license information.
+ * For commercial licenses see https://www.tiny.cloud/
*/
import { Editor } from 'tinymce/core/api/Editor';
diff --git a/tools-ng/tinymce/editor/src/core/main/ts/selection/ElementSelection.ts b/tools-ng/tinymce/src/core/main/ts/selection/ElementSelection.ts
similarity index 95%
rename from tools-ng/tinymce/editor/src/core/main/ts/selection/ElementSelection.ts
rename to tools-ng/tinymce/src/core/main/ts/selection/ElementSelection.ts
index e3ef61e39..1864d01ab 100644
--- a/tools-ng/tinymce/editor/src/core/main/ts/selection/ElementSelection.ts
+++ b/tools-ng/tinymce/src/core/main/ts/selection/ElementSelection.ts
@@ -1,11 +1,8 @@
/**
- * ElementSelection.js
- *
- * Released under LGPL License.
- * Copyright (c) 1999-2017 Ephox Corp. All rights reserved
- *
- * License: http://www.tinymce.com/license
- * Contributing: http://www.tinymce.com/contributing
+ * Copyright (c) Tiny Technologies, Inc. All rights reserved.
+ * Licensed under the LGPL or a commercial license.
+ * For LGPL see License.txt in the project root for license information.
+ * For commercial licenses see https://www.tiny.cloud/
*/
import { Option } from '@ephox/katamari';
diff --git a/tools-ng/tinymce/editor/src/core/main/ts/selection/EventProcessRanges.ts b/tools-ng/tinymce/src/core/main/ts/selection/EventProcessRanges.ts
similarity index 59%
rename from tools-ng/tinymce/editor/src/core/main/ts/selection/EventProcessRanges.ts
rename to tools-ng/tinymce/src/core/main/ts/selection/EventProcessRanges.ts
index d86e1b35c..ec229929e 100644
--- a/tools-ng/tinymce/editor/src/core/main/ts/selection/EventProcessRanges.ts
+++ b/tools-ng/tinymce/src/core/main/ts/selection/EventProcessRanges.ts
@@ -1,11 +1,8 @@
/**
- * EventProcessRanges.js
- *
- * Released under LGPL License.
- * Copyright (c) 1999-2017 Ephox Corp. All rights reserved
- *
- * License: http://www.tinymce.com/license
- * Contributing: http://www.tinymce.com/contributing
+ * Copyright (c) Tiny Technologies, Inc. All rights reserved.
+ * Licensed under the LGPL or a commercial license.
+ * For LGPL see License.txt in the project root for license information.
+ * For commercial licenses see https://www.tiny.cloud/
*/
import { Arr } from '@ephox/katamari';
diff --git a/tools-ng/tinymce/editor/src/core/main/ts/selection/FragmentReader.ts b/tools-ng/tinymce/src/core/main/ts/selection/FragmentReader.ts
similarity index 93%
rename from tools-ng/tinymce/editor/src/core/main/ts/selection/FragmentReader.ts
rename to tools-ng/tinymce/src/core/main/ts/selection/FragmentReader.ts
index 06a9db9d2..89c97e639 100644
--- a/tools-ng/tinymce/editor/src/core/main/ts/selection/FragmentReader.ts
+++ b/tools-ng/tinymce/src/core/main/ts/selection/FragmentReader.ts
@@ -1,11 +1,8 @@
/**
- * FragmentReader.js
- *
- * Released under LGPL License.
- * Copyright (c) 1999-2017 Ephox Corp. All rights reserved
- *
- * License: http://www.tinymce.com/license
- * Contributing: http://www.tinymce.com/contributing
+ * Copyright (c) Tiny Technologies, Inc. All rights reserved.
+ * Licensed under the LGPL or a commercial license.
+ * For LGPL see License.txt in the project root for license information.
+ * For commercial licenses see https://www.tiny.cloud/
*/
import { Arr, Fun } from '@ephox/katamari';
diff --git a/tools-ng/tinymce/src/core/main/ts/selection/GetSelectionContent.ts b/tools-ng/tinymce/src/core/main/ts/selection/GetSelectionContent.ts
new file mode 100644
index 000000000..5a7a5748c
--- /dev/null
+++ b/tools-ng/tinymce/src/core/main/ts/selection/GetSelectionContent.ts
@@ -0,0 +1,67 @@
+/**
+ * Copyright (c) Tiny Technologies, Inc. All rights reserved.
+ * Licensed under the LGPL or a commercial license.
+ * For LGPL see License.txt in the project root for license information.
+ * For commercial licenses see https://www.tiny.cloud/
+ */
+
+import { Option } from '@ephox/katamari';
+import { Element } from '@ephox/sugar';
+import EventProcessRanges from './EventProcessRanges';
+import FragmentReader from './FragmentReader';
+import MultiRange from './MultiRange';
+import Zwsp from '../text/Zwsp';
+import { Editor } from '../api/Editor';
+
+const getTextContent = (editor: Editor): string => {
+ return Option.from(editor.selection.getRng()).map((r) => Zwsp.trim(r.toString())).getOr('');
+};
+
+const getHtmlContent = (editor: Editor, args: any): string => {
+ const rng = editor.selection.getRng(), tmpElm = editor.dom.create('body');
+ const sel = editor.selection.getSel();
+ let fragment;
+ const ranges = EventProcessRanges.processRanges(editor, MultiRange.getRanges(sel));
+
+ if (rng.cloneContents) {
+ fragment = args.contextual ? FragmentReader.read(Element.fromDom(editor.getBody()), ranges).dom() : rng.cloneContents();
+ if (fragment) {
+ tmpElm.appendChild(fragment);
+ }
+ } else {
+ tmpElm.innerHTML = rng.toString();
+ }
+
+ return editor.selection.serializer.serialize(tmpElm, args);
+};
+
+const getContent = (editor: Editor, args: any = {}): string => {
+ args.get = true;
+ args.format = args.format || 'html';
+ args.selection = true;
+
+ args = editor.fire('BeforeGetContent', args);
+ if (args.isDefaultPrevented()) {
+ editor.fire('GetContent', args);
+ return args.content;
+ }
+
+ if (args.format === 'text') {
+ return getTextContent(editor);
+ } else {
+ args.getInner = true;
+ const content = getHtmlContent(editor, args);
+
+ if (args.format === 'tree') {
+ return content;
+ } else {
+ args.content = editor.selection.isCollapsed() ? '' : content;
+ editor.fire('GetContent', args);
+ return args.content;
+ }
+ }
+};
+
+export default {
+ getContent
+};
\ No newline at end of file
diff --git a/tools-ng/tinymce/editor/src/core/main/ts/selection/MultiClickSelection.ts b/tools-ng/tinymce/src/core/main/ts/selection/MultiClickSelection.ts
similarity index 86%
rename from tools-ng/tinymce/editor/src/core/main/ts/selection/MultiClickSelection.ts
rename to tools-ng/tinymce/src/core/main/ts/selection/MultiClickSelection.ts
index 20ea7463e..6e485a683 100644
--- a/tools-ng/tinymce/editor/src/core/main/ts/selection/MultiClickSelection.ts
+++ b/tools-ng/tinymce/src/core/main/ts/selection/MultiClickSelection.ts
@@ -1,11 +1,8 @@
/**
- * TripleClickSelection.js
- *
- * Released under LGPL License.
- * Copyright (c) 1999-2018 Ephox Corp. All rights reserved
- *
- * License: http://www.tinymce.com/license
- * Contributing: http://www.tinymce.com/contributing
+ * Copyright (c) Tiny Technologies, Inc. All rights reserved.
+ * Licensed under the LGPL or a commercial license.
+ * For LGPL see License.txt in the project root for license information.
+ * For commercial licenses see https://www.tiny.cloud/
*/
import { Editor } from 'tinymce/core/api/Editor';
diff --git a/tools-ng/tinymce/editor/src/core/main/ts/selection/MultiRange.ts b/tools-ng/tinymce/src/core/main/ts/selection/MultiRange.ts
similarity index 74%
rename from tools-ng/tinymce/editor/src/core/main/ts/selection/MultiRange.ts
rename to tools-ng/tinymce/src/core/main/ts/selection/MultiRange.ts
index 73ccffd1a..987575bed 100644
--- a/tools-ng/tinymce/editor/src/core/main/ts/selection/MultiRange.ts
+++ b/tools-ng/tinymce/src/core/main/ts/selection/MultiRange.ts
@@ -1,11 +1,8 @@
/**
- * MultiRange.js
- *
- * Released under LGPL License.
- * Copyright (c) 1999-2017 Ephox Corp. All rights reserved
- *
- * License: http://www.tinymce.com/license
- * Contributing: http://www.tinymce.com/contributing
+ * Copyright (c) Tiny Technologies, Inc. All rights reserved.
+ * Licensed under the LGPL or a commercial license.
+ * For LGPL see License.txt in the project root for license information.
+ * For commercial licenses see https://www.tiny.cloud/
*/
import { Arr } from '@ephox/katamari';
diff --git a/tools-ng/tinymce/editor/src/core/main/ts/selection/NormalizeRange.ts b/tools-ng/tinymce/src/core/main/ts/selection/NormalizeRange.ts
similarity index 97%
rename from tools-ng/tinymce/editor/src/core/main/ts/selection/NormalizeRange.ts
rename to tools-ng/tinymce/src/core/main/ts/selection/NormalizeRange.ts
index 6f77290b4..43a5fd1f0 100644
--- a/tools-ng/tinymce/editor/src/core/main/ts/selection/NormalizeRange.ts
+++ b/tools-ng/tinymce/src/core/main/ts/selection/NormalizeRange.ts
@@ -1,11 +1,8 @@
/**
- * NormalizeRange.js
- *
- * Released under LGPL License.
- * Copyright (c) 1999-2017 Ephox Corp. All rights reserved
- *
- * License: http://www.tinymce.com/license
- * Contributing: http://www.tinymce.com/contributing
+ * Copyright (c) Tiny Technologies, Inc. All rights reserved.
+ * Licensed under the LGPL or a commercial license.
+ * For LGPL see License.txt in the project root for license information.
+ * For commercial licenses see https://www.tiny.cloud/
*/
import { Option } from '@ephox/katamari';
diff --git a/tools-ng/tinymce/editor/src/core/main/ts/selection/RangeCompare.ts b/tools-ng/tinymce/src/core/main/ts/selection/RangeCompare.ts
similarity index 58%
rename from tools-ng/tinymce/editor/src/core/main/ts/selection/RangeCompare.ts
rename to tools-ng/tinymce/src/core/main/ts/selection/RangeCompare.ts
index afb74bbf7..905f886ca 100644
--- a/tools-ng/tinymce/editor/src/core/main/ts/selection/RangeCompare.ts
+++ b/tools-ng/tinymce/src/core/main/ts/selection/RangeCompare.ts
@@ -1,11 +1,8 @@
/**
- * RangeCompare.js
- *
- * Released under LGPL License.
- * Copyright (c) 1999-2017 Ephox Corp. All rights reserved
- *
- * License: http://www.tinymce.com/license
- * Contributing: http://www.tinymce.com/contributing
+ * Copyright (c) Tiny Technologies, Inc. All rights reserved.
+ * Licensed under the LGPL or a commercial license.
+ * For LGPL see License.txt in the project root for license information.
+ * For commercial licenses see https://www.tiny.cloud/
*/
import { Range } from '@ephox/dom-globals';
diff --git a/tools-ng/tinymce/src/core/main/ts/selection/RangeInsertNode.ts b/tools-ng/tinymce/src/core/main/ts/selection/RangeInsertNode.ts
new file mode 100644
index 000000000..864434354
--- /dev/null
+++ b/tools-ng/tinymce/src/core/main/ts/selection/RangeInsertNode.ts
@@ -0,0 +1,47 @@
+/**
+ * Copyright (c) Tiny Technologies, Inc. All rights reserved.
+ * Licensed under the LGPL or a commercial license.
+ * For LGPL see License.txt in the project root for license information.
+ * For commercial licenses see https://www.tiny.cloud/
+ */
+
+import { Range, Node, DocumentFragment } from '@ephox/dom-globals';
+import DOMUtils from '../api/dom/DOMUtils';
+import NodeType from '../dom/NodeType';
+import { Option } from '@ephox/katamari';
+
+const trimEmptyTextNode = (dom: DOMUtils, node: Node) => {
+ if (NodeType.isText(node) && node.data.length === 0) {
+ dom.remove(node);
+ }
+};
+
+const insertNode = (dom: DOMUtils, rng: Range, node: Node) => {
+ rng.insertNode(node);
+ trimEmptyTextNode(dom, node.previousSibling);
+ trimEmptyTextNode(dom, node.nextSibling);
+};
+
+const insertFragment = (dom: DOMUtils, rng: Range, frag: DocumentFragment) => {
+ const firstChild = Option.from(frag.firstChild);
+ const lastChild = Option.from(frag.lastChild);
+
+ rng.insertNode(frag);
+
+ firstChild.each((child) => trimEmptyTextNode(dom, child.previousSibling));
+ lastChild.each((child) => trimEmptyTextNode(dom, child.nextSibling));
+};
+
+// Wrapper to Range.insertNode which removes any empty text nodes created in the process.
+// Doesn't merge adjacent text nodes - this is according to the DOM spec.
+const rangeInsertNode = (dom: DOMUtils, rng: Range, node: Node | DocumentFragment): void => {
+ if (NodeType.isDocumentFragment(node)) {
+ insertFragment(dom, rng, node);
+ } else {
+ insertNode(dom, rng, node);
+ }
+};
+
+export {
+ rangeInsertNode
+};
\ No newline at end of file
diff --git a/tools-ng/tinymce/editor/src/core/main/ts/selection/RangeNodes.ts b/tools-ng/tinymce/src/core/main/ts/selection/RangeNodes.ts
similarity index 74%
rename from tools-ng/tinymce/editor/src/core/main/ts/selection/RangeNodes.ts
rename to tools-ng/tinymce/src/core/main/ts/selection/RangeNodes.ts
index e5bc3a942..d8048dcee 100644
--- a/tools-ng/tinymce/editor/src/core/main/ts/selection/RangeNodes.ts
+++ b/tools-ng/tinymce/src/core/main/ts/selection/RangeNodes.ts
@@ -1,11 +1,8 @@
/**
- * RangeNodes.js
- *
- * Released under LGPL License.
- * Copyright (c) 1999-2017 Ephox Corp. All rights reserved
- *
- * License: http://www.tinymce.com/license
- * Contributing: http://www.tinymce.com/contributing
+ * Copyright (c) Tiny Technologies, Inc. All rights reserved.
+ * Licensed under the LGPL or a commercial license.
+ * For LGPL see License.txt in the project root for license information.
+ * For commercial licenses see https://www.tiny.cloud/
*/
import { Range, Node } from '@ephox/dom-globals';
diff --git a/tools-ng/tinymce/editor/src/core/main/ts/selection/RangeNormalizer.ts b/tools-ng/tinymce/src/core/main/ts/selection/RangeNormalizer.ts
similarity index 86%
rename from tools-ng/tinymce/editor/src/core/main/ts/selection/RangeNormalizer.ts
rename to tools-ng/tinymce/src/core/main/ts/selection/RangeNormalizer.ts
index 02e348715..e5eb0cecb 100644
--- a/tools-ng/tinymce/editor/src/core/main/ts/selection/RangeNormalizer.ts
+++ b/tools-ng/tinymce/src/core/main/ts/selection/RangeNormalizer.ts
@@ -1,11 +1,8 @@
/**
- * RangeNormalizer.js
- *
- * Released under LGPL License.
- * Copyright (c) 1999-2017 Ephox Corp. All rights reserved
- *
- * License: http://www.tinymce.com/license
- * Contributing: http://www.tinymce.com/contributing
+ * Copyright (c) Tiny Technologies, Inc. All rights reserved.
+ * Licensed under the LGPL or a commercial license.
+ * For LGPL see License.txt in the project root for license information.
+ * For commercial licenses see https://www.tiny.cloud/
*/
import CaretFinder from '../caret/CaretFinder';
diff --git a/tools-ng/tinymce/editor/src/core/main/ts/selection/RangeWalk.ts b/tools-ng/tinymce/src/core/main/ts/selection/RangeWalk.ts
similarity index 94%
rename from tools-ng/tinymce/editor/src/core/main/ts/selection/RangeWalk.ts
rename to tools-ng/tinymce/src/core/main/ts/selection/RangeWalk.ts
index 71be206d5..7b612790f 100644
--- a/tools-ng/tinymce/editor/src/core/main/ts/selection/RangeWalk.ts
+++ b/tools-ng/tinymce/src/core/main/ts/selection/RangeWalk.ts
@@ -1,11 +1,8 @@
/**
- * RangeWalk.js
- *
- * Released under LGPL License.
- * Copyright (c) 1999-2017 Ephox Corp. All rights reserved
- *
- * License: http://www.tinymce.com/license
- * Contributing: http://www.tinymce.com/contributing
+ * Copyright (c) Tiny Technologies, Inc. All rights reserved.
+ * Licensed under the LGPL or a commercial license.
+ * For LGPL see License.txt in the project root for license information.
+ * For commercial licenses see https://www.tiny.cloud/
*/
import Tools from '../api/util/Tools';
diff --git a/tools-ng/tinymce/editor/src/core/main/ts/selection/SelectionBookmark.ts b/tools-ng/tinymce/src/core/main/ts/selection/SelectionBookmark.ts
similarity index 92%
rename from tools-ng/tinymce/editor/src/core/main/ts/selection/SelectionBookmark.ts
rename to tools-ng/tinymce/src/core/main/ts/selection/SelectionBookmark.ts
index 86cb530ec..eea575229 100644
--- a/tools-ng/tinymce/editor/src/core/main/ts/selection/SelectionBookmark.ts
+++ b/tools-ng/tinymce/src/core/main/ts/selection/SelectionBookmark.ts
@@ -1,3 +1,10 @@
+/**
+ * Copyright (c) Tiny Technologies, Inc. All rights reserved.
+ * Licensed under the LGPL or a commercial license.
+ * For LGPL see License.txt in the project root for license information.
+ * For commercial licenses see https://www.tiny.cloud/
+ */
+
import { Fun, Option } from '@ephox/katamari';
import { PlatformDetection } from '@ephox/sand';
import { Compare, Element, Node, Text, Traverse, Selection } from '@ephox/sugar';
@@ -36,14 +43,6 @@ const isRngInRoot = function (root) {
};
};
-// var dumpRng = function (rng) {
-// console.log('start', rng.start().dom());
-// console.log('soffset', rng.soffset());
-// console.log('finish', rng.finish().dom());
-// console.log('foffset', rng.foffset());
-// return rng;
-// };
-
const shouldStore = function (editor) {
return editor.inline === true || browser.isIE();
};
diff --git a/tools-ng/tinymce/editor/src/core/main/ts/selection/SelectionRestore.ts b/tools-ng/tinymce/src/core/main/ts/selection/SelectionRestore.ts
similarity index 87%
rename from tools-ng/tinymce/editor/src/core/main/ts/selection/SelectionRestore.ts
rename to tools-ng/tinymce/src/core/main/ts/selection/SelectionRestore.ts
index d7f1eaf1d..d44db63b9 100644
--- a/tools-ng/tinymce/editor/src/core/main/ts/selection/SelectionRestore.ts
+++ b/tools-ng/tinymce/src/core/main/ts/selection/SelectionRestore.ts
@@ -1,11 +1,8 @@
/**
- * SelectionRestore.js
- *
- * Released under LGPL License.
- * Copyright (c) 1999-2017 Ephox Corp. All rights reserved
- *
- * License: http://www.tinymce.com/license
- * Contributing: http://www.tinymce.com/contributing
+ * Copyright (c) Tiny Technologies, Inc. All rights reserved.
+ * Licensed under the LGPL or a commercial license.
+ * For LGPL see License.txt in the project root for license information.
+ * For commercial licenses see https://www.tiny.cloud/
*/
import { Throttler } from '@ephox/katamari';
diff --git a/tools-ng/tinymce/editor/src/core/main/ts/selection/SelectionUtils.ts b/tools-ng/tinymce/src/core/main/ts/selection/SelectionUtils.ts
similarity index 93%
rename from tools-ng/tinymce/editor/src/core/main/ts/selection/SelectionUtils.ts
rename to tools-ng/tinymce/src/core/main/ts/selection/SelectionUtils.ts
index bd0c0162a..c9ed9d1a0 100644
--- a/tools-ng/tinymce/editor/src/core/main/ts/selection/SelectionUtils.ts
+++ b/tools-ng/tinymce/src/core/main/ts/selection/SelectionUtils.ts
@@ -1,11 +1,8 @@
/**
- * SelectionUtils.js
- *
- * Released under LGPL License.
- * Copyright (c) 1999-2017 Ephox Corp. All rights reserved
- *
- * License: http://www.tinymce.com/license
- * Contributing: http://www.tinymce.com/contributing
+ * Copyright (c) Tiny Technologies, Inc. All rights reserved.
+ * Licensed under the LGPL or a commercial license.
+ * For LGPL see License.txt in the project root for license information.
+ * For commercial licenses see https://www.tiny.cloud/
*/
import { Arr, Fun, Option, Options } from '@ephox/katamari';
diff --git a/tools-ng/tinymce/editor/src/core/main/ts/selection/SetSelectionContent.ts b/tools-ng/tinymce/src/core/main/ts/selection/SetSelectionContent.ts
similarity index 91%
rename from tools-ng/tinymce/editor/src/core/main/ts/selection/SetSelectionContent.ts
rename to tools-ng/tinymce/src/core/main/ts/selection/SetSelectionContent.ts
index 994a1cdd4..88900fec7 100644
--- a/tools-ng/tinymce/editor/src/core/main/ts/selection/SetSelectionContent.ts
+++ b/tools-ng/tinymce/src/core/main/ts/selection/SetSelectionContent.ts
@@ -1,11 +1,8 @@
/**
- * SetSelectionContent.js
- *
- * Released under LGPL License.
- * Copyright (c) 1999-2017 Ephox Corp. All rights reserved
- *
- * License: http://www.tinymce.com/license
- * Contributing: http://www.tinymce.com/contributing
+ * Copyright (c) Tiny Technologies, Inc. All rights reserved.
+ * Licensed under the LGPL or a commercial license.
+ * For LGPL see License.txt in the project root for license information.
+ * For commercial licenses see https://www.tiny.cloud/
*/
const setContent = function (editor, content, args) {
diff --git a/tools-ng/tinymce/editor/src/core/main/ts/selection/SimpleTableModel.ts b/tools-ng/tinymce/src/core/main/ts/selection/SimpleTableModel.ts
similarity index 94%
rename from tools-ng/tinymce/editor/src/core/main/ts/selection/SimpleTableModel.ts
rename to tools-ng/tinymce/src/core/main/ts/selection/SimpleTableModel.ts
index b02bf58c6..4e9d2c17f 100644
--- a/tools-ng/tinymce/editor/src/core/main/ts/selection/SimpleTableModel.ts
+++ b/tools-ng/tinymce/src/core/main/ts/selection/SimpleTableModel.ts
@@ -1,11 +1,8 @@
/**
- * SimpleTableModel.js
- *
- * Released under LGPL License.
- * Copyright (c) 1999-2017 Ephox Corp. All rights reserved
- *
- * License: http://www.tinymce.com/license
- * Contributing: http://www.tinymce.com/contributing
+ * Copyright (c) Tiny Technologies, Inc. All rights reserved.
+ * Licensed under the LGPL or a commercial license.
+ * For LGPL see License.txt in the project root for license information.
+ * For commercial licenses see https://www.tiny.cloud/
*/
import { Arr, Option, Struct } from '@ephox/katamari';
diff --git a/tools-ng/tinymce/editor/src/core/main/ts/selection/SplitRange.ts b/tools-ng/tinymce/src/core/main/ts/selection/SplitRange.ts
similarity index 86%
rename from tools-ng/tinymce/editor/src/core/main/ts/selection/SplitRange.ts
rename to tools-ng/tinymce/src/core/main/ts/selection/SplitRange.ts
index 31b6ed97e..2822924c0 100644
--- a/tools-ng/tinymce/editor/src/core/main/ts/selection/SplitRange.ts
+++ b/tools-ng/tinymce/src/core/main/ts/selection/SplitRange.ts
@@ -1,11 +1,8 @@
/**
- * SplitRange.js
- *
- * Released under LGPL License.
- * Copyright (c) 1999-2017 Ephox Corp. All rights reserved
- *
- * License: http://www.tinymce.com/license
- * Contributing: http://www.tinymce.com/contributing
+ * Copyright (c) Tiny Technologies, Inc. All rights reserved.
+ * Licensed under the LGPL or a commercial license.
+ * For LGPL see License.txt in the project root for license information.
+ * For commercial licenses see https://www.tiny.cloud/
*/
import NodeType from '../dom/NodeType';
diff --git a/tools-ng/tinymce/editor/src/core/main/ts/selection/TableCellSelection.ts b/tools-ng/tinymce/src/core/main/ts/selection/TableCellSelection.ts
similarity index 80%
rename from tools-ng/tinymce/editor/src/core/main/ts/selection/TableCellSelection.ts
rename to tools-ng/tinymce/src/core/main/ts/selection/TableCellSelection.ts
index fc33b5271..1f5980ab8 100644
--- a/tools-ng/tinymce/editor/src/core/main/ts/selection/TableCellSelection.ts
+++ b/tools-ng/tinymce/src/core/main/ts/selection/TableCellSelection.ts
@@ -1,11 +1,8 @@
/**
- * TableCellSelection.js
- *
- * Released under LGPL License.
- * Copyright (c) 1999-2017 Ephox Corp. All rights reserved
- *
- * License: http://www.tinymce.com/license
- * Contributing: http://www.tinymce.com/contributing
+ * Copyright (c) Tiny Technologies, Inc. All rights reserved.
+ * Licensed under the LGPL or a commercial license.
+ * For LGPL see License.txt in the project root for license information.
+ * For commercial licenses see https://www.tiny.cloud/
*/
import { Arr } from '@ephox/katamari';
diff --git a/tools-ng/tinymce/editor/src/core/main/ts/selection/WordSelection.ts b/tools-ng/tinymce/src/core/main/ts/selection/WordSelection.ts
similarity index 84%
rename from tools-ng/tinymce/editor/src/core/main/ts/selection/WordSelection.ts
rename to tools-ng/tinymce/src/core/main/ts/selection/WordSelection.ts
index d57c965c0..efc29d6eb 100644
--- a/tools-ng/tinymce/editor/src/core/main/ts/selection/WordSelection.ts
+++ b/tools-ng/tinymce/src/core/main/ts/selection/WordSelection.ts
@@ -1,11 +1,8 @@
/**
- * WordSelection.js
- *
- * Released under LGPL License.
- * Copyright (c) 1999-2017 Ephox Corp. All rights reserved
- *
- * License: http://www.tinymce.com/license
- * Contributing: http://www.tinymce.com/contributing
+ * Copyright (c) Tiny Technologies, Inc. All rights reserved.
+ * Licensed under the LGPL or a commercial license.
+ * For LGPL see License.txt in the project root for license information.
+ * For commercial licenses see https://www.tiny.cloud/
*/
import { Type } from '@ephox/katamari';
diff --git a/tools-ng/tinymce/src/core/main/ts/text/Bidi.ts b/tools-ng/tinymce/src/core/main/ts/text/Bidi.ts
new file mode 100644
index 000000000..5af4346d7
--- /dev/null
+++ b/tools-ng/tinymce/src/core/main/ts/text/Bidi.ts
@@ -0,0 +1,14 @@
+/**
+ * Copyright (c) Tiny Technologies, Inc. All rights reserved.
+ * Licensed under the LGPL or a commercial license.
+ * For LGPL see License.txt in the project root for license information.
+ * For commercial licenses see https://www.tiny.cloud/
+ */
+
+const strongRtl = /[\u0591-\u07FF\uFB1D-\uFDFF\uFE70-\uFEFC]/;
+
+const hasStrongRtl = (text: string) => strongRtl.test(text);
+
+export {
+ hasStrongRtl
+};
\ No newline at end of file
diff --git a/tools-ng/tinymce/editor/src/core/main/ts/text/CharType.ts b/tools-ng/tinymce/src/core/main/ts/text/CharType.ts
similarity index 55%
rename from tools-ng/tinymce/editor/src/core/main/ts/text/CharType.ts
rename to tools-ng/tinymce/src/core/main/ts/text/CharType.ts
index 4f0e4a050..79de0dc7d 100644
--- a/tools-ng/tinymce/editor/src/core/main/ts/text/CharType.ts
+++ b/tools-ng/tinymce/src/core/main/ts/text/CharType.ts
@@ -1,11 +1,8 @@
/**
- * CharType.ts
- *
- * Released under LGPL License.
- * Copyright (c) 1999-2018 Ephox Corp. All rights reserved
- *
- * License: http://www.tinymce.com/license
- * Contributing: http://www.tinymce.com/contributing
+ * Copyright (c) Tiny Technologies, Inc. All rights reserved.
+ * Licensed under the LGPL or a commercial license.
+ * For LGPL see License.txt in the project root for license information.
+ * For commercial licenses see https://www.tiny.cloud/
*/
const is = (expected: string) => (actual: string) => expected === actual;
diff --git a/tools-ng/tinymce/editor/src/core/main/ts/text/ExtendingChar.ts b/tools-ng/tinymce/src/core/main/ts/text/ExtendingChar.ts
similarity index 92%
rename from tools-ng/tinymce/editor/src/core/main/ts/text/ExtendingChar.ts
rename to tools-ng/tinymce/src/core/main/ts/text/ExtendingChar.ts
index 4ea4927b3..dc5fd4f15 100644
--- a/tools-ng/tinymce/editor/src/core/main/ts/text/ExtendingChar.ts
+++ b/tools-ng/tinymce/src/core/main/ts/text/ExtendingChar.ts
@@ -1,11 +1,8 @@
/**
- * ExtendingChar.js
- *
- * Released under LGPL License.
- * Copyright (c) 1999-2017 Ephox Corp. All rights reserved
- *
- * License: http://www.tinymce.com/license
- * Contributing: http://www.tinymce.com/contributing
+ * Copyright (c) Tiny Technologies, Inc. All rights reserved.
+ * Licensed under the LGPL or a commercial license.
+ * For LGPL see License.txt in the project root for license information.
+ * For commercial licenses see https://www.tiny.cloud/
*/
/**
diff --git a/tools-ng/tinymce/editor/src/core/main/ts/text/Zwsp.ts b/tools-ng/tinymce/src/core/main/ts/text/Zwsp.ts
similarity index 68%
rename from tools-ng/tinymce/editor/src/core/main/ts/text/Zwsp.ts
rename to tools-ng/tinymce/src/core/main/ts/text/Zwsp.ts
index b2dd18be7..4cacb6391 100644
--- a/tools-ng/tinymce/editor/src/core/main/ts/text/Zwsp.ts
+++ b/tools-ng/tinymce/src/core/main/ts/text/Zwsp.ts
@@ -1,11 +1,8 @@
/**
- * Zwsp.js
- *
- * Released under LGPL License.
- * Copyright (c) 1999-2017 Ephox Corp. All rights reserved
- *
- * License: http://www.tinymce.com/license
- * Contributing: http://www.tinymce.com/contributing
+ * Copyright (c) Tiny Technologies, Inc. All rights reserved.
+ * Licensed under the LGPL or a commercial license.
+ * For LGPL see License.txt in the project root for license information.
+ * For commercial licenses see https://www.tiny.cloud/
*/
/**
diff --git a/tools-ng/tinymce/editor/src/core/main/ts/ui/NotificationManagerImpl.ts b/tools-ng/tinymce/src/core/main/ts/ui/NotificationManagerImpl.ts
similarity index 54%
rename from tools-ng/tinymce/editor/src/core/main/ts/ui/NotificationManagerImpl.ts
rename to tools-ng/tinymce/src/core/main/ts/ui/NotificationManagerImpl.ts
index 85ff46754..e84606865 100644
--- a/tools-ng/tinymce/editor/src/core/main/ts/ui/NotificationManagerImpl.ts
+++ b/tools-ng/tinymce/src/core/main/ts/ui/NotificationManagerImpl.ts
@@ -1,11 +1,8 @@
/**
- * NotificationManagerImpl.js
- *
- * Released under LGPL License.
- * Copyright (c) 1999-2017 Ephox Corp. All rights reserved
- *
- * License: http://www.tinymce.com/license
- * Contributing: http://www.tinymce.com/contributing
+ * Copyright (c) Tiny Technologies, Inc. All rights reserved.
+ * Licensed under the LGPL or a commercial license.
+ * For LGPL see License.txt in the project root for license information.
+ * For commercial licenses see https://www.tiny.cloud/
*/
export default function () {
diff --git a/tools-ng/tinymce/editor/src/core/main/ts/ui/Sidebar.ts b/tools-ng/tinymce/src/core/main/ts/ui/Sidebar.ts
similarity index 57%
rename from tools-ng/tinymce/editor/src/core/main/ts/ui/Sidebar.ts
rename to tools-ng/tinymce/src/core/main/ts/ui/Sidebar.ts
index 8df1b21c7..e3d962d24 100644
--- a/tools-ng/tinymce/editor/src/core/main/ts/ui/Sidebar.ts
+++ b/tools-ng/tinymce/src/core/main/ts/ui/Sidebar.ts
@@ -1,11 +1,8 @@
/**
- * Sidebar.js
- *
- * Released under LGPL License.
- * Copyright (c) 1999-2017 Ephox Corp. All rights reserved
- *
- * License: http://www.tinymce.com/license
- * Contributing: http://www.tinymce.com/contributing
+ * Copyright (c) Tiny Technologies, Inc. All rights reserved.
+ * Licensed under the LGPL or a commercial license.
+ * For LGPL see License.txt in the project root for license information.
+ * For commercial licenses see https://www.tiny.cloud/
*/
/**
diff --git a/tools-ng/tinymce/editor/src/core/main/ts/ui/WindowManagerImpl.ts b/tools-ng/tinymce/src/core/main/ts/ui/WindowManagerImpl.ts
similarity index 58%
rename from tools-ng/tinymce/editor/src/core/main/ts/ui/WindowManagerImpl.ts
rename to tools-ng/tinymce/src/core/main/ts/ui/WindowManagerImpl.ts
index 5a8ddf445..51729bc99 100644
--- a/tools-ng/tinymce/editor/src/core/main/ts/ui/WindowManagerImpl.ts
+++ b/tools-ng/tinymce/src/core/main/ts/ui/WindowManagerImpl.ts
@@ -1,11 +1,8 @@
/**
- * WindowManagerImpl.js
- *
- * Released under LGPL License.
- * Copyright (c) 1999-2017 Ephox Corp. All rights reserved
- *
- * License: http://www.tinymce.com/license
- * Contributing: http://www.tinymce.com/contributing
+ * Copyright (c) Tiny Technologies, Inc. All rights reserved.
+ * Licensed under the LGPL or a commercial license.
+ * For LGPL see License.txt in the project root for license information.
+ * For commercial licenses see https://www.tiny.cloud/
*/
export default function () {
diff --git a/tools-ng/tinymce/editor/src/core/main/ts/undo/Diff.ts b/tools-ng/tinymce/src/core/main/ts/undo/Diff.ts
similarity index 93%
rename from tools-ng/tinymce/editor/src/core/main/ts/undo/Diff.ts
rename to tools-ng/tinymce/src/core/main/ts/undo/Diff.ts
index 680f6b6f7..f2521606e 100644
--- a/tools-ng/tinymce/editor/src/core/main/ts/undo/Diff.ts
+++ b/tools-ng/tinymce/src/core/main/ts/undo/Diff.ts
@@ -1,11 +1,8 @@
/**
- * Diff.js
- *
- * Released under LGPL License.
- * Copyright (c) 1999-2017 Ephox Corp. All rights reserved
- *
- * License: http://www.tinymce.com/license
- * Contributing: http://www.tinymce.com/contributing
+ * Copyright (c) Tiny Technologies, Inc. All rights reserved.
+ * Licensed under the LGPL or a commercial license.
+ * For LGPL see License.txt in the project root for license information.
+ * For commercial licenses see https://www.tiny.cloud/
*/
/**
diff --git a/tools-ng/tinymce/editor/src/core/main/ts/undo/Fragments.ts b/tools-ng/tinymce/src/core/main/ts/undo/Fragments.ts
similarity index 82%
rename from tools-ng/tinymce/editor/src/core/main/ts/undo/Fragments.ts
rename to tools-ng/tinymce/src/core/main/ts/undo/Fragments.ts
index 31d104115..09d960df1 100644
--- a/tools-ng/tinymce/editor/src/core/main/ts/undo/Fragments.ts
+++ b/tools-ng/tinymce/src/core/main/ts/undo/Fragments.ts
@@ -1,18 +1,15 @@
/**
- * Fragments.js
- *
- * Released under LGPL License.
- * Copyright (c) 1999-2017 Ephox Corp. All rights reserved
- *
- * License: http://www.tinymce.com/license
- * Contributing: http://www.tinymce.com/contributing
+ * Copyright (c) Tiny Technologies, Inc. All rights reserved.
+ * Licensed under the LGPL or a commercial license.
+ * For LGPL see License.txt in the project root for license information.
+ * For commercial licenses see https://www.tiny.cloud/
*/
import Entities from '../api/html/Entities';
import Diff from './Diff';
-import Arr from '../util/Arr';
import NodeType from 'tinymce/core/dom/NodeType';
import { Node, DocumentFragment, document, Element } from '@ephox/dom-globals';
+import { Arr } from '@ephox/katamari';
/**
* This module reads and applies html fragments from/to dom nodes.
@@ -82,13 +79,13 @@ const applyDiff = function (diff, elm: Element) {
};
const read = function (elm: Element): string[] {
- return Arr.filter(Arr.map(elm.childNodes, getOuterHtml), function (item) {
+ return Arr.filter(Arr.map(Arr.from(elm.childNodes), getOuterHtml), function (item) {
return item.length > 0;
});
};
const write = function (fragments: string[], elm: Element): Element {
- const currentFragments = Arr.map(elm.childNodes, getOuterHtml);
+ const currentFragments = Arr.map(Arr.from(elm.childNodes), getOuterHtml);
applyDiff(Diff.diff(currentFragments, fragments), elm);
return elm;
};
diff --git a/tools-ng/tinymce/editor/src/core/main/ts/undo/Levels.ts b/tools-ng/tinymce/src/core/main/ts/undo/Levels.ts
similarity index 93%
rename from tools-ng/tinymce/editor/src/core/main/ts/undo/Levels.ts
rename to tools-ng/tinymce/src/core/main/ts/undo/Levels.ts
index 6dc0529a7..29beb1bf9 100644
--- a/tools-ng/tinymce/editor/src/core/main/ts/undo/Levels.ts
+++ b/tools-ng/tinymce/src/core/main/ts/undo/Levels.ts
@@ -1,11 +1,8 @@
/**
- * Levels.js
- *
- * Released under LGPL License.
- * Copyright (c) 1999-2017 Ephox Corp. All rights reserved
- *
- * License: http://www.tinymce.com/license
- * Contributing: http://www.tinymce.com/contributing
+ * Copyright (c) Tiny Technologies, Inc. All rights reserved.
+ * Licensed under the LGPL or a commercial license.
+ * For LGPL see License.txt in the project root for license information.
+ * For commercial licenses see https://www.tiny.cloud/
*/
import { Arr, Cell, Option } from '@ephox/katamari';
diff --git a/tools-ng/tinymce/editor/src/core/main/ts/util/Arr.ts b/tools-ng/tinymce/src/core/main/ts/util/ArrUtils.ts
similarity index 90%
rename from tools-ng/tinymce/editor/src/core/main/ts/util/Arr.ts
rename to tools-ng/tinymce/src/core/main/ts/util/ArrUtils.ts
index a53c1b057..a3d7367d3 100644
--- a/tools-ng/tinymce/editor/src/core/main/ts/util/Arr.ts
+++ b/tools-ng/tinymce/src/core/main/ts/util/ArrUtils.ts
@@ -1,11 +1,8 @@
/**
- * Arr.js
- *
- * Released under LGPL License.
- * Copyright (c) 1999-2017 Ephox Corp. All rights reserved
- *
- * License: http://www.tinymce.com/license
- * Contributing: http://www.tinymce.com/contributing
+ * Copyright (c) Tiny Technologies, Inc. All rights reserved.
+ * Licensed under the LGPL or a commercial license.
+ * For LGPL see License.txt in the project root for license information.
+ * For commercial licenses see https://www.tiny.cloud/
*/
/**
diff --git a/tools-ng/tinymce/editor/src/core/main/ts/util/LazyEvaluator.ts b/tools-ng/tinymce/src/core/main/ts/util/LazyEvaluator.ts
similarity index 55%
rename from tools-ng/tinymce/editor/src/core/main/ts/util/LazyEvaluator.ts
rename to tools-ng/tinymce/src/core/main/ts/util/LazyEvaluator.ts
index 2f870d969..923b4a7a2 100644
--- a/tools-ng/tinymce/editor/src/core/main/ts/util/LazyEvaluator.ts
+++ b/tools-ng/tinymce/src/core/main/ts/util/LazyEvaluator.ts
@@ -1,11 +1,8 @@
/**
- * LazyEvaluator.js
- *
- * Released under LGPL License.
- * Copyright (c) 1999-2017 Ephox Corp. All rights reserved
- *
- * License: http://www.tinymce.com/license
- * Contributing: http://www.tinymce.com/contributing
+ * Copyright (c) Tiny Technologies, Inc. All rights reserved.
+ * Licensed under the LGPL or a commercial license.
+ * For LGPL see License.txt in the project root for license information.
+ * For commercial licenses see https://www.tiny.cloud/
*/
import { Option } from '@ephox/katamari';
diff --git a/tools-ng/tinymce/src/core/main/ts/util/Predicate.ts b/tools-ng/tinymce/src/core/main/ts/util/Predicate.ts
new file mode 100644
index 000000000..15a09727d
--- /dev/null
+++ b/tools-ng/tinymce/src/core/main/ts/util/Predicate.ts
@@ -0,0 +1,41 @@
+/**
+ * Copyright (c) Tiny Technologies, Inc. All rights reserved.
+ * Licensed under the LGPL or a commercial license.
+ * For LGPL see License.txt in the project root for license information.
+ * For commercial licenses see https://www.tiny.cloud/
+ */
+
+const slice = [].slice;
+
+const or = function (...x: any[]) {
+ const args = slice.call(arguments);
+
+ return function (x) {
+ for (let i = 0; i < args.length; i++) {
+ if (args[i](x)) {
+ return true;
+ }
+ }
+
+ return false;
+ };
+};
+
+const and = function (...x: any[]) {
+ const args = slice.call(arguments);
+
+ return function (x) {
+ for (let i = 0; i < args.length; i++) {
+ if (!args[i](x)) {
+ return false;
+ }
+ }
+
+ return true;
+ };
+};
+
+export default {
+ and,
+ or
+};
diff --git a/tools-ng/tinymce/editor/src/core/main/ts/util/Private.ts b/tools-ng/tinymce/src/core/main/ts/util/Private.ts
similarity index 79%
rename from tools-ng/tinymce/editor/src/core/main/ts/util/Private.ts
rename to tools-ng/tinymce/src/core/main/ts/util/Private.ts
index 7fc24fb84..b2e453835 100644
--- a/tools-ng/tinymce/editor/src/core/main/ts/util/Private.ts
+++ b/tools-ng/tinymce/src/core/main/ts/util/Private.ts
@@ -1,11 +1,8 @@
/**
- * Private.js
- *
- * Released under LGPL License.
- * Copyright (c) 1999-2017 Ephox Corp. All rights reserved
- *
- * License: http://www.tinymce.com/license
- * Contributing: http://www.tinymce.com/contributing
+ * Copyright (c) Tiny Technologies, Inc. All rights reserved.
+ * Licensed under the LGPL or a commercial license.
+ * For LGPL see License.txt in the project root for license information.
+ * For commercial licenses see https://www.tiny.cloud/
*/
import Uuid from './Uuid';
diff --git a/tools-ng/tinymce/editor/src/core/main/ts/util/Quirks.ts b/tools-ng/tinymce/src/core/main/ts/util/Quirks.ts
similarity index 99%
rename from tools-ng/tinymce/editor/src/core/main/ts/util/Quirks.ts
rename to tools-ng/tinymce/src/core/main/ts/util/Quirks.ts
index 37b217c9f..eaa8d07aa 100644
--- a/tools-ng/tinymce/editor/src/core/main/ts/util/Quirks.ts
+++ b/tools-ng/tinymce/src/core/main/ts/util/Quirks.ts
@@ -1,13 +1,8 @@
/**
- * Quirks.js
- *
- * Released under LGPL License.
- * Copyright (c) 1999-2017 Ephox Corp. All rights reserved
- *
- * License: http://www.tinymce.com/license
- * Contributing: http://www.tinymce.com/contributing
- *
- * @ignore-file
+ * Copyright (c) Tiny Technologies, Inc. All rights reserved.
+ * Licensed under the LGPL or a commercial license.
+ * For LGPL see License.txt in the project root for license information.
+ * For commercial licenses see https://www.tiny.cloud/
*/
import Env from '../api/Env';
diff --git a/tools-ng/tinymce/editor/src/core/main/ts/util/Uuid.ts b/tools-ng/tinymce/src/core/main/ts/util/Uuid.ts
similarity index 63%
rename from tools-ng/tinymce/editor/src/core/main/ts/util/Uuid.ts
rename to tools-ng/tinymce/src/core/main/ts/util/Uuid.ts
index ba2400330..e6fc9257c 100644
--- a/tools-ng/tinymce/editor/src/core/main/ts/util/Uuid.ts
+++ b/tools-ng/tinymce/src/core/main/ts/util/Uuid.ts
@@ -1,11 +1,8 @@
/**
- * Uuid.js
- *
- * Released under LGPL License.
- * Copyright (c) 1999-2017 Ephox Corp. All rights reserved
- *
- * License: http://www.tinymce.com/license
- * Contributing: http://www.tinymce.com/contributing
+ * Copyright (c) Tiny Technologies, Inc. All rights reserved.
+ * Licensed under the LGPL or a commercial license.
+ * For LGPL see License.txt in the project root for license information.
+ * For commercial licenses see https://www.tiny.cloud/
*/
/**
diff --git a/tools-ng/tinymce/editor/src/core/test/css/ui-overrides.css b/tools-ng/tinymce/src/core/test/css/ui-overrides.css
similarity index 100%
rename from tools-ng/tinymce/editor/src/core/test/css/ui-overrides.css
rename to tools-ng/tinymce/src/core/test/css/ui-overrides.css
diff --git a/tools-ng/tinymce/editor/src/core/test/json/routes.json b/tools-ng/tinymce/src/core/test/json/routes.json
similarity index 100%
rename from tools-ng/tinymce/editor/src/core/test/json/routes.json
rename to tools-ng/tinymce/src/core/test/json/routes.json
diff --git a/tools-ng/tinymce/editor/src/core/test/ts/.eslintrc b/tools-ng/tinymce/src/core/test/ts/.eslintrc
similarity index 100%
rename from tools-ng/tinymce/editor/src/core/test/ts/.eslintrc
rename to tools-ng/tinymce/src/core/test/ts/.eslintrc
diff --git a/tools-ng/tinymce/editor/src/core/test/ts/atomic/keyboard/MatchKeysTest.ts b/tools-ng/tinymce/src/core/test/ts/atomic/keyboard/MatchKeysTest.ts
similarity index 100%
rename from tools-ng/tinymce/editor/src/core/test/ts/atomic/keyboard/MatchKeysTest.ts
rename to tools-ng/tinymce/src/core/test/ts/atomic/keyboard/MatchKeysTest.ts
diff --git a/tools-ng/tinymce/editor/src/core/test/ts/atomic/keyboard/NbspsTest.ts b/tools-ng/tinymce/src/core/test/ts/atomic/keyboard/NbspsTest.ts
similarity index 100%
rename from tools-ng/tinymce/editor/src/core/test/ts/atomic/keyboard/NbspsTest.ts
rename to tools-ng/tinymce/src/core/test/ts/atomic/keyboard/NbspsTest.ts
diff --git a/tools-ng/tinymce/editor/src/core/test/ts/atomic/text/BidiTest.ts b/tools-ng/tinymce/src/core/test/ts/atomic/text/BidiTest.ts
similarity index 100%
rename from tools-ng/tinymce/editor/src/core/test/ts/atomic/text/BidiTest.ts
rename to tools-ng/tinymce/src/core/test/ts/atomic/text/BidiTest.ts
diff --git a/tools-ng/tinymce/editor/src/core/test/ts/atomic/text/ExtendingCharTest.ts b/tools-ng/tinymce/src/core/test/ts/atomic/text/ExtendingCharTest.ts
similarity index 100%
rename from tools-ng/tinymce/editor/src/core/test/ts/atomic/text/ExtendingCharTest.ts
rename to tools-ng/tinymce/src/core/test/ts/atomic/text/ExtendingCharTest.ts
diff --git a/tools-ng/tinymce/editor/src/core/test/ts/atomic/text/ZwspTest.ts b/tools-ng/tinymce/src/core/test/ts/atomic/text/ZwspTest.ts
similarity index 100%
rename from tools-ng/tinymce/editor/src/core/test/ts/atomic/text/ZwspTest.ts
rename to tools-ng/tinymce/src/core/test/ts/atomic/text/ZwspTest.ts
diff --git a/tools-ng/tinymce/editor/src/core/test/ts/atomic/util/LazyEvaluatorTest.ts b/tools-ng/tinymce/src/core/test/ts/atomic/util/LazyEvaluatorTest.ts
similarity index 100%
rename from tools-ng/tinymce/editor/src/core/test/ts/atomic/util/LazyEvaluatorTest.ts
rename to tools-ng/tinymce/src/core/test/ts/atomic/util/LazyEvaluatorTest.ts
diff --git a/tools-ng/tinymce/src/core/test/ts/atomic/util/PredicateTest.ts b/tools-ng/tinymce/src/core/test/ts/atomic/util/PredicateTest.ts
new file mode 100644
index 000000000..3fdf531f3
--- /dev/null
+++ b/tools-ng/tinymce/src/core/test/ts/atomic/util/PredicateTest.ts
@@ -0,0 +1,20 @@
+import { RawAssertions } from '@ephox/agar';
+import { UnitTest } from '@ephox/bedrock';
+import { Fun } from '@ephox/katamari';
+import Predicate from 'tinymce/core/util/Predicate';
+
+UnitTest.test('atomic.tinymce.core.util.PredicateTest', () => {
+ const isAbove = function (target, value) {
+ return value() > target();
+ };
+
+ const isAbove5 = Fun.curry(isAbove, Fun.constant(5));
+ const isAbove10 = Fun.curry(isAbove, Fun.constant(10));
+
+ RawAssertions.assertEq('Should be extected and result', false, Predicate.and(isAbove10, isAbove5)(Fun.constant(10)));
+ RawAssertions.assertEq('Should be extected and result', true, Predicate.and(isAbove10, isAbove5)(Fun.constant(30)));
+
+ RawAssertions.assertEq('Should be extected or result', false, Predicate.or(isAbove10, isAbove5)(Fun.constant(5)));
+ RawAssertions.assertEq('Should be extected or result', true, Predicate.or(isAbove10, isAbove5)(Fun.constant(15)));
+ RawAssertions.assertEq('Should be extected or result', true, Predicate.or(isAbove5, isAbove10)(Fun.constant(15)));
+});
diff --git a/tools-ng/tinymce/editor/src/core/test/ts/browser/AddOnManagerTest.ts b/tools-ng/tinymce/src/core/test/ts/browser/AddOnManagerTest.ts
similarity index 100%
rename from tools-ng/tinymce/editor/src/core/test/ts/browser/AddOnManagerTest.ts
rename to tools-ng/tinymce/src/core/test/ts/browser/AddOnManagerTest.ts
diff --git a/tools-ng/tinymce/editor/src/core/test/ts/browser/ClickContentEditableFalseTest.ts b/tools-ng/tinymce/src/core/test/ts/browser/ClickContentEditableFalseTest.ts
similarity index 100%
rename from tools-ng/tinymce/editor/src/core/test/ts/browser/ClickContentEditableFalseTest.ts
rename to tools-ng/tinymce/src/core/test/ts/browser/ClickContentEditableFalseTest.ts
diff --git a/tools-ng/tinymce/editor/src/core/test/ts/browser/DragDropOverridesTest.ts b/tools-ng/tinymce/src/core/test/ts/browser/DragDropOverridesTest.ts
similarity index 100%
rename from tools-ng/tinymce/editor/src/core/test/ts/browser/DragDropOverridesTest.ts
rename to tools-ng/tinymce/src/core/test/ts/browser/DragDropOverridesTest.ts
diff --git a/tools-ng/tinymce/editor/src/core/test/ts/browser/EditorForcedSettingsTest.ts b/tools-ng/tinymce/src/core/test/ts/browser/EditorForcedSettingsTest.ts
similarity index 100%
rename from tools-ng/tinymce/editor/src/core/test/ts/browser/EditorForcedSettingsTest.ts
rename to tools-ng/tinymce/src/core/test/ts/browser/EditorForcedSettingsTest.ts
diff --git a/tools-ng/tinymce/editor/src/core/test/ts/browser/EditorManagerTest.ts b/tools-ng/tinymce/src/core/test/ts/browser/EditorManagerTest.ts
similarity index 100%
rename from tools-ng/tinymce/editor/src/core/test/ts/browser/EditorManagerTest.ts
rename to tools-ng/tinymce/src/core/test/ts/browser/EditorManagerTest.ts
diff --git a/tools-ng/tinymce/editor/src/core/test/ts/browser/EditorRemoveTest.ts b/tools-ng/tinymce/src/core/test/ts/browser/EditorRemoveTest.ts
similarity index 100%
rename from tools-ng/tinymce/editor/src/core/test/ts/browser/EditorRemoveTest.ts
rename to tools-ng/tinymce/src/core/test/ts/browser/EditorRemoveTest.ts
diff --git a/tools-ng/tinymce/editor/src/core/test/ts/browser/EditorRemovedApiTest.ts b/tools-ng/tinymce/src/core/test/ts/browser/EditorRemovedApiTest.ts
similarity index 100%
rename from tools-ng/tinymce/editor/src/core/test/ts/browser/EditorRemovedApiTest.ts
rename to tools-ng/tinymce/src/core/test/ts/browser/EditorRemovedApiTest.ts
diff --git a/tools-ng/tinymce/editor/src/core/test/ts/browser/EditorRtlTest.ts b/tools-ng/tinymce/src/core/test/ts/browser/EditorRtlTest.ts
similarity index 100%
rename from tools-ng/tinymce/editor/src/core/test/ts/browser/EditorRtlTest.ts
rename to tools-ng/tinymce/src/core/test/ts/browser/EditorRtlTest.ts
diff --git a/tools-ng/tinymce/editor/src/core/test/ts/browser/EditorSettingsTest.ts b/tools-ng/tinymce/src/core/test/ts/browser/EditorSettingsTest.ts
similarity index 100%
rename from tools-ng/tinymce/editor/src/core/test/ts/browser/EditorSettingsTest.ts
rename to tools-ng/tinymce/src/core/test/ts/browser/EditorSettingsTest.ts
diff --git a/tools-ng/tinymce/editor/src/core/test/ts/browser/EditorTest.ts b/tools-ng/tinymce/src/core/test/ts/browser/EditorTest.ts
similarity index 100%
rename from tools-ng/tinymce/editor/src/core/test/ts/browser/EditorTest.ts
rename to tools-ng/tinymce/src/core/test/ts/browser/EditorTest.ts
diff --git a/tools-ng/tinymce/editor/src/core/test/ts/browser/EditorUploadTest.ts b/tools-ng/tinymce/src/core/test/ts/browser/EditorUploadTest.ts
similarity index 100%
rename from tools-ng/tinymce/editor/src/core/test/ts/browser/EditorUploadTest.ts
rename to tools-ng/tinymce/src/core/test/ts/browser/EditorUploadTest.ts
diff --git a/tools-ng/tinymce/editor/src/core/test/ts/browser/EditorViewIframeTest.ts b/tools-ng/tinymce/src/core/test/ts/browser/EditorViewIframeTest.ts
similarity index 100%
rename from tools-ng/tinymce/editor/src/core/test/ts/browser/EditorViewIframeTest.ts
rename to tools-ng/tinymce/src/core/test/ts/browser/EditorViewIframeTest.ts
diff --git a/tools-ng/tinymce/editor/src/core/test/ts/browser/EditorViewInlineTest.ts b/tools-ng/tinymce/src/core/test/ts/browser/EditorViewInlineTest.ts
similarity index 100%
rename from tools-ng/tinymce/editor/src/core/test/ts/browser/EditorViewInlineTest.ts
rename to tools-ng/tinymce/src/core/test/ts/browser/EditorViewInlineTest.ts
diff --git a/tools-ng/tinymce/editor/src/core/test/ts/browser/FontSelectTest.ts b/tools-ng/tinymce/src/core/test/ts/browser/FontSelectTest.ts
similarity index 100%
rename from tools-ng/tinymce/editor/src/core/test/ts/browser/FontSelectTest.ts
rename to tools-ng/tinymce/src/core/test/ts/browser/FontSelectTest.ts
diff --git a/tools-ng/tinymce/editor/src/core/test/ts/browser/ForceBlocksTest.ts b/tools-ng/tinymce/src/core/test/ts/browser/ForceBlocksTest.ts
similarity index 100%
rename from tools-ng/tinymce/editor/src/core/test/ts/browser/ForceBlocksTest.ts
rename to tools-ng/tinymce/src/core/test/ts/browser/ForceBlocksTest.ts
diff --git a/tools-ng/tinymce/editor/src/core/test/ts/browser/FormatterApplyTest.ts b/tools-ng/tinymce/src/core/test/ts/browser/FormatterApplyTest.ts
similarity index 100%
rename from tools-ng/tinymce/editor/src/core/test/ts/browser/FormatterApplyTest.ts
rename to tools-ng/tinymce/src/core/test/ts/browser/FormatterApplyTest.ts
diff --git a/tools-ng/tinymce/editor/src/core/test/ts/browser/FormatterCheckTest.ts b/tools-ng/tinymce/src/core/test/ts/browser/FormatterCheckTest.ts
similarity index 100%
rename from tools-ng/tinymce/editor/src/core/test/ts/browser/FormatterCheckTest.ts
rename to tools-ng/tinymce/src/core/test/ts/browser/FormatterCheckTest.ts
diff --git a/tools-ng/tinymce/editor/src/core/test/ts/browser/FormatterRemoveTest.ts b/tools-ng/tinymce/src/core/test/ts/browser/FormatterRemoveTest.ts
similarity index 96%
rename from tools-ng/tinymce/editor/src/core/test/ts/browser/FormatterRemoveTest.ts
rename to tools-ng/tinymce/src/core/test/ts/browser/FormatterRemoveTest.ts
index fd0d6ea47..dbac50d43 100644
--- a/tools-ng/tinymce/editor/src/core/test/ts/browser/FormatterRemoveTest.ts
+++ b/tools-ng/tinymce/src/core/test/ts/browser/FormatterRemoveTest.ts
@@ -406,7 +406,7 @@ UnitTest.asynctest('browser.tinymce.core.FormatterRemoveTest', function () {
LegacyUnit.equal(HtmlUtils.normalizeHtml(HtmlUtils.cleanHtml(editor.getBody().innerHTML)), 'abc
');
});
- suite.test('Remove format bug 1', function (editor) {
+ suite.test('Remove format of nested elements at start', function (editor) {
editor.setContent('ab c
');
editor.formatter.register('format', { inline: 'b' });
LegacyUnit.setSelection(editor, 'i', 1, 'i', 2);
@@ -414,6 +414,22 @@ UnitTest.asynctest('browser.tinymce.core.FormatterRemoveTest', function () {
LegacyUnit.equal(editor.getContent(editor), 'a b c
');
});
+ suite.test('Remove format of nested elements at end', function (editor) {
+ editor.setContent('abc
');
+ editor.formatter.register('format', { inline: 'b' });
+ LegacyUnit.setSelection(editor, 'i', 0, 'i', 1);
+ editor.formatter.remove('format');
+ LegacyUnit.equal(editor.getContent(editor), 'a b c
');
+ });
+
+ suite.test('Remove format of nested elements at end with text after ', function (editor) {
+ editor.setContent('abc d
');
+ editor.formatter.register('format', { inline: 'b' });
+ LegacyUnit.setSelection(editor, 'i', 0, 'i', 2);
+ editor.formatter.remove('format');
+ LegacyUnit.equal(editor.getContent(editor), 'a bc d
');
+ });
+
suite.test('Remove format bug 2', function (editor) {
editor.setContent('abc
');
editor.formatter.register('format', { inline: 'b' });
diff --git a/tools-ng/tinymce/editor/src/core/test/ts/browser/FormattingCommandsTest.ts b/tools-ng/tinymce/src/core/test/ts/browser/FormattingCommandsTest.ts
similarity index 100%
rename from tools-ng/tinymce/editor/src/core/test/ts/browser/FormattingCommandsTest.ts
rename to tools-ng/tinymce/src/core/test/ts/browser/FormattingCommandsTest.ts
diff --git a/tools-ng/tinymce/editor/src/core/test/ts/browser/InlineEditorRemoveTest.ts b/tools-ng/tinymce/src/core/test/ts/browser/InlineEditorRemoveTest.ts
similarity index 100%
rename from tools-ng/tinymce/editor/src/core/test/ts/browser/InlineEditorRemoveTest.ts
rename to tools-ng/tinymce/src/core/test/ts/browser/InlineEditorRemoveTest.ts
diff --git a/tools-ng/tinymce/editor/src/core/test/ts/browser/InlineEditorSaveTest.ts b/tools-ng/tinymce/src/core/test/ts/browser/InlineEditorSaveTest.ts
similarity index 100%
rename from tools-ng/tinymce/editor/src/core/test/ts/browser/InlineEditorSaveTest.ts
rename to tools-ng/tinymce/src/core/test/ts/browser/InlineEditorSaveTest.ts
diff --git a/tools-ng/tinymce/editor/src/core/test/ts/browser/JqueryIntegrationTest.disabled b/tools-ng/tinymce/src/core/test/ts/browser/JqueryIntegrationTest.disabled
similarity index 100%
rename from tools-ng/tinymce/editor/src/core/test/ts/browser/JqueryIntegrationTest.disabled
rename to tools-ng/tinymce/src/core/test/ts/browser/JqueryIntegrationTest.disabled
diff --git a/tools-ng/tinymce/editor/src/core/test/ts/browser/MiscCommandsTest.ts b/tools-ng/tinymce/src/core/test/ts/browser/MiscCommandsTest.ts
similarity index 100%
rename from tools-ng/tinymce/editor/src/core/test/ts/browser/MiscCommandsTest.ts
rename to tools-ng/tinymce/src/core/test/ts/browser/MiscCommandsTest.ts
diff --git a/tools-ng/tinymce/editor/src/core/test/ts/browser/ModeTest.ts b/tools-ng/tinymce/src/core/test/ts/browser/ModeTest.ts
similarity index 100%
rename from tools-ng/tinymce/editor/src/core/test/ts/browser/ModeTest.ts
rename to tools-ng/tinymce/src/core/test/ts/browser/ModeTest.ts
diff --git a/tools-ng/tinymce/editor/src/core/test/ts/browser/NotificationManagerTest.ts b/tools-ng/tinymce/src/core/test/ts/browser/NotificationManagerTest.ts
similarity index 100%
rename from tools-ng/tinymce/editor/src/core/test/ts/browser/NotificationManagerTest.ts
rename to tools-ng/tinymce/src/core/test/ts/browser/NotificationManagerTest.ts
diff --git a/tools-ng/tinymce/editor/src/core/test/ts/browser/SelectionOverridesTest.ts b/tools-ng/tinymce/src/core/test/ts/browser/SelectionOverridesTest.ts
similarity index 100%
rename from tools-ng/tinymce/editor/src/core/test/ts/browser/SelectionOverridesTest.ts
rename to tools-ng/tinymce/src/core/test/ts/browser/SelectionOverridesTest.ts
diff --git a/tools-ng/tinymce/editor/src/core/test/ts/browser/ShortcutsTest.ts b/tools-ng/tinymce/src/core/test/ts/browser/ShortcutsTest.ts
similarity index 84%
rename from tools-ng/tinymce/editor/src/core/test/ts/browser/ShortcutsTest.ts
rename to tools-ng/tinymce/src/core/test/ts/browser/ShortcutsTest.ts
index 6ca61bfca..72e1ea1d7 100644
--- a/tools-ng/tinymce/editor/src/core/test/ts/browser/ShortcutsTest.ts
+++ b/tools-ng/tinymce/src/core/test/ts/browser/ShortcutsTest.ts
@@ -54,6 +54,19 @@ UnitTest.asynctest('browser.tinymce.core.ShortcutsTest', function () {
assertShortcut('ctrl+shift+d', { ctrlKey: true, shiftKey: true, keyCode: 68 }, true);
assertShortcut('ctrl+shift+alt+d', { ctrlKey: true, shiftKey: true, altKey: true, keyCode: 68 }, true);
assertShortcut('ctrl+221', { ctrlKey: true, keyCode: 221 }, true);
+
+ assertShortcut('f1', { keyCode: 112}, true);
+ assertShortcut('f2', { keyCode: 113}, true);
+ assertShortcut('f3', { keyCode: 114}, true);
+ assertShortcut('f4', { keyCode: 115}, true);
+ assertShortcut('f5', { keyCode: 116}, true);
+ assertShortcut('f6', { keyCode: 117}, true);
+ assertShortcut('f7', { keyCode: 118}, true);
+ assertShortcut('f8', { keyCode: 119}, true);
+ assertShortcut('f9', { keyCode: 120}, true);
+ assertShortcut('f10', { keyCode: 121}, true);
+ assertShortcut('f11', { keyCode: 122}, true);
+ assertShortcut('f12', { keyCode: 123}, true);
});
suite.test('Remove', function (editor) {
diff --git a/tools-ng/tinymce/editor/src/core/test/ts/browser/UndoManagerTest.ts b/tools-ng/tinymce/src/core/test/ts/browser/UndoManagerTest.ts
similarity index 100%
rename from tools-ng/tinymce/editor/src/core/test/ts/browser/UndoManagerTest.ts
rename to tools-ng/tinymce/src/core/test/ts/browser/UndoManagerTest.ts
diff --git a/tools-ng/tinymce/editor/src/core/test/ts/browser/WindowManagerTest.ts b/tools-ng/tinymce/src/core/test/ts/browser/WindowManagerTest.ts
similarity index 100%
rename from tools-ng/tinymce/editor/src/core/test/ts/browser/WindowManagerTest.ts
rename to tools-ng/tinymce/src/core/test/ts/browser/WindowManagerTest.ts
diff --git a/tools-ng/tinymce/editor/src/core/test/ts/browser/annotate/AnnotateTest.ts b/tools-ng/tinymce/src/core/test/ts/browser/annotate/AnnotateTest.ts
similarity index 100%
rename from tools-ng/tinymce/editor/src/core/test/ts/browser/annotate/AnnotateTest.ts
rename to tools-ng/tinymce/src/core/test/ts/browser/annotate/AnnotateTest.ts
diff --git a/tools-ng/tinymce/editor/src/core/test/ts/browser/annotate/AnnotationChangedTest.ts b/tools-ng/tinymce/src/core/test/ts/browser/annotate/AnnotationChangedTest.ts
similarity index 100%
rename from tools-ng/tinymce/editor/src/core/test/ts/browser/annotate/AnnotationChangedTest.ts
rename to tools-ng/tinymce/src/core/test/ts/browser/annotate/AnnotationChangedTest.ts
diff --git a/tools-ng/tinymce/editor/src/core/test/ts/browser/annotate/AnnotationPersistenceTest.ts b/tools-ng/tinymce/src/core/test/ts/browser/annotate/AnnotationPersistenceTest.ts
similarity index 100%
rename from tools-ng/tinymce/editor/src/core/test/ts/browser/annotate/AnnotationPersistenceTest.ts
rename to tools-ng/tinymce/src/core/test/ts/browser/annotate/AnnotationPersistenceTest.ts
diff --git a/tools-ng/tinymce/editor/src/core/test/ts/browser/annotate/AnnotationRemovedTest.ts b/tools-ng/tinymce/src/core/test/ts/browser/annotate/AnnotationRemovedTest.ts
similarity index 100%
rename from tools-ng/tinymce/editor/src/core/test/ts/browser/annotate/AnnotationRemovedTest.ts
rename to tools-ng/tinymce/src/core/test/ts/browser/annotate/AnnotationRemovedTest.ts
diff --git a/tools-ng/tinymce/editor/src/core/test/ts/browser/api/SettingsTest.ts b/tools-ng/tinymce/src/core/test/ts/browser/api/SettingsTest.ts
similarity index 100%
rename from tools-ng/tinymce/editor/src/core/test/ts/browser/api/SettingsTest.ts
rename to tools-ng/tinymce/src/core/test/ts/browser/api/SettingsTest.ts
diff --git a/tools-ng/tinymce/editor/src/core/test/ts/browser/api/dom/RangeUtilsTest.ts b/tools-ng/tinymce/src/core/test/ts/browser/api/dom/RangeUtilsTest.ts
similarity index 100%
rename from tools-ng/tinymce/editor/src/core/test/ts/browser/api/dom/RangeUtilsTest.ts
rename to tools-ng/tinymce/src/core/test/ts/browser/api/dom/RangeUtilsTest.ts
diff --git a/tools-ng/tinymce/editor/src/core/test/ts/browser/bookmark/BookmarksTest.ts b/tools-ng/tinymce/src/core/test/ts/browser/bookmark/BookmarksTest.ts
similarity index 100%
rename from tools-ng/tinymce/editor/src/core/test/ts/browser/bookmark/BookmarksTest.ts
rename to tools-ng/tinymce/src/core/test/ts/browser/bookmark/BookmarksTest.ts
diff --git a/tools-ng/tinymce/editor/src/core/test/ts/browser/bookmark/CaretBookmarkTest.ts b/tools-ng/tinymce/src/core/test/ts/browser/bookmark/CaretBookmarkTest.ts
similarity index 100%
rename from tools-ng/tinymce/editor/src/core/test/ts/browser/bookmark/CaretBookmarkTest.ts
rename to tools-ng/tinymce/src/core/test/ts/browser/bookmark/CaretBookmarkTest.ts
diff --git a/tools-ng/tinymce/editor/src/core/test/ts/browser/caret/CaretCandidateTest.ts b/tools-ng/tinymce/src/core/test/ts/browser/caret/CaretCandidateTest.ts
similarity index 100%
rename from tools-ng/tinymce/editor/src/core/test/ts/browser/caret/CaretCandidateTest.ts
rename to tools-ng/tinymce/src/core/test/ts/browser/caret/CaretCandidateTest.ts
diff --git a/tools-ng/tinymce/editor/src/core/test/ts/browser/caret/CaretContainerRemoveTest.ts b/tools-ng/tinymce/src/core/test/ts/browser/caret/CaretContainerRemoveTest.ts
similarity index 100%
rename from tools-ng/tinymce/editor/src/core/test/ts/browser/caret/CaretContainerRemoveTest.ts
rename to tools-ng/tinymce/src/core/test/ts/browser/caret/CaretContainerRemoveTest.ts
diff --git a/tools-ng/tinymce/editor/src/core/test/ts/browser/caret/CaretContainerTest.ts b/tools-ng/tinymce/src/core/test/ts/browser/caret/CaretContainerTest.ts
similarity index 91%
rename from tools-ng/tinymce/editor/src/core/test/ts/browser/caret/CaretContainerTest.ts
rename to tools-ng/tinymce/src/core/test/ts/browser/caret/CaretContainerTest.ts
index fb7ea1c0e..0f9d890f4 100644
--- a/tools-ng/tinymce/editor/src/core/test/ts/browser/caret/CaretContainerTest.ts
+++ b/tools-ng/tinymce/src/core/test/ts/browser/caret/CaretContainerTest.ts
@@ -152,6 +152,12 @@ UnitTest.asynctest('browser.tinymce.core.CaretContainerTest', function () {
LegacyUnit.equal(CaretContainer.isBeforeInline(CaretPosition(getRoot().firstChild, 0)), true);
LegacyUnit.equal(CaretContainer.isBeforeInline(CaretPosition(getRoot().firstChild, 1)), false);
});
+ suite.test('isBeforeInline 2', function () {
+ setupHtml('a');
+ viewBlock.get().insertBefore(document.createTextNode(Zwsp.ZWSP), viewBlock.get().firstChild);
+ LegacyUnit.equal(CaretContainer.isBeforeInline(CaretPosition(getRoot().firstChild, 0)), true);
+ LegacyUnit.equal(CaretContainer.isBeforeInline(CaretPosition(getRoot().firstChild, 1)), false);
+ });
suite.test('isAfterInline', function () {
setupHtml(Zwsp.ZWSP + 'a');
@@ -159,6 +165,13 @@ UnitTest.asynctest('browser.tinymce.core.CaretContainerTest', function () {
LegacyUnit.equal(CaretContainer.isAfterInline(CaretPosition(getRoot().firstChild, 0)), false);
});
+ suite.test('isAfterInline 2', function () {
+ setupHtml('a');
+ viewBlock.get().insertBefore(document.createTextNode(Zwsp.ZWSP), viewBlock.get().firstChild);
+ LegacyUnit.equal(CaretContainer.isAfterInline(CaretPosition(getRoot().firstChild, 1)), true);
+ LegacyUnit.equal(CaretContainer.isAfterInline(CaretPosition(getRoot().firstChild, 0)), false);
+ });
+
viewBlock.attach();
Pipeline.async({}, suite.toSteps({}), function () {
viewBlock.detach();
diff --git a/tools-ng/tinymce/editor/src/core/test/ts/browser/caret/CaretFinderTest.ts b/tools-ng/tinymce/src/core/test/ts/browser/caret/CaretFinderTest.ts
similarity index 100%
rename from tools-ng/tinymce/editor/src/core/test/ts/browser/caret/CaretFinderTest.ts
rename to tools-ng/tinymce/src/core/test/ts/browser/caret/CaretFinderTest.ts
diff --git a/tools-ng/tinymce/editor/src/core/test/ts/browser/caret/CaretPositionTest.ts b/tools-ng/tinymce/src/core/test/ts/browser/caret/CaretPositionTest.ts
similarity index 100%
rename from tools-ng/tinymce/editor/src/core/test/ts/browser/caret/CaretPositionTest.ts
rename to tools-ng/tinymce/src/core/test/ts/browser/caret/CaretPositionTest.ts
diff --git a/tools-ng/tinymce/editor/src/core/test/ts/browser/caret/CaretUtilsTest.ts b/tools-ng/tinymce/src/core/test/ts/browser/caret/CaretUtilsTest.ts
similarity index 100%
rename from tools-ng/tinymce/editor/src/core/test/ts/browser/caret/CaretUtilsTest.ts
rename to tools-ng/tinymce/src/core/test/ts/browser/caret/CaretUtilsTest.ts
diff --git a/tools-ng/tinymce/editor/src/core/test/ts/browser/caret/CaretWalkerTest.ts b/tools-ng/tinymce/src/core/test/ts/browser/caret/CaretWalkerTest.ts
similarity index 97%
rename from tools-ng/tinymce/editor/src/core/test/ts/browser/caret/CaretWalkerTest.ts
rename to tools-ng/tinymce/src/core/test/ts/browser/caret/CaretWalkerTest.ts
index 856f0151e..90bee9d43 100644
--- a/tools-ng/tinymce/editor/src/core/test/ts/browser/caret/CaretWalkerTest.ts
+++ b/tools-ng/tinymce/src/core/test/ts/browser/caret/CaretWalkerTest.ts
@@ -8,9 +8,7 @@ import CaretAsserts from '../../module/test/CaretAsserts';
import ViewBlock from '../../module/test/ViewBlock';
import { UnitTest } from '@ephox/bedrock';
-UnitTest.asynctest('browser.tinymce.core.CaretWalkerTest', function () {
- const success = arguments[arguments.length - 2];
- const failure = arguments[arguments.length - 1];
+UnitTest.asynctest('browser.tinymce.core.CaretWalkerTest', (success, failure) => {
const suite = LegacyUnit.createSuite();
const viewBlock = ViewBlock();
@@ -22,6 +20,10 @@ UnitTest.asynctest('browser.tinymce.core.CaretWalkerTest', function () {
return viewBlock.get();
};
+ const getChildNode = (childIndex: number) => {
+ return getRoot().childNodes[childIndex];
+ };
+
const setupHtml = function (html) {
viewBlock.update(html);
};
@@ -77,7 +79,7 @@ UnitTest.asynctest('browser.tinymce.core.CaretWalkerTest', function () {
});
suite.test('from index text node over comment', function () {
- setupHtml('abcdabcd');
+ setupHtml('abcdefgh');
CaretAsserts.assertCaretPosition(logicalCaret.next(CaretPosition(getRoot(), 0)), CaretPosition(getRoot().firstChild, 0));
CaretAsserts.assertCaretPosition(logicalCaret.next(CaretPosition(getRoot(), 1)), CaretPosition(getRoot().lastChild, 0));
CaretAsserts.assertCaretPosition(logicalCaret.prev(CaretPosition(getRoot(), 2)), CaretPosition(getRoot().firstChild, 4));
@@ -85,13 +87,13 @@ UnitTest.asynctest('browser.tinymce.core.CaretWalkerTest', function () {
});
suite.test('from text to text across elements', function () {
- setupHtml('abc
abc
');
+ setupHtml('abc
def
');
CaretAsserts.assertCaretPosition(logicalCaret.next(findTextPos('p:first', 3)), findTextPos('p:last', 0));
CaretAsserts.assertCaretPosition(logicalCaret.prev(findTextPos('p:last', 0)), findTextPos('p:first', 3));
});
suite.test('from text to text across elements with siblings', function () {
- setupHtml('abc
abc
');
+ setupHtml('abc
def
');
CaretAsserts.assertCaretPosition(logicalCaret.next(findTextPos('p:first', 3)), CaretPosition(findElm('p:last').lastChild, 0));
CaretAsserts.assertCaretPosition(logicalCaret.prev(CaretPosition(findElm('p:last').lastChild, 0)), findTextPos('p:first', 3));
});
@@ -125,12 +127,12 @@ UnitTest.asynctest('browser.tinymce.core.CaretWalkerTest', function () {
suite.test('from before/after br to text', function () {
setupHtml(' 123 456 789');
- CaretAsserts.assertCaretPosition(logicalCaret.next(CaretPosition(getRoot(), 0)), CaretPosition(getRoot(), 1));
- CaretAsserts.assertCaretPosition(logicalCaret.next(CaretPosition(getRoot(), 2)), CaretPosition(getRoot(), 3));
- CaretAsserts.assertCaretPosition(logicalCaret.next(CaretPosition(getRoot(), 4)), CaretPosition(getRoot(), 5));
+ CaretAsserts.assertCaretPosition(logicalCaret.next(CaretPosition(getRoot(), 0)), CaretPosition(getChildNode(1), 0));
+ CaretAsserts.assertCaretPosition(logicalCaret.next(CaretPosition(getRoot(), 2)), CaretPosition(getChildNode(3), 0));
+ CaretAsserts.assertCaretPosition(logicalCaret.next(CaretPosition(getRoot(), 4)), CaretPosition(getChildNode(5), 0));
CaretAsserts.assertCaretPosition(logicalCaret.next(CaretPosition(getRoot(), 5)), CaretPosition(getRoot().lastChild, 0));
CaretAsserts.assertCaretPosition(logicalCaret.prev(CaretPosition(getRoot(), 5)), CaretPosition(getRoot(), 4));
- CaretAsserts.assertCaretPosition(logicalCaret.prev(CaretPosition(getRoot(), 4)), CaretPosition(getRoot().childNodes[3], 3));
+ CaretAsserts.assertCaretPosition(logicalCaret.prev(CaretPosition(getRoot(), 4)), CaretPosition(getChildNode(3), 3));
CaretAsserts.assertCaretPosition(logicalCaret.prev(CaretPosition(getRoot(), 1)), CaretPosition(getRoot(), 0));
});
diff --git a/tools-ng/tinymce/editor/src/core/test/ts/browser/caret/FakeCaretTest.ts b/tools-ng/tinymce/src/core/test/ts/browser/caret/FakeCaretTest.ts
similarity index 100%
rename from tools-ng/tinymce/editor/src/core/test/ts/browser/caret/FakeCaretTest.ts
rename to tools-ng/tinymce/src/core/test/ts/browser/caret/FakeCaretTest.ts
diff --git a/tools-ng/tinymce/editor/src/core/test/ts/browser/caret/FirefoxFakeCaretBeforeTableTypeTest.ts b/tools-ng/tinymce/src/core/test/ts/browser/caret/FirefoxFakeCaretBeforeTableTypeTest.ts
similarity index 100%
rename from tools-ng/tinymce/editor/src/core/test/ts/browser/caret/FirefoxFakeCaretBeforeTableTypeTest.ts
rename to tools-ng/tinymce/src/core/test/ts/browser/caret/FirefoxFakeCaretBeforeTableTypeTest.ts
diff --git a/tools-ng/tinymce/editor/src/core/test/ts/browser/caret/LineReaderTest.ts b/tools-ng/tinymce/src/core/test/ts/browser/caret/LineReaderTest.ts
similarity index 100%
rename from tools-ng/tinymce/editor/src/core/test/ts/browser/caret/LineReaderTest.ts
rename to tools-ng/tinymce/src/core/test/ts/browser/caret/LineReaderTest.ts
diff --git a/tools-ng/tinymce/editor/src/core/test/ts/browser/caret/LineUtilsTest.ts b/tools-ng/tinymce/src/core/test/ts/browser/caret/LineUtilsTest.ts
similarity index 100%
rename from tools-ng/tinymce/editor/src/core/test/ts/browser/caret/LineUtilsTest.ts
rename to tools-ng/tinymce/src/core/test/ts/browser/caret/LineUtilsTest.ts
diff --git a/tools-ng/tinymce/editor/src/core/test/ts/browser/caret/LineWalkerTest.ts b/tools-ng/tinymce/src/core/test/ts/browser/caret/LineWalkerTest.ts
similarity index 100%
rename from tools-ng/tinymce/editor/src/core/test/ts/browser/caret/LineWalkerTest.ts
rename to tools-ng/tinymce/src/core/test/ts/browser/caret/LineWalkerTest.ts
diff --git a/tools-ng/tinymce/editor/src/core/test/ts/browser/caret/TableCellsTest.ts b/tools-ng/tinymce/src/core/test/ts/browser/caret/TableCellsTest.ts
similarity index 100%
rename from tools-ng/tinymce/editor/src/core/test/ts/browser/caret/TableCellsTest.ts
rename to tools-ng/tinymce/src/core/test/ts/browser/caret/TableCellsTest.ts
diff --git a/tools-ng/tinymce/editor/src/core/test/ts/browser/content/EditorContentNotInitializedTest.ts b/tools-ng/tinymce/src/core/test/ts/browser/content/EditorContentNotInitializedTest.ts
similarity index 100%
rename from tools-ng/tinymce/editor/src/core/test/ts/browser/content/EditorContentNotInitializedTest.ts
rename to tools-ng/tinymce/src/core/test/ts/browser/content/EditorContentNotInitializedTest.ts
diff --git a/tools-ng/tinymce/editor/src/core/test/ts/browser/content/EditorContentTest.ts b/tools-ng/tinymce/src/core/test/ts/browser/content/EditorContentTest.ts
similarity index 100%
rename from tools-ng/tinymce/editor/src/core/test/ts/browser/content/EditorContentTest.ts
rename to tools-ng/tinymce/src/core/test/ts/browser/content/EditorContentTest.ts
diff --git a/tools-ng/tinymce/editor/src/core/test/ts/browser/content/EditorContentWsTest.ts b/tools-ng/tinymce/src/core/test/ts/browser/content/EditorContentWsTest.ts
similarity index 100%
rename from tools-ng/tinymce/editor/src/core/test/ts/browser/content/EditorContentWsTest.ts
rename to tools-ng/tinymce/src/core/test/ts/browser/content/EditorContentWsTest.ts
diff --git a/tools-ng/tinymce/editor/src/core/test/ts/browser/content/EditorGetContentTextFormatTest.ts b/tools-ng/tinymce/src/core/test/ts/browser/content/EditorGetContentTextFormatTest.ts
similarity index 100%
rename from tools-ng/tinymce/editor/src/core/test/ts/browser/content/EditorGetContentTextFormatTest.ts
rename to tools-ng/tinymce/src/core/test/ts/browser/content/EditorGetContentTextFormatTest.ts
diff --git a/tools-ng/tinymce/editor/src/core/test/ts/browser/content/EditorGetContentTreeTest.ts b/tools-ng/tinymce/src/core/test/ts/browser/content/EditorGetContentTreeTest.ts
similarity index 100%
rename from tools-ng/tinymce/editor/src/core/test/ts/browser/content/EditorGetContentTreeTest.ts
rename to tools-ng/tinymce/src/core/test/ts/browser/content/EditorGetContentTreeTest.ts
diff --git a/tools-ng/tinymce/editor/src/core/test/ts/browser/content/InsertContentCommandTest.ts b/tools-ng/tinymce/src/core/test/ts/browser/content/InsertContentCommandTest.ts
similarity index 100%
rename from tools-ng/tinymce/editor/src/core/test/ts/browser/content/InsertContentCommandTest.ts
rename to tools-ng/tinymce/src/core/test/ts/browser/content/InsertContentCommandTest.ts
diff --git a/tools-ng/tinymce/editor/src/core/test/ts/browser/content/InsertContentForcedRootFalseTest.ts b/tools-ng/tinymce/src/core/test/ts/browser/content/InsertContentForcedRootFalseTest.ts
similarity index 100%
rename from tools-ng/tinymce/editor/src/core/test/ts/browser/content/InsertContentForcedRootFalseTest.ts
rename to tools-ng/tinymce/src/core/test/ts/browser/content/InsertContentForcedRootFalseTest.ts
diff --git a/tools-ng/tinymce/editor/src/core/test/ts/browser/content/InsertContentTest.ts b/tools-ng/tinymce/src/core/test/ts/browser/content/InsertContentTest.ts
similarity index 100%
rename from tools-ng/tinymce/editor/src/core/test/ts/browser/content/InsertContentTest.ts
rename to tools-ng/tinymce/src/core/test/ts/browser/content/InsertContentTest.ts
diff --git a/tools-ng/tinymce/editor/src/core/test/ts/browser/content/InsertContentWebKitBugs.ts b/tools-ng/tinymce/src/core/test/ts/browser/content/InsertContentWebKitBugs.ts
similarity index 100%
rename from tools-ng/tinymce/editor/src/core/test/ts/browser/content/InsertContentWebKitBugs.ts
rename to tools-ng/tinymce/src/core/test/ts/browser/content/InsertContentWebKitBugs.ts
diff --git a/tools-ng/tinymce/editor/src/core/test/ts/browser/content/InsertListTest.ts b/tools-ng/tinymce/src/core/test/ts/browser/content/InsertListTest.ts
similarity index 100%
rename from tools-ng/tinymce/editor/src/core/test/ts/browser/content/InsertListTest.ts
rename to tools-ng/tinymce/src/core/test/ts/browser/content/InsertListTest.ts
diff --git a/tools-ng/tinymce/editor/src/core/test/ts/browser/delete/BlockBoundaryDeleteTest.ts b/tools-ng/tinymce/src/core/test/ts/browser/delete/BlockBoundaryDeleteTest.ts
similarity index 100%
rename from tools-ng/tinymce/editor/src/core/test/ts/browser/delete/BlockBoundaryDeleteTest.ts
rename to tools-ng/tinymce/src/core/test/ts/browser/delete/BlockBoundaryDeleteTest.ts
diff --git a/tools-ng/tinymce/editor/src/core/test/ts/browser/delete/BlockMergeBoundaryTest.ts b/tools-ng/tinymce/src/core/test/ts/browser/delete/BlockMergeBoundaryTest.ts
similarity index 100%
rename from tools-ng/tinymce/editor/src/core/test/ts/browser/delete/BlockMergeBoundaryTest.ts
rename to tools-ng/tinymce/src/core/test/ts/browser/delete/BlockMergeBoundaryTest.ts
diff --git a/tools-ng/tinymce/editor/src/core/test/ts/browser/delete/BlockRangeDeleteTest.ts b/tools-ng/tinymce/src/core/test/ts/browser/delete/BlockRangeDeleteTest.ts
similarity index 100%
rename from tools-ng/tinymce/editor/src/core/test/ts/browser/delete/BlockRangeDeleteTest.ts
rename to tools-ng/tinymce/src/core/test/ts/browser/delete/BlockRangeDeleteTest.ts
diff --git a/tools-ng/tinymce/src/core/test/ts/browser/delete/CefBoundaryDeleteTest.ts b/tools-ng/tinymce/src/core/test/ts/browser/delete/CefBoundaryDeleteTest.ts
new file mode 100644
index 000000000..aa33fe1d0
--- /dev/null
+++ b/tools-ng/tinymce/src/core/test/ts/browser/delete/CefBoundaryDeleteTest.ts
@@ -0,0 +1,119 @@
+import { ApproxStructure, GeneralSteps, Keys, Logger, Pipeline } from '@ephox/agar';
+import { UnitTest } from '@ephox/bedrock';
+import { TinyActions, TinyApis, TinyLoader } from '@ephox/mcagar';
+import Theme from 'tinymce/themes/modern/Theme';
+import Zwsp from 'tinymce/core/text/Zwsp';
+
+UnitTest.asynctest('browser.tinymce.core.delete.CefBoundaryDeleteTest', (success, failure) => {
+ Theme();
+
+ const sTestDelete = function (editor, tinyApis, tinyActions) {
+ return GeneralSteps.sequence([
+ tinyApis.sFocus,
+
+ Logger.t('Should delete single space between cef elements', GeneralSteps.sequence([
+ tinyApis.sSetContent('a b
'),
+ tinyApis.sSetSelection([0, 2], 1, [0, 2], 1),
+ tinyActions.sContentKeystroke(Keys.backspace(), {}),
+ tinyApis.sAssertSelection([0, 1], 1, [0, 1], 1),
+ tinyApis.sAssertContentStructure(
+ ApproxStructure.build(function (s, str, arr) {
+ return s.element('body', {
+ children: [
+ s.element('p', {
+ children: [
+ s.element('span', {
+ attrs: {
+ contenteditable: str.is('false')
+ },
+ children: [
+ s.text(str.is('a'))
+ ]
+ }),
+ s.text(str.is(Zwsp.ZWSP)),
+ s.element('span', {
+ attrs: {
+ contenteditable: str.is('false')
+ },
+ children: [
+ s.text(str.is('b'))
+ ]
+ }),
+ s.text(str.is('\u00a0'))
+ ]
+ })
+ ]
+ });
+ })
+ )
+ ])),
+
+ Logger.t('Should add fake caret if we delete content beside cef elements', GeneralSteps.sequence([
+ tinyApis.sSetContent('a
'),
+ tinyApis.sSetSelection([0, 2], 1, [0, 2], 1),
+ tinyActions.sContentKeystroke(Keys.backspace(), {}),
+ tinyApis.sAssertSelection([0, 1], 1, [0, 1], 1),
+ tinyApis.sAssertContentStructure(
+ ApproxStructure.build(function (s, str, arr) {
+ return s.element('body', {
+ children: [
+ s.element('p', {
+ children: [
+ s.element('span', {
+ attrs: {
+ contenteditable: str.is('false')
+ },
+ children: [
+ s.text(str.is('a'))
+ ]
+ }),
+ s.text(str.is(Zwsp.ZWSP))
+ ]
+ })
+ ]
+ });
+ })
+ )
+ ])),
+
+ Logger.t('Should add fake caret if we delete range beside cef', GeneralSteps.sequence([
+ tinyApis.sSetContent('a abc
'),
+ tinyApis.sSetSelection([0, 2], 0, [0, 2], 4),
+ tinyActions.sContentKeystroke(Keys.backspace(), {}),
+ tinyApis.sAssertSelection([0, 1], 1, [0, 1], 1),
+ tinyApis.sAssertContentStructure(
+ ApproxStructure.build(function (s, str, arr) {
+ return s.element('body', {
+ children: [
+ s.element('p', {
+ children: [
+ s.element('span', {
+ attrs: {
+ contenteditable: str.is('false')
+ },
+ children: [
+ s.text(str.is('a'))
+ ]
+ }),
+ s.text(str.is(Zwsp.ZWSP))
+ ]
+ })
+ ]
+ });
+ })
+ )
+ ]))
+ ]);
+ };
+
+ TinyLoader.setup(function (editor, onSuccess, onFailure) {
+ const tinyApis = TinyApis(editor);
+ const tinyActions = TinyActions(editor);
+
+ Pipeline.async({}, [
+ sTestDelete(editor, tinyApis, tinyActions)
+ ], onSuccess, onFailure);
+ }, {
+ skin_url: '/project/js/tinymce/skins/lightgray'
+ }, success, failure);
+});
diff --git a/tools-ng/tinymce/editor/src/core/test/ts/browser/delete/CefDeleteActionTest.ts b/tools-ng/tinymce/src/core/test/ts/browser/delete/CefDeleteActionTest.ts
similarity index 100%
rename from tools-ng/tinymce/editor/src/core/test/ts/browser/delete/CefDeleteActionTest.ts
rename to tools-ng/tinymce/src/core/test/ts/browser/delete/CefDeleteActionTest.ts
diff --git a/tools-ng/tinymce/editor/src/core/test/ts/browser/delete/CefDeleteTest.ts b/tools-ng/tinymce/src/core/test/ts/browser/delete/CefDeleteTest.ts
similarity index 100%
rename from tools-ng/tinymce/editor/src/core/test/ts/browser/delete/CefDeleteTest.ts
rename to tools-ng/tinymce/src/core/test/ts/browser/delete/CefDeleteTest.ts
diff --git a/tools-ng/tinymce/editor/src/core/test/ts/browser/delete/DeleteCommandsTest.ts b/tools-ng/tinymce/src/core/test/ts/browser/delete/DeleteCommandsTest.ts
similarity index 100%
rename from tools-ng/tinymce/editor/src/core/test/ts/browser/delete/DeleteCommandsTest.ts
rename to tools-ng/tinymce/src/core/test/ts/browser/delete/DeleteCommandsTest.ts
diff --git a/tools-ng/tinymce/editor/src/core/test/ts/browser/delete/DeleteElementTest.ts b/tools-ng/tinymce/src/core/test/ts/browser/delete/DeleteElementTest.ts
similarity index 100%
rename from tools-ng/tinymce/editor/src/core/test/ts/browser/delete/DeleteElementTest.ts
rename to tools-ng/tinymce/src/core/test/ts/browser/delete/DeleteElementTest.ts
diff --git a/tools-ng/tinymce/editor/src/core/test/ts/browser/delete/DeleteUtilsTest.ts b/tools-ng/tinymce/src/core/test/ts/browser/delete/DeleteUtilsTest.ts
similarity index 100%
rename from tools-ng/tinymce/editor/src/core/test/ts/browser/delete/DeleteUtilsTest.ts
rename to tools-ng/tinymce/src/core/test/ts/browser/delete/DeleteUtilsTest.ts
diff --git a/tools-ng/tinymce/editor/src/core/test/ts/browser/delete/InlineBoundaryDeleteTest.ts b/tools-ng/tinymce/src/core/test/ts/browser/delete/InlineBoundaryDeleteTest.ts
similarity index 100%
rename from tools-ng/tinymce/editor/src/core/test/ts/browser/delete/InlineBoundaryDeleteTest.ts
rename to tools-ng/tinymce/src/core/test/ts/browser/delete/InlineBoundaryDeleteTest.ts
diff --git a/tools-ng/tinymce/editor/src/core/test/ts/browser/delete/InlineFormatDeleteTest.ts b/tools-ng/tinymce/src/core/test/ts/browser/delete/InlineFormatDeleteTest.ts
similarity index 100%
rename from tools-ng/tinymce/editor/src/core/test/ts/browser/delete/InlineFormatDeleteTest.ts
rename to tools-ng/tinymce/src/core/test/ts/browser/delete/InlineFormatDeleteTest.ts
diff --git a/tools-ng/tinymce/editor/src/core/test/ts/browser/delete/MergeBlocksTest.ts b/tools-ng/tinymce/src/core/test/ts/browser/delete/MergeBlocksTest.ts
similarity index 100%
rename from tools-ng/tinymce/editor/src/core/test/ts/browser/delete/MergeBlocksTest.ts
rename to tools-ng/tinymce/src/core/test/ts/browser/delete/MergeBlocksTest.ts
diff --git a/tools-ng/tinymce/editor/src/core/test/ts/browser/delete/TableDeleteActionTest.ts b/tools-ng/tinymce/src/core/test/ts/browser/delete/TableDeleteActionTest.ts
similarity index 100%
rename from tools-ng/tinymce/editor/src/core/test/ts/browser/delete/TableDeleteActionTest.ts
rename to tools-ng/tinymce/src/core/test/ts/browser/delete/TableDeleteActionTest.ts
diff --git a/tools-ng/tinymce/editor/src/core/test/ts/browser/delete/TableDeleteTest.ts b/tools-ng/tinymce/src/core/test/ts/browser/delete/TableDeleteTest.ts
similarity index 100%
rename from tools-ng/tinymce/editor/src/core/test/ts/browser/delete/TableDeleteTest.ts
rename to tools-ng/tinymce/src/core/test/ts/browser/delete/TableDeleteTest.ts
diff --git a/tools-ng/tinymce/editor/src/core/test/ts/browser/dom/ContentCssCorsTest.ts b/tools-ng/tinymce/src/core/test/ts/browser/dom/ContentCssCorsTest.ts
similarity index 100%
rename from tools-ng/tinymce/editor/src/core/test/ts/browser/dom/ContentCssCorsTest.ts
rename to tools-ng/tinymce/src/core/test/ts/browser/dom/ContentCssCorsTest.ts
diff --git a/tools-ng/tinymce/editor/src/core/test/ts/browser/dom/ControlSelectionTest.ts b/tools-ng/tinymce/src/core/test/ts/browser/dom/ControlSelectionTest.ts
similarity index 100%
rename from tools-ng/tinymce/editor/src/core/test/ts/browser/dom/ControlSelectionTest.ts
rename to tools-ng/tinymce/src/core/test/ts/browser/dom/ControlSelectionTest.ts
diff --git a/tools-ng/tinymce/editor/src/core/test/ts/browser/dom/DimensionsTest.ts b/tools-ng/tinymce/src/core/test/ts/browser/dom/DimensionsTest.ts
similarity index 82%
rename from tools-ng/tinymce/editor/src/core/test/ts/browser/dom/DimensionsTest.ts
rename to tools-ng/tinymce/src/core/test/ts/browser/dom/DimensionsTest.ts
index b77917b19..251f1400b 100644
--- a/tools-ng/tinymce/editor/src/core/test/ts/browser/dom/DimensionsTest.ts
+++ b/tools-ng/tinymce/src/core/test/ts/browser/dom/DimensionsTest.ts
@@ -1,13 +1,11 @@
import { LegacyUnit } from '@ephox/mcagar';
import { Pipeline } from '@ephox/agar';
-import Arr from 'tinymce/core/util/Arr';
import * as Dimensions from 'tinymce/core/dom/Dimensions';
import ViewBlock from '../../module/test/ViewBlock';
import { UnitTest } from '@ephox/bedrock';
+import { Arr } from '@ephox/katamari';
-UnitTest.asynctest('browser.tinymce.core.dom.DimensionsTest', function () {
- const success = arguments[arguments.length - 2];
- const failure = arguments[arguments.length - 1];
+UnitTest.asynctest('browser.tinymce.core.dom.DimensionsTest', (success, failure) => {
const suite = LegacyUnit.createSuite();
const viewBlock = ViewBlock();
@@ -28,7 +26,7 @@ UnitTest.asynctest('browser.tinymce.core.dom.DimensionsTest', function () {
suite.test('getClientRects from array', function () {
const viewElm = setupHtml('a b ');
- const clientRects = Dimensions.getClientRects(Arr.toArray(viewElm.childNodes));
+ const clientRects = Dimensions.getClientRects(Arr.from(viewElm.childNodes));
LegacyUnit.strictEqual(clientRects.length, 2);
LegacyUnit.equalDom(clientRects[0].node, viewElm.childNodes[0]);
diff --git a/tools-ng/tinymce/editor/src/core/test/ts/browser/dom/DomUtilsTest.ts b/tools-ng/tinymce/src/core/test/ts/browser/dom/DomUtilsTest.ts
similarity index 100%
rename from tools-ng/tinymce/editor/src/core/test/ts/browser/dom/DomUtilsTest.ts
rename to tools-ng/tinymce/src/core/test/ts/browser/dom/DomUtilsTest.ts
diff --git a/tools-ng/tinymce/editor/src/core/test/ts/browser/dom/ElementTypeTest.ts b/tools-ng/tinymce/src/core/test/ts/browser/dom/ElementTypeTest.ts
similarity index 100%
rename from tools-ng/tinymce/editor/src/core/test/ts/browser/dom/ElementTypeTest.ts
rename to tools-ng/tinymce/src/core/test/ts/browser/dom/ElementTypeTest.ts
diff --git a/tools-ng/tinymce/editor/src/core/test/ts/browser/dom/EmptyTest.ts b/tools-ng/tinymce/src/core/test/ts/browser/dom/EmptyTest.ts
similarity index 100%
rename from tools-ng/tinymce/editor/src/core/test/ts/browser/dom/EmptyTest.ts
rename to tools-ng/tinymce/src/core/test/ts/browser/dom/EmptyTest.ts
diff --git a/tools-ng/tinymce/editor/src/core/test/ts/browser/dom/EventUtilsTest.ts b/tools-ng/tinymce/src/core/test/ts/browser/dom/EventUtilsTest.ts
similarity index 100%
rename from tools-ng/tinymce/editor/src/core/test/ts/browser/dom/EventUtilsTest.ts
rename to tools-ng/tinymce/src/core/test/ts/browser/dom/EventUtilsTest.ts
diff --git a/tools-ng/tinymce/editor/src/core/test/ts/browser/dom/NodePathTest.ts b/tools-ng/tinymce/src/core/test/ts/browser/dom/NodePathTest.ts
similarity index 100%
rename from tools-ng/tinymce/editor/src/core/test/ts/browser/dom/NodePathTest.ts
rename to tools-ng/tinymce/src/core/test/ts/browser/dom/NodePathTest.ts
diff --git a/tools-ng/tinymce/editor/src/core/test/ts/browser/dom/NodeTypeTest.ts b/tools-ng/tinymce/src/core/test/ts/browser/dom/NodeTypeTest.ts
similarity index 100%
rename from tools-ng/tinymce/editor/src/core/test/ts/browser/dom/NodeTypeTest.ts
rename to tools-ng/tinymce/src/core/test/ts/browser/dom/NodeTypeTest.ts
diff --git a/tools-ng/tinymce/editor/src/core/test/ts/browser/dom/PaddingBrTest.ts b/tools-ng/tinymce/src/core/test/ts/browser/dom/PaddingBrTest.ts
similarity index 100%
rename from tools-ng/tinymce/editor/src/core/test/ts/browser/dom/PaddingBrTest.ts
rename to tools-ng/tinymce/src/core/test/ts/browser/dom/PaddingBrTest.ts
diff --git a/tools-ng/tinymce/editor/src/core/test/ts/browser/dom/ParentsTest.ts b/tools-ng/tinymce/src/core/test/ts/browser/dom/ParentsTest.ts
similarity index 100%
rename from tools-ng/tinymce/editor/src/core/test/ts/browser/dom/ParentsTest.ts
rename to tools-ng/tinymce/src/core/test/ts/browser/dom/ParentsTest.ts
diff --git a/tools-ng/tinymce/editor/src/core/test/ts/browser/dom/ScrollIntoViewTest.ts b/tools-ng/tinymce/src/core/test/ts/browser/dom/ScrollIntoViewTest.ts
similarity index 100%
rename from tools-ng/tinymce/editor/src/core/test/ts/browser/dom/ScrollIntoViewTest.ts
rename to tools-ng/tinymce/src/core/test/ts/browser/dom/ScrollIntoViewTest.ts
diff --git a/tools-ng/tinymce/editor/src/core/test/ts/browser/dom/SelectionEventsTest.ts b/tools-ng/tinymce/src/core/test/ts/browser/dom/SelectionEventsTest.ts
similarity index 100%
rename from tools-ng/tinymce/editor/src/core/test/ts/browser/dom/SelectionEventsTest.ts
rename to tools-ng/tinymce/src/core/test/ts/browser/dom/SelectionEventsTest.ts
diff --git a/tools-ng/tinymce/editor/src/core/test/ts/browser/dom/SelectionQuirksTest.ts b/tools-ng/tinymce/src/core/test/ts/browser/dom/SelectionQuirksTest.ts
similarity index 100%
rename from tools-ng/tinymce/editor/src/core/test/ts/browser/dom/SelectionQuirksTest.ts
rename to tools-ng/tinymce/src/core/test/ts/browser/dom/SelectionQuirksTest.ts
diff --git a/tools-ng/tinymce/editor/src/core/test/ts/browser/dom/SelectionTest.ts b/tools-ng/tinymce/src/core/test/ts/browser/dom/SelectionTest.ts
similarity index 100%
rename from tools-ng/tinymce/editor/src/core/test/ts/browser/dom/SelectionTest.ts
rename to tools-ng/tinymce/src/core/test/ts/browser/dom/SelectionTest.ts
diff --git a/tools-ng/tinymce/editor/src/core/test/ts/browser/dom/SerializerEventsTest.ts b/tools-ng/tinymce/src/core/test/ts/browser/dom/SerializerEventsTest.ts
similarity index 100%
rename from tools-ng/tinymce/editor/src/core/test/ts/browser/dom/SerializerEventsTest.ts
rename to tools-ng/tinymce/src/core/test/ts/browser/dom/SerializerEventsTest.ts
diff --git a/tools-ng/tinymce/editor/src/core/test/ts/browser/dom/SerializerTest.ts b/tools-ng/tinymce/src/core/test/ts/browser/dom/SerializerTest.ts
similarity index 100%
rename from tools-ng/tinymce/editor/src/core/test/ts/browser/dom/SerializerTest.ts
rename to tools-ng/tinymce/src/core/test/ts/browser/dom/SerializerTest.ts
diff --git a/tools-ng/tinymce/editor/src/core/test/ts/browser/dom/TreeWalkerTest.ts b/tools-ng/tinymce/src/core/test/ts/browser/dom/TreeWalkerTest.ts
similarity index 100%
rename from tools-ng/tinymce/editor/src/core/test/ts/browser/dom/TreeWalkerTest.ts
rename to tools-ng/tinymce/src/core/test/ts/browser/dom/TreeWalkerTest.ts
diff --git a/tools-ng/tinymce/editor/src/core/test/ts/browser/dom/TrimHtmlTest.ts b/tools-ng/tinymce/src/core/test/ts/browser/dom/TrimHtmlTest.ts
similarity index 100%
rename from tools-ng/tinymce/editor/src/core/test/ts/browser/dom/TrimHtmlTest.ts
rename to tools-ng/tinymce/src/core/test/ts/browser/dom/TrimHtmlTest.ts
diff --git a/tools-ng/tinymce/editor/src/core/test/ts/browser/dom/TrimNodeTest.ts b/tools-ng/tinymce/src/core/test/ts/browser/dom/TrimNodeTest.ts
similarity index 100%
rename from tools-ng/tinymce/editor/src/core/test/ts/browser/dom/TrimNodeTest.ts
rename to tools-ng/tinymce/src/core/test/ts/browser/dom/TrimNodeTest.ts
diff --git a/tools-ng/tinymce/editor/src/core/test/ts/browser/file/BlobCacheTest.ts b/tools-ng/tinymce/src/core/test/ts/browser/file/BlobCacheTest.ts
similarity index 100%
rename from tools-ng/tinymce/editor/src/core/test/ts/browser/file/BlobCacheTest.ts
rename to tools-ng/tinymce/src/core/test/ts/browser/file/BlobCacheTest.ts
diff --git a/tools-ng/tinymce/editor/src/core/test/ts/browser/file/ConversionsTest.ts b/tools-ng/tinymce/src/core/test/ts/browser/file/ConversionsTest.ts
similarity index 100%
rename from tools-ng/tinymce/editor/src/core/test/ts/browser/file/ConversionsTest.ts
rename to tools-ng/tinymce/src/core/test/ts/browser/file/ConversionsTest.ts
diff --git a/tools-ng/tinymce/editor/src/core/test/ts/browser/file/ImageScannerTest.ts b/tools-ng/tinymce/src/core/test/ts/browser/file/ImageScannerTest.ts
similarity index 100%
rename from tools-ng/tinymce/editor/src/core/test/ts/browser/file/ImageScannerTest.ts
rename to tools-ng/tinymce/src/core/test/ts/browser/file/ImageScannerTest.ts
diff --git a/tools-ng/tinymce/editor/src/core/test/ts/browser/file/UploadStatusTest.ts b/tools-ng/tinymce/src/core/test/ts/browser/file/UploadStatusTest.ts
similarity index 100%
rename from tools-ng/tinymce/editor/src/core/test/ts/browser/file/UploadStatusTest.ts
rename to tools-ng/tinymce/src/core/test/ts/browser/file/UploadStatusTest.ts
diff --git a/tools-ng/tinymce/editor/src/core/test/ts/browser/fmt/BlockFormatsTest.ts b/tools-ng/tinymce/src/core/test/ts/browser/fmt/BlockFormatsTest.ts
similarity index 100%
rename from tools-ng/tinymce/editor/src/core/test/ts/browser/fmt/BlockFormatsTest.ts
rename to tools-ng/tinymce/src/core/test/ts/browser/fmt/BlockFormatsTest.ts
diff --git a/tools-ng/tinymce/editor/src/core/test/ts/browser/fmt/CaretFormatTest.ts b/tools-ng/tinymce/src/core/test/ts/browser/fmt/CaretFormatTest.ts
similarity index 100%
rename from tools-ng/tinymce/editor/src/core/test/ts/browser/fmt/CaretFormatTest.ts
rename to tools-ng/tinymce/src/core/test/ts/browser/fmt/CaretFormatTest.ts
diff --git a/tools-ng/tinymce/editor/src/core/test/ts/browser/fmt/ExpandRangeTest.ts b/tools-ng/tinymce/src/core/test/ts/browser/fmt/ExpandRangeTest.ts
similarity index 100%
rename from tools-ng/tinymce/editor/src/core/test/ts/browser/fmt/ExpandRangeTest.ts
rename to tools-ng/tinymce/src/core/test/ts/browser/fmt/ExpandRangeTest.ts
diff --git a/tools-ng/tinymce/editor/src/core/test/ts/browser/fmt/FontInfoTest.ts b/tools-ng/tinymce/src/core/test/ts/browser/fmt/FontInfoTest.ts
similarity index 100%
rename from tools-ng/tinymce/editor/src/core/test/ts/browser/fmt/FontInfoTest.ts
rename to tools-ng/tinymce/src/core/test/ts/browser/fmt/FontInfoTest.ts
diff --git a/tools-ng/tinymce/editor/src/core/test/ts/browser/fmt/FontsizeFormatTest.ts b/tools-ng/tinymce/src/core/test/ts/browser/fmt/FontsizeFormatTest.ts
similarity index 100%
rename from tools-ng/tinymce/editor/src/core/test/ts/browser/fmt/FontsizeFormatTest.ts
rename to tools-ng/tinymce/src/core/test/ts/browser/fmt/FontsizeFormatTest.ts
diff --git a/tools-ng/tinymce/editor/src/core/test/ts/browser/fmt/FormatChangeSelectionTest.ts b/tools-ng/tinymce/src/core/test/ts/browser/fmt/FormatChangeSelectionTest.ts
similarity index 100%
rename from tools-ng/tinymce/editor/src/core/test/ts/browser/fmt/FormatChangeSelectionTest.ts
rename to tools-ng/tinymce/src/core/test/ts/browser/fmt/FormatChangeSelectionTest.ts
diff --git a/tools-ng/tinymce/editor/src/core/test/ts/browser/fmt/HooksTest.ts b/tools-ng/tinymce/src/core/test/ts/browser/fmt/HooksTest.ts
similarity index 100%
rename from tools-ng/tinymce/editor/src/core/test/ts/browser/fmt/HooksTest.ts
rename to tools-ng/tinymce/src/core/test/ts/browser/fmt/HooksTest.ts
diff --git a/tools-ng/tinymce/editor/src/core/test/ts/browser/fmt/PreviewTest.ts b/tools-ng/tinymce/src/core/test/ts/browser/fmt/PreviewTest.ts
similarity index 100%
rename from tools-ng/tinymce/editor/src/core/test/ts/browser/fmt/PreviewTest.ts
rename to tools-ng/tinymce/src/core/test/ts/browser/fmt/PreviewTest.ts
diff --git a/tools-ng/tinymce/editor/src/core/test/ts/browser/fmt/RemoveFormatTest.ts b/tools-ng/tinymce/src/core/test/ts/browser/fmt/RemoveFormatTest.ts
similarity index 100%
rename from tools-ng/tinymce/editor/src/core/test/ts/browser/fmt/RemoveFormatTest.ts
rename to tools-ng/tinymce/src/core/test/ts/browser/fmt/RemoveFormatTest.ts
diff --git a/tools-ng/tinymce/editor/src/core/test/ts/browser/fmt/RemoveTrailingWhitespaceFormatTest.ts b/tools-ng/tinymce/src/core/test/ts/browser/fmt/RemoveTrailingWhitespaceFormatTest.ts
similarity index 100%
rename from tools-ng/tinymce/editor/src/core/test/ts/browser/fmt/RemoveTrailingWhitespaceFormatTest.ts
rename to tools-ng/tinymce/src/core/test/ts/browser/fmt/RemoveTrailingWhitespaceFormatTest.ts
diff --git a/tools-ng/tinymce/editor/src/core/test/ts/browser/focus/CefFocusTest.ts b/tools-ng/tinymce/src/core/test/ts/browser/focus/CefFocusTest.ts
similarity index 100%
rename from tools-ng/tinymce/editor/src/core/test/ts/browser/focus/CefFocusTest.ts
rename to tools-ng/tinymce/src/core/test/ts/browser/focus/CefFocusTest.ts
diff --git a/tools-ng/tinymce/editor/src/core/test/ts/browser/focus/EditorFocusTest.ts b/tools-ng/tinymce/src/core/test/ts/browser/focus/EditorFocusTest.ts
similarity index 100%
rename from tools-ng/tinymce/editor/src/core/test/ts/browser/focus/EditorFocusTest.ts
rename to tools-ng/tinymce/src/core/test/ts/browser/focus/EditorFocusTest.ts
diff --git a/tools-ng/tinymce/editor/src/core/test/ts/browser/focus/FocusControllerTest.ts b/tools-ng/tinymce/src/core/test/ts/browser/focus/FocusControllerTest.ts
similarity index 100%
rename from tools-ng/tinymce/editor/src/core/test/ts/browser/focus/FocusControllerTest.ts
rename to tools-ng/tinymce/src/core/test/ts/browser/focus/FocusControllerTest.ts
diff --git a/tools-ng/tinymce/editor/src/core/test/ts/browser/geom/ClientRectTest.ts b/tools-ng/tinymce/src/core/test/ts/browser/geom/ClientRectTest.ts
similarity index 100%
rename from tools-ng/tinymce/editor/src/core/test/ts/browser/geom/ClientRectTest.ts
rename to tools-ng/tinymce/src/core/test/ts/browser/geom/ClientRectTest.ts
diff --git a/tools-ng/tinymce/editor/src/core/test/ts/browser/geom/RectTest.ts b/tools-ng/tinymce/src/core/test/ts/browser/geom/RectTest.ts
similarity index 100%
rename from tools-ng/tinymce/editor/src/core/test/ts/browser/geom/RectTest.ts
rename to tools-ng/tinymce/src/core/test/ts/browser/geom/RectTest.ts
diff --git a/tools-ng/tinymce/editor/src/core/test/ts/browser/html/DomParserTest.ts b/tools-ng/tinymce/src/core/test/ts/browser/html/DomParserTest.ts
similarity index 96%
rename from tools-ng/tinymce/editor/src/core/test/ts/browser/html/DomParserTest.ts
rename to tools-ng/tinymce/src/core/test/ts/browser/html/DomParserTest.ts
index cc1929ceb..aba0ffdc4 100644
--- a/tools-ng/tinymce/editor/src/core/test/ts/browser/html/DomParserTest.ts
+++ b/tools-ng/tinymce/src/core/test/ts/browser/html/DomParserTest.ts
@@ -4,6 +4,7 @@ import Schema from 'tinymce/core/api/html/Schema';
import Serializer from 'tinymce/core/api/html/Serializer';
import DomParser from 'tinymce/core/api/html/DomParser';
import { UnitTest } from '@ephox/bedrock';
+import { Arr } from '@ephox/katamari';
UnitTest.asynctest('browser.tinymce.core.html.DomParserTest', function () {
const success = arguments[arguments.length - 2];
@@ -237,6 +238,28 @@ UnitTest.asynctest('browser.tinymce.core.html.DomParserTest', function () {
LegacyUnit.equal(serializer.serialize(root), 'a b
');
});
+ suite.test('Parse invalid contents with node filters', function () {
+ const parser = DomParser({}, schema);
+ parser.addNodeFilter('p', (nodes) => {
+ Arr.each(nodes, (node) => {
+ node.attr('class', 'x');
+ });
+ });
+ const root = parser.parse('a
123
b
');
+ LegacyUnit.equal(serializer.serialize(root), 'a
123
b
', 'P should have class x');
+ });
+
+ suite.test('Parse invalid contents with attribute filters', function () {
+ const parser = DomParser({}, schema);
+ parser.addAttributeFilter('class', (nodes) => {
+ Arr.each(nodes, (node) => {
+ node.attr('class', 'x');
+ });
+ });
+ const root = parser.parse('a
123
b');
+ LegacyUnit.equal(serializer.serialize(root), 'a
123
b
', 'P should have class x');
+ });
+
suite.test('addNodeFilter', function () {
let parser, result;
diff --git a/tools-ng/tinymce/editor/src/core/test/ts/browser/html/EntitiesTest.ts b/tools-ng/tinymce/src/core/test/ts/browser/html/EntitiesTest.ts
similarity index 100%
rename from tools-ng/tinymce/editor/src/core/test/ts/browser/html/EntitiesTest.ts
rename to tools-ng/tinymce/src/core/test/ts/browser/html/EntitiesTest.ts
diff --git a/tools-ng/tinymce/editor/src/core/test/ts/browser/html/NodeTest.ts b/tools-ng/tinymce/src/core/test/ts/browser/html/NodeTest.ts
similarity index 100%
rename from tools-ng/tinymce/editor/src/core/test/ts/browser/html/NodeTest.ts
rename to tools-ng/tinymce/src/core/test/ts/browser/html/NodeTest.ts
diff --git a/tools-ng/tinymce/editor/src/core/test/ts/browser/html/SaxParserTest.ts b/tools-ng/tinymce/src/core/test/ts/browser/html/SaxParserTest.ts
similarity index 100%
rename from tools-ng/tinymce/editor/src/core/test/ts/browser/html/SaxParserTest.ts
rename to tools-ng/tinymce/src/core/test/ts/browser/html/SaxParserTest.ts
diff --git a/tools-ng/tinymce/editor/src/core/test/ts/browser/html/SchemaTest.ts b/tools-ng/tinymce/src/core/test/ts/browser/html/SchemaTest.ts
similarity index 100%
rename from tools-ng/tinymce/editor/src/core/test/ts/browser/html/SchemaTest.ts
rename to tools-ng/tinymce/src/core/test/ts/browser/html/SchemaTest.ts
diff --git a/tools-ng/tinymce/editor/src/core/test/ts/browser/html/SerializerTest.ts b/tools-ng/tinymce/src/core/test/ts/browser/html/SerializerTest.ts
similarity index 100%
rename from tools-ng/tinymce/editor/src/core/test/ts/browser/html/SerializerTest.ts
rename to tools-ng/tinymce/src/core/test/ts/browser/html/SerializerTest.ts
diff --git a/tools-ng/tinymce/editor/src/core/test/ts/browser/html/StylesTest.ts b/tools-ng/tinymce/src/core/test/ts/browser/html/StylesTest.ts
similarity index 100%
rename from tools-ng/tinymce/editor/src/core/test/ts/browser/html/StylesTest.ts
rename to tools-ng/tinymce/src/core/test/ts/browser/html/StylesTest.ts
diff --git a/tools-ng/tinymce/editor/src/core/test/ts/browser/html/WriterTest.ts b/tools-ng/tinymce/src/core/test/ts/browser/html/WriterTest.ts
similarity index 100%
rename from tools-ng/tinymce/editor/src/core/test/ts/browser/html/WriterTest.ts
rename to tools-ng/tinymce/src/core/test/ts/browser/html/WriterTest.ts
diff --git a/tools-ng/tinymce/editor/src/core/test/ts/browser/init/ContentStylePositionTest.ts b/tools-ng/tinymce/src/core/test/ts/browser/init/ContentStylePositionTest.ts
similarity index 100%
rename from tools-ng/tinymce/editor/src/core/test/ts/browser/init/ContentStylePositionTest.ts
rename to tools-ng/tinymce/src/core/test/ts/browser/init/ContentStylePositionTest.ts
diff --git a/tools-ng/tinymce/editor/src/core/test/ts/browser/init/EditorCustomThemeTest.ts b/tools-ng/tinymce/src/core/test/ts/browser/init/EditorCustomThemeTest.ts
similarity index 100%
rename from tools-ng/tinymce/editor/src/core/test/ts/browser/init/EditorCustomThemeTest.ts
rename to tools-ng/tinymce/src/core/test/ts/browser/init/EditorCustomThemeTest.ts
diff --git a/tools-ng/tinymce/editor/src/core/test/ts/browser/init/EditorInitializationTest.ts b/tools-ng/tinymce/src/core/test/ts/browser/init/EditorInitializationTest.ts
similarity index 100%
rename from tools-ng/tinymce/editor/src/core/test/ts/browser/init/EditorInitializationTest.ts
rename to tools-ng/tinymce/src/core/test/ts/browser/init/EditorInitializationTest.ts
diff --git a/tools-ng/tinymce/editor/src/core/test/ts/browser/init/InitEditorNoThemeIframeTest.ts b/tools-ng/tinymce/src/core/test/ts/browser/init/InitEditorNoThemeIframeTest.ts
similarity index 100%
rename from tools-ng/tinymce/editor/src/core/test/ts/browser/init/InitEditorNoThemeIframeTest.ts
rename to tools-ng/tinymce/src/core/test/ts/browser/init/InitEditorNoThemeIframeTest.ts
diff --git a/tools-ng/tinymce/editor/src/core/test/ts/browser/init/InitEditorNoThemeInlineTest.ts b/tools-ng/tinymce/src/core/test/ts/browser/init/InitEditorNoThemeInlineTest.ts
similarity index 100%
rename from tools-ng/tinymce/editor/src/core/test/ts/browser/init/InitEditorNoThemeInlineTest.ts
rename to tools-ng/tinymce/src/core/test/ts/browser/init/InitEditorNoThemeInlineTest.ts
diff --git a/tools-ng/tinymce/editor/src/core/test/ts/browser/init/InitEditorOnHiddenElementTest.ts b/tools-ng/tinymce/src/core/test/ts/browser/init/InitEditorOnHiddenElementTest.ts
similarity index 100%
rename from tools-ng/tinymce/editor/src/core/test/ts/browser/init/InitEditorOnHiddenElementTest.ts
rename to tools-ng/tinymce/src/core/test/ts/browser/init/InitEditorOnHiddenElementTest.ts
diff --git a/tools-ng/tinymce/editor/src/core/test/ts/browser/init/InitEditorThemeFunctionIframeTest.ts b/tools-ng/tinymce/src/core/test/ts/browser/init/InitEditorThemeFunctionIframeTest.ts
similarity index 100%
rename from tools-ng/tinymce/editor/src/core/test/ts/browser/init/InitEditorThemeFunctionIframeTest.ts
rename to tools-ng/tinymce/src/core/test/ts/browser/init/InitEditorThemeFunctionIframeTest.ts
diff --git a/tools-ng/tinymce/editor/src/core/test/ts/browser/init/InitEditorThemeFunctionInlineTest.ts b/tools-ng/tinymce/src/core/test/ts/browser/init/InitEditorThemeFunctionInlineTest.ts
similarity index 100%
rename from tools-ng/tinymce/editor/src/core/test/ts/browser/init/InitEditorThemeFunctionInlineTest.ts
rename to tools-ng/tinymce/src/core/test/ts/browser/init/InitEditorThemeFunctionInlineTest.ts
diff --git a/tools-ng/tinymce/editor/src/core/test/ts/browser/init/InitIframeEditorWithCustomAttrsTest.ts b/tools-ng/tinymce/src/core/test/ts/browser/init/InitIframeEditorWithCustomAttrsTest.ts
similarity index 100%
rename from tools-ng/tinymce/editor/src/core/test/ts/browser/init/InitIframeEditorWithCustomAttrsTest.ts
rename to tools-ng/tinymce/src/core/test/ts/browser/init/InitIframeEditorWithCustomAttrsTest.ts
diff --git a/tools-ng/tinymce/editor/src/core/test/ts/browser/keyboard/ArrowKeysAnchorTest.ts b/tools-ng/tinymce/src/core/test/ts/browser/keyboard/ArrowKeysAnchorTest.ts
similarity index 100%
rename from tools-ng/tinymce/editor/src/core/test/ts/browser/keyboard/ArrowKeysAnchorTest.ts
rename to tools-ng/tinymce/src/core/test/ts/browser/keyboard/ArrowKeysAnchorTest.ts
diff --git a/tools-ng/tinymce/src/core/test/ts/browser/keyboard/ArrowKeysContentEndpointBrModeTest.ts b/tools-ng/tinymce/src/core/test/ts/browser/keyboard/ArrowKeysContentEndpointBrModeTest.ts
new file mode 100644
index 000000000..b24e9f649
--- /dev/null
+++ b/tools-ng/tinymce/src/core/test/ts/browser/keyboard/ArrowKeysContentEndpointBrModeTest.ts
@@ -0,0 +1,59 @@
+import { GeneralSteps, Keys, Logger, Pipeline, Assertions, Step } from '@ephox/agar';
+import { TinyActions, TinyApis, TinyLoader } from '@ephox/mcagar';
+import Theme from 'tinymce/themes/modern/Theme';
+import { UnitTest } from '@ephox/bedrock';
+import { Editor } from 'tinymce/core/api/Editor';
+
+UnitTest.asynctest('browser.tinymce.core.keyboard.ArrowKeysContentEndpointBrModeTest', (success, failure) => {
+ Theme();
+
+ // TODO: This should probably be in mcagar
+ const sAssertRawContent = (editor: Editor, expected: string) => Step.sync(() => {
+ Assertions.assertHtml('Not expected body html', expected, editor.getBody().innerHTML);
+ });
+
+ TinyLoader.setup(function (editor, onSuccess, onFailure) {
+ const tinyApis = TinyApis(editor);
+ const tinyActions = TinyActions(editor);
+
+ Pipeline.async({}, [
+ tinyApis.sFocus,
+ Logger.t('Arrow keys in figcaption', GeneralSteps.sequence([
+ Logger.t('Arrow up from start of figcaption to paragraph before figure', GeneralSteps.sequence([
+ tinyApis.sSetContent('a '),
+ tinyApis.sSetCursor([0, 0, 0], 0),
+ tinyActions.sContentKeystroke(Keys.up(), { }),
+ tinyApis.sAssertContent('a '),
+ tinyApis.sAssertSelection([], 0, [], 0)
+ ])),
+ Logger.t('Arrow down from end of figcaption to paragraph after figure', GeneralSteps.sequence([
+ tinyApis.sSetContent('a '),
+ tinyApis.sSetCursor([0, 0, 0], 1),
+ tinyActions.sContentKeystroke(Keys.down(), { }),
+ sAssertRawContent(editor, 'a '),
+ tinyApis.sAssertSelection([], 1, [], 1)
+ ])),
+ Logger.t('Arrow up in middle of figcaption', GeneralSteps.sequence([
+ tinyApis.sSetContent('ab '),
+ tinyApis.sSetCursor([0, 0, 0], 1),
+ tinyActions.sContentKeystroke(Keys.up(), { }),
+ sAssertRawContent(editor, 'ab '),
+ tinyApis.sAssertSelection([], 0, [], 0)
+ ])),
+ Logger.t('Arrow down in middle of figcaption', GeneralSteps.sequence([
+ tinyApis.sSetContent('ab '),
+ tinyApis.sSetCursor([0, 0, 0], 1),
+ tinyActions.sContentKeystroke(Keys.down(), { }),
+ sAssertRawContent(editor, 'ab '),
+ tinyApis.sAssertSelection([], 1, [], 1)
+ ]))
+ ]))
+ ], onSuccess, onFailure);
+ }, {
+ forced_root_block: false,
+ add_unload_trigger: false,
+ skin_url: '/project/js/tinymce/skins/lightgray',
+ indent: false
+ }, success, failure);
+ }
+);
diff --git a/tools-ng/tinymce/src/core/test/ts/browser/keyboard/ArrowKeysContentEndpointTest.ts b/tools-ng/tinymce/src/core/test/ts/browser/keyboard/ArrowKeysContentEndpointTest.ts
new file mode 100644
index 000000000..d672d6c06
--- /dev/null
+++ b/tools-ng/tinymce/src/core/test/ts/browser/keyboard/ArrowKeysContentEndpointTest.ts
@@ -0,0 +1,75 @@
+import { GeneralSteps, Keys, Logger, Pipeline } from '@ephox/agar';
+import { TinyActions, TinyApis, TinyLoader } from '@ephox/mcagar';
+import Theme from 'tinymce/themes/modern/Theme';
+import { UnitTest } from '@ephox/bedrock';
+
+UnitTest.asynctest('browser.tinymce.core.keyboard.ArrowKeysContentEndpointTest', (success, failure) => {
+ Theme();
+
+ TinyLoader.setup(function (editor, onSuccess, onFailure) {
+ const tinyApis = TinyApis(editor);
+ const tinyActions = TinyActions(editor);
+
+ Pipeline.async({}, [
+ tinyApis.sFocus,
+ Logger.t('Arrow keys in figcaption', GeneralSteps.sequence([
+ Logger.t('Arrow up from start of figcaption to paragraph before figure', GeneralSteps.sequence([
+ tinyApis.sSetContent('a '),
+ tinyApis.sSetCursor([0, 0, 0], 0),
+ tinyActions.sContentKeystroke(Keys.up(), { }),
+ tinyApis.sAssertContent('
a '),
+ tinyApis.sAssertSelection([0], 0, [0], 0)
+ ])),
+ Logger.t('Arrow down from end of figcaption to paragraph after figure', GeneralSteps.sequence([
+ tinyApis.sSetContent('a '),
+ tinyApis.sSetCursor([0, 0, 0], 1),
+ tinyActions.sContentKeystroke(Keys.down(), { }),
+ tinyApis.sAssertContent('a
'),
+ tinyApis.sAssertSelection([1], 0, [1], 0)
+ ])),
+ Logger.t('Arrow up in middle of figcaption', GeneralSteps.sequence([
+ tinyApis.sSetContent('ab '),
+ tinyApis.sSetCursor([0, 0, 0], 1),
+ tinyActions.sContentKeystroke(Keys.up(), { }),
+ tinyApis.sAssertContent('
ab '),
+ tinyApis.sAssertSelection([0], 0, [0], 0)
+ ])),
+ Logger.t('Arrow down in middle of figcaption', GeneralSteps.sequence([
+ tinyApis.sSetContent('ab '),
+ tinyApis.sSetCursor([0, 0, 0], 1),
+ tinyActions.sContentKeystroke(Keys.down(), { }),
+ tinyApis.sAssertContent('ab
'),
+ tinyApis.sAssertSelection([1], 0, [1], 0)
+ ])),
+ Logger.t('Arrow up at line 2 in figcaption should not insert new block', GeneralSteps.sequence([
+ tinyApis.sSetContent('a b '),
+ tinyApis.sSetCursor([0, 0, 2], 0),
+ tinyActions.sContentKeystroke(Keys.up(), { }),
+ tinyApis.sAssertContent('a b '),
+ tinyApis.sAssertSelection([0, 0, 2], 0, [0, 0, 2], 0)
+ ])),
+ Logger.t('Arrow down at line 1 in figcaption should not insert new block', GeneralSteps.sequence([
+ tinyApis.sSetContent('a b '),
+ tinyApis.sSetCursor([0, 0, 0], 1),
+ tinyActions.sContentKeystroke(Keys.down(), { }),
+ tinyApis.sAssertContent('a b '),
+ tinyApis.sAssertSelection([0, 0, 0], 1, [0, 0, 0], 1)
+ ])),
+ Logger.t('Arrow down at figcaption with forced_root_block_attrs set', GeneralSteps.sequence([
+ tinyApis.sSetSetting('forced_root_block_attrs', { class: 'x' }),
+ tinyApis.sSetContent('a '),
+ tinyApis.sSetCursor([0, 0, 0], 1),
+ tinyActions.sContentKeystroke(Keys.down(), { }),
+ tinyApis.sAssertContent('a
'),
+ tinyApis.sAssertSelection([1], 0, [1], 0),
+ tinyApis.sDeleteSetting('forced_root_block_attrs')
+ ]))
+ ]))
+ ], onSuccess, onFailure);
+ }, {
+ add_unload_trigger: false,
+ skin_url: '/project/js/tinymce/skins/lightgray',
+ indent: false
+ }, success, failure);
+ }
+);
diff --git a/tools-ng/tinymce/editor/src/core/test/ts/browser/keyboard/ArrowKeysInlineBoundariesTest.ts b/tools-ng/tinymce/src/core/test/ts/browser/keyboard/ArrowKeysInlineBoundariesTest.ts
similarity index 100%
rename from tools-ng/tinymce/editor/src/core/test/ts/browser/keyboard/ArrowKeysInlineBoundariesTest.ts
rename to tools-ng/tinymce/src/core/test/ts/browser/keyboard/ArrowKeysInlineBoundariesTest.ts
diff --git a/tools-ng/tinymce/editor/src/core/test/ts/browser/keyboard/ArrowKeysTableTest.ts b/tools-ng/tinymce/src/core/test/ts/browser/keyboard/ArrowKeysTableTest.ts
similarity index 100%
rename from tools-ng/tinymce/editor/src/core/test/ts/browser/keyboard/ArrowKeysTableTest.ts
rename to tools-ng/tinymce/src/core/test/ts/browser/keyboard/ArrowKeysTableTest.ts
diff --git a/tools-ng/tinymce/editor/src/core/test/ts/browser/keyboard/BoundaryCaretTest.ts b/tools-ng/tinymce/src/core/test/ts/browser/keyboard/BoundaryCaretTest.ts
similarity index 100%
rename from tools-ng/tinymce/editor/src/core/test/ts/browser/keyboard/BoundaryCaretTest.ts
rename to tools-ng/tinymce/src/core/test/ts/browser/keyboard/BoundaryCaretTest.ts
diff --git a/tools-ng/tinymce/editor/src/core/test/ts/browser/keyboard/BoundaryLocationTest.ts b/tools-ng/tinymce/src/core/test/ts/browser/keyboard/BoundaryLocationTest.ts
similarity index 100%
rename from tools-ng/tinymce/editor/src/core/test/ts/browser/keyboard/BoundaryLocationTest.ts
rename to tools-ng/tinymce/src/core/test/ts/browser/keyboard/BoundaryLocationTest.ts
diff --git a/tools-ng/tinymce/editor/src/core/test/ts/browser/keyboard/EnterKeyAnchorTest.ts b/tools-ng/tinymce/src/core/test/ts/browser/keyboard/EnterKeyAnchorTest.ts
similarity index 97%
rename from tools-ng/tinymce/editor/src/core/test/ts/browser/keyboard/EnterKeyAnchorTest.ts
rename to tools-ng/tinymce/src/core/test/ts/browser/keyboard/EnterKeyAnchorTest.ts
index 758ffb615..21a8e544f 100644
--- a/tools-ng/tinymce/editor/src/core/test/ts/browser/keyboard/EnterKeyAnchorTest.ts
+++ b/tools-ng/tinymce/src/core/test/ts/browser/keyboard/EnterKeyAnchorTest.ts
@@ -5,10 +5,7 @@ import Zwsp from 'tinymce/core/text/Zwsp';
import Theme from 'tinymce/themes/modern/Theme';
import { UnitTest } from '@ephox/bedrock';
-UnitTest.asynctest('browser.tinymce.core.keyboard.EnterKey', function () {
- const success = arguments[arguments.length - 2];
- const failure = arguments[arguments.length - 1];
-
+UnitTest.asynctest('browser.tinymce.core.keyboard.EnterKeyAnchorTest', (success, failure) => {
Theme();
const sSetup = function (tinyApis, html, elementPath, offset) {
diff --git a/tools-ng/tinymce/editor/src/core/test/ts/browser/keyboard/EnterKeyCeFalseTest.ts b/tools-ng/tinymce/src/core/test/ts/browser/keyboard/EnterKeyCeFalseTest.ts
similarity index 100%
rename from tools-ng/tinymce/editor/src/core/test/ts/browser/keyboard/EnterKeyCeFalseTest.ts
rename to tools-ng/tinymce/src/core/test/ts/browser/keyboard/EnterKeyCeFalseTest.ts
diff --git a/tools-ng/tinymce/editor/src/core/test/ts/browser/keyboard/EnterKeyHrTest.ts b/tools-ng/tinymce/src/core/test/ts/browser/keyboard/EnterKeyHrTest.ts
similarity index 100%
rename from tools-ng/tinymce/editor/src/core/test/ts/browser/keyboard/EnterKeyHrTest.ts
rename to tools-ng/tinymce/src/core/test/ts/browser/keyboard/EnterKeyHrTest.ts
diff --git a/tools-ng/tinymce/editor/src/core/test/ts/browser/keyboard/EnterKeyInlineTest.ts b/tools-ng/tinymce/src/core/test/ts/browser/keyboard/EnterKeyInlineTest.ts
similarity index 100%
rename from tools-ng/tinymce/editor/src/core/test/ts/browser/keyboard/EnterKeyInlineTest.ts
rename to tools-ng/tinymce/src/core/test/ts/browser/keyboard/EnterKeyInlineTest.ts
diff --git a/tools-ng/tinymce/editor/src/core/test/ts/browser/keyboard/EnterKeyListsTest.ts b/tools-ng/tinymce/src/core/test/ts/browser/keyboard/EnterKeyListsTest.ts
similarity index 100%
rename from tools-ng/tinymce/editor/src/core/test/ts/browser/keyboard/EnterKeyListsTest.ts
rename to tools-ng/tinymce/src/core/test/ts/browser/keyboard/EnterKeyListsTest.ts
diff --git a/tools-ng/tinymce/editor/src/core/test/ts/browser/keyboard/EnterKeyTest.ts b/tools-ng/tinymce/src/core/test/ts/browser/keyboard/EnterKeyTest.ts
similarity index 100%
rename from tools-ng/tinymce/editor/src/core/test/ts/browser/keyboard/EnterKeyTest.ts
rename to tools-ng/tinymce/src/core/test/ts/browser/keyboard/EnterKeyTest.ts
diff --git a/tools-ng/tinymce/editor/src/core/test/ts/browser/keyboard/InlineUtilsTest.ts b/tools-ng/tinymce/src/core/test/ts/browser/keyboard/InlineUtilsTest.ts
similarity index 100%
rename from tools-ng/tinymce/editor/src/core/test/ts/browser/keyboard/InlineUtilsTest.ts
rename to tools-ng/tinymce/src/core/test/ts/browser/keyboard/InlineUtilsTest.ts
diff --git a/tools-ng/tinymce/src/core/test/ts/browser/keyboard/InsertKeysBrModeTest.ts b/tools-ng/tinymce/src/core/test/ts/browser/keyboard/InsertKeysBrModeTest.ts
new file mode 100644
index 000000000..3b169aabe
--- /dev/null
+++ b/tools-ng/tinymce/src/core/test/ts/browser/keyboard/InsertKeysBrModeTest.ts
@@ -0,0 +1,129 @@
+import { GeneralSteps, Logger, Pipeline, Step } from '@ephox/agar';
+import { TinyApis, TinyLoader } from '@ephox/mcagar';
+import Theme from 'tinymce/themes/modern/Theme';
+import { UnitTest } from '@ephox/bedrock';
+import { Editor } from 'tinymce/core/api/Editor';
+
+UnitTest.asynctest('browser.tinymce.core.keyboard.InsertKeysBrModeTest', (success, failure) => {
+ Theme();
+
+ const sFireInsert = (editor: Editor) => {
+ return Step.sync(() => {
+ editor.fire('input', { isComposing: false });
+ });
+ };
+
+ TinyLoader.setup(function (editor, onSuccess, onFailure) {
+ const tinyApis = TinyApis(editor);
+
+ Pipeline.async({}, [
+ Logger.t('Insert key in text with in nbsp text node', GeneralSteps.sequence([
+ Logger.t('Nbsp at first character position', GeneralSteps.sequence([
+ Logger.t('Insert in text node with nbsp at start of body', GeneralSteps.sequence([
+ tinyApis.sFocus,
+ tinyApis.sSetRawContent(' a'),
+ tinyApis.sSetCursor([0], 2),
+ sFireInsert(editor),
+ tinyApis.sAssertSelection([0], 2, [0], 2),
+ tinyApis.sAssertContent(' a')
+ ])),
+ Logger.t('Insert in text in node with leading nbsp after inline with trailing space', GeneralSteps.sequence([
+ tinyApis.sFocus,
+ tinyApis.sSetRawContent('ab c'),
+ tinyApis.sSetCursor([2], 2),
+ sFireInsert(editor),
+ tinyApis.sAssertSelection([2], 2, [2], 2),
+ tinyApis.sAssertContent('ab c')
+ ])),
+ Logger.t('Insert in text in node with leading nbsp after inline', GeneralSteps.sequence([
+ tinyApis.sFocus,
+ tinyApis.sSetRawContent('ab c'),
+ tinyApis.sSetCursor([2], 2),
+ sFireInsert(editor),
+ tinyApis.sAssertSelection([2], 2, [2], 2),
+ tinyApis.sAssertContent('ab c')
+ ])),
+ Logger.t('Insert in text in node with leading nbsp after inline with trailing nbsp', GeneralSteps.sequence([
+ tinyApis.sFocus,
+ tinyApis.sSetRawContent('ab c'),
+ tinyApis.sSetCursor([2], 2),
+ sFireInsert(editor),
+ tinyApis.sAssertSelection([2], 2, [2], 2),
+ tinyApis.sAssertContent('ab c')
+ ])),
+ Logger.t('Insert at beginning of text node with leading nbsp after a br', GeneralSteps.sequence([
+ tinyApis.sFocus,
+ tinyApis.sSetRawContent('a b'),
+ tinyApis.sSetCursor([2], 0),
+ sFireInsert(editor),
+ tinyApis.sAssertSelection([2], 0, [2], 0),
+ tinyApis.sAssertContent('a b')
+ ])),
+ Logger.t('Insert at beginning of text node with leading nbsp within inline element followed by br', GeneralSteps.sequence([
+ tinyApis.sFocus,
+ tinyApis.sSetRawContent('a b '),
+ tinyApis.sSetCursor([2, 0], 0),
+ sFireInsert(editor),
+ tinyApis.sAssertSelection([2, 0], 0, [2, 0], 0),
+ tinyApis.sAssertContent('a b ')
+ ]))
+ ])),
+
+ Logger.t('Nbsp at last character position', GeneralSteps.sequence([
+ Logger.t('Insert in text node with nbsp at end of body', GeneralSteps.sequence([
+ tinyApis.sFocus,
+ tinyApis.sSetRawContent('a '),
+ tinyApis.sSetCursor([0], 0),
+ sFireInsert(editor),
+ tinyApis.sAssertSelection([0], 0, [0], 0),
+ tinyApis.sAssertContent('a ')
+ ])),
+ Logger.t('Insert in text in node with leading nbsp after inline with trailing space', GeneralSteps.sequence([
+ tinyApis.sFocus,
+ tinyApis.sSetRawContent('a b c'),
+ tinyApis.sSetCursor([0], 0),
+ sFireInsert(editor),
+ tinyApis.sAssertSelection([0], 0, [0], 0),
+ tinyApis.sAssertContent('a b c')
+ ])),
+ Logger.t('Insert in text in node with trailing nbsp before inline', GeneralSteps.sequence([
+ tinyApis.sFocus,
+ tinyApis.sSetRawContent('a b c'),
+ tinyApis.sSetCursor([0], 0),
+ sFireInsert(editor),
+ tinyApis.sAssertSelection([0], 0, [0], 0),
+ tinyApis.sAssertContent('a b c')
+ ])),
+ Logger.t('Insert in text in node with trailing nbsp before inline with leading nbsp', GeneralSteps.sequence([
+ tinyApis.sFocus,
+ tinyApis.sSetRawContent('a b c'),
+ tinyApis.sSetCursor([0], 0),
+ sFireInsert(editor),
+ tinyApis.sAssertSelection([0], 0, [0], 0),
+ tinyApis.sAssertContent('a b c')
+ ])),
+ Logger.t('Insert in text in node with single middle nbsp', GeneralSteps.sequence([
+ tinyApis.sFocus,
+ tinyApis.sSetRawContent('a b'),
+ tinyApis.sSetCursor([0], 3),
+ sFireInsert(editor),
+ tinyApis.sAssertSelection([0], 3, [0], 3),
+ tinyApis.sAssertContent('a b')
+ ])),
+ Logger.t('Insert in text in node with multiple middle nbsp', GeneralSteps.sequence([
+ tinyApis.sFocus,
+ tinyApis.sSetRawContent('a b c d'),
+ tinyApis.sSetCursor([0], 7),
+ sFireInsert(editor),
+ tinyApis.sAssertSelection([0], 7, [0], 7),
+ tinyApis.sAssertContent('a b c d')
+ ]))
+ ])),
+ ]))
+ ], onSuccess, onFailure);
+ }, {
+ indent: false,
+ forced_root_block: false,
+ skin_url: '/project/js/tinymce/skins/lightgray'
+ }, success, failure);
+});
diff --git a/tools-ng/tinymce/editor/src/core/test/ts/browser/keyboard/InsertKeysTest.ts b/tools-ng/tinymce/src/core/test/ts/browser/keyboard/InsertKeysTest.ts
similarity index 89%
rename from tools-ng/tinymce/editor/src/core/test/ts/browser/keyboard/InsertKeysTest.ts
rename to tools-ng/tinymce/src/core/test/ts/browser/keyboard/InsertKeysTest.ts
index eabd70992..43ac9bd49 100644
--- a/tools-ng/tinymce/editor/src/core/test/ts/browser/keyboard/InsertKeysTest.ts
+++ b/tools-ng/tinymce/src/core/test/ts/browser/keyboard/InsertKeysTest.ts
@@ -1,8 +1,11 @@
-import { GeneralSteps, Logger, Pipeline, Step } from '@ephox/agar';
+import { GeneralSteps, Logger, Pipeline, Step, Waiter } from '@ephox/agar';
import { TinyApis, TinyLoader } from '@ephox/mcagar';
import Theme from 'tinymce/themes/modern/Theme';
import { UnitTest } from '@ephox/bedrock';
import { Editor } from 'tinymce/core/api/Editor';
+import { PlatformDetection } from '@ephox/sand';
+
+const browser = PlatformDetection.detect().browser;
UnitTest.asynctest('browser.tinymce.core.keyboard.InsertKeysTest', (success, failure) => {
Theme();
@@ -13,6 +16,12 @@ UnitTest.asynctest('browser.tinymce.core.keyboard.InsertKeysTest', (success, fai
});
};
+ const sFireKeyPress = (editor: Editor) => {
+ return Step.sync(() => {
+ editor.fire('keypress');
+ });
+ };
+
TinyLoader.setup(function (editor, onSuccess, onFailure) {
const tinyApis = TinyApis(editor);
@@ -119,6 +128,15 @@ UnitTest.asynctest('browser.tinymce.core.keyboard.InsertKeysTest', (success, fai
tinyApis.sAssertContent('a b c d
')
]))
])),
+
+ Logger.t('Insert in text on IE using keypress', GeneralSteps.sequence(browser.isIE() ? [
+ tinyApis.sFocus,
+ tinyApis.sSetContent('a b
'),
+ tinyApis.sSetCursor([0, 0], 3),
+ sFireKeyPress(editor),
+ Waiter.sTryUntil('', tinyApis.sAssertContent('a b
'), 10, 1000),
+ tinyApis.sAssertSelection([0, 0], 3, [0, 0], 3),
+ ] : []))
]))
], onSuccess, onFailure);
}, {
diff --git a/tools-ng/tinymce/src/core/test/ts/browser/keyboard/SpaceKeyTest.ts b/tools-ng/tinymce/src/core/test/ts/browser/keyboard/SpaceKeyTest.ts
new file mode 100644
index 000000000..ec3092132
--- /dev/null
+++ b/tools-ng/tinymce/src/core/test/ts/browser/keyboard/SpaceKeyTest.ts
@@ -0,0 +1,75 @@
+import { GeneralSteps, Keys, Logger, Pipeline } from '@ephox/agar';
+import { TinyActions, TinyApis, TinyLoader } from '@ephox/mcagar';
+import Theme from 'tinymce/themes/modern/Theme';
+import { UnitTest } from '@ephox/bedrock';
+
+UnitTest.asynctest('browser.tinymce.core.keyboard.SpaceKeyTest', (success, failure) => {
+ Theme();
+
+ TinyLoader.setup(function (editor, onSuccess, onFailure) {
+ const tinyApis = TinyApis(editor);
+ const tinyActions = TinyActions(editor);
+
+ Pipeline.async({}, [
+ Logger.t('Space key around inline boundary elements', GeneralSteps.sequence([
+ Logger.t('Press space at beginning of inline boundary inserting nbsp', GeneralSteps.sequence([
+ tinyApis.sFocus,
+ tinyApis.sSetContent('a b c
'),
+ tinyApis.sSetCursor([0, 1, 0], 0),
+ tinyApis.sNodeChanged,
+ tinyActions.sContentKeystroke(Keys.space(), {}),
+ tinyApis.sAssertSelection([0, 1, 0], 1, [0, 1, 0], 1),
+ tinyApis.sAssertContent('a b c
')
+ ])),
+ Logger.t('Press space at end of inline boundary inserting nbsp', GeneralSteps.sequence([
+ tinyApis.sFocus,
+ tinyApis.sSetContent('a b c
'),
+ tinyApis.sSetCursor([0, 1, 0], 1),
+ tinyApis.sNodeChanged,
+ tinyActions.sContentKeystroke(Keys.space(), {}),
+ tinyApis.sAssertSelection([0, 1, 0], 2, [0, 1, 0], 2),
+ tinyApis.sAssertContent('a b c
')
+ ])),
+ Logger.t('Press space at beginning of inline boundary inserting space', GeneralSteps.sequence([
+ tinyApis.sFocus,
+ tinyApis.sSetContent('ab c
'),
+ tinyApis.sSetCursor([0, 1, 0], 0),
+ tinyApis.sNodeChanged,
+ tinyActions.sContentKeystroke(Keys.space(), {}),
+ tinyApis.sAssertSelection([0, 1, 0], 1, [0, 1, 0], 1),
+ tinyApis.sAssertContent('a b c
')
+ ])),
+ Logger.t('Press space at end of inline boundary inserting space', GeneralSteps.sequence([
+ tinyApis.sFocus,
+ tinyApis.sSetContent('ab c
'),
+ tinyApis.sSetCursor([0, 1, 0], 1),
+ tinyApis.sNodeChanged,
+ tinyActions.sContentKeystroke(Keys.space(), {}),
+ tinyApis.sAssertSelection([0, 1, 0], 2, [0, 1, 0], 2),
+ tinyApis.sAssertContent('ab c
')
+ ])),
+ Logger.t('Press space at start of inline boundary with leading space inserting nbsp', GeneralSteps.sequence([
+ tinyApis.sFocus,
+ tinyApis.sSetContent('a b c
'),
+ tinyApis.sSetCursor([0, 1, 0], 0),
+ tinyApis.sNodeChanged,
+ tinyActions.sContentKeystroke(Keys.space(), {}),
+ tinyApis.sAssertSelection([0, 1, 0], 1, [0, 1, 0], 1),
+ tinyApis.sAssertContent('a b c
')
+ ])),
+ Logger.t('Press space at end of inline boundary with trailing space inserting nbsp', GeneralSteps.sequence([
+ tinyApis.sFocus,
+ tinyApis.sSetContent('ab c
'),
+ tinyApis.sSetCursor([0, 1, 0], 2),
+ tinyApis.sNodeChanged,
+ tinyActions.sContentKeystroke(Keys.space(), {}),
+ tinyApis.sAssertSelection([0, 1, 0], 3, [0, 1, 0], 3),
+ tinyApis.sAssertContent('ab c
')
+ ]))
+ ]))
+ ], onSuccess, onFailure);
+ }, {
+ indent: false,
+ skin_url: '/project/js/tinymce/skins/lightgray'
+ }, success, failure);
+});
diff --git a/tools-ng/tinymce/editor/src/core/test/ts/browser/keyboard/TableNavigationTest.ts b/tools-ng/tinymce/src/core/test/ts/browser/keyboard/TableNavigationTest.ts
similarity index 100%
rename from tools-ng/tinymce/editor/src/core/test/ts/browser/keyboard/TableNavigationTest.ts
rename to tools-ng/tinymce/src/core/test/ts/browser/keyboard/TableNavigationTest.ts
diff --git a/tools-ng/tinymce/editor/src/core/test/ts/browser/keyboard/TypeTextAtCefTest.ts b/tools-ng/tinymce/src/core/test/ts/browser/keyboard/TypeTextAtCefTest.ts
similarity index 74%
rename from tools-ng/tinymce/editor/src/core/test/ts/browser/keyboard/TypeTextAtCefTest.ts
rename to tools-ng/tinymce/src/core/test/ts/browser/keyboard/TypeTextAtCefTest.ts
index d1b9371eb..15250a663 100644
--- a/tools-ng/tinymce/editor/src/core/test/ts/browser/keyboard/TypeTextAtCefTest.ts
+++ b/tools-ng/tinymce/src/core/test/ts/browser/keyboard/TypeTextAtCefTest.ts
@@ -32,6 +32,15 @@ UnitTest.asynctest('browser.tinymce.core.keyboard.TypeTextAtCef', function () {
TypeText.sTypeContentAtSelection(Element.fromDom(editor.getDoc()), 'bc'),
tinyApis.sAssertSelection([0, 1], 3, [0, 1], 3),
tinyApis.sAssertContent('a bc
')
+ ])),
+ Logger.t('Type between cef inline elements', GeneralSteps.sequence([
+ tinyApis.sSetContent('a b
'),
+ tinyApis.sSelect('p', [3]),
+ tinyActions.sContentKeystroke(Keys.left(), {}),
+ tinyActions.sContentKeystroke(Keys.left(), {}),
+ TypeText.sTypeContentAtSelection(Element.fromDom(editor.getDoc()), 'bc'),
+ tinyApis.sAssertSelection([0, 1], 3, [0, 1], 3),
+ tinyApis.sAssertContent('a bc b
')
]))
], onSuccess, onFailure);
}, {
diff --git a/tools-ng/tinymce/editor/src/core/test/ts/browser/newline/InsertBrTest.ts b/tools-ng/tinymce/src/core/test/ts/browser/newline/InsertBrTest.ts
similarity index 82%
rename from tools-ng/tinymce/editor/src/core/test/ts/browser/newline/InsertBrTest.ts
rename to tools-ng/tinymce/src/core/test/ts/browser/newline/InsertBrTest.ts
index ada8aaab8..2e9d578ed 100644
--- a/tools-ng/tinymce/editor/src/core/test/ts/browser/newline/InsertBrTest.ts
+++ b/tools-ng/tinymce/src/core/test/ts/browser/newline/InsertBrTest.ts
@@ -1,4 +1,4 @@
-import { GeneralSteps, Logger, Pipeline, Step } from '@ephox/agar';
+import { GeneralSteps, Logger, Pipeline, Step, ApproxStructure } from '@ephox/agar';
import { TinyApis, TinyLoader } from '@ephox/mcagar';
import InsertBr from 'tinymce/core/newline/InsertBr';
import Theme from 'tinymce/themes/modern/Theme';
@@ -86,6 +86,29 @@ UnitTest.asynctest('browser.tinymce.core.newline.InsertBrTest', function () {
tinyApis.sAssertSelection([0, 1, 2], 0, [0, 1, 2], 0),
tinyApis.sAssertContent('abc
')
]))
+ ])),
+ Logger.t('Insert br after text', GeneralSteps.sequence([
+ tinyApis.sFocus,
+ tinyApis.sSetRawContent('a
'),
+ tinyApis.sSetCursor([0, 0], 1),
+ tinyApis.sNodeChanged,
+ sInsertBr(editor),
+ tinyApis.sAssertContentStructure(
+ ApproxStructure.build((s, str, arr) => {
+ return s.element('body', {
+ children: [
+ s.element('p', {
+ children: [
+ s.text(str.is('a')),
+ s.element('br', {}),
+ s.element('br', {})
+ ]
+ })
+ ]
+ });
+ })
+ ),
+ tinyApis.sAssertSelection([0], 2, [0], 2),
]))
], onSuccess, onFailure);
}, {
diff --git a/tools-ng/tinymce/editor/src/core/test/ts/browser/newline/InsertNewLineTest.ts b/tools-ng/tinymce/src/core/test/ts/browser/newline/InsertNewLineTest.ts
similarity index 82%
rename from tools-ng/tinymce/editor/src/core/test/ts/browser/newline/InsertNewLineTest.ts
rename to tools-ng/tinymce/src/core/test/ts/browser/newline/InsertNewLineTest.ts
index ef917f8e8..5665a1f3a 100644
--- a/tools-ng/tinymce/editor/src/core/test/ts/browser/newline/InsertNewLineTest.ts
+++ b/tools-ng/tinymce/src/core/test/ts/browser/newline/InsertNewLineTest.ts
@@ -3,14 +3,15 @@ import { TinyApis, TinyLoader } from '@ephox/mcagar';
import InsertNewLine from 'tinymce/core/newline/InsertNewLine';
import Theme from 'tinymce/themes/modern/Theme';
import { UnitTest } from '@ephox/bedrock';
+import { Editor } from 'tinymce/core/api/Editor';
+import { PlatformDetection } from '@ephox/sand';
-UnitTest.asynctest('browser.tinymce.core.newline.InsertNewLine', function () {
- const success = arguments[arguments.length - 2];
- const failure = arguments[arguments.length - 1];
+const browser = PlatformDetection.detect().browser;
+UnitTest.asynctest('browser.tinymce.core.newline.InsertNewLine', (success, failure) => {
Theme();
- const sInsertNewline = function (editor, args) {
+ const sInsertNewline = function (editor: Editor, args) {
return Step.sync(function () {
InsertNewLine.insert(editor, args);
});
@@ -93,6 +94,14 @@ UnitTest.asynctest('browser.tinymce.core.newline.InsertNewLine', function () {
tinyApis.sAssertContent('a
b
')
])),
tinyApis.sDeleteSetting('no_newline_selector')
+ ])),
+ Logger.t('Insert newline before image in link', GeneralSteps.sequence([
+ tinyApis.sSetContent('a
'),
+ tinyApis.sSetCursor([0, 0], 1),
+ sInsertNewline(editor, { }),
+ tinyApis.sAssertContent('a
'),
+ // For some bizarre IE issue getSelection().addRange() creates a zwsp from nowhere and moves the caret after it
+ browser.isIE() ? tinyApis.sAssertSelection([1, 0, 0], 1, [1, 0, 0], 1) : tinyApis.sAssertSelection([1, 0], 0, [1, 0], 0)
]))
], onSuccess, onFailure);
}, {
diff --git a/tools-ng/tinymce/editor/src/core/test/ts/browser/selection/DetailsElementTest.ts b/tools-ng/tinymce/src/core/test/ts/browser/selection/DetailsElementTest.ts
similarity index 100%
rename from tools-ng/tinymce/editor/src/core/test/ts/browser/selection/DetailsElementTest.ts
rename to tools-ng/tinymce/src/core/test/ts/browser/selection/DetailsElementTest.ts
diff --git a/tools-ng/tinymce/editor/src/core/test/ts/browser/selection/FragmentReaderTest.ts b/tools-ng/tinymce/src/core/test/ts/browser/selection/FragmentReaderTest.ts
similarity index 100%
rename from tools-ng/tinymce/editor/src/core/test/ts/browser/selection/FragmentReaderTest.ts
rename to tools-ng/tinymce/src/core/test/ts/browser/selection/FragmentReaderTest.ts
diff --git a/tools-ng/tinymce/editor/src/core/test/ts/browser/selection/GetSelectionContentTest.ts b/tools-ng/tinymce/src/core/test/ts/browser/selection/GetSelectionContentTest.ts
similarity index 58%
rename from tools-ng/tinymce/editor/src/core/test/ts/browser/selection/GetSelectionContentTest.ts
rename to tools-ng/tinymce/src/core/test/ts/browser/selection/GetSelectionContentTest.ts
index 32607492e..308ec1b29 100644
--- a/tools-ng/tinymce/editor/src/core/test/ts/browser/selection/GetSelectionContentTest.ts
+++ b/tools-ng/tinymce/src/core/test/ts/browser/selection/GetSelectionContentTest.ts
@@ -1,30 +1,48 @@
import { Assertions, Chain, GeneralSteps, Logger, Pipeline, Step } from '@ephox/agar';
import { TinyApis, TinyLoader } from '@ephox/mcagar';
-import GetSelectionContent from 'tinymce/core/selection/GetSelectionContent';
-import Theme from 'tinymce/themes/modern/Theme';
import { UnitTest } from '@ephox/bedrock';
+import { document } from '@ephox/dom-globals';
+import GetSelectionContent from 'tinymce/core/selection/GetSelectionContent';
+import { Editor } from 'tinymce/core/api/Editor';
+import Theme from 'tinymce/themes/modern/Theme';
-UnitTest.asynctest('browser.tinymce.selection.GetSelectionContentTest', function () {
- const success = arguments[arguments.length - 2];
- const failure = arguments[arguments.length - 1];
-
+UnitTest.asynctest('browser.tinymce.selection.GetSelectionContentTest', (success, failure) => {
Theme();
+ const testDivId = 'testDiv1';
- const cGetContent = function (args) {
- return Chain.mapper(function (editor) {
+ const sFocusDiv = Step.sync(() => {
+ const input: any = document.querySelector('#' + testDivId);
+ input.focus();
+ });
+
+ const sRemoveTestDiv = Step.sync(() => {
+ const input = document.querySelector('#' + testDivId);
+ input.parentNode.removeChild(input);
+ });
+
+ const sAddTestDiv = Step.sync(function () {
+ const div = document.createElement('div');
+ div.innerHTML = 'xxx';
+ div.contentEditable = 'true';
+ div.id = testDivId;
+ document.body.appendChild(div);
+ });
+
+ const cGetContent = (args: any) => {
+ return Chain.mapper((editor: Editor) => {
return GetSelectionContent.getContent(editor, args);
});
};
- const sAssertGetContent = function (label, editor, expectedContents) {
+ const sAssertGetContent = (label: string, editor: Editor, expectedContents: string, args: any = {}) => {
return Chain.asStep(editor, [
- cGetContent({}),
+ cGetContent(args),
Assertions.cAssertEq('Should be expected contents', expectedContents)
]);
};
- const sAssertGetContentOverrideBeforeGetContent = function (label, editor, expectedContents) {
- const handler = function (e) {
+ const sAssertGetContentOverrideBeforeGetContent = (label: string, editor: Editor, expectedContents: string, args: any = {}) => {
+ const handler = (e) => {
if (e.selection === true) {
e.preventDefault();
e.content = expectedContents;
@@ -36,7 +54,7 @@ UnitTest.asynctest('browser.tinymce.selection.GetSelectionContentTest', function
editor.on('BeforeGetContent', handler);
}),
Chain.asStep(editor, [
- cGetContent({}),
+ cGetContent(args),
Assertions.cAssertEq('Should be expected contents', expectedContents)
]),
Step.sync(function () {
@@ -45,7 +63,7 @@ UnitTest.asynctest('browser.tinymce.selection.GetSelectionContentTest', function
]);
};
- TinyLoader.setup(function (editor, onSuccess, onFailure) {
+ TinyLoader.setup((editor: Editor, onSuccess, onFailure) => {
const tinyApis = TinyApis(editor);
Pipeline.async({}, [
@@ -63,6 +81,14 @@ UnitTest.asynctest('browser.tinymce.selection.GetSelectionContentTest', function
tinyApis.sSetContent('a
'),
tinyApis.sSetSelection([0, 0], 0, [0, 0], 1),
sAssertGetContentOverrideBeforeGetContent('Should be overridden content', editor, 'X')
+ ])),
+ Logger.t('Should be text contents when editor isn\'t focused and format is text', GeneralSteps.sequence([
+ sAddTestDiv,
+ tinyApis.sSetContent('ab
'),
+ tinyApis.sSetSelection([0, 0], 0, [0, 0], 2),
+ sFocusDiv,
+ sAssertGetContent('Should be some content', editor, 'ab', { format: 'text' }),
+ sRemoveTestDiv
]))
], onSuccess, onFailure);
}, {
diff --git a/tools-ng/tinymce/editor/src/core/test/ts/browser/selection/MultiClickSelectionTest.ts b/tools-ng/tinymce/src/core/test/ts/browser/selection/MultiClickSelectionTest.ts
similarity index 100%
rename from tools-ng/tinymce/editor/src/core/test/ts/browser/selection/MultiClickSelectionTest.ts
rename to tools-ng/tinymce/src/core/test/ts/browser/selection/MultiClickSelectionTest.ts
diff --git a/tools-ng/tinymce/editor/src/core/test/ts/browser/selection/NormalizeRangeTest.ts b/tools-ng/tinymce/src/core/test/ts/browser/selection/NormalizeRangeTest.ts
similarity index 100%
rename from tools-ng/tinymce/editor/src/core/test/ts/browser/selection/NormalizeRangeTest.ts
rename to tools-ng/tinymce/src/core/test/ts/browser/selection/NormalizeRangeTest.ts
diff --git a/tools-ng/tinymce/src/core/test/ts/browser/selection/RangeInsertNodeTest.ts b/tools-ng/tinymce/src/core/test/ts/browser/selection/RangeInsertNodeTest.ts
new file mode 100644
index 000000000..4b71d2117
--- /dev/null
+++ b/tools-ng/tinymce/src/core/test/ts/browser/selection/RangeInsertNodeTest.ts
@@ -0,0 +1,93 @@
+import { GeneralSteps, Logger, Pipeline, Step, ApproxStructure } from '@ephox/agar';
+import { TinyApis, TinyLoader } from '@ephox/mcagar';
+import Theme from 'tinymce/themes/modern/Theme';
+import { UnitTest } from '@ephox/bedrock';
+import { Editor } from 'tinymce/core/api/Editor';
+import { rangeInsertNode } from 'tinymce/core/selection/RangeInsertNode';
+import { Node, DocumentFragment, Document } from '@ephox/dom-globals';
+import { Fragment, Elements } from '@ephox/sugar';
+
+UnitTest.asynctest('browser.tinymce.core.selection.RangeInsertNode', (success, failure) => {
+ Theme();
+
+ const sRangeInsertNode = (editor: Editor, node: Node | DocumentFragment) => {
+ return Step.sync(() => {
+ rangeInsertNode(editor.dom, editor.selection.getRng(), node);
+ });
+ };
+
+ const fragmentFromHtml = (html: string, scope: Document): DocumentFragment => {
+ return Fragment.fromElements(Elements.fromHtml(html, scope), scope).dom();
+ };
+
+ TinyLoader.setup((editor: Editor, onSuccess, onFailure) => {
+ const tinyApis = TinyApis(editor);
+ const doc = editor.getDoc();
+
+ Pipeline.async({}, [
+ Logger.t('Insert node at start of text', GeneralSteps.sequence([
+ tinyApis.sFocus,
+ tinyApis.sSetRawContent('a
'),
+ tinyApis.sSetCursor([0, 0], 0),
+ sRangeInsertNode(editor, doc.createTextNode('X')),
+ tinyApis.sAssertContentStructure(
+ ApproxStructure.build((s, str, arr) => {
+ return s.element('body', {
+ children: [
+ s.element('p', {
+ children: [
+ s.text(str.is('X')),
+ s.text(str.is('a'))
+ ]
+ })
+ ]
+ });
+ })
+ )
+ ])),
+ Logger.t('Insert node at end of text', GeneralSteps.sequence([
+ tinyApis.sFocus,
+ tinyApis.sSetRawContent('a
'),
+ tinyApis.sSetCursor([0, 0], 1),
+ sRangeInsertNode(editor, doc.createTextNode('X')),
+ tinyApis.sAssertContentStructure(
+ ApproxStructure.build((s, str, arr) => {
+ return s.element('body', {
+ children: [
+ s.element('p', {
+ children: [
+ s.text(str.is('a')),
+ s.text(str.is('X'))
+ ]
+ })
+ ]
+ });
+ })
+ )
+ ])),
+ Logger.t('Insert document fragment at start of text', GeneralSteps.sequence([
+ tinyApis.sFocus,
+ tinyApis.sSetRawContent('a
'),
+ tinyApis.sSetCursor([0, 0], 0),
+ sRangeInsertNode(editor, fragmentFromHtml('X', doc)),
+ tinyApis.sAssertContentStructure(
+ ApproxStructure.build((s, str, arr) => {
+ return s.element('body', {
+ children: [
+ s.element('p', {
+ children: [
+ s.text(str.is('X')),
+ s.text(str.is('a'))
+ ]
+ })
+ ]
+ });
+ })
+ )
+ ])),
+ ], onSuccess, onFailure);
+ }, {
+ indent: false,
+ skin_url: '/project/js/tinymce/skins/lightgray'
+ }, success, failure);
+});
diff --git a/tools-ng/tinymce/editor/src/core/test/ts/browser/selection/RangeNormalizerTest.ts b/tools-ng/tinymce/src/core/test/ts/browser/selection/RangeNormalizerTest.ts
similarity index 100%
rename from tools-ng/tinymce/editor/src/core/test/ts/browser/selection/RangeNormalizerTest.ts
rename to tools-ng/tinymce/src/core/test/ts/browser/selection/RangeNormalizerTest.ts
diff --git a/tools-ng/tinymce/editor/src/core/test/ts/browser/selection/SelectionBookmarkIframeEditorTest.ts b/tools-ng/tinymce/src/core/test/ts/browser/selection/SelectionBookmarkIframeEditorTest.ts
similarity index 100%
rename from tools-ng/tinymce/editor/src/core/test/ts/browser/selection/SelectionBookmarkIframeEditorTest.ts
rename to tools-ng/tinymce/src/core/test/ts/browser/selection/SelectionBookmarkIframeEditorTest.ts
diff --git a/tools-ng/tinymce/editor/src/core/test/ts/browser/selection/SelectionBookmarkInlineEditorTest.ts b/tools-ng/tinymce/src/core/test/ts/browser/selection/SelectionBookmarkInlineEditorTest.ts
similarity index 100%
rename from tools-ng/tinymce/editor/src/core/test/ts/browser/selection/SelectionBookmarkInlineEditorTest.ts
rename to tools-ng/tinymce/src/core/test/ts/browser/selection/SelectionBookmarkInlineEditorTest.ts
diff --git a/tools-ng/tinymce/editor/src/core/test/ts/browser/selection/SelectionBookmarkTest.ts b/tools-ng/tinymce/src/core/test/ts/browser/selection/SelectionBookmarkTest.ts
similarity index 100%
rename from tools-ng/tinymce/editor/src/core/test/ts/browser/selection/SelectionBookmarkTest.ts
rename to tools-ng/tinymce/src/core/test/ts/browser/selection/SelectionBookmarkTest.ts
diff --git a/tools-ng/tinymce/editor/src/core/test/ts/browser/selection/SelectionUtilsTest.ts b/tools-ng/tinymce/src/core/test/ts/browser/selection/SelectionUtilsTest.ts
similarity index 100%
rename from tools-ng/tinymce/editor/src/core/test/ts/browser/selection/SelectionUtilsTest.ts
rename to tools-ng/tinymce/src/core/test/ts/browser/selection/SelectionUtilsTest.ts
diff --git a/tools-ng/tinymce/editor/src/core/test/ts/browser/selection/SetSelectionContentTest.ts b/tools-ng/tinymce/src/core/test/ts/browser/selection/SetSelectionContentTest.ts
similarity index 100%
rename from tools-ng/tinymce/editor/src/core/test/ts/browser/selection/SetSelectionContentTest.ts
rename to tools-ng/tinymce/src/core/test/ts/browser/selection/SetSelectionContentTest.ts
diff --git a/tools-ng/tinymce/editor/src/core/test/ts/browser/selection/SimpleTableModelTest.ts b/tools-ng/tinymce/src/core/test/ts/browser/selection/SimpleTableModelTest.ts
similarity index 100%
rename from tools-ng/tinymce/editor/src/core/test/ts/browser/selection/SimpleTableModelTest.ts
rename to tools-ng/tinymce/src/core/test/ts/browser/selection/SimpleTableModelTest.ts
diff --git a/tools-ng/tinymce/editor/src/core/test/ts/browser/selection/TableCellSelectionTest.ts b/tools-ng/tinymce/src/core/test/ts/browser/selection/TableCellSelectionTest.ts
similarity index 100%
rename from tools-ng/tinymce/editor/src/core/test/ts/browser/selection/TableCellSelectionTest.ts
rename to tools-ng/tinymce/src/core/test/ts/browser/selection/TableCellSelectionTest.ts
diff --git a/tools-ng/tinymce/editor/src/core/test/ts/browser/undo/DiffTest.ts b/tools-ng/tinymce/src/core/test/ts/browser/undo/DiffTest.ts
similarity index 100%
rename from tools-ng/tinymce/editor/src/core/test/ts/browser/undo/DiffTest.ts
rename to tools-ng/tinymce/src/core/test/ts/browser/undo/DiffTest.ts
diff --git a/tools-ng/tinymce/editor/src/core/test/ts/browser/undo/ForcedRootBlockTest.ts b/tools-ng/tinymce/src/core/test/ts/browser/undo/ForcedRootBlockTest.ts
similarity index 100%
rename from tools-ng/tinymce/editor/src/core/test/ts/browser/undo/ForcedRootBlockTest.ts
rename to tools-ng/tinymce/src/core/test/ts/browser/undo/ForcedRootBlockTest.ts
diff --git a/tools-ng/tinymce/editor/src/core/test/ts/browser/undo/FragmentsTest.ts b/tools-ng/tinymce/src/core/test/ts/browser/undo/FragmentsTest.ts
similarity index 100%
rename from tools-ng/tinymce/editor/src/core/test/ts/browser/undo/FragmentsTest.ts
rename to tools-ng/tinymce/src/core/test/ts/browser/undo/FragmentsTest.ts
diff --git a/tools-ng/tinymce/editor/src/core/test/ts/browser/undo/LevelsTest.ts b/tools-ng/tinymce/src/core/test/ts/browser/undo/LevelsTest.ts
similarity index 100%
rename from tools-ng/tinymce/editor/src/core/test/ts/browser/undo/LevelsTest.ts
rename to tools-ng/tinymce/src/core/test/ts/browser/undo/LevelsTest.ts
diff --git a/tools-ng/tinymce/editor/src/core/test/ts/browser/util/ColorTest.ts b/tools-ng/tinymce/src/core/test/ts/browser/util/ColorTest.ts
similarity index 100%
rename from tools-ng/tinymce/editor/src/core/test/ts/browser/util/ColorTest.ts
rename to tools-ng/tinymce/src/core/test/ts/browser/util/ColorTest.ts
diff --git a/tools-ng/tinymce/editor/src/core/test/ts/browser/util/DelayTest.ts b/tools-ng/tinymce/src/core/test/ts/browser/util/DelayTest.ts
similarity index 100%
rename from tools-ng/tinymce/editor/src/core/test/ts/browser/util/DelayTest.ts
rename to tools-ng/tinymce/src/core/test/ts/browser/util/DelayTest.ts
diff --git a/tools-ng/tinymce/editor/src/core/test/ts/browser/util/EventDispatcherTest.ts b/tools-ng/tinymce/src/core/test/ts/browser/util/EventDispatcherTest.ts
similarity index 100%
rename from tools-ng/tinymce/editor/src/core/test/ts/browser/util/EventDispatcherTest.ts
rename to tools-ng/tinymce/src/core/test/ts/browser/util/EventDispatcherTest.ts
diff --git a/tools-ng/tinymce/editor/src/core/test/ts/browser/util/FakeStorageTest.ts b/tools-ng/tinymce/src/core/test/ts/browser/util/FakeStorageTest.ts
similarity index 100%
rename from tools-ng/tinymce/editor/src/core/test/ts/browser/util/FakeStorageTest.ts
rename to tools-ng/tinymce/src/core/test/ts/browser/util/FakeStorageTest.ts
diff --git a/tools-ng/tinymce/editor/src/core/test/ts/browser/util/I18nTest.ts b/tools-ng/tinymce/src/core/test/ts/browser/util/I18nTest.ts
similarity index 100%
rename from tools-ng/tinymce/editor/src/core/test/ts/browser/util/I18nTest.ts
rename to tools-ng/tinymce/src/core/test/ts/browser/util/I18nTest.ts
diff --git a/tools-ng/tinymce/editor/src/core/test/ts/browser/util/JsonRequestTest.ts b/tools-ng/tinymce/src/core/test/ts/browser/util/JsonRequestTest.ts
similarity index 100%
rename from tools-ng/tinymce/editor/src/core/test/ts/browser/util/JsonRequestTest.ts
rename to tools-ng/tinymce/src/core/test/ts/browser/util/JsonRequestTest.ts
diff --git a/tools-ng/tinymce/editor/src/core/test/ts/browser/util/JsonTest.ts b/tools-ng/tinymce/src/core/test/ts/browser/util/JsonTest.ts
similarity index 100%
rename from tools-ng/tinymce/editor/src/core/test/ts/browser/util/JsonTest.ts
rename to tools-ng/tinymce/src/core/test/ts/browser/util/JsonTest.ts
diff --git a/tools-ng/tinymce/editor/src/core/test/ts/browser/util/ObservableTest.ts b/tools-ng/tinymce/src/core/test/ts/browser/util/ObservableTest.ts
similarity index 100%
rename from tools-ng/tinymce/editor/src/core/test/ts/browser/util/ObservableTest.ts
rename to tools-ng/tinymce/src/core/test/ts/browser/util/ObservableTest.ts
diff --git a/tools-ng/tinymce/editor/src/core/test/ts/browser/util/PromiseTest.ts b/tools-ng/tinymce/src/core/test/ts/browser/util/PromiseTest.ts
similarity index 100%
rename from tools-ng/tinymce/editor/src/core/test/ts/browser/util/PromiseTest.ts
rename to tools-ng/tinymce/src/core/test/ts/browser/util/PromiseTest.ts
diff --git a/tools-ng/tinymce/editor/src/core/test/ts/browser/util/QuirksWebkitTest.ts b/tools-ng/tinymce/src/core/test/ts/browser/util/QuirksWebkitTest.ts
similarity index 100%
rename from tools-ng/tinymce/editor/src/core/test/ts/browser/util/QuirksWebkitTest.ts
rename to tools-ng/tinymce/src/core/test/ts/browser/util/QuirksWebkitTest.ts
diff --git a/tools-ng/tinymce/editor/src/core/test/ts/browser/util/ToolsTest.ts b/tools-ng/tinymce/src/core/test/ts/browser/util/ToolsTest.ts
similarity index 100%
rename from tools-ng/tinymce/editor/src/core/test/ts/browser/util/ToolsTest.ts
rename to tools-ng/tinymce/src/core/test/ts/browser/util/ToolsTest.ts
diff --git a/tools-ng/tinymce/editor/src/core/test/ts/browser/util/UriTest.ts b/tools-ng/tinymce/src/core/test/ts/browser/util/UriTest.ts
similarity index 100%
rename from tools-ng/tinymce/editor/src/core/test/ts/browser/util/UriTest.ts
rename to tools-ng/tinymce/src/core/test/ts/browser/util/UriTest.ts
diff --git a/tools-ng/tinymce/editor/src/core/test/ts/browser/util/XhrTest.ts b/tools-ng/tinymce/src/core/test/ts/browser/util/XhrTest.ts
similarity index 100%
rename from tools-ng/tinymce/editor/src/core/test/ts/browser/util/XhrTest.ts
rename to tools-ng/tinymce/src/core/test/ts/browser/util/XhrTest.ts
diff --git a/tools-ng/tinymce/editor/src/core/test/ts/module/test/AnnotationAsserts.ts b/tools-ng/tinymce/src/core/test/ts/module/test/AnnotationAsserts.ts
similarity index 100%
rename from tools-ng/tinymce/editor/src/core/test/ts/module/test/AnnotationAsserts.ts
rename to tools-ng/tinymce/src/core/test/ts/module/test/AnnotationAsserts.ts
diff --git a/tools-ng/tinymce/editor/src/core/test/ts/module/test/CaretAsserts.ts b/tools-ng/tinymce/src/core/test/ts/module/test/CaretAsserts.ts
similarity index 83%
rename from tools-ng/tinymce/editor/src/core/test/ts/module/test/CaretAsserts.ts
rename to tools-ng/tinymce/src/core/test/ts/module/test/CaretAsserts.ts
index b239b2c4c..8ede4470e 100644
--- a/tools-ng/tinymce/editor/src/core/test/ts/module/test/CaretAsserts.ts
+++ b/tools-ng/tinymce/src/core/test/ts/module/test/CaretAsserts.ts
@@ -14,7 +14,8 @@ const assertCaretPosition = function (actual, expected, message?) {
return;
}
- Assertions.assertEq(message, true, expected.isEqual(actual));
+ const defaultMessage = `["${expected.getNode().textContent}", ${expected.offset()}] doesn't match actual position ["${actual.getNode().textContent}", ${actual.offset()}]`;
+ Assertions.assertEq(message || defaultMessage, true, expected.isEqual(actual));
};
const assertRange = function (expected, actual) {
diff --git a/tools-ng/tinymce/editor/src/core/test/ts/module/test/HtmlUtils.ts b/tools-ng/tinymce/src/core/test/ts/module/test/HtmlUtils.ts
similarity index 100%
rename from tools-ng/tinymce/editor/src/core/test/ts/module/test/HtmlUtils.ts
rename to tools-ng/tinymce/src/core/test/ts/module/test/HtmlUtils.ts
diff --git a/tools-ng/tinymce/editor/src/core/test/ts/module/test/KeyUtils.ts b/tools-ng/tinymce/src/core/test/ts/module/test/KeyUtils.ts
similarity index 100%
rename from tools-ng/tinymce/editor/src/core/test/ts/module/test/KeyUtils.ts
rename to tools-ng/tinymce/src/core/test/ts/module/test/KeyUtils.ts
diff --git a/tools-ng/tinymce/editor/src/core/test/ts/module/test/TypeText.ts b/tools-ng/tinymce/src/core/test/ts/module/test/TypeText.ts
similarity index 100%
rename from tools-ng/tinymce/editor/src/core/test/ts/module/test/TypeText.ts
rename to tools-ng/tinymce/src/core/test/ts/module/test/TypeText.ts
diff --git a/tools-ng/tinymce/editor/src/core/test/ts/module/test/ViewBlock.ts b/tools-ng/tinymce/src/core/test/ts/module/test/ViewBlock.ts
similarity index 100%
rename from tools-ng/tinymce/editor/src/core/test/ts/module/test/ViewBlock.ts
rename to tools-ng/tinymce/src/core/test/ts/module/test/ViewBlock.ts
diff --git a/tools-ng/tinymce/editor/src/plugins/advlist/demo/html/demo.html b/tools-ng/tinymce/src/plugins/advlist/demo/html/demo.html
similarity index 100%
rename from tools-ng/tinymce/editor/src/plugins/advlist/demo/html/demo.html
rename to tools-ng/tinymce/src/plugins/advlist/demo/html/demo.html
diff --git a/tools-ng/tinymce/editor/src/plugins/advlist/demo/ts/demo/Demo.ts b/tools-ng/tinymce/src/plugins/advlist/demo/ts/demo/Demo.ts
similarity index 100%
rename from tools-ng/tinymce/editor/src/plugins/advlist/demo/ts/demo/Demo.ts
rename to tools-ng/tinymce/src/plugins/advlist/demo/ts/demo/Demo.ts
diff --git a/tools-ng/tinymce/editor/src/plugins/advlist/main/ts/Plugin.ts b/tools-ng/tinymce/src/plugins/advlist/main/ts/Plugin.ts
similarity index 70%
rename from tools-ng/tinymce/editor/src/plugins/advlist/main/ts/Plugin.ts
rename to tools-ng/tinymce/src/plugins/advlist/main/ts/Plugin.ts
index 56b3081ed..3ac771f39 100644
--- a/tools-ng/tinymce/editor/src/plugins/advlist/main/ts/Plugin.ts
+++ b/tools-ng/tinymce/src/plugins/advlist/main/ts/Plugin.ts
@@ -1,11 +1,8 @@
/**
- * Plugin.js
- *
- * Released under LGPL License.
- * Copyright (c) 1999-2017 Ephox Corp. All rights reserved
- *
- * License: http://www.tinymce.com/license
- * Contributing: http://www.tinymce.com/contributing
+ * Copyright (c) Tiny Technologies, Inc. All rights reserved.
+ * Licensed under the LGPL or a commercial license.
+ * For LGPL see License.txt in the project root for license information.
+ * For commercial licenses see https://www.tiny.cloud/
*/
import PluginManager from 'tinymce/core/api/PluginManager';
diff --git a/tools-ng/tinymce/editor/src/plugins/advlist/main/ts/api/Commands.ts b/tools-ng/tinymce/src/plugins/advlist/main/ts/api/Commands.ts
similarity index 62%
rename from tools-ng/tinymce/editor/src/plugins/advlist/main/ts/api/Commands.ts
rename to tools-ng/tinymce/src/plugins/advlist/main/ts/api/Commands.ts
index cd5840aa6..7301b9cac 100644
--- a/tools-ng/tinymce/editor/src/plugins/advlist/main/ts/api/Commands.ts
+++ b/tools-ng/tinymce/src/plugins/advlist/main/ts/api/Commands.ts
@@ -1,11 +1,8 @@
/**
- * Commands.js
- *
- * Released under LGPL License.
- * Copyright (c) 1999-2017 Ephox Corp. All rights reserved
- *
- * License: http://www.tinymce.com/license
- * Contributing: http://www.tinymce.com/contributing
+ * Copyright (c) Tiny Technologies, Inc. All rights reserved.
+ * Licensed under the LGPL or a commercial license.
+ * For LGPL see License.txt in the project root for license information.
+ * For commercial licenses see https://www.tiny.cloud/
*/
import Actions from '../core/Actions';
diff --git a/tools-ng/tinymce/editor/src/plugins/advlist/main/ts/api/Settings.ts b/tools-ng/tinymce/src/plugins/advlist/main/ts/api/Settings.ts
similarity index 66%
rename from tools-ng/tinymce/editor/src/plugins/advlist/main/ts/api/Settings.ts
rename to tools-ng/tinymce/src/plugins/advlist/main/ts/api/Settings.ts
index 91b9cb5f2..3db52eead 100644
--- a/tools-ng/tinymce/editor/src/plugins/advlist/main/ts/api/Settings.ts
+++ b/tools-ng/tinymce/src/plugins/advlist/main/ts/api/Settings.ts
@@ -1,11 +1,8 @@
/**
- * Settings.js
- *
- * Released under LGPL License.
- * Copyright (c) 1999-2017 Ephox Corp. All rights reserved
- *
- * License: http://www.tinymce.com/license
- * Contributing: http://www.tinymce.com/contributing
+ * Copyright (c) Tiny Technologies, Inc. All rights reserved.
+ * Licensed under the LGPL or a commercial license.
+ * For LGPL see License.txt in the project root for license information.
+ * For commercial licenses see https://www.tiny.cloud/
*/
const getNumberStyles = function (editor) {
diff --git a/tools-ng/tinymce/editor/src/plugins/advlist/main/ts/core/Actions.ts b/tools-ng/tinymce/src/plugins/advlist/main/ts/core/Actions.ts
similarity index 54%
rename from tools-ng/tinymce/editor/src/plugins/advlist/main/ts/core/Actions.ts
rename to tools-ng/tinymce/src/plugins/advlist/main/ts/core/Actions.ts
index f2449affc..99b04571c 100644
--- a/tools-ng/tinymce/editor/src/plugins/advlist/main/ts/core/Actions.ts
+++ b/tools-ng/tinymce/src/plugins/advlist/main/ts/core/Actions.ts
@@ -1,11 +1,8 @@
/**
- * Actions.js
- *
- * Released under LGPL License.
- * Copyright (c) 1999-2017 Ephox Corp. All rights reserved
- *
- * License: http://www.tinymce.com/license
- * Contributing: http://www.tinymce.com/contributing
+ * Copyright (c) Tiny Technologies, Inc. All rights reserved.
+ * Licensed under the LGPL or a commercial license.
+ * For LGPL see License.txt in the project root for license information.
+ * For commercial licenses see https://www.tiny.cloud/
*/
const applyListFormat = function (editor, listName, styleValue) {
diff --git a/tools-ng/tinymce/editor/src/plugins/advlist/main/ts/core/ListUtils.ts b/tools-ng/tinymce/src/plugins/advlist/main/ts/core/ListUtils.ts
similarity index 72%
rename from tools-ng/tinymce/editor/src/plugins/advlist/main/ts/core/ListUtils.ts
rename to tools-ng/tinymce/src/plugins/advlist/main/ts/core/ListUtils.ts
index 005bdc0aa..5408b27d1 100644
--- a/tools-ng/tinymce/editor/src/plugins/advlist/main/ts/core/ListUtils.ts
+++ b/tools-ng/tinymce/src/plugins/advlist/main/ts/core/ListUtils.ts
@@ -1,11 +1,8 @@
/**
- * ListUtils.js
- *
- * Released under LGPL License.
- * Copyright (c) 1999-2017 Ephox Corp. All rights reserved
- *
- * License: http://www.tinymce.com/license
- * Contributing: http://www.tinymce.com/contributing
+ * Copyright (c) Tiny Technologies, Inc. All rights reserved.
+ * Licensed under the LGPL or a commercial license.
+ * For LGPL see License.txt in the project root for license information.
+ * For commercial licenses see https://www.tiny.cloud/
*/
const isChildOfBody = function (editor, elm) {
diff --git a/tools-ng/tinymce/editor/src/plugins/advlist/main/ts/ui/Buttons.ts b/tools-ng/tinymce/src/plugins/advlist/main/ts/ui/Buttons.ts
similarity index 90%
rename from tools-ng/tinymce/editor/src/plugins/advlist/main/ts/ui/Buttons.ts
rename to tools-ng/tinymce/src/plugins/advlist/main/ts/ui/Buttons.ts
index 1ae05408a..8f8ffc59f 100644
--- a/tools-ng/tinymce/editor/src/plugins/advlist/main/ts/ui/Buttons.ts
+++ b/tools-ng/tinymce/src/plugins/advlist/main/ts/ui/Buttons.ts
@@ -1,11 +1,8 @@
/**
- * Buttons.js
- *
- * Released under LGPL License.
- * Copyright (c) 1999-2017 Ephox Corp. All rights reserved
- *
- * License: http://www.tinymce.com/license
- * Contributing: http://www.tinymce.com/contributing
+ * Copyright (c) Tiny Technologies, Inc. All rights reserved.
+ * Licensed under the LGPL or a commercial license.
+ * For LGPL see License.txt in the project root for license information.
+ * For commercial licenses see https://www.tiny.cloud/
*/
import Tools from 'tinymce/core/api/util/Tools';
diff --git a/tools-ng/tinymce/editor/src/plugins/advlist/main/ts/ui/ListStyles.ts b/tools-ng/tinymce/src/plugins/advlist/main/ts/ui/ListStyles.ts
similarity index 67%
rename from tools-ng/tinymce/editor/src/plugins/advlist/main/ts/ui/ListStyles.ts
rename to tools-ng/tinymce/src/plugins/advlist/main/ts/ui/ListStyles.ts
index 708bb7ad2..e07eab313 100644
--- a/tools-ng/tinymce/editor/src/plugins/advlist/main/ts/ui/ListStyles.ts
+++ b/tools-ng/tinymce/src/plugins/advlist/main/ts/ui/ListStyles.ts
@@ -1,11 +1,8 @@
/**
- * ListStyles.js
- *
- * Released under LGPL License.
- * Copyright (c) 1999-2017 Ephox Corp. All rights reserved
- *
- * License: http://www.tinymce.com/license
- * Contributing: http://www.tinymce.com/contributing
+ * Copyright (c) Tiny Technologies, Inc. All rights reserved.
+ * Licensed under the LGPL or a commercial license.
+ * For LGPL see License.txt in the project root for license information.
+ * For commercial licenses see https://www.tiny.cloud/
*/
import Tools from 'tinymce/core/api/util/Tools';
diff --git a/tools-ng/tinymce/editor/src/plugins/advlist/test/ts/browser/AdvlistPluginTest.ts b/tools-ng/tinymce/src/plugins/advlist/test/ts/browser/AdvlistPluginTest.ts
similarity index 100%
rename from tools-ng/tinymce/editor/src/plugins/advlist/test/ts/browser/AdvlistPluginTest.ts
rename to tools-ng/tinymce/src/plugins/advlist/test/ts/browser/AdvlistPluginTest.ts
diff --git a/tools-ng/tinymce/editor/src/plugins/advlist/test/ts/browser/ChangeListStyleTest.ts b/tools-ng/tinymce/src/plugins/advlist/test/ts/browser/ChangeListStyleTest.ts
similarity index 100%
rename from tools-ng/tinymce/editor/src/plugins/advlist/test/ts/browser/ChangeListStyleTest.ts
rename to tools-ng/tinymce/src/plugins/advlist/test/ts/browser/ChangeListStyleTest.ts
diff --git a/tools-ng/tinymce/editor/src/plugins/advlist/test/ts/browser/SplitButtonTest.ts b/tools-ng/tinymce/src/plugins/advlist/test/ts/browser/SplitButtonTest.ts
similarity index 100%
rename from tools-ng/tinymce/editor/src/plugins/advlist/test/ts/browser/SplitButtonTest.ts
rename to tools-ng/tinymce/src/plugins/advlist/test/ts/browser/SplitButtonTest.ts
diff --git a/tools-ng/tinymce/editor/src/plugins/anchor/demo/html/demo.html b/tools-ng/tinymce/src/plugins/anchor/demo/html/demo.html
similarity index 100%
rename from tools-ng/tinymce/editor/src/plugins/anchor/demo/html/demo.html
rename to tools-ng/tinymce/src/plugins/anchor/demo/html/demo.html
diff --git a/tools-ng/tinymce/editor/src/plugins/anchor/demo/ts/demo/Demo.ts b/tools-ng/tinymce/src/plugins/anchor/demo/ts/demo/Demo.ts
similarity index 100%
rename from tools-ng/tinymce/editor/src/plugins/anchor/demo/ts/demo/Demo.ts
rename to tools-ng/tinymce/src/plugins/anchor/demo/ts/demo/Demo.ts
diff --git a/tools-ng/tinymce/editor/src/plugins/anchor/main/ts/Plugin.ts b/tools-ng/tinymce/src/plugins/anchor/main/ts/Plugin.ts
similarity index 60%
rename from tools-ng/tinymce/editor/src/plugins/anchor/main/ts/Plugin.ts
rename to tools-ng/tinymce/src/plugins/anchor/main/ts/Plugin.ts
index 6aa631036..4afe3d684 100644
--- a/tools-ng/tinymce/editor/src/plugins/anchor/main/ts/Plugin.ts
+++ b/tools-ng/tinymce/src/plugins/anchor/main/ts/Plugin.ts
@@ -1,11 +1,8 @@
/**
- * Plugin.js
- *
- * Released under LGPL License.
- * Copyright (c) 1999-2017 Ephox Corp. All rights reserved
- *
- * License: http://www.tinymce.com/license
- * Contributing: http://www.tinymce.com/contributing
+ * Copyright (c) Tiny Technologies, Inc. All rights reserved.
+ * Licensed under the LGPL or a commercial license.
+ * For LGPL see License.txt in the project root for license information.
+ * For commercial licenses see https://www.tiny.cloud/
*/
import PluginManager from 'tinymce/core/api/PluginManager';
diff --git a/tools-ng/tinymce/src/plugins/anchor/main/ts/api/Commands.ts b/tools-ng/tinymce/src/plugins/anchor/main/ts/api/Commands.ts
new file mode 100644
index 000000000..9be9ef414
--- /dev/null
+++ b/tools-ng/tinymce/src/plugins/anchor/main/ts/api/Commands.ts
@@ -0,0 +1,18 @@
+/**
+ * Copyright (c) Tiny Technologies, Inc. All rights reserved.
+ * Licensed under the LGPL or a commercial license.
+ * For LGPL see License.txt in the project root for license information.
+ * For commercial licenses see https://www.tiny.cloud/
+ */
+
+import Dialog from '../ui/Dialog';
+
+const register = function (editor) {
+ editor.addCommand('mceAnchor', function () {
+ Dialog.open(editor);
+ });
+};
+
+export default {
+ register
+};
\ No newline at end of file
diff --git a/tools-ng/tinymce/editor/src/plugins/anchor/main/ts/core/Anchor.ts b/tools-ng/tinymce/src/plugins/anchor/main/ts/core/Anchor.ts
similarity index 79%
rename from tools-ng/tinymce/editor/src/plugins/anchor/main/ts/core/Anchor.ts
rename to tools-ng/tinymce/src/plugins/anchor/main/ts/core/Anchor.ts
index b433bab3b..d0325f220 100644
--- a/tools-ng/tinymce/editor/src/plugins/anchor/main/ts/core/Anchor.ts
+++ b/tools-ng/tinymce/src/plugins/anchor/main/ts/core/Anchor.ts
@@ -1,11 +1,8 @@
/**
- * Anchor.js
- *
- * Released under LGPL License.
- * Copyright (c) 1999-2017 Ephox Corp. All rights reserved
- *
- * License: http://www.tinymce.com/license
- * Contributing: http://www.tinymce.com/contributing
+ * Copyright (c) Tiny Technologies, Inc. All rights reserved.
+ * Licensed under the LGPL or a commercial license.
+ * For LGPL see License.txt in the project root for license information.
+ * For commercial licenses see https://www.tiny.cloud/
*/
const isValidId = function (id) {
diff --git a/tools-ng/tinymce/editor/src/plugins/anchor/main/ts/core/FilterContent.ts b/tools-ng/tinymce/src/plugins/anchor/main/ts/core/FilterContent.ts
similarity index 71%
rename from tools-ng/tinymce/editor/src/plugins/anchor/main/ts/core/FilterContent.ts
rename to tools-ng/tinymce/src/plugins/anchor/main/ts/core/FilterContent.ts
index d1a20d8b8..1e3b16760 100644
--- a/tools-ng/tinymce/editor/src/plugins/anchor/main/ts/core/FilterContent.ts
+++ b/tools-ng/tinymce/src/plugins/anchor/main/ts/core/FilterContent.ts
@@ -1,11 +1,8 @@
/**
- * FilterContent.js
- *
- * Released under LGPL License.
- * Copyright (c) 1999-2017 Ephox Corp. All rights reserved
- *
- * License: http://www.tinymce.com/license
- * Contributing: http://www.tinymce.com/contributing
+ * Copyright (c) Tiny Technologies, Inc. All rights reserved.
+ * Licensed under the LGPL or a commercial license.
+ * For LGPL see License.txt in the project root for license information.
+ * For commercial licenses see https://www.tiny.cloud/
*/
const isAnchorNode = function (node) {
diff --git a/tools-ng/tinymce/editor/src/plugins/anchor/main/ts/ui/Buttons.ts b/tools-ng/tinymce/src/plugins/anchor/main/ts/ui/Buttons.ts
similarity index 58%
rename from tools-ng/tinymce/editor/src/plugins/anchor/main/ts/ui/Buttons.ts
rename to tools-ng/tinymce/src/plugins/anchor/main/ts/ui/Buttons.ts
index f86f63229..b8c4d875b 100644
--- a/tools-ng/tinymce/editor/src/plugins/anchor/main/ts/ui/Buttons.ts
+++ b/tools-ng/tinymce/src/plugins/anchor/main/ts/ui/Buttons.ts
@@ -1,11 +1,8 @@
/**
- * Buttons.js
- *
- * Released under LGPL License.
- * Copyright (c) 1999-2017 Ephox Corp. All rights reserved
- *
- * License: http://www.tinymce.com/license
- * Contributing: http://www.tinymce.com/contributing
+ * Copyright (c) Tiny Technologies, Inc. All rights reserved.
+ * Licensed under the LGPL or a commercial license.
+ * For LGPL see License.txt in the project root for license information.
+ * For commercial licenses see https://www.tiny.cloud/
*/
const register = function (editor) {
diff --git a/tools-ng/tinymce/editor/src/plugins/anchor/main/ts/ui/Dialog.ts b/tools-ng/tinymce/src/plugins/anchor/main/ts/ui/Dialog.ts
similarity index 75%
rename from tools-ng/tinymce/editor/src/plugins/anchor/main/ts/ui/Dialog.ts
rename to tools-ng/tinymce/src/plugins/anchor/main/ts/ui/Dialog.ts
index 0e9d73256..6a107a91b 100644
--- a/tools-ng/tinymce/editor/src/plugins/anchor/main/ts/ui/Dialog.ts
+++ b/tools-ng/tinymce/src/plugins/anchor/main/ts/ui/Dialog.ts
@@ -1,11 +1,8 @@
/**
- * Dialog.js
- *
- * Released under LGPL License.
- * Copyright (c) 1999-2017 Ephox Corp. All rights reserved
- *
- * License: http://www.tinymce.com/license
- * Contributing: http://www.tinymce.com/contributing
+ * Copyright (c) Tiny Technologies, Inc. All rights reserved.
+ * Licensed under the LGPL or a commercial license.
+ * For LGPL see License.txt in the project root for license information.
+ * For commercial licenses see https://www.tiny.cloud/
*/
import Anchor from '../core/Anchor';
diff --git a/tools-ng/tinymce/editor/src/plugins/anchor/test/ts/browser/AnchorEditTest.ts b/tools-ng/tinymce/src/plugins/anchor/test/ts/browser/AnchorEditTest.ts
similarity index 100%
rename from tools-ng/tinymce/editor/src/plugins/anchor/test/ts/browser/AnchorEditTest.ts
rename to tools-ng/tinymce/src/plugins/anchor/test/ts/browser/AnchorEditTest.ts
diff --git a/tools-ng/tinymce/editor/src/plugins/anchor/test/ts/browser/AnchorInlineTest.ts b/tools-ng/tinymce/src/plugins/anchor/test/ts/browser/AnchorInlineTest.ts
similarity index 100%
rename from tools-ng/tinymce/editor/src/plugins/anchor/test/ts/browser/AnchorInlineTest.ts
rename to tools-ng/tinymce/src/plugins/anchor/test/ts/browser/AnchorInlineTest.ts
diff --git a/tools-ng/tinymce/editor/src/plugins/anchor/test/ts/browser/AnchorSanityTest.ts b/tools-ng/tinymce/src/plugins/anchor/test/ts/browser/AnchorSanityTest.ts
similarity index 100%
rename from tools-ng/tinymce/editor/src/plugins/anchor/test/ts/browser/AnchorSanityTest.ts
rename to tools-ng/tinymce/src/plugins/anchor/test/ts/browser/AnchorSanityTest.ts
diff --git a/tools-ng/tinymce/editor/src/plugins/autolink/demo/html/demo.html b/tools-ng/tinymce/src/plugins/autolink/demo/html/demo.html
similarity index 100%
rename from tools-ng/tinymce/editor/src/plugins/autolink/demo/html/demo.html
rename to tools-ng/tinymce/src/plugins/autolink/demo/html/demo.html
diff --git a/tools-ng/tinymce/editor/src/plugins/autolink/demo/ts/demo/Demo.ts b/tools-ng/tinymce/src/plugins/autolink/demo/ts/demo/Demo.ts
similarity index 100%
rename from tools-ng/tinymce/editor/src/plugins/autolink/demo/ts/demo/Demo.ts
rename to tools-ng/tinymce/src/plugins/autolink/demo/ts/demo/Demo.ts
diff --git a/tools-ng/tinymce/editor/src/plugins/autolink/main/ts/Plugin.ts b/tools-ng/tinymce/src/plugins/autolink/main/ts/Plugin.ts
similarity index 52%
rename from tools-ng/tinymce/editor/src/plugins/autolink/main/ts/Plugin.ts
rename to tools-ng/tinymce/src/plugins/autolink/main/ts/Plugin.ts
index a42a8a3dd..1ffcdb17e 100644
--- a/tools-ng/tinymce/editor/src/plugins/autolink/main/ts/Plugin.ts
+++ b/tools-ng/tinymce/src/plugins/autolink/main/ts/Plugin.ts
@@ -1,11 +1,8 @@
/**
- * Plugin.js
- *
- * Released under LGPL License.
- * Copyright (c) 1999-2017 Ephox Corp. All rights reserved
- *
- * License: http://www.tinymce.com/license
- * Contributing: http://www.tinymce.com/contributing
+ * Copyright (c) Tiny Technologies, Inc. All rights reserved.
+ * Licensed under the LGPL or a commercial license.
+ * For LGPL see License.txt in the project root for license information.
+ * For commercial licenses see https://www.tiny.cloud/
*/
import PluginManager from 'tinymce/core/api/PluginManager';
diff --git a/tools-ng/tinymce/editor/src/plugins/autolink/main/ts/api/Settings.ts b/tools-ng/tinymce/src/plugins/autolink/main/ts/api/Settings.ts
similarity index 59%
rename from tools-ng/tinymce/editor/src/plugins/autolink/main/ts/api/Settings.ts
rename to tools-ng/tinymce/src/plugins/autolink/main/ts/api/Settings.ts
index 6e3118541..b0821f61c 100644
--- a/tools-ng/tinymce/editor/src/plugins/autolink/main/ts/api/Settings.ts
+++ b/tools-ng/tinymce/src/plugins/autolink/main/ts/api/Settings.ts
@@ -1,11 +1,8 @@
/**
- * Settings.js
- *
- * Released under LGPL License.
- * Copyright (c) 1999-2017 Ephox Corp. All rights reserved
- *
- * License: http://www.tinymce.com/license
- * Contributing: http://www.tinymce.com/contributing
+ * Copyright (c) Tiny Technologies, Inc. All rights reserved.
+ * Licensed under the LGPL or a commercial license.
+ * For LGPL see License.txt in the project root for license information.
+ * For commercial licenses see https://www.tiny.cloud/
*/
const getAutoLinkPattern = function (editor) {
diff --git a/tools-ng/tinymce/editor/src/plugins/autolink/main/ts/core/Keys.ts b/tools-ng/tinymce/src/plugins/autolink/main/ts/core/Keys.ts
similarity index 95%
rename from tools-ng/tinymce/editor/src/plugins/autolink/main/ts/core/Keys.ts
rename to tools-ng/tinymce/src/plugins/autolink/main/ts/core/Keys.ts
index ee3d37e50..c16cde392 100644
--- a/tools-ng/tinymce/editor/src/plugins/autolink/main/ts/core/Keys.ts
+++ b/tools-ng/tinymce/src/plugins/autolink/main/ts/core/Keys.ts
@@ -1,11 +1,8 @@
/**
- * Keys.js
- *
- * Released under LGPL License.
- * Copyright (c) 1999-2017 Ephox Corp. All rights reserved
- *
- * License: http://www.tinymce.com/license
- * Contributing: http://www.tinymce.com/contributing
+ * Copyright (c) Tiny Technologies, Inc. All rights reserved.
+ * Licensed under the LGPL or a commercial license.
+ * For LGPL see License.txt in the project root for license information.
+ * For commercial licenses see https://www.tiny.cloud/
*/
import Env from 'tinymce/core/api/Env';
diff --git a/tools-ng/tinymce/editor/src/plugins/autolink/test/ts/browser/AutoLinkPluginTest.ts b/tools-ng/tinymce/src/plugins/autolink/test/ts/browser/AutoLinkPluginTest.ts
similarity index 100%
rename from tools-ng/tinymce/editor/src/plugins/autolink/test/ts/browser/AutoLinkPluginTest.ts
rename to tools-ng/tinymce/src/plugins/autolink/test/ts/browser/AutoLinkPluginTest.ts
diff --git a/tools-ng/tinymce/editor/src/plugins/autolink/test/ts/browser/ConsecutiveLinkTest.ts b/tools-ng/tinymce/src/plugins/autolink/test/ts/browser/ConsecutiveLinkTest.ts
similarity index 100%
rename from tools-ng/tinymce/editor/src/plugins/autolink/test/ts/browser/ConsecutiveLinkTest.ts
rename to tools-ng/tinymce/src/plugins/autolink/test/ts/browser/ConsecutiveLinkTest.ts
diff --git a/tools-ng/tinymce/editor/src/plugins/autolink/test/ts/browser/EnterKeyTest.ts b/tools-ng/tinymce/src/plugins/autolink/test/ts/browser/EnterKeyTest.ts
similarity index 100%
rename from tools-ng/tinymce/editor/src/plugins/autolink/test/ts/browser/EnterKeyTest.ts
rename to tools-ng/tinymce/src/plugins/autolink/test/ts/browser/EnterKeyTest.ts
diff --git a/tools-ng/tinymce/editor/src/plugins/autolink/test/ts/module/test/KeyUtils.ts b/tools-ng/tinymce/src/plugins/autolink/test/ts/module/test/KeyUtils.ts
similarity index 100%
rename from tools-ng/tinymce/editor/src/plugins/autolink/test/ts/module/test/KeyUtils.ts
rename to tools-ng/tinymce/src/plugins/autolink/test/ts/module/test/KeyUtils.ts
diff --git a/tools-ng/tinymce/editor/src/plugins/autoresize/demo/html/demo.html b/tools-ng/tinymce/src/plugins/autoresize/demo/html/demo.html
similarity index 100%
rename from tools-ng/tinymce/editor/src/plugins/autoresize/demo/html/demo.html
rename to tools-ng/tinymce/src/plugins/autoresize/demo/html/demo.html
diff --git a/tools-ng/tinymce/editor/src/plugins/autoresize/demo/ts/demo/Demo.ts b/tools-ng/tinymce/src/plugins/autoresize/demo/ts/demo/Demo.ts
similarity index 100%
rename from tools-ng/tinymce/editor/src/plugins/autoresize/demo/ts/demo/Demo.ts
rename to tools-ng/tinymce/src/plugins/autoresize/demo/ts/demo/Demo.ts
diff --git a/tools-ng/tinymce/editor/src/plugins/autoresize/main/ts/Plugin.ts b/tools-ng/tinymce/src/plugins/autoresize/main/ts/Plugin.ts
similarity index 68%
rename from tools-ng/tinymce/editor/src/plugins/autoresize/main/ts/Plugin.ts
rename to tools-ng/tinymce/src/plugins/autoresize/main/ts/Plugin.ts
index bea1585f5..dad394b5e 100644
--- a/tools-ng/tinymce/editor/src/plugins/autoresize/main/ts/Plugin.ts
+++ b/tools-ng/tinymce/src/plugins/autoresize/main/ts/Plugin.ts
@@ -1,11 +1,8 @@
/**
- * Plugin.js
- *
- * Released under LGPL License.
- * Copyright (c) 1999-2017 Ephox Corp. All rights reserved
- *
- * License: http://www.tinymce.com/license
- * Contributing: http://www.tinymce.com/contributing
+ * Copyright (c) Tiny Technologies, Inc. All rights reserved.
+ * Licensed under the LGPL or a commercial license.
+ * For LGPL see License.txt in the project root for license information.
+ * For commercial licenses see https://www.tiny.cloud/
*/
import { Cell } from '@ephox/katamari';
diff --git a/tools-ng/tinymce/src/plugins/autoresize/main/ts/api/Commands.ts b/tools-ng/tinymce/src/plugins/autoresize/main/ts/api/Commands.ts
new file mode 100644
index 000000000..3d5ff6928
--- /dev/null
+++ b/tools-ng/tinymce/src/plugins/autoresize/main/ts/api/Commands.ts
@@ -0,0 +1,18 @@
+/**
+ * Copyright (c) Tiny Technologies, Inc. All rights reserved.
+ * Licensed under the LGPL or a commercial license.
+ * For LGPL see License.txt in the project root for license information.
+ * For commercial licenses see https://www.tiny.cloud/
+ */
+
+import Resize from '../core/Resize';
+
+const register = function (editor, oldSize) {
+ editor.addCommand('mceAutoResize', function () {
+ Resize.resize(editor, oldSize);
+ });
+};
+
+export default {
+ register
+};
\ No newline at end of file
diff --git a/tools-ng/tinymce/editor/src/plugins/autoresize/main/ts/api/Settings.ts b/tools-ng/tinymce/src/plugins/autoresize/main/ts/api/Settings.ts
similarity index 76%
rename from tools-ng/tinymce/editor/src/plugins/autoresize/main/ts/api/Settings.ts
rename to tools-ng/tinymce/src/plugins/autoresize/main/ts/api/Settings.ts
index 41906641f..2ed5ac3ed 100644
--- a/tools-ng/tinymce/editor/src/plugins/autoresize/main/ts/api/Settings.ts
+++ b/tools-ng/tinymce/src/plugins/autoresize/main/ts/api/Settings.ts
@@ -1,11 +1,8 @@
/**
- * Settings.js
- *
- * Released under LGPL License.
- * Copyright (c) 1999-2017 Ephox Corp. All rights reserved
- *
- * License: http://www.tinymce.com/license
- * Contributing: http://www.tinymce.com/contributing
+ * Copyright (c) Tiny Technologies, Inc. All rights reserved.
+ * Licensed under the LGPL or a commercial license.
+ * For LGPL see License.txt in the project root for license information.
+ * For commercial licenses see https://www.tiny.cloud/
*/
const getAutoResizeMinHeight = function (editor) {
diff --git a/tools-ng/tinymce/editor/src/plugins/autoresize/main/ts/core/Resize.ts b/tools-ng/tinymce/src/plugins/autoresize/main/ts/core/Resize.ts
similarity index 94%
rename from tools-ng/tinymce/editor/src/plugins/autoresize/main/ts/core/Resize.ts
rename to tools-ng/tinymce/src/plugins/autoresize/main/ts/core/Resize.ts
index 41a9c4fe8..e61997ab2 100644
--- a/tools-ng/tinymce/editor/src/plugins/autoresize/main/ts/core/Resize.ts
+++ b/tools-ng/tinymce/src/plugins/autoresize/main/ts/core/Resize.ts
@@ -1,11 +1,8 @@
/**
- * Plugin.js
- *
- * Released under LGPL License.
- * Copyright (c) 1999-2017 Ephox Corp. All rights reserved
- *
- * License: http://www.tinymce.com/license
- * Contributing: http://www.tinymce.com/contributing
+ * Copyright (c) Tiny Technologies, Inc. All rights reserved.
+ * Licensed under the LGPL or a commercial license.
+ * For LGPL see License.txt in the project root for license information.
+ * For commercial licenses see https://www.tiny.cloud/
*/
import Env from 'tinymce/core/api/Env';
diff --git a/tools-ng/tinymce/editor/src/plugins/autoresize/test/ts/browser/AutoresizePluginTest.ts b/tools-ng/tinymce/src/plugins/autoresize/test/ts/browser/AutoresizePluginTest.ts
similarity index 100%
rename from tools-ng/tinymce/editor/src/plugins/autoresize/test/ts/browser/AutoresizePluginTest.ts
rename to tools-ng/tinymce/src/plugins/autoresize/test/ts/browser/AutoresizePluginTest.ts
diff --git a/tools-ng/tinymce/editor/src/plugins/autosave/demo/html/demo.html b/tools-ng/tinymce/src/plugins/autosave/demo/html/demo.html
similarity index 100%
rename from tools-ng/tinymce/editor/src/plugins/autosave/demo/html/demo.html
rename to tools-ng/tinymce/src/plugins/autosave/demo/html/demo.html
diff --git a/tools-ng/tinymce/editor/src/plugins/autosave/demo/ts/demo/Demo.ts b/tools-ng/tinymce/src/plugins/autosave/demo/ts/demo/Demo.ts
similarity index 100%
rename from tools-ng/tinymce/editor/src/plugins/autosave/demo/ts/demo/Demo.ts
rename to tools-ng/tinymce/src/plugins/autosave/demo/ts/demo/Demo.ts
diff --git a/tools-ng/tinymce/editor/src/plugins/autosave/main/ts/Plugin.ts b/tools-ng/tinymce/src/plugins/autosave/main/ts/Plugin.ts
similarity index 78%
rename from tools-ng/tinymce/editor/src/plugins/autosave/main/ts/Plugin.ts
rename to tools-ng/tinymce/src/plugins/autosave/main/ts/Plugin.ts
index d92c068cc..51b85cfdb 100644
--- a/tools-ng/tinymce/editor/src/plugins/autosave/main/ts/Plugin.ts
+++ b/tools-ng/tinymce/src/plugins/autosave/main/ts/Plugin.ts
@@ -1,11 +1,8 @@
/**
- * Plugin.js
- *
- * Released under LGPL License.
- * Copyright (c) 1999-2017 Ephox Corp. All rights reserved
- *
- * License: http://www.tinymce.com/license
- * Contributing: http://www.tinymce.com/contributing
+ * Copyright (c) Tiny Technologies, Inc. All rights reserved.
+ * Licensed under the LGPL or a commercial license.
+ * For LGPL see License.txt in the project root for license information.
+ * For commercial licenses see https://www.tiny.cloud/
*/
import { Cell } from '@ephox/katamari';
diff --git a/tools-ng/tinymce/editor/src/plugins/autosave/main/ts/api/Api.ts b/tools-ng/tinymce/src/plugins/autosave/main/ts/api/Api.ts
similarity index 64%
rename from tools-ng/tinymce/editor/src/plugins/autosave/main/ts/api/Api.ts
rename to tools-ng/tinymce/src/plugins/autosave/main/ts/api/Api.ts
index bd206466d..2bad3399f 100644
--- a/tools-ng/tinymce/editor/src/plugins/autosave/main/ts/api/Api.ts
+++ b/tools-ng/tinymce/src/plugins/autosave/main/ts/api/Api.ts
@@ -1,11 +1,8 @@
/**
- * Api.js
- *
- * Released under LGPL License.
- * Copyright (c) 1999-2017 Ephox Corp. All rights reserved
- *
- * License: http://www.tinymce.com/license
- * Contributing: http://www.tinymce.com/contributing
+ * Copyright (c) Tiny Technologies, Inc. All rights reserved.
+ * Licensed under the LGPL or a commercial license.
+ * For LGPL see License.txt in the project root for license information.
+ * For commercial licenses see https://www.tiny.cloud/
*/
import * as Storage from '../core/Storage';
diff --git a/tools-ng/tinymce/editor/src/plugins/autosave/main/ts/api/Events.ts b/tools-ng/tinymce/src/plugins/autosave/main/ts/api/Events.ts
similarity index 56%
rename from tools-ng/tinymce/editor/src/plugins/autosave/main/ts/api/Events.ts
rename to tools-ng/tinymce/src/plugins/autosave/main/ts/api/Events.ts
index 6aadb4198..8b5eb133d 100644
--- a/tools-ng/tinymce/editor/src/plugins/autosave/main/ts/api/Events.ts
+++ b/tools-ng/tinymce/src/plugins/autosave/main/ts/api/Events.ts
@@ -1,11 +1,8 @@
/**
- * Events.js
- *
- * Released under LGPL License.
- * Copyright (c) 1999-2017 Ephox Corp. All rights reserved
- *
- * License: http://www.tinymce.com/license
- * Contributing: http://www.tinymce.com/contributing
+ * Copyright (c) Tiny Technologies, Inc. All rights reserved.
+ * Licensed under the LGPL or a commercial license.
+ * For LGPL see License.txt in the project root for license information.
+ * For commercial licenses see https://www.tiny.cloud/
*/
const fireRestoreDraft = (editor) => {
diff --git a/tools-ng/tinymce/editor/src/plugins/autosave/main/ts/api/Settings.ts b/tools-ng/tinymce/src/plugins/autosave/main/ts/api/Settings.ts
similarity index 81%
rename from tools-ng/tinymce/editor/src/plugins/autosave/main/ts/api/Settings.ts
rename to tools-ng/tinymce/src/plugins/autosave/main/ts/api/Settings.ts
index 17ccb46cd..6e19880e6 100644
--- a/tools-ng/tinymce/editor/src/plugins/autosave/main/ts/api/Settings.ts
+++ b/tools-ng/tinymce/src/plugins/autosave/main/ts/api/Settings.ts
@@ -1,11 +1,8 @@
/**
- * Settings.js
- *
- * Released under LGPL License.
- * Copyright (c) 1999-2017 Ephox Corp. All rights reserved
- *
- * License: http://www.tinymce.com/license
- * Contributing: http://www.tinymce.com/contributing
+ * Copyright (c) Tiny Technologies, Inc. All rights reserved.
+ * Licensed under the LGPL or a commercial license.
+ * For LGPL see License.txt in the project root for license information.
+ * For commercial licenses see https://www.tiny.cloud/
*/
import * as Time from '../core/Time';
diff --git a/tools-ng/tinymce/editor/src/plugins/autosave/main/ts/core/BeforeUnload.ts b/tools-ng/tinymce/src/plugins/autosave/main/ts/core/BeforeUnload.ts
similarity index 77%
rename from tools-ng/tinymce/editor/src/plugins/autosave/main/ts/core/BeforeUnload.ts
rename to tools-ng/tinymce/src/plugins/autosave/main/ts/core/BeforeUnload.ts
index 2f8226fea..feedab0ff 100644
--- a/tools-ng/tinymce/editor/src/plugins/autosave/main/ts/core/BeforeUnload.ts
+++ b/tools-ng/tinymce/src/plugins/autosave/main/ts/core/BeforeUnload.ts
@@ -1,11 +1,8 @@
/**
- * BeforeUnload.js
- *
- * Released under LGPL License.
- * Copyright (c) 1999-2017 Ephox Corp. All rights reserved
- *
- * License: http://www.tinymce.com/license
- * Contributing: http://www.tinymce.com/contributing
+ * Copyright (c) Tiny Technologies, Inc. All rights reserved.
+ * Licensed under the LGPL or a commercial license.
+ * For LGPL see License.txt in the project root for license information.
+ * For commercial licenses see https://www.tiny.cloud/
*/
import EditorManager from 'tinymce/core/api/EditorManager';
diff --git a/tools-ng/tinymce/editor/src/plugins/autosave/main/ts/core/Storage.ts b/tools-ng/tinymce/src/plugins/autosave/main/ts/core/Storage.ts
similarity index 90%
rename from tools-ng/tinymce/editor/src/plugins/autosave/main/ts/core/Storage.ts
rename to tools-ng/tinymce/src/plugins/autosave/main/ts/core/Storage.ts
index b57072250..669b8c03d 100644
--- a/tools-ng/tinymce/editor/src/plugins/autosave/main/ts/core/Storage.ts
+++ b/tools-ng/tinymce/src/plugins/autosave/main/ts/core/Storage.ts
@@ -1,11 +1,8 @@
/**
- * Storage.js
- *
- * Released under LGPL License.
- * Copyright (c) 1999-2017 Ephox Corp. All rights reserved
- *
- * License: http://www.tinymce.com/license
- * Contributing: http://www.tinymce.com/contributing
+ * Copyright (c) Tiny Technologies, Inc. All rights reserved.
+ * Licensed under the LGPL or a commercial license.
+ * For LGPL see License.txt in the project root for license information.
+ * For commercial licenses see https://www.tiny.cloud/
*/
import LocalStorage from 'tinymce/core/api/util/LocalStorage';
diff --git a/tools-ng/tinymce/editor/src/plugins/autosave/main/ts/core/Time.ts b/tools-ng/tinymce/src/plugins/autosave/main/ts/core/Time.ts
similarity index 57%
rename from tools-ng/tinymce/editor/src/plugins/autosave/main/ts/core/Time.ts
rename to tools-ng/tinymce/src/plugins/autosave/main/ts/core/Time.ts
index c0200b1f8..26d63df13 100644
--- a/tools-ng/tinymce/editor/src/plugins/autosave/main/ts/core/Time.ts
+++ b/tools-ng/tinymce/src/plugins/autosave/main/ts/core/Time.ts
@@ -1,11 +1,8 @@
/**
- * Time.js
- *
- * Released under LGPL License.
- * Copyright (c) 1999-2017 Ephox Corp. All rights reserved
- *
- * License: http://www.tinymce.com/license
- * Contributing: http://www.tinymce.com/contributing
+ * Copyright (c) Tiny Technologies, Inc. All rights reserved.
+ * Licensed under the LGPL or a commercial license.
+ * For LGPL see License.txt in the project root for license information.
+ * For commercial licenses see https://www.tiny.cloud/
*/
const parse = (timeString: string, defaultTime: string) => {
diff --git a/tools-ng/tinymce/editor/src/plugins/autosave/main/ts/ui/Buttons.ts b/tools-ng/tinymce/src/plugins/autosave/main/ts/ui/Buttons.ts
similarity index 82%
rename from tools-ng/tinymce/editor/src/plugins/autosave/main/ts/ui/Buttons.ts
rename to tools-ng/tinymce/src/plugins/autosave/main/ts/ui/Buttons.ts
index 313d61817..f5ca4d03d 100644
--- a/tools-ng/tinymce/editor/src/plugins/autosave/main/ts/ui/Buttons.ts
+++ b/tools-ng/tinymce/src/plugins/autosave/main/ts/ui/Buttons.ts
@@ -1,11 +1,8 @@
/**
- * Buttons.js
- *
- * Released under LGPL License.
- * Copyright (c) 1999-2017 Ephox Corp. All rights reserved
- *
- * License: http://www.tinymce.com/license
- * Contributing: http://www.tinymce.com/contributing
+ * Copyright (c) Tiny Technologies, Inc. All rights reserved.
+ * Licensed under the LGPL or a commercial license.
+ * For LGPL see License.txt in the project root for license information.
+ * For commercial licenses see https://www.tiny.cloud/
*/
import * as Storage from '../core/Storage';
diff --git a/tools-ng/tinymce/editor/src/plugins/autosave/test/ts/browser/AutoSavePluginTest.ts b/tools-ng/tinymce/src/plugins/autosave/test/ts/browser/AutoSavePluginTest.ts
similarity index 100%
rename from tools-ng/tinymce/editor/src/plugins/autosave/test/ts/browser/AutoSavePluginTest.ts
rename to tools-ng/tinymce/src/plugins/autosave/test/ts/browser/AutoSavePluginTest.ts
diff --git a/tools-ng/tinymce/editor/src/plugins/autosave/test/ts/browser/ShouldRestoreWhenEmptyTest.ts b/tools-ng/tinymce/src/plugins/autosave/test/ts/browser/ShouldRestoreWhenEmptyTest.ts
similarity index 100%
rename from tools-ng/tinymce/editor/src/plugins/autosave/test/ts/browser/ShouldRestoreWhenEmptyTest.ts
rename to tools-ng/tinymce/src/plugins/autosave/test/ts/browser/ShouldRestoreWhenEmptyTest.ts
diff --git a/tools-ng/tinymce/editor/src/plugins/bbcode/demo/html/demo.html b/tools-ng/tinymce/src/plugins/bbcode/demo/html/demo.html
similarity index 100%
rename from tools-ng/tinymce/editor/src/plugins/bbcode/demo/html/demo.html
rename to tools-ng/tinymce/src/plugins/bbcode/demo/html/demo.html
diff --git a/tools-ng/tinymce/editor/src/plugins/bbcode/demo/ts/demo/Demo.ts b/tools-ng/tinymce/src/plugins/bbcode/demo/ts/demo/Demo.ts
similarity index 100%
rename from tools-ng/tinymce/editor/src/plugins/bbcode/demo/ts/demo/Demo.ts
rename to tools-ng/tinymce/src/plugins/bbcode/demo/ts/demo/Demo.ts
diff --git a/tools-ng/tinymce/editor/src/plugins/bbcode/main/ts/Plugin.ts b/tools-ng/tinymce/src/plugins/bbcode/main/ts/Plugin.ts
similarity index 70%
rename from tools-ng/tinymce/editor/src/plugins/bbcode/main/ts/Plugin.ts
rename to tools-ng/tinymce/src/plugins/bbcode/main/ts/Plugin.ts
index 9f4b25b9f..35c62031b 100644
--- a/tools-ng/tinymce/editor/src/plugins/bbcode/main/ts/Plugin.ts
+++ b/tools-ng/tinymce/src/plugins/bbcode/main/ts/Plugin.ts
@@ -1,11 +1,8 @@
/**
- * Plugin.js
- *
- * Released under LGPL License.
- * Copyright (c) 1999-2017 Ephox Corp. All rights reserved
- *
- * License: http://www.tinymce.com/license
- * Contributing: http://www.tinymce.com/contributing
+ * Copyright (c) Tiny Technologies, Inc. All rights reserved.
+ * Licensed under the LGPL or a commercial license.
+ * For LGPL see License.txt in the project root for license information.
+ * For commercial licenses see https://www.tiny.cloud/
*/
import PluginManager from 'tinymce/core/api/PluginManager';
diff --git a/tools-ng/tinymce/src/plugins/bbcode/main/ts/api/Settings.ts b/tools-ng/tinymce/src/plugins/bbcode/main/ts/api/Settings.ts
new file mode 100644
index 000000000..7869eefee
--- /dev/null
+++ b/tools-ng/tinymce/src/plugins/bbcode/main/ts/api/Settings.ts
@@ -0,0 +1,15 @@
+/**
+ * Copyright (c) Tiny Technologies, Inc. All rights reserved.
+ * Licensed under the LGPL or a commercial license.
+ * For LGPL see License.txt in the project root for license information.
+ * For commercial licenses see https://www.tiny.cloud/
+ */
+
+const getDialect = function (editor) {
+ // Note: This option isn't even used since we only support one dialect
+ return editor.getParam('bbcode_dialect', 'punbb').toLowerCase();
+};
+
+export default {
+ getDialect
+};
\ No newline at end of file
diff --git a/tools-ng/tinymce/editor/src/plugins/bbcode/main/ts/core/Convert.ts b/tools-ng/tinymce/src/plugins/bbcode/main/ts/core/Convert.ts
similarity index 92%
rename from tools-ng/tinymce/editor/src/plugins/bbcode/main/ts/core/Convert.ts
rename to tools-ng/tinymce/src/plugins/bbcode/main/ts/core/Convert.ts
index b0f2ff478..c8adb7467 100644
--- a/tools-ng/tinymce/editor/src/plugins/bbcode/main/ts/core/Convert.ts
+++ b/tools-ng/tinymce/src/plugins/bbcode/main/ts/core/Convert.ts
@@ -1,11 +1,8 @@
/**
- * Convert.js
- *
- * Released under LGPL License.
- * Copyright (c) 1999-2017 Ephox Corp. All rights reserved
- *
- * License: http://www.tinymce.com/license
- * Contributing: http://www.tinymce.com/contributing
+ * Copyright (c) Tiny Technologies, Inc. All rights reserved.
+ * Licensed under the LGPL or a commercial license.
+ * For LGPL see License.txt in the project root for license information.
+ * For commercial licenses see https://www.tiny.cloud/
*/
import Tools from 'tinymce/core/api/util/Tools';
diff --git a/tools-ng/tinymce/editor/src/plugins/bbcode/test/ts/browser/BbcodeSanityTest.ts b/tools-ng/tinymce/src/plugins/bbcode/test/ts/browser/BbcodeSanityTest.ts
similarity index 100%
rename from tools-ng/tinymce/editor/src/plugins/bbcode/test/ts/browser/BbcodeSanityTest.ts
rename to tools-ng/tinymce/src/plugins/bbcode/test/ts/browser/BbcodeSanityTest.ts
diff --git a/tools-ng/tinymce/src/plugins/ccmcmsimages/main/ts/Dialog.ts b/tools-ng/tinymce/src/plugins/ccmcmsimages/main/ts/Dialog.ts
new file mode 100644
index 000000000..f4d041f3d
--- /dev/null
+++ b/tools-ng/tinymce/src/plugins/ccmcmsimages/main/ts/Dialog.ts
@@ -0,0 +1,305 @@
+declare var tinymce: any;
+declare var window: any;
+
+export default function (editor) {
+ function getImageData(editor) {
+ const elem = editor.selection.getNode();
+ const imgDiv = editor.dom.getParent(elem, 'div.image');
+ const img = editor.dom.select('img', imgDiv)[0];
+ if (imgDiv != null) {
+ const imageData = {
+ file: img.getAttribute('src'),
+ width: img.getAttribute('width').slice(0, -2),
+ height: img.getAttribute('height').slice(0, -2),
+ alt: img.getAttribute('alt'),
+ align: imgDiv.classList[1],
+ fancy: imgDiv.childNodes[0].classList[0].slice(0, -1),
+ title: imgDiv.childNodes[0].title,
+ caption: imgDiv.childNodes[1].localName === 'span',
+ parent: imgDiv
+ };
+ return imageData;
+ } else {
+ return null;
+ }
+ }
+
+ function open() {
+ const imageData = getImageData(editor);
+ let image_name = '';
+
+ // ================== File Chooser ====================
+ const fileChooseContainer = new tinymce.ui.Container({
+ type: 'container',
+ layout: 'flex',
+ direction: 'row',
+ align: 'center',
+ padding: 5,
+ spacing: 15,
+ margin: 5
+ });
+
+ const imagePathTextBox = new tinymce.ui.TextBox({
+ name: 'file',
+ label: 'File:',
+ disabled: true
+ });
+
+ fileChooseContainer.add(imagePathTextBox);
+
+ const browseButton = new tinymce.ui.Button({
+ name: 'browse_images',
+ text: 'Browse Images',
+ onclick() {
+ const baseURL = window.location.href;
+ const offset = baseURL.lastIndexOf('/');
+ const destURL = baseURL.slice(0, offset + 1) + 'image_select.jsp';
+ window.open(
+ destURL,
+ '_blank',
+ 'scrollbars=yes,directories=no,toolbar=no,width=800,height=600,status=no,menubar=no'
+ );
+ ( window).openCCM = new Object();
+ ( window).openCCM.imageSet = (selectedImage) => {
+ imagePathTextBox.text(selectedImage.src);
+ win
+ .find('#file')
+ .value(selectedImage.src)
+ .fire('change');
+ win
+ .find('#width')
+ .value(selectedImage.width)
+ .fire('change');
+ win
+ .find('#height')
+ .value(selectedImage.height)
+ .fire('change');
+ image_name = selectedImage.name;
+ return true;
+ };
+ }
+ });
+ fileChooseContainer.add(browseButton);
+ // ================== File Chooser ====================
+
+ // ================== Alternate Text ==================
+ const alternateTextBox = new tinymce.ui.TextBox({
+ name: 'alternate',
+ label: 'Alternate:'
+ });
+ // ================== Alternate Text ==================
+
+ // ================== Title Text ======================
+ const titleTextBox = new tinymce.ui.TextBox({
+ name: 'title',
+ label: 'Title:'
+ });
+ // ================== Title Text ======================
+
+ // ================== Alignment =======================
+ const alignmentContainer = new tinymce.ui.Container({
+ type: 'container',
+ layout: 'flex',
+ direction: 'row'
+ });
+
+ const alginLabel = new tinymce.ui.Label({
+ text: 'Alignment:'
+ });
+
+ const alignListBox = new tinymce.ui.ListBox({
+ name: 'alignment',
+ values: [
+ { text: 'Not set', value: '' },
+ { text: 'Left', value: 'left' },
+ { text: 'Center', value: 'center' },
+ { text: 'Right', value: 'right' }
+ ]
+ });
+
+ alignmentContainer.add(alginLabel);
+ alignmentContainer.add(alignListBox);
+ // ================== Alignment =======================
+
+ // ================== Fancy Box =======================
+ const fancyBoxContainer = new tinymce.ui.Container({
+ type: 'container',
+ layout: 'flex',
+ direction: 'row'
+ });
+
+ const fancyBoxLabel = new tinymce.ui.Label({
+ text: 'Fancy Box:'
+ });
+
+ const fancyBoxListBox = new tinymce.ui.ListBox({
+ name: 'fancybox',
+ values: [
+ { text: 'None', value: '' },
+ { text: 'Zoom', value: 'imageZoom' },
+ { text: 'Gallery', value: 'imageGallery' }
+ ]
+ });
+
+ fancyBoxContainer.add(fancyBoxLabel);
+ fancyBoxContainer.add(fancyBoxListBox);
+ // ================== Fancy Box =======================
+
+ // ================== Caption =========================
+ const captionCheckBox = new tinymce.ui.Checkbox({
+ label: 'Caption:',
+ name: 'caption'
+ });
+ // ================== Caption =========================
+
+ // ================== Dimension Box ===================
+ const dimensionContainer = new tinymce.ui.Container({
+ label: 'Dimension',
+ layout: 'flex',
+ direction: 'row',
+ align: 'center',
+ padding: 5,
+ spacing: 15,
+ margin: 5
+ });
+
+ const widthTextBox = new tinymce.ui.TextBox({
+ name: 'width',
+ label: 'Width'
+ });
+
+ const heightTextBox = new tinymce.ui.TextBox({
+ name: 'height',
+ label: 'Height'
+ });
+
+ dimensionContainer.add(widthTextBox);
+ dimensionContainer.add({ type: 'label', text: 'X' });
+ dimensionContainer.add(heightTextBox);
+ // ================== Dimension Box ===================
+
+ const win = editor.windowManager.open({
+ title: 'Insert/Modify Image',
+ width: 800,
+ height: 600,
+ body: [
+ fileChooseContainer,
+ alternateTextBox,
+ titleTextBox,
+ alignmentContainer,
+ fancyBoxContainer,
+ captionCheckBox,
+ dimensionContainer
+ ],
+ onsubmit() {
+ const src = win.find('#file').value();
+ const alternate = win.find('#alternate').value();
+ const width = win.find('#width').value();
+ const height = win.find('#height').value();
+ const title = win.find('#title').value();
+ const alignment = win.find('#alignment').value();
+ const fancy_box = win.find('#fancybox').value();
+
+ if (src != null) {
+ const img =
+ ' ';
+
+ const fancy_box_wrap =
+ ' ' +
+ img +
+ ' ';
+ let span = '';
+ if (win.find('#caption').value()) {
+ span =
+ '' +
+ image_name +
+ ' ';
+ }
+ const img_div =
+ '' +
+ fancy_box_wrap +
+ span +
+ '
';
+ if (imageData != null) {
+ editor.dom.replace(
+ editor.dom.createFragment(img_div),
+ imageData.parent
+ );
+ } else {
+ editor.insertContent(img_div);
+ }
+ }
+ }
+ });
+ // ================== Fill with selection =============
+ if (imageData != null) {
+ win
+ .find('#file')
+ .value(imageData.file)
+ .fire('change');
+ win
+ .find('#alternate')
+ .value(imageData.alt)
+ .fire('change');
+ win
+ .find('#width')
+ .value(imageData.width)
+ .fire('change');
+ win
+ .find('#height')
+ .value(imageData.height)
+ .fire('change');
+ if (imageData.align !== undefined) {
+ win
+ .find('#alignment')
+ .value(imageData.align)
+ .fire('change');
+ }
+ if (imageData.fancy !== undefined) {
+ win
+ .find('#fancybox')
+ .value(imageData.fancy)
+ .fire('change');
+ }
+ win
+ .find('#title')
+ .value(imageData.title)
+ .fire('change');
+ win
+ .find('#caption')
+ .value(imageData.caption)
+ .fire('change');
+ }
+ // ================== Fill with selection =============
+ }
+
+ return {
+ open
+ };
+}
diff --git a/tools-ng/tinymce/src/plugins/ccmcmsimages/main/ts/Plugin.ts b/tools-ng/tinymce/src/plugins/ccmcmsimages/main/ts/Plugin.ts
new file mode 100644
index 000000000..f3296db58
--- /dev/null
+++ b/tools-ng/tinymce/src/plugins/ccmcmsimages/main/ts/Plugin.ts
@@ -0,0 +1,22 @@
+import PluginManager from 'tinymce/core/api/PluginManager';
+import Dialog from './Dialog';
+
+PluginManager.add('ccmcmsimages', function (editor) {
+ editor.addButton('ccm-cms-images-button', {
+ icon: 'image',
+ tooltip: 'Insert/Edit image',
+ onclick: Dialog(editor).open,
+ stateSelector: 'image'
+ });
+
+ editor.addMenuItem('ccm-cms-images-menu', {
+ icon: 'image',
+ text: 'Insert/Edit Images',
+ onclick: Dialog(editor).open,
+ stateSelector: 'image',
+ context: 'insert',
+ prependToContext: true
+ });
+});
+
+export default function () {}
diff --git a/tools-ng/tinymce/editor/src/plugins/charmap/demo/html/demo.html b/tools-ng/tinymce/src/plugins/charmap/demo/html/demo.html
similarity index 100%
rename from tools-ng/tinymce/editor/src/plugins/charmap/demo/html/demo.html
rename to tools-ng/tinymce/src/plugins/charmap/demo/html/demo.html
diff --git a/tools-ng/tinymce/editor/src/plugins/charmap/demo/ts/demo/Demo.ts b/tools-ng/tinymce/src/plugins/charmap/demo/ts/demo/Demo.ts
similarity index 100%
rename from tools-ng/tinymce/editor/src/plugins/charmap/demo/ts/demo/Demo.ts
rename to tools-ng/tinymce/src/plugins/charmap/demo/ts/demo/Demo.ts
diff --git a/tools-ng/tinymce/editor/src/plugins/charmap/main/ts/Plugin.ts b/tools-ng/tinymce/src/plugins/charmap/main/ts/Plugin.ts
similarity index 58%
rename from tools-ng/tinymce/editor/src/plugins/charmap/main/ts/Plugin.ts
rename to tools-ng/tinymce/src/plugins/charmap/main/ts/Plugin.ts
index 71f6dfdc8..58c19db00 100644
--- a/tools-ng/tinymce/editor/src/plugins/charmap/main/ts/Plugin.ts
+++ b/tools-ng/tinymce/src/plugins/charmap/main/ts/Plugin.ts
@@ -1,11 +1,8 @@
/**
- * Plugin.js
- *
- * Released under LGPL License.
- * Copyright (c) 1999-2017 Ephox Corp. All rights reserved
- *
- * License: http://www.tinymce.com/license
- * Contributing: http://www.tinymce.com/contributing
+ * Copyright (c) Tiny Technologies, Inc. All rights reserved.
+ * Licensed under the LGPL or a commercial license.
+ * For LGPL see License.txt in the project root for license information.
+ * For commercial licenses see https://www.tiny.cloud/
*/
import PluginManager from 'tinymce/core/api/PluginManager';
diff --git a/tools-ng/tinymce/editor/src/plugins/charmap/main/ts/api/Api.ts b/tools-ng/tinymce/src/plugins/charmap/main/ts/api/Api.ts
similarity index 59%
rename from tools-ng/tinymce/editor/src/plugins/charmap/main/ts/api/Api.ts
rename to tools-ng/tinymce/src/plugins/charmap/main/ts/api/Api.ts
index 9806eb38a..91b6ef8c2 100644
--- a/tools-ng/tinymce/editor/src/plugins/charmap/main/ts/api/Api.ts
+++ b/tools-ng/tinymce/src/plugins/charmap/main/ts/api/Api.ts
@@ -1,11 +1,8 @@
/**
- * Api.js
- *
- * Released under LGPL License.
- * Copyright (c) 1999-2017 Ephox Corp. All rights reserved
- *
- * License: http://www.tinymce.com/license
- * Contributing: http://www.tinymce.com/contributing
+ * Copyright (c) Tiny Technologies, Inc. All rights reserved.
+ * Licensed under the LGPL or a commercial license.
+ * For LGPL see License.txt in the project root for license information.
+ * For commercial licenses see https://www.tiny.cloud/
*/
import Actions from '../core/Actions';
diff --git a/tools-ng/tinymce/src/plugins/charmap/main/ts/api/Commands.ts b/tools-ng/tinymce/src/plugins/charmap/main/ts/api/Commands.ts
new file mode 100644
index 000000000..b854cae63
--- /dev/null
+++ b/tools-ng/tinymce/src/plugins/charmap/main/ts/api/Commands.ts
@@ -0,0 +1,18 @@
+/**
+ * Copyright (c) Tiny Technologies, Inc. All rights reserved.
+ * Licensed under the LGPL or a commercial license.
+ * For LGPL see License.txt in the project root for license information.
+ * For commercial licenses see https://www.tiny.cloud/
+ */
+
+import Dialog from '../ui/Dialog';
+
+const register = function (editor) {
+ editor.addCommand('mceShowCharmap', function () {
+ Dialog.open(editor);
+ });
+};
+
+export default {
+ register
+};
\ No newline at end of file
diff --git a/tools-ng/tinymce/src/plugins/charmap/main/ts/api/Events.ts b/tools-ng/tinymce/src/plugins/charmap/main/ts/api/Events.ts
new file mode 100644
index 000000000..159705eba
--- /dev/null
+++ b/tools-ng/tinymce/src/plugins/charmap/main/ts/api/Events.ts
@@ -0,0 +1,14 @@
+/**
+ * Copyright (c) Tiny Technologies, Inc. All rights reserved.
+ * Licensed under the LGPL or a commercial license.
+ * For LGPL see License.txt in the project root for license information.
+ * For commercial licenses see https://www.tiny.cloud/
+ */
+
+const fireInsertCustomChar = function (editor, chr) {
+ return editor.fire('insertCustomChar', { chr });
+};
+
+export default {
+ fireInsertCustomChar
+};
\ No newline at end of file
diff --git a/tools-ng/tinymce/src/plugins/charmap/main/ts/api/Settings.ts b/tools-ng/tinymce/src/plugins/charmap/main/ts/api/Settings.ts
new file mode 100644
index 000000000..cdceb559e
--- /dev/null
+++ b/tools-ng/tinymce/src/plugins/charmap/main/ts/api/Settings.ts
@@ -0,0 +1,19 @@
+/**
+ * Copyright (c) Tiny Technologies, Inc. All rights reserved.
+ * Licensed under the LGPL or a commercial license.
+ * For LGPL see License.txt in the project root for license information.
+ * For commercial licenses see https://www.tiny.cloud/
+ */
+
+const getCharMap = function (editor) {
+ return editor.settings.charmap;
+};
+
+const getCharMapAppend = function (editor) {
+ return editor.settings.charmap_append;
+};
+
+export default {
+ getCharMap,
+ getCharMapAppend
+};
\ No newline at end of file
diff --git a/tools-ng/tinymce/editor/src/plugins/charmap/main/ts/core/Actions.ts b/tools-ng/tinymce/src/plugins/charmap/main/ts/core/Actions.ts
similarity index 50%
rename from tools-ng/tinymce/editor/src/plugins/charmap/main/ts/core/Actions.ts
rename to tools-ng/tinymce/src/plugins/charmap/main/ts/core/Actions.ts
index b6ae3f932..5acf22935 100644
--- a/tools-ng/tinymce/editor/src/plugins/charmap/main/ts/core/Actions.ts
+++ b/tools-ng/tinymce/src/plugins/charmap/main/ts/core/Actions.ts
@@ -1,11 +1,8 @@
/**
- * Actions.js
- *
- * Released under LGPL License.
- * Copyright (c) 1999-2017 Ephox Corp. All rights reserved
- *
- * License: http://www.tinymce.com/license
- * Contributing: http://www.tinymce.com/contributing
+ * Copyright (c) Tiny Technologies, Inc. All rights reserved.
+ * Licensed under the LGPL or a commercial license.
+ * For LGPL see License.txt in the project root for license information.
+ * For commercial licenses see https://www.tiny.cloud/
*/
import Events from '../api/Events';
diff --git a/tools-ng/tinymce/editor/src/plugins/charmap/main/ts/core/CharMap.ts b/tools-ng/tinymce/src/plugins/charmap/main/ts/core/CharMap.ts
similarity index 97%
rename from tools-ng/tinymce/editor/src/plugins/charmap/main/ts/core/CharMap.ts
rename to tools-ng/tinymce/src/plugins/charmap/main/ts/core/CharMap.ts
index 15467c233..419215f72 100644
--- a/tools-ng/tinymce/editor/src/plugins/charmap/main/ts/core/CharMap.ts
+++ b/tools-ng/tinymce/src/plugins/charmap/main/ts/core/CharMap.ts
@@ -1,11 +1,8 @@
/**
- * CharMap.js
- *
- * Released under LGPL License.
- * Copyright (c) 1999-2017 Ephox Corp. All rights reserved
- *
- * License: http://www.tinymce.com/license
- * Contributing: http://www.tinymce.com/contributing
+ * Copyright (c) Tiny Technologies, Inc. All rights reserved.
+ * Licensed under the LGPL or a commercial license.
+ * For LGPL see License.txt in the project root for license information.
+ * For commercial licenses see https://www.tiny.cloud/
*/
import Tools from 'tinymce/core/api/util/Tools';
diff --git a/tools-ng/tinymce/editor/src/plugins/charmap/main/ts/ui/Buttons.ts b/tools-ng/tinymce/src/plugins/charmap/main/ts/ui/Buttons.ts
similarity index 58%
rename from tools-ng/tinymce/editor/src/plugins/charmap/main/ts/ui/Buttons.ts
rename to tools-ng/tinymce/src/plugins/charmap/main/ts/ui/Buttons.ts
index 93394e82b..1fc6847eb 100644
--- a/tools-ng/tinymce/editor/src/plugins/charmap/main/ts/ui/Buttons.ts
+++ b/tools-ng/tinymce/src/plugins/charmap/main/ts/ui/Buttons.ts
@@ -1,11 +1,8 @@
/**
- * Buttons.js
- *
- * Released under LGPL License.
- * Copyright (c) 1999-2017 Ephox Corp. All rights reserved
- *
- * License: http://www.tinymce.com/license
- * Contributing: http://www.tinymce.com/contributing
+ * Copyright (c) Tiny Technologies, Inc. All rights reserved.
+ * Licensed under the LGPL or a commercial license.
+ * For LGPL see License.txt in the project root for license information.
+ * For commercial licenses see https://www.tiny.cloud/
*/
const register = function (editor) {
diff --git a/tools-ng/tinymce/editor/src/plugins/charmap/main/ts/ui/Dialog.ts b/tools-ng/tinymce/src/plugins/charmap/main/ts/ui/Dialog.ts
similarity index 90%
rename from tools-ng/tinymce/editor/src/plugins/charmap/main/ts/ui/Dialog.ts
rename to tools-ng/tinymce/src/plugins/charmap/main/ts/ui/Dialog.ts
index 0f1a99ffc..be7baf582 100644
--- a/tools-ng/tinymce/editor/src/plugins/charmap/main/ts/ui/Dialog.ts
+++ b/tools-ng/tinymce/src/plugins/charmap/main/ts/ui/Dialog.ts
@@ -1,11 +1,8 @@
/**
- * Dialog.js
- *
- * Released under LGPL License.
- * Copyright (c) 1999-2017 Ephox Corp. All rights reserved
- *
- * License: http://www.tinymce.com/license
- * Contributing: http://www.tinymce.com/contributing
+ * Copyright (c) Tiny Technologies, Inc. All rights reserved.
+ * Licensed under the LGPL or a commercial license.
+ * For LGPL see License.txt in the project root for license information.
+ * For commercial licenses see https://www.tiny.cloud/
*/
import Actions from '../core/Actions';
diff --git a/tools-ng/tinymce/editor/src/plugins/charmap/main/ts/ui/GridHtml.ts b/tools-ng/tinymce/src/plugins/charmap/main/ts/ui/GridHtml.ts
similarity index 80%
rename from tools-ng/tinymce/editor/src/plugins/charmap/main/ts/ui/GridHtml.ts
rename to tools-ng/tinymce/src/plugins/charmap/main/ts/ui/GridHtml.ts
index 7e54b6f87..5601cba9d 100644
--- a/tools-ng/tinymce/editor/src/plugins/charmap/main/ts/ui/GridHtml.ts
+++ b/tools-ng/tinymce/src/plugins/charmap/main/ts/ui/GridHtml.ts
@@ -1,11 +1,8 @@
/**
- * GridHtml.js
- *
- * Released under LGPL License.
- * Copyright (c) 1999-2017 Ephox Corp. All rights reserved
- *
- * License: http://www.tinymce.com/license
- * Contributing: http://www.tinymce.com/contributing
+ * Copyright (c) Tiny Technologies, Inc. All rights reserved.
+ * Licensed under the LGPL or a commercial license.
+ * For LGPL see License.txt in the project root for license information.
+ * For commercial licenses see https://www.tiny.cloud/
*/
const getHtml = function (charmap) {
diff --git a/tools-ng/tinymce/editor/src/plugins/charmap/test/ts/browser/CharmapPluginTest.ts b/tools-ng/tinymce/src/plugins/charmap/test/ts/browser/CharmapPluginTest.ts
similarity index 100%
rename from tools-ng/tinymce/editor/src/plugins/charmap/test/ts/browser/CharmapPluginTest.ts
rename to tools-ng/tinymce/src/plugins/charmap/test/ts/browser/CharmapPluginTest.ts
diff --git a/tools-ng/tinymce/editor/src/plugins/charmap/test/ts/browser/InsertQuotationMarkTest.ts b/tools-ng/tinymce/src/plugins/charmap/test/ts/browser/InsertQuotationMarkTest.ts
similarity index 100%
rename from tools-ng/tinymce/editor/src/plugins/charmap/test/ts/browser/InsertQuotationMarkTest.ts
rename to tools-ng/tinymce/src/plugins/charmap/test/ts/browser/InsertQuotationMarkTest.ts
diff --git a/tools-ng/tinymce/editor/src/plugins/code/demo/html/demo.html b/tools-ng/tinymce/src/plugins/code/demo/html/demo.html
similarity index 100%
rename from tools-ng/tinymce/editor/src/plugins/code/demo/html/demo.html
rename to tools-ng/tinymce/src/plugins/code/demo/html/demo.html
diff --git a/tools-ng/tinymce/editor/src/plugins/code/demo/ts/demo/Demo.ts b/tools-ng/tinymce/src/plugins/code/demo/ts/demo/Demo.ts
similarity index 100%
rename from tools-ng/tinymce/editor/src/plugins/code/demo/ts/demo/Demo.ts
rename to tools-ng/tinymce/src/plugins/code/demo/ts/demo/Demo.ts
diff --git a/tools-ng/tinymce/editor/src/plugins/code/main/ts/Plugin.ts b/tools-ng/tinymce/src/plugins/code/main/ts/Plugin.ts
similarity index 55%
rename from tools-ng/tinymce/editor/src/plugins/code/main/ts/Plugin.ts
rename to tools-ng/tinymce/src/plugins/code/main/ts/Plugin.ts
index 1a570dbfe..b54fa26ed 100644
--- a/tools-ng/tinymce/editor/src/plugins/code/main/ts/Plugin.ts
+++ b/tools-ng/tinymce/src/plugins/code/main/ts/Plugin.ts
@@ -1,11 +1,8 @@
/**
- * Plugin.js
- *
- * Released under LGPL License.
- * Copyright (c) 1999-2017 Ephox Corp. All rights reserved
- *
- * License: http://www.tinymce.com/license
- * Contributing: http://www.tinymce.com/contributing
+ * Copyright (c) Tiny Technologies, Inc. All rights reserved.
+ * Licensed under the LGPL or a commercial license.
+ * For LGPL see License.txt in the project root for license information.
+ * For commercial licenses see https://www.tiny.cloud/
*/
import PluginManager from 'tinymce/core/api/PluginManager';
diff --git a/tools-ng/tinymce/src/plugins/code/main/ts/api/Commands.ts b/tools-ng/tinymce/src/plugins/code/main/ts/api/Commands.ts
new file mode 100644
index 000000000..0e6bad109
--- /dev/null
+++ b/tools-ng/tinymce/src/plugins/code/main/ts/api/Commands.ts
@@ -0,0 +1,18 @@
+/**
+ * Copyright (c) Tiny Technologies, Inc. All rights reserved.
+ * Licensed under the LGPL or a commercial license.
+ * For LGPL see License.txt in the project root for license information.
+ * For commercial licenses see https://www.tiny.cloud/
+ */
+
+import Dialog from '../ui/Dialog';
+
+const register = function (editor) {
+ editor.addCommand('mceCodeEditor', function () {
+ Dialog.open(editor);
+ });
+};
+
+export default {
+ register
+};
\ No newline at end of file
diff --git a/tools-ng/tinymce/editor/src/plugins/code/main/ts/api/Settings.ts b/tools-ng/tinymce/src/plugins/code/main/ts/api/Settings.ts
similarity index 59%
rename from tools-ng/tinymce/editor/src/plugins/code/main/ts/api/Settings.ts
rename to tools-ng/tinymce/src/plugins/code/main/ts/api/Settings.ts
index f3c7cc0ea..3ff6c210b 100644
--- a/tools-ng/tinymce/editor/src/plugins/code/main/ts/api/Settings.ts
+++ b/tools-ng/tinymce/src/plugins/code/main/ts/api/Settings.ts
@@ -1,11 +1,8 @@
/**
- * Settings.js
- *
- * Released under LGPL License.
- * Copyright (c) 1999-2017 Ephox Corp. All rights reserved
- *
- * License: http://www.tinymce.com/license
- * Contributing: http://www.tinymce.com/contributing
+ * Copyright (c) Tiny Technologies, Inc. All rights reserved.
+ * Licensed under the LGPL or a commercial license.
+ * For LGPL see License.txt in the project root for license information.
+ * For commercial licenses see https://www.tiny.cloud/
*/
import DOMUtils from 'tinymce/core/api/dom/DOMUtils';
diff --git a/tools-ng/tinymce/editor/src/plugins/code/main/ts/core/Content.ts b/tools-ng/tinymce/src/plugins/code/main/ts/core/Content.ts
similarity index 69%
rename from tools-ng/tinymce/editor/src/plugins/code/main/ts/core/Content.ts
rename to tools-ng/tinymce/src/plugins/code/main/ts/core/Content.ts
index 2efd1a841..b7bb201bd 100644
--- a/tools-ng/tinymce/editor/src/plugins/code/main/ts/core/Content.ts
+++ b/tools-ng/tinymce/src/plugins/code/main/ts/core/Content.ts
@@ -1,11 +1,8 @@
/**
- * Content.js
- *
- * Released under LGPL License.
- * Copyright (c) 1999-2017 Ephox Corp. All rights reserved
- *
- * License: http://www.tinymce.com/license
- * Contributing: http://www.tinymce.com/contributing
+ * Copyright (c) Tiny Technologies, Inc. All rights reserved.
+ * Licensed under the LGPL or a commercial license.
+ * For LGPL see License.txt in the project root for license information.
+ * For commercial licenses see https://www.tiny.cloud/
*/
const setContent = function (editor, html) {
diff --git a/tools-ng/tinymce/editor/src/plugins/code/main/ts/ui/Buttons.ts b/tools-ng/tinymce/src/plugins/code/main/ts/ui/Buttons.ts
similarity index 60%
rename from tools-ng/tinymce/editor/src/plugins/code/main/ts/ui/Buttons.ts
rename to tools-ng/tinymce/src/plugins/code/main/ts/ui/Buttons.ts
index b1775076d..af8d08c8f 100644
--- a/tools-ng/tinymce/editor/src/plugins/code/main/ts/ui/Buttons.ts
+++ b/tools-ng/tinymce/src/plugins/code/main/ts/ui/Buttons.ts
@@ -1,11 +1,8 @@
/**
- * Buttons.js
- *
- * Released under LGPL License.
- * Copyright (c) 1999-2017 Ephox Corp. All rights reserved
- *
- * License: http://www.tinymce.com/license
- * Contributing: http://www.tinymce.com/contributing
+ * Copyright (c) Tiny Technologies, Inc. All rights reserved.
+ * Licensed under the LGPL or a commercial license.
+ * For LGPL see License.txt in the project root for license information.
+ * For commercial licenses see https://www.tiny.cloud/
*/
import Dialog from './Dialog';
diff --git a/tools-ng/tinymce/editor/src/plugins/code/main/ts/ui/Dialog.ts b/tools-ng/tinymce/src/plugins/code/main/ts/ui/Dialog.ts
similarity index 75%
rename from tools-ng/tinymce/editor/src/plugins/code/main/ts/ui/Dialog.ts
rename to tools-ng/tinymce/src/plugins/code/main/ts/ui/Dialog.ts
index 646215044..06b04bbbf 100644
--- a/tools-ng/tinymce/editor/src/plugins/code/main/ts/ui/Dialog.ts
+++ b/tools-ng/tinymce/src/plugins/code/main/ts/ui/Dialog.ts
@@ -1,11 +1,8 @@
/**
- * Dialog.js
- *
- * Released under LGPL License.
- * Copyright (c) 1999-2017 Ephox Corp. All rights reserved
- *
- * License: http://www.tinymce.com/license
- * Contributing: http://www.tinymce.com/contributing
+ * Copyright (c) Tiny Technologies, Inc. All rights reserved.
+ * Licensed under the LGPL or a commercial license.
+ * For LGPL see License.txt in the project root for license information.
+ * For commercial licenses see https://www.tiny.cloud/
*/
import Settings from '../api/Settings';
diff --git a/tools-ng/tinymce/editor/src/plugins/code/test/ts/browser/CodeSanityTest.ts b/tools-ng/tinymce/src/plugins/code/test/ts/browser/CodeSanityTest.ts
similarity index 100%
rename from tools-ng/tinymce/editor/src/plugins/code/test/ts/browser/CodeSanityTest.ts
rename to tools-ng/tinymce/src/plugins/code/test/ts/browser/CodeSanityTest.ts
diff --git a/tools-ng/tinymce/editor/src/plugins/codesample/demo/html/demo.html b/tools-ng/tinymce/src/plugins/codesample/demo/html/demo.html
similarity index 100%
rename from tools-ng/tinymce/editor/src/plugins/codesample/demo/html/demo.html
rename to tools-ng/tinymce/src/plugins/codesample/demo/html/demo.html
diff --git a/tools-ng/tinymce/editor/src/plugins/codesample/demo/ts/demo/Demo.ts b/tools-ng/tinymce/src/plugins/codesample/demo/ts/demo/Demo.ts
similarity index 100%
rename from tools-ng/tinymce/editor/src/plugins/codesample/demo/ts/demo/Demo.ts
rename to tools-ng/tinymce/src/plugins/codesample/demo/ts/demo/Demo.ts
diff --git a/tools-ng/tinymce/editor/src/plugins/codesample/main/css/prism.css b/tools-ng/tinymce/src/plugins/codesample/main/css/prism.css
similarity index 100%
rename from tools-ng/tinymce/editor/src/plugins/codesample/main/css/prism.css
rename to tools-ng/tinymce/src/plugins/codesample/main/css/prism.css
diff --git a/tools-ng/tinymce/editor/src/plugins/codesample/main/ts/Plugin.ts b/tools-ng/tinymce/src/plugins/codesample/main/ts/Plugin.ts
similarity index 77%
rename from tools-ng/tinymce/editor/src/plugins/codesample/main/ts/Plugin.ts
rename to tools-ng/tinymce/src/plugins/codesample/main/ts/Plugin.ts
index 650cebd17..b47afa9be 100644
--- a/tools-ng/tinymce/editor/src/plugins/codesample/main/ts/Plugin.ts
+++ b/tools-ng/tinymce/src/plugins/codesample/main/ts/Plugin.ts
@@ -1,11 +1,8 @@
/**
- * Plugin.js
- *
- * Released under LGPL License.
- * Copyright (c) 1999-2017 Ephox Corp. All rights reserved
- *
- * License: http://www.tinymce.com/license
- * Contributing: http://www.tinymce.com/contributing
+ * Copyright (c) Tiny Technologies, Inc. All rights reserved.
+ * Licensed under the LGPL or a commercial license.
+ * For LGPL see License.txt in the project root for license information.
+ * For commercial licenses see https://www.tiny.cloud/
*/
import { Cell } from '@ephox/katamari';
diff --git a/tools-ng/tinymce/editor/src/plugins/codesample/main/ts/api/Commands.ts b/tools-ng/tinymce/src/plugins/codesample/main/ts/api/Commands.ts
similarity index 62%
rename from tools-ng/tinymce/editor/src/plugins/codesample/main/ts/api/Commands.ts
rename to tools-ng/tinymce/src/plugins/codesample/main/ts/api/Commands.ts
index 1c3b04c32..d1b2014a3 100644
--- a/tools-ng/tinymce/editor/src/plugins/codesample/main/ts/api/Commands.ts
+++ b/tools-ng/tinymce/src/plugins/codesample/main/ts/api/Commands.ts
@@ -1,11 +1,8 @@
/**
- * Commands.js
- *
- * Released under LGPL License.
- * Copyright (c) 1999-2017 Ephox Corp. All rights reserved
- *
- * License: http://www.tinymce.com/license
- * Contributing: http://www.tinymce.com/contributing
+ * Copyright (c) Tiny Technologies, Inc. All rights reserved.
+ * Licensed under the LGPL or a commercial license.
+ * For LGPL see License.txt in the project root for license information.
+ * For commercial licenses see https://www.tiny.cloud/
*/
import Dialog from '../ui/Dialog';
diff --git a/tools-ng/tinymce/editor/src/plugins/codesample/main/ts/api/Settings.ts b/tools-ng/tinymce/src/plugins/codesample/main/ts/api/Settings.ts
similarity index 72%
rename from tools-ng/tinymce/editor/src/plugins/codesample/main/ts/api/Settings.ts
rename to tools-ng/tinymce/src/plugins/codesample/main/ts/api/Settings.ts
index 47bf79fb4..67f9dceb7 100644
--- a/tools-ng/tinymce/editor/src/plugins/codesample/main/ts/api/Settings.ts
+++ b/tools-ng/tinymce/src/plugins/codesample/main/ts/api/Settings.ts
@@ -1,11 +1,8 @@
/**
- * Settings.js
- *
- * Released under LGPL License.
- * Copyright (c) 1999-2017 Ephox Corp. All rights reserved
- *
- * License: http://www.tinymce.com/license
- * Contributing: http://www.tinymce.com/contributing
+ * Copyright (c) Tiny Technologies, Inc. All rights reserved.
+ * Licensed under the LGPL or a commercial license.
+ * For LGPL see License.txt in the project root for license information.
+ * For commercial licenses see https://www.tiny.cloud/
*/
import DOMUtils from 'tinymce/core/api/dom/DOMUtils';
diff --git a/tools-ng/tinymce/editor/src/plugins/codesample/main/ts/core/CodeSample.ts b/tools-ng/tinymce/src/plugins/codesample/main/ts/core/CodeSample.ts
similarity index 82%
rename from tools-ng/tinymce/editor/src/plugins/codesample/main/ts/core/CodeSample.ts
rename to tools-ng/tinymce/src/plugins/codesample/main/ts/core/CodeSample.ts
index 2722dcf18..27a56b5db 100644
--- a/tools-ng/tinymce/editor/src/plugins/codesample/main/ts/core/CodeSample.ts
+++ b/tools-ng/tinymce/src/plugins/codesample/main/ts/core/CodeSample.ts
@@ -1,11 +1,8 @@
/**
- * CodeSample.js
- *
- * Released under LGPL License.
- * Copyright (c) 1999-2017 Ephox Corp. All rights reserved
- *
- * License: http://www.tinymce.com/license
- * Contributing: http://www.tinymce.com/contributing
+ * Copyright (c) Tiny Technologies, Inc. All rights reserved.
+ * Licensed under the LGPL or a commercial license.
+ * For LGPL see License.txt in the project root for license information.
+ * For commercial licenses see https://www.tiny.cloud/
*/
import DOMUtils from 'tinymce/core/api/dom/DOMUtils';
diff --git a/tools-ng/tinymce/editor/src/plugins/codesample/main/ts/core/FilterContent.ts b/tools-ng/tinymce/src/plugins/codesample/main/ts/core/FilterContent.ts
similarity index 85%
rename from tools-ng/tinymce/editor/src/plugins/codesample/main/ts/core/FilterContent.ts
rename to tools-ng/tinymce/src/plugins/codesample/main/ts/core/FilterContent.ts
index e869bbc8f..50356a96c 100644
--- a/tools-ng/tinymce/editor/src/plugins/codesample/main/ts/core/FilterContent.ts
+++ b/tools-ng/tinymce/src/plugins/codesample/main/ts/core/FilterContent.ts
@@ -1,11 +1,8 @@
/**
- * FilterContent.js
- *
- * Released under LGPL License.
- * Copyright (c) 1999-2017 Ephox Corp. All rights reserved
- *
- * License: http://www.tinymce.com/license
- * Contributing: http://www.tinymce.com/contributing
+ * Copyright (c) Tiny Technologies, Inc. All rights reserved.
+ * Licensed under the LGPL or a commercial license.
+ * For LGPL see License.txt in the project root for license information.
+ * For commercial licenses see https://www.tiny.cloud/
*/
import Prism from './Prism';
diff --git a/tools-ng/tinymce/editor/src/plugins/codesample/main/ts/core/Languages.ts b/tools-ng/tinymce/src/plugins/codesample/main/ts/core/Languages.ts
similarity index 80%
rename from tools-ng/tinymce/editor/src/plugins/codesample/main/ts/core/Languages.ts
rename to tools-ng/tinymce/src/plugins/codesample/main/ts/core/Languages.ts
index ebcc6f8f8..e18452677 100644
--- a/tools-ng/tinymce/editor/src/plugins/codesample/main/ts/core/Languages.ts
+++ b/tools-ng/tinymce/src/plugins/codesample/main/ts/core/Languages.ts
@@ -1,11 +1,8 @@
/**
- * Languages.js
- *
- * Released under LGPL License.
- * Copyright (c) 1999-2017 Ephox Corp. All rights reserved
- *
- * License: http://www.tinymce.com/license
- * Contributing: http://www.tinymce.com/contributing
+ * Copyright (c) Tiny Technologies, Inc. All rights reserved.
+ * Licensed under the LGPL or a commercial license.
+ * For LGPL see License.txt in the project root for license information.
+ * For commercial licenses see https://www.tiny.cloud/
*/
import Settings from '../api/Settings';
diff --git a/tools-ng/tinymce/editor/src/plugins/codesample/main/ts/core/LoadCss.ts b/tools-ng/tinymce/src/plugins/codesample/main/ts/core/LoadCss.ts
similarity index 75%
rename from tools-ng/tinymce/editor/src/plugins/codesample/main/ts/core/LoadCss.ts
rename to tools-ng/tinymce/src/plugins/codesample/main/ts/core/LoadCss.ts
index 9f358e773..e4d04c1b8 100644
--- a/tools-ng/tinymce/editor/src/plugins/codesample/main/ts/core/LoadCss.ts
+++ b/tools-ng/tinymce/src/plugins/codesample/main/ts/core/LoadCss.ts
@@ -1,11 +1,8 @@
/**
- * LoadCss.js
- *
- * Released under LGPL License.
- * Copyright (c) 1999-2017 Ephox Corp. All rights reserved
- *
- * License: http://www.tinymce.com/license
- * Contributing: http://www.tinymce.com/contributing
+ * Copyright (c) Tiny Technologies, Inc. All rights reserved.
+ * Licensed under the LGPL or a commercial license.
+ * For LGPL see License.txt in the project root for license information.
+ * For commercial licenses see https://www.tiny.cloud/
*/
import Settings from '../api/Settings';
diff --git a/tools-ng/tinymce/editor/src/plugins/codesample/main/ts/core/Prism.ts b/tools-ng/tinymce/src/plugins/codesample/main/ts/core/Prism.ts
similarity index 99%
rename from tools-ng/tinymce/editor/src/plugins/codesample/main/ts/core/Prism.ts
rename to tools-ng/tinymce/src/plugins/codesample/main/ts/core/Prism.ts
index a17d0bc46..7f61decd7 100644
--- a/tools-ng/tinymce/editor/src/plugins/codesample/main/ts/core/Prism.ts
+++ b/tools-ng/tinymce/src/plugins/codesample/main/ts/core/Prism.ts
@@ -1,13 +1,8 @@
/**
- * Prism.js
- *
- * Released under LGPL License.
- * Copyright (c) 1999-2017 Ephox Corp. All rights reserved
- *
- * License: http://www.tinymce.com/license
- * Contributing: http://www.tinymce.com/contributing
- *
- * Import of prism. Disabled DOMContentLoaded event listener.
+ * Copyright (c) Tiny Technologies, Inc. All rights reserved.
+ * Licensed under the LGPL or a commercial license.
+ * For LGPL see License.txt in the project root for license information.
+ * For commercial licenses see https://www.tiny.cloud/
*/
import { self, document, Worker } from '@ephox/dom-globals';
diff --git a/tools-ng/tinymce/editor/src/plugins/codesample/main/ts/ui/Buttons.ts b/tools-ng/tinymce/src/plugins/codesample/main/ts/ui/Buttons.ts
similarity index 55%
rename from tools-ng/tinymce/editor/src/plugins/codesample/main/ts/ui/Buttons.ts
rename to tools-ng/tinymce/src/plugins/codesample/main/ts/ui/Buttons.ts
index c074fcf24..c9b44c08c 100644
--- a/tools-ng/tinymce/editor/src/plugins/codesample/main/ts/ui/Buttons.ts
+++ b/tools-ng/tinymce/src/plugins/codesample/main/ts/ui/Buttons.ts
@@ -1,11 +1,8 @@
/**
- * Buttons.js
- *
- * Released under LGPL License.
- * Copyright (c) 1999-2017 Ephox Corp. All rights reserved
- *
- * License: http://www.tinymce.com/license
- * Contributing: http://www.tinymce.com/contributing
+ * Copyright (c) Tiny Technologies, Inc. All rights reserved.
+ * Licensed under the LGPL or a commercial license.
+ * For LGPL see License.txt in the project root for license information.
+ * For commercial licenses see https://www.tiny.cloud/
*/
const register = function (editor) {
diff --git a/tools-ng/tinymce/editor/src/plugins/codesample/main/ts/ui/Dialog.ts b/tools-ng/tinymce/src/plugins/codesample/main/ts/ui/Dialog.ts
similarity index 84%
rename from tools-ng/tinymce/editor/src/plugins/codesample/main/ts/ui/Dialog.ts
rename to tools-ng/tinymce/src/plugins/codesample/main/ts/ui/Dialog.ts
index 3f07b68ff..e13e627f8 100644
--- a/tools-ng/tinymce/editor/src/plugins/codesample/main/ts/ui/Dialog.ts
+++ b/tools-ng/tinymce/src/plugins/codesample/main/ts/ui/Dialog.ts
@@ -1,11 +1,8 @@
/**
- * Dialog.js
- *
- * Released under LGPL License.
- * Copyright (c) 1999-2017 Ephox Corp. All rights reserved
- *
- * License: http://www.tinymce.com/license
- * Contributing: http://www.tinymce.com/contributing
+ * Copyright (c) Tiny Technologies, Inc. All rights reserved.
+ * Licensed under the LGPL or a commercial license.
+ * For LGPL see License.txt in the project root for license information.
+ * For commercial licenses see https://www.tiny.cloud/
*/
import Settings from '../api/Settings';
diff --git a/tools-ng/tinymce/editor/src/plugins/codesample/main/ts/util/Utils.ts b/tools-ng/tinymce/src/plugins/codesample/main/ts/util/Utils.ts
similarity index 53%
rename from tools-ng/tinymce/editor/src/plugins/codesample/main/ts/util/Utils.ts
rename to tools-ng/tinymce/src/plugins/codesample/main/ts/util/Utils.ts
index df82e4bab..765bb1548 100644
--- a/tools-ng/tinymce/editor/src/plugins/codesample/main/ts/util/Utils.ts
+++ b/tools-ng/tinymce/src/plugins/codesample/main/ts/util/Utils.ts
@@ -1,11 +1,8 @@
/**
- * Utils.js
- *
- * Released under LGPL License.
- * Copyright (c) 1999-2017 Ephox Corp. All rights reserved
- *
- * License: http://www.tinymce.com/license
- * Contributing: http://www.tinymce.com/contributing
+ * Copyright (c) Tiny Technologies, Inc. All rights reserved.
+ * Licensed under the LGPL or a commercial license.
+ * For LGPL see License.txt in the project root for license information.
+ * For commercial licenses see https://www.tiny.cloud/
*/
function isCodeSample(elm) {
diff --git a/tools-ng/tinymce/editor/src/plugins/codesample/test/ts/browser/CodeSampleSanityTest.ts b/tools-ng/tinymce/src/plugins/codesample/test/ts/browser/CodeSampleSanityTest.ts
similarity index 100%
rename from tools-ng/tinymce/editor/src/plugins/codesample/test/ts/browser/CodeSampleSanityTest.ts
rename to tools-ng/tinymce/src/plugins/codesample/test/ts/browser/CodeSampleSanityTest.ts
diff --git a/tools-ng/tinymce/editor/src/plugins/codesample/test/ts/browser/DblClickCodesampleTest.ts b/tools-ng/tinymce/src/plugins/codesample/test/ts/browser/DblClickCodesampleTest.ts
similarity index 100%
rename from tools-ng/tinymce/editor/src/plugins/codesample/test/ts/browser/DblClickCodesampleTest.ts
rename to tools-ng/tinymce/src/plugins/codesample/test/ts/browser/DblClickCodesampleTest.ts
diff --git a/tools-ng/tinymce/editor/src/plugins/colorpicker/demo/html/demo.html b/tools-ng/tinymce/src/plugins/colorpicker/demo/html/demo.html
similarity index 100%
rename from tools-ng/tinymce/editor/src/plugins/colorpicker/demo/html/demo.html
rename to tools-ng/tinymce/src/plugins/colorpicker/demo/html/demo.html
diff --git a/tools-ng/tinymce/editor/src/plugins/colorpicker/demo/ts/demo/Demo.ts b/tools-ng/tinymce/src/plugins/colorpicker/demo/ts/demo/Demo.ts
similarity index 100%
rename from tools-ng/tinymce/editor/src/plugins/colorpicker/demo/ts/demo/Demo.ts
rename to tools-ng/tinymce/src/plugins/colorpicker/demo/ts/demo/Demo.ts
diff --git a/tools-ng/tinymce/editor/src/plugins/colorpicker/main/ts/Plugin.ts b/tools-ng/tinymce/src/plugins/colorpicker/main/ts/Plugin.ts
similarity index 60%
rename from tools-ng/tinymce/editor/src/plugins/colorpicker/main/ts/Plugin.ts
rename to tools-ng/tinymce/src/plugins/colorpicker/main/ts/Plugin.ts
index a90d40e69..edc67493d 100644
--- a/tools-ng/tinymce/editor/src/plugins/colorpicker/main/ts/Plugin.ts
+++ b/tools-ng/tinymce/src/plugins/colorpicker/main/ts/Plugin.ts
@@ -1,11 +1,8 @@
/**
- * Plugin.js
- *
- * Released under LGPL License.
- * Copyright (c) 1999-2017 Ephox Corp. All rights reserved
- *
- * License: http://www.tinymce.com/license
- * Contributing: http://www.tinymce.com/contributing
+ * Copyright (c) Tiny Technologies, Inc. All rights reserved.
+ * Licensed under the LGPL or a commercial license.
+ * For LGPL see License.txt in the project root for license information.
+ * For commercial licenses see https://www.tiny.cloud/
*/
import PluginManager from 'tinymce/core/api/PluginManager';
diff --git a/tools-ng/tinymce/editor/src/plugins/colorpicker/main/ts/ui/Dialog.ts b/tools-ng/tinymce/src/plugins/colorpicker/main/ts/ui/Dialog.ts
similarity index 90%
rename from tools-ng/tinymce/editor/src/plugins/colorpicker/main/ts/ui/Dialog.ts
rename to tools-ng/tinymce/src/plugins/colorpicker/main/ts/ui/Dialog.ts
index d0753018d..78e2908d3 100644
--- a/tools-ng/tinymce/editor/src/plugins/colorpicker/main/ts/ui/Dialog.ts
+++ b/tools-ng/tinymce/src/plugins/colorpicker/main/ts/ui/Dialog.ts
@@ -1,11 +1,8 @@
/**
- * Dialog.js
- *
- * Released under LGPL License.
- * Copyright (c) 1999-2017 Ephox Corp. All rights reserved
- *
- * License: http://www.tinymce.com/license
- * Contributing: http://www.tinymce.com/contributing
+ * Copyright (c) Tiny Technologies, Inc. All rights reserved.
+ * Licensed under the LGPL or a commercial license.
+ * For LGPL see License.txt in the project root for license information.
+ * For commercial licenses see https://www.tiny.cloud/
*/
import Color from 'tinymce/core/api/util/Color';
diff --git a/tools-ng/tinymce/editor/src/plugins/colorpicker/test/ts/browser/ColorPickerSanityTest.ts b/tools-ng/tinymce/src/plugins/colorpicker/test/ts/browser/ColorPickerSanityTest.ts
similarity index 100%
rename from tools-ng/tinymce/editor/src/plugins/colorpicker/test/ts/browser/ColorPickerSanityTest.ts
rename to tools-ng/tinymce/src/plugins/colorpicker/test/ts/browser/ColorPickerSanityTest.ts
diff --git a/tools-ng/tinymce/editor/src/plugins/compat3x/main/css/dialog.css b/tools-ng/tinymce/src/plugins/compat3x/main/css/dialog.css
similarity index 100%
rename from tools-ng/tinymce/editor/src/plugins/compat3x/main/css/dialog.css
rename to tools-ng/tinymce/src/plugins/compat3x/main/css/dialog.css
diff --git a/tools-ng/tinymce/editor/src/plugins/compat3x/main/img/buttons.png b/tools-ng/tinymce/src/plugins/compat3x/main/img/buttons.png
similarity index 100%
rename from tools-ng/tinymce/editor/src/plugins/compat3x/main/img/buttons.png
rename to tools-ng/tinymce/src/plugins/compat3x/main/img/buttons.png
diff --git a/tools-ng/tinymce/editor/src/plugins/compat3x/main/img/icons.gif b/tools-ng/tinymce/src/plugins/compat3x/main/img/icons.gif
similarity index 100%
rename from tools-ng/tinymce/editor/src/plugins/compat3x/main/img/icons.gif
rename to tools-ng/tinymce/src/plugins/compat3x/main/img/icons.gif
diff --git a/tools-ng/tinymce/editor/src/plugins/compat3x/main/img/items.gif b/tools-ng/tinymce/src/plugins/compat3x/main/img/items.gif
similarity index 100%
rename from tools-ng/tinymce/editor/src/plugins/compat3x/main/img/items.gif
rename to tools-ng/tinymce/src/plugins/compat3x/main/img/items.gif
diff --git a/tools-ng/tinymce/editor/src/plugins/compat3x/main/img/menu_arrow.gif b/tools-ng/tinymce/src/plugins/compat3x/main/img/menu_arrow.gif
similarity index 100%
rename from tools-ng/tinymce/editor/src/plugins/compat3x/main/img/menu_arrow.gif
rename to tools-ng/tinymce/src/plugins/compat3x/main/img/menu_arrow.gif
diff --git a/tools-ng/tinymce/editor/src/plugins/compat3x/main/img/menu_check.gif b/tools-ng/tinymce/src/plugins/compat3x/main/img/menu_check.gif
similarity index 100%
rename from tools-ng/tinymce/editor/src/plugins/compat3x/main/img/menu_check.gif
rename to tools-ng/tinymce/src/plugins/compat3x/main/img/menu_check.gif
diff --git a/tools-ng/tinymce/editor/src/plugins/compat3x/main/img/progress.gif b/tools-ng/tinymce/src/plugins/compat3x/main/img/progress.gif
similarity index 100%
rename from tools-ng/tinymce/editor/src/plugins/compat3x/main/img/progress.gif
rename to tools-ng/tinymce/src/plugins/compat3x/main/img/progress.gif
diff --git a/tools-ng/tinymce/editor/src/plugins/compat3x/main/img/tabs.gif b/tools-ng/tinymce/src/plugins/compat3x/main/img/tabs.gif
similarity index 100%
rename from tools-ng/tinymce/editor/src/plugins/compat3x/main/img/tabs.gif
rename to tools-ng/tinymce/src/plugins/compat3x/main/img/tabs.gif
diff --git a/tools-ng/tinymce/editor/src/plugins/compat3x/main/js/plugin.js b/tools-ng/tinymce/src/plugins/compat3x/main/js/plugin.js
similarity index 100%
rename from tools-ng/tinymce/editor/src/plugins/compat3x/main/js/plugin.js
rename to tools-ng/tinymce/src/plugins/compat3x/main/js/plugin.js
diff --git a/tools-ng/tinymce/editor/src/plugins/compat3x/main/js/tiny_mce_popup.js b/tools-ng/tinymce/src/plugins/compat3x/main/js/tiny_mce_popup.js
similarity index 100%
rename from tools-ng/tinymce/editor/src/plugins/compat3x/main/js/tiny_mce_popup.js
rename to tools-ng/tinymce/src/plugins/compat3x/main/js/tiny_mce_popup.js
diff --git a/tools-ng/tinymce/editor/src/plugins/compat3x/main/js/utils/editable_selects.js b/tools-ng/tinymce/src/plugins/compat3x/main/js/utils/editable_selects.js
similarity index 100%
rename from tools-ng/tinymce/editor/src/plugins/compat3x/main/js/utils/editable_selects.js
rename to tools-ng/tinymce/src/plugins/compat3x/main/js/utils/editable_selects.js
diff --git a/tools-ng/tinymce/editor/src/plugins/compat3x/main/js/utils/form_utils.js b/tools-ng/tinymce/src/plugins/compat3x/main/js/utils/form_utils.js
similarity index 100%
rename from tools-ng/tinymce/editor/src/plugins/compat3x/main/js/utils/form_utils.js
rename to tools-ng/tinymce/src/plugins/compat3x/main/js/utils/form_utils.js
diff --git a/tools-ng/tinymce/editor/src/plugins/compat3x/main/js/utils/mctabs.js b/tools-ng/tinymce/src/plugins/compat3x/main/js/utils/mctabs.js
similarity index 100%
rename from tools-ng/tinymce/editor/src/plugins/compat3x/main/js/utils/mctabs.js
rename to tools-ng/tinymce/src/plugins/compat3x/main/js/utils/mctabs.js
diff --git a/tools-ng/tinymce/editor/src/plugins/compat3x/main/js/utils/validate.js b/tools-ng/tinymce/src/plugins/compat3x/main/js/utils/validate.js
similarity index 100%
rename from tools-ng/tinymce/editor/src/plugins/compat3x/main/js/utils/validate.js
rename to tools-ng/tinymce/src/plugins/compat3x/main/js/utils/validate.js
diff --git a/tools-ng/tinymce/editor/src/plugins/compat3x/test/html/dialog.html b/tools-ng/tinymce/src/plugins/compat3x/test/html/dialog.html
similarity index 100%
rename from tools-ng/tinymce/editor/src/plugins/compat3x/test/html/dialog.html
rename to tools-ng/tinymce/src/plugins/compat3x/test/html/dialog.html
diff --git a/tools-ng/tinymce/editor/src/plugins/compat3x/test/js/browser/Compat3xPluginTest.disabled b/tools-ng/tinymce/src/plugins/compat3x/test/js/browser/Compat3xPluginTest.disabled
similarity index 100%
rename from tools-ng/tinymce/editor/src/plugins/compat3x/test/js/browser/Compat3xPluginTest.disabled
rename to tools-ng/tinymce/src/plugins/compat3x/test/js/browser/Compat3xPluginTest.disabled
diff --git a/tools-ng/tinymce/editor/src/plugins/contextmenu/demo/html/demo.html b/tools-ng/tinymce/src/plugins/contextmenu/demo/html/demo.html
similarity index 100%
rename from tools-ng/tinymce/editor/src/plugins/contextmenu/demo/html/demo.html
rename to tools-ng/tinymce/src/plugins/contextmenu/demo/html/demo.html
diff --git a/tools-ng/tinymce/editor/src/plugins/contextmenu/demo/ts/demo/Demo.ts b/tools-ng/tinymce/src/plugins/contextmenu/demo/ts/demo/Demo.ts
similarity index 100%
rename from tools-ng/tinymce/editor/src/plugins/contextmenu/demo/ts/demo/Demo.ts
rename to tools-ng/tinymce/src/plugins/contextmenu/demo/ts/demo/Demo.ts
diff --git a/tools-ng/tinymce/editor/src/plugins/contextmenu/main/ts/Plugin.ts b/tools-ng/tinymce/src/plugins/contextmenu/main/ts/Plugin.ts
similarity index 61%
rename from tools-ng/tinymce/editor/src/plugins/contextmenu/main/ts/Plugin.ts
rename to tools-ng/tinymce/src/plugins/contextmenu/main/ts/Plugin.ts
index 2726de5ca..f547d875a 100644
--- a/tools-ng/tinymce/editor/src/plugins/contextmenu/main/ts/Plugin.ts
+++ b/tools-ng/tinymce/src/plugins/contextmenu/main/ts/Plugin.ts
@@ -1,11 +1,8 @@
/**
- * Plugin.js
- *
- * Released under LGPL License.
- * Copyright (c) 1999-2017 Ephox Corp. All rights reserved
- *
- * License: http://www.tinymce.com/license
- * Contributing: http://www.tinymce.com/contributing
+ * Copyright (c) Tiny Technologies, Inc. All rights reserved.
+ * Licensed under the LGPL or a commercial license.
+ * For LGPL see License.txt in the project root for license information.
+ * For commercial licenses see https://www.tiny.cloud/
*/
import { Cell } from '@ephox/katamari';
diff --git a/tools-ng/tinymce/src/plugins/contextmenu/main/ts/api/Api.ts b/tools-ng/tinymce/src/plugins/contextmenu/main/ts/api/Api.ts
new file mode 100644
index 000000000..3915e29d0
--- /dev/null
+++ b/tools-ng/tinymce/src/plugins/contextmenu/main/ts/api/Api.ts
@@ -0,0 +1,20 @@
+/**
+ * Copyright (c) Tiny Technologies, Inc. All rights reserved.
+ * Licensed under the LGPL or a commercial license.
+ * For LGPL see License.txt in the project root for license information.
+ * For commercial licenses see https://www.tiny.cloud/
+ */
+
+const get = function (visibleState) {
+ const isContextMenuVisible = function () {
+ return visibleState.get();
+ };
+
+ return {
+ isContextMenuVisible
+ };
+};
+
+export default {
+ get
+};
\ No newline at end of file
diff --git a/tools-ng/tinymce/editor/src/plugins/contextmenu/main/ts/api/Settings.ts b/tools-ng/tinymce/src/plugins/contextmenu/main/ts/api/Settings.ts
similarity index 57%
rename from tools-ng/tinymce/editor/src/plugins/contextmenu/main/ts/api/Settings.ts
rename to tools-ng/tinymce/src/plugins/contextmenu/main/ts/api/Settings.ts
index 3712ff11f..738e08b70 100644
--- a/tools-ng/tinymce/editor/src/plugins/contextmenu/main/ts/api/Settings.ts
+++ b/tools-ng/tinymce/src/plugins/contextmenu/main/ts/api/Settings.ts
@@ -1,11 +1,8 @@
/**
- * Settings.js
- *
- * Released under LGPL License.
- * Copyright (c) 1999-2017 Ephox Corp. All rights reserved
- *
- * License: http://www.tinymce.com/license
- * Contributing: http://www.tinymce.com/contributing
+ * Copyright (c) Tiny Technologies, Inc. All rights reserved.
+ * Licensed under the LGPL or a commercial license.
+ * For LGPL see License.txt in the project root for license information.
+ * For commercial licenses see https://www.tiny.cloud/
*/
const shouldNeverUseNative = function (editor) {
diff --git a/tools-ng/tinymce/editor/src/plugins/contextmenu/main/ts/core/Bind.ts b/tools-ng/tinymce/src/plugins/contextmenu/main/ts/core/Bind.ts
similarity index 69%
rename from tools-ng/tinymce/editor/src/plugins/contextmenu/main/ts/core/Bind.ts
rename to tools-ng/tinymce/src/plugins/contextmenu/main/ts/core/Bind.ts
index d85508887..94f3aa023 100644
--- a/tools-ng/tinymce/editor/src/plugins/contextmenu/main/ts/core/Bind.ts
+++ b/tools-ng/tinymce/src/plugins/contextmenu/main/ts/core/Bind.ts
@@ -1,11 +1,8 @@
/**
- * Bind.js
- *
- * Released under LGPL License.
- * Copyright (c) 1999-2017 Ephox Corp. All rights reserved
- *
- * License: http://www.tinymce.com/license
- * Contributing: http://www.tinymce.com/contributing
+ * Copyright (c) Tiny Technologies, Inc. All rights reserved.
+ * Licensed under the LGPL or a commercial license.
+ * For LGPL see License.txt in the project root for license information.
+ * For commercial licenses see https://www.tiny.cloud/
*/
import Settings from '../api/Settings';
diff --git a/tools-ng/tinymce/editor/src/plugins/contextmenu/main/ts/core/Coords.ts b/tools-ng/tinymce/src/plugins/contextmenu/main/ts/core/Coords.ts
similarity index 84%
rename from tools-ng/tinymce/editor/src/plugins/contextmenu/main/ts/core/Coords.ts
rename to tools-ng/tinymce/src/plugins/contextmenu/main/ts/core/Coords.ts
index 76b474fd0..5b557a918 100644
--- a/tools-ng/tinymce/editor/src/plugins/contextmenu/main/ts/core/Coords.ts
+++ b/tools-ng/tinymce/src/plugins/contextmenu/main/ts/core/Coords.ts
@@ -1,11 +1,8 @@
/**
- * Coords.js
- *
- * Released under LGPL License.
- * Copyright (c) 1999-2017 Ephox Corp. All rights reserved
- *
- * License: http://www.tinymce.com/license
- * Contributing: http://www.tinymce.com/contributing
+ * Copyright (c) Tiny Technologies, Inc. All rights reserved.
+ * Licensed under the LGPL or a commercial license.
+ * For LGPL see License.txt in the project root for license information.
+ * For commercial licenses see https://www.tiny.cloud/
*/
import DOMUtils from 'tinymce/core/api/dom/DOMUtils';
diff --git a/tools-ng/tinymce/editor/src/plugins/contextmenu/main/ts/core/RangePoint.ts b/tools-ng/tinymce/src/plugins/contextmenu/main/ts/core/RangePoint.ts
similarity index 69%
rename from tools-ng/tinymce/editor/src/plugins/contextmenu/main/ts/core/RangePoint.ts
rename to tools-ng/tinymce/src/plugins/contextmenu/main/ts/core/RangePoint.ts
index 4a26164d9..165e7ae04 100644
--- a/tools-ng/tinymce/editor/src/plugins/contextmenu/main/ts/core/RangePoint.ts
+++ b/tools-ng/tinymce/src/plugins/contextmenu/main/ts/core/RangePoint.ts
@@ -1,11 +1,8 @@
/**
- * RangePoint.js
- *
- * Released under LGPL License.
- * Copyright (c) 1999-2017 Ephox Corp. All rights reserved
- *
- * License: http://www.tinymce.com/license
- * Contributing: http://www.tinymce.com/contributing
+ * Copyright (c) Tiny Technologies, Inc. All rights reserved.
+ * Licensed under the LGPL or a commercial license.
+ * For LGPL see License.txt in the project root for license information.
+ * For commercial licenses see https://www.tiny.cloud/
*/
import { Arr } from '@ephox/katamari';
diff --git a/tools-ng/tinymce/editor/src/plugins/contextmenu/main/ts/core/UiContainer.ts b/tools-ng/tinymce/src/plugins/contextmenu/main/ts/core/UiContainer.ts
similarity index 56%
rename from tools-ng/tinymce/editor/src/plugins/contextmenu/main/ts/core/UiContainer.ts
rename to tools-ng/tinymce/src/plugins/contextmenu/main/ts/core/UiContainer.ts
index 818d65a3a..e358e67ed 100644
--- a/tools-ng/tinymce/editor/src/plugins/contextmenu/main/ts/core/UiContainer.ts
+++ b/tools-ng/tinymce/src/plugins/contextmenu/main/ts/core/UiContainer.ts
@@ -1,11 +1,8 @@
/**
- * UiContainer.js
- *
- * Released under LGPL License.
- * Copyright (c) 1999-2018 Ephox Corp. All rights reserved
- *
- * License: http://www.tinymce.com/license
- * Contributing: http://www.tinymce.com/contributing
+ * Copyright (c) Tiny Technologies, Inc. All rights reserved.
+ * Licensed under the LGPL or a commercial license.
+ * For LGPL see License.txt in the project root for license information.
+ * For commercial licenses see https://www.tiny.cloud/
*/
import DOMUtils from 'tinymce/core/api/dom/DOMUtils';
diff --git a/tools-ng/tinymce/editor/src/plugins/contextmenu/main/ts/ui/ContextMenu.ts b/tools-ng/tinymce/src/plugins/contextmenu/main/ts/ui/ContextMenu.ts
similarity index 85%
rename from tools-ng/tinymce/editor/src/plugins/contextmenu/main/ts/ui/ContextMenu.ts
rename to tools-ng/tinymce/src/plugins/contextmenu/main/ts/ui/ContextMenu.ts
index dcb4acdaa..f788377a5 100644
--- a/tools-ng/tinymce/editor/src/plugins/contextmenu/main/ts/ui/ContextMenu.ts
+++ b/tools-ng/tinymce/src/plugins/contextmenu/main/ts/ui/ContextMenu.ts
@@ -1,11 +1,8 @@
/**
- * ContextMenu.js
- *
- * Released under LGPL License.
- * Copyright (c) 1999-2017 Ephox Corp. All rights reserved
- *
- * License: http://www.tinymce.com/license
- * Contributing: http://www.tinymce.com/contributing
+ * Copyright (c) Tiny Technologies, Inc. All rights reserved.
+ * Licensed under the LGPL or a commercial license.
+ * For LGPL see License.txt in the project root for license information.
+ * For commercial licenses see https://www.tiny.cloud/
*/
import Factory from 'tinymce/core/api/ui/Factory';
diff --git a/tools-ng/tinymce/editor/src/plugins/contextmenu/test/ts/browser/ContextMenuPluginTest.ts b/tools-ng/tinymce/src/plugins/contextmenu/test/ts/browser/ContextMenuPluginTest.ts
similarity index 100%
rename from tools-ng/tinymce/editor/src/plugins/contextmenu/test/ts/browser/ContextMenuPluginTest.ts
rename to tools-ng/tinymce/src/plugins/contextmenu/test/ts/browser/ContextMenuPluginTest.ts
diff --git a/tools-ng/tinymce/editor/src/plugins/directionality/demo/html/demo.html b/tools-ng/tinymce/src/plugins/directionality/demo/html/demo.html
similarity index 100%
rename from tools-ng/tinymce/editor/src/plugins/directionality/demo/html/demo.html
rename to tools-ng/tinymce/src/plugins/directionality/demo/html/demo.html
diff --git a/tools-ng/tinymce/editor/src/plugins/directionality/demo/ts/demo/Demo.ts b/tools-ng/tinymce/src/plugins/directionality/demo/ts/demo/Demo.ts
similarity index 100%
rename from tools-ng/tinymce/editor/src/plugins/directionality/demo/ts/demo/Demo.ts
rename to tools-ng/tinymce/src/plugins/directionality/demo/ts/demo/Demo.ts
diff --git a/tools-ng/tinymce/editor/src/plugins/directionality/main/ts/Plugin.ts b/tools-ng/tinymce/src/plugins/directionality/main/ts/Plugin.ts
similarity index 54%
rename from tools-ng/tinymce/editor/src/plugins/directionality/main/ts/Plugin.ts
rename to tools-ng/tinymce/src/plugins/directionality/main/ts/Plugin.ts
index e91710271..76a47b3f9 100644
--- a/tools-ng/tinymce/editor/src/plugins/directionality/main/ts/Plugin.ts
+++ b/tools-ng/tinymce/src/plugins/directionality/main/ts/Plugin.ts
@@ -1,11 +1,8 @@
/**
- * Plugin.js
- *
- * Released under LGPL License.
- * Copyright (c) 1999-2017 Ephox Corp. All rights reserved
- *
- * License: http://www.tinymce.com/license
- * Contributing: http://www.tinymce.com/contributing
+ * Copyright (c) Tiny Technologies, Inc. All rights reserved.
+ * Licensed under the LGPL or a commercial license.
+ * For LGPL see License.txt in the project root for license information.
+ * For commercial licenses see https://www.tiny.cloud/
*/
import PluginManager from 'tinymce/core/api/PluginManager';
diff --git a/tools-ng/tinymce/editor/src/plugins/directionality/main/ts/api/Commands.ts b/tools-ng/tinymce/src/plugins/directionality/main/ts/api/Commands.ts
similarity index 56%
rename from tools-ng/tinymce/editor/src/plugins/directionality/main/ts/api/Commands.ts
rename to tools-ng/tinymce/src/plugins/directionality/main/ts/api/Commands.ts
index 9055074be..1cc78f599 100644
--- a/tools-ng/tinymce/editor/src/plugins/directionality/main/ts/api/Commands.ts
+++ b/tools-ng/tinymce/src/plugins/directionality/main/ts/api/Commands.ts
@@ -1,11 +1,8 @@
/**
- * Commands.js
- *
- * Released under LGPL License.
- * Copyright (c) 1999-2017 Ephox Corp. All rights reserved
- *
- * License: http://www.tinymce.com/license
- * Contributing: http://www.tinymce.com/contributing
+ * Copyright (c) Tiny Technologies, Inc. All rights reserved.
+ * Licensed under the LGPL or a commercial license.
+ * For LGPL see License.txt in the project root for license information.
+ * For commercial licenses see https://www.tiny.cloud/
*/
import Direction from '../core/Direction';
diff --git a/tools-ng/tinymce/editor/src/plugins/directionality/main/ts/core/Direction.ts b/tools-ng/tinymce/src/plugins/directionality/main/ts/core/Direction.ts
similarity index 71%
rename from tools-ng/tinymce/editor/src/plugins/directionality/main/ts/core/Direction.ts
rename to tools-ng/tinymce/src/plugins/directionality/main/ts/core/Direction.ts
index 0435c0e22..3233587cb 100644
--- a/tools-ng/tinymce/editor/src/plugins/directionality/main/ts/core/Direction.ts
+++ b/tools-ng/tinymce/src/plugins/directionality/main/ts/core/Direction.ts
@@ -1,11 +1,8 @@
/**
- * Direction.js
- *
- * Released under LGPL License.
- * Copyright (c) 1999-2017 Ephox Corp. All rights reserved
- *
- * License: http://www.tinymce.com/license
- * Contributing: http://www.tinymce.com/contributing
+ * Copyright (c) Tiny Technologies, Inc. All rights reserved.
+ * Licensed under the LGPL or a commercial license.
+ * For LGPL see License.txt in the project root for license information.
+ * For commercial licenses see https://www.tiny.cloud/
*/
import Tools from 'tinymce/core/api/util/Tools';
diff --git a/tools-ng/tinymce/editor/src/plugins/directionality/main/ts/ui/Buttons.ts b/tools-ng/tinymce/src/plugins/directionality/main/ts/ui/Buttons.ts
similarity index 71%
rename from tools-ng/tinymce/editor/src/plugins/directionality/main/ts/ui/Buttons.ts
rename to tools-ng/tinymce/src/plugins/directionality/main/ts/ui/Buttons.ts
index 6677d8c9b..964af548f 100644
--- a/tools-ng/tinymce/editor/src/plugins/directionality/main/ts/ui/Buttons.ts
+++ b/tools-ng/tinymce/src/plugins/directionality/main/ts/ui/Buttons.ts
@@ -1,11 +1,8 @@
/**
- * Buttons.js
- *
- * Released under LGPL License.
- * Copyright (c) 1999-2017 Ephox Corp. All rights reserved
- *
- * License: http://www.tinymce.com/license
- * Contributing: http://www.tinymce.com/contributing
+ * Copyright (c) Tiny Technologies, Inc. All rights reserved.
+ * Licensed under the LGPL or a commercial license.
+ * For LGPL see License.txt in the project root for license information.
+ * For commercial licenses see https://www.tiny.cloud/
*/
import Tools from 'tinymce/core/api/util/Tools';
diff --git a/tools-ng/tinymce/editor/src/plugins/directionality/test/ts/browser/DirectionalitySanityTest.ts b/tools-ng/tinymce/src/plugins/directionality/test/ts/browser/DirectionalitySanityTest.ts
similarity index 100%
rename from tools-ng/tinymce/editor/src/plugins/directionality/test/ts/browser/DirectionalitySanityTest.ts
rename to tools-ng/tinymce/src/plugins/directionality/test/ts/browser/DirectionalitySanityTest.ts
diff --git a/tools-ng/tinymce/editor/src/plugins/emoticons/demo/html/demo.html b/tools-ng/tinymce/src/plugins/emoticons/demo/html/demo.html
similarity index 100%
rename from tools-ng/tinymce/editor/src/plugins/emoticons/demo/html/demo.html
rename to tools-ng/tinymce/src/plugins/emoticons/demo/html/demo.html
diff --git a/tools-ng/tinymce/editor/src/plugins/emoticons/demo/ts/demo/Demo.ts b/tools-ng/tinymce/src/plugins/emoticons/demo/ts/demo/Demo.ts
similarity index 100%
rename from tools-ng/tinymce/editor/src/plugins/emoticons/demo/ts/demo/Demo.ts
rename to tools-ng/tinymce/src/plugins/emoticons/demo/ts/demo/Demo.ts
diff --git a/tools-ng/tinymce/editor/src/plugins/emoticons/main/img/smiley-cool.gif b/tools-ng/tinymce/src/plugins/emoticons/main/img/smiley-cool.gif
similarity index 100%
rename from tools-ng/tinymce/editor/src/plugins/emoticons/main/img/smiley-cool.gif
rename to tools-ng/tinymce/src/plugins/emoticons/main/img/smiley-cool.gif
diff --git a/tools-ng/tinymce/editor/src/plugins/emoticons/main/img/smiley-cry.gif b/tools-ng/tinymce/src/plugins/emoticons/main/img/smiley-cry.gif
similarity index 100%
rename from tools-ng/tinymce/editor/src/plugins/emoticons/main/img/smiley-cry.gif
rename to tools-ng/tinymce/src/plugins/emoticons/main/img/smiley-cry.gif
diff --git a/tools-ng/tinymce/editor/src/plugins/emoticons/main/img/smiley-embarassed.gif b/tools-ng/tinymce/src/plugins/emoticons/main/img/smiley-embarassed.gif
similarity index 100%
rename from tools-ng/tinymce/editor/src/plugins/emoticons/main/img/smiley-embarassed.gif
rename to tools-ng/tinymce/src/plugins/emoticons/main/img/smiley-embarassed.gif
diff --git a/tools-ng/tinymce/editor/src/plugins/emoticons/main/img/smiley-foot-in-mouth.gif b/tools-ng/tinymce/src/plugins/emoticons/main/img/smiley-foot-in-mouth.gif
similarity index 100%
rename from tools-ng/tinymce/editor/src/plugins/emoticons/main/img/smiley-foot-in-mouth.gif
rename to tools-ng/tinymce/src/plugins/emoticons/main/img/smiley-foot-in-mouth.gif
diff --git a/tools-ng/tinymce/editor/src/plugins/emoticons/main/img/smiley-frown.gif b/tools-ng/tinymce/src/plugins/emoticons/main/img/smiley-frown.gif
similarity index 100%
rename from tools-ng/tinymce/editor/src/plugins/emoticons/main/img/smiley-frown.gif
rename to tools-ng/tinymce/src/plugins/emoticons/main/img/smiley-frown.gif
diff --git a/tools-ng/tinymce/editor/src/plugins/emoticons/main/img/smiley-innocent.gif b/tools-ng/tinymce/src/plugins/emoticons/main/img/smiley-innocent.gif
similarity index 100%
rename from tools-ng/tinymce/editor/src/plugins/emoticons/main/img/smiley-innocent.gif
rename to tools-ng/tinymce/src/plugins/emoticons/main/img/smiley-innocent.gif
diff --git a/tools-ng/tinymce/editor/src/plugins/emoticons/main/img/smiley-kiss.gif b/tools-ng/tinymce/src/plugins/emoticons/main/img/smiley-kiss.gif
similarity index 100%
rename from tools-ng/tinymce/editor/src/plugins/emoticons/main/img/smiley-kiss.gif
rename to tools-ng/tinymce/src/plugins/emoticons/main/img/smiley-kiss.gif
diff --git a/tools-ng/tinymce/editor/src/plugins/emoticons/main/img/smiley-laughing.gif b/tools-ng/tinymce/src/plugins/emoticons/main/img/smiley-laughing.gif
similarity index 100%
rename from tools-ng/tinymce/editor/src/plugins/emoticons/main/img/smiley-laughing.gif
rename to tools-ng/tinymce/src/plugins/emoticons/main/img/smiley-laughing.gif
diff --git a/tools-ng/tinymce/editor/src/plugins/emoticons/main/img/smiley-money-mouth.gif b/tools-ng/tinymce/src/plugins/emoticons/main/img/smiley-money-mouth.gif
similarity index 100%
rename from tools-ng/tinymce/editor/src/plugins/emoticons/main/img/smiley-money-mouth.gif
rename to tools-ng/tinymce/src/plugins/emoticons/main/img/smiley-money-mouth.gif
diff --git a/tools-ng/tinymce/editor/src/plugins/emoticons/main/img/smiley-sealed.gif b/tools-ng/tinymce/src/plugins/emoticons/main/img/smiley-sealed.gif
similarity index 100%
rename from tools-ng/tinymce/editor/src/plugins/emoticons/main/img/smiley-sealed.gif
rename to tools-ng/tinymce/src/plugins/emoticons/main/img/smiley-sealed.gif
diff --git a/tools-ng/tinymce/editor/src/plugins/emoticons/main/img/smiley-smile.gif b/tools-ng/tinymce/src/plugins/emoticons/main/img/smiley-smile.gif
similarity index 100%
rename from tools-ng/tinymce/editor/src/plugins/emoticons/main/img/smiley-smile.gif
rename to tools-ng/tinymce/src/plugins/emoticons/main/img/smiley-smile.gif
diff --git a/tools-ng/tinymce/editor/src/plugins/emoticons/main/img/smiley-surprised.gif b/tools-ng/tinymce/src/plugins/emoticons/main/img/smiley-surprised.gif
similarity index 100%
rename from tools-ng/tinymce/editor/src/plugins/emoticons/main/img/smiley-surprised.gif
rename to tools-ng/tinymce/src/plugins/emoticons/main/img/smiley-surprised.gif
diff --git a/tools-ng/tinymce/editor/src/plugins/emoticons/main/img/smiley-tongue-out.gif b/tools-ng/tinymce/src/plugins/emoticons/main/img/smiley-tongue-out.gif
similarity index 100%
rename from tools-ng/tinymce/editor/src/plugins/emoticons/main/img/smiley-tongue-out.gif
rename to tools-ng/tinymce/src/plugins/emoticons/main/img/smiley-tongue-out.gif
diff --git a/tools-ng/tinymce/editor/src/plugins/emoticons/main/img/smiley-undecided.gif b/tools-ng/tinymce/src/plugins/emoticons/main/img/smiley-undecided.gif
similarity index 100%
rename from tools-ng/tinymce/editor/src/plugins/emoticons/main/img/smiley-undecided.gif
rename to tools-ng/tinymce/src/plugins/emoticons/main/img/smiley-undecided.gif
diff --git a/tools-ng/tinymce/editor/src/plugins/emoticons/main/img/smiley-wink.gif b/tools-ng/tinymce/src/plugins/emoticons/main/img/smiley-wink.gif
similarity index 100%
rename from tools-ng/tinymce/editor/src/plugins/emoticons/main/img/smiley-wink.gif
rename to tools-ng/tinymce/src/plugins/emoticons/main/img/smiley-wink.gif
diff --git a/tools-ng/tinymce/editor/src/plugins/emoticons/main/img/smiley-yell.gif b/tools-ng/tinymce/src/plugins/emoticons/main/img/smiley-yell.gif
similarity index 100%
rename from tools-ng/tinymce/editor/src/plugins/emoticons/main/img/smiley-yell.gif
rename to tools-ng/tinymce/src/plugins/emoticons/main/img/smiley-yell.gif
diff --git a/tools-ng/tinymce/editor/src/plugins/emoticons/main/ts/Plugin.ts b/tools-ng/tinymce/src/plugins/emoticons/main/ts/Plugin.ts
similarity index 60%
rename from tools-ng/tinymce/editor/src/plugins/emoticons/main/ts/Plugin.ts
rename to tools-ng/tinymce/src/plugins/emoticons/main/ts/Plugin.ts
index c073ca96c..a0c79737a 100644
--- a/tools-ng/tinymce/editor/src/plugins/emoticons/main/ts/Plugin.ts
+++ b/tools-ng/tinymce/src/plugins/emoticons/main/ts/Plugin.ts
@@ -1,11 +1,8 @@
/**
- * Plugin.js
- *
- * Released under LGPL License.
- * Copyright (c) 1999-2017 Ephox Corp. All rights reserved
- *
- * License: http://www.tinymce.com/license
- * Contributing: http://www.tinymce.com/contributing
+ * Copyright (c) Tiny Technologies, Inc. All rights reserved.
+ * Licensed under the LGPL or a commercial license.
+ * For LGPL see License.txt in the project root for license information.
+ * For commercial licenses see https://www.tiny.cloud/
*/
import PluginManager from 'tinymce/core/api/PluginManager';
diff --git a/tools-ng/tinymce/editor/src/plugins/emoticons/main/ts/ui/Buttons.ts b/tools-ng/tinymce/src/plugins/emoticons/main/ts/ui/Buttons.ts
similarity index 75%
rename from tools-ng/tinymce/editor/src/plugins/emoticons/main/ts/ui/Buttons.ts
rename to tools-ng/tinymce/src/plugins/emoticons/main/ts/ui/Buttons.ts
index 0cece7137..2127bb38f 100644
--- a/tools-ng/tinymce/editor/src/plugins/emoticons/main/ts/ui/Buttons.ts
+++ b/tools-ng/tinymce/src/plugins/emoticons/main/ts/ui/Buttons.ts
@@ -1,11 +1,8 @@
/**
- * Buttons.js
- *
- * Released under LGPL License.
- * Copyright (c) 1999-2017 Ephox Corp. All rights reserved
- *
- * License: http://www.tinymce.com/license
- * Contributing: http://www.tinymce.com/contributing
+ * Copyright (c) Tiny Technologies, Inc. All rights reserved.
+ * Licensed under the LGPL or a commercial license.
+ * For LGPL see License.txt in the project root for license information.
+ * For commercial licenses see https://www.tiny.cloud/
*/
import PanelHtml from './PanelHtml';
diff --git a/tools-ng/tinymce/editor/src/plugins/emoticons/main/ts/ui/PanelHtml.ts b/tools-ng/tinymce/src/plugins/emoticons/main/ts/ui/PanelHtml.ts
similarity index 80%
rename from tools-ng/tinymce/editor/src/plugins/emoticons/main/ts/ui/PanelHtml.ts
rename to tools-ng/tinymce/src/plugins/emoticons/main/ts/ui/PanelHtml.ts
index c4f899e01..b982154be 100644
--- a/tools-ng/tinymce/editor/src/plugins/emoticons/main/ts/ui/PanelHtml.ts
+++ b/tools-ng/tinymce/src/plugins/emoticons/main/ts/ui/PanelHtml.ts
@@ -1,11 +1,8 @@
/**
- * PanelHtml.js
- *
- * Released under LGPL License.
- * Copyright (c) 1999-2017 Ephox Corp. All rights reserved
- *
- * License: http://www.tinymce.com/license
- * Contributing: http://www.tinymce.com/contributing
+ * Copyright (c) Tiny Technologies, Inc. All rights reserved.
+ * Licensed under the LGPL or a commercial license.
+ * For LGPL see License.txt in the project root for license information.
+ * For commercial licenses see https://www.tiny.cloud/
*/
import Tools from 'tinymce/core/api/util/Tools';
diff --git a/tools-ng/tinymce/editor/src/plugins/emoticons/test/ts/browser/EmoticonSanityTest.ts b/tools-ng/tinymce/src/plugins/emoticons/test/ts/browser/EmoticonSanityTest.ts
similarity index 100%
rename from tools-ng/tinymce/editor/src/plugins/emoticons/test/ts/browser/EmoticonSanityTest.ts
rename to tools-ng/tinymce/src/plugins/emoticons/test/ts/browser/EmoticonSanityTest.ts
diff --git a/tools-ng/tinymce/editor/src/plugins/fullpage/demo/html/demo.html b/tools-ng/tinymce/src/plugins/fullpage/demo/html/demo.html
similarity index 100%
rename from tools-ng/tinymce/editor/src/plugins/fullpage/demo/html/demo.html
rename to tools-ng/tinymce/src/plugins/fullpage/demo/html/demo.html
diff --git a/tools-ng/tinymce/editor/src/plugins/fullpage/demo/ts/demo/Demo.ts b/tools-ng/tinymce/src/plugins/fullpage/demo/ts/demo/Demo.ts
similarity index 100%
rename from tools-ng/tinymce/editor/src/plugins/fullpage/demo/ts/demo/Demo.ts
rename to tools-ng/tinymce/src/plugins/fullpage/demo/ts/demo/Demo.ts
diff --git a/tools-ng/tinymce/editor/src/plugins/fullpage/main/ts/Plugin.ts b/tools-ng/tinymce/src/plugins/fullpage/main/ts/Plugin.ts
similarity index 67%
rename from tools-ng/tinymce/editor/src/plugins/fullpage/main/ts/Plugin.ts
rename to tools-ng/tinymce/src/plugins/fullpage/main/ts/Plugin.ts
index 2614075dd..55664b4a7 100644
--- a/tools-ng/tinymce/editor/src/plugins/fullpage/main/ts/Plugin.ts
+++ b/tools-ng/tinymce/src/plugins/fullpage/main/ts/Plugin.ts
@@ -1,11 +1,8 @@
/**
- * Plugin.js
- *
- * Released under LGPL License.
- * Copyright (c) 1999-2017 Ephox Corp. All rights reserved
- *
- * License: http://www.tinymce.com/license
- * Contributing: http://www.tinymce.com/contributing
+ * Copyright (c) Tiny Technologies, Inc. All rights reserved.
+ * Licensed under the LGPL or a commercial license.
+ * For LGPL see License.txt in the project root for license information.
+ * For commercial licenses see https://www.tiny.cloud/
*/
import { Cell } from '@ephox/katamari';
diff --git a/tools-ng/tinymce/src/plugins/fullpage/main/ts/api/Commands.ts b/tools-ng/tinymce/src/plugins/fullpage/main/ts/api/Commands.ts
new file mode 100644
index 000000000..2b4746f08
--- /dev/null
+++ b/tools-ng/tinymce/src/plugins/fullpage/main/ts/api/Commands.ts
@@ -0,0 +1,18 @@
+/**
+ * Copyright (c) Tiny Technologies, Inc. All rights reserved.
+ * Licensed under the LGPL or a commercial license.
+ * For LGPL see License.txt in the project root for license information.
+ * For commercial licenses see https://www.tiny.cloud/
+ */
+
+import Dialog from '../ui/Dialog';
+
+const register = function (editor, headState) {
+ editor.addCommand('mceFullPageProperties', function () {
+ Dialog.open(editor, headState);
+ });
+};
+
+export default {
+ register
+};
\ No newline at end of file
diff --git a/tools-ng/tinymce/editor/src/plugins/fullpage/main/ts/api/Settings.ts b/tools-ng/tinymce/src/plugins/fullpage/main/ts/api/Settings.ts
similarity index 81%
rename from tools-ng/tinymce/editor/src/plugins/fullpage/main/ts/api/Settings.ts
rename to tools-ng/tinymce/src/plugins/fullpage/main/ts/api/Settings.ts
index 692b22c94..6999eb245 100644
--- a/tools-ng/tinymce/editor/src/plugins/fullpage/main/ts/api/Settings.ts
+++ b/tools-ng/tinymce/src/plugins/fullpage/main/ts/api/Settings.ts
@@ -1,11 +1,8 @@
/**
- * Settings.js
- *
- * Released under LGPL License.
- * Copyright (c) 1999-2017 Ephox Corp. All rights reserved
- *
- * License: http://www.tinymce.com/license
- * Contributing: http://www.tinymce.com/contributing
+ * Copyright (c) Tiny Technologies, Inc. All rights reserved.
+ * Licensed under the LGPL or a commercial license.
+ * For LGPL see License.txt in the project root for license information.
+ * For commercial licenses see https://www.tiny.cloud/
*/
const shouldHideInSourceView = function (editor) {
diff --git a/tools-ng/tinymce/editor/src/plugins/fullpage/main/ts/core/FilterContent.ts b/tools-ng/tinymce/src/plugins/fullpage/main/ts/core/FilterContent.ts
similarity index 95%
rename from tools-ng/tinymce/editor/src/plugins/fullpage/main/ts/core/FilterContent.ts
rename to tools-ng/tinymce/src/plugins/fullpage/main/ts/core/FilterContent.ts
index 5956f39f3..15026f8d1 100644
--- a/tools-ng/tinymce/editor/src/plugins/fullpage/main/ts/core/FilterContent.ts
+++ b/tools-ng/tinymce/src/plugins/fullpage/main/ts/core/FilterContent.ts
@@ -1,11 +1,8 @@
/**
- * FilterContent.js
- *
- * Released under LGPL License.
- * Copyright (c) 1999-2017 Ephox Corp. All rights reserved
- *
- * License: http://www.tinymce.com/license
- * Contributing: http://www.tinymce.com/contributing
+ * Copyright (c) Tiny Technologies, Inc. All rights reserved.
+ * Licensed under the LGPL or a commercial license.
+ * For LGPL see License.txt in the project root for license information.
+ * For commercial licenses see https://www.tiny.cloud/
*/
import Tools from 'tinymce/core/api/util/Tools';
diff --git a/tools-ng/tinymce/editor/src/plugins/fullpage/main/ts/core/Parser.ts b/tools-ng/tinymce/src/plugins/fullpage/main/ts/core/Parser.ts
similarity index 96%
rename from tools-ng/tinymce/editor/src/plugins/fullpage/main/ts/core/Parser.ts
rename to tools-ng/tinymce/src/plugins/fullpage/main/ts/core/Parser.ts
index 0b671ac4f..95037fabe 100644
--- a/tools-ng/tinymce/editor/src/plugins/fullpage/main/ts/core/Parser.ts
+++ b/tools-ng/tinymce/src/plugins/fullpage/main/ts/core/Parser.ts
@@ -1,11 +1,8 @@
/**
- * Protect.js
- *
- * Released under LGPL License.
- * Copyright (c) 1999-2017 Ephox Corp. All rights reserved
- *
- * License: http://www.tinymce.com/license
- * Contributing: http://www.tinymce.com/contributing
+ * Copyright (c) Tiny Technologies, Inc. All rights reserved.
+ * Licensed under the LGPL or a commercial license.
+ * For LGPL see License.txt in the project root for license information.
+ * For commercial licenses see https://www.tiny.cloud/
*/
import DomParser from 'tinymce/core/api/html/DomParser';
diff --git a/tools-ng/tinymce/editor/src/plugins/fullpage/main/ts/core/Protect.ts b/tools-ng/tinymce/src/plugins/fullpage/main/ts/core/Protect.ts
similarity index 69%
rename from tools-ng/tinymce/editor/src/plugins/fullpage/main/ts/core/Protect.ts
rename to tools-ng/tinymce/src/plugins/fullpage/main/ts/core/Protect.ts
index 31f918e42..4f678e261 100644
--- a/tools-ng/tinymce/editor/src/plugins/fullpage/main/ts/core/Protect.ts
+++ b/tools-ng/tinymce/src/plugins/fullpage/main/ts/core/Protect.ts
@@ -1,11 +1,8 @@
/**
- * Protect.js
- *
- * Released under LGPL License.
- * Copyright (c) 1999-2017 Ephox Corp. All rights reserved
- *
- * License: http://www.tinymce.com/license
- * Contributing: http://www.tinymce.com/contributing
+ * Copyright (c) Tiny Technologies, Inc. All rights reserved.
+ * Licensed under the LGPL or a commercial license.
+ * For LGPL see License.txt in the project root for license information.
+ * For commercial licenses see https://www.tiny.cloud/
*/
import Tools from 'tinymce/core/api/util/Tools';
diff --git a/tools-ng/tinymce/editor/src/plugins/fullpage/main/ts/ui/Buttons.ts b/tools-ng/tinymce/src/plugins/fullpage/main/ts/ui/Buttons.ts
similarity index 56%
rename from tools-ng/tinymce/editor/src/plugins/fullpage/main/ts/ui/Buttons.ts
rename to tools-ng/tinymce/src/plugins/fullpage/main/ts/ui/Buttons.ts
index f4b2245e7..1c8c22e23 100644
--- a/tools-ng/tinymce/editor/src/plugins/fullpage/main/ts/ui/Buttons.ts
+++ b/tools-ng/tinymce/src/plugins/fullpage/main/ts/ui/Buttons.ts
@@ -1,11 +1,8 @@
/**
- * Buttons.js
- *
- * Released under LGPL License.
- * Copyright (c) 1999-2017 Ephox Corp. All rights reserved
- *
- * License: http://www.tinymce.com/license
- * Contributing: http://www.tinymce.com/contributing
+ * Copyright (c) Tiny Technologies, Inc. All rights reserved.
+ * Licensed under the LGPL or a commercial license.
+ * For LGPL see License.txt in the project root for license information.
+ * For commercial licenses see https://www.tiny.cloud/
*/
const register = function (editor) {
diff --git a/tools-ng/tinymce/editor/src/plugins/fullpage/main/ts/ui/Dialog.ts b/tools-ng/tinymce/src/plugins/fullpage/main/ts/ui/Dialog.ts
similarity index 76%
rename from tools-ng/tinymce/editor/src/plugins/fullpage/main/ts/ui/Dialog.ts
rename to tools-ng/tinymce/src/plugins/fullpage/main/ts/ui/Dialog.ts
index 5d13cf225..596d8640d 100644
--- a/tools-ng/tinymce/editor/src/plugins/fullpage/main/ts/ui/Dialog.ts
+++ b/tools-ng/tinymce/src/plugins/fullpage/main/ts/ui/Dialog.ts
@@ -1,11 +1,8 @@
/**
- * Dialog.js
- *
- * Released under LGPL License.
- * Copyright (c) 1999-2017 Ephox Corp. All rights reserved
- *
- * License: http://www.tinymce.com/license
- * Contributing: http://www.tinymce.com/contributing
+ * Copyright (c) Tiny Technologies, Inc. All rights reserved.
+ * Licensed under the LGPL or a commercial license.
+ * For LGPL see License.txt in the project root for license information.
+ * For commercial licenses see https://www.tiny.cloud/
*/
import Tools from 'tinymce/core/api/util/Tools';
diff --git a/tools-ng/tinymce/editor/src/plugins/fullpage/test/ts/atomic/ProtectTest.ts b/tools-ng/tinymce/src/plugins/fullpage/test/ts/atomic/ProtectTest.ts
similarity index 100%
rename from tools-ng/tinymce/editor/src/plugins/fullpage/test/ts/atomic/ProtectTest.ts
rename to tools-ng/tinymce/src/plugins/fullpage/test/ts/atomic/ProtectTest.ts
diff --git a/tools-ng/tinymce/editor/src/plugins/fullpage/test/ts/browser/FullPagePluginTest.ts b/tools-ng/tinymce/src/plugins/fullpage/test/ts/browser/FullPagePluginTest.ts
similarity index 100%
rename from tools-ng/tinymce/editor/src/plugins/fullpage/test/ts/browser/FullPagePluginTest.ts
rename to tools-ng/tinymce/src/plugins/fullpage/test/ts/browser/FullPagePluginTest.ts
diff --git a/tools-ng/tinymce/editor/src/plugins/fullscreen/demo/html/demo.html b/tools-ng/tinymce/src/plugins/fullscreen/demo/html/demo.html
similarity index 100%
rename from tools-ng/tinymce/editor/src/plugins/fullscreen/demo/html/demo.html
rename to tools-ng/tinymce/src/plugins/fullscreen/demo/html/demo.html
diff --git a/tools-ng/tinymce/editor/src/plugins/fullscreen/demo/ts/demo/Demo.ts b/tools-ng/tinymce/src/plugins/fullscreen/demo/ts/demo/Demo.ts
similarity index 100%
rename from tools-ng/tinymce/editor/src/plugins/fullscreen/demo/ts/demo/Demo.ts
rename to tools-ng/tinymce/src/plugins/fullscreen/demo/ts/demo/Demo.ts
diff --git a/tools-ng/tinymce/editor/src/plugins/fullscreen/main/ts/Plugin.ts b/tools-ng/tinymce/src/plugins/fullscreen/main/ts/Plugin.ts
similarity index 70%
rename from tools-ng/tinymce/editor/src/plugins/fullscreen/main/ts/Plugin.ts
rename to tools-ng/tinymce/src/plugins/fullscreen/main/ts/Plugin.ts
index 53154425d..890cac1dc 100644
--- a/tools-ng/tinymce/editor/src/plugins/fullscreen/main/ts/Plugin.ts
+++ b/tools-ng/tinymce/src/plugins/fullscreen/main/ts/Plugin.ts
@@ -1,11 +1,8 @@
/**
- * Plugin.js
- *
- * Released under LGPL License.
- * Copyright (c) 1999-2017 Ephox Corp. All rights reserved
- *
- * License: http://www.tinymce.com/license
- * Contributing: http://www.tinymce.com/contributing
+ * Copyright (c) Tiny Technologies, Inc. All rights reserved.
+ * Licensed under the LGPL or a commercial license.
+ * For LGPL see License.txt in the project root for license information.
+ * For commercial licenses see https://www.tiny.cloud/
*/
import { Cell } from '@ephox/katamari';
diff --git a/tools-ng/tinymce/src/plugins/fullscreen/main/ts/api/Api.ts b/tools-ng/tinymce/src/plugins/fullscreen/main/ts/api/Api.ts
new file mode 100644
index 000000000..1f132819c
--- /dev/null
+++ b/tools-ng/tinymce/src/plugins/fullscreen/main/ts/api/Api.ts
@@ -0,0 +1,18 @@
+/**
+ * Copyright (c) Tiny Technologies, Inc. All rights reserved.
+ * Licensed under the LGPL or a commercial license.
+ * For LGPL see License.txt in the project root for license information.
+ * For commercial licenses see https://www.tiny.cloud/
+ */
+
+const get = function (fullscreenState) {
+ return {
+ isFullscreen () {
+ return fullscreenState.get() !== null;
+ }
+ };
+};
+
+export default {
+ get
+};
\ No newline at end of file
diff --git a/tools-ng/tinymce/editor/src/plugins/fullscreen/main/ts/api/Commands.ts b/tools-ng/tinymce/src/plugins/fullscreen/main/ts/api/Commands.ts
similarity index 50%
rename from tools-ng/tinymce/editor/src/plugins/fullscreen/main/ts/api/Commands.ts
rename to tools-ng/tinymce/src/plugins/fullscreen/main/ts/api/Commands.ts
index 1d138a6c1..67fca4bc9 100644
--- a/tools-ng/tinymce/editor/src/plugins/fullscreen/main/ts/api/Commands.ts
+++ b/tools-ng/tinymce/src/plugins/fullscreen/main/ts/api/Commands.ts
@@ -1,11 +1,8 @@
/**
- * Commands.js
- *
- * Released under LGPL License.
- * Copyright (c) 1999-2017 Ephox Corp. All rights reserved
- *
- * License: http://www.tinymce.com/license
- * Contributing: http://www.tinymce.com/contributing
+ * Copyright (c) Tiny Technologies, Inc. All rights reserved.
+ * Licensed under the LGPL or a commercial license.
+ * For LGPL see License.txt in the project root for license information.
+ * For commercial licenses see https://www.tiny.cloud/
*/
import Actions from '../core/Actions';
diff --git a/tools-ng/tinymce/src/plugins/fullscreen/main/ts/api/Events.ts b/tools-ng/tinymce/src/plugins/fullscreen/main/ts/api/Events.ts
new file mode 100644
index 000000000..861a0ed50
--- /dev/null
+++ b/tools-ng/tinymce/src/plugins/fullscreen/main/ts/api/Events.ts
@@ -0,0 +1,14 @@
+/**
+ * Copyright (c) Tiny Technologies, Inc. All rights reserved.
+ * Licensed under the LGPL or a commercial license.
+ * For LGPL see License.txt in the project root for license information.
+ * For commercial licenses see https://www.tiny.cloud/
+ */
+
+const fireFullscreenStateChanged = function (editor, state) {
+ editor.fire('FullscreenStateChanged', { state });
+};
+
+export default {
+ fireFullscreenStateChanged
+};
\ No newline at end of file
diff --git a/tools-ng/tinymce/editor/src/plugins/fullscreen/main/ts/core/Actions.ts b/tools-ng/tinymce/src/plugins/fullscreen/main/ts/core/Actions.ts
similarity index 92%
rename from tools-ng/tinymce/editor/src/plugins/fullscreen/main/ts/core/Actions.ts
rename to tools-ng/tinymce/src/plugins/fullscreen/main/ts/core/Actions.ts
index c2e76a973..fa7a8672d 100644
--- a/tools-ng/tinymce/editor/src/plugins/fullscreen/main/ts/core/Actions.ts
+++ b/tools-ng/tinymce/src/plugins/fullscreen/main/ts/core/Actions.ts
@@ -1,11 +1,8 @@
/**
- * Actions.js
- *
- * Released under LGPL License.
- * Copyright (c) 1999-2017 Ephox Corp. All rights reserved
- *
- * License: http://www.tinymce.com/license
- * Contributing: http://www.tinymce.com/contributing
+ * Copyright (c) Tiny Technologies, Inc. All rights reserved.
+ * Licensed under the LGPL or a commercial license.
+ * For LGPL see License.txt in the project root for license information.
+ * For commercial licenses see https://www.tiny.cloud/
*/
import DOMUtils from 'tinymce/core/api/dom/DOMUtils';
diff --git a/tools-ng/tinymce/editor/src/plugins/fullscreen/main/ts/ui/Buttons.ts b/tools-ng/tinymce/src/plugins/fullscreen/main/ts/ui/Buttons.ts
similarity index 72%
rename from tools-ng/tinymce/editor/src/plugins/fullscreen/main/ts/ui/Buttons.ts
rename to tools-ng/tinymce/src/plugins/fullscreen/main/ts/ui/Buttons.ts
index 0c9dca5df..140438823 100644
--- a/tools-ng/tinymce/editor/src/plugins/fullscreen/main/ts/ui/Buttons.ts
+++ b/tools-ng/tinymce/src/plugins/fullscreen/main/ts/ui/Buttons.ts
@@ -1,11 +1,8 @@
/**
- * Buttons.js
- *
- * Released under LGPL License.
- * Copyright (c) 1999-2017 Ephox Corp. All rights reserved
- *
- * License: http://www.tinymce.com/license
- * Contributing: http://www.tinymce.com/contributing
+ * Copyright (c) Tiny Technologies, Inc. All rights reserved.
+ * Licensed under the LGPL or a commercial license.
+ * For LGPL see License.txt in the project root for license information.
+ * For commercial licenses see https://www.tiny.cloud/
*/
const postRender = function (editor) {
diff --git a/tools-ng/tinymce/editor/src/plugins/fullscreen/test/ts/browser/FullScreenPluginTest.ts b/tools-ng/tinymce/src/plugins/fullscreen/test/ts/browser/FullScreenPluginTest.ts
similarity index 100%
rename from tools-ng/tinymce/editor/src/plugins/fullscreen/test/ts/browser/FullScreenPluginTest.ts
rename to tools-ng/tinymce/src/plugins/fullscreen/test/ts/browser/FullScreenPluginTest.ts
diff --git a/tools-ng/tinymce/editor/src/plugins/fullscreen/test/ts/browser/FullscreenPluginInlineEditorTest.ts b/tools-ng/tinymce/src/plugins/fullscreen/test/ts/browser/FullscreenPluginInlineEditorTest.ts
similarity index 100%
rename from tools-ng/tinymce/editor/src/plugins/fullscreen/test/ts/browser/FullscreenPluginInlineEditorTest.ts
rename to tools-ng/tinymce/src/plugins/fullscreen/test/ts/browser/FullscreenPluginInlineEditorTest.ts
diff --git a/tools-ng/tinymce/editor/src/plugins/help/demo/html/demo.html b/tools-ng/tinymce/src/plugins/help/demo/html/demo.html
similarity index 100%
rename from tools-ng/tinymce/editor/src/plugins/help/demo/html/demo.html
rename to tools-ng/tinymce/src/plugins/help/demo/html/demo.html
diff --git a/tools-ng/tinymce/editor/src/plugins/help/demo/ts/demo/Demo.ts b/tools-ng/tinymce/src/plugins/help/demo/ts/demo/Demo.ts
similarity index 100%
rename from tools-ng/tinymce/editor/src/plugins/help/demo/ts/demo/Demo.ts
rename to tools-ng/tinymce/src/plugins/help/demo/ts/demo/Demo.ts
diff --git a/tools-ng/tinymce/editor/src/plugins/help/main/img/logo.png b/tools-ng/tinymce/src/plugins/help/main/img/logo.png
similarity index 100%
rename from tools-ng/tinymce/editor/src/plugins/help/main/img/logo.png
rename to tools-ng/tinymce/src/plugins/help/main/img/logo.png
diff --git a/tools-ng/tinymce/editor/src/plugins/help/main/ts/Plugin.ts b/tools-ng/tinymce/src/plugins/help/main/ts/Plugin.ts
similarity index 61%
rename from tools-ng/tinymce/editor/src/plugins/help/main/ts/Plugin.ts
rename to tools-ng/tinymce/src/plugins/help/main/ts/Plugin.ts
index 19463fa30..916409667 100644
--- a/tools-ng/tinymce/editor/src/plugins/help/main/ts/Plugin.ts
+++ b/tools-ng/tinymce/src/plugins/help/main/ts/Plugin.ts
@@ -1,11 +1,8 @@
/**
- * PLugin.js
- *
- * Released under LGPL License.
- * Copyright (c) 1999-2017 Ephox Corp. All rights reserved
- *
- * License: http://www.tinymce.com/license
- * Contributing: http://www.tinymce.com/contributing
+ * Copyright (c) Tiny Technologies, Inc. All rights reserved.
+ * Licensed under the LGPL or a commercial license.
+ * For LGPL see License.txt in the project root for license information.
+ * For commercial licenses see https://www.tiny.cloud/
*/
import PluginManager from 'tinymce/core/api/PluginManager';
diff --git a/tools-ng/tinymce/src/plugins/help/main/ts/api/Commands.ts b/tools-ng/tinymce/src/plugins/help/main/ts/api/Commands.ts
new file mode 100644
index 000000000..7ee00a0c7
--- /dev/null
+++ b/tools-ng/tinymce/src/plugins/help/main/ts/api/Commands.ts
@@ -0,0 +1,16 @@
+/**
+ * Copyright (c) Tiny Technologies, Inc. All rights reserved.
+ * Licensed under the LGPL or a commercial license.
+ * For LGPL see License.txt in the project root for license information.
+ * For commercial licenses see https://www.tiny.cloud/
+ */
+
+import Dialog from '../ui/Dialog';
+
+const register = function (editor, pluginUrl) {
+ editor.addCommand('mceHelp', Dialog.open(editor, pluginUrl));
+};
+
+export default {
+ register
+};
\ No newline at end of file
diff --git a/tools-ng/tinymce/editor/src/plugins/help/main/ts/data/KeyboardShortcuts.ts b/tools-ng/tinymce/src/plugins/help/main/ts/data/KeyboardShortcuts.ts
similarity index 86%
rename from tools-ng/tinymce/editor/src/plugins/help/main/ts/data/KeyboardShortcuts.ts
rename to tools-ng/tinymce/src/plugins/help/main/ts/data/KeyboardShortcuts.ts
index c60ed2318..5e7aa2ea8 100644
--- a/tools-ng/tinymce/editor/src/plugins/help/main/ts/data/KeyboardShortcuts.ts
+++ b/tools-ng/tinymce/src/plugins/help/main/ts/data/KeyboardShortcuts.ts
@@ -1,11 +1,8 @@
/**
- * KeyboardShortcuts.js
- *
- * Released under LGPL License.
- * Copyright (c) 1999-2017 Ephox Corp. All rights reserved
- *
- * License: http://www.tinymce.com/license
- * Contributing: http://www.tinymce.com/contributing
+ * Copyright (c) Tiny Technologies, Inc. All rights reserved.
+ * Licensed under the LGPL or a commercial license.
+ * For LGPL see License.txt in the project root for license information.
+ * For commercial licenses see https://www.tiny.cloud/
*/
import Env from 'tinymce/core/api/Env';
diff --git a/tools-ng/tinymce/editor/src/plugins/help/main/ts/data/PluginUrls.ts b/tools-ng/tinymce/src/plugins/help/main/ts/data/PluginUrls.ts
similarity index 88%
rename from tools-ng/tinymce/editor/src/plugins/help/main/ts/data/PluginUrls.ts
rename to tools-ng/tinymce/src/plugins/help/main/ts/data/PluginUrls.ts
index 721572c5e..b2def4e3d 100644
--- a/tools-ng/tinymce/editor/src/plugins/help/main/ts/data/PluginUrls.ts
+++ b/tools-ng/tinymce/src/plugins/help/main/ts/data/PluginUrls.ts
@@ -1,11 +1,8 @@
/**
- * PluginUrls.js
- *
- * Released under LGPL License.
- * Copyright (c) 1999-2017 Ephox Corp. All rights reserved
- *
- * License: http://www.tinymce.com/license
- * Contributing: http://www.tinymce.com/contributing
+ * Copyright (c) Tiny Technologies, Inc. All rights reserved.
+ * Licensed under the LGPL or a commercial license.
+ * For LGPL see License.txt in the project root for license information.
+ * For commercial licenses see https://www.tiny.cloud/
*/
const urls = [
diff --git a/tools-ng/tinymce/editor/src/plugins/help/main/ts/ui/Buttons.ts b/tools-ng/tinymce/src/plugins/help/main/ts/ui/Buttons.ts
similarity index 59%
rename from tools-ng/tinymce/editor/src/plugins/help/main/ts/ui/Buttons.ts
rename to tools-ng/tinymce/src/plugins/help/main/ts/ui/Buttons.ts
index 569e61fbb..be9b67bb1 100644
--- a/tools-ng/tinymce/editor/src/plugins/help/main/ts/ui/Buttons.ts
+++ b/tools-ng/tinymce/src/plugins/help/main/ts/ui/Buttons.ts
@@ -1,11 +1,8 @@
/**
- * Buttons.js
- *
- * Released under LGPL License.
- * Copyright (c) 1999-2017 Ephox Corp. All rights reserved
- *
- * License: http://www.tinymce.com/license
- * Contributing: http://www.tinymce.com/contributing
+ * Copyright (c) Tiny Technologies, Inc. All rights reserved.
+ * Licensed under the LGPL or a commercial license.
+ * For LGPL see License.txt in the project root for license information.
+ * For commercial licenses see https://www.tiny.cloud/
*/
import Dialog from './Dialog';
diff --git a/tools-ng/tinymce/editor/src/plugins/help/main/ts/ui/ButtonsRow.ts b/tools-ng/tinymce/src/plugins/help/main/ts/ui/ButtonsRow.ts
similarity index 77%
rename from tools-ng/tinymce/editor/src/plugins/help/main/ts/ui/ButtonsRow.ts
rename to tools-ng/tinymce/src/plugins/help/main/ts/ui/ButtonsRow.ts
index 8c349c43b..36097ee30 100644
--- a/tools-ng/tinymce/editor/src/plugins/help/main/ts/ui/ButtonsRow.ts
+++ b/tools-ng/tinymce/src/plugins/help/main/ts/ui/ButtonsRow.ts
@@ -1,11 +1,8 @@
/**
- * ButtonsRow.js
- *
- * Released under LGPL License.
- * Copyright (c) 1999-2017 Ephox Corp. All rights reserved
- *
- * License: http://www.tinymce.com/license
- * Contributing: http://www.tinymce.com/contributing
+ * Copyright (c) Tiny Technologies, Inc. All rights reserved.
+ * Licensed under the LGPL or a commercial license.
+ * For LGPL see License.txt in the project root for license information.
+ * For commercial licenses see https://www.tiny.cloud/
*/
import EditorManager from 'tinymce/core/api/EditorManager';
diff --git a/tools-ng/tinymce/editor/src/plugins/help/main/ts/ui/Dialog.ts b/tools-ng/tinymce/src/plugins/help/main/ts/ui/Dialog.ts
similarity index 74%
rename from tools-ng/tinymce/editor/src/plugins/help/main/ts/ui/Dialog.ts
rename to tools-ng/tinymce/src/plugins/help/main/ts/ui/Dialog.ts
index 748b8e21d..1bf483f9b 100644
--- a/tools-ng/tinymce/editor/src/plugins/help/main/ts/ui/Dialog.ts
+++ b/tools-ng/tinymce/src/plugins/help/main/ts/ui/Dialog.ts
@@ -1,11 +1,8 @@
/**
- * Dialog.js
- *
- * Released under LGPL License.
- * Copyright (c) 1999-2017 Ephox Corp. All rights reserved
- *
- * License: http://www.tinymce.com/license
- * Contributing: http://www.tinymce.com/contributing
+ * Copyright (c) Tiny Technologies, Inc. All rights reserved.
+ * Licensed under the LGPL or a commercial license.
+ * For LGPL see License.txt in the project root for license information.
+ * For commercial licenses see https://www.tiny.cloud/
*/
import KeyboardShortcutsTab from './KeyboardShortcutsTab';
diff --git a/tools-ng/tinymce/editor/src/plugins/help/main/ts/ui/KeyboardShortcutsTab.ts b/tools-ng/tinymce/src/plugins/help/main/ts/ui/KeyboardShortcutsTab.ts
similarity index 84%
rename from tools-ng/tinymce/editor/src/plugins/help/main/ts/ui/KeyboardShortcutsTab.ts
rename to tools-ng/tinymce/src/plugins/help/main/ts/ui/KeyboardShortcutsTab.ts
index 17264b397..16fa227a1 100644
--- a/tools-ng/tinymce/editor/src/plugins/help/main/ts/ui/KeyboardShortcutsTab.ts
+++ b/tools-ng/tinymce/src/plugins/help/main/ts/ui/KeyboardShortcutsTab.ts
@@ -1,11 +1,8 @@
/**
- * KeyboardShortcutsTab.js
- *
- * Released under LGPL License.
- * Copyright (c) 1999-2017 Ephox Corp. All rights reserved
- *
- * License: http://www.tinymce.com/license
- * Contributing: http://www.tinymce.com/contributing
+ * Copyright (c) Tiny Technologies, Inc. All rights reserved.
+ * Licensed under the LGPL or a commercial license.
+ * For LGPL see License.txt in the project root for license information.
+ * For commercial licenses see https://www.tiny.cloud/
*/
import { Arr } from '@ephox/katamari';
diff --git a/tools-ng/tinymce/editor/src/plugins/help/main/ts/ui/PluginsTab.ts b/tools-ng/tinymce/src/plugins/help/main/ts/ui/PluginsTab.ts
similarity index 91%
rename from tools-ng/tinymce/editor/src/plugins/help/main/ts/ui/PluginsTab.ts
rename to tools-ng/tinymce/src/plugins/help/main/ts/ui/PluginsTab.ts
index dd0fb6629..72b65749e 100644
--- a/tools-ng/tinymce/editor/src/plugins/help/main/ts/ui/PluginsTab.ts
+++ b/tools-ng/tinymce/src/plugins/help/main/ts/ui/PluginsTab.ts
@@ -1,11 +1,8 @@
/**
- * PluginsTab.js
- *
- * Released under LGPL License.
- * Copyright (c) 1999-2017 Ephox Corp. All rights reserved
- *
- * License: http://www.tinymce.com/license
- * Contributing: http://www.tinymce.com/contributing
+ * Copyright (c) Tiny Technologies, Inc. All rights reserved.
+ * Licensed under the LGPL or a commercial license.
+ * For LGPL see License.txt in the project root for license information.
+ * For commercial licenses see https://www.tiny.cloud/
*/
import { Arr, Fun, Obj, Strings } from '@ephox/katamari';
diff --git a/tools-ng/tinymce/editor/src/plugins/help/test/ts/browser/IgnoreForcedPluginsTest.ts b/tools-ng/tinymce/src/plugins/help/test/ts/browser/IgnoreForcedPluginsTest.ts
similarity index 100%
rename from tools-ng/tinymce/editor/src/plugins/help/test/ts/browser/IgnoreForcedPluginsTest.ts
rename to tools-ng/tinymce/src/plugins/help/test/ts/browser/IgnoreForcedPluginsTest.ts
diff --git a/tools-ng/tinymce/editor/src/plugins/help/test/ts/browser/MetadataTest.ts b/tools-ng/tinymce/src/plugins/help/test/ts/browser/MetadataTest.ts
similarity index 100%
rename from tools-ng/tinymce/editor/src/plugins/help/test/ts/browser/MetadataTest.ts
rename to tools-ng/tinymce/src/plugins/help/test/ts/browser/MetadataTest.ts
diff --git a/tools-ng/tinymce/editor/src/plugins/help/test/ts/browser/PluginTest.ts b/tools-ng/tinymce/src/plugins/help/test/ts/browser/PluginTest.ts
similarity index 100%
rename from tools-ng/tinymce/editor/src/plugins/help/test/ts/browser/PluginTest.ts
rename to tools-ng/tinymce/src/plugins/help/test/ts/browser/PluginTest.ts
diff --git a/tools-ng/tinymce/editor/src/plugins/help/test/ts/module/test/FakePlugin.ts b/tools-ng/tinymce/src/plugins/help/test/ts/module/test/FakePlugin.ts
similarity index 100%
rename from tools-ng/tinymce/editor/src/plugins/help/test/ts/module/test/FakePlugin.ts
rename to tools-ng/tinymce/src/plugins/help/test/ts/module/test/FakePlugin.ts
diff --git a/tools-ng/tinymce/editor/src/plugins/help/test/ts/module/test/NoMetaFakePlugin.ts b/tools-ng/tinymce/src/plugins/help/test/ts/module/test/NoMetaFakePlugin.ts
similarity index 100%
rename from tools-ng/tinymce/editor/src/plugins/help/test/ts/module/test/NoMetaFakePlugin.ts
rename to tools-ng/tinymce/src/plugins/help/test/ts/module/test/NoMetaFakePlugin.ts
diff --git a/tools-ng/tinymce/editor/src/plugins/hr/demo/html/demo.html b/tools-ng/tinymce/src/plugins/hr/demo/html/demo.html
similarity index 100%
rename from tools-ng/tinymce/editor/src/plugins/hr/demo/html/demo.html
rename to tools-ng/tinymce/src/plugins/hr/demo/html/demo.html
diff --git a/tools-ng/tinymce/editor/src/plugins/hr/demo/ts/demo/Demo.ts b/tools-ng/tinymce/src/plugins/hr/demo/ts/demo/Demo.ts
similarity index 100%
rename from tools-ng/tinymce/editor/src/plugins/hr/demo/ts/demo/Demo.ts
rename to tools-ng/tinymce/src/plugins/hr/demo/ts/demo/Demo.ts
diff --git a/tools-ng/tinymce/editor/src/plugins/hr/main/ts/Plugin.ts b/tools-ng/tinymce/src/plugins/hr/main/ts/Plugin.ts
similarity index 53%
rename from tools-ng/tinymce/editor/src/plugins/hr/main/ts/Plugin.ts
rename to tools-ng/tinymce/src/plugins/hr/main/ts/Plugin.ts
index d75201148..ecba2b89e 100644
--- a/tools-ng/tinymce/editor/src/plugins/hr/main/ts/Plugin.ts
+++ b/tools-ng/tinymce/src/plugins/hr/main/ts/Plugin.ts
@@ -1,11 +1,8 @@
/**
- * Plugin.js
- *
- * Released under LGPL License.
- * Copyright (c) 1999-2017 Ephox Corp. All rights reserved
- *
- * License: http://www.tinymce.com/license
- * Contributing: http://www.tinymce.com/contributing
+ * Copyright (c) Tiny Technologies, Inc. All rights reserved.
+ * Licensed under the LGPL or a commercial license.
+ * For LGPL see License.txt in the project root for license information.
+ * For commercial licenses see https://www.tiny.cloud/
*/
import PluginManager from 'tinymce/core/api/PluginManager';
diff --git a/tools-ng/tinymce/src/plugins/hr/main/ts/api/Commands.ts b/tools-ng/tinymce/src/plugins/hr/main/ts/api/Commands.ts
new file mode 100644
index 000000000..141959c6a
--- /dev/null
+++ b/tools-ng/tinymce/src/plugins/hr/main/ts/api/Commands.ts
@@ -0,0 +1,16 @@
+/**
+ * Copyright (c) Tiny Technologies, Inc. All rights reserved.
+ * Licensed under the LGPL or a commercial license.
+ * For LGPL see License.txt in the project root for license information.
+ * For commercial licenses see https://www.tiny.cloud/
+ */
+
+const register = function (editor) {
+ editor.addCommand('InsertHorizontalRule', function () {
+ editor.execCommand('mceInsertContent', false, ' ');
+ });
+};
+
+export default {
+ register
+};
\ No newline at end of file
diff --git a/tools-ng/tinymce/editor/src/plugins/hr/main/ts/ui/Buttons.ts b/tools-ng/tinymce/src/plugins/hr/main/ts/ui/Buttons.ts
similarity index 57%
rename from tools-ng/tinymce/editor/src/plugins/hr/main/ts/ui/Buttons.ts
rename to tools-ng/tinymce/src/plugins/hr/main/ts/ui/Buttons.ts
index bd58aea8f..2f4544dd9 100644
--- a/tools-ng/tinymce/editor/src/plugins/hr/main/ts/ui/Buttons.ts
+++ b/tools-ng/tinymce/src/plugins/hr/main/ts/ui/Buttons.ts
@@ -1,11 +1,8 @@
/**
- * Buttons.js
- *
- * Released under LGPL License.
- * Copyright (c) 1999-2017 Ephox Corp. All rights reserved
- *
- * License: http://www.tinymce.com/license
- * Contributing: http://www.tinymce.com/contributing
+ * Copyright (c) Tiny Technologies, Inc. All rights reserved.
+ * Licensed under the LGPL or a commercial license.
+ * For LGPL see License.txt in the project root for license information.
+ * For commercial licenses see https://www.tiny.cloud/
*/
const register = function (editor) {
diff --git a/tools-ng/tinymce/editor/src/plugins/hr/test/ts/browser/HrSanityTest.ts b/tools-ng/tinymce/src/plugins/hr/test/ts/browser/HrSanityTest.ts
similarity index 100%
rename from tools-ng/tinymce/editor/src/plugins/hr/test/ts/browser/HrSanityTest.ts
rename to tools-ng/tinymce/src/plugins/hr/test/ts/browser/HrSanityTest.ts
diff --git a/tools-ng/tinymce/editor/src/plugins/image/demo/html/demo.html b/tools-ng/tinymce/src/plugins/image/demo/html/demo.html
similarity index 100%
rename from tools-ng/tinymce/editor/src/plugins/image/demo/html/demo.html
rename to tools-ng/tinymce/src/plugins/image/demo/html/demo.html
diff --git a/tools-ng/tinymce/editor/src/plugins/image/demo/ts/demo/Demo.ts b/tools-ng/tinymce/src/plugins/image/demo/ts/demo/Demo.ts
similarity index 100%
rename from tools-ng/tinymce/editor/src/plugins/image/demo/ts/demo/Demo.ts
rename to tools-ng/tinymce/src/plugins/image/demo/ts/demo/Demo.ts
diff --git a/tools-ng/tinymce/editor/src/plugins/image/main/ts/Plugin.ts b/tools-ng/tinymce/src/plugins/image/main/ts/Plugin.ts
similarity index 60%
rename from tools-ng/tinymce/editor/src/plugins/image/main/ts/Plugin.ts
rename to tools-ng/tinymce/src/plugins/image/main/ts/Plugin.ts
index 6ed48219d..64df26391 100644
--- a/tools-ng/tinymce/editor/src/plugins/image/main/ts/Plugin.ts
+++ b/tools-ng/tinymce/src/plugins/image/main/ts/Plugin.ts
@@ -1,11 +1,8 @@
/**
- * Plugin.js
- *
- * Released under LGPL License.
- * Copyright (c) 1999-2017 Ephox Corp. All rights reserved
- *
- * License: http://www.tinymce.com/license
- * Contributing: http://www.tinymce.com/contributing
+ * Copyright (c) Tiny Technologies, Inc. All rights reserved.
+ * Licensed under the LGPL or a commercial license.
+ * For LGPL see License.txt in the project root for license information.
+ * For commercial licenses see https://www.tiny.cloud/
*/
import PluginManager from 'tinymce/core/api/PluginManager';
diff --git a/tools-ng/tinymce/src/plugins/image/main/ts/api/Commands.ts b/tools-ng/tinymce/src/plugins/image/main/ts/api/Commands.ts
new file mode 100644
index 000000000..9ff191b94
--- /dev/null
+++ b/tools-ng/tinymce/src/plugins/image/main/ts/api/Commands.ts
@@ -0,0 +1,16 @@
+/**
+ * Copyright (c) Tiny Technologies, Inc. All rights reserved.
+ * Licensed under the LGPL or a commercial license.
+ * For LGPL see License.txt in the project root for license information.
+ * For commercial licenses see https://www.tiny.cloud/
+ */
+
+import Dialog from '../ui/Dialog';
+
+const register = function (editor) {
+ editor.addCommand('mceImage', Dialog(editor).open);
+};
+
+export default {
+ register
+};
\ No newline at end of file
diff --git a/tools-ng/tinymce/editor/src/plugins/image/main/ts/api/Settings.ts b/tools-ng/tinymce/src/plugins/image/main/ts/api/Settings.ts
similarity index 87%
rename from tools-ng/tinymce/editor/src/plugins/image/main/ts/api/Settings.ts
rename to tools-ng/tinymce/src/plugins/image/main/ts/api/Settings.ts
index e087f9711..b76c2019b 100644
--- a/tools-ng/tinymce/editor/src/plugins/image/main/ts/api/Settings.ts
+++ b/tools-ng/tinymce/src/plugins/image/main/ts/api/Settings.ts
@@ -1,11 +1,8 @@
/**
- * Settings.js
- *
- * Released under LGPL License.
- * Copyright (c) 1999-2017 Ephox Corp. All rights reserved
- *
- * License: http://www.tinymce.com/license
- * Contributing: http://www.tinymce.com/contributing
+ * Copyright (c) Tiny Technologies, Inc. All rights reserved.
+ * Licensed under the LGPL or a commercial license.
+ * For LGPL see License.txt in the project root for license information.
+ * For commercial licenses see https://www.tiny.cloud/
*/
const hasDimensions = function (editor) {
diff --git a/tools-ng/tinymce/editor/src/plugins/image/main/ts/core/FilterContent.ts b/tools-ng/tinymce/src/plugins/image/main/ts/core/FilterContent.ts
similarity index 79%
rename from tools-ng/tinymce/editor/src/plugins/image/main/ts/core/FilterContent.ts
rename to tools-ng/tinymce/src/plugins/image/main/ts/core/FilterContent.ts
index d0be4cc0c..c3c5202df 100644
--- a/tools-ng/tinymce/editor/src/plugins/image/main/ts/core/FilterContent.ts
+++ b/tools-ng/tinymce/src/plugins/image/main/ts/core/FilterContent.ts
@@ -1,11 +1,8 @@
/**
- * FilterContent.js
- *
- * Released under LGPL License.
- * Copyright (c) 1999-2017 Ephox Corp. All rights reserved
- *
- * License: http://www.tinymce.com/license
- * Contributing: http://www.tinymce.com/contributing
+ * Copyright (c) Tiny Technologies, Inc. All rights reserved.
+ * Licensed under the LGPL or a commercial license.
+ * For LGPL see License.txt in the project root for license information.
+ * For commercial licenses see https://www.tiny.cloud/
*/
import Tools from 'tinymce/core/api/util/Tools';
diff --git a/tools-ng/tinymce/editor/src/plugins/image/main/ts/core/ImageData.ts b/tools-ng/tinymce/src/plugins/image/main/ts/core/ImageData.ts
similarity index 96%
rename from tools-ng/tinymce/editor/src/plugins/image/main/ts/core/ImageData.ts
rename to tools-ng/tinymce/src/plugins/image/main/ts/core/ImageData.ts
index 989964f18..49ad8051d 100644
--- a/tools-ng/tinymce/editor/src/plugins/image/main/ts/core/ImageData.ts
+++ b/tools-ng/tinymce/src/plugins/image/main/ts/core/ImageData.ts
@@ -1,11 +1,8 @@
/**
- * ImageData.ts
- *
- * Released under LGPL License.
- * Copyright (c) 1999-2018 Ephox Corp. All rights reserved
- *
- * License: http://www.tinymce.com/license
- * Contributing: http://www.tinymce.com/contributing
+ * Copyright (c) Tiny Technologies, Inc. All rights reserved.
+ * Licensed under the LGPL or a commercial license.
+ * For LGPL see License.txt in the project root for license information.
+ * For commercial licenses see https://www.tiny.cloud/
*/
import Utils from 'tinymce/plugins/image/core/Utils';
diff --git a/tools-ng/tinymce/editor/src/plugins/image/main/ts/core/ImageSelection.ts b/tools-ng/tinymce/src/plugins/image/main/ts/core/ImageSelection.ts
similarity index 93%
rename from tools-ng/tinymce/editor/src/plugins/image/main/ts/core/ImageSelection.ts
rename to tools-ng/tinymce/src/plugins/image/main/ts/core/ImageSelection.ts
index 78c18b590..99bd0b4b2 100644
--- a/tools-ng/tinymce/editor/src/plugins/image/main/ts/core/ImageSelection.ts
+++ b/tools-ng/tinymce/src/plugins/image/main/ts/core/ImageSelection.ts
@@ -1,11 +1,8 @@
/**
- * ImageSelection.ts
- *
- * Released under LGPL License.
- * Copyright (c) 1999-2018 Ephox Corp. All rights reserved
- *
- * License: http://www.tinymce.com/license
- * Contributing: http://www.tinymce.com/contributing
+ * Copyright (c) Tiny Technologies, Inc. All rights reserved.
+ * Licensed under the LGPL or a commercial license.
+ * For LGPL see License.txt in the project root for license information.
+ * For commercial licenses see https://www.tiny.cloud/
*/
import { Editor } from 'tinymce/core/api/Editor';
diff --git a/tools-ng/tinymce/editor/src/plugins/image/main/ts/core/Uploader.ts b/tools-ng/tinymce/src/plugins/image/main/ts/core/Uploader.ts
similarity index 90%
rename from tools-ng/tinymce/editor/src/plugins/image/main/ts/core/Uploader.ts
rename to tools-ng/tinymce/src/plugins/image/main/ts/core/Uploader.ts
index ab9490afe..a9f30ea01 100644
--- a/tools-ng/tinymce/editor/src/plugins/image/main/ts/core/Uploader.ts
+++ b/tools-ng/tinymce/src/plugins/image/main/ts/core/Uploader.ts
@@ -1,11 +1,8 @@
/**
- * Uploader.js
- *
- * Released under LGPL License.
- * Copyright (c) 1999-2017 Ephox Corp. All rights reserved
- *
- * License: http://www.tinymce.com/license
- * Contributing: http://www.tinymce.com/contributing
+ * Copyright (c) Tiny Technologies, Inc. All rights reserved.
+ * Licensed under the LGPL or a commercial license.
+ * For LGPL see License.txt in the project root for license information.
+ * For commercial licenses see https://www.tiny.cloud/
*/
import { XMLHttpRequest } from '@ephox/sand';
diff --git a/tools-ng/tinymce/editor/src/plugins/image/main/ts/core/Utils.ts b/tools-ng/tinymce/src/plugins/image/main/ts/core/Utils.ts
similarity index 95%
rename from tools-ng/tinymce/editor/src/plugins/image/main/ts/core/Utils.ts
rename to tools-ng/tinymce/src/plugins/image/main/ts/core/Utils.ts
index a13dae5c8..c04de7849 100644
--- a/tools-ng/tinymce/editor/src/plugins/image/main/ts/core/Utils.ts
+++ b/tools-ng/tinymce/src/plugins/image/main/ts/core/Utils.ts
@@ -1,11 +1,8 @@
/**
- * Utils.js
- *
- * Released under LGPL License.
- * Copyright (c) 1999-2017 Ephox Corp. All rights reserved
- *
- * License: http://www.tinymce.com/license
- * Contributing: http://www.tinymce.com/contributing
+ * Copyright (c) Tiny Technologies, Inc. All rights reserved.
+ * Licensed under the LGPL or a commercial license.
+ * For LGPL see License.txt in the project root for license information.
+ * For commercial licenses see https://www.tiny.cloud/
*/
import { FileReader } from '@ephox/sand';
diff --git a/tools-ng/tinymce/editor/src/plugins/image/main/ts/ui/AdvTab.ts b/tools-ng/tinymce/src/plugins/image/main/ts/ui/AdvTab.ts
similarity index 93%
rename from tools-ng/tinymce/editor/src/plugins/image/main/ts/ui/AdvTab.ts
rename to tools-ng/tinymce/src/plugins/image/main/ts/ui/AdvTab.ts
index 585949543..7b8710969 100644
--- a/tools-ng/tinymce/editor/src/plugins/image/main/ts/ui/AdvTab.ts
+++ b/tools-ng/tinymce/src/plugins/image/main/ts/ui/AdvTab.ts
@@ -1,3 +1,10 @@
+/**
+ * Copyright (c) Tiny Technologies, Inc. All rights reserved.
+ * Licensed under the LGPL or a commercial license.
+ * For LGPL see License.txt in the project root for license information.
+ * For commercial licenses see https://www.tiny.cloud/
+ */
+
import Settings from '../api/Settings';
import Utils from '../core/Utils';
import { Editor } from 'tinymce/core/api/Editor';
diff --git a/tools-ng/tinymce/editor/src/plugins/image/main/ts/ui/Buttons.ts b/tools-ng/tinymce/src/plugins/image/main/ts/ui/Buttons.ts
similarity index 66%
rename from tools-ng/tinymce/editor/src/plugins/image/main/ts/ui/Buttons.ts
rename to tools-ng/tinymce/src/plugins/image/main/ts/ui/Buttons.ts
index da3b0f9c3..384a8b874 100644
--- a/tools-ng/tinymce/editor/src/plugins/image/main/ts/ui/Buttons.ts
+++ b/tools-ng/tinymce/src/plugins/image/main/ts/ui/Buttons.ts
@@ -1,11 +1,8 @@
/**
- * Buttons.js
- *
- * Released under LGPL License.
- * Copyright (c) 1999-2017 Ephox Corp. All rights reserved
- *
- * License: http://www.tinymce.com/license
- * Contributing: http://www.tinymce.com/contributing
+ * Copyright (c) Tiny Technologies, Inc. All rights reserved.
+ * Licensed under the LGPL or a commercial license.
+ * For LGPL see License.txt in the project root for license information.
+ * For commercial licenses see https://www.tiny.cloud/
*/
import Dialog from './Dialog';
diff --git a/tools-ng/tinymce/editor/src/plugins/image/main/ts/ui/Dialog.ts b/tools-ng/tinymce/src/plugins/image/main/ts/ui/Dialog.ts
similarity index 92%
rename from tools-ng/tinymce/editor/src/plugins/image/main/ts/ui/Dialog.ts
rename to tools-ng/tinymce/src/plugins/image/main/ts/ui/Dialog.ts
index cf4ee8032..16e4e5c1a 100644
--- a/tools-ng/tinymce/editor/src/plugins/image/main/ts/ui/Dialog.ts
+++ b/tools-ng/tinymce/src/plugins/image/main/ts/ui/Dialog.ts
@@ -1,11 +1,8 @@
/**
- * Dialog.js
- *
- * Released under LGPL License.
- * Copyright (c) 1999-2017 Ephox Corp. All rights reserved
- *
- * License: http://www.tinymce.com/license
- * Contributing: http://www.tinymce.com/contributing
+ * Copyright (c) Tiny Technologies, Inc. All rights reserved.
+ * Licensed under the LGPL or a commercial license.
+ * For LGPL see License.txt in the project root for license information.
+ * For commercial licenses see https://www.tiny.cloud/
*/
import Settings from '../api/Settings';
diff --git a/tools-ng/tinymce/editor/src/plugins/image/main/ts/ui/MainTab.ts b/tools-ng/tinymce/src/plugins/image/main/ts/ui/MainTab.ts
similarity index 92%
rename from tools-ng/tinymce/editor/src/plugins/image/main/ts/ui/MainTab.ts
rename to tools-ng/tinymce/src/plugins/image/main/ts/ui/MainTab.ts
index b1b770b34..0eff933f6 100644
--- a/tools-ng/tinymce/editor/src/plugins/image/main/ts/ui/MainTab.ts
+++ b/tools-ng/tinymce/src/plugins/image/main/ts/ui/MainTab.ts
@@ -1,3 +1,10 @@
+/**
+ * Copyright (c) Tiny Technologies, Inc. All rights reserved.
+ * Licensed under the LGPL or a commercial license.
+ * For LGPL see License.txt in the project root for license information.
+ * For commercial licenses see https://www.tiny.cloud/
+ */
+
import Tools from 'tinymce/core/api/util/Tools';
import Settings from '../api/Settings';
import Utils from '../core/Utils';
diff --git a/tools-ng/tinymce/editor/src/plugins/image/main/ts/ui/SizeManager.ts b/tools-ng/tinymce/src/plugins/image/main/ts/ui/SizeManager.ts
similarity index 88%
rename from tools-ng/tinymce/editor/src/plugins/image/main/ts/ui/SizeManager.ts
rename to tools-ng/tinymce/src/plugins/image/main/ts/ui/SizeManager.ts
index e18ebabaf..cf2988412 100644
--- a/tools-ng/tinymce/editor/src/plugins/image/main/ts/ui/SizeManager.ts
+++ b/tools-ng/tinymce/src/plugins/image/main/ts/ui/SizeManager.ts
@@ -1,3 +1,10 @@
+/**
+ * Copyright (c) Tiny Technologies, Inc. All rights reserved.
+ * Licensed under the LGPL or a commercial license.
+ * For LGPL see License.txt in the project root for license information.
+ * For commercial licenses see https://www.tiny.cloud/
+ */
+
const doSyncSize = function (widthCtrl, heightCtrl) {
widthCtrl.state.set('oldVal', widthCtrl.value());
heightCtrl.state.set('oldVal', heightCtrl.value());
diff --git a/tools-ng/tinymce/editor/src/plugins/image/main/ts/ui/UploadTab.ts b/tools-ng/tinymce/src/plugins/image/main/ts/ui/UploadTab.ts
similarity index 90%
rename from tools-ng/tinymce/editor/src/plugins/image/main/ts/ui/UploadTab.ts
rename to tools-ng/tinymce/src/plugins/image/main/ts/ui/UploadTab.ts
index 7ef761051..5e6540ce3 100644
--- a/tools-ng/tinymce/editor/src/plugins/image/main/ts/ui/UploadTab.ts
+++ b/tools-ng/tinymce/src/plugins/image/main/ts/ui/UploadTab.ts
@@ -1,3 +1,10 @@
+/**
+ * Copyright (c) Tiny Technologies, Inc. All rights reserved.
+ * Licensed under the LGPL or a commercial license.
+ * For LGPL see License.txt in the project root for license information.
+ * For commercial licenses see https://www.tiny.cloud/
+ */
+
import { URL } from '@ephox/sand';
import Factory from 'tinymce/core/api/ui/Factory';
import Settings from '../api/Settings';
diff --git a/tools-ng/tinymce/editor/src/plugins/image/test/ts/browser/FigureDeleteTest.ts b/tools-ng/tinymce/src/plugins/image/test/ts/browser/FigureDeleteTest.ts
similarity index 100%
rename from tools-ng/tinymce/editor/src/plugins/image/test/ts/browser/FigureDeleteTest.ts
rename to tools-ng/tinymce/src/plugins/image/test/ts/browser/FigureDeleteTest.ts
diff --git a/tools-ng/tinymce/editor/src/plugins/image/test/ts/browser/FigureResizeTest.ts b/tools-ng/tinymce/src/plugins/image/test/ts/browser/FigureResizeTest.ts
similarity index 89%
rename from tools-ng/tinymce/editor/src/plugins/image/test/ts/browser/FigureResizeTest.ts
rename to tools-ng/tinymce/src/plugins/image/test/ts/browser/FigureResizeTest.ts
index a07b32255..893ab3ea1 100644
--- a/tools-ng/tinymce/editor/src/plugins/image/test/ts/browser/FigureResizeTest.ts
+++ b/tools-ng/tinymce/src/plugins/image/test/ts/browser/FigureResizeTest.ts
@@ -1,9 +1,10 @@
import { Assertions, Chain, Guard, Mouse, NamedChain, Pipeline, UiFinder } from '@ephox/agar';
import { UnitTest } from '@ephox/bedrock';
-import { ApiChains, Editor, TinyDom, UiChains } from '@ephox/mcagar';
+import { ApiChains, Editor as McEditor, TinyDom, UiChains } from '@ephox/mcagar';
import ImagePlugin from 'tinymce/plugins/image/Plugin';
import ModernTheme from 'tinymce/themes/modern/Theme';
+import { Editor } from 'tinymce/core/api/Editor';
UnitTest.asynctest('browser.tinymce.plugins.image.FigureResizeTest', function () {
const success = arguments[arguments.length - 2];
@@ -33,9 +34,13 @@ UnitTest.asynctest('browser.tinymce.plugins.image.FigureResizeTest', function ()
});
};
+ const cFillActiveDialog = (json) => Chain.op((editor: Editor) => {
+ editor.windowManager.getWindows()[0].fromJSON(json);
+ });
+
Pipeline.async({}, [
Chain.asStep({}, [
- Editor.cFromSettings({
+ McEditor.cFromSettings({
plugins: 'image',
toolbar: 'image',
indent: false,
@@ -44,7 +49,7 @@ UnitTest.asynctest('browser.tinymce.plugins.image.FigureResizeTest', function ()
skin_url: '/project/js/tinymce/skins/lightgray'
}),
UiChains.cClickOnToolbar('click image button', 'div[aria-label="Insert/edit image"]'),
- UiChains.cFillActiveDialog({
+ cFillActiveDialog({
src: 'data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7',
width: 100,
height: 100,
@@ -69,7 +74,7 @@ UnitTest.asynctest('browser.tinymce.plugins.image.FigureResizeTest', function ()
NamedChain.direct('imgSize', Assertions.cAssertEq('asserting image size after resize', { w: '200px', h: '200px' }), '_'),
NamedChain.output('editor')
]),
- Editor.cRemove
+ McEditor.cRemove
])
], function () {
success();
diff --git a/tools-ng/tinymce/editor/src/plugins/image/test/ts/browser/ImageListTest.ts b/tools-ng/tinymce/src/plugins/image/test/ts/browser/ImageListTest.ts
similarity index 100%
rename from tools-ng/tinymce/editor/src/plugins/image/test/ts/browser/ImageListTest.ts
rename to tools-ng/tinymce/src/plugins/image/test/ts/browser/ImageListTest.ts
diff --git a/tools-ng/tinymce/editor/src/plugins/image/test/ts/browser/ImagePluginTest.ts b/tools-ng/tinymce/src/plugins/image/test/ts/browser/ImagePluginTest.ts
similarity index 100%
rename from tools-ng/tinymce/editor/src/plugins/image/test/ts/browser/ImagePluginTest.ts
rename to tools-ng/tinymce/src/plugins/image/test/ts/browser/ImagePluginTest.ts
diff --git a/tools-ng/tinymce/editor/src/plugins/image/test/ts/browser/ImageResizeTest.ts b/tools-ng/tinymce/src/plugins/image/test/ts/browser/ImageResizeTest.ts
similarity index 100%
rename from tools-ng/tinymce/editor/src/plugins/image/test/ts/browser/ImageResizeTest.ts
rename to tools-ng/tinymce/src/plugins/image/test/ts/browser/ImageResizeTest.ts
diff --git a/tools-ng/tinymce/editor/src/plugins/image/test/ts/browser/UploadTabTest.ts b/tools-ng/tinymce/src/plugins/image/test/ts/browser/UploadTabTest.ts
similarity index 100%
rename from tools-ng/tinymce/editor/src/plugins/image/test/ts/browser/UploadTabTest.ts
rename to tools-ng/tinymce/src/plugins/image/test/ts/browser/UploadTabTest.ts
diff --git a/tools-ng/tinymce/editor/src/plugins/image/test/ts/browser/core/ImageDataTest.ts b/tools-ng/tinymce/src/plugins/image/test/ts/browser/core/ImageDataTest.ts
similarity index 100%
rename from tools-ng/tinymce/editor/src/plugins/image/test/ts/browser/core/ImageDataTest.ts
rename to tools-ng/tinymce/src/plugins/image/test/ts/browser/core/ImageDataTest.ts
diff --git a/tools-ng/tinymce/editor/src/plugins/image/test/ts/browser/core/ImageSelectionTest.ts b/tools-ng/tinymce/src/plugins/image/test/ts/browser/core/ImageSelectionTest.ts
similarity index 100%
rename from tools-ng/tinymce/editor/src/plugins/image/test/ts/browser/core/ImageSelectionTest.ts
rename to tools-ng/tinymce/src/plugins/image/test/ts/browser/core/ImageSelectionTest.ts
diff --git a/tools-ng/tinymce/editor/src/plugins/imagetools/demo/html/demo.html b/tools-ng/tinymce/src/plugins/imagetools/demo/html/demo.html
similarity index 100%
rename from tools-ng/tinymce/editor/src/plugins/imagetools/demo/html/demo.html
rename to tools-ng/tinymce/src/plugins/imagetools/demo/html/demo.html
diff --git a/tools-ng/tinymce/editor/src/plugins/imagetools/demo/img/dogleft.jpg b/tools-ng/tinymce/src/plugins/imagetools/demo/img/dogleft.jpg
similarity index 100%
rename from tools-ng/tinymce/editor/src/plugins/imagetools/demo/img/dogleft.jpg
rename to tools-ng/tinymce/src/plugins/imagetools/demo/img/dogleft.jpg
diff --git a/tools-ng/tinymce/editor/src/plugins/imagetools/demo/ts/demo/Demo.ts b/tools-ng/tinymce/src/plugins/imagetools/demo/ts/demo/Demo.ts
similarity index 100%
rename from tools-ng/tinymce/editor/src/plugins/imagetools/demo/ts/demo/Demo.ts
rename to tools-ng/tinymce/src/plugins/imagetools/demo/ts/demo/Demo.ts
diff --git a/tools-ng/tinymce/editor/src/plugins/imagetools/main/ts/Plugin.ts b/tools-ng/tinymce/src/plugins/imagetools/main/ts/Plugin.ts
similarity index 73%
rename from tools-ng/tinymce/editor/src/plugins/imagetools/main/ts/Plugin.ts
rename to tools-ng/tinymce/src/plugins/imagetools/main/ts/Plugin.ts
index 7ea1ae12d..1cefade91 100644
--- a/tools-ng/tinymce/editor/src/plugins/imagetools/main/ts/Plugin.ts
+++ b/tools-ng/tinymce/src/plugins/imagetools/main/ts/Plugin.ts
@@ -1,11 +1,8 @@
/**
- * Plugin.js
- *
- * Released under LGPL License.
- * Copyright (c) 1999-2017 Ephox Corp. All rights reserved
- *
- * License: http://www.tinymce.com/license
- * Contributing: http://www.tinymce.com/contributing
+ * Copyright (c) Tiny Technologies, Inc. All rights reserved.
+ * Licensed under the LGPL or a commercial license.
+ * For LGPL see License.txt in the project root for license information.
+ * For commercial licenses see https://www.tiny.cloud/
*/
import { Cell } from '@ephox/katamari';
diff --git a/tools-ng/tinymce/editor/src/plugins/imagetools/main/ts/api/Commands.ts b/tools-ng/tinymce/src/plugins/imagetools/main/ts/api/Commands.ts
similarity index 72%
rename from tools-ng/tinymce/editor/src/plugins/imagetools/main/ts/api/Commands.ts
rename to tools-ng/tinymce/src/plugins/imagetools/main/ts/api/Commands.ts
index 947d7b2b5..7911e16d6 100644
--- a/tools-ng/tinymce/editor/src/plugins/imagetools/main/ts/api/Commands.ts
+++ b/tools-ng/tinymce/src/plugins/imagetools/main/ts/api/Commands.ts
@@ -1,11 +1,8 @@
/**
- * Commands.js
- *
- * Released under LGPL License.
- * Copyright (c) 1999-2017 Ephox Corp. All rights reserved
- *
- * License: http://www.tinymce.com/license
- * Contributing: http://www.tinymce.com/contributing
+ * Copyright (c) Tiny Technologies, Inc. All rights reserved.
+ * Licensed under the LGPL or a commercial license.
+ * For LGPL see License.txt in the project root for license information.
+ * For commercial licenses see https://www.tiny.cloud/
*/
import Tools from 'tinymce/core/api/util/Tools';
diff --git a/tools-ng/tinymce/editor/src/plugins/imagetools/main/ts/api/Settings.ts b/tools-ng/tinymce/src/plugins/imagetools/main/ts/api/Settings.ts
similarity index 81%
rename from tools-ng/tinymce/editor/src/plugins/imagetools/main/ts/api/Settings.ts
rename to tools-ng/tinymce/src/plugins/imagetools/main/ts/api/Settings.ts
index b99bc8aff..9581c4fe7 100644
--- a/tools-ng/tinymce/editor/src/plugins/imagetools/main/ts/api/Settings.ts
+++ b/tools-ng/tinymce/src/plugins/imagetools/main/ts/api/Settings.ts
@@ -1,11 +1,8 @@
/**
- * Settings.js
- *
- * Released under LGPL License.
- * Copyright (c) 1999-2017 Ephox Corp. All rights reserved
- *
- * License: http://www.tinymce.com/license
- * Contributing: http://www.tinymce.com/contributing
+ * Copyright (c) Tiny Technologies, Inc. All rights reserved.
+ * Licensed under the LGPL or a commercial license.
+ * For LGPL see License.txt in the project root for license information.
+ * For commercial licenses see https://www.tiny.cloud/
*/
import { Editor } from 'tinymce/core/api/Editor';
diff --git a/tools-ng/tinymce/editor/src/plugins/imagetools/main/ts/core/Actions.ts b/tools-ng/tinymce/src/plugins/imagetools/main/ts/core/Actions.ts
similarity index 96%
rename from tools-ng/tinymce/editor/src/plugins/imagetools/main/ts/core/Actions.ts
rename to tools-ng/tinymce/src/plugins/imagetools/main/ts/core/Actions.ts
index 98692b530..be5246e0f 100644
--- a/tools-ng/tinymce/editor/src/plugins/imagetools/main/ts/core/Actions.ts
+++ b/tools-ng/tinymce/src/plugins/imagetools/main/ts/core/Actions.ts
@@ -1,11 +1,8 @@
/**
- * Actions.js
- *
- * Released under LGPL License.
- * Copyright (c) 1999-2017 Ephox Corp. All rights reserved
- *
- * License: http://www.tinymce.com/license
- * Contributing: http://www.tinymce.com/contributing
+ * Copyright (c) Tiny Technologies, Inc. All rights reserved.
+ * Licensed under the LGPL or a commercial license.
+ * For LGPL see License.txt in the project root for license information.
+ * For commercial licenses see https://www.tiny.cloud/
*/
import { BlobConversions, ImageTransformations, ResultConversions } from '@ephox/imagetools';
diff --git a/tools-ng/tinymce/editor/src/plugins/imagetools/main/ts/core/Errors.ts b/tools-ng/tinymce/src/plugins/imagetools/main/ts/core/Errors.ts
similarity index 89%
rename from tools-ng/tinymce/editor/src/plugins/imagetools/main/ts/core/Errors.ts
rename to tools-ng/tinymce/src/plugins/imagetools/main/ts/core/Errors.ts
index 33f83df47..784807104 100644
--- a/tools-ng/tinymce/editor/src/plugins/imagetools/main/ts/core/Errors.ts
+++ b/tools-ng/tinymce/src/plugins/imagetools/main/ts/core/Errors.ts
@@ -1,3 +1,10 @@
+/**
+ * Copyright (c) Tiny Technologies, Inc. All rights reserved.
+ * Licensed under the LGPL or a commercial license.
+ * For LGPL see License.txt in the project root for license information.
+ * For commercial licenses see https://www.tiny.cloud/
+ */
+
import { Arr, Fun } from '@ephox/katamari';
import Promise from 'tinymce/core/api/util/Promise';
import Utils from './Utils';
diff --git a/tools-ng/tinymce/editor/src/plugins/imagetools/main/ts/core/ImageSize.ts b/tools-ng/tinymce/src/plugins/imagetools/main/ts/core/ImageSize.ts
similarity index 83%
rename from tools-ng/tinymce/editor/src/plugins/imagetools/main/ts/core/ImageSize.ts
rename to tools-ng/tinymce/src/plugins/imagetools/main/ts/core/ImageSize.ts
index 46381f9c3..ff1d06a74 100644
--- a/tools-ng/tinymce/editor/src/plugins/imagetools/main/ts/core/ImageSize.ts
+++ b/tools-ng/tinymce/src/plugins/imagetools/main/ts/core/ImageSize.ts
@@ -1,11 +1,8 @@
/**
- * ImageSize.js
- *
- * Released under LGPL License.
- * Copyright (c) 1999-2017 Ephox Corp. All rights reserved
- *
- * License: http://www.tinymce.com/license
- * Contributing: http://www.tinymce.com/contributing
+ * Copyright (c) Tiny Technologies, Inc. All rights reserved.
+ * Licensed under the LGPL or a commercial license.
+ * For LGPL see License.txt in the project root for license information.
+ * For commercial licenses see https://www.tiny.cloud/
*/
function getImageSize(img) {
diff --git a/tools-ng/tinymce/editor/src/plugins/imagetools/main/ts/core/LoadImage.ts b/tools-ng/tinymce/src/plugins/imagetools/main/ts/core/LoadImage.ts
similarity index 62%
rename from tools-ng/tinymce/editor/src/plugins/imagetools/main/ts/core/LoadImage.ts
rename to tools-ng/tinymce/src/plugins/imagetools/main/ts/core/LoadImage.ts
index 65ba96173..ddfa4625b 100644
--- a/tools-ng/tinymce/editor/src/plugins/imagetools/main/ts/core/LoadImage.ts
+++ b/tools-ng/tinymce/src/plugins/imagetools/main/ts/core/LoadImage.ts
@@ -1,11 +1,8 @@
/**
- * LoadImage.js
- *
- * Released under LGPL License.
- * Copyright (c) 1999-2017 Ephox Corp. All rights reserved
- *
- * License: http://www.tinymce.com/license
- * Contributing: http://www.tinymce.com/contributing
+ * Copyright (c) Tiny Technologies, Inc. All rights reserved.
+ * Licensed under the LGPL or a commercial license.
+ * For LGPL see License.txt in the project root for license information.
+ * For commercial licenses see https://www.tiny.cloud/
*/
import Promise from 'tinymce/core/api/util/Promise';
diff --git a/tools-ng/tinymce/editor/src/plugins/imagetools/main/ts/core/Proxy.ts b/tools-ng/tinymce/src/plugins/imagetools/main/ts/core/Proxy.ts
similarity index 85%
rename from tools-ng/tinymce/editor/src/plugins/imagetools/main/ts/core/Proxy.ts
rename to tools-ng/tinymce/src/plugins/imagetools/main/ts/core/Proxy.ts
index f857259c8..b3e23baac 100644
--- a/tools-ng/tinymce/editor/src/plugins/imagetools/main/ts/core/Proxy.ts
+++ b/tools-ng/tinymce/src/plugins/imagetools/main/ts/core/Proxy.ts
@@ -1,11 +1,8 @@
/**
- * Proxy.js
- *
- * Released under LGPL License.
- * Copyright (c) 1999-2017 Ephox Corp. All rights reserved
- *
- * License: http://www.tinymce.com/license
- * Contributing: http://www.tinymce.com/contributing
+ * Copyright (c) Tiny Technologies, Inc. All rights reserved.
+ * Licensed under the LGPL or a commercial license.
+ * For LGPL see License.txt in the project root for license information.
+ * For commercial licenses see https://www.tiny.cloud/
*/
import Promise from 'tinymce/core/api/util/Promise';
diff --git a/tools-ng/tinymce/editor/src/plugins/imagetools/main/ts/core/UndoStack.ts b/tools-ng/tinymce/src/plugins/imagetools/main/ts/core/UndoStack.ts
similarity index 71%
rename from tools-ng/tinymce/editor/src/plugins/imagetools/main/ts/core/UndoStack.ts
rename to tools-ng/tinymce/src/plugins/imagetools/main/ts/core/UndoStack.ts
index 584e807f4..1e950d6d4 100644
--- a/tools-ng/tinymce/editor/src/plugins/imagetools/main/ts/core/UndoStack.ts
+++ b/tools-ng/tinymce/src/plugins/imagetools/main/ts/core/UndoStack.ts
@@ -1,11 +1,8 @@
/**
- * UndoStack.js
- *
- * Released under LGPL License.
- * Copyright (c) 1999-2017 Ephox Corp. All rights reserved
- *
- * License: http://www.tinymce.com/license
- * Contributing: http://www.tinymce.com/contributing
+ * Copyright (c) Tiny Technologies, Inc. All rights reserved.
+ * Licensed under the LGPL or a commercial license.
+ * For LGPL see License.txt in the project root for license information.
+ * For commercial licenses see https://www.tiny.cloud/
*/
export default function () {
diff --git a/tools-ng/tinymce/editor/src/plugins/imagetools/main/ts/core/UploadSelectedImage.ts b/tools-ng/tinymce/src/plugins/imagetools/main/ts/core/UploadSelectedImage.ts
similarity index 76%
rename from tools-ng/tinymce/editor/src/plugins/imagetools/main/ts/core/UploadSelectedImage.ts
rename to tools-ng/tinymce/src/plugins/imagetools/main/ts/core/UploadSelectedImage.ts
index 4c54c4068..a069087f7 100644
--- a/tools-ng/tinymce/editor/src/plugins/imagetools/main/ts/core/UploadSelectedImage.ts
+++ b/tools-ng/tinymce/src/plugins/imagetools/main/ts/core/UploadSelectedImage.ts
@@ -1,11 +1,8 @@
/**
- * Plugin.js
- *
- * Released under LGPL License.
- * Copyright (c) 1999-2017 Ephox Corp. All rights reserved
- *
- * License: http://www.tinymce.com/license
- * Contributing: http://www.tinymce.com/contributing
+ * Copyright (c) Tiny Technologies, Inc. All rights reserved.
+ * Licensed under the LGPL or a commercial license.
+ * For LGPL see License.txt in the project root for license information.
+ * For commercial licenses see https://www.tiny.cloud/
*/
import Actions from './Actions';
diff --git a/tools-ng/tinymce/editor/src/plugins/imagetools/main/ts/core/Utils.ts b/tools-ng/tinymce/src/plugins/imagetools/main/ts/core/Utils.ts
similarity index 86%
rename from tools-ng/tinymce/editor/src/plugins/imagetools/main/ts/core/Utils.ts
rename to tools-ng/tinymce/src/plugins/imagetools/main/ts/core/Utils.ts
index 0b45d6d52..c5ab18b72 100644
--- a/tools-ng/tinymce/editor/src/plugins/imagetools/main/ts/core/Utils.ts
+++ b/tools-ng/tinymce/src/plugins/imagetools/main/ts/core/Utils.ts
@@ -1,12 +1,10 @@
/**
- * Utils.js
- *
- * Released under LGPL License.
- * Copyright (c) 1999-2017 Ephox Corp. All rights reserved
- *
- * License: http://www.tinymce.com/license
- * Contributing: http://www.tinymce.com/contributing
+ * Copyright (c) Tiny Technologies, Inc. All rights reserved.
+ * Licensed under the LGPL or a commercial license.
+ * For LGPL see License.txt in the project root for license information.
+ * For commercial licenses see https://www.tiny.cloud/
*/
+
import { FileReader, XMLHttpRequest } from '@ephox/sand';
import Promise from 'tinymce/core/api/util/Promise';
diff --git a/tools-ng/tinymce/editor/src/plugins/imagetools/main/ts/ui/Buttons.ts b/tools-ng/tinymce/src/plugins/imagetools/main/ts/ui/Buttons.ts
similarity index 74%
rename from tools-ng/tinymce/editor/src/plugins/imagetools/main/ts/ui/Buttons.ts
rename to tools-ng/tinymce/src/plugins/imagetools/main/ts/ui/Buttons.ts
index 530fc60df..eaab0d441 100644
--- a/tools-ng/tinymce/editor/src/plugins/imagetools/main/ts/ui/Buttons.ts
+++ b/tools-ng/tinymce/src/plugins/imagetools/main/ts/ui/Buttons.ts
@@ -1,11 +1,8 @@
/**
- * Buttons.js
- *
- * Released under LGPL License.
- * Copyright (c) 1999-2017 Ephox Corp. All rights reserved
- *
- * License: http://www.tinymce.com/license
- * Contributing: http://www.tinymce.com/contributing
+ * Copyright (c) Tiny Technologies, Inc. All rights reserved.
+ * Licensed under the LGPL or a commercial license.
+ * For LGPL see License.txt in the project root for license information.
+ * For commercial licenses see https://www.tiny.cloud/
*/
const register = function (editor) {
diff --git a/tools-ng/tinymce/editor/src/plugins/imagetools/main/ts/ui/ContextToolbar.ts b/tools-ng/tinymce/src/plugins/imagetools/main/ts/ui/ContextToolbar.ts
similarity index 57%
rename from tools-ng/tinymce/editor/src/plugins/imagetools/main/ts/ui/ContextToolbar.ts
rename to tools-ng/tinymce/src/plugins/imagetools/main/ts/ui/ContextToolbar.ts
index c5dba2c3c..01e820c28 100644
--- a/tools-ng/tinymce/editor/src/plugins/imagetools/main/ts/ui/ContextToolbar.ts
+++ b/tools-ng/tinymce/src/plugins/imagetools/main/ts/ui/ContextToolbar.ts
@@ -1,11 +1,8 @@
/**
- * ContextToolbar.js
- *
- * Released under LGPL License.
- * Copyright (c) 1999-2017 Ephox Corp. All rights reserved
- *
- * License: http://www.tinymce.com/license
- * Contributing: http://www.tinymce.com/contributing
+ * Copyright (c) Tiny Technologies, Inc. All rights reserved.
+ * Licensed under the LGPL or a commercial license.
+ * For LGPL see License.txt in the project root for license information.
+ * For commercial licenses see https://www.tiny.cloud/
*/
import { Fun } from '@ephox/katamari';
diff --git a/tools-ng/tinymce/editor/src/plugins/imagetools/main/ts/ui/CropRect.ts b/tools-ng/tinymce/src/plugins/imagetools/main/ts/ui/CropRect.ts
similarity index 96%
rename from tools-ng/tinymce/editor/src/plugins/imagetools/main/ts/ui/CropRect.ts
rename to tools-ng/tinymce/src/plugins/imagetools/main/ts/ui/CropRect.ts
index d1a37dd7a..29aa5d07b 100644
--- a/tools-ng/tinymce/editor/src/plugins/imagetools/main/ts/ui/CropRect.ts
+++ b/tools-ng/tinymce/src/plugins/imagetools/main/ts/ui/CropRect.ts
@@ -1,11 +1,8 @@
/**
- * CropRect.js
- *
- * Released under LGPL License.
- * Copyright (c) 1999-2017 Ephox Corp. All rights reserved
- *
- * License: http://www.tinymce.com/license
- * Contributing: http://www.tinymce.com/contributing
+ * Copyright (c) Tiny Technologies, Inc. All rights reserved.
+ * Licensed under the LGPL or a commercial license.
+ * For LGPL see License.txt in the project root for license information.
+ * For commercial licenses see https://www.tiny.cloud/
*/
import DomQuery from 'tinymce/core/api/dom/DomQuery';
diff --git a/tools-ng/tinymce/editor/src/plugins/imagetools/main/ts/ui/Dialog.ts b/tools-ng/tinymce/src/plugins/imagetools/main/ts/ui/Dialog.ts
similarity index 98%
rename from tools-ng/tinymce/editor/src/plugins/imagetools/main/ts/ui/Dialog.ts
rename to tools-ng/tinymce/src/plugins/imagetools/main/ts/ui/Dialog.ts
index 51b3ecf65..1552a828c 100644
--- a/tools-ng/tinymce/editor/src/plugins/imagetools/main/ts/ui/Dialog.ts
+++ b/tools-ng/tinymce/src/plugins/imagetools/main/ts/ui/Dialog.ts
@@ -1,11 +1,8 @@
/**
- * Dialog.js
- *
- * Released under LGPL License.
- * Copyright (c) 1999-2017 Ephox Corp. All rights reserved
- *
- * License: http://www.tinymce.com/license
- * Contributing: http://www.tinymce.com/contributing
+ * Copyright (c) Tiny Technologies, Inc. All rights reserved.
+ * Licensed under the LGPL or a commercial license.
+ * For LGPL see License.txt in the project root for license information.
+ * For commercial licenses see https://www.tiny.cloud/
*/
import { ImageTransformations, ResultConversions } from '@ephox/imagetools';
diff --git a/tools-ng/tinymce/editor/src/plugins/imagetools/main/ts/ui/ImagePanel.ts b/tools-ng/tinymce/src/plugins/imagetools/main/ts/ui/ImagePanel.ts
similarity index 95%
rename from tools-ng/tinymce/editor/src/plugins/imagetools/main/ts/ui/ImagePanel.ts
rename to tools-ng/tinymce/src/plugins/imagetools/main/ts/ui/ImagePanel.ts
index c09d09979..15d8a7703 100644
--- a/tools-ng/tinymce/editor/src/plugins/imagetools/main/ts/ui/ImagePanel.ts
+++ b/tools-ng/tinymce/src/plugins/imagetools/main/ts/ui/ImagePanel.ts
@@ -1,11 +1,8 @@
/**
- * ImagePanel.js
- *
- * Released under LGPL License.
- * Copyright (c) 1999-2017 Ephox Corp. All rights reserved
- *
- * License: http://www.tinymce.com/license
- * Contributing: http://www.tinymce.com/contributing
+ * Copyright (c) Tiny Technologies, Inc. All rights reserved.
+ * Licensed under the LGPL or a commercial license.
+ * For LGPL see License.txt in the project root for license information.
+ * For commercial licenses see https://www.tiny.cloud/
*/
import Rect from 'tinymce/core/api/geom/Rect';
diff --git a/tools-ng/tinymce/editor/src/plugins/imagetools/test/ts/atomic/ErrorsTest.ts b/tools-ng/tinymce/src/plugins/imagetools/test/ts/atomic/ErrorsTest.ts
similarity index 100%
rename from tools-ng/tinymce/editor/src/plugins/imagetools/test/ts/atomic/ErrorsTest.ts
rename to tools-ng/tinymce/src/plugins/imagetools/test/ts/atomic/ErrorsTest.ts
diff --git a/tools-ng/tinymce/editor/src/plugins/imagetools/test/ts/browser/ImageToolsErrorTest.ts b/tools-ng/tinymce/src/plugins/imagetools/test/ts/browser/ImageToolsErrorTest.ts
similarity index 100%
rename from tools-ng/tinymce/editor/src/plugins/imagetools/test/ts/browser/ImageToolsErrorTest.ts
rename to tools-ng/tinymce/src/plugins/imagetools/test/ts/browser/ImageToolsErrorTest.ts
diff --git a/tools-ng/tinymce/editor/src/plugins/imagetools/test/ts/browser/ImageToolsPluginTest.ts b/tools-ng/tinymce/src/plugins/imagetools/test/ts/browser/ImageToolsPluginTest.ts
similarity index 100%
rename from tools-ng/tinymce/editor/src/plugins/imagetools/test/ts/browser/ImageToolsPluginTest.ts
rename to tools-ng/tinymce/src/plugins/imagetools/test/ts/browser/ImageToolsPluginTest.ts
diff --git a/tools-ng/tinymce/editor/src/plugins/imagetools/test/ts/browser/SequenceTest.ts b/tools-ng/tinymce/src/plugins/imagetools/test/ts/browser/SequenceTest.ts
similarity index 100%
rename from tools-ng/tinymce/editor/src/plugins/imagetools/test/ts/browser/SequenceTest.ts
rename to tools-ng/tinymce/src/plugins/imagetools/test/ts/browser/SequenceTest.ts
diff --git a/tools-ng/tinymce/editor/src/plugins/imagetools/test/ts/module/test/ImageOps.ts b/tools-ng/tinymce/src/plugins/imagetools/test/ts/module/test/ImageOps.ts
similarity index 100%
rename from tools-ng/tinymce/editor/src/plugins/imagetools/test/ts/module/test/ImageOps.ts
rename to tools-ng/tinymce/src/plugins/imagetools/test/ts/module/test/ImageOps.ts
diff --git a/tools-ng/tinymce/editor/src/plugins/imagetools/test/ts/module/test/ImageUtils.ts b/tools-ng/tinymce/src/plugins/imagetools/test/ts/module/test/ImageUtils.ts
similarity index 100%
rename from tools-ng/tinymce/editor/src/plugins/imagetools/test/ts/module/test/ImageUtils.ts
rename to tools-ng/tinymce/src/plugins/imagetools/test/ts/module/test/ImageUtils.ts
diff --git a/tools-ng/tinymce/editor/src/plugins/importcss/demo/css/rules.css b/tools-ng/tinymce/src/plugins/importcss/demo/css/rules.css
similarity index 100%
rename from tools-ng/tinymce/editor/src/plugins/importcss/demo/css/rules.css
rename to tools-ng/tinymce/src/plugins/importcss/demo/css/rules.css
diff --git a/tools-ng/tinymce/editor/src/plugins/importcss/demo/html/demo.html b/tools-ng/tinymce/src/plugins/importcss/demo/html/demo.html
similarity index 100%
rename from tools-ng/tinymce/editor/src/plugins/importcss/demo/html/demo.html
rename to tools-ng/tinymce/src/plugins/importcss/demo/html/demo.html
diff --git a/tools-ng/tinymce/editor/src/plugins/importcss/demo/ts/demo/Demo.ts b/tools-ng/tinymce/src/plugins/importcss/demo/ts/demo/Demo.ts
similarity index 100%
rename from tools-ng/tinymce/editor/src/plugins/importcss/demo/ts/demo/Demo.ts
rename to tools-ng/tinymce/src/plugins/importcss/demo/ts/demo/Demo.ts
diff --git a/tools-ng/tinymce/editor/src/plugins/importcss/main/ts/Plugin.ts b/tools-ng/tinymce/src/plugins/importcss/main/ts/Plugin.ts
similarity index 53%
rename from tools-ng/tinymce/editor/src/plugins/importcss/main/ts/Plugin.ts
rename to tools-ng/tinymce/src/plugins/importcss/main/ts/Plugin.ts
index 73d172623..f0c5d356a 100644
--- a/tools-ng/tinymce/editor/src/plugins/importcss/main/ts/Plugin.ts
+++ b/tools-ng/tinymce/src/plugins/importcss/main/ts/Plugin.ts
@@ -1,11 +1,8 @@
/**
- * Plugin.js
- *
- * Released under LGPL License.
- * Copyright (c) 1999-2017 Ephox Corp. All rights reserved
- *
- * License: http://www.tinymce.com/license
- * Contributing: http://www.tinymce.com/contributing
+ * Copyright (c) Tiny Technologies, Inc. All rights reserved.
+ * Licensed under the LGPL or a commercial license.
+ * For LGPL see License.txt in the project root for license information.
+ * For commercial licenses see https://www.tiny.cloud/
*/
import PluginManager from 'tinymce/core/api/PluginManager';
diff --git a/tools-ng/tinymce/editor/src/plugins/importcss/main/ts/api/Api.ts b/tools-ng/tinymce/src/plugins/importcss/main/ts/api/Api.ts
similarity index 55%
rename from tools-ng/tinymce/editor/src/plugins/importcss/main/ts/api/Api.ts
rename to tools-ng/tinymce/src/plugins/importcss/main/ts/api/Api.ts
index a38fb69c3..b27922df9 100644
--- a/tools-ng/tinymce/editor/src/plugins/importcss/main/ts/api/Api.ts
+++ b/tools-ng/tinymce/src/plugins/importcss/main/ts/api/Api.ts
@@ -1,11 +1,8 @@
/**
- * Api.js
- *
- * Released under LGPL License.
- * Copyright (c) 1999-2017 Ephox Corp. All rights reserved
- *
- * License: http://www.tinymce.com/license
- * Contributing: http://www.tinymce.com/contributing
+ * Copyright (c) Tiny Technologies, Inc. All rights reserved.
+ * Licensed under the LGPL or a commercial license.
+ * For LGPL see License.txt in the project root for license information.
+ * For commercial licenses see https://www.tiny.cloud/
*/
import ImportCss from '../core/ImportCss';
diff --git a/tools-ng/tinymce/editor/src/plugins/importcss/main/ts/api/Settings.ts b/tools-ng/tinymce/src/plugins/importcss/main/ts/api/Settings.ts
similarity index 78%
rename from tools-ng/tinymce/editor/src/plugins/importcss/main/ts/api/Settings.ts
rename to tools-ng/tinymce/src/plugins/importcss/main/ts/api/Settings.ts
index 5f52bcad8..0fce64e25 100644
--- a/tools-ng/tinymce/editor/src/plugins/importcss/main/ts/api/Settings.ts
+++ b/tools-ng/tinymce/src/plugins/importcss/main/ts/api/Settings.ts
@@ -1,11 +1,8 @@
/**
- * Settings.js
- *
- * Released under LGPL License.
- * Copyright (c) 1999-2017 Ephox Corp. All rights reserved
- *
- * License: http://www.tinymce.com/license
- * Contributing: http://www.tinymce.com/contributing
+ * Copyright (c) Tiny Technologies, Inc. All rights reserved.
+ * Licensed under the LGPL or a commercial license.
+ * For LGPL see License.txt in the project root for license information.
+ * For commercial licenses see https://www.tiny.cloud/
*/
const shouldMergeClasses = function (editor) {
diff --git a/tools-ng/tinymce/editor/src/plugins/importcss/main/ts/core/ImportCss.ts b/tools-ng/tinymce/src/plugins/importcss/main/ts/core/ImportCss.ts
similarity index 97%
rename from tools-ng/tinymce/editor/src/plugins/importcss/main/ts/core/ImportCss.ts
rename to tools-ng/tinymce/src/plugins/importcss/main/ts/core/ImportCss.ts
index f8693d8c3..44d9e0657 100644
--- a/tools-ng/tinymce/editor/src/plugins/importcss/main/ts/core/ImportCss.ts
+++ b/tools-ng/tinymce/src/plugins/importcss/main/ts/core/ImportCss.ts
@@ -1,11 +1,8 @@
/**
- * ImportCss.js
- *
- * Released under LGPL License.
- * Copyright (c) 1999-2017 Ephox Corp. All rights reserved
- *
- * License: http://www.tinymce.com/license
- * Contributing: http://www.tinymce.com/contributing
+ * Copyright (c) Tiny Technologies, Inc. All rights reserved.
+ * Licensed under the LGPL or a commercial license.
+ * For LGPL see License.txt in the project root for license information.
+ * For commercial licenses see https://www.tiny.cloud/
*/
import DOMUtils from 'tinymce/core/api/dom/DOMUtils';
diff --git a/tools-ng/tinymce/editor/src/plugins/importcss/test/ts/browser/ImportCssPluginTest.ts b/tools-ng/tinymce/src/plugins/importcss/test/ts/browser/ImportCssPluginTest.ts
similarity index 100%
rename from tools-ng/tinymce/editor/src/plugins/importcss/test/ts/browser/ImportCssPluginTest.ts
rename to tools-ng/tinymce/src/plugins/importcss/test/ts/browser/ImportCssPluginTest.ts
diff --git a/tools-ng/tinymce/editor/src/plugins/insertdatetime/demo/html/demo.html b/tools-ng/tinymce/src/plugins/insertdatetime/demo/html/demo.html
similarity index 100%
rename from tools-ng/tinymce/editor/src/plugins/insertdatetime/demo/html/demo.html
rename to tools-ng/tinymce/src/plugins/insertdatetime/demo/html/demo.html
diff --git a/tools-ng/tinymce/editor/src/plugins/insertdatetime/demo/ts/demo/Demo.ts b/tools-ng/tinymce/src/plugins/insertdatetime/demo/ts/demo/Demo.ts
similarity index 100%
rename from tools-ng/tinymce/editor/src/plugins/insertdatetime/demo/ts/demo/Demo.ts
rename to tools-ng/tinymce/src/plugins/insertdatetime/demo/ts/demo/Demo.ts
diff --git a/tools-ng/tinymce/editor/src/plugins/insertdatetime/main/ts/Plugin.ts b/tools-ng/tinymce/src/plugins/insertdatetime/main/ts/Plugin.ts
similarity index 61%
rename from tools-ng/tinymce/editor/src/plugins/insertdatetime/main/ts/Plugin.ts
rename to tools-ng/tinymce/src/plugins/insertdatetime/main/ts/Plugin.ts
index 739fd1f96..f93ed8428 100644
--- a/tools-ng/tinymce/editor/src/plugins/insertdatetime/main/ts/Plugin.ts
+++ b/tools-ng/tinymce/src/plugins/insertdatetime/main/ts/Plugin.ts
@@ -1,11 +1,8 @@
/**
- * Plugin.js
- *
- * Released under LGPL License.
- * Copyright (c) 1999-2017 Ephox Corp. All rights reserved
- *
- * License: http://www.tinymce.com/license
- * Contributing: http://www.tinymce.com/contributing
+ * Copyright (c) Tiny Technologies, Inc. All rights reserved.
+ * Licensed under the LGPL or a commercial license.
+ * For LGPL see License.txt in the project root for license information.
+ * For commercial licenses see https://www.tiny.cloud/
*/
import { Cell } from '@ephox/katamari';
diff --git a/tools-ng/tinymce/editor/src/plugins/insertdatetime/main/ts/api/Commands.ts b/tools-ng/tinymce/src/plugins/insertdatetime/main/ts/api/Commands.ts
similarity index 62%
rename from tools-ng/tinymce/editor/src/plugins/insertdatetime/main/ts/api/Commands.ts
rename to tools-ng/tinymce/src/plugins/insertdatetime/main/ts/api/Commands.ts
index a67beb644..6ba0dbfe3 100644
--- a/tools-ng/tinymce/editor/src/plugins/insertdatetime/main/ts/api/Commands.ts
+++ b/tools-ng/tinymce/src/plugins/insertdatetime/main/ts/api/Commands.ts
@@ -1,11 +1,8 @@
/**
- * Commands.js
- *
- * Released under LGPL License.
- * Copyright (c) 1999-2017 Ephox Corp. All rights reserved
- *
- * License: http://www.tinymce.com/license
- * Contributing: http://www.tinymce.com/contributing
+ * Copyright (c) Tiny Technologies, Inc. All rights reserved.
+ * Licensed under the LGPL or a commercial license.
+ * For LGPL see License.txt in the project root for license information.
+ * For commercial licenses see https://www.tiny.cloud/
*/
import Settings from './Settings';
diff --git a/tools-ng/tinymce/editor/src/plugins/insertdatetime/main/ts/api/Settings.ts b/tools-ng/tinymce/src/plugins/insertdatetime/main/ts/api/Settings.ts
similarity index 76%
rename from tools-ng/tinymce/editor/src/plugins/insertdatetime/main/ts/api/Settings.ts
rename to tools-ng/tinymce/src/plugins/insertdatetime/main/ts/api/Settings.ts
index d30c122f1..19c61c415 100644
--- a/tools-ng/tinymce/editor/src/plugins/insertdatetime/main/ts/api/Settings.ts
+++ b/tools-ng/tinymce/src/plugins/insertdatetime/main/ts/api/Settings.ts
@@ -1,11 +1,8 @@
/**
- * Settings.js
- *
- * Released under LGPL License.
- * Copyright (c) 1999-2017 Ephox Corp. All rights reserved
- *
- * License: http://www.tinymce.com/license
- * Contributing: http://www.tinymce.com/contributing
+ * Copyright (c) Tiny Technologies, Inc. All rights reserved.
+ * Licensed under the LGPL or a commercial license.
+ * For LGPL see License.txt in the project root for license information.
+ * For commercial licenses see https://www.tiny.cloud/
*/
const getDateFormat = function (editor) {
diff --git a/tools-ng/tinymce/editor/src/plugins/insertdatetime/main/ts/core/Actions.ts b/tools-ng/tinymce/src/plugins/insertdatetime/main/ts/core/Actions.ts
similarity index 91%
rename from tools-ng/tinymce/editor/src/plugins/insertdatetime/main/ts/core/Actions.ts
rename to tools-ng/tinymce/src/plugins/insertdatetime/main/ts/core/Actions.ts
index e3951dda8..8a057d49c 100644
--- a/tools-ng/tinymce/editor/src/plugins/insertdatetime/main/ts/core/Actions.ts
+++ b/tools-ng/tinymce/src/plugins/insertdatetime/main/ts/core/Actions.ts
@@ -1,11 +1,8 @@
/**
- * Actions.js
- *
- * Released under LGPL License.
- * Copyright (c) 1999-2017 Ephox Corp. All rights reserved
- *
- * License: http://www.tinymce.com/license
- * Contributing: http://www.tinymce.com/contributing
+ * Copyright (c) Tiny Technologies, Inc. All rights reserved.
+ * Licensed under the LGPL or a commercial license.
+ * For LGPL see License.txt in the project root for license information.
+ * For commercial licenses see https://www.tiny.cloud/
*/
import Settings from '../api/Settings';
diff --git a/tools-ng/tinymce/editor/src/plugins/insertdatetime/main/ts/ui/Buttons.ts b/tools-ng/tinymce/src/plugins/insertdatetime/main/ts/ui/Buttons.ts
similarity index 81%
rename from tools-ng/tinymce/editor/src/plugins/insertdatetime/main/ts/ui/Buttons.ts
rename to tools-ng/tinymce/src/plugins/insertdatetime/main/ts/ui/Buttons.ts
index cfbec29e1..c3cf6e293 100644
--- a/tools-ng/tinymce/editor/src/plugins/insertdatetime/main/ts/ui/Buttons.ts
+++ b/tools-ng/tinymce/src/plugins/insertdatetime/main/ts/ui/Buttons.ts
@@ -1,11 +1,8 @@
/**
- * Buttons.js
- *
- * Released under LGPL License.
- * Copyright (c) 1999-2017 Ephox Corp. All rights reserved
- *
- * License: http://www.tinymce.com/license
- * Contributing: http://www.tinymce.com/contributing
+ * Copyright (c) Tiny Technologies, Inc. All rights reserved.
+ * Licensed under the LGPL or a commercial license.
+ * For LGPL see License.txt in the project root for license information.
+ * For commercial licenses see https://www.tiny.cloud/
*/
import Tools from 'tinymce/core/api/util/Tools';
diff --git a/tools-ng/tinymce/editor/src/plugins/insertdatetime/test/ts/browser/InsertDatetimeSanityTest.ts b/tools-ng/tinymce/src/plugins/insertdatetime/test/ts/browser/InsertDatetimeSanityTest.ts
similarity index 100%
rename from tools-ng/tinymce/editor/src/plugins/insertdatetime/test/ts/browser/InsertDatetimeSanityTest.ts
rename to tools-ng/tinymce/src/plugins/insertdatetime/test/ts/browser/InsertDatetimeSanityTest.ts
diff --git a/tools-ng/tinymce/editor/src/plugins/legacyoutput/demo/html/demo.html b/tools-ng/tinymce/src/plugins/legacyoutput/demo/html/demo.html
similarity index 100%
rename from tools-ng/tinymce/editor/src/plugins/legacyoutput/demo/html/demo.html
rename to tools-ng/tinymce/src/plugins/legacyoutput/demo/html/demo.html
diff --git a/tools-ng/tinymce/editor/src/plugins/legacyoutput/demo/ts/demo/Demo.ts b/tools-ng/tinymce/src/plugins/legacyoutput/demo/ts/demo/Demo.ts
similarity index 100%
rename from tools-ng/tinymce/editor/src/plugins/legacyoutput/demo/ts/demo/Demo.ts
rename to tools-ng/tinymce/src/plugins/legacyoutput/demo/ts/demo/Demo.ts
diff --git a/tools-ng/tinymce/editor/src/plugins/legacyoutput/main/ts/Plugin.ts b/tools-ng/tinymce/src/plugins/legacyoutput/main/ts/Plugin.ts
similarity index 63%
rename from tools-ng/tinymce/editor/src/plugins/legacyoutput/main/ts/Plugin.ts
rename to tools-ng/tinymce/src/plugins/legacyoutput/main/ts/Plugin.ts
index f2cb61da9..82e86ae0d 100644
--- a/tools-ng/tinymce/editor/src/plugins/legacyoutput/main/ts/Plugin.ts
+++ b/tools-ng/tinymce/src/plugins/legacyoutput/main/ts/Plugin.ts
@@ -1,11 +1,8 @@
/**
- * Plugin.js
- *
- * Released under LGPL License.
- * Copyright (c) 1999-2017 Ephox Corp. All rights reserved
- *
- * License: http://www.tinymce.com/license
- * Contributing: http://www.tinymce.com/contributing
+ * Copyright (c) Tiny Technologies, Inc. All rights reserved.
+ * Licensed under the LGPL or a commercial license.
+ * For LGPL see License.txt in the project root for license information.
+ * For commercial licenses see https://www.tiny.cloud/
*/
import PluginManager from 'tinymce/core/api/PluginManager';
diff --git a/tools-ng/tinymce/editor/src/plugins/legacyoutput/main/ts/core/Formats.ts b/tools-ng/tinymce/src/plugins/legacyoutput/main/ts/core/Formats.ts
similarity index 92%
rename from tools-ng/tinymce/editor/src/plugins/legacyoutput/main/ts/core/Formats.ts
rename to tools-ng/tinymce/src/plugins/legacyoutput/main/ts/core/Formats.ts
index b0f93c3ab..0c887df2d 100644
--- a/tools-ng/tinymce/editor/src/plugins/legacyoutput/main/ts/core/Formats.ts
+++ b/tools-ng/tinymce/src/plugins/legacyoutput/main/ts/core/Formats.ts
@@ -1,11 +1,8 @@
/**
- * Formats.js
- *
- * Released under LGPL License.
- * Copyright (c) 1999-2017 Ephox Corp. All rights reserved
- *
- * License: http://www.tinymce.com/license
- * Contributing: http://www.tinymce.com/contributing
+ * Copyright (c) Tiny Technologies, Inc. All rights reserved.
+ * Licensed under the LGPL or a commercial license.
+ * For LGPL see License.txt in the project root for license information.
+ * For commercial licenses see https://www.tiny.cloud/
*/
import Tools from 'tinymce/core/api/util/Tools';
diff --git a/tools-ng/tinymce/editor/src/plugins/legacyoutput/main/ts/ui/Buttons.ts b/tools-ng/tinymce/src/plugins/legacyoutput/main/ts/ui/Buttons.ts
similarity index 93%
rename from tools-ng/tinymce/editor/src/plugins/legacyoutput/main/ts/ui/Buttons.ts
rename to tools-ng/tinymce/src/plugins/legacyoutput/main/ts/ui/Buttons.ts
index 3ed1dbc86..4bb9c73e5 100644
--- a/tools-ng/tinymce/editor/src/plugins/legacyoutput/main/ts/ui/Buttons.ts
+++ b/tools-ng/tinymce/src/plugins/legacyoutput/main/ts/ui/Buttons.ts
@@ -1,11 +1,8 @@
/**
- * Buttons.js
- *
- * Released under LGPL License.
- * Copyright (c) 1999-2017 Ephox Corp. All rights reserved
- *
- * License: http://www.tinymce.com/license
- * Contributing: http://www.tinymce.com/contributing
+ * Copyright (c) Tiny Technologies, Inc. All rights reserved.
+ * Licensed under the LGPL or a commercial license.
+ * For LGPL see License.txt in the project root for license information.
+ * For commercial licenses see https://www.tiny.cloud/
*/
const register = function (editor) {
diff --git a/tools-ng/tinymce/editor/src/plugins/legacyoutput/test/ts/browser/LegacyOutputPluginTest.ts b/tools-ng/tinymce/src/plugins/legacyoutput/test/ts/browser/LegacyOutputPluginTest.ts
similarity index 100%
rename from tools-ng/tinymce/editor/src/plugins/legacyoutput/test/ts/browser/LegacyOutputPluginTest.ts
rename to tools-ng/tinymce/src/plugins/legacyoutput/test/ts/browser/LegacyOutputPluginTest.ts
diff --git a/tools-ng/tinymce/editor/src/plugins/link/demo/html/demo.html b/tools-ng/tinymce/src/plugins/link/demo/html/demo.html
similarity index 100%
rename from tools-ng/tinymce/editor/src/plugins/link/demo/html/demo.html
rename to tools-ng/tinymce/src/plugins/link/demo/html/demo.html
diff --git a/tools-ng/tinymce/editor/src/plugins/link/demo/ts/demo/Demo.ts b/tools-ng/tinymce/src/plugins/link/demo/ts/demo/Demo.ts
similarity index 100%
rename from tools-ng/tinymce/editor/src/plugins/link/demo/ts/demo/Demo.ts
rename to tools-ng/tinymce/src/plugins/link/demo/ts/demo/Demo.ts
diff --git a/tools-ng/tinymce/editor/src/plugins/link/main/ts/Plugin.ts b/tools-ng/tinymce/src/plugins/link/main/ts/Plugin.ts
similarity index 67%
rename from tools-ng/tinymce/editor/src/plugins/link/main/ts/Plugin.ts
rename to tools-ng/tinymce/src/plugins/link/main/ts/Plugin.ts
index c2ad6582c..870a30455 100644
--- a/tools-ng/tinymce/editor/src/plugins/link/main/ts/Plugin.ts
+++ b/tools-ng/tinymce/src/plugins/link/main/ts/Plugin.ts
@@ -1,11 +1,8 @@
/**
- * Plugin.js
- *
- * Released under LGPL License.
- * Copyright (c) 1999-2017 Ephox Corp. All rights reserved
- *
- * License: http://www.tinymce.com/license
- * Contributing: http://www.tinymce.com/contributing
+ * Copyright (c) Tiny Technologies, Inc. All rights reserved.
+ * Licensed under the LGPL or a commercial license.
+ * For LGPL see License.txt in the project root for license information.
+ * For commercial licenses see https://www.tiny.cloud/
*/
import PluginManager from 'tinymce/core/api/PluginManager';
diff --git a/tools-ng/tinymce/src/plugins/link/main/ts/api/Commands.ts b/tools-ng/tinymce/src/plugins/link/main/ts/api/Commands.ts
new file mode 100644
index 000000000..bd21a7d09
--- /dev/null
+++ b/tools-ng/tinymce/src/plugins/link/main/ts/api/Commands.ts
@@ -0,0 +1,16 @@
+/**
+ * Copyright (c) Tiny Technologies, Inc. All rights reserved.
+ * Licensed under the LGPL or a commercial license.
+ * For LGPL see License.txt in the project root for license information.
+ * For commercial licenses see https://www.tiny.cloud/
+ */
+
+import Actions from '../core/Actions';
+
+const register = function (editor) {
+ editor.addCommand('mceLink', Actions.openDialog(editor));
+};
+
+export default {
+ register
+};
\ No newline at end of file
diff --git a/tools-ng/tinymce/editor/src/plugins/link/main/ts/api/Settings.ts b/tools-ng/tinymce/src/plugins/link/main/ts/api/Settings.ts
similarity index 89%
rename from tools-ng/tinymce/editor/src/plugins/link/main/ts/api/Settings.ts
rename to tools-ng/tinymce/src/plugins/link/main/ts/api/Settings.ts
index 33bfb06b4..cde4d6e45 100644
--- a/tools-ng/tinymce/editor/src/plugins/link/main/ts/api/Settings.ts
+++ b/tools-ng/tinymce/src/plugins/link/main/ts/api/Settings.ts
@@ -1,11 +1,8 @@
/**
- * Settings.js
- *
- * Released under LGPL License.
- * Copyright (c) 1999-2017 Ephox Corp. All rights reserved
- *
- * License: http://www.tinymce.com/license
- * Contributing: http://www.tinymce.com/contributing
+ * Copyright (c) Tiny Technologies, Inc. All rights reserved.
+ * Licensed under the LGPL or a commercial license.
+ * For LGPL see License.txt in the project root for license information.
+ * For commercial licenses see https://www.tiny.cloud/
*/
const assumeExternalTargets = function (editorSettings) {
diff --git a/tools-ng/tinymce/editor/src/plugins/link/main/ts/core/Actions.ts b/tools-ng/tinymce/src/plugins/link/main/ts/core/Actions.ts
similarity index 93%
rename from tools-ng/tinymce/editor/src/plugins/link/main/ts/core/Actions.ts
rename to tools-ng/tinymce/src/plugins/link/main/ts/core/Actions.ts
index 52848b64b..0f7b806f9 100644
--- a/tools-ng/tinymce/editor/src/plugins/link/main/ts/core/Actions.ts
+++ b/tools-ng/tinymce/src/plugins/link/main/ts/core/Actions.ts
@@ -1,11 +1,8 @@
/**
- * Actions.js
- *
- * Released under LGPL License.
- * Copyright (c) 1999-2017 Ephox Corp. All rights reserved
- *
- * License: http://www.tinymce.com/license
- * Contributing: http://www.tinymce.com/contributing
+ * Copyright (c) Tiny Technologies, Inc. All rights reserved.
+ * Licensed under the LGPL or a commercial license.
+ * For LGPL see License.txt in the project root for license information.
+ * For commercial licenses see https://www.tiny.cloud/
*/
import VK from 'tinymce/core/api/util/VK';
diff --git a/tools-ng/tinymce/src/plugins/link/main/ts/core/Keyboard.ts b/tools-ng/tinymce/src/plugins/link/main/ts/core/Keyboard.ts
new file mode 100644
index 000000000..ce371fff4
--- /dev/null
+++ b/tools-ng/tinymce/src/plugins/link/main/ts/core/Keyboard.ts
@@ -0,0 +1,16 @@
+/**
+ * Copyright (c) Tiny Technologies, Inc. All rights reserved.
+ * Licensed under the LGPL or a commercial license.
+ * For LGPL see License.txt in the project root for license information.
+ * For commercial licenses see https://www.tiny.cloud/
+ */
+
+import Actions from './Actions';
+
+const setup = function (editor) {
+ editor.addShortcut('Meta+K', '', Actions.openDialog(editor));
+};
+
+export default {
+ setup
+};
\ No newline at end of file
diff --git a/tools-ng/tinymce/editor/src/plugins/link/main/ts/core/OpenUrl.ts b/tools-ng/tinymce/src/plugins/link/main/ts/core/OpenUrl.ts
similarity index 84%
rename from tools-ng/tinymce/editor/src/plugins/link/main/ts/core/OpenUrl.ts
rename to tools-ng/tinymce/src/plugins/link/main/ts/core/OpenUrl.ts
index 454ed39b2..d70c42115 100644
--- a/tools-ng/tinymce/editor/src/plugins/link/main/ts/core/OpenUrl.ts
+++ b/tools-ng/tinymce/src/plugins/link/main/ts/core/OpenUrl.ts
@@ -1,11 +1,8 @@
/**
- * OpenUrl.js
- *
- * Released under LGPL License.
- * Copyright (c) 1999-2017 Ephox Corp. All rights reserved
- *
- * License: http://www.tinymce.com/license
- * Contributing: http://www.tinymce.com/contributing
+ * Copyright (c) Tiny Technologies, Inc. All rights reserved.
+ * Licensed under the LGPL or a commercial license.
+ * For LGPL see License.txt in the project root for license information.
+ * For commercial licenses see https://www.tiny.cloud/
*/
import DOMUtils from 'tinymce/core/api/dom/DOMUtils';
diff --git a/tools-ng/tinymce/editor/src/plugins/link/main/ts/core/Utils.ts b/tools-ng/tinymce/src/plugins/link/main/ts/core/Utils.ts
similarity index 94%
rename from tools-ng/tinymce/editor/src/plugins/link/main/ts/core/Utils.ts
rename to tools-ng/tinymce/src/plugins/link/main/ts/core/Utils.ts
index 5d08a9374..cecd2f012 100644
--- a/tools-ng/tinymce/editor/src/plugins/link/main/ts/core/Utils.ts
+++ b/tools-ng/tinymce/src/plugins/link/main/ts/core/Utils.ts
@@ -1,11 +1,8 @@
/**
- * Utils.js
- *
- * Released under LGPL License.
- * Copyright (c) 1999-2017 Ephox Corp. All rights reserved
- *
- * License: http://www.tinymce.com/license
- * Contributing: http://www.tinymce.com/contributing
+ * Copyright (c) Tiny Technologies, Inc. All rights reserved.
+ * Licensed under the LGPL or a commercial license.
+ * For LGPL see License.txt in the project root for license information.
+ * For commercial licenses see https://www.tiny.cloud/
*/
import Tools from 'tinymce/core/api/util/Tools';
diff --git a/tools-ng/tinymce/editor/src/plugins/link/main/ts/ui/Controls.ts b/tools-ng/tinymce/src/plugins/link/main/ts/ui/Controls.ts
similarity index 86%
rename from tools-ng/tinymce/editor/src/plugins/link/main/ts/ui/Controls.ts
rename to tools-ng/tinymce/src/plugins/link/main/ts/ui/Controls.ts
index 56f3e086c..fe0e8b67c 100644
--- a/tools-ng/tinymce/editor/src/plugins/link/main/ts/ui/Controls.ts
+++ b/tools-ng/tinymce/src/plugins/link/main/ts/ui/Controls.ts
@@ -1,11 +1,8 @@
/**
- * Controls.js
- *
- * Released under LGPL License.
- * Copyright (c) 1999-2017 Ephox Corp. All rights reserved
- *
- * License: http://www.tinymce.com/license
- * Contributing: http://www.tinymce.com/contributing
+ * Copyright (c) Tiny Technologies, Inc. All rights reserved.
+ * Licensed under the LGPL or a commercial license.
+ * For LGPL see License.txt in the project root for license information.
+ * For commercial licenses see https://www.tiny.cloud/
*/
import Actions from '../core/Actions';
diff --git a/tools-ng/tinymce/editor/src/plugins/link/main/ts/ui/Dialog.ts b/tools-ng/tinymce/src/plugins/link/main/ts/ui/Dialog.ts
similarity index 97%
rename from tools-ng/tinymce/editor/src/plugins/link/main/ts/ui/Dialog.ts
rename to tools-ng/tinymce/src/plugins/link/main/ts/ui/Dialog.ts
index 2811c19b3..350f9f587 100644
--- a/tools-ng/tinymce/editor/src/plugins/link/main/ts/ui/Dialog.ts
+++ b/tools-ng/tinymce/src/plugins/link/main/ts/ui/Dialog.ts
@@ -1,11 +1,8 @@
/**
- * Dialog.js
- *
- * Released under LGPL License.
- * Copyright (c) 1999-2017 Ephox Corp. All rights reserved
- *
- * License: http://www.tinymce.com/license
- * Contributing: http://www.tinymce.com/contributing
+ * Copyright (c) Tiny Technologies, Inc. All rights reserved.
+ * Licensed under the LGPL or a commercial license.
+ * For LGPL see License.txt in the project root for license information.
+ * For commercial licenses see https://www.tiny.cloud/
*/
import Delay from 'tinymce/core/api/util/Delay';
diff --git a/tools-ng/tinymce/editor/src/plugins/link/test/ts/browser/AllowUnsafeLinkTargetTest.ts b/tools-ng/tinymce/src/plugins/link/test/ts/browser/AllowUnsafeLinkTargetTest.ts
similarity index 100%
rename from tools-ng/tinymce/editor/src/plugins/link/test/ts/browser/AllowUnsafeLinkTargetTest.ts
rename to tools-ng/tinymce/src/plugins/link/test/ts/browser/AllowUnsafeLinkTargetTest.ts
diff --git a/tools-ng/tinymce/editor/src/plugins/link/test/ts/browser/AssumeExternalTargetsTest.ts b/tools-ng/tinymce/src/plugins/link/test/ts/browser/AssumeExternalTargetsTest.ts
similarity index 100%
rename from tools-ng/tinymce/editor/src/plugins/link/test/ts/browser/AssumeExternalTargetsTest.ts
rename to tools-ng/tinymce/src/plugins/link/test/ts/browser/AssumeExternalTargetsTest.ts
diff --git a/tools-ng/tinymce/editor/src/plugins/link/test/ts/browser/ContextToolbarTest.ts b/tools-ng/tinymce/src/plugins/link/test/ts/browser/ContextToolbarTest.ts
similarity index 100%
rename from tools-ng/tinymce/editor/src/plugins/link/test/ts/browser/ContextToolbarTest.ts
rename to tools-ng/tinymce/src/plugins/link/test/ts/browser/ContextToolbarTest.ts
diff --git a/tools-ng/tinymce/editor/src/plugins/link/test/ts/browser/ImageFigureLinkTest.ts b/tools-ng/tinymce/src/plugins/link/test/ts/browser/ImageFigureLinkTest.ts
similarity index 100%
rename from tools-ng/tinymce/editor/src/plugins/link/test/ts/browser/ImageFigureLinkTest.ts
rename to tools-ng/tinymce/src/plugins/link/test/ts/browser/ImageFigureLinkTest.ts
diff --git a/tools-ng/tinymce/editor/src/plugins/link/test/ts/browser/LinkClassListTest.ts b/tools-ng/tinymce/src/plugins/link/test/ts/browser/LinkClassListTest.ts
similarity index 100%
rename from tools-ng/tinymce/editor/src/plugins/link/test/ts/browser/LinkClassListTest.ts
rename to tools-ng/tinymce/src/plugins/link/test/ts/browser/LinkClassListTest.ts
diff --git a/tools-ng/tinymce/editor/src/plugins/link/test/ts/browser/LinkPluginTest.ts b/tools-ng/tinymce/src/plugins/link/test/ts/browser/LinkPluginTest.ts
similarity index 100%
rename from tools-ng/tinymce/editor/src/plugins/link/test/ts/browser/LinkPluginTest.ts
rename to tools-ng/tinymce/src/plugins/link/test/ts/browser/LinkPluginTest.ts
diff --git a/tools-ng/tinymce/editor/src/plugins/link/test/ts/browser/LinkTitleTest.ts b/tools-ng/tinymce/src/plugins/link/test/ts/browser/LinkTitleTest.ts
similarity index 100%
rename from tools-ng/tinymce/editor/src/plugins/link/test/ts/browser/LinkTitleTest.ts
rename to tools-ng/tinymce/src/plugins/link/test/ts/browser/LinkTitleTest.ts
diff --git a/tools-ng/tinymce/editor/src/plugins/link/test/ts/browser/RelListTest.ts b/tools-ng/tinymce/src/plugins/link/test/ts/browser/RelListTest.ts
similarity index 100%
rename from tools-ng/tinymce/editor/src/plugins/link/test/ts/browser/RelListTest.ts
rename to tools-ng/tinymce/src/plugins/link/test/ts/browser/RelListTest.ts
diff --git a/tools-ng/tinymce/editor/src/plugins/link/test/ts/browser/SelectedLinkTest.ts b/tools-ng/tinymce/src/plugins/link/test/ts/browser/SelectedLinkTest.ts
similarity index 100%
rename from tools-ng/tinymce/editor/src/plugins/link/test/ts/browser/SelectedLinkTest.ts
rename to tools-ng/tinymce/src/plugins/link/test/ts/browser/SelectedLinkTest.ts
diff --git a/tools-ng/tinymce/editor/src/plugins/link/test/ts/browser/TargetListTest.ts b/tools-ng/tinymce/src/plugins/link/test/ts/browser/TargetListTest.ts
similarity index 100%
rename from tools-ng/tinymce/editor/src/plugins/link/test/ts/browser/TargetListTest.ts
rename to tools-ng/tinymce/src/plugins/link/test/ts/browser/TargetListTest.ts
diff --git a/tools-ng/tinymce/editor/src/plugins/link/test/ts/browser/UrlInputTest.ts b/tools-ng/tinymce/src/plugins/link/test/ts/browser/UrlInputTest.ts
similarity index 100%
rename from tools-ng/tinymce/editor/src/plugins/link/test/ts/browser/UrlInputTest.ts
rename to tools-ng/tinymce/src/plugins/link/test/ts/browser/UrlInputTest.ts
diff --git a/tools-ng/tinymce/editor/src/plugins/lists/demo/html/demo.html b/tools-ng/tinymce/src/plugins/lists/demo/html/demo.html
similarity index 100%
rename from tools-ng/tinymce/editor/src/plugins/lists/demo/html/demo.html
rename to tools-ng/tinymce/src/plugins/lists/demo/html/demo.html
diff --git a/tools-ng/tinymce/editor/src/plugins/lists/demo/ts/demo/Demo.ts b/tools-ng/tinymce/src/plugins/lists/demo/ts/demo/Demo.ts
similarity index 100%
rename from tools-ng/tinymce/editor/src/plugins/lists/demo/ts/demo/Demo.ts
rename to tools-ng/tinymce/src/plugins/lists/demo/ts/demo/Demo.ts
diff --git a/tools-ng/tinymce/editor/src/plugins/lists/main/ts/Plugin.ts b/tools-ng/tinymce/src/plugins/lists/main/ts/Plugin.ts
similarity index 62%
rename from tools-ng/tinymce/editor/src/plugins/lists/main/ts/Plugin.ts
rename to tools-ng/tinymce/src/plugins/lists/main/ts/Plugin.ts
index 945a404f7..137f3efb8 100644
--- a/tools-ng/tinymce/editor/src/plugins/lists/main/ts/Plugin.ts
+++ b/tools-ng/tinymce/src/plugins/lists/main/ts/Plugin.ts
@@ -1,11 +1,8 @@
/**
- * Plugin.js
- *
- * Released under LGPL License.
- * Copyright (c) 1999-2017 Ephox Corp. All rights reserved
- *
- * License: http://www.tinymce.com/license
- * Contributing: http://www.tinymce.com/contributing
+ * Copyright (c) Tiny Technologies, Inc. All rights reserved.
+ * Licensed under the LGPL or a commercial license.
+ * For LGPL see License.txt in the project root for license information.
+ * For commercial licenses see https://www.tiny.cloud/
*/
import PluginManager from 'tinymce/core/api/PluginManager';
diff --git a/tools-ng/tinymce/src/plugins/lists/main/ts/actions/Indendation.ts b/tools-ng/tinymce/src/plugins/lists/main/ts/actions/Indendation.ts
new file mode 100644
index 000000000..b9b81f2ea
--- /dev/null
+++ b/tools-ng/tinymce/src/plugins/lists/main/ts/actions/Indendation.ts
@@ -0,0 +1,53 @@
+/**
+ * Copyright (c) Tiny Technologies, Inc. All rights reserved.
+ * Licensed under the LGPL or a commercial license.
+ * For LGPL see License.txt in the project root for license information.
+ * For commercial licenses see https://www.tiny.cloud/
+ */
+
+import { Arr } from '@ephox/katamari';
+import { Element} from '@ephox/sugar';
+import { Editor } from 'tinymce/core/api/Editor';
+import { Indentation } from '../listModel/Indentation';
+import { listsIndentation } from '../listModel/ListsIndendation';
+import { dlIndentation } from '../core/DlIndentation';
+import Range from '../core/Range';
+import Selection from '../core/Selection';
+
+const selectionIndentation = (editor: Editor, indentation: Indentation): boolean => {
+ const lists = Arr.map(Selection.getSelectedListRoots(editor), Element.fromDom);
+ const dlItems = Arr.map(Selection.getSelectedDlItems(editor), Element.fromDom);
+ let isHandled = false;
+
+ if (lists.length || dlItems.length) {
+ const bookmark = editor.selection.getBookmark();
+
+ listsIndentation(editor, lists, indentation);
+ dlIndentation(editor, indentation, dlItems);
+
+ editor.selection.moveToBookmark(bookmark);
+ editor.selection.setRng(Range.normalizeRange(editor.selection.getRng()));
+ editor.nodeChanged();
+ isHandled = true;
+ }
+
+ return isHandled;
+};
+
+const indentListSelection = (editor: Editor): boolean => {
+ return selectionIndentation(editor, Indentation.Indent);
+};
+
+const outdentListSelection = (editor: Editor): boolean => {
+ return selectionIndentation(editor, Indentation.Outdent);
+};
+
+const flattenListSelection = (editor: Editor): boolean => {
+ return selectionIndentation(editor, Indentation.Flatten);
+};
+
+export {
+ indentListSelection,
+ outdentListSelection,
+ flattenListSelection
+};
diff --git a/tools-ng/tinymce/editor/src/plugins/lists/main/ts/actions/ToggleList.ts b/tools-ng/tinymce/src/plugins/lists/main/ts/actions/ToggleList.ts
similarity index 97%
rename from tools-ng/tinymce/editor/src/plugins/lists/main/ts/actions/ToggleList.ts
rename to tools-ng/tinymce/src/plugins/lists/main/ts/actions/ToggleList.ts
index 24609d084..6cad1966d 100644
--- a/tools-ng/tinymce/editor/src/plugins/lists/main/ts/actions/ToggleList.ts
+++ b/tools-ng/tinymce/src/plugins/lists/main/ts/actions/ToggleList.ts
@@ -1,11 +1,8 @@
/**
- * ToggleList.js
- *
- * Released under LGPL License.
- * Copyright (c) 1999-2017 Ephox Corp. All rights reserved
- *
- * License: http://www.tinymce.com/license
- * Contributing: http://www.tinymce.com/contributing
+ * Copyright (c) Tiny Technologies, Inc. All rights reserved.
+ * Licensed under the LGPL or a commercial license.
+ * For LGPL see License.txt in the project root for license information.
+ * For commercial licenses see https://www.tiny.cloud/
*/
import BookmarkManager from 'tinymce/core/api/dom/BookmarkManager';
diff --git a/tools-ng/tinymce/src/plugins/lists/main/ts/api/Api.ts b/tools-ng/tinymce/src/plugins/lists/main/ts/api/Api.ts
new file mode 100644
index 000000000..8c2c012d8
--- /dev/null
+++ b/tools-ng/tinymce/src/plugins/lists/main/ts/api/Api.ts
@@ -0,0 +1,20 @@
+/**
+ * Copyright (c) Tiny Technologies, Inc. All rights reserved.
+ * Licensed under the LGPL or a commercial license.
+ * For LGPL see License.txt in the project root for license information.
+ * For commercial licenses see https://www.tiny.cloud/
+ */
+
+import Delete from '../core/Delete';
+
+const get = function (editor) {
+ return {
+ backspaceDelete (isForward) {
+ Delete.backspaceDelete(editor, isForward);
+ }
+ };
+};
+
+export default {
+ get
+};
\ No newline at end of file
diff --git a/tools-ng/tinymce/editor/src/plugins/lists/main/ts/api/Commands.ts b/tools-ng/tinymce/src/plugins/lists/main/ts/api/Commands.ts
similarity index 85%
rename from tools-ng/tinymce/editor/src/plugins/lists/main/ts/api/Commands.ts
rename to tools-ng/tinymce/src/plugins/lists/main/ts/api/Commands.ts
index 1a143e2ab..2f0d2f48c 100644
--- a/tools-ng/tinymce/editor/src/plugins/lists/main/ts/api/Commands.ts
+++ b/tools-ng/tinymce/src/plugins/lists/main/ts/api/Commands.ts
@@ -1,11 +1,8 @@
/**
- * Commands.js
- *
- * Released under LGPL License.
- * Copyright (c) 1999-2017 Ephox Corp. All rights reserved
- *
- * License: http://www.tinymce.com/license
- * Contributing: http://www.tinymce.com/contributing
+ * Copyright (c) Tiny Technologies, Inc. All rights reserved.
+ * Licensed under the LGPL or a commercial license.
+ * For LGPL see License.txt in the project root for license information.
+ * For commercial licenses see https://www.tiny.cloud/
*/
import ToggleList from '../actions/ToggleList';
diff --git a/tools-ng/tinymce/src/plugins/lists/main/ts/api/Settings.ts b/tools-ng/tinymce/src/plugins/lists/main/ts/api/Settings.ts
new file mode 100644
index 000000000..40a935613
--- /dev/null
+++ b/tools-ng/tinymce/src/plugins/lists/main/ts/api/Settings.ts
@@ -0,0 +1,14 @@
+/**
+ * Copyright (c) Tiny Technologies, Inc. All rights reserved.
+ * Licensed under the LGPL or a commercial license.
+ * For LGPL see License.txt in the project root for license information.
+ * For commercial licenses see https://www.tiny.cloud/
+ */
+
+const shouldIndentOnTab = function (editor) {
+ return editor.getParam('lists_indent_on_tab', true);
+};
+
+export default {
+ shouldIndentOnTab
+};
\ No newline at end of file
diff --git a/tools-ng/tinymce/editor/src/plugins/lists/main/ts/core/Bookmark.ts b/tools-ng/tinymce/src/plugins/lists/main/ts/core/Bookmark.ts
similarity index 92%
rename from tools-ng/tinymce/editor/src/plugins/lists/main/ts/core/Bookmark.ts
rename to tools-ng/tinymce/src/plugins/lists/main/ts/core/Bookmark.ts
index 300d5095c..52069913f 100644
--- a/tools-ng/tinymce/editor/src/plugins/lists/main/ts/core/Bookmark.ts
+++ b/tools-ng/tinymce/src/plugins/lists/main/ts/core/Bookmark.ts
@@ -1,11 +1,8 @@
/**
- * Bookmark.js
- *
- * Released under LGPL License.
- * Copyright (c) 1999-2017 Ephox Corp. All rights reserved
- *
- * License: http://www.tinymce.com/license
- * Contributing: http://www.tinymce.com/contributing
+ * Copyright (c) Tiny Technologies, Inc. All rights reserved.
+ * Licensed under the LGPL or a commercial license.
+ * For LGPL see License.txt in the project root for license information.
+ * For commercial licenses see https://www.tiny.cloud/
*/
import DOMUtils from 'tinymce/core/api/dom/DOMUtils';
diff --git a/tools-ng/tinymce/editor/src/plugins/lists/main/ts/core/Delete.ts b/tools-ng/tinymce/src/plugins/lists/main/ts/core/Delete.ts
similarity index 96%
rename from tools-ng/tinymce/editor/src/plugins/lists/main/ts/core/Delete.ts
rename to tools-ng/tinymce/src/plugins/lists/main/ts/core/Delete.ts
index f84dc126f..00b2c5814 100644
--- a/tools-ng/tinymce/editor/src/plugins/lists/main/ts/core/Delete.ts
+++ b/tools-ng/tinymce/src/plugins/lists/main/ts/core/Delete.ts
@@ -1,11 +1,8 @@
/**
- * Delete.js
- *
- * Released under LGPL License.
- * Copyright (c) 1999-2017 Ephox Corp. All rights reserved
- *
- * License: http://www.tinymce.com/license
- * Contributing: http://www.tinymce.com/contributing
+ * Copyright (c) Tiny Technologies, Inc. All rights reserved.
+ * Licensed under the LGPL or a commercial license.
+ * For LGPL see License.txt in the project root for license information.
+ * For commercial licenses see https://www.tiny.cloud/
*/
import RangeUtils from 'tinymce/core/api/dom/RangeUtils';
diff --git a/tools-ng/tinymce/src/plugins/lists/main/ts/core/DlIndentation.ts b/tools-ng/tinymce/src/plugins/lists/main/ts/core/DlIndentation.ts
new file mode 100644
index 000000000..9a1f191b1
--- /dev/null
+++ b/tools-ng/tinymce/src/plugins/lists/main/ts/core/DlIndentation.ts
@@ -0,0 +1,38 @@
+/**
+ * Copyright (c) Tiny Technologies, Inc. All rights reserved.
+ * Licensed under the LGPL or a commercial license.
+ * For LGPL see License.txt in the project root for license information.
+ * For commercial licenses see https://www.tiny.cloud/
+ */
+
+import { Editor } from 'tinymce/core/api/Editor';
+import { Compare, Replication, Element, Traverse } from '@ephox/sugar';
+import SplitList from './SplitList';
+import { Indentation } from '../listModel/Indentation';
+import { Arr } from '@ephox/katamari';
+
+const outdentDlItem = (editor: Editor, item: Element): void => {
+ if (Compare.is(item, 'DD')) {
+ Replication.mutate(item, 'DT');
+ } else if (Compare.is(item, 'DT')) {
+ Traverse.parent(item).each((dl) => SplitList.splitList(editor, dl.dom(), item.dom()));
+ }
+};
+
+const indentDlItem = (item: Element): void => {
+ if (Compare.is(item, 'DT')) {
+ Replication.mutate(item, 'DD');
+ }
+};
+
+const dlIndentation = (editor: Editor, indentation: Indentation, dlItems: Element[]) => {
+ if (indentation === Indentation.Indent) {
+ Arr.each(dlItems, indentDlItem);
+ } else {
+ Arr.each(dlItems, (item) => outdentDlItem(editor, item));
+ }
+};
+
+export {
+ dlIndentation
+};
\ No newline at end of file
diff --git a/tools-ng/tinymce/editor/src/plugins/lists/main/ts/core/Keyboard.ts b/tools-ng/tinymce/src/plugins/lists/main/ts/core/Keyboard.ts
similarity index 59%
rename from tools-ng/tinymce/editor/src/plugins/lists/main/ts/core/Keyboard.ts
rename to tools-ng/tinymce/src/plugins/lists/main/ts/core/Keyboard.ts
index e13836d4e..d0c2213cc 100644
--- a/tools-ng/tinymce/editor/src/plugins/lists/main/ts/core/Keyboard.ts
+++ b/tools-ng/tinymce/src/plugins/lists/main/ts/core/Keyboard.ts
@@ -1,11 +1,8 @@
/**
- * Keyboard.js
- *
- * Released under LGPL License.
- * Copyright (c) 1999-2017 Ephox Corp. All rights reserved
- *
- * License: http://www.tinymce.com/license
- * Contributing: http://www.tinymce.com/contributing
+ * Copyright (c) Tiny Technologies, Inc. All rights reserved.
+ * Licensed under the LGPL or a commercial license.
+ * For LGPL see License.txt in the project root for license information.
+ * For commercial licenses see https://www.tiny.cloud/
*/
import VK from 'tinymce/core/api/util/VK';
@@ -20,12 +17,11 @@ const setupTabKey = function (editor) {
return;
}
- e.preventDefault();
- if (e.shiftKey) {
- outdentListSelection(editor);
- } else {
- indentListSelection(editor);
- }
+ editor.undoManager.transact(() => {
+ if (e.shiftKey ? outdentListSelection(editor) : indentListSelection(editor)) {
+ e.preventDefault();
+ }
+ });
});
};
diff --git a/tools-ng/tinymce/editor/src/plugins/lists/main/ts/core/NodeType.ts b/tools-ng/tinymce/src/plugins/lists/main/ts/core/NodeType.ts
similarity index 88%
rename from tools-ng/tinymce/editor/src/plugins/lists/main/ts/core/NodeType.ts
rename to tools-ng/tinymce/src/plugins/lists/main/ts/core/NodeType.ts
index fb2d9cbbe..ad7784153 100644
--- a/tools-ng/tinymce/editor/src/plugins/lists/main/ts/core/NodeType.ts
+++ b/tools-ng/tinymce/src/plugins/lists/main/ts/core/NodeType.ts
@@ -1,11 +1,8 @@
/**
- * NodeType.js
- *
- * Released under LGPL License.
- * Copyright (c) 1999-2017 Ephox Corp. All rights reserved
- *
- * License: http://www.tinymce.com/license
- * Contributing: http://www.tinymce.com/contributing
+ * Copyright (c) Tiny Technologies, Inc. All rights reserved.
+ * Licensed under the LGPL or a commercial license.
+ * For LGPL see License.txt in the project root for license information.
+ * For commercial licenses see https://www.tiny.cloud/
*/
import { Node, Text } from '@ephox/dom-globals';
diff --git a/tools-ng/tinymce/editor/src/plugins/lists/main/ts/core/NormalizeLists.ts b/tools-ng/tinymce/src/plugins/lists/main/ts/core/NormalizeLists.ts
similarity index 82%
rename from tools-ng/tinymce/editor/src/plugins/lists/main/ts/core/NormalizeLists.ts
rename to tools-ng/tinymce/src/plugins/lists/main/ts/core/NormalizeLists.ts
index 208d7f512..4b5080182 100644
--- a/tools-ng/tinymce/editor/src/plugins/lists/main/ts/core/NormalizeLists.ts
+++ b/tools-ng/tinymce/src/plugins/lists/main/ts/core/NormalizeLists.ts
@@ -1,11 +1,8 @@
/**
- * NormalizeLists.js
- *
- * Released under LGPL License.
- * Copyright (c) 1999-2017 Ephox Corp. All rights reserved
- *
- * License: http://www.tinymce.com/license
- * Contributing: http://www.tinymce.com/contributing
+ * Copyright (c) Tiny Technologies, Inc. All rights reserved.
+ * Licensed under the LGPL or a commercial license.
+ * For LGPL see License.txt in the project root for license information.
+ * For commercial licenses see https://www.tiny.cloud/
*/
import DOMUtils from 'tinymce/core/api/dom/DOMUtils';
diff --git a/tools-ng/tinymce/editor/src/plugins/lists/main/ts/core/Range.ts b/tools-ng/tinymce/src/plugins/lists/main/ts/core/Range.ts
similarity index 85%
rename from tools-ng/tinymce/editor/src/plugins/lists/main/ts/core/Range.ts
rename to tools-ng/tinymce/src/plugins/lists/main/ts/core/Range.ts
index ea9ee0eee..e64c0f4c0 100644
--- a/tools-ng/tinymce/editor/src/plugins/lists/main/ts/core/Range.ts
+++ b/tools-ng/tinymce/src/plugins/lists/main/ts/core/Range.ts
@@ -1,11 +1,8 @@
/**
- * Range.js
- *
- * Released under LGPL License.
- * Copyright (c) 1999-2017 Ephox Corp. All rights reserved
- *
- * License: http://www.tinymce.com/license
- * Contributing: http://www.tinymce.com/contributing
+ * Copyright (c) Tiny Technologies, Inc. All rights reserved.
+ * Licensed under the LGPL or a commercial license.
+ * For LGPL see License.txt in the project root for license information.
+ * For commercial licenses see https://www.tiny.cloud/
*/
import RangeUtils from 'tinymce/core/api/dom/RangeUtils';
diff --git a/tools-ng/tinymce/editor/src/plugins/lists/main/ts/core/Selection.ts b/tools-ng/tinymce/src/plugins/lists/main/ts/core/Selection.ts
similarity index 88%
rename from tools-ng/tinymce/editor/src/plugins/lists/main/ts/core/Selection.ts
rename to tools-ng/tinymce/src/plugins/lists/main/ts/core/Selection.ts
index f2494376b..d17cd5d8b 100644
--- a/tools-ng/tinymce/editor/src/plugins/lists/main/ts/core/Selection.ts
+++ b/tools-ng/tinymce/src/plugins/lists/main/ts/core/Selection.ts
@@ -1,19 +1,17 @@
/**
- * Selection.js
- *
- * Released under LGPL License.
- * Copyright (c) 1999-2017 Ephox Corp. All rights reserved
- *
- * License: http://www.tinymce.com/license
- * Contributing: http://www.tinymce.com/contributing
+ * Copyright (c) Tiny Technologies, Inc. All rights reserved.
+ * Licensed under the LGPL or a commercial license.
+ * For LGPL see License.txt in the project root for license information.
+ * For commercial licenses see https://www.tiny.cloud/
*/
-import DomQuery from 'tinymce/core/api/dom/DomQuery';
-import Tools from 'tinymce/core/api/util/Tools';
-import NodeType from './NodeType';
-import { Editor } from 'tinymce/core/api/Editor';
import { Node } from '@ephox/dom-globals';
import { Arr, Option } from '@ephox/katamari';
+import { HTMLElement } from '@ephox/sand';
+import DomQuery from 'tinymce/core/api/dom/DomQuery';
+import { Editor } from 'tinymce/core/api/Editor';
+import Tools from 'tinymce/core/api/util/Tools';
+import NodeType from './NodeType';
const getParentList = function (editor) {
const selectionStart = editor.selection.getStart(true);
@@ -94,7 +92,13 @@ const getUniqueListRoots = (editor: Editor, lists: Node[]): Node[] => {
return DomQuery.unique(listRoots);
};
+const isList = (editor: Editor): boolean => {
+ const list = getParentList(editor);
+ return HTMLElement.isPrototypeOf(list);
+};
+
export default {
+ isList,
getParentList,
getSelectedSubLists,
getSelectedListItems,
diff --git a/tools-ng/tinymce/editor/src/plugins/lists/main/ts/core/SplitList.ts b/tools-ng/tinymce/src/plugins/lists/main/ts/core/SplitList.ts
similarity index 71%
rename from tools-ng/tinymce/editor/src/plugins/lists/main/ts/core/SplitList.ts
rename to tools-ng/tinymce/src/plugins/lists/main/ts/core/SplitList.ts
index 25226155f..afdf806c4 100644
--- a/tools-ng/tinymce/editor/src/plugins/lists/main/ts/core/SplitList.ts
+++ b/tools-ng/tinymce/src/plugins/lists/main/ts/core/SplitList.ts
@@ -1,22 +1,19 @@
/**
- * SplitList.js
- *
- * Released under LGPL License.
- * Copyright (c) 1999-2017 Ephox Corp. All rights reserved
- *
- * License: http://www.tinymce.com/license
- * Contributing: http://www.tinymce.com/contributing
+ * Copyright (c) Tiny Technologies, Inc. All rights reserved.
+ * Licensed under the LGPL or a commercial license.
+ * For LGPL see License.txt in the project root for license information.
+ * For commercial licenses see https://www.tiny.cloud/
*/
import DOMUtils from 'tinymce/core/api/dom/DOMUtils';
import NodeType from './NodeType';
-import TextBlock from './TextBlock';
+import { createTextBlock } from './TextBlock';
import Tools from 'tinymce/core/api/util/Tools';
const DOM = DOMUtils.DOM;
-const splitList = function (editor, ul, li, newBlock?) {
- let tmpRng, fragment, bookmarks, node;
+const splitList = function (editor, ul, li) {
+ let tmpRng, fragment, bookmarks, node, newBlock;
const removeAndKeepBookmarks = function (targetNode) {
Tools.each(bookmarks, function (node) {
@@ -27,7 +24,7 @@ const splitList = function (editor, ul, li, newBlock?) {
};
bookmarks = DOM.select('span[data-mce-type="bookmark"]', ul);
- newBlock = newBlock || TextBlock.createNewTextBlock(editor, li);
+ newBlock = createTextBlock(editor, li);
tmpRng = DOM.createRng();
tmpRng.setStartAfter(li);
tmpRng.setEndAfter(ul);
diff --git a/tools-ng/tinymce/editor/src/plugins/lists/main/ts/core/TextBlock.ts b/tools-ng/tinymce/src/plugins/lists/main/ts/core/TextBlock.ts
similarity index 58%
rename from tools-ng/tinymce/editor/src/plugins/lists/main/ts/core/TextBlock.ts
rename to tools-ng/tinymce/src/plugins/lists/main/ts/core/TextBlock.ts
index 2463a4682..b3af5f8a2 100644
--- a/tools-ng/tinymce/editor/src/plugins/lists/main/ts/core/TextBlock.ts
+++ b/tools-ng/tinymce/src/plugins/lists/main/ts/core/TextBlock.ts
@@ -1,35 +1,30 @@
/**
- * TextBlock.js
- *
- * Released under LGPL License.
- * Copyright (c) 1999-2017 Ephox Corp. All rights reserved
- *
- * License: http://www.tinymce.com/license
- * Contributing: http://www.tinymce.com/contributing
+ * Copyright (c) Tiny Technologies, Inc. All rights reserved.
+ * Licensed under the LGPL or a commercial license.
+ * For LGPL see License.txt in the project root for license information.
+ * For commercial licenses see https://www.tiny.cloud/
*/
-import DOMUtils from 'tinymce/core/api/dom/DOMUtils';
import Env from 'tinymce/core/api/Env';
import NodeType from './NodeType';
-import { DocumentFragment } from '@ephox/dom-globals';
+import { DocumentFragment, Node } from '@ephox/dom-globals';
+import { Editor } from 'tinymce/core/api/Editor';
-const DOM = DOMUtils.DOM;
-
-const createNewTextBlock = function (editor, contentNode, blockName?): DocumentFragment {
- let node, textBlock;
- const fragment = DOM.createFragment();
- let hasContentNode;
+const createTextBlock = (editor: Editor, contentNode: Node): DocumentFragment => {
+ const dom = editor.dom;
const blockElements = editor.schema.getBlockElements();
+ const fragment = dom.createFragment();
+ let node, textBlock, blockName, hasContentNode;
if (editor.settings.forced_root_block) {
- blockName = blockName || editor.settings.forced_root_block;
+ blockName = editor.settings.forced_root_block;
}
if (blockName) {
- textBlock = DOM.create(blockName);
+ textBlock = dom.create(blockName);
if (textBlock.tagName === editor.settings.forced_root_block) {
- DOM.setAttribs(textBlock, editor.settings.forced_root_block_attrs);
+ dom.setAttribs(textBlock, editor.settings.forced_root_block_attrs);
}
if (!NodeType.isBlock(contentNode.firstChild, blockElements)) {
@@ -51,7 +46,7 @@ const createNewTextBlock = function (editor, contentNode, blockName?): DocumentF
} else {
if (blockName) {
if (!textBlock) {
- textBlock = DOM.create(blockName);
+ textBlock = dom.create(blockName);
fragment.appendChild(textBlock);
}
@@ -64,17 +59,17 @@ const createNewTextBlock = function (editor, contentNode, blockName?): DocumentF
}
if (!editor.settings.forced_root_block) {
- fragment.appendChild(DOM.create('br'));
+ fragment.appendChild(dom.create('br'));
} else {
// BR is needed in empty blocks on non IE browsers
if (!hasContentNode && (!Env.ie || Env.ie > 10)) {
- textBlock.appendChild(DOM.create('br', { 'data-mce-bogus': '1' }));
+ textBlock.appendChild(dom.create('br', { 'data-mce-bogus': '1' }));
}
}
return fragment;
};
-export default {
- createNewTextBlock
+export {
+ createTextBlock
};
\ No newline at end of file
diff --git a/tools-ng/tinymce/src/plugins/lists/main/ts/listModel/ComposeList.ts b/tools-ng/tinymce/src/plugins/lists/main/ts/listModel/ComposeList.ts
new file mode 100644
index 000000000..4a213858c
--- /dev/null
+++ b/tools-ng/tinymce/src/plugins/lists/main/ts/listModel/ComposeList.ts
@@ -0,0 +1,109 @@
+/**
+ * Copyright (c) Tiny Technologies, Inc. All rights reserved.
+ * Licensed under the LGPL or a commercial license.
+ * For LGPL see License.txt in the project root for license information.
+ * For commercial licenses see https://www.tiny.cloud/
+ */
+
+import { Document } from '@ephox/dom-globals';
+import { Arr, Option, Options } from '@ephox/katamari';
+import { Attr, Css, Element, Insert, InsertAll, Node, Replication } from '@ephox/sugar';
+import { Entry } from './Entry';
+import { ListType } from './Util';
+
+interface Segment {
+ list: Element;
+ item: Element;
+}
+
+const joinSegment = (parent: Segment, child: Segment): void => {
+ Insert.append(parent.item, child.list);
+};
+
+const joinSegments = (segments: Segment[]): void => {
+ for (let i = 1; i < segments.length; i++) {
+ joinSegment(segments[i - 1], segments[i]);
+ }
+};
+
+const appendSegments = (head: Segment[], tail: Segment[]): void => {
+ Options.liftN([ Arr.last(head), Arr.head(tail)], joinSegment);
+};
+
+const createSegment = (scope: Document, listType: ListType): Segment => {
+ const segment: Segment = {
+ list: Element.fromTag(listType, scope),
+ item: Element.fromTag('li', scope)
+ };
+ Insert.append(segment.list, segment.item);
+ return segment;
+};
+
+const createSegments = (scope: Document, entry: Entry, size: number): Segment[] => {
+ const segments: Segment[] = [];
+ for (let i = 0; i < size; i++) {
+ segments.push(createSegment(scope, entry.listType));
+ }
+ return segments;
+};
+
+const populateSegments = (segments: Segment[], entry: Entry): void => {
+ for (let i = 0; i < segments.length - 1; i++) {
+ Css.set(segments[i].item, 'list-style-type', 'none');
+ }
+ Arr.last(segments).each((segment) => {
+ Attr.setAll(segment.list, entry.listAttributes);
+ Attr.setAll(segment.item, entry.itemAttributes);
+ InsertAll.append(segment.item, entry.content);
+ });
+};
+
+const normalizeSegment = (segment: Segment, entry: Entry): void => {
+ if (Node.name(segment.list) !== entry.listType) {
+ segment.list = Replication.mutate(segment.list, entry.listType);
+ }
+ Attr.setAll(segment.list, entry.listAttributes);
+};
+
+const createItem = (scope: Document, attr: Record, content: Element[]): Element => {
+ const item = Element.fromTag('li', scope);
+ Attr.setAll(item, attr);
+ InsertAll.append(item, content);
+ return item;
+};
+
+const appendItem = (segment: Segment, item: Element): void => {
+ Insert.append(segment.list, item);
+ segment.item = item;
+};
+
+const writeShallow = (scope: Document, cast: Segment[], entry: Entry): Segment[] => {
+ const newCast = cast.slice(0, entry.depth);
+
+ Arr.last(newCast).each((segment) => {
+ const item = createItem(scope, entry.itemAttributes, entry.content);
+ appendItem(segment, item);
+ normalizeSegment(segment, entry);
+ });
+
+ return newCast;
+};
+
+const writeDeep = (scope: Document, cast: Segment[], entry: Entry): Segment[] => {
+ const segments = createSegments(scope, entry, entry.depth - cast.length);
+ joinSegments(segments);
+ populateSegments(segments, entry);
+ appendSegments(cast, segments);
+
+ return cast.concat(segments);
+};
+
+const composeList = (scope: Document, entries: Entry[]): Option => {
+ const cast: Segment[] = Arr.foldl(entries, (cast, entry) => {
+ return entry.depth > cast.length ? writeDeep(scope, cast, entry) : writeShallow(scope, cast, entry);
+ }, []);
+
+ return Arr.head(cast).map((segment) => segment.list);
+};
+
+export { composeList };
diff --git a/tools-ng/tinymce/src/plugins/lists/main/ts/listModel/Entry.ts b/tools-ng/tinymce/src/plugins/lists/main/ts/listModel/Entry.ts
new file mode 100644
index 000000000..570f9a1df
--- /dev/null
+++ b/tools-ng/tinymce/src/plugins/lists/main/ts/listModel/Entry.ts
@@ -0,0 +1,67 @@
+/**
+ * Copyright (c) Tiny Technologies, Inc. All rights reserved.
+ * Licensed under the LGPL or a commercial license.
+ * For LGPL see License.txt in the project root for license information.
+ * For commercial licenses see https://www.tiny.cloud/
+ */
+
+import { Element, Traverse, Replication, Attr, Node } from '@ephox/sugar';
+import { Arr, Option } from '@ephox/katamari';
+import { hasLastChildList, ListType } from './Util';
+
+/*
+General workflow: Parse lists to entries -> Manipulate entries -> Compose entries to lists
+
+0-------1---2--------->Depth
+ |
+ a | Entry { depth: 1, content: [a], listType: ListType.OL, ... }
+ b | Entry { depth: 1, content: [b], listType: ListType.OL, ... }
+ |
+ c | Entry { depth: 2, content: [c], listType: ListType.UL, ... }
+ |
+ |
+ |
+0-------1---2--------->Depth
+*/
+
+export interface Entry {
+ depth: number;
+ content: Element[];
+ isSelected: boolean;
+ listType: ListType;
+ listAttributes: Record;
+ itemAttributes: Record;
+}
+
+const isIndented = (entry: Entry) => {
+ return entry.depth > 0;
+};
+
+const isSelected = (entry: Entry) => {
+ return entry.isSelected;
+};
+
+const cloneItemContent = (li: Element): Element[] => {
+ const children = Traverse.children(li);
+ const content = hasLastChildList(li) ? children.slice(0, -1) : children;
+ return Arr.map(content, Replication.deep);
+};
+
+const createEntry = (li: Element, depth: number, isSelected: boolean): Option => {
+ return Traverse.parent(li).map((list) => {
+ return {
+ depth,
+ isSelected,
+ content: cloneItemContent(li),
+ itemAttributes: Attr.clone(li),
+ listAttributes: Attr.clone(list),
+ listType: Node.name(list) as ListType
+ };
+ });
+};
+
+export {
+ createEntry,
+ isIndented,
+ isSelected
+};
\ No newline at end of file
diff --git a/tools-ng/tinymce/src/plugins/lists/main/ts/listModel/Indentation.ts b/tools-ng/tinymce/src/plugins/lists/main/ts/listModel/Indentation.ts
new file mode 100644
index 000000000..78d9eb48f
--- /dev/null
+++ b/tools-ng/tinymce/src/plugins/lists/main/ts/listModel/Indentation.ts
@@ -0,0 +1,29 @@
+/**
+ * Copyright (c) Tiny Technologies, Inc. All rights reserved.
+ * Licensed under the LGPL or a commercial license.
+ * For LGPL see License.txt in the project root for license information.
+ * For commercial licenses see https://www.tiny.cloud/
+ */
+
+import { Entry } from './Entry';
+
+export const enum Indentation {
+ Indent = 'Indent',
+ Outdent = 'Outdent',
+ Flatten = 'Flatten'
+}
+
+export const indentEntry = (indentation: Indentation, entry: Entry): void => {
+ switch (indentation) {
+ case Indentation.Indent:
+ entry.depth ++;
+ break;
+
+ case Indentation.Outdent:
+ entry.depth --;
+ break;
+
+ case Indentation.Flatten:
+ entry.depth = 0;
+ }
+};
\ No newline at end of file
diff --git a/tools-ng/tinymce/editor/src/plugins/lists/main/ts/listModel/ListsIndendation.ts b/tools-ng/tinymce/src/plugins/lists/main/ts/listModel/ListsIndendation.ts
similarity index 56%
rename from tools-ng/tinymce/editor/src/plugins/lists/main/ts/listModel/ListsIndendation.ts
rename to tools-ng/tinymce/src/plugins/lists/main/ts/listModel/ListsIndendation.ts
index 06a0245df..ce2a60f30 100644
--- a/tools-ng/tinymce/editor/src/plugins/lists/main/ts/listModel/ListsIndendation.ts
+++ b/tools-ng/tinymce/src/plugins/lists/main/ts/listModel/ListsIndendation.ts
@@ -1,49 +1,46 @@
/**
- * ListsIndentation.js
- *
- * Released under LGPL License.
- * Copyright (c) 1999-2018 Ephox Corp. All rights reserved
- *
- * License: http://www.tinymce.com/license
- * Contributing: http://www.tinymce.com/contributing
+ * Copyright (c) Tiny Technologies, Inc. All rights reserved.
+ * Licensed under the LGPL or a commercial license.
+ * For LGPL see License.txt in the project root for license information.
+ * For commercial licenses see https://www.tiny.cloud/
*/
-import { Arr, Option, Options, Fun } from '@ephox/katamari';
-import { Element, InsertAll, Remove, Fragment } from '@ephox/sugar';
+import { Arr, Fun, Option, Options } from '@ephox/katamari';
+import { Element, Fragment, InsertAll, Remove } from '@ephox/sugar';
+import { Editor } from 'tinymce/core/api/Editor';
+import Selection from '../core/Selection';
import { composeList } from './ComposeList';
import { Entry, isIndented, isSelected } from './Entry';
-import { IndentValue, indentEntry } from './Indentation';
+import { indentEntry, Indentation } from './Indentation';
import { normalizeEntries } from './NormalizeEntries';
-import { ItemTuple, parseLists, EntrySet } from './ParseLists';
-import { Editor } from 'tinymce/core/api/Editor';
-import TextBlock from '../core/TextBlock';
-import Selection from '../core/Selection';
+import { EntrySet, ItemSelection, parseLists } from './ParseLists';
import { hasFirstChildList } from './Util';
+import { createTextBlock } from '../core/TextBlock';
const outdentedComposer = (editor: Editor, entries: Entry[]): Element[] => {
return Arr.map(entries, (entry) => {
const content = Fragment.fromElements(entry.content);
- return Element.fromDom(TextBlock.createNewTextBlock(editor, content.dom()));
+ return Element.fromDom(createTextBlock(editor, content.dom()));
});
};
-const indentedComposer = (entries: Entry[]): Element[] => {
+const indentedComposer = (editor: Editor, entries: Entry[]): Element[] => {
normalizeEntries(entries);
- return composeList(entries).toArray();
+ return composeList(editor.contentDocument, entries).toArray();
};
const composeEntries = (editor, entries: Entry[]): Element[] => {
return Arr.bind(Arr.groupBy(entries, isIndented), (entries) => {
const groupIsIndented = Arr.head(entries).map(isIndented).getOr(false);
- return groupIsIndented ? indentedComposer(entries) : outdentedComposer(editor, entries);
+ return groupIsIndented ? indentedComposer(editor, entries) : outdentedComposer(editor, entries);
});
};
-const indentSelectedEntries = (entries: Entry[], indentation: IndentValue): void => {
+const indentSelectedEntries = (entries: Entry[], indentation: Indentation): void => {
Arr.each(Arr.filter(entries, isSelected), (entry) => indentEntry(indentation, entry));
};
-const getItemSelection = (editor: Editor): Option => {
+const getItemSelection = (editor: Editor): Option => {
const selectedListItems = Arr.map(Selection.getSelectedListItems(editor), Element.fromDom);
return Options.liftN([
@@ -52,14 +49,14 @@ const getItemSelection = (editor: Editor): Option => {
], (start, end) => ({ start, end }));
};
-const listsIndentation = (editor: Editor, lists: Element[], indentation: IndentValue) => {
- const parsedLists: EntrySet[] = parseLists(lists, getItemSelection(editor));
+const listsIndentation = (editor: Editor, lists: Element[], indentation: Indentation) => {
+ const entrySets: EntrySet[] = parseLists(lists, getItemSelection(editor));
- Arr.each(parsedLists, (entrySet) => {
+ Arr.each(entrySets, (entrySet) => {
indentSelectedEntries(entrySet.entries, indentation);
InsertAll.before(entrySet.sourceList, composeEntries(editor, entrySet.entries));
Remove.remove(entrySet.sourceList);
});
};
-export { listsIndentation };
+export { listsIndentation };
\ No newline at end of file
diff --git a/tools-ng/tinymce/src/plugins/lists/main/ts/listModel/NormalizeEntries.ts b/tools-ng/tinymce/src/plugins/lists/main/ts/listModel/NormalizeEntries.ts
new file mode 100644
index 000000000..2cf9a04d9
--- /dev/null
+++ b/tools-ng/tinymce/src/plugins/lists/main/ts/listModel/NormalizeEntries.ts
@@ -0,0 +1,40 @@
+/**
+ * Copyright (c) Tiny Technologies, Inc. All rights reserved.
+ * Licensed under the LGPL or a commercial license.
+ * For LGPL see License.txt in the project root for license information.
+ * For commercial licenses see https://www.tiny.cloud/
+ */
+
+import { Entry } from './Entry';
+import { Arr, Merger, Option } from '@ephox/katamari';
+
+const cloneListProperties = (target: Entry, source: Entry): void => {
+ target.listType = source.listType;
+ target.listAttributes = Merger.merge({}, source.listAttributes);
+};
+
+// Closest entry above in the same list
+const previousSiblingEntry = (entries: Entry[], start: number): Option => {
+ const depth = entries[start].depth;
+ for (let i = start - 1; i >= 0; i--) {
+ if (entries[i].depth === depth) {
+ return Option.some(entries[i]);
+ }
+ if (entries[i].depth < depth) {
+ break;
+ }
+ }
+ return Option.none();
+};
+
+const normalizeEntries = (entries: Entry[]): void => {
+ Arr.each(entries, (entry, i) => {
+ previousSiblingEntry(entries, i).each((matchingEntry) => {
+ cloneListProperties(entry, matchingEntry);
+ });
+ });
+};
+
+export {
+ normalizeEntries
+};
\ No newline at end of file
diff --git a/tools-ng/tinymce/src/plugins/lists/main/ts/listModel/ParseLists.ts b/tools-ng/tinymce/src/plugins/lists/main/ts/listModel/ParseLists.ts
new file mode 100644
index 000000000..eb953d1b3
--- /dev/null
+++ b/tools-ng/tinymce/src/plugins/lists/main/ts/listModel/ParseLists.ts
@@ -0,0 +1,71 @@
+/**
+ * Copyright (c) Tiny Technologies, Inc. All rights reserved.
+ * Licensed under the LGPL or a commercial license.
+ * For LGPL see License.txt in the project root for license information.
+ * For commercial licenses see https://www.tiny.cloud/
+ */
+
+import { Arr, Cell, Option } from '@ephox/katamari';
+import { Compare, Element, Traverse } from '@ephox/sugar';
+import { createEntry, Entry } from './Entry';
+import { isList } from './Util';
+
+type Parser = (depth: number, itemSelection: Option, selectionState: Cell, element: Element) => Entry[];
+
+export interface ItemSelection {
+ start: Element;
+ end: Element;
+}
+
+export interface EntrySet {
+ entries: Entry[];
+ sourceList: Element;
+}
+
+const parseItem: Parser = (depth: number, itemSelection: Option, selectionState: Cell, item: Element): Entry[] => {
+ return Traverse.firstChild(item).filter(isList).fold(() => {
+
+ // Update selectionState (start)
+ itemSelection.each((selection) => {
+ if (Compare.eq(selection.start, item)) {
+ selectionState.set(true);
+ }
+ });
+
+ const currentItemEntry = createEntry(item, depth, selectionState.get());
+
+ // Update selectionState (end)
+ itemSelection.each((selection) => {
+ if (Compare.eq(selection.end, item)) {
+ selectionState.set(false);
+ }
+ });
+
+ const childListEntries: Entry[] = Traverse.lastChild(item)
+ .filter(isList)
+ .map((list) => parseList(depth, itemSelection, selectionState, list))
+ .getOr([]);
+
+ return currentItemEntry.toArray().concat(childListEntries);
+ }, (list) => parseList(depth, itemSelection, selectionState, list));
+};
+
+const parseList: Parser = (depth: number, itemSelection: Option, selectionState: Cell, list: Element): Entry[] => {
+ return Arr.bind(Traverse.children(list), (element) => {
+ const parser = isList(element) ? parseList : parseItem;
+ const newDepth = depth + 1;
+ return parser(newDepth, itemSelection, selectionState, element);
+ });
+};
+
+const parseLists = (lists: Element[], itemSelection: Option): EntrySet[] => {
+ const selectionState = Cell(false);
+ const initialDepth = 0;
+
+ return Arr.map(lists, (list) => ({
+ sourceList: list,
+ entries: parseList(initialDepth, itemSelection, selectionState, list)
+ }));
+};
+
+export { parseLists };
\ No newline at end of file
diff --git a/tools-ng/tinymce/src/plugins/lists/main/ts/listModel/Util.ts b/tools-ng/tinymce/src/plugins/lists/main/ts/listModel/Util.ts
new file mode 100644
index 000000000..2a4d901ae
--- /dev/null
+++ b/tools-ng/tinymce/src/plugins/lists/main/ts/listModel/Util.ts
@@ -0,0 +1,31 @@
+/**
+ * Copyright (c) Tiny Technologies, Inc. All rights reserved.
+ * Licensed under the LGPL or a commercial license.
+ * For LGPL see License.txt in the project root for license information.
+ * For commercial licenses see https://www.tiny.cloud/
+ */
+
+import { Element, Traverse, Compare } from '@ephox/sugar';
+
+export const enum ListType {
+ OL = 'ol',
+ UL = 'ul'
+}
+
+const isList = (el: Element) => {
+ return Compare.is(el, 'OL,UL');
+};
+
+const hasFirstChildList = (el: Element) => {
+ return Traverse.firstChild(el).map(isList).getOr(false);
+};
+
+const hasLastChildList = (el: Element) => {
+ return Traverse.lastChild(el).map(isList).getOr(false);
+};
+
+export {
+ isList,
+ hasFirstChildList,
+ hasLastChildList
+};
\ No newline at end of file
diff --git a/tools-ng/tinymce/editor/src/plugins/lists/main/ts/ui/Buttons.ts b/tools-ng/tinymce/src/plugins/lists/main/ts/ui/Buttons.ts
similarity index 86%
rename from tools-ng/tinymce/editor/src/plugins/lists/main/ts/ui/Buttons.ts
rename to tools-ng/tinymce/src/plugins/lists/main/ts/ui/Buttons.ts
index 26741f2f1..553581cab 100644
--- a/tools-ng/tinymce/editor/src/plugins/lists/main/ts/ui/Buttons.ts
+++ b/tools-ng/tinymce/src/plugins/lists/main/ts/ui/Buttons.ts
@@ -1,11 +1,8 @@
/**
- * Buttons.js
- *
- * Released under LGPL License.
- * Copyright (c) 1999-2017 Ephox Corp. All rights reserved
- *
- * License: http://www.tinymce.com/license
- * Contributing: http://www.tinymce.com/contributing
+ * Copyright (c) Tiny Technologies, Inc. All rights reserved.
+ * Licensed under the LGPL or a commercial license.
+ * For LGPL see License.txt in the project root for license information.
+ * For commercial licenses see https://www.tiny.cloud/
*/
import Tools from 'tinymce/core/api/util/Tools';
diff --git a/tools-ng/tinymce/editor/src/plugins/lists/test/ts/browser/ApplyDlTest.ts b/tools-ng/tinymce/src/plugins/lists/test/ts/browser/ApplyDlTest.ts
similarity index 100%
rename from tools-ng/tinymce/editor/src/plugins/lists/test/ts/browser/ApplyDlTest.ts
rename to tools-ng/tinymce/src/plugins/lists/test/ts/browser/ApplyDlTest.ts
diff --git a/tools-ng/tinymce/editor/src/plugins/lists/test/ts/browser/ApplyListOnParagraphWithStylesTest.ts b/tools-ng/tinymce/src/plugins/lists/test/ts/browser/ApplyListOnParagraphWithStylesTest.ts
similarity index 100%
rename from tools-ng/tinymce/editor/src/plugins/lists/test/ts/browser/ApplyListOnParagraphWithStylesTest.ts
rename to tools-ng/tinymce/src/plugins/lists/test/ts/browser/ApplyListOnParagraphWithStylesTest.ts
diff --git a/tools-ng/tinymce/editor/src/plugins/lists/test/ts/browser/ApplyTest.ts b/tools-ng/tinymce/src/plugins/lists/test/ts/browser/ApplyTest.ts
similarity index 100%
rename from tools-ng/tinymce/editor/src/plugins/lists/test/ts/browser/ApplyTest.ts
rename to tools-ng/tinymce/src/plugins/lists/test/ts/browser/ApplyTest.ts
diff --git a/tools-ng/tinymce/editor/src/plugins/lists/test/ts/browser/BackspaceDeleteFromBlockIntoLiTest.ts b/tools-ng/tinymce/src/plugins/lists/test/ts/browser/BackspaceDeleteFromBlockIntoLiTest.ts
similarity index 100%
rename from tools-ng/tinymce/editor/src/plugins/lists/test/ts/browser/BackspaceDeleteFromBlockIntoLiTest.ts
rename to tools-ng/tinymce/src/plugins/lists/test/ts/browser/BackspaceDeleteFromBlockIntoLiTest.ts
diff --git a/tools-ng/tinymce/editor/src/plugins/lists/test/ts/browser/BackspaceDeleteInlineTest.ts b/tools-ng/tinymce/src/plugins/lists/test/ts/browser/BackspaceDeleteInlineTest.ts
similarity index 100%
rename from tools-ng/tinymce/editor/src/plugins/lists/test/ts/browser/BackspaceDeleteInlineTest.ts
rename to tools-ng/tinymce/src/plugins/lists/test/ts/browser/BackspaceDeleteInlineTest.ts
diff --git a/tools-ng/tinymce/editor/src/plugins/lists/test/ts/browser/BackspaceDeleteTest.ts b/tools-ng/tinymce/src/plugins/lists/test/ts/browser/BackspaceDeleteTest.ts
similarity index 100%
rename from tools-ng/tinymce/editor/src/plugins/lists/test/ts/browser/BackspaceDeleteTest.ts
rename to tools-ng/tinymce/src/plugins/lists/test/ts/browser/BackspaceDeleteTest.ts
diff --git a/tools-ng/tinymce/editor/src/plugins/lists/test/ts/browser/ChangeListStyleTest.ts b/tools-ng/tinymce/src/plugins/lists/test/ts/browser/ChangeListStyleTest.ts
similarity index 100%
rename from tools-ng/tinymce/editor/src/plugins/lists/test/ts/browser/ChangeListStyleTest.ts
rename to tools-ng/tinymce/src/plugins/lists/test/ts/browser/ChangeListStyleTest.ts
diff --git a/tools-ng/tinymce/editor/src/plugins/lists/test/ts/browser/IndentTest.ts b/tools-ng/tinymce/src/plugins/lists/test/ts/browser/IndentTest.ts
similarity index 100%
rename from tools-ng/tinymce/editor/src/plugins/lists/test/ts/browser/IndentTest.ts
rename to tools-ng/tinymce/src/plugins/lists/test/ts/browser/IndentTest.ts
diff --git a/tools-ng/tinymce/editor/src/plugins/lists/test/ts/browser/InlineTest.ts b/tools-ng/tinymce/src/plugins/lists/test/ts/browser/InlineTest.ts
similarity index 100%
rename from tools-ng/tinymce/editor/src/plugins/lists/test/ts/browser/InlineTest.ts
rename to tools-ng/tinymce/src/plugins/lists/test/ts/browser/InlineTest.ts
diff --git a/tools-ng/tinymce/editor/src/plugins/lists/test/ts/browser/ListModelTest.ts b/tools-ng/tinymce/src/plugins/lists/test/ts/browser/ListModelTest.ts
similarity index 93%
rename from tools-ng/tinymce/editor/src/plugins/lists/test/ts/browser/ListModelTest.ts
rename to tools-ng/tinymce/src/plugins/lists/test/ts/browser/ListModelTest.ts
index 8e9a68aa1..0650c1a34 100644
--- a/tools-ng/tinymce/editor/src/plugins/lists/test/ts/browser/ListModelTest.ts
+++ b/tools-ng/tinymce/src/plugins/lists/test/ts/browser/ListModelTest.ts
@@ -1,15 +1,16 @@
import { Arbitraries } from '@ephox/agar';
import { UnitTest } from '@ephox/bedrock';
+import { document } from '@ephox/dom-globals';
+import { Arr, Option } from '@ephox/katamari';
+import { Element } from '@ephox/sugar';
import Jsc from '@ephox/wrap-jsverify';
import { composeList } from '../../../main/ts/listModel/ComposeList';
-import { parseLists } from '../../../main/ts/listModel/ParseLists';
-import { Arr, Option } from '@ephox/katamari';
-import { normalizeEntries } from '../../../main/ts/listModel/NormalizeEntries';
-import { ListType } from '../../../main/ts/listModel/ListType';
import { Entry } from '../../../main/ts/listModel/Entry';
-import { Element } from '@ephox/sugar';
+import { normalizeEntries } from '../../../main/ts/listModel/NormalizeEntries';
+import { parseLists } from '../../../main/ts/listModel/ParseLists';
+import { ListType } from 'tinymce/plugins/lists/listModel/Util';
-UnitTest.test('ListModelTest', () => {
+UnitTest.test('tinymce.lists.browser.ListModelTest', () => {
const arbitratyContent = Jsc.bless({
generator: Arbitraries.content('inline').generator.map((el) => [el])
});
@@ -32,7 +33,7 @@ UnitTest.test('ListModelTest', () => {
});
const composeParse = (entries: Entry[]): Entry[] => {
- return composeList(entries)
+ return composeList(document, entries)
.map((list) => parseLists([list], Option.none()))
.bind(Arr.head)
.map((entrySet) => entrySet.entries)
diff --git a/tools-ng/tinymce/editor/src/plugins/lists/test/ts/browser/OutdentTest.ts b/tools-ng/tinymce/src/plugins/lists/test/ts/browser/OutdentTest.ts
similarity index 93%
rename from tools-ng/tinymce/editor/src/plugins/lists/test/ts/browser/OutdentTest.ts
rename to tools-ng/tinymce/src/plugins/lists/test/ts/browser/OutdentTest.ts
index d181e76da..37f8341a0 100644
--- a/tools-ng/tinymce/editor/src/plugins/lists/test/ts/browser/OutdentTest.ts
+++ b/tools-ng/tinymce/src/plugins/lists/test/ts/browser/OutdentTest.ts
@@ -381,6 +381,29 @@ UnitTest.asynctest('tinymce.lists.browser.OutdentTest', function () {
);
});
+ suite.test('Outdenting an item should not affect its attributes', function (editor) {
+ editor.getBody().innerHTML = LegacyUnit.trimBrs(
+ '' +
+ 'a' +
+ '' +
+ ' ' +
+ ' '
+ );
+
+ editor.focus();
+ LegacyUnit.setSelection(editor, 'ul ul li', 0);
+ LegacyUnit.execCommand(editor, 'Outdent');
+
+ LegacyUnit.equal(editor.getContent(),
+ ''
+ );
+ });
+
TinyLoader.setup(function (editor, onSuccess, onFailure) {
Pipeline.async({}, suite.toSteps(editor), onSuccess, onFailure);
}, {
diff --git a/tools-ng/tinymce/editor/src/plugins/lists/test/ts/browser/RemoveTest.ts b/tools-ng/tinymce/src/plugins/lists/test/ts/browser/RemoveTest.ts
similarity index 100%
rename from tools-ng/tinymce/editor/src/plugins/lists/test/ts/browser/RemoveTest.ts
rename to tools-ng/tinymce/src/plugins/lists/test/ts/browser/RemoveTest.ts
diff --git a/tools-ng/tinymce/editor/src/plugins/lists/test/ts/browser/TableInListTest.ts b/tools-ng/tinymce/src/plugins/lists/test/ts/browser/TableInListTest.ts
similarity index 100%
rename from tools-ng/tinymce/editor/src/plugins/lists/test/ts/browser/TableInListTest.ts
rename to tools-ng/tinymce/src/plugins/lists/test/ts/browser/TableInListTest.ts
diff --git a/tools-ng/tinymce/editor/src/plugins/lists/test/ts/browser/ToggleListWithEmptyLiTest.ts b/tools-ng/tinymce/src/plugins/lists/test/ts/browser/ToggleListWithEmptyLiTest.ts
similarity index 100%
rename from tools-ng/tinymce/editor/src/plugins/lists/test/ts/browser/ToggleListWithEmptyLiTest.ts
rename to tools-ng/tinymce/src/plugins/lists/test/ts/browser/ToggleListWithEmptyLiTest.ts
diff --git a/tools-ng/tinymce/editor/src/plugins/media/demo/html/demo.html b/tools-ng/tinymce/src/plugins/media/demo/html/demo.html
similarity index 100%
rename from tools-ng/tinymce/editor/src/plugins/media/demo/html/demo.html
rename to tools-ng/tinymce/src/plugins/media/demo/html/demo.html
diff --git a/tools-ng/tinymce/editor/src/plugins/media/demo/ts/demo/Demo.ts b/tools-ng/tinymce/src/plugins/media/demo/ts/demo/Demo.ts
similarity index 100%
rename from tools-ng/tinymce/editor/src/plugins/media/demo/ts/demo/Demo.ts
rename to tools-ng/tinymce/src/plugins/media/demo/ts/demo/Demo.ts
diff --git a/tools-ng/tinymce/editor/src/plugins/media/main/ts/Plugin.ts b/tools-ng/tinymce/src/plugins/media/main/ts/Plugin.ts
similarity index 69%
rename from tools-ng/tinymce/editor/src/plugins/media/main/ts/Plugin.ts
rename to tools-ng/tinymce/src/plugins/media/main/ts/Plugin.ts
index be78430ca..f6997eccc 100644
--- a/tools-ng/tinymce/editor/src/plugins/media/main/ts/Plugin.ts
+++ b/tools-ng/tinymce/src/plugins/media/main/ts/Plugin.ts
@@ -1,11 +1,8 @@
/**
- * Plugin.js
- *
- * Released under LGPL License.
- * Copyright (c) 1999-2017 Ephox Corp. All rights reserved
- *
- * License: http://www.tinymce.com/license
- * Contributing: http://www.tinymce.com/contributing
+ * Copyright (c) Tiny Technologies, Inc. All rights reserved.
+ * Licensed under the LGPL or a commercial license.
+ * For LGPL see License.txt in the project root for license information.
+ * For commercial licenses see https://www.tiny.cloud/
*/
import PluginManager from 'tinymce/core/api/PluginManager';
diff --git a/tools-ng/tinymce/src/plugins/media/main/ts/api/Api.ts b/tools-ng/tinymce/src/plugins/media/main/ts/api/Api.ts
new file mode 100644
index 000000000..239ba6e40
--- /dev/null
+++ b/tools-ng/tinymce/src/plugins/media/main/ts/api/Api.ts
@@ -0,0 +1,22 @@
+/**
+ * Copyright (c) Tiny Technologies, Inc. All rights reserved.
+ * Licensed under the LGPL or a commercial license.
+ * For LGPL see License.txt in the project root for license information.
+ * For commercial licenses see https://www.tiny.cloud/
+ */
+
+import Dialog from '../ui/Dialog';
+
+const get = function (editor) {
+ const showDialog = function () {
+ Dialog.showDialog(editor);
+ };
+
+ return {
+ showDialog
+ };
+};
+
+export default {
+ get
+};
\ No newline at end of file
diff --git a/tools-ng/tinymce/src/plugins/media/main/ts/api/Commands.ts b/tools-ng/tinymce/src/plugins/media/main/ts/api/Commands.ts
new file mode 100644
index 000000000..e99640242
--- /dev/null
+++ b/tools-ng/tinymce/src/plugins/media/main/ts/api/Commands.ts
@@ -0,0 +1,20 @@
+/**
+ * Copyright (c) Tiny Technologies, Inc. All rights reserved.
+ * Licensed under the LGPL or a commercial license.
+ * For LGPL see License.txt in the project root for license information.
+ * For commercial licenses see https://www.tiny.cloud/
+ */
+
+import Dialog from '../ui/Dialog';
+
+const register = function (editor) {
+ const showDialog = function () {
+ Dialog.showDialog(editor);
+ };
+
+ editor.addCommand('mceMedia', showDialog);
+};
+
+export default {
+ register
+};
\ No newline at end of file
diff --git a/tools-ng/tinymce/editor/src/plugins/media/main/ts/api/Settings.ts b/tools-ng/tinymce/src/plugins/media/main/ts/api/Settings.ts
similarity index 81%
rename from tools-ng/tinymce/editor/src/plugins/media/main/ts/api/Settings.ts
rename to tools-ng/tinymce/src/plugins/media/main/ts/api/Settings.ts
index f068a9ddd..a4df540b6 100644
--- a/tools-ng/tinymce/editor/src/plugins/media/main/ts/api/Settings.ts
+++ b/tools-ng/tinymce/src/plugins/media/main/ts/api/Settings.ts
@@ -1,11 +1,8 @@
/**
- * Settings.js
- *
- * Released under LGPL License.
- * Copyright (c) 1999-2017 Ephox Corp. All rights reserved
- *
- * License: http://www.tinymce.com/license
- * Contributing: http://www.tinymce.com/contributing
+ * Copyright (c) Tiny Technologies, Inc. All rights reserved.
+ * Licensed under the LGPL or a commercial license.
+ * For LGPL see License.txt in the project root for license information.
+ * For commercial licenses see https://www.tiny.cloud/
*/
const getScripts = function (editor) {
diff --git a/tools-ng/tinymce/editor/src/plugins/media/main/ts/core/DataToHtml.ts b/tools-ng/tinymce/src/plugins/media/main/ts/core/DataToHtml.ts
similarity index 94%
rename from tools-ng/tinymce/editor/src/plugins/media/main/ts/core/DataToHtml.ts
rename to tools-ng/tinymce/src/plugins/media/main/ts/core/DataToHtml.ts
index 3d1c4c89e..495a0f9a0 100644
--- a/tools-ng/tinymce/editor/src/plugins/media/main/ts/core/DataToHtml.ts
+++ b/tools-ng/tinymce/src/plugins/media/main/ts/core/DataToHtml.ts
@@ -1,11 +1,8 @@
/**
- * DataToHtml.js
- *
- * Released under LGPL License.
- * Copyright (c) 1999-2017 Ephox Corp. All rights reserved
- *
- * License: http://www.tinymce.com/license
- * Contributing: http://www.tinymce.com/contributing
+ * Copyright (c) Tiny Technologies, Inc. All rights reserved.
+ * Licensed under the LGPL or a commercial license.
+ * For LGPL see License.txt in the project root for license information.
+ * For commercial licenses see https://www.tiny.cloud/
*/
import Tools from 'tinymce/core/api/util/Tools';
diff --git a/tools-ng/tinymce/editor/src/plugins/media/main/ts/core/FilterContent.ts b/tools-ng/tinymce/src/plugins/media/main/ts/core/FilterContent.ts
similarity index 93%
rename from tools-ng/tinymce/editor/src/plugins/media/main/ts/core/FilterContent.ts
rename to tools-ng/tinymce/src/plugins/media/main/ts/core/FilterContent.ts
index c670d8a43..d28ce56cd 100644
--- a/tools-ng/tinymce/editor/src/plugins/media/main/ts/core/FilterContent.ts
+++ b/tools-ng/tinymce/src/plugins/media/main/ts/core/FilterContent.ts
@@ -1,11 +1,8 @@
/**
- * FilterContent.js
- *
- * Released under LGPL License.
- * Copyright (c) 1999-2017 Ephox Corp. All rights reserved
- *
- * License: http://www.tinymce.com/license
- * Contributing: http://www.tinymce.com/contributing
+ * Copyright (c) Tiny Technologies, Inc. All rights reserved.
+ * Licensed under the LGPL or a commercial license.
+ * For LGPL see License.txt in the project root for license information.
+ * For commercial licenses see https://www.tiny.cloud/
*/
import Node from 'tinymce/core/api/html/Node';
diff --git a/tools-ng/tinymce/editor/src/plugins/media/main/ts/core/HtmlToData.ts b/tools-ng/tinymce/src/plugins/media/main/ts/core/HtmlToData.ts
similarity index 90%
rename from tools-ng/tinymce/editor/src/plugins/media/main/ts/core/HtmlToData.ts
rename to tools-ng/tinymce/src/plugins/media/main/ts/core/HtmlToData.ts
index 62419b203..f4b483cca 100644
--- a/tools-ng/tinymce/editor/src/plugins/media/main/ts/core/HtmlToData.ts
+++ b/tools-ng/tinymce/src/plugins/media/main/ts/core/HtmlToData.ts
@@ -1,11 +1,8 @@
/**
- * HtmlToData.js
- *
- * Released under LGPL License.
- * Copyright (c) 1999-2017 Ephox Corp. All rights reserved
- *
- * License: http://www.tinymce.com/license
- * Contributing: http://www.tinymce.com/contributing
+ * Copyright (c) Tiny Technologies, Inc. All rights reserved.
+ * Licensed under the LGPL or a commercial license.
+ * For LGPL see License.txt in the project root for license information.
+ * For commercial licenses see https://www.tiny.cloud/
*/
import Tools from 'tinymce/core/api/util/Tools';
diff --git a/tools-ng/tinymce/editor/src/plugins/media/main/ts/core/Mime.ts b/tools-ng/tinymce/src/plugins/media/main/ts/core/Mime.ts
similarity index 59%
rename from tools-ng/tinymce/editor/src/plugins/media/main/ts/core/Mime.ts
rename to tools-ng/tinymce/src/plugins/media/main/ts/core/Mime.ts
index 2df8fba48..4a1b59894 100644
--- a/tools-ng/tinymce/editor/src/plugins/media/main/ts/core/Mime.ts
+++ b/tools-ng/tinymce/src/plugins/media/main/ts/core/Mime.ts
@@ -1,11 +1,8 @@
/**
- * Mime.js
- *
- * Released under LGPL License.
- * Copyright (c) 1999-2017 Ephox Corp. All rights reserved
- *
- * License: http://www.tinymce.com/license
- * Contributing: http://www.tinymce.com/contributing
+ * Copyright (c) Tiny Technologies, Inc. All rights reserved.
+ * Licensed under the LGPL or a commercial license.
+ * For LGPL see License.txt in the project root for license information.
+ * For commercial licenses see https://www.tiny.cloud/
*/
const guess = function (url) {
diff --git a/tools-ng/tinymce/editor/src/plugins/media/main/ts/core/Nodes.ts b/tools-ng/tinymce/src/plugins/media/main/ts/core/Nodes.ts
similarity index 94%
rename from tools-ng/tinymce/editor/src/plugins/media/main/ts/core/Nodes.ts
rename to tools-ng/tinymce/src/plugins/media/main/ts/core/Nodes.ts
index c7b5a6421..96e85e0ab 100644
--- a/tools-ng/tinymce/editor/src/plugins/media/main/ts/core/Nodes.ts
+++ b/tools-ng/tinymce/src/plugins/media/main/ts/core/Nodes.ts
@@ -1,11 +1,8 @@
/**
- * Nodes.js
- *
- * Released under LGPL License.
- * Copyright (c) 1999-2017 Ephox Corp. All rights reserved
- *
- * License: http://www.tinymce.com/license
- * Contributing: http://www.tinymce.com/contributing
+ * Copyright (c) Tiny Technologies, Inc. All rights reserved.
+ * Licensed under the LGPL or a commercial license.
+ * For LGPL see License.txt in the project root for license information.
+ * For commercial licenses see https://www.tiny.cloud/
*/
import Env from 'tinymce/core/api/Env';
diff --git a/tools-ng/tinymce/editor/src/plugins/media/main/ts/core/ResolveName.ts b/tools-ng/tinymce/src/plugins/media/main/ts/core/ResolveName.ts
similarity index 51%
rename from tools-ng/tinymce/editor/src/plugins/media/main/ts/core/ResolveName.ts
rename to tools-ng/tinymce/src/plugins/media/main/ts/core/ResolveName.ts
index 79dbc69cd..976d50a05 100644
--- a/tools-ng/tinymce/editor/src/plugins/media/main/ts/core/ResolveName.ts
+++ b/tools-ng/tinymce/src/plugins/media/main/ts/core/ResolveName.ts
@@ -1,11 +1,8 @@
/**
- * ResolveName.js
- *
- * Released under LGPL License.
- * Copyright (c) 1999-2017 Ephox Corp. All rights reserved
- *
- * License: http://www.tinymce.com/license
- * Contributing: http://www.tinymce.com/contributing
+ * Copyright (c) Tiny Technologies, Inc. All rights reserved.
+ * Licensed under the LGPL or a commercial license.
+ * For LGPL see License.txt in the project root for license information.
+ * For commercial licenses see https://www.tiny.cloud/
*/
const setup = function (editor) {
diff --git a/tools-ng/tinymce/editor/src/plugins/media/main/ts/core/Sanitize.ts b/tools-ng/tinymce/src/plugins/media/main/ts/core/Sanitize.ts
similarity index 84%
rename from tools-ng/tinymce/editor/src/plugins/media/main/ts/core/Sanitize.ts
rename to tools-ng/tinymce/src/plugins/media/main/ts/core/Sanitize.ts
index 08da0856a..367241330 100644
--- a/tools-ng/tinymce/editor/src/plugins/media/main/ts/core/Sanitize.ts
+++ b/tools-ng/tinymce/src/plugins/media/main/ts/core/Sanitize.ts
@@ -1,11 +1,8 @@
/**
- * Sanitize.js
- *
- * Released under LGPL License.
- * Copyright (c) 1999-2017 Ephox Corp. All rights reserved
- *
- * License: http://www.tinymce.com/license
- * Contributing: http://www.tinymce.com/contributing
+ * Copyright (c) Tiny Technologies, Inc. All rights reserved.
+ * Licensed under the LGPL or a commercial license.
+ * For LGPL see License.txt in the project root for license information.
+ * For commercial licenses see https://www.tiny.cloud/
*/
import SaxParser from 'tinymce/core/api/html/SaxParser';
diff --git a/tools-ng/tinymce/editor/src/plugins/media/main/ts/core/Selection.ts b/tools-ng/tinymce/src/plugins/media/main/ts/core/Selection.ts
similarity index 82%
rename from tools-ng/tinymce/editor/src/plugins/media/main/ts/core/Selection.ts
rename to tools-ng/tinymce/src/plugins/media/main/ts/core/Selection.ts
index 406d1b2a2..93149278a 100644
--- a/tools-ng/tinymce/editor/src/plugins/media/main/ts/core/Selection.ts
+++ b/tools-ng/tinymce/src/plugins/media/main/ts/core/Selection.ts
@@ -1,11 +1,8 @@
/**
- * Selection.js
- *
- * Released under LGPL License.
- * Copyright (c) 1999-2017 Ephox Corp. All rights reserved
- *
- * License: http://www.tinymce.com/license
- * Contributing: http://www.tinymce.com/contributing
+ * Copyright (c) Tiny Technologies, Inc. All rights reserved.
+ * Licensed under the LGPL or a commercial license.
+ * For LGPL see License.txt in the project root for license information.
+ * For commercial licenses see https://www.tiny.cloud/
*/
import UpdateHtml from './UpdateHtml';
diff --git a/tools-ng/tinymce/editor/src/plugins/media/main/ts/core/Service.ts b/tools-ng/tinymce/src/plugins/media/main/ts/core/Service.ts
similarity index 84%
rename from tools-ng/tinymce/editor/src/plugins/media/main/ts/core/Service.ts
rename to tools-ng/tinymce/src/plugins/media/main/ts/core/Service.ts
index 5572b349f..3c6258220 100644
--- a/tools-ng/tinymce/editor/src/plugins/media/main/ts/core/Service.ts
+++ b/tools-ng/tinymce/src/plugins/media/main/ts/core/Service.ts
@@ -1,11 +1,8 @@
/**
- * Service.js
- *
- * Released under LGPL License.
- * Copyright (c) 1999-2017 Ephox Corp. All rights reserved
- *
- * License: http://www.tinymce.com/license
- * Contributing: http://www.tinymce.com/contributing
+ * Copyright (c) Tiny Technologies, Inc. All rights reserved.
+ * Licensed under the LGPL or a commercial license.
+ * For LGPL see License.txt in the project root for license information.
+ * For commercial licenses see https://www.tiny.cloud/
*/
import Promise from 'tinymce/core/api/util/Promise';
diff --git a/tools-ng/tinymce/editor/src/plugins/media/main/ts/core/Size.ts b/tools-ng/tinymce/src/plugins/media/main/ts/core/Size.ts
similarity index 71%
rename from tools-ng/tinymce/editor/src/plugins/media/main/ts/core/Size.ts
rename to tools-ng/tinymce/src/plugins/media/main/ts/core/Size.ts
index ed0205947..f4df5a98a 100644
--- a/tools-ng/tinymce/editor/src/plugins/media/main/ts/core/Size.ts
+++ b/tools-ng/tinymce/src/plugins/media/main/ts/core/Size.ts
@@ -1,11 +1,8 @@
/**
- * Size.js
- *
- * Released under LGPL License.
- * Copyright (c) 1999-2017 Ephox Corp. All rights reserved
- *
- * License: http://www.tinymce.com/license
- * Contributing: http://www.tinymce.com/contributing
+ * Copyright (c) Tiny Technologies, Inc. All rights reserved.
+ * Licensed under the LGPL or a commercial license.
+ * For LGPL see License.txt in the project root for license information.
+ * For commercial licenses see https://www.tiny.cloud/
*/
const trimPx = function (value) {
diff --git a/tools-ng/tinymce/editor/src/plugins/media/main/ts/core/UpdateHtml.ts b/tools-ng/tinymce/src/plugins/media/main/ts/core/UpdateHtml.ts
similarity index 94%
rename from tools-ng/tinymce/editor/src/plugins/media/main/ts/core/UpdateHtml.ts
rename to tools-ng/tinymce/src/plugins/media/main/ts/core/UpdateHtml.ts
index bd61c046f..2a0626c77 100644
--- a/tools-ng/tinymce/editor/src/plugins/media/main/ts/core/UpdateHtml.ts
+++ b/tools-ng/tinymce/src/plugins/media/main/ts/core/UpdateHtml.ts
@@ -1,11 +1,8 @@
/**
- * UpdateHtml.js
- *
- * Released under LGPL License.
- * Copyright (c) 1999-2017 Ephox Corp. All rights reserved
- *
- * License: http://www.tinymce.com/license
- * Contributing: http://www.tinymce.com/contributing
+ * Copyright (c) Tiny Technologies, Inc. All rights reserved.
+ * Licensed under the LGPL or a commercial license.
+ * For LGPL see License.txt in the project root for license information.
+ * For commercial licenses see https://www.tiny.cloud/
*/
import Writer from 'tinymce/core/api/html/Writer';
diff --git a/tools-ng/tinymce/editor/src/plugins/media/main/ts/core/UrlPatterns.ts b/tools-ng/tinymce/src/plugins/media/main/ts/core/UrlPatterns.ts
similarity index 90%
rename from tools-ng/tinymce/editor/src/plugins/media/main/ts/core/UrlPatterns.ts
rename to tools-ng/tinymce/src/plugins/media/main/ts/core/UrlPatterns.ts
index 518b9fe81..4013ab3f4 100644
--- a/tools-ng/tinymce/editor/src/plugins/media/main/ts/core/UrlPatterns.ts
+++ b/tools-ng/tinymce/src/plugins/media/main/ts/core/UrlPatterns.ts
@@ -1,11 +1,8 @@
/**
- * UrlPatterns.js
- *
- * Released under LGPL License.
- * Copyright (c) 1999-2017 Ephox Corp. All rights reserved
- *
- * License: http://www.tinymce.com/license
- * Contributing: http://www.tinymce.com/contributing
+ * Copyright (c) Tiny Technologies, Inc. All rights reserved.
+ * Licensed under the LGPL or a commercial license.
+ * For LGPL see License.txt in the project root for license information.
+ * For commercial licenses see https://www.tiny.cloud/
*/
import Tools from 'tinymce/core/api/util/Tools';
diff --git a/tools-ng/tinymce/editor/src/plugins/media/main/ts/core/VideoScript.ts b/tools-ng/tinymce/src/plugins/media/main/ts/core/VideoScript.ts
similarity index 57%
rename from tools-ng/tinymce/editor/src/plugins/media/main/ts/core/VideoScript.ts
rename to tools-ng/tinymce/src/plugins/media/main/ts/core/VideoScript.ts
index fe7b292f6..b2efa1527 100644
--- a/tools-ng/tinymce/editor/src/plugins/media/main/ts/core/VideoScript.ts
+++ b/tools-ng/tinymce/src/plugins/media/main/ts/core/VideoScript.ts
@@ -1,11 +1,8 @@
/**
- * VideoScript.js
- *
- * Released under LGPL License.
- * Copyright (c) 1999-2017 Ephox Corp. All rights reserved
- *
- * License: http://www.tinymce.com/license
- * Contributing: http://www.tinymce.com/contributing
+ * Copyright (c) Tiny Technologies, Inc. All rights reserved.
+ * Licensed under the LGPL or a commercial license.
+ * For LGPL see License.txt in the project root for license information.
+ * For commercial licenses see https://www.tiny.cloud/
*/
const getVideoScriptMatch = function (prefixes, src) {
diff --git a/tools-ng/tinymce/editor/src/plugins/media/main/ts/ui/Buttons.ts b/tools-ng/tinymce/src/plugins/media/main/ts/ui/Buttons.ts
similarity index 63%
rename from tools-ng/tinymce/editor/src/plugins/media/main/ts/ui/Buttons.ts
rename to tools-ng/tinymce/src/plugins/media/main/ts/ui/Buttons.ts
index a345e2b10..9ededda17 100644
--- a/tools-ng/tinymce/editor/src/plugins/media/main/ts/ui/Buttons.ts
+++ b/tools-ng/tinymce/src/plugins/media/main/ts/ui/Buttons.ts
@@ -1,11 +1,8 @@
/**
- * Buttons.js
- *
- * Released under LGPL License.
- * Copyright (c) 1999-2017 Ephox Corp. All rights reserved
- *
- * License: http://www.tinymce.com/license
- * Contributing: http://www.tinymce.com/contributing
+ * Copyright (c) Tiny Technologies, Inc. All rights reserved.
+ * Licensed under the LGPL or a commercial license.
+ * For LGPL see License.txt in the project root for license information.
+ * For commercial licenses see https://www.tiny.cloud/
*/
const register = function (editor) {
diff --git a/tools-ng/tinymce/editor/src/plugins/media/main/ts/ui/Dialog.ts b/tools-ng/tinymce/src/plugins/media/main/ts/ui/Dialog.ts
similarity index 95%
rename from tools-ng/tinymce/editor/src/plugins/media/main/ts/ui/Dialog.ts
rename to tools-ng/tinymce/src/plugins/media/main/ts/ui/Dialog.ts
index daa9210d1..e9f5afd2f 100644
--- a/tools-ng/tinymce/editor/src/plugins/media/main/ts/ui/Dialog.ts
+++ b/tools-ng/tinymce/src/plugins/media/main/ts/ui/Dialog.ts
@@ -1,11 +1,8 @@
/**
- * Dialog.js
- *
- * Released under LGPL License.
- * Copyright (c) 1999-2017 Ephox Corp. All rights reserved
- *
- * License: http://www.tinymce.com/license
- * Contributing: http://www.tinymce.com/contributing
+ * Copyright (c) Tiny Technologies, Inc. All rights reserved.
+ * Licensed under the LGPL or a commercial license.
+ * For LGPL see License.txt in the project root for license information.
+ * For commercial licenses see https://www.tiny.cloud/
*/
import Env from 'tinymce/core/api/Env';
diff --git a/tools-ng/tinymce/editor/src/plugins/media/main/ts/ui/SizeManager.ts b/tools-ng/tinymce/src/plugins/media/main/ts/ui/SizeManager.ts
similarity index 89%
rename from tools-ng/tinymce/editor/src/plugins/media/main/ts/ui/SizeManager.ts
rename to tools-ng/tinymce/src/plugins/media/main/ts/ui/SizeManager.ts
index 7bf9ad50c..c079ba324 100644
--- a/tools-ng/tinymce/editor/src/plugins/media/main/ts/ui/SizeManager.ts
+++ b/tools-ng/tinymce/src/plugins/media/main/ts/ui/SizeManager.ts
@@ -1,11 +1,8 @@
/**
- * SizeManager.js
- *
- * Released under LGPL License.
- * Copyright (c) 1999-2017 Ephox Corp. All rights reserved
- *
- * License: http://www.tinymce.com/license
- * Contributing: http://www.tinymce.com/contributing
+ * Copyright (c) Tiny Technologies, Inc. All rights reserved.
+ * Licensed under the LGPL or a commercial license.
+ * For LGPL see License.txt in the project root for license information.
+ * For commercial licenses see https://www.tiny.cloud/
*/
const doSyncSize = function (widthCtrl, heightCtrl) {
diff --git a/tools-ng/tinymce/editor/src/plugins/media/test/ts/atomic/HtmlToDataTest.ts b/tools-ng/tinymce/src/plugins/media/test/ts/atomic/HtmlToDataTest.ts
similarity index 100%
rename from tools-ng/tinymce/editor/src/plugins/media/test/ts/atomic/HtmlToDataTest.ts
rename to tools-ng/tinymce/src/plugins/media/test/ts/atomic/HtmlToDataTest.ts
diff --git a/tools-ng/tinymce/editor/src/plugins/media/test/ts/atomic/UrlPatternsTest.ts b/tools-ng/tinymce/src/plugins/media/test/ts/atomic/UrlPatternsTest.ts
similarity index 100%
rename from tools-ng/tinymce/editor/src/plugins/media/test/ts/atomic/UrlPatternsTest.ts
rename to tools-ng/tinymce/src/plugins/media/test/ts/atomic/UrlPatternsTest.ts
diff --git a/tools-ng/tinymce/editor/src/plugins/media/test/ts/browser/ContentFormatsTest.ts b/tools-ng/tinymce/src/plugins/media/test/ts/browser/ContentFormatsTest.ts
similarity index 100%
rename from tools-ng/tinymce/editor/src/plugins/media/test/ts/browser/ContentFormatsTest.ts
rename to tools-ng/tinymce/src/plugins/media/test/ts/browser/ContentFormatsTest.ts
diff --git a/tools-ng/tinymce/editor/src/plugins/media/test/ts/browser/DataAttributeTest.ts b/tools-ng/tinymce/src/plugins/media/test/ts/browser/DataAttributeTest.ts
similarity index 100%
rename from tools-ng/tinymce/editor/src/plugins/media/test/ts/browser/DataAttributeTest.ts
rename to tools-ng/tinymce/src/plugins/media/test/ts/browser/DataAttributeTest.ts
diff --git a/tools-ng/tinymce/editor/src/plugins/media/test/ts/browser/DataToHtmlTest.ts b/tools-ng/tinymce/src/plugins/media/test/ts/browser/DataToHtmlTest.ts
similarity index 100%
rename from tools-ng/tinymce/editor/src/plugins/media/test/ts/browser/DataToHtmlTest.ts
rename to tools-ng/tinymce/src/plugins/media/test/ts/browser/DataToHtmlTest.ts
diff --git a/tools-ng/tinymce/editor/src/plugins/media/test/ts/browser/DimensionsControlTest.ts b/tools-ng/tinymce/src/plugins/media/test/ts/browser/DimensionsControlTest.ts
similarity index 100%
rename from tools-ng/tinymce/editor/src/plugins/media/test/ts/browser/DimensionsControlTest.ts
rename to tools-ng/tinymce/src/plugins/media/test/ts/browser/DimensionsControlTest.ts
diff --git a/tools-ng/tinymce/editor/src/plugins/media/test/ts/browser/DimensionsFalseEmbedTest.ts b/tools-ng/tinymce/src/plugins/media/test/ts/browser/DimensionsFalseEmbedTest.ts
similarity index 100%
rename from tools-ng/tinymce/editor/src/plugins/media/test/ts/browser/DimensionsFalseEmbedTest.ts
rename to tools-ng/tinymce/src/plugins/media/test/ts/browser/DimensionsFalseEmbedTest.ts
diff --git a/tools-ng/tinymce/editor/src/plugins/media/test/ts/browser/EphoxEmbedTest.ts b/tools-ng/tinymce/src/plugins/media/test/ts/browser/EphoxEmbedTest.ts
similarity index 100%
rename from tools-ng/tinymce/editor/src/plugins/media/test/ts/browser/EphoxEmbedTest.ts
rename to tools-ng/tinymce/src/plugins/media/test/ts/browser/EphoxEmbedTest.ts
diff --git a/tools-ng/tinymce/editor/src/plugins/media/test/ts/browser/IframeNodeTest.ts b/tools-ng/tinymce/src/plugins/media/test/ts/browser/IframeNodeTest.ts
similarity index 100%
rename from tools-ng/tinymce/editor/src/plugins/media/test/ts/browser/IframeNodeTest.ts
rename to tools-ng/tinymce/src/plugins/media/test/ts/browser/IframeNodeTest.ts
diff --git a/tools-ng/tinymce/editor/src/plugins/media/test/ts/browser/IsCachedResponseTest.ts b/tools-ng/tinymce/src/plugins/media/test/ts/browser/IsCachedResponseTest.ts
similarity index 100%
rename from tools-ng/tinymce/editor/src/plugins/media/test/ts/browser/IsCachedResponseTest.ts
rename to tools-ng/tinymce/src/plugins/media/test/ts/browser/IsCachedResponseTest.ts
diff --git a/tools-ng/tinymce/editor/src/plugins/media/test/ts/browser/MediaEmbedTest.ts b/tools-ng/tinymce/src/plugins/media/test/ts/browser/MediaEmbedTest.ts
similarity index 100%
rename from tools-ng/tinymce/editor/src/plugins/media/test/ts/browser/MediaEmbedTest.ts
rename to tools-ng/tinymce/src/plugins/media/test/ts/browser/MediaEmbedTest.ts
diff --git a/tools-ng/tinymce/editor/src/plugins/media/test/ts/browser/NoAdvancedTabTest.ts b/tools-ng/tinymce/src/plugins/media/test/ts/browser/NoAdvancedTabTest.ts
similarity index 100%
rename from tools-ng/tinymce/editor/src/plugins/media/test/ts/browser/NoAdvancedTabTest.ts
rename to tools-ng/tinymce/src/plugins/media/test/ts/browser/NoAdvancedTabTest.ts
diff --git a/tools-ng/tinymce/editor/src/plugins/media/test/ts/browser/PlaceholderTest.ts b/tools-ng/tinymce/src/plugins/media/test/ts/browser/PlaceholderTest.ts
similarity index 100%
rename from tools-ng/tinymce/editor/src/plugins/media/test/ts/browser/PlaceholderTest.ts
rename to tools-ng/tinymce/src/plugins/media/test/ts/browser/PlaceholderTest.ts
diff --git a/tools-ng/tinymce/editor/src/plugins/media/test/ts/browser/PluginTest.ts b/tools-ng/tinymce/src/plugins/media/test/ts/browser/PluginTest.ts
similarity index 100%
rename from tools-ng/tinymce/editor/src/plugins/media/test/ts/browser/PluginTest.ts
rename to tools-ng/tinymce/src/plugins/media/test/ts/browser/PluginTest.ts
diff --git a/tools-ng/tinymce/editor/src/plugins/media/test/ts/browser/ReopenResizeTest.ts b/tools-ng/tinymce/src/plugins/media/test/ts/browser/ReopenResizeTest.ts
similarity index 100%
rename from tools-ng/tinymce/editor/src/plugins/media/test/ts/browser/ReopenResizeTest.ts
rename to tools-ng/tinymce/src/plugins/media/test/ts/browser/ReopenResizeTest.ts
diff --git a/tools-ng/tinymce/editor/src/plugins/media/test/ts/browser/SubmitTest.ts b/tools-ng/tinymce/src/plugins/media/test/ts/browser/SubmitTest.ts
similarity index 100%
rename from tools-ng/tinymce/editor/src/plugins/media/test/ts/browser/SubmitTest.ts
rename to tools-ng/tinymce/src/plugins/media/test/ts/browser/SubmitTest.ts
diff --git a/tools-ng/tinymce/editor/src/plugins/media/test/ts/module/test/Utils.ts b/tools-ng/tinymce/src/plugins/media/test/ts/module/test/Utils.ts
similarity index 100%
rename from tools-ng/tinymce/editor/src/plugins/media/test/ts/module/test/Utils.ts
rename to tools-ng/tinymce/src/plugins/media/test/ts/module/test/Utils.ts
diff --git a/tools-ng/tinymce/editor/src/plugins/nonbreaking/demo/html/demo.html b/tools-ng/tinymce/src/plugins/nonbreaking/demo/html/demo.html
similarity index 100%
rename from tools-ng/tinymce/editor/src/plugins/nonbreaking/demo/html/demo.html
rename to tools-ng/tinymce/src/plugins/nonbreaking/demo/html/demo.html
diff --git a/tools-ng/tinymce/editor/src/plugins/nonbreaking/demo/ts/demo/Demo.ts b/tools-ng/tinymce/src/plugins/nonbreaking/demo/ts/demo/Demo.ts
similarity index 100%
rename from tools-ng/tinymce/editor/src/plugins/nonbreaking/demo/ts/demo/Demo.ts
rename to tools-ng/tinymce/src/plugins/nonbreaking/demo/ts/demo/Demo.ts
diff --git a/tools-ng/tinymce/editor/src/plugins/nonbreaking/main/ts/Plugin.ts b/tools-ng/tinymce/src/plugins/nonbreaking/main/ts/Plugin.ts
similarity index 66%
rename from tools-ng/tinymce/editor/src/plugins/nonbreaking/main/ts/Plugin.ts
rename to tools-ng/tinymce/src/plugins/nonbreaking/main/ts/Plugin.ts
index 1a8d38308..35a27e7de 100644
--- a/tools-ng/tinymce/editor/src/plugins/nonbreaking/main/ts/Plugin.ts
+++ b/tools-ng/tinymce/src/plugins/nonbreaking/main/ts/Plugin.ts
@@ -1,11 +1,8 @@
/**
- * Plugin.js
- *
- * Released under LGPL License.
- * Copyright (c) 1999-2017 Ephox Corp. All rights reserved
- *
- * License: http://www.tinymce.com/license
- * Contributing: http://www.tinymce.com/contributing
+ * Copyright (c) Tiny Technologies, Inc. All rights reserved.
+ * Licensed under the LGPL or a commercial license.
+ * For LGPL see License.txt in the project root for license information.
+ * For commercial licenses see https://www.tiny.cloud/
*/
import PluginManager from 'tinymce/core/api/PluginManager';
diff --git a/tools-ng/tinymce/src/plugins/nonbreaking/main/ts/api/Commands.ts b/tools-ng/tinymce/src/plugins/nonbreaking/main/ts/api/Commands.ts
new file mode 100644
index 000000000..cd4a00c0e
--- /dev/null
+++ b/tools-ng/tinymce/src/plugins/nonbreaking/main/ts/api/Commands.ts
@@ -0,0 +1,18 @@
+/**
+ * Copyright (c) Tiny Technologies, Inc. All rights reserved.
+ * Licensed under the LGPL or a commercial license.
+ * For LGPL see License.txt in the project root for license information.
+ * For commercial licenses see https://www.tiny.cloud/
+ */
+
+import Actions from '../core/Actions';
+
+const register = function (editor) {
+ editor.addCommand('mceNonBreaking', function () {
+ Actions.insertNbsp(editor, 1);
+ });
+};
+
+export default {
+ register
+};
\ No newline at end of file
diff --git a/tools-ng/tinymce/editor/src/plugins/nonbreaking/main/ts/api/Settings.ts b/tools-ng/tinymce/src/plugins/nonbreaking/main/ts/api/Settings.ts
similarity index 52%
rename from tools-ng/tinymce/editor/src/plugins/nonbreaking/main/ts/api/Settings.ts
rename to tools-ng/tinymce/src/plugins/nonbreaking/main/ts/api/Settings.ts
index 585c55f80..fec13d151 100644
--- a/tools-ng/tinymce/editor/src/plugins/nonbreaking/main/ts/api/Settings.ts
+++ b/tools-ng/tinymce/src/plugins/nonbreaking/main/ts/api/Settings.ts
@@ -1,11 +1,8 @@
/**
- * Settings.js
- *
- * Released under LGPL License.
- * Copyright (c) 1999-2017 Ephox Corp. All rights reserved
- *
- * License: http://www.tinymce.com/license
- * Contributing: http://www.tinymce.com/contributing
+ * Copyright (c) Tiny Technologies, Inc. All rights reserved.
+ * Licensed under the LGPL or a commercial license.
+ * For LGPL see License.txt in the project root for license information.
+ * For commercial licenses see https://www.tiny.cloud/
*/
const getKeyboardSpaces = function (editor) {
diff --git a/tools-ng/tinymce/editor/src/plugins/nonbreaking/main/ts/core/Actions.ts b/tools-ng/tinymce/src/plugins/nonbreaking/main/ts/core/Actions.ts
similarity index 71%
rename from tools-ng/tinymce/editor/src/plugins/nonbreaking/main/ts/core/Actions.ts
rename to tools-ng/tinymce/src/plugins/nonbreaking/main/ts/core/Actions.ts
index bb59b101b..d17071fe8 100644
--- a/tools-ng/tinymce/editor/src/plugins/nonbreaking/main/ts/core/Actions.ts
+++ b/tools-ng/tinymce/src/plugins/nonbreaking/main/ts/core/Actions.ts
@@ -1,11 +1,8 @@
/**
- * Actions.js
- *
- * Released under LGPL License.
- * Copyright (c) 1999-2017 Ephox Corp. All rights reserved
- *
- * License: http://www.tinymce.com/license
- * Contributing: http://www.tinymce.com/contributing
+ * Copyright (c) Tiny Technologies, Inc. All rights reserved.
+ * Licensed under the LGPL or a commercial license.
+ * For LGPL see License.txt in the project root for license information.
+ * For commercial licenses see https://www.tiny.cloud/
*/
const stringRepeat = function (string, repeats) {
diff --git a/tools-ng/tinymce/editor/src/plugins/nonbreaking/main/ts/core/Keyboard.ts b/tools-ng/tinymce/src/plugins/nonbreaking/main/ts/core/Keyboard.ts
similarity index 69%
rename from tools-ng/tinymce/editor/src/plugins/nonbreaking/main/ts/core/Keyboard.ts
rename to tools-ng/tinymce/src/plugins/nonbreaking/main/ts/core/Keyboard.ts
index 73ee788cc..cab153011 100644
--- a/tools-ng/tinymce/editor/src/plugins/nonbreaking/main/ts/core/Keyboard.ts
+++ b/tools-ng/tinymce/src/plugins/nonbreaking/main/ts/core/Keyboard.ts
@@ -1,11 +1,8 @@
/**
- * Keyboard.js
- *
- * Released under LGPL License.
- * Copyright (c) 1999-2017 Ephox Corp. All rights reserved
- *
- * License: http://www.tinymce.com/license
- * Contributing: http://www.tinymce.com/contributing
+ * Copyright (c) Tiny Technologies, Inc. All rights reserved.
+ * Licensed under the LGPL or a commercial license.
+ * For LGPL see License.txt in the project root for license information.
+ * For commercial licenses see https://www.tiny.cloud/
*/
import VK from 'tinymce/core/api/util/VK';
diff --git a/tools-ng/tinymce/editor/src/plugins/nonbreaking/main/ts/ui/Buttons.ts b/tools-ng/tinymce/src/plugins/nonbreaking/main/ts/ui/Buttons.ts
similarity index 57%
rename from tools-ng/tinymce/editor/src/plugins/nonbreaking/main/ts/ui/Buttons.ts
rename to tools-ng/tinymce/src/plugins/nonbreaking/main/ts/ui/Buttons.ts
index 508864e1e..f77246641 100644
--- a/tools-ng/tinymce/editor/src/plugins/nonbreaking/main/ts/ui/Buttons.ts
+++ b/tools-ng/tinymce/src/plugins/nonbreaking/main/ts/ui/Buttons.ts
@@ -1,11 +1,8 @@
/**
- * Buttons.js
- *
- * Released under LGPL License.
- * Copyright (c) 1999-2017 Ephox Corp. All rights reserved
- *
- * License: http://www.tinymce.com/license
- * Contributing: http://www.tinymce.com/contributing
+ * Copyright (c) Tiny Technologies, Inc. All rights reserved.
+ * Licensed under the LGPL or a commercial license.
+ * For LGPL see License.txt in the project root for license information.
+ * For commercial licenses see https://www.tiny.cloud/
*/
const register = function (editor) {
diff --git a/tools-ng/tinymce/editor/src/plugins/nonbreaking/test/ts/browser/NonbreakingForceTabTest.ts b/tools-ng/tinymce/src/plugins/nonbreaking/test/ts/browser/NonbreakingForceTabTest.ts
similarity index 100%
rename from tools-ng/tinymce/editor/src/plugins/nonbreaking/test/ts/browser/NonbreakingForceTabTest.ts
rename to tools-ng/tinymce/src/plugins/nonbreaking/test/ts/browser/NonbreakingForceTabTest.ts
diff --git a/tools-ng/tinymce/editor/src/plugins/nonbreaking/test/ts/browser/NonbreakingSanityTest.ts b/tools-ng/tinymce/src/plugins/nonbreaking/test/ts/browser/NonbreakingSanityTest.ts
similarity index 100%
rename from tools-ng/tinymce/editor/src/plugins/nonbreaking/test/ts/browser/NonbreakingSanityTest.ts
rename to tools-ng/tinymce/src/plugins/nonbreaking/test/ts/browser/NonbreakingSanityTest.ts
diff --git a/tools-ng/tinymce/editor/src/plugins/nonbreaking/test/ts/browser/NonbreakingSettingsTest.ts b/tools-ng/tinymce/src/plugins/nonbreaking/test/ts/browser/NonbreakingSettingsTest.ts
similarity index 100%
rename from tools-ng/tinymce/editor/src/plugins/nonbreaking/test/ts/browser/NonbreakingSettingsTest.ts
rename to tools-ng/tinymce/src/plugins/nonbreaking/test/ts/browser/NonbreakingSettingsTest.ts
diff --git a/tools-ng/tinymce/editor/src/plugins/noneditable/demo/html/demo.html b/tools-ng/tinymce/src/plugins/noneditable/demo/html/demo.html
similarity index 100%
rename from tools-ng/tinymce/editor/src/plugins/noneditable/demo/html/demo.html
rename to tools-ng/tinymce/src/plugins/noneditable/demo/html/demo.html
diff --git a/tools-ng/tinymce/editor/src/plugins/noneditable/demo/ts/demo/Demo.ts b/tools-ng/tinymce/src/plugins/noneditable/demo/ts/demo/Demo.ts
similarity index 100%
rename from tools-ng/tinymce/editor/src/plugins/noneditable/demo/ts/demo/Demo.ts
rename to tools-ng/tinymce/src/plugins/noneditable/demo/ts/demo/Demo.ts
diff --git a/tools-ng/tinymce/src/plugins/noneditable/main/ts/Plugin.ts b/tools-ng/tinymce/src/plugins/noneditable/main/ts/Plugin.ts
new file mode 100644
index 000000000..8b473f517
--- /dev/null
+++ b/tools-ng/tinymce/src/plugins/noneditable/main/ts/Plugin.ts
@@ -0,0 +1,15 @@
+/**
+ * Copyright (c) Tiny Technologies, Inc. All rights reserved.
+ * Licensed under the LGPL or a commercial license.
+ * For LGPL see License.txt in the project root for license information.
+ * For commercial licenses see https://www.tiny.cloud/
+ */
+
+import PluginManager from 'tinymce/core/api/PluginManager';
+import FilterContent from './core/FilterContent';
+
+PluginManager.add('noneditable', function (editor) {
+ FilterContent.setup(editor);
+});
+
+export default function () { }
\ No newline at end of file
diff --git a/tools-ng/tinymce/editor/src/plugins/noneditable/main/ts/api/Settings.ts b/tools-ng/tinymce/src/plugins/noneditable/main/ts/api/Settings.ts
similarity index 72%
rename from tools-ng/tinymce/editor/src/plugins/noneditable/main/ts/api/Settings.ts
rename to tools-ng/tinymce/src/plugins/noneditable/main/ts/api/Settings.ts
index 996005cc7..6dd4eec05 100644
--- a/tools-ng/tinymce/editor/src/plugins/noneditable/main/ts/api/Settings.ts
+++ b/tools-ng/tinymce/src/plugins/noneditable/main/ts/api/Settings.ts
@@ -1,11 +1,8 @@
/**
- * Settings.js
- *
- * Released under LGPL License.
- * Copyright (c) 1999-2017 Ephox Corp. All rights reserved
- *
- * License: http://www.tinymce.com/license
- * Contributing: http://www.tinymce.com/contributing
+ * Copyright (c) Tiny Technologies, Inc. All rights reserved.
+ * Licensed under the LGPL or a commercial license.
+ * For LGPL see License.txt in the project root for license information.
+ * For commercial licenses see https://www.tiny.cloud/
*/
const getNonEditableClass = function (editor) {
diff --git a/tools-ng/tinymce/editor/src/plugins/noneditable/main/ts/core/FilterContent.ts b/tools-ng/tinymce/src/plugins/noneditable/main/ts/core/FilterContent.ts
similarity index 92%
rename from tools-ng/tinymce/editor/src/plugins/noneditable/main/ts/core/FilterContent.ts
rename to tools-ng/tinymce/src/plugins/noneditable/main/ts/core/FilterContent.ts
index bc6ace9ca..6dd225eac 100644
--- a/tools-ng/tinymce/editor/src/plugins/noneditable/main/ts/core/FilterContent.ts
+++ b/tools-ng/tinymce/src/plugins/noneditable/main/ts/core/FilterContent.ts
@@ -1,11 +1,8 @@
/**
- * FilterContent.js
- *
- * Released under LGPL License.
- * Copyright (c) 1999-2017 Ephox Corp. All rights reserved
- *
- * License: http://www.tinymce.com/license
- * Contributing: http://www.tinymce.com/contributing
+ * Copyright (c) Tiny Technologies, Inc. All rights reserved.
+ * Licensed under the LGPL or a commercial license.
+ * For LGPL see License.txt in the project root for license information.
+ * For commercial licenses see https://www.tiny.cloud/
*/
import Tools from 'tinymce/core/api/util/Tools';
diff --git a/tools-ng/tinymce/editor/src/plugins/noneditable/test/ts/browser/NonEditablePluginTest.ts b/tools-ng/tinymce/src/plugins/noneditable/test/ts/browser/NonEditablePluginTest.ts
similarity index 100%
rename from tools-ng/tinymce/editor/src/plugins/noneditable/test/ts/browser/NonEditablePluginTest.ts
rename to tools-ng/tinymce/src/plugins/noneditable/test/ts/browser/NonEditablePluginTest.ts
diff --git a/tools-ng/tinymce/editor/src/plugins/pagebreak/demo/html/demo.html b/tools-ng/tinymce/src/plugins/pagebreak/demo/html/demo.html
similarity index 100%
rename from tools-ng/tinymce/editor/src/plugins/pagebreak/demo/html/demo.html
rename to tools-ng/tinymce/src/plugins/pagebreak/demo/html/demo.html
diff --git a/tools-ng/tinymce/editor/src/plugins/pagebreak/demo/ts/demo/Demo.ts b/tools-ng/tinymce/src/plugins/pagebreak/demo/ts/demo/Demo.ts
similarity index 100%
rename from tools-ng/tinymce/editor/src/plugins/pagebreak/demo/ts/demo/Demo.ts
rename to tools-ng/tinymce/src/plugins/pagebreak/demo/ts/demo/Demo.ts
diff --git a/tools-ng/tinymce/editor/src/plugins/pagebreak/main/ts/Plugin.ts b/tools-ng/tinymce/src/plugins/pagebreak/main/ts/Plugin.ts
similarity index 64%
rename from tools-ng/tinymce/editor/src/plugins/pagebreak/main/ts/Plugin.ts
rename to tools-ng/tinymce/src/plugins/pagebreak/main/ts/Plugin.ts
index 03c983a48..30bd2f614 100644
--- a/tools-ng/tinymce/editor/src/plugins/pagebreak/main/ts/Plugin.ts
+++ b/tools-ng/tinymce/src/plugins/pagebreak/main/ts/Plugin.ts
@@ -1,11 +1,8 @@
/**
- * Plugin.js
- *
- * Released under LGPL License.
- * Copyright (c) 1999-2017 Ephox Corp. All rights reserved
- *
- * License: http://www.tinymce.com/license
- * Contributing: http://www.tinymce.com/contributing
+ * Copyright (c) Tiny Technologies, Inc. All rights reserved.
+ * Licensed under the LGPL or a commercial license.
+ * For LGPL see License.txt in the project root for license information.
+ * For commercial licenses see https://www.tiny.cloud/
*/
import PluginManager from 'tinymce/core/api/PluginManager';
diff --git a/tools-ng/tinymce/editor/src/plugins/pagebreak/main/ts/api/Commands.ts b/tools-ng/tinymce/src/plugins/pagebreak/main/ts/api/Commands.ts
similarity index 62%
rename from tools-ng/tinymce/editor/src/plugins/pagebreak/main/ts/api/Commands.ts
rename to tools-ng/tinymce/src/plugins/pagebreak/main/ts/api/Commands.ts
index 97b21b6d3..3c0e77093 100644
--- a/tools-ng/tinymce/editor/src/plugins/pagebreak/main/ts/api/Commands.ts
+++ b/tools-ng/tinymce/src/plugins/pagebreak/main/ts/api/Commands.ts
@@ -1,11 +1,8 @@
/**
- * Commands.js
- *
- * Released under LGPL License.
- * Copyright (c) 1999-2017 Ephox Corp. All rights reserved
- *
- * License: http://www.tinymce.com/license
- * Contributing: http://www.tinymce.com/contributing
+ * Copyright (c) Tiny Technologies, Inc. All rights reserved.
+ * Licensed under the LGPL or a commercial license.
+ * For LGPL see License.txt in the project root for license information.
+ * For commercial licenses see https://www.tiny.cloud/
*/
import FilterContent from '../core/FilterContent';
diff --git a/tools-ng/tinymce/editor/src/plugins/pagebreak/main/ts/api/Settings.ts b/tools-ng/tinymce/src/plugins/pagebreak/main/ts/api/Settings.ts
similarity index 54%
rename from tools-ng/tinymce/editor/src/plugins/pagebreak/main/ts/api/Settings.ts
rename to tools-ng/tinymce/src/plugins/pagebreak/main/ts/api/Settings.ts
index bbe22469b..2072cb64c 100644
--- a/tools-ng/tinymce/editor/src/plugins/pagebreak/main/ts/api/Settings.ts
+++ b/tools-ng/tinymce/src/plugins/pagebreak/main/ts/api/Settings.ts
@@ -1,11 +1,8 @@
/**
- * Settings.js
- *
- * Released under LGPL License.
- * Copyright (c) 1999-2017 Ephox Corp. All rights reserved
- *
- * License: http://www.tinymce.com/license
- * Contributing: http://www.tinymce.com/contributing
+ * Copyright (c) Tiny Technologies, Inc. All rights reserved.
+ * Licensed under the LGPL or a commercial license.
+ * For LGPL see License.txt in the project root for license information.
+ * For commercial licenses see https://www.tiny.cloud/
*/
const getSeparatorHtml = function (editor) {
diff --git a/tools-ng/tinymce/editor/src/plugins/pagebreak/main/ts/core/FilterContent.ts b/tools-ng/tinymce/src/plugins/pagebreak/main/ts/core/FilterContent.ts
similarity index 86%
rename from tools-ng/tinymce/editor/src/plugins/pagebreak/main/ts/core/FilterContent.ts
rename to tools-ng/tinymce/src/plugins/pagebreak/main/ts/core/FilterContent.ts
index 4a54d81f0..2303b5761 100644
--- a/tools-ng/tinymce/editor/src/plugins/pagebreak/main/ts/core/FilterContent.ts
+++ b/tools-ng/tinymce/src/plugins/pagebreak/main/ts/core/FilterContent.ts
@@ -1,11 +1,8 @@
/**
- * FilterContent.js
- *
- * Released under LGPL License.
- * Copyright (c) 1999-2017 Ephox Corp. All rights reserved
- *
- * License: http://www.tinymce.com/license
- * Contributing: http://www.tinymce.com/contributing
+ * Copyright (c) Tiny Technologies, Inc. All rights reserved.
+ * Licensed under the LGPL or a commercial license.
+ * For LGPL see License.txt in the project root for license information.
+ * For commercial licenses see https://www.tiny.cloud/
*/
import Env from 'tinymce/core/api/Env';
diff --git a/tools-ng/tinymce/editor/src/plugins/pagebreak/main/ts/core/ResolveName.ts b/tools-ng/tinymce/src/plugins/pagebreak/main/ts/core/ResolveName.ts
similarity index 56%
rename from tools-ng/tinymce/editor/src/plugins/pagebreak/main/ts/core/ResolveName.ts
rename to tools-ng/tinymce/src/plugins/pagebreak/main/ts/core/ResolveName.ts
index b4ff70672..68970cbec 100644
--- a/tools-ng/tinymce/editor/src/plugins/pagebreak/main/ts/core/ResolveName.ts
+++ b/tools-ng/tinymce/src/plugins/pagebreak/main/ts/core/ResolveName.ts
@@ -1,11 +1,8 @@
/**
- * ResolveName.js
- *
- * Released under LGPL License.
- * Copyright (c) 1999-2017 Ephox Corp. All rights reserved
- *
- * License: http://www.tinymce.com/license
- * Contributing: http://www.tinymce.com/contributing
+ * Copyright (c) Tiny Technologies, Inc. All rights reserved.
+ * Licensed under the LGPL or a commercial license.
+ * For LGPL see License.txt in the project root for license information.
+ * For commercial licenses see https://www.tiny.cloud/
*/
import FilterContent from './FilterContent';
diff --git a/tools-ng/tinymce/editor/src/plugins/pagebreak/main/ts/ui/Buttons.ts b/tools-ng/tinymce/src/plugins/pagebreak/main/ts/ui/Buttons.ts
similarity index 55%
rename from tools-ng/tinymce/editor/src/plugins/pagebreak/main/ts/ui/Buttons.ts
rename to tools-ng/tinymce/src/plugins/pagebreak/main/ts/ui/Buttons.ts
index 59ae539ad..5a9be8b5f 100644
--- a/tools-ng/tinymce/editor/src/plugins/pagebreak/main/ts/ui/Buttons.ts
+++ b/tools-ng/tinymce/src/plugins/pagebreak/main/ts/ui/Buttons.ts
@@ -1,11 +1,8 @@
/**
- * Buttons.js
- *
- * Released under LGPL License.
- * Copyright (c) 1999-2017 Ephox Corp. All rights reserved
- *
- * License: http://www.tinymce.com/license
- * Contributing: http://www.tinymce.com/contributing
+ * Copyright (c) Tiny Technologies, Inc. All rights reserved.
+ * Licensed under the LGPL or a commercial license.
+ * For LGPL see License.txt in the project root for license information.
+ * For commercial licenses see https://www.tiny.cloud/
*/
const register = function (editor) {
diff --git a/tools-ng/tinymce/editor/src/plugins/pagebreak/test/ts/browser/PageBreakSanityTest.ts b/tools-ng/tinymce/src/plugins/pagebreak/test/ts/browser/PageBreakSanityTest.ts
similarity index 100%
rename from tools-ng/tinymce/editor/src/plugins/pagebreak/test/ts/browser/PageBreakSanityTest.ts
rename to tools-ng/tinymce/src/plugins/pagebreak/test/ts/browser/PageBreakSanityTest.ts
diff --git a/tools-ng/tinymce/editor/src/plugins/paste/demo/html/demo.html b/tools-ng/tinymce/src/plugins/paste/demo/html/demo.html
similarity index 100%
rename from tools-ng/tinymce/editor/src/plugins/paste/demo/html/demo.html
rename to tools-ng/tinymce/src/plugins/paste/demo/html/demo.html
diff --git a/tools-ng/tinymce/editor/src/plugins/paste/demo/ts/demo/Demo.ts b/tools-ng/tinymce/src/plugins/paste/demo/ts/demo/Demo.ts
similarity index 100%
rename from tools-ng/tinymce/editor/src/plugins/paste/demo/ts/demo/Demo.ts
rename to tools-ng/tinymce/src/plugins/paste/demo/ts/demo/Demo.ts
diff --git a/tools-ng/tinymce/editor/src/plugins/paste/main/ts/Plugin.ts b/tools-ng/tinymce/src/plugins/paste/main/ts/Plugin.ts
similarity index 84%
rename from tools-ng/tinymce/editor/src/plugins/paste/main/ts/Plugin.ts
rename to tools-ng/tinymce/src/plugins/paste/main/ts/Plugin.ts
index 2c7a84cb9..9d90056f4 100644
--- a/tools-ng/tinymce/editor/src/plugins/paste/main/ts/Plugin.ts
+++ b/tools-ng/tinymce/src/plugins/paste/main/ts/Plugin.ts
@@ -1,11 +1,8 @@
/**
- * Plugin.js
- *
- * Released under LGPL License.
- * Copyright (c) 1999-2017 Ephox Corp. All rights reserved
- *
- * License: http://www.tinymce.com/license
- * Contributing: http://www.tinymce.com/contributing
+ * Copyright (c) Tiny Technologies, Inc. All rights reserved.
+ * Licensed under the LGPL or a commercial license.
+ * For LGPL see License.txt in the project root for license information.
+ * For commercial licenses see https://www.tiny.cloud/
*/
import { Cell } from '@ephox/katamari';
diff --git a/tools-ng/tinymce/editor/src/plugins/paste/main/ts/alien/DetectProPlugin.ts b/tools-ng/tinymce/src/plugins/paste/main/ts/alien/DetectProPlugin.ts
similarity index 73%
rename from tools-ng/tinymce/editor/src/plugins/paste/main/ts/alien/DetectProPlugin.ts
rename to tools-ng/tinymce/src/plugins/paste/main/ts/alien/DetectProPlugin.ts
index a6aa183d9..47a2574b4 100644
--- a/tools-ng/tinymce/editor/src/plugins/paste/main/ts/alien/DetectProPlugin.ts
+++ b/tools-ng/tinymce/src/plugins/paste/main/ts/alien/DetectProPlugin.ts
@@ -1,11 +1,8 @@
/**
- * DetectProPlugin.js
- *
- * Released under LGPL License.
- * Copyright (c) 1999-2017 Ephox Corp. All rights reserved
- *
- * License: http://www.tinymce.com/license
- * Contributing: http://www.tinymce.com/contributing
+ * Copyright (c) Tiny Technologies, Inc. All rights reserved.
+ * Licensed under the LGPL or a commercial license.
+ * For LGPL see License.txt in the project root for license information.
+ * For commercial licenses see https://www.tiny.cloud/
*/
import PluginManager from 'tinymce/core/api/PluginManager';
diff --git a/tools-ng/tinymce/src/plugins/paste/main/ts/api/Api.ts b/tools-ng/tinymce/src/plugins/paste/main/ts/api/Api.ts
new file mode 100644
index 000000000..26f0717b8
--- /dev/null
+++ b/tools-ng/tinymce/src/plugins/paste/main/ts/api/Api.ts
@@ -0,0 +1,19 @@
+/**
+ * Copyright (c) Tiny Technologies, Inc. All rights reserved.
+ * Licensed under the LGPL or a commercial license.
+ * For LGPL see License.txt in the project root for license information.
+ * For commercial licenses see https://www.tiny.cloud/
+ */
+
+import { Clipboard } from '../api/Clipboard';
+
+const get = function (clipboard: Clipboard, quirks) {
+ return {
+ clipboard,
+ quirks
+ };
+};
+
+export default {
+ get
+};
\ No newline at end of file
diff --git a/tools-ng/tinymce/editor/src/plugins/paste/main/ts/api/Clipboard.ts b/tools-ng/tinymce/src/plugins/paste/main/ts/api/Clipboard.ts
similarity index 84%
rename from tools-ng/tinymce/editor/src/plugins/paste/main/ts/api/Clipboard.ts
rename to tools-ng/tinymce/src/plugins/paste/main/ts/api/Clipboard.ts
index 3449bc68d..3ae9da256 100644
--- a/tools-ng/tinymce/editor/src/plugins/paste/main/ts/api/Clipboard.ts
+++ b/tools-ng/tinymce/src/plugins/paste/main/ts/api/Clipboard.ts
@@ -1,3 +1,10 @@
+/**
+ * Copyright (c) Tiny Technologies, Inc. All rights reserved.
+ * Licensed under the LGPL or a commercial license.
+ * For LGPL see License.txt in the project root for license information.
+ * For commercial licenses see https://www.tiny.cloud/
+ */
+
import { ClipboardContents, registerEventsAndFilters, pasteHtml, pasteText, pasteImageData, getDataTransferItems, hasContentType, hasHtmlOrText } from '../core/Clipboard';
import { PasteBin } from '../core/PasteBin';
import { Cell } from '@ephox/katamari';
diff --git a/tools-ng/tinymce/editor/src/plugins/paste/main/ts/api/Commands.ts b/tools-ng/tinymce/src/plugins/paste/main/ts/api/Commands.ts
similarity index 72%
rename from tools-ng/tinymce/editor/src/plugins/paste/main/ts/api/Commands.ts
rename to tools-ng/tinymce/src/plugins/paste/main/ts/api/Commands.ts
index e007731d4..c290ccf9a 100644
--- a/tools-ng/tinymce/editor/src/plugins/paste/main/ts/api/Commands.ts
+++ b/tools-ng/tinymce/src/plugins/paste/main/ts/api/Commands.ts
@@ -1,11 +1,8 @@
/**
- * Commands.js
- *
- * Released under LGPL License.
- * Copyright (c) 1999-2017 Ephox Corp. All rights reserved
- *
- * License: http://www.tinymce.com/license
- * Contributing: http://www.tinymce.com/contributing
+ * Copyright (c) Tiny Technologies, Inc. All rights reserved.
+ * Licensed under the LGPL or a commercial license.
+ * For LGPL see License.txt in the project root for license information.
+ * For commercial licenses see https://www.tiny.cloud/
*/
import Actions from '../core/Actions';
diff --git a/tools-ng/tinymce/editor/src/plugins/paste/main/ts/api/Events.ts b/tools-ng/tinymce/src/plugins/paste/main/ts/api/Events.ts
similarity index 78%
rename from tools-ng/tinymce/editor/src/plugins/paste/main/ts/api/Events.ts
rename to tools-ng/tinymce/src/plugins/paste/main/ts/api/Events.ts
index f6d1ba84f..e516d1d34 100644
--- a/tools-ng/tinymce/editor/src/plugins/paste/main/ts/api/Events.ts
+++ b/tools-ng/tinymce/src/plugins/paste/main/ts/api/Events.ts
@@ -1,11 +1,8 @@
/**
- * Events.js
- *
- * Released under LGPL License.
- * Copyright (c) 1999-2017 Ephox Corp. All rights reserved
- *
- * License: http://www.tinymce.com/license
- * Contributing: http://www.tinymce.com/contributing
+ * Copyright (c) Tiny Technologies, Inc. All rights reserved.
+ * Licensed under the LGPL or a commercial license.
+ * For LGPL see License.txt in the project root for license information.
+ * For commercial licenses see https://www.tiny.cloud/
*/
import { Editor } from 'tinymce/core/api/Editor';
diff --git a/tools-ng/tinymce/editor/src/plugins/paste/main/ts/api/Settings.ts b/tools-ng/tinymce/src/plugins/paste/main/ts/api/Settings.ts
similarity index 91%
rename from tools-ng/tinymce/editor/src/plugins/paste/main/ts/api/Settings.ts
rename to tools-ng/tinymce/src/plugins/paste/main/ts/api/Settings.ts
index fb8018bdf..bccafb88a 100644
--- a/tools-ng/tinymce/editor/src/plugins/paste/main/ts/api/Settings.ts
+++ b/tools-ng/tinymce/src/plugins/paste/main/ts/api/Settings.ts
@@ -1,11 +1,8 @@
/**
- * Settings.js
- *
- * Released under LGPL License.
- * Copyright (c) 1999-2017 Ephox Corp. All rights reserved
- *
- * License: http://www.tinymce.com/license
- * Contributing: http://www.tinymce.com/contributing
+ * Copyright (c) Tiny Technologies, Inc. All rights reserved.
+ * Licensed under the LGPL or a commercial license.
+ * For LGPL see License.txt in the project root for license information.
+ * For commercial licenses see https://www.tiny.cloud/
*/
import { Editor } from 'tinymce/core/api/Editor';
diff --git a/tools-ng/tinymce/editor/src/plugins/paste/main/ts/core/Actions.ts b/tools-ng/tinymce/src/plugins/paste/main/ts/core/Actions.ts
similarity index 83%
rename from tools-ng/tinymce/editor/src/plugins/paste/main/ts/core/Actions.ts
rename to tools-ng/tinymce/src/plugins/paste/main/ts/core/Actions.ts
index eadd4ff11..1cfb33476 100644
--- a/tools-ng/tinymce/editor/src/plugins/paste/main/ts/core/Actions.ts
+++ b/tools-ng/tinymce/src/plugins/paste/main/ts/core/Actions.ts
@@ -1,11 +1,8 @@
/**
- * Actions.js
- *
- * Released under LGPL License.
- * Copyright (c) 1999-2017 Ephox Corp. All rights reserved
- *
- * License: http://www.tinymce.com/license
- * Contributing: http://www.tinymce.com/contributing
+ * Copyright (c) Tiny Technologies, Inc. All rights reserved.
+ * Licensed under the LGPL or a commercial license.
+ * For LGPL see License.txt in the project root for license information.
+ * For commercial licenses see https://www.tiny.cloud/
*/
import Events from '../api/Events';
diff --git a/tools-ng/tinymce/editor/src/plugins/paste/main/ts/core/Clipboard.ts b/tools-ng/tinymce/src/plugins/paste/main/ts/core/Clipboard.ts
similarity index 88%
rename from tools-ng/tinymce/editor/src/plugins/paste/main/ts/core/Clipboard.ts
rename to tools-ng/tinymce/src/plugins/paste/main/ts/core/Clipboard.ts
index cdc69f214..9619bd566 100644
--- a/tools-ng/tinymce/editor/src/plugins/paste/main/ts/core/Clipboard.ts
+++ b/tools-ng/tinymce/src/plugins/paste/main/ts/core/Clipboard.ts
@@ -1,11 +1,8 @@
/**
- * Clipboard.js
- *
- * Released under LGPL License.
- * Copyright (c) 1999-2017 Ephox Corp. All rights reserved
- *
- * License: http://www.tinymce.com/license
- * Contributing: http://www.tinymce.com/contributing
+ * Copyright (c) Tiny Technologies, Inc. All rights reserved.
+ * Licensed under the LGPL or a commercial license.
+ * For LGPL see License.txt in the project root for license information.
+ * For commercial licenses see https://www.tiny.cloud/
*/
import Env from 'tinymce/core/api/Env';
@@ -20,8 +17,8 @@ import ProcessFilters from './ProcessFilters';
import SmartPaste from './SmartPaste';
import Utils from './Utils';
import { Editor } from 'tinymce/core/api/Editor';
-import { Cell } from '@ephox/katamari';
-import { DataTransfer, ClipboardEvent, HTMLImageElement, Range, Image, Event, DragEvent, navigator, KeyboardEvent } from '@ephox/dom-globals';
+import { Cell, Futures, Future, Arr } from '@ephox/katamari';
+import { DataTransfer, ClipboardEvent, HTMLImageElement, Range, Image, Event, DragEvent, navigator, KeyboardEvent, File } from '@ephox/dom-globals';
declare let window: any;
@@ -139,19 +136,13 @@ const extractFilename = (editor: Editor, str: string) => {
const uniqueId = Utils.createIdGenerator('mceclip');
-const pasteImage = (editor: Editor, rng: Range, reader, blob) => {
- if (rng) {
- editor.selection.setRng(rng);
- rng = null;
- }
-
- const dataUri = reader.result;
- const base64 = getBase64FromUri(dataUri);
+const pasteImage = (editor: Editor, imageItem) => {
+ const base64 = getBase64FromUri(imageItem.uri);
const id = uniqueId();
- const name = editor.settings.images_reuse_filename && blob.name ? extractFilename(editor, blob.name) : id;
+ const name = editor.settings.images_reuse_filename && imageItem.blob.name ? extractFilename(editor, imageItem.blob.name) : id;
const img = new Image();
- img.src = dataUri;
+ img.src = imageItem.uri;
// TODO: Move the bulk of the cache logic to EditorUpload
if (isValidDataUriImage(editor.settings, img)) {
@@ -163,7 +154,7 @@ const pasteImage = (editor: Editor, rng: Range, reader, blob) => {
});
if (!existingBlobInfo) {
- blobInfo = blobCache.create(id, blob, base64, name);
+ blobInfo = blobCache.create(id, imageItem.blob, base64, name);
blobCache.add(blobInfo);
} else {
blobInfo = existingBlobInfo;
@@ -171,12 +162,36 @@ const pasteImage = (editor: Editor, rng: Range, reader, blob) => {
pasteHtml(editor, ' ', false);
} else {
- pasteHtml(editor, ' ', false);
+ pasteHtml(editor, ' ', false);
}
};
const isClipboardEvent = (event: Event): event is ClipboardEvent => event.type === 'paste';
+const readBlobsAsDataUris = (items: File[]) => {
+ return Futures.mapM(items, (item: any) => {
+ return Future.nu((resolve) => {
+ const blob = item.getAsFile ? item.getAsFile() : item;
+
+ const reader = new window.FileReader();
+ reader.onload = () => {
+ resolve({
+ blob,
+ uri: reader.result
+ });
+ };
+ reader.readAsDataURL(blob);
+ });
+ });
+};
+
+const getImagesFromDataTransfer = (dataTransfer: DataTransfer) => {
+ const items = dataTransfer.items ? Arr.map(Arr.from(dataTransfer.items), (item) => item.getAsFile()) : [];
+ const files = dataTransfer.files ? Arr.from(dataTransfer.files) : [];
+ const images = Arr.filter(items.length > 0 ? items : files, (file) => /^image\/(jpeg|png|gif|bmp)$/.test(file.type));
+ return images;
+};
+
/**
* Checks if the clipboard contains image data if it does it will take that data
* and convert it into a data url image and paste that image at the caret location.
@@ -188,32 +203,27 @@ const isClipboardEvent = (event: Event): event is ClipboardEvent => event.type =
const pasteImageData = (editor, e: ClipboardEvent | DragEvent, rng: Range) => {
const dataTransfer = isClipboardEvent(e) ? e.clipboardData : e.dataTransfer;
- function processItems(items) {
- let i, item, reader, hadImage = false;
-
- if (items) {
- for (i = 0; i < items.length; i++) {
- item = items[i];
-
- if (/^image\/(jpeg|png|gif|bmp)$/.test(item.type)) {
- const blob = item.getAsFile ? item.getAsFile() : item;
-
- reader = new window.FileReader();
- reader.onload = pasteImage.bind(null, editor, rng, reader, blob);
- reader.readAsDataURL(blob);
-
- e.preventDefault();
- hadImage = true;
- }
- }
- }
-
- return hadImage;
- }
-
if (editor.settings.paste_data_images && dataTransfer) {
- return processItems(dataTransfer.items) || processItems(dataTransfer.files);
+ const images = getImagesFromDataTransfer(dataTransfer);
+
+ if (images.length > 0) {
+ e.preventDefault();
+
+ readBlobsAsDataUris(images).get((blobResults) => {
+ if (rng) {
+ editor.selection.setRng(rng);
+ }
+
+ Arr.each(blobResults, (result) => {
+ pasteImage(editor, result);
+ });
+ });
+
+ return true;
+ }
}
+
+ return false;
};
/**
diff --git a/tools-ng/tinymce/editor/src/plugins/paste/main/ts/core/CutCopy.ts b/tools-ng/tinymce/src/plugins/paste/main/ts/core/CutCopy.ts
similarity index 83%
rename from tools-ng/tinymce/editor/src/plugins/paste/main/ts/core/CutCopy.ts
rename to tools-ng/tinymce/src/plugins/paste/main/ts/core/CutCopy.ts
index e22583c7f..0b6230bf8 100644
--- a/tools-ng/tinymce/editor/src/plugins/paste/main/ts/core/CutCopy.ts
+++ b/tools-ng/tinymce/src/plugins/paste/main/ts/core/CutCopy.ts
@@ -1,11 +1,8 @@
/**
- * CutCopy.js
- *
- * Released under LGPL License.
- * Copyright (c) 1999-2017 Ephox Corp. All rights reserved
- *
- * License: http://www.tinymce.com/license
- * Contributing: http://www.tinymce.com/contributing
+ * Copyright (c) Tiny Technologies, Inc. All rights reserved.
+ * Licensed under the LGPL or a commercial license.
+ * For LGPL see License.txt in the project root for license information.
+ * For commercial licenses see https://www.tiny.cloud/
*/
import Env from 'tinymce/core/api/Env';
@@ -94,8 +91,16 @@ const getData = (editor: Editor): SelectionContentData => (
}
);
+const isTableSelection = (editor: Editor): boolean => {
+ return !!editor.dom.getParent(editor.selection.getStart(), 'td[data-mce-selected],th[data-mce-selected]', editor.getBody());
+};
+
+const hasSelectedContent = (editor: Editor): boolean => {
+ return !editor.selection.isCollapsed() || isTableSelection(editor);
+};
+
const cut = (editor: Editor) => (evt: ClipboardEvent) => {
- if (editor.selection.isCollapsed() === false) {
+ if (hasSelectedContent(editor)) {
setClipboardData(evt, getData(editor), fallback(editor), () => {
// Chrome fails to execCommand from another execCommand with this message:
// "We don't execute document.execCommand() this time, because it is called recursively.""
@@ -107,7 +112,7 @@ const cut = (editor: Editor) => (evt: ClipboardEvent) => {
};
const copy = (editor: Editor) => (evt: ClipboardEvent) => {
- if (editor.selection.isCollapsed() === false) {
+ if (hasSelectedContent(editor)) {
setClipboardData(evt, getData(editor), fallback(editor), noop);
}
};
diff --git a/tools-ng/tinymce/editor/src/plugins/paste/main/ts/core/DragDrop.ts b/tools-ng/tinymce/src/plugins/paste/main/ts/core/DragDrop.ts
similarity index 93%
rename from tools-ng/tinymce/editor/src/plugins/paste/main/ts/core/DragDrop.ts
rename to tools-ng/tinymce/src/plugins/paste/main/ts/core/DragDrop.ts
index bb9653d6a..9224f4af5 100644
--- a/tools-ng/tinymce/editor/src/plugins/paste/main/ts/core/DragDrop.ts
+++ b/tools-ng/tinymce/src/plugins/paste/main/ts/core/DragDrop.ts
@@ -1,11 +1,8 @@
/**
- * DragDrop.js
- *
- * Released under LGPL License.
- * Copyright (c) 1999-2017 Ephox Corp. All rights reserved
- *
- * License: http://www.tinymce.com/license
- * Contributing: http://www.tinymce.com/contributing
+ * Copyright (c) Tiny Technologies, Inc. All rights reserved.
+ * Licensed under the LGPL or a commercial license.
+ * For LGPL see License.txt in the project root for license information.
+ * For commercial licenses see https://www.tiny.cloud/
*/
import RangeUtils from 'tinymce/core/api/dom/RangeUtils';
diff --git a/tools-ng/tinymce/editor/src/plugins/paste/main/ts/core/FragmentParser.ts b/tools-ng/tinymce/src/plugins/paste/main/ts/core/FragmentParser.ts
similarity index 87%
rename from tools-ng/tinymce/editor/src/plugins/paste/main/ts/core/FragmentParser.ts
rename to tools-ng/tinymce/src/plugins/paste/main/ts/core/FragmentParser.ts
index 85018fb5b..b2dba3e84 100644
--- a/tools-ng/tinymce/editor/src/plugins/paste/main/ts/core/FragmentParser.ts
+++ b/tools-ng/tinymce/src/plugins/paste/main/ts/core/FragmentParser.ts
@@ -1,11 +1,8 @@
/**
- * FragmentParser.js
- *
- * Released under LGPL License.
- * Copyright (c) 1999-2017 Ephox Corp. All rights reserved
- *
- * License: http://www.tinymce.com/license
- * Contributing: http://www.tinymce.com/contributing
+ * Copyright (c) Tiny Technologies, Inc. All rights reserved.
+ * Licensed under the LGPL or a commercial license.
+ * For LGPL see License.txt in the project root for license information.
+ * For commercial licenses see https://www.tiny.cloud/
*/
const validContext = /^(p|h[1-6]|li)$/;
diff --git a/tools-ng/tinymce/editor/src/plugins/paste/main/ts/core/InternalHtml.ts b/tools-ng/tinymce/src/plugins/paste/main/ts/core/InternalHtml.ts
similarity index 65%
rename from tools-ng/tinymce/editor/src/plugins/paste/main/ts/core/InternalHtml.ts
rename to tools-ng/tinymce/src/plugins/paste/main/ts/core/InternalHtml.ts
index 80d426748..0c703c654 100644
--- a/tools-ng/tinymce/editor/src/plugins/paste/main/ts/core/InternalHtml.ts
+++ b/tools-ng/tinymce/src/plugins/paste/main/ts/core/InternalHtml.ts
@@ -1,11 +1,8 @@
/**
- * InternalHtml.js
- *
- * Released under LGPL License.
- * Copyright (c) 1999-2017 Ephox Corp. All rights reserved
- *
- * License: http://www.tinymce.com/license
- * Contributing: http://www.tinymce.com/contributing
+ * Copyright (c) Tiny Technologies, Inc. All rights reserved.
+ * Licensed under the LGPL or a commercial license.
+ * For LGPL see License.txt in the project root for license information.
+ * For commercial licenses see https://www.tiny.cloud/
*/
const internalMimeType = 'x-tinymce/html';
diff --git a/tools-ng/tinymce/editor/src/plugins/paste/main/ts/core/Newlines.ts b/tools-ng/tinymce/src/plugins/paste/main/ts/core/Newlines.ts
similarity index 89%
rename from tools-ng/tinymce/editor/src/plugins/paste/main/ts/core/Newlines.ts
rename to tools-ng/tinymce/src/plugins/paste/main/ts/core/Newlines.ts
index 951b78935..d956c7cb5 100644
--- a/tools-ng/tinymce/editor/src/plugins/paste/main/ts/core/Newlines.ts
+++ b/tools-ng/tinymce/src/plugins/paste/main/ts/core/Newlines.ts
@@ -1,11 +1,8 @@
/**
- * Newlines.js
- *
- * Released under LGPL License.
- * Copyright (c) 1999-2017 Ephox Corp. All rights reserved
- *
- * License: http://www.tinymce.com/license
- * Contributing: http://www.tinymce.com/contributing
+ * Copyright (c) Tiny Technologies, Inc. All rights reserved.
+ * Licensed under the LGPL or a commercial license.
+ * For LGPL see License.txt in the project root for license information.
+ * For commercial licenses see https://www.tiny.cloud/
*/
import Tools from 'tinymce/core/api/util/Tools';
diff --git a/tools-ng/tinymce/editor/src/plugins/paste/main/ts/core/PasteBin.ts b/tools-ng/tinymce/src/plugins/paste/main/ts/core/PasteBin.ts
similarity index 96%
rename from tools-ng/tinymce/editor/src/plugins/paste/main/ts/core/PasteBin.ts
rename to tools-ng/tinymce/src/plugins/paste/main/ts/core/PasteBin.ts
index 8c0b70ad7..28c37b7ff 100644
--- a/tools-ng/tinymce/editor/src/plugins/paste/main/ts/core/PasteBin.ts
+++ b/tools-ng/tinymce/src/plugins/paste/main/ts/core/PasteBin.ts
@@ -1,11 +1,8 @@
/**
- * PasteBin.js
- *
- * Released under LGPL License.
- * Copyright (c) 1999-2017 Ephox Corp. All rights reserved
- *
- * License: http://www.tinymce.com/license
- * Contributing: http://www.tinymce.com/contributing
+ * Copyright (c) Tiny Technologies, Inc. All rights reserved.
+ * Licensed under the LGPL or a commercial license.
+ * For LGPL see License.txt in the project root for license information.
+ * For commercial licenses see https://www.tiny.cloud/
*/
import Tools from 'tinymce/core/api/util/Tools';
diff --git a/tools-ng/tinymce/editor/src/plugins/paste/main/ts/core/PrePostProcess.ts b/tools-ng/tinymce/src/plugins/paste/main/ts/core/PrePostProcess.ts
similarity index 70%
rename from tools-ng/tinymce/editor/src/plugins/paste/main/ts/core/PrePostProcess.ts
rename to tools-ng/tinymce/src/plugins/paste/main/ts/core/PrePostProcess.ts
index ecc1d49d2..1583432a7 100644
--- a/tools-ng/tinymce/editor/src/plugins/paste/main/ts/core/PrePostProcess.ts
+++ b/tools-ng/tinymce/src/plugins/paste/main/ts/core/PrePostProcess.ts
@@ -1,11 +1,8 @@
/**
- * Plugin.js
- *
- * Released under LGPL License.
- * Copyright (c) 1999-2017 Ephox Corp. All rights reserved
- *
- * License: http://www.tinymce.com/license
- * Contributing: http://www.tinymce.com/contributing
+ * Copyright (c) Tiny Technologies, Inc. All rights reserved.
+ * Licensed under the LGPL or a commercial license.
+ * For LGPL see License.txt in the project root for license information.
+ * For commercial licenses see https://www.tiny.cloud/
*/
import Settings from '../api/Settings';
diff --git a/tools-ng/tinymce/editor/src/plugins/paste/main/ts/core/ProcessFilters.ts b/tools-ng/tinymce/src/plugins/paste/main/ts/core/ProcessFilters.ts
similarity index 85%
rename from tools-ng/tinymce/editor/src/plugins/paste/main/ts/core/ProcessFilters.ts
rename to tools-ng/tinymce/src/plugins/paste/main/ts/core/ProcessFilters.ts
index ee9e4778c..18766a71c 100644
--- a/tools-ng/tinymce/editor/src/plugins/paste/main/ts/core/ProcessFilters.ts
+++ b/tools-ng/tinymce/src/plugins/paste/main/ts/core/ProcessFilters.ts
@@ -1,11 +1,8 @@
/**
- * ProcessFilters.js
- *
- * Released under LGPL License.
- * Copyright (c) 1999-2017 Ephox Corp. All rights reserved
- *
- * License: http://www.tinymce.com/license
- * Contributing: http://www.tinymce.com/contributing
+ * Copyright (c) Tiny Technologies, Inc. All rights reserved.
+ * Licensed under the LGPL or a commercial license.
+ * For LGPL see License.txt in the project root for license information.
+ * For commercial licenses see https://www.tiny.cloud/
*/
import Events from '../api/Events';
diff --git a/tools-ng/tinymce/editor/src/plugins/paste/main/ts/core/Quirks.ts b/tools-ng/tinymce/src/plugins/paste/main/ts/core/Quirks.ts
similarity index 95%
rename from tools-ng/tinymce/editor/src/plugins/paste/main/ts/core/Quirks.ts
rename to tools-ng/tinymce/src/plugins/paste/main/ts/core/Quirks.ts
index 5237a51ab..6e66f2976 100644
--- a/tools-ng/tinymce/editor/src/plugins/paste/main/ts/core/Quirks.ts
+++ b/tools-ng/tinymce/src/plugins/paste/main/ts/core/Quirks.ts
@@ -1,11 +1,8 @@
/**
- * Quirks.js
- *
- * Released under LGPL License.
- * Copyright (c) 1999-2017 Ephox Corp. All rights reserved
- *
- * License: http://www.tinymce.com/license
- * Contributing: http://www.tinymce.com/contributing
+ * Copyright (c) Tiny Technologies, Inc. All rights reserved.
+ * Licensed under the LGPL or a commercial license.
+ * For LGPL see License.txt in the project root for license information.
+ * For commercial licenses see https://www.tiny.cloud/
*/
import Env from 'tinymce/core/api/Env';
diff --git a/tools-ng/tinymce/editor/src/plugins/paste/main/ts/core/SmartPaste.ts b/tools-ng/tinymce/src/plugins/paste/main/ts/core/SmartPaste.ts
similarity index 91%
rename from tools-ng/tinymce/editor/src/plugins/paste/main/ts/core/SmartPaste.ts
rename to tools-ng/tinymce/src/plugins/paste/main/ts/core/SmartPaste.ts
index f7f105018..0f870b815 100644
--- a/tools-ng/tinymce/editor/src/plugins/paste/main/ts/core/SmartPaste.ts
+++ b/tools-ng/tinymce/src/plugins/paste/main/ts/core/SmartPaste.ts
@@ -1,11 +1,8 @@
/**
- * SmartPaste.js
- *
- * Released under LGPL License.
- * Copyright (c) 1999-2017 Ephox Corp. All rights reserved
- *
- * License: http://www.tinymce.com/license
- * Contributing: http://www.tinymce.com/contributing
+ * Copyright (c) Tiny Technologies, Inc. All rights reserved.
+ * Licensed under the LGPL or a commercial license.
+ * For LGPL see License.txt in the project root for license information.
+ * For commercial licenses see https://www.tiny.cloud/
*/
import Tools from 'tinymce/core/api/util/Tools';
diff --git a/tools-ng/tinymce/editor/src/plugins/paste/main/ts/core/Utils.ts b/tools-ng/tinymce/src/plugins/paste/main/ts/core/Utils.ts
similarity index 93%
rename from tools-ng/tinymce/editor/src/plugins/paste/main/ts/core/Utils.ts
rename to tools-ng/tinymce/src/plugins/paste/main/ts/core/Utils.ts
index 62a9a12b2..5fea96277 100644
--- a/tools-ng/tinymce/editor/src/plugins/paste/main/ts/core/Utils.ts
+++ b/tools-ng/tinymce/src/plugins/paste/main/ts/core/Utils.ts
@@ -1,11 +1,8 @@
/**
- * Utils.js
- *
- * Released under LGPL License.
- * Copyright (c) 1999-2017 Ephox Corp. All rights reserved
- *
- * License: http://www.tinymce.com/license
- * Contributing: http://www.tinymce.com/contributing
+ * Copyright (c) Tiny Technologies, Inc. All rights reserved.
+ * Licensed under the LGPL or a commercial license.
+ * For LGPL see License.txt in the project root for license information.
+ * For commercial licenses see https://www.tiny.cloud/
*/
import DomParser from 'tinymce/core/api/html/DomParser';
diff --git a/tools-ng/tinymce/editor/src/plugins/paste/main/ts/core/WordFilter.ts b/tools-ng/tinymce/src/plugins/paste/main/ts/core/WordFilter.ts
similarity index 98%
rename from tools-ng/tinymce/editor/src/plugins/paste/main/ts/core/WordFilter.ts
rename to tools-ng/tinymce/src/plugins/paste/main/ts/core/WordFilter.ts
index 4668f47db..61afaaa5b 100644
--- a/tools-ng/tinymce/editor/src/plugins/paste/main/ts/core/WordFilter.ts
+++ b/tools-ng/tinymce/src/plugins/paste/main/ts/core/WordFilter.ts
@@ -1,11 +1,8 @@
/**
- * WordFilter.js
- *
- * Released under LGPL License.
- * Copyright (c) 1999-2017 Ephox Corp. All rights reserved
- *
- * License: http://www.tinymce.com/license
- * Contributing: http://www.tinymce.com/contributing
+ * Copyright (c) Tiny Technologies, Inc. All rights reserved.
+ * Licensed under the LGPL or a commercial license.
+ * For LGPL see License.txt in the project root for license information.
+ * For commercial licenses see https://www.tiny.cloud/
*/
import DomParser from 'tinymce/core/api/html/DomParser';
diff --git a/tools-ng/tinymce/editor/src/plugins/paste/main/ts/ui/Buttons.ts b/tools-ng/tinymce/src/plugins/paste/main/ts/ui/Buttons.ts
similarity index 79%
rename from tools-ng/tinymce/editor/src/plugins/paste/main/ts/ui/Buttons.ts
rename to tools-ng/tinymce/src/plugins/paste/main/ts/ui/Buttons.ts
index 41f320499..50d95477d 100644
--- a/tools-ng/tinymce/editor/src/plugins/paste/main/ts/ui/Buttons.ts
+++ b/tools-ng/tinymce/src/plugins/paste/main/ts/ui/Buttons.ts
@@ -1,11 +1,8 @@
/**
- * Buttons.js
- *
- * Released under LGPL License.
- * Copyright (c) 1999-2017 Ephox Corp. All rights reserved
- *
- * License: http://www.tinymce.com/license
- * Contributing: http://www.tinymce.com/contributing
+ * Copyright (c) Tiny Technologies, Inc. All rights reserved.
+ * Licensed under the LGPL or a commercial license.
+ * For LGPL see License.txt in the project root for license information.
+ * For commercial licenses see https://www.tiny.cloud/
*/
import { Fun } from '@ephox/katamari';
diff --git a/tools-ng/tinymce/editor/src/plugins/paste/test/.eslintrc b/tools-ng/tinymce/src/plugins/paste/test/.eslintrc
similarity index 100%
rename from tools-ng/tinymce/editor/src/plugins/paste/test/.eslintrc
rename to tools-ng/tinymce/src/plugins/paste/test/.eslintrc
diff --git a/tools-ng/tinymce/editor/src/plugins/paste/test/ts/atomic/FragmentParserTest.ts b/tools-ng/tinymce/src/plugins/paste/test/ts/atomic/FragmentParserTest.ts
similarity index 100%
rename from tools-ng/tinymce/editor/src/plugins/paste/test/ts/atomic/FragmentParserTest.ts
rename to tools-ng/tinymce/src/plugins/paste/test/ts/atomic/FragmentParserTest.ts
diff --git a/tools-ng/tinymce/editor/src/plugins/paste/test/ts/atomic/InternalHtmlTest.ts b/tools-ng/tinymce/src/plugins/paste/test/ts/atomic/InternalHtmlTest.ts
similarity index 100%
rename from tools-ng/tinymce/editor/src/plugins/paste/test/ts/atomic/InternalHtmlTest.ts
rename to tools-ng/tinymce/src/plugins/paste/test/ts/atomic/InternalHtmlTest.ts
diff --git a/tools-ng/tinymce/editor/src/plugins/paste/test/ts/browser/ImagePasteTest.ts b/tools-ng/tinymce/src/plugins/paste/test/ts/browser/ImagePasteTest.ts
similarity index 100%
rename from tools-ng/tinymce/editor/src/plugins/paste/test/ts/browser/ImagePasteTest.ts
rename to tools-ng/tinymce/src/plugins/paste/test/ts/browser/ImagePasteTest.ts
diff --git a/tools-ng/tinymce/editor/src/plugins/paste/test/ts/browser/InternalClipboardTest.ts b/tools-ng/tinymce/src/plugins/paste/test/ts/browser/InternalClipboardTest.ts
similarity index 89%
rename from tools-ng/tinymce/editor/src/plugins/paste/test/ts/browser/InternalClipboardTest.ts
rename to tools-ng/tinymce/src/plugins/paste/test/ts/browser/InternalClipboardTest.ts
index e2d85a345..bc87acb95 100644
--- a/tools-ng/tinymce/editor/src/plugins/paste/test/ts/browser/InternalClipboardTest.ts
+++ b/tools-ng/tinymce/src/plugins/paste/test/ts/browser/InternalClipboardTest.ts
@@ -4,7 +4,8 @@ import { TinyApis, TinyLoader } from '@ephox/mcagar';
import InternalHtml from 'tinymce/plugins/paste/core/InternalHtml';
import Utils from 'tinymce/plugins/paste/core/Utils';
-import Plugin from 'tinymce/plugins/paste/Plugin';
+import PastePlugin from 'tinymce/plugins/paste/Plugin';
+import TablePlugin from 'tinymce/plugins/table/Plugin';
import Theme from 'tinymce/themes/modern/Theme';
import MockDataTransfer from '../module/test/MockDataTransfer';
@@ -14,7 +15,8 @@ UnitTest.asynctest('browser.tinymce.plugins.paste.InternalClipboardTest', functi
const failure = arguments[arguments.length - 1];
let dataTransfer, lastPreProcessEvent, lastPostProcessEvent;
- Plugin();
+ PastePlugin();
+ TablePlugin();
Theme();
const sResetProcessEvents = Step.sync(function () {
@@ -96,6 +98,29 @@ UnitTest.asynctest('browser.tinymce.plugins.paste.InternalClipboardTest', functi
sAssertClipboardData('', ''),
tinyApis.sAssertContent('abc
'),
tinyApis.sAssertSelection([0, 0], 1, [0, 0], 1)
+ ])),
+
+ Logger.t('Copy collapsed selection with table selection', GeneralSteps.sequence([
+ sCopy(editor, tinyApis,
+ '' +
+ '' +
+ '' +
+ 'a ' +
+ 'b ' +
+ ' ' +
+ ' ' +
+ '
',
+ [0, 0, 0, 1, 0], 0, [0, 0, 0, 1, 0], 0),
+ sAssertClipboardData(
+ '\n' +
+ '\n' +
+ '\n' +
+ 'a \n' +
+ 'b \n' +
+ ' \n' +
+ ' \n' +
+ '
', 'ab'),
+ tinyApis.sAssertSelection([0, 0, 0, 1, 0], 0, [0, 0, 0, 1, 0], 0)
]))
]));
};
@@ -200,7 +225,7 @@ UnitTest.asynctest('browser.tinymce.plugins.paste.InternalClipboardTest', functi
sTestPaste(editor, tinyApis)
], onSuccess, onFailure);
}, {
- plugins: 'paste',
+ plugins: 'paste table',
init_instance_callback (editor) {
editor.on('PastePreProcess', function (evt) {
lastPreProcessEvent = evt;
diff --git a/tools-ng/tinymce/editor/src/plugins/paste/test/ts/browser/NewlinesTest.ts b/tools-ng/tinymce/src/plugins/paste/test/ts/browser/NewlinesTest.ts
similarity index 100%
rename from tools-ng/tinymce/editor/src/plugins/paste/test/ts/browser/NewlinesTest.ts
rename to tools-ng/tinymce/src/plugins/paste/test/ts/browser/NewlinesTest.ts
diff --git a/tools-ng/tinymce/editor/src/plugins/paste/test/ts/browser/PasteBinTest.ts b/tools-ng/tinymce/src/plugins/paste/test/ts/browser/PasteBinTest.ts
similarity index 100%
rename from tools-ng/tinymce/editor/src/plugins/paste/test/ts/browser/PasteBinTest.ts
rename to tools-ng/tinymce/src/plugins/paste/test/ts/browser/PasteBinTest.ts
diff --git a/tools-ng/tinymce/editor/src/plugins/paste/test/ts/browser/PasteFormatToggleTest.ts b/tools-ng/tinymce/src/plugins/paste/test/ts/browser/PasteFormatToggleTest.ts
similarity index 100%
rename from tools-ng/tinymce/editor/src/plugins/paste/test/ts/browser/PasteFormatToggleTest.ts
rename to tools-ng/tinymce/src/plugins/paste/test/ts/browser/PasteFormatToggleTest.ts
diff --git a/tools-ng/tinymce/editor/src/plugins/paste/test/ts/browser/PasteSettingsTest.ts b/tools-ng/tinymce/src/plugins/paste/test/ts/browser/PasteSettingsTest.ts
similarity index 100%
rename from tools-ng/tinymce/editor/src/plugins/paste/test/ts/browser/PasteSettingsTest.ts
rename to tools-ng/tinymce/src/plugins/paste/test/ts/browser/PasteSettingsTest.ts
diff --git a/tools-ng/tinymce/editor/src/plugins/paste/test/ts/browser/PasteStylesTest.ts b/tools-ng/tinymce/src/plugins/paste/test/ts/browser/PasteStylesTest.ts
similarity index 100%
rename from tools-ng/tinymce/editor/src/plugins/paste/test/ts/browser/PasteStylesTest.ts
rename to tools-ng/tinymce/src/plugins/paste/test/ts/browser/PasteStylesTest.ts
diff --git a/tools-ng/tinymce/editor/src/plugins/paste/test/ts/browser/PasteTest.ts b/tools-ng/tinymce/src/plugins/paste/test/ts/browser/PasteTest.ts
similarity index 100%
rename from tools-ng/tinymce/editor/src/plugins/paste/test/ts/browser/PasteTest.ts
rename to tools-ng/tinymce/src/plugins/paste/test/ts/browser/PasteTest.ts
diff --git a/tools-ng/tinymce/editor/src/plugins/paste/test/ts/browser/PlainTextPasteTest.ts b/tools-ng/tinymce/src/plugins/paste/test/ts/browser/PlainTextPasteTest.ts
similarity index 100%
rename from tools-ng/tinymce/editor/src/plugins/paste/test/ts/browser/PlainTextPasteTest.ts
rename to tools-ng/tinymce/src/plugins/paste/test/ts/browser/PlainTextPasteTest.ts
diff --git a/tools-ng/tinymce/editor/src/plugins/paste/test/ts/browser/ProcessFiltersTest.ts b/tools-ng/tinymce/src/plugins/paste/test/ts/browser/ProcessFiltersTest.ts
similarity index 100%
rename from tools-ng/tinymce/editor/src/plugins/paste/test/ts/browser/ProcessFiltersTest.ts
rename to tools-ng/tinymce/src/plugins/paste/test/ts/browser/ProcessFiltersTest.ts
diff --git a/tools-ng/tinymce/editor/src/plugins/paste/test/ts/browser/SmartPasteTest.ts b/tools-ng/tinymce/src/plugins/paste/test/ts/browser/SmartPasteTest.ts
similarity index 100%
rename from tools-ng/tinymce/editor/src/plugins/paste/test/ts/browser/SmartPasteTest.ts
rename to tools-ng/tinymce/src/plugins/paste/test/ts/browser/SmartPasteTest.ts
diff --git a/tools-ng/tinymce/editor/src/plugins/paste/test/ts/browser/alien/DetectProPluginTest.ts b/tools-ng/tinymce/src/plugins/paste/test/ts/browser/alien/DetectProPluginTest.ts
similarity index 100%
rename from tools-ng/tinymce/editor/src/plugins/paste/test/ts/browser/alien/DetectProPluginTest.ts
rename to tools-ng/tinymce/src/plugins/paste/test/ts/browser/alien/DetectProPluginTest.ts
diff --git a/tools-ng/tinymce/editor/src/plugins/paste/test/ts/module/test/MockDataTransfer.ts b/tools-ng/tinymce/src/plugins/paste/test/ts/module/test/MockDataTransfer.ts
similarity index 100%
rename from tools-ng/tinymce/editor/src/plugins/paste/test/ts/module/test/MockDataTransfer.ts
rename to tools-ng/tinymce/src/plugins/paste/test/ts/module/test/MockDataTransfer.ts
diff --git a/tools-ng/tinymce/editor/src/plugins/paste/test/ts/module/test/Paste.ts b/tools-ng/tinymce/src/plugins/paste/test/ts/module/test/Paste.ts
similarity index 100%
rename from tools-ng/tinymce/editor/src/plugins/paste/test/ts/module/test/Paste.ts
rename to tools-ng/tinymce/src/plugins/paste/test/ts/module/test/Paste.ts
diff --git a/tools-ng/tinymce/editor/src/plugins/paste/test/ts/module/test/Strings.ts b/tools-ng/tinymce/src/plugins/paste/test/ts/module/test/Strings.ts
similarity index 100%
rename from tools-ng/tinymce/editor/src/plugins/paste/test/ts/module/test/Strings.ts
rename to tools-ng/tinymce/src/plugins/paste/test/ts/module/test/Strings.ts
diff --git a/tools-ng/tinymce/editor/src/plugins/paste/test/ts/module/test/ViewBlock.ts b/tools-ng/tinymce/src/plugins/paste/test/ts/module/test/ViewBlock.ts
similarity index 100%
rename from tools-ng/tinymce/editor/src/plugins/paste/test/ts/module/test/ViewBlock.ts
rename to tools-ng/tinymce/src/plugins/paste/test/ts/module/test/ViewBlock.ts
diff --git a/tools-ng/tinymce/editor/src/plugins/paste/test/ts/webdriver/CutTest.ts b/tools-ng/tinymce/src/plugins/paste/test/ts/webdriver/CutTest.ts
similarity index 100%
rename from tools-ng/tinymce/editor/src/plugins/paste/test/ts/webdriver/CutTest.ts
rename to tools-ng/tinymce/src/plugins/paste/test/ts/webdriver/CutTest.ts
diff --git a/tools-ng/tinymce/editor/src/plugins/preview/demo/html/demo.html b/tools-ng/tinymce/src/plugins/preview/demo/html/demo.html
similarity index 100%
rename from tools-ng/tinymce/editor/src/plugins/preview/demo/html/demo.html
rename to tools-ng/tinymce/src/plugins/preview/demo/html/demo.html
diff --git a/tools-ng/tinymce/editor/src/plugins/preview/demo/ts/demo/Demo.ts b/tools-ng/tinymce/src/plugins/preview/demo/ts/demo/Demo.ts
similarity index 100%
rename from tools-ng/tinymce/editor/src/plugins/preview/demo/ts/demo/Demo.ts
rename to tools-ng/tinymce/src/plugins/preview/demo/ts/demo/Demo.ts
diff --git a/tools-ng/tinymce/editor/src/plugins/preview/main/ts/Plugin.ts b/tools-ng/tinymce/src/plugins/preview/main/ts/Plugin.ts
similarity index 54%
rename from tools-ng/tinymce/editor/src/plugins/preview/main/ts/Plugin.ts
rename to tools-ng/tinymce/src/plugins/preview/main/ts/Plugin.ts
index a1bc4bdca..d903d0370 100644
--- a/tools-ng/tinymce/editor/src/plugins/preview/main/ts/Plugin.ts
+++ b/tools-ng/tinymce/src/plugins/preview/main/ts/Plugin.ts
@@ -1,11 +1,8 @@
/**
- * Plugin.js
- *
- * Released under LGPL License.
- * Copyright (c) 1999-2017 Ephox Corp. All rights reserved
- *
- * License: http://www.tinymce.com/license
- * Contributing: http://www.tinymce.com/contributing
+ * Copyright (c) Tiny Technologies, Inc. All rights reserved.
+ * Licensed under the LGPL or a commercial license.
+ * For LGPL see License.txt in the project root for license information.
+ * For commercial licenses see https://www.tiny.cloud/
*/
import PluginManager from 'tinymce/core/api/PluginManager';
diff --git a/tools-ng/tinymce/src/plugins/preview/main/ts/api/Commands.ts b/tools-ng/tinymce/src/plugins/preview/main/ts/api/Commands.ts
new file mode 100644
index 000000000..b8a01d710
--- /dev/null
+++ b/tools-ng/tinymce/src/plugins/preview/main/ts/api/Commands.ts
@@ -0,0 +1,18 @@
+/**
+ * Copyright (c) Tiny Technologies, Inc. All rights reserved.
+ * Licensed under the LGPL or a commercial license.
+ * For LGPL see License.txt in the project root for license information.
+ * For commercial licenses see https://www.tiny.cloud/
+ */
+
+import Dialog from '../ui/Dialog';
+
+const register = function (editor) {
+ editor.addCommand('mcePreview', function () {
+ Dialog.open(editor);
+ });
+};
+
+export default {
+ register
+};
\ No newline at end of file
diff --git a/tools-ng/tinymce/editor/src/plugins/preview/main/ts/api/Settings.ts b/tools-ng/tinymce/src/plugins/preview/main/ts/api/Settings.ts
similarity index 64%
rename from tools-ng/tinymce/editor/src/plugins/preview/main/ts/api/Settings.ts
rename to tools-ng/tinymce/src/plugins/preview/main/ts/api/Settings.ts
index b0ed2e8e7..051c8048a 100644
--- a/tools-ng/tinymce/editor/src/plugins/preview/main/ts/api/Settings.ts
+++ b/tools-ng/tinymce/src/plugins/preview/main/ts/api/Settings.ts
@@ -1,11 +1,8 @@
/**
- * Settings.js
- *
- * Released under LGPL License.
- * Copyright (c) 1999-2017 Ephox Corp. All rights reserved
- *
- * License: http://www.tinymce.com/license
- * Contributing: http://www.tinymce.com/contributing
+ * Copyright (c) Tiny Technologies, Inc. All rights reserved.
+ * Licensed under the LGPL or a commercial license.
+ * For LGPL see License.txt in the project root for license information.
+ * For commercial licenses see https://www.tiny.cloud/
*/
const getPreviewDialogWidth = function (editor) {
diff --git a/tools-ng/tinymce/editor/src/plugins/preview/main/ts/ui/Buttons.ts b/tools-ng/tinymce/src/plugins/preview/main/ts/ui/Buttons.ts
similarity index 52%
rename from tools-ng/tinymce/editor/src/plugins/preview/main/ts/ui/Buttons.ts
rename to tools-ng/tinymce/src/plugins/preview/main/ts/ui/Buttons.ts
index 464b628b8..f1d173107 100644
--- a/tools-ng/tinymce/editor/src/plugins/preview/main/ts/ui/Buttons.ts
+++ b/tools-ng/tinymce/src/plugins/preview/main/ts/ui/Buttons.ts
@@ -1,11 +1,8 @@
/**
- * Buttons.js
- *
- * Released under LGPL License.
- * Copyright (c) 1999-2017 Ephox Corp. All rights reserved
- *
- * License: http://www.tinymce.com/license
- * Contributing: http://www.tinymce.com/contributing
+ * Copyright (c) Tiny Technologies, Inc. All rights reserved.
+ * Licensed under the LGPL or a commercial license.
+ * For LGPL see License.txt in the project root for license information.
+ * For commercial licenses see https://www.tiny.cloud/
*/
const register = function (editor) {
diff --git a/tools-ng/tinymce/editor/src/plugins/preview/main/ts/ui/Dialog.ts b/tools-ng/tinymce/src/plugins/preview/main/ts/ui/Dialog.ts
similarity index 78%
rename from tools-ng/tinymce/editor/src/plugins/preview/main/ts/ui/Dialog.ts
rename to tools-ng/tinymce/src/plugins/preview/main/ts/ui/Dialog.ts
index ca393a2ef..68a688385 100644
--- a/tools-ng/tinymce/editor/src/plugins/preview/main/ts/ui/Dialog.ts
+++ b/tools-ng/tinymce/src/plugins/preview/main/ts/ui/Dialog.ts
@@ -1,11 +1,8 @@
/**
- * Dialog.js
- *
- * Released under LGPL License.
- * Copyright (c) 1999-2017 Ephox Corp. All rights reserved
- *
- * License: http://www.tinymce.com/license
- * Contributing: http://www.tinymce.com/contributing
+ * Copyright (c) Tiny Technologies, Inc. All rights reserved.
+ * Licensed under the LGPL or a commercial license.
+ * For LGPL see License.txt in the project root for license information.
+ * For commercial licenses see https://www.tiny.cloud/
*/
import Env from 'tinymce/core/api/Env';
diff --git a/tools-ng/tinymce/editor/src/plugins/preview/main/ts/ui/IframeContent.ts b/tools-ng/tinymce/src/plugins/preview/main/ts/ui/IframeContent.ts
similarity index 90%
rename from tools-ng/tinymce/editor/src/plugins/preview/main/ts/ui/IframeContent.ts
rename to tools-ng/tinymce/src/plugins/preview/main/ts/ui/IframeContent.ts
index 8e0dbec55..3e1c0e03f 100644
--- a/tools-ng/tinymce/editor/src/plugins/preview/main/ts/ui/IframeContent.ts
+++ b/tools-ng/tinymce/src/plugins/preview/main/ts/ui/IframeContent.ts
@@ -1,11 +1,8 @@
/**
- * IframeContent.js
- *
- * Released under LGPL License.
- * Copyright (c) 1999-2017 Ephox Corp. All rights reserved
- *
- * License: http://www.tinymce.com/license
- * Contributing: http://www.tinymce.com/contributing
+ * Copyright (c) Tiny Technologies, Inc. All rights reserved.
+ * Licensed under the LGPL or a commercial license.
+ * For LGPL see License.txt in the project root for license information.
+ * For commercial licenses see https://www.tiny.cloud/
*/
import Tools from 'tinymce/core/api/util/Tools';
diff --git a/tools-ng/tinymce/editor/src/plugins/preview/test/ts/browser/PreviewContentStyleTest.ts b/tools-ng/tinymce/src/plugins/preview/test/ts/browser/PreviewContentStyleTest.ts
similarity index 100%
rename from tools-ng/tinymce/editor/src/plugins/preview/test/ts/browser/PreviewContentStyleTest.ts
rename to tools-ng/tinymce/src/plugins/preview/test/ts/browser/PreviewContentStyleTest.ts
diff --git a/tools-ng/tinymce/editor/src/plugins/preview/test/ts/browser/PreviewSanityTest.ts b/tools-ng/tinymce/src/plugins/preview/test/ts/browser/PreviewSanityTest.ts
similarity index 100%
rename from tools-ng/tinymce/editor/src/plugins/preview/test/ts/browser/PreviewSanityTest.ts
rename to tools-ng/tinymce/src/plugins/preview/test/ts/browser/PreviewSanityTest.ts
diff --git a/tools-ng/tinymce/editor/src/plugins/print/demo/html/demo.html b/tools-ng/tinymce/src/plugins/print/demo/html/demo.html
similarity index 100%
rename from tools-ng/tinymce/editor/src/plugins/print/demo/html/demo.html
rename to tools-ng/tinymce/src/plugins/print/demo/html/demo.html
diff --git a/tools-ng/tinymce/editor/src/plugins/print/demo/ts/demo/Demo.ts b/tools-ng/tinymce/src/plugins/print/demo/ts/demo/Demo.ts
similarity index 100%
rename from tools-ng/tinymce/editor/src/plugins/print/demo/ts/demo/Demo.ts
rename to tools-ng/tinymce/src/plugins/print/demo/ts/demo/Demo.ts
diff --git a/tools-ng/tinymce/editor/src/plugins/print/main/ts/Plugin.ts b/tools-ng/tinymce/src/plugins/print/main/ts/Plugin.ts
similarity index 57%
rename from tools-ng/tinymce/editor/src/plugins/print/main/ts/Plugin.ts
rename to tools-ng/tinymce/src/plugins/print/main/ts/Plugin.ts
index ca0aeaa6b..3765c73c8 100644
--- a/tools-ng/tinymce/editor/src/plugins/print/main/ts/Plugin.ts
+++ b/tools-ng/tinymce/src/plugins/print/main/ts/Plugin.ts
@@ -1,11 +1,8 @@
/**
- * Plugin.js
- *
- * Released under LGPL License.
- * Copyright (c) 1999-2017 Ephox Corp. All rights reserved
- *
- * License: http://www.tinymce.com/license
- * Contributing: http://www.tinymce.com/contributing
+ * Copyright (c) Tiny Technologies, Inc. All rights reserved.
+ * Licensed under the LGPL or a commercial license.
+ * For LGPL see License.txt in the project root for license information.
+ * For commercial licenses see https://www.tiny.cloud/
*/
import PluginManager from 'tinymce/core/api/PluginManager';
diff --git a/tools-ng/tinymce/src/plugins/print/main/ts/api/Commands.ts b/tools-ng/tinymce/src/plugins/print/main/ts/api/Commands.ts
new file mode 100644
index 000000000..5ba685cc1
--- /dev/null
+++ b/tools-ng/tinymce/src/plugins/print/main/ts/api/Commands.ts
@@ -0,0 +1,16 @@
+/**
+ * Copyright (c) Tiny Technologies, Inc. All rights reserved.
+ * Licensed under the LGPL or a commercial license.
+ * For LGPL see License.txt in the project root for license information.
+ * For commercial licenses see https://www.tiny.cloud/
+ */
+
+const register = function (editor) {
+ editor.addCommand('mcePrint', function () {
+ editor.getWin().print();
+ });
+};
+
+export default {
+ register
+};
\ No newline at end of file
diff --git a/tools-ng/tinymce/editor/src/plugins/print/main/ts/ui/Buttons.ts b/tools-ng/tinymce/src/plugins/print/main/ts/ui/Buttons.ts
similarity index 51%
rename from tools-ng/tinymce/editor/src/plugins/print/main/ts/ui/Buttons.ts
rename to tools-ng/tinymce/src/plugins/print/main/ts/ui/Buttons.ts
index 78ad3fc9a..31fd189ad 100644
--- a/tools-ng/tinymce/editor/src/plugins/print/main/ts/ui/Buttons.ts
+++ b/tools-ng/tinymce/src/plugins/print/main/ts/ui/Buttons.ts
@@ -1,11 +1,8 @@
/**
- * Buttons.js
- *
- * Released under LGPL License.
- * Copyright (c) 1999-2017 Ephox Corp. All rights reserved
- *
- * License: http://www.tinymce.com/license
- * Contributing: http://www.tinymce.com/contributing
+ * Copyright (c) Tiny Technologies, Inc. All rights reserved.
+ * Licensed under the LGPL or a commercial license.
+ * For LGPL see License.txt in the project root for license information.
+ * For commercial licenses see https://www.tiny.cloud/
*/
const register = function (editor) {
diff --git a/tools-ng/tinymce/editor/src/plugins/print/test/ts/browser/PrintSanityTest.ts b/tools-ng/tinymce/src/plugins/print/test/ts/browser/PrintSanityTest.ts
similarity index 100%
rename from tools-ng/tinymce/editor/src/plugins/print/test/ts/browser/PrintSanityTest.ts
rename to tools-ng/tinymce/src/plugins/print/test/ts/browser/PrintSanityTest.ts
diff --git a/tools-ng/tinymce/editor/src/plugins/save/demo/html/demo.html b/tools-ng/tinymce/src/plugins/save/demo/html/demo.html
similarity index 100%
rename from tools-ng/tinymce/editor/src/plugins/save/demo/html/demo.html
rename to tools-ng/tinymce/src/plugins/save/demo/html/demo.html
diff --git a/tools-ng/tinymce/editor/src/plugins/save/demo/ts/demo/Demo.ts b/tools-ng/tinymce/src/plugins/save/demo/ts/demo/Demo.ts
similarity index 100%
rename from tools-ng/tinymce/editor/src/plugins/save/demo/ts/demo/Demo.ts
rename to tools-ng/tinymce/src/plugins/save/demo/ts/demo/Demo.ts
diff --git a/tools-ng/tinymce/editor/src/plugins/save/main/ts/Plugin.ts b/tools-ng/tinymce/src/plugins/save/main/ts/Plugin.ts
similarity index 53%
rename from tools-ng/tinymce/editor/src/plugins/save/main/ts/Plugin.ts
rename to tools-ng/tinymce/src/plugins/save/main/ts/Plugin.ts
index 70441b01e..6877493ce 100644
--- a/tools-ng/tinymce/editor/src/plugins/save/main/ts/Plugin.ts
+++ b/tools-ng/tinymce/src/plugins/save/main/ts/Plugin.ts
@@ -1,11 +1,8 @@
/**
- * Plugin.js
- *
- * Released under LGPL License.
- * Copyright (c) 1999-2017 Ephox Corp. All rights reserved
- *
- * License: http://www.tinymce.com/license
- * Contributing: http://www.tinymce.com/contributing
+ * Copyright (c) Tiny Technologies, Inc. All rights reserved.
+ * Licensed under the LGPL or a commercial license.
+ * For LGPL see License.txt in the project root for license information.
+ * For commercial licenses see https://www.tiny.cloud/
*/
import PluginManager from 'tinymce/core/api/PluginManager';
diff --git a/tools-ng/tinymce/editor/src/plugins/save/main/ts/api/Commands.ts b/tools-ng/tinymce/src/plugins/save/main/ts/api/Commands.ts
similarity index 53%
rename from tools-ng/tinymce/editor/src/plugins/save/main/ts/api/Commands.ts
rename to tools-ng/tinymce/src/plugins/save/main/ts/api/Commands.ts
index c7ee82519..37f9ef6aa 100644
--- a/tools-ng/tinymce/editor/src/plugins/save/main/ts/api/Commands.ts
+++ b/tools-ng/tinymce/src/plugins/save/main/ts/api/Commands.ts
@@ -1,11 +1,8 @@
/**
- * Commands.js
- *
- * Released under LGPL License.
- * Copyright (c) 1999-2017 Ephox Corp. All rights reserved
- *
- * License: http://www.tinymce.com/license
- * Contributing: http://www.tinymce.com/contributing
+ * Copyright (c) Tiny Technologies, Inc. All rights reserved.
+ * Licensed under the LGPL or a commercial license.
+ * For LGPL see License.txt in the project root for license information.
+ * For commercial licenses see https://www.tiny.cloud/
*/
import Actions from '../core/Actions';
diff --git a/tools-ng/tinymce/editor/src/plugins/save/main/ts/api/Settings.ts b/tools-ng/tinymce/src/plugins/save/main/ts/api/Settings.ts
similarity index 62%
rename from tools-ng/tinymce/editor/src/plugins/save/main/ts/api/Settings.ts
rename to tools-ng/tinymce/src/plugins/save/main/ts/api/Settings.ts
index 653b5fcc5..ed4e65cbb 100644
--- a/tools-ng/tinymce/editor/src/plugins/save/main/ts/api/Settings.ts
+++ b/tools-ng/tinymce/src/plugins/save/main/ts/api/Settings.ts
@@ -1,11 +1,8 @@
/**
- * Settings.js
- *
- * Released under LGPL License.
- * Copyright (c) 1999-2017 Ephox Corp. All rights reserved
- *
- * License: http://www.tinymce.com/license
- * Contributing: http://www.tinymce.com/contributing
+ * Copyright (c) Tiny Technologies, Inc. All rights reserved.
+ * Licensed under the LGPL or a commercial license.
+ * For LGPL see License.txt in the project root for license information.
+ * For commercial licenses see https://www.tiny.cloud/
*/
const enableWhenDirty = function (editor) {
diff --git a/tools-ng/tinymce/editor/src/plugins/save/main/ts/core/Actions.ts b/tools-ng/tinymce/src/plugins/save/main/ts/core/Actions.ts
similarity index 85%
rename from tools-ng/tinymce/editor/src/plugins/save/main/ts/core/Actions.ts
rename to tools-ng/tinymce/src/plugins/save/main/ts/core/Actions.ts
index 6789d6f57..0ebc0ac4a 100644
--- a/tools-ng/tinymce/editor/src/plugins/save/main/ts/core/Actions.ts
+++ b/tools-ng/tinymce/src/plugins/save/main/ts/core/Actions.ts
@@ -1,11 +1,8 @@
/**
- * Actions.js
- *
- * Released under LGPL License.
- * Copyright (c) 1999-2017 Ephox Corp. All rights reserved
- *
- * License: http://www.tinymce.com/license
- * Contributing: http://www.tinymce.com/contributing
+ * Copyright (c) Tiny Technologies, Inc. All rights reserved.
+ * Licensed under the LGPL or a commercial license.
+ * For LGPL see License.txt in the project root for license information.
+ * For commercial licenses see https://www.tiny.cloud/
*/
import DOMUtils from 'tinymce/core/api/dom/DOMUtils';
diff --git a/tools-ng/tinymce/editor/src/plugins/save/main/ts/ui/Buttons.ts b/tools-ng/tinymce/src/plugins/save/main/ts/ui/Buttons.ts
similarity index 74%
rename from tools-ng/tinymce/editor/src/plugins/save/main/ts/ui/Buttons.ts
rename to tools-ng/tinymce/src/plugins/save/main/ts/ui/Buttons.ts
index 76cb11732..ad2dff20b 100644
--- a/tools-ng/tinymce/editor/src/plugins/save/main/ts/ui/Buttons.ts
+++ b/tools-ng/tinymce/src/plugins/save/main/ts/ui/Buttons.ts
@@ -1,11 +1,8 @@
/**
- * Buttons.js
- *
- * Released under LGPL License.
- * Copyright (c) 1999-2017 Ephox Corp. All rights reserved
- *
- * License: http://www.tinymce.com/license
- * Contributing: http://www.tinymce.com/contributing
+ * Copyright (c) Tiny Technologies, Inc. All rights reserved.
+ * Licensed under the LGPL or a commercial license.
+ * For LGPL see License.txt in the project root for license information.
+ * For commercial licenses see https://www.tiny.cloud/
*/
import Settings from '../api/Settings';
diff --git a/tools-ng/tinymce/editor/src/plugins/save/test/ts/browser/SaveSanityTest.ts b/tools-ng/tinymce/src/plugins/save/test/ts/browser/SaveSanityTest.ts
similarity index 100%
rename from tools-ng/tinymce/editor/src/plugins/save/test/ts/browser/SaveSanityTest.ts
rename to tools-ng/tinymce/src/plugins/save/test/ts/browser/SaveSanityTest.ts
diff --git a/tools-ng/tinymce/editor/src/plugins/searchreplace/demo/html/demo.html b/tools-ng/tinymce/src/plugins/searchreplace/demo/html/demo.html
similarity index 100%
rename from tools-ng/tinymce/editor/src/plugins/searchreplace/demo/html/demo.html
rename to tools-ng/tinymce/src/plugins/searchreplace/demo/html/demo.html
diff --git a/tools-ng/tinymce/editor/src/plugins/searchreplace/demo/ts/demo/Demo.ts b/tools-ng/tinymce/src/plugins/searchreplace/demo/ts/demo/Demo.ts
similarity index 100%
rename from tools-ng/tinymce/editor/src/plugins/searchreplace/demo/ts/demo/Demo.ts
rename to tools-ng/tinymce/src/plugins/searchreplace/demo/ts/demo/Demo.ts
diff --git a/tools-ng/tinymce/editor/src/plugins/searchreplace/main/ts/Plugin.ts b/tools-ng/tinymce/src/plugins/searchreplace/main/ts/Plugin.ts
similarity index 66%
rename from tools-ng/tinymce/editor/src/plugins/searchreplace/main/ts/Plugin.ts
rename to tools-ng/tinymce/src/plugins/searchreplace/main/ts/Plugin.ts
index 531a34bf3..c4653c8a6 100644
--- a/tools-ng/tinymce/editor/src/plugins/searchreplace/main/ts/Plugin.ts
+++ b/tools-ng/tinymce/src/plugins/searchreplace/main/ts/Plugin.ts
@@ -1,11 +1,8 @@
/**
- * Plugin.js
- *
- * Released under LGPL License.
- * Copyright (c) 1999-2017 Ephox Corp. All rights reserved
- *
- * License: http://www.tinymce.com/license
- * Contributing: http://www.tinymce.com/contributing
+ * Copyright (c) Tiny Technologies, Inc. All rights reserved.
+ * Licensed under the LGPL or a commercial license.
+ * For LGPL see License.txt in the project root for license information.
+ * For commercial licenses see https://www.tiny.cloud/
*/
import { Cell } from '@ephox/katamari';
diff --git a/tools-ng/tinymce/editor/src/plugins/searchreplace/main/ts/api/Api.ts b/tools-ng/tinymce/src/plugins/searchreplace/main/ts/api/Api.ts
similarity index 76%
rename from tools-ng/tinymce/editor/src/plugins/searchreplace/main/ts/api/Api.ts
rename to tools-ng/tinymce/src/plugins/searchreplace/main/ts/api/Api.ts
index 19052f3f3..58c275265 100644
--- a/tools-ng/tinymce/editor/src/plugins/searchreplace/main/ts/api/Api.ts
+++ b/tools-ng/tinymce/src/plugins/searchreplace/main/ts/api/Api.ts
@@ -1,11 +1,8 @@
/**
- * Api.js
- *
- * Released under LGPL License.
- * Copyright (c) 1999-2017 Ephox Corp. All rights reserved
- *
- * License: http://www.tinymce.com/license
- * Contributing: http://www.tinymce.com/contributing
+ * Copyright (c) Tiny Technologies, Inc. All rights reserved.
+ * Licensed under the LGPL or a commercial license.
+ * For LGPL see License.txt in the project root for license information.
+ * For commercial licenses see https://www.tiny.cloud/
*/
import Actions from '../core/Actions';
diff --git a/tools-ng/tinymce/src/plugins/searchreplace/main/ts/api/Commands.ts b/tools-ng/tinymce/src/plugins/searchreplace/main/ts/api/Commands.ts
new file mode 100644
index 000000000..817c91d6d
--- /dev/null
+++ b/tools-ng/tinymce/src/plugins/searchreplace/main/ts/api/Commands.ts
@@ -0,0 +1,18 @@
+/**
+ * Copyright (c) Tiny Technologies, Inc. All rights reserved.
+ * Licensed under the LGPL or a commercial license.
+ * For LGPL see License.txt in the project root for license information.
+ * For commercial licenses see https://www.tiny.cloud/
+ */
+
+import Dialog from '../ui/Dialog';
+
+const register = function (editor, currentIndexState) {
+ editor.addCommand('SearchReplace', function () {
+ Dialog.open(editor, currentIndexState);
+ });
+};
+
+export default {
+ register
+};
\ No newline at end of file
diff --git a/tools-ng/tinymce/editor/src/plugins/searchreplace/main/ts/core/Actions.ts b/tools-ng/tinymce/src/plugins/searchreplace/main/ts/core/Actions.ts
similarity index 95%
rename from tools-ng/tinymce/editor/src/plugins/searchreplace/main/ts/core/Actions.ts
rename to tools-ng/tinymce/src/plugins/searchreplace/main/ts/core/Actions.ts
index f7f10bd05..b49c8adcb 100644
--- a/tools-ng/tinymce/editor/src/plugins/searchreplace/main/ts/core/Actions.ts
+++ b/tools-ng/tinymce/src/plugins/searchreplace/main/ts/core/Actions.ts
@@ -1,11 +1,8 @@
/**
- * Actions.js
- *
- * Released under LGPL License.
- * Copyright (c) 1999-2017 Ephox Corp. All rights reserved
- *
- * License: http://www.tinymce.com/license
- * Contributing: http://www.tinymce.com/contributing
+ * Copyright (c) Tiny Technologies, Inc. All rights reserved.
+ * Licensed under the LGPL or a commercial license.
+ * For LGPL see License.txt in the project root for license information.
+ * For commercial licenses see https://www.tiny.cloud/
*/
import Tools from 'tinymce/core/api/util/Tools';
diff --git a/tools-ng/tinymce/editor/src/plugins/searchreplace/main/ts/core/FindReplaceText.ts b/tools-ng/tinymce/src/plugins/searchreplace/main/ts/core/FindReplaceText.ts
similarity index 96%
rename from tools-ng/tinymce/editor/src/plugins/searchreplace/main/ts/core/FindReplaceText.ts
rename to tools-ng/tinymce/src/plugins/searchreplace/main/ts/core/FindReplaceText.ts
index 1784f120f..c25ec0004 100644
--- a/tools-ng/tinymce/editor/src/plugins/searchreplace/main/ts/core/FindReplaceText.ts
+++ b/tools-ng/tinymce/src/plugins/searchreplace/main/ts/core/FindReplaceText.ts
@@ -1,11 +1,8 @@
/**
- * FindReplaceText.js
- *
- * Released under LGPL License.
- * Copyright (c) 1999-2017 Ephox Corp. All rights reserved
- *
- * License: http://www.tinymce.com/license
- * Contributing: http://www.tinymce.com/contributing
+ * Copyright (c) Tiny Technologies, Inc. All rights reserved.
+ * Licensed under the LGPL or a commercial license.
+ * For LGPL see License.txt in the project root for license information.
+ * For commercial licenses see https://www.tiny.cloud/
*/
/*jshint smarttabs:true, undef:true, unused:true, latedef:true, curly:true, bitwise:true */
diff --git a/tools-ng/tinymce/editor/src/plugins/searchreplace/main/ts/ui/Buttons.ts b/tools-ng/tinymce/src/plugins/searchreplace/main/ts/ui/Buttons.ts
similarity index 73%
rename from tools-ng/tinymce/editor/src/plugins/searchreplace/main/ts/ui/Buttons.ts
rename to tools-ng/tinymce/src/plugins/searchreplace/main/ts/ui/Buttons.ts
index 6f7e6ac7c..c32026561 100644
--- a/tools-ng/tinymce/editor/src/plugins/searchreplace/main/ts/ui/Buttons.ts
+++ b/tools-ng/tinymce/src/plugins/searchreplace/main/ts/ui/Buttons.ts
@@ -1,11 +1,8 @@
/**
- * Buttons.js
- *
- * Released under LGPL License.
- * Copyright (c) 1999-2017 Ephox Corp. All rights reserved
- *
- * License: http://www.tinymce.com/license
- * Contributing: http://www.tinymce.com/contributing
+ * Copyright (c) Tiny Technologies, Inc. All rights reserved.
+ * Licensed under the LGPL or a commercial license.
+ * For LGPL see License.txt in the project root for license information.
+ * For commercial licenses see https://www.tiny.cloud/
*/
import Dialog from './Dialog';
diff --git a/tools-ng/tinymce/editor/src/plugins/searchreplace/main/ts/ui/Dialog.ts b/tools-ng/tinymce/src/plugins/searchreplace/main/ts/ui/Dialog.ts
similarity index 93%
rename from tools-ng/tinymce/editor/src/plugins/searchreplace/main/ts/ui/Dialog.ts
rename to tools-ng/tinymce/src/plugins/searchreplace/main/ts/ui/Dialog.ts
index fcfaa2556..4e76bc372 100644
--- a/tools-ng/tinymce/editor/src/plugins/searchreplace/main/ts/ui/Dialog.ts
+++ b/tools-ng/tinymce/src/plugins/searchreplace/main/ts/ui/Dialog.ts
@@ -1,11 +1,8 @@
/**
- * Dialog.js
- *
- * Released under LGPL License.
- * Copyright (c) 1999-2017 Ephox Corp. All rights reserved
- *
- * License: http://www.tinymce.com/license
- * Contributing: http://www.tinymce.com/contributing
+ * Copyright (c) Tiny Technologies, Inc. All rights reserved.
+ * Licensed under the LGPL or a commercial license.
+ * For LGPL see License.txt in the project root for license information.
+ * For commercial licenses see https://www.tiny.cloud/
*/
import Tools from 'tinymce/core/api/util/Tools';
diff --git a/tools-ng/tinymce/editor/src/plugins/searchreplace/test/ts/browser/SearchReplacePluginTest.ts b/tools-ng/tinymce/src/plugins/searchreplace/test/ts/browser/SearchReplacePluginTest.ts
similarity index 100%
rename from tools-ng/tinymce/editor/src/plugins/searchreplace/test/ts/browser/SearchReplacePluginTest.ts
rename to tools-ng/tinymce/src/plugins/searchreplace/test/ts/browser/SearchReplacePluginTest.ts
diff --git a/tools-ng/tinymce/editor/src/plugins/searchreplace/test/ts/browser/UndoReplaceSpanTest.ts b/tools-ng/tinymce/src/plugins/searchreplace/test/ts/browser/UndoReplaceSpanTest.ts
similarity index 100%
rename from tools-ng/tinymce/editor/src/plugins/searchreplace/test/ts/browser/UndoReplaceSpanTest.ts
rename to tools-ng/tinymce/src/plugins/searchreplace/test/ts/browser/UndoReplaceSpanTest.ts
diff --git a/tools-ng/tinymce/editor/src/plugins/searchreplace/test/ts/module/test/HtmlUtils.ts b/tools-ng/tinymce/src/plugins/searchreplace/test/ts/module/test/HtmlUtils.ts
similarity index 100%
rename from tools-ng/tinymce/editor/src/plugins/searchreplace/test/ts/module/test/HtmlUtils.ts
rename to tools-ng/tinymce/src/plugins/searchreplace/test/ts/module/test/HtmlUtils.ts
diff --git a/tools-ng/tinymce/editor/src/plugins/spellchecker/demo/html/demo.html b/tools-ng/tinymce/src/plugins/spellchecker/demo/html/demo.html
similarity index 100%
rename from tools-ng/tinymce/editor/src/plugins/spellchecker/demo/html/demo.html
rename to tools-ng/tinymce/src/plugins/spellchecker/demo/html/demo.html
diff --git a/tools-ng/tinymce/editor/src/plugins/spellchecker/demo/ts/demo/Demo.ts b/tools-ng/tinymce/src/plugins/spellchecker/demo/ts/demo/Demo.ts
similarity index 100%
rename from tools-ng/tinymce/editor/src/plugins/spellchecker/demo/ts/demo/Demo.ts
rename to tools-ng/tinymce/src/plugins/spellchecker/demo/ts/demo/Demo.ts
diff --git a/tools-ng/tinymce/editor/src/plugins/spellchecker/main/ts/Plugin.ts b/tools-ng/tinymce/src/plugins/spellchecker/main/ts/Plugin.ts
similarity index 84%
rename from tools-ng/tinymce/editor/src/plugins/spellchecker/main/ts/Plugin.ts
rename to tools-ng/tinymce/src/plugins/spellchecker/main/ts/Plugin.ts
index 9737cbfb4..8b052b5af 100644
--- a/tools-ng/tinymce/editor/src/plugins/spellchecker/main/ts/Plugin.ts
+++ b/tools-ng/tinymce/src/plugins/spellchecker/main/ts/Plugin.ts
@@ -1,11 +1,8 @@
/**
- * Plugin.js
- *
- * Released under LGPL License.
- * Copyright (c) 1999-2017 Ephox Corp. All rights reserved
- *
- * License: http://www.tinymce.com/license
- * Contributing: http://www.tinymce.com/contributing
+ * Copyright (c) Tiny Technologies, Inc. All rights reserved.
+ * Licensed under the LGPL or a commercial license.
+ * For LGPL see License.txt in the project root for license information.
+ * For commercial licenses see https://www.tiny.cloud/
*/
import { Cell } from '@ephox/katamari';
diff --git a/tools-ng/tinymce/editor/src/plugins/spellchecker/main/ts/alien/DetectProPlugin.ts b/tools-ng/tinymce/src/plugins/spellchecker/main/ts/alien/DetectProPlugin.ts
similarity index 73%
rename from tools-ng/tinymce/editor/src/plugins/spellchecker/main/ts/alien/DetectProPlugin.ts
rename to tools-ng/tinymce/src/plugins/spellchecker/main/ts/alien/DetectProPlugin.ts
index 4050ada95..9516e5786 100644
--- a/tools-ng/tinymce/editor/src/plugins/spellchecker/main/ts/alien/DetectProPlugin.ts
+++ b/tools-ng/tinymce/src/plugins/spellchecker/main/ts/alien/DetectProPlugin.ts
@@ -1,11 +1,8 @@
/**
- * DetectProPlugin.js
- *
- * Released under LGPL License.
- * Copyright (c) 1999-2017 Ephox Corp. All rights reserved
- *
- * License: http://www.tinymce.com/license
- * Contributing: http://www.tinymce.com/contributing
+ * Copyright (c) Tiny Technologies, Inc. All rights reserved.
+ * Licensed under the LGPL or a commercial license.
+ * For LGPL see License.txt in the project root for license information.
+ * For commercial licenses see https://www.tiny.cloud/
*/
import PluginManager from 'tinymce/core/api/PluginManager';
diff --git a/tools-ng/tinymce/editor/src/plugins/spellchecker/main/ts/api/Api.ts b/tools-ng/tinymce/src/plugins/spellchecker/main/ts/api/Api.ts
similarity index 80%
rename from tools-ng/tinymce/editor/src/plugins/spellchecker/main/ts/api/Api.ts
rename to tools-ng/tinymce/src/plugins/spellchecker/main/ts/api/Api.ts
index 6e518ffd1..141e6c8fa 100644
--- a/tools-ng/tinymce/editor/src/plugins/spellchecker/main/ts/api/Api.ts
+++ b/tools-ng/tinymce/src/plugins/spellchecker/main/ts/api/Api.ts
@@ -1,11 +1,8 @@
/**
- * Api.js
- *
- * Released under LGPL License.
- * Copyright (c) 1999-2017 Ephox Corp. All rights reserved
- *
- * License: http://www.tinymce.com/license
- * Contributing: http://www.tinymce.com/contributing
+ * Copyright (c) Tiny Technologies, Inc. All rights reserved.
+ * Licensed under the LGPL or a commercial license.
+ * For LGPL see License.txt in the project root for license information.
+ * For commercial licenses see https://www.tiny.cloud/
*/
import Settings from './Settings';
diff --git a/tools-ng/tinymce/editor/src/plugins/spellchecker/main/ts/api/Commands.ts b/tools-ng/tinymce/src/plugins/spellchecker/main/ts/api/Commands.ts
similarity index 73%
rename from tools-ng/tinymce/editor/src/plugins/spellchecker/main/ts/api/Commands.ts
rename to tools-ng/tinymce/src/plugins/spellchecker/main/ts/api/Commands.ts
index d8fa98320..db93f1f61 100644
--- a/tools-ng/tinymce/editor/src/plugins/spellchecker/main/ts/api/Commands.ts
+++ b/tools-ng/tinymce/src/plugins/spellchecker/main/ts/api/Commands.ts
@@ -1,11 +1,8 @@
/**
- * Commands.js
- *
- * Released under LGPL License.
- * Copyright (c) 1999-2017 Ephox Corp. All rights reserved
- *
- * License: http://www.tinymce.com/license
- * Contributing: http://www.tinymce.com/contributing
+ * Copyright (c) Tiny Technologies, Inc. All rights reserved.
+ * Licensed under the LGPL or a commercial license.
+ * For LGPL see License.txt in the project root for license information.
+ * For commercial licenses see https://www.tiny.cloud/
*/
import Actions, { LastSuggestion } from '../core/Actions';
diff --git a/tools-ng/tinymce/editor/src/plugins/spellchecker/main/ts/api/Events.ts b/tools-ng/tinymce/src/plugins/spellchecker/main/ts/api/Events.ts
similarity index 56%
rename from tools-ng/tinymce/editor/src/plugins/spellchecker/main/ts/api/Events.ts
rename to tools-ng/tinymce/src/plugins/spellchecker/main/ts/api/Events.ts
index e998ca568..179d17de8 100644
--- a/tools-ng/tinymce/editor/src/plugins/spellchecker/main/ts/api/Events.ts
+++ b/tools-ng/tinymce/src/plugins/spellchecker/main/ts/api/Events.ts
@@ -1,11 +1,8 @@
/**
- * Events.js
- *
- * Released under LGPL License.
- * Copyright (c) 1999-2017 Ephox Corp. All rights reserved
- *
- * License: http://www.tinymce.com/license
- * Contributing: http://www.tinymce.com/contributing
+ * Copyright (c) Tiny Technologies, Inc. All rights reserved.
+ * Licensed under the LGPL or a commercial license.
+ * For LGPL see License.txt in the project root for license information.
+ * For commercial licenses see https://www.tiny.cloud/
*/
import { Editor } from 'tinymce/core/api/Editor';
diff --git a/tools-ng/tinymce/editor/src/plugins/spellchecker/main/ts/api/Settings.ts b/tools-ng/tinymce/src/plugins/spellchecker/main/ts/api/Settings.ts
similarity index 83%
rename from tools-ng/tinymce/editor/src/plugins/spellchecker/main/ts/api/Settings.ts
rename to tools-ng/tinymce/src/plugins/spellchecker/main/ts/api/Settings.ts
index fa1672688..11646e385 100644
--- a/tools-ng/tinymce/editor/src/plugins/spellchecker/main/ts/api/Settings.ts
+++ b/tools-ng/tinymce/src/plugins/spellchecker/main/ts/api/Settings.ts
@@ -1,12 +1,10 @@
/**
- * Settings.js
- *
- * Released under LGPL License.
- * Copyright (c) 1999-2017 Ephox Corp. All rights reserved
- *
- * License: http://www.tinymce.com/license
- * Contributing: http://www.tinymce.com/contributing
+ * Copyright (c) Tiny Technologies, Inc. All rights reserved.
+ * Licensed under the LGPL or a commercial license.
+ * For LGPL see License.txt in the project root for license information.
+ * For commercial licenses see https://www.tiny.cloud/
*/
+
import { Editor } from 'tinymce/core/api/Editor';
const getLanguages = function (editor: Editor) {
diff --git a/tools-ng/tinymce/editor/src/plugins/spellchecker/main/ts/core/Actions.ts b/tools-ng/tinymce/src/plugins/spellchecker/main/ts/core/Actions.ts
similarity index 94%
rename from tools-ng/tinymce/editor/src/plugins/spellchecker/main/ts/core/Actions.ts
rename to tools-ng/tinymce/src/plugins/spellchecker/main/ts/core/Actions.ts
index 5221d6a4f..82c5d35e9 100644
--- a/tools-ng/tinymce/editor/src/plugins/spellchecker/main/ts/core/Actions.ts
+++ b/tools-ng/tinymce/src/plugins/spellchecker/main/ts/core/Actions.ts
@@ -1,11 +1,8 @@
/**
- * Actions.js
- *
- * Released under LGPL License.
- * Copyright (c) 1999-2017 Ephox Corp. All rights reserved
- *
- * License: http://www.tinymce.com/license
- * Contributing: http://www.tinymce.com/contributing
+ * Copyright (c) Tiny Technologies, Inc. All rights reserved.
+ * Licensed under the LGPL or a commercial license.
+ * For LGPL see License.txt in the project root for license information.
+ * For commercial licenses see https://www.tiny.cloud/
*/
import Tools from 'tinymce/core/api/util/Tools';
@@ -141,7 +138,10 @@ const ignoreWord = function (editor: Editor, startedState: Cell, textMa
};
const finish = function (editor: Editor, startedState: Cell, textMatcherState: Cell) {
+ const bookmark = editor.selection.getBookmark();
getTextMatcher(editor, textMatcherState).reset();
+ editor.selection.moveToBookmark(bookmark);
+
textMatcherState.set(null);
if (startedState.get()) {
@@ -213,6 +213,8 @@ const markErrors = function (editor: Editor, startedState: Cell, textMa
hasDictionarySupport
});
+ const bookmark = editor.selection.getBookmark();
+
getTextMatcher(editor, textMatcherState).find(Settings.getSpellcheckerWordcharPattern(editor)).filter(function (match) {
return !!suggestions[match.text];
}).wrap(function (match) {
@@ -223,6 +225,8 @@ const markErrors = function (editor: Editor, startedState: Cell, textMa
});
});
+ editor.selection.moveToBookmark(bookmark);
+
startedState.set(true);
Events.fireSpellcheckStart(editor);
};
diff --git a/tools-ng/tinymce/editor/src/plugins/spellchecker/main/ts/core/DomTextMatcher.ts b/tools-ng/tinymce/src/plugins/spellchecker/main/ts/core/DomTextMatcher.ts
similarity index 98%
rename from tools-ng/tinymce/editor/src/plugins/spellchecker/main/ts/core/DomTextMatcher.ts
rename to tools-ng/tinymce/src/plugins/spellchecker/main/ts/core/DomTextMatcher.ts
index 46efb9764..89ec639b5 100644
--- a/tools-ng/tinymce/editor/src/plugins/spellchecker/main/ts/core/DomTextMatcher.ts
+++ b/tools-ng/tinymce/src/plugins/spellchecker/main/ts/core/DomTextMatcher.ts
@@ -1,11 +1,8 @@
/**
- * DomTextMatcher.js
- *
- * Released under LGPL License.
- * Copyright (c) 1999-2017 Ephox Corp. All rights reserved
- *
- * License: http://www.tinymce.com/license
- * Contributing: http://www.tinymce.com/contributing
+ * Copyright (c) Tiny Technologies, Inc. All rights reserved.
+ * Licensed under the LGPL or a commercial license.
+ * For LGPL see License.txt in the project root for license information.
+ * For commercial licenses see https://www.tiny.cloud/
*/
import { HTMLElement, Range } from '@ephox/dom-globals';
diff --git a/tools-ng/tinymce/editor/src/plugins/spellchecker/main/ts/ui/Buttons.ts b/tools-ng/tinymce/src/plugins/spellchecker/main/ts/ui/Buttons.ts
similarity index 91%
rename from tools-ng/tinymce/editor/src/plugins/spellchecker/main/ts/ui/Buttons.ts
rename to tools-ng/tinymce/src/plugins/spellchecker/main/ts/ui/Buttons.ts
index e16aed5d8..a072f846e 100644
--- a/tools-ng/tinymce/editor/src/plugins/spellchecker/main/ts/ui/Buttons.ts
+++ b/tools-ng/tinymce/src/plugins/spellchecker/main/ts/ui/Buttons.ts
@@ -1,11 +1,8 @@
/**
- * Buttons.js
- *
- * Released under LGPL License.
- * Copyright (c) 1999-2017 Ephox Corp. All rights reserved
- *
- * License: http://www.tinymce.com/license
- * Contributing: http://www.tinymce.com/contributing
+ * Copyright (c) Tiny Technologies, Inc. All rights reserved.
+ * Licensed under the LGPL or a commercial license.
+ * For LGPL see License.txt in the project root for license information.
+ * For commercial licenses see https://www.tiny.cloud/
*/
import Tools from 'tinymce/core/api/util/Tools';
diff --git a/tools-ng/tinymce/editor/src/plugins/spellchecker/main/ts/ui/SuggestionsMenu.ts b/tools-ng/tinymce/src/plugins/spellchecker/main/ts/ui/SuggestionsMenu.ts
similarity index 93%
rename from tools-ng/tinymce/editor/src/plugins/spellchecker/main/ts/ui/SuggestionsMenu.ts
rename to tools-ng/tinymce/src/plugins/spellchecker/main/ts/ui/SuggestionsMenu.ts
index 9b6666183..7b8363511 100644
--- a/tools-ng/tinymce/editor/src/plugins/spellchecker/main/ts/ui/SuggestionsMenu.ts
+++ b/tools-ng/tinymce/src/plugins/spellchecker/main/ts/ui/SuggestionsMenu.ts
@@ -1,11 +1,8 @@
/**
- * SuggestionsMenu.js
- *
- * Released under LGPL License.
- * Copyright (c) 1999-2017 Ephox Corp. All rights reserved
- *
- * License: http://www.tinymce.com/license
- * Contributing: http://www.tinymce.com/contributing
+ * Copyright (c) Tiny Technologies, Inc. All rights reserved.
+ * Licensed under the LGPL or a commercial license.
+ * For LGPL see License.txt in the project root for license information.
+ * For commercial licenses see https://www.tiny.cloud/
*/
import DOMUtils from 'tinymce/core/api/dom/DOMUtils';
diff --git a/tools-ng/tinymce/editor/src/plugins/spellchecker/test/ts/browser/AddToDictionaryTest.ts b/tools-ng/tinymce/src/plugins/spellchecker/test/ts/browser/AddToDictionaryTest.ts
similarity index 100%
rename from tools-ng/tinymce/editor/src/plugins/spellchecker/test/ts/browser/AddToDictionaryTest.ts
rename to tools-ng/tinymce/src/plugins/spellchecker/test/ts/browser/AddToDictionaryTest.ts
diff --git a/tools-ng/tinymce/editor/src/plugins/spellchecker/test/ts/browser/SpellcheckerChangeLanguageTest.ts b/tools-ng/tinymce/src/plugins/spellchecker/test/ts/browser/SpellcheckerChangeLanguageTest.ts
similarity index 100%
rename from tools-ng/tinymce/editor/src/plugins/spellchecker/test/ts/browser/SpellcheckerChangeLanguageTest.ts
rename to tools-ng/tinymce/src/plugins/spellchecker/test/ts/browser/SpellcheckerChangeLanguageTest.ts
diff --git a/tools-ng/tinymce/editor/src/plugins/spellchecker/test/ts/browser/SpellcheckerManyLanguagesTest.ts b/tools-ng/tinymce/src/plugins/spellchecker/test/ts/browser/SpellcheckerManyLanguagesTest.ts
similarity index 100%
rename from tools-ng/tinymce/editor/src/plugins/spellchecker/test/ts/browser/SpellcheckerManyLanguagesTest.ts
rename to tools-ng/tinymce/src/plugins/spellchecker/test/ts/browser/SpellcheckerManyLanguagesTest.ts
diff --git a/tools-ng/tinymce/editor/src/plugins/spellchecker/test/ts/browser/SpellcheckerSingleLanguageTest.ts b/tools-ng/tinymce/src/plugins/spellchecker/test/ts/browser/SpellcheckerSingleLanguageTest.ts
similarity index 100%
rename from tools-ng/tinymce/editor/src/plugins/spellchecker/test/ts/browser/SpellcheckerSingleLanguageTest.ts
rename to tools-ng/tinymce/src/plugins/spellchecker/test/ts/browser/SpellcheckerSingleLanguageTest.ts
diff --git a/tools-ng/tinymce/editor/src/plugins/spellchecker/test/ts/browser/SpellcheckerTest.ts b/tools-ng/tinymce/src/plugins/spellchecker/test/ts/browser/SpellcheckerTest.ts
similarity index 100%
rename from tools-ng/tinymce/editor/src/plugins/spellchecker/test/ts/browser/SpellcheckerTest.ts
rename to tools-ng/tinymce/src/plugins/spellchecker/test/ts/browser/SpellcheckerTest.ts
diff --git a/tools-ng/tinymce/editor/src/plugins/spellchecker/test/ts/browser/alien/DetectProPluginTest.ts b/tools-ng/tinymce/src/plugins/spellchecker/test/ts/browser/alien/DetectProPluginTest.ts
similarity index 100%
rename from tools-ng/tinymce/editor/src/plugins/spellchecker/test/ts/browser/alien/DetectProPluginTest.ts
rename to tools-ng/tinymce/src/plugins/spellchecker/test/ts/browser/alien/DetectProPluginTest.ts
diff --git a/tools-ng/tinymce/editor/src/plugins/tabfocus/demo/html/demo.html b/tools-ng/tinymce/src/plugins/tabfocus/demo/html/demo.html
similarity index 100%
rename from tools-ng/tinymce/editor/src/plugins/tabfocus/demo/html/demo.html
rename to tools-ng/tinymce/src/plugins/tabfocus/demo/html/demo.html
diff --git a/tools-ng/tinymce/editor/src/plugins/tabfocus/demo/ts/demo/Demo.ts b/tools-ng/tinymce/src/plugins/tabfocus/demo/ts/demo/Demo.ts
similarity index 100%
rename from tools-ng/tinymce/editor/src/plugins/tabfocus/demo/ts/demo/Demo.ts
rename to tools-ng/tinymce/src/plugins/tabfocus/demo/ts/demo/Demo.ts
diff --git a/tools-ng/tinymce/src/plugins/tabfocus/main/ts/Plugin.ts b/tools-ng/tinymce/src/plugins/tabfocus/main/ts/Plugin.ts
new file mode 100644
index 000000000..7a25ce740
--- /dev/null
+++ b/tools-ng/tinymce/src/plugins/tabfocus/main/ts/Plugin.ts
@@ -0,0 +1,15 @@
+/**
+ * Copyright (c) Tiny Technologies, Inc. All rights reserved.
+ * Licensed under the LGPL or a commercial license.
+ * For LGPL see License.txt in the project root for license information.
+ * For commercial licenses see https://www.tiny.cloud/
+ */
+
+import PluginManager from 'tinymce/core/api/PluginManager';
+import Keyboard from './core/Keyboard';
+
+PluginManager.add('tabfocus', function (editor) {
+ Keyboard.setup(editor);
+});
+
+export default function () { }
\ No newline at end of file
diff --git a/tools-ng/tinymce/editor/src/plugins/tabfocus/main/ts/api/Settings.ts b/tools-ng/tinymce/src/plugins/tabfocus/main/ts/api/Settings.ts
similarity index 52%
rename from tools-ng/tinymce/editor/src/plugins/tabfocus/main/ts/api/Settings.ts
rename to tools-ng/tinymce/src/plugins/tabfocus/main/ts/api/Settings.ts
index df4146264..5df9e7824 100644
--- a/tools-ng/tinymce/editor/src/plugins/tabfocus/main/ts/api/Settings.ts
+++ b/tools-ng/tinymce/src/plugins/tabfocus/main/ts/api/Settings.ts
@@ -1,11 +1,8 @@
/**
- * Settings.js
- *
- * Released under LGPL License.
- * Copyright (c) 1999-2017 Ephox Corp. All rights reserved
- *
- * License: http://www.tinymce.com/license
- * Contributing: http://www.tinymce.com/contributing
+ * Copyright (c) Tiny Technologies, Inc. All rights reserved.
+ * Licensed under the LGPL or a commercial license.
+ * For LGPL see License.txt in the project root for license information.
+ * For commercial licenses see https://www.tiny.cloud/
*/
const getTabFocusElements = function (editor) {
diff --git a/tools-ng/tinymce/editor/src/plugins/tabfocus/main/ts/core/Keyboard.ts b/tools-ng/tinymce/src/plugins/tabfocus/main/ts/core/Keyboard.ts
similarity index 92%
rename from tools-ng/tinymce/editor/src/plugins/tabfocus/main/ts/core/Keyboard.ts
rename to tools-ng/tinymce/src/plugins/tabfocus/main/ts/core/Keyboard.ts
index 6fff46c0a..9f60f532e 100644
--- a/tools-ng/tinymce/editor/src/plugins/tabfocus/main/ts/core/Keyboard.ts
+++ b/tools-ng/tinymce/src/plugins/tabfocus/main/ts/core/Keyboard.ts
@@ -1,11 +1,8 @@
/**
- * Keyboard.js
- *
- * Released under LGPL License.
- * Copyright (c) 1999-2017 Ephox Corp. All rights reserved
- *
- * License: http://www.tinymce.com/license
- * Contributing: http://www.tinymce.com/contributing
+ * Copyright (c) Tiny Technologies, Inc. All rights reserved.
+ * Licensed under the LGPL or a commercial license.
+ * For LGPL see License.txt in the project root for license information.
+ * For commercial licenses see https://www.tiny.cloud/
*/
import DOMUtils from 'tinymce/core/api/dom/DOMUtils';
diff --git a/tools-ng/tinymce/editor/src/plugins/tabfocus/test/ts/browser/TabfocusSanityTest.ts b/tools-ng/tinymce/src/plugins/tabfocus/test/ts/browser/TabfocusSanityTest.ts
similarity index 100%
rename from tools-ng/tinymce/editor/src/plugins/tabfocus/test/ts/browser/TabfocusSanityTest.ts
rename to tools-ng/tinymce/src/plugins/tabfocus/test/ts/browser/TabfocusSanityTest.ts
diff --git a/tools-ng/tinymce/editor/src/plugins/table/demo/html/demo.html b/tools-ng/tinymce/src/plugins/table/demo/html/demo.html
similarity index 100%
rename from tools-ng/tinymce/editor/src/plugins/table/demo/html/demo.html
rename to tools-ng/tinymce/src/plugins/table/demo/html/demo.html
diff --git a/tools-ng/tinymce/editor/src/plugins/table/demo/ts/demo/Demo.ts b/tools-ng/tinymce/src/plugins/table/demo/ts/demo/Demo.ts
similarity index 100%
rename from tools-ng/tinymce/editor/src/plugins/table/demo/ts/demo/Demo.ts
rename to tools-ng/tinymce/src/plugins/table/demo/ts/demo/Demo.ts
diff --git a/tools-ng/tinymce/editor/src/plugins/table/main/ts/Plugin.ts b/tools-ng/tinymce/src/plugins/table/main/ts/Plugin.ts
similarity index 88%
rename from tools-ng/tinymce/editor/src/plugins/table/main/ts/Plugin.ts
rename to tools-ng/tinymce/src/plugins/table/main/ts/Plugin.ts
index 91933d464..62dc19923 100644
--- a/tools-ng/tinymce/editor/src/plugins/table/main/ts/Plugin.ts
+++ b/tools-ng/tinymce/src/plugins/table/main/ts/Plugin.ts
@@ -1,11 +1,8 @@
/**
- * Plugin.js
- *
- * Released under LGPL License.
- * Copyright (c) 1999-2017 Ephox Corp. All rights reserved
- *
- * License: http://www.tinymce.com/license
- * Contributing: http://www.tinymce.com/contributing
+ * Copyright (c) Tiny Technologies, Inc. All rights reserved.
+ * Licensed under the LGPL or a commercial license.
+ * For LGPL see License.txt in the project root for license information.
+ * For commercial licenses see https://www.tiny.cloud/
*/
import PluginManager from 'tinymce/core/api/PluginManager';
diff --git a/tools-ng/tinymce/editor/src/plugins/table/main/ts/actions/Clipboard.ts b/tools-ng/tinymce/src/plugins/table/main/ts/actions/Clipboard.ts
similarity index 78%
rename from tools-ng/tinymce/editor/src/plugins/table/main/ts/actions/Clipboard.ts
rename to tools-ng/tinymce/src/plugins/table/main/ts/actions/Clipboard.ts
index 505dbdc4e..4e680757e 100644
--- a/tools-ng/tinymce/editor/src/plugins/table/main/ts/actions/Clipboard.ts
+++ b/tools-ng/tinymce/src/plugins/table/main/ts/actions/Clipboard.ts
@@ -1,11 +1,8 @@
/**
- * Clipboard.js
- *
- * Released under LGPL License.
- * Copyright (c) 1999-2017 Ephox Corp. All rights reserved
- *
- * License: http://www.tinymce.com/license
- * Contributing: http://www.tinymce.com/contributing
+ * Copyright (c) Tiny Technologies, Inc. All rights reserved.
+ * Licensed under the LGPL or a commercial license.
+ * For LGPL see License.txt in the project root for license information.
+ * For commercial licenses see https://www.tiny.cloud/
*/
import { Arr, Fun, Option } from '@ephox/katamari';
@@ -26,8 +23,12 @@ const extractSelected = function (cells) {
});
};
-const serializeElement = function (editor: Editor, elm) {
- return editor.selection.serializer.serialize(elm.dom(), {});
+const serializeElements = (editor: Editor, elements: Element[]): string => {
+ return Arr.map(elements, (elm) => editor.selection.serializer.serialize(elm.dom(), {})).join('');
+};
+
+const getTextContent = (elements: Element[]): string => {
+ return Arr.map(elements, (element) => element.dom().innerText).join('');
};
const registerEvents = function (editor: Editor, selections: Selections, actions: TableActions, cellSelection) {
@@ -35,9 +36,7 @@ const registerEvents = function (editor: Editor, selections: Selections, actions
const multiCellContext = function (cells) {
e.preventDefault();
extractSelected(cells).each(function (elements) {
- e.content = Arr.map(elements, function (elm) {
- return serializeElement(editor, elm);
- }).join('');
+ e.content = e.format === 'text' ? getTextContent(elements) : serializeElements(editor, elements);
});
};
diff --git a/tools-ng/tinymce/editor/src/plugins/table/main/ts/actions/InsertTable.ts b/tools-ng/tinymce/src/plugins/table/main/ts/actions/InsertTable.ts
similarity index 89%
rename from tools-ng/tinymce/editor/src/plugins/table/main/ts/actions/InsertTable.ts
rename to tools-ng/tinymce/src/plugins/table/main/ts/actions/InsertTable.ts
index 99e53c680..cec5b89ef 100644
--- a/tools-ng/tinymce/editor/src/plugins/table/main/ts/actions/InsertTable.ts
+++ b/tools-ng/tinymce/src/plugins/table/main/ts/actions/InsertTable.ts
@@ -1,11 +1,8 @@
/**
- * InsertTable.js
- *
- * Released under LGPL License.
- * Copyright (c) 1999-2018 Ephox Corp. All rights reserved
- *
- * License: http://www.tinymce.com/license
- * Contributing: http://www.tinymce.com/contributing
+ * Copyright (c) Tiny Technologies, Inc. All rights reserved.
+ * Licensed under the LGPL or a commercial license.
+ * For LGPL see License.txt in the project root for license information.
+ * For commercial licenses see https://www.tiny.cloud/
*/
import { Fun, Arr, Type } from '@ephox/katamari';
diff --git a/tools-ng/tinymce/editor/src/plugins/table/main/ts/actions/ResizeHandler.ts b/tools-ng/tinymce/src/plugins/table/main/ts/actions/ResizeHandler.ts
similarity index 94%
rename from tools-ng/tinymce/editor/src/plugins/table/main/ts/actions/ResizeHandler.ts
rename to tools-ng/tinymce/src/plugins/table/main/ts/actions/ResizeHandler.ts
index e35788d1a..db08cef60 100644
--- a/tools-ng/tinymce/editor/src/plugins/table/main/ts/actions/ResizeHandler.ts
+++ b/tools-ng/tinymce/src/plugins/table/main/ts/actions/ResizeHandler.ts
@@ -1,12 +1,10 @@
/**
- * ResizeHandler.js
- *
- * Released under LGPL License.
- * Copyright (c) 1999-2017 Ephox Corp. All rights reserved
- *
- * License: http://www.tinymce.com/license
- * Contributing: http://www.tinymce.com/contributing
+ * Copyright (c) Tiny Technologies, Inc. All rights reserved.
+ * Licensed under the LGPL or a commercial license.
+ * For LGPL see License.txt in the project root for license information.
+ * For commercial licenses see https://www.tiny.cloud/
*/
+
import { Option } from '@ephox/katamari';
import { ResizeWire, TableDirection, TableResize } from '@ephox/snooker';
import { Element } from '@ephox/sugar';
diff --git a/tools-ng/tinymce/editor/src/plugins/table/main/ts/actions/Styles.ts b/tools-ng/tinymce/src/plugins/table/main/ts/actions/Styles.ts
similarity index 87%
rename from tools-ng/tinymce/editor/src/plugins/table/main/ts/actions/Styles.ts
rename to tools-ng/tinymce/src/plugins/table/main/ts/actions/Styles.ts
index b4ee52929..444e03984 100644
--- a/tools-ng/tinymce/editor/src/plugins/table/main/ts/actions/Styles.ts
+++ b/tools-ng/tinymce/src/plugins/table/main/ts/actions/Styles.ts
@@ -1,11 +1,8 @@
/**
- * Styles.js
- *
- * Released under LGPL License.
- * Copyright (c) 1999-2017 Ephox Corp. All rights reserved
- *
- * License: http://www.tinymce.com/license
- * Contributing: http://www.tinymce.com/contributing
+ * Copyright (c) Tiny Technologies, Inc. All rights reserved.
+ * Licensed under the LGPL or a commercial license.
+ * For LGPL see License.txt in the project root for license information.
+ * For commercial licenses see https://www.tiny.cloud/
*/
import Tools from 'tinymce/core/api/util/Tools';
diff --git a/tools-ng/tinymce/editor/src/plugins/table/main/ts/actions/TableActions.ts b/tools-ng/tinymce/src/plugins/table/main/ts/actions/TableActions.ts
similarity index 94%
rename from tools-ng/tinymce/editor/src/plugins/table/main/ts/actions/TableActions.ts
rename to tools-ng/tinymce/src/plugins/table/main/ts/actions/TableActions.ts
index fc4651d75..f53cba100 100644
--- a/tools-ng/tinymce/editor/src/plugins/table/main/ts/actions/TableActions.ts
+++ b/tools-ng/tinymce/src/plugins/table/main/ts/actions/TableActions.ts
@@ -1,11 +1,8 @@
/**
- * TableActions.js
- *
- * Released under LGPL License.
- * Copyright (c) 1999-2017 Ephox Corp. All rights reserved
- *
- * License: http://www.tinymce.com/license
- * Contributing: http://www.tinymce.com/contributing
+ * Copyright (c) Tiny Technologies, Inc. All rights reserved.
+ * Licensed under the LGPL or a commercial license.
+ * For LGPL see License.txt in the project root for license information.
+ * For commercial licenses see https://www.tiny.cloud/
*/
import { Arr, Fun, Option } from '@ephox/katamari';
diff --git a/tools-ng/tinymce/editor/src/plugins/table/main/ts/actions/TableWire.ts b/tools-ng/tinymce/src/plugins/table/main/ts/actions/TableWire.ts
similarity index 77%
rename from tools-ng/tinymce/editor/src/plugins/table/main/ts/actions/TableWire.ts
rename to tools-ng/tinymce/src/plugins/table/main/ts/actions/TableWire.ts
index d1e1904d2..e275683e1 100644
--- a/tools-ng/tinymce/editor/src/plugins/table/main/ts/actions/TableWire.ts
+++ b/tools-ng/tinymce/src/plugins/table/main/ts/actions/TableWire.ts
@@ -1,11 +1,8 @@
/**
- * TableWire.js
- *
- * Released under LGPL License.
- * Copyright (c) 1999-2017 Ephox Corp. All rights reserved
- *
- * License: http://www.tinymce.com/license
- * Contributing: http://www.tinymce.com/contributing
+ * Copyright (c) Tiny Technologies, Inc. All rights reserved.
+ * Licensed under the LGPL or a commercial license.
+ * For LGPL see License.txt in the project root for license information.
+ * For commercial licenses see https://www.tiny.cloud/
*/
import { ResizeWire } from '@ephox/snooker';
diff --git a/tools-ng/tinymce/editor/src/plugins/table/main/ts/alien/Util.ts b/tools-ng/tinymce/src/plugins/table/main/ts/alien/Util.ts
similarity index 83%
rename from tools-ng/tinymce/editor/src/plugins/table/main/ts/alien/Util.ts
rename to tools-ng/tinymce/src/plugins/table/main/ts/alien/Util.ts
index 603ee7299..95710a673 100644
--- a/tools-ng/tinymce/editor/src/plugins/table/main/ts/alien/Util.ts
+++ b/tools-ng/tinymce/src/plugins/table/main/ts/alien/Util.ts
@@ -1,11 +1,8 @@
/**
- * Clipboard.js
- *
- * Released under LGPL License.
- * Copyright (c) 1999-2017 Ephox Corp. All rights reserved
- *
- * License: http://www.tinymce.com/license
- * Contributing: http://www.tinymce.com/contributing
+ * Copyright (c) Tiny Technologies, Inc. All rights reserved.
+ * Licensed under the LGPL or a commercial license.
+ * For LGPL see License.txt in the project root for license information.
+ * For commercial licenses see https://www.tiny.cloud/
*/
import { Compare, Element, Attr, SelectorFilter } from '@ephox/sugar';
diff --git a/tools-ng/tinymce/editor/src/plugins/table/main/ts/api/Api.ts b/tools-ng/tinymce/src/plugins/table/main/ts/api/Api.ts
similarity index 80%
rename from tools-ng/tinymce/editor/src/plugins/table/main/ts/api/Api.ts
rename to tools-ng/tinymce/src/plugins/table/main/ts/api/Api.ts
index 91ce29fc1..139295acf 100644
--- a/tools-ng/tinymce/editor/src/plugins/table/main/ts/api/Api.ts
+++ b/tools-ng/tinymce/src/plugins/table/main/ts/api/Api.ts
@@ -1,11 +1,8 @@
/**
- * Api.js
- *
- * Released under LGPL License.
- * Copyright (c) 1999-2018 Ephox Corp. All rights reserved
- *
- * License: http://www.tinymce.com/license
- * Contributing: http://www.tinymce.com/contributing
+ * Copyright (c) Tiny Technologies, Inc. All rights reserved.
+ * Licensed under the LGPL or a commercial license.
+ * For LGPL see License.txt in the project root for license information.
+ * For commercial licenses see https://www.tiny.cloud/
*/
import { Editor } from 'tinymce/core/api/Editor';
diff --git a/tools-ng/tinymce/editor/src/plugins/table/main/ts/api/Commands.ts b/tools-ng/tinymce/src/plugins/table/main/ts/api/Commands.ts
similarity index 95%
rename from tools-ng/tinymce/editor/src/plugins/table/main/ts/api/Commands.ts
rename to tools-ng/tinymce/src/plugins/table/main/ts/api/Commands.ts
index d74c2975d..5393fd656 100644
--- a/tools-ng/tinymce/editor/src/plugins/table/main/ts/api/Commands.ts
+++ b/tools-ng/tinymce/src/plugins/table/main/ts/api/Commands.ts
@@ -1,11 +1,8 @@
/**
- * TableCommands.js
- *
- * Released under LGPL License.
- * Copyright (c) 1999-2017 Ephox Corp. All rights reserved
- *
- * License: http://www.tinymce.com/license
- * Contributing: http://www.tinymce.com/contributing
+ * Copyright (c) Tiny Technologies, Inc. All rights reserved.
+ * Licensed under the LGPL or a commercial license.
+ * For LGPL see License.txt in the project root for license information.
+ * For commercial licenses see https://www.tiny.cloud/
*/
import { Arr, Fun, Option, Cell } from '@ephox/katamari';
diff --git a/tools-ng/tinymce/editor/src/plugins/table/main/ts/api/Events.ts b/tools-ng/tinymce/src/plugins/table/main/ts/api/Events.ts
similarity index 74%
rename from tools-ng/tinymce/editor/src/plugins/table/main/ts/api/Events.ts
rename to tools-ng/tinymce/src/plugins/table/main/ts/api/Events.ts
index e2cc6ad14..9c5643b39 100644
--- a/tools-ng/tinymce/editor/src/plugins/table/main/ts/api/Events.ts
+++ b/tools-ng/tinymce/src/plugins/table/main/ts/api/Events.ts
@@ -1,11 +1,8 @@
/**
- * Events.js
- *
- * Released under LGPL License.
- * Copyright (c) 1999-2018 Ephox Corp. All rights reserved
- *
- * License: http://www.tinymce.com/license
- * Contributing: http://www.tinymce.com/contributing
+ * Copyright (c) Tiny Technologies, Inc. All rights reserved.
+ * Licensed under the LGPL or a commercial license.
+ * For LGPL see License.txt in the project root for license information.
+ * For commercial licenses see https://www.tiny.cloud/
*/
import { Editor } from 'tinymce/core/api/Editor';
diff --git a/tools-ng/tinymce/editor/src/plugins/table/main/ts/api/Settings.ts b/tools-ng/tinymce/src/plugins/table/main/ts/api/Settings.ts
similarity index 93%
rename from tools-ng/tinymce/editor/src/plugins/table/main/ts/api/Settings.ts
rename to tools-ng/tinymce/src/plugins/table/main/ts/api/Settings.ts
index 854d56bc0..3abab5471 100644
--- a/tools-ng/tinymce/editor/src/plugins/table/main/ts/api/Settings.ts
+++ b/tools-ng/tinymce/src/plugins/table/main/ts/api/Settings.ts
@@ -1,11 +1,8 @@
/**
- * Settings.js
- *
- * Released under LGPL License.
- * Copyright (c) 1999-2018 Ephox Corp. All rights reserved
- *
- * License: http://www.tinymce.com/license
- * Contributing: http://www.tinymce.com/contributing
+ * Copyright (c) Tiny Technologies, Inc. All rights reserved.
+ * Licensed under the LGPL or a commercial license.
+ * For LGPL see License.txt in the project root for license information.
+ * For commercial licenses see https://www.tiny.cloud/
*/
import { Editor } from 'tinymce/core/api/Editor';
diff --git a/tools-ng/tinymce/editor/src/plugins/table/main/ts/queries/CellOperations.ts b/tools-ng/tinymce/src/plugins/table/main/ts/queries/CellOperations.ts
similarity index 86%
rename from tools-ng/tinymce/editor/src/plugins/table/main/ts/queries/CellOperations.ts
rename to tools-ng/tinymce/src/plugins/table/main/ts/queries/CellOperations.ts
index 5311c7798..9be33de1e 100644
--- a/tools-ng/tinymce/editor/src/plugins/table/main/ts/queries/CellOperations.ts
+++ b/tools-ng/tinymce/src/plugins/table/main/ts/queries/CellOperations.ts
@@ -1,11 +1,8 @@
/**
- * CellOperations.js
- *
- * Released under LGPL License.
- * Copyright (c) 1999-2017 Ephox Corp. All rights reserved
- *
- * License: http://www.tinymce.com/license
- * Contributing: http://www.tinymce.com/contributing
+ * Copyright (c) Tiny Technologies, Inc. All rights reserved.
+ * Licensed under the LGPL or a commercial license.
+ * For LGPL see License.txt in the project root for license information.
+ * For commercial licenses see https://www.tiny.cloud/
*/
import { TableSelection } from '@ephox/darwin';
diff --git a/tools-ng/tinymce/editor/src/plugins/table/main/ts/queries/Direction.ts b/tools-ng/tinymce/src/plugins/table/main/ts/queries/Direction.ts
similarity index 62%
rename from tools-ng/tinymce/editor/src/plugins/table/main/ts/queries/Direction.ts
rename to tools-ng/tinymce/src/plugins/table/main/ts/queries/Direction.ts
index 6e93028ed..38af17c30 100644
--- a/tools-ng/tinymce/editor/src/plugins/table/main/ts/queries/Direction.ts
+++ b/tools-ng/tinymce/src/plugins/table/main/ts/queries/Direction.ts
@@ -1,11 +1,8 @@
/**
- * Direction.js
- *
- * Released under LGPL License.
- * Copyright (c) 1999-2017 Ephox Corp. All rights reserved
- *
- * License: http://www.tinymce.com/license
- * Contributing: http://www.tinymce.com/contributing
+ * Copyright (c) Tiny Technologies, Inc. All rights reserved.
+ * Licensed under the LGPL or a commercial license.
+ * For LGPL see License.txt in the project root for license information.
+ * For commercial licenses see https://www.tiny.cloud/
*/
import { Fun } from '@ephox/katamari';
diff --git a/tools-ng/tinymce/editor/src/plugins/table/main/ts/queries/TabContext.ts b/tools-ng/tinymce/src/plugins/table/main/ts/queries/TabContext.ts
similarity index 92%
rename from tools-ng/tinymce/editor/src/plugins/table/main/ts/queries/TabContext.ts
rename to tools-ng/tinymce/src/plugins/table/main/ts/queries/TabContext.ts
index aa2731073..aceda5750 100644
--- a/tools-ng/tinymce/editor/src/plugins/table/main/ts/queries/TabContext.ts
+++ b/tools-ng/tinymce/src/plugins/table/main/ts/queries/TabContext.ts
@@ -1,11 +1,8 @@
/**
- * TabContext.js
- *
- * Released under LGPL License.
- * Copyright (c) 1999-2017 Ephox Corp. All rights reserved
- *
- * License: http://www.tinymce.com/license
- * Contributing: http://www.tinymce.com/contributing
+ * Copyright (c) Tiny Technologies, Inc. All rights reserved.
+ * Licensed under the LGPL or a commercial license.
+ * For LGPL see License.txt in the project root for license information.
+ * For commercial licenses see https://www.tiny.cloud/
*/
import { Arr, Option } from '@ephox/katamari';
diff --git a/tools-ng/tinymce/editor/src/plugins/table/main/ts/queries/TableTargets.ts b/tools-ng/tinymce/src/plugins/table/main/ts/queries/TableTargets.ts
similarity index 82%
rename from tools-ng/tinymce/editor/src/plugins/table/main/ts/queries/TableTargets.ts
rename to tools-ng/tinymce/src/plugins/table/main/ts/queries/TableTargets.ts
index ff71a3aa2..d7dd7d711 100644
--- a/tools-ng/tinymce/editor/src/plugins/table/main/ts/queries/TableTargets.ts
+++ b/tools-ng/tinymce/src/plugins/table/main/ts/queries/TableTargets.ts
@@ -1,11 +1,8 @@
/**
- * TableTargets.js
- *
- * Released under LGPL License.
- * Copyright (c) 1999-2017 Ephox Corp. All rights reserved
- *
- * License: http://www.tinymce.com/license
- * Contributing: http://www.tinymce.com/contributing
+ * Copyright (c) Tiny Technologies, Inc. All rights reserved.
+ * Licensed under the LGPL or a commercial license.
+ * For LGPL see License.txt in the project root for license information.
+ * For commercial licenses see https://www.tiny.cloud/
*/
import { Fun, Option, Struct } from '@ephox/katamari';
diff --git a/tools-ng/tinymce/editor/src/plugins/table/main/ts/selection/CellSelection.ts b/tools-ng/tinymce/src/plugins/table/main/ts/selection/CellSelection.ts
similarity index 96%
rename from tools-ng/tinymce/editor/src/plugins/table/main/ts/selection/CellSelection.ts
rename to tools-ng/tinymce/src/plugins/table/main/ts/selection/CellSelection.ts
index 465102289..7a9abd013 100644
--- a/tools-ng/tinymce/editor/src/plugins/table/main/ts/selection/CellSelection.ts
+++ b/tools-ng/tinymce/src/plugins/table/main/ts/selection/CellSelection.ts
@@ -1,11 +1,8 @@
/**
- * CellSelection.js
- *
- * Released under LGPL License.
- * Copyright (c) 1999-2017 Ephox Corp. All rights reserved
- *
- * License: http://www.tinymce.com/license
- * Contributing: http://www.tinymce.com/contributing
+ * Copyright (c) Tiny Technologies, Inc. All rights reserved.
+ * Licensed under the LGPL or a commercial license.
+ * For LGPL see License.txt in the project root for license information.
+ * For commercial licenses see https://www.tiny.cloud/
*/
import { InputHandlers, SelectionAnnotation, SelectionKeys } from '@ephox/darwin';
diff --git a/tools-ng/tinymce/editor/src/plugins/table/main/ts/selection/Ephemera.ts b/tools-ng/tinymce/src/plugins/table/main/ts/selection/Ephemera.ts
similarity index 78%
rename from tools-ng/tinymce/editor/src/plugins/table/main/ts/selection/Ephemera.ts
rename to tools-ng/tinymce/src/plugins/table/main/ts/selection/Ephemera.ts
index bb0df0c05..035aed161 100644
--- a/tools-ng/tinymce/editor/src/plugins/table/main/ts/selection/Ephemera.ts
+++ b/tools-ng/tinymce/src/plugins/table/main/ts/selection/Ephemera.ts
@@ -1,11 +1,8 @@
/**
- * Ephemera.js
- *
- * Released under LGPL License.
- * Copyright (c) 1999-2017 Ephox Corp. All rights reserved
- *
- * License: http://www.tinymce.com/license
- * Contributing: http://www.tinymce.com/contributing
+ * Copyright (c) Tiny Technologies, Inc. All rights reserved.
+ * Licensed under the LGPL or a commercial license.
+ * For LGPL see License.txt in the project root for license information.
+ * For commercial licenses see https://www.tiny.cloud/
*/
import { Fun } from '@ephox/katamari';
diff --git a/tools-ng/tinymce/editor/src/plugins/table/main/ts/selection/SelectionTypes.ts b/tools-ng/tinymce/src/plugins/table/main/ts/selection/SelectionTypes.ts
similarity index 60%
rename from tools-ng/tinymce/editor/src/plugins/table/main/ts/selection/SelectionTypes.ts
rename to tools-ng/tinymce/src/plugins/table/main/ts/selection/SelectionTypes.ts
index ad0e7534e..49c7ffe12 100644
--- a/tools-ng/tinymce/editor/src/plugins/table/main/ts/selection/SelectionTypes.ts
+++ b/tools-ng/tinymce/src/plugins/table/main/ts/selection/SelectionTypes.ts
@@ -1,11 +1,8 @@
/**
- * SelectionTypes.js
- *
- * Released under LGPL License.
- * Copyright (c) 1999-2017 Ephox Corp. All rights reserved
- *
- * License: http://www.tinymce.com/license
- * Contributing: http://www.tinymce.com/contributing
+ * Copyright (c) Tiny Technologies, Inc. All rights reserved.
+ * Licensed under the LGPL or a commercial license.
+ * For LGPL see License.txt in the project root for license information.
+ * For commercial licenses see https://www.tiny.cloud/
*/
import { Adt } from '@ephox/katamari';
diff --git a/tools-ng/tinymce/editor/src/plugins/table/main/ts/selection/Selections.ts b/tools-ng/tinymce/src/plugins/table/main/ts/selection/Selections.ts
similarity index 76%
rename from tools-ng/tinymce/editor/src/plugins/table/main/ts/selection/Selections.ts
rename to tools-ng/tinymce/src/plugins/table/main/ts/selection/Selections.ts
index 277b17fa9..1f2e03d49 100644
--- a/tools-ng/tinymce/editor/src/plugins/table/main/ts/selection/Selections.ts
+++ b/tools-ng/tinymce/src/plugins/table/main/ts/selection/Selections.ts
@@ -1,11 +1,8 @@
/**
- * Selections.js
- *
- * Released under LGPL License.
- * Copyright (c) 1999-2017 Ephox Corp. All rights reserved
- *
- * License: http://www.tinymce.com/license
- * Contributing: http://www.tinymce.com/contributing
+ * Copyright (c) Tiny Technologies, Inc. All rights reserved.
+ * Licensed under the LGPL or a commercial license.
+ * For LGPL see License.txt in the project root for license information.
+ * For commercial licenses see https://www.tiny.cloud/
*/
import { TableSelection } from '@ephox/darwin';
diff --git a/tools-ng/tinymce/editor/src/plugins/table/main/ts/ui/Buttons.ts b/tools-ng/tinymce/src/plugins/table/main/ts/ui/Buttons.ts
similarity index 92%
rename from tools-ng/tinymce/editor/src/plugins/table/main/ts/ui/Buttons.ts
rename to tools-ng/tinymce/src/plugins/table/main/ts/ui/Buttons.ts
index 53aad9548..354d88c1c 100644
--- a/tools-ng/tinymce/editor/src/plugins/table/main/ts/ui/Buttons.ts
+++ b/tools-ng/tinymce/src/plugins/table/main/ts/ui/Buttons.ts
@@ -1,11 +1,8 @@
/**
- * Buttons.js
- *
- * Released under LGPL License.
- * Copyright (c) 1999-2017 Ephox Corp. All rights reserved
- *
- * License: http://www.tinymce.com/license
- * Contributing: http://www.tinymce.com/contributing
+ * Copyright (c) Tiny Technologies, Inc. All rights reserved.
+ * Licensed under the LGPL or a commercial license.
+ * For LGPL see License.txt in the project root for license information.
+ * For commercial licenses see https://www.tiny.cloud/
*/
import Tools from 'tinymce/core/api/util/Tools';
diff --git a/tools-ng/tinymce/editor/src/plugins/table/main/ts/ui/CellDialog.ts b/tools-ng/tinymce/src/plugins/table/main/ts/ui/CellDialog.ts
similarity index 96%
rename from tools-ng/tinymce/editor/src/plugins/table/main/ts/ui/CellDialog.ts
rename to tools-ng/tinymce/src/plugins/table/main/ts/ui/CellDialog.ts
index 14cf07761..10fe6c74d 100644
--- a/tools-ng/tinymce/editor/src/plugins/table/main/ts/ui/CellDialog.ts
+++ b/tools-ng/tinymce/src/plugins/table/main/ts/ui/CellDialog.ts
@@ -1,11 +1,8 @@
/**
- * CellDialog.js
- *
- * Released under LGPL License.
- * Copyright (c) 1999-2017 Ephox Corp. All rights reserved
- *
- * License: http://www.tinymce.com/license
- * Contributing: http://www.tinymce.com/contributing
+ * Copyright (c) Tiny Technologies, Inc. All rights reserved.
+ * Licensed under the LGPL or a commercial license.
+ * For LGPL see License.txt in the project root for license information.
+ * For commercial licenses see https://www.tiny.cloud/
*/
import { Fun } from '@ephox/katamari';
diff --git a/tools-ng/tinymce/editor/src/plugins/table/main/ts/ui/Helpers.ts b/tools-ng/tinymce/src/plugins/table/main/ts/ui/Helpers.ts
similarity index 95%
rename from tools-ng/tinymce/editor/src/plugins/table/main/ts/ui/Helpers.ts
rename to tools-ng/tinymce/src/plugins/table/main/ts/ui/Helpers.ts
index 5c4960981..343e18a14 100644
--- a/tools-ng/tinymce/editor/src/plugins/table/main/ts/ui/Helpers.ts
+++ b/tools-ng/tinymce/src/plugins/table/main/ts/ui/Helpers.ts
@@ -1,11 +1,8 @@
/**
- * Helpers.js
- *
- * Released under LGPL License.
- * Copyright (c) 1999-2017 Ephox Corp. All rights reserved
- *
- * License: http://www.tinymce.com/license
- * Contributing: http://www.tinymce.com/contributing
+ * Copyright (c) Tiny Technologies, Inc. All rights reserved.
+ * Licensed under the LGPL or a commercial license.
+ * For LGPL see License.txt in the project root for license information.
+ * For commercial licenses see https://www.tiny.cloud/
*/
import { Fun } from '@ephox/katamari';
diff --git a/tools-ng/tinymce/editor/src/plugins/table/main/ts/ui/MenuItems.ts b/tools-ng/tinymce/src/plugins/table/main/ts/ui/MenuItems.ts
similarity index 97%
rename from tools-ng/tinymce/editor/src/plugins/table/main/ts/ui/MenuItems.ts
rename to tools-ng/tinymce/src/plugins/table/main/ts/ui/MenuItems.ts
index 12fe80712..4c060ff11 100644
--- a/tools-ng/tinymce/editor/src/plugins/table/main/ts/ui/MenuItems.ts
+++ b/tools-ng/tinymce/src/plugins/table/main/ts/ui/MenuItems.ts
@@ -1,11 +1,8 @@
/**
- * MenuItems.js
- *
- * Released under LGPL License.
- * Copyright (c) 1999-2017 Ephox Corp. All rights reserved
- *
- * License: http://www.tinymce.com/license
- * Contributing: http://www.tinymce.com/contributing
+ * Copyright (c) Tiny Technologies, Inc. All rights reserved.
+ * Licensed under the LGPL or a commercial license.
+ * For LGPL see License.txt in the project root for license information.
+ * For commercial licenses see https://www.tiny.cloud/
*/
import { Arr, Option } from '@ephox/katamari';
diff --git a/tools-ng/tinymce/editor/src/plugins/table/main/ts/ui/RowDialog.ts b/tools-ng/tinymce/src/plugins/table/main/ts/ui/RowDialog.ts
similarity index 96%
rename from tools-ng/tinymce/editor/src/plugins/table/main/ts/ui/RowDialog.ts
rename to tools-ng/tinymce/src/plugins/table/main/ts/ui/RowDialog.ts
index cb6b55d77..20872940d 100644
--- a/tools-ng/tinymce/editor/src/plugins/table/main/ts/ui/RowDialog.ts
+++ b/tools-ng/tinymce/src/plugins/table/main/ts/ui/RowDialog.ts
@@ -1,11 +1,8 @@
/**
- * RowDialog.js
- *
- * Released under LGPL License.
- * Copyright (c) 1999-2017 Ephox Corp. All rights reserved
- *
- * License: http://www.tinymce.com/license
- * Contributing: http://www.tinymce.com/contributing
+ * Copyright (c) Tiny Technologies, Inc. All rights reserved.
+ * Licensed under the LGPL or a commercial license.
+ * For LGPL see License.txt in the project root for license information.
+ * For commercial licenses see https://www.tiny.cloud/
*/
import { Fun } from '@ephox/katamari';
diff --git a/tools-ng/tinymce/editor/src/plugins/table/main/ts/ui/TableDialog.ts b/tools-ng/tinymce/src/plugins/table/main/ts/ui/TableDialog.ts
similarity index 97%
rename from tools-ng/tinymce/editor/src/plugins/table/main/ts/ui/TableDialog.ts
rename to tools-ng/tinymce/src/plugins/table/main/ts/ui/TableDialog.ts
index afc4251dd..b36c21f2c 100644
--- a/tools-ng/tinymce/editor/src/plugins/table/main/ts/ui/TableDialog.ts
+++ b/tools-ng/tinymce/src/plugins/table/main/ts/ui/TableDialog.ts
@@ -1,11 +1,8 @@
/**
- * TableDialog.js
- *
- * Released under LGPL License.
- * Copyright (c) 1999-2017 Ephox Corp. All rights reserved
- *
- * License: http://www.tinymce.com/license
- * Contributing: http://www.tinymce.com/contributing
+ * Copyright (c) Tiny Technologies, Inc. All rights reserved.
+ * Licensed under the LGPL or a commercial license.
+ * For LGPL see License.txt in the project root for license information.
+ * For commercial licenses see https://www.tiny.cloud/
*/
import { Fun } from '@ephox/katamari';
diff --git a/tools-ng/tinymce/editor/src/plugins/table/test/ts/browser/AlignedCellRowStyleChangeTest.ts b/tools-ng/tinymce/src/plugins/table/test/ts/browser/AlignedCellRowStyleChangeTest.ts
similarity index 100%
rename from tools-ng/tinymce/editor/src/plugins/table/test/ts/browser/AlignedCellRowStyleChangeTest.ts
rename to tools-ng/tinymce/src/plugins/table/test/ts/browser/AlignedCellRowStyleChangeTest.ts
diff --git a/tools-ng/tinymce/editor/src/plugins/table/test/ts/browser/ClipboardTest.ts b/tools-ng/tinymce/src/plugins/table/test/ts/browser/ClipboardTest.ts
similarity index 96%
rename from tools-ng/tinymce/editor/src/plugins/table/test/ts/browser/ClipboardTest.ts
rename to tools-ng/tinymce/src/plugins/table/test/ts/browser/ClipboardTest.ts
index dbdd341bc..e0886cfd5 100644
--- a/tools-ng/tinymce/editor/src/plugins/table/test/ts/browser/ClipboardTest.ts
+++ b/tools-ng/tinymce/src/plugins/table/test/ts/browser/ClipboardTest.ts
@@ -38,6 +38,25 @@ UnitTest.asynctest('browser.tinymce.plugins.table.ClipboardTest', function () {
LegacyUnit.setSelection(editor, end, 0);
};
+ suite.test('selection.getContent with format equal to text', function (editor) {
+ editor.focus();
+ editor.setContent(
+ '' +
+ '' +
+ '' +
+ 'a ' +
+ 'b ' +
+ ' ' +
+ ' ' +
+ '
'
+ );
+
+ selectRangeXY(editor, 'table tr td:nth-child(1)', 'table tr td:nth-child(2)');
+
+ LegacyUnit.equal(
+ editor.selection.getContent({ format: 'text' }), 'ab');
+ });
+
suite.test('mceTablePasteRowBefore command', function (editor) {
editor.focus();
editor.setContent(
diff --git a/tools-ng/tinymce/editor/src/plugins/table/test/ts/browser/DragResizeTest.ts b/tools-ng/tinymce/src/plugins/table/test/ts/browser/DragResizeTest.ts
similarity index 100%
rename from tools-ng/tinymce/editor/src/plugins/table/test/ts/browser/DragResizeTest.ts
rename to tools-ng/tinymce/src/plugins/table/test/ts/browser/DragResizeTest.ts
diff --git a/tools-ng/tinymce/editor/src/plugins/table/test/ts/browser/GridSelectionTest.ts b/tools-ng/tinymce/src/plugins/table/test/ts/browser/GridSelectionTest.ts
similarity index 100%
rename from tools-ng/tinymce/editor/src/plugins/table/test/ts/browser/GridSelectionTest.ts
rename to tools-ng/tinymce/src/plugins/table/test/ts/browser/GridSelectionTest.ts
diff --git a/tools-ng/tinymce/editor/src/plugins/table/test/ts/browser/IndentListsInTableTest.ts b/tools-ng/tinymce/src/plugins/table/test/ts/browser/IndentListsInTableTest.ts
similarity index 100%
rename from tools-ng/tinymce/editor/src/plugins/table/test/ts/browser/IndentListsInTableTest.ts
rename to tools-ng/tinymce/src/plugins/table/test/ts/browser/IndentListsInTableTest.ts
diff --git a/tools-ng/tinymce/editor/src/plugins/table/test/ts/browser/InlineEditorInsideTableTest.ts b/tools-ng/tinymce/src/plugins/table/test/ts/browser/InlineEditorInsideTableTest.ts
similarity index 100%
rename from tools-ng/tinymce/editor/src/plugins/table/test/ts/browser/InlineEditorInsideTableTest.ts
rename to tools-ng/tinymce/src/plugins/table/test/ts/browser/InlineEditorInsideTableTest.ts
diff --git a/tools-ng/tinymce/editor/src/plugins/table/test/ts/browser/InsertCommandsTest.ts b/tools-ng/tinymce/src/plugins/table/test/ts/browser/InsertCommandsTest.ts
similarity index 100%
rename from tools-ng/tinymce/editor/src/plugins/table/test/ts/browser/InsertCommandsTest.ts
rename to tools-ng/tinymce/src/plugins/table/test/ts/browser/InsertCommandsTest.ts
diff --git a/tools-ng/tinymce/editor/src/plugins/table/test/ts/browser/InsertTableTest.ts b/tools-ng/tinymce/src/plugins/table/test/ts/browser/InsertTableTest.ts
similarity index 100%
rename from tools-ng/tinymce/editor/src/plugins/table/test/ts/browser/InsertTableTest.ts
rename to tools-ng/tinymce/src/plugins/table/test/ts/browser/InsertTableTest.ts
diff --git a/tools-ng/tinymce/editor/src/plugins/table/test/ts/browser/KeyboardCellNavigationTest.ts b/tools-ng/tinymce/src/plugins/table/test/ts/browser/KeyboardCellNavigationTest.ts
similarity index 100%
rename from tools-ng/tinymce/editor/src/plugins/table/test/ts/browser/KeyboardCellNavigationTest.ts
rename to tools-ng/tinymce/src/plugins/table/test/ts/browser/KeyboardCellNavigationTest.ts
diff --git a/tools-ng/tinymce/editor/src/plugins/table/test/ts/browser/MergeCellCommandTest.ts b/tools-ng/tinymce/src/plugins/table/test/ts/browser/MergeCellCommandTest.ts
similarity index 100%
rename from tools-ng/tinymce/editor/src/plugins/table/test/ts/browser/MergeCellCommandTest.ts
rename to tools-ng/tinymce/src/plugins/table/test/ts/browser/MergeCellCommandTest.ts
diff --git a/tools-ng/tinymce/editor/src/plugins/table/test/ts/browser/NewCellRowEventsTest.ts b/tools-ng/tinymce/src/plugins/table/test/ts/browser/NewCellRowEventsTest.ts
similarity index 100%
rename from tools-ng/tinymce/editor/src/plugins/table/test/ts/browser/NewCellRowEventsTest.ts
rename to tools-ng/tinymce/src/plugins/table/test/ts/browser/NewCellRowEventsTest.ts
diff --git a/tools-ng/tinymce/editor/src/plugins/table/test/ts/browser/ResizeTableTest.ts b/tools-ng/tinymce/src/plugins/table/test/ts/browser/ResizeTableTest.ts
similarity index 100%
rename from tools-ng/tinymce/editor/src/plugins/table/test/ts/browser/ResizeTableTest.ts
rename to tools-ng/tinymce/src/plugins/table/test/ts/browser/ResizeTableTest.ts
diff --git a/tools-ng/tinymce/editor/src/plugins/table/test/ts/browser/TabKeyNavigationTest.ts b/tools-ng/tinymce/src/plugins/table/test/ts/browser/TabKeyNavigationTest.ts
similarity index 100%
rename from tools-ng/tinymce/editor/src/plugins/table/test/ts/browser/TabKeyNavigationTest.ts
rename to tools-ng/tinymce/src/plugins/table/test/ts/browser/TabKeyNavigationTest.ts
diff --git a/tools-ng/tinymce/editor/src/plugins/table/test/ts/browser/TableAsBodyTest.ts b/tools-ng/tinymce/src/plugins/table/test/ts/browser/TableAsBodyTest.ts
similarity index 100%
rename from tools-ng/tinymce/editor/src/plugins/table/test/ts/browser/TableAsBodyTest.ts
rename to tools-ng/tinymce/src/plugins/table/test/ts/browser/TableAsBodyTest.ts
diff --git a/tools-ng/tinymce/editor/src/plugins/table/test/ts/browser/TableCellPropsStyleTest.ts b/tools-ng/tinymce/src/plugins/table/test/ts/browser/TableCellPropsStyleTest.ts
similarity index 100%
rename from tools-ng/tinymce/editor/src/plugins/table/test/ts/browser/TableCellPropsStyleTest.ts
rename to tools-ng/tinymce/src/plugins/table/test/ts/browser/TableCellPropsStyleTest.ts
diff --git a/tools-ng/tinymce/editor/src/plugins/table/test/ts/browser/settings/CustomTableToolbarTest.ts b/tools-ng/tinymce/src/plugins/table/test/ts/browser/settings/CustomTableToolbarTest.ts
similarity index 100%
rename from tools-ng/tinymce/editor/src/plugins/table/test/ts/browser/settings/CustomTableToolbarTest.ts
rename to tools-ng/tinymce/src/plugins/table/test/ts/browser/settings/CustomTableToolbarTest.ts
diff --git a/tools-ng/tinymce/editor/src/plugins/table/test/ts/browser/settings/DefaultTableToolbarTest.ts b/tools-ng/tinymce/src/plugins/table/test/ts/browser/settings/DefaultTableToolbarTest.ts
similarity index 100%
rename from tools-ng/tinymce/editor/src/plugins/table/test/ts/browser/settings/DefaultTableToolbarTest.ts
rename to tools-ng/tinymce/src/plugins/table/test/ts/browser/settings/DefaultTableToolbarTest.ts
diff --git a/tools-ng/tinymce/editor/src/plugins/table/test/ts/browser/settings/DisabledTableToolbarTest.ts b/tools-ng/tinymce/src/plugins/table/test/ts/browser/settings/DisabledTableToolbarTest.ts
similarity index 100%
rename from tools-ng/tinymce/editor/src/plugins/table/test/ts/browser/settings/DisabledTableToolbarTest.ts
rename to tools-ng/tinymce/src/plugins/table/test/ts/browser/settings/DisabledTableToolbarTest.ts
diff --git a/tools-ng/tinymce/editor/src/plugins/table/test/ts/browser/settings/TableAppearanceOptionsTest.ts b/tools-ng/tinymce/src/plugins/table/test/ts/browser/settings/TableAppearanceOptionsTest.ts
similarity index 100%
rename from tools-ng/tinymce/editor/src/plugins/table/test/ts/browser/settings/TableAppearanceOptionsTest.ts
rename to tools-ng/tinymce/src/plugins/table/test/ts/browser/settings/TableAppearanceOptionsTest.ts
diff --git a/tools-ng/tinymce/editor/src/plugins/table/test/ts/browser/settings/TableCellClassListTest.ts b/tools-ng/tinymce/src/plugins/table/test/ts/browser/settings/TableCellClassListTest.ts
similarity index 100%
rename from tools-ng/tinymce/editor/src/plugins/table/test/ts/browser/settings/TableCellClassListTest.ts
rename to tools-ng/tinymce/src/plugins/table/test/ts/browser/settings/TableCellClassListTest.ts
diff --git a/tools-ng/tinymce/editor/src/plugins/table/test/ts/browser/settings/TableClassListTest.ts b/tools-ng/tinymce/src/plugins/table/test/ts/browser/settings/TableClassListTest.ts
similarity index 100%
rename from tools-ng/tinymce/editor/src/plugins/table/test/ts/browser/settings/TableClassListTest.ts
rename to tools-ng/tinymce/src/plugins/table/test/ts/browser/settings/TableClassListTest.ts
diff --git a/tools-ng/tinymce/editor/src/plugins/table/test/ts/browser/settings/TableDefaultAttributesTest.ts b/tools-ng/tinymce/src/plugins/table/test/ts/browser/settings/TableDefaultAttributesTest.ts
similarity index 100%
rename from tools-ng/tinymce/editor/src/plugins/table/test/ts/browser/settings/TableDefaultAttributesTest.ts
rename to tools-ng/tinymce/src/plugins/table/test/ts/browser/settings/TableDefaultAttributesTest.ts
diff --git a/tools-ng/tinymce/editor/src/plugins/table/test/ts/browser/settings/TableDefaultStylesTest.ts b/tools-ng/tinymce/src/plugins/table/test/ts/browser/settings/TableDefaultStylesTest.ts
similarity index 100%
rename from tools-ng/tinymce/editor/src/plugins/table/test/ts/browser/settings/TableDefaultStylesTest.ts
rename to tools-ng/tinymce/src/plugins/table/test/ts/browser/settings/TableDefaultStylesTest.ts
diff --git a/tools-ng/tinymce/editor/src/plugins/table/test/ts/browser/settings/TableGridFalseTest.ts b/tools-ng/tinymce/src/plugins/table/test/ts/browser/settings/TableGridFalseTest.ts
similarity index 100%
rename from tools-ng/tinymce/editor/src/plugins/table/test/ts/browser/settings/TableGridFalseTest.ts
rename to tools-ng/tinymce/src/plugins/table/test/ts/browser/settings/TableGridFalseTest.ts
diff --git a/tools-ng/tinymce/editor/src/plugins/table/test/ts/browser/settings/TableRowClassListTest.ts b/tools-ng/tinymce/src/plugins/table/test/ts/browser/settings/TableRowClassListTest.ts
similarity index 100%
rename from tools-ng/tinymce/editor/src/plugins/table/test/ts/browser/settings/TableRowClassListTest.ts
rename to tools-ng/tinymce/src/plugins/table/test/ts/browser/settings/TableRowClassListTest.ts
diff --git a/tools-ng/tinymce/editor/src/plugins/table/test/ts/browser/settings/TableTabNavigationDisabledTest.ts b/tools-ng/tinymce/src/plugins/table/test/ts/browser/settings/TableTabNavigationDisabledTest.ts
similarity index 100%
rename from tools-ng/tinymce/editor/src/plugins/table/test/ts/browser/settings/TableTabNavigationDisabledTest.ts
rename to tools-ng/tinymce/src/plugins/table/test/ts/browser/settings/TableTabNavigationDisabledTest.ts
diff --git a/tools-ng/tinymce/editor/src/plugins/table/test/ts/browser/ui/ColorPickerTest.ts b/tools-ng/tinymce/src/plugins/table/test/ts/browser/ui/ColorPickerTest.ts
similarity index 100%
rename from tools-ng/tinymce/editor/src/plugins/table/test/ts/browser/ui/ColorPickerTest.ts
rename to tools-ng/tinymce/src/plugins/table/test/ts/browser/ui/ColorPickerTest.ts
diff --git a/tools-ng/tinymce/editor/src/plugins/table/test/ts/browser/ui/TableCellDialogTest.ts b/tools-ng/tinymce/src/plugins/table/test/ts/browser/ui/TableCellDialogTest.ts
similarity index 100%
rename from tools-ng/tinymce/editor/src/plugins/table/test/ts/browser/ui/TableCellDialogTest.ts
rename to tools-ng/tinymce/src/plugins/table/test/ts/browser/ui/TableCellDialogTest.ts
diff --git a/tools-ng/tinymce/editor/src/plugins/table/test/ts/browser/ui/TableDialogTest.ts b/tools-ng/tinymce/src/plugins/table/test/ts/browser/ui/TableDialogTest.ts
similarity index 100%
rename from tools-ng/tinymce/editor/src/plugins/table/test/ts/browser/ui/TableDialogTest.ts
rename to tools-ng/tinymce/src/plugins/table/test/ts/browser/ui/TableDialogTest.ts
diff --git a/tools-ng/tinymce/editor/src/plugins/table/test/ts/browser/ui/TableRowDialogTest.ts b/tools-ng/tinymce/src/plugins/table/test/ts/browser/ui/TableRowDialogTest.ts
similarity index 100%
rename from tools-ng/tinymce/editor/src/plugins/table/test/ts/browser/ui/TableRowDialogTest.ts
rename to tools-ng/tinymce/src/plugins/table/test/ts/browser/ui/TableRowDialogTest.ts
diff --git a/tools-ng/tinymce/editor/src/plugins/table/test/ts/module/test/TableTestUtils.ts b/tools-ng/tinymce/src/plugins/table/test/ts/module/test/TableTestUtils.ts
similarity index 100%
rename from tools-ng/tinymce/editor/src/plugins/table/test/ts/module/test/TableTestUtils.ts
rename to tools-ng/tinymce/src/plugins/table/test/ts/module/test/TableTestUtils.ts
diff --git a/tools-ng/tinymce/editor/src/plugins/template/demo/html/demo.html b/tools-ng/tinymce/src/plugins/template/demo/html/demo.html
similarity index 100%
rename from tools-ng/tinymce/editor/src/plugins/template/demo/html/demo.html
rename to tools-ng/tinymce/src/plugins/template/demo/html/demo.html
diff --git a/tools-ng/tinymce/editor/src/plugins/template/demo/ts/demo/Demo.ts b/tools-ng/tinymce/src/plugins/template/demo/ts/demo/Demo.ts
similarity index 100%
rename from tools-ng/tinymce/editor/src/plugins/template/demo/ts/demo/Demo.ts
rename to tools-ng/tinymce/src/plugins/template/demo/ts/demo/Demo.ts
diff --git a/tools-ng/tinymce/editor/src/plugins/template/main/ts/Plugin.ts b/tools-ng/tinymce/src/plugins/template/main/ts/Plugin.ts
similarity index 60%
rename from tools-ng/tinymce/editor/src/plugins/template/main/ts/Plugin.ts
rename to tools-ng/tinymce/src/plugins/template/main/ts/Plugin.ts
index 1badd0eb3..96eb048c8 100644
--- a/tools-ng/tinymce/editor/src/plugins/template/main/ts/Plugin.ts
+++ b/tools-ng/tinymce/src/plugins/template/main/ts/Plugin.ts
@@ -1,11 +1,8 @@
/**
- * Plugin.js
- *
- * Released under LGPL License.
- * Copyright (c) 1999-2017 Ephox Corp. All rights reserved
- *
- * License: http://www.tinymce.com/license
- * Contributing: http://www.tinymce.com/contributing
+ * Copyright (c) Tiny Technologies, Inc. All rights reserved.
+ * Licensed under the LGPL or a commercial license.
+ * For LGPL see License.txt in the project root for license information.
+ * For commercial licenses see https://www.tiny.cloud/
*/
import PluginManager from 'tinymce/core/api/PluginManager';
diff --git a/tools-ng/tinymce/editor/src/plugins/template/main/ts/api/Commands.ts b/tools-ng/tinymce/src/plugins/template/main/ts/api/Commands.ts
similarity index 50%
rename from tools-ng/tinymce/editor/src/plugins/template/main/ts/api/Commands.ts
rename to tools-ng/tinymce/src/plugins/template/main/ts/api/Commands.ts
index 809208502..7a69deafe 100644
--- a/tools-ng/tinymce/editor/src/plugins/template/main/ts/api/Commands.ts
+++ b/tools-ng/tinymce/src/plugins/template/main/ts/api/Commands.ts
@@ -1,11 +1,8 @@
/**
- * Commands.js
- *
- * Released under LGPL License.
- * Copyright (c) 1999-2017 Ephox Corp. All rights reserved
- *
- * License: http://www.tinymce.com/license
- * Contributing: http://www.tinymce.com/contributing
+ * Copyright (c) Tiny Technologies, Inc. All rights reserved.
+ * Licensed under the LGPL or a commercial license.
+ * For LGPL see License.txt in the project root for license information.
+ * For commercial licenses see https://www.tiny.cloud/
*/
import { Fun } from '@ephox/katamari';
diff --git a/tools-ng/tinymce/editor/src/plugins/template/main/ts/api/Settings.ts b/tools-ng/tinymce/src/plugins/template/main/ts/api/Settings.ts
similarity index 86%
rename from tools-ng/tinymce/editor/src/plugins/template/main/ts/api/Settings.ts
rename to tools-ng/tinymce/src/plugins/template/main/ts/api/Settings.ts
index 86b6490b8..6e9d11721 100644
--- a/tools-ng/tinymce/editor/src/plugins/template/main/ts/api/Settings.ts
+++ b/tools-ng/tinymce/src/plugins/template/main/ts/api/Settings.ts
@@ -1,11 +1,8 @@
/**
- * Settings.js
- *
- * Released under LGPL License.
- * Copyright (c) 1999-2017 Ephox Corp. All rights reserved
- *
- * License: http://www.tinymce.com/license
- * Contributing: http://www.tinymce.com/contributing
+ * Copyright (c) Tiny Technologies, Inc. All rights reserved.
+ * Licensed under the LGPL or a commercial license.
+ * For LGPL see License.txt in the project root for license information.
+ * For commercial licenses see https://www.tiny.cloud/
*/
import DOMUtils from 'tinymce/core/api/dom/DOMUtils';
diff --git a/tools-ng/tinymce/editor/src/plugins/template/main/ts/core/DateTimeHelper.ts b/tools-ng/tinymce/src/plugins/template/main/ts/core/DateTimeHelper.ts
similarity index 87%
rename from tools-ng/tinymce/editor/src/plugins/template/main/ts/core/DateTimeHelper.ts
rename to tools-ng/tinymce/src/plugins/template/main/ts/core/DateTimeHelper.ts
index 9d1852810..5bf17eb5e 100644
--- a/tools-ng/tinymce/editor/src/plugins/template/main/ts/core/DateTimeHelper.ts
+++ b/tools-ng/tinymce/src/plugins/template/main/ts/core/DateTimeHelper.ts
@@ -1,11 +1,8 @@
/**
- * DateTimeHelper.js
- *
- * Released under LGPL License.
- * Copyright (c) 1999-2017 Ephox Corp. All rights reserved
- *
- * License: http://www.tinymce.com/license
- * Contributing: http://www.tinymce.com/contributing
+ * Copyright (c) Tiny Technologies, Inc. All rights reserved.
+ * Licensed under the LGPL or a commercial license.
+ * For LGPL see License.txt in the project root for license information.
+ * For commercial licenses see https://www.tiny.cloud/
*/
const addZeros = function (value, len) {
diff --git a/tools-ng/tinymce/editor/src/plugins/template/main/ts/core/FilterContent.ts b/tools-ng/tinymce/src/plugins/template/main/ts/core/FilterContent.ts
similarity index 76%
rename from tools-ng/tinymce/editor/src/plugins/template/main/ts/core/FilterContent.ts
rename to tools-ng/tinymce/src/plugins/template/main/ts/core/FilterContent.ts
index ccc77fd18..600da3c60 100644
--- a/tools-ng/tinymce/editor/src/plugins/template/main/ts/core/FilterContent.ts
+++ b/tools-ng/tinymce/src/plugins/template/main/ts/core/FilterContent.ts
@@ -1,11 +1,8 @@
/**
- * FilterContent.js
- *
- * Released under LGPL License.
- * Copyright (c) 1999-2017 Ephox Corp. All rights reserved
- *
- * License: http://www.tinymce.com/license
- * Contributing: http://www.tinymce.com/contributing
+ * Copyright (c) Tiny Technologies, Inc. All rights reserved.
+ * Licensed under the LGPL or a commercial license.
+ * For LGPL see License.txt in the project root for license information.
+ * For commercial licenses see https://www.tiny.cloud/
*/
import Tools from 'tinymce/core/api/util/Tools';
diff --git a/tools-ng/tinymce/editor/src/plugins/template/main/ts/core/Templates.ts b/tools-ng/tinymce/src/plugins/template/main/ts/core/Templates.ts
similarity index 91%
rename from tools-ng/tinymce/editor/src/plugins/template/main/ts/core/Templates.ts
rename to tools-ng/tinymce/src/plugins/template/main/ts/core/Templates.ts
index 5eec8ec89..91b52a823 100644
--- a/tools-ng/tinymce/editor/src/plugins/template/main/ts/core/Templates.ts
+++ b/tools-ng/tinymce/src/plugins/template/main/ts/core/Templates.ts
@@ -1,11 +1,8 @@
/**
- * Templates.js
- *
- * Released under LGPL License.
- * Copyright (c) 1999-2017 Ephox Corp. All rights reserved
- *
- * License: http://www.tinymce.com/license
- * Contributing: http://www.tinymce.com/contributing
+ * Copyright (c) Tiny Technologies, Inc. All rights reserved.
+ * Licensed under the LGPL or a commercial license.
+ * For LGPL see License.txt in the project root for license information.
+ * For commercial licenses see https://www.tiny.cloud/
*/
import Tools from 'tinymce/core/api/util/Tools';
diff --git a/tools-ng/tinymce/editor/src/plugins/template/main/ts/ui/Buttons.ts b/tools-ng/tinymce/src/plugins/template/main/ts/ui/Buttons.ts
similarity index 71%
rename from tools-ng/tinymce/editor/src/plugins/template/main/ts/ui/Buttons.ts
rename to tools-ng/tinymce/src/plugins/template/main/ts/ui/Buttons.ts
index eb73c7cb0..01372e945 100644
--- a/tools-ng/tinymce/editor/src/plugins/template/main/ts/ui/Buttons.ts
+++ b/tools-ng/tinymce/src/plugins/template/main/ts/ui/Buttons.ts
@@ -1,11 +1,8 @@
/**
- * Buttons.js
- *
- * Released under LGPL License.
- * Copyright (c) 1999-2017 Ephox Corp. All rights reserved
- *
- * License: http://www.tinymce.com/license
- * Contributing: http://www.tinymce.com/contributing
+ * Copyright (c) Tiny Technologies, Inc. All rights reserved.
+ * Licensed under the LGPL or a commercial license.
+ * For LGPL see License.txt in the project root for license information.
+ * For commercial licenses see https://www.tiny.cloud/
*/
import Templates from '../core/Templates';
diff --git a/tools-ng/tinymce/editor/src/plugins/template/main/ts/ui/Dialog.ts b/tools-ng/tinymce/src/plugins/template/main/ts/ui/Dialog.ts
similarity index 93%
rename from tools-ng/tinymce/editor/src/plugins/template/main/ts/ui/Dialog.ts
rename to tools-ng/tinymce/src/plugins/template/main/ts/ui/Dialog.ts
index c8505b03d..9ee2ecf4b 100644
--- a/tools-ng/tinymce/editor/src/plugins/template/main/ts/ui/Dialog.ts
+++ b/tools-ng/tinymce/src/plugins/template/main/ts/ui/Dialog.ts
@@ -1,11 +1,8 @@
/**
- * Dialog.js
- *
- * Released under LGPL License.
- * Copyright (c) 1999-2017 Ephox Corp. All rights reserved
- *
- * License: http://www.tinymce.com/license
- * Contributing: http://www.tinymce.com/contributing
+ * Copyright (c) Tiny Technologies, Inc. All rights reserved.
+ * Licensed under the LGPL or a commercial license.
+ * For LGPL see License.txt in the project root for license information.
+ * For commercial licenses see https://www.tiny.cloud/
*/
import Tools from 'tinymce/core/api/util/Tools';
diff --git a/tools-ng/tinymce/editor/src/plugins/template/test/html/test_template.html b/tools-ng/tinymce/src/plugins/template/test/html/test_template.html
similarity index 100%
rename from tools-ng/tinymce/editor/src/plugins/template/test/html/test_template.html
rename to tools-ng/tinymce/src/plugins/template/test/html/test_template.html
diff --git a/tools-ng/tinymce/editor/src/plugins/template/test/ts/browser/DatesTest.ts b/tools-ng/tinymce/src/plugins/template/test/ts/browser/DatesTest.ts
similarity index 100%
rename from tools-ng/tinymce/editor/src/plugins/template/test/ts/browser/DatesTest.ts
rename to tools-ng/tinymce/src/plugins/template/test/ts/browser/DatesTest.ts
diff --git a/tools-ng/tinymce/editor/src/plugins/template/test/ts/browser/SelectedContentTest.ts b/tools-ng/tinymce/src/plugins/template/test/ts/browser/SelectedContentTest.ts
similarity index 100%
rename from tools-ng/tinymce/editor/src/plugins/template/test/ts/browser/SelectedContentTest.ts
rename to tools-ng/tinymce/src/plugins/template/test/ts/browser/SelectedContentTest.ts
diff --git a/tools-ng/tinymce/editor/src/plugins/template/test/ts/browser/TemplateSanityTest.ts b/tools-ng/tinymce/src/plugins/template/test/ts/browser/TemplateSanityTest.ts
similarity index 100%
rename from tools-ng/tinymce/editor/src/plugins/template/test/ts/browser/TemplateSanityTest.ts
rename to tools-ng/tinymce/src/plugins/template/test/ts/browser/TemplateSanityTest.ts
diff --git a/tools-ng/tinymce/editor/src/plugins/textcolor/demo/html/demo.html b/tools-ng/tinymce/src/plugins/textcolor/demo/html/demo.html
similarity index 100%
rename from tools-ng/tinymce/editor/src/plugins/textcolor/demo/html/demo.html
rename to tools-ng/tinymce/src/plugins/textcolor/demo/html/demo.html
diff --git a/tools-ng/tinymce/editor/src/plugins/textcolor/demo/ts/demo/Demo.ts b/tools-ng/tinymce/src/plugins/textcolor/demo/ts/demo/Demo.ts
similarity index 100%
rename from tools-ng/tinymce/editor/src/plugins/textcolor/demo/ts/demo/Demo.ts
rename to tools-ng/tinymce/src/plugins/textcolor/demo/ts/demo/Demo.ts
diff --git a/tools-ng/tinymce/editor/src/plugins/textcolor/main/ts/Plugin.ts b/tools-ng/tinymce/src/plugins/textcolor/main/ts/Plugin.ts
similarity index 54%
rename from tools-ng/tinymce/editor/src/plugins/textcolor/main/ts/Plugin.ts
rename to tools-ng/tinymce/src/plugins/textcolor/main/ts/Plugin.ts
index 29a11bdfa..1c0a9bf4f 100644
--- a/tools-ng/tinymce/editor/src/plugins/textcolor/main/ts/Plugin.ts
+++ b/tools-ng/tinymce/src/plugins/textcolor/main/ts/Plugin.ts
@@ -1,11 +1,8 @@
/**
- * Plugin.js
- *
- * Released under LGPL License.
- * Copyright (c) 1999-2017 Ephox Corp. All rights reserved
- *
- * License: http://www.tinymce.com/license
- * Contributing: http://www.tinymce.com/contributing
+ * Copyright (c) Tiny Technologies, Inc. All rights reserved.
+ * Licensed under the LGPL or a commercial license.
+ * For LGPL see License.txt in the project root for license information.
+ * For commercial licenses see https://www.tiny.cloud/
*/
import PluginManager from 'tinymce/core/api/PluginManager';
diff --git a/tools-ng/tinymce/editor/src/plugins/textcolor/main/ts/api/Commands.ts b/tools-ng/tinymce/src/plugins/textcolor/main/ts/api/Commands.ts
similarity index 58%
rename from tools-ng/tinymce/editor/src/plugins/textcolor/main/ts/api/Commands.ts
rename to tools-ng/tinymce/src/plugins/textcolor/main/ts/api/Commands.ts
index c36a7d178..ce7e30f0f 100644
--- a/tools-ng/tinymce/editor/src/plugins/textcolor/main/ts/api/Commands.ts
+++ b/tools-ng/tinymce/src/plugins/textcolor/main/ts/api/Commands.ts
@@ -1,3 +1,10 @@
+/**
+ * Copyright (c) Tiny Technologies, Inc. All rights reserved.
+ * Licensed under the LGPL or a commercial license.
+ * For LGPL see License.txt in the project root for license information.
+ * For commercial licenses see https://www.tiny.cloud/
+ */
+
import TextColor from '../core/TextColor';
const register = function (editor) {
diff --git a/tools-ng/tinymce/editor/src/plugins/textcolor/main/ts/api/Settings.ts b/tools-ng/tinymce/src/plugins/textcolor/main/ts/api/Settings.ts
similarity index 90%
rename from tools-ng/tinymce/editor/src/plugins/textcolor/main/ts/api/Settings.ts
rename to tools-ng/tinymce/src/plugins/textcolor/main/ts/api/Settings.ts
index ea3f7beba..a3735431a 100644
--- a/tools-ng/tinymce/editor/src/plugins/textcolor/main/ts/api/Settings.ts
+++ b/tools-ng/tinymce/src/plugins/textcolor/main/ts/api/Settings.ts
@@ -1,11 +1,8 @@
/**
- * Settings.js
- *
- * Released under LGPL License.
- * Copyright (c) 1999-2017 Ephox Corp. All rights reserved
- *
- * License: http://www.tinymce.com/license
- * Contributing: http://www.tinymce.com/contributing
+ * Copyright (c) Tiny Technologies, Inc. All rights reserved.
+ * Licensed under the LGPL or a commercial license.
+ * For LGPL see License.txt in the project root for license information.
+ * For commercial licenses see https://www.tiny.cloud/
*/
const defaultColorMap = [
diff --git a/tools-ng/tinymce/editor/src/plugins/textcolor/main/ts/core/TextColor.ts b/tools-ng/tinymce/src/plugins/textcolor/main/ts/core/TextColor.ts
similarity index 81%
rename from tools-ng/tinymce/editor/src/plugins/textcolor/main/ts/core/TextColor.ts
rename to tools-ng/tinymce/src/plugins/textcolor/main/ts/core/TextColor.ts
index 0c822bfc8..623ceb99a 100644
--- a/tools-ng/tinymce/editor/src/plugins/textcolor/main/ts/core/TextColor.ts
+++ b/tools-ng/tinymce/src/plugins/textcolor/main/ts/core/TextColor.ts
@@ -1,11 +1,8 @@
/**
- * TextColor.js
- *
- * Released under LGPL License.
- * Copyright (c) 1999-2017 Ephox Corp. All rights reserved
- *
- * License: http://www.tinymce.com/license
- * Contributing: http://www.tinymce.com/contributing
+ * Copyright (c) Tiny Technologies, Inc. All rights reserved.
+ * Licensed under the LGPL or a commercial license.
+ * For LGPL see License.txt in the project root for license information.
+ * For commercial licenses see https://www.tiny.cloud/
*/
const getCurrentColor = function (editor, format) {
diff --git a/tools-ng/tinymce/editor/src/plugins/textcolor/main/ts/ui/Buttons.ts b/tools-ng/tinymce/src/plugins/textcolor/main/ts/ui/Buttons.ts
similarity index 94%
rename from tools-ng/tinymce/editor/src/plugins/textcolor/main/ts/ui/Buttons.ts
rename to tools-ng/tinymce/src/plugins/textcolor/main/ts/ui/Buttons.ts
index 202e8e212..909dbcab2 100644
--- a/tools-ng/tinymce/editor/src/plugins/textcolor/main/ts/ui/Buttons.ts
+++ b/tools-ng/tinymce/src/plugins/textcolor/main/ts/ui/Buttons.ts
@@ -1,11 +1,8 @@
/**
- * Buttons.js
- *
- * Released under LGPL License.
- * Copyright (c) 1999-2017 Ephox Corp. All rights reserved
- *
- * License: http://www.tinymce.com/license
- * Contributing: http://www.tinymce.com/contributing
+ * Copyright (c) Tiny Technologies, Inc. All rights reserved.
+ * Licensed under the LGPL or a commercial license.
+ * For LGPL see License.txt in the project root for license information.
+ * For commercial licenses see https://www.tiny.cloud/
*/
import DOMUtils from 'tinymce/core/api/dom/DOMUtils';
diff --git a/tools-ng/tinymce/editor/src/plugins/textcolor/main/ts/ui/ColorPickerHtml.ts b/tools-ng/tinymce/src/plugins/textcolor/main/ts/ui/ColorPickerHtml.ts
similarity index 89%
rename from tools-ng/tinymce/editor/src/plugins/textcolor/main/ts/ui/ColorPickerHtml.ts
rename to tools-ng/tinymce/src/plugins/textcolor/main/ts/ui/ColorPickerHtml.ts
index 347c35a27..43a3ed461 100644
--- a/tools-ng/tinymce/editor/src/plugins/textcolor/main/ts/ui/ColorPickerHtml.ts
+++ b/tools-ng/tinymce/src/plugins/textcolor/main/ts/ui/ColorPickerHtml.ts
@@ -1,11 +1,8 @@
/**
- * ColorPickerHtml.js
- *
- * Released under LGPL License.
- * Copyright (c) 1999-2017 Ephox Corp. All rights reserved
- *
- * License: http://www.tinymce.com/license
- * Contributing: http://www.tinymce.com/contributing
+ * Copyright (c) Tiny Technologies, Inc. All rights reserved.
+ * Licensed under the LGPL or a commercial license.
+ * For LGPL see License.txt in the project root for license information.
+ * For commercial licenses see https://www.tiny.cloud/
*/
import DOMUtils from 'tinymce/core/api/dom/DOMUtils';
diff --git a/tools-ng/tinymce/editor/src/plugins/textcolor/test/ts/browser/GetCurrentColorTest.ts b/tools-ng/tinymce/src/plugins/textcolor/test/ts/browser/GetCurrentColorTest.ts
similarity index 100%
rename from tools-ng/tinymce/editor/src/plugins/textcolor/test/ts/browser/GetCurrentColorTest.ts
rename to tools-ng/tinymce/src/plugins/textcolor/test/ts/browser/GetCurrentColorTest.ts
diff --git a/tools-ng/tinymce/editor/src/plugins/textcolor/test/ts/browser/TextcolorCommandsTest.ts b/tools-ng/tinymce/src/plugins/textcolor/test/ts/browser/TextcolorCommandsTest.ts
similarity index 100%
rename from tools-ng/tinymce/editor/src/plugins/textcolor/test/ts/browser/TextcolorCommandsTest.ts
rename to tools-ng/tinymce/src/plugins/textcolor/test/ts/browser/TextcolorCommandsTest.ts
diff --git a/tools-ng/tinymce/editor/src/plugins/textcolor/test/ts/browser/TextcolorSanityTest.ts b/tools-ng/tinymce/src/plugins/textcolor/test/ts/browser/TextcolorSanityTest.ts
similarity index 100%
rename from tools-ng/tinymce/editor/src/plugins/textcolor/test/ts/browser/TextcolorSanityTest.ts
rename to tools-ng/tinymce/src/plugins/textcolor/test/ts/browser/TextcolorSanityTest.ts
diff --git a/tools-ng/tinymce/editor/src/plugins/textpattern/demo/html/demo.html b/tools-ng/tinymce/src/plugins/textpattern/demo/html/demo.html
similarity index 100%
rename from tools-ng/tinymce/editor/src/plugins/textpattern/demo/html/demo.html
rename to tools-ng/tinymce/src/plugins/textpattern/demo/html/demo.html
diff --git a/tools-ng/tinymce/editor/src/plugins/textpattern/demo/ts/demo/Demo.ts b/tools-ng/tinymce/src/plugins/textpattern/demo/ts/demo/Demo.ts
similarity index 100%
rename from tools-ng/tinymce/editor/src/plugins/textpattern/demo/ts/demo/Demo.ts
rename to tools-ng/tinymce/src/plugins/textpattern/demo/ts/demo/Demo.ts
diff --git a/tools-ng/tinymce/src/plugins/textpattern/main/ts/Plugin.ts b/tools-ng/tinymce/src/plugins/textpattern/main/ts/Plugin.ts
new file mode 100644
index 000000000..b32b3b2fd
--- /dev/null
+++ b/tools-ng/tinymce/src/plugins/textpattern/main/ts/Plugin.ts
@@ -0,0 +1,22 @@
+/**
+ * Copyright (c) Tiny Technologies, Inc. All rights reserved.
+ * Licensed under the LGPL or a commercial license.
+ * For LGPL see License.txt in the project root for license information.
+ * For commercial licenses see https://www.tiny.cloud/
+ */
+
+import { Cell } from '@ephox/katamari';
+import PluginManager from 'tinymce/core/api/PluginManager';
+import Api from './api/Api';
+import * as Settings from './api/Settings';
+import Keyboard from './core/Keyboard';
+
+PluginManager.add('textpattern', (editor) => {
+ const patternsState = Cell(Settings.getPatternSet(editor.settings));
+
+ Keyboard.setup(editor, patternsState);
+
+ return Api.get(patternsState);
+});
+
+export default function () { }
\ No newline at end of file
diff --git a/tools-ng/tinymce/src/plugins/textpattern/main/ts/api/Api.ts b/tools-ng/tinymce/src/plugins/textpattern/main/ts/api/Api.ts
new file mode 100644
index 000000000..1f9bb50ac
--- /dev/null
+++ b/tools-ng/tinymce/src/plugins/textpattern/main/ts/api/Api.ts
@@ -0,0 +1,32 @@
+/**
+ * Copyright (c) Tiny Technologies, Inc. All rights reserved.
+ * Licensed under the LGPL or a commercial license.
+ * For LGPL see License.txt in the project root for license information.
+ * For commercial licenses see https://www.tiny.cloud/
+ */
+
+import { Cell } from '@ephox/katamari';
+import { PatternSet, createPatternSet, Pattern } from './Pattern';
+
+const get = (patternsState: Cell) => {
+ const setPatterns = (newPatterns: Pattern[]) => {
+ patternsState.set(createPatternSet(newPatterns));
+ };
+
+ const getPatterns = () => {
+ return [
+ ...patternsState.get().inlinePatterns,
+ ...patternsState.get().blockPatterns,
+ ...patternsState.get().replacementPatterns
+ ];
+ };
+
+ return {
+ setPatterns,
+ getPatterns
+ };
+};
+
+export default {
+ get
+};
\ No newline at end of file
diff --git a/tools-ng/tinymce/src/plugins/textpattern/main/ts/api/Pattern.ts b/tools-ng/tinymce/src/plugins/textpattern/main/ts/api/Pattern.ts
new file mode 100644
index 000000000..848111e2d
--- /dev/null
+++ b/tools-ng/tinymce/src/plugins/textpattern/main/ts/api/Pattern.ts
@@ -0,0 +1,66 @@
+/**
+ * Copyright (c) Tiny Technologies, Inc. All rights reserved.
+ * Licensed under the LGPL or a commercial license.
+ * For LGPL see License.txt in the project root for license information.
+ * For commercial licenses see https://www.tiny.cloud/
+ */
+
+import { Arr, Obj } from '@ephox/katamari';
+
+export interface InlinePattern {
+ start: string;
+ end: string;
+ format: string | string[];
+}
+
+export interface BlockPattern {
+ start: string;
+ format?: string | string[];
+ cmd?: string;
+}
+
+export interface ReplacementPattern {
+ start: string;
+ replacement: string;
+}
+
+export type Pattern = InlinePattern | BlockPattern | ReplacementPattern;
+
+export interface PatternSet {
+ inlinePatterns: InlinePattern[];
+ blockPatterns: BlockPattern[];
+ replacementPatterns: ReplacementPattern[];
+}
+
+const isInlinePattern = (pattern: any): pattern is InlinePattern => {
+ return Obj.has(pattern, 'start') && Obj.has(pattern, 'end');
+};
+
+const isBlockPattern = (pattern: any): pattern is BlockPattern => {
+ return !Obj.has(pattern, 'end') && !Obj.has(pattern, 'replacement');
+};
+
+const isReplacementPattern = (pattern: any): pattern is ReplacementPattern => {
+ return Obj.has(pattern, 'replacement');
+};
+
+const sortPatterns = (patterns: T[]): T[] => {
+ return Arr.sort(patterns, (a, b) => {
+ if (a.start.length === b.start.length) {
+ return 0;
+ }
+ return a.start.length > b.start.length ? -1 : 1;
+ });
+};
+
+const createPatternSet = (patterns: Pattern[]): PatternSet => {
+ return {
+ inlinePatterns: sortPatterns(Arr.filter(patterns, isInlinePattern)),
+ blockPatterns: sortPatterns(Arr.filter(patterns, isBlockPattern)),
+ replacementPatterns: Arr.filter(patterns, isReplacementPattern),
+ };
+};
+
+export {
+ createPatternSet
+};
\ No newline at end of file
diff --git a/tools-ng/tinymce/src/plugins/textpattern/main/ts/api/Settings.ts b/tools-ng/tinymce/src/plugins/textpattern/main/ts/api/Settings.ts
new file mode 100644
index 000000000..58fd30299
--- /dev/null
+++ b/tools-ng/tinymce/src/plugins/textpattern/main/ts/api/Settings.ts
@@ -0,0 +1,33 @@
+/**
+ * Copyright (c) Tiny Technologies, Inc. All rights reserved.
+ * Licensed under the LGPL or a commercial license.
+ * For LGPL see License.txt in the project root for license information.
+ * For commercial licenses see https://www.tiny.cloud/
+ */
+
+import { createPatternSet, PatternSet } from './Pattern';
+import { Obj } from '@ephox/katamari';
+
+const defaultPatterns = [
+ { start: '*', end: '*', format: 'italic' },
+ { start: '**', end: '**', format: 'bold' },
+ { start: '***', end: '***', format: ['bold', 'italic'] },
+ { start: '#', format: 'h1' },
+ { start: '##', format: 'h2' },
+ { start: '###', format: 'h3' },
+ { start: '####', format: 'h4' },
+ { start: '#####', format: 'h5' },
+ { start: '######', format: 'h6' },
+ { start: '1. ', cmd: 'InsertOrderedList' },
+ { start: '* ', cmd: 'InsertUnorderedList' },
+ { start: '- ', cmd: 'InsertUnorderedList' }
+];
+
+const getPatternSet = (editorSettings): PatternSet => {
+ const patterns = Obj.get(editorSettings, 'textpattern_patterns').getOr(defaultPatterns);
+ return createPatternSet(patterns);
+};
+
+export {
+ getPatternSet,
+};
\ No newline at end of file
diff --git a/tools-ng/tinymce/src/plugins/textpattern/main/ts/core/FindPatterns.ts b/tools-ng/tinymce/src/plugins/textpattern/main/ts/core/FindPatterns.ts
new file mode 100644
index 000000000..cfdb41d73
--- /dev/null
+++ b/tools-ng/tinymce/src/plugins/textpattern/main/ts/core/FindPatterns.ts
@@ -0,0 +1,121 @@
+/**
+ * Copyright (c) Tiny Technologies, Inc. All rights reserved.
+ * Licensed under the LGPL or a commercial license.
+ * For LGPL see License.txt in the project root for license information.
+ * For commercial licenses see https://www.tiny.cloud/
+ */
+
+import { InlinePattern, Pattern, ReplacementPattern } from '../api/Pattern';
+import { document, Range, Text } from '@ephox/dom-globals';
+import { Option } from '@ephox/katamari';
+
+// Finds a matching pattern to the specified text
+const findPattern = (patterns: Pattern[], text: string): Pattern => {
+ for (let i = 0; i < patterns.length; i++) {
+ const pattern: any = patterns[i];
+ if (text.indexOf(pattern.start) !== 0) {
+ continue;
+ }
+
+ if (pattern.end && text.lastIndexOf(pattern.end) !== (text.length - pattern.end.length)) {
+ continue;
+ }
+
+ return pattern;
+ }
+};
+
+const isMatchingPattern = (pattern: InlinePattern, text: string, offset: number, delta: number): boolean => {
+ const textEnd = text.substr(offset - pattern.end.length - delta, pattern.end.length);
+ return textEnd === pattern.end;
+};
+
+const hasContent = (offset: number, delta: number, pattern: InlinePattern) => {
+ return (offset - delta - pattern.end.length - pattern.start.length) > 0;
+};
+
+// Finds the best matching end pattern
+const findEndPattern = (patterns, text, offset, delta) => {
+ let pattern, i;
+
+ // Find best matching end
+ for (i = 0; i < patterns.length; i++) {
+ pattern = patterns[i];
+ if (pattern.end !== undefined && isMatchingPattern(pattern, text, offset, delta) && hasContent(offset, delta, pattern)) {
+ return pattern;
+ }
+ }
+};
+
+const findInlinePattern = (patterns: InlinePattern[], rng: Range, space: boolean) => {
+ if (rng.collapsed === false) {
+ return;
+ }
+
+ const container = rng.startContainer as Text;
+ const text = container.data;
+ const delta = space === true ? 1 : 0;
+
+ if (container.nodeType !== 3) {
+ return;
+ }
+
+ // Find best matching end
+ const endPattern = findEndPattern(patterns, text, rng.startOffset, delta);
+ if (endPattern === undefined) {
+ return;
+ }
+
+ // Find start of matched pattern
+ let endOffset = text.lastIndexOf(endPattern.end, rng.startOffset - delta);
+ const startOffset = text.lastIndexOf(endPattern.start, endOffset - endPattern.end.length);
+ endOffset = text.indexOf(endPattern.end, startOffset + endPattern.start.length);
+
+ if (startOffset === -1) {
+ return;
+ }
+
+ // Setup a range for the matching word
+ const patternRng = document.createRange();
+ patternRng.setStart(container, startOffset);
+ patternRng.setEnd(container, endOffset + endPattern.end.length);
+
+ const startPattern = findPattern(patterns, patternRng.toString());
+
+ if (endPattern === undefined || startPattern !== endPattern || (container.data.length <= endPattern.start.length + endPattern.end.length)) {
+ return;
+ }
+
+ return {
+ pattern: endPattern,
+ startOffset,
+ endOffset
+ };
+};
+
+interface PatternMatch {
+ pattern: T;
+ startOffset: number;
+}
+
+export type ReplacementMatch = PatternMatch;
+
+const findReplacementPattern = (patterns: ReplacementPattern[], startSearch: number, text: string): Option => {
+ for (let i = 0; i < patterns.length; i++) {
+ const index = text.lastIndexOf(patterns[i].start, startSearch);
+ if (index !== -1) {
+ return Option.some({
+ pattern: patterns[i],
+ startOffset: index
+ });
+ }
+ }
+ return Option.none();
+};
+
+export {
+ findPattern,
+ findEndPattern,
+ findInlinePattern,
+ findReplacementPattern
+};
\ No newline at end of file
diff --git a/tools-ng/tinymce/src/plugins/textpattern/main/ts/core/KeyHandler.ts b/tools-ng/tinymce/src/plugins/textpattern/main/ts/core/KeyHandler.ts
new file mode 100644
index 000000000..bc5c961da
--- /dev/null
+++ b/tools-ng/tinymce/src/plugins/textpattern/main/ts/core/KeyHandler.ts
@@ -0,0 +1,49 @@
+/**
+ * Copyright (c) Tiny Technologies, Inc. All rights reserved.
+ * Licensed under the LGPL or a commercial license.
+ * For LGPL see License.txt in the project root for license information.
+ * For commercial licenses see https://www.tiny.cloud/
+ */
+
+import { Editor } from 'tinymce/core/api/Editor';
+import VK from 'tinymce/core/api/util/VK';
+import { PatternSet } from '../api/Pattern';
+import { applyBlockPattern, applyInlinePatternEnter, applyInlinePatternSpace, applyReplacementPatternEnter, applyReplacementPatternSpace } from './PatternApplication';
+
+const handleEnter = (editor: Editor, patternSet: PatternSet): void => {
+ applyReplacementPatternEnter(editor, patternSet.replacementPatterns);
+ applyInlinePatternEnter(editor, patternSet.inlinePatterns);
+ applyBlockPattern(editor, patternSet.blockPatterns);
+};
+
+const handleInlineKey = (editor: Editor, patternSet: PatternSet): void => {
+ applyReplacementPatternSpace(editor, patternSet.replacementPatterns);
+ applyInlinePatternSpace(editor, patternSet.inlinePatterns);
+};
+
+const checkKeyEvent = (codes, event, predicate) => {
+ for (let i = 0; i < codes.length; i++) {
+ if (predicate(codes[i], event)) {
+ return true;
+ }
+ }
+};
+
+const checkKeyCode = (codes, event) => {
+ return checkKeyEvent(codes, event, function (code, event) {
+ return code === event.keyCode && VK.modifierPressed(event) === false;
+ });
+};
+
+const checkCharCode = (chars, event) => {
+ return checkKeyEvent(chars, event, function (chr, event) {
+ return chr.charCodeAt(0) === event.charCode;
+ });
+};
+
+export default {
+ handleEnter,
+ handleInlineKey,
+ checkCharCode,
+ checkKeyCode
+};
\ No newline at end of file
diff --git a/tools-ng/tinymce/editor/src/plugins/textpattern/main/ts/core/Keyboard.ts b/tools-ng/tinymce/src/plugins/textpattern/main/ts/core/Keyboard.ts
similarity index 67%
rename from tools-ng/tinymce/editor/src/plugins/textpattern/main/ts/core/Keyboard.ts
rename to tools-ng/tinymce/src/plugins/textpattern/main/ts/core/Keyboard.ts
index b933eb712..c28f06a2a 100644
--- a/tools-ng/tinymce/editor/src/plugins/textpattern/main/ts/core/Keyboard.ts
+++ b/tools-ng/tinymce/src/plugins/textpattern/main/ts/core/Keyboard.ts
@@ -1,18 +1,17 @@
/**
- * Keyboard.js
- *
- * Released under LGPL License.
- * Copyright (c) 1999-2017 Ephox Corp. All rights reserved
- *
- * License: http://www.tinymce.com/license
- * Contributing: http://www.tinymce.com/contributing
+ * Copyright (c) Tiny Technologies, Inc. All rights reserved.
+ * Licensed under the LGPL or a commercial license.
+ * For LGPL see License.txt in the project root for license information.
+ * For commercial licenses see https://www.tiny.cloud/
*/
import Delay from 'tinymce/core/api/util/Delay';
import VK from 'tinymce/core/api/util/VK';
import KeyHandler from './KeyHandler';
+import { PatternSet } from '../api/Pattern';
+import { Cell } from '@ephox/katamari';
-const setup = function (editor, patternsState) {
+const setup = function (editor, patternsState: Cell) {
const charCodes = [',', '.', ';', ':', '!', '?'];
const keyCodes = [32];
diff --git a/tools-ng/tinymce/src/plugins/textpattern/main/ts/core/PatternApplication.ts b/tools-ng/tinymce/src/plugins/textpattern/main/ts/core/PatternApplication.ts
new file mode 100644
index 000000000..ea6f8f0de
--- /dev/null
+++ b/tools-ng/tinymce/src/plugins/textpattern/main/ts/core/PatternApplication.ts
@@ -0,0 +1,212 @@
+/**
+ * Copyright (c) Tiny Technologies, Inc. All rights reserved.
+ * Licensed under the LGPL or a commercial license.
+ * For LGPL see License.txt in the project root for license information.
+ * For commercial licenses see https://www.tiny.cloud/
+ */
+
+import TreeWalker from 'tinymce/core/api/dom/TreeWalker';
+import Tools from 'tinymce/core/api/util/Tools';
+import { Text, Node } from '@ephox/dom-globals';
+import { Option } from '@ephox/katamari';
+import { InlinePattern, BlockPattern, ReplacementPattern } from '../api/Pattern';
+import { Editor } from 'tinymce/core/api/Editor';
+import { findInlinePattern, findPattern, findReplacementPattern, ReplacementMatch } from './FindPatterns';
+
+const isText = (node: Node): node is Text => {
+ return node && node.nodeType === 3;
+};
+
+const setSelection = (editor: Editor, textNode: Text, offset: number): void => {
+ const newRng = editor.dom.createRng();
+ newRng.setStart(textNode, offset);
+ newRng.setEnd(textNode, offset);
+ editor.selection.setRng(newRng);
+};
+
+const splitContainer = (container, pattern, endOffset, startOffset) => {
+ // Split text node and remove start/end from text node
+ container = startOffset > 0 ? container.splitText(startOffset) : container;
+ container.splitText(endOffset - startOffset + pattern.end.length);
+ container.deleteData(0, pattern.start.length);
+ container.deleteData(container.data.length - pattern.end.length, pattern.end.length);
+
+ return container;
+};
+
+const splitAndApply = (editor: Editor, container, found, inline) => {
+ const formatArray = Tools.isArray(found.pattern.format) ? found.pattern.format : [found.pattern.format];
+ const validFormats = Tools.grep(formatArray, (formatName) => {
+ const format = editor.formatter.get(formatName);
+ return format && format[0].inline;
+ });
+
+ if (validFormats.length !== 0) {
+ editor.undoManager.transact(() => {
+ container = splitContainer(container, found.pattern, found.endOffset, found.startOffset);
+ // The splitContainer function above moves the selection range in Safari
+ // so we have to set it back to the next sibling, the nbsp behind the
+ // split text node, when applying inline formats.
+ if (inline) {
+ editor.selection.setCursorLocation(container.nextSibling, 1);
+ }
+ formatArray.forEach((format) => {
+ editor.formatter.apply(format, {}, container);
+ });
+ });
+
+ return container;
+ }
+};
+
+// Handles inline formats like *abc* and **abc**
+const applyInlinePattern = (editor: Editor, patterns: InlinePattern[], inline: boolean): Option => {
+ const rng = editor.selection.getRng();
+ return Option.from(findInlinePattern(patterns, rng, inline)).map((foundPattern) => {
+ return splitAndApply(editor, rng.startContainer, foundPattern, inline);
+ });
+};
+
+const applyInlinePatternSpace = (editor: Editor, patterns: InlinePattern[]): void => {
+ applyInlinePattern(editor, patterns, true).each((wrappedTextNode) => {
+ // Move space after the newly formatted node
+ const lastChar = wrappedTextNode.data.slice(-1);
+ if (/[\u00a0 ]/.test(lastChar)) {
+ wrappedTextNode.deleteData(wrappedTextNode.data.length - 1, 1);
+ const lastCharNode = editor.dom.doc.createTextNode(lastChar);
+ editor.dom.insertAfter(lastCharNode, wrappedTextNode.parentNode);
+ setSelection(editor, lastCharNode, 1);
+ }
+ });
+};
+
+const applyInlinePatternEnter = (editor: Editor, patterns: InlinePattern[]): void => {
+ applyInlinePattern(editor, patterns, false).each((wrappedTextNode) => {
+ setSelection(editor, wrappedTextNode, wrappedTextNode.data.length);
+ });
+};
+
+// Handles block formats like ##abc or 1. abc
+const applyBlockPattern = (editor: Editor, patterns: BlockPattern[]): void => {
+ let selection, dom, container, firstTextNode, node, format, textBlockElm, pattern, walker, rng, offset;
+
+ selection = editor.selection;
+ dom = editor.dom;
+
+ if (!selection.isCollapsed()) {
+ return;
+ }
+
+ textBlockElm = dom.getParent(selection.getStart(), 'p');
+ if (textBlockElm) {
+ walker = new TreeWalker(textBlockElm, textBlockElm);
+ while ((node = walker.next())) {
+ if (isText(node)) {
+ firstTextNode = node;
+ break;
+ }
+ }
+
+ if (firstTextNode) {
+ pattern = findPattern(patterns, firstTextNode.data);
+ if (!pattern) {
+ return;
+ }
+
+ rng = selection.getRng(true);
+ container = rng.startContainer;
+ offset = rng.startOffset;
+
+ if (firstTextNode === container) {
+ offset = Math.max(0, offset - pattern.start.length);
+ }
+
+ if (Tools.trim(firstTextNode.data).length === pattern.start.length) {
+ return;
+ }
+
+ if (pattern.format) {
+ format = editor.formatter.get(pattern.format);
+ if (format && format[0].block) {
+ firstTextNode.deleteData(0, pattern.start.length);
+ editor.formatter.apply(pattern.format, {}, firstTextNode);
+
+ rng.setStart(container, offset);
+ rng.collapse(true);
+ selection.setRng(rng);
+ }
+ }
+
+ if (pattern.cmd) {
+ editor.undoManager.transact(function () {
+ firstTextNode.deleteData(0, pattern.start.length);
+ editor.execCommand(pattern.cmd);
+ });
+ }
+ }
+ }
+};
+
+const selectionInsertText = (editor: Editor, string: string) => {
+ const rng = editor.selection.getRng();
+ const container = rng.startContainer;
+
+ if (isText(container)) {
+ const offset = rng.startOffset;
+ container.insertData(offset, string);
+ setSelection(editor, container, offset + string.length);
+ } else {
+ const newNode = editor.dom.doc.createTextNode(string);
+ rng.insertNode(newNode);
+ setSelection(editor, newNode, newNode.length);
+ }
+};
+
+const applyReplacement = (editor: Editor, target: Text, match: ReplacementMatch) => {
+ target.deleteData(match.startOffset, match.pattern.start.length);
+ editor.insertContent(match.pattern.replacement);
+
+ Option.from(target.nextSibling).filter(isText).each((nextSibling: Text) => {
+ nextSibling.insertData(0, target.data);
+ editor.dom.remove(target);
+ });
+};
+
+const extractChar = (node: Text, match: ReplacementMatch): string => {
+ const offset = match.startOffset + match.pattern.start.length;
+ const char = node.data.slice(offset, offset + 1);
+ node.deleteData(offset, 1);
+ return char;
+};
+
+const applyReplacementPattern = (editor: Editor, patterns: ReplacementPattern[], inline: boolean) => {
+ const rng = editor.selection.getRng();
+ const container = rng.startContainer;
+
+ if (rng.collapsed && isText(container)) {
+ findReplacementPattern(patterns, rng.startOffset, container.data).each((match) => {
+ const char = inline ? Option.some(extractChar(container, match)) : Option.none();
+
+ applyReplacement(editor, container, match);
+
+ char.each((ch) => selectionInsertText(editor, ch));
+ });
+ }
+};
+
+const applyReplacementPatternSpace = (editor: Editor, patterns: ReplacementPattern[]) => {
+ applyReplacementPattern(editor, patterns, true);
+};
+
+const applyReplacementPatternEnter = (editor: Editor, patterns: ReplacementPattern[]) => {
+ applyReplacementPattern(editor, patterns, false);
+};
+
+export {
+ applyReplacementPattern,
+ applyReplacementPatternSpace,
+ applyReplacementPatternEnter,
+ applyInlinePatternSpace,
+ applyInlinePatternEnter,
+ applyBlockPattern
+};
\ No newline at end of file
diff --git a/tools-ng/tinymce/editor/src/plugins/textpattern/test/ts/atomic/FindPatternsTest.ts b/tools-ng/tinymce/src/plugins/textpattern/test/ts/atomic/FindPatternsTest.ts
similarity index 71%
rename from tools-ng/tinymce/editor/src/plugins/textpattern/test/ts/atomic/FindPatternsTest.ts
rename to tools-ng/tinymce/src/plugins/textpattern/test/ts/atomic/FindPatternsTest.ts
index a527235b2..00191f30b 100644
--- a/tools-ng/tinymce/editor/src/plugins/textpattern/test/ts/atomic/FindPatternsTest.ts
+++ b/tools-ng/tinymce/src/plugins/textpattern/test/ts/atomic/FindPatternsTest.ts
@@ -1,25 +1,29 @@
import { RawAssertions } from '@ephox/agar';
-import Settings from 'tinymce/plugins/textpattern/api/Settings';
-import Patterns from 'tinymce/plugins/textpattern/core/Patterns';
+import * as Settings from 'tinymce/plugins/textpattern/api/Settings';
import { UnitTest } from '@ephox/bedrock';
+import { findEndPattern, findPattern } from '../../../main/ts/core/FindPatterns';
UnitTest.test('atomic.tinymce.plugins.textpattern.FindPatternTest', function () {
- const defaultPatterns = Settings.getPatterns({});
+ const defaultPatterns = [
+ ...Settings.getPatternSet({}).inlinePatterns,
+ ...Settings.getPatternSet({}).blockPatterns,
+ ...Settings.getPatternSet({}).replacementPatterns
+ ];
const testFindEndPattern = function (text, offset, space, expectedPattern) {
- const actual = Patterns.findEndPattern(defaultPatterns, text, offset, space ? 1 : 0);
+ const actual = findEndPattern(defaultPatterns, text, offset, space ? 1 : 0);
RawAssertions.assertEq('Assert correct pattern', expectedPattern, actual.end);
};
const testFindStartPattern = function (text, expectedPattern) {
- const actual = Patterns.findPattern(defaultPatterns, text);
+ const actual = findPattern(defaultPatterns, text);
RawAssertions.assertEq('Assert correct pattern', expectedPattern, actual.start);
};
const testFindStartPatternUndefined = function (text) {
- const actual = Patterns.findPattern(defaultPatterns, text);
+ const actual = findPattern(defaultPatterns, text);
RawAssertions.assertEq('Assert correct pattern', undefined, actual);
};
diff --git a/tools-ng/tinymce/editor/src/plugins/textpattern/test/ts/browser/FormatterTest.ts b/tools-ng/tinymce/src/plugins/textpattern/test/ts/browser/FindInlinePatternTest.ts
similarity index 84%
rename from tools-ng/tinymce/editor/src/plugins/textpattern/test/ts/browser/FormatterTest.ts
rename to tools-ng/tinymce/src/plugins/textpattern/test/ts/browser/FindInlinePatternTest.ts
index 5dd94ba99..0379dbf4d 100644
--- a/tools-ng/tinymce/editor/src/plugins/textpattern/test/ts/browser/FormatterTest.ts
+++ b/tools-ng/tinymce/src/plugins/textpattern/test/ts/browser/FindInlinePatternTest.ts
@@ -1,15 +1,15 @@
import { Assertions, Chain, Logger, Pipeline } from '@ephox/agar';
import { UnitTest } from '@ephox/bedrock';
-import Settings from 'tinymce/plugins/textpattern/api/Settings';
-import Formatter from 'tinymce/plugins/textpattern/core/Formatter';
-import { document } from '@ephox/dom-globals';
+import * as Settings from 'tinymce/plugins/textpattern/api/Settings';
+import { document, Range } from '@ephox/dom-globals';
+import { findInlinePattern } from '../../../main/ts/core/FindPatterns';
UnitTest.asynctest('Browser Test: .FormatterTest', function () {
const success = arguments[arguments.length - 2];
const failure = arguments[arguments.length - 1];
- const defaultPatterns = Settings.getPatterns({});
+ const inlinePatterns = Settings.getPatternSet({}).inlinePatterns;
const createRng = function (text, startOffset, endOffset) {
@@ -34,7 +34,7 @@ UnitTest.asynctest('Browser Test: .FormatterTest', function () {
const cGetInlinePattern = function (patterns, space) {
return Chain.mapper(function (input) {
- const x = Formatter.patternFromRng(patterns, input, space);
+ const x = findInlinePattern(patterns, input as Range, space);
return x === undefined ? 'undefined' : x;
});
@@ -42,93 +42,93 @@ UnitTest.asynctest('Browser Test: .FormatterTest', function () {
Pipeline.async({}, [
Logger.t('run on text without pattern returns undefined', Chain.asStep(createRng('text', 4, 4), [
- cGetInlinePattern(defaultPatterns, false),
+ cGetInlinePattern(inlinePatterns, false),
Assertions.cAssertEq('is undefined', 'undefined')
])),
Logger.t('run on range that is not on a text node without pattern returns undefined', Chain.asStep(
createParagraphElementRng('text', 1, 1),
[
- cGetInlinePattern(defaultPatterns, false),
+ cGetInlinePattern(inlinePatterns, false),
Assertions.cAssertEq('is undefined', 'undefined')
]
)),
Logger.t('inline * with uncollapsed range returns undefined', Chain.asStep(createRng('*x***', 5, 5), [
- cGetInlinePattern(defaultPatterns, false),
+ cGetInlinePattern(inlinePatterns, false),
Assertions.cAssertEq('is correct pattern and offset', 'undefined')
])),
Logger.t('inline * with uncollapsed range returns undefined', Chain.asStep(createRng('*x* ', 3, 4), [
- cGetInlinePattern(defaultPatterns, false),
+ cGetInlinePattern(inlinePatterns, false),
Assertions.cAssertEq('is correct pattern and offset', 'undefined')
])),
Logger.t('pattern without content returns undefined', Chain.asStep(createRng('**', 2, 2), [
- cGetInlinePattern(defaultPatterns, false),
+ cGetInlinePattern(inlinePatterns, false),
Assertions.cAssertEq('is correct pattern and offset', 'undefined')
])),
Logger.t('pattern without content returns undefined', Chain.asStep(createRng('***', 3, 3), [
- cGetInlinePattern(defaultPatterns, false),
+ cGetInlinePattern(inlinePatterns, false),
Assertions.cAssertEq('is correct pattern and offset', 'undefined')
])),
Logger.t('pattern without content returns undefined', Chain.asStep(createRng('*** x***', 4, 4), [
- cGetInlinePattern(defaultPatterns, true),
+ cGetInlinePattern(inlinePatterns, true),
Assertions.cAssertEq('is correct pattern and offset', 'undefined')
])),
Logger.t('inline * without content before or after', Chain.asStep(createRng('*x*', 3, 3), [
- cGetInlinePattern(defaultPatterns, false),
+ cGetInlinePattern(inlinePatterns, false),
Assertions.cAssertEq('is correct pattern and offset',
{ pattern: { start: '*', end: '*', format: 'italic' }, startOffset: 0, endOffset: 2 }
)
])),
Logger.t('inline * with content before', Chain.asStep(createRng('a *x*', 5, 5), [
- cGetInlinePattern(defaultPatterns, false),
+ cGetInlinePattern(inlinePatterns, false),
Assertions.cAssertEq('is correct pattern and offset',
{ pattern: { start: '*', end: '*', format: 'italic' }, startOffset: 2, endOffset: 4 }
)
])),
Logger.t('inline * with content before and after', Chain.asStep(createRng('a *x* b', 5, 5), [
- cGetInlinePattern(defaultPatterns, false),
+ cGetInlinePattern(inlinePatterns, false),
Assertions.cAssertEq('is correct pattern and offset',
{ pattern: { start: '*', end: '*', format: 'italic' }, startOffset: 2, endOffset: 4 }
)
])),
Logger.t('inline * with content before and after, with space', Chain.asStep(createRng('***x* **', 6, 6), [
- cGetInlinePattern(defaultPatterns, true),
+ cGetInlinePattern(inlinePatterns, true),
Assertions.cAssertEq('is correct pattern and offset',
{ pattern: { start: '*', end: '*', format: 'italic' }, startOffset: 2, endOffset: 4 }
)
])),
Logger.t('inline ** without content before or after', Chain.asStep(createRng('**x**', 5, 5), [
- cGetInlinePattern(defaultPatterns, false),
+ cGetInlinePattern(inlinePatterns, false),
Assertions.cAssertEq('is correct pattern and offset',
{ pattern: { start: '**', end: '**', format: 'bold' }, startOffset: 0, endOffset: 3 }
)
])),
Logger.t('inline ** with content before', Chain.asStep(createRng('a **x**', 7, 7), [
- cGetInlinePattern(defaultPatterns, false),
+ cGetInlinePattern(inlinePatterns, false),
Assertions.cAssertEq('is correct pattern and offset',
{ pattern: { start: '**', end: '**', format: 'bold' }, startOffset: 2, endOffset: 5 }
)
])),
Logger.t('inline ** with content before and after', Chain.asStep(createRng('a **x** b', 7, 7), [
- cGetInlinePattern(defaultPatterns, false),
+ cGetInlinePattern(inlinePatterns, false),
Assertions.cAssertEq('is correct pattern and offset',
{ pattern: { start: '**', end: '**', format: 'bold' }, startOffset: 2, endOffset: 5 }
)
])),
Logger.t('inline *** without content before or after', Chain.asStep(createRng('***x***', 7, 7), [
- cGetInlinePattern(defaultPatterns, false),
+ cGetInlinePattern(inlinePatterns, false),
Assertions.cAssertEq('is correct pattern and offset',
{ pattern: { start: '***', end: '***', format: ['bold', 'italic'] }, startOffset: 0, endOffset: 4 }
)
])),
Logger.t('inline *** with content before', Chain.asStep(createRng('a ***x***', 9, 9), [
- cGetInlinePattern(defaultPatterns, false),
+ cGetInlinePattern(inlinePatterns, false),
Assertions.cAssertEq('is correct pattern and offset',
{ pattern: { start: '***', end: '***', format: ['bold', 'italic'] }, startOffset: 2, endOffset: 6 }
)
])),
Logger.t('inline *** with content before and after', Chain.asStep(createRng('a ***x*** b', 9, 9), [
- cGetInlinePattern(defaultPatterns, false),
+ cGetInlinePattern(inlinePatterns, false),
Assertions.cAssertEq('is correct pattern and offset',
{ pattern: { start: '***', end: '***', format: ['bold', 'italic'] }, startOffset: 2, endOffset: 6 }
)
diff --git a/tools-ng/tinymce/src/plugins/textpattern/test/ts/browser/ReplacementTest.ts b/tools-ng/tinymce/src/plugins/textpattern/test/ts/browser/ReplacementTest.ts
new file mode 100644
index 000000000..7660485e5
--- /dev/null
+++ b/tools-ng/tinymce/src/plugins/textpattern/test/ts/browser/ReplacementTest.ts
@@ -0,0 +1,82 @@
+import { GeneralSteps, Logger, Pipeline } from '@ephox/agar';
+import { UnitTest } from '@ephox/bedrock';
+import { TinyActions, TinyApis, TinyLoader } from '@ephox/mcagar';
+import TextpatternPlugin from 'tinymce/plugins/textpattern/Plugin';
+import Theme from 'tinymce/themes/modern/Theme';
+import Utils from '../module/test/Utils';
+
+UnitTest.asynctest('browser.tinymce.plugins.textpattern.ReplacementTest', (success, failure) => {
+
+ TextpatternPlugin();
+ Theme();
+
+ TinyLoader.setup((editor, onSuccess, onFailure) => {
+ const tinyApis = TinyApis(editor);
+ const tinyActions = TinyActions(editor);
+
+ const steps = Utils.withTeardown([
+ Logger.t('Apply html replacement pattern on space', GeneralSteps.sequence([
+ Utils.sSetContentAndPressSpace(tinyApis, tinyActions, 'heading'),
+ tinyApis.sAssertContent('My Heading '),
+ tinyApis.sAssertSelection([0, 0], 10, [0, 0], 10)
+ ])),
+ Logger.t('Apply html replacement pattern on enter', GeneralSteps.sequence([
+ Utils.sSetContentAndPressEnter(tinyApis, tinyActions, 'heading'),
+ tinyApis.sAssertContent('My Heading
'),
+ tinyApis.sAssertSelection([1], 0, [1], 0)
+ ])),
+ Logger.t('Apply html replacement pattern on enter in middle of word', GeneralSteps.sequence([
+ tinyApis.sSetContent('XheadingX
'),
+ tinyApis.sSetSelection([0, 0], 8, [0, 0], 8),
+ Utils.sPressEnter(tinyApis, tinyActions),
+ tinyApis.sAssertContent('X
My Heading
X
'),
+ tinyApis.sAssertSelection([2], 0, [2], 0)
+ ])),
+ Logger.t('Apply complex html replacement pattern on enter', GeneralSteps.sequence([
+ tinyApis.sSetContent('complex pattern
'),
+ tinyApis.sSetSelection([0, 0], 15, [0, 0], 15),
+ Utils.sPressEnter(tinyApis, tinyActions),
+ tinyApis.sAssertContent('Text More text
'),
+ ])),
+
+ Logger.t('Apply text replacement pattern on space', GeneralSteps.sequence([
+ Utils.sSetContentAndPressSpace(tinyApis, tinyActions, 'brb'),
+ tinyApis.sAssertContent('Be Right Back
'),
+ tinyApis.sAssertSelection([0, 0], 13, [0, 0], 13)
+ ])),
+ Logger.t('Apply text replacement pattern on space with content after', GeneralSteps.sequence([
+ tinyApis.sSetContent('brbX
'),
+ tinyApis.sSetSelection([0, 0], 3, [0, 0], 3),
+ Utils.sPressSpace(tinyApis, tinyActions),
+ tinyApis.sAssertContent('Be Right BackX
'),
+ tinyApis.sAssertSelection([0, 0], 14, [0, 0], 14)
+ ])),
+ Logger.t('Apply text replacement pattern on enter', GeneralSteps.sequence([
+ tinyApis.sSetContent('brb
'),
+ tinyApis.sSetSelection([0, 0], 3, [0, 0], 3),
+ Utils.sPressEnter(tinyApis, tinyActions),
+ tinyApis.sAssertContent('Be Right Back
'),
+ ])),
+ Logger.t('Apply text replacement pattern on enter with content after', GeneralSteps.sequence([
+ tinyApis.sSetContent('brbX
'),
+ tinyApis.sSetSelection([0, 0], 3, [0, 0], 3),
+ Utils.sPressEnter(tinyApis, tinyActions),
+ tinyApis.sAssertContent('Be Right Back
X
'),
+ tinyApis.sAssertSelection([1, 0], 0, [1, 0], 0)
+ ])),
+ ], tinyApis.sSetContent(''));
+
+ Pipeline.async({}, steps, onSuccess, onFailure);
+ }, {
+ textpattern_patterns: [
+ { start: 'brb', replacement: 'Be Right Back' },
+ { start: 'heading', replacement: 'My Heading ' },
+ { start: 'complex pattern', replacement: 'Text More text
' },
+ { start: '*', end: '*', format: 'italic' },
+ { start: '#', format: 'h1' }
+ ],
+ indent: false,
+ plugins: 'textpattern',
+ skin_url: '/project/js/tinymce/skins/lightgray'
+ }, success, failure);
+});
\ No newline at end of file
diff --git a/tools-ng/tinymce/editor/src/plugins/textpattern/test/ts/browser/TextPatternPluginTest.ts b/tools-ng/tinymce/src/plugins/textpattern/test/ts/browser/TextPatternPluginTest.ts
similarity index 91%
rename from tools-ng/tinymce/editor/src/plugins/textpattern/test/ts/browser/TextPatternPluginTest.ts
rename to tools-ng/tinymce/src/plugins/textpattern/test/ts/browser/TextPatternPluginTest.ts
index dfc2c7f4c..b65127f7b 100644
--- a/tools-ng/tinymce/editor/src/plugins/textpattern/test/ts/browser/TextPatternPluginTest.ts
+++ b/tools-ng/tinymce/src/plugins/textpattern/test/ts/browser/TextPatternPluginTest.ts
@@ -1,5 +1,5 @@
import {
- ApproxStructure, Assertions, GeneralSteps, Keys, Logger, Pipeline, Step
+ ApproxStructure, Assertions, GeneralSteps, Keys, Logger, Pipeline, Step
} from '@ephox/agar';
import { UnitTest } from '@ephox/bedrock';
import { TinyActions, TinyApis, TinyLoader } from '@ephox/mcagar';
@@ -9,10 +9,7 @@ import Theme from 'tinymce/themes/modern/Theme';
import Utils from '../module/test/Utils';
-UnitTest.asynctest('browser.tinymce.plugins.textpattern.TextPatternPluginTest', function () {
- const success = arguments[arguments.length - 2];
- const failure = arguments[arguments.length - 1];
-
+UnitTest.asynctest('browser.tinymce.plugins.textpattern.TextPatternPluginTest', (success, failure) => {
TextpatternPlugin();
Theme();
@@ -23,12 +20,12 @@ UnitTest.asynctest('browser.tinymce.plugins.textpattern.TextPatternPluginTest',
const steps = Utils.withTeardown([
Logger.t('space on ** without content does nothing', GeneralSteps.sequence([
Utils.sSetContentAndPressSpace(tinyApis, tinyActions, '**'),
- tinyApis.sAssertContent('**
')
+ tinyApis.sAssertContent('**
')
])),
- Logger.t('Italic format on single word using space', GeneralSteps.sequence([
- tinyApis.sSetContent('*a *
'),
+ Logger.t('Italic format on single word using space 1', GeneralSteps.sequence([
+ tinyApis.sSetContent('*a *
'),
tinyApis.sFocus,
- tinyApis.sSetCursor([0, 0], 5),
+ tinyApis.sSetCursor([0, 0], 6),
tinyActions.sContentKeystroke(Keys.space(), {}),
tinyApis.sAssertContentStructure(ApproxStructure.build(function (s, str) {
return Utils.bodyStruct([
@@ -39,24 +36,25 @@ UnitTest.asynctest('browser.tinymce.plugins.textpattern.TextPatternPluginTest',
s.text(str.is('a'))
]
}),
- s.text(str.is('\u00A0')),
+ s.text(str.is('\u00a0')),
s.text(str.is(' ')),
- s.text(str.is('\u00A0'))
+ s.text(str.is('\u00a0'))
]
})
]);
}))
])),
- Logger.t('Italic format on single word using space', GeneralSteps.sequence([
- Utils.sSetContentAndPressSpace(tinyApis, tinyActions, '*a*'),
- tinyApis.sAssertContentStructure(Utils.inlineStructHelper('em', 'a'))
+ Logger.t('Italic format on single word using space 2', GeneralSteps.sequence([
+ Utils.sSetContentAndPressSpace(tinyApis, tinyActions, '*a*\u00a0'),
+ tinyApis.sAssertContentStructure(Utils.inlineStructHelper('em', 'a')),
+ tinyApis.sAssertSelection([0, 1], 1, [0, 1], 1)
])),
Logger.t('Bold format on single word using space', GeneralSteps.sequence([
- Utils.sSetContentAndPressSpace(tinyApis, tinyActions, '**a**'),
+ Utils.sSetContentAndPressSpace(tinyApis, tinyActions, '**a**\u00a0'),
tinyApis.sAssertContentStructure(Utils.inlineStructHelper('strong', 'a'))
])),
Logger.t('Bold/italic format on single word using space', GeneralSteps.sequence([
- Utils.sSetContentAndPressSpace(tinyApis, tinyActions, '***a***'),
+ Utils.sSetContentAndPressSpace(tinyApis, tinyActions, '***a***\u00a0'),
tinyApis.sAssertContentStructure(ApproxStructure.build(function (s, str) {
return Utils.bodyStruct([
s.element('p', {
@@ -70,14 +68,14 @@ UnitTest.asynctest('browser.tinymce.plugins.textpattern.TextPatternPluginTest',
})
]
}),
- s.text(str.is('\u00A0'))
+ s.text(str.is('\u00a0'))
]
})
]);
}))
])),
Logger.t('Bold format on multiple words using space', GeneralSteps.sequence([
- Utils.sSetContentAndPressSpace(tinyApis, tinyActions, '**a b**'),
+ Utils.sSetContentAndPressSpace(tinyApis, tinyActions, '**a b**\u00a0'),
tinyApis.sAssertContentStructure(Utils.inlineStructHelper('strong', 'a b'))
])),
Logger.t('Bold format on single word using enter', GeneralSteps.sequence([
@@ -168,17 +166,16 @@ UnitTest.asynctest('browser.tinymce.plugins.textpattern.TextPatternPluginTest',
editor.plugins.textpattern.getPatterns(),
[
{
- format: 'h1',
- start: '#'
+ format: 'h3',
+ start: '###'
},
{
format: 'h2',
start: '##'
},
-
{
- format: 'h3',
- start: '###'
+ format: 'h1',
+ start: '#'
}
]
);
diff --git a/tools-ng/tinymce/editor/src/plugins/textpattern/test/ts/browser/TrailingPunctuationTest.ts b/tools-ng/tinymce/src/plugins/textpattern/test/ts/browser/TrailingPunctuationTest.ts
similarity index 100%
rename from tools-ng/tinymce/editor/src/plugins/textpattern/test/ts/browser/TrailingPunctuationTest.ts
rename to tools-ng/tinymce/src/plugins/textpattern/test/ts/browser/TrailingPunctuationTest.ts
diff --git a/tools-ng/tinymce/editor/src/plugins/textpattern/test/ts/browser/TriggerInlinePatternBeginningTest.ts b/tools-ng/tinymce/src/plugins/textpattern/test/ts/browser/TriggerInlinePatternBeginningTest.ts
similarity index 100%
rename from tools-ng/tinymce/editor/src/plugins/textpattern/test/ts/browser/TriggerInlinePatternBeginningTest.ts
rename to tools-ng/tinymce/src/plugins/textpattern/test/ts/browser/TriggerInlinePatternBeginningTest.ts
diff --git a/tools-ng/tinymce/editor/src/plugins/textpattern/test/ts/browser/UndoTextpatternTest.ts b/tools-ng/tinymce/src/plugins/textpattern/test/ts/browser/UndoTextpatternTest.ts
similarity index 89%
rename from tools-ng/tinymce/editor/src/plugins/textpattern/test/ts/browser/UndoTextpatternTest.ts
rename to tools-ng/tinymce/src/plugins/textpattern/test/ts/browser/UndoTextpatternTest.ts
index 4abdb4e31..f734cbcf4 100644
--- a/tools-ng/tinymce/editor/src/plugins/textpattern/test/ts/browser/UndoTextpatternTest.ts
+++ b/tools-ng/tinymce/src/plugins/textpattern/test/ts/browser/UndoTextpatternTest.ts
@@ -7,10 +7,7 @@ import ModernTheme from 'tinymce/themes/modern/Theme';
import Utils from '../module/test/Utils';
-UnitTest.asynctest('browser.tinymce.plugins.textpattern.UndoTextpatternTest', function () {
- const success = arguments[arguments.length - 2];
- const failure = arguments[arguments.length - 1];
-
+UnitTest.asynctest('browser.tinymce.plugins.textpattern.UndoTextpatternTest', (success, failure) => {
ModernTheme();
TextpatternPlugin();
@@ -20,7 +17,7 @@ UnitTest.asynctest('browser.tinymce.plugins.textpattern.UndoTextpatternTest', fu
const steps = Utils.withTeardown([
Logger.t('inline italic then undo', GeneralSteps.sequence([
- Utils.sSetContentAndPressSpace(tinyApis, tinyActions, '*a*'),
+ Utils.sSetContentAndPressSpace(tinyApis, tinyActions, '*a*\u00a0'),
tinyApis.sAssertContentStructure(Utils.inlineStructHelper('em', 'a')),
tinyApis.sExecCommand('Undo'),
tinyApis.sAssertContent('*a*
')
diff --git a/tools-ng/tinymce/editor/src/plugins/textpattern/test/ts/module/test/Utils.ts b/tools-ng/tinymce/src/plugins/textpattern/test/ts/module/test/Utils.ts
similarity index 88%
rename from tools-ng/tinymce/editor/src/plugins/textpattern/test/ts/module/test/Utils.ts
rename to tools-ng/tinymce/src/plugins/textpattern/test/ts/module/test/Utils.ts
index a16dd4474..5da78f488 100644
--- a/tools-ng/tinymce/editor/src/plugins/textpattern/test/ts/module/test/Utils.ts
+++ b/tools-ng/tinymce/src/plugins/textpattern/test/ts/module/test/Utils.ts
@@ -15,6 +15,15 @@ const sSetContentAndPressKey = function (key) {
};
};
+const sPressKey = (key) => {
+ return (tinyApis, tinyActions) => {
+ return GeneralSteps.sequence([
+ tinyApis.sFocus,
+ tinyActions.sContentKeystroke(key, {})
+ ]);
+ };
+};
+
const withTeardown = function (steps, teardownStep) {
return Arr.bind(steps, function (step) {
return [step, teardownStep];
@@ -80,6 +89,8 @@ const blockStructHelper = function (tag, content) {
export default {
sSetContentAndPressSpace: sSetContentAndPressKey(Keys.space()),
sSetContentAndPressEnter: sSetContentAndPressKey(Keys.enter()),
+ sPressSpace: sPressKey(Keys.space()),
+ sPressEnter: sPressKey(Keys.enter()),
withTeardown,
bodyStruct,
inlineStructHelper,
diff --git a/tools-ng/tinymce/editor/src/plugins/toc/demo/html/demo.html b/tools-ng/tinymce/src/plugins/toc/demo/html/demo.html
similarity index 100%
rename from tools-ng/tinymce/editor/src/plugins/toc/demo/html/demo.html
rename to tools-ng/tinymce/src/plugins/toc/demo/html/demo.html
diff --git a/tools-ng/tinymce/editor/src/plugins/toc/demo/ts/demo/Demo.ts b/tools-ng/tinymce/src/plugins/toc/demo/ts/demo/Demo.ts
similarity index 100%
rename from tools-ng/tinymce/editor/src/plugins/toc/demo/ts/demo/Demo.ts
rename to tools-ng/tinymce/src/plugins/toc/demo/ts/demo/Demo.ts
diff --git a/tools-ng/tinymce/editor/src/plugins/toc/main/ts/Plugin.ts b/tools-ng/tinymce/src/plugins/toc/main/ts/Plugin.ts
similarity index 60%
rename from tools-ng/tinymce/editor/src/plugins/toc/main/ts/Plugin.ts
rename to tools-ng/tinymce/src/plugins/toc/main/ts/Plugin.ts
index d6881b0af..93d239b7d 100644
--- a/tools-ng/tinymce/editor/src/plugins/toc/main/ts/Plugin.ts
+++ b/tools-ng/tinymce/src/plugins/toc/main/ts/Plugin.ts
@@ -1,11 +1,8 @@
/**
- * Plugin.js
- *
- * Released under LGPL License.
- * Copyright (c) 1999-2017 Ephox Corp. All rights reserved
- *
- * License: http://www.tinymce.com/license
- * Contributing: http://www.tinymce.com/contributing
+ * Copyright (c) Tiny Technologies, Inc. All rights reserved.
+ * Licensed under the LGPL or a commercial license.
+ * For LGPL see License.txt in the project root for license information.
+ * For commercial licenses see https://www.tiny.cloud/
*/
import PluginManager from 'tinymce/core/api/PluginManager';
diff --git a/tools-ng/tinymce/editor/src/plugins/toc/main/ts/api/Commands.ts b/tools-ng/tinymce/src/plugins/toc/main/ts/api/Commands.ts
similarity index 53%
rename from tools-ng/tinymce/editor/src/plugins/toc/main/ts/api/Commands.ts
rename to tools-ng/tinymce/src/plugins/toc/main/ts/api/Commands.ts
index 74de3e428..4753aecef 100644
--- a/tools-ng/tinymce/editor/src/plugins/toc/main/ts/api/Commands.ts
+++ b/tools-ng/tinymce/src/plugins/toc/main/ts/api/Commands.ts
@@ -1,11 +1,8 @@
/**
- * Commands.js
- *
- * Released under LGPL License.
- * Copyright (c) 1999-2017 Ephox Corp. All rights reserved
- *
- * License: http://www.tinymce.com/license
- * Contributing: http://www.tinymce.com/contributing
+ * Copyright (c) Tiny Technologies, Inc. All rights reserved.
+ * Licensed under the LGPL or a commercial license.
+ * For LGPL see License.txt in the project root for license information.
+ * For commercial licenses see https://www.tiny.cloud/
*/
import Toc from '../core/Toc';
diff --git a/tools-ng/tinymce/editor/src/plugins/toc/main/ts/api/Settings.ts b/tools-ng/tinymce/src/plugins/toc/main/ts/api/Settings.ts
similarity index 66%
rename from tools-ng/tinymce/editor/src/plugins/toc/main/ts/api/Settings.ts
rename to tools-ng/tinymce/src/plugins/toc/main/ts/api/Settings.ts
index 0b3599522..67053dee8 100644
--- a/tools-ng/tinymce/editor/src/plugins/toc/main/ts/api/Settings.ts
+++ b/tools-ng/tinymce/src/plugins/toc/main/ts/api/Settings.ts
@@ -1,11 +1,8 @@
/**
- * Settings.js
- *
- * Released under LGPL License.
- * Copyright (c) 1999-2017 Ephox Corp. All rights reserved
- *
- * License: http://www.tinymce.com/license
- * Contributing: http://www.tinymce.com/contributing
+ * Copyright (c) Tiny Technologies, Inc. All rights reserved.
+ * Licensed under the LGPL or a commercial license.
+ * For LGPL see License.txt in the project root for license information.
+ * For commercial licenses see https://www.tiny.cloud/
*/
const getTocClass = function (editor) {
diff --git a/tools-ng/tinymce/editor/src/plugins/toc/main/ts/core/FilterContent.ts b/tools-ng/tinymce/src/plugins/toc/main/ts/core/FilterContent.ts
similarity index 73%
rename from tools-ng/tinymce/editor/src/plugins/toc/main/ts/core/FilterContent.ts
rename to tools-ng/tinymce/src/plugins/toc/main/ts/core/FilterContent.ts
index bf1da2510..c125900b0 100644
--- a/tools-ng/tinymce/editor/src/plugins/toc/main/ts/core/FilterContent.ts
+++ b/tools-ng/tinymce/src/plugins/toc/main/ts/core/FilterContent.ts
@@ -1,11 +1,8 @@
/**
- * FilterContent.js
- *
- * Released under LGPL License.
- * Copyright (c) 1999-2017 Ephox Corp. All rights reserved
- *
- * License: http://www.tinymce.com/license
- * Contributing: http://www.tinymce.com/contributing
+ * Copyright (c) Tiny Technologies, Inc. All rights reserved.
+ * Licensed under the LGPL or a commercial license.
+ * For LGPL see License.txt in the project root for license information.
+ * For commercial licenses see https://www.tiny.cloud/
*/
import Settings from '../api/Settings';
diff --git a/tools-ng/tinymce/src/plugins/toc/main/ts/core/Guid.ts b/tools-ng/tinymce/src/plugins/toc/main/ts/core/Guid.ts
new file mode 100644
index 000000000..2f7864ccb
--- /dev/null
+++ b/tools-ng/tinymce/src/plugins/toc/main/ts/core/Guid.ts
@@ -0,0 +1,19 @@
+/**
+ * Copyright (c) Tiny Technologies, Inc. All rights reserved.
+ * Licensed under the LGPL or a commercial license.
+ * For LGPL see License.txt in the project root for license information.
+ * For commercial licenses see https://www.tiny.cloud/
+ */
+
+const create = function (prefix) {
+ let counter = 0;
+
+ return function () {
+ const guid = new Date().getTime().toString(32);
+ return prefix + guid + (counter++).toString(32);
+ };
+};
+
+export default {
+ create
+};
\ No newline at end of file
diff --git a/tools-ng/tinymce/editor/src/plugins/toc/main/ts/core/Toc.ts b/tools-ng/tinymce/src/plugins/toc/main/ts/core/Toc.ts
similarity index 93%
rename from tools-ng/tinymce/editor/src/plugins/toc/main/ts/core/Toc.ts
rename to tools-ng/tinymce/src/plugins/toc/main/ts/core/Toc.ts
index 8f516e4f0..06b001c0f 100644
--- a/tools-ng/tinymce/editor/src/plugins/toc/main/ts/core/Toc.ts
+++ b/tools-ng/tinymce/src/plugins/toc/main/ts/core/Toc.ts
@@ -1,11 +1,8 @@
/**
- * Toc.js
- *
- * Released under LGPL License.
- * Copyright (c) 1999-2017 Ephox Corp. All rights reserved
- *
- * License: http://www.tinymce.com/license
- * Contributing: http://www.tinymce.com/contributing
+ * Copyright (c) Tiny Technologies, Inc. All rights reserved.
+ * Licensed under the LGPL or a commercial license.
+ * For LGPL see License.txt in the project root for license information.
+ * For commercial licenses see https://www.tiny.cloud/
*/
import DOMUtils from 'tinymce/core/api/dom/DOMUtils';
diff --git a/tools-ng/tinymce/editor/src/plugins/toc/main/ts/ui/Buttons.ts b/tools-ng/tinymce/src/plugins/toc/main/ts/ui/Buttons.ts
similarity index 81%
rename from tools-ng/tinymce/editor/src/plugins/toc/main/ts/ui/Buttons.ts
rename to tools-ng/tinymce/src/plugins/toc/main/ts/ui/Buttons.ts
index 94ba1b1be..2a264e688 100644
--- a/tools-ng/tinymce/editor/src/plugins/toc/main/ts/ui/Buttons.ts
+++ b/tools-ng/tinymce/src/plugins/toc/main/ts/ui/Buttons.ts
@@ -1,11 +1,8 @@
/**
- * Buttons.js
- *
- * Released under LGPL License.
- * Copyright (c) 1999-2017 Ephox Corp. All rights reserved
- *
- * License: http://www.tinymce.com/license
- * Contributing: http://www.tinymce.com/contributing
+ * Copyright (c) Tiny Technologies, Inc. All rights reserved.
+ * Licensed under the LGPL or a commercial license.
+ * For LGPL see License.txt in the project root for license information.
+ * For commercial licenses see https://www.tiny.cloud/
*/
import Settings from '../api/Settings';
diff --git a/tools-ng/tinymce/editor/src/plugins/toc/test/ts/browser/TocPluginTest.ts b/tools-ng/tinymce/src/plugins/toc/test/ts/browser/TocPluginTest.ts
similarity index 100%
rename from tools-ng/tinymce/editor/src/plugins/toc/test/ts/browser/TocPluginTest.ts
rename to tools-ng/tinymce/src/plugins/toc/test/ts/browser/TocPluginTest.ts
diff --git a/tools-ng/tinymce/editor/src/plugins/toc/test/ts/browser/api/SettingsTest.ts b/tools-ng/tinymce/src/plugins/toc/test/ts/browser/api/SettingsTest.ts
similarity index 100%
rename from tools-ng/tinymce/editor/src/plugins/toc/test/ts/browser/api/SettingsTest.ts
rename to tools-ng/tinymce/src/plugins/toc/test/ts/browser/api/SettingsTest.ts
diff --git a/tools-ng/tinymce/editor/src/plugins/toc/test/ts/module/test/HtmlUtils.ts b/tools-ng/tinymce/src/plugins/toc/test/ts/module/test/HtmlUtils.ts
similarity index 100%
rename from tools-ng/tinymce/editor/src/plugins/toc/test/ts/module/test/HtmlUtils.ts
rename to tools-ng/tinymce/src/plugins/toc/test/ts/module/test/HtmlUtils.ts
diff --git a/tools-ng/tinymce/editor/src/plugins/visualblocks/demo/html/demo.html b/tools-ng/tinymce/src/plugins/visualblocks/demo/html/demo.html
similarity index 100%
rename from tools-ng/tinymce/editor/src/plugins/visualblocks/demo/html/demo.html
rename to tools-ng/tinymce/src/plugins/visualblocks/demo/html/demo.html
diff --git a/tools-ng/tinymce/editor/src/plugins/visualblocks/demo/ts/demo/Demo.ts b/tools-ng/tinymce/src/plugins/visualblocks/demo/ts/demo/Demo.ts
similarity index 100%
rename from tools-ng/tinymce/editor/src/plugins/visualblocks/demo/ts/demo/Demo.ts
rename to tools-ng/tinymce/src/plugins/visualblocks/demo/ts/demo/Demo.ts
diff --git a/tools-ng/tinymce/editor/src/plugins/visualblocks/main/css/visualblocks.css b/tools-ng/tinymce/src/plugins/visualblocks/main/css/visualblocks.css
similarity index 100%
rename from tools-ng/tinymce/editor/src/plugins/visualblocks/main/css/visualblocks.css
rename to tools-ng/tinymce/src/plugins/visualblocks/main/css/visualblocks.css
diff --git a/tools-ng/tinymce/editor/src/plugins/visualblocks/main/img/address.gif b/tools-ng/tinymce/src/plugins/visualblocks/main/img/address.gif
similarity index 100%
rename from tools-ng/tinymce/editor/src/plugins/visualblocks/main/img/address.gif
rename to tools-ng/tinymce/src/plugins/visualblocks/main/img/address.gif
diff --git a/tools-ng/tinymce/editor/src/plugins/visualblocks/main/img/article.gif b/tools-ng/tinymce/src/plugins/visualblocks/main/img/article.gif
similarity index 100%
rename from tools-ng/tinymce/editor/src/plugins/visualblocks/main/img/article.gif
rename to tools-ng/tinymce/src/plugins/visualblocks/main/img/article.gif
diff --git a/tools-ng/tinymce/editor/src/plugins/visualblocks/main/img/aside.gif b/tools-ng/tinymce/src/plugins/visualblocks/main/img/aside.gif
similarity index 100%
rename from tools-ng/tinymce/editor/src/plugins/visualblocks/main/img/aside.gif
rename to tools-ng/tinymce/src/plugins/visualblocks/main/img/aside.gif
diff --git a/tools-ng/tinymce/editor/src/plugins/visualblocks/main/img/blockquote.gif b/tools-ng/tinymce/src/plugins/visualblocks/main/img/blockquote.gif
similarity index 100%
rename from tools-ng/tinymce/editor/src/plugins/visualblocks/main/img/blockquote.gif
rename to tools-ng/tinymce/src/plugins/visualblocks/main/img/blockquote.gif
diff --git a/tools-ng/tinymce/editor/src/plugins/visualblocks/main/img/div.gif b/tools-ng/tinymce/src/plugins/visualblocks/main/img/div.gif
similarity index 100%
rename from tools-ng/tinymce/editor/src/plugins/visualblocks/main/img/div.gif
rename to tools-ng/tinymce/src/plugins/visualblocks/main/img/div.gif
diff --git a/tools-ng/tinymce/editor/src/plugins/visualblocks/main/img/dl.gif b/tools-ng/tinymce/src/plugins/visualblocks/main/img/dl.gif
similarity index 100%
rename from tools-ng/tinymce/editor/src/plugins/visualblocks/main/img/dl.gif
rename to tools-ng/tinymce/src/plugins/visualblocks/main/img/dl.gif
diff --git a/tools-ng/tinymce/editor/src/plugins/visualblocks/main/img/figure.gif b/tools-ng/tinymce/src/plugins/visualblocks/main/img/figure.gif
similarity index 100%
rename from tools-ng/tinymce/editor/src/plugins/visualblocks/main/img/figure.gif
rename to tools-ng/tinymce/src/plugins/visualblocks/main/img/figure.gif
diff --git a/tools-ng/tinymce/editor/src/plugins/visualblocks/main/img/h1.gif b/tools-ng/tinymce/src/plugins/visualblocks/main/img/h1.gif
similarity index 100%
rename from tools-ng/tinymce/editor/src/plugins/visualblocks/main/img/h1.gif
rename to tools-ng/tinymce/src/plugins/visualblocks/main/img/h1.gif
diff --git a/tools-ng/tinymce/editor/src/plugins/visualblocks/main/img/h2.gif b/tools-ng/tinymce/src/plugins/visualblocks/main/img/h2.gif
similarity index 100%
rename from tools-ng/tinymce/editor/src/plugins/visualblocks/main/img/h2.gif
rename to tools-ng/tinymce/src/plugins/visualblocks/main/img/h2.gif
diff --git a/tools-ng/tinymce/editor/src/plugins/visualblocks/main/img/h3.gif b/tools-ng/tinymce/src/plugins/visualblocks/main/img/h3.gif
similarity index 100%
rename from tools-ng/tinymce/editor/src/plugins/visualblocks/main/img/h3.gif
rename to tools-ng/tinymce/src/plugins/visualblocks/main/img/h3.gif
diff --git a/tools-ng/tinymce/editor/src/plugins/visualblocks/main/img/h4.gif b/tools-ng/tinymce/src/plugins/visualblocks/main/img/h4.gif
similarity index 100%
rename from tools-ng/tinymce/editor/src/plugins/visualblocks/main/img/h4.gif
rename to tools-ng/tinymce/src/plugins/visualblocks/main/img/h4.gif
diff --git a/tools-ng/tinymce/editor/src/plugins/visualblocks/main/img/h5.gif b/tools-ng/tinymce/src/plugins/visualblocks/main/img/h5.gif
similarity index 100%
rename from tools-ng/tinymce/editor/src/plugins/visualblocks/main/img/h5.gif
rename to tools-ng/tinymce/src/plugins/visualblocks/main/img/h5.gif
diff --git a/tools-ng/tinymce/editor/src/plugins/visualblocks/main/img/h6.gif b/tools-ng/tinymce/src/plugins/visualblocks/main/img/h6.gif
similarity index 100%
rename from tools-ng/tinymce/editor/src/plugins/visualblocks/main/img/h6.gif
rename to tools-ng/tinymce/src/plugins/visualblocks/main/img/h6.gif
diff --git a/tools-ng/tinymce/editor/src/plugins/visualblocks/main/img/hgroup.gif b/tools-ng/tinymce/src/plugins/visualblocks/main/img/hgroup.gif
similarity index 100%
rename from tools-ng/tinymce/editor/src/plugins/visualblocks/main/img/hgroup.gif
rename to tools-ng/tinymce/src/plugins/visualblocks/main/img/hgroup.gif
diff --git a/tools-ng/tinymce/editor/src/plugins/visualblocks/main/img/ol.gif b/tools-ng/tinymce/src/plugins/visualblocks/main/img/ol.gif
similarity index 100%
rename from tools-ng/tinymce/editor/src/plugins/visualblocks/main/img/ol.gif
rename to tools-ng/tinymce/src/plugins/visualblocks/main/img/ol.gif
diff --git a/tools-ng/tinymce/editor/src/plugins/visualblocks/main/img/p.gif b/tools-ng/tinymce/src/plugins/visualblocks/main/img/p.gif
similarity index 100%
rename from tools-ng/tinymce/editor/src/plugins/visualblocks/main/img/p.gif
rename to tools-ng/tinymce/src/plugins/visualblocks/main/img/p.gif
diff --git a/tools-ng/tinymce/editor/src/plugins/visualblocks/main/img/pre.gif b/tools-ng/tinymce/src/plugins/visualblocks/main/img/pre.gif
similarity index 100%
rename from tools-ng/tinymce/editor/src/plugins/visualblocks/main/img/pre.gif
rename to tools-ng/tinymce/src/plugins/visualblocks/main/img/pre.gif
diff --git a/tools-ng/tinymce/editor/src/plugins/visualblocks/main/img/section.gif b/tools-ng/tinymce/src/plugins/visualblocks/main/img/section.gif
similarity index 100%
rename from tools-ng/tinymce/editor/src/plugins/visualblocks/main/img/section.gif
rename to tools-ng/tinymce/src/plugins/visualblocks/main/img/section.gif
diff --git a/tools-ng/tinymce/editor/src/plugins/visualblocks/main/img/ul.gif b/tools-ng/tinymce/src/plugins/visualblocks/main/img/ul.gif
similarity index 100%
rename from tools-ng/tinymce/editor/src/plugins/visualblocks/main/img/ul.gif
rename to tools-ng/tinymce/src/plugins/visualblocks/main/img/ul.gif
diff --git a/tools-ng/tinymce/editor/src/plugins/visualblocks/main/ts/Plugin.ts b/tools-ng/tinymce/src/plugins/visualblocks/main/ts/Plugin.ts
similarity index 67%
rename from tools-ng/tinymce/editor/src/plugins/visualblocks/main/ts/Plugin.ts
rename to tools-ng/tinymce/src/plugins/visualblocks/main/ts/Plugin.ts
index b786c58fd..e17f9b96c 100644
--- a/tools-ng/tinymce/editor/src/plugins/visualblocks/main/ts/Plugin.ts
+++ b/tools-ng/tinymce/src/plugins/visualblocks/main/ts/Plugin.ts
@@ -1,11 +1,8 @@
/**
- * Plugin.js
- *
- * Released under LGPL License.
- * Copyright (c) 1999-2017 Ephox Corp. All rights reserved
- *
- * License: http://www.tinymce.com/license
- * Contributing: http://www.tinymce.com/contributing
+ * Copyright (c) Tiny Technologies, Inc. All rights reserved.
+ * Licensed under the LGPL or a commercial license.
+ * For LGPL see License.txt in the project root for license information.
+ * For commercial licenses see https://www.tiny.cloud/
*/
import { Cell } from '@ephox/katamari';
diff --git a/tools-ng/tinymce/editor/src/plugins/visualblocks/main/ts/api/Commands.ts b/tools-ng/tinymce/src/plugins/visualblocks/main/ts/api/Commands.ts
similarity index 53%
rename from tools-ng/tinymce/editor/src/plugins/visualblocks/main/ts/api/Commands.ts
rename to tools-ng/tinymce/src/plugins/visualblocks/main/ts/api/Commands.ts
index 33b730d41..6ee4e4b5c 100644
--- a/tools-ng/tinymce/editor/src/plugins/visualblocks/main/ts/api/Commands.ts
+++ b/tools-ng/tinymce/src/plugins/visualblocks/main/ts/api/Commands.ts
@@ -1,11 +1,8 @@
/**
- * Commands.js
- *
- * Released under LGPL License.
- * Copyright (c) 1999-2017 Ephox Corp. All rights reserved
- *
- * License: http://www.tinymce.com/license
- * Contributing: http://www.tinymce.com/contributing
+ * Copyright (c) Tiny Technologies, Inc. All rights reserved.
+ * Licensed under the LGPL or a commercial license.
+ * For LGPL see License.txt in the project root for license information.
+ * For commercial licenses see https://www.tiny.cloud/
*/
import VisualBlocks from '../core/VisualBlocks';
diff --git a/tools-ng/tinymce/src/plugins/visualblocks/main/ts/api/Events.ts b/tools-ng/tinymce/src/plugins/visualblocks/main/ts/api/Events.ts
new file mode 100644
index 000000000..14501e4db
--- /dev/null
+++ b/tools-ng/tinymce/src/plugins/visualblocks/main/ts/api/Events.ts
@@ -0,0 +1,14 @@
+/**
+ * Copyright (c) Tiny Technologies, Inc. All rights reserved.
+ * Licensed under the LGPL or a commercial license.
+ * For LGPL see License.txt in the project root for license information.
+ * For commercial licenses see https://www.tiny.cloud/
+ */
+
+const fireVisualBlocks = function (editor, state) {
+ editor.fire('VisualBlocks', { state });
+};
+
+export default {
+ fireVisualBlocks
+};
\ No newline at end of file
diff --git a/tools-ng/tinymce/editor/src/plugins/visualblocks/main/ts/api/Settings.ts b/tools-ng/tinymce/src/plugins/visualblocks/main/ts/api/Settings.ts
similarity index 53%
rename from tools-ng/tinymce/editor/src/plugins/visualblocks/main/ts/api/Settings.ts
rename to tools-ng/tinymce/src/plugins/visualblocks/main/ts/api/Settings.ts
index 8861f021c..aab860e4b 100644
--- a/tools-ng/tinymce/editor/src/plugins/visualblocks/main/ts/api/Settings.ts
+++ b/tools-ng/tinymce/src/plugins/visualblocks/main/ts/api/Settings.ts
@@ -1,11 +1,8 @@
/**
- * Settings.js
- *
- * Released under LGPL License.
- * Copyright (c) 1999-2017 Ephox Corp. All rights reserved
- *
- * License: http://www.tinymce.com/license
- * Contributing: http://www.tinymce.com/contributing
+ * Copyright (c) Tiny Technologies, Inc. All rights reserved.
+ * Licensed under the LGPL or a commercial license.
+ * For LGPL see License.txt in the project root for license information.
+ * For commercial licenses see https://www.tiny.cloud/
*/
const isEnabledByDefault = function (editor) {
diff --git a/tools-ng/tinymce/editor/src/plugins/visualblocks/main/ts/core/Bindings.ts b/tools-ng/tinymce/src/plugins/visualblocks/main/ts/core/Bindings.ts
similarity index 76%
rename from tools-ng/tinymce/editor/src/plugins/visualblocks/main/ts/core/Bindings.ts
rename to tools-ng/tinymce/src/plugins/visualblocks/main/ts/core/Bindings.ts
index 366ad81e6..e97c6622a 100644
--- a/tools-ng/tinymce/editor/src/plugins/visualblocks/main/ts/core/Bindings.ts
+++ b/tools-ng/tinymce/src/plugins/visualblocks/main/ts/core/Bindings.ts
@@ -1,11 +1,8 @@
/**
- * Bindings.js
- *
- * Released under LGPL License.
- * Copyright (c) 1999-2017 Ephox Corp. All rights reserved
- *
- * License: http://www.tinymce.com/license
- * Contributing: http://www.tinymce.com/contributing
+ * Copyright (c) Tiny Technologies, Inc. All rights reserved.
+ * Licensed under the LGPL or a commercial license.
+ * For LGPL see License.txt in the project root for license information.
+ * For commercial licenses see https://www.tiny.cloud/
*/
import Settings from '../api/Settings';
diff --git a/tools-ng/tinymce/editor/src/plugins/visualblocks/main/ts/core/LoadCss.ts b/tools-ng/tinymce/src/plugins/visualblocks/main/ts/core/LoadCss.ts
similarity index 71%
rename from tools-ng/tinymce/editor/src/plugins/visualblocks/main/ts/core/LoadCss.ts
rename to tools-ng/tinymce/src/plugins/visualblocks/main/ts/core/LoadCss.ts
index 3fb5b7ed7..849f933ad 100644
--- a/tools-ng/tinymce/editor/src/plugins/visualblocks/main/ts/core/LoadCss.ts
+++ b/tools-ng/tinymce/src/plugins/visualblocks/main/ts/core/LoadCss.ts
@@ -1,11 +1,8 @@
/**
- * LoadCss.js
- *
- * Released under LGPL License.
- * Copyright (c) 1999-2017 Ephox Corp. All rights reserved
- *
- * License: http://www.tinymce.com/license
- * Contributing: http://www.tinymce.com/contributing
+ * Copyright (c) Tiny Technologies, Inc. All rights reserved.
+ * Licensed under the LGPL or a commercial license.
+ * For LGPL see License.txt in the project root for license information.
+ * For commercial licenses see https://www.tiny.cloud/
*/
import DOMUtils from 'tinymce/core/api/dom/DOMUtils';
diff --git a/tools-ng/tinymce/editor/src/plugins/visualblocks/main/ts/core/VisualBlocks.ts b/tools-ng/tinymce/src/plugins/visualblocks/main/ts/core/VisualBlocks.ts
similarity index 70%
rename from tools-ng/tinymce/editor/src/plugins/visualblocks/main/ts/core/VisualBlocks.ts
rename to tools-ng/tinymce/src/plugins/visualblocks/main/ts/core/VisualBlocks.ts
index d531a017f..92ae1f536 100644
--- a/tools-ng/tinymce/editor/src/plugins/visualblocks/main/ts/core/VisualBlocks.ts
+++ b/tools-ng/tinymce/src/plugins/visualblocks/main/ts/core/VisualBlocks.ts
@@ -1,11 +1,8 @@
/**
- * VisualBlocks.js
- *
- * Released under LGPL License.
- * Copyright (c) 1999-2017 Ephox Corp. All rights reserved
- *
- * License: http://www.tinymce.com/license
- * Contributing: http://www.tinymce.com/contributing
+ * Copyright (c) Tiny Technologies, Inc. All rights reserved.
+ * Licensed under the LGPL or a commercial license.
+ * For LGPL see License.txt in the project root for license information.
+ * For commercial licenses see https://www.tiny.cloud/
*/
import Events from '../api/Events';
diff --git a/tools-ng/tinymce/editor/src/plugins/visualblocks/main/ts/ui/Buttons.ts b/tools-ng/tinymce/src/plugins/visualblocks/main/ts/ui/Buttons.ts
similarity index 75%
rename from tools-ng/tinymce/editor/src/plugins/visualblocks/main/ts/ui/Buttons.ts
rename to tools-ng/tinymce/src/plugins/visualblocks/main/ts/ui/Buttons.ts
index bec50e742..527f005f6 100644
--- a/tools-ng/tinymce/editor/src/plugins/visualblocks/main/ts/ui/Buttons.ts
+++ b/tools-ng/tinymce/src/plugins/visualblocks/main/ts/ui/Buttons.ts
@@ -1,11 +1,8 @@
/**
- * Buttons.js
- *
- * Released under LGPL License.
- * Copyright (c) 1999-2017 Ephox Corp. All rights reserved
- *
- * License: http://www.tinymce.com/license
- * Contributing: http://www.tinymce.com/contributing
+ * Copyright (c) Tiny Technologies, Inc. All rights reserved.
+ * Licensed under the LGPL or a commercial license.
+ * For LGPL see License.txt in the project root for license information.
+ * For commercial licenses see https://www.tiny.cloud/
*/
const toggleActiveState = function (editor, enabledState) {
diff --git a/tools-ng/tinymce/editor/src/plugins/visualblocks/test/ts/browser/PreviewFormatTest.ts b/tools-ng/tinymce/src/plugins/visualblocks/test/ts/browser/PreviewFormatTest.ts
similarity index 100%
rename from tools-ng/tinymce/editor/src/plugins/visualblocks/test/ts/browser/PreviewFormatTest.ts
rename to tools-ng/tinymce/src/plugins/visualblocks/test/ts/browser/PreviewFormatTest.ts
diff --git a/tools-ng/tinymce/editor/src/plugins/visualblocks/test/ts/browser/VisualBlocksSanityTest.ts b/tools-ng/tinymce/src/plugins/visualblocks/test/ts/browser/VisualBlocksSanityTest.ts
similarity index 100%
rename from tools-ng/tinymce/editor/src/plugins/visualblocks/test/ts/browser/VisualBlocksSanityTest.ts
rename to tools-ng/tinymce/src/plugins/visualblocks/test/ts/browser/VisualBlocksSanityTest.ts
diff --git a/tools-ng/tinymce/editor/src/plugins/visualchars/demo/html/demo.html b/tools-ng/tinymce/src/plugins/visualchars/demo/html/demo.html
similarity index 100%
rename from tools-ng/tinymce/editor/src/plugins/visualchars/demo/html/demo.html
rename to tools-ng/tinymce/src/plugins/visualchars/demo/html/demo.html
diff --git a/tools-ng/tinymce/editor/src/plugins/visualchars/demo/ts/demo/Demo.ts b/tools-ng/tinymce/src/plugins/visualchars/demo/ts/demo/Demo.ts
similarity index 92%
rename from tools-ng/tinymce/editor/src/plugins/visualchars/demo/ts/demo/Demo.ts
rename to tools-ng/tinymce/src/plugins/visualchars/demo/ts/demo/Demo.ts
index 8edd1008d..459bf249e 100644
--- a/tools-ng/tinymce/editor/src/plugins/visualchars/demo/ts/demo/Demo.ts
+++ b/tools-ng/tinymce/src/plugins/visualchars/demo/ts/demo/Demo.ts
@@ -14,6 +14,7 @@ tinymce.init({
selector: 'textarea.tinymce',
plugins: 'visualchars code',
toolbar: 'visualchars code',
+ visualchars_default_state: true,
skin_url: '../../../../../js/tinymce/skins/lightgray',
height: 600
});
diff --git a/tools-ng/tinymce/editor/src/plugins/visualchars/main/ts/Plugin.ts b/tools-ng/tinymce/src/plugins/visualchars/main/ts/Plugin.ts
similarity index 61%
rename from tools-ng/tinymce/editor/src/plugins/visualchars/main/ts/Plugin.ts
rename to tools-ng/tinymce/src/plugins/visualchars/main/ts/Plugin.ts
index bac605e91..2693b2937 100644
--- a/tools-ng/tinymce/editor/src/plugins/visualchars/main/ts/Plugin.ts
+++ b/tools-ng/tinymce/src/plugins/visualchars/main/ts/Plugin.ts
@@ -1,11 +1,8 @@
/**
- * Plugin.js
- *
- * Released under LGPL License.
- * Copyright (c) 1999-2017 Ephox Corp. All rights reserved
- *
- * License: http://www.tinymce.com/license
- * Contributing: http://www.tinymce.com/contributing
+ * Copyright (c) Tiny Technologies, Inc. All rights reserved.
+ * Licensed under the LGPL or a commercial license.
+ * For LGPL see License.txt in the project root for license information.
+ * For commercial licenses see https://www.tiny.cloud/
*/
import { Cell } from '@ephox/katamari';
@@ -13,6 +10,7 @@ import PluginManager from 'tinymce/core/api/PluginManager';
import Api from './api/Api';
import Commands from './api/Commands';
import Keyboard from './core/Keyboard';
+import Bindings from './core/Bindings';
import * as Buttons from './ui/Buttons';
PluginManager.add('visualchars', function (editor) {
@@ -21,6 +19,7 @@ PluginManager.add('visualchars', function (editor) {
Commands.register(editor, toggleState);
Buttons.register(editor);
Keyboard.setup(editor, toggleState);
+ Bindings.setup(editor, toggleState);
return Api.get(toggleState);
});
diff --git a/tools-ng/tinymce/src/plugins/visualchars/main/ts/api/Api.ts b/tools-ng/tinymce/src/plugins/visualchars/main/ts/api/Api.ts
new file mode 100644
index 000000000..243d451d2
--- /dev/null
+++ b/tools-ng/tinymce/src/plugins/visualchars/main/ts/api/Api.ts
@@ -0,0 +1,20 @@
+/**
+ * Copyright (c) Tiny Technologies, Inc. All rights reserved.
+ * Licensed under the LGPL or a commercial license.
+ * For LGPL see License.txt in the project root for license information.
+ * For commercial licenses see https://www.tiny.cloud/
+ */
+
+const get = function (toggleState) {
+ const isEnabled = function () {
+ return toggleState.get();
+ };
+
+ return {
+ isEnabled
+ };
+};
+
+export default {
+ get
+};
\ No newline at end of file
diff --git a/tools-ng/tinymce/editor/src/plugins/visualchars/main/ts/api/Commands.ts b/tools-ng/tinymce/src/plugins/visualchars/main/ts/api/Commands.ts
similarity index 50%
rename from tools-ng/tinymce/editor/src/plugins/visualchars/main/ts/api/Commands.ts
rename to tools-ng/tinymce/src/plugins/visualchars/main/ts/api/Commands.ts
index 4d5a3e408..80ebea334 100644
--- a/tools-ng/tinymce/editor/src/plugins/visualchars/main/ts/api/Commands.ts
+++ b/tools-ng/tinymce/src/plugins/visualchars/main/ts/api/Commands.ts
@@ -1,11 +1,8 @@
/**
- * Commands.js
- *
- * Released under LGPL License.
- * Copyright (c) 1999-2017 Ephox Corp. All rights reserved
- *
- * License: http://www.tinymce.com/license
- * Contributing: http://www.tinymce.com/contributing
+ * Copyright (c) Tiny Technologies, Inc. All rights reserved.
+ * Licensed under the LGPL or a commercial license.
+ * For LGPL see License.txt in the project root for license information.
+ * For commercial licenses see https://www.tiny.cloud/
*/
import Actions from '../core/Actions';
diff --git a/tools-ng/tinymce/src/plugins/visualchars/main/ts/api/Events.ts b/tools-ng/tinymce/src/plugins/visualchars/main/ts/api/Events.ts
new file mode 100644
index 000000000..495a6e165
--- /dev/null
+++ b/tools-ng/tinymce/src/plugins/visualchars/main/ts/api/Events.ts
@@ -0,0 +1,14 @@
+/**
+ * Copyright (c) Tiny Technologies, Inc. All rights reserved.
+ * Licensed under the LGPL or a commercial license.
+ * For LGPL see License.txt in the project root for license information.
+ * For commercial licenses see https://www.tiny.cloud/
+ */
+
+const fireVisualChars = function (editor, state) {
+ return editor.fire('VisualChars', { state });
+};
+
+export default {
+ fireVisualChars
+};
\ No newline at end of file
diff --git a/tools-ng/tinymce/src/plugins/visualchars/main/ts/api/Settings.ts b/tools-ng/tinymce/src/plugins/visualchars/main/ts/api/Settings.ts
new file mode 100644
index 000000000..e3075f538
--- /dev/null
+++ b/tools-ng/tinymce/src/plugins/visualchars/main/ts/api/Settings.ts
@@ -0,0 +1,16 @@
+/**
+ * Copyright (c) Tiny Technologies, Inc. All rights reserved.
+ * Licensed under the LGPL or a commercial license.
+ * For LGPL see License.txt in the project root for license information.
+ * For commercial licenses see https://www.tiny.cloud/
+ */
+
+import { Editor } from 'tinymce/core/api/Editor';
+
+const isEnabledByDefault = (editor: Editor) => {
+ return editor.getParam('visualchars_default_state', false);
+};
+
+export default {
+ isEnabledByDefault
+};
\ No newline at end of file
diff --git a/tools-ng/tinymce/editor/src/plugins/visualchars/main/ts/core/Actions.ts b/tools-ng/tinymce/src/plugins/visualchars/main/ts/core/Actions.ts
similarity index 70%
rename from tools-ng/tinymce/editor/src/plugins/visualchars/main/ts/core/Actions.ts
rename to tools-ng/tinymce/src/plugins/visualchars/main/ts/core/Actions.ts
index c0aa28307..c22cfdeed 100644
--- a/tools-ng/tinymce/editor/src/plugins/visualchars/main/ts/core/Actions.ts
+++ b/tools-ng/tinymce/src/plugins/visualchars/main/ts/core/Actions.ts
@@ -1,11 +1,8 @@
/**
- * Actions.js
- *
- * Released under LGPL License.
- * Copyright (c) 1999-2017 Ephox Corp. All rights reserved
- *
- * License: http://www.tinymce.com/license
- * Contributing: http://www.tinymce.com/contributing
+ * Copyright (c) Tiny Technologies, Inc. All rights reserved.
+ * Licensed under the LGPL or a commercial license.
+ * For LGPL see License.txt in the project root for license information.
+ * For commercial licenses see https://www.tiny.cloud/
*/
import Events from '../api/Events';
diff --git a/tools-ng/tinymce/src/plugins/visualchars/main/ts/core/Bindings.ts b/tools-ng/tinymce/src/plugins/visualchars/main/ts/core/Bindings.ts
new file mode 100644
index 000000000..766b574ac
--- /dev/null
+++ b/tools-ng/tinymce/src/plugins/visualchars/main/ts/core/Bindings.ts
@@ -0,0 +1,23 @@
+/**
+ * Copyright (c) Tiny Technologies, Inc. All rights reserved.
+ * Licensed under the LGPL or a commercial license.
+ * For LGPL see License.txt in the project root for license information.
+ * For commercial licenses see https://www.tiny.cloud/
+ */
+
+import { Editor } from 'tinymce/core/api/Editor';
+import Settings from '../api/Settings';
+import Actions from './Actions';
+
+const setup = (editor: Editor, toggleState) => {
+ editor.on('init', () => {
+ // should be false when enabled, so toggling will change it to true
+ const valueForToggling = !Settings.isEnabledByDefault(editor);
+ toggleState.set(valueForToggling);
+ Actions.toggleVisualChars(editor, toggleState);
+ });
+};
+
+export default {
+ setup
+};
\ No newline at end of file
diff --git a/tools-ng/tinymce/editor/src/plugins/visualchars/main/ts/core/Data.ts b/tools-ng/tinymce/src/plugins/visualchars/main/ts/core/Data.ts
similarity index 73%
rename from tools-ng/tinymce/editor/src/plugins/visualchars/main/ts/core/Data.ts
rename to tools-ng/tinymce/src/plugins/visualchars/main/ts/core/Data.ts
index a88c0dcf1..4c69e5a33 100644
--- a/tools-ng/tinymce/editor/src/plugins/visualchars/main/ts/core/Data.ts
+++ b/tools-ng/tinymce/src/plugins/visualchars/main/ts/core/Data.ts
@@ -1,11 +1,8 @@
/**
- * Data.js
- *
- * Released under LGPL License.
- * Copyright (c) 1999-2017 Ephox Corp. All rights reserved
- *
- * License: http://www.tinymce.com/license
- * Contributing: http://www.tinymce.com/contributing
+ * Copyright (c) Tiny Technologies, Inc. All rights reserved.
+ * Licensed under the LGPL or a commercial license.
+ * For LGPL see License.txt in the project root for license information.
+ * For commercial licenses see https://www.tiny.cloud/
*/
const charMap = {
diff --git a/tools-ng/tinymce/src/plugins/visualchars/main/ts/core/Html.ts b/tools-ng/tinymce/src/plugins/visualchars/main/ts/core/Html.ts
new file mode 100644
index 000000000..971eb09b4
--- /dev/null
+++ b/tools-ng/tinymce/src/plugins/visualchars/main/ts/core/Html.ts
@@ -0,0 +1,16 @@
+/**
+ * Copyright (c) Tiny Technologies, Inc. All rights reserved.
+ * Licensed under the LGPL or a commercial license.
+ * For LGPL see License.txt in the project root for license information.
+ * For commercial licenses see https://www.tiny.cloud/
+ */
+
+import Data from './Data';
+
+const wrapCharWithSpan = function (value) {
+ return '' + value + ' ';
+};
+
+export default {
+ wrapCharWithSpan
+};
\ No newline at end of file
diff --git a/tools-ng/tinymce/editor/src/plugins/visualchars/main/ts/core/Keyboard.ts b/tools-ng/tinymce/src/plugins/visualchars/main/ts/core/Keyboard.ts
similarity index 67%
rename from tools-ng/tinymce/editor/src/plugins/visualchars/main/ts/core/Keyboard.ts
rename to tools-ng/tinymce/src/plugins/visualchars/main/ts/core/Keyboard.ts
index 4626f71d6..a98ffb5f2 100644
--- a/tools-ng/tinymce/editor/src/plugins/visualchars/main/ts/core/Keyboard.ts
+++ b/tools-ng/tinymce/src/plugins/visualchars/main/ts/core/Keyboard.ts
@@ -1,11 +1,8 @@
/**
- * Keyboard.js
- *
- * Released under LGPL License.
- * Copyright (c) 1999-2017 Ephox Corp. All rights reserved
- *
- * License: http://www.tinymce.com/license
- * Contributing: http://www.tinymce.com/contributing
+ * Copyright (c) Tiny Technologies, Inc. All rights reserved.
+ * Licensed under the LGPL or a commercial license.
+ * For LGPL see License.txt in the project root for license information.
+ * For commercial licenses see https://www.tiny.cloud/
*/
import Delay from 'tinymce/core/api/util/Delay';
diff --git a/tools-ng/tinymce/editor/src/plugins/visualchars/main/ts/core/Nodes.ts b/tools-ng/tinymce/src/plugins/visualchars/main/ts/core/Nodes.ts
similarity index 81%
rename from tools-ng/tinymce/editor/src/plugins/visualchars/main/ts/core/Nodes.ts
rename to tools-ng/tinymce/src/plugins/visualchars/main/ts/core/Nodes.ts
index 8f28e9b2f..10ef7d9b7 100644
--- a/tools-ng/tinymce/editor/src/plugins/visualchars/main/ts/core/Nodes.ts
+++ b/tools-ng/tinymce/src/plugins/visualchars/main/ts/core/Nodes.ts
@@ -1,11 +1,8 @@
/**
- * Nodes.js
- *
- * Released under LGPL License.
- * Copyright (c) 1999-2017 Ephox Corp. All rights reserved
- *
- * License: http://www.tinymce.com/license
- * Contributing: http://www.tinymce.com/contributing
+ * Copyright (c) Tiny Technologies, Inc. All rights reserved.
+ * Licensed under the LGPL or a commercial license.
+ * For LGPL see License.txt in the project root for license information.
+ * For commercial licenses see https://www.tiny.cloud/
*/
import { Arr } from '@ephox/katamari';
diff --git a/tools-ng/tinymce/editor/src/plugins/visualchars/main/ts/core/VisualChars.ts b/tools-ng/tinymce/src/plugins/visualchars/main/ts/core/VisualChars.ts
similarity index 83%
rename from tools-ng/tinymce/editor/src/plugins/visualchars/main/ts/core/VisualChars.ts
rename to tools-ng/tinymce/src/plugins/visualchars/main/ts/core/VisualChars.ts
index 90b056d6a..4ce2ce1a1 100644
--- a/tools-ng/tinymce/editor/src/plugins/visualchars/main/ts/core/VisualChars.ts
+++ b/tools-ng/tinymce/src/plugins/visualchars/main/ts/core/VisualChars.ts
@@ -1,11 +1,8 @@
/**
- * VisualChars.js
- *
- * Released under LGPL License.
- * Copyright (c) 1999-2017 Ephox Corp. All rights reserved
- *
- * License: http://www.tinymce.com/license
- * Contributing: http://www.tinymce.com/contributing
+ * Copyright (c) Tiny Technologies, Inc. All rights reserved.
+ * Licensed under the LGPL or a commercial license.
+ * For LGPL see License.txt in the project root for license information.
+ * For commercial licenses see https://www.tiny.cloud/
*/
import Data from './Data';
diff --git a/tools-ng/tinymce/editor/src/plugins/visualchars/main/ts/ui/Buttons.ts b/tools-ng/tinymce/src/plugins/visualchars/main/ts/ui/Buttons.ts
similarity index 73%
rename from tools-ng/tinymce/editor/src/plugins/visualchars/main/ts/ui/Buttons.ts
rename to tools-ng/tinymce/src/plugins/visualchars/main/ts/ui/Buttons.ts
index f5ca809b6..34979a8aa 100644
--- a/tools-ng/tinymce/editor/src/plugins/visualchars/main/ts/ui/Buttons.ts
+++ b/tools-ng/tinymce/src/plugins/visualchars/main/ts/ui/Buttons.ts
@@ -1,11 +1,8 @@
/**
- * Buttons.js
- *
- * Released under LGPL License.
- * Copyright (c) 1999-2017 Ephox Corp. All rights reserved
- *
- * License: http://www.tinymce.com/license
- * Contributing: http://www.tinymce.com/contributing
+ * Copyright (c) Tiny Technologies, Inc. All rights reserved.
+ * Licensed under the LGPL or a commercial license.
+ * For LGPL see License.txt in the project root for license information.
+ * For commercial licenses see https://www.tiny.cloud/
*/
const toggleActiveState = function (editor) {
diff --git a/tools-ng/tinymce/editor/src/plugins/visualchars/test/ts/atomic/DataTest.ts b/tools-ng/tinymce/src/plugins/visualchars/test/ts/atomic/DataTest.ts
similarity index 94%
rename from tools-ng/tinymce/editor/src/plugins/visualchars/test/ts/atomic/DataTest.ts
rename to tools-ng/tinymce/src/plugins/visualchars/test/ts/atomic/DataTest.ts
index 0d8b93146..a1f861aac 100644
--- a/tools-ng/tinymce/editor/src/plugins/visualchars/test/ts/atomic/DataTest.ts
+++ b/tools-ng/tinymce/src/plugins/visualchars/test/ts/atomic/DataTest.ts
@@ -4,7 +4,7 @@ import { UnitTest } from '@ephox/bedrock';
UnitTest.test('atomic.tinymce.plugins.visualchars.DataTest', function () {
RawAssertions.assertEq(
- 'should return correst selector',
+ 'should return correct selector',
'span.mce-a,span.mce-b',
Data.charMapToSelector({ a: 'a', b: 'b' })
);
diff --git a/tools-ng/tinymce/editor/src/plugins/visualchars/test/ts/atomic/HtmlTest.ts b/tools-ng/tinymce/src/plugins/visualchars/test/ts/atomic/HtmlTest.ts
similarity index 100%
rename from tools-ng/tinymce/editor/src/plugins/visualchars/test/ts/atomic/HtmlTest.ts
rename to tools-ng/tinymce/src/plugins/visualchars/test/ts/atomic/HtmlTest.ts
diff --git a/tools-ng/tinymce/editor/src/plugins/visualchars/test/ts/atomic/NodesTest.ts b/tools-ng/tinymce/src/plugins/visualchars/test/ts/atomic/NodesTest.ts
similarity index 100%
rename from tools-ng/tinymce/editor/src/plugins/visualchars/test/ts/atomic/NodesTest.ts
rename to tools-ng/tinymce/src/plugins/visualchars/test/ts/atomic/NodesTest.ts
diff --git a/tools-ng/tinymce/src/plugins/visualchars/test/ts/browser/DefaultStateTest.ts b/tools-ng/tinymce/src/plugins/visualchars/test/ts/browser/DefaultStateTest.ts
new file mode 100644
index 000000000..2e9592108
--- /dev/null
+++ b/tools-ng/tinymce/src/plugins/visualchars/test/ts/browser/DefaultStateTest.ts
@@ -0,0 +1,35 @@
+import { Keyboard, Keys, Pipeline, Waiter } from '@ephox/agar';
+import { UnitTest } from '@ephox/bedrock';
+import { TinyApis, TinyLoader, TinyUi } from '@ephox/mcagar';
+import { Element } from '@ephox/sugar';
+
+import Plugin from 'tinymce/plugins/visualchars/Plugin';
+import Theme from 'tinymce/themes/modern/Theme';
+
+import { sAssertNbspStruct, sAssertSpanStruct } from '../module/test/Utils';
+
+UnitTest.asynctest('browser.tinymce.plugins.visualchars.DefaultStateTest', (success, failure) => {
+ Plugin();
+ Theme();
+
+ TinyLoader.setup(function (editor, onSuccess, onFailure) {
+ const tinyUi = TinyUi(editor);
+ const tinyApis = TinyApis(editor);
+
+ Pipeline.async({}, [
+ tinyApis.sSetContent('a b
'),
+ // Need to trigger a keydown event to get the visual chars to show after calling set content
+ Keyboard.sKeydown(Element.fromDom(editor.getDoc()), Keys.space(), { }),
+ Waiter.sTryUntil('Wait for visual chars to show', tinyApis.sAssertContentStructure(sAssertSpanStruct), 50, 1000),
+ tinyUi.sClickOnToolbar('click on visualchars button', 'div[aria-label="Show invisible characters"] > button'),
+ tinyApis.sAssertContentStructure(sAssertNbspStruct),
+ tinyUi.sClickOnToolbar('click on visualchars button', 'div[aria-label="Show invisible characters"] > button'),
+ tinyApis.sAssertContentStructure(sAssertSpanStruct)
+ ], onSuccess, onFailure);
+ }, {
+ plugins: 'visualchars',
+ toolbar: 'visualchars',
+ skin_url: '/project/js/tinymce/skins/lightgray',
+ visualchars_default_state: true
+ }, success, failure);
+});
diff --git a/tools-ng/tinymce/editor/src/plugins/visualchars/test/ts/browser/PluginTest.ts b/tools-ng/tinymce/src/plugins/visualchars/test/ts/browser/PluginTest.ts
similarity index 53%
rename from tools-ng/tinymce/editor/src/plugins/visualchars/test/ts/browser/PluginTest.ts
rename to tools-ng/tinymce/src/plugins/visualchars/test/ts/browser/PluginTest.ts
index 85c46fd50..aa43e8faf 100644
--- a/tools-ng/tinymce/editor/src/plugins/visualchars/test/ts/browser/PluginTest.ts
+++ b/tools-ng/tinymce/src/plugins/visualchars/test/ts/browser/PluginTest.ts
@@ -1,47 +1,16 @@
-import { ApproxStructure, Assertions, Pipeline } from '@ephox/agar';
+import { Assertions, Pipeline } from '@ephox/agar';
import { UnitTest } from '@ephox/bedrock';
import { TinyApis, TinyLoader, TinyUi } from '@ephox/mcagar';
import Plugin from 'tinymce/plugins/visualchars/Plugin';
import Theme from 'tinymce/themes/modern/Theme';
-UnitTest.asynctest('browser.tinymce.plugins.visualchars.PluginTest', function () {
- const success = arguments[arguments.length - 2];
- const failure = arguments[arguments.length - 1];
+import { sAssertNbspStruct, sAssertSpanStruct } from '../module/test/Utils';
+UnitTest.asynctest('browser.tinymce.plugins.visualchars.PluginTest', (success, failure) => {
Plugin();
Theme();
- const spanStruct = ApproxStructure.build(function (s, str) {
- return s.element('body', {
- children: [
- s.element('p', {
- children: [
- s.text(str.is('a')),
- s.element('span', {}),
- s.element('span', {}),
- s.text(str.is('b'))
- ]
- })
- ]
- });
- });
-
- const nbspStruct = ApproxStructure.build(function (s, str) {
- return s.element('body', {
- children: [
- s.element('p', {
- children: [
- s.text(str.is('a')),
- s.text(str.is('\u00a0')),
- s.text(str.is('\u00a0')),
- s.text(str.is('b'))
- ]
- })
- ]
- });
- });
-
TinyLoader.setup(function (editor, onSuccess, onFailure) {
const tinyUi = TinyUi(editor);
const tinyApis = TinyApis(editor);
@@ -50,13 +19,13 @@ UnitTest.asynctest('browser.tinymce.plugins.visualchars.PluginTest', function ()
tinyApis.sSetContent('a b
'),
Assertions.sAssertEq('assert equal', 0, editor.dom.select('span').length),
tinyUi.sClickOnToolbar('click on visualchars button', 'div[aria-label="Show invisible characters"] > button'),
- tinyApis.sAssertContentStructure(spanStruct),
+ tinyApis.sAssertContentStructure(sAssertSpanStruct),
tinyUi.sClickOnToolbar('click on visualchars button', 'div[aria-label="Show invisible characters"] > button'),
- tinyApis.sAssertContentStructure(nbspStruct),
+ tinyApis.sAssertContentStructure(sAssertNbspStruct),
tinyUi.sClickOnToolbar('click on visualchars button', 'div[aria-label="Show invisible characters"] > button'),
- tinyApis.sAssertContentStructure(spanStruct),
+ tinyApis.sAssertContentStructure(sAssertSpanStruct),
tinyUi.sClickOnToolbar('click on visualchars button', 'div[aria-label="Show invisible characters"] > button'),
- tinyApis.sAssertContentStructure(nbspStruct)
+ tinyApis.sAssertContentStructure(sAssertNbspStruct)
], onSuccess, onFailure);
}, {
plugins: 'visualchars',
diff --git a/tools-ng/tinymce/src/plugins/visualchars/test/ts/module/test/Utils.ts b/tools-ng/tinymce/src/plugins/visualchars/test/ts/module/test/Utils.ts
new file mode 100644
index 000000000..6351e5c42
--- /dev/null
+++ b/tools-ng/tinymce/src/plugins/visualchars/test/ts/module/test/Utils.ts
@@ -0,0 +1,36 @@
+import { ApproxStructure } from '@ephox/agar';
+
+const sAssertSpanStruct = ApproxStructure.build(function (s, str) {
+ return s.element('body', {
+ children: [
+ s.element('p', {
+ children: [
+ s.text(str.is('a')),
+ s.element('span', {}),
+ s.element('span', {}),
+ s.text(str.is('b'))
+ ]
+ })
+ ]
+ });
+});
+
+const sAssertNbspStruct = ApproxStructure.build(function (s, str) {
+ return s.element('body', {
+ children: [
+ s.element('p', {
+ children: [
+ s.text(str.is('a')),
+ s.text(str.is('\u00a0')),
+ s.text(str.is('\u00a0')),
+ s.text(str.is('b'))
+ ]
+ })
+ ]
+ });
+});
+
+export {
+ sAssertNbspStruct,
+ sAssertSpanStruct
+};
\ No newline at end of file
diff --git a/tools-ng/tinymce/editor/src/plugins/wordcount/demo/html/demo.html b/tools-ng/tinymce/src/plugins/wordcount/demo/html/demo.html
similarity index 100%
rename from tools-ng/tinymce/editor/src/plugins/wordcount/demo/html/demo.html
rename to tools-ng/tinymce/src/plugins/wordcount/demo/html/demo.html
diff --git a/tools-ng/tinymce/editor/src/plugins/wordcount/demo/ts/demo/Demo.ts b/tools-ng/tinymce/src/plugins/wordcount/demo/ts/demo/Demo.ts
similarity index 100%
rename from tools-ng/tinymce/editor/src/plugins/wordcount/demo/ts/demo/Demo.ts
rename to tools-ng/tinymce/src/plugins/wordcount/demo/ts/demo/Demo.ts
diff --git a/tools-ng/tinymce/editor/src/plugins/wordcount/main/ts/Plugin.ts b/tools-ng/tinymce/src/plugins/wordcount/main/ts/Plugin.ts
similarity index 53%
rename from tools-ng/tinymce/editor/src/plugins/wordcount/main/ts/Plugin.ts
rename to tools-ng/tinymce/src/plugins/wordcount/main/ts/Plugin.ts
index b0429ed5b..b1f3caa0d 100644
--- a/tools-ng/tinymce/editor/src/plugins/wordcount/main/ts/Plugin.ts
+++ b/tools-ng/tinymce/src/plugins/wordcount/main/ts/Plugin.ts
@@ -1,11 +1,8 @@
/**
- * Plugin.js
- *
- * Released under LGPL License.
- * Copyright (c) 1999-2016 Ephox Corp. All rights reserved
- *
- * License: http://www.tinymce.com/license
- * Contributing: http://www.tinymce.com/contributing
+ * Copyright (c) Tiny Technologies, Inc. All rights reserved.
+ * Licensed under the LGPL or a commercial license.
+ * For LGPL see License.txt in the project root for license information.
+ * For commercial licenses see https://www.tiny.cloud/
*/
import PluginManager from 'tinymce/core/api/PluginManager';
diff --git a/tools-ng/tinymce/src/plugins/wordcount/main/ts/api/Api.ts b/tools-ng/tinymce/src/plugins/wordcount/main/ts/api/Api.ts
new file mode 100644
index 000000000..c13c38c72
--- /dev/null
+++ b/tools-ng/tinymce/src/plugins/wordcount/main/ts/api/Api.ts
@@ -0,0 +1,22 @@
+/**
+ * Copyright (c) Tiny Technologies, Inc. All rights reserved.
+ * Licensed under the LGPL or a commercial license.
+ * For LGPL see License.txt in the project root for license information.
+ * For commercial licenses see https://www.tiny.cloud/
+ */
+
+import WordCount from '../text/WordCount';
+
+const get = function (editor) {
+ const getCount = function () {
+ return WordCount.getCount(editor);
+ };
+
+ return {
+ getCount
+ };
+};
+
+export default {
+ get
+};
\ No newline at end of file
diff --git a/tools-ng/tinymce/editor/src/plugins/wordcount/main/ts/text/StringMapper.ts b/tools-ng/tinymce/src/plugins/wordcount/main/ts/text/StringMapper.ts
similarity index 73%
rename from tools-ng/tinymce/editor/src/plugins/wordcount/main/ts/text/StringMapper.ts
rename to tools-ng/tinymce/src/plugins/wordcount/main/ts/text/StringMapper.ts
index a291a176a..98d11032d 100644
--- a/tools-ng/tinymce/editor/src/plugins/wordcount/main/ts/text/StringMapper.ts
+++ b/tools-ng/tinymce/src/plugins/wordcount/main/ts/text/StringMapper.ts
@@ -1,15 +1,12 @@
/**
- * StringMapper.js
- *
- * Released under LGPL License.
- * Copyright (c) 1999-2016 Ephox Corp. All rights reserved
- *
- * License: http://www.tinymce.com/license
- * Contributing: http://www.tinymce.com/contributing
+ * Copyright (c) Tiny Technologies, Inc. All rights reserved.
+ * Licensed under the LGPL or a commercial license.
+ * For LGPL see License.txt in the project root for license information.
+ * For commercial licenses see https://www.tiny.cloud/
*/
import UnicodeData from './UnicodeData';
-import Arr from '../alien/Arr';
+import { Arr } from '@ephox/katamari';
const SETS = UnicodeData.SETS;
const OTHER = UnicodeData.characterIndices.OTHER;
diff --git a/tools-ng/tinymce/editor/src/plugins/wordcount/main/ts/text/UnicodeData.ts b/tools-ng/tinymce/src/plugins/wordcount/main/ts/text/UnicodeData.ts
similarity index 97%
rename from tools-ng/tinymce/editor/src/plugins/wordcount/main/ts/text/UnicodeData.ts
rename to tools-ng/tinymce/src/plugins/wordcount/main/ts/text/UnicodeData.ts
index cea19de62..86840be67 100644
--- a/tools-ng/tinymce/editor/src/plugins/wordcount/main/ts/text/UnicodeData.ts
+++ b/tools-ng/tinymce/src/plugins/wordcount/main/ts/text/UnicodeData.ts
@@ -1,11 +1,8 @@
/**
- * UnicodeData.js
- *
- * Released under LGPL License.
- * Copyright (c) 1999-2016 Ephox Corp. All rights reserved
- *
- * License: http://www.tinymce.com/license
- * Contributing: http://www.tinymce.com/contributing
+ * Copyright (c) Tiny Technologies, Inc. All rights reserved.
+ * Licensed under the LGPL or a commercial license.
+ * For LGPL see License.txt in the project root for license information.
+ * For commercial licenses see https://www.tiny.cloud/
*/
/* eslint-disable max-len */
diff --git a/tools-ng/tinymce/editor/src/plugins/wordcount/main/ts/text/WordBoundary.ts b/tools-ng/tinymce/src/plugins/wordcount/main/ts/text/WordBoundary.ts
similarity index 92%
rename from tools-ng/tinymce/editor/src/plugins/wordcount/main/ts/text/WordBoundary.ts
rename to tools-ng/tinymce/src/plugins/wordcount/main/ts/text/WordBoundary.ts
index 544664b2d..b66119112 100644
--- a/tools-ng/tinymce/editor/src/plugins/wordcount/main/ts/text/WordBoundary.ts
+++ b/tools-ng/tinymce/src/plugins/wordcount/main/ts/text/WordBoundary.ts
@@ -1,11 +1,8 @@
/**
- * WordBoundary.js
- *
- * Released under LGPL License.
- * Copyright (c) 1999-2016 Ephox Corp. All rights reserved
- *
- * License: http://www.tinymce.com/license
- * Contributing: http://www.tinymce.com/contributing
+ * Copyright (c) Tiny Technologies, Inc. All rights reserved.
+ * Licensed under the LGPL or a commercial license.
+ * For LGPL see License.txt in the project root for license information.
+ * For commercial licenses see https://www.tiny.cloud/
*/
import UnicodeData from './UnicodeData';
diff --git a/tools-ng/tinymce/editor/src/plugins/wordcount/main/ts/text/WordCount.ts b/tools-ng/tinymce/src/plugins/wordcount/main/ts/text/WordCount.ts
similarity index 84%
rename from tools-ng/tinymce/editor/src/plugins/wordcount/main/ts/text/WordCount.ts
rename to tools-ng/tinymce/src/plugins/wordcount/main/ts/text/WordCount.ts
index aa365b941..864636a80 100644
--- a/tools-ng/tinymce/editor/src/plugins/wordcount/main/ts/text/WordCount.ts
+++ b/tools-ng/tinymce/src/plugins/wordcount/main/ts/text/WordCount.ts
@@ -1,11 +1,8 @@
/**
- * WordCount.js
- *
- * Released under LGPL License.
- * Copyright (c) 1999-2016 Ephox Corp. All rights reserved
- *
- * License: http://www.tinymce.com/license
- * Contributing: http://www.tinymce.com/contributing
+ * Copyright (c) Tiny Technologies, Inc. All rights reserved.
+ * Licensed under the LGPL or a commercial license.
+ * For LGPL see License.txt in the project root for license information.
+ * For commercial licenses see https://www.tiny.cloud/
*/
import { CharacterData, Node } from '@ephox/dom-globals';
diff --git a/tools-ng/tinymce/editor/src/plugins/wordcount/main/ts/text/WordGetter.ts b/tools-ng/tinymce/src/plugins/wordcount/main/ts/text/WordGetter.ts
similarity index 90%
rename from tools-ng/tinymce/editor/src/plugins/wordcount/main/ts/text/WordGetter.ts
rename to tools-ng/tinymce/src/plugins/wordcount/main/ts/text/WordGetter.ts
index 1349e1f7b..9d994f6b8 100644
--- a/tools-ng/tinymce/editor/src/plugins/wordcount/main/ts/text/WordGetter.ts
+++ b/tools-ng/tinymce/src/plugins/wordcount/main/ts/text/WordGetter.ts
@@ -1,11 +1,8 @@
/**
- * WordGetter.js
- *
- * Released under LGPL License.
- * Copyright (c) 1999-2016 Ephox Corp. All rights reserved
- *
- * License: http://www.tinymce.com/license
- * Contributing: http://www.tinymce.com/contributing
+ * Copyright (c) Tiny Technologies, Inc. All rights reserved.
+ * Licensed under the LGPL or a commercial license.
+ * For LGPL see License.txt in the project root for license information.
+ * For commercial licenses see https://www.tiny.cloud/
*/
import UnicodeData from './UnicodeData';
diff --git a/tools-ng/tinymce/editor/src/plugins/wordcount/main/ts/ui/Statusbar.ts b/tools-ng/tinymce/src/plugins/wordcount/main/ts/ui/Statusbar.ts
similarity index 80%
rename from tools-ng/tinymce/editor/src/plugins/wordcount/main/ts/ui/Statusbar.ts
rename to tools-ng/tinymce/src/plugins/wordcount/main/ts/ui/Statusbar.ts
index 044d79775..54a76b9ef 100644
--- a/tools-ng/tinymce/editor/src/plugins/wordcount/main/ts/ui/Statusbar.ts
+++ b/tools-ng/tinymce/src/plugins/wordcount/main/ts/ui/Statusbar.ts
@@ -1,11 +1,8 @@
/**
- * Statusbar.js
- *
- * Released under LGPL License.
- * Copyright (c) 1999-2016 Ephox Corp. All rights reserved
- *
- * License: http://www.tinymce.com/license
- * Contributing: http://www.tinymce.com/contributing
+ * Copyright (c) Tiny Technologies, Inc. All rights reserved.
+ * Licensed under the LGPL or a commercial license.
+ * For LGPL see License.txt in the project root for license information.
+ * For commercial licenses see https://www.tiny.cloud/
*/
import Delay from 'tinymce/core/api/util/Delay';
diff --git a/tools-ng/tinymce/editor/src/plugins/wordcount/test/.eslintrc b/tools-ng/tinymce/src/plugins/wordcount/test/.eslintrc
similarity index 100%
rename from tools-ng/tinymce/editor/src/plugins/wordcount/test/.eslintrc
rename to tools-ng/tinymce/src/plugins/wordcount/test/.eslintrc
diff --git a/tools-ng/tinymce/editor/src/plugins/wordcount/test/ts/atomic/core/IsWordBoundaryTest.ts b/tools-ng/tinymce/src/plugins/wordcount/test/ts/atomic/core/IsWordBoundaryTest.ts
similarity index 100%
rename from tools-ng/tinymce/editor/src/plugins/wordcount/test/ts/atomic/core/IsWordBoundaryTest.ts
rename to tools-ng/tinymce/src/plugins/wordcount/test/ts/atomic/core/IsWordBoundaryTest.ts
diff --git a/tools-ng/tinymce/editor/src/plugins/wordcount/test/ts/atomic/core/StringMapperTest.ts b/tools-ng/tinymce/src/plugins/wordcount/test/ts/atomic/core/StringMapperTest.ts
similarity index 100%
rename from tools-ng/tinymce/editor/src/plugins/wordcount/test/ts/atomic/core/StringMapperTest.ts
rename to tools-ng/tinymce/src/plugins/wordcount/test/ts/atomic/core/StringMapperTest.ts
diff --git a/tools-ng/tinymce/editor/src/plugins/wordcount/test/ts/atomic/core/WordGetterTest.ts b/tools-ng/tinymce/src/plugins/wordcount/test/ts/atomic/core/WordGetterTest.ts
similarity index 100%
rename from tools-ng/tinymce/editor/src/plugins/wordcount/test/ts/atomic/core/WordGetterTest.ts
rename to tools-ng/tinymce/src/plugins/wordcount/test/ts/atomic/core/WordGetterTest.ts
diff --git a/tools-ng/tinymce/editor/src/plugins/wordcount/test/ts/browser/ApiTest.ts b/tools-ng/tinymce/src/plugins/wordcount/test/ts/browser/ApiTest.ts
similarity index 100%
rename from tools-ng/tinymce/editor/src/plugins/wordcount/test/ts/browser/ApiTest.ts
rename to tools-ng/tinymce/src/plugins/wordcount/test/ts/browser/ApiTest.ts
diff --git a/tools-ng/tinymce/editor/src/plugins/wordcount/test/ts/browser/core/PluginTest.ts b/tools-ng/tinymce/src/plugins/wordcount/test/ts/browser/core/PluginTest.ts
similarity index 100%
rename from tools-ng/tinymce/editor/src/plugins/wordcount/test/ts/browser/core/PluginTest.ts
rename to tools-ng/tinymce/src/plugins/wordcount/test/ts/browser/core/PluginTest.ts
diff --git a/tools-ng/tinymce/editor/src/skins/lightgray/demo/html/icons_demo.html b/tools-ng/tinymce/src/skins/lightgray/demo/html/icons_demo.html
similarity index 100%
rename from tools-ng/tinymce/editor/src/skins/lightgray/demo/html/icons_demo.html
rename to tools-ng/tinymce/src/skins/lightgray/demo/html/icons_demo.html
diff --git a/tools-ng/tinymce/editor/src/skins/lightgray/main/fonts/readme.md b/tools-ng/tinymce/src/skins/lightgray/main/fonts/readme.md
similarity index 100%
rename from tools-ng/tinymce/editor/src/skins/lightgray/main/fonts/readme.md
rename to tools-ng/tinymce/src/skins/lightgray/main/fonts/readme.md
diff --git a/tools-ng/tinymce/editor/src/skins/lightgray/main/fonts/tinymce-mobile.json b/tools-ng/tinymce/src/skins/lightgray/main/fonts/tinymce-mobile.json
similarity index 100%
rename from tools-ng/tinymce/editor/src/skins/lightgray/main/fonts/tinymce-mobile.json
rename to tools-ng/tinymce/src/skins/lightgray/main/fonts/tinymce-mobile.json
diff --git a/tools-ng/tinymce/editor/src/skins/lightgray/main/fonts/tinymce-mobile.woff b/tools-ng/tinymce/src/skins/lightgray/main/fonts/tinymce-mobile.woff
similarity index 100%
rename from tools-ng/tinymce/editor/src/skins/lightgray/main/fonts/tinymce-mobile.woff
rename to tools-ng/tinymce/src/skins/lightgray/main/fonts/tinymce-mobile.woff
diff --git a/tools-ng/tinymce/editor/src/skins/lightgray/main/fonts/tinymce-small.eot b/tools-ng/tinymce/src/skins/lightgray/main/fonts/tinymce-small.eot
similarity index 100%
rename from tools-ng/tinymce/editor/src/skins/lightgray/main/fonts/tinymce-small.eot
rename to tools-ng/tinymce/src/skins/lightgray/main/fonts/tinymce-small.eot
diff --git a/tools-ng/tinymce/editor/src/skins/lightgray/main/fonts/tinymce-small.json b/tools-ng/tinymce/src/skins/lightgray/main/fonts/tinymce-small.json
similarity index 100%
rename from tools-ng/tinymce/editor/src/skins/lightgray/main/fonts/tinymce-small.json
rename to tools-ng/tinymce/src/skins/lightgray/main/fonts/tinymce-small.json
diff --git a/tools-ng/tinymce/editor/src/skins/lightgray/main/fonts/tinymce-small.svg b/tools-ng/tinymce/src/skins/lightgray/main/fonts/tinymce-small.svg
similarity index 100%
rename from tools-ng/tinymce/editor/src/skins/lightgray/main/fonts/tinymce-small.svg
rename to tools-ng/tinymce/src/skins/lightgray/main/fonts/tinymce-small.svg
diff --git a/tools-ng/tinymce/editor/src/skins/lightgray/main/fonts/tinymce-small.ttf b/tools-ng/tinymce/src/skins/lightgray/main/fonts/tinymce-small.ttf
similarity index 100%
rename from tools-ng/tinymce/editor/src/skins/lightgray/main/fonts/tinymce-small.ttf
rename to tools-ng/tinymce/src/skins/lightgray/main/fonts/tinymce-small.ttf
diff --git a/tools-ng/tinymce/editor/src/skins/lightgray/main/fonts/tinymce-small.woff b/tools-ng/tinymce/src/skins/lightgray/main/fonts/tinymce-small.woff
similarity index 100%
rename from tools-ng/tinymce/editor/src/skins/lightgray/main/fonts/tinymce-small.woff
rename to tools-ng/tinymce/src/skins/lightgray/main/fonts/tinymce-small.woff
diff --git a/tools-ng/tinymce/editor/src/skins/lightgray/main/fonts/tinymce.eot b/tools-ng/tinymce/src/skins/lightgray/main/fonts/tinymce.eot
similarity index 100%
rename from tools-ng/tinymce/editor/src/skins/lightgray/main/fonts/tinymce.eot
rename to tools-ng/tinymce/src/skins/lightgray/main/fonts/tinymce.eot
diff --git a/tools-ng/tinymce/editor/src/skins/lightgray/main/fonts/tinymce.json b/tools-ng/tinymce/src/skins/lightgray/main/fonts/tinymce.json
similarity index 100%
rename from tools-ng/tinymce/editor/src/skins/lightgray/main/fonts/tinymce.json
rename to tools-ng/tinymce/src/skins/lightgray/main/fonts/tinymce.json
diff --git a/tools-ng/tinymce/editor/src/skins/lightgray/main/fonts/tinymce.svg b/tools-ng/tinymce/src/skins/lightgray/main/fonts/tinymce.svg
similarity index 100%
rename from tools-ng/tinymce/editor/src/skins/lightgray/main/fonts/tinymce.svg
rename to tools-ng/tinymce/src/skins/lightgray/main/fonts/tinymce.svg
diff --git a/tools-ng/tinymce/editor/src/skins/lightgray/main/fonts/tinymce.ttf b/tools-ng/tinymce/src/skins/lightgray/main/fonts/tinymce.ttf
similarity index 100%
rename from tools-ng/tinymce/editor/src/skins/lightgray/main/fonts/tinymce.ttf
rename to tools-ng/tinymce/src/skins/lightgray/main/fonts/tinymce.ttf
diff --git a/tools-ng/tinymce/editor/src/skins/lightgray/main/fonts/tinymce.woff b/tools-ng/tinymce/src/skins/lightgray/main/fonts/tinymce.woff
similarity index 100%
rename from tools-ng/tinymce/editor/src/skins/lightgray/main/fonts/tinymce.woff
rename to tools-ng/tinymce/src/skins/lightgray/main/fonts/tinymce.woff
diff --git a/tools-ng/tinymce/editor/src/skins/lightgray/main/img/anchor.gif b/tools-ng/tinymce/src/skins/lightgray/main/img/anchor.gif
similarity index 100%
rename from tools-ng/tinymce/editor/src/skins/lightgray/main/img/anchor.gif
rename to tools-ng/tinymce/src/skins/lightgray/main/img/anchor.gif
diff --git a/tools-ng/tinymce/editor/src/skins/lightgray/main/img/loader.gif b/tools-ng/tinymce/src/skins/lightgray/main/img/loader.gif
similarity index 100%
rename from tools-ng/tinymce/editor/src/skins/lightgray/main/img/loader.gif
rename to tools-ng/tinymce/src/skins/lightgray/main/img/loader.gif
diff --git a/tools-ng/tinymce/editor/src/skins/lightgray/main/img/object.gif b/tools-ng/tinymce/src/skins/lightgray/main/img/object.gif
similarity index 100%
rename from tools-ng/tinymce/editor/src/skins/lightgray/main/img/object.gif
rename to tools-ng/tinymce/src/skins/lightgray/main/img/object.gif
diff --git a/tools-ng/tinymce/editor/src/skins/lightgray/main/img/trans.gif b/tools-ng/tinymce/src/skins/lightgray/main/img/trans.gif
similarity index 100%
rename from tools-ng/tinymce/editor/src/skins/lightgray/main/img/trans.gif
rename to tools-ng/tinymce/src/skins/lightgray/main/img/trans.gif
diff --git a/tools-ng/tinymce/editor/src/skins/lightgray/main/less/desktop/AbsoluteLayout.less b/tools-ng/tinymce/src/skins/lightgray/main/less/desktop/AbsoluteLayout.less
similarity index 100%
rename from tools-ng/tinymce/editor/src/skins/lightgray/main/less/desktop/AbsoluteLayout.less
rename to tools-ng/tinymce/src/skins/lightgray/main/less/desktop/AbsoluteLayout.less
diff --git a/tools-ng/tinymce/editor/src/skins/lightgray/main/less/desktop/Animations.less b/tools-ng/tinymce/src/skins/lightgray/main/less/desktop/Animations.less
similarity index 100%
rename from tools-ng/tinymce/editor/src/skins/lightgray/main/less/desktop/Animations.less
rename to tools-ng/tinymce/src/skins/lightgray/main/less/desktop/Animations.less
diff --git a/tools-ng/tinymce/editor/src/skins/lightgray/main/less/desktop/Arrows.less b/tools-ng/tinymce/src/skins/lightgray/main/less/desktop/Arrows.less
similarity index 100%
rename from tools-ng/tinymce/editor/src/skins/lightgray/main/less/desktop/Arrows.less
rename to tools-ng/tinymce/src/skins/lightgray/main/less/desktop/Arrows.less
diff --git a/tools-ng/tinymce/editor/src/skins/lightgray/main/less/desktop/BrowseButton.less b/tools-ng/tinymce/src/skins/lightgray/main/less/desktop/BrowseButton.less
similarity index 100%
rename from tools-ng/tinymce/editor/src/skins/lightgray/main/less/desktop/BrowseButton.less
rename to tools-ng/tinymce/src/skins/lightgray/main/less/desktop/BrowseButton.less
diff --git a/tools-ng/tinymce/editor/src/skins/lightgray/main/less/desktop/Button.less b/tools-ng/tinymce/src/skins/lightgray/main/less/desktop/Button.less
similarity index 100%
rename from tools-ng/tinymce/editor/src/skins/lightgray/main/less/desktop/Button.less
rename to tools-ng/tinymce/src/skins/lightgray/main/less/desktop/Button.less
diff --git a/tools-ng/tinymce/editor/src/skins/lightgray/main/less/desktop/ButtonGroup.less b/tools-ng/tinymce/src/skins/lightgray/main/less/desktop/ButtonGroup.less
similarity index 100%
rename from tools-ng/tinymce/editor/src/skins/lightgray/main/less/desktop/ButtonGroup.less
rename to tools-ng/tinymce/src/skins/lightgray/main/less/desktop/ButtonGroup.less
diff --git a/tools-ng/tinymce/editor/src/skins/lightgray/main/less/desktop/Checkbox.less b/tools-ng/tinymce/src/skins/lightgray/main/less/desktop/Checkbox.less
similarity index 100%
rename from tools-ng/tinymce/editor/src/skins/lightgray/main/less/desktop/Checkbox.less
rename to tools-ng/tinymce/src/skins/lightgray/main/less/desktop/Checkbox.less
diff --git a/tools-ng/tinymce/editor/src/skins/lightgray/main/less/desktop/ColorBox.less b/tools-ng/tinymce/src/skins/lightgray/main/less/desktop/ColorBox.less
similarity index 100%
rename from tools-ng/tinymce/editor/src/skins/lightgray/main/less/desktop/ColorBox.less
rename to tools-ng/tinymce/src/skins/lightgray/main/less/desktop/ColorBox.less
diff --git a/tools-ng/tinymce/editor/src/skins/lightgray/main/less/desktop/ColorButton.less b/tools-ng/tinymce/src/skins/lightgray/main/less/desktop/ColorButton.less
similarity index 100%
rename from tools-ng/tinymce/editor/src/skins/lightgray/main/less/desktop/ColorButton.less
rename to tools-ng/tinymce/src/skins/lightgray/main/less/desktop/ColorButton.less
diff --git a/tools-ng/tinymce/editor/src/skins/lightgray/main/less/desktop/ColorPicker.less b/tools-ng/tinymce/src/skins/lightgray/main/less/desktop/ColorPicker.less
similarity index 100%
rename from tools-ng/tinymce/editor/src/skins/lightgray/main/less/desktop/ColorPicker.less
rename to tools-ng/tinymce/src/skins/lightgray/main/less/desktop/ColorPicker.less
diff --git a/tools-ng/tinymce/editor/src/skins/lightgray/main/less/desktop/ComboBox.less b/tools-ng/tinymce/src/skins/lightgray/main/less/desktop/ComboBox.less
similarity index 100%
rename from tools-ng/tinymce/editor/src/skins/lightgray/main/less/desktop/ComboBox.less
rename to tools-ng/tinymce/src/skins/lightgray/main/less/desktop/ComboBox.less
diff --git a/tools-ng/tinymce/editor/src/skins/lightgray/main/less/desktop/Container.less b/tools-ng/tinymce/src/skins/lightgray/main/less/desktop/Container.less
similarity index 100%
rename from tools-ng/tinymce/editor/src/skins/lightgray/main/less/desktop/Container.less
rename to tools-ng/tinymce/src/skins/lightgray/main/less/desktop/Container.less
diff --git a/tools-ng/tinymce/editor/src/skins/lightgray/main/less/desktop/Content.Inline.less b/tools-ng/tinymce/src/skins/lightgray/main/less/desktop/Content.Inline.less
similarity index 100%
rename from tools-ng/tinymce/editor/src/skins/lightgray/main/less/desktop/Content.Inline.less
rename to tools-ng/tinymce/src/skins/lightgray/main/less/desktop/Content.Inline.less
diff --git a/tools-ng/tinymce/editor/src/skins/lightgray/main/less/desktop/Content.Objects.less b/tools-ng/tinymce/src/skins/lightgray/main/less/desktop/Content.Objects.less
similarity index 100%
rename from tools-ng/tinymce/editor/src/skins/lightgray/main/less/desktop/Content.Objects.less
rename to tools-ng/tinymce/src/skins/lightgray/main/less/desktop/Content.Objects.less
diff --git a/tools-ng/tinymce/editor/src/skins/lightgray/main/less/desktop/Content.less b/tools-ng/tinymce/src/skins/lightgray/main/less/desktop/Content.less
similarity index 100%
rename from tools-ng/tinymce/editor/src/skins/lightgray/main/less/desktop/Content.less
rename to tools-ng/tinymce/src/skins/lightgray/main/less/desktop/Content.less
diff --git a/tools-ng/tinymce/editor/src/skins/lightgray/main/less/desktop/CropRect.less b/tools-ng/tinymce/src/skins/lightgray/main/less/desktop/CropRect.less
similarity index 100%
rename from tools-ng/tinymce/editor/src/skins/lightgray/main/less/desktop/CropRect.less
rename to tools-ng/tinymce/src/skins/lightgray/main/less/desktop/CropRect.less
diff --git a/tools-ng/tinymce/editor/src/skins/lightgray/main/less/desktop/DropZone.less b/tools-ng/tinymce/src/skins/lightgray/main/less/desktop/DropZone.less
similarity index 100%
rename from tools-ng/tinymce/editor/src/skins/lightgray/main/less/desktop/DropZone.less
rename to tools-ng/tinymce/src/skins/lightgray/main/less/desktop/DropZone.less
diff --git a/tools-ng/tinymce/editor/src/skins/lightgray/main/less/desktop/FieldSet.less b/tools-ng/tinymce/src/skins/lightgray/main/less/desktop/FieldSet.less
similarity index 100%
rename from tools-ng/tinymce/editor/src/skins/lightgray/main/less/desktop/FieldSet.less
rename to tools-ng/tinymce/src/skins/lightgray/main/less/desktop/FieldSet.less
diff --git a/tools-ng/tinymce/editor/src/skins/lightgray/main/less/desktop/FilePicker.less b/tools-ng/tinymce/src/skins/lightgray/main/less/desktop/FilePicker.less
similarity index 100%
rename from tools-ng/tinymce/editor/src/skins/lightgray/main/less/desktop/FilePicker.less
rename to tools-ng/tinymce/src/skins/lightgray/main/less/desktop/FilePicker.less
diff --git a/tools-ng/tinymce/editor/src/skins/lightgray/main/less/desktop/FitLayout.less b/tools-ng/tinymce/src/skins/lightgray/main/less/desktop/FitLayout.less
similarity index 100%
rename from tools-ng/tinymce/editor/src/skins/lightgray/main/less/desktop/FitLayout.less
rename to tools-ng/tinymce/src/skins/lightgray/main/less/desktop/FitLayout.less
diff --git a/tools-ng/tinymce/editor/src/skins/lightgray/main/less/desktop/FloatPanel.less b/tools-ng/tinymce/src/skins/lightgray/main/less/desktop/FloatPanel.less
similarity index 100%
rename from tools-ng/tinymce/editor/src/skins/lightgray/main/less/desktop/FloatPanel.less
rename to tools-ng/tinymce/src/skins/lightgray/main/less/desktop/FloatPanel.less
diff --git a/tools-ng/tinymce/editor/src/skins/lightgray/main/less/desktop/FlowLayout.less b/tools-ng/tinymce/src/skins/lightgray/main/less/desktop/FlowLayout.less
similarity index 100%
rename from tools-ng/tinymce/editor/src/skins/lightgray/main/less/desktop/FlowLayout.less
rename to tools-ng/tinymce/src/skins/lightgray/main/less/desktop/FlowLayout.less
diff --git a/tools-ng/tinymce/editor/src/skins/lightgray/main/less/desktop/Icons.less b/tools-ng/tinymce/src/skins/lightgray/main/less/desktop/Icons.less
similarity index 100%
rename from tools-ng/tinymce/editor/src/skins/lightgray/main/less/desktop/Icons.less
rename to tools-ng/tinymce/src/skins/lightgray/main/less/desktop/Icons.less
diff --git a/tools-ng/tinymce/editor/src/skins/lightgray/main/less/desktop/Iframe.less b/tools-ng/tinymce/src/skins/lightgray/main/less/desktop/Iframe.less
similarity index 100%
rename from tools-ng/tinymce/editor/src/skins/lightgray/main/less/desktop/Iframe.less
rename to tools-ng/tinymce/src/skins/lightgray/main/less/desktop/Iframe.less
diff --git a/tools-ng/tinymce/editor/src/skins/lightgray/main/less/desktop/ImagePanel.less b/tools-ng/tinymce/src/skins/lightgray/main/less/desktop/ImagePanel.less
similarity index 100%
rename from tools-ng/tinymce/editor/src/skins/lightgray/main/less/desktop/ImagePanel.less
rename to tools-ng/tinymce/src/skins/lightgray/main/less/desktop/ImagePanel.less
diff --git a/tools-ng/tinymce/editor/src/skins/lightgray/main/less/desktop/InfoBox.less b/tools-ng/tinymce/src/skins/lightgray/main/less/desktop/InfoBox.less
similarity index 100%
rename from tools-ng/tinymce/editor/src/skins/lightgray/main/less/desktop/InfoBox.less
rename to tools-ng/tinymce/src/skins/lightgray/main/less/desktop/InfoBox.less
diff --git a/tools-ng/tinymce/editor/src/skins/lightgray/main/less/desktop/Label.less b/tools-ng/tinymce/src/skins/lightgray/main/less/desktop/Label.less
similarity index 100%
rename from tools-ng/tinymce/editor/src/skins/lightgray/main/less/desktop/Label.less
rename to tools-ng/tinymce/src/skins/lightgray/main/less/desktop/Label.less
diff --git a/tools-ng/tinymce/editor/src/skins/lightgray/main/less/desktop/ListBox.less b/tools-ng/tinymce/src/skins/lightgray/main/less/desktop/ListBox.less
similarity index 100%
rename from tools-ng/tinymce/editor/src/skins/lightgray/main/less/desktop/ListBox.less
rename to tools-ng/tinymce/src/skins/lightgray/main/less/desktop/ListBox.less
diff --git a/tools-ng/tinymce/editor/src/skins/lightgray/main/less/desktop/Menu.less b/tools-ng/tinymce/src/skins/lightgray/main/less/desktop/Menu.less
similarity index 100%
rename from tools-ng/tinymce/editor/src/skins/lightgray/main/less/desktop/Menu.less
rename to tools-ng/tinymce/src/skins/lightgray/main/less/desktop/Menu.less
diff --git a/tools-ng/tinymce/editor/src/skins/lightgray/main/less/desktop/MenuBar.less b/tools-ng/tinymce/src/skins/lightgray/main/less/desktop/MenuBar.less
similarity index 100%
rename from tools-ng/tinymce/editor/src/skins/lightgray/main/less/desktop/MenuBar.less
rename to tools-ng/tinymce/src/skins/lightgray/main/less/desktop/MenuBar.less
diff --git a/tools-ng/tinymce/editor/src/skins/lightgray/main/less/desktop/MenuButton.less b/tools-ng/tinymce/src/skins/lightgray/main/less/desktop/MenuButton.less
similarity index 100%
rename from tools-ng/tinymce/editor/src/skins/lightgray/main/less/desktop/MenuButton.less
rename to tools-ng/tinymce/src/skins/lightgray/main/less/desktop/MenuButton.less
diff --git a/tools-ng/tinymce/editor/src/skins/lightgray/main/less/desktop/MenuItem.less b/tools-ng/tinymce/src/skins/lightgray/main/less/desktop/MenuItem.less
similarity index 100%
rename from tools-ng/tinymce/editor/src/skins/lightgray/main/less/desktop/MenuItem.less
rename to tools-ng/tinymce/src/skins/lightgray/main/less/desktop/MenuItem.less
diff --git a/tools-ng/tinymce/editor/src/skins/lightgray/main/less/desktop/Mixins.less b/tools-ng/tinymce/src/skins/lightgray/main/less/desktop/Mixins.less
similarity index 100%
rename from tools-ng/tinymce/editor/src/skins/lightgray/main/less/desktop/Mixins.less
rename to tools-ng/tinymce/src/skins/lightgray/main/less/desktop/Mixins.less
diff --git a/tools-ng/tinymce/editor/src/skins/lightgray/main/less/desktop/Notification.less b/tools-ng/tinymce/src/skins/lightgray/main/less/desktop/Notification.less
similarity index 100%
rename from tools-ng/tinymce/editor/src/skins/lightgray/main/less/desktop/Notification.less
rename to tools-ng/tinymce/src/skins/lightgray/main/less/desktop/Notification.less
diff --git a/tools-ng/tinymce/editor/src/skins/lightgray/main/less/desktop/Panel.less b/tools-ng/tinymce/src/skins/lightgray/main/less/desktop/Panel.less
similarity index 100%
rename from tools-ng/tinymce/editor/src/skins/lightgray/main/less/desktop/Panel.less
rename to tools-ng/tinymce/src/skins/lightgray/main/less/desktop/Panel.less
diff --git a/tools-ng/tinymce/editor/src/skins/lightgray/main/less/desktop/Path.less b/tools-ng/tinymce/src/skins/lightgray/main/less/desktop/Path.less
similarity index 100%
rename from tools-ng/tinymce/editor/src/skins/lightgray/main/less/desktop/Path.less
rename to tools-ng/tinymce/src/skins/lightgray/main/less/desktop/Path.less
diff --git a/tools-ng/tinymce/editor/src/skins/lightgray/main/less/desktop/Progress.less b/tools-ng/tinymce/src/skins/lightgray/main/less/desktop/Progress.less
similarity index 100%
rename from tools-ng/tinymce/editor/src/skins/lightgray/main/less/desktop/Progress.less
rename to tools-ng/tinymce/src/skins/lightgray/main/less/desktop/Progress.less
diff --git a/tools-ng/tinymce/editor/src/skins/lightgray/main/less/desktop/Radio.less b/tools-ng/tinymce/src/skins/lightgray/main/less/desktop/Radio.less
similarity index 100%
rename from tools-ng/tinymce/editor/src/skins/lightgray/main/less/desktop/Radio.less
rename to tools-ng/tinymce/src/skins/lightgray/main/less/desktop/Radio.less
diff --git a/tools-ng/tinymce/editor/src/skins/lightgray/main/less/desktop/Reset.less b/tools-ng/tinymce/src/skins/lightgray/main/less/desktop/Reset.less
similarity index 100%
rename from tools-ng/tinymce/editor/src/skins/lightgray/main/less/desktop/Reset.less
rename to tools-ng/tinymce/src/skins/lightgray/main/less/desktop/Reset.less
diff --git a/tools-ng/tinymce/editor/src/skins/lightgray/main/less/desktop/ResizeHandle.less b/tools-ng/tinymce/src/skins/lightgray/main/less/desktop/ResizeHandle.less
similarity index 100%
rename from tools-ng/tinymce/editor/src/skins/lightgray/main/less/desktop/ResizeHandle.less
rename to tools-ng/tinymce/src/skins/lightgray/main/less/desktop/ResizeHandle.less
diff --git a/tools-ng/tinymce/editor/src/skins/lightgray/main/less/desktop/Scrollable.less b/tools-ng/tinymce/src/skins/lightgray/main/less/desktop/Scrollable.less
similarity index 100%
rename from tools-ng/tinymce/editor/src/skins/lightgray/main/less/desktop/Scrollable.less
rename to tools-ng/tinymce/src/skins/lightgray/main/less/desktop/Scrollable.less
diff --git a/tools-ng/tinymce/editor/src/skins/lightgray/main/less/desktop/SelectBox.less b/tools-ng/tinymce/src/skins/lightgray/main/less/desktop/SelectBox.less
similarity index 100%
rename from tools-ng/tinymce/editor/src/skins/lightgray/main/less/desktop/SelectBox.less
rename to tools-ng/tinymce/src/skins/lightgray/main/less/desktop/SelectBox.less
diff --git a/tools-ng/tinymce/editor/src/skins/lightgray/main/less/desktop/Sidebar.less b/tools-ng/tinymce/src/skins/lightgray/main/less/desktop/Sidebar.less
similarity index 100%
rename from tools-ng/tinymce/editor/src/skins/lightgray/main/less/desktop/Sidebar.less
rename to tools-ng/tinymce/src/skins/lightgray/main/less/desktop/Sidebar.less
diff --git a/tools-ng/tinymce/editor/src/skins/lightgray/main/less/desktop/Skin.less b/tools-ng/tinymce/src/skins/lightgray/main/less/desktop/Skin.less
similarity index 100%
rename from tools-ng/tinymce/editor/src/skins/lightgray/main/less/desktop/Skin.less
rename to tools-ng/tinymce/src/skins/lightgray/main/less/desktop/Skin.less
diff --git a/tools-ng/tinymce/editor/src/skins/lightgray/main/less/desktop/Slider.less b/tools-ng/tinymce/src/skins/lightgray/main/less/desktop/Slider.less
similarity index 100%
rename from tools-ng/tinymce/editor/src/skins/lightgray/main/less/desktop/Slider.less
rename to tools-ng/tinymce/src/skins/lightgray/main/less/desktop/Slider.less
diff --git a/tools-ng/tinymce/editor/src/skins/lightgray/main/less/desktop/Spacer.less b/tools-ng/tinymce/src/skins/lightgray/main/less/desktop/Spacer.less
similarity index 100%
rename from tools-ng/tinymce/editor/src/skins/lightgray/main/less/desktop/Spacer.less
rename to tools-ng/tinymce/src/skins/lightgray/main/less/desktop/Spacer.less
diff --git a/tools-ng/tinymce/editor/src/skins/lightgray/main/less/desktop/SplitButton.less b/tools-ng/tinymce/src/skins/lightgray/main/less/desktop/SplitButton.less
similarity index 100%
rename from tools-ng/tinymce/editor/src/skins/lightgray/main/less/desktop/SplitButton.less
rename to tools-ng/tinymce/src/skins/lightgray/main/less/desktop/SplitButton.less
diff --git a/tools-ng/tinymce/editor/src/skins/lightgray/main/less/desktop/StackLayout.less b/tools-ng/tinymce/src/skins/lightgray/main/less/desktop/StackLayout.less
similarity index 100%
rename from tools-ng/tinymce/editor/src/skins/lightgray/main/less/desktop/StackLayout.less
rename to tools-ng/tinymce/src/skins/lightgray/main/less/desktop/StackLayout.less
diff --git a/tools-ng/tinymce/editor/src/skins/lightgray/main/less/desktop/TabPanel.less b/tools-ng/tinymce/src/skins/lightgray/main/less/desktop/TabPanel.less
similarity index 100%
rename from tools-ng/tinymce/editor/src/skins/lightgray/main/less/desktop/TabPanel.less
rename to tools-ng/tinymce/src/skins/lightgray/main/less/desktop/TabPanel.less
diff --git a/tools-ng/tinymce/editor/src/skins/lightgray/main/less/desktop/TextBox.less b/tools-ng/tinymce/src/skins/lightgray/main/less/desktop/TextBox.less
similarity index 100%
rename from tools-ng/tinymce/editor/src/skins/lightgray/main/less/desktop/TextBox.less
rename to tools-ng/tinymce/src/skins/lightgray/main/less/desktop/TextBox.less
diff --git a/tools-ng/tinymce/editor/src/skins/lightgray/main/less/desktop/Throbber.less b/tools-ng/tinymce/src/skins/lightgray/main/less/desktop/Throbber.less
similarity index 100%
rename from tools-ng/tinymce/editor/src/skins/lightgray/main/less/desktop/Throbber.less
rename to tools-ng/tinymce/src/skins/lightgray/main/less/desktop/Throbber.less
diff --git a/tools-ng/tinymce/editor/src/skins/lightgray/main/less/desktop/TinyMCE.less b/tools-ng/tinymce/src/skins/lightgray/main/less/desktop/TinyMCE.less
similarity index 100%
rename from tools-ng/tinymce/editor/src/skins/lightgray/main/less/desktop/TinyMCE.less
rename to tools-ng/tinymce/src/skins/lightgray/main/less/desktop/TinyMCE.less
diff --git a/tools-ng/tinymce/editor/src/skins/lightgray/main/less/desktop/ToolTip.less b/tools-ng/tinymce/src/skins/lightgray/main/less/desktop/ToolTip.less
similarity index 100%
rename from tools-ng/tinymce/editor/src/skins/lightgray/main/less/desktop/ToolTip.less
rename to tools-ng/tinymce/src/skins/lightgray/main/less/desktop/ToolTip.less
diff --git a/tools-ng/tinymce/editor/src/skins/lightgray/main/less/desktop/Variables.less b/tools-ng/tinymce/src/skins/lightgray/main/less/desktop/Variables.less
similarity index 100%
rename from tools-ng/tinymce/editor/src/skins/lightgray/main/less/desktop/Variables.less
rename to tools-ng/tinymce/src/skins/lightgray/main/less/desktop/Variables.less
diff --git a/tools-ng/tinymce/editor/src/skins/lightgray/main/less/desktop/Window.less b/tools-ng/tinymce/src/skins/lightgray/main/less/desktop/Window.less
similarity index 100%
rename from tools-ng/tinymce/editor/src/skins/lightgray/main/less/desktop/Window.less
rename to tools-ng/tinymce/src/skins/lightgray/main/less/desktop/Window.less
diff --git a/tools-ng/tinymce/editor/src/skins/lightgray/main/less/mobile/app/android.less b/tools-ng/tinymce/src/skins/lightgray/main/less/mobile/app/android.less
similarity index 100%
rename from tools-ng/tinymce/editor/src/skins/lightgray/main/less/mobile/app/android.less
rename to tools-ng/tinymce/src/skins/lightgray/main/less/mobile/app/android.less
diff --git a/tools-ng/tinymce/editor/src/skins/lightgray/main/less/mobile/app/mask-section.less b/tools-ng/tinymce/src/skins/lightgray/main/less/mobile/app/mask-section.less
similarity index 100%
rename from tools-ng/tinymce/editor/src/skins/lightgray/main/less/mobile/app/mask-section.less
rename to tools-ng/tinymce/src/skins/lightgray/main/less/mobile/app/mask-section.less
diff --git a/tools-ng/tinymce/editor/src/skins/lightgray/main/less/mobile/app/mask.less b/tools-ng/tinymce/src/skins/lightgray/main/less/mobile/app/mask.less
similarity index 100%
rename from tools-ng/tinymce/editor/src/skins/lightgray/main/less/mobile/app/mask.less
rename to tools-ng/tinymce/src/skins/lightgray/main/less/mobile/app/mask.less
diff --git a/tools-ng/tinymce/editor/src/skins/lightgray/main/less/mobile/app/mobile-icons.less b/tools-ng/tinymce/src/skins/lightgray/main/less/mobile/app/mobile-icons.less
similarity index 100%
rename from tools-ng/tinymce/editor/src/skins/lightgray/main/less/mobile/app/mobile-icons.less
rename to tools-ng/tinymce/src/skins/lightgray/main/less/mobile/app/mobile-icons.less
diff --git a/tools-ng/tinymce/editor/src/skins/lightgray/main/less/mobile/app/mobile-less.less b/tools-ng/tinymce/src/skins/lightgray/main/less/mobile/app/mobile-less.less
similarity index 100%
rename from tools-ng/tinymce/editor/src/skins/lightgray/main/less/mobile/app/mobile-less.less
rename to tools-ng/tinymce/src/skins/lightgray/main/less/mobile/app/mobile-less.less
diff --git a/tools-ng/tinymce/editor/src/skins/lightgray/main/less/mobile/app/reset.less b/tools-ng/tinymce/src/skins/lightgray/main/less/mobile/app/reset.less
similarity index 100%
rename from tools-ng/tinymce/editor/src/skins/lightgray/main/less/mobile/app/reset.less
rename to tools-ng/tinymce/src/skins/lightgray/main/less/mobile/app/reset.less
diff --git a/tools-ng/tinymce/editor/src/skins/lightgray/main/less/mobile/app/variables.less b/tools-ng/tinymce/src/skins/lightgray/main/less/mobile/app/variables.less
similarity index 100%
rename from tools-ng/tinymce/editor/src/skins/lightgray/main/less/mobile/app/variables.less
rename to tools-ng/tinymce/src/skins/lightgray/main/less/mobile/app/variables.less
diff --git a/tools-ng/tinymce/editor/src/skins/lightgray/main/less/mobile/content.less b/tools-ng/tinymce/src/skins/lightgray/main/less/mobile/content.less
similarity index 100%
rename from tools-ng/tinymce/editor/src/skins/lightgray/main/less/mobile/content.less
rename to tools-ng/tinymce/src/skins/lightgray/main/less/mobile/content.less
diff --git a/tools-ng/tinymce/editor/src/skins/lightgray/main/less/mobile/menu/dropup.less b/tools-ng/tinymce/src/skins/lightgray/main/less/mobile/menu/dropup.less
similarity index 100%
rename from tools-ng/tinymce/editor/src/skins/lightgray/main/less/mobile/menu/dropup.less
rename to tools-ng/tinymce/src/skins/lightgray/main/less/mobile/menu/dropup.less
diff --git a/tools-ng/tinymce/editor/src/skins/lightgray/main/less/mobile/menu/styles-menu.less b/tools-ng/tinymce/src/skins/lightgray/main/less/mobile/menu/styles-menu.less
similarity index 100%
rename from tools-ng/tinymce/editor/src/skins/lightgray/main/less/mobile/menu/styles-menu.less
rename to tools-ng/tinymce/src/skins/lightgray/main/less/mobile/menu/styles-menu.less
diff --git a/tools-ng/tinymce/editor/src/skins/lightgray/main/less/mobile/toolstrip/context-toolbar.less b/tools-ng/tinymce/src/skins/lightgray/main/less/mobile/toolstrip/context-toolbar.less
similarity index 100%
rename from tools-ng/tinymce/editor/src/skins/lightgray/main/less/mobile/toolstrip/context-toolbar.less
rename to tools-ng/tinymce/src/skins/lightgray/main/less/mobile/toolstrip/context-toolbar.less
diff --git a/tools-ng/tinymce/editor/src/skins/lightgray/main/less/mobile/toolstrip/main-toolbar.less b/tools-ng/tinymce/src/skins/lightgray/main/less/mobile/toolstrip/main-toolbar.less
similarity index 100%
rename from tools-ng/tinymce/editor/src/skins/lightgray/main/less/mobile/toolstrip/main-toolbar.less
rename to tools-ng/tinymce/src/skins/lightgray/main/less/mobile/toolstrip/main-toolbar.less
diff --git a/tools-ng/tinymce/editor/src/skins/lightgray/main/less/mobile/toolstrip/serialised-dialogs.less b/tools-ng/tinymce/src/skins/lightgray/main/less/mobile/toolstrip/serialised-dialogs.less
similarity index 100%
rename from tools-ng/tinymce/editor/src/skins/lightgray/main/less/mobile/toolstrip/serialised-dialogs.less
rename to tools-ng/tinymce/src/skins/lightgray/main/less/mobile/toolstrip/serialised-dialogs.less
diff --git a/tools-ng/tinymce/editor/src/skins/lightgray/main/less/mobile/toolstrip/slider.less b/tools-ng/tinymce/src/skins/lightgray/main/less/mobile/toolstrip/slider.less
similarity index 100%
rename from tools-ng/tinymce/editor/src/skins/lightgray/main/less/mobile/toolstrip/slider.less
rename to tools-ng/tinymce/src/skins/lightgray/main/less/mobile/toolstrip/slider.less
diff --git a/tools-ng/tinymce/editor/src/skins/lightgray/main/less/mobile/toolstrip/toolstrip.less b/tools-ng/tinymce/src/skins/lightgray/main/less/mobile/toolstrip/toolstrip.less
similarity index 100%
rename from tools-ng/tinymce/editor/src/skins/lightgray/main/less/mobile/toolstrip/toolstrip.less
rename to tools-ng/tinymce/src/skins/lightgray/main/less/mobile/toolstrip/toolstrip.less
diff --git a/tools-ng/tinymce/editor/src/themes/inlite/demo/css/demo.css b/tools-ng/tinymce/src/themes/inlite/demo/css/demo.css
similarity index 100%
rename from tools-ng/tinymce/editor/src/themes/inlite/demo/css/demo.css
rename to tools-ng/tinymce/src/themes/inlite/demo/css/demo.css
diff --git a/tools-ng/tinymce/editor/src/themes/inlite/demo/html/demo.html b/tools-ng/tinymce/src/themes/inlite/demo/html/demo.html
similarity index 100%
rename from tools-ng/tinymce/editor/src/themes/inlite/demo/html/demo.html
rename to tools-ng/tinymce/src/themes/inlite/demo/html/demo.html
diff --git a/tools-ng/tinymce/editor/src/themes/inlite/demo/ts/demo/Demos.ts b/tools-ng/tinymce/src/themes/inlite/demo/ts/demo/Demos.ts
similarity index 100%
rename from tools-ng/tinymce/editor/src/themes/inlite/demo/ts/demo/Demos.ts
rename to tools-ng/tinymce/src/themes/inlite/demo/ts/demo/Demos.ts
diff --git a/tools-ng/tinymce/editor/src/themes/inlite/main/ts/Theme.ts b/tools-ng/tinymce/src/themes/inlite/main/ts/Theme.ts
similarity index 71%
rename from tools-ng/tinymce/editor/src/themes/inlite/main/ts/Theme.ts
rename to tools-ng/tinymce/src/themes/inlite/main/ts/Theme.ts
index 362cc0b67..5bfd007b6 100644
--- a/tools-ng/tinymce/editor/src/themes/inlite/main/ts/Theme.ts
+++ b/tools-ng/tinymce/src/themes/inlite/main/ts/Theme.ts
@@ -1,11 +1,8 @@
/**
- * Theme.js
- *
- * Released under LGPL License.
- * Copyright (c) 1999-2016 Ephox Corp. All rights reserved
- *
- * License: http://www.tinymce.com/license
- * Contributing: http://www.tinymce.com/contributing
+ * Copyright (c) Tiny Technologies, Inc. All rights reserved.
+ * Licensed under the LGPL or a commercial license.
+ * For LGPL see License.txt in the project root for license information.
+ * For commercial licenses see https://www.tiny.cloud/
*/
import ThemeManager from 'tinymce/core/api/ThemeManager';
diff --git a/tools-ng/tinymce/editor/src/themes/inlite/main/ts/alien/Bookmark.ts b/tools-ng/tinymce/src/themes/inlite/main/ts/alien/Bookmark.ts
similarity index 92%
rename from tools-ng/tinymce/editor/src/themes/inlite/main/ts/alien/Bookmark.ts
rename to tools-ng/tinymce/src/themes/inlite/main/ts/alien/Bookmark.ts
index 727ac3e1e..c957d4334 100644
--- a/tools-ng/tinymce/editor/src/themes/inlite/main/ts/alien/Bookmark.ts
+++ b/tools-ng/tinymce/src/themes/inlite/main/ts/alien/Bookmark.ts
@@ -1,11 +1,8 @@
/**
- * Bookmark.js
- *
- * Released under LGPL License.
- * Copyright (c) 1999-2016 Ephox Corp. All rights reserved
- *
- * License: http://www.tinymce.com/license
- * Contributing: http://www.tinymce.com/contributing
+ * Copyright (c) Tiny Technologies, Inc. All rights reserved.
+ * Licensed under the LGPL or a commercial license.
+ * For LGPL see License.txt in the project root for license information.
+ * For commercial licenses see https://www.tiny.cloud/
*/
/**
diff --git a/tools-ng/tinymce/src/themes/inlite/main/ts/alien/DeepFlatten.ts b/tools-ng/tinymce/src/themes/inlite/main/ts/alien/DeepFlatten.ts
new file mode 100644
index 000000000..55901fd97
--- /dev/null
+++ b/tools-ng/tinymce/src/themes/inlite/main/ts/alien/DeepFlatten.ts
@@ -0,0 +1,16 @@
+/**
+ * Copyright (c) Tiny Technologies, Inc. All rights reserved.
+ * Licensed under the LGPL or a commercial license.
+ * For LGPL see License.txt in the project root for license information.
+ * For commercial licenses see https://www.tiny.cloud/
+ */
+
+const flatten = function (arr: any[]) {
+ return arr.reduce(function (results: any[], item) {
+ return Array.isArray(item) ? results.concat(flatten(item)) : results.concat(item);
+ }, []);
+};
+
+export default {
+ flatten
+};
\ No newline at end of file
diff --git a/tools-ng/tinymce/editor/src/themes/inlite/main/ts/alien/EditorSettings.ts b/tools-ng/tinymce/src/themes/inlite/main/ts/alien/EditorSettings.ts
similarity index 88%
rename from tools-ng/tinymce/editor/src/themes/inlite/main/ts/alien/EditorSettings.ts
rename to tools-ng/tinymce/src/themes/inlite/main/ts/alien/EditorSettings.ts
index 3fd7dd3c7..e38fbdc74 100644
--- a/tools-ng/tinymce/editor/src/themes/inlite/main/ts/alien/EditorSettings.ts
+++ b/tools-ng/tinymce/src/themes/inlite/main/ts/alien/EditorSettings.ts
@@ -1,11 +1,8 @@
/**
- * EditorSettings.js
- *
- * Released under LGPL License.
- * Copyright (c) 1999-2016 Ephox Corp. All rights reserved
- *
- * License: http://www.tinymce.com/license
- * Contributing: http://www.tinymce.com/contributing
+ * Copyright (c) Tiny Technologies, Inc. All rights reserved.
+ * Licensed under the LGPL or a commercial license.
+ * For LGPL see License.txt in the project root for license information.
+ * For commercial licenses see https://www.tiny.cloud/
*/
import Type from './Type';
diff --git a/tools-ng/tinymce/editor/src/themes/inlite/main/ts/alien/Type.ts b/tools-ng/tinymce/src/themes/inlite/main/ts/alien/Type.ts
similarity index 77%
rename from tools-ng/tinymce/editor/src/themes/inlite/main/ts/alien/Type.ts
rename to tools-ng/tinymce/src/themes/inlite/main/ts/alien/Type.ts
index 8755bea3c..9358761c9 100644
--- a/tools-ng/tinymce/editor/src/themes/inlite/main/ts/alien/Type.ts
+++ b/tools-ng/tinymce/src/themes/inlite/main/ts/alien/Type.ts
@@ -1,11 +1,8 @@
/**
- * Type.js
- *
- * Released under LGPL License.
- * Copyright (c) 1999-2016 Ephox Corp. All rights reserved
- *
- * License: http://www.tinymce.com/license
- * Contributing: http://www.tinymce.com/contributing
+ * Copyright (c) Tiny Technologies, Inc. All rights reserved.
+ * Licensed under the LGPL or a commercial license.
+ * For LGPL see License.txt in the project root for license information.
+ * For commercial licenses see https://www.tiny.cloud/
*/
const isType = function (type) {
diff --git a/tools-ng/tinymce/editor/src/themes/inlite/main/ts/alien/UiContainer.ts b/tools-ng/tinymce/src/themes/inlite/main/ts/alien/UiContainer.ts
similarity index 73%
rename from tools-ng/tinymce/editor/src/themes/inlite/main/ts/alien/UiContainer.ts
rename to tools-ng/tinymce/src/themes/inlite/main/ts/alien/UiContainer.ts
index 07388159b..dc4b29d3a 100644
--- a/tools-ng/tinymce/editor/src/themes/inlite/main/ts/alien/UiContainer.ts
+++ b/tools-ng/tinymce/src/themes/inlite/main/ts/alien/UiContainer.ts
@@ -1,11 +1,8 @@
/**
- * UiContainer.js
- *
- * Released under LGPL License.
- * Copyright (c) 1999-2016 Ephox Corp. All rights reserved
- *
- * License: http://www.tinymce.com/license
- * Contributing: http://www.tinymce.com/contributing
+ * Copyright (c) Tiny Technologies, Inc. All rights reserved.
+ * Licensed under the LGPL or a commercial license.
+ * For LGPL see License.txt in the project root for license information.
+ * For commercial licenses see https://www.tiny.cloud/
*/
import { Option } from '@ephox/katamari';
diff --git a/tools-ng/tinymce/editor/src/themes/inlite/main/ts/alien/Unlink.ts b/tools-ng/tinymce/src/themes/inlite/main/ts/alien/Unlink.ts
similarity index 89%
rename from tools-ng/tinymce/editor/src/themes/inlite/main/ts/alien/Unlink.ts
rename to tools-ng/tinymce/src/themes/inlite/main/ts/alien/Unlink.ts
index 5bf273158..44dc2638f 100644
--- a/tools-ng/tinymce/editor/src/themes/inlite/main/ts/alien/Unlink.ts
+++ b/tools-ng/tinymce/src/themes/inlite/main/ts/alien/Unlink.ts
@@ -1,11 +1,8 @@
/**
- * Unlink.js
- *
- * Released under LGPL License.
- * Copyright (c) 1999-2016 Ephox Corp. All rights reserved
- *
- * License: http://www.tinymce.com/license
- * Contributing: http://www.tinymce.com/contributing
+ * Copyright (c) Tiny Technologies, Inc. All rights reserved.
+ * Licensed under the LGPL or a commercial license.
+ * For LGPL see License.txt in the project root for license information.
+ * For commercial licenses see https://www.tiny.cloud/
*/
import Bookmark from './Bookmark';
diff --git a/tools-ng/tinymce/editor/src/themes/inlite/main/ts/alien/Uuid.ts b/tools-ng/tinymce/src/themes/inlite/main/ts/alien/Uuid.ts
similarity index 65%
rename from tools-ng/tinymce/editor/src/themes/inlite/main/ts/alien/Uuid.ts
rename to tools-ng/tinymce/src/themes/inlite/main/ts/alien/Uuid.ts
index 5cd175563..d4a44da83 100644
--- a/tools-ng/tinymce/editor/src/themes/inlite/main/ts/alien/Uuid.ts
+++ b/tools-ng/tinymce/src/themes/inlite/main/ts/alien/Uuid.ts
@@ -1,11 +1,8 @@
/**
- * Uuid.js
- *
- * Released under LGPL License.
- * Copyright (c) 1999-2016 Ephox Corp. All rights reserved
- *
- * License: http://www.tinymce.com/license
- * Contributing: http://www.tinymce.com/contributing
+ * Copyright (c) Tiny Technologies, Inc. All rights reserved.
+ * Licensed under the LGPL or a commercial license.
+ * For LGPL see License.txt in the project root for license information.
+ * For commercial licenses see https://www.tiny.cloud/
*/
/**
diff --git a/tools-ng/tinymce/editor/src/themes/inlite/main/ts/api/Events.ts b/tools-ng/tinymce/src/themes/inlite/main/ts/api/Events.ts
similarity index 55%
rename from tools-ng/tinymce/editor/src/themes/inlite/main/ts/api/Events.ts
rename to tools-ng/tinymce/src/themes/inlite/main/ts/api/Events.ts
index 36b277014..c0d1ae833 100644
--- a/tools-ng/tinymce/editor/src/themes/inlite/main/ts/api/Events.ts
+++ b/tools-ng/tinymce/src/themes/inlite/main/ts/api/Events.ts
@@ -1,12 +1,10 @@
/**
- * Events.js
- *
- * Released under LGPL License.
- * Copyright (c) 1999-2016 Ephox Corp. All rights reserved
- *
- * License: http://www.tinymce.com/license
- * Contributing: http://www.tinymce.com/contributing
+ * Copyright (c) Tiny Technologies, Inc. All rights reserved.
+ * Licensed under the LGPL or a commercial license.
+ * For LGPL see License.txt in the project root for license information.
+ * For commercial licenses see https://www.tiny.cloud/
*/
+
import { Editor } from 'tinymce/core/api/Editor';
const fireSkinLoaded = function (editor: Editor) {
diff --git a/tools-ng/tinymce/editor/src/themes/inlite/main/ts/api/Settings.ts b/tools-ng/tinymce/src/themes/inlite/main/ts/api/Settings.ts
similarity index 85%
rename from tools-ng/tinymce/editor/src/themes/inlite/main/ts/api/Settings.ts
rename to tools-ng/tinymce/src/themes/inlite/main/ts/api/Settings.ts
index b288b6d80..9fcc4b411 100644
--- a/tools-ng/tinymce/editor/src/themes/inlite/main/ts/api/Settings.ts
+++ b/tools-ng/tinymce/src/themes/inlite/main/ts/api/Settings.ts
@@ -1,11 +1,8 @@
/**
- * Settings.js
- *
- * Released under LGPL License.
- * Copyright (c) 1999-2016 Ephox Corp. All rights reserved
- *
- * License: http://www.tinymce.com/license
- * Contributing: http://www.tinymce.com/contributing
+ * Copyright (c) Tiny Technologies, Inc. All rights reserved.
+ * Licensed under the LGPL or a commercial license.
+ * For LGPL see License.txt in the project root for license information.
+ * For commercial licenses see https://www.tiny.cloud/
*/
import EditorManager from 'tinymce/core/api/EditorManager';
diff --git a/tools-ng/tinymce/editor/src/themes/inlite/main/ts/api/ThemeApi.ts b/tools-ng/tinymce/src/themes/inlite/main/ts/api/ThemeApi.ts
similarity index 73%
rename from tools-ng/tinymce/editor/src/themes/inlite/main/ts/api/ThemeApi.ts
rename to tools-ng/tinymce/src/themes/inlite/main/ts/api/ThemeApi.ts
index 22427492f..944c5aaa2 100644
--- a/tools-ng/tinymce/editor/src/themes/inlite/main/ts/api/ThemeApi.ts
+++ b/tools-ng/tinymce/src/themes/inlite/main/ts/api/ThemeApi.ts
@@ -1,11 +1,8 @@
/**
- * ThemeApi.js
- *
- * Released under LGPL License.
- * Copyright (c) 1999-2016 Ephox Corp. All rights reserved
- *
- * License: http://www.tinymce.com/license
- * Contributing: http://www.tinymce.com/contributing
+ * Copyright (c) Tiny Technologies, Inc. All rights reserved.
+ * Licensed under the LGPL or a commercial license.
+ * For LGPL see License.txt in the project root for license information.
+ * For commercial licenses see https://www.tiny.cloud/
*/
import Render from '../core/Render';
diff --git a/tools-ng/tinymce/editor/src/themes/inlite/main/ts/core/Actions.ts b/tools-ng/tinymce/src/themes/inlite/main/ts/core/Actions.ts
similarity index 91%
rename from tools-ng/tinymce/editor/src/themes/inlite/main/ts/core/Actions.ts
rename to tools-ng/tinymce/src/themes/inlite/main/ts/core/Actions.ts
index 8afd96a28..fdbb38eb0 100644
--- a/tools-ng/tinymce/editor/src/themes/inlite/main/ts/core/Actions.ts
+++ b/tools-ng/tinymce/src/themes/inlite/main/ts/core/Actions.ts
@@ -1,11 +1,8 @@
/**
- * Actions.js
- *
- * Released under LGPL License.
- * Copyright (c) 1999-2016 Ephox Corp. All rights reserved
- *
- * License: http://www.tinymce.com/license
- * Contributing: http://www.tinymce.com/contributing
+ * Copyright (c) Tiny Technologies, Inc. All rights reserved.
+ * Licensed under the LGPL or a commercial license.
+ * For LGPL see License.txt in the project root for license information.
+ * For commercial licenses see https://www.tiny.cloud/
*/
import Uuid from '../alien/Uuid';
diff --git a/tools-ng/tinymce/editor/src/themes/inlite/main/ts/core/Convert.ts b/tools-ng/tinymce/src/themes/inlite/main/ts/core/Convert.ts
similarity index 71%
rename from tools-ng/tinymce/editor/src/themes/inlite/main/ts/core/Convert.ts
rename to tools-ng/tinymce/src/themes/inlite/main/ts/core/Convert.ts
index 609dc6959..44600c452 100644
--- a/tools-ng/tinymce/editor/src/themes/inlite/main/ts/core/Convert.ts
+++ b/tools-ng/tinymce/src/themes/inlite/main/ts/core/Convert.ts
@@ -1,12 +1,10 @@
/**
- * Convert.js
- *
- * Released under LGPL License.
- * Copyright (c) 1999-2016 Ephox Corp. All rights reserved
- *
- * License: http://www.tinymce.com/license
- * Contributing: http://www.tinymce.com/contributing
+ * Copyright (c) Tiny Technologies, Inc. All rights reserved.
+ * Licensed under the LGPL or a commercial license.
+ * For LGPL see License.txt in the project root for license information.
+ * For commercial licenses see https://www.tiny.cloud/
*/
+
import { GeomRect } from 'tinymce/core/api/geom/Rect';
import { ClientRect } from '@ephox/dom-globals';
diff --git a/tools-ng/tinymce/editor/src/themes/inlite/main/ts/core/ElementMatcher.ts b/tools-ng/tinymce/src/themes/inlite/main/ts/core/ElementMatcher.ts
similarity index 82%
rename from tools-ng/tinymce/editor/src/themes/inlite/main/ts/core/ElementMatcher.ts
rename to tools-ng/tinymce/src/themes/inlite/main/ts/core/ElementMatcher.ts
index 41270491e..6c59215f4 100644
--- a/tools-ng/tinymce/editor/src/themes/inlite/main/ts/core/ElementMatcher.ts
+++ b/tools-ng/tinymce/src/themes/inlite/main/ts/core/ElementMatcher.ts
@@ -1,11 +1,8 @@
/**
- * ElementMatcher.js
- *
- * Released under LGPL License.
- * Copyright (c) 1999-2016 Ephox Corp. All rights reserved
- *
- * License: http://www.tinymce.com/license
- * Contributing: http://www.tinymce.com/contributing
+ * Copyright (c) Tiny Technologies, Inc. All rights reserved.
+ * Licensed under the LGPL or a commercial license.
+ * For LGPL see License.txt in the project root for license information.
+ * For commercial licenses see https://www.tiny.cloud/
*/
import Matcher from './Matcher';
diff --git a/tools-ng/tinymce/editor/src/themes/inlite/main/ts/core/Layout.ts b/tools-ng/tinymce/src/themes/inlite/main/ts/core/Layout.ts
similarity index 92%
rename from tools-ng/tinymce/editor/src/themes/inlite/main/ts/core/Layout.ts
rename to tools-ng/tinymce/src/themes/inlite/main/ts/core/Layout.ts
index 183efdfe4..265d41cc0 100644
--- a/tools-ng/tinymce/editor/src/themes/inlite/main/ts/core/Layout.ts
+++ b/tools-ng/tinymce/src/themes/inlite/main/ts/core/Layout.ts
@@ -1,11 +1,8 @@
/**
- * Layout.js
- *
- * Released under LGPL License.
- * Copyright (c) 1999-2016 Ephox Corp. All rights reserved
- *
- * License: http://www.tinymce.com/license
- * Contributing: http://www.tinymce.com/contributing
+ * Copyright (c) Tiny Technologies, Inc. All rights reserved.
+ * Licensed under the LGPL or a commercial license.
+ * For LGPL see License.txt in the project root for license information.
+ * For commercial licenses see https://www.tiny.cloud/
*/
import Rect, { GeomRect } from 'tinymce/core/api/geom/Rect';
diff --git a/tools-ng/tinymce/editor/src/themes/inlite/main/ts/core/Matcher.ts b/tools-ng/tinymce/src/themes/inlite/main/ts/core/Matcher.ts
similarity index 70%
rename from tools-ng/tinymce/editor/src/themes/inlite/main/ts/core/Matcher.ts
rename to tools-ng/tinymce/src/themes/inlite/main/ts/core/Matcher.ts
index 9b816394f..aff565653 100644
--- a/tools-ng/tinymce/editor/src/themes/inlite/main/ts/core/Matcher.ts
+++ b/tools-ng/tinymce/src/themes/inlite/main/ts/core/Matcher.ts
@@ -1,12 +1,10 @@
/**
- * Matcher.js
- *
- * Released under LGPL License.
- * Copyright (c) 1999-2016 Ephox Corp. All rights reserved
- *
- * License: http://www.tinymce.com/license
- * Contributing: http://www.tinymce.com/contributing
+ * Copyright (c) Tiny Technologies, Inc. All rights reserved.
+ * Licensed under the LGPL or a commercial license.
+ * For LGPL see License.txt in the project root for license information.
+ * For commercial licenses see https://www.tiny.cloud/
*/
+
import { Editor } from 'tinymce/core/api/Editor';
import { GeomRect } from 'tinymce/core/api/geom/Rect';
diff --git a/tools-ng/tinymce/editor/src/themes/inlite/main/ts/core/Measure.ts b/tools-ng/tinymce/src/themes/inlite/main/ts/core/Measure.ts
similarity index 85%
rename from tools-ng/tinymce/editor/src/themes/inlite/main/ts/core/Measure.ts
rename to tools-ng/tinymce/src/themes/inlite/main/ts/core/Measure.ts
index 81ad1c1a3..8c7141a85 100644
--- a/tools-ng/tinymce/editor/src/themes/inlite/main/ts/core/Measure.ts
+++ b/tools-ng/tinymce/src/themes/inlite/main/ts/core/Measure.ts
@@ -1,11 +1,8 @@
/**
- * Measure.js
- *
- * Released under LGPL License.
- * Copyright (c) 1999-2016 Ephox Corp. All rights reserved
- *
- * License: http://www.tinymce.com/license
- * Contributing: http://www.tinymce.com/contributing
+ * Copyright (c) Tiny Technologies, Inc. All rights reserved.
+ * Licensed under the LGPL or a commercial license.
+ * For LGPL see License.txt in the project root for license information.
+ * For commercial licenses see https://www.tiny.cloud/
*/
import DOMUtils from 'tinymce/core/api/dom/DOMUtils';
diff --git a/tools-ng/tinymce/editor/src/themes/inlite/main/ts/core/PredicateId.ts b/tools-ng/tinymce/src/themes/inlite/main/ts/core/PredicateId.ts
similarity index 68%
rename from tools-ng/tinymce/editor/src/themes/inlite/main/ts/core/PredicateId.ts
rename to tools-ng/tinymce/src/themes/inlite/main/ts/core/PredicateId.ts
index 8f60151b9..cf13cb350 100644
--- a/tools-ng/tinymce/editor/src/themes/inlite/main/ts/core/PredicateId.ts
+++ b/tools-ng/tinymce/src/themes/inlite/main/ts/core/PredicateId.ts
@@ -1,11 +1,8 @@
/**
- * PredicateId.js
- *
- * Released under LGPL License.
- * Copyright (c) 1999-2016 Ephox Corp. All rights reserved
- *
- * License: http://www.tinymce.com/license
- * Contributing: http://www.tinymce.com/contributing
+ * Copyright (c) Tiny Technologies, Inc. All rights reserved.
+ * Licensed under the LGPL or a commercial license.
+ * For LGPL see License.txt in the project root for license information.
+ * For commercial licenses see https://www.tiny.cloud/
*/
import Tools from 'tinymce/core/api/util/Tools';
diff --git a/tools-ng/tinymce/editor/src/themes/inlite/main/ts/core/Render.ts b/tools-ng/tinymce/src/themes/inlite/main/ts/core/Render.ts
similarity index 93%
rename from tools-ng/tinymce/editor/src/themes/inlite/main/ts/core/Render.ts
rename to tools-ng/tinymce/src/themes/inlite/main/ts/core/Render.ts
index eb002ab1e..767a69b9a 100644
--- a/tools-ng/tinymce/editor/src/themes/inlite/main/ts/core/Render.ts
+++ b/tools-ng/tinymce/src/themes/inlite/main/ts/core/Render.ts
@@ -1,17 +1,14 @@
/**
- * Render.js
- *
- * Released under LGPL License.
- * Copyright (c) 1999-2016 Ephox Corp. All rights reserved
- *
- * License: http://www.tinymce.com/license
- * Contributing: http://www.tinymce.com/contributing
+ * Copyright (c) Tiny Technologies, Inc. All rights reserved.
+ * Licensed under the LGPL or a commercial license.
+ * For LGPL see License.txt in the project root for license information.
+ * For commercial licenses see https://www.tiny.cloud/
*/
import Env from 'tinymce/core/api/Env';
import DOMUtils from 'tinymce/core/api/dom/DOMUtils';
import Delay from 'tinymce/core/api/util/Delay';
-import Arr from '../alien/Arr';
+import DeepFlatten from '../alien/DeepFlatten';
import ElementMatcher from './ElementMatcher';
import Matcher from './Matcher';
import PredicateId from './PredicateId';
@@ -48,7 +45,7 @@ const createToolbar = function (editor: Editor, selector: string, id: string, it
const getToolbars = function (editor: Editor): ContextToolbar[] {
const contextToolbars = editor.contextToolbars;
- return Arr.flatten([
+ return DeepFlatten.flatten([
contextToolbars ? contextToolbars : [],
createToolbar(editor, 'img', 'image', 'alignleft aligncenter alignright')
]);
diff --git a/tools-ng/tinymce/editor/src/themes/inlite/main/ts/core/SelectionMatcher.ts b/tools-ng/tinymce/src/themes/inlite/main/ts/core/SelectionMatcher.ts
similarity index 84%
rename from tools-ng/tinymce/editor/src/themes/inlite/main/ts/core/SelectionMatcher.ts
rename to tools-ng/tinymce/src/themes/inlite/main/ts/core/SelectionMatcher.ts
index 00654edb8..fbc69660b 100644
--- a/tools-ng/tinymce/editor/src/themes/inlite/main/ts/core/SelectionMatcher.ts
+++ b/tools-ng/tinymce/src/themes/inlite/main/ts/core/SelectionMatcher.ts
@@ -1,11 +1,8 @@
/**
- * SelectionMatcher.js
- *
- * Released under LGPL License.
- * Copyright (c) 1999-2016 Ephox Corp. All rights reserved
- *
- * License: http://www.tinymce.com/license
- * Contributing: http://www.tinymce.com/contributing
+ * Copyright (c) Tiny Technologies, Inc. All rights reserved.
+ * Licensed under the LGPL or a commercial license.
+ * For LGPL see License.txt in the project root for license information.
+ * For commercial licenses see https://www.tiny.cloud/
*/
import Matcher from './Matcher';
diff --git a/tools-ng/tinymce/editor/src/themes/inlite/main/ts/core/SkinLoader.ts b/tools-ng/tinymce/src/themes/inlite/main/ts/core/SkinLoader.ts
similarity index 78%
rename from tools-ng/tinymce/editor/src/themes/inlite/main/ts/core/SkinLoader.ts
rename to tools-ng/tinymce/src/themes/inlite/main/ts/core/SkinLoader.ts
index d9958ea7c..c8872e559 100644
--- a/tools-ng/tinymce/editor/src/themes/inlite/main/ts/core/SkinLoader.ts
+++ b/tools-ng/tinymce/src/themes/inlite/main/ts/core/SkinLoader.ts
@@ -1,11 +1,8 @@
/**
- * SkinLoader.js
- *
- * Released under LGPL License.
- * Copyright (c) 1999-2016 Ephox Corp. All rights reserved
- *
- * License: http://www.tinymce.com/license
- * Contributing: http://www.tinymce.com/contributing
+ * Copyright (c) Tiny Technologies, Inc. All rights reserved.
+ * Licensed under the LGPL or a commercial license.
+ * For LGPL see License.txt in the project root for license information.
+ * For commercial licenses see https://www.tiny.cloud/
*/
import DOMUtils from 'tinymce/core/api/dom/DOMUtils';
diff --git a/tools-ng/tinymce/editor/src/themes/inlite/main/ts/core/UrlType.ts b/tools-ng/tinymce/src/themes/inlite/main/ts/core/UrlType.ts
similarity index 56%
rename from tools-ng/tinymce/editor/src/themes/inlite/main/ts/core/UrlType.ts
rename to tools-ng/tinymce/src/themes/inlite/main/ts/core/UrlType.ts
index 02c06938d..bfa234b4e 100644
--- a/tools-ng/tinymce/editor/src/themes/inlite/main/ts/core/UrlType.ts
+++ b/tools-ng/tinymce/src/themes/inlite/main/ts/core/UrlType.ts
@@ -1,11 +1,8 @@
/**
- * UrlType.js
- *
- * Released under LGPL License.
- * Copyright (c) 1999-2016 Ephox Corp. All rights reserved
- *
- * License: http://www.tinymce.com/license
- * Contributing: http://www.tinymce.com/contributing
+ * Copyright (c) Tiny Technologies, Inc. All rights reserved.
+ * Licensed under the LGPL or a commercial license.
+ * For LGPL see License.txt in the project root for license information.
+ * For commercial licenses see https://www.tiny.cloud/
*/
const isDomainLike = function (href: string) {
diff --git a/tools-ng/tinymce/editor/src/themes/inlite/main/ts/file/Conversions.ts b/tools-ng/tinymce/src/themes/inlite/main/ts/file/Conversions.ts
similarity index 64%
rename from tools-ng/tinymce/editor/src/themes/inlite/main/ts/file/Conversions.ts
rename to tools-ng/tinymce/src/themes/inlite/main/ts/file/Conversions.ts
index ea3525c74..782439d8b 100644
--- a/tools-ng/tinymce/editor/src/themes/inlite/main/ts/file/Conversions.ts
+++ b/tools-ng/tinymce/src/themes/inlite/main/ts/file/Conversions.ts
@@ -1,11 +1,8 @@
/**
- * Conversions.js
- *
- * Released under LGPL License.
- * Copyright (c) 1999-2016 Ephox Corp. All rights reserved
- *
- * License: http://www.tinymce.com/license
- * Contributing: http://www.tinymce.com/contributing
+ * Copyright (c) Tiny Technologies, Inc. All rights reserved.
+ * Licensed under the LGPL or a commercial license.
+ * For LGPL see License.txt in the project root for license information.
+ * For commercial licenses see https://www.tiny.cloud/
*/
import { FileReader } from '@ephox/sand';
diff --git a/tools-ng/tinymce/editor/src/themes/inlite/main/ts/file/Picker.ts b/tools-ng/tinymce/src/themes/inlite/main/ts/file/Picker.ts
similarity index 73%
rename from tools-ng/tinymce/editor/src/themes/inlite/main/ts/file/Picker.ts
rename to tools-ng/tinymce/src/themes/inlite/main/ts/file/Picker.ts
index c1706bd47..b5edd4fe9 100644
--- a/tools-ng/tinymce/editor/src/themes/inlite/main/ts/file/Picker.ts
+++ b/tools-ng/tinymce/src/themes/inlite/main/ts/file/Picker.ts
@@ -1,11 +1,8 @@
/**
- * Picker.js
- *
- * Released under LGPL License.
- * Copyright (c) 1999-2016 Ephox Corp. All rights reserved
- *
- * License: http://www.tinymce.com/license
- * Contributing: http://www.tinymce.com/contributing
+ * Copyright (c) Tiny Technologies, Inc. All rights reserved.
+ * Licensed under the LGPL or a commercial license.
+ * For LGPL see License.txt in the project root for license information.
+ * For commercial licenses see https://www.tiny.cloud/
*/
import Promise from 'tinymce/core/api/util/Promise';
diff --git a/tools-ng/tinymce/editor/src/themes/inlite/main/ts/ui/Buttons.ts b/tools-ng/tinymce/src/themes/inlite/main/ts/ui/Buttons.ts
similarity index 87%
rename from tools-ng/tinymce/editor/src/themes/inlite/main/ts/ui/Buttons.ts
rename to tools-ng/tinymce/src/themes/inlite/main/ts/ui/Buttons.ts
index 629cbeec7..51e517716 100644
--- a/tools-ng/tinymce/editor/src/themes/inlite/main/ts/ui/Buttons.ts
+++ b/tools-ng/tinymce/src/themes/inlite/main/ts/ui/Buttons.ts
@@ -1,11 +1,8 @@
/**
- * Buttons.js
- *
- * Released under LGPL License.
- * Copyright (c) 1999-2016 Ephox Corp. All rights reserved
- *
- * License: http://www.tinymce.com/license
- * Contributing: http://www.tinymce.com/contributing
+ * Copyright (c) Tiny Technologies, Inc. All rights reserved.
+ * Licensed under the LGPL or a commercial license.
+ * For LGPL see License.txt in the project root for license information.
+ * For commercial licenses see https://www.tiny.cloud/
*/
import Conversions from '../file/Conversions';
diff --git a/tools-ng/tinymce/editor/src/themes/inlite/main/ts/ui/Forms.ts b/tools-ng/tinymce/src/themes/inlite/main/ts/ui/Forms.ts
similarity index 92%
rename from tools-ng/tinymce/editor/src/themes/inlite/main/ts/ui/Forms.ts
rename to tools-ng/tinymce/src/themes/inlite/main/ts/ui/Forms.ts
index ca48cbcbe..73134f1a8 100644
--- a/tools-ng/tinymce/editor/src/themes/inlite/main/ts/ui/Forms.ts
+++ b/tools-ng/tinymce/src/themes/inlite/main/ts/ui/Forms.ts
@@ -1,11 +1,8 @@
/**
- * Forms.js
- *
- * Released under LGPL License.
- * Copyright (c) 1999-2016 Ephox Corp. All rights reserved
- *
- * License: http://www.tinymce.com/license
- * Contributing: http://www.tinymce.com/contributing
+ * Copyright (c) Tiny Technologies, Inc. All rights reserved.
+ * Licensed under the LGPL or a commercial license.
+ * For LGPL see License.txt in the project root for license information.
+ * For commercial licenses see https://www.tiny.cloud/
*/
import Tools from 'tinymce/core/api/util/Tools';
diff --git a/tools-ng/tinymce/editor/src/themes/inlite/main/ts/ui/Panel.ts b/tools-ng/tinymce/src/themes/inlite/main/ts/ui/Panel.ts
similarity index 96%
rename from tools-ng/tinymce/editor/src/themes/inlite/main/ts/ui/Panel.ts
rename to tools-ng/tinymce/src/themes/inlite/main/ts/ui/Panel.ts
index 3bda06e9a..b40c41cbc 100644
--- a/tools-ng/tinymce/editor/src/themes/inlite/main/ts/ui/Panel.ts
+++ b/tools-ng/tinymce/src/themes/inlite/main/ts/ui/Panel.ts
@@ -1,11 +1,8 @@
/**
- * Panel.js
- *
- * Released under LGPL License.
- * Copyright (c) 1999-2016 Ephox Corp. All rights reserved
- *
- * License: http://www.tinymce.com/license
- * Contributing: http://www.tinymce.com/contributing
+ * Copyright (c) Tiny Technologies, Inc. All rights reserved.
+ * Licensed under the LGPL or a commercial license.
+ * For LGPL see License.txt in the project root for license information.
+ * For commercial licenses see https://www.tiny.cloud/
*/
import DOMUtils from 'tinymce/core/api/dom/DOMUtils';
diff --git a/tools-ng/tinymce/editor/src/themes/inlite/main/ts/ui/Toolbar.ts b/tools-ng/tinymce/src/themes/inlite/main/ts/ui/Toolbar.ts
similarity index 90%
rename from tools-ng/tinymce/editor/src/themes/inlite/main/ts/ui/Toolbar.ts
rename to tools-ng/tinymce/src/themes/inlite/main/ts/ui/Toolbar.ts
index 67dad775d..77c08d66b 100644
--- a/tools-ng/tinymce/editor/src/themes/inlite/main/ts/ui/Toolbar.ts
+++ b/tools-ng/tinymce/src/themes/inlite/main/ts/ui/Toolbar.ts
@@ -1,11 +1,8 @@
/**
- * Toolbar.js
- *
- * Released under LGPL License.
- * Copyright (c) 1999-2016 Ephox Corp. All rights reserved
- *
- * License: http://www.tinymce.com/license
- * Contributing: http://www.tinymce.com/contributing
+ * Copyright (c) Tiny Technologies, Inc. All rights reserved.
+ * Licensed under the LGPL or a commercial license.
+ * For LGPL see License.txt in the project root for license information.
+ * For commercial licenses see https://www.tiny.cloud/
*/
import Tools from 'tinymce/core/api/util/Tools';
diff --git a/tools-ng/tinymce/editor/src/themes/inlite/test/.eslintrc b/tools-ng/tinymce/src/themes/inlite/test/.eslintrc
similarity index 100%
rename from tools-ng/tinymce/editor/src/themes/inlite/test/.eslintrc
rename to tools-ng/tinymce/src/themes/inlite/test/.eslintrc
diff --git a/tools-ng/tinymce/editor/src/themes/inlite/test/ts/atomic/alien/ArrTest.ts b/tools-ng/tinymce/src/themes/inlite/test/ts/atomic/alien/ArrTest.ts
similarity index 51%
rename from tools-ng/tinymce/editor/src/themes/inlite/test/ts/atomic/alien/ArrTest.ts
rename to tools-ng/tinymce/src/themes/inlite/test/ts/atomic/alien/ArrTest.ts
index 9a45bdb60..407b112ab 100644
--- a/tools-ng/tinymce/editor/src/themes/inlite/test/ts/atomic/alien/ArrTest.ts
+++ b/tools-ng/tinymce/src/themes/inlite/test/ts/atomic/alien/ArrTest.ts
@@ -1,9 +1,9 @@
-import Arr from 'tinymce/themes/inlite/alien/Arr';
+import DeepFlatten from 'tinymce/themes/inlite/alien/DeepFlatten';
import { UnitTest, assert } from '@ephox/bedrock';
UnitTest.test('atomic.themes.alien.ArrTest', function () {
const testFlatten = function () {
- assert.eq(Arr.flatten([1, 2, [3, 4, [5, 6]], [7, 8], 9]), [1, 2, 3, 4, 5, 6, 7, 8, 9]);
+ assert.eq(DeepFlatten.flatten([1, 2, [3, 4, [5, 6]], [7, 8], 9]), [1, 2, 3, 4, 5, 6, 7, 8, 9]);
};
testFlatten();
diff --git a/tools-ng/tinymce/editor/src/themes/inlite/test/ts/atomic/alien/TypeTest.ts b/tools-ng/tinymce/src/themes/inlite/test/ts/atomic/alien/TypeTest.ts
similarity index 100%
rename from tools-ng/tinymce/editor/src/themes/inlite/test/ts/atomic/alien/TypeTest.ts
rename to tools-ng/tinymce/src/themes/inlite/test/ts/atomic/alien/TypeTest.ts
diff --git a/tools-ng/tinymce/editor/src/themes/inlite/test/ts/atomic/alien/UuidTest.ts b/tools-ng/tinymce/src/themes/inlite/test/ts/atomic/alien/UuidTest.ts
similarity index 100%
rename from tools-ng/tinymce/editor/src/themes/inlite/test/ts/atomic/alien/UuidTest.ts
rename to tools-ng/tinymce/src/themes/inlite/test/ts/atomic/alien/UuidTest.ts
diff --git a/tools-ng/tinymce/editor/src/themes/inlite/test/ts/atomic/core/ConvertTest.ts b/tools-ng/tinymce/src/themes/inlite/test/ts/atomic/core/ConvertTest.ts
similarity index 100%
rename from tools-ng/tinymce/editor/src/themes/inlite/test/ts/atomic/core/ConvertTest.ts
rename to tools-ng/tinymce/src/themes/inlite/test/ts/atomic/core/ConvertTest.ts
diff --git a/tools-ng/tinymce/editor/src/themes/inlite/test/ts/atomic/core/MatcherTest.ts b/tools-ng/tinymce/src/themes/inlite/test/ts/atomic/core/MatcherTest.ts
similarity index 100%
rename from tools-ng/tinymce/editor/src/themes/inlite/test/ts/atomic/core/MatcherTest.ts
rename to tools-ng/tinymce/src/themes/inlite/test/ts/atomic/core/MatcherTest.ts
diff --git a/tools-ng/tinymce/editor/src/themes/inlite/test/ts/atomic/core/UrlTypeTest.ts b/tools-ng/tinymce/src/themes/inlite/test/ts/atomic/core/UrlTypeTest.ts
similarity index 100%
rename from tools-ng/tinymce/editor/src/themes/inlite/test/ts/atomic/core/UrlTypeTest.ts
rename to tools-ng/tinymce/src/themes/inlite/test/ts/atomic/core/UrlTypeTest.ts
diff --git a/tools-ng/tinymce/editor/src/themes/inlite/test/ts/browser/AutoCompleteTest.ts b/tools-ng/tinymce/src/themes/inlite/test/ts/browser/AutoCompleteTest.ts
similarity index 100%
rename from tools-ng/tinymce/editor/src/themes/inlite/test/ts/browser/AutoCompleteTest.ts
rename to tools-ng/tinymce/src/themes/inlite/test/ts/browser/AutoCompleteTest.ts
diff --git a/tools-ng/tinymce/editor/src/themes/inlite/test/ts/browser/ClosedDialogScrollTest.ts b/tools-ng/tinymce/src/themes/inlite/test/ts/browser/ClosedDialogScrollTest.ts
similarity index 100%
rename from tools-ng/tinymce/editor/src/themes/inlite/test/ts/browser/ClosedDialogScrollTest.ts
rename to tools-ng/tinymce/src/themes/inlite/test/ts/browser/ClosedDialogScrollTest.ts
diff --git a/tools-ng/tinymce/editor/src/themes/inlite/test/ts/browser/SkinFalseTest.ts b/tools-ng/tinymce/src/themes/inlite/test/ts/browser/SkinFalseTest.ts
similarity index 100%
rename from tools-ng/tinymce/editor/src/themes/inlite/test/ts/browser/SkinFalseTest.ts
rename to tools-ng/tinymce/src/themes/inlite/test/ts/browser/SkinFalseTest.ts
diff --git a/tools-ng/tinymce/editor/src/themes/inlite/test/ts/browser/ThemeTest.ts b/tools-ng/tinymce/src/themes/inlite/test/ts/browser/ThemeTest.ts
similarity index 100%
rename from tools-ng/tinymce/editor/src/themes/inlite/test/ts/browser/ThemeTest.ts
rename to tools-ng/tinymce/src/themes/inlite/test/ts/browser/ThemeTest.ts
diff --git a/tools-ng/tinymce/editor/src/themes/inlite/test/ts/browser/alien/BookmarkTest.ts b/tools-ng/tinymce/src/themes/inlite/test/ts/browser/alien/BookmarkTest.ts
similarity index 100%
rename from tools-ng/tinymce/editor/src/themes/inlite/test/ts/browser/alien/BookmarkTest.ts
rename to tools-ng/tinymce/src/themes/inlite/test/ts/browser/alien/BookmarkTest.ts
diff --git a/tools-ng/tinymce/editor/src/themes/inlite/test/ts/browser/alien/EditorSettingsTest.ts b/tools-ng/tinymce/src/themes/inlite/test/ts/browser/alien/EditorSettingsTest.ts
similarity index 100%
rename from tools-ng/tinymce/editor/src/themes/inlite/test/ts/browser/alien/EditorSettingsTest.ts
rename to tools-ng/tinymce/src/themes/inlite/test/ts/browser/alien/EditorSettingsTest.ts
diff --git a/tools-ng/tinymce/editor/src/themes/inlite/test/ts/browser/alien/UnlinkTest.ts b/tools-ng/tinymce/src/themes/inlite/test/ts/browser/alien/UnlinkTest.ts
similarity index 100%
rename from tools-ng/tinymce/editor/src/themes/inlite/test/ts/browser/alien/UnlinkTest.ts
rename to tools-ng/tinymce/src/themes/inlite/test/ts/browser/alien/UnlinkTest.ts
diff --git a/tools-ng/tinymce/editor/src/themes/inlite/test/ts/browser/core/ActionsTest.ts b/tools-ng/tinymce/src/themes/inlite/test/ts/browser/core/ActionsTest.ts
similarity index 100%
rename from tools-ng/tinymce/editor/src/themes/inlite/test/ts/browser/core/ActionsTest.ts
rename to tools-ng/tinymce/src/themes/inlite/test/ts/browser/core/ActionsTest.ts
diff --git a/tools-ng/tinymce/editor/src/themes/inlite/test/ts/browser/core/ElementMatcherTest.ts b/tools-ng/tinymce/src/themes/inlite/test/ts/browser/core/ElementMatcherTest.ts
similarity index 100%
rename from tools-ng/tinymce/editor/src/themes/inlite/test/ts/browser/core/ElementMatcherTest.ts
rename to tools-ng/tinymce/src/themes/inlite/test/ts/browser/core/ElementMatcherTest.ts
diff --git a/tools-ng/tinymce/editor/src/themes/inlite/test/ts/browser/core/LayoutTest.ts b/tools-ng/tinymce/src/themes/inlite/test/ts/browser/core/LayoutTest.ts
similarity index 100%
rename from tools-ng/tinymce/editor/src/themes/inlite/test/ts/browser/core/LayoutTest.ts
rename to tools-ng/tinymce/src/themes/inlite/test/ts/browser/core/LayoutTest.ts
diff --git a/tools-ng/tinymce/editor/src/themes/inlite/test/ts/browser/core/MeasureTest.ts b/tools-ng/tinymce/src/themes/inlite/test/ts/browser/core/MeasureTest.ts
similarity index 100%
rename from tools-ng/tinymce/editor/src/themes/inlite/test/ts/browser/core/MeasureTest.ts
rename to tools-ng/tinymce/src/themes/inlite/test/ts/browser/core/MeasureTest.ts
diff --git a/tools-ng/tinymce/editor/src/themes/inlite/test/ts/browser/core/PredicateIdTest.ts b/tools-ng/tinymce/src/themes/inlite/test/ts/browser/core/PredicateIdTest.ts
similarity index 100%
rename from tools-ng/tinymce/editor/src/themes/inlite/test/ts/browser/core/PredicateIdTest.ts
rename to tools-ng/tinymce/src/themes/inlite/test/ts/browser/core/PredicateIdTest.ts
diff --git a/tools-ng/tinymce/editor/src/themes/inlite/test/ts/browser/core/SelectionMatcherTest.ts b/tools-ng/tinymce/src/themes/inlite/test/ts/browser/core/SelectionMatcherTest.ts
similarity index 100%
rename from tools-ng/tinymce/editor/src/themes/inlite/test/ts/browser/core/SelectionMatcherTest.ts
rename to tools-ng/tinymce/src/themes/inlite/test/ts/browser/core/SelectionMatcherTest.ts
diff --git a/tools-ng/tinymce/editor/src/themes/inlite/test/ts/browser/file/ConversionsTest.ts b/tools-ng/tinymce/src/themes/inlite/test/ts/browser/file/ConversionsTest.ts
similarity index 100%
rename from tools-ng/tinymce/editor/src/themes/inlite/test/ts/browser/file/ConversionsTest.ts
rename to tools-ng/tinymce/src/themes/inlite/test/ts/browser/file/ConversionsTest.ts
diff --git a/tools-ng/tinymce/editor/src/themes/inlite/test/ts/browser/file/SelectionMatcher.ts b/tools-ng/tinymce/src/themes/inlite/test/ts/browser/file/SelectionMatcher.ts
similarity index 100%
rename from tools-ng/tinymce/editor/src/themes/inlite/test/ts/browser/file/SelectionMatcher.ts
rename to tools-ng/tinymce/src/themes/inlite/test/ts/browser/file/SelectionMatcher.ts
diff --git a/tools-ng/tinymce/editor/src/themes/inlite/test/ts/module/test/Toolbar.ts b/tools-ng/tinymce/src/themes/inlite/test/ts/module/test/Toolbar.ts
similarity index 100%
rename from tools-ng/tinymce/editor/src/themes/inlite/test/ts/module/test/Toolbar.ts
rename to tools-ng/tinymce/src/themes/inlite/test/ts/module/test/Toolbar.ts
diff --git a/tools-ng/tinymce/editor/src/themes/mobile/demo/html/demo-forms.html b/tools-ng/tinymce/src/themes/mobile/demo/html/demo-forms.html
similarity index 100%
rename from tools-ng/tinymce/editor/src/themes/mobile/demo/html/demo-forms.html
rename to tools-ng/tinymce/src/themes/mobile/demo/html/demo-forms.html
diff --git a/tools-ng/tinymce/editor/src/themes/mobile/demo/html/demo-sliders.html b/tools-ng/tinymce/src/themes/mobile/demo/html/demo-sliders.html
similarity index 100%
rename from tools-ng/tinymce/editor/src/themes/mobile/demo/html/demo-sliders.html
rename to tools-ng/tinymce/src/themes/mobile/demo/html/demo-sliders.html
diff --git a/tools-ng/tinymce/editor/src/themes/mobile/demo/html/demo-styles.html b/tools-ng/tinymce/src/themes/mobile/demo/html/demo-styles.html
similarity index 100%
rename from tools-ng/tinymce/editor/src/themes/mobile/demo/html/demo-styles.html
rename to tools-ng/tinymce/src/themes/mobile/demo/html/demo-styles.html
diff --git a/tools-ng/tinymce/editor/src/themes/mobile/demo/html/demo.html b/tools-ng/tinymce/src/themes/mobile/demo/html/demo.html
similarity index 100%
rename from tools-ng/tinymce/editor/src/themes/mobile/demo/html/demo.html
rename to tools-ng/tinymce/src/themes/mobile/demo/html/demo.html
diff --git a/tools-ng/tinymce/editor/src/themes/mobile/demo/ts/demo/Demo.ts b/tools-ng/tinymce/src/themes/mobile/demo/ts/demo/Demo.ts
similarity index 100%
rename from tools-ng/tinymce/editor/src/themes/mobile/demo/ts/demo/Demo.ts
rename to tools-ng/tinymce/src/themes/mobile/demo/ts/demo/Demo.ts
diff --git a/tools-ng/tinymce/editor/src/themes/mobile/demo/ts/demo/Demos.ts b/tools-ng/tinymce/src/themes/mobile/demo/ts/demo/Demos.ts
similarity index 100%
rename from tools-ng/tinymce/editor/src/themes/mobile/demo/ts/demo/Demos.ts
rename to tools-ng/tinymce/src/themes/mobile/demo/ts/demo/Demos.ts
diff --git a/tools-ng/tinymce/editor/src/themes/mobile/demo/ts/demo/FormDemo.ts b/tools-ng/tinymce/src/themes/mobile/demo/ts/demo/FormDemo.ts
similarity index 100%
rename from tools-ng/tinymce/editor/src/themes/mobile/demo/ts/demo/FormDemo.ts
rename to tools-ng/tinymce/src/themes/mobile/demo/ts/demo/FormDemo.ts
diff --git a/tools-ng/tinymce/editor/src/themes/mobile/demo/ts/demo/SlidersDemo.ts b/tools-ng/tinymce/src/themes/mobile/demo/ts/demo/SlidersDemo.ts
similarity index 100%
rename from tools-ng/tinymce/editor/src/themes/mobile/demo/ts/demo/SlidersDemo.ts
rename to tools-ng/tinymce/src/themes/mobile/demo/ts/demo/SlidersDemo.ts
diff --git a/tools-ng/tinymce/editor/src/themes/mobile/demo/ts/demo/StylesMenuDemo.ts b/tools-ng/tinymce/src/themes/mobile/demo/ts/demo/StylesMenuDemo.ts
similarity index 100%
rename from tools-ng/tinymce/editor/src/themes/mobile/demo/ts/demo/StylesMenuDemo.ts
rename to tools-ng/tinymce/src/themes/mobile/demo/ts/demo/StylesMenuDemo.ts
diff --git a/tools-ng/tinymce/editor/src/themes/mobile/main/ts/Theme.ts b/tools-ng/tinymce/src/themes/mobile/main/ts/Theme.ts
similarity index 95%
rename from tools-ng/tinymce/editor/src/themes/mobile/main/ts/Theme.ts
rename to tools-ng/tinymce/src/themes/mobile/main/ts/Theme.ts
index e350a70c3..414279504 100644
--- a/tools-ng/tinymce/editor/src/themes/mobile/main/ts/Theme.ts
+++ b/tools-ng/tinymce/src/themes/mobile/main/ts/Theme.ts
@@ -1,3 +1,10 @@
+/**
+ * Copyright (c) Tiny Technologies, Inc. All rights reserved.
+ * Licensed under the LGPL or a commercial license.
+ * For LGPL see License.txt in the project root for license information.
+ * For commercial licenses see https://www.tiny.cloud/
+ */
+
import { AlloyTriggers, Attachment, Swapping } from '@ephox/alloy';
import { Cell, Fun } from '@ephox/katamari';
import { PlatformDetection } from '@ephox/sand';
@@ -246,7 +253,10 @@ ThemeManager.add('mobile', function (editor) {
return {
getNotificationManagerImpl () {
return {
- open: Fun.identity,
+ open: Fun.constant({
+ progressBar: { value: Fun.noop},
+ close: Fun.noop
+ }),
close: Fun.noop,
reposition: Fun.noop,
getArgs: Fun.identity
diff --git a/tools-ng/tinymce/editor/src/themes/mobile/main/ts/alien/TinyCodeDupe.ts b/tools-ng/tinymce/src/themes/mobile/main/ts/alien/TinyCodeDupe.ts
similarity index 70%
rename from tools-ng/tinymce/editor/src/themes/mobile/main/ts/alien/TinyCodeDupe.ts
rename to tools-ng/tinymce/src/themes/mobile/main/ts/alien/TinyCodeDupe.ts
index f2a3a5e11..b6030fa90 100644
--- a/tools-ng/tinymce/editor/src/themes/mobile/main/ts/alien/TinyCodeDupe.ts
+++ b/tools-ng/tinymce/src/themes/mobile/main/ts/alien/TinyCodeDupe.ts
@@ -1,3 +1,10 @@
+/**
+ * Copyright (c) Tiny Technologies, Inc. All rights reserved.
+ * Licensed under the LGPL or a commercial license.
+ * For LGPL see License.txt in the project root for license information.
+ * For commercial licenses see https://www.tiny.cloud/
+ */
+
import { document, window } from '@ephox/dom-globals';
/// TODO this code is from the tinymce link plugin, deduplicate when we decide how to share it
diff --git a/tools-ng/tinymce/editor/src/themes/mobile/main/ts/alien/TypeDefinitions.ts b/tools-ng/tinymce/src/themes/mobile/main/ts/alien/TypeDefinitions.ts
similarity index 77%
rename from tools-ng/tinymce/editor/src/themes/mobile/main/ts/alien/TypeDefinitions.ts
rename to tools-ng/tinymce/src/themes/mobile/main/ts/alien/TypeDefinitions.ts
index f69dd4980..cbed8b75b 100644
--- a/tools-ng/tinymce/editor/src/themes/mobile/main/ts/alien/TypeDefinitions.ts
+++ b/tools-ng/tinymce/src/themes/mobile/main/ts/alien/TypeDefinitions.ts
@@ -1,3 +1,10 @@
+/**
+ * Copyright (c) Tiny Technologies, Inc. All rights reserved.
+ * Licensed under the LGPL or a commercial license.
+ * For LGPL see License.txt in the project root for license information.
+ * For commercial licenses see https://www.tiny.cloud/
+ */
+
import { HTMLElement } from '@ephox/dom-globals';
// Localised Type definitions from external Libraries, we can temporarily shoehorn them here, and migrate later
diff --git a/tools-ng/tinymce/editor/src/themes/mobile/main/ts/android/core/AndroidEvents.ts b/tools-ng/tinymce/src/themes/mobile/main/ts/android/core/AndroidEvents.ts
similarity index 92%
rename from tools-ng/tinymce/editor/src/themes/mobile/main/ts/android/core/AndroidEvents.ts
rename to tools-ng/tinymce/src/themes/mobile/main/ts/android/core/AndroidEvents.ts
index 9c4d4266a..01369f2a0 100644
--- a/tools-ng/tinymce/editor/src/themes/mobile/main/ts/android/core/AndroidEvents.ts
+++ b/tools-ng/tinymce/src/themes/mobile/main/ts/android/core/AndroidEvents.ts
@@ -1,3 +1,10 @@
+/**
+ * Copyright (c) Tiny Technologies, Inc. All rights reserved.
+ * Licensed under the LGPL or a commercial license.
+ * For LGPL see License.txt in the project root for license information.
+ * For commercial licenses see https://www.tiny.cloud/
+ */
+
import { Toggling } from '@ephox/alloy';
import { Arr, Fun } from '@ephox/katamari';
import { PlatformDetection } from '@ephox/sand';
diff --git a/tools-ng/tinymce/editor/src/themes/mobile/main/ts/android/core/AndroidMode.ts b/tools-ng/tinymce/src/themes/mobile/main/ts/android/core/AndroidMode.ts
similarity index 87%
rename from tools-ng/tinymce/editor/src/themes/mobile/main/ts/android/core/AndroidMode.ts
rename to tools-ng/tinymce/src/themes/mobile/main/ts/android/core/AndroidMode.ts
index 62e55ffb2..92991cf03 100644
--- a/tools-ng/tinymce/editor/src/themes/mobile/main/ts/android/core/AndroidMode.ts
+++ b/tools-ng/tinymce/src/themes/mobile/main/ts/android/core/AndroidMode.ts
@@ -1,3 +1,10 @@
+/**
+ * Copyright (c) Tiny Technologies, Inc. All rights reserved.
+ * Licensed under the LGPL or a commercial license.
+ * For LGPL see License.txt in the project root for license information.
+ * For commercial licenses see https://www.tiny.cloud/
+ */
+
import { Singleton } from '@ephox/katamari';
import { Class } from '@ephox/sugar';
import AndroidEvents from './AndroidEvents';
diff --git a/tools-ng/tinymce/editor/src/themes/mobile/main/ts/android/core/AndroidSetup.ts b/tools-ng/tinymce/src/themes/mobile/main/ts/android/core/AndroidSetup.ts
similarity index 91%
rename from tools-ng/tinymce/editor/src/themes/mobile/main/ts/android/core/AndroidSetup.ts
rename to tools-ng/tinymce/src/themes/mobile/main/ts/android/core/AndroidSetup.ts
index 76c90e3ea..c8dbcf12e 100644
--- a/tools-ng/tinymce/editor/src/themes/mobile/main/ts/android/core/AndroidSetup.ts
+++ b/tools-ng/tinymce/src/themes/mobile/main/ts/android/core/AndroidSetup.ts
@@ -1,3 +1,10 @@
+/**
+ * Copyright (c) Tiny Technologies, Inc. All rights reserved.
+ * Licensed under the LGPL or a commercial license.
+ * For LGPL see License.txt in the project root for license information.
+ * For commercial licenses see https://www.tiny.cloud/
+ */
+
import { Fun, Option } from '@ephox/katamari';
import { Attr, DomEvent, Element } from '@ephox/sugar';
diff --git a/tools-ng/tinymce/editor/src/themes/mobile/main/ts/android/focus/ResumeEditing.ts b/tools-ng/tinymce/src/themes/mobile/main/ts/android/focus/ResumeEditing.ts
similarity index 89%
rename from tools-ng/tinymce/editor/src/themes/mobile/main/ts/android/focus/ResumeEditing.ts
rename to tools-ng/tinymce/src/themes/mobile/main/ts/android/focus/ResumeEditing.ts
index 4000e2a39..19cc6fc50 100644
--- a/tools-ng/tinymce/editor/src/themes/mobile/main/ts/android/focus/ResumeEditing.ts
+++ b/tools-ng/tinymce/src/themes/mobile/main/ts/android/focus/ResumeEditing.ts
@@ -1,3 +1,10 @@
+/**
+ * Copyright (c) Tiny Technologies, Inc. All rights reserved.
+ * Licensed under the LGPL or a commercial license.
+ * For LGPL see License.txt in the project root for license information.
+ * For commercial licenses see https://www.tiny.cloud/
+ */
+
import { Arr, Fun } from '@ephox/katamari';
import { Element, Focus, Node } from '@ephox/sugar';
diff --git a/tools-ng/tinymce/editor/src/themes/mobile/main/ts/api/AndroidWebapp.ts b/tools-ng/tinymce/src/themes/mobile/main/ts/api/AndroidWebapp.ts
similarity index 85%
rename from tools-ng/tinymce/editor/src/themes/mobile/main/ts/api/AndroidWebapp.ts
rename to tools-ng/tinymce/src/themes/mobile/main/ts/api/AndroidWebapp.ts
index deaee0060..faae792ac 100644
--- a/tools-ng/tinymce/editor/src/themes/mobile/main/ts/api/AndroidWebapp.ts
+++ b/tools-ng/tinymce/src/themes/mobile/main/ts/api/AndroidWebapp.ts
@@ -1,3 +1,10 @@
+/**
+ * Copyright (c) Tiny Technologies, Inc. All rights reserved.
+ * Licensed under the LGPL or a commercial license.
+ * For LGPL see License.txt in the project root for license information.
+ * For commercial licenses see https://www.tiny.cloud/
+ */
+
import { GuiFactory } from '@ephox/alloy';
import { ValueSchema } from '@ephox/boulder';
import { Fun } from '@ephox/katamari';
diff --git a/tools-ng/tinymce/editor/src/themes/mobile/main/ts/api/IosWebapp.ts b/tools-ng/tinymce/src/themes/mobile/main/ts/api/IosWebapp.ts
similarity index 84%
rename from tools-ng/tinymce/editor/src/themes/mobile/main/ts/api/IosWebapp.ts
rename to tools-ng/tinymce/src/themes/mobile/main/ts/api/IosWebapp.ts
index 634ef3030..8c558284e 100644
--- a/tools-ng/tinymce/editor/src/themes/mobile/main/ts/api/IosWebapp.ts
+++ b/tools-ng/tinymce/src/themes/mobile/main/ts/api/IosWebapp.ts
@@ -1,3 +1,10 @@
+/**
+ * Copyright (c) Tiny Technologies, Inc. All rights reserved.
+ * Licensed under the LGPL or a commercial license.
+ * For LGPL see License.txt in the project root for license information.
+ * For commercial licenses see https://www.tiny.cloud/
+ */
+
import { GuiFactory } from '@ephox/alloy';
import { ValueSchema } from '@ephox/boulder';
import { Fun } from '@ephox/katamari';
diff --git a/tools-ng/tinymce/editor/src/themes/mobile/main/ts/api/MobileSchema.ts b/tools-ng/tinymce/src/themes/mobile/main/ts/api/MobileSchema.ts
similarity index 88%
rename from tools-ng/tinymce/editor/src/themes/mobile/main/ts/api/MobileSchema.ts
rename to tools-ng/tinymce/src/themes/mobile/main/ts/api/MobileSchema.ts
index 0d2e35f44..d616ba692 100644
--- a/tools-ng/tinymce/editor/src/themes/mobile/main/ts/api/MobileSchema.ts
+++ b/tools-ng/tinymce/src/themes/mobile/main/ts/api/MobileSchema.ts
@@ -1,3 +1,10 @@
+/**
+ * Copyright (c) Tiny Technologies, Inc. All rights reserved.
+ * Licensed under the LGPL or a commercial license.
+ * For LGPL see License.txt in the project root for license information.
+ * For commercial licenses see https://www.tiny.cloud/
+ */
+
import { FieldSchema, ValueSchema, Processor } from '@ephox/boulder';
import { Fun } from '@ephox/katamari';
import { Element, Traverse } from '@ephox/sugar';
diff --git a/tools-ng/tinymce/editor/src/themes/mobile/main/ts/api/Settings.ts b/tools-ng/tinymce/src/themes/mobile/main/ts/api/Settings.ts
similarity index 57%
rename from tools-ng/tinymce/editor/src/themes/mobile/main/ts/api/Settings.ts
rename to tools-ng/tinymce/src/themes/mobile/main/ts/api/Settings.ts
index 267e599ab..0dfe82dfc 100644
--- a/tools-ng/tinymce/editor/src/themes/mobile/main/ts/api/Settings.ts
+++ b/tools-ng/tinymce/src/themes/mobile/main/ts/api/Settings.ts
@@ -1,3 +1,10 @@
+/**
+ * Copyright (c) Tiny Technologies, Inc. All rights reserved.
+ * Licensed under the LGPL or a commercial license.
+ * For LGPL see License.txt in the project root for license information.
+ * For commercial licenses see https://www.tiny.cloud/
+ */
+
import { Editor } from 'tinymce/core/api/Editor';
const isSkinDisabled = function (editor: Editor): boolean {
diff --git a/tools-ng/tinymce/editor/src/themes/mobile/main/ts/bridge/LinkBridge.ts b/tools-ng/tinymce/src/themes/mobile/main/ts/bridge/LinkBridge.ts
similarity index 91%
rename from tools-ng/tinymce/editor/src/themes/mobile/main/ts/bridge/LinkBridge.ts
rename to tools-ng/tinymce/src/themes/mobile/main/ts/bridge/LinkBridge.ts
index 390c55d54..2b6bd6222 100644
--- a/tools-ng/tinymce/editor/src/themes/mobile/main/ts/bridge/LinkBridge.ts
+++ b/tools-ng/tinymce/src/themes/mobile/main/ts/bridge/LinkBridge.ts
@@ -1,3 +1,10 @@
+/**
+ * Copyright (c) Tiny Technologies, Inc. All rights reserved.
+ * Licensed under the LGPL or a commercial license.
+ * For LGPL see License.txt in the project root for license information.
+ * For commercial licenses see https://www.tiny.cloud/
+ */
+
import { Fun, Option } from '@ephox/katamari';
import { Attr, Element, SelectorFind, TextContent } from '@ephox/sugar';
diff --git a/tools-ng/tinymce/editor/src/themes/mobile/main/ts/channels/Receivers.ts b/tools-ng/tinymce/src/themes/mobile/main/ts/channels/Receivers.ts
similarity index 76%
rename from tools-ng/tinymce/editor/src/themes/mobile/main/ts/channels/Receivers.ts
rename to tools-ng/tinymce/src/themes/mobile/main/ts/channels/Receivers.ts
index 5546d0bf6..5694447ed 100644
--- a/tools-ng/tinymce/editor/src/themes/mobile/main/ts/channels/Receivers.ts
+++ b/tools-ng/tinymce/src/themes/mobile/main/ts/channels/Receivers.ts
@@ -1,3 +1,10 @@
+/**
+ * Copyright (c) Tiny Technologies, Inc. All rights reserved.
+ * Licensed under the LGPL or a commercial license.
+ * For LGPL see License.txt in the project root for license information.
+ * For commercial licenses see https://www.tiny.cloud/
+ */
+
import { Receiving } from '@ephox/alloy';
import { Objects } from '@ephox/boulder';
import TinyChannels from './TinyChannels';
diff --git a/tools-ng/tinymce/editor/src/themes/mobile/main/ts/channels/TinyChannels.ts b/tools-ng/tinymce/src/themes/mobile/main/ts/channels/TinyChannels.ts
similarity index 57%
rename from tools-ng/tinymce/editor/src/themes/mobile/main/ts/channels/TinyChannels.ts
rename to tools-ng/tinymce/src/themes/mobile/main/ts/channels/TinyChannels.ts
index 33f75bb04..1294dee5b 100644
--- a/tools-ng/tinymce/editor/src/themes/mobile/main/ts/channels/TinyChannels.ts
+++ b/tools-ng/tinymce/src/themes/mobile/main/ts/channels/TinyChannels.ts
@@ -1,3 +1,10 @@
+/**
+ * Copyright (c) Tiny Technologies, Inc. All rights reserved.
+ * Licensed under the LGPL or a commercial license.
+ * For LGPL see License.txt in the project root for license information.
+ * For commercial licenses see https://www.tiny.cloud/
+ */
+
import { Fun } from '@ephox/katamari';
const formatChanged = 'formatChanged';
diff --git a/tools-ng/tinymce/editor/src/themes/mobile/main/ts/features/DefaultStyleFormats.ts b/tools-ng/tinymce/src/themes/mobile/main/ts/features/DefaultStyleFormats.ts
similarity index 84%
rename from tools-ng/tinymce/editor/src/themes/mobile/main/ts/features/DefaultStyleFormats.ts
rename to tools-ng/tinymce/src/themes/mobile/main/ts/features/DefaultStyleFormats.ts
index ad5b05fb4..937c2e9de 100644
--- a/tools-ng/tinymce/editor/src/themes/mobile/main/ts/features/DefaultStyleFormats.ts
+++ b/tools-ng/tinymce/src/themes/mobile/main/ts/features/DefaultStyleFormats.ts
@@ -1,3 +1,9 @@
+/**
+ * Copyright (c) Tiny Technologies, Inc. All rights reserved.
+ * Licensed under the LGPL or a commercial license.
+ * For LGPL see License.txt in the project root for license information.
+ * For commercial licenses see https://www.tiny.cloud/
+ */
export default [
{
diff --git a/tools-ng/tinymce/editor/src/themes/mobile/main/ts/features/Features.ts b/tools-ng/tinymce/src/themes/mobile/main/ts/features/Features.ts
similarity index 95%
rename from tools-ng/tinymce/editor/src/themes/mobile/main/ts/features/Features.ts
rename to tools-ng/tinymce/src/themes/mobile/main/ts/features/Features.ts
index b425653fb..5bb4a86fa 100644
--- a/tools-ng/tinymce/editor/src/themes/mobile/main/ts/features/Features.ts
+++ b/tools-ng/tinymce/src/themes/mobile/main/ts/features/Features.ts
@@ -1,3 +1,10 @@
+/**
+ * Copyright (c) Tiny Technologies, Inc. All rights reserved.
+ * Licensed under the LGPL or a commercial license.
+ * For LGPL see License.txt in the project root for license information.
+ * For commercial licenses see https://www.tiny.cloud/
+ */
+
import { Behaviour, Receiving, Toggling } from '@ephox/alloy';
import { Objects } from '@ephox/boulder';
import { Arr, Option, Type } from '@ephox/katamari';
diff --git a/tools-ng/tinymce/editor/src/themes/mobile/main/ts/ios/core/IosEvents.ts b/tools-ng/tinymce/src/themes/mobile/main/ts/ios/core/IosEvents.ts
similarity index 95%
rename from tools-ng/tinymce/editor/src/themes/mobile/main/ts/ios/core/IosEvents.ts
rename to tools-ng/tinymce/src/themes/mobile/main/ts/ios/core/IosEvents.ts
index 3b606ea27..f8370921e 100644
--- a/tools-ng/tinymce/editor/src/themes/mobile/main/ts/ios/core/IosEvents.ts
+++ b/tools-ng/tinymce/src/themes/mobile/main/ts/ios/core/IosEvents.ts
@@ -1,3 +1,10 @@
+/**
+ * Copyright (c) Tiny Technologies, Inc. All rights reserved.
+ * Licensed under the LGPL or a commercial license.
+ * For LGPL see License.txt in the project root for license information.
+ * For commercial licenses see https://www.tiny.cloud/
+ */
+
import { Arr, Throttler } from '@ephox/katamari';
import { Compare, DomEvent, Height } from '@ephox/sugar';
diff --git a/tools-ng/tinymce/editor/src/themes/mobile/main/ts/ios/core/IosHacks.ts b/tools-ng/tinymce/src/themes/mobile/main/ts/ios/core/IosHacks.ts
similarity index 88%
rename from tools-ng/tinymce/editor/src/themes/mobile/main/ts/ios/core/IosHacks.ts
rename to tools-ng/tinymce/src/themes/mobile/main/ts/ios/core/IosHacks.ts
index cfb659e46..915463661 100644
--- a/tools-ng/tinymce/editor/src/themes/mobile/main/ts/ios/core/IosHacks.ts
+++ b/tools-ng/tinymce/src/themes/mobile/main/ts/ios/core/IosHacks.ts
@@ -1,3 +1,10 @@
+/**
+ * Copyright (c) Tiny Technologies, Inc. All rights reserved.
+ * Licensed under the LGPL or a commercial license.
+ * For LGPL see License.txt in the project root for license information.
+ * For commercial licenses see https://www.tiny.cloud/
+ */
+
import { Focus, WindowSelection } from '@ephox/sugar';
const setSelectionAtTouch = function (editorApi, touchEvent) {
diff --git a/tools-ng/tinymce/editor/src/themes/mobile/main/ts/ios/core/IosMode.ts b/tools-ng/tinymce/src/themes/mobile/main/ts/ios/core/IosMode.ts
similarity index 94%
rename from tools-ng/tinymce/editor/src/themes/mobile/main/ts/ios/core/IosMode.ts
rename to tools-ng/tinymce/src/themes/mobile/main/ts/ios/core/IosMode.ts
index 033f133dc..1f149eb3f 100644
--- a/tools-ng/tinymce/editor/src/themes/mobile/main/ts/ios/core/IosMode.ts
+++ b/tools-ng/tinymce/src/themes/mobile/main/ts/ios/core/IosMode.ts
@@ -1,3 +1,10 @@
+/**
+ * Copyright (c) Tiny Technologies, Inc. All rights reserved.
+ * Licensed under the LGPL or a commercial license.
+ * For LGPL see License.txt in the project root for license information.
+ * For commercial licenses see https://www.tiny.cloud/
+ */
+
import { Fun, Singleton, Struct } from '@ephox/katamari';
import { Class, Css, Element, Focus } from '@ephox/sugar';
diff --git a/tools-ng/tinymce/editor/src/themes/mobile/main/ts/ios/core/IosSetup.ts b/tools-ng/tinymce/src/themes/mobile/main/ts/ios/core/IosSetup.ts
similarity index 96%
rename from tools-ng/tinymce/editor/src/themes/mobile/main/ts/ios/core/IosSetup.ts
rename to tools-ng/tinymce/src/themes/mobile/main/ts/ios/core/IosSetup.ts
index 3d3691db5..4cadffd59 100644
--- a/tools-ng/tinymce/editor/src/themes/mobile/main/ts/ios/core/IosSetup.ts
+++ b/tools-ng/tinymce/src/themes/mobile/main/ts/ios/core/IosSetup.ts
@@ -1,3 +1,10 @@
+/**
+ * Copyright (c) Tiny Technologies, Inc. All rights reserved.
+ * Licensed under the LGPL or a commercial license.
+ * For LGPL see License.txt in the project root for license information.
+ * For commercial licenses see https://www.tiny.cloud/
+ */
+
import { Fun, Option, Throttler } from '@ephox/katamari';
import { Body, Css, DomEvent, Element, Focus } from '@ephox/sugar';
diff --git a/tools-ng/tinymce/editor/src/themes/mobile/main/ts/ios/core/PlatformEditor.ts b/tools-ng/tinymce/src/themes/mobile/main/ts/ios/core/PlatformEditor.ts
similarity index 94%
rename from tools-ng/tinymce/editor/src/themes/mobile/main/ts/ios/core/PlatformEditor.ts
rename to tools-ng/tinymce/src/themes/mobile/main/ts/ios/core/PlatformEditor.ts
index 7a86db26b..b9c20e579 100644
--- a/tools-ng/tinymce/editor/src/themes/mobile/main/ts/ios/core/PlatformEditor.ts
+++ b/tools-ng/tinymce/src/themes/mobile/main/ts/ios/core/PlatformEditor.ts
@@ -1,3 +1,10 @@
+/**
+ * Copyright (c) Tiny Technologies, Inc. All rights reserved.
+ * Licensed under the LGPL or a commercial license.
+ * For LGPL see License.txt in the project root for license information.
+ * For commercial licenses see https://www.tiny.cloud/
+ */
+
import { Fun, Option } from '@ephox/katamari';
import { Compare, DomEvent, Element, WindowSelection } from '@ephox/sugar';
diff --git a/tools-ng/tinymce/editor/src/themes/mobile/main/ts/ios/focus/FakeSelection.ts b/tools-ng/tinymce/src/themes/mobile/main/ts/ios/focus/FakeSelection.ts
similarity index 90%
rename from tools-ng/tinymce/editor/src/themes/mobile/main/ts/ios/focus/FakeSelection.ts
rename to tools-ng/tinymce/src/themes/mobile/main/ts/ios/focus/FakeSelection.ts
index 1adb429f7..03d749b72 100644
--- a/tools-ng/tinymce/editor/src/themes/mobile/main/ts/ios/focus/FakeSelection.ts
+++ b/tools-ng/tinymce/src/themes/mobile/main/ts/ios/focus/FakeSelection.ts
@@ -1,3 +1,10 @@
+/**
+ * Copyright (c) Tiny Technologies, Inc. All rights reserved.
+ * Licensed under the LGPL or a commercial license.
+ * For LGPL see License.txt in the project root for license information.
+ * For commercial licenses see https://www.tiny.cloud/
+ */
+
import { Arr } from '@ephox/katamari';
import {
Class, Classes, Css, DomEvent, Element, Insert, InsertAll, Remove, Traverse
diff --git a/tools-ng/tinymce/editor/src/themes/mobile/main/ts/ios/focus/ResumeEditing.ts b/tools-ng/tinymce/src/themes/mobile/main/ts/ios/focus/ResumeEditing.ts
similarity index 72%
rename from tools-ng/tinymce/editor/src/themes/mobile/main/ts/ios/focus/ResumeEditing.ts
rename to tools-ng/tinymce/src/themes/mobile/main/ts/ios/focus/ResumeEditing.ts
index 56ebdcd7f..8391c1cbb 100644
--- a/tools-ng/tinymce/editor/src/themes/mobile/main/ts/ios/focus/ResumeEditing.ts
+++ b/tools-ng/tinymce/src/themes/mobile/main/ts/ios/focus/ResumeEditing.ts
@@ -1,3 +1,10 @@
+/**
+ * Copyright (c) Tiny Technologies, Inc. All rights reserved.
+ * Licensed under the LGPL or a commercial license.
+ * For LGPL see License.txt in the project root for license information.
+ * For commercial licenses see https://www.tiny.cloud/
+ */
+
import { Compare, Element, Focus } from '@ephox/sugar';
import CursorRefresh from '../../touch/focus/CursorRefresh';
diff --git a/tools-ng/tinymce/editor/src/themes/mobile/main/ts/ios/scroll/IosScrolling.ts b/tools-ng/tinymce/src/themes/mobile/main/ts/ios/scroll/IosScrolling.ts
similarity index 93%
rename from tools-ng/tinymce/editor/src/themes/mobile/main/ts/ios/scroll/IosScrolling.ts
rename to tools-ng/tinymce/src/themes/mobile/main/ts/ios/scroll/IosScrolling.ts
index 8362cf971..f1f5eef1e 100644
--- a/tools-ng/tinymce/editor/src/themes/mobile/main/ts/ios/scroll/IosScrolling.ts
+++ b/tools-ng/tinymce/src/themes/mobile/main/ts/ios/scroll/IosScrolling.ts
@@ -1,3 +1,10 @@
+/**
+ * Copyright (c) Tiny Technologies, Inc. All rights reserved.
+ * Licensed under the LGPL or a commercial license.
+ * For LGPL see License.txt in the project root for license information.
+ * For commercial licenses see https://www.tiny.cloud/
+ */
+
import { Fun, Future } from '@ephox/katamari';
import { Attr, Css, Traverse } from '@ephox/sugar';
diff --git a/tools-ng/tinymce/editor/src/themes/mobile/main/ts/ios/scroll/Scrollables.ts b/tools-ng/tinymce/src/themes/mobile/main/ts/ios/scroll/Scrollables.ts
similarity index 86%
rename from tools-ng/tinymce/editor/src/themes/mobile/main/ts/ios/scroll/Scrollables.ts
rename to tools-ng/tinymce/src/themes/mobile/main/ts/ios/scroll/Scrollables.ts
index e07833797..3ddb297d5 100644
--- a/tools-ng/tinymce/editor/src/themes/mobile/main/ts/ios/scroll/Scrollables.ts
+++ b/tools-ng/tinymce/src/themes/mobile/main/ts/ios/scroll/Scrollables.ts
@@ -1,3 +1,10 @@
+/**
+ * Copyright (c) Tiny Technologies, Inc. All rights reserved.
+ * Licensed under the LGPL or a commercial license.
+ * For LGPL see License.txt in the project root for license information.
+ * For commercial licenses see https://www.tiny.cloud/
+ */
+
import { Fun } from '@ephox/katamari';
import { Attr, DomEvent, SelectorFind } from '@ephox/sugar';
diff --git a/tools-ng/tinymce/editor/src/themes/mobile/main/ts/ios/smooth/BackgroundActivity.ts b/tools-ng/tinymce/src/themes/mobile/main/ts/ios/smooth/BackgroundActivity.ts
similarity index 69%
rename from tools-ng/tinymce/editor/src/themes/mobile/main/ts/ios/smooth/BackgroundActivity.ts
rename to tools-ng/tinymce/src/themes/mobile/main/ts/ios/smooth/BackgroundActivity.ts
index 08b32a636..aa4717af5 100644
--- a/tools-ng/tinymce/editor/src/themes/mobile/main/ts/ios/smooth/BackgroundActivity.ts
+++ b/tools-ng/tinymce/src/themes/mobile/main/ts/ios/smooth/BackgroundActivity.ts
@@ -1,3 +1,10 @@
+/**
+ * Copyright (c) Tiny Technologies, Inc. All rights reserved.
+ * Licensed under the LGPL or a commercial license.
+ * For LGPL see License.txt in the project root for license information.
+ * For commercial licenses see https://www.tiny.cloud/
+ */
+
import { Cell, LazyValue } from '@ephox/katamari';
export default function (doAction) {
diff --git a/tools-ng/tinymce/editor/src/themes/mobile/main/ts/ios/smooth/SmoothAnimation.ts b/tools-ng/tinymce/src/themes/mobile/main/ts/ios/smooth/SmoothAnimation.ts
similarity index 84%
rename from tools-ng/tinymce/editor/src/themes/mobile/main/ts/ios/smooth/SmoothAnimation.ts
rename to tools-ng/tinymce/src/themes/mobile/main/ts/ios/smooth/SmoothAnimation.ts
index bb197b7c3..ee957231c 100644
--- a/tools-ng/tinymce/editor/src/themes/mobile/main/ts/ios/smooth/SmoothAnimation.ts
+++ b/tools-ng/tinymce/src/themes/mobile/main/ts/ios/smooth/SmoothAnimation.ts
@@ -1,3 +1,10 @@
+/**
+ * Copyright (c) Tiny Technologies, Inc. All rights reserved.
+ * Licensed under the LGPL or a commercial license.
+ * For LGPL see License.txt in the project root for license information.
+ * For commercial licenses see https://www.tiny.cloud/
+ */
+
import { Option } from '@ephox/katamari';
const adjust = function (value, destination, amount) {
diff --git a/tools-ng/tinymce/editor/src/themes/mobile/main/ts/ios/view/DeviceZones.ts b/tools-ng/tinymce/src/themes/mobile/main/ts/ios/view/DeviceZones.ts
similarity index 91%
rename from tools-ng/tinymce/editor/src/themes/mobile/main/ts/ios/view/DeviceZones.ts
rename to tools-ng/tinymce/src/themes/mobile/main/ts/ios/view/DeviceZones.ts
index c6c95f93d..111d34435 100644
--- a/tools-ng/tinymce/editor/src/themes/mobile/main/ts/ios/view/DeviceZones.ts
+++ b/tools-ng/tinymce/src/themes/mobile/main/ts/ios/view/DeviceZones.ts
@@ -1,3 +1,10 @@
+/**
+ * Copyright (c) Tiny Technologies, Inc. All rights reserved.
+ * Licensed under the LGPL or a commercial license.
+ * For LGPL see License.txt in the project root for license information.
+ * For commercial licenses see https://www.tiny.cloud/
+ */
+
import { Css, Height, Traverse } from '@ephox/sugar';
import Orientation from '../../touch/view/Orientation';
diff --git a/tools-ng/tinymce/editor/src/themes/mobile/main/ts/ios/view/Devices.ts b/tools-ng/tinymce/src/themes/mobile/main/ts/ios/view/Devices.ts
similarity index 84%
rename from tools-ng/tinymce/editor/src/themes/mobile/main/ts/ios/view/Devices.ts
rename to tools-ng/tinymce/src/themes/mobile/main/ts/ios/view/Devices.ts
index 881820eaa..05ceee6d7 100644
--- a/tools-ng/tinymce/editor/src/themes/mobile/main/ts/ios/view/Devices.ts
+++ b/tools-ng/tinymce/src/themes/mobile/main/ts/ios/view/Devices.ts
@@ -1,3 +1,10 @@
+/**
+ * Copyright (c) Tiny Technologies, Inc. All rights reserved.
+ * Licensed under the LGPL or a commercial license.
+ * For LGPL see License.txt in the project root for license information.
+ * For commercial licenses see https://www.tiny.cloud/
+ */
+
import { Option, Options } from '@ephox/katamari';
/*
diff --git a/tools-ng/tinymce/editor/src/themes/mobile/main/ts/ios/view/Greenzone.ts b/tools-ng/tinymce/src/themes/mobile/main/ts/ios/view/Greenzone.ts
similarity index 74%
rename from tools-ng/tinymce/editor/src/themes/mobile/main/ts/ios/view/Greenzone.ts
rename to tools-ng/tinymce/src/themes/mobile/main/ts/ios/view/Greenzone.ts
index 7d6b6b858..bfedb22a0 100644
--- a/tools-ng/tinymce/editor/src/themes/mobile/main/ts/ios/view/Greenzone.ts
+++ b/tools-ng/tinymce/src/themes/mobile/main/ts/ios/view/Greenzone.ts
@@ -1,3 +1,10 @@
+/**
+ * Copyright (c) Tiny Technologies, Inc. All rights reserved.
+ * Licensed under the LGPL or a commercial license.
+ * For LGPL see License.txt in the project root for license information.
+ * For commercial licenses see https://www.tiny.cloud/
+ */
+
import { Fun } from '@ephox/katamari';
import IosScrolling from '../scroll/IosScrolling';
import DeviceZones from './DeviceZones';
diff --git a/tools-ng/tinymce/editor/src/themes/mobile/main/ts/ios/view/IosKeyboard.ts b/tools-ng/tinymce/src/themes/mobile/main/ts/ios/view/IosKeyboard.ts
similarity index 94%
rename from tools-ng/tinymce/editor/src/themes/mobile/main/ts/ios/view/IosKeyboard.ts
rename to tools-ng/tinymce/src/themes/mobile/main/ts/ios/view/IosKeyboard.ts
index cf49e34a8..bacdf323a 100644
--- a/tools-ng/tinymce/editor/src/themes/mobile/main/ts/ios/view/IosKeyboard.ts
+++ b/tools-ng/tinymce/src/themes/mobile/main/ts/ios/view/IosKeyboard.ts
@@ -1,3 +1,10 @@
+/**
+ * Copyright (c) Tiny Technologies, Inc. All rights reserved.
+ * Licensed under the LGPL or a commercial license.
+ * For LGPL see License.txt in the project root for license information.
+ * For commercial licenses see https://www.tiny.cloud/
+ */
+
import { Arr, Fun } from '@ephox/katamari';
import { DomEvent, Focus, Node } from '@ephox/sugar';
diff --git a/tools-ng/tinymce/editor/src/themes/mobile/main/ts/ios/view/IosUpdates.ts b/tools-ng/tinymce/src/themes/mobile/main/ts/ios/view/IosUpdates.ts
similarity index 84%
rename from tools-ng/tinymce/editor/src/themes/mobile/main/ts/ios/view/IosUpdates.ts
rename to tools-ng/tinymce/src/themes/mobile/main/ts/ios/view/IosUpdates.ts
index 1517b77d8..fe132b7f6 100644
--- a/tools-ng/tinymce/editor/src/themes/mobile/main/ts/ios/view/IosUpdates.ts
+++ b/tools-ng/tinymce/src/themes/mobile/main/ts/ios/view/IosUpdates.ts
@@ -1,3 +1,10 @@
+/**
+ * Copyright (c) Tiny Technologies, Inc. All rights reserved.
+ * Licensed under the LGPL or a commercial license.
+ * For LGPL see License.txt in the project root for license information.
+ * For commercial licenses see https://www.tiny.cloud/
+ */
+
import { Arr, Future, Futures } from '@ephox/katamari';
import { Css } from '@ephox/sugar';
diff --git a/tools-ng/tinymce/editor/src/themes/mobile/main/ts/ios/view/IosViewport.ts b/tools-ng/tinymce/src/themes/mobile/main/ts/ios/view/IosViewport.ts
similarity index 95%
rename from tools-ng/tinymce/editor/src/themes/mobile/main/ts/ios/view/IosViewport.ts
rename to tools-ng/tinymce/src/themes/mobile/main/ts/ios/view/IosViewport.ts
index 5fbc1a8e3..2c1fa0dd0 100644
--- a/tools-ng/tinymce/editor/src/themes/mobile/main/ts/ios/view/IosViewport.ts
+++ b/tools-ng/tinymce/src/themes/mobile/main/ts/ios/view/IosViewport.ts
@@ -1,3 +1,10 @@
+/**
+ * Copyright (c) Tiny Technologies, Inc. All rights reserved.
+ * Licensed under the LGPL or a commercial license.
+ * For LGPL see License.txt in the project root for license information.
+ * For commercial licenses see https://www.tiny.cloud/
+ */
+
import { Adt, Arr, Fun } from '@ephox/katamari';
import { Attr, Css, Height, SelectorFilter, Traverse } from '@ephox/sugar';
diff --git a/tools-ng/tinymce/editor/src/themes/mobile/main/ts/model/SwipingModel.ts b/tools-ng/tinymce/src/themes/mobile/main/ts/model/SwipingModel.ts
similarity index 87%
rename from tools-ng/tinymce/editor/src/themes/mobile/main/ts/model/SwipingModel.ts
rename to tools-ng/tinymce/src/themes/mobile/main/ts/model/SwipingModel.ts
index 2537cb12d..95bc82de1 100644
--- a/tools-ng/tinymce/editor/src/themes/mobile/main/ts/model/SwipingModel.ts
+++ b/tools-ng/tinymce/src/themes/mobile/main/ts/model/SwipingModel.ts
@@ -1,3 +1,10 @@
+/**
+ * Copyright (c) Tiny Technologies, Inc. All rights reserved.
+ * Licensed under the LGPL or a commercial license.
+ * For LGPL see License.txt in the project root for license information.
+ * For commercial licenses see https://www.tiny.cloud/
+ */
+
const SWIPING_LEFT = 1;
const SWIPING_RIGHT = -1;
const SWIPING_NONE = 0;
diff --git a/tools-ng/tinymce/src/themes/mobile/main/ts/style/Styles.ts b/tools-ng/tinymce/src/themes/mobile/main/ts/style/Styles.ts
new file mode 100644
index 000000000..3f05f5526
--- /dev/null
+++ b/tools-ng/tinymce/src/themes/mobile/main/ts/style/Styles.ts
@@ -0,0 +1,19 @@
+/**
+ * Copyright (c) Tiny Technologies, Inc. All rights reserved.
+ * Licensed under the LGPL or a commercial license.
+ * For LGPL see License.txt in the project root for license information.
+ * For commercial licenses see https://www.tiny.cloud/
+ */
+
+import { Fun } from '@ephox/katamari';
+
+const prefix = 'tinymce-mobile';
+
+const resolve = function (p) {
+ return prefix + '-' + p;
+};
+
+export default {
+ resolve,
+ prefix: Fun.constant(prefix)
+};
\ No newline at end of file
diff --git a/tools-ng/tinymce/editor/src/themes/mobile/main/ts/toolbar/ScrollingToolbar.ts b/tools-ng/tinymce/src/themes/mobile/main/ts/toolbar/ScrollingToolbar.ts
similarity index 93%
rename from tools-ng/tinymce/editor/src/themes/mobile/main/ts/toolbar/ScrollingToolbar.ts
rename to tools-ng/tinymce/src/themes/mobile/main/ts/toolbar/ScrollingToolbar.ts
index 5fcdee5de..074b3c135 100644
--- a/tools-ng/tinymce/editor/src/themes/mobile/main/ts/toolbar/ScrollingToolbar.ts
+++ b/tools-ng/tinymce/src/themes/mobile/main/ts/toolbar/ScrollingToolbar.ts
@@ -1,3 +1,10 @@
+/**
+ * Copyright (c) Tiny Technologies, Inc. All rights reserved.
+ * Licensed under the LGPL or a commercial license.
+ * For LGPL see License.txt in the project root for license information.
+ * For commercial licenses see https://www.tiny.cloud/
+ */
+
import {
AddEventsBehaviour,
AlloyEvents,
diff --git a/tools-ng/tinymce/editor/src/themes/mobile/main/ts/touch/focus/CursorRefresh.ts b/tools-ng/tinymce/src/themes/mobile/main/ts/touch/focus/CursorRefresh.ts
similarity index 88%
rename from tools-ng/tinymce/editor/src/themes/mobile/main/ts/touch/focus/CursorRefresh.ts
rename to tools-ng/tinymce/src/themes/mobile/main/ts/touch/focus/CursorRefresh.ts
index c41fb9c19..2486601d2 100644
--- a/tools-ng/tinymce/editor/src/themes/mobile/main/ts/touch/focus/CursorRefresh.ts
+++ b/tools-ng/tinymce/src/themes/mobile/main/ts/touch/focus/CursorRefresh.ts
@@ -1,3 +1,10 @@
+/**
+ * Copyright (c) Tiny Technologies, Inc. All rights reserved.
+ * Licensed under the LGPL or a commercial license.
+ * For LGPL see License.txt in the project root for license information.
+ * For commercial licenses see https://www.tiny.cloud/
+ */
+
import { Focus } from '@ephox/sugar';
const refreshInput = function (input) {
diff --git a/tools-ng/tinymce/editor/src/themes/mobile/main/ts/touch/scroll/Scrollable.ts b/tools-ng/tinymce/src/themes/mobile/main/ts/touch/scroll/Scrollable.ts
similarity index 69%
rename from tools-ng/tinymce/editor/src/themes/mobile/main/ts/touch/scroll/Scrollable.ts
rename to tools-ng/tinymce/src/themes/mobile/main/ts/touch/scroll/Scrollable.ts
index a1c7ad906..fd6f76184 100644
--- a/tools-ng/tinymce/editor/src/themes/mobile/main/ts/touch/scroll/Scrollable.ts
+++ b/tools-ng/tinymce/src/themes/mobile/main/ts/touch/scroll/Scrollable.ts
@@ -1,3 +1,10 @@
+/**
+ * Copyright (c) Tiny Technologies, Inc. All rights reserved.
+ * Licensed under the LGPL or a commercial license.
+ * For LGPL see License.txt in the project root for license information.
+ * For commercial licenses see https://www.tiny.cloud/
+ */
+
import { Fun } from '@ephox/katamari';
import { Class } from '@ephox/sugar';
import Styles from '../../style/Styles';
diff --git a/tools-ng/tinymce/editor/src/themes/mobile/main/ts/touch/view/MetaViewport.ts b/tools-ng/tinymce/src/themes/mobile/main/ts/touch/view/MetaViewport.ts
similarity index 84%
rename from tools-ng/tinymce/editor/src/themes/mobile/main/ts/touch/view/MetaViewport.ts
rename to tools-ng/tinymce/src/themes/mobile/main/ts/touch/view/MetaViewport.ts
index f499427b0..6d24ca5aa 100644
--- a/tools-ng/tinymce/editor/src/themes/mobile/main/ts/touch/view/MetaViewport.ts
+++ b/tools-ng/tinymce/src/themes/mobile/main/ts/touch/view/MetaViewport.ts
@@ -1,3 +1,10 @@
+/**
+ * Copyright (c) Tiny Technologies, Inc. All rights reserved.
+ * Licensed under the LGPL or a commercial license.
+ * For LGPL see License.txt in the project root for license information.
+ * For commercial licenses see https://www.tiny.cloud/
+ */
+
import { Attr, Element, Insert, SelectorFind } from '@ephox/sugar';
/*
diff --git a/tools-ng/tinymce/editor/src/themes/mobile/main/ts/touch/view/Orientation.ts b/tools-ng/tinymce/src/themes/mobile/main/ts/touch/view/Orientation.ts
similarity index 89%
rename from tools-ng/tinymce/editor/src/themes/mobile/main/ts/touch/view/Orientation.ts
rename to tools-ng/tinymce/src/themes/mobile/main/ts/touch/view/Orientation.ts
index a54c09c34..25385195d 100644
--- a/tools-ng/tinymce/editor/src/themes/mobile/main/ts/touch/view/Orientation.ts
+++ b/tools-ng/tinymce/src/themes/mobile/main/ts/touch/view/Orientation.ts
@@ -1,3 +1,10 @@
+/**
+ * Copyright (c) Tiny Technologies, Inc. All rights reserved.
+ * Licensed under the LGPL or a commercial license.
+ * For LGPL see License.txt in the project root for license information.
+ * For commercial licenses see https://www.tiny.cloud/
+ */
+
import { Fun, Option } from '@ephox/katamari';
import { PlatformDetection } from '@ephox/sand';
import { DomEvent, Element } from '@ephox/sugar';
diff --git a/tools-ng/tinymce/editor/src/themes/mobile/main/ts/touch/view/TapToEditMask.ts b/tools-ng/tinymce/src/themes/mobile/main/ts/touch/view/TapToEditMask.ts
similarity index 85%
rename from tools-ng/tinymce/editor/src/themes/mobile/main/ts/touch/view/TapToEditMask.ts
rename to tools-ng/tinymce/src/themes/mobile/main/ts/touch/view/TapToEditMask.ts
index d948c2081..28b3df6ce 100644
--- a/tools-ng/tinymce/editor/src/themes/mobile/main/ts/touch/view/TapToEditMask.ts
+++ b/tools-ng/tinymce/src/themes/mobile/main/ts/touch/view/TapToEditMask.ts
@@ -1,3 +1,10 @@
+/**
+ * Copyright (c) Tiny Technologies, Inc. All rights reserved.
+ * Licensed under the LGPL or a commercial license.
+ * For LGPL see License.txt in the project root for license information.
+ * For commercial licenses see https://www.tiny.cloud/
+ */
+
import { Behaviour, Button, Container, Memento, Toggling, SketchSpec } from '@ephox/alloy';
import { Throttler } from '@ephox/katamari';
diff --git a/tools-ng/tinymce/editor/src/themes/mobile/main/ts/ui/AndroidRealm.ts b/tools-ng/tinymce/src/themes/mobile/main/ts/ui/AndroidRealm.ts
similarity index 89%
rename from tools-ng/tinymce/editor/src/themes/mobile/main/ts/ui/AndroidRealm.ts
rename to tools-ng/tinymce/src/themes/mobile/main/ts/ui/AndroidRealm.ts
index b6ffcc6be..e1ff252b8 100644
--- a/tools-ng/tinymce/editor/src/themes/mobile/main/ts/ui/AndroidRealm.ts
+++ b/tools-ng/tinymce/src/themes/mobile/main/ts/ui/AndroidRealm.ts
@@ -1,3 +1,10 @@
+/**
+ * Copyright (c) Tiny Technologies, Inc. All rights reserved.
+ * Licensed under the LGPL or a commercial license.
+ * For LGPL see License.txt in the project root for license information.
+ * For commercial licenses see https://www.tiny.cloud/
+ */
+
import { Replacing, ComponentApi, Gui } from '@ephox/alloy';
import { Fun, Singleton } from '@ephox/katamari';
diff --git a/tools-ng/tinymce/editor/src/themes/mobile/main/ts/ui/Buttons.ts b/tools-ng/tinymce/src/themes/mobile/main/ts/ui/Buttons.ts
similarity index 87%
rename from tools-ng/tinymce/editor/src/themes/mobile/main/ts/ui/Buttons.ts
rename to tools-ng/tinymce/src/themes/mobile/main/ts/ui/Buttons.ts
index c2c9758ad..f2655ffad 100644
--- a/tools-ng/tinymce/editor/src/themes/mobile/main/ts/ui/Buttons.ts
+++ b/tools-ng/tinymce/src/themes/mobile/main/ts/ui/Buttons.ts
@@ -1,3 +1,10 @@
+/**
+ * Copyright (c) Tiny Technologies, Inc. All rights reserved.
+ * Licensed under the LGPL or a commercial license.
+ * For LGPL see License.txt in the project root for license information.
+ * For commercial licenses see https://www.tiny.cloud/
+ */
+
import { Behaviour, Button, Toggling, Unselecting, SketchSpec } from '@ephox/alloy';
import { Merger } from '@ephox/katamari';
diff --git a/tools-ng/tinymce/editor/src/themes/mobile/main/ts/ui/ColorSlider.ts b/tools-ng/tinymce/src/themes/mobile/main/ts/ui/ColorSlider.ts
similarity index 92%
rename from tools-ng/tinymce/editor/src/themes/mobile/main/ts/ui/ColorSlider.ts
rename to tools-ng/tinymce/src/themes/mobile/main/ts/ui/ColorSlider.ts
index d8fc3f4d3..5ae3b2004 100644
--- a/tools-ng/tinymce/editor/src/themes/mobile/main/ts/ui/ColorSlider.ts
+++ b/tools-ng/tinymce/src/themes/mobile/main/ts/ui/ColorSlider.ts
@@ -1,3 +1,10 @@
+/**
+ * Copyright (c) Tiny Technologies, Inc. All rights reserved.
+ * Licensed under the LGPL or a commercial license.
+ * For LGPL see License.txt in the project root for license information.
+ * For commercial licenses see https://www.tiny.cloud/
+ */
+
import { Behaviour, Slider, Toggling, SketchSpec } from '@ephox/alloy';
import { Css } from '@ephox/sugar';
diff --git a/tools-ng/tinymce/editor/src/themes/mobile/main/ts/ui/CommonRealm.ts b/tools-ng/tinymce/src/themes/mobile/main/ts/ui/CommonRealm.ts
similarity index 83%
rename from tools-ng/tinymce/editor/src/themes/mobile/main/ts/ui/CommonRealm.ts
rename to tools-ng/tinymce/src/themes/mobile/main/ts/ui/CommonRealm.ts
index ab83cc692..fe06e4e62 100644
--- a/tools-ng/tinymce/editor/src/themes/mobile/main/ts/ui/CommonRealm.ts
+++ b/tools-ng/tinymce/src/themes/mobile/main/ts/ui/CommonRealm.ts
@@ -1,3 +1,10 @@
+/**
+ * Copyright (c) Tiny Technologies, Inc. All rights reserved.
+ * Licensed under the LGPL or a commercial license.
+ * For LGPL see License.txt in the project root for license information.
+ * For commercial licenses see https://www.tiny.cloud/
+ */
+
import { Behaviour, Button, Container, GuiFactory, Replacing, Swapping, ComponentApi } from '@ephox/alloy';
import * as UiDomFactory from '../util/UiDomFactory';
diff --git a/tools-ng/tinymce/editor/src/themes/mobile/main/ts/ui/Dropup.ts b/tools-ng/tinymce/src/themes/mobile/main/ts/ui/Dropup.ts
similarity index 89%
rename from tools-ng/tinymce/editor/src/themes/mobile/main/ts/ui/Dropup.ts
rename to tools-ng/tinymce/src/themes/mobile/main/ts/ui/Dropup.ts
index 66bfb33e4..95824db23 100644
--- a/tools-ng/tinymce/editor/src/themes/mobile/main/ts/ui/Dropup.ts
+++ b/tools-ng/tinymce/src/themes/mobile/main/ts/ui/Dropup.ts
@@ -1,3 +1,10 @@
+/**
+ * Copyright (c) Tiny Technologies, Inc. All rights reserved.
+ * Licensed under the LGPL or a commercial license.
+ * For LGPL see License.txt in the project root for license information.
+ * For commercial licenses see https://www.tiny.cloud/
+ */
+
import { Behaviour, Container, GuiFactory, Replacing, Sliding, ComponentApi } from '@ephox/alloy';
import { Fun } from '@ephox/katamari';
diff --git a/tools-ng/tinymce/editor/src/themes/mobile/main/ts/ui/FontSizeSlider.ts b/tools-ng/tinymce/src/themes/mobile/main/ts/ui/FontSizeSlider.ts
similarity index 81%
rename from tools-ng/tinymce/editor/src/themes/mobile/main/ts/ui/FontSizeSlider.ts
rename to tools-ng/tinymce/src/themes/mobile/main/ts/ui/FontSizeSlider.ts
index 7003edc09..8f76842a3 100644
--- a/tools-ng/tinymce/editor/src/themes/mobile/main/ts/ui/FontSizeSlider.ts
+++ b/tools-ng/tinymce/src/themes/mobile/main/ts/ui/FontSizeSlider.ts
@@ -1,3 +1,10 @@
+/**
+ * Copyright (c) Tiny Technologies, Inc. All rights reserved.
+ * Licensed under the LGPL or a commercial license.
+ * For LGPL see License.txt in the project root for license information.
+ * For commercial licenses see https://www.tiny.cloud/
+ */
+
import SizeSlider from './SizeSlider';
import * as ToolbarWidgets from './ToolbarWidgets';
import FontSizes from '../util/FontSizes';
diff --git a/tools-ng/tinymce/editor/src/themes/mobile/main/ts/ui/HeadingSlider.ts b/tools-ng/tinymce/src/themes/mobile/main/ts/ui/HeadingSlider.ts
similarity index 86%
rename from tools-ng/tinymce/editor/src/themes/mobile/main/ts/ui/HeadingSlider.ts
rename to tools-ng/tinymce/src/themes/mobile/main/ts/ui/HeadingSlider.ts
index c2611d726..799f004b6 100644
--- a/tools-ng/tinymce/editor/src/themes/mobile/main/ts/ui/HeadingSlider.ts
+++ b/tools-ng/tinymce/src/themes/mobile/main/ts/ui/HeadingSlider.ts
@@ -1,3 +1,10 @@
+/**
+ * Copyright (c) Tiny Technologies, Inc. All rights reserved.
+ * Licensed under the LGPL or a commercial license.
+ * For LGPL see License.txt in the project root for license information.
+ * For commercial licenses see https://www.tiny.cloud/
+ */
+
import { Arr } from '@ephox/katamari';
import { Compare, Element, Node, PredicateFind } from '@ephox/sugar';
diff --git a/tools-ng/tinymce/editor/src/themes/mobile/main/ts/ui/ImagePicker.ts b/tools-ng/tinymce/src/themes/mobile/main/ts/ui/ImagePicker.ts
similarity index 88%
rename from tools-ng/tinymce/editor/src/themes/mobile/main/ts/ui/ImagePicker.ts
rename to tools-ng/tinymce/src/themes/mobile/main/ts/ui/ImagePicker.ts
index d11477aca..7d28b1cb4 100644
--- a/tools-ng/tinymce/editor/src/themes/mobile/main/ts/ui/ImagePicker.ts
+++ b/tools-ng/tinymce/src/themes/mobile/main/ts/ui/ImagePicker.ts
@@ -1,3 +1,10 @@
+/**
+ * Copyright (c) Tiny Technologies, Inc. All rights reserved.
+ * Licensed under the LGPL or a commercial license.
+ * For LGPL see License.txt in the project root for license information.
+ * For commercial licenses see https://www.tiny.cloud/
+ */
+
import { AlloyEvents, Button, Memento, NativeEvents, SketchSpec } from '@ephox/alloy';
import { BlobConversions } from '@ephox/imagetools';
import { Id, Option } from '@ephox/katamari';
diff --git a/tools-ng/tinymce/editor/src/themes/mobile/main/ts/ui/Inputs.ts b/tools-ng/tinymce/src/themes/mobile/main/ts/ui/Inputs.ts
similarity index 91%
rename from tools-ng/tinymce/editor/src/themes/mobile/main/ts/ui/Inputs.ts
rename to tools-ng/tinymce/src/themes/mobile/main/ts/ui/Inputs.ts
index c6641e442..97d8c5092 100644
--- a/tools-ng/tinymce/editor/src/themes/mobile/main/ts/ui/Inputs.ts
+++ b/tools-ng/tinymce/src/themes/mobile/main/ts/ui/Inputs.ts
@@ -1,3 +1,10 @@
+/**
+ * Copyright (c) Tiny Technologies, Inc. All rights reserved.
+ * Licensed under the LGPL or a commercial license.
+ * For LGPL see License.txt in the project root for license information.
+ * For commercial licenses see https://www.tiny.cloud/
+ */
+
import {
AddEventsBehaviour,
AlloyEvents,
diff --git a/tools-ng/tinymce/editor/src/themes/mobile/main/ts/ui/IosRealm.ts b/tools-ng/tinymce/src/themes/mobile/main/ts/ui/IosRealm.ts
similarity index 90%
rename from tools-ng/tinymce/editor/src/themes/mobile/main/ts/ui/IosRealm.ts
rename to tools-ng/tinymce/src/themes/mobile/main/ts/ui/IosRealm.ts
index 5c90bc1aa..ce19f5768 100644
--- a/tools-ng/tinymce/editor/src/themes/mobile/main/ts/ui/IosRealm.ts
+++ b/tools-ng/tinymce/src/themes/mobile/main/ts/ui/IosRealm.ts
@@ -1,3 +1,10 @@
+/**
+ * Copyright (c) Tiny Technologies, Inc. All rights reserved.
+ * Licensed under the LGPL or a commercial license.
+ * For LGPL see License.txt in the project root for license information.
+ * For commercial licenses see https://www.tiny.cloud/
+ */
+
import { Replacing, ComponentApi, Gui } from '@ephox/alloy';
import { Fun, Singleton } from '@ephox/katamari';
diff --git a/tools-ng/tinymce/editor/src/themes/mobile/main/ts/ui/LinkButton.ts b/tools-ng/tinymce/src/themes/mobile/main/ts/ui/LinkButton.ts
similarity index 89%
rename from tools-ng/tinymce/editor/src/themes/mobile/main/ts/ui/LinkButton.ts
rename to tools-ng/tinymce/src/themes/mobile/main/ts/ui/LinkButton.ts
index 0b3f0adcc..74ed22e41 100644
--- a/tools-ng/tinymce/editor/src/themes/mobile/main/ts/ui/LinkButton.ts
+++ b/tools-ng/tinymce/src/themes/mobile/main/ts/ui/LinkButton.ts
@@ -1,3 +1,10 @@
+/**
+ * Copyright (c) Tiny Technologies, Inc. All rights reserved.
+ * Licensed under the LGPL or a commercial license.
+ * For LGPL see License.txt in the project root for license information.
+ * For commercial licenses see https://www.tiny.cloud/
+ */
+
import { Representing, SketchSpec } from '@ephox/alloy';
import { Option, Thunk } from '@ephox/katamari';
diff --git a/tools-ng/tinymce/editor/src/themes/mobile/main/ts/ui/OuterContainer.ts b/tools-ng/tinymce/src/themes/mobile/main/ts/ui/OuterContainer.ts
similarity index 73%
rename from tools-ng/tinymce/editor/src/themes/mobile/main/ts/ui/OuterContainer.ts
rename to tools-ng/tinymce/src/themes/mobile/main/ts/ui/OuterContainer.ts
index 36ebd7f7d..68010da80 100644
--- a/tools-ng/tinymce/editor/src/themes/mobile/main/ts/ui/OuterContainer.ts
+++ b/tools-ng/tinymce/src/themes/mobile/main/ts/ui/OuterContainer.ts
@@ -1,3 +1,10 @@
+/**
+ * Copyright (c) Tiny Technologies, Inc. All rights reserved.
+ * Licensed under the LGPL or a commercial license.
+ * For LGPL see License.txt in the project root for license information.
+ * For commercial licenses see https://www.tiny.cloud/
+ */
+
import { Behaviour, Container, Gui, GuiFactory, Swapping } from '@ephox/alloy';
import { Fun } from '@ephox/katamari';
diff --git a/tools-ng/tinymce/editor/src/themes/mobile/main/ts/ui/SerialisedDialog.ts b/tools-ng/tinymce/src/themes/mobile/main/ts/ui/SerialisedDialog.ts
similarity index 97%
rename from tools-ng/tinymce/editor/src/themes/mobile/main/ts/ui/SerialisedDialog.ts
rename to tools-ng/tinymce/src/themes/mobile/main/ts/ui/SerialisedDialog.ts
index 21441c379..909957dd1 100644
--- a/tools-ng/tinymce/editor/src/themes/mobile/main/ts/ui/SerialisedDialog.ts
+++ b/tools-ng/tinymce/src/themes/mobile/main/ts/ui/SerialisedDialog.ts
@@ -1,3 +1,10 @@
+/**
+ * Copyright (c) Tiny Technologies, Inc. All rights reserved.
+ * Licensed under the LGPL or a commercial license.
+ * For LGPL see License.txt in the project root for license information.
+ * For commercial licenses see https://www.tiny.cloud/
+ */
+
import {
AddEventsBehaviour, AlloyEvents, AlloyTriggers, Behaviour, Button, Container, Disabling, Form,
Highlighting, Keying, Memento, NativeEvents, Representing
diff --git a/tools-ng/tinymce/editor/src/themes/mobile/main/ts/ui/SizeSlider.ts b/tools-ng/tinymce/src/themes/mobile/main/ts/ui/SizeSlider.ts
similarity index 88%
rename from tools-ng/tinymce/editor/src/themes/mobile/main/ts/ui/SizeSlider.ts
rename to tools-ng/tinymce/src/themes/mobile/main/ts/ui/SizeSlider.ts
index 8a6faac16..9fc907b4a 100644
--- a/tools-ng/tinymce/editor/src/themes/mobile/main/ts/ui/SizeSlider.ts
+++ b/tools-ng/tinymce/src/themes/mobile/main/ts/ui/SizeSlider.ts
@@ -1,3 +1,10 @@
+/**
+ * Copyright (c) Tiny Technologies, Inc. All rights reserved.
+ * Licensed under the LGPL or a commercial license.
+ * For LGPL see License.txt in the project root for license information.
+ * For commercial licenses see https://www.tiny.cloud/
+ */
+
import { Behaviour, Slider, Toggling, SketchSpec } from '@ephox/alloy';
import { FieldSchema, ValueSchema } from '@ephox/boulder';
diff --git a/tools-ng/tinymce/editor/src/themes/mobile/main/ts/ui/StylesMenu.ts b/tools-ng/tinymce/src/themes/mobile/main/ts/ui/StylesMenu.ts
similarity index 96%
rename from tools-ng/tinymce/editor/src/themes/mobile/main/ts/ui/StylesMenu.ts
rename to tools-ng/tinymce/src/themes/mobile/main/ts/ui/StylesMenu.ts
index 302cf4f0c..35e93839f 100644
--- a/tools-ng/tinymce/editor/src/themes/mobile/main/ts/ui/StylesMenu.ts
+++ b/tools-ng/tinymce/src/themes/mobile/main/ts/ui/StylesMenu.ts
@@ -1,3 +1,10 @@
+/**
+ * Copyright (c) Tiny Technologies, Inc. All rights reserved.
+ * Licensed under the LGPL or a commercial license.
+ * For LGPL see License.txt in the project root for license information.
+ * For commercial licenses see https://www.tiny.cloud/
+ */
+
import {
AddEventsBehaviour, AlloyEvents, Behaviour, Button, GuiFactory, Memento, Menu, Representing,
TieredMenu, Toggling, Transitioning
diff --git a/tools-ng/tinymce/editor/src/themes/mobile/main/ts/ui/ToolbarWidgets.ts b/tools-ng/tinymce/src/themes/mobile/main/ts/ui/ToolbarWidgets.ts
similarity index 60%
rename from tools-ng/tinymce/editor/src/themes/mobile/main/ts/ui/ToolbarWidgets.ts
rename to tools-ng/tinymce/src/themes/mobile/main/ts/ui/ToolbarWidgets.ts
index 687ab8f34..6654a2321 100644
--- a/tools-ng/tinymce/editor/src/themes/mobile/main/ts/ui/ToolbarWidgets.ts
+++ b/tools-ng/tinymce/src/themes/mobile/main/ts/ui/ToolbarWidgets.ts
@@ -1,3 +1,10 @@
+/**
+ * Copyright (c) Tiny Technologies, Inc. All rights reserved.
+ * Licensed under the LGPL or a commercial license.
+ * For LGPL see License.txt in the project root for license information.
+ * For commercial licenses see https://www.tiny.cloud/
+ */
+
import Buttons from './Buttons';
import { SketchSpec } from '@ephox/alloy';
diff --git a/tools-ng/tinymce/editor/src/themes/mobile/main/ts/util/CaptureBin.ts b/tools-ng/tinymce/src/themes/mobile/main/ts/util/CaptureBin.ts
similarity index 65%
rename from tools-ng/tinymce/editor/src/themes/mobile/main/ts/util/CaptureBin.ts
rename to tools-ng/tinymce/src/themes/mobile/main/ts/util/CaptureBin.ts
index 6315919c5..94c2e27f6 100644
--- a/tools-ng/tinymce/editor/src/themes/mobile/main/ts/util/CaptureBin.ts
+++ b/tools-ng/tinymce/src/themes/mobile/main/ts/util/CaptureBin.ts
@@ -1,3 +1,10 @@
+/**
+ * Copyright (c) Tiny Technologies, Inc. All rights reserved.
+ * Licensed under the LGPL or a commercial license.
+ * For LGPL see License.txt in the project root for license information.
+ * For commercial licenses see https://www.tiny.cloud/
+ */
+
import { Css, Element, Focus, Insert, Remove } from '@ephox/sugar';
const input = function (parent, operation) {
diff --git a/tools-ng/tinymce/editor/src/themes/mobile/main/ts/util/CssUrls.ts b/tools-ng/tinymce/src/themes/mobile/main/ts/util/CssUrls.ts
similarity index 64%
rename from tools-ng/tinymce/editor/src/themes/mobile/main/ts/util/CssUrls.ts
rename to tools-ng/tinymce/src/themes/mobile/main/ts/util/CssUrls.ts
index 7e8099cb0..64557a59f 100644
--- a/tools-ng/tinymce/editor/src/themes/mobile/main/ts/util/CssUrls.ts
+++ b/tools-ng/tinymce/src/themes/mobile/main/ts/util/CssUrls.ts
@@ -1,3 +1,10 @@
+/**
+ * Copyright (c) Tiny Technologies, Inc. All rights reserved.
+ * Licensed under the LGPL or a commercial license.
+ * For LGPL see License.txt in the project root for license information.
+ * For commercial licenses see https://www.tiny.cloud/
+ */
+
import { Objects } from '@ephox/boulder';
import EditorManager from 'tinymce/core/api/EditorManager';
diff --git a/tools-ng/tinymce/src/themes/mobile/main/ts/util/DataAttributes.ts b/tools-ng/tinymce/src/themes/mobile/main/ts/util/DataAttributes.ts
new file mode 100644
index 000000000..5dd77d236
--- /dev/null
+++ b/tools-ng/tinymce/src/themes/mobile/main/ts/util/DataAttributes.ts
@@ -0,0 +1,17 @@
+/**
+ * Copyright (c) Tiny Technologies, Inc. All rights reserved.
+ * Licensed under the LGPL or a commercial license.
+ * For LGPL see License.txt in the project root for license information.
+ * For commercial licenses see https://www.tiny.cloud/
+ */
+
+import { Attr } from '@ephox/sugar';
+
+const safeParse = function (element, attribute) {
+ const parsed = parseInt(Attr.get(element, attribute), 10);
+ return isNaN(parsed) ? 0 : parsed;
+};
+
+export default {
+ safeParse
+};
\ No newline at end of file
diff --git a/tools-ng/tinymce/editor/src/themes/mobile/main/ts/util/FontSizes.ts b/tools-ng/tinymce/src/themes/mobile/main/ts/util/FontSizes.ts
similarity index 88%
rename from tools-ng/tinymce/editor/src/themes/mobile/main/ts/util/FontSizes.ts
rename to tools-ng/tinymce/src/themes/mobile/main/ts/util/FontSizes.ts
index 658304b47..e1d42031f 100644
--- a/tools-ng/tinymce/editor/src/themes/mobile/main/ts/util/FontSizes.ts
+++ b/tools-ng/tinymce/src/themes/mobile/main/ts/util/FontSizes.ts
@@ -1,3 +1,10 @@
+/**
+ * Copyright (c) Tiny Technologies, Inc. All rights reserved.
+ * Licensed under the LGPL or a commercial license.
+ * For LGPL see License.txt in the project root for license information.
+ * For commercial licenses see https://www.tiny.cloud/
+ */
+
import { Arr, Fun, Option } from '@ephox/katamari';
import { Compare, Css, Element, Node, Traverse, PredicateFind } from '@ephox/sugar';
diff --git a/tools-ng/tinymce/editor/src/themes/mobile/main/ts/util/FormatChangers.ts b/tools-ng/tinymce/src/themes/mobile/main/ts/util/FormatChangers.ts
similarity index 76%
rename from tools-ng/tinymce/editor/src/themes/mobile/main/ts/util/FormatChangers.ts
rename to tools-ng/tinymce/src/themes/mobile/main/ts/util/FormatChangers.ts
index 38613ce12..697024cf7 100644
--- a/tools-ng/tinymce/editor/src/themes/mobile/main/ts/util/FormatChangers.ts
+++ b/tools-ng/tinymce/src/themes/mobile/main/ts/util/FormatChangers.ts
@@ -1,3 +1,10 @@
+/**
+ * Copyright (c) Tiny Technologies, Inc. All rights reserved.
+ * Licensed under the LGPL or a commercial license.
+ * For LGPL see License.txt in the project root for license information.
+ * For commercial licenses see https://www.tiny.cloud/
+ */
+
import { Arr, Fun, Obj } from '@ephox/katamari';
import TinyChannels from '../channels/TinyChannels';
diff --git a/tools-ng/tinymce/editor/src/themes/mobile/main/ts/util/RangePreserver.ts b/tools-ng/tinymce/src/themes/mobile/main/ts/util/RangePreserver.ts
similarity index 74%
rename from tools-ng/tinymce/editor/src/themes/mobile/main/ts/util/RangePreserver.ts
rename to tools-ng/tinymce/src/themes/mobile/main/ts/util/RangePreserver.ts
index b5c1d488b..2963de981 100644
--- a/tools-ng/tinymce/editor/src/themes/mobile/main/ts/util/RangePreserver.ts
+++ b/tools-ng/tinymce/src/themes/mobile/main/ts/util/RangePreserver.ts
@@ -1,3 +1,10 @@
+/**
+ * Copyright (c) Tiny Technologies, Inc. All rights reserved.
+ * Licensed under the LGPL or a commercial license.
+ * For LGPL see License.txt in the project root for license information.
+ * For commercial licenses see https://www.tiny.cloud/
+ */
+
import { Fun } from '@ephox/katamari';
import { PlatformDetection } from '@ephox/sand';
diff --git a/tools-ng/tinymce/editor/src/themes/mobile/main/ts/util/Rectangles.ts b/tools-ng/tinymce/src/themes/mobile/main/ts/util/Rectangles.ts
similarity index 86%
rename from tools-ng/tinymce/editor/src/themes/mobile/main/ts/util/Rectangles.ts
rename to tools-ng/tinymce/src/themes/mobile/main/ts/util/Rectangles.ts
index c72ef3c6c..071c29176 100644
--- a/tools-ng/tinymce/editor/src/themes/mobile/main/ts/util/Rectangles.ts
+++ b/tools-ng/tinymce/src/themes/mobile/main/ts/util/Rectangles.ts
@@ -1,3 +1,10 @@
+/**
+ * Copyright (c) Tiny Technologies, Inc. All rights reserved.
+ * Licensed under the LGPL or a commercial license.
+ * For LGPL see License.txt in the project root for license information.
+ * For commercial licenses see https://www.tiny.cloud/
+ */
+
import { Arr, Fun } from '@ephox/katamari';
import { Awareness, Element, Selection, Traverse, WindowSelection } from '@ephox/sugar';
diff --git a/tools-ng/tinymce/editor/src/themes/mobile/main/ts/util/SkinLoaded.ts b/tools-ng/tinymce/src/themes/mobile/main/ts/util/SkinLoaded.ts
similarity index 54%
rename from tools-ng/tinymce/editor/src/themes/mobile/main/ts/util/SkinLoaded.ts
rename to tools-ng/tinymce/src/themes/mobile/main/ts/util/SkinLoaded.ts
index b3ec00dd6..760331a6e 100644
--- a/tools-ng/tinymce/editor/src/themes/mobile/main/ts/util/SkinLoaded.ts
+++ b/tools-ng/tinymce/src/themes/mobile/main/ts/util/SkinLoaded.ts
@@ -1,3 +1,10 @@
+/**
+ * Copyright (c) Tiny Technologies, Inc. All rights reserved.
+ * Licensed under the LGPL or a commercial license.
+ * For LGPL see License.txt in the project root for license information.
+ * For commercial licenses see https://www.tiny.cloud/
+ */
+
const fireSkinLoaded = function (editor) {
const done = function () {
editor._skinLoaded = true;
diff --git a/tools-ng/tinymce/editor/src/themes/mobile/main/ts/util/StyleConversions.ts b/tools-ng/tinymce/src/themes/mobile/main/ts/util/StyleConversions.ts
similarity index 83%
rename from tools-ng/tinymce/editor/src/themes/mobile/main/ts/util/StyleConversions.ts
rename to tools-ng/tinymce/src/themes/mobile/main/ts/util/StyleConversions.ts
index fec2ec35b..8a6d7a977 100644
--- a/tools-ng/tinymce/editor/src/themes/mobile/main/ts/util/StyleConversions.ts
+++ b/tools-ng/tinymce/src/themes/mobile/main/ts/util/StyleConversions.ts
@@ -1,3 +1,10 @@
+/**
+ * Copyright (c) Tiny Technologies, Inc. All rights reserved.
+ * Licensed under the LGPL or a commercial license.
+ * For LGPL see License.txt in the project root for license information.
+ * For commercial licenses see https://www.tiny.cloud/
+ */
+
import { Objects } from '@ephox/boulder';
import { Arr, Merger } from '@ephox/katamari';
diff --git a/tools-ng/tinymce/editor/src/themes/mobile/main/ts/util/StyleFormats.ts b/tools-ng/tinymce/src/themes/mobile/main/ts/util/StyleFormats.ts
similarity index 92%
rename from tools-ng/tinymce/editor/src/themes/mobile/main/ts/util/StyleFormats.ts
rename to tools-ng/tinymce/src/themes/mobile/main/ts/util/StyleFormats.ts
index a683d5268..d57d8aa5a 100644
--- a/tools-ng/tinymce/editor/src/themes/mobile/main/ts/util/StyleFormats.ts
+++ b/tools-ng/tinymce/src/themes/mobile/main/ts/util/StyleFormats.ts
@@ -1,3 +1,10 @@
+/**
+ * Copyright (c) Tiny Technologies, Inc. All rights reserved.
+ * Licensed under the LGPL or a commercial license.
+ * For LGPL see License.txt in the project root for license information.
+ * For commercial licenses see https://www.tiny.cloud/
+ */
+
import { Toggling } from '@ephox/alloy';
import { Objects } from '@ephox/boulder';
import { Arr, Fun, Id, Merger } from '@ephox/katamari';
diff --git a/tools-ng/tinymce/editor/src/themes/mobile/main/ts/util/TappingEvent.ts b/tools-ng/tinymce/src/themes/mobile/main/ts/util/TappingEvent.ts
similarity index 77%
rename from tools-ng/tinymce/editor/src/themes/mobile/main/ts/util/TappingEvent.ts
rename to tools-ng/tinymce/src/themes/mobile/main/ts/util/TappingEvent.ts
index 021418322..1cd731326 100644
--- a/tools-ng/tinymce/editor/src/themes/mobile/main/ts/util/TappingEvent.ts
+++ b/tools-ng/tinymce/src/themes/mobile/main/ts/util/TappingEvent.ts
@@ -1,3 +1,10 @@
+/**
+ * Copyright (c) Tiny Technologies, Inc. All rights reserved.
+ * Licensed under the LGPL or a commercial license.
+ * For LGPL see License.txt in the project root for license information.
+ * For commercial licenses see https://www.tiny.cloud/
+ */
+
import { TapEvent } from '@ephox/alloy';
import { DomEvent } from '@ephox/sugar';
diff --git a/tools-ng/tinymce/editor/src/themes/mobile/main/ts/util/Thor.ts b/tools-ng/tinymce/src/themes/mobile/main/ts/util/Thor.ts
similarity index 91%
rename from tools-ng/tinymce/editor/src/themes/mobile/main/ts/util/Thor.ts
rename to tools-ng/tinymce/src/themes/mobile/main/ts/util/Thor.ts
index 50a48884d..81cad6206 100644
--- a/tools-ng/tinymce/editor/src/themes/mobile/main/ts/util/Thor.ts
+++ b/tools-ng/tinymce/src/themes/mobile/main/ts/util/Thor.ts
@@ -1,3 +1,10 @@
+/**
+ * Copyright (c) Tiny Technologies, Inc. All rights reserved.
+ * Licensed under the LGPL or a commercial license.
+ * For LGPL see License.txt in the project root for license information.
+ * For commercial licenses see https://www.tiny.cloud/
+ */
+
import { Arr } from '@ephox/katamari';
import { PlatformDetection } from '@ephox/sand';
import { Attr, Css, SelectorFilter } from '@ephox/sugar';
diff --git a/tools-ng/tinymce/editor/src/themes/mobile/main/ts/util/UiDomFactory.ts b/tools-ng/tinymce/src/themes/mobile/main/ts/util/UiDomFactory.ts
similarity index 62%
rename from tools-ng/tinymce/editor/src/themes/mobile/main/ts/util/UiDomFactory.ts
rename to tools-ng/tinymce/src/themes/mobile/main/ts/util/UiDomFactory.ts
index b754b3691..a06ffba55 100644
--- a/tools-ng/tinymce/editor/src/themes/mobile/main/ts/util/UiDomFactory.ts
+++ b/tools-ng/tinymce/src/themes/mobile/main/ts/util/UiDomFactory.ts
@@ -1,3 +1,10 @@
+/**
+ * Copyright (c) Tiny Technologies, Inc. All rights reserved.
+ * Licensed under the LGPL or a commercial license.
+ * For LGPL see License.txt in the project root for license information.
+ * For commercial licenses see https://www.tiny.cloud/
+ */
+
import { DomFactory, RawDomSchema } from '@ephox/alloy';
import { Strings } from '@ephox/katamari';
import Styles from '../style/Styles';
diff --git a/tools-ng/tinymce/editor/src/themes/mobile/resources/html/index-bootstrap.html b/tools-ng/tinymce/src/themes/mobile/resources/html/index-bootstrap.html
similarity index 100%
rename from tools-ng/tinymce/editor/src/themes/mobile/resources/html/index-bootstrap.html
rename to tools-ng/tinymce/src/themes/mobile/resources/html/index-bootstrap.html
diff --git a/tools-ng/tinymce/editor/src/themes/mobile/resources/html/index.html b/tools-ng/tinymce/src/themes/mobile/resources/html/index.html
similarity index 100%
rename from tools-ng/tinymce/editor/src/themes/mobile/resources/html/index.html
rename to tools-ng/tinymce/src/themes/mobile/resources/html/index.html
diff --git a/tools-ng/tinymce/editor/src/themes/mobile/test/html/editor.html b/tools-ng/tinymce/src/themes/mobile/test/html/editor.html
similarity index 100%
rename from tools-ng/tinymce/editor/src/themes/mobile/test/html/editor.html
rename to tools-ng/tinymce/src/themes/mobile/test/html/editor.html
diff --git a/tools-ng/tinymce/editor/src/themes/mobile/test/ts/atomic/smooth/AsyncSmoothAnimationTest.ts b/tools-ng/tinymce/src/themes/mobile/test/ts/atomic/smooth/AsyncSmoothAnimationTest.ts
similarity index 100%
rename from tools-ng/tinymce/editor/src/themes/mobile/test/ts/atomic/smooth/AsyncSmoothAnimationTest.ts
rename to tools-ng/tinymce/src/themes/mobile/test/ts/atomic/smooth/AsyncSmoothAnimationTest.ts
diff --git a/tools-ng/tinymce/editor/src/themes/mobile/test/ts/atomic/smooth/SmoothAnimationTest.ts b/tools-ng/tinymce/src/themes/mobile/test/ts/atomic/smooth/SmoothAnimationTest.ts
similarity index 100%
rename from tools-ng/tinymce/editor/src/themes/mobile/test/ts/atomic/smooth/SmoothAnimationTest.ts
rename to tools-ng/tinymce/src/themes/mobile/test/ts/atomic/smooth/SmoothAnimationTest.ts
diff --git a/tools-ng/tinymce/editor/src/themes/mobile/test/ts/atomic/styles/StyleConversionsTest.ts b/tools-ng/tinymce/src/themes/mobile/test/ts/atomic/styles/StyleConversionsTest.ts
similarity index 100%
rename from tools-ng/tinymce/editor/src/themes/mobile/test/ts/atomic/styles/StyleConversionsTest.ts
rename to tools-ng/tinymce/src/themes/mobile/test/ts/atomic/styles/StyleConversionsTest.ts
diff --git a/tools-ng/tinymce/editor/src/themes/mobile/test/ts/browser/SkinFalseTest.ts b/tools-ng/tinymce/src/themes/mobile/test/ts/browser/SkinFalseTest.ts
similarity index 100%
rename from tools-ng/tinymce/editor/src/themes/mobile/test/ts/browser/SkinFalseTest.ts
rename to tools-ng/tinymce/src/themes/mobile/test/ts/browser/SkinFalseTest.ts
diff --git a/tools-ng/tinymce/editor/src/themes/mobile/test/ts/browser/ThemeTest.ts b/tools-ng/tinymce/src/themes/mobile/test/ts/browser/ThemeTest.ts
similarity index 100%
rename from tools-ng/tinymce/editor/src/themes/mobile/test/ts/browser/ThemeTest.ts
rename to tools-ng/tinymce/src/themes/mobile/test/ts/browser/ThemeTest.ts
diff --git a/tools-ng/tinymce/editor/src/themes/mobile/test/ts/browser/features/BasicFormattingTest.ts b/tools-ng/tinymce/src/themes/mobile/test/ts/browser/features/BasicFormattingTest.ts
similarity index 100%
rename from tools-ng/tinymce/editor/src/themes/mobile/test/ts/browser/features/BasicFormattingTest.ts
rename to tools-ng/tinymce/src/themes/mobile/test/ts/browser/features/BasicFormattingTest.ts
diff --git a/tools-ng/tinymce/editor/src/themes/mobile/test/ts/browser/features/ListTest.ts b/tools-ng/tinymce/src/themes/mobile/test/ts/browser/features/ListTest.ts
similarity index 100%
rename from tools-ng/tinymce/editor/src/themes/mobile/test/ts/browser/features/ListTest.ts
rename to tools-ng/tinymce/src/themes/mobile/test/ts/browser/features/ListTest.ts
diff --git a/tools-ng/tinymce/editor/src/themes/mobile/test/ts/browser/features/UnlinkTest.ts b/tools-ng/tinymce/src/themes/mobile/test/ts/browser/features/UnlinkTest.ts
similarity index 100%
rename from tools-ng/tinymce/editor/src/themes/mobile/test/ts/browser/features/UnlinkTest.ts
rename to tools-ng/tinymce/src/themes/mobile/test/ts/browser/features/UnlinkTest.ts
diff --git a/tools-ng/tinymce/editor/src/themes/mobile/test/ts/browser/ios/IosRealmTest.ts b/tools-ng/tinymce/src/themes/mobile/test/ts/browser/ios/IosRealmTest.ts
similarity index 100%
rename from tools-ng/tinymce/editor/src/themes/mobile/test/ts/browser/ios/IosRealmTest.ts
rename to tools-ng/tinymce/src/themes/mobile/test/ts/browser/ios/IosRealmTest.ts
diff --git a/tools-ng/tinymce/editor/src/themes/mobile/test/ts/browser/ui/ButtonsTest.ts b/tools-ng/tinymce/src/themes/mobile/test/ts/browser/ui/ButtonsTest.ts
similarity index 100%
rename from tools-ng/tinymce/editor/src/themes/mobile/test/ts/browser/ui/ButtonsTest.ts
rename to tools-ng/tinymce/src/themes/mobile/test/ts/browser/ui/ButtonsTest.ts
diff --git a/tools-ng/tinymce/editor/src/themes/mobile/test/ts/browser/ui/FontSizeSliderTest.ts b/tools-ng/tinymce/src/themes/mobile/test/ts/browser/ui/FontSizeSliderTest.ts
similarity index 100%
rename from tools-ng/tinymce/editor/src/themes/mobile/test/ts/browser/ui/FontSizeSliderTest.ts
rename to tools-ng/tinymce/src/themes/mobile/test/ts/browser/ui/FontSizeSliderTest.ts
diff --git a/tools-ng/tinymce/editor/src/themes/mobile/test/ts/browser/ui/SerialisedLinkTest.ts b/tools-ng/tinymce/src/themes/mobile/test/ts/browser/ui/SerialisedLinkTest.ts
similarity index 100%
rename from tools-ng/tinymce/editor/src/themes/mobile/test/ts/browser/ui/SerialisedLinkTest.ts
rename to tools-ng/tinymce/src/themes/mobile/test/ts/browser/ui/SerialisedLinkTest.ts
diff --git a/tools-ng/tinymce/editor/src/themes/mobile/test/ts/module/test/GuiSetup.ts b/tools-ng/tinymce/src/themes/mobile/test/ts/module/test/GuiSetup.ts
similarity index 100%
rename from tools-ng/tinymce/editor/src/themes/mobile/test/ts/module/test/GuiSetup.ts
rename to tools-ng/tinymce/src/themes/mobile/test/ts/module/test/GuiSetup.ts
diff --git a/tools-ng/tinymce/editor/src/themes/mobile/test/ts/module/test/TestStore.ts b/tools-ng/tinymce/src/themes/mobile/test/ts/module/test/TestStore.ts
similarity index 100%
rename from tools-ng/tinymce/editor/src/themes/mobile/test/ts/module/test/TestStore.ts
rename to tools-ng/tinymce/src/themes/mobile/test/ts/module/test/TestStore.ts
diff --git a/tools-ng/tinymce/editor/src/themes/mobile/test/ts/module/test/theme/TestTheme.ts b/tools-ng/tinymce/src/themes/mobile/test/ts/module/test/theme/TestTheme.ts
similarity index 100%
rename from tools-ng/tinymce/editor/src/themes/mobile/test/ts/module/test/theme/TestTheme.ts
rename to tools-ng/tinymce/src/themes/mobile/test/ts/module/test/theme/TestTheme.ts
diff --git a/tools-ng/tinymce/editor/src/themes/mobile/test/ts/module/test/ui/TestEditor.ts b/tools-ng/tinymce/src/themes/mobile/test/ts/module/test/ui/TestEditor.ts
similarity index 100%
rename from tools-ng/tinymce/editor/src/themes/mobile/test/ts/module/test/ui/TestEditor.ts
rename to tools-ng/tinymce/src/themes/mobile/test/ts/module/test/ui/TestEditor.ts
diff --git a/tools-ng/tinymce/editor/src/themes/mobile/test/ts/module/test/ui/TestFrameEditor.ts b/tools-ng/tinymce/src/themes/mobile/test/ts/module/test/ui/TestFrameEditor.ts
similarity index 100%
rename from tools-ng/tinymce/editor/src/themes/mobile/test/ts/module/test/ui/TestFrameEditor.ts
rename to tools-ng/tinymce/src/themes/mobile/test/ts/module/test/ui/TestFrameEditor.ts
diff --git a/tools-ng/tinymce/editor/src/themes/mobile/test/ts/module/test/ui/TestSelectors.ts b/tools-ng/tinymce/src/themes/mobile/test/ts/module/test/ui/TestSelectors.ts
similarity index 100%
rename from tools-ng/tinymce/editor/src/themes/mobile/test/ts/module/test/ui/TestSelectors.ts
rename to tools-ng/tinymce/src/themes/mobile/test/ts/module/test/ui/TestSelectors.ts
diff --git a/tools-ng/tinymce/editor/src/themes/mobile/test/ts/module/test/ui/TestStyles.ts b/tools-ng/tinymce/src/themes/mobile/test/ts/module/test/ui/TestStyles.ts
similarity index 100%
rename from tools-ng/tinymce/editor/src/themes/mobile/test/ts/module/test/ui/TestStyles.ts
rename to tools-ng/tinymce/src/themes/mobile/test/ts/module/test/ui/TestStyles.ts
diff --git a/tools-ng/tinymce/editor/src/themes/mobile/test/ts/module/test/ui/TestUi.ts b/tools-ng/tinymce/src/themes/mobile/test/ts/module/test/ui/TestUi.ts
similarity index 100%
rename from tools-ng/tinymce/editor/src/themes/mobile/test/ts/module/test/ui/TestUi.ts
rename to tools-ng/tinymce/src/themes/mobile/test/ts/module/test/ui/TestUi.ts
diff --git a/tools-ng/tinymce/editor/src/themes/mobile/test/ts/phantom/bridge/LinkBridgeTest.ts b/tools-ng/tinymce/src/themes/mobile/test/ts/phantom/bridge/LinkBridgeTest.ts
similarity index 100%
rename from tools-ng/tinymce/editor/src/themes/mobile/test/ts/phantom/bridge/LinkBridgeTest.ts
rename to tools-ng/tinymce/src/themes/mobile/test/ts/phantom/bridge/LinkBridgeTest.ts
diff --git a/tools-ng/tinymce/editor/src/themes/mobile/test/ts/phantom/features/FeatureDetectTest.ts b/tools-ng/tinymce/src/themes/mobile/test/ts/phantom/features/FeatureDetectTest.ts
similarity index 100%
rename from tools-ng/tinymce/editor/src/themes/mobile/test/ts/phantom/features/FeatureDetectTest.ts
rename to tools-ng/tinymce/src/themes/mobile/test/ts/phantom/features/FeatureDetectTest.ts
diff --git a/tools-ng/tinymce/editor/src/themes/mobile/test/ts/phantom/features/IdentifyToolbarTest.ts b/tools-ng/tinymce/src/themes/mobile/test/ts/phantom/features/IdentifyToolbarTest.ts
similarity index 100%
rename from tools-ng/tinymce/editor/src/themes/mobile/test/ts/phantom/features/IdentifyToolbarTest.ts
rename to tools-ng/tinymce/src/themes/mobile/test/ts/phantom/features/IdentifyToolbarTest.ts
diff --git a/tools-ng/tinymce/editor/src/themes/modern/demo/html/classic_demo.html b/tools-ng/tinymce/src/themes/modern/demo/html/classic_demo.html
similarity index 100%
rename from tools-ng/tinymce/editor/src/themes/modern/demo/html/classic_demo.html
rename to tools-ng/tinymce/src/themes/modern/demo/html/classic_demo.html
diff --git a/tools-ng/tinymce/editor/src/themes/modern/demo/html/demo.html b/tools-ng/tinymce/src/themes/modern/demo/html/demo.html
similarity index 100%
rename from tools-ng/tinymce/editor/src/themes/modern/demo/html/demo.html
rename to tools-ng/tinymce/src/themes/modern/demo/html/demo.html
diff --git a/tools-ng/tinymce/editor/src/themes/modern/demo/html/notification_demo.html b/tools-ng/tinymce/src/themes/modern/demo/html/notification_demo.html
similarity index 100%
rename from tools-ng/tinymce/editor/src/themes/modern/demo/html/notification_demo.html
rename to tools-ng/tinymce/src/themes/modern/demo/html/notification_demo.html
diff --git a/tools-ng/tinymce/editor/src/themes/modern/demo/ts/demo/ClassicDemo.ts b/tools-ng/tinymce/src/themes/modern/demo/ts/demo/ClassicDemo.ts
similarity index 100%
rename from tools-ng/tinymce/editor/src/themes/modern/demo/ts/demo/ClassicDemo.ts
rename to tools-ng/tinymce/src/themes/modern/demo/ts/demo/ClassicDemo.ts
diff --git a/tools-ng/tinymce/editor/src/themes/modern/demo/ts/demo/Demo.ts b/tools-ng/tinymce/src/themes/modern/demo/ts/demo/Demo.ts
similarity index 100%
rename from tools-ng/tinymce/editor/src/themes/modern/demo/ts/demo/Demo.ts
rename to tools-ng/tinymce/src/themes/modern/demo/ts/demo/Demo.ts
diff --git a/tools-ng/tinymce/editor/src/themes/modern/demo/ts/demo/Demos.ts b/tools-ng/tinymce/src/themes/modern/demo/ts/demo/Demos.ts
similarity index 100%
rename from tools-ng/tinymce/editor/src/themes/modern/demo/ts/demo/Demos.ts
rename to tools-ng/tinymce/src/themes/modern/demo/ts/demo/Demos.ts
diff --git a/tools-ng/tinymce/editor/src/themes/modern/demo/ts/demo/NotificationDemo.ts b/tools-ng/tinymce/src/themes/modern/demo/ts/demo/NotificationDemo.ts
similarity index 100%
rename from tools-ng/tinymce/editor/src/themes/modern/demo/ts/demo/NotificationDemo.ts
rename to tools-ng/tinymce/src/themes/modern/demo/ts/demo/NotificationDemo.ts
diff --git a/tools-ng/tinymce/editor/src/themes/modern/main/ts/Theme.ts b/tools-ng/tinymce/src/themes/modern/main/ts/Theme.ts
similarity index 64%
rename from tools-ng/tinymce/editor/src/themes/modern/main/ts/Theme.ts
rename to tools-ng/tinymce/src/themes/modern/main/ts/Theme.ts
index 274c6f917..5ff4c69e5 100644
--- a/tools-ng/tinymce/editor/src/themes/modern/main/ts/Theme.ts
+++ b/tools-ng/tinymce/src/themes/modern/main/ts/Theme.ts
@@ -1,11 +1,8 @@
/**
- * Theme.js
- *
- * Released under LGPL License.
- * Copyright (c) 1999-2016 Ephox Corp. All rights reserved
- *
- * License: http://www.tinymce.com/license
- * Contributing: http://www.tinymce.com/contributing
+ * Copyright (c) Tiny Technologies, Inc. All rights reserved.
+ * Licensed under the LGPL or a commercial license.
+ * For LGPL see License.txt in the project root for license information.
+ * For commercial licenses see https://www.tiny.cloud/
*/
import ThemeManager from 'tinymce/core/api/ThemeManager';
diff --git a/tools-ng/tinymce/editor/src/themes/modern/main/ts/api/Events.ts b/tools-ng/tinymce/src/themes/modern/main/ts/api/Events.ts
similarity index 58%
rename from tools-ng/tinymce/editor/src/themes/modern/main/ts/api/Events.ts
rename to tools-ng/tinymce/src/themes/modern/main/ts/api/Events.ts
index 5005b9d22..4f635266e 100644
--- a/tools-ng/tinymce/editor/src/themes/modern/main/ts/api/Events.ts
+++ b/tools-ng/tinymce/src/themes/modern/main/ts/api/Events.ts
@@ -1,11 +1,8 @@
/**
- * Events.js
- *
- * Released under LGPL License.
- * Copyright (c) 1999-2016 Ephox Corp. All rights reserved
- *
- * License: http://www.tinymce.com/license
- * Contributing: http://www.tinymce.com/contributing
+ * Copyright (c) Tiny Technologies, Inc. All rights reserved.
+ * Licensed under the LGPL or a commercial license.
+ * For LGPL see License.txt in the project root for license information.
+ * For commercial licenses see https://www.tiny.cloud/
*/
const fireSkinLoaded = function (editor) {
diff --git a/tools-ng/tinymce/editor/src/themes/modern/main/ts/api/Settings.ts b/tools-ng/tinymce/src/themes/modern/main/ts/api/Settings.ts
similarity index 93%
rename from tools-ng/tinymce/editor/src/themes/modern/main/ts/api/Settings.ts
rename to tools-ng/tinymce/src/themes/modern/main/ts/api/Settings.ts
index cd15ca71f..6e90280f5 100644
--- a/tools-ng/tinymce/editor/src/themes/modern/main/ts/api/Settings.ts
+++ b/tools-ng/tinymce/src/themes/modern/main/ts/api/Settings.ts
@@ -1,11 +1,8 @@
/**
- * Settings.js
- *
- * Released under LGPL License.
- * Copyright (c) 1999-2016 Ephox Corp. All rights reserved
- *
- * License: http://www.tinymce.com/license
- * Contributing: http://www.tinymce.com/contributing
+ * Copyright (c) Tiny Technologies, Inc. All rights reserved.
+ * Licensed under the LGPL or a commercial license.
+ * For LGPL see License.txt in the project root for license information.
+ * For commercial licenses see https://www.tiny.cloud/
*/
import EditorManager from 'tinymce/core/api/EditorManager';
diff --git a/tools-ng/tinymce/editor/src/themes/modern/main/ts/api/ThemeApi.ts b/tools-ng/tinymce/src/themes/modern/main/ts/api/ThemeApi.ts
similarity index 77%
rename from tools-ng/tinymce/editor/src/themes/modern/main/ts/api/ThemeApi.ts
rename to tools-ng/tinymce/src/themes/modern/main/ts/api/ThemeApi.ts
index 10bd2c230..1a133e79b 100644
--- a/tools-ng/tinymce/editor/src/themes/modern/main/ts/api/ThemeApi.ts
+++ b/tools-ng/tinymce/src/themes/modern/main/ts/api/ThemeApi.ts
@@ -1,11 +1,8 @@
/**
- * ThemeApi.js
- *
- * Released under LGPL License.
- * Copyright (c) 1999-2016 Ephox Corp. All rights reserved
- *
- * License: http://www.tinymce.com/license
- * Contributing: http://www.tinymce.com/contributing
+ * Copyright (c) Tiny Technologies, Inc. All rights reserved.
+ * Licensed under the LGPL or a commercial license.
+ * For LGPL see License.txt in the project root for license information.
+ * For commercial licenses see https://www.tiny.cloud/
*/
import Render from '../ui/Render';
diff --git a/tools-ng/tinymce/editor/src/themes/modern/main/ts/modes/Iframe.ts b/tools-ng/tinymce/src/themes/modern/main/ts/modes/Iframe.ts
similarity index 89%
rename from tools-ng/tinymce/editor/src/themes/modern/main/ts/modes/Iframe.ts
rename to tools-ng/tinymce/src/themes/modern/main/ts/modes/Iframe.ts
index 418ab2865..701557390 100644
--- a/tools-ng/tinymce/editor/src/themes/modern/main/ts/modes/Iframe.ts
+++ b/tools-ng/tinymce/src/themes/modern/main/ts/modes/Iframe.ts
@@ -1,11 +1,8 @@
/**
- * Iframe.js
- *
- * Released under LGPL License.
- * Copyright (c) 1999-2016 Ephox Corp. All rights reserved
- *
- * License: http://www.tinymce.com/license
- * Contributing: http://www.tinymce.com/contributing
+ * Copyright (c) Tiny Technologies, Inc. All rights reserved.
+ * Licensed under the LGPL or a commercial license.
+ * For LGPL see License.txt in the project root for license information.
+ * For commercial licenses see https://www.tiny.cloud/
*/
import DOMUtils from 'tinymce/core/api/dom/DOMUtils';
@@ -110,7 +107,7 @@ const render = function (editor, theme, args) {
}
if (Settings.hasStatusbar(editor)) {
- const linkHtml = 'tinymce ';
+ const linkHtml = 'Tiny ';
const html = I18n.translate(['Powered by {0}', linkHtml]);
const brandingLabel = Settings.isBrandingEnabled(editor) ? { type: 'label', classes: 'branding', html: ' ' + html } : null;
diff --git a/tools-ng/tinymce/editor/src/themes/modern/main/ts/modes/Inline.ts b/tools-ng/tinymce/src/themes/modern/main/ts/modes/Inline.ts
similarity index 94%
rename from tools-ng/tinymce/editor/src/themes/modern/main/ts/modes/Inline.ts
rename to tools-ng/tinymce/src/themes/modern/main/ts/modes/Inline.ts
index 422de64c0..fd203bbf4 100644
--- a/tools-ng/tinymce/editor/src/themes/modern/main/ts/modes/Inline.ts
+++ b/tools-ng/tinymce/src/themes/modern/main/ts/modes/Inline.ts
@@ -1,11 +1,8 @@
/**
- * Inline.js
- *
- * Released under LGPL License.
- * Copyright (c) 1999-2016 Ephox Corp. All rights reserved
- *
- * License: http://www.tinymce.com/license
- * Contributing: http://www.tinymce.com/contributing
+ * Copyright (c) Tiny Technologies, Inc. All rights reserved.
+ * Licensed under the LGPL or a commercial license.
+ * For LGPL see License.txt in the project root for license information.
+ * For commercial licenses see https://www.tiny.cloud/
*/
import DOMUtils from 'tinymce/core/api/dom/DOMUtils';
diff --git a/tools-ng/tinymce/editor/src/themes/modern/main/ts/ui/A11y.ts b/tools-ng/tinymce/src/themes/modern/main/ts/ui/A11y.ts
similarity index 67%
rename from tools-ng/tinymce/editor/src/themes/modern/main/ts/ui/A11y.ts
rename to tools-ng/tinymce/src/themes/modern/main/ts/ui/A11y.ts
index 48893f0a5..83d92b956 100644
--- a/tools-ng/tinymce/editor/src/themes/modern/main/ts/ui/A11y.ts
+++ b/tools-ng/tinymce/src/themes/modern/main/ts/ui/A11y.ts
@@ -1,11 +1,8 @@
/**
- * A11y.js
- *
- * Released under LGPL License.
- * Copyright (c) 1999-2016 Ephox Corp. All rights reserved
- *
- * License: http://www.tinymce.com/license
- * Contributing: http://www.tinymce.com/contributing
+ * Copyright (c) Tiny Technologies, Inc. All rights reserved.
+ * Licensed under the LGPL or a commercial license.
+ * For LGPL see License.txt in the project root for license information.
+ * For commercial licenses see https://www.tiny.cloud/
*/
const focus = function (panel, type) {
diff --git a/tools-ng/tinymce/editor/src/themes/modern/main/ts/ui/ContextToolbars.ts b/tools-ng/tinymce/src/themes/modern/main/ts/ui/ContextToolbars.ts
similarity index 97%
rename from tools-ng/tinymce/editor/src/themes/modern/main/ts/ui/ContextToolbars.ts
rename to tools-ng/tinymce/src/themes/modern/main/ts/ui/ContextToolbars.ts
index 5b0d31fe9..12877c5ff 100644
--- a/tools-ng/tinymce/editor/src/themes/modern/main/ts/ui/ContextToolbars.ts
+++ b/tools-ng/tinymce/src/themes/modern/main/ts/ui/ContextToolbars.ts
@@ -1,11 +1,8 @@
/**
- * ContextToolbars.js
- *
- * Released under LGPL License.
- * Copyright (c) 1999-2016 Ephox Corp. All rights reserved
- *
- * License: http://www.tinymce.com/license
- * Contributing: http://www.tinymce.com/contributing
+ * Copyright (c) Tiny Technologies, Inc. All rights reserved.
+ * Licensed under the LGPL or a commercial license.
+ * For LGPL see License.txt in the project root for license information.
+ * For commercial licenses see https://www.tiny.cloud/
*/
import DOMUtils from 'tinymce/core/api/dom/DOMUtils';
diff --git a/tools-ng/tinymce/editor/src/themes/modern/main/ts/ui/Menubar.ts b/tools-ng/tinymce/src/themes/modern/main/ts/ui/Menubar.ts
similarity index 94%
rename from tools-ng/tinymce/editor/src/themes/modern/main/ts/ui/Menubar.ts
rename to tools-ng/tinymce/src/themes/modern/main/ts/ui/Menubar.ts
index 581c407de..b69ec7a33 100644
--- a/tools-ng/tinymce/editor/src/themes/modern/main/ts/ui/Menubar.ts
+++ b/tools-ng/tinymce/src/themes/modern/main/ts/ui/Menubar.ts
@@ -1,11 +1,8 @@
/**
- * Menubar.js
- *
- * Released under LGPL License.
- * Copyright (c) 1999-2016 Ephox Corp. All rights reserved
- *
- * License: http://www.tinymce.com/license
- * Contributing: http://www.tinymce.com/contributing
+ * Copyright (c) Tiny Technologies, Inc. All rights reserved.
+ * Licensed under the LGPL or a commercial license.
+ * For LGPL see License.txt in the project root for license information.
+ * For commercial licenses see https://www.tiny.cloud/
*/
import { Arr } from '@ephox/katamari';
diff --git a/tools-ng/tinymce/editor/src/themes/modern/main/ts/ui/ProgressState.ts b/tools-ng/tinymce/src/themes/modern/main/ts/ui/ProgressState.ts
similarity index 59%
rename from tools-ng/tinymce/editor/src/themes/modern/main/ts/ui/ProgressState.ts
rename to tools-ng/tinymce/src/themes/modern/main/ts/ui/ProgressState.ts
index 5f383b779..ced3463d9 100644
--- a/tools-ng/tinymce/editor/src/themes/modern/main/ts/ui/ProgressState.ts
+++ b/tools-ng/tinymce/src/themes/modern/main/ts/ui/ProgressState.ts
@@ -1,11 +1,8 @@
/**
- * ProgressState.js
- *
- * Released under LGPL License.
- * Copyright (c) 1999-2016 Ephox Corp. All rights reserved
- *
- * License: http://www.tinymce.com/license
- * Contributing: http://www.tinymce.com/contributing
+ * Copyright (c) Tiny Technologies, Inc. All rights reserved.
+ * Licensed under the LGPL or a commercial license.
+ * For LGPL see License.txt in the project root for license information.
+ * For commercial licenses see https://www.tiny.cloud/
*/
import Throbber from 'tinymce/ui/Throbber';
diff --git a/tools-ng/tinymce/editor/src/themes/modern/main/ts/ui/Render.ts b/tools-ng/tinymce/src/themes/modern/main/ts/ui/Render.ts
similarity index 72%
rename from tools-ng/tinymce/editor/src/themes/modern/main/ts/ui/Render.ts
rename to tools-ng/tinymce/src/themes/modern/main/ts/ui/Render.ts
index 592ba83a3..d88da27ec 100644
--- a/tools-ng/tinymce/editor/src/themes/modern/main/ts/ui/Render.ts
+++ b/tools-ng/tinymce/src/themes/modern/main/ts/ui/Render.ts
@@ -1,11 +1,8 @@
/**
- * Render.js
- *
- * Released under LGPL License.
- * Copyright (c) 1999-2016 Ephox Corp. All rights reserved
- *
- * License: http://www.tinymce.com/license
- * Contributing: http://www.tinymce.com/contributing
+ * Copyright (c) Tiny Technologies, Inc. All rights reserved.
+ * Licensed under the LGPL or a commercial license.
+ * For LGPL see License.txt in the project root for license information.
+ * For commercial licenses see https://www.tiny.cloud/
*/
import * as Settings from '../api/Settings';
diff --git a/tools-ng/tinymce/editor/src/themes/modern/main/ts/ui/Resize.ts b/tools-ng/tinymce/src/themes/modern/main/ts/ui/Resize.ts
similarity index 83%
rename from tools-ng/tinymce/editor/src/themes/modern/main/ts/ui/Resize.ts
rename to tools-ng/tinymce/src/themes/modern/main/ts/ui/Resize.ts
index 70602ab84..2c035249d 100644
--- a/tools-ng/tinymce/editor/src/themes/modern/main/ts/ui/Resize.ts
+++ b/tools-ng/tinymce/src/themes/modern/main/ts/ui/Resize.ts
@@ -1,11 +1,8 @@
/**
- * Resize.js
- *
- * Released under LGPL License.
- * Copyright (c) 1999-2016 Ephox Corp. All rights reserved
- *
- * License: http://www.tinymce.com/license
- * Contributing: http://www.tinymce.com/contributing
+ * Copyright (c) Tiny Technologies, Inc. All rights reserved.
+ * Licensed under the LGPL or a commercial license.
+ * For LGPL see License.txt in the project root for license information.
+ * For commercial licenses see https://www.tiny.cloud/
*/
import DOMUtils from 'tinymce/core/api/dom/DOMUtils';
diff --git a/tools-ng/tinymce/editor/src/themes/modern/main/ts/ui/Sidebar.ts b/tools-ng/tinymce/src/themes/modern/main/ts/ui/Sidebar.ts
similarity index 92%
rename from tools-ng/tinymce/editor/src/themes/modern/main/ts/ui/Sidebar.ts
rename to tools-ng/tinymce/src/themes/modern/main/ts/ui/Sidebar.ts
index 12ab562f3..e175ed202 100644
--- a/tools-ng/tinymce/editor/src/themes/modern/main/ts/ui/Sidebar.ts
+++ b/tools-ng/tinymce/src/themes/modern/main/ts/ui/Sidebar.ts
@@ -1,11 +1,8 @@
/**
- * Sidebar.js
- *
- * Released under LGPL License.
- * Copyright (c) 1999-2016 Ephox Corp. All rights reserved
- *
- * License: http://www.tinymce.com/license
- * Contributing: http://www.tinymce.com/contributing
+ * Copyright (c) Tiny Technologies, Inc. All rights reserved.
+ * Licensed under the LGPL or a commercial license.
+ * For LGPL see License.txt in the project root for license information.
+ * For commercial licenses see https://www.tiny.cloud/
*/
import Env from 'tinymce/core/api/Env';
diff --git a/tools-ng/tinymce/editor/src/themes/modern/main/ts/ui/SkinLoaded.ts b/tools-ng/tinymce/src/themes/modern/main/ts/ui/SkinLoaded.ts
similarity index 59%
rename from tools-ng/tinymce/editor/src/themes/modern/main/ts/ui/SkinLoaded.ts
rename to tools-ng/tinymce/src/themes/modern/main/ts/ui/SkinLoaded.ts
index 0dd13ffe3..2e43d6060 100644
--- a/tools-ng/tinymce/editor/src/themes/modern/main/ts/ui/SkinLoaded.ts
+++ b/tools-ng/tinymce/src/themes/modern/main/ts/ui/SkinLoaded.ts
@@ -1,11 +1,8 @@
/**
- * SkinLoaded.js
- *
- * Released under LGPL License.
- * Copyright (c) 1999-2016 Ephox Corp. All rights reserved
- *
- * License: http://www.tinymce.com/license
- * Contributing: http://www.tinymce.com/contributing
+ * Copyright (c) Tiny Technologies, Inc. All rights reserved.
+ * Licensed under the LGPL or a commercial license.
+ * For LGPL see License.txt in the project root for license information.
+ * For commercial licenses see https://www.tiny.cloud/
*/
import Events from '../api/Events';
diff --git a/tools-ng/tinymce/editor/src/themes/modern/main/ts/ui/Toolbar.ts b/tools-ng/tinymce/src/themes/modern/main/ts/ui/Toolbar.ts
similarity index 90%
rename from tools-ng/tinymce/editor/src/themes/modern/main/ts/ui/Toolbar.ts
rename to tools-ng/tinymce/src/themes/modern/main/ts/ui/Toolbar.ts
index 1fdab79c1..df72f881d 100644
--- a/tools-ng/tinymce/editor/src/themes/modern/main/ts/ui/Toolbar.ts
+++ b/tools-ng/tinymce/src/themes/modern/main/ts/ui/Toolbar.ts
@@ -1,11 +1,8 @@
/**
- * Toolbar.js
- *
- * Released under LGPL License.
- * Copyright (c) 1999-2016 Ephox Corp. All rights reserved
- *
- * License: http://www.tinymce.com/license
- * Contributing: http://www.tinymce.com/contributing
+ * Copyright (c) Tiny Technologies, Inc. All rights reserved.
+ * Licensed under the LGPL or a commercial license.
+ * For LGPL see License.txt in the project root for license information.
+ * For commercial licenses see https://www.tiny.cloud/
*/
import Factory from 'tinymce/core/api/ui/Factory';
diff --git a/tools-ng/tinymce/editor/src/themes/modern/test/.eslintrc b/tools-ng/tinymce/src/themes/modern/test/.eslintrc
similarity index 100%
rename from tools-ng/tinymce/editor/src/themes/modern/test/.eslintrc
rename to tools-ng/tinymce/src/themes/modern/test/.eslintrc
diff --git a/tools-ng/tinymce/editor/src/themes/modern/test/ts/browser/BrandingDisabledTest.ts b/tools-ng/tinymce/src/themes/modern/test/ts/browser/BrandingDisabledTest.ts
similarity index 100%
rename from tools-ng/tinymce/editor/src/themes/modern/test/ts/browser/BrandingDisabledTest.ts
rename to tools-ng/tinymce/src/themes/modern/test/ts/browser/BrandingDisabledTest.ts
diff --git a/tools-ng/tinymce/editor/src/themes/modern/test/ts/browser/BrandingEnabledTest.ts b/tools-ng/tinymce/src/themes/modern/test/ts/browser/BrandingEnabledTest.ts
similarity index 100%
rename from tools-ng/tinymce/editor/src/themes/modern/test/ts/browser/BrandingEnabledTest.ts
rename to tools-ng/tinymce/src/themes/modern/test/ts/browser/BrandingEnabledTest.ts
diff --git a/tools-ng/tinymce/editor/src/themes/modern/test/ts/browser/DimensionsTest.ts b/tools-ng/tinymce/src/themes/modern/test/ts/browser/DimensionsTest.ts
similarity index 100%
rename from tools-ng/tinymce/editor/src/themes/modern/test/ts/browser/DimensionsTest.ts
rename to tools-ng/tinymce/src/themes/modern/test/ts/browser/DimensionsTest.ts
diff --git a/tools-ng/tinymce/src/themes/modern/test/ts/browser/HideFloatPanelsTest.ts b/tools-ng/tinymce/src/themes/modern/test/ts/browser/HideFloatPanelsTest.ts
new file mode 100644
index 000000000..72ccc1dcf
--- /dev/null
+++ b/tools-ng/tinymce/src/themes/modern/test/ts/browser/HideFloatPanelsTest.ts
@@ -0,0 +1,35 @@
+import { Pipeline, UiFinder, Step, Log } from '@ephox/agar';
+import { UnitTest } from '@ephox/bedrock';
+import { TinyLoader, TinyUi } from '@ephox/mcagar';
+import { Body } from '@ephox/sugar';
+import TextcolorPlugin from 'tinymce/plugins/textcolor/Plugin';
+
+import Theme from 'tinymce/themes/modern/Theme';
+import { Editor } from 'tinymce/core/api/Editor';
+
+UnitTest.asynctest('browser.tinymce.themes.modern.test.HideFloatPanelsTest', (success, failure) => {
+ Theme();
+ TextcolorPlugin();
+
+ const sSetProgressState = (editor: Editor, state) => Step.sync(() => {
+ editor.setProgressState(state);
+ });
+
+ TinyLoader.setup(function (editor, onSuccess, onFailure) {
+ const tinyUi = TinyUi(editor);
+
+ Pipeline.async({}, [
+ Log.stepsAsStep('TBA', 'Close float panels when setProgressState is called', [
+ tinyUi.sClickOnToolbar('click forecolor', 'div[aria-label="Text color"] > button.mce-open'),
+ UiFinder.sWaitFor('Float panel for color button should be open', Body.body(), '.mce-floatpanel'),
+ sSetProgressState(editor, true),
+ UiFinder.sWaitForHidden('', Body.body(), '.mce-floatpanel')
+ ])
+ ], onSuccess, onFailure);
+ }, {
+ theme: 'modern',
+ skin_url: '/project/js/tinymce/skins/lightgray',
+ plugins: 'textcolor',
+ toolbar: 'forecolor'
+ }, success, failure);
+});
diff --git a/tools-ng/tinymce/editor/src/themes/modern/test/ts/browser/SidebarTest.ts b/tools-ng/tinymce/src/themes/modern/test/ts/browser/SidebarTest.ts
similarity index 100%
rename from tools-ng/tinymce/editor/src/themes/modern/test/ts/browser/SidebarTest.ts
rename to tools-ng/tinymce/src/themes/modern/test/ts/browser/SidebarTest.ts
diff --git a/tools-ng/tinymce/editor/src/themes/modern/test/ts/browser/SkinFalseInlineTest.ts b/tools-ng/tinymce/src/themes/modern/test/ts/browser/SkinFalseInlineTest.ts
similarity index 100%
rename from tools-ng/tinymce/editor/src/themes/modern/test/ts/browser/SkinFalseInlineTest.ts
rename to tools-ng/tinymce/src/themes/modern/test/ts/browser/SkinFalseInlineTest.ts
diff --git a/tools-ng/tinymce/editor/src/themes/modern/test/ts/browser/SkinFalseTest.ts b/tools-ng/tinymce/src/themes/modern/test/ts/browser/SkinFalseTest.ts
similarity index 100%
rename from tools-ng/tinymce/editor/src/themes/modern/test/ts/browser/SkinFalseTest.ts
rename to tools-ng/tinymce/src/themes/modern/test/ts/browser/SkinFalseTest.ts
diff --git a/tools-ng/tinymce/editor/src/themes/modern/test/ts/browser/ui/MenubarTest.ts b/tools-ng/tinymce/src/themes/modern/test/ts/browser/ui/MenubarTest.ts
similarity index 100%
rename from tools-ng/tinymce/editor/src/themes/modern/test/ts/browser/ui/MenubarTest.ts
rename to tools-ng/tinymce/src/themes/modern/test/ts/browser/ui/MenubarTest.ts
diff --git a/tools-ng/tinymce/editor/src/themes/modern/test/ts/module/test/ViewBlock.ts b/tools-ng/tinymce/src/themes/modern/test/ts/module/test/ViewBlock.ts
similarity index 100%
rename from tools-ng/tinymce/editor/src/themes/modern/test/ts/module/test/ViewBlock.ts
rename to tools-ng/tinymce/src/themes/modern/test/ts/module/test/ViewBlock.ts
diff --git a/tools-ng/tinymce/editor/src/ui/main/ts/AbsoluteLayout.ts b/tools-ng/tinymce/src/ui/main/ts/AbsoluteLayout.ts
similarity index 84%
rename from tools-ng/tinymce/editor/src/ui/main/ts/AbsoluteLayout.ts
rename to tools-ng/tinymce/src/ui/main/ts/AbsoluteLayout.ts
index 1cb65ec74..83cb045e2 100644
--- a/tools-ng/tinymce/editor/src/ui/main/ts/AbsoluteLayout.ts
+++ b/tools-ng/tinymce/src/ui/main/ts/AbsoluteLayout.ts
@@ -1,11 +1,8 @@
/**
- * AbsoluteLayout.js
- *
- * Released under LGPL License.
- * Copyright (c) 1999-2017 Ephox Corp. All rights reserved
- *
- * License: http://www.tinymce.com/license
- * Contributing: http://www.tinymce.com/contributing
+ * Copyright (c) Tiny Technologies, Inc. All rights reserved.
+ * Licensed under the LGPL or a commercial license.
+ * For LGPL see License.txt in the project root for license information.
+ * For commercial licenses see https://www.tiny.cloud/
*/
import Layout from './Layout';
diff --git a/tools-ng/tinymce/editor/src/ui/main/ts/Api.ts b/tools-ng/tinymce/src/ui/main/ts/Api.ts
similarity index 93%
rename from tools-ng/tinymce/editor/src/ui/main/ts/Api.ts
rename to tools-ng/tinymce/src/ui/main/ts/Api.ts
index 7f20baff6..2e1fce83e 100644
--- a/tools-ng/tinymce/editor/src/ui/main/ts/Api.ts
+++ b/tools-ng/tinymce/src/ui/main/ts/Api.ts
@@ -1,11 +1,8 @@
/**
- * Api.js
- *
- * Released under LGPL License.
- * Copyright (c) 1999-2017 Ephox Corp. All rights reserved
- *
- * License: http://www.tinymce.com/license
- * Contributing: http://www.tinymce.com/contributing
+ * Copyright (c) Tiny Technologies, Inc. All rights reserved.
+ * Licensed under the LGPL or a commercial license.
+ * For LGPL see License.txt in the project root for license information.
+ * For commercial licenses see https://www.tiny.cloud/
*/
import Factory from 'tinymce/core/api/ui/Factory';
diff --git a/tools-ng/tinymce/editor/src/ui/main/ts/BoxUtils.ts b/tools-ng/tinymce/src/ui/main/ts/BoxUtils.ts
similarity index 89%
rename from tools-ng/tinymce/editor/src/ui/main/ts/BoxUtils.ts
rename to tools-ng/tinymce/src/ui/main/ts/BoxUtils.ts
index 59ac11078..8cf45d25e 100644
--- a/tools-ng/tinymce/editor/src/ui/main/ts/BoxUtils.ts
+++ b/tools-ng/tinymce/src/ui/main/ts/BoxUtils.ts
@@ -1,11 +1,8 @@
/**
- * BoxUtils.js
- *
- * Released under LGPL License.
- * Copyright (c) 1999-2017 Ephox Corp. All rights reserved
- *
- * License: http://www.tinymce.com/license
- * Contributing: http://www.tinymce.com/contributing
+ * Copyright (c) Tiny Technologies, Inc. All rights reserved.
+ * Licensed under the LGPL or a commercial license.
+ * For LGPL see License.txt in the project root for license information.
+ * For commercial licenses see https://www.tiny.cloud/
*/
/**
diff --git a/tools-ng/tinymce/editor/src/ui/main/ts/BrowseButton.ts b/tools-ng/tinymce/src/ui/main/ts/BrowseButton.ts
similarity index 90%
rename from tools-ng/tinymce/editor/src/ui/main/ts/BrowseButton.ts
rename to tools-ng/tinymce/src/ui/main/ts/BrowseButton.ts
index 012edf07a..1463181ed 100644
--- a/tools-ng/tinymce/editor/src/ui/main/ts/BrowseButton.ts
+++ b/tools-ng/tinymce/src/ui/main/ts/BrowseButton.ts
@@ -1,11 +1,8 @@
/**
- * BrowseButton.js
- *
- * Released under LGPL License.
- * Copyright (c) 1999-2017 Ephox Corp. All rights reserved
- *
- * License: http://www.tinymce.com/license
- * Contributing: http://www.tinymce.com/contributing
+ * Copyright (c) Tiny Technologies, Inc. All rights reserved.
+ * Licensed under the LGPL or a commercial license.
+ * For LGPL see License.txt in the project root for license information.
+ * For commercial licenses see https://www.tiny.cloud/
*/
import Button from './Button';
diff --git a/tools-ng/tinymce/editor/src/ui/main/ts/Button.ts b/tools-ng/tinymce/src/ui/main/ts/Button.ts
similarity index 95%
rename from tools-ng/tinymce/editor/src/ui/main/ts/Button.ts
rename to tools-ng/tinymce/src/ui/main/ts/Button.ts
index e25b713be..422f8db5f 100644
--- a/tools-ng/tinymce/editor/src/ui/main/ts/Button.ts
+++ b/tools-ng/tinymce/src/ui/main/ts/Button.ts
@@ -1,11 +1,8 @@
/**
- * Button.js
- *
- * Released under LGPL License.
- * Copyright (c) 1999-2017 Ephox Corp. All rights reserved
- *
- * License: http://www.tinymce.com/license
- * Contributing: http://www.tinymce.com/contributing
+ * Copyright (c) Tiny Technologies, Inc. All rights reserved.
+ * Licensed under the LGPL or a commercial license.
+ * For LGPL see License.txt in the project root for license information.
+ * For commercial licenses see https://www.tiny.cloud/
*/
import Widget from './Widget';
diff --git a/tools-ng/tinymce/editor/src/ui/main/ts/ButtonGroup.ts b/tools-ng/tinymce/src/ui/main/ts/ButtonGroup.ts
similarity index 83%
rename from tools-ng/tinymce/editor/src/ui/main/ts/ButtonGroup.ts
rename to tools-ng/tinymce/src/ui/main/ts/ButtonGroup.ts
index 08ecf01cb..ffc3b9b03 100644
--- a/tools-ng/tinymce/editor/src/ui/main/ts/ButtonGroup.ts
+++ b/tools-ng/tinymce/src/ui/main/ts/ButtonGroup.ts
@@ -1,11 +1,8 @@
/**
- * ButtonGroup.js
- *
- * Released under LGPL License.
- * Copyright (c) 1999-2017 Ephox Corp. All rights reserved
- *
- * License: http://www.tinymce.com/license
- * Contributing: http://www.tinymce.com/contributing
+ * Copyright (c) Tiny Technologies, Inc. All rights reserved.
+ * Licensed under the LGPL or a commercial license.
+ * For LGPL see License.txt in the project root for license information.
+ * For commercial licenses see https://www.tiny.cloud/
*/
import Container from './Container';
diff --git a/tools-ng/tinymce/editor/src/ui/main/ts/Checkbox.ts b/tools-ng/tinymce/src/ui/main/ts/Checkbox.ts
similarity index 93%
rename from tools-ng/tinymce/editor/src/ui/main/ts/Checkbox.ts
rename to tools-ng/tinymce/src/ui/main/ts/Checkbox.ts
index 85a092789..f7554afca 100644
--- a/tools-ng/tinymce/editor/src/ui/main/ts/Checkbox.ts
+++ b/tools-ng/tinymce/src/ui/main/ts/Checkbox.ts
@@ -1,11 +1,8 @@
/**
- * Checkbox.js
- *
- * Released under LGPL License.
- * Copyright (c) 1999-2017 Ephox Corp. All rights reserved
- *
- * License: http://www.tinymce.com/license
- * Contributing: http://www.tinymce.com/contributing
+ * Copyright (c) Tiny Technologies, Inc. All rights reserved.
+ * Licensed under the LGPL or a commercial license.
+ * For LGPL see License.txt in the project root for license information.
+ * For commercial licenses see https://www.tiny.cloud/
*/
import Widget from './Widget';
diff --git a/tools-ng/tinymce/editor/src/ui/main/ts/ClassList.ts b/tools-ng/tinymce/src/ui/main/ts/ClassList.ts
similarity index 91%
rename from tools-ng/tinymce/editor/src/ui/main/ts/ClassList.ts
rename to tools-ng/tinymce/src/ui/main/ts/ClassList.ts
index 03430c1ab..a63ab0322 100644
--- a/tools-ng/tinymce/editor/src/ui/main/ts/ClassList.ts
+++ b/tools-ng/tinymce/src/ui/main/ts/ClassList.ts
@@ -1,11 +1,8 @@
/**
- * ClassList.js
- *
- * Released under LGPL License.
- * Copyright (c) 1999-2017 Ephox Corp. All rights reserved
- *
- * License: http://www.tinymce.com/license
- * Contributing: http://www.tinymce.com/contributing
+ * Copyright (c) Tiny Technologies, Inc. All rights reserved.
+ * Licensed under the LGPL or a commercial license.
+ * For LGPL see License.txt in the project root for license information.
+ * For commercial licenses see https://www.tiny.cloud/
*/
import Tools from 'tinymce/core/api/util/Tools';
diff --git a/tools-ng/tinymce/editor/src/ui/main/ts/Collection.ts b/tools-ng/tinymce/src/ui/main/ts/Collection.ts
similarity index 97%
rename from tools-ng/tinymce/editor/src/ui/main/ts/Collection.ts
rename to tools-ng/tinymce/src/ui/main/ts/Collection.ts
index edef97f71..5e784ad6c 100644
--- a/tools-ng/tinymce/editor/src/ui/main/ts/Collection.ts
+++ b/tools-ng/tinymce/src/ui/main/ts/Collection.ts
@@ -1,11 +1,8 @@
/**
- * Collection.js
- *
- * Released under LGPL License.
- * Copyright (c) 1999-2017 Ephox Corp. All rights reserved
- *
- * License: http://www.tinymce.com/license
- * Contributing: http://www.tinymce.com/contributing
+ * Copyright (c) Tiny Technologies, Inc. All rights reserved.
+ * Licensed under the LGPL or a commercial license.
+ * For LGPL see License.txt in the project root for license information.
+ * For commercial licenses see https://www.tiny.cloud/
*/
import Tools from 'tinymce/core/api/util/Tools';
diff --git a/tools-ng/tinymce/editor/src/ui/main/ts/ColorBox.ts b/tools-ng/tinymce/src/ui/main/ts/ColorBox.ts
similarity index 84%
rename from tools-ng/tinymce/editor/src/ui/main/ts/ColorBox.ts
rename to tools-ng/tinymce/src/ui/main/ts/ColorBox.ts
index 31fd3f50d..2778c3d4c 100644
--- a/tools-ng/tinymce/editor/src/ui/main/ts/ColorBox.ts
+++ b/tools-ng/tinymce/src/ui/main/ts/ColorBox.ts
@@ -1,11 +1,8 @@
/**
- * ColorBox.js
- *
- * Released under LGPL License.
- * Copyright (c) 1999-2017 Ephox Corp. All rights reserved
- *
- * License: http://www.tinymce.com/license
- * Contributing: http://www.tinymce.com/contributing
+ * Copyright (c) Tiny Technologies, Inc. All rights reserved.
+ * Licensed under the LGPL or a commercial license.
+ * For LGPL see License.txt in the project root for license information.
+ * For commercial licenses see https://www.tiny.cloud/
*/
import ComboBox from './ComboBox';
diff --git a/tools-ng/tinymce/editor/src/ui/main/ts/ColorButton.ts b/tools-ng/tinymce/src/ui/main/ts/ColorButton.ts
similarity index 92%
rename from tools-ng/tinymce/editor/src/ui/main/ts/ColorButton.ts
rename to tools-ng/tinymce/src/ui/main/ts/ColorButton.ts
index 7fa12e242..4e8381236 100644
--- a/tools-ng/tinymce/editor/src/ui/main/ts/ColorButton.ts
+++ b/tools-ng/tinymce/src/ui/main/ts/ColorButton.ts
@@ -1,11 +1,8 @@
/**
- * ColorButton.js
- *
- * Released under LGPL License.
- * Copyright (c) 1999-2017 Ephox Corp. All rights reserved
- *
- * License: http://www.tinymce.com/license
- * Contributing: http://www.tinymce.com/contributing
+ * Copyright (c) Tiny Technologies, Inc. All rights reserved.
+ * Licensed under the LGPL or a commercial license.
+ * For LGPL see License.txt in the project root for license information.
+ * For commercial licenses see https://www.tiny.cloud/
*/
import PanelButton from './PanelButton';
diff --git a/tools-ng/tinymce/editor/src/ui/main/ts/ColorPicker.ts b/tools-ng/tinymce/src/ui/main/ts/ColorPicker.ts
similarity index 95%
rename from tools-ng/tinymce/editor/src/ui/main/ts/ColorPicker.ts
rename to tools-ng/tinymce/src/ui/main/ts/ColorPicker.ts
index 9a3c54011..5cb83123d 100644
--- a/tools-ng/tinymce/editor/src/ui/main/ts/ColorPicker.ts
+++ b/tools-ng/tinymce/src/ui/main/ts/ColorPicker.ts
@@ -1,11 +1,8 @@
/**
- * ColorPicker.js
- *
- * Released under LGPL License.
- * Copyright (c) 1999-2017 Ephox Corp. All rights reserved
- *
- * License: http://www.tinymce.com/license
- * Contributing: http://www.tinymce.com/contributing
+ * Copyright (c) Tiny Technologies, Inc. All rights reserved.
+ * Licensed under the LGPL or a commercial license.
+ * For LGPL see License.txt in the project root for license information.
+ * For commercial licenses see https://www.tiny.cloud/
*/
import Widget from './Widget';
diff --git a/tools-ng/tinymce/editor/src/ui/main/ts/ComboBox.ts b/tools-ng/tinymce/src/ui/main/ts/ComboBox.ts
similarity index 97%
rename from tools-ng/tinymce/editor/src/ui/main/ts/ComboBox.ts
rename to tools-ng/tinymce/src/ui/main/ts/ComboBox.ts
index 9d5549a32..e6a366bf6 100644
--- a/tools-ng/tinymce/editor/src/ui/main/ts/ComboBox.ts
+++ b/tools-ng/tinymce/src/ui/main/ts/ComboBox.ts
@@ -1,11 +1,8 @@
/**
- * ComboBox.js
- *
- * Released under LGPL License.
- * Copyright (c) 1999-2017 Ephox Corp. All rights reserved
- *
- * License: http://www.tinymce.com/license
- * Contributing: http://www.tinymce.com/contributing
+ * Copyright (c) Tiny Technologies, Inc. All rights reserved.
+ * Licensed under the LGPL or a commercial license.
+ * For LGPL see License.txt in the project root for license information.
+ * For commercial licenses see https://www.tiny.cloud/
*/
import DomQuery from 'tinymce/core/api/dom/DomQuery';
diff --git a/tools-ng/tinymce/editor/src/ui/main/ts/Container.ts b/tools-ng/tinymce/src/ui/main/ts/Container.ts
similarity index 98%
rename from tools-ng/tinymce/editor/src/ui/main/ts/Container.ts
rename to tools-ng/tinymce/src/ui/main/ts/Container.ts
index 5fe56367a..2bea15929 100644
--- a/tools-ng/tinymce/editor/src/ui/main/ts/Container.ts
+++ b/tools-ng/tinymce/src/ui/main/ts/Container.ts
@@ -1,11 +1,8 @@
/**
- * Container.js
- *
- * Released under LGPL License.
- * Copyright (c) 1999-2017 Ephox Corp. All rights reserved
- *
- * License: http://www.tinymce.com/license
- * Contributing: http://www.tinymce.com/contributing
+ * Copyright (c) Tiny Technologies, Inc. All rights reserved.
+ * Licensed under the LGPL or a commercial license.
+ * For LGPL see License.txt in the project root for license information.
+ * For commercial licenses see https://www.tiny.cloud/
*/
import Control from './Control';
diff --git a/tools-ng/tinymce/editor/src/ui/main/ts/Control.ts b/tools-ng/tinymce/src/ui/main/ts/Control.ts
similarity index 99%
rename from tools-ng/tinymce/editor/src/ui/main/ts/Control.ts
rename to tools-ng/tinymce/src/ui/main/ts/Control.ts
index 40591352b..dda260f65 100644
--- a/tools-ng/tinymce/editor/src/ui/main/ts/Control.ts
+++ b/tools-ng/tinymce/src/ui/main/ts/Control.ts
@@ -1,11 +1,8 @@
/**
- * Control.js
- *
- * Released under LGPL License.
- * Copyright (c) 1999-2017 Ephox Corp. All rights reserved
- *
- * License: http://www.tinymce.com/license
- * Contributing: http://www.tinymce.com/contributing
+ * Copyright (c) Tiny Technologies, Inc. All rights reserved.
+ * Licensed under the LGPL or a commercial license.
+ * For LGPL see License.txt in the project root for license information.
+ * For commercial licenses see https://www.tiny.cloud/
*/
import DomQuery from 'tinymce/core/api/dom/DomQuery';
diff --git a/tools-ng/tinymce/editor/src/ui/main/ts/DomUtils.ts b/tools-ng/tinymce/src/ui/main/ts/DomUtils.ts
similarity index 91%
rename from tools-ng/tinymce/editor/src/ui/main/ts/DomUtils.ts
rename to tools-ng/tinymce/src/ui/main/ts/DomUtils.ts
index 4906a986c..49b7b625d 100644
--- a/tools-ng/tinymce/editor/src/ui/main/ts/DomUtils.ts
+++ b/tools-ng/tinymce/src/ui/main/ts/DomUtils.ts
@@ -1,11 +1,8 @@
/**
- * DomUtils.js
- *
- * Released under LGPL License.
- * Copyright (c) 1999-2017 Ephox Corp. All rights reserved
- *
- * License: http://www.tinymce.com/license
- * Contributing: http://www.tinymce.com/contributing
+ * Copyright (c) Tiny Technologies, Inc. All rights reserved.
+ * Licensed under the LGPL or a commercial license.
+ * For LGPL see License.txt in the project root for license information.
+ * For commercial licenses see https://www.tiny.cloud/
*/
import DOMUtils from 'tinymce/core/api/dom/DOMUtils';
diff --git a/tools-ng/tinymce/editor/src/ui/main/ts/DragHelper.ts b/tools-ng/tinymce/src/ui/main/ts/DragHelper.ts
similarity index 93%
rename from tools-ng/tinymce/editor/src/ui/main/ts/DragHelper.ts
rename to tools-ng/tinymce/src/ui/main/ts/DragHelper.ts
index e982eddf3..bde79c3e5 100644
--- a/tools-ng/tinymce/editor/src/ui/main/ts/DragHelper.ts
+++ b/tools-ng/tinymce/src/ui/main/ts/DragHelper.ts
@@ -1,11 +1,8 @@
/**
- * DragHelper.js
- *
- * Released under LGPL License.
- * Copyright (c) 1999-2017 Ephox Corp. All rights reserved
- *
- * License: http://www.tinymce.com/license
- * Contributing: http://www.tinymce.com/contributing
+ * Copyright (c) Tiny Technologies, Inc. All rights reserved.
+ * Licensed under the LGPL or a commercial license.
+ * For LGPL see License.txt in the project root for license information.
+ * For commercial licenses see https://www.tiny.cloud/
*/
import DomQuery from 'tinymce/core/api/dom/DomQuery';
diff --git a/tools-ng/tinymce/editor/src/ui/main/ts/DropZone.ts b/tools-ng/tinymce/src/ui/main/ts/DropZone.ts
similarity index 92%
rename from tools-ng/tinymce/editor/src/ui/main/ts/DropZone.ts
rename to tools-ng/tinymce/src/ui/main/ts/DropZone.ts
index 560998b52..2b9ac63d0 100644
--- a/tools-ng/tinymce/editor/src/ui/main/ts/DropZone.ts
+++ b/tools-ng/tinymce/src/ui/main/ts/DropZone.ts
@@ -1,11 +1,8 @@
/**
- * DropZone.js
- *
- * Released under LGPL License.
- * Copyright (c) 1999-2017 Ephox Corp. All rights reserved
- *
- * License: http://www.tinymce.com/license
- * Contributing: http://www.tinymce.com/contributing
+ * Copyright (c) Tiny Technologies, Inc. All rights reserved.
+ * Licensed under the LGPL or a commercial license.
+ * For LGPL see License.txt in the project root for license information.
+ * For commercial licenses see https://www.tiny.cloud/
*/
import Widget from './Widget';
diff --git a/tools-ng/tinymce/editor/src/ui/main/ts/ElementPath.ts b/tools-ng/tinymce/src/ui/main/ts/ElementPath.ts
similarity index 87%
rename from tools-ng/tinymce/editor/src/ui/main/ts/ElementPath.ts
rename to tools-ng/tinymce/src/ui/main/ts/ElementPath.ts
index 95c2f9da8..7420a34b2 100644
--- a/tools-ng/tinymce/editor/src/ui/main/ts/ElementPath.ts
+++ b/tools-ng/tinymce/src/ui/main/ts/ElementPath.ts
@@ -1,11 +1,8 @@
/**
- * ElementPath.js
- *
- * Released under LGPL License.
- * Copyright (c) 1999-2017 Ephox Corp. All rights reserved
- *
- * License: http://www.tinymce.com/license
- * Contributing: http://www.tinymce.com/contributing
+ * Copyright (c) Tiny Technologies, Inc. All rights reserved.
+ * Licensed under the LGPL or a commercial license.
+ * For LGPL see License.txt in the project root for license information.
+ * For commercial licenses see https://www.tiny.cloud/
*/
import Path from './Path';
diff --git a/tools-ng/tinymce/editor/src/ui/main/ts/FieldSet.ts b/tools-ng/tinymce/src/ui/main/ts/FieldSet.ts
similarity index 82%
rename from tools-ng/tinymce/editor/src/ui/main/ts/FieldSet.ts
rename to tools-ng/tinymce/src/ui/main/ts/FieldSet.ts
index ff41533d3..e96384c3e 100644
--- a/tools-ng/tinymce/editor/src/ui/main/ts/FieldSet.ts
+++ b/tools-ng/tinymce/src/ui/main/ts/FieldSet.ts
@@ -1,11 +1,8 @@
/**
- * FieldSet.js
- *
- * Released under LGPL License.
- * Copyright (c) 1999-2017 Ephox Corp. All rights reserved
- *
- * License: http://www.tinymce.com/license
- * Contributing: http://www.tinymce.com/contributing
+ * Copyright (c) Tiny Technologies, Inc. All rights reserved.
+ * Licensed under the LGPL or a commercial license.
+ * For LGPL see License.txt in the project root for license information.
+ * For commercial licenses see https://www.tiny.cloud/
*/
import Form from './Form';
diff --git a/tools-ng/tinymce/editor/src/ui/main/ts/FilePicker.ts b/tools-ng/tinymce/src/ui/main/ts/FilePicker.ts
similarity index 97%
rename from tools-ng/tinymce/editor/src/ui/main/ts/FilePicker.ts
rename to tools-ng/tinymce/src/ui/main/ts/FilePicker.ts
index e254225df..40bafdde0 100644
--- a/tools-ng/tinymce/editor/src/ui/main/ts/FilePicker.ts
+++ b/tools-ng/tinymce/src/ui/main/ts/FilePicker.ts
@@ -1,21 +1,16 @@
-import { Arr, Fun } from '@ephox/katamari';
+/**
+ * Copyright (c) Tiny Technologies, Inc. All rights reserved.
+ * Licensed under the LGPL or a commercial license.
+ * For LGPL see License.txt in the project root for license information.
+ * For commercial licenses see https://www.tiny.cloud/
+ */
+import { Arr, Fun } from '@ephox/katamari';
import EditorManager from 'tinymce/core/api/EditorManager';
import Tools from 'tinymce/core/api/util/Tools';
-
import ComboBox from './ComboBox';
import LinkTargets from './content/LinkTargets';
-/**
- * FilePicker.js
- *
- * Released under LGPL License.
- * Copyright (c) 1999-2017 Ephox Corp. All rights reserved
- *
- * License: http://www.tinymce.com/license
- * Contributing: http://www.tinymce.com/contributing
- */
-
/**
* This class creates a file picker control.
*
diff --git a/tools-ng/tinymce/editor/src/ui/main/ts/FitLayout.ts b/tools-ng/tinymce/src/ui/main/ts/FitLayout.ts
similarity index 80%
rename from tools-ng/tinymce/editor/src/ui/main/ts/FitLayout.ts
rename to tools-ng/tinymce/src/ui/main/ts/FitLayout.ts
index edd7960c5..a40b11315 100644
--- a/tools-ng/tinymce/editor/src/ui/main/ts/FitLayout.ts
+++ b/tools-ng/tinymce/src/ui/main/ts/FitLayout.ts
@@ -1,11 +1,8 @@
/**
- * FitLayout.js
- *
- * Released under LGPL License.
- * Copyright (c) 1999-2017 Ephox Corp. All rights reserved
- *
- * License: http://www.tinymce.com/license
- * Contributing: http://www.tinymce.com/contributing
+ * Copyright (c) Tiny Technologies, Inc. All rights reserved.
+ * Licensed under the LGPL or a commercial license.
+ * For LGPL see License.txt in the project root for license information.
+ * For commercial licenses see https://www.tiny.cloud/
*/
import AbsoluteLayout from './AbsoluteLayout';
diff --git a/tools-ng/tinymce/editor/src/ui/main/ts/FlexLayout.ts b/tools-ng/tinymce/src/ui/main/ts/FlexLayout.ts
similarity index 97%
rename from tools-ng/tinymce/editor/src/ui/main/ts/FlexLayout.ts
rename to tools-ng/tinymce/src/ui/main/ts/FlexLayout.ts
index 6cda37118..122f61971 100644
--- a/tools-ng/tinymce/editor/src/ui/main/ts/FlexLayout.ts
+++ b/tools-ng/tinymce/src/ui/main/ts/FlexLayout.ts
@@ -1,11 +1,8 @@
/**
- * FlexLayout.js
- *
- * Released under LGPL License.
- * Copyright (c) 1999-2017 Ephox Corp. All rights reserved
- *
- * License: http://www.tinymce.com/license
- * Contributing: http://www.tinymce.com/contributing
+ * Copyright (c) Tiny Technologies, Inc. All rights reserved.
+ * Licensed under the LGPL or a commercial license.
+ * For LGPL see License.txt in the project root for license information.
+ * For commercial licenses see https://www.tiny.cloud/
*/
import AbsoluteLayout from './AbsoluteLayout';
diff --git a/tools-ng/tinymce/editor/src/ui/main/ts/FloatPanel.ts b/tools-ng/tinymce/src/ui/main/ts/FloatPanel.ts
similarity index 97%
rename from tools-ng/tinymce/editor/src/ui/main/ts/FloatPanel.ts
rename to tools-ng/tinymce/src/ui/main/ts/FloatPanel.ts
index 4df8df149..82451d627 100644
--- a/tools-ng/tinymce/editor/src/ui/main/ts/FloatPanel.ts
+++ b/tools-ng/tinymce/src/ui/main/ts/FloatPanel.ts
@@ -1,11 +1,8 @@
/**
- * FloatPanel.js
- *
- * Released under LGPL License.
- * Copyright (c) 1999-2017 Ephox Corp. All rights reserved
- *
- * License: http://www.tinymce.com/license
- * Contributing: http://www.tinymce.com/contributing
+ * Copyright (c) Tiny Technologies, Inc. All rights reserved.
+ * Licensed under the LGPL or a commercial license.
+ * For LGPL see License.txt in the project root for license information.
+ * For commercial licenses see https://www.tiny.cloud/
*/
import DomQuery from 'tinymce/core/api/dom/DomQuery';
diff --git a/tools-ng/tinymce/editor/src/ui/main/ts/FlowLayout.ts b/tools-ng/tinymce/src/ui/main/ts/FlowLayout.ts
similarity index 75%
rename from tools-ng/tinymce/editor/src/ui/main/ts/FlowLayout.ts
rename to tools-ng/tinymce/src/ui/main/ts/FlowLayout.ts
index 53331e58f..b3f87cf3c 100644
--- a/tools-ng/tinymce/editor/src/ui/main/ts/FlowLayout.ts
+++ b/tools-ng/tinymce/src/ui/main/ts/FlowLayout.ts
@@ -1,11 +1,8 @@
/**
- * FlowLayout.js
- *
- * Released under LGPL License.
- * Copyright (c) 1999-2017 Ephox Corp. All rights reserved
- *
- * License: http://www.tinymce.com/license
- * Contributing: http://www.tinymce.com/contributing
+ * Copyright (c) Tiny Technologies, Inc. All rights reserved.
+ * Licensed under the LGPL or a commercial license.
+ * For LGPL see License.txt in the project root for license information.
+ * For commercial licenses see https://www.tiny.cloud/
*/
import Layout from './Layout';
diff --git a/tools-ng/tinymce/editor/src/ui/main/ts/Form.ts b/tools-ng/tinymce/src/ui/main/ts/Form.ts
similarity index 93%
rename from tools-ng/tinymce/editor/src/ui/main/ts/Form.ts
rename to tools-ng/tinymce/src/ui/main/ts/Form.ts
index 2487430b4..18fed6499 100644
--- a/tools-ng/tinymce/editor/src/ui/main/ts/Form.ts
+++ b/tools-ng/tinymce/src/ui/main/ts/Form.ts
@@ -1,11 +1,8 @@
/**
- * Form.js
- *
- * Released under LGPL License.
- * Copyright (c) 1999-2017 Ephox Corp. All rights reserved
- *
- * License: http://www.tinymce.com/license
- * Contributing: http://www.tinymce.com/contributing
+ * Copyright (c) Tiny Technologies, Inc. All rights reserved.
+ * Licensed under the LGPL or a commercial license.
+ * For LGPL see License.txt in the project root for license information.
+ * For commercial licenses see https://www.tiny.cloud/
*/
import Container from './Container';
diff --git a/tools-ng/tinymce/editor/src/ui/main/ts/FormItem.ts b/tools-ng/tinymce/src/ui/main/ts/FormItem.ts
similarity index 82%
rename from tools-ng/tinymce/editor/src/ui/main/ts/FormItem.ts
rename to tools-ng/tinymce/src/ui/main/ts/FormItem.ts
index 27946d0fc..69eb149fc 100644
--- a/tools-ng/tinymce/editor/src/ui/main/ts/FormItem.ts
+++ b/tools-ng/tinymce/src/ui/main/ts/FormItem.ts
@@ -1,11 +1,8 @@
/**
- * FormItem.js
- *
- * Released under LGPL License.
- * Copyright (c) 1999-2017 Ephox Corp. All rights reserved
- *
- * License: http://www.tinymce.com/license
- * Contributing: http://www.tinymce.com/contributing
+ * Copyright (c) Tiny Technologies, Inc. All rights reserved.
+ * Licensed under the LGPL or a commercial license.
+ * For LGPL see License.txt in the project root for license information.
+ * For commercial licenses see https://www.tiny.cloud/
*/
import Container from './Container';
diff --git a/tools-ng/tinymce/editor/src/ui/main/ts/FormatControls.ts b/tools-ng/tinymce/src/ui/main/ts/FormatControls.ts
similarity index 86%
rename from tools-ng/tinymce/editor/src/ui/main/ts/FormatControls.ts
rename to tools-ng/tinymce/src/ui/main/ts/FormatControls.ts
index e02d72b45..1d845c987 100644
--- a/tools-ng/tinymce/editor/src/ui/main/ts/FormatControls.ts
+++ b/tools-ng/tinymce/src/ui/main/ts/FormatControls.ts
@@ -1,9 +1,14 @@
+/**
+ * Copyright (c) Tiny Technologies, Inc. All rights reserved.
+ * Licensed under the LGPL or a commercial license.
+ * For LGPL see License.txt in the project root for license information.
+ * For commercial licenses see https://www.tiny.cloud/
+ */
+
import { Fun } from '@ephox/katamari';
import { Element, SelectorFind } from '@ephox/sugar';
-
import EditorManager from 'tinymce/core/api/EditorManager';
import Env from 'tinymce/core/api/Env';
-
import Control from './Control';
import Align from './editorui/Align';
import FontSelect from './editorui/FontSelect';
@@ -18,16 +23,6 @@ import FloatPanel from './FloatPanel';
import Widget from './Widget';
import { document } from '@ephox/dom-globals';
-/**
- * FormatControls.js
- *
- * Released under LGPL License.
- * Copyright (c) 1999-2017 Ephox Corp. All rights reserved
- *
- * License: http://www.tinymce.com/license
- * Contributing: http://www.tinymce.com/contributing
- */
-
const setupEnvironment = function () {
Widget.tooltips = !Env.iOS;
@@ -51,7 +46,7 @@ const setupRtlMode = function (editor) {
};
const setupHideFloatPanels = function (editor) {
- editor.on('mousedown', function () {
+ editor.on('mousedown progressstate', function () {
FloatPanel.hideAll();
});
};
diff --git a/tools-ng/tinymce/editor/src/ui/main/ts/GridLayout.ts b/tools-ng/tinymce/src/ui/main/ts/GridLayout.ts
similarity index 96%
rename from tools-ng/tinymce/editor/src/ui/main/ts/GridLayout.ts
rename to tools-ng/tinymce/src/ui/main/ts/GridLayout.ts
index 8859fbf0d..57949f519 100644
--- a/tools-ng/tinymce/editor/src/ui/main/ts/GridLayout.ts
+++ b/tools-ng/tinymce/src/ui/main/ts/GridLayout.ts
@@ -1,11 +1,8 @@
/**
- * GridLayout.js
- *
- * Released under LGPL License.
- * Copyright (c) 1999-2017 Ephox Corp. All rights reserved
- *
- * License: http://www.tinymce.com/license
- * Contributing: http://www.tinymce.com/contributing
+ * Copyright (c) Tiny Technologies, Inc. All rights reserved.
+ * Licensed under the LGPL or a commercial license.
+ * For LGPL see License.txt in the project root for license information.
+ * For commercial licenses see https://www.tiny.cloud/
*/
import AbsoluteLayout from './AbsoluteLayout';
diff --git a/tools-ng/tinymce/editor/src/ui/main/ts/Iframe.ts b/tools-ng/tinymce/src/ui/main/ts/Iframe.ts
similarity index 87%
rename from tools-ng/tinymce/editor/src/ui/main/ts/Iframe.ts
rename to tools-ng/tinymce/src/ui/main/ts/Iframe.ts
index a8884f1cf..aa3672356 100644
--- a/tools-ng/tinymce/editor/src/ui/main/ts/Iframe.ts
+++ b/tools-ng/tinymce/src/ui/main/ts/Iframe.ts
@@ -1,11 +1,8 @@
/**
- * Iframe.js
- *
- * Released under LGPL License.
- * Copyright (c) 1999-2017 Ephox Corp. All rights reserved
- *
- * License: http://www.tinymce.com/license
- * Contributing: http://www.tinymce.com/contributing
+ * Copyright (c) Tiny Technologies, Inc. All rights reserved.
+ * Licensed under the LGPL or a commercial license.
+ * For LGPL see License.txt in the project root for license information.
+ * For commercial licenses see https://www.tiny.cloud/
*/
import Widget from './Widget';
diff --git a/tools-ng/tinymce/editor/src/ui/main/ts/InfoBox.ts b/tools-ng/tinymce/src/ui/main/ts/InfoBox.ts
similarity index 87%
rename from tools-ng/tinymce/editor/src/ui/main/ts/InfoBox.ts
rename to tools-ng/tinymce/src/ui/main/ts/InfoBox.ts
index 81e9b55bc..3764b884c 100644
--- a/tools-ng/tinymce/editor/src/ui/main/ts/InfoBox.ts
+++ b/tools-ng/tinymce/src/ui/main/ts/InfoBox.ts
@@ -1,11 +1,8 @@
/**
- * InfoBox.js
- *
- * Released under LGPL License.
- * Copyright (c) 1999-2017 Ephox Corp. All rights reserved
- *
- * License: http://www.tinymce.com/license
- * Contributing: http://www.tinymce.com/contributing
+ * Copyright (c) Tiny Technologies, Inc. All rights reserved.
+ * Licensed under the LGPL or a commercial license.
+ * For LGPL see License.txt in the project root for license information.
+ * For commercial licenses see https://www.tiny.cloud/
*/
import Widget from './Widget';
diff --git a/tools-ng/tinymce/editor/src/ui/main/ts/KeyboardNavigation.ts b/tools-ng/tinymce/src/ui/main/ts/KeyboardNavigation.ts
similarity index 97%
rename from tools-ng/tinymce/editor/src/ui/main/ts/KeyboardNavigation.ts
rename to tools-ng/tinymce/src/ui/main/ts/KeyboardNavigation.ts
index dcdd268c2..ce1afc3ff 100644
--- a/tools-ng/tinymce/editor/src/ui/main/ts/KeyboardNavigation.ts
+++ b/tools-ng/tinymce/src/ui/main/ts/KeyboardNavigation.ts
@@ -1,11 +1,8 @@
/**
- * KeyboardNavigation.js
- *
- * Released under LGPL License.
- * Copyright (c) 1999-2017 Ephox Corp. All rights reserved
- *
- * License: http://www.tinymce.com/license
- * Contributing: http://www.tinymce.com/contributing
+ * Copyright (c) Tiny Technologies, Inc. All rights reserved.
+ * Licensed under the LGPL or a commercial license.
+ * For LGPL see License.txt in the project root for license information.
+ * For commercial licenses see https://www.tiny.cloud/
*/
import { document } from '@ephox/dom-globals';
diff --git a/tools-ng/tinymce/editor/src/ui/main/ts/Label.ts b/tools-ng/tinymce/src/ui/main/ts/Label.ts
similarity index 92%
rename from tools-ng/tinymce/editor/src/ui/main/ts/Label.ts
rename to tools-ng/tinymce/src/ui/main/ts/Label.ts
index 652f919e0..6066a74b1 100644
--- a/tools-ng/tinymce/editor/src/ui/main/ts/Label.ts
+++ b/tools-ng/tinymce/src/ui/main/ts/Label.ts
@@ -1,11 +1,8 @@
/**
- * Label.js
- *
- * Released under LGPL License.
- * Copyright (c) 1999-2017 Ephox Corp. All rights reserved
- *
- * License: http://www.tinymce.com/license
- * Contributing: http://www.tinymce.com/contributing
+ * Copyright (c) Tiny Technologies, Inc. All rights reserved.
+ * Licensed under the LGPL or a commercial license.
+ * For LGPL see License.txt in the project root for license information.
+ * For commercial licenses see https://www.tiny.cloud/
*/
import Widget from './Widget';
diff --git a/tools-ng/tinymce/editor/src/ui/main/ts/Layout.ts b/tools-ng/tinymce/src/ui/main/ts/Layout.ts
similarity index 90%
rename from tools-ng/tinymce/editor/src/ui/main/ts/Layout.ts
rename to tools-ng/tinymce/src/ui/main/ts/Layout.ts
index 331ab1dc6..8e95acf9e 100644
--- a/tools-ng/tinymce/editor/src/ui/main/ts/Layout.ts
+++ b/tools-ng/tinymce/src/ui/main/ts/Layout.ts
@@ -1,11 +1,8 @@
/**
- * Layout.js
- *
- * Released under LGPL License.
- * Copyright (c) 1999-2017 Ephox Corp. All rights reserved
- *
- * License: http://www.tinymce.com/license
- * Contributing: http://www.tinymce.com/contributing
+ * Copyright (c) Tiny Technologies, Inc. All rights reserved.
+ * Licensed under the LGPL or a commercial license.
+ * For LGPL see License.txt in the project root for license information.
+ * For commercial licenses see https://www.tiny.cloud/
*/
import Class from 'tinymce/core/api/util/Class';
diff --git a/tools-ng/tinymce/editor/src/ui/main/ts/ListBox.ts b/tools-ng/tinymce/src/ui/main/ts/ListBox.ts
similarity index 94%
rename from tools-ng/tinymce/editor/src/ui/main/ts/ListBox.ts
rename to tools-ng/tinymce/src/ui/main/ts/ListBox.ts
index d9f489adb..438d83391 100644
--- a/tools-ng/tinymce/editor/src/ui/main/ts/ListBox.ts
+++ b/tools-ng/tinymce/src/ui/main/ts/ListBox.ts
@@ -1,11 +1,8 @@
/**
- * ListBox.js
- *
- * Released under LGPL License.
- * Copyright (c) 1999-2017 Ephox Corp. All rights reserved
- *
- * License: http://www.tinymce.com/license
- * Contributing: http://www.tinymce.com/contributing
+ * Copyright (c) Tiny Technologies, Inc. All rights reserved.
+ * Licensed under the LGPL or a commercial license.
+ * For LGPL see License.txt in the project root for license information.
+ * For commercial licenses see https://www.tiny.cloud/
*/
import MenuButton from './MenuButton';
diff --git a/tools-ng/tinymce/editor/src/ui/main/ts/Menu.ts b/tools-ng/tinymce/src/ui/main/ts/Menu.ts
similarity index 94%
rename from tools-ng/tinymce/editor/src/ui/main/ts/Menu.ts
rename to tools-ng/tinymce/src/ui/main/ts/Menu.ts
index fdf746334..3663bdcf8 100644
--- a/tools-ng/tinymce/editor/src/ui/main/ts/Menu.ts
+++ b/tools-ng/tinymce/src/ui/main/ts/Menu.ts
@@ -1,11 +1,8 @@
/**
- * Menu.js
- *
- * Released under LGPL License.
- * Copyright (c) 1999-2017 Ephox Corp. All rights reserved
- *
- * License: http://www.tinymce.com/license
- * Contributing: http://www.tinymce.com/contributing
+ * Copyright (c) Tiny Technologies, Inc. All rights reserved.
+ * Licensed under the LGPL or a commercial license.
+ * For LGPL see License.txt in the project root for license information.
+ * For commercial licenses see https://www.tiny.cloud/
*/
import Env from 'tinymce/core/api/Env';
diff --git a/tools-ng/tinymce/editor/src/ui/main/ts/MenuBar.ts b/tools-ng/tinymce/src/ui/main/ts/MenuBar.ts
similarity index 58%
rename from tools-ng/tinymce/editor/src/ui/main/ts/MenuBar.ts
rename to tools-ng/tinymce/src/ui/main/ts/MenuBar.ts
index 496e34fb2..81d8e264d 100644
--- a/tools-ng/tinymce/editor/src/ui/main/ts/MenuBar.ts
+++ b/tools-ng/tinymce/src/ui/main/ts/MenuBar.ts
@@ -1,11 +1,8 @@
/**
- * MenuBar.js
- *
- * Released under LGPL License.
- * Copyright (c) 1999-2017 Ephox Corp. All rights reserved
- *
- * License: http://www.tinymce.com/license
- * Contributing: http://www.tinymce.com/contributing
+ * Copyright (c) Tiny Technologies, Inc. All rights reserved.
+ * Licensed under the LGPL or a commercial license.
+ * For LGPL see License.txt in the project root for license information.
+ * For commercial licenses see https://www.tiny.cloud/
*/
import Toolbar from './Toolbar';
diff --git a/tools-ng/tinymce/editor/src/ui/main/ts/MenuButton.ts b/tools-ng/tinymce/src/ui/main/ts/MenuButton.ts
similarity index 96%
rename from tools-ng/tinymce/editor/src/ui/main/ts/MenuButton.ts
rename to tools-ng/tinymce/src/ui/main/ts/MenuButton.ts
index 0d6d62ab8..fa74d7756 100644
--- a/tools-ng/tinymce/editor/src/ui/main/ts/MenuButton.ts
+++ b/tools-ng/tinymce/src/ui/main/ts/MenuButton.ts
@@ -1,11 +1,8 @@
/**
- * MenuButton.js
- *
- * Released under LGPL License.
- * Copyright (c) 1999-2017 Ephox Corp. All rights reserved
- *
- * License: http://www.tinymce.com/license
- * Contributing: http://www.tinymce.com/contributing
+ * Copyright (c) Tiny Technologies, Inc. All rights reserved.
+ * Licensed under the LGPL or a commercial license.
+ * For LGPL see License.txt in the project root for license information.
+ * For commercial licenses see https://www.tiny.cloud/
*/
import Factory from 'tinymce/core/api/ui/Factory';
diff --git a/tools-ng/tinymce/editor/src/ui/main/ts/MenuItem.ts b/tools-ng/tinymce/src/ui/main/ts/MenuItem.ts
similarity index 97%
rename from tools-ng/tinymce/editor/src/ui/main/ts/MenuItem.ts
rename to tools-ng/tinymce/src/ui/main/ts/MenuItem.ts
index 72f246569..fa0545cb0 100644
--- a/tools-ng/tinymce/editor/src/ui/main/ts/MenuItem.ts
+++ b/tools-ng/tinymce/src/ui/main/ts/MenuItem.ts
@@ -1,11 +1,8 @@
/**
- * MenuItem.js
- *
- * Released under LGPL License.
- * Copyright (c) 1999-2017 Ephox Corp. All rights reserved
- *
- * License: http://www.tinymce.com/license
- * Contributing: http://www.tinymce.com/contributing
+ * Copyright (c) Tiny Technologies, Inc. All rights reserved.
+ * Licensed under the LGPL or a commercial license.
+ * For LGPL see License.txt in the project root for license information.
+ * For commercial licenses see https://www.tiny.cloud/
*/
import Widget from './Widget';
diff --git a/tools-ng/tinymce/editor/src/ui/main/ts/MessageBox.ts b/tools-ng/tinymce/src/ui/main/ts/MessageBox.ts
similarity index 94%
rename from tools-ng/tinymce/editor/src/ui/main/ts/MessageBox.ts
rename to tools-ng/tinymce/src/ui/main/ts/MessageBox.ts
index 78e745d7f..8e7fc220e 100644
--- a/tools-ng/tinymce/editor/src/ui/main/ts/MessageBox.ts
+++ b/tools-ng/tinymce/src/ui/main/ts/MessageBox.ts
@@ -1,11 +1,8 @@
/**
- * MessageBox.js
- *
- * Released under LGPL License.
- * Copyright (c) 1999-2017 Ephox Corp. All rights reserved
- *
- * License: http://www.tinymce.com/license
- * Contributing: http://www.tinymce.com/contributing
+ * Copyright (c) Tiny Technologies, Inc. All rights reserved.
+ * Licensed under the LGPL or a commercial license.
+ * For LGPL see License.txt in the project root for license information.
+ * For commercial licenses see https://www.tiny.cloud/
*/
import Window from './Window';
diff --git a/tools-ng/tinymce/editor/src/ui/main/ts/Movable.ts b/tools-ng/tinymce/src/ui/main/ts/Movable.ts
similarity index 96%
rename from tools-ng/tinymce/editor/src/ui/main/ts/Movable.ts
rename to tools-ng/tinymce/src/ui/main/ts/Movable.ts
index e4177e441..1dbd3c55b 100644
--- a/tools-ng/tinymce/editor/src/ui/main/ts/Movable.ts
+++ b/tools-ng/tinymce/src/ui/main/ts/Movable.ts
@@ -1,11 +1,8 @@
/**
- * Movable.js
- *
- * Released under LGPL License.
- * Copyright (c) 1999-2017 Ephox Corp. All rights reserved
- *
- * License: http://www.tinymce.com/license
- * Contributing: http://www.tinymce.com/contributing
+ * Copyright (c) Tiny Technologies, Inc. All rights reserved.
+ * Licensed under the LGPL or a commercial license.
+ * For LGPL see License.txt in the project root for license information.
+ * For commercial licenses see https://www.tiny.cloud/
*/
import DomUtils from './DomUtils';
diff --git a/tools-ng/tinymce/editor/src/ui/main/ts/Notification.ts b/tools-ng/tinymce/src/ui/main/ts/Notification.ts
similarity index 94%
rename from tools-ng/tinymce/editor/src/ui/main/ts/Notification.ts
rename to tools-ng/tinymce/src/ui/main/ts/Notification.ts
index ec74a813d..a1c58c035 100644
--- a/tools-ng/tinymce/editor/src/ui/main/ts/Notification.ts
+++ b/tools-ng/tinymce/src/ui/main/ts/Notification.ts
@@ -1,11 +1,8 @@
/**
- * Notification.js
- *
- * Released under LGPL License.
- * Copyright (c) 1999-2017 Ephox Corp. All rights reserved
- *
- * License: http://www.tinymce.com/license
- * Contributing: http://www.tinymce.com/contributing
+ * Copyright (c) Tiny Technologies, Inc. All rights reserved.
+ * Licensed under the LGPL or a commercial license.
+ * For LGPL see License.txt in the project root for license information.
+ * For commercial licenses see https://www.tiny.cloud/
*/
import Control from './Control';
diff --git a/tools-ng/tinymce/editor/src/ui/main/ts/NotificationManagerImpl.ts b/tools-ng/tinymce/src/ui/main/ts/NotificationManagerImpl.ts
similarity index 90%
rename from tools-ng/tinymce/editor/src/ui/main/ts/NotificationManagerImpl.ts
rename to tools-ng/tinymce/src/ui/main/ts/NotificationManagerImpl.ts
index aae91d99a..faf924620 100644
--- a/tools-ng/tinymce/editor/src/ui/main/ts/NotificationManagerImpl.ts
+++ b/tools-ng/tinymce/src/ui/main/ts/NotificationManagerImpl.ts
@@ -1,11 +1,8 @@
/**
- * NotificationManagerImpl.js
- *
- * Released under LGPL License.
- * Copyright (c) 1999-2017 Ephox Corp. All rights reserved
- *
- * License: http://www.tinymce.com/license
- * Contributing: http://www.tinymce.com/contributing
+ * Copyright (c) Tiny Technologies, Inc. All rights reserved.
+ * Licensed under the LGPL or a commercial license.
+ * For LGPL see License.txt in the project root for license information.
+ * For commercial licenses see https://www.tiny.cloud/
*/
import { Arr } from '@ephox/katamari';
diff --git a/tools-ng/tinymce/editor/src/ui/main/ts/Panel.ts b/tools-ng/tinymce/src/ui/main/ts/Panel.ts
similarity index 83%
rename from tools-ng/tinymce/editor/src/ui/main/ts/Panel.ts
rename to tools-ng/tinymce/src/ui/main/ts/Panel.ts
index 496af5cdb..36cf84d96 100644
--- a/tools-ng/tinymce/editor/src/ui/main/ts/Panel.ts
+++ b/tools-ng/tinymce/src/ui/main/ts/Panel.ts
@@ -1,11 +1,8 @@
/**
- * Panel.js
- *
- * Released under LGPL License.
- * Copyright (c) 1999-2017 Ephox Corp. All rights reserved
- *
- * License: http://www.tinymce.com/license
- * Contributing: http://www.tinymce.com/contributing
+ * Copyright (c) Tiny Technologies, Inc. All rights reserved.
+ * Licensed under the LGPL or a commercial license.
+ * For LGPL see License.txt in the project root for license information.
+ * For commercial licenses see https://www.tiny.cloud/
*/
import Container from './Container';
diff --git a/tools-ng/tinymce/editor/src/ui/main/ts/PanelButton.ts b/tools-ng/tinymce/src/ui/main/ts/PanelButton.ts
similarity index 91%
rename from tools-ng/tinymce/editor/src/ui/main/ts/PanelButton.ts
rename to tools-ng/tinymce/src/ui/main/ts/PanelButton.ts
index 8f791021f..d30cf1c6b 100644
--- a/tools-ng/tinymce/editor/src/ui/main/ts/PanelButton.ts
+++ b/tools-ng/tinymce/src/ui/main/ts/PanelButton.ts
@@ -1,11 +1,8 @@
/**
- * PanelButton.js
- *
- * Released under LGPL License.
- * Copyright (c) 1999-2017 Ephox Corp. All rights reserved
- *
- * License: http://www.tinymce.com/license
- * Contributing: http://www.tinymce.com/contributing
+ * Copyright (c) Tiny Technologies, Inc. All rights reserved.
+ * Licensed under the LGPL or a commercial license.
+ * For LGPL see License.txt in the project root for license information.
+ * For commercial licenses see https://www.tiny.cloud/
*/
import Button from './Button';
diff --git a/tools-ng/tinymce/editor/src/ui/main/ts/Path.ts b/tools-ng/tinymce/src/ui/main/ts/Path.ts
similarity index 91%
rename from tools-ng/tinymce/editor/src/ui/main/ts/Path.ts
rename to tools-ng/tinymce/src/ui/main/ts/Path.ts
index bf7ad34bc..c53491565 100644
--- a/tools-ng/tinymce/editor/src/ui/main/ts/Path.ts
+++ b/tools-ng/tinymce/src/ui/main/ts/Path.ts
@@ -1,11 +1,8 @@
/**
- * Path.js
- *
- * Released under LGPL License.
- * Copyright (c) 1999-2017 Ephox Corp. All rights reserved
- *
- * License: http://www.tinymce.com/license
- * Contributing: http://www.tinymce.com/contributing
+ * Copyright (c) Tiny Technologies, Inc. All rights reserved.
+ * Licensed under the LGPL or a commercial license.
+ * For LGPL see License.txt in the project root for license information.
+ * For commercial licenses see https://www.tiny.cloud/
*/
import Widget from './Widget';
diff --git a/tools-ng/tinymce/editor/src/ui/main/ts/Progress.ts b/tools-ng/tinymce/src/ui/main/ts/Progress.ts
similarity index 84%
rename from tools-ng/tinymce/editor/src/ui/main/ts/Progress.ts
rename to tools-ng/tinymce/src/ui/main/ts/Progress.ts
index c13e36c02..547906d2d 100644
--- a/tools-ng/tinymce/editor/src/ui/main/ts/Progress.ts
+++ b/tools-ng/tinymce/src/ui/main/ts/Progress.ts
@@ -1,11 +1,8 @@
/**
- * Progress.js
- *
- * Released under LGPL License.
- * Copyright (c) 1999-2017 Ephox Corp. All rights reserved
- *
- * License: http://www.tinymce.com/license
- * Contributing: http://www.tinymce.com/contributing
+ * Copyright (c) Tiny Technologies, Inc. All rights reserved.
+ * Licensed under the LGPL or a commercial license.
+ * For LGPL see License.txt in the project root for license information.
+ * For commercial licenses see https://www.tiny.cloud/
*/
import Widget from './Widget';
diff --git a/tools-ng/tinymce/editor/src/ui/main/ts/Radio.ts b/tools-ng/tinymce/src/ui/main/ts/Radio.ts
similarity index 52%
rename from tools-ng/tinymce/editor/src/ui/main/ts/Radio.ts
rename to tools-ng/tinymce/src/ui/main/ts/Radio.ts
index 2d2366f94..a900f5bcc 100644
--- a/tools-ng/tinymce/editor/src/ui/main/ts/Radio.ts
+++ b/tools-ng/tinymce/src/ui/main/ts/Radio.ts
@@ -1,11 +1,8 @@
/**
- * Radio.js
- *
- * Released under LGPL License.
- * Copyright (c) 1999-2017 Ephox Corp. All rights reserved
- *
- * License: http://www.tinymce.com/license
- * Contributing: http://www.tinymce.com/contributing
+ * Copyright (c) Tiny Technologies, Inc. All rights reserved.
+ * Licensed under the LGPL or a commercial license.
+ * For LGPL see License.txt in the project root for license information.
+ * For commercial licenses see https://www.tiny.cloud/
*/
import Checkbox from './Checkbox';
diff --git a/tools-ng/tinymce/editor/src/ui/main/ts/ReflowQueue.ts b/tools-ng/tinymce/src/ui/main/ts/ReflowQueue.ts
similarity index 88%
rename from tools-ng/tinymce/editor/src/ui/main/ts/ReflowQueue.ts
rename to tools-ng/tinymce/src/ui/main/ts/ReflowQueue.ts
index e898dad1e..d06cb93c4 100644
--- a/tools-ng/tinymce/editor/src/ui/main/ts/ReflowQueue.ts
+++ b/tools-ng/tinymce/src/ui/main/ts/ReflowQueue.ts
@@ -1,11 +1,8 @@
/**
- * ReflowQueue.js
- *
- * Released under LGPL License.
- * Copyright (c) 1999-2017 Ephox Corp. All rights reserved
- *
- * License: http://www.tinymce.com/license
- * Contributing: http://www.tinymce.com/contributing
+ * Copyright (c) Tiny Technologies, Inc. All rights reserved.
+ * Licensed under the LGPL or a commercial license.
+ * For LGPL see License.txt in the project root for license information.
+ * For commercial licenses see https://www.tiny.cloud/
*/
import Delay from 'tinymce/core/api/util/Delay';
diff --git a/tools-ng/tinymce/editor/src/ui/main/ts/Resizable.ts b/tools-ng/tinymce/src/ui/main/ts/Resizable.ts
similarity index 84%
rename from tools-ng/tinymce/editor/src/ui/main/ts/Resizable.ts
rename to tools-ng/tinymce/src/ui/main/ts/Resizable.ts
index 3b20772f5..cd056613a 100644
--- a/tools-ng/tinymce/editor/src/ui/main/ts/Resizable.ts
+++ b/tools-ng/tinymce/src/ui/main/ts/Resizable.ts
@@ -1,11 +1,8 @@
/**
- * Resizable.js
- *
- * Released under LGPL License.
- * Copyright (c) 1999-2017 Ephox Corp. All rights reserved
- *
- * License: http://www.tinymce.com/license
- * Contributing: http://www.tinymce.com/contributing
+ * Copyright (c) Tiny Technologies, Inc. All rights reserved.
+ * Licensed under the LGPL or a commercial license.
+ * For LGPL see License.txt in the project root for license information.
+ * For commercial licenses see https://www.tiny.cloud/
*/
import DomUtils from './DomUtils';
diff --git a/tools-ng/tinymce/editor/src/ui/main/ts/ResizeHandle.ts b/tools-ng/tinymce/src/ui/main/ts/ResizeHandle.ts
similarity index 85%
rename from tools-ng/tinymce/editor/src/ui/main/ts/ResizeHandle.ts
rename to tools-ng/tinymce/src/ui/main/ts/ResizeHandle.ts
index a33fb5fd0..02925b2a2 100644
--- a/tools-ng/tinymce/editor/src/ui/main/ts/ResizeHandle.ts
+++ b/tools-ng/tinymce/src/ui/main/ts/ResizeHandle.ts
@@ -1,11 +1,8 @@
/**
- * ResizeHandle.js
- *
- * Released under LGPL License.
- * Copyright (c) 1999-2017 Ephox Corp. All rights reserved
- *
- * License: http://www.tinymce.com/license
- * Contributing: http://www.tinymce.com/contributing
+ * Copyright (c) Tiny Technologies, Inc. All rights reserved.
+ * Licensed under the LGPL or a commercial license.
+ * For LGPL see License.txt in the project root for license information.
+ * For commercial licenses see https://www.tiny.cloud/
*/
import Widget from './Widget';
diff --git a/tools-ng/tinymce/editor/src/ui/main/ts/Scrollable.ts b/tools-ng/tinymce/src/ui/main/ts/Scrollable.ts
similarity index 94%
rename from tools-ng/tinymce/editor/src/ui/main/ts/Scrollable.ts
rename to tools-ng/tinymce/src/ui/main/ts/Scrollable.ts
index 54251d68a..ecfc25d09 100644
--- a/tools-ng/tinymce/editor/src/ui/main/ts/Scrollable.ts
+++ b/tools-ng/tinymce/src/ui/main/ts/Scrollable.ts
@@ -1,11 +1,8 @@
/**
- * Scrollable.js
- *
- * Released under LGPL License.
- * Copyright (c) 1999-2017 Ephox Corp. All rights reserved
- *
- * License: http://www.tinymce.com/license
- * Contributing: http://www.tinymce.com/contributing
+ * Copyright (c) Tiny Technologies, Inc. All rights reserved.
+ * Licensed under the LGPL or a commercial license.
+ * For LGPL see License.txt in the project root for license information.
+ * For commercial licenses see https://www.tiny.cloud/
*/
import $ from 'tinymce/core/api/dom/DomQuery';
diff --git a/tools-ng/tinymce/editor/src/ui/main/ts/SelectBox.ts b/tools-ng/tinymce/src/ui/main/ts/SelectBox.ts
similarity index 90%
rename from tools-ng/tinymce/editor/src/ui/main/ts/SelectBox.ts
rename to tools-ng/tinymce/src/ui/main/ts/SelectBox.ts
index 84acfd48c..85f8b05f1 100644
--- a/tools-ng/tinymce/editor/src/ui/main/ts/SelectBox.ts
+++ b/tools-ng/tinymce/src/ui/main/ts/SelectBox.ts
@@ -1,11 +1,8 @@
/**
- * SelectBox.js
- *
- * Released under LGPL License.
- * Copyright (c) 1999-2017 Ephox Corp. All rights reserved
- *
- * License: http://www.tinymce.com/license
- * Contributing: http://www.tinymce.com/contributing
+ * Copyright (c) Tiny Technologies, Inc. All rights reserved.
+ * Licensed under the LGPL or a commercial license.
+ * For LGPL see License.txt in the project root for license information.
+ * For commercial licenses see https://www.tiny.cloud/
*/
import Widget from './Widget';
diff --git a/tools-ng/tinymce/editor/src/ui/main/ts/Selector.ts b/tools-ng/tinymce/src/ui/main/ts/Selector.ts
similarity index 97%
rename from tools-ng/tinymce/editor/src/ui/main/ts/Selector.ts
rename to tools-ng/tinymce/src/ui/main/ts/Selector.ts
index 96691412d..d278befc8 100644
--- a/tools-ng/tinymce/editor/src/ui/main/ts/Selector.ts
+++ b/tools-ng/tinymce/src/ui/main/ts/Selector.ts
@@ -1,11 +1,8 @@
/**
- * Selector.js
- *
- * Released under LGPL License.
- * Copyright (c) 1999-2017 Ephox Corp. All rights reserved
- *
- * License: http://www.tinymce.com/license
- * Contributing: http://www.tinymce.com/contributing
+ * Copyright (c) Tiny Technologies, Inc. All rights reserved.
+ * Licensed under the LGPL or a commercial license.
+ * For LGPL see License.txt in the project root for license information.
+ * For commercial licenses see https://www.tiny.cloud/
*/
import Class from 'tinymce/core/api/util/Class';
diff --git a/tools-ng/tinymce/editor/src/ui/main/ts/Slider.ts b/tools-ng/tinymce/src/ui/main/ts/Slider.ts
similarity index 95%
rename from tools-ng/tinymce/editor/src/ui/main/ts/Slider.ts
rename to tools-ng/tinymce/src/ui/main/ts/Slider.ts
index e4deebe7c..686dfc145 100644
--- a/tools-ng/tinymce/editor/src/ui/main/ts/Slider.ts
+++ b/tools-ng/tinymce/src/ui/main/ts/Slider.ts
@@ -1,11 +1,8 @@
/**
- * Slider.js
- *
- * Released under LGPL License.
- * Copyright (c) 1999-2017 Ephox Corp. All rights reserved
- *
- * License: http://www.tinymce.com/license
- * Contributing: http://www.tinymce.com/contributing
+ * Copyright (c) Tiny Technologies, Inc. All rights reserved.
+ * Licensed under the LGPL or a commercial license.
+ * For LGPL see License.txt in the project root for license information.
+ * For commercial licenses see https://www.tiny.cloud/
*/
import Widget from './Widget';
diff --git a/tools-ng/tinymce/editor/src/ui/main/ts/Spacer.ts b/tools-ng/tinymce/src/ui/main/ts/Spacer.ts
similarity index 69%
rename from tools-ng/tinymce/editor/src/ui/main/ts/Spacer.ts
rename to tools-ng/tinymce/src/ui/main/ts/Spacer.ts
index 3d1fab6d2..1f286f95c 100644
--- a/tools-ng/tinymce/editor/src/ui/main/ts/Spacer.ts
+++ b/tools-ng/tinymce/src/ui/main/ts/Spacer.ts
@@ -1,11 +1,8 @@
/**
- * Spacer.js
- *
- * Released under LGPL License.
- * Copyright (c) 1999-2017 Ephox Corp. All rights reserved
- *
- * License: http://www.tinymce.com/license
- * Contributing: http://www.tinymce.com/contributing
+ * Copyright (c) Tiny Technologies, Inc. All rights reserved.
+ * Licensed under the LGPL or a commercial license.
+ * For LGPL see License.txt in the project root for license information.
+ * For commercial licenses see https://www.tiny.cloud/
*/
import Widget from './Widget';
diff --git a/tools-ng/tinymce/editor/src/ui/main/ts/SplitButton.ts b/tools-ng/tinymce/src/ui/main/ts/SplitButton.ts
similarity index 93%
rename from tools-ng/tinymce/editor/src/ui/main/ts/SplitButton.ts
rename to tools-ng/tinymce/src/ui/main/ts/SplitButton.ts
index 0964dad48..e94b03faa 100644
--- a/tools-ng/tinymce/editor/src/ui/main/ts/SplitButton.ts
+++ b/tools-ng/tinymce/src/ui/main/ts/SplitButton.ts
@@ -1,11 +1,8 @@
/**
- * SplitButton.js
- *
- * Released under LGPL License.
- * Copyright (c) 1999-2017 Ephox Corp. All rights reserved
- *
- * License: http://www.tinymce.com/license
- * Contributing: http://www.tinymce.com/contributing
+ * Copyright (c) Tiny Technologies, Inc. All rights reserved.
+ * Licensed under the LGPL or a commercial license.
+ * For LGPL see License.txt in the project root for license information.
+ * For commercial licenses see https://www.tiny.cloud/
*/
import DomQuery from 'tinymce/core/api/dom/DomQuery';
diff --git a/tools-ng/tinymce/editor/src/ui/main/ts/StackLayout.ts b/tools-ng/tinymce/src/ui/main/ts/StackLayout.ts
similarity index 63%
rename from tools-ng/tinymce/editor/src/ui/main/ts/StackLayout.ts
rename to tools-ng/tinymce/src/ui/main/ts/StackLayout.ts
index 1b84b7f75..b580499b0 100644
--- a/tools-ng/tinymce/editor/src/ui/main/ts/StackLayout.ts
+++ b/tools-ng/tinymce/src/ui/main/ts/StackLayout.ts
@@ -1,11 +1,8 @@
/**
- * StackLayout.js
- *
- * Released under LGPL License.
- * Copyright (c) 1999-2017 Ephox Corp. All rights reserved
- *
- * License: http://www.tinymce.com/license
- * Contributing: http://www.tinymce.com/contributing
+ * Copyright (c) Tiny Technologies, Inc. All rights reserved.
+ * Licensed under the LGPL or a commercial license.
+ * For LGPL see License.txt in the project root for license information.
+ * For commercial licenses see https://www.tiny.cloud/
*/
import FlowLayout from './FlowLayout';
diff --git a/tools-ng/tinymce/editor/src/ui/main/ts/TabPanel.ts b/tools-ng/tinymce/src/ui/main/ts/TabPanel.ts
similarity index 94%
rename from tools-ng/tinymce/editor/src/ui/main/ts/TabPanel.ts
rename to tools-ng/tinymce/src/ui/main/ts/TabPanel.ts
index ab74e0cfc..919f5b698 100644
--- a/tools-ng/tinymce/editor/src/ui/main/ts/TabPanel.ts
+++ b/tools-ng/tinymce/src/ui/main/ts/TabPanel.ts
@@ -1,11 +1,8 @@
/**
- * TabPanel.js
- *
- * Released under LGPL License.
- * Copyright (c) 1999-2017 Ephox Corp. All rights reserved
- *
- * License: http://www.tinymce.com/license
- * Contributing: http://www.tinymce.com/contributing
+ * Copyright (c) Tiny Technologies, Inc. All rights reserved.
+ * Licensed under the LGPL or a commercial license.
+ * For LGPL see License.txt in the project root for license information.
+ * For commercial licenses see https://www.tiny.cloud/
*/
import Panel from './Panel';
diff --git a/tools-ng/tinymce/editor/src/ui/main/ts/TextBox.ts b/tools-ng/tinymce/src/ui/main/ts/TextBox.ts
similarity index 95%
rename from tools-ng/tinymce/editor/src/ui/main/ts/TextBox.ts
rename to tools-ng/tinymce/src/ui/main/ts/TextBox.ts
index 5c4822069..150140dde 100644
--- a/tools-ng/tinymce/editor/src/ui/main/ts/TextBox.ts
+++ b/tools-ng/tinymce/src/ui/main/ts/TextBox.ts
@@ -1,11 +1,8 @@
/**
- * TextBox.js
- *
- * Released under LGPL License.
- * Copyright (c) 1999-2017 Ephox Corp. All rights reserved
- *
- * License: http://www.tinymce.com/license
- * Contributing: http://www.tinymce.com/contributing
+ * Copyright (c) Tiny Technologies, Inc. All rights reserved.
+ * Licensed under the LGPL or a commercial license.
+ * For LGPL see License.txt in the project root for license information.
+ * For commercial licenses see https://www.tiny.cloud/
*/
import Tools from 'tinymce/core/api/util/Tools';
diff --git a/tools-ng/tinymce/editor/src/ui/main/ts/Throbber.ts b/tools-ng/tinymce/src/ui/main/ts/Throbber.ts
similarity index 86%
rename from tools-ng/tinymce/editor/src/ui/main/ts/Throbber.ts
rename to tools-ng/tinymce/src/ui/main/ts/Throbber.ts
index 1193356b5..787154410 100644
--- a/tools-ng/tinymce/editor/src/ui/main/ts/Throbber.ts
+++ b/tools-ng/tinymce/src/ui/main/ts/Throbber.ts
@@ -1,11 +1,8 @@
/**
- * Throbber.js
- *
- * Released under LGPL License.
- * Copyright (c) 1999-2017 Ephox Corp. All rights reserved
- *
- * License: http://www.tinymce.com/license
- * Contributing: http://www.tinymce.com/contributing
+ * Copyright (c) Tiny Technologies, Inc. All rights reserved.
+ * Licensed under the LGPL or a commercial license.
+ * For LGPL see License.txt in the project root for license information.
+ * For commercial licenses see https://www.tiny.cloud/
*/
import $ from 'tinymce/core/api/dom/DomQuery';
diff --git a/tools-ng/tinymce/editor/src/ui/main/ts/Toolbar.ts b/tools-ng/tinymce/src/ui/main/ts/Toolbar.ts
similarity index 75%
rename from tools-ng/tinymce/editor/src/ui/main/ts/Toolbar.ts
rename to tools-ng/tinymce/src/ui/main/ts/Toolbar.ts
index 07643372a..496d74abb 100644
--- a/tools-ng/tinymce/editor/src/ui/main/ts/Toolbar.ts
+++ b/tools-ng/tinymce/src/ui/main/ts/Toolbar.ts
@@ -1,11 +1,8 @@
/**
- * Toolbar.js
- *
- * Released under LGPL License.
- * Copyright (c) 1999-2017 Ephox Corp. All rights reserved
- *
- * License: http://www.tinymce.com/license
- * Contributing: http://www.tinymce.com/contributing
+ * Copyright (c) Tiny Technologies, Inc. All rights reserved.
+ * Licensed under the LGPL or a commercial license.
+ * For LGPL see License.txt in the project root for license information.
+ * For commercial licenses see https://www.tiny.cloud/
*/
import Container from './Container';
diff --git a/tools-ng/tinymce/editor/src/ui/main/ts/Tooltip.ts b/tools-ng/tinymce/src/ui/main/ts/Tooltip.ts
similarity index 84%
rename from tools-ng/tinymce/editor/src/ui/main/ts/Tooltip.ts
rename to tools-ng/tinymce/src/ui/main/ts/Tooltip.ts
index 8cc39ed75..ce52b1efd 100644
--- a/tools-ng/tinymce/editor/src/ui/main/ts/Tooltip.ts
+++ b/tools-ng/tinymce/src/ui/main/ts/Tooltip.ts
@@ -1,11 +1,8 @@
/**
- * Tooltip.js
- *
- * Released under LGPL License.
- * Copyright (c) 1999-2017 Ephox Corp. All rights reserved
- *
- * License: http://www.tinymce.com/license
- * Contributing: http://www.tinymce.com/contributing
+ * Copyright (c) Tiny Technologies, Inc. All rights reserved.
+ * Licensed under the LGPL or a commercial license.
+ * For LGPL see License.txt in the project root for license information.
+ * For commercial licenses see https://www.tiny.cloud/
*/
import Control from './Control';
diff --git a/tools-ng/tinymce/editor/src/ui/main/ts/UiContainer.ts b/tools-ng/tinymce/src/ui/main/ts/UiContainer.ts
similarity index 80%
rename from tools-ng/tinymce/editor/src/ui/main/ts/UiContainer.ts
rename to tools-ng/tinymce/src/ui/main/ts/UiContainer.ts
index 6687c37f0..1d4b133a9 100644
--- a/tools-ng/tinymce/editor/src/ui/main/ts/UiContainer.ts
+++ b/tools-ng/tinymce/src/ui/main/ts/UiContainer.ts
@@ -1,11 +1,8 @@
/**
- * UiContainer.js
- *
- * Released under LGPL License.
- * Copyright (c) 1999-2016 Ephox Corp. All rights reserved
- *
- * License: http://www.tinymce.com/license
- * Contributing: http://www.tinymce.com/contributing
+ * Copyright (c) Tiny Technologies, Inc. All rights reserved.
+ * Licensed under the LGPL or a commercial license.
+ * For LGPL see License.txt in the project root for license information.
+ * For commercial licenses see https://www.tiny.cloud/
*/
import { Option } from '@ephox/katamari';
diff --git a/tools-ng/tinymce/editor/src/ui/main/ts/Widget.ts b/tools-ng/tinymce/src/ui/main/ts/Widget.ts
similarity index 93%
rename from tools-ng/tinymce/editor/src/ui/main/ts/Widget.ts
rename to tools-ng/tinymce/src/ui/main/ts/Widget.ts
index 9f0c39312..d6480b381 100644
--- a/tools-ng/tinymce/editor/src/ui/main/ts/Widget.ts
+++ b/tools-ng/tinymce/src/ui/main/ts/Widget.ts
@@ -1,11 +1,8 @@
/**
- * Widget.js
- *
- * Released under LGPL License.
- * Copyright (c) 1999-2017 Ephox Corp. All rights reserved
- *
- * License: http://www.tinymce.com/license
- * Contributing: http://www.tinymce.com/contributing
+ * Copyright (c) Tiny Technologies, Inc. All rights reserved.
+ * Licensed under the LGPL or a commercial license.
+ * For LGPL see License.txt in the project root for license information.
+ * For commercial licenses see https://www.tiny.cloud/
*/
import Control from './Control';
diff --git a/tools-ng/tinymce/editor/src/ui/main/ts/Window.ts b/tools-ng/tinymce/src/ui/main/ts/Window.ts
similarity index 98%
rename from tools-ng/tinymce/editor/src/ui/main/ts/Window.ts
rename to tools-ng/tinymce/src/ui/main/ts/Window.ts
index 0fd6f32a9..cb9b01262 100644
--- a/tools-ng/tinymce/editor/src/ui/main/ts/Window.ts
+++ b/tools-ng/tinymce/src/ui/main/ts/Window.ts
@@ -1,11 +1,8 @@
/**
- * Window.js
- *
- * Released under LGPL License.
- * Copyright (c) 1999-2017 Ephox Corp. All rights reserved
- *
- * License: http://www.tinymce.com/license
- * Contributing: http://www.tinymce.com/contributing
+ * Copyright (c) Tiny Technologies, Inc. All rights reserved.
+ * Licensed under the LGPL or a commercial license.
+ * For LGPL see License.txt in the project root for license information.
+ * For commercial licenses see https://www.tiny.cloud/
*/
import DomQuery from 'tinymce/core/api/dom/DomQuery';
diff --git a/tools-ng/tinymce/editor/src/ui/main/ts/WindowManagerImpl.ts b/tools-ng/tinymce/src/ui/main/ts/WindowManagerImpl.ts
similarity index 91%
rename from tools-ng/tinymce/editor/src/ui/main/ts/WindowManagerImpl.ts
rename to tools-ng/tinymce/src/ui/main/ts/WindowManagerImpl.ts
index 792e31965..e18665846 100644
--- a/tools-ng/tinymce/editor/src/ui/main/ts/WindowManagerImpl.ts
+++ b/tools-ng/tinymce/src/ui/main/ts/WindowManagerImpl.ts
@@ -1,11 +1,8 @@
/**
- * WindowManagerImpl.js
- *
- * Released under LGPL License.
- * Copyright (c) 1999-2017 Ephox Corp. All rights reserved
- *
- * License: http://www.tinymce.com/license
- * Contributing: http://www.tinymce.com/contributing
+ * Copyright (c) Tiny Technologies, Inc. All rights reserved.
+ * Licensed under the LGPL or a commercial license.
+ * For LGPL see License.txt in the project root for license information.
+ * For commercial licenses see https://www.tiny.cloud/
*/
import Window from './Window';
diff --git a/tools-ng/tinymce/editor/src/ui/main/ts/content/LinkTargets.ts b/tools-ng/tinymce/src/ui/main/ts/content/LinkTargets.ts
similarity index 92%
rename from tools-ng/tinymce/editor/src/ui/main/ts/content/LinkTargets.ts
rename to tools-ng/tinymce/src/ui/main/ts/content/LinkTargets.ts
index 5ff359b95..8fb316bb8 100644
--- a/tools-ng/tinymce/editor/src/ui/main/ts/content/LinkTargets.ts
+++ b/tools-ng/tinymce/src/ui/main/ts/content/LinkTargets.ts
@@ -1,18 +1,14 @@
+/**
+ * Copyright (c) Tiny Technologies, Inc. All rights reserved.
+ * Licensed under the LGPL or a commercial license.
+ * For LGPL see License.txt in the project root for license information.
+ * For commercial licenses see https://www.tiny.cloud/
+ */
+
import { Arr, Fun, Id } from '@ephox/katamari';
import { Element, SelectorFilter } from '@ephox/sugar';
-
import Tools from 'tinymce/core/api/util/Tools';
-/**
- * LinkTargets.js
- *
- * Released under LGPL License.
- * Copyright (c) 1999-2017 Ephox Corp. All rights reserved
- *
- * License: http://www.tinymce.com/license
- * Contributing: http://www.tinymce.com/contributing
- */
-
/**
* This module is enables you to get anything that you can link to in a element.
*
diff --git a/tools-ng/tinymce/editor/src/ui/main/ts/data/Binding.ts b/tools-ng/tinymce/src/ui/main/ts/data/Binding.ts
similarity index 86%
rename from tools-ng/tinymce/editor/src/ui/main/ts/data/Binding.ts
rename to tools-ng/tinymce/src/ui/main/ts/data/Binding.ts
index 2adf93b20..0ccf99921 100644
--- a/tools-ng/tinymce/editor/src/ui/main/ts/data/Binding.ts
+++ b/tools-ng/tinymce/src/ui/main/ts/data/Binding.ts
@@ -1,11 +1,8 @@
/**
- * Binding.js
- *
- * Released under LGPL License.
- * Copyright (c) 1999-2017 Ephox Corp. All rights reserved
- *
- * License: http://www.tinymce.com/license
- * Contributing: http://www.tinymce.com/contributing
+ * Copyright (c) Tiny Technologies, Inc. All rights reserved.
+ * Licensed under the LGPL or a commercial license.
+ * For LGPL see License.txt in the project root for license information.
+ * For commercial licenses see https://www.tiny.cloud/
*/
/**
diff --git a/tools-ng/tinymce/editor/src/ui/main/ts/data/ObservableArray.ts b/tools-ng/tinymce/src/ui/main/ts/data/ObservableArray.ts
similarity index 94%
rename from tools-ng/tinymce/editor/src/ui/main/ts/data/ObservableArray.ts
rename to tools-ng/tinymce/src/ui/main/ts/data/ObservableArray.ts
index 4929ab673..0689810e5 100644
--- a/tools-ng/tinymce/editor/src/ui/main/ts/data/ObservableArray.ts
+++ b/tools-ng/tinymce/src/ui/main/ts/data/ObservableArray.ts
@@ -1,11 +1,8 @@
/**
- * ObservableArray.js
- *
- * Released under LGPL License.
- * Copyright (c) 1999-2017 Ephox Corp. All rights reserved
- *
- * License: http://www.tinymce.com/license
- * Contributing: http://www.tinymce.com/contributing
+ * Copyright (c) Tiny Technologies, Inc. All rights reserved.
+ * Licensed under the LGPL or a commercial license.
+ * For LGPL see License.txt in the project root for license information.
+ * For commercial licenses see https://www.tiny.cloud/
*/
import Observable from 'tinymce/core/api/util/Observable';
diff --git a/tools-ng/tinymce/editor/src/ui/main/ts/data/ObservableObject.ts b/tools-ng/tinymce/src/ui/main/ts/data/ObservableObject.ts
similarity index 94%
rename from tools-ng/tinymce/editor/src/ui/main/ts/data/ObservableObject.ts
rename to tools-ng/tinymce/src/ui/main/ts/data/ObservableObject.ts
index d22fb8794..84265cc6a 100644
--- a/tools-ng/tinymce/editor/src/ui/main/ts/data/ObservableObject.ts
+++ b/tools-ng/tinymce/src/ui/main/ts/data/ObservableObject.ts
@@ -1,11 +1,8 @@
/**
- * ObservableObject.js
- *
- * Released under LGPL License.
- * Copyright (c) 1999-2017 Ephox Corp. All rights reserved
- *
- * License: http://www.tinymce.com/license
- * Contributing: http://www.tinymce.com/contributing
+ * Copyright (c) Tiny Technologies, Inc. All rights reserved.
+ * Licensed under the LGPL or a commercial license.
+ * For LGPL see License.txt in the project root for license information.
+ * For commercial licenses see https://www.tiny.cloud/
*/
import Binding from './Binding';
diff --git a/tools-ng/tinymce/editor/src/ui/main/ts/editorui/Align.ts b/tools-ng/tinymce/src/ui/main/ts/editorui/Align.ts
similarity index 88%
rename from tools-ng/tinymce/editor/src/ui/main/ts/editorui/Align.ts
rename to tools-ng/tinymce/src/ui/main/ts/editorui/Align.ts
index 363b212bb..e047015f9 100644
--- a/tools-ng/tinymce/editor/src/ui/main/ts/editorui/Align.ts
+++ b/tools-ng/tinymce/src/ui/main/ts/editorui/Align.ts
@@ -1,11 +1,8 @@
/**
- * Align.js
- *
- * Released under LGPL License.
- * Copyright (c) 1999-2017 Ephox Corp. All rights reserved
- *
- * License: http://www.tinymce.com/license
- * Contributing: http://www.tinymce.com/contributing
+ * Copyright (c) Tiny Technologies, Inc. All rights reserved.
+ * Licensed under the LGPL or a commercial license.
+ * For LGPL see License.txt in the project root for license information.
+ * For commercial licenses see https://www.tiny.cloud/
*/
import Tools from 'tinymce/core/api/util/Tools';
diff --git a/tools-ng/tinymce/editor/src/ui/main/ts/editorui/FontSelect.ts b/tools-ng/tinymce/src/ui/main/ts/editorui/FontSelect.ts
similarity index 92%
rename from tools-ng/tinymce/editor/src/ui/main/ts/editorui/FontSelect.ts
rename to tools-ng/tinymce/src/ui/main/ts/editorui/FontSelect.ts
index e0b57b548..ea8ce4fe4 100644
--- a/tools-ng/tinymce/editor/src/ui/main/ts/editorui/FontSelect.ts
+++ b/tools-ng/tinymce/src/ui/main/ts/editorui/FontSelect.ts
@@ -1,11 +1,8 @@
/**
- * FontSelect.js
- *
- * Released under LGPL License.
- * Copyright (c) 1999-2017 Ephox Corp. All rights reserved
- *
- * License: http://www.tinymce.com/license
- * Contributing: http://www.tinymce.com/contributing
+ * Copyright (c) Tiny Technologies, Inc. All rights reserved.
+ * Licensed under the LGPL or a commercial license.
+ * For LGPL see License.txt in the project root for license information.
+ * For commercial licenses see https://www.tiny.cloud/
*/
import Tools from 'tinymce/core/api/util/Tools';
diff --git a/tools-ng/tinymce/editor/src/ui/main/ts/editorui/FontSizeSelect.ts b/tools-ng/tinymce/src/ui/main/ts/editorui/FontSizeSelect.ts
similarity index 90%
rename from tools-ng/tinymce/editor/src/ui/main/ts/editorui/FontSizeSelect.ts
rename to tools-ng/tinymce/src/ui/main/ts/editorui/FontSizeSelect.ts
index 05a11939d..160e48f4c 100644
--- a/tools-ng/tinymce/editor/src/ui/main/ts/editorui/FontSizeSelect.ts
+++ b/tools-ng/tinymce/src/ui/main/ts/editorui/FontSizeSelect.ts
@@ -1,11 +1,8 @@
/**
- * FontSizeSelect.js
- *
- * Released under LGPL License.
- * Copyright (c) 1999-2017 Ephox Corp. All rights reserved
- *
- * License: http://www.tinymce.com/license
- * Contributing: http://www.tinymce.com/contributing
+ * Copyright (c) Tiny Technologies, Inc. All rights reserved.
+ * Licensed under the LGPL or a commercial license.
+ * For LGPL see License.txt in the project root for license information.
+ * For commercial licenses see https://www.tiny.cloud/
*/
import Tools from 'tinymce/core/api/util/Tools';
diff --git a/tools-ng/tinymce/editor/src/ui/main/ts/editorui/FormatSelect.ts b/tools-ng/tinymce/src/ui/main/ts/editorui/FormatSelect.ts
similarity index 91%
rename from tools-ng/tinymce/editor/src/ui/main/ts/editorui/FormatSelect.ts
rename to tools-ng/tinymce/src/ui/main/ts/editorui/FormatSelect.ts
index 974dbb5df..766cc80b6 100644
--- a/tools-ng/tinymce/editor/src/ui/main/ts/editorui/FormatSelect.ts
+++ b/tools-ng/tinymce/src/ui/main/ts/editorui/FormatSelect.ts
@@ -1,11 +1,8 @@
/**
- * FormatSelect.js
- *
- * Released under LGPL License.
- * Copyright (c) 1999-2017 Ephox Corp. All rights reserved
- *
- * License: http://www.tinymce.com/license
- * Contributing: http://www.tinymce.com/contributing
+ * Copyright (c) Tiny Technologies, Inc. All rights reserved.
+ * Licensed under the LGPL or a commercial license.
+ * For LGPL see License.txt in the project root for license information.
+ * For commercial licenses see https://www.tiny.cloud/
*/
import Tools from 'tinymce/core/api/util/Tools';
diff --git a/tools-ng/tinymce/editor/src/ui/main/ts/editorui/FormatUtils.ts b/tools-ng/tinymce/src/ui/main/ts/editorui/FormatUtils.ts
similarity index 77%
rename from tools-ng/tinymce/editor/src/ui/main/ts/editorui/FormatUtils.ts
rename to tools-ng/tinymce/src/ui/main/ts/editorui/FormatUtils.ts
index 0c300849b..439aa4130 100644
--- a/tools-ng/tinymce/editor/src/ui/main/ts/editorui/FormatUtils.ts
+++ b/tools-ng/tinymce/src/ui/main/ts/editorui/FormatUtils.ts
@@ -1,11 +1,8 @@
/**
- * FormatUtils.js
- *
- * Released under LGPL License.
- * Copyright (c) 1999-2017 Ephox Corp. All rights reserved
- *
- * License: http://www.tinymce.com/license
- * Contributing: http://www.tinymce.com/contributing
+ * Copyright (c) Tiny Technologies, Inc. All rights reserved.
+ * Licensed under the LGPL or a commercial license.
+ * For LGPL see License.txt in the project root for license information.
+ * For commercial licenses see https://www.tiny.cloud/
*/
import { Editor } from 'tinymce/core/api/Editor';
diff --git a/tools-ng/tinymce/editor/src/ui/main/ts/editorui/Formats.ts b/tools-ng/tinymce/src/ui/main/ts/editorui/Formats.ts
similarity index 95%
rename from tools-ng/tinymce/editor/src/ui/main/ts/editorui/Formats.ts
rename to tools-ng/tinymce/src/ui/main/ts/editorui/Formats.ts
index 1a2da7239..c586382d2 100644
--- a/tools-ng/tinymce/editor/src/ui/main/ts/editorui/Formats.ts
+++ b/tools-ng/tinymce/src/ui/main/ts/editorui/Formats.ts
@@ -1,11 +1,8 @@
/**
- * Formats.js
- *
- * Released under LGPL License.
- * Copyright (c) 1999-2017 Ephox Corp. All rights reserved
- *
- * License: http://www.tinymce.com/license
- * Contributing: http://www.tinymce.com/contributing
+ * Copyright (c) Tiny Technologies, Inc. All rights reserved.
+ * Licensed under the LGPL or a commercial license.
+ * For LGPL see License.txt in the project root for license information.
+ * For commercial licenses see https://www.tiny.cloud/
*/
import Tools from 'tinymce/core/api/util/Tools';
diff --git a/tools-ng/tinymce/editor/src/ui/main/ts/editorui/InsertButton.ts b/tools-ng/tinymce/src/ui/main/ts/editorui/InsertButton.ts
similarity index 90%
rename from tools-ng/tinymce/editor/src/ui/main/ts/editorui/InsertButton.ts
rename to tools-ng/tinymce/src/ui/main/ts/editorui/InsertButton.ts
index ba4285ca9..33af97d80 100644
--- a/tools-ng/tinymce/editor/src/ui/main/ts/editorui/InsertButton.ts
+++ b/tools-ng/tinymce/src/ui/main/ts/editorui/InsertButton.ts
@@ -1,11 +1,8 @@
/**
- * InsertButton.js
- *
- * Released under LGPL License.
- * Copyright (c) 1999-2017 Ephox Corp. All rights reserved
- *
- * License: http://www.tinymce.com/license
- * Contributing: http://www.tinymce.com/contributing
+ * Copyright (c) Tiny Technologies, Inc. All rights reserved.
+ * Licensed under the LGPL or a commercial license.
+ * For LGPL see License.txt in the project root for license information.
+ * For commercial licenses see https://www.tiny.cloud/
*/
import { Arr } from '@ephox/katamari';
diff --git a/tools-ng/tinymce/editor/src/ui/main/ts/editorui/SimpleControls.ts b/tools-ng/tinymce/src/ui/main/ts/editorui/SimpleControls.ts
similarity index 92%
rename from tools-ng/tinymce/editor/src/ui/main/ts/editorui/SimpleControls.ts
rename to tools-ng/tinymce/src/ui/main/ts/editorui/SimpleControls.ts
index aa811ae44..38f01d824 100644
--- a/tools-ng/tinymce/editor/src/ui/main/ts/editorui/SimpleControls.ts
+++ b/tools-ng/tinymce/src/ui/main/ts/editorui/SimpleControls.ts
@@ -1,11 +1,8 @@
/**
- * SimpleControls.js
- *
- * Released under LGPL License.
- * Copyright (c) 1999-2017 Ephox Corp. All rights reserved
- *
- * License: http://www.tinymce.com/license
- * Contributing: http://www.tinymce.com/contributing
+ * Copyright (c) Tiny Technologies, Inc. All rights reserved.
+ * Licensed under the LGPL or a commercial license.
+ * For LGPL see License.txt in the project root for license information.
+ * For commercial licenses see https://www.tiny.cloud/
*/
import Tools from 'tinymce/core/api/util/Tools';
diff --git a/tools-ng/tinymce/editor/src/ui/main/ts/editorui/UndoRedo.ts b/tools-ng/tinymce/src/ui/main/ts/editorui/UndoRedo.ts
similarity index 84%
rename from tools-ng/tinymce/editor/src/ui/main/ts/editorui/UndoRedo.ts
rename to tools-ng/tinymce/src/ui/main/ts/editorui/UndoRedo.ts
index 16253e887..795e613a0 100644
--- a/tools-ng/tinymce/editor/src/ui/main/ts/editorui/UndoRedo.ts
+++ b/tools-ng/tinymce/src/ui/main/ts/editorui/UndoRedo.ts
@@ -1,11 +1,8 @@
/**
- * UndoRedo.js
- *
- * Released under LGPL License.
- * Copyright (c) 1999-2017 Ephox Corp. All rights reserved
- *
- * License: http://www.tinymce.com/license
- * Contributing: http://www.tinymce.com/contributing
+ * Copyright (c) Tiny Technologies, Inc. All rights reserved.
+ * Licensed under the LGPL or a commercial license.
+ * For LGPL see License.txt in the project root for license information.
+ * For commercial licenses see https://www.tiny.cloud/
*/
const toggleUndoRedoState = function (editor, type) {
diff --git a/tools-ng/tinymce/editor/src/ui/main/ts/editorui/VisualAid.ts b/tools-ng/tinymce/src/ui/main/ts/editorui/VisualAid.ts
similarity index 69%
rename from tools-ng/tinymce/editor/src/ui/main/ts/editorui/VisualAid.ts
rename to tools-ng/tinymce/src/ui/main/ts/editorui/VisualAid.ts
index e11aa4f58..c5eab8a18 100644
--- a/tools-ng/tinymce/editor/src/ui/main/ts/editorui/VisualAid.ts
+++ b/tools-ng/tinymce/src/ui/main/ts/editorui/VisualAid.ts
@@ -1,11 +1,8 @@
/**
- * VisualAid.js
- *
- * Released under LGPL License.
- * Copyright (c) 1999-2017 Ephox Corp. All rights reserved
- *
- * License: http://www.tinymce.com/license
- * Contributing: http://www.tinymce.com/contributing
+ * Copyright (c) Tiny Technologies, Inc. All rights reserved.
+ * Licensed under the LGPL or a commercial license.
+ * For LGPL see License.txt in the project root for license information.
+ * For commercial licenses see https://www.tiny.cloud/
*/
const toggleVisualAidState = function (editor) {
diff --git a/tools-ng/tinymce/editor/src/ui/test/ts/browser/AbsoluteLayoutTest.ts b/tools-ng/tinymce/src/ui/test/ts/browser/AbsoluteLayoutTest.ts
similarity index 100%
rename from tools-ng/tinymce/editor/src/ui/test/ts/browser/AbsoluteLayoutTest.ts
rename to tools-ng/tinymce/src/ui/test/ts/browser/AbsoluteLayoutTest.ts
diff --git a/tools-ng/tinymce/editor/src/ui/test/ts/browser/BoxUtilsMeasureBoxIframeDisplayNoneTest.ts b/tools-ng/tinymce/src/ui/test/ts/browser/BoxUtilsMeasureBoxIframeDisplayNoneTest.ts
similarity index 100%
rename from tools-ng/tinymce/editor/src/ui/test/ts/browser/BoxUtilsMeasureBoxIframeDisplayNoneTest.ts
rename to tools-ng/tinymce/src/ui/test/ts/browser/BoxUtilsMeasureBoxIframeDisplayNoneTest.ts
diff --git a/tools-ng/tinymce/editor/src/ui/test/ts/browser/ButtonTest.ts b/tools-ng/tinymce/src/ui/test/ts/browser/ButtonTest.ts
similarity index 100%
rename from tools-ng/tinymce/editor/src/ui/test/ts/browser/ButtonTest.ts
rename to tools-ng/tinymce/src/ui/test/ts/browser/ButtonTest.ts
diff --git a/tools-ng/tinymce/editor/src/ui/test/ts/browser/CollectionTest.ts b/tools-ng/tinymce/src/ui/test/ts/browser/CollectionTest.ts
similarity index 100%
rename from tools-ng/tinymce/editor/src/ui/test/ts/browser/CollectionTest.ts
rename to tools-ng/tinymce/src/ui/test/ts/browser/CollectionTest.ts
diff --git a/tools-ng/tinymce/editor/src/ui/test/ts/browser/ColorButtonTest.ts b/tools-ng/tinymce/src/ui/test/ts/browser/ColorButtonTest.ts
similarity index 100%
rename from tools-ng/tinymce/editor/src/ui/test/ts/browser/ColorButtonTest.ts
rename to tools-ng/tinymce/src/ui/test/ts/browser/ColorButtonTest.ts
diff --git a/tools-ng/tinymce/editor/src/ui/test/ts/browser/ControlTest.ts b/tools-ng/tinymce/src/ui/test/ts/browser/ControlTest.ts
similarity index 98%
rename from tools-ng/tinymce/editor/src/ui/test/ts/browser/ControlTest.ts
rename to tools-ng/tinymce/src/ui/test/ts/browser/ControlTest.ts
index 9d46e435e..6dac1c957 100644
--- a/tools-ng/tinymce/editor/src/ui/test/ts/browser/ControlTest.ts
+++ b/tools-ng/tinymce/src/ui/test/ts/browser/ControlTest.ts
@@ -14,6 +14,10 @@ UnitTest.asynctest('browser.tinymce.ui.ControlTest', function () {
const suite = LegacyUnit.createSuite();
const viewBlock = ViewBlock();
+ Control.translate = function (text) {
+ return EditorManager.translate(text);
+ };
+
// Registers ui widgets to factory
Api.registerToFactory();
diff --git a/tools-ng/tinymce/editor/src/ui/test/ts/browser/FilePickerTest.ts b/tools-ng/tinymce/src/ui/test/ts/browser/FilePickerTest.ts
similarity index 100%
rename from tools-ng/tinymce/editor/src/ui/test/ts/browser/FilePickerTest.ts
rename to tools-ng/tinymce/src/ui/test/ts/browser/FilePickerTest.ts
diff --git a/tools-ng/tinymce/editor/src/ui/test/ts/browser/FitLayoutTest.ts b/tools-ng/tinymce/src/ui/test/ts/browser/FitLayoutTest.ts
similarity index 100%
rename from tools-ng/tinymce/editor/src/ui/test/ts/browser/FitLayoutTest.ts
rename to tools-ng/tinymce/src/ui/test/ts/browser/FitLayoutTest.ts
diff --git a/tools-ng/tinymce/editor/src/ui/test/ts/browser/FlexLayoutTest.ts b/tools-ng/tinymce/src/ui/test/ts/browser/FlexLayoutTest.ts
similarity index 100%
rename from tools-ng/tinymce/editor/src/ui/test/ts/browser/FlexLayoutTest.ts
rename to tools-ng/tinymce/src/ui/test/ts/browser/FlexLayoutTest.ts
diff --git a/tools-ng/tinymce/editor/src/ui/test/ts/browser/GridLayoutTest.ts b/tools-ng/tinymce/src/ui/test/ts/browser/GridLayoutTest.ts
similarity index 100%
rename from tools-ng/tinymce/editor/src/ui/test/ts/browser/GridLayoutTest.ts
rename to tools-ng/tinymce/src/ui/test/ts/browser/GridLayoutTest.ts
diff --git a/tools-ng/tinymce/editor/src/ui/test/ts/browser/ListBoxTest.ts b/tools-ng/tinymce/src/ui/test/ts/browser/ListBoxTest.ts
similarity index 100%
rename from tools-ng/tinymce/editor/src/ui/test/ts/browser/ListBoxTest.ts
rename to tools-ng/tinymce/src/ui/test/ts/browser/ListBoxTest.ts
diff --git a/tools-ng/tinymce/editor/src/ui/test/ts/browser/MenuButtonTest.ts b/tools-ng/tinymce/src/ui/test/ts/browser/MenuButtonTest.ts
similarity index 100%
rename from tools-ng/tinymce/editor/src/ui/test/ts/browser/MenuButtonTest.ts
rename to tools-ng/tinymce/src/ui/test/ts/browser/MenuButtonTest.ts
diff --git a/tools-ng/tinymce/editor/src/ui/test/ts/browser/PanelTest.ts b/tools-ng/tinymce/src/ui/test/ts/browser/PanelTest.ts
similarity index 100%
rename from tools-ng/tinymce/editor/src/ui/test/ts/browser/PanelTest.ts
rename to tools-ng/tinymce/src/ui/test/ts/browser/PanelTest.ts
diff --git a/tools-ng/tinymce/editor/src/ui/test/ts/browser/SelectorTest.ts b/tools-ng/tinymce/src/ui/test/ts/browser/SelectorTest.ts
similarity index 100%
rename from tools-ng/tinymce/editor/src/ui/test/ts/browser/SelectorTest.ts
rename to tools-ng/tinymce/src/ui/test/ts/browser/SelectorTest.ts
diff --git a/tools-ng/tinymce/editor/src/ui/test/ts/browser/SplitButtonTest.ts b/tools-ng/tinymce/src/ui/test/ts/browser/SplitButtonTest.ts
similarity index 100%
rename from tools-ng/tinymce/editor/src/ui/test/ts/browser/SplitButtonTest.ts
rename to tools-ng/tinymce/src/ui/test/ts/browser/SplitButtonTest.ts
diff --git a/tools-ng/tinymce/editor/src/ui/test/ts/browser/TabPanelTest.ts b/tools-ng/tinymce/src/ui/test/ts/browser/TabPanelTest.ts
similarity index 100%
rename from tools-ng/tinymce/editor/src/ui/test/ts/browser/TabPanelTest.ts
rename to tools-ng/tinymce/src/ui/test/ts/browser/TabPanelTest.ts
diff --git a/tools-ng/tinymce/editor/src/ui/test/ts/browser/TextBoxTest.ts b/tools-ng/tinymce/src/ui/test/ts/browser/TextBoxTest.ts
similarity index 100%
rename from tools-ng/tinymce/editor/src/ui/test/ts/browser/TextBoxTest.ts
rename to tools-ng/tinymce/src/ui/test/ts/browser/TextBoxTest.ts
diff --git a/tools-ng/tinymce/editor/src/ui/test/ts/browser/WindowTest.ts b/tools-ng/tinymce/src/ui/test/ts/browser/WindowTest.ts
similarity index 100%
rename from tools-ng/tinymce/editor/src/ui/test/ts/browser/WindowTest.ts
rename to tools-ng/tinymce/src/ui/test/ts/browser/WindowTest.ts
diff --git a/tools-ng/tinymce/editor/src/ui/test/ts/browser/content/LinkTargetsTest.ts b/tools-ng/tinymce/src/ui/test/ts/browser/content/LinkTargetsTest.ts
similarity index 100%
rename from tools-ng/tinymce/editor/src/ui/test/ts/browser/content/LinkTargetsTest.ts
rename to tools-ng/tinymce/src/ui/test/ts/browser/content/LinkTargetsTest.ts
diff --git a/tools-ng/tinymce/editor/src/ui/test/ts/browser/data/ObservableObjectTest.ts b/tools-ng/tinymce/src/ui/test/ts/browser/data/ObservableObjectTest.ts
similarity index 100%
rename from tools-ng/tinymce/editor/src/ui/test/ts/browser/data/ObservableObjectTest.ts
rename to tools-ng/tinymce/src/ui/test/ts/browser/data/ObservableObjectTest.ts
diff --git a/tools-ng/tinymce/editor/src/ui/test/ts/module/test/UiUtils.ts b/tools-ng/tinymce/src/ui/test/ts/module/test/UiUtils.ts
similarity index 100%
rename from tools-ng/tinymce/editor/src/ui/test/ts/module/test/UiUtils.ts
rename to tools-ng/tinymce/src/ui/test/ts/module/test/UiUtils.ts
diff --git a/tools-ng/tinymce/editor/src/ui/test/ts/module/test/ViewBlock.ts b/tools-ng/tinymce/src/ui/test/ts/module/test/ViewBlock.ts
similarity index 100%
rename from tools-ng/tinymce/editor/src/ui/test/ts/module/test/ViewBlock.ts
rename to tools-ng/tinymce/src/ui/test/ts/module/test/ViewBlock.ts
diff --git a/tools-ng/tinymce/tinymce.sh b/tools-ng/tinymce/tinymce.sh
new file mode 100755
index 000000000..cd7da1cf3
--- /dev/null
+++ b/tools-ng/tinymce/tinymce.sh
@@ -0,0 +1,36 @@
+#!/bin/bash
+
+SCRIPTPATH="$( cd "$(dirname "$0")" ; pwd -P )"
+
+CORE_PATH="../../ccm-core/web/assets/tinymce/js/tinymce/plugins"
+RUNTIME_PATH="../../runtime/apache-tomcat-8.5.15/webapps/ROOT/assets/tinymce/js/tinymce/plugins"
+
+cd $SCRIPTPATH
+
+if [[ $# -eq 0 ]]; then
+ npm install
+ grunt
+elif [[ $1 == "build" ]]; then
+ grunt
+elif [[ $1 == "setup" ]]; then
+ npm install
+elif [[ $1 == "plugin" ]]; then
+ grunt validateVersion
+ grunt shell:tsc
+ grunt tslint
+ grunt globals
+ grunt rollup:$2-plugin
+ grunt uglify:$2-plugin
+ grunt copy:plugins
+
+ cp -rv $SCRIPTPATH/js/tinymce/plugins/$1 $CORE_PATH
+elif [[ $1 == "test" ]]; then
+ grunt validateVersion
+ grunt shell:tsc
+ grunt globals
+ grunt rollup:$2-plugin
+ grunt uglify:$2-plugin
+ grunt copy:plugins
+
+ cp -rv $SCRIPTPATH/js/tinymce/plugins/$1 $RUNTIME_PATH
+fi
\ No newline at end of file
diff --git a/tools-ng/tinymce/editor/tools/docs/tinymce.CommandEvent.js b/tools-ng/tinymce/tools/docs/tinymce.CommandEvent.js
similarity index 100%
rename from tools-ng/tinymce/editor/tools/docs/tinymce.CommandEvent.js
rename to tools-ng/tinymce/tools/docs/tinymce.CommandEvent.js
diff --git a/tools-ng/tinymce/editor/tools/docs/tinymce.ContentEvent.js b/tools-ng/tinymce/tools/docs/tinymce.ContentEvent.js
similarity index 100%
rename from tools-ng/tinymce/editor/tools/docs/tinymce.ContentEvent.js
rename to tools-ng/tinymce/tools/docs/tinymce.ContentEvent.js
diff --git a/tools-ng/tinymce/editor/tools/docs/tinymce.Editor.js b/tools-ng/tinymce/tools/docs/tinymce.Editor.js
similarity index 100%
rename from tools-ng/tinymce/editor/tools/docs/tinymce.Editor.js
rename to tools-ng/tinymce/tools/docs/tinymce.Editor.js
diff --git a/tools-ng/tinymce/editor/tools/docs/tinymce.Event.js b/tools-ng/tinymce/tools/docs/tinymce.Event.js
similarity index 100%
rename from tools-ng/tinymce/editor/tools/docs/tinymce.Event.js
rename to tools-ng/tinymce/tools/docs/tinymce.Event.js
diff --git a/tools-ng/tinymce/editor/tools/docs/tinymce.FocusEvent.js b/tools-ng/tinymce/tools/docs/tinymce.FocusEvent.js
similarity index 100%
rename from tools-ng/tinymce/editor/tools/docs/tinymce.FocusEvent.js
rename to tools-ng/tinymce/tools/docs/tinymce.FocusEvent.js
diff --git a/tools-ng/tinymce/editor/tools/docs/tinymce.ProgressStateEvent.js b/tools-ng/tinymce/tools/docs/tinymce.ProgressStateEvent.js
similarity index 100%
rename from tools-ng/tinymce/editor/tools/docs/tinymce.ProgressStateEvent.js
rename to tools-ng/tinymce/tools/docs/tinymce.ProgressStateEvent.js
diff --git a/tools-ng/tinymce/editor/tools/docs/tinymce.ResizeEvent.js b/tools-ng/tinymce/tools/docs/tinymce.ResizeEvent.js
similarity index 100%
rename from tools-ng/tinymce/editor/tools/docs/tinymce.ResizeEvent.js
rename to tools-ng/tinymce/tools/docs/tinymce.ResizeEvent.js
diff --git a/tools-ng/tinymce/editor/tools/docs/tinymce.js b/tools-ng/tinymce/tools/docs/tinymce.js
similarity index 100%
rename from tools-ng/tinymce/editor/tools/docs/tinymce.js
rename to tools-ng/tinymce/tools/docs/tinymce.js
diff --git a/tools-ng/tinymce/editor/tools/modules/grunt-utils.js b/tools-ng/tinymce/tools/modules/grunt-utils.js
similarity index 100%
rename from tools-ng/tinymce/editor/tools/modules/grunt-utils.js
rename to tools-ng/tinymce/tools/modules/grunt-utils.js
diff --git a/tools-ng/tinymce/editor/tools/modules/grunt-webpack.js b/tools-ng/tinymce/tools/modules/grunt-webpack.js
similarity index 85%
rename from tools-ng/tinymce/editor/tools/modules/grunt-webpack.js
rename to tools-ng/tinymce/tools/modules/grunt-webpack.js
index 73867ab8d..0b19793c7 100644
--- a/tools-ng/tinymce/editor/tools/modules/grunt-webpack.js
+++ b/tools-ng/tinymce/tools/modules/grunt-webpack.js
@@ -1,9 +1,9 @@
-// @ts-check
-
let { TsConfigPathsPlugin } = require('awesome-typescript-loader');
let LiveReloadPlugin = require('webpack-livereload-plugin');
let path = require('path');
+const packageData = require("../../package.json");
+
let create = (entries, tsConfig, outDir, filename) => {
return {
entry: entries,
@@ -38,6 +38,26 @@ let create = (entries, tsConfig, outDir, filename) => {
{
test: /\.ts$/,
use: [
+ {
+ loader: 'string-replace-loader',
+ options: {
+ test: /EditorManager.ts/,
+ multiple: [
+ {
+ search: '@@majorVersion@@',
+ replace: packageData.version.split('.')[0],
+ },
+ {
+ search: '@@minorVersion@@',
+ replace: packageData.version.split('.').slice(1).join('.'),
+ },
+ {
+ search: '@@releaseDate@@',
+ replace: packageData.date,
+ }
+ ]
+ }
+ },
{
loader: 'ts-loader',
options: {
diff --git a/tools-ng/tinymce/editor/tools/modules/zip-helper.js b/tools-ng/tinymce/tools/modules/zip-helper.js
similarity index 100%
rename from tools-ng/tinymce/editor/tools/modules/zip-helper.js
rename to tools-ng/tinymce/tools/modules/zip-helper.js
diff --git a/tools-ng/tinymce/editor/tools/tasks/bundle.js b/tools-ng/tinymce/tools/tasks/bundle.js
similarity index 100%
rename from tools-ng/tinymce/editor/tools/tasks/bundle.js
rename to tools-ng/tinymce/tools/tasks/bundle.js
diff --git a/tools-ng/tinymce/editor/tools/tasks/globals.js b/tools-ng/tinymce/tools/tasks/globals.js
similarity index 100%
rename from tools-ng/tinymce/editor/tools/tasks/globals.js
rename to tools-ng/tinymce/tools/tasks/globals.js
diff --git a/tools-ng/tinymce/editor/tools/tasks/moxiezip.js b/tools-ng/tinymce/tools/tasks/moxiezip.js
similarity index 100%
rename from tools-ng/tinymce/editor/tools/tasks/moxiezip.js
rename to tools-ng/tinymce/tools/tasks/moxiezip.js
diff --git a/tools-ng/tinymce/editor/tools/tasks/validateVersion.js b/tools-ng/tinymce/tools/tasks/validateVersion.js
similarity index 100%
rename from tools-ng/tinymce/editor/tools/tasks/validateVersion.js
rename to tools-ng/tinymce/tools/tasks/validateVersion.js
diff --git a/tools-ng/tinymce/editor/tsconfig.json b/tools-ng/tinymce/tsconfig.json
similarity index 97%
rename from tools-ng/tinymce/editor/tsconfig.json
rename to tools-ng/tinymce/tsconfig.json
index 80e266a45..2e62df755 100644
--- a/tools-ng/tinymce/editor/tsconfig.json
+++ b/tools-ng/tinymce/tsconfig.json
@@ -4,6 +4,7 @@
"target": "es5",
"noUnusedLocals": true,
"module": "es2015",
+ "importHelpers": true,
"lib": ["es2015"],
"declaration": true,
"sourceMap": true,
@@ -78,6 +79,6 @@
"src/themes/*/test/ts",
"src/core/dist/globals/tinymce/core/",
"src/core/dist/globals/**/*.ts",
- "node_modules/@ephox/**/*/api/Main.d.ts", "../ccm-cms/web/assets/tinymce/tinymce_cms_config.js"
+ "node_modules/@ephox/**/*/api/Main.d.ts"
]
}
diff --git a/tools-ng/tinymce/editor/tsconfig.plugin.json b/tools-ng/tinymce/tsconfig.plugin.json
similarity index 99%
rename from tools-ng/tinymce/editor/tsconfig.plugin.json
rename to tools-ng/tinymce/tsconfig.plugin.json
index 1b724413e..4a9a97791 100644
--- a/tools-ng/tinymce/editor/tsconfig.plugin.json
+++ b/tools-ng/tinymce/tsconfig.plugin.json
@@ -3,6 +3,7 @@
"moduleResolution": "node",
"target": "es5",
"module": "es2015",
+ "importHelpers": true,
"lib": ["es2015", "dom"],
"declaration": true,
"sourceMap": true,
diff --git a/tools-ng/tinymce/editor/tsconfig.theme.json b/tools-ng/tinymce/tsconfig.theme.json
similarity index 99%
rename from tools-ng/tinymce/editor/tsconfig.theme.json
rename to tools-ng/tinymce/tsconfig.theme.json
index 1b724413e..4a9a97791 100644
--- a/tools-ng/tinymce/editor/tsconfig.theme.json
+++ b/tools-ng/tinymce/tsconfig.theme.json
@@ -3,6 +3,7 @@
"moduleResolution": "node",
"target": "es5",
"module": "es2015",
+ "importHelpers": true,
"lib": ["es2015", "dom"],
"declaration": true,
"sourceMap": true,
diff --git a/tools-ng/tinymce/editor/tslint.json b/tools-ng/tinymce/tslint.json
similarity index 100%
rename from tools-ng/tinymce/editor/tslint.json
rename to tools-ng/tinymce/tslint.json