src/pyams_skin/resources/js/ext/tinymce/dev/plugins/colorpicker/plugin.js
changeset 557 bca7a7e058a3
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/src/pyams_skin/resources/js/ext/tinymce/dev/plugins/colorpicker/plugin.js	Thu Feb 13 11:43:31 2020 +0100
@@ -0,0 +1,112 @@
+/**
+ * plugin.js
+ *
+ * Copyright, Moxiecode Systems AB
+ * Released under LGPL License.
+ *
+ * License: http://www.tinymce.com/license
+ * Contributing: http://www.tinymce.com/contributing
+ */
+
+/*global tinymce:true */
+
+tinymce.PluginManager.add('colorpicker', function(editor) {
+	function colorPickerCallback(callback, value) {
+		function setColor(value) {
+			var color = new tinymce.util.Color(value), rgb = color.toRgb();
+
+			win.fromJSON({
+				r: rgb.r,
+				g: rgb.g,
+				b: rgb.b,
+				hex: color.toHex().substr(1)
+			});
+
+			showPreview(color.toHex());
+		}
+
+		function showPreview(hexColor) {
+			win.find('#preview')[0].getEl().style.background = hexColor;
+		}
+
+		var win = editor.windowManager.open({
+			title: 'Color',
+			items: {
+				type: 'container',
+				layout: 'flex',
+				direction: 'row',
+				align: 'stretch',
+				padding: 5,
+				spacing: 10,
+				items: [
+					{
+						type: 'colorpicker',
+						value: value,
+						onchange: function() {
+							var rgb = this.rgb();
+
+							if (win) {
+								win.find('#r').value(rgb.r);
+								win.find('#g').value(rgb.g);
+								win.find('#b').value(rgb.b);
+								win.find('#hex').value(this.value().substr(1));
+								showPreview(this.value());
+							}
+						}
+					},
+					{
+						type: 'form',
+						padding: 0,
+						labelGap: 5,
+						defaults: {
+							type: 'textbox',
+							size: 7,
+							value: '0',
+							flex: 1,
+							spellcheck: false,
+							onchange: function() {
+								var colorPickerCtrl = win.find('colorpicker')[0];
+								var name, value;
+
+								name = this.name();
+								value = this.value();
+
+								if (name == "hex") {
+									value = '#' + value;
+									setColor(value);
+									colorPickerCtrl.value(value);
+									return;
+								}
+
+								value = {
+									r: win.find('#r').value(),
+									g: win.find('#g').value(),
+									b: win.find('#b').value()
+								};
+
+								colorPickerCtrl.value(value);
+								setColor(value);
+							}
+						},
+						items: [
+							{name: 'r', label: 'R', autofocus: 1},
+							{name: 'g', label: 'G'},
+							{name: 'b', label: 'B'},
+							{name: 'hex', label: '#', value: '000000'},
+							{name: 'preview', type: 'container', border: 1}
+						]
+					}
+				]
+			},
+			onSubmit: function() {
+				callback('#' + this.toJSON().hex);
+			}
+		});
+
+		setColor(value);
+	}
+
+	if (!editor.settings.color_picker_callback) {
+		editor.settings.color_picker_callback = colorPickerCallback;
+	}
+});
\ No newline at end of file