@@ -20,6 +20,7 @@ define([
20
20
window . MediabrowserUtility = {
21
21
windowId : 'modal_dialog_message' ,
22
22
modalLoaded : false ,
23
+ targetElementId : false ,
23
24
24
25
/**
25
26
* @return {Number }
@@ -60,26 +61,21 @@ define([
60
61
}
61
62
62
63
this . modal . modal ( 'openModal' ) ;
64
+ self . setTargetElementId ( options , url ) ;
63
65
$ ( window ) . trigger ( 'reload.MediaGallery' ) ;
64
66
65
67
return ;
66
68
}
67
69
68
- if ( this . modal ) {
69
- this . modal . html ( $ ( content ) . html ( ) ) ;
70
+ this . modal = $ ( content ) . modal ( $ . extend ( {
71
+ title : title || 'Insert File...' ,
72
+ modalClass : 'magento' ,
73
+ type : 'slide' ,
74
+ buttons : [ ]
75
+ } , options ) ) ;
70
76
71
- if ( options && typeof options . closed !== 'undefined' ) {
72
- this . modal . modal ( 'option' , 'closed' , options . closed ) ;
73
- }
74
- } else {
75
- this . modal = $ ( content ) . modal ( $ . extend ( {
76
- title : title || 'Insert File...' ,
77
- modalClass : 'magento' ,
78
- type : 'slide' ,
79
- buttons : [ ]
80
- } , options ) ) ;
81
- }
82
77
this . modal . modal ( 'openModal' ) ;
78
+
83
79
$ . ajax ( {
84
80
url : url ,
85
81
type : 'get' ,
@@ -89,10 +85,23 @@ define([
89
85
} ) . done ( function ( data ) {
90
86
self . modal . html ( data ) . trigger ( 'contentUpdated' ) ;
91
87
self . modalLoaded = true ;
88
+ self . setTargetElementId ( options , url ) ;
92
89
} ) ;
93
90
94
91
} ,
95
92
93
+ /**
94
+ * Setter for targetElementId property
95
+ *
96
+ * @param {Object } options
97
+ * @param {String } url
98
+ */
99
+ setTargetElementId : function ( options , url ) {
100
+ this . targetElementId = options && options . targetElementId ?
101
+ options . targetElementId
102
+ : url . match ( / \/ t a r g e t _ e l e m e n t _ i d \/ ( [ \s \S ] .* ?) \/ / ) [ 1 ] ;
103
+ } ,
104
+
96
105
/**
97
106
* Close dialog.
98
107
*/
@@ -104,7 +113,6 @@ define([
104
113
$ . widget ( 'mage.mediabrowser' , {
105
114
eventPrefix : 'mediabrowser' ,
106
115
options : {
107
- targetElementId : null ,
108
116
contentsUrl : null ,
109
117
onInsertUrl : null ,
110
118
newFolderUrl : null ,
@@ -316,14 +324,14 @@ define([
316
324
getTargetElement : function ( ) {
317
325
var opener , targetElementId ;
318
326
319
- if ( typeof wysiwyg != 'undefined' && wysiwyg . get ( this . options . targetElementId ) ) {
327
+ if ( ! _ . isUndefined ( wysiwyg ) && wysiwyg . get ( window . MediabrowserUtility . targetElementId ) ) {
320
328
opener = this . getMediaBrowserOpener ( ) || window ;
321
- targetElementId = tinyMceEditors . get ( this . options . targetElementId ) . getMediaBrowserTargetElementId ( ) ;
329
+ targetElementId = tinyMceEditors . get ( window . MediabrowserUtility . targetElementId ) . getMediaBrowserTargetElementId ( ) ;
322
330
323
331
return $ ( opener . document . getElementById ( targetElementId ) ) ;
324
332
}
325
333
326
- return $ ( '#' + this . options . targetElementId ) ;
334
+ return $ ( '#' + window . MediabrowserUtility . targetElementId ) ;
327
335
} ,
328
336
329
337
/**
@@ -332,12 +340,12 @@ define([
332
340
* return {Object|null}
333
341
*/
334
342
getMediaBrowserOpener : function ( ) {
335
- if ( typeof wysiwyg != 'undefined' &&
336
- wysiwyg . get ( this . options . targetElementId ) &&
337
- typeof tinyMceEditors != 'undefined' &&
338
- ! tinyMceEditors . get ( this . options . targetElementId ) . getMediaBrowserOpener ( ) . closed
343
+ var targetElementId = window . MediabrowserUtility . targetElementId ;
344
+
345
+ if ( ! _ . isUndefined ( wysiwyg ) && wysiwyg . get ( targetElementId ) && ! _ . isUndefined ( tinyMceEditors ) &&
346
+ ! tinyMceEditors . get ( targetElementId ) . getMediaBrowserOpener ( ) . closed
339
347
) {
340
- return tinyMceEditors . get ( this . options . targetElementId ) . getMediaBrowserOpener ( ) ;
348
+ return tinyMceEditors . get ( targetElementId ) . getMediaBrowserOpener ( ) ;
341
349
}
342
350
343
351
return null ;
0 commit comments