File tree Expand file tree Collapse file tree 4 files changed +50
-0
lines changed
app/code/Magento/PageBuilder/view/adminhtml/web
css/source/form/element/uploader/preview Expand file tree Collapse file tree 4 files changed +50
-0
lines changed Original file line number Diff line number Diff line change 186
186
.pagebuilder-image .pagebuilder-image-uploader-container {
187
187
visibility : visible ;
188
188
}
189
+ .pagebuilder-content-type-hidden .pagebuilder-content-type-active .pagebuilder-image-uploader-container .pagebuilder-options {
190
+ opacity : 0 !important ;
191
+ visibility : hidden !important ;
192
+ }
193
+ .pagebuilder-content-type-hidden .pagebuilder-image-uploader-container {
194
+ & .dragging .pagebuilder-image-uploader-container-dropzone-overlay {
195
+ display : none ;
196
+ }
197
+ & .dragging .file-uploader {
198
+ visibility : visible ;
199
+ }
200
+ }
Original file line number Diff line number Diff line change 3
3
* See COPYING.txt for license details.
4
4
*/
5
5
6
+ import $ from "jquery" ;
6
7
import events from "Magento_PageBuilder/js/events" ;
7
8
import { DataObject } from "../../data-store" ;
9
+ import ContentTypeAfterRenderEventParamsInterface from "../content-type-after-render-event-params" ;
8
10
import BasePreview from "../preview" ;
9
11
import Uploader from "../uploader" ;
10
12
Original file line number Diff line number Diff line change @@ -222,6 +222,7 @@ export default class Preview {
222
222
id : this . parent . id ,
223
223
} ,
224
224
) ;
225
+ this . disableImageUploadOnHide ( element ) ;
225
226
}
226
227
}
227
228
@@ -578,6 +579,21 @@ export default class Preview {
578
579
return hasDataChanges ;
579
580
}
580
581
582
+ /**
583
+ * Any hidden element should block drag / drop events from uploading images from the OS. We have to block this for
584
+ * all elements as underlying elements could still receive the events if a parent is hidden.
585
+ *
586
+ * @param {Element } element
587
+ */
588
+ private disableImageUploadOnHide ( element : Element ) {
589
+ $ ( element ) . on ( "drag dragstart dragend dragover dragenter dragleave drop" , ( event ) => {
590
+ if ( this . display ( ) === false ) {
591
+ event . preventDefault ( ) ;
592
+ event . stopPropagation ( ) ;
593
+ }
594
+ } ) ;
595
+ }
596
+
581
597
/**
582
598
* Update observables
583
599
*/
You can’t perform that action at this time.
0 commit comments