PageSourceSearch

https://lawfirmleeandlee.com/wp-content/plugins/contact-form-7-dro…/js/dropfiles-cf7.js?ver=1791140818

js lawfirmleeandlee.com collected 2026-10-04 19:07:25 UTC 7,714 bytes, 238 lines download raw bytes

1document.addEventListener( 'wpcf7mailsent', function( event ) {
2    jQuery(".cf7-drop-upload").val("");
3    jQuery(".cf7-drop-statusbar").remove();
4}, false );
5function cf7_sendFileToServer(formData,status,obj){
6  //var uploadURL = cf7_dropfiles.url_plugin + "frontend/upload.php"; //Upload URL
7  var uploadURL = cf7_dropfiles.ajax_url; //Upload URL
8  var extraData ={}; //Extra Data.
9  var jqXHR=jQuery.ajax({
10          xhr: function() {
11            var xhrobj = jQuery.ajaxSettings.xhr();
12            if (xhrobj.upload) {
13                    xhrobj.upload.addEventListener('progress', function(event) {
14                        var percent = 0;
15                        var position = event.loaded || event.position;
16                        var total = event.total;
17                        if (event.lengthComputable) {
18                            percent = Math.ceil(position / total * 100);
19                        }
20                        //Set progress
21                        status.setProgress(percent);
22                    }, false);
23                }
24            return xhrobj;
25        },
26      url: uploadURL,
27      type: "POST",
28    contentType:false,
29    processData: false,
30        cache: false,
31        data: formData,
32        success: function(data){
33          status.setProgress(100);
34          if( data.status =="ok" ) {
35              status.name_upload(data.text);
36              var name = obj.closest('.wpcf7-form-control-wrap').find(".cf7-drop-upload").val();
37            if(name == "" ) {
38                name = data.text;
39            }else{
40               name = name +"|"+data.text;
41            }
42            obj.closest('.wpcf7-form-control-wrap').find(".cf7-drop-upload").val(name); 
43          }else{
44              if( !data.text ) {
45                //alert(data);
46                status.text(cf7_dropfiles.text_content_limit);
47              }else{
48                  status.text(data.text);
49              }
50              
51          }
52                
53    }
54    }); 
55
56  status.setAbort(jqXHR);
57}
58
59var rowCount=0;
60function cf7_createStatusbar(obj){
61   rowCount++;
62   var row="odd";
63   console.log(obj);
64   if(rowCount %2 ==0) row ="even";
65
66
67
68     this.statusbar = jQuery("<div class='cf7-drop-statusbar "+row+"'></div>");
69     this.type = jQuery("<div class='cf7-drop-type'></div>").appendTo(this.statusbar);
70     this.type_file = jQuery("<div class='cf7-drop-type_file'></div>").appendTo(this.statusbar);
71     this.filename = jQuery("<span class='cf7-drop-filename'></span>").appendTo(this.statusbar);
72     this.size = jQuery("<span class='cf7-drop-filesize'></span>").appendTo(this.statusbar);
73     this.abort = jQuery('<div class="cf7-drop-abort"></div>').appendTo(this.statusbar);
74     this.remove = jQuery('<div style="display:none" class="cf7-drop-remove" ></div>').appendTo(this.statusbar);
75     this.progressBar = jQuery("<div class='cf7-drop-progressBar'><div></div></div>").appendTo(this.statusbar);
76     this.error = jQuery("<div class='cf7-drop-text-error'></div>").appendTo(this.statusbar);
77     obj.after(this.statusbar);
78    
79     this.text = function(txt){   
80          this.error.addClass("cf7-text-error").html(txt);
81          this.progressBar.addClass("cf7-text-error-pro");
82          //this.remove.hide();
83    }
84    this.name_upload = function(txt){   
85          this.remove.attr('data-name', txt);
86    }
87    this.setFileSize = function(txt){   
88          this.type_file.html(txt);
89    }
90
91    this.setFileNameSize = function(name,size)
92    {
93      var sizeStr="";
94      var sizeKB = size/1024;
95      if(parseInt(sizeKB) > 1024)
96      {
97        var sizeMB = sizeKB/1024;
98        sizeStr = "("+sizeMB.toFixed(2)+" MB)";
99      }
100      else
101      {
102        sizeStr = "("+sizeKB.toFixed(2)+" KB)";
103      }
104    
105      this.filename.html(name);
106      this.size.html(sizeStr);
107    }
108    this.setProgress = function(progress){   
109      var progressBarWidth =progress*this.progressBar.width()/ 100;  
110      this.progressBar.find('div').animate({ width: progressBarWidth }, 10).html(progress + "%&nbsp;");
111      if(parseInt(progress) >= 100)
112      {
113        this.abort.hide();
114        this.remove.show();
115      }
116    }
117
118  this.setAbort = function(jqxhr){
119    var sb = this.statusbar;
120    this.abort.click(function()
121    {
122      jqxhr.abort();
123      sb.hide();
124    });
125  }
126}
127function cf7_handleFileUpload(files,obj){
128
129  var max = obj.attr("data-max");
130  var name = obj.closest('.wpcf7-form-control-wrap').find(".cf7-drop-upload").val();
131  var count = (name.match(/\|/g) || []).length;
132  if(name != "" ){
133      count++;
134  }
135  if( max == "" ){
136    max = 0;
137  }
138  var max_limit = max - count + 1;
139  if ( max != 0 && parseInt(files.length)>=max_limit){
140      alert(cf7_dropfiles.text_maximum +" "+max+" files");
141    }else{
142     for (var i = 0; i < files.length; i++) {
143        var fd = new FormData();
144
145        fd.append('file', files[i]);
146        fd.append('size', obj.data("size") );
147        fd.append('type', obj.data("type") );
148        fd.append('type_upload', obj.closest('.wpcf7').find(".cf7-droptype").val() );
149        fd.append('action', "cf7_dropfiles_upload" );
150        var status = new cf7_createStatusbar(obj); //Using this we can set progress.
151        var file_type = files[i].name.split('.');
152        status.setFileNameSize(files[i].name,files[i].size);
153        status.setFileSize(file_type.slice(-1).pop());
154        cf7_sendFileToServer(fd,status,obj);
155     
156     }
157  }
158}
159jQuery(document).ready(function($){
160
161  var obj = jQuery(".cf7-dragandrophandler");
162  //console.log(obj);
163  obj.on('dragenter', function (e) 
164  {
165    e.stopPropagation();
166    e.preventDefault();
167    jQuery(this).css('border', '2px solid #0B85A1');
168  });
169  obj.on('dragover', function (e) 
170  {
171     e.stopPropagation();
172     e.preventDefault();
173  });
174
175  obj.on('drop', function (e) 
176  {
177    obj= $(this);
178     jQuery(this).css('border', '2px dotted #0B85A1');
179     e.preventDefault();
180     var files = e.originalEvent.dataTransfer.files;
181     //We need to send dropped files to Server
182     cf7_handleFileUpload(files,obj);
183  });
184  jQuery(document).on('dragenter', function (e) 
185  {
186    e.stopPropagation();
187    e.preventDefault();
188  });
189  jQuery(document).on('dragover', function (e) 
190  {
191    e.stopPropagation();
192    e.preventDefault();
193    obj.css('border', '2px dotted #0B85A1');
194  });
195  jQuery(document).on('drop', function (e) 
196  {
197    e.stopPropagation();
198    e.preventDefault();
199  });
200  obj.find('a').on('click', function (e) 
201  {
202    //e.stopPropagation();
203    e.preventDefault();
204    jQuery(this).closest(".cf7-dragandrophandler-container").find('.input-uploads').click();
205  });
206
207   obj.closest(".cf7-dragandrophandler-container").find('.input-uploads').on('change', function (e) 
208  {
209     var files = this.files;
210     //We need to send dropped files to Server
211     obj= $(this).closest('.wpcf7-form-control-wrap').find('.cf7-dragandrophandler');
212     cf7_handleFileUpload(files,obj);
213  });
214
215  jQuery("body").on("click",".cf7-drop-remove",function(e){
216     e.preventDefault();
217     var cr_name = jQuery(this).closest('.cf7-drop-remove').data("name") ;
218     var data = {
219      'action': 'cf7_dropfiles_remove',
220      'name': cr_name,
221      'type': jQuery("#cf7-droptype").val()
222    };
223    var name = jQuery(this).closest('.wpcf7-form-control-wrap').find('.cf7-drop-upload').val().split("|");
224    
225    for (var i=name.length-1; i>=0; i--) {
226        if (name[i] === cr_name) {
227            name.splice(i, 1);
228        }
229    }
230
231     jQuery(this).closest('.wpcf7-form-control-wrap').find('.cf7-drop-upload').val( name.join("|") );
232     jQuery(this).closest('.cf7-drop-statusbar').remove();
233     jQuery.post(cf7_dropfiles.ajax_url, data, function(response) {
234      
235    });
236     return false;
237  })
238});

Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.