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 c

') - ])), - Logger.t('Press space at beginning of inline boundary inserting space', GeneralSteps.sequence([ - tinyApis.sFocus, - tinyApis.sSetContent('

abc

'), - 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 bc

') - ])), - Logger.t('Press space at end of inline boundary inserting space', GeneralSteps.sequence([ - tinyApis.sFocus, - tinyApis.sSetContent('

abc

'), - 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 bc

'), - 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  bc

') - ])), - 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('

') - ])) - ])), - 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('

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('

ac

'), - tinyApis.sSetCursor([0, 2], 0), - tinyActions.sContentKeystroke(Keys.space(), {}), - tinyApis.sAssertSelection([0, 2], 1, [0, 2], 1), - tinyApis.sAssertContent('

a 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 -
    | -
  1. a
  2. | Entry { depth: 1, content: [a], listType: ListType.OL, ... } -
  3. b | Entry { depth: 1, content: [b], listType: ListType.OL, ... } -
      | -
    • c
    • | Entry { depth: 2, content: [c], listType: ListType.UL, ... } -
    | -
  4. | -
| -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('

abc

'); 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), '

abc

'); }); + 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), '

abc

'); + }); + + suite.test('Remove format of nested elements at end with text after ', function (editor) { + editor.setContent('

abcd

'); + editor.formatter.register('format', { inline: 'b' }); + LegacyUnit.setSelection(editor, 'i', 0, 'i', 2); + editor.formatter.remove('format'); + LegacyUnit.equal(editor.getContent(editor), '

abcd

'); + }); + 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('ab'); - 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('a c'), + tinyApis.sSetCursor([2], 2), + sFireInsert(editor), + tinyApis.sAssertSelection([2], 2, [2], 2), + tinyApis.sAssertContent('a 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  bc'), + tinyApis.sSetCursor([0], 0), + sFireInsert(editor), + tinyApis.sAssertSelection([0], 0, [0], 0), + tinyApis.sAssertContent('a  bc') + ])), + Logger.t('Insert in text in node with trailing nbsp before inline', GeneralSteps.sequence([ + tinyApis.sFocus, + tinyApis.sSetRawContent('a bc'), + tinyApis.sSetCursor([0], 0), + sFireInsert(editor), + tinyApis.sAssertSelection([0], 0, [0], 0), + tinyApis.sAssertContent('a bc') + ])), + Logger.t('Insert in text in node with trailing nbsp before inline with leading nbsp', GeneralSteps.sequence([ + tinyApis.sFocus, + tinyApis.sSetRawContent('a  bc'), + tinyApis.sSetCursor([0], 0), + sFireInsert(editor), + tinyApis.sAssertSelection([0], 0, [0], 0), + tinyApis.sAssertContent('a  bc') + ])), + 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 c

') + ])), + Logger.t('Press space at beginning of inline boundary inserting space', GeneralSteps.sequence([ + tinyApis.sFocus, + tinyApis.sSetContent('

abc

'), + 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 bc

') + ])), + Logger.t('Press space at end of inline boundary inserting space', GeneralSteps.sequence([ + tinyApis.sFocus, + tinyApis.sSetContent('

abc

'), + 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 bc

'), + 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  bc

') + ])), + 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('

abc

') + ])), + 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('

abc 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('

ab
c

') ])) + ])), + 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 = + '' +
+            alternate +
+            ''; + + 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 +
    | +
  1. a
  2. | Entry { depth: 1, content: [a], listType: ListType.OL, ... } +
  3. b | Entry { depth: 1, content: [b], listType: ListType.OL, ... } +
      | +
    • c
    • | Entry { depth: 2, content: [c], listType: ListType.UL, ... } +
    | +
  4. | +
| +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' + + '
      ' + + '
    • b
    • ' + + '
    ' + + '
  • ' + + '
' + ); + + editor.focus(); + LegacyUnit.setSelection(editor, 'ul ul li', 0); + LegacyUnit.execCommand(editor, 'Outdent'); + + LegacyUnit.equal(editor.getContent(), + '
    ' + + '
  • a
  • ' + + '
  • b
  • ' + + '
' + ); + }); + 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, + '' + + '' + + '' + + '' + + '' + + '' + + '' + + '
ab
', + [0, 0, 0, 1, 0], 0, [0, 0, 0, 1, 0], 0), + sAssertClipboardData( + '\n' + + '\n' + + '\n' + + '\n' + + '\n' + + '\n' + + '\n' + + '
ab
', '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( + '' + + '' + + '' + + '' + + '' + + '' + + '' + + '
ab
' + ); + + 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