9
9
10
10
tinymce . PluginManager . add ( 'filemanager' , function ( editor ) {
11
11
12
- if ( tinymce . majorVersion < 5 ) {
13
- editor . settings . file_browser_callback = filemanager ;
14
- } else {
15
12
editor . settings . file_picker_types = 'file image media' ;
16
- editor . settings . file_picker_callback = filemanagerForTinymce5 ;
17
- }
13
+ editor . settings . file_picker_callback = filemanager ;
18
14
19
15
function filemanager_onMessage ( event ) {
20
16
if ( editor . settings . external_filemanager_path . toLowerCase ( ) . indexOf ( event . origin . toLowerCase ( ) ) === 0 ) {
@@ -32,55 +28,7 @@ tinymce.PluginManager.add('filemanager', function(editor) {
32
28
}
33
29
}
34
30
35
- function filemanager ( id , value , type , win ) {
36
- var dimensions = getWidthAndHeight ( ) ;
37
-
38
- tinymce . activeEditor . windowManager . open ( {
39
- title : getTitle ( ) ,
40
- file : getDialogUrl ( type ) ,
41
- width : dimensions . width ,
42
- height : dimensions . height ,
43
- resizable : true ,
44
- maximizable : true ,
45
- inline : 1
46
- } , {
47
- setUrl : function ( url ) {
48
- var fieldElm = win . document . getElementById ( id ) ;
49
- fieldElm . value = editor . convertURL ( url ) ;
50
- if ( "createEvent" in document ) {
51
- var evt = document . createEvent ( "HTMLEvents" ) ;
52
- evt . initEvent ( "change" , false , true ) ;
53
- fieldElm . dispatchEvent ( evt )
54
- } else {
55
- fieldElm . fireEvent ( "onchange" )
56
- }
57
- }
58
- } ) ;
59
- }
60
-
61
- function filemanagerForTinymce5 ( callback , value , meta ) {
62
- window . addEventListener ( 'message' , function receiveMessage ( event ) {
63
- window . removeEventListener ( 'message' , receiveMessage , false ) ;
64
- if ( event . data . sender === 'responsivefilemanager' ) {
65
- callback ( event . data . url ) ;
66
- }
67
- } , false ) ;
68
-
69
-
70
- var dimensions = getWidthAndHeight ( ) ;
71
-
72
- tinymce . activeEditor . windowManager . openUrl ( {
73
- title : getTitle ( ) ,
74
- url : getDialogUrl ( meta . filetype ) ,
75
- width : dimensions . width ,
76
- height : dimensions . height ,
77
- resizable : true ,
78
- maximizable : true ,
79
- inline : 1 ,
80
- } ) ;
81
- }
82
-
83
- function getWidthAndHeight ( ) {
31
+ function filemanager ( callback , value , meta ) {
84
32
var width = window . innerWidth - 30 ;
85
33
var height = window . innerHeight - 60 ;
86
34
if ( width > 1800 ) width = 1800 ;
@@ -90,26 +38,15 @@ tinymce.PluginManager.add('filemanager', function(editor) {
90
38
width = width - width_reduce + 10 ;
91
39
}
92
40
93
- return {
94
- width : width ,
95
- height : height
96
- }
97
- }
41
+ // DEFAULT AS FILE
42
+ urltype = 2 ;
43
+ if ( meta . mediaType === 'image' ) { urltype = 1 ; }
44
+ if ( meta . mediaType === 'media' ) { urltype = 3 ; }
98
45
99
- function getTitle ( ) {
100
46
var title = "RESPONSIVE FileManager" ;
101
47
if ( typeof editor . settings . filemanager_title !== "undefined" && editor . settings . filemanager_title ) {
102
48
title = editor . settings . filemanager_title ;
103
49
}
104
- return title ;
105
- }
106
-
107
- function getDialogUrl ( mediaType ) {
108
- // DEFAULT AS FILE
109
- urltype = 2 ;
110
- if ( mediaType === 'image' ) { urltype = 1 ; }
111
- if ( mediaType === 'media' ) { urltype = 3 ; }
112
-
113
50
var akey = "key" ;
114
51
if ( typeof editor . settings . filemanager_access_key !== "undefined" && editor . settings . filemanager_access_key ) {
115
52
akey = editor . settings . filemanager_access_key ;
@@ -138,7 +75,36 @@ tinymce.PluginManager.add('filemanager', function(editor) {
138
75
}
139
76
}
140
77
141
- return editor . settings . external_filemanager_path + 'dialog.php?type=' + urltype + '&descending=' + descending + sort_by + fldr + crossdomain + '&lang=' + editor . settings . language + '&akey=' + akey ;
78
+ window . addEventListener ( 'message' , function receiveMessage ( event ) {
79
+ window . removeEventListener ( 'message' , receiveMessage , false ) ;
80
+ if ( event . data . sender === 'responsivefilemanager' ) {
81
+ callback ( event . data . url ) ;
82
+ }
83
+ } , false ) ;
84
+
85
+ var dialogUrl = editor . settings . external_filemanager_path + 'dialog.php?type=' + urltype + '&descending=' + descending + sort_by + fldr + crossdomain + '&lang=' + editor . settings . language + '&akey=' + akey ;
86
+
87
+ if ( tinymce . majorVersion > 4 ) {
88
+ tinymce . activeEditor . windowManager . openUrl ( {
89
+ title : title ,
90
+ url : dialogUrl ,
91
+ width : width ,
92
+ height : height ,
93
+ resizable : true ,
94
+ maximizable : true ,
95
+ inline : 1 ,
96
+ } ) ;
97
+ } else {
98
+ tinymce . activeEditor . windowManager . open ( {
99
+ title : title ,
100
+ file : dialogUrl ,
101
+ width : width ,
102
+ height : height ,
103
+ resizable : true ,
104
+ maximizable : true ,
105
+ inline : 1 ,
106
+ } ) ;
107
+ }
142
108
}
143
109
144
110
return false ;
0 commit comments