wp/wp-includes/js/tinymce/plugins/wpdialogs/editor_plugin_src.js
author ymh <ymh.work@gmail.com>
Wed, 06 Nov 2013 03:21:17 +0000
changeset 0 d970ebf37754
permissions -rw-r--r--
first import
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
0
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
     1
/**
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
     2
 * editor_plugin_src.js
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
     3
 *
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
     4
 * Copyright 2009, Moxiecode Systems AB
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
     5
 * Released under LGPL
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
     6
 *
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
     7
 * License: http://tinymce.moxiecode.com/license
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
     8
 * Contributing: http://tinymce.moxiecode.com/contributing
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
     9
 */
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    10
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    11
(function() {
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    12
	tinymce.create('tinymce.plugins.WPDialogs', {
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    13
		init : function(ed, url) {
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    14
			tinymce.create('tinymce.WPWindowManager:tinymce.InlineWindowManager', {
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    15
				WPWindowManager : function(ed) {
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    16
					this.parent(ed);
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    17
				},
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    18
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    19
				open : function(f, p) {
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    20
					var t = this, element;
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    21
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    22
					if ( ! f.wpDialog )
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    23
						return this.parent( f, p );
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    24
					else if ( ! f.id )
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    25
						return;
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    26
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    27
					element = jQuery('#' + f.id);
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    28
					if ( ! element.length )
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    29
						return;
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    30
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    31
					t.features = f;
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    32
					t.params = p;
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    33
					t.onOpen.dispatch(t, f, p);
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    34
					t.element = t.windows[ f.id ] = element;
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    35
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    36
					// Store selection
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    37
					t.bookmark = t.editor.selection.getBookmark(1);
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    38
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    39
					// Create the dialog if necessary
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    40
					if ( ! element.data('wpdialog') ) {
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    41
						element.wpdialog({
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    42
							title: f.title,
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    43
							width: f.width,
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    44
							height: f.height,
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    45
							modal: true,
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    46
							dialogClass: 'wp-dialog',
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    47
							zIndex: 300000
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    48
						});
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    49
					}
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    50
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    51
					element.wpdialog('open');
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    52
				},
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    53
				close : function() {
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    54
					if ( ! this.features.wpDialog )
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    55
						return this.parent.apply( this, arguments );
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    56
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    57
					this.element.wpdialog('close');
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    58
				}
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    59
			});
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    60
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    61
			// Replace window manager
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    62
			ed.onBeforeRenderUI.add(function() {
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    63
				ed.windowManager = new tinymce.WPWindowManager(ed);
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    64
			});
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    65
		},
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    66
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    67
		getInfo : function() {
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    68
			return {
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    69
				longname : 'WPDialogs',
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    70
				author : 'WordPress',
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    71
				authorurl : 'http://wordpress.org',
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    72
				infourl : 'http://wordpress.org',
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    73
				version : '0.1'
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    74
			};
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    75
		}
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    76
	});
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    77
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    78
	// Register plugin
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    79
	tinymce.PluginManager.add('wpdialogs', tinymce.plugins.WPDialogs);
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    80
})();