Sha256: 674e24d91167e4cbb843a2d3e2120d6a6b46e2619c2290b0664d2cd9fc92736e

Contents?: true

Size: 1.31 KB

Versions: 82

Compression:

Stored size: 1.31 KB

Contents

/**
 * 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
 */

define('tinymce/inlite/core/SelectionMatcher', [
	'tinymce/inlite/core/Matcher',
	'tinymce/inlite/core/Measure'
], function (Matcher, Measure) {
	// textSelection :: String -> (Editor -> Matcher.result | Null)
	var textSelection = function (id) {
		return function (editor) {
			if (!editor.selection.isCollapsed()) {
				return Matcher.result(id, Measure.getSelectionRect(editor));
			}

			return null;
		};
	};

	// emptyTextBlock :: [Elements], String -> (Editor -> Matcher.result | Null)
	var emptyTextBlock = function (elements, id) {
		return function (editor) {
			var i, textBlockElementsMap = editor.schema.getTextBlockElements();

			for (i = 0; i < elements.length; i++) {
				if (elements[i].nodeName === 'TABLE') {
					return null;
				}
			}

			for (i = 0; i < elements.length; i++) {
				if (elements[i].nodeName in textBlockElementsMap) {
					if (editor.dom.isEmpty(elements[i])) {
						return Matcher.result(id, Measure.getSelectionRect(editor));
					}

					return null;
				}
			}

			return null;
		};
	};

	return {
		textSelection: textSelection,
		emptyTextBlock: emptyTextBlock
	};
});

Version data entries

82 entries across 41 versions & 2 rubygems

Version Path
wbase-0.3.20 lib/vendor/admin/tinymce/themes/inlite/src/test/js/browser/file/SelectionMatcher.js
wbase-0.3.20 lib/vendor/admin/tinymce/themes/inlite/src/main/js/tinymce/inlite/core/SelectionMatcher.js
wbase-0.3.19 lib/vendor/admin/tinymce/themes/inlite/src/main/js/tinymce/inlite/core/SelectionMatcher.js
wbase-0.3.19 lib/vendor/admin/tinymce/themes/inlite/src/test/js/browser/file/SelectionMatcher.js
wbase-0.3.18 lib/vendor/admin/tinymce/themes/inlite/src/test/js/browser/file/SelectionMatcher.js
wbase-0.3.18 lib/vendor/admin/tinymce/themes/inlite/src/main/js/tinymce/inlite/core/SelectionMatcher.js
wbase-0.3.17 lib/vendor/admin/tinymce/themes/inlite/src/test/js/browser/file/SelectionMatcher.js
wbase-0.3.17 lib/vendor/admin/tinymce/themes/inlite/src/main/js/tinymce/inlite/core/SelectionMatcher.js
wbase-0.3.16 lib/vendor/admin/tinymce/themes/inlite/src/test/js/browser/file/SelectionMatcher.js
wbase-0.3.16 lib/vendor/admin/tinymce/themes/inlite/src/main/js/tinymce/inlite/core/SelectionMatcher.js
wbase-0.3.15 lib/vendor/admin/tinymce/themes/inlite/src/main/js/tinymce/inlite/core/SelectionMatcher.js
wbase-0.3.15 lib/vendor/admin/tinymce/themes/inlite/src/test/js/browser/file/SelectionMatcher.js
wbase-0.3.14 lib/vendor/admin/tinymce/themes/inlite/src/main/js/tinymce/inlite/core/SelectionMatcher.js
wbase-0.3.14 lib/vendor/admin/tinymce/themes/inlite/src/test/js/browser/file/SelectionMatcher.js
wbase-0.3.13 lib/vendor/admin/tinymce/themes/inlite/src/main/js/tinymce/inlite/core/SelectionMatcher.js
wbase-0.3.13 lib/vendor/admin/tinymce/themes/inlite/src/test/js/browser/file/SelectionMatcher.js
wbase-0.3.12 lib/vendor/admin/tinymce/themes/inlite/src/test/js/browser/file/SelectionMatcher.js
wbase-0.3.12 lib/vendor/admin/tinymce/themes/inlite/src/main/js/tinymce/inlite/core/SelectionMatcher.js
wbase-0.3.11 lib/vendor/admin/tinymce/themes/inlite/src/main/js/tinymce/inlite/core/SelectionMatcher.js
wbase-0.3.11 lib/vendor/admin/tinymce/themes/inlite/src/test/js/browser/file/SelectionMatcher.js