WordPress.org

Make WordPress Core

Ticket #42750: Image Editor Source.txt

File Image Editor Source.txt, 5.9 KB (added by viajarapie, 3 years ago)

Image Editor Source excerpt

Line 
1<script type="text/javascript">
2jQuery( function($) {
3        var wpasTitleCounter    = $( '#wpas-title-counter' ),
4                wpasTwitterCheckbox = $( '.wpas-submit-twitter' ).length,
5                wpasTitle = $('#wpas-title').keyup( function() {
6                var length = wpasTitle.val().length;
7                wpasTitleCounter.text( length );
8                if ( wpasTwitterCheckbox && length > 116 ) {
9                        wpasTitleCounter.addClass( 'wpas-twitter-length-limit' );
10                } else {
11                        wpasTitleCounter.removeClass( 'wpas-twitter-length-limit' );
12                }
13                } ),
14                authClick = false;
15
16        $('#publicize-disconnected-form-show').click( function() {
17                $('#publicize-form').slideDown( 'fast' );
18                $(this).hide();
19        } );
20
21        $('#publicize-disconnected-form-hide').click( function() {
22                $('#publicize-form').slideUp( 'fast' );
23                $('#publicize-disconnected-form-show').show();
24        } );
25
26        $('#publicize-form-edit').click( function() {
27                $('#publicize-form').slideDown( 'fast', function() {
28                        wpasTitle.focus();
29                        if ( !wpasTitle.text() ) {
30                                var url = $('#shortlink').length ? $('#shortlink').val() : '';
31
32                                var defaultMessage = $.trim( '' + $("#title").val() + ' ' );
33
34                                wpasTitle.append( defaultMessage.replace( /<[^>]+>/g,'') );
35
36                                var selBeg = defaultMessage.indexOf( $("#title").val() );
37                                if ( selBeg < 0 ) {
38                                        selBeg = 0;
39                                        selEnd = 0;
40                                } else {
41                                        selEnd = selBeg + $("#title").val().length;
42                                }
43
44                                var domObj = wpasTitle.get(0);
45                                if ( domObj.setSelectionRange ) {
46                                        domObj.setSelectionRange( selBeg, selEnd );
47                                } else if ( domObj.createTextRange ) {
48                                        var r = domObj.createTextRange();
49                                        r.moveStart( 'character', selBeg );
50                                        r.moveEnd( 'character', selEnd );
51                                        r.select();
52                                }
53                        }
54                        wpasTitle.keyup();
55                } );
56                $('#publicize-defaults').hide();
57                $(this).hide();
58                return false;
59        } );
60
61        $('#publicize-form-hide').click( function() {
62                var newList = $.map( $('#publicize-form').slideUp( 'fast' ).find( ':checked' ), function( el ) {
63                        return $.trim( $(el).parent( 'label' ).text() );
64                } );
65                $('#publicize-defaults').html( '<strong>' + newList.join( '</strong>, <strong>' ) + '</strong>' ).show();
66                $('#publicize-form-edit').show();
67                return false;
68        } );
69
70        $('.authorize-link').click( function() {
71                if ( authClick ) {
72                        return false;
73                }
74                authClick = true;
75                $(this).after( '<img src="images/loading.gif" class="alignleft" style="margin: 0 .5em" />' );
76                $.ajaxSetup( { async: false } );
77
78                if ( window.wp && window.wp.autosave ) {
79                        window.wp.autosave.server.triggerSave();
80                } else {
81                        autosave();
82                }
83
84                return true;
85        } );
86
87        $( '.pub-service' ).click( function() {
88                var service = $(this).data( 'service' ),
89                        fakebox = '<input id="wpas-submit-' + service + '" type="hidden" value="1" name="wpas[submit][' + service + ']" />';
90                $( '#add-publicize-check' ).append( fakebox );
91        } );
92
93        publicizeConnTestStart = function() {
94                $( '#pub-connection-tests' )
95                        .removeClass( 'below-h2' )
96                        .removeClass( 'error' )
97                        .removeClass( 'publicize-token-refresh-message' )
98                        .addClass( 'test-in-progress' )
99                        .html( '' );
100                $.post( ajaxurl, { action: 'test_publicize_conns' }, publicizeConnTestComplete );
101        }
102
103        publicizeConnRefreshClick = function( event ) {
104                event.preventDefault();
105                var popupURL = event.currentTarget.href;
106                var popupTitle = event.currentTarget.title;
107                // open a popup window
108                // when it is closed, kick off the tests again
109                var popupWin = window.open( popupURL, popupTitle, '' );
110                var popupWinTimer= window.setInterval( function() {
111                        if ( popupWin.closed !== false ) {
112                                window.clearInterval( popupWinTimer );
113                                publicizeConnTestStart();
114                        }
115                }, 500 );
116        }
117
118        publicizeConnTestComplete = function( response ) {
119                var testsSelector = $( '#pub-connection-tests' );
120                testsSelector
121                        .removeClass( 'test-in-progress' )
122                        .removeClass( 'below-h2' )
123                        .removeClass( 'error' )
124                        .removeClass( 'publicize-token-refresh-message' )
125                        .html( '' );
126
127                // If any of the tests failed, show some stuff
128                var somethingShownAlready = false;
129                $.each( response.data, function( index, testResult ) {
130                        // find the li for this connection
131                        if ( ! testResult.connectionTestPassed ) {
132                                if ( ! somethingShownAlready ) {
133                                        testsSelector
134                                                .addClass( 'below-h2' )
135                                                .addClass( 'error' )
136                                                .addClass( 'publicize-token-refresh-message' )
137                                                .append( "<p>Before you hit Publish, please refresh the following connection(s) to make sure we can Publicize your post:</p>" );
138                                        somethingShownAlready = true;
139                                }
140
141                                if ( testResult.userCanRefresh ) {
142                                        testsSelector.append( '<p/>' );
143                                        $( '<a/>', {
144                                                'class'  : 'pub-refresh-button button',
145                                                'title'  : testResult.refreshText,
146                                                'href'   : testResult.refreshURL,
147                                                'text'   : testResult.refreshText,
148                                                'target' : '_refresh_' + testResult.serviceName
149                                        } )
150                                                .appendTo( testsSelector.children().last() )
151                                                .click( publicizeConnRefreshClick );
152                                }
153                        }
154                } );
155        }
156
157        $( document ).ready( function() {
158                // If we have the #pub-connection-tests div present, kick off the connection test
159                if ( $( '#pub-connection-tests' ).length ) {
160                        publicizeConnTestStart();
161                }
162        } );
163
164} );
165</script>
166
167<style type="text/css">
168#publicize {
169        line-height: 1.5;
170}
171#publicize ul {
172        margin: 4px 0 4px 6px;
173}
174#publicize li {
175        margin: 0;
176}
177#publicize textarea {
178        margin: 4px 0 0;
179        width: 100%
180}
181#publicize ul.not-connected {
182        list-style: square;
183        padding-left: 1em;
184}
185.post-new-php .authorize-link, .post-php .authorize-link {
186        line-height: 1.5em;
187}
188.post-new-php .authorize-message, .post-php .authorize-message {
189        margin-bottom: 0;
190}
191#poststuff #publicize .updated p {
192        margin: .5em 0;
193}
194.wpas-twitter-length-limit {
195        color: red;
196}
197</style><script type="text/javascript">
198jQuery(document).ready(function($) {
199        $('#wfMenuCallout').closest('a').attr('target', '_blank').attr('rel', 'noopener noreferrer');
200});
201</script>