src/pyams_skin/resources/js/ext/tinymce/dev/plugins/paste/plugin.dev.js
changeset 557 bca7a7e058a3
equal deleted inserted replaced
-1:000000000000 557:bca7a7e058a3
       
     1 /**
       
     2  * Inline development version. Only to be used while developing since it uses document.write to load scripts.
       
     3  */
       
     4 
       
     5 /*jshint smarttabs:true, undef:true, latedef:true, curly:true, bitwise:true, camelcase:true */
       
     6 /*globals $code */
       
     7 
       
     8 (function(exports) {
       
     9 	"use strict";
       
    10 
       
    11 	var html = "", baseDir;
       
    12 	var modules = {}, exposedModules = [], moduleCount = 0;
       
    13 
       
    14 	var scripts = document.getElementsByTagName('script');
       
    15 	for (var i = 0; i < scripts.length; i++) {
       
    16 		var src = scripts[i].src;
       
    17 
       
    18 		if (src.indexOf('/plugin.dev.js') != -1) {
       
    19 			baseDir = src.substring(0, src.lastIndexOf('/'));
       
    20 		}
       
    21 	}
       
    22 
       
    23 	function require(ids, callback) {
       
    24 		var module, defs = [];
       
    25 
       
    26 		for (var i = 0; i < ids.length; ++i) {
       
    27 			module = modules[ids[i]] || resolve(ids[i]);
       
    28 			if (!module) {
       
    29 				throw 'module definition dependecy not found: ' + ids[i];
       
    30 			}
       
    31 
       
    32 			defs.push(module);
       
    33 		}
       
    34 
       
    35 		callback.apply(null, defs);
       
    36 	}
       
    37 
       
    38 	function resolve(id) {
       
    39 		var target = exports;
       
    40 		var fragments = id.split(/[.\/]/);
       
    41 
       
    42 		for (var fi = 0; fi < fragments.length; ++fi) {
       
    43 			if (!target[fragments[fi]]) {
       
    44 				return;
       
    45 			}
       
    46 
       
    47 			target = target[fragments[fi]];
       
    48 		}
       
    49 
       
    50 		return target;
       
    51 	}
       
    52 
       
    53 	function register(id) {
       
    54 		var target = exports;
       
    55 		var fragments = id.split(/[.\/]/);
       
    56 
       
    57 		for (var fi = 0; fi < fragments.length - 1; ++fi) {
       
    58 			if (target[fragments[fi]] === undefined) {
       
    59 				target[fragments[fi]] = {};
       
    60 			}
       
    61 
       
    62 			target = target[fragments[fi]];
       
    63 		}
       
    64 
       
    65 		target[fragments[fragments.length - 1]] = modules[id];
       
    66 	}
       
    67 
       
    68 	function define(id, dependencies, definition) {
       
    69 		if (typeof id !== 'string') {
       
    70 			throw 'invalid module definition, module id must be defined and be a string';
       
    71 		}
       
    72 
       
    73 		if (dependencies === undefined) {
       
    74 			throw 'invalid module definition, dependencies must be specified';
       
    75 		}
       
    76 
       
    77 		if (definition === undefined) {
       
    78 			throw 'invalid module definition, definition function must be specified';
       
    79 		}
       
    80 
       
    81 		require(dependencies, function() {
       
    82 			modules[id] = definition.apply(null, arguments);
       
    83 		});
       
    84 
       
    85 		if (--moduleCount === 0) {
       
    86 			for (var i = 0; i < exposedModules.length; i++) {
       
    87 				register(exposedModules[i]);
       
    88 			}
       
    89 		}
       
    90 	}
       
    91 
       
    92 	function expose(ids) {
       
    93 		exposedModules = ids;
       
    94 	}
       
    95 
       
    96 	function writeScripts() {
       
    97 		document.write(html);
       
    98 	}
       
    99 
       
   100 	function load(path) {
       
   101 		html += '<script type="text/javascript" src="' + baseDir + '/' + path + '"></script>\n';
       
   102 		moduleCount++;
       
   103 	}
       
   104 
       
   105 	// Expose globally
       
   106 	exports.define = define;
       
   107 	exports.require = require;
       
   108 
       
   109 	expose(["tinymce/pasteplugin/Utils"]);
       
   110 
       
   111 	load('classes/Utils.js');
       
   112 	load('classes/Clipboard.js');
       
   113 	load('classes/WordFilter.js');
       
   114 	load('classes/Quirks.js');
       
   115 	load('classes/Plugin.js');
       
   116 
       
   117 	writeScripts();
       
   118 })(this);
       
   119 
       
   120 // $hash: bc2f915b9558e72dc8a3bd07314a5bfe