PluginProbe ʕ •ᴥ•ʔ
Jetpack – WP Security, Backup, Speed, & Growth / 13.0.2
Jetpack – WP Security, Backup, Speed, & Growth v13.0.2
12.0.3 12.1.3 12.2.3 12.3.2 12.4.2 12.5.2 12.6.4 12.7.3 12.8.3 12.9.5 13.0.2 13.1.5 13.2.4 13.3.3 13.4.5 13.5.2 13.6.2 13.7.2 13.8.3 13.9.2 14.0.1 14.1.1 14.2.2 14.3.1 14.4.2 14.5.1 14.6.1 14.7.1 14.8.1 14.9.2 15.0.3 15.1.2 15.2.1 15.3.2 15.4.1 15.5.1 15.6.1 15.7.2 15.8.1 15.9.2 16.0.2 16.1.3 16.2-a.5 16.2-a.3 16.1.2 16.2-a.1 16.1.1 16.1 16.1-beta 16.1-beta.2 16.1-beta.3 16.1-a.5 16.1-a.3 16.0.1 16.1-a.1 16.0 16.0-beta 16.0-a.7 16.0-a.5 15.9.1 16.0-a.3 16.0-a.1 15.9 15.9-beta 15.9-a.7 15.9-a.5 15.9-a.3 15.9-a.1 15.8 15.8-beta 15.8-a.7 15.8-a.5 5.2.5 5.3.4 5.4.4 5.5.5 5.6.5 5.7.5 5.8.4 5.9.4 6.0.4 6.1 6.1.1 6.1.2 6.1.3 6.1.4 6.1.5 6.2 6.2.1 6.2.2 6.2.3 6.2.4 6.2.5 6.3 6.3.1 6.3.2 6.3.3 6.3.4 6.3.5 6.3.6 6.3.7 6.4 6.4.1 6.4.2 6.4.3 6.4.4 6.4.5 6.4.6 6.5 6.5.1 6.5.2 6.5.3 6.5.4 6.6 6.6.1 6.6.2 6.6.3 6.6.4 6.6.5 6.7 6.7.1 6.7.2 6.7.3 6.7.4 6.8 6.8.1 6.8.2 6.8.3 6.8.4 6.8.5 6.9 6.9.1 6.9.2 6.9.3 6.9.4 7.0 7.0.1 7.0.2 7.0.3 7.0.4 7.0.5 7.1 7.1.1 7.1.2 7.1.3 7.1.4 7.1.5 7.2 7.2.1 7.2.1.1 7.2.2 7.2.3 7.2.4 7.2.5 7.3 7.3.0.1 7.3.1 7.3.1.1 7.3.2 7.3.3 7.3.4 7.3.5 7.4 7.4.1 7.4.2 7.4.3 7.4.4 7.4.5 7.5 7.5.0.1 7.5.1 7.5.2 7.5.3 7.5.4 7.5.5 7.5.6 7.5.7 7.6 7.6.1 7.6.2 7.6.3 7.6.4 7.7 7.7.1 7.7.2 7.7.3 7.7.4 7.7.5 7.7.6 7.8 7.8.1 7.8.2 7.8.3 7.8.4 7.9 7.9.1 7.9.2 7.9.3 7.9.4 8.0 8.0.1 8.0.2 8.0.3 8.1 8.1.1 8.1.2 8.1.3 8.1.4 8.2 8.2.0.1 8.2.1 8.2.2 8.2.3 8.2.4 8.2.5 8.2.6 8.3 8.3.1 8.3.2 8.3.3 8.4 8.4.1 8.4.2 8.4.3 8.4.4 8.4.5 8.5 8.5.1 8.5.2 8.5.3 8.6 8.6.1 8.6.2 8.6.3 8.6.4 8.7 8.7.0.1 8.7.1 8.7.2 8.7.3 8.7.4 8.8 8.8.1 8.8.2 8.8.3 8.8.4 8.8.5 8.9 8.9.1 8.9.2 8.9.3 8.9.4 9.0 9.0.1 9.0.2 9.0.3 9.0.4 9.0.5 9.1 9.1.1 9.1.2 9.1.3 9.2 9.2.1 9.2.2 9.2.3 9.2.4 9.3 9.3.1 9.3.2 9.3.3 9.3.4 9.3.5 9.4 9.4.1 9.4.2 9.4.3 9.4.4 9.5 9.5.1 9.5.2 9.5.3 9.5.4 9.5.5 9.6 9.6.1 9.6.2 9.6.3 9.6.4 9.7 9.7.1 9.7.2 15.7-beta.2 9.7.3 15.7.1 9.8 15.8-a.1 9.8.1 15.8-a.3 9.8.2 2.0.9 9.8.3 2.1.7 9.9 2.2.10 9.9.1 2.3.10 9.9.2 2.4.7 9.9.3 2.5.5 2.6.6 2.7.5 2.8.5 2.9.6 3.0.6 3.1.5 3.2.5 3.3.6 3.4.6 3.5.6 3.6.4 3.7.5 3.8.5 3.9.10 4.0.7 4.1.4 4.2.5 4.3.5 4.4.5 4.5.3 4.6.3 4.7.4 4.8.5 4.9.3 5.0.3 5.1.4 trunk 10.0 10.0.1 10.0.2 10.1 10.1.1 10.1.2 10.2 10.2.1 10.2.2 10.2.3 10.3 10.3.1 10.3.2 10.4 10.4.1 10.4.2 10.5 10.5.1 10.5.2 10.5.3 10.6 10.6.1 10.6.2 10.7 10.7.1 10.7.2 10.8 10.8.1 10.8.2 10.9 10.9.1 10.9.2 10.9.3 11.0 11.0.1 11.0.2 11.1 11.1.1 11.1.2 11.1.3 11.1.4 11.2 11.2.1 11.2.2 11.3 11.3.1 11.3.2 11.3.3 11.3.4 11.4 11.4.1 11.4.2 11.5 11.5.1 11.5.2 11.5.3 11.6 11.6.1 11.6.2 11.7 11.7.1 11.7.2 11.7.3 11.8 11.8.3 11.8.4 11.8.5 11.8.6 11.9 11.9.1 11.9.2 11.9.3 12.0 12.0.1 12.0.2 12.1 12.1.1 12.1.2 12.2 12.2.1 12.2.2 12.3 12.3.1 12.4 12.4.1 12.5 12.5.1 12.6 12.6.1 12.6.2 12.6.3 12.7 12.7.1 12.7.2 12.8 12.8.1 12.8.2 12.9 12.9.1 12.9.2 12.9.3 12.9.4 13.0 13.0.1 13.1 13.1.1 13.1.2 13.1.3 13.1.4 13.2 13.2.1 13.2.2 13.2.3 13.3 13.3.1 13.3.2 13.4 13.4.1 13.4.2 13.4.3 13.4.4 13.5 13.5.1 13.6 13.6.1 13.7 13.7.1 13.8 13.8.1 13.8.2 13.9 13.9.1 14.0 14.1 14.2 14.2.1 14.3 14.4 14.4.1 14.5 14.6 14.7 14.8 14.9 14.9.1 15.0 15.0.1 15.0.2 15.1 15.1.1 15.2 15.3 15.3.1 15.4 15.5 15.6 15.7 15.7-a.1 15.7-a.3 15.7-a.5 15.7-a.7 15.7-beta
jetpack / modules / custom-post-types / comics / comics.js
jetpack / modules / custom-post-types / comics Last commit date
rtl 13 years ago admin.css 12 years ago comics-rtl.css 4 years ago comics-rtl.min.css 4 years ago comics.css 6 years ago comics.js 6 years ago comics.min.css 4 years ago
comics.js
132 lines
1 /* global Jetpack_Comics_Options */
2
3 jQuery( function ( $ ) {
4 /**
5 * Enable front-end uploading of images for Comics users.
6 */
7 var Jetpack_Comics = {
8 init: function () {
9 $( document ).on(
10 'dragover.jetpack-comics',
11 'body, #jetpack-comic-drop-zone',
12 this.onDragOver
13 );
14 $( document ).on(
15 'dragleave.jetpack-comics',
16 'body, #jetpack-comic-drop-zone',
17 this.onDragLeave
18 );
19 $( document ).on( 'drop.jetpack-comics', 'body, #jetpack-comic-drop-zone', this.onDrop );
20
21 $( 'body' ).append(
22 $( '<div id="jetpack-comic-drop-zone"><p class="dragging" /><p class="uploading" /></div>' )
23 );
24 $( '#jetpack-comic-drop-zone' )
25 .find( '.dragging' )
26 .text( Jetpack_Comics_Options.labels.dragging )
27 .end()
28 .find( '.uploading' )
29 .text( Jetpack_Comics_Options.labels.uploading )
30 .prepend( $( '<span class="spinner"/>' ) );
31
32 if ( ! ( 'FileReader' in window && 'File' in window ) ) {
33 $( '#jetpack-comic-drop-zone .dragging' ).text( Jetpack_Comics_Options.labels.unsupported );
34 $( document )
35 .off( 'drop.jetpack-comics' )
36 .on( 'drop.jetpack-comics', 'body, #jetpack-comic-drop-zone', this.onDragLeave );
37 }
38 },
39
40 /**
41 * Only upload image files.
42 */
43 filterImageFiles: function ( files ) {
44 var validFiles = [];
45
46 for ( var i = 0, _len = files.length; i < _len; i++ ) {
47 if ( files[ i ].type.match( /^image\//i ) ) {
48 validFiles.push( files[ i ] );
49 }
50 }
51
52 return validFiles;
53 },
54
55 dragTimeout: null,
56
57 onDragOver: function ( event ) {
58 event.preventDefault();
59
60 clearTimeout( Jetpack_Comics.dragTimeout );
61
62 $( 'body' ).addClass( 'dragging' );
63 },
64
65 onDragLeave: function (/*event*/) {
66 clearTimeout( Jetpack_Comics.dragTimeout );
67
68 // In Chrome, the screen flickers because we're moving the drop zone in front of 'body'
69 // so the dragover/dragleave events happen frequently.
70 Jetpack_Comics.dragTimeout = setTimeout( function () {
71 $( 'body' ).removeClass( 'dragging' );
72 }, 100 );
73 },
74
75 onDrop: function ( event ) {
76 event.preventDefault();
77 event.stopPropagation();
78
79 // recent chrome bug requires this, see stackoverflow thread: http://bit.ly/13BU7b5
80 event.originalEvent.stopPropagation();
81 event.originalEvent.preventDefault();
82
83 var files = Jetpack_Comics.filterImageFiles( event.originalEvent.dataTransfer.files );
84
85 $( 'body' ).removeClass( 'dragging' );
86
87 if ( files.length === 0 ) {
88 alert( Jetpack_Comics_Options.labels.invalidUpload );
89 return;
90 }
91
92 $( 'body' ).addClass( 'uploading' );
93
94 var formData = new FormData();
95
96 for ( var i = 0, fl = files.length; i < fl; i++ ) {
97 formData.append( 'image_' + i, files[ i ] ); // won't work as image[]
98 }
99
100 $.ajax( {
101 url: Jetpack_Comics_Options.writeURL + '&nonce=' + Jetpack_Comics_Options.nonce,
102 data: formData,
103 processData: false,
104 contentType: false,
105 type: 'POST',
106 dataType: 'json',
107 xhrFields: {
108 withCredentials: true,
109 },
110 } )
111 .done( function ( data ) {
112 $( '#jetpack-comic-drop-zone .uploading' ).text(
113 Jetpack_Comics_Options.labels.processing
114 );
115
116 if ( 'url' in data ) {
117 document.location.href = data.url;
118 } else if ( 'error' in data ) {
119 alert( data.error );
120
121 $( 'body' ).removeClass( 'uploading' );
122 }
123 } )
124 .fail( function (/*req*/) {
125 alert( Jetpack_Comics_Options.labels.error );
126 } );
127 },
128 };
129
130 Jetpack_Comics.init();
131 } );
132