Sha256: 3e5aa215a7ed8cc442f8fd473c4fcdd59e2f91e06c782f55ab6f4297075e7cc0

Contents?: true

Size: 1.21 KB

Versions: 41

Compression:

Stored size: 1.21 KB

Contents

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

define('tinymce/inlite/core/ElementMatcher', [
	'tinymce/inlite/core/Matcher',
	'tinymce/inlite/core/Measure'
], function (Matcher, Measure) {
	// element :: Element, [PredicateId] -> (Editor -> Matcher.result | Null)
	var element = function (element, predicateIds) {
		return function (editor) {
			for (var i = 0; i < predicateIds.length; i++) {
				if (predicateIds[i].predicate(element)) {
					return Matcher.result(predicateIds[i].id, Measure.getElementRect(editor, element));
				}
			}

			return null;
		};
	};

	// parent :: [Elements], [PredicateId] -> (Editor -> Matcher.result | Null)
	var parent = function (elements, predicateIds) {
		return function (editor) {
			for (var i = 0; i < elements.length; i++) {
				for (var x = 0; x < predicateIds.length; x++) {
					if (predicateIds[x].predicate(elements[i])) {
						return Matcher.result(predicateIds[x].id, Measure.getElementRect(editor, elements[i]));
					}
				}
			}

			return null;
		};
	};

	return {
		element: element,
		parent: parent
	};
});

Version data entries

41 entries across 41 versions & 2 rubygems

Version Path
wbase-0.3.20 lib/vendor/admin/tinymce/themes/inlite/src/main/js/tinymce/inlite/core/ElementMatcher.js
wbase-0.3.19 lib/vendor/admin/tinymce/themes/inlite/src/main/js/tinymce/inlite/core/ElementMatcher.js
wbase-0.3.18 lib/vendor/admin/tinymce/themes/inlite/src/main/js/tinymce/inlite/core/ElementMatcher.js
wbase-0.3.17 lib/vendor/admin/tinymce/themes/inlite/src/main/js/tinymce/inlite/core/ElementMatcher.js
wbase-0.3.16 lib/vendor/admin/tinymce/themes/inlite/src/main/js/tinymce/inlite/core/ElementMatcher.js
wbase-0.3.15 lib/vendor/admin/tinymce/themes/inlite/src/main/js/tinymce/inlite/core/ElementMatcher.js
wbase-0.3.14 lib/vendor/admin/tinymce/themes/inlite/src/main/js/tinymce/inlite/core/ElementMatcher.js
wbase-0.3.13 lib/vendor/admin/tinymce/themes/inlite/src/main/js/tinymce/inlite/core/ElementMatcher.js
wbase-0.3.12 lib/vendor/admin/tinymce/themes/inlite/src/main/js/tinymce/inlite/core/ElementMatcher.js
wbase-0.3.11 lib/vendor/admin/tinymce/themes/inlite/src/main/js/tinymce/inlite/core/ElementMatcher.js
wbase-0.3.10 lib/vendor/admin/tinymce/themes/inlite/src/main/js/tinymce/inlite/core/ElementMatcher.js
wbase-0.3.9 lib/vendor/admin/tinymce/themes/inlite/src/main/js/tinymce/inlite/core/ElementMatcher.js
wbase-0.3.8 lib/vendor/admin/tinymce/themes/inlite/src/main/js/tinymce/inlite/core/ElementMatcher.js
wbase-0.3.7 lib/vendor/admin/tinymce/themes/inlite/src/main/js/tinymce/inlite/core/ElementMatcher.js
wbase-0.3.6 lib/vendor/admin/tinymce/themes/inlite/src/main/js/tinymce/inlite/core/ElementMatcher.js
wbase-0.3.5 lib/vendor/admin/tinymce/themes/inlite/src/main/js/tinymce/inlite/core/ElementMatcher.js
wbase-0.3.4 lib/vendor/admin/tinymce/themes/inlite/src/main/js/tinymce/inlite/core/ElementMatcher.js
wbase-0.3.3 lib/vendor/admin/tinymce/themes/inlite/src/main/js/tinymce/inlite/core/ElementMatcher.js
wbase-0.3.2 lib/vendor/admin/tinymce/themes/inlite/src/main/js/tinymce/inlite/core/ElementMatcher.js
wbase-0.3.1 lib/vendor/admin/tinymce/themes/inlite/src/main/js/tinymce/inlite/core/ElementMatcher.js