只读模式
group, 分享
评论更多问题
博客标签总是存在一个
This commit is contained in:
lealife
2015-06-15 18:01:48 +08:00
parent 7e458bb433
commit 6987a38820
1453 changed files with 114561 additions and 91536 deletions

60
public/tinymce/classes/ui/FilePicker.js Normal file → Executable file
View File

@ -17,8 +17,9 @@
* @extends tinymce.ui.ComboBox
*/
define("tinymce/ui/FilePicker", [
"tinymce/ui/ComboBox"
], function(ComboBox) {
"tinymce/ui/ComboBox",
"tinymce/util/Tools"
], function(ComboBox, Tools) {
"use strict";
return ComboBox.extend({
@ -29,22 +30,53 @@ define("tinymce/ui/FilePicker", [
* @param {Object} settings Name/value object with settings.
*/
init: function(settings) {
var self = this, editor = tinymce.activeEditor, fileBrowserCallback;
var self = this, editor = tinymce.activeEditor, editorSettings = editor.settings;
var actionCallback, fileBrowserCallback, fileBrowserCallbackTypes;
settings.spellcheck = false;
fileBrowserCallback = editor.settings.file_browser_callback;
if (fileBrowserCallback) {
settings.icon = 'browse';
fileBrowserCallbackTypes = editorSettings.file_picker_types || editorSettings.file_browser_callback_types;
if (fileBrowserCallbackTypes) {
fileBrowserCallbackTypes = Tools.makeMap(fileBrowserCallbackTypes, /[, ]/);
}
settings.onaction = function() {
fileBrowserCallback(
self.getEl('inp').id,
self.getEl('inp').value,
settings.filetype,
window
);
};
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);