| @@ 6954-6990 (lines=37) @@ | ||
| 6951 | }; |
|
| 6952 | var FilePicker = ComboBox.extend({ |
|
| 6953 | Statics: { clearHistory: clearHistory }, |
|
| 6954 | init: function (settings) { |
|
| 6955 | var self = this, editor = getActiveEditor(), editorSettings = editor.settings; |
|
| 6956 | var actionCallback, fileBrowserCallback, fileBrowserCallbackTypes; |
|
| 6957 | var fileType = settings.filetype; |
|
| 6958 | settings.spellcheck = false; |
|
| 6959 | fileBrowserCallbackTypes = editorSettings.file_picker_types || editorSettings.file_browser_callback_types; |
|
| 6960 | if (fileBrowserCallbackTypes) { |
|
| 6961 | fileBrowserCallbackTypes = global$4.makeMap(fileBrowserCallbackTypes, /[, ]/); |
|
| 6962 | } |
|
| 6963 | if (!fileBrowserCallbackTypes || fileBrowserCallbackTypes[fileType]) { |
|
| 6964 | fileBrowserCallback = editorSettings.file_picker_callback; |
|
| 6965 | if (fileBrowserCallback && (!fileBrowserCallbackTypes || fileBrowserCallbackTypes[fileType])) { |
|
| 6966 | actionCallback = function () { |
|
| 6967 | var meta = self.fire('beforecall').meta; |
|
| 6968 | meta = global$4.extend({ filetype: fileType }, meta); |
|
| 6969 | fileBrowserCallback.call(editor, function (value, meta) { |
|
| 6970 | self.value(value).fire('change', { meta: meta }); |
|
| 6971 | }, self.value(), meta); |
|
| 6972 | }; |
|
| 6973 | } else { |
|
| 6974 | fileBrowserCallback = editorSettings.file_browser_callback; |
|
| 6975 | if (fileBrowserCallback && (!fileBrowserCallbackTypes || fileBrowserCallbackTypes[fileType])) { |
|
| 6976 | actionCallback = function () { |
|
| 6977 | fileBrowserCallback(self.getEl('inp').id, self.value(), fileType, window); |
|
| 6978 | }; |
|
| 6979 | } |
|
| 6980 | } |
|
| 6981 | } |
|
| 6982 | if (actionCallback) { |
|
| 6983 | settings.icon = 'browse'; |
|
| 6984 | settings.onaction = actionCallback; |
|
| 6985 | } |
|
| 6986 | self._super(settings); |
|
| 6987 | self.classes.add('filepicker'); |
|
| 6988 | setupAutoCompleteHandler(self, editorSettings, editor.getBody(), fileType); |
|
| 6989 | setupLinkValidatorHandler(self, editorSettings, fileType); |
|
| 6990 | } |
|
| 6991 | }); |
|
| 6992 | ||
| 6993 | var FitLayout = AbsoluteLayout.extend({ |
|
| @@ 6796-6832 (lines=37) @@ | ||
| 6793 | }; |
|
| 6794 | var FilePicker = ComboBox.extend({ |
|
| 6795 | Statics: { clearHistory: clearHistory }, |
|
| 6796 | init: function (settings) { |
|
| 6797 | var self = this, editor = getActiveEditor(), editorSettings = editor.settings; |
|
| 6798 | var actionCallback, fileBrowserCallback, fileBrowserCallbackTypes; |
|
| 6799 | var fileType = settings.filetype; |
|
| 6800 | settings.spellcheck = false; |
|
| 6801 | fileBrowserCallbackTypes = editorSettings.file_picker_types || editorSettings.file_browser_callback_types; |
|
| 6802 | if (fileBrowserCallbackTypes) { |
|
| 6803 | fileBrowserCallbackTypes = global$2.makeMap(fileBrowserCallbackTypes, /[, ]/); |
|
| 6804 | } |
|
| 6805 | if (!fileBrowserCallbackTypes || fileBrowserCallbackTypes[fileType]) { |
|
| 6806 | fileBrowserCallback = editorSettings.file_picker_callback; |
|
| 6807 | if (fileBrowserCallback && (!fileBrowserCallbackTypes || fileBrowserCallbackTypes[fileType])) { |
|
| 6808 | actionCallback = function () { |
|
| 6809 | var meta = self.fire('beforecall').meta; |
|
| 6810 | meta = global$2.extend({ filetype: fileType }, meta); |
|
| 6811 | fileBrowserCallback.call(editor, function (value, meta) { |
|
| 6812 | self.value(value).fire('change', { meta: meta }); |
|
| 6813 | }, self.value(), meta); |
|
| 6814 | }; |
|
| 6815 | } else { |
|
| 6816 | fileBrowserCallback = editorSettings.file_browser_callback; |
|
| 6817 | if (fileBrowserCallback && (!fileBrowserCallbackTypes || fileBrowserCallbackTypes[fileType])) { |
|
| 6818 | actionCallback = function () { |
|
| 6819 | fileBrowserCallback(self.getEl('inp').id, self.value(), fileType, window); |
|
| 6820 | }; |
|
| 6821 | } |
|
| 6822 | } |
|
| 6823 | } |
|
| 6824 | if (actionCallback) { |
|
| 6825 | settings.icon = 'browse'; |
|
| 6826 | settings.onaction = actionCallback; |
|
| 6827 | } |
|
| 6828 | self._super(settings); |
|
| 6829 | self.classes.add('filepicker'); |
|
| 6830 | setupAutoCompleteHandler(self, editorSettings, editor.getBody(), fileType); |
|
| 6831 | setupLinkValidatorHandler(self, editorSettings, fileType); |
|
| 6832 | } |
|
| 6833 | }); |
|
| 6834 | ||
| 6835 | var FitLayout = AbsoluteLayout.extend({ |
|