summaryrefslogtreecommitdiff
path: root/samples/old/sample.js
blob: 6ea2cf642132b9d8af2e43dc143d14cec71a4048 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
/**
 * Copyright (c) 2003-2019, CKSource - Frederico Knabben. All rights reserved.
 * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license
 */

// Tool scripts for the sample pages.
// This file can be ignored and is not required to make use of CKEditor.

(function() {
	CKEDITOR.on('instanceReady', function(ev) {
		// Check for sample compliance.
		var editor = ev.editor,
			meta = CKEDITOR.document.$.getElementsByName('ckeditor-sample-required-plugins'),
			requires = meta.length ? CKEDITOR.dom.element.get(meta[0]).getAttribute('content').split(',') : [],
			missing = [],
			i;

		if (requires.length) {
			for (i = 0; i < requires.length; i++) {
				if (!editor.plugins[requires[i]])
					missing.push('<code>' + requires[i] + '</code>');
			}

			if (missing.length) {
				var warn = CKEDITOR.dom.element.createFromHtml(
					'<div class="warning">' +
					'<span>To fully experience this demo, the ' + missing.join(', ') + ' plugin' + (missing.length > 1 ? 's are' : ' is') + ' required.</span>' +
					'</div>'
				);
				warn.insertBefore(editor.container);
			}
		}

		// Set icons.
		var doc = new CKEDITOR.dom.document(document),
			icons = doc.find('.button_icon');

		for (i = 0; i < icons.count(); i++) {
			var icon = icons.getItem(i),
				name = icon.getAttribute('data-icon'),
				style = CKEDITOR.skin.getIconStyle(name, (CKEDITOR.lang.dir == 'rtl'));

			icon.addClass('cke_button_icon');
			icon.addClass('cke_button__' + name + '_icon');
			icon.setAttribute('style', style);
			icon.setStyle('float', 'none');

		}
	});
})();