--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/src/pyams_skin/resources/js/ext/tinymce/dev/classes/ui/FilePicker.js Wed Jun 17 10:00:10 2015 +0200
@@ -0,0 +1,85 @@
+/**
+ * FilePicker.js
+ *
+ * Copyright, Moxiecode Systems AB
+ * Released under LGPL License.
+ *
+ * License: http://www.tinymce.com/license
+ * Contributing: http://www.tinymce.com/contributing
+ */
+
+/*global tinymce:true */
+
+/**
+ * This class creates a file picker control.
+ *
+ * @class tinymce.ui.FilePicker
+ * @extends tinymce.ui.ComboBox
+ */
+define("tinymce/ui/FilePicker", [
+ "tinymce/ui/ComboBox",
+ "tinymce/util/Tools"
+], function(ComboBox, Tools) {
+ "use strict";
+
+ return ComboBox.extend({
+ /**
+ * Constructs a new control instance with the specified settings.
+ *
+ * @constructor
+ * @param {Object} settings Name/value object with settings.
+ */
+ init: function(settings) {
+ var self = this, editor = tinymce.activeEditor, editorSettings = editor.settings;
+ var actionCallback, fileBrowserCallback, fileBrowserCallbackTypes;
+
+ settings.spellcheck = false;
+
+ fileBrowserCallbackTypes = editorSettings.file_picker_types || editorSettings.file_browser_callback_types;
+ if (fileBrowserCallbackTypes) {
+ fileBrowserCallbackTypes = Tools.makeMap(fileBrowserCallbackTypes, /[, ]/);
+ }
+
+ if (!fileBrowserCallbackTypes || fileBrowserCallbackTypes[settings.filetype]) {
+ fileBrowserCallback = editorSettings.file_picker_callback;
+ if (fileBrowserCallback && (!fileBrowserCallbackTypes || fileBrowserCallbackTypes[settings.filetype])) {
+ actionCallback = function() {
+ var meta = self.fire('beforecall').meta;
+
+ meta = Tools.extend({filetype: settings.filetype}, meta);
+
+ // file_picker_callback(callback, currentValue, metaData)
+ fileBrowserCallback.call(
+ editor,
+ function(value, meta) {
+ self.value(value).fire('change', {meta: meta});
+ },
+ self.value(),
+ meta
+ );
+ };
+ } else {
+ // Legacy callback: file_picker_callback(id, currentValue, filetype, window)
+ fileBrowserCallback = editorSettings.file_browser_callback;
+ if (fileBrowserCallback && (!fileBrowserCallbackTypes || fileBrowserCallbackTypes[settings.filetype])) {
+ actionCallback = function() {
+ fileBrowserCallback(
+ self.getEl('inp').id,
+ self.value(),
+ settings.filetype,
+ window
+ );
+ };
+ }
+ }
+ }
+
+ if (actionCallback) {
+ settings.icon = 'browse';
+ settings.onaction = actionCallback;
+ }
+
+ self._super(settings);
+ }
+ });
+});
\ No newline at end of file