src/pyams_skin/resources/js/ext/tinymce/dev/classes/ui/Iframe.js
changeset 557 bca7a7e058a3
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/src/pyams_skin/resources/js/ext/tinymce/dev/classes/ui/Iframe.js	Thu Feb 13 11:43:31 2020 +0100
@@ -0,0 +1,84 @@
+/**
+ * Iframe.js
+ *
+ * Copyright, Moxiecode Systems AB
+ * Released under LGPL License.
+ *
+ * License: http://www.tinymce.com/license
+ * Contributing: http://www.tinymce.com/contributing
+ */
+
+/*jshint scripturl:true */
+
+/**
+ * This class creates an iframe.
+ *
+ * @setting {String} url Url to open in the iframe.
+ *
+ * @-x-less Iframe.less
+ * @class tinymce.ui.Iframe
+ * @extends tinymce.ui.Widget
+ */
+define("tinymce/ui/Iframe", [
+	"tinymce/ui/Widget"
+], function(Widget) {
+	"use strict";
+
+	return Widget.extend({
+		/**
+		 * Renders the control as a HTML string.
+		 *
+		 * @method renderHtml
+		 * @return {String} HTML representing the control.
+		 */
+		renderHtml: function() {
+			var self = this;
+
+			self.addClass('iframe');
+			self.canFocus = false;
+
+			/*eslint no-script-url:0 */
+			return (
+				'<iframe id="' + self._id + '" class="' + self.classes() + '" tabindex="-1" src="' +
+				(self.settings.url || "javascript:\'\'") + '" frameborder="0"></iframe>'
+			);
+		},
+
+		/**
+		 * Setter for the iframe source.
+		 *
+		 * @method src
+		 * @param {String} src Source URL for iframe.
+		 */
+		src: function(src) {
+			this.getEl().src = src;
+		},
+
+		/**
+		 * Inner HTML for the iframe.
+		 *
+		 * @method html
+		 * @param {String} html HTML string to set as HTML inside the iframe.
+		 * @param {function} callback Optional callback to execute when the iframe body is filled with contents.
+		 * @return {tinymce.ui.Iframe} Current iframe control.
+		 */
+		html: function(html, callback) {
+			var self = this, body = this.getEl().contentWindow.document.body;
+
+			// Wait for iframe to initialize IE 10 takes time
+			if (!body) {
+				setTimeout(function() {
+					self.html(html);
+				}, 0);
+			} else {
+				body.innerHTML = html;
+
+				if (callback) {
+					callback();
+				}
+			}
+
+			return this;
+		}
+	});
+});
\ No newline at end of file