web/assets/libs/ckeditor/4.6.7/plugins/questionblank/plugin.js

(开头部分) 1KB

这里只显示每个文件的开头 60 行。登录后可以解锁完整代码。

'use strict';

( function() {
	CKEDITOR.plugins.add( 'questionblank', {
		requires: 'widget,dialog',
		lang: 'en,zh,ug,zh-cn', // %REMOVE_LINE_CORE%
		icons: 'questionblank', // %REMOVE_LINE_CORE%
		hidpi: true, // %REMOVE_LINE_CORE%

		onLoad: function() {
			// Register styles for questionblank widget frame.
			CKEDITOR.addCss( '.cke_questionblank{background-color:#eee}' );
		},

		init: function( editor ) {

			var lang = editor.lang.questionblank;

			CKEDITOR.dialog.add( 'questionblank', this.path + 'dialogs/questionblank.js' );

			editor.widgets.add( 'questionblank', {
				dialog: 'questionblank',
				pathName: lang.pathName,
				template: '<span class="cke_questionblank">[[]]</span>',

				downcast: function() {
					return new CKEDITOR.htmlParser.text( '[[' + this.data.name + ']]' );
				},

				init: function() {
					this.setData( 'name', this.element.getText().slice( 2, -2 ) );
				},

				data: function( data ) {
					this.element.setText( '[[' + this.data.name + ']]' );
				}
			} );

			editor.ui.addButton && editor.ui.addButton( 'QuestionBlank', {
				label: lang.toolbar,
				command: 'questionblank',
				toolbar: 'insert,5',
				icon: 'questionblank'
			} );
		},

		afterInit: function( editor ) {
			var questionblankReplaceRegex = /\[\[([^\[\]])+\]\]/g;

			editor.dataProcessor.dataFilter.addRules( {
				text: function( text, node ) {
					var dtd = node.parent && CKEDITOR.dtd[ node.parent.name ];

					// Skip the case when questionblank is in elements like <title> or <textarea>
					// but upcast questionblank in custom elements (no DTD).
					if ( dtd && !dtd.span )
						return;

					return text.replace( questionblankReplaceRegex, function( match ) {
						// Creating widget code.

24 小时内免费解锁 3 个项目,之后 1 算力/个。 规则说明

AI 解读 AI

登录后可用,每次 10 算力,解读结果公开显示在下面。

还没有人解读过这个文件。