Sha256: 49d03773ac17517330797adf75ff7ef95e1e768ae48bd837f9860eca738e163b

Contents?: true

Size: 1.93 KB

Versions: 87

Compression:

Stored size: 1.93 KB

Contents

/**
 * @license Copyright (c) 2003-2013, CKSource - Frederico Knabben. All rights reserved.
 * For licensing, see LICENSE.md or http://ckeditor.com/license
 */

CKEDITOR.dialog.add( 'sourcedialog', function( editor ) {
	var size = CKEDITOR.document.getWindow().getViewPaneSize();

	// Make it maximum 800px wide, but still fully visible in the viewport.
	var width = Math.min( size.width - 70, 800);

	// Make it use 2/3 of the viewport height.
	var height = size.height / 1.5;

	// Store old editor data to avoid unnecessary setData.
	var oldData;

	return {
		title: "Source",
		minWidth: 100,
		minHeight: 100,

		onShow: function() {
			this.setValueOf( 'main', 'data', oldData = editor.getData() );
		},

		onOk: (function() {
			function setData( newData ) {
				var that = this;

				editor.setData( newData, function() {
					that.hide();

					// Ensure correct selection.
					var range = editor.createRange();
					range.moveToElementEditStart( editor.editable() );
					range.select();
				} );
			}

			return function( event ) {
				// Remove CR from input data for reliable comparison with editor data.
				var newData = this.getValueOf( 'main', 'data' ).replace( /\r/g, '' );

				// Avoid unnecessary setData. Also preserve selection
				// when user changed his mind and goes back to wysiwyg editing.
				if ( newData === oldData )
					return true;

				// Set data asynchronously to avoid errors in IE.
				CKEDITOR.env.ie ?
						CKEDITOR.tools.setTimeout( setData, 0, this, newData )
					:
						setData.call( this, newData );

				// Don't let the dialog close before setData is over.
				return false;
			};
		})(),

		contents: [{
			id: 'main',
			label: "Source",
			elements: [{
				type: 'textarea',
				type: 'textarea',
				id: 'data',
				dir: 'ltr',
				inputStyle: 'cursor:auto;' +
					'width:' + width + 'px;' +
					'height:' + height + 'px;' +
					'tab-size:4;' +
					'text-align:left;',
				'class': 'cke_source'
			}]
		}]
	};
});

Version data entries

87 entries across 87 versions & 1 rubygems

Version Path
polyblock-1.2.6 app/assets/javascripts/ckeditor/plugins/sourcedialog/dialogs/sourcedialog.js
polyblock-1.2.5 app/assets/javascripts/ckeditor/plugins/sourcedialog/dialogs/sourcedialog.js
polyblock-1.2.4 app/assets/javascripts/ckeditor/plugins/sourcedialog/dialogs/sourcedialog.js
polyblock-1.2.3 app/assets/javascripts/ckeditor/plugins/sourcedialog/dialogs/sourcedialog.js
polyblock-1.2.2 app/assets/javascripts/ckeditor/plugins/sourcedialog/dialogs/sourcedialog.js
polyblock-1.2.1 app/assets/javascripts/ckeditor/plugins/sourcedialog/dialogs/sourcedialog.js
polyblock-1.2.0 app/assets/javascripts/ckeditor/plugins/sourcedialog/dialogs/sourcedialog.js
polyblock-1.1.1 app/assets/javascripts/ckeditor/plugins/sourcedialog/dialogs/sourcedialog.js
polyblock-1.1.0 app/assets/javascripts/ckeditor/plugins/sourcedialog/dialogs/sourcedialog.js
polyblock-1.0.8 app/assets/javascripts/ckeditor/plugins/sourcedialog/dialogs/sourcedialog.js
polyblock-1.0.7 app/assets/javascripts/ckeditor/plugins/sourcedialog/dialogs/sourcedialog.js
polyblock-1.0.6 app/assets/javascripts/ckeditor/plugins/sourcedialog/dialogs/sourcedialog.js
polyblock-1.0.5 app/assets/javascripts/ckeditor/plugins/sourcedialog/dialogs/sourcedialog.js
polyblock-1.0.4 app/assets/javascripts/ckeditor/plugins/sourcedialog/dialogs/sourcedialog.js
polyblock-1.0.3 app/assets/javascripts/ckeditor/plugins/sourcedialog/dialogs/sourcedialog.js
polyblock-1.0.2 app/assets/javascripts/ckeditor/plugins/sourcedialog/dialogs/sourcedialog.js
polyblock-1.0.1 app/assets/javascripts/ckeditor/plugins/sourcedialog/dialogs/sourcedialog.js
polyblock-1.0.0 app/assets/javascripts/ckeditor/plugins/sourcedialog/dialogs/sourcedialog.js
polyblock-0.9.9 app/assets/javascripts/ckeditor/plugins/sourcedialog/dialogs/sourcedialog.js
polyblock-0.9.8 app/assets/javascripts/ckeditor/plugins/sourcedialog/dialogs/sourcedialog.js