OwlCyberSecurity - MANAGER
Edit File: image-drop.min.js
window.vc||(window.vc={}),((v,r)=>{vc.imageDrop={mediaUploader:wp.media.vc_editor,mediaUploaderOpen:null,uploadFileList:[],isBackend:"admin_page"===window.vc_mode,isOverElement:null,dropPosition:"",handleDragOver:function(e){e.stopPropagation(),e.preventDefault(),e.originalEvent.dataTransfer.dropEffect="copy";var t=v(e.target),a=v(e.currentTarget),r=null,i=!1,o="",d=null,n=!1,l=t.closest(".vc_empty-element.wpb_column"),s=t.closest(".vc_empty-container.wpb_column_container"),c=t.closest(".vc_not-empty"),p=t.closest(".ui-sortable"),h=this.isBackend?".wpb_vc_column .wpb_sortable":".wpb_column .vc_element",h=t.closest(h),m=this.isBackend?p.is(".wpb_column_container"):p.parent().is(".vc_column-inner"),m=p.length&&h.length&&m;if(l.length||c.length||s.length?("true"!==(r=c.length?c:s.length?s:l).attr("data-wpb-drag-over")?(this.removePlaceholder(a,a.find('[data-wpb-drag-over="true"]')),r.attr("data-wpb-drag-over","true")):n=!0,p=[]):m&&(i=!0,d=r=h,c=(this.isBackend?document:vc.frame_window.document).body,l=(s=(this.isBackend?document:vc.frame_window.document).documentElement).clientTop||c.clientTop||0,m=s.scrollTop||c.scrollTop,s=e.target.getBoundingClientRect(),o=e.pageY<s.top+m-l+s.height/2?"before":"after","true"!==r.attr("data-wpb-drag-over")?(this.removePlaceholder(a,a.find('[data-wpb-drag-over="true"]')),r.attr("data-wpb-drag-over","true")):n=!0),this.isOverElement=r,t.closest(".vc_controls").length)return!1;if(r&&r.length&&!n)this.appendHelper({$element:t,$parent:r,$sortable:p,$innerElement:d,helperPosition:o,isInnerElement:i}),this.dropPosition=o;else{if(t.closest(".ui-sortable-placeholder.vc_placeholder").length)return this.isOverElement=t.closest(".ui-sortable-placeholder.vc_placeholder"),!1;r&&!r||n?(c=t.closest(".ui-sortable"),h&&h.length&&o!==(e=c.find(".ui-sortable-placeholder.vc_placeholder")).attr("data-position")&&(e.remove(),this.appendHelper({$element:t,$parent:r,$sortable:p,$innerElement:d,helperPosition:o,isInnerElement:i}),this.dropPosition=o)):(r=a.find('[data-wpb-drag-over="true"]'),this.removePlaceholder(a,r),this.dropPosition="")}},handleDragLeave:function(e){var t;e.stopPropagation(),e.preventDefault(),e.currentTarget.contains(e.relatedTarget)||(e=v(e.currentTarget),this.isOverElement=null,t=e.find('[data-wpb-drag-over="true"]'),this.removePlaceholder(e,t))},handleDrop:function(e){e.stopPropagation(),e.preventDefault();var t,a,r,i,o,d,n,l,s,c,p=v(e.currentTarget),h=p.find('[data-wpb-drag-over="true"]'),e=e.originalEvent.dataTransfer.files;this.isOverElement&&0<e.length&&-1!==e[0].type.indexOf("image")&&(t=1===e.length||vc.gridItemEditor?"vc_single_image":"vc_gallery",a=vc.getDefaults(t),i=this.isBackend?".wpb_vc_column[data-model-id]":".vc_vc_column[data-model-id]",r=this.isOverElement.closest(i).data("model-id")||null,i=this.isBackend?vc.shortcodes:new vc.ShortcodesBuilder,o="",l=null,r?(o=this.getCurrentOrder(r),l=i.create({shortcode:t,parent_id:r,params:a,order:o})):(d={},n={width:"1/1"},this.isBackend?(c=i.create({shortcode:"vc_row",params:d}),s=i.create({shortcode:"vc_column",params:n,parent_id:c.id,root_id:c.id}),l=i.create({shortcode:t,parent_id:s.id,root_id:c.id,params:a})):i.create({shortcode:"vc_row",params:d}).create({shortcode:"vc_column",parent_id:i.lastID(),params:n}).create({shortcode:t,parent_id:i.lastID(),params:a})),this.isBackend||i.render(),s=this.isBackend?l:i.last(),vc.edit_element_block_view.render(s),this.uploadFileList=e,c=function(){r&&"number"==typeof o&&this.setOrder(r,o),this.removePlaceholder(p,h)},vc.events.on("editElementPanel:ready",this.prepareImage.bind(this,t)),this.isBackend?vc.events.on("shortcodeView:ready",c.bind(this)):vc.events.on("afterLoadShortcode",c.bind(this)))},handleUploadFiles:function(){var t=this;window.setTimeout(function(){var e;t.mediaUploaderOpen&&t.mediaUploaderOpen.uploader&&t.mediaUploaderOpen.uploader.uploader&&(e=r.toArray(t.uploadFileList),vc.gridItemEditor&&e.splice(1),t.mediaUploaderOpen.uploader.uploader.uploader.addFile(e)),t.uploadFileList=[],t.mediaUploader.off("open",this.handleUploadFiles),vc.events.off("editElementPanel:ready",this.prepareImage)},600)},prepareImage:function(e){var t="wpbakery",a=v(".vc_edit_form_elements .gallery_widget_add_images");this.mediaUploader.$vc_editor_element=a,"vc_single_image"===e?(t="vc_editor",this.mediaUploader=wp.media.VcSingleImage.frame(a)):this.mediaUploader=new wp.media.view.MediaFrame.VcGallery(r.defaults({},{state:"vc_gallery",title:window.i18nLocale.add_images,library:{type:"image"},multiple:!0})),this.mediaUploader.on("open",this.handleUploadFiles.bind(this)),this.mediaUploader.on("close",this.handleClearSelection.bind(this)),this.mediaUploader.on("select",this.handleClearSelection.bind(this)),this.mediaUploaderOpen=this.mediaUploader.open(t)},handleClearSelection:function(){this.mediaUploader.state&&(this.mediaUploader.state().get("selection").reset(),this.mediaUploader.off("close",this.handleClearSelection),this.mediaUploader.off("select",this.handleClearSelection),this.mediaUploader=wp.media.vc_editor)},removePlaceholder:function(e,t){e.find("div.ui-sortable-placeholder.vc_placeholder").remove(),t.removeAttr("data-wpb-drag-over")},appendHelper:function(e){var t=e.$parent,a=e.$innerElement,r=e.helperPosition,i=e.isInnerElement,e={position:e.$sortable.length?"relative":"absolute",top:"0",left:"0",height:"45px",margin:"0"},e=v("<div>",{class:"ui-sortable-placeholder vc_placeholder",css:e});e.attr("data-position",r),i&&a&&a.length?"before"===r?a.before(e):a.after(e):e.appendTo(t)},getCurrentOrder:function(e){var a=0;return e&&(e=vc.shortcodes.get(e).view.$el.find(".ui-sortable").children()).length&&e.each(function(e,t){t=v(t);t.hasClass("ui-sortable-placeholder")?a=e:t.attr("data-temp-order",e)}),a},setOrder:function(i,o){var d=this,e=vc.shortcodes.get(i).view.$el.find(".ui-sortable"),t=e.children(),n=0,l=e.find(".ui-sortable-placeholder.vc_placeholder"),s=null;t.each(function(e,t){var a,t=v(t),r=vc.shortcodes.get(t.data("modelId"));r&&(a=d.isBackend?"data-element_type":"data-tag",t.attr("data-temp-order")?(n=parseInt(t.attr("data-temp-order")),t.removeAttr("data-temp-order")):!t.attr("data-temp-order")&&t.attr(a)&&(n=o,l.after(t),s=r),d.isBackend&&vc.storage.lock(),d.isBackend?r.save({order:n}):(r.save({order:n,parent_id:i},{silent:!0}),vc.builder.notifyParent(i)))}),d.isBackend&&s?s.save():vc.setDataChanged()}}})(window.jQuery,window._);