WordPress.org

Plugin Directory

Changeset 660429


Ignore:
Timestamp:
01/29/13 00:49:38 (15 months ago)
Author:
markjaquith
Message:

deploy from git

Location:
wp-help/trunk
Files:
6 added
2 deleted
8 edited

Legend:

Unmodified
Added
Removed
  • wp-help/trunk/css/wp-help.css

    r593586 r660429  
    1 #cws-wp-help-listing { 
    2     width: 250px; 
    3     float: left; 
    4     clear: both; 
    5     margin: 10px 10px 10px 0; 
    6     padding: 10px; 
    7     border: 1px solid #ddd; 
    8     -moz-border-radius: 3px; 
    9     -khtml-border-radius: 3px; 
    10     -webkit-border-radius: 3px; 
    11     border-radius: 3px; 
    12     background: #f4f4f4; 
    13     min-height: 400px; 
    14     } 
    15  
    16 #cws-wp-help-listing ul li a { 
    17     text-decoration: none; 
    18     } 
    19  
    20 #cws-wp-help-listing h3 { 
    21     margin: 0; 
    22     padding: 0; 
    23     } 
    24  
    25 #cws-wp-help-actions { 
    26     padding-bottom: 5px; 
    27     } 
    28  
    29 #cws-wp-help-actions a { 
    30     text-decoration: none; 
    31     float: right; 
    32     font-size: 12px; 
    33     max-height: 16px; 
    34     font-weight: normal; 
    35     padding: 3px 4px; 
    36     margin-left: 5px; 
    37     right: -5px; 
    38     top: -5px; 
    39     position: relative; 
    40     border: 1px solid #ccc; 
    41     -moz-border-radius: 3px; 
    42     -khtml-border-radius: 3px; 
    43     -webkit-border-radius: 3px; 
    44     border-radius: 3px; 
    45     background: #fff; 
    46     box-shadow: #ddd 1px 1px 3px; 
    47     } 
    48  
    49 #cws-wp-help-actions a#cws-wp-help-settings-on { 
    50     float: left; 
    51     left: -5px; 
    52     margin-left: 0; 
    53     } 
    54  
    55 #cws-wp-help-actions a:hover { 
    56     background: #fafafa; 
    57     border: 1px solid #c5c5c5; 
    58     } 
    59  
    60 #cws-wp-help-listing ul { 
    61     margin: 5px 5px 5px 15px; 
    62     list-style: circle; 
    63     } 
    64  
    65 #cws-wp-help-listing > ul { 
    66     margin: 10px 5px 10px 20px; 
    67     } 
    68  
    69 #cws-wp-help-listing ul ul { 
    70     list-style: square; 
    71     } 
    72  
    73 #cws-wp-help-document, #cws-wp-help-settings { 
    74     max-width: 600px; 
    75     padding-left: 300px; 
    76     } 
    77  
    78 #cws-wp-help-document h2 small { 
    79     font-size: 12px; 
    80     font-family: sans-serif; 
    81     color: #888; 
    82     text-shadow: white 0 1px 0; 
    83     } 
    84  
    85 #cws-wp-help-document h2 small a { 
    86     text-decoration: none; 
    87     } 
    88  
    89 #cws-wp-help-settings, #cws-wp-help-listing-labels, #cws-wp-help-h2-label-wrap { 
    90     display: none; 
    91     } 
    92  
    93 #cws-wp-help-settings ul, #cws-wp-help-document ul { 
    94     padding-left: 25px; 
    95     list-style: square; 
    96     } 
    97  
    98 #cws-wp-help-settings li { 
    99     font-style: italic; 
    100     } 
    101  
    102 #cws-wp-help-settings-cancel { 
    103     margin-left: 10px; 
    104     } 
    105  
    106 #cws-wp-help-listing-labels { 
    107     margin-bottom: -10px; 
    108     } 
    109  
    110 input#cws-wp-help-listing-label { 
    111     font-family: sans-serif; 
    112     font-size: 1.17em; 
    113     font-weight: bold; 
    114     position: relative; 
    115     left: -6px; 
    116     top: -5px; 
    117     border: 1px dashed #dfdfdf; 
    118     width: 258px; 
    119     background: #ffffee; 
    120     } 
    121  
    122 #cws-wp-help-h2-label-wrap { 
    123     margin-bottom: -4px; 
    124     } 
    125  
    126 input#cws-wp-help-h2-label { 
    127     font-family: "HelveticaNeue-Light", "Helvetica Neue Light", "Helvetica Neue", sans-serif; 
    128     font-size: 23px; 
    129     color: #464646; 
    130     text-shadow: white 0 1px 0; 
    131     line-height: 29px; 
    132     position: relative; 
    133     top: -4px; 
    134     left: -5px; 
    135     margin: 9px 15px 0 0; 
    136     border: 1px dashed #dfdfdf; 
    137     width: 450px; 
    138     background: #ffffee; 
    139     } 
    140  
    141 input#cws-wp-help-api-url, input#cws-wp-help-slurp-url { 
    142     width: 100%; 
    143     } 
    144  
    145 #cws-wp-help-slurp-error { 
    146     display: none; 
    147     margin: 5px 0 15px; 
    148     background: #FFEBE8; 
    149     border-color: #CC0000; 
    150     padding: 0 0.6em; 
    151     -moz-border-radius: 3px; 
    152     -khtml-border-radius: 3px; 
    153     -webkit-border-radius: 3px; 
    154     border-radius: 3px; 
    155     border-width: 1px; 
    156     border-style: solid; 
    157     } 
    158  
    159 #icon-wp-help { 
    160     background: transparent url( '../images/icon-32.png' ) no-repeat; 
    161     } 
    162  
    163 .cws-wp-help-placeholder { 
    164     background: #dadada; 
    165     height: 40px; 
    166     padding-left: 17px; 
    167     left: -17px; 
    168     position: relative; 
    169     border: 1px dashed #bbb; 
    170     -moz-border-radius: 3px; 
    171     -khtml-border-radius: 3px; 
    172     -webkit-border-radius: 3px; 
    173     border-radius: 3px; 
    174     list-style: none; 
    175     } 
    176  
    177 #cws-wp-help-listing-wrap { 
    178     /* background: pink; */ 
    179     } 
    180  
    181 #cws-wp-help-listing-wrap ul > li > img.sort-handle, #cws-wp-help-listing-wrap ul > div#cws-wp-help-remote-docs-block > li > img.sort-handle { 
    182     display: none; 
    183     } 
    184  
    185 #cws-wp-help-listing-wrap ul.ui-sortable li { 
    186     position: relative; 
    187     } 
    188  
    189 #cws-wp-help-listing-wrap ul.ui-sortable > li.cws-wp-help-local, #cws-wp-help-listing-wrap ul.ui-sortable > div#cws-wp-help-remote-docs-block> li:first-child { 
    190     list-style: none; 
    191     } 
    192  
    193  
    194 #cws-wp-help-listing-wrap ul.ui-sortable > li.cws-wp-help-local > img.sort-handle, #cws-wp-help-listing-wrap ul.ui-sortable > div#cws-wp-help-remote-docs-block> li:first-child > img.sort-handle { 
    195     display: inline; 
    196     position: absolute; 
    197     left: -17px; 
    198     vertical-align: middle; 
    199     } 
    200  
    201 #cws-wp-help-listing-wrap ul.ui-sortable > li.cws-wp-help-is-slurped > img.sort-handle { 
    202     display: none; 
    203     } 
    204  
    205 #cws-wp-help-listing-wrap ul.can-sort .sort-handle:hover { 
    206     cursor: move; 
    207     } 
    208  
    209 #cws-wp-help-loading { 
    210     position: absolute; 
    211     top: 19px; 
    212     left: 27px; 
    213     } 
     1#cws-wp-help-actions{padding-bottom:5px}#cws-wp-help-actions a{text-decoration:none;float:right;font-size:12px;max-height:16px;font-weight:normal;padding:3px 4px;margin-left:5px;right:-5px;top:-5px;position:relative;border:1px solid #ccc;background:#fff;-webkit-border-radius:3px;-moz-border-radius:3px;-ms-border-radius:3px;-o-border-radius:3px;border-radius:3px;-webkit-box-shadow:#ddd 1px 1px 3px;-moz-box-shadow:#ddd 1px 1px 3px;box-shadow:#ddd 1px 1px 3px}#cws-wp-help-actions a#cws-wp-help-settings-on{float:left;left:-5px;margin-left:0}#cws-wp-help-actions a:hover{background:#fafafa;border:1px solid #c5c5c5}#cws-wp-help-listing{width:250px;float:left;clear:both;margin:10px 10px 10px 0;padding:10px;border:1px solid #ddd;background:#f4f4f4;min-height:400px;-webkit-border-radius:3px;-moz-border-radius:3px;-ms-border-radius:3px;-o-border-radius:3px;border-radius:3px}#cws-wp-help-listing ul li a{text-decoration:none}#cws-wp-help-listing h3{margin:0;padding:0}#cws-wp-help-listing ul{margin:5px 5px 5px 15px;list-style:circle}#cws-wp-help-listing ul ul{list-style:square}#cws-wp-help-listing>ul{margin:10px 5px 10px 20px}#cws-wp-help-document,#cws-wp-help-settings{max-width:600px;padding-left:300px}#cws-wp-help-document ul,#cws-wp-help-settings ul{padding-left:25px;list-style:square}#cws-wp-help-document h2 small{font-size:12px;font-family:sans-serif;color:#888;text-shadow:#fff 0 1px 0}#cws-wp-help-document h2 small a{text-decoration:none}#cws-wp-help-settings li{font-style:italic}#cws-wp-help-settings,#cws-wp-help-listing-labels,#cws-wp-help-h2-label-wrap{display:none}#cws-wp-help-settings-cancel{margin-left:10px}#cws-wp-help-listing-labels{margin-bottom:-10px}input#cws-wp-help-listing-label{font-family:sans-serif;font-size:1.17em;font-weight:bold;position:relative;left:-5px;top:-5px;border:1px dashed #dfdfdf;width:258px;background:#ffe}#cws-wp-help-h2-label-wrap{margin-bottom:-4px}input#cws-wp-help-h2-label{font-family:"HelveticaNeue-Light","Helvetica Neue Light","Helvetica Neue",sans-serif;font-size:23px;color:#464646;line-height:29px;position:relative;top:-4px;left:-4px;margin:9px 15px 0 0;border:1px dashed #dfdfdf;width:450px;background:#ffe;text-shadow:#fff 0 1px 0}input#cws-wp-help-api-url,input#cws-wp-help-slurp-url{width:100%}#cws-wp-help-slurp-error{display:none;margin:5px 0 15px;background:#ffebe8;border:1px solid #c00;padding:0 0.6em;-webkit-border-radius:3px;-moz-border-radius:3px;-ms-border-radius:3px;-o-border-radius:3px;border-radius:3px}#icon-wp-help{background:transparent url("../images/icon-32.png") no-repeat}.cws-wp-help-placeholder{background:#dadada;height:40px;padding-left:17px;left:-17px;position:relative;list-style:none;border:1px dashed #bbb;-webkit-border-radius:3px;-moz-border-radius:3px;-ms-border-radius:3px;-o-border-radius:3px;border-radius:3px}#cws-wp-help-listing-wrap ul>li>img.sort-handle,#cws-wp-help-listing-wrap ul>div#cws-wp-help-remote-docs-block>li>img.sort-handle,#cws-wp-help-listing-wrap ul.ui-sortable>li.cws-wp-help-is-slurped>img.sort-handle{display:none}#cws-wp-help-listing-wrap ul.ui-sortable li{position:relative}#cws-wp-help-listing-wrap ul.ui-sortable>li.cws-wp-help-local>img.sort-handle,#cws-wp-help-listing-wrap ul.ui-sortable>div#cws-wp-help-remote-docs-block>li:first-child>img.sort-handle{display:inline;position:absolute;left:-17px;vertical-align:middle}#cws-wp-help-listing-wrap ul.ui-sortable>li.cws-wp-help-local,#cws-wp-help-listing-wrap ul.ui-sortable>div#cws-wp-help-remote-docs-block>li:first-child{list-style:none}#cws-wp-help-listing-wrap ul.can-sort .sort-handle:hover{cursor:move}#cws-wp-help-loading{position:absolute;top:19px;left:27px} 
  • wp-help/trunk/js/wp-help.js

    r593586 r660429  
    1 (function($) { 
    2     $(function() { 
    3 // ========================================================== 
    4         var api, load; 
    5  
    6         (function() { 
    7             var whens = [], 
    8                 deferred, 
    9                 timeout; 
    10  
    11             load = { 
    12                 start: function( sensitivity ) { 
    13                     // Create the timer deferred: the read/write timer state. 
    14                     var timer = $.Deferred(); 
    15  
    16                     // Default to an instant success. 
    17                     sensitivity = sensitivity || 0; 
    18  
    19                     // Show the spinner. 
    20                     data.loading.show(); 
    21  
    22                     // Start the timer. 
    23                     setTimeout( function() { 
    24                         // When the timer completes, resolve the deferred (success). 
    25                         timer.resolve(); 
    26                     }, sensitivity ); 
    27  
    28                     // Return the promise: the read-only timer state. 
    29                     return timer.promise(); 
    30                 }, 
    31                 stop: function() { 
    32                     if ( deferred ) 
    33                         deferred.reject(); 
    34                     deferred = null; 
    35                     whens = []; 
    36  
    37                     data.loading.hide(); 
    38                 }, 
    39                 /** 
    40                  * Show the loading spinner until all the promises succeed. 
    41                  * Optionally show the spinner for a minimum amount of time. 
    42                  * 
    43                  * until( [sensitivity], promises* ); 
    44                  * @param  {number} sensitivity The number of milliseconds to show the spinner, at minimum. 
    45                  * @param  {object} promises*   Any number of jQuery promises. 
    46                  * @return {object}             A jQuery promise representing the state of all input promises. 
    47                  */ 
    48                 until: function() { 
    49                     deferred = deferred || $.Deferred().always( api.load.stop ); 
    50  
    51                     // Make arguments into a real array. 
    52                     var promises    = Array.prototype.slice.call( arguments ), 
    53                         sensitivity = typeof arguments[0] === 'number' ? promises.shift() : 0, 
    54                         index       = whens.push( false ) - 1; 
    55  
    56                     // Add the start promise onto the the stack. 
    57                     promises.push( api.load.start( sensitivity ) ); 
    58  
    59                     // When all the promises are complete (including the timer), hide the timer. 
    60                     // $.when returns a promise object. 
    61  
    62                     $.when.apply( $, promises ).always( function() { 
    63                         whens[ index ] = true; 
    64                         // Are there any pending requests? 
    65                         if ( -1 === $.inArray( false, whens ) ) 
    66                             deferred.resolve(); 
    67                     }); 
    68  
    69                     return deferred.promise(); 
    70                 } 
    71             }; 
    72         }()); 
    73  
    74  
    75         api = { 
    76             p: function(i) { 
    77                 return $('#cws-wp-help-' + i); 
    78             }, 
    79             load: load, 
    80             bindH2Updates: function() { 
    81                 // Refresh this in case we just moved the menu 
    82                 data.menu = $( '#adminmenu a.current .wp-menu-name' ); // WordPress 3.5+ 
    83                 if ( !data.menu.length ) // WordPress 3.4.x and lower 
    84                     data.menu = $( '#adminmenu a.current' ); 
    85                 data.menu.text( data.h2.edit.input.val() ); 
    86                 // Send h2 updates to the menu item as we type 
    87                 data.h2.edit.input.bind( 'keyup', function() { 
    88                     data.menu.text( $( this ).val() ); 
    89                 }); 
    90             }, 
    91             sortable: function() { 
    92                 $( this ).sortable({ 
    93                     opacity: 0.8, 
    94                     placeholder: 'cws-wp-help-placeholder', 
    95                     axis: 'y', 
    96                     cursor: 'move', 
    97                     cursorAt: { left: 0, top: 0 }, 
    98                     distance: 10, 
    99                     delay: 50, 
    100                     handle: '.sort-handle', 
    101                     items: '> li.cws-wp-help-local, > div#cws-wp-help-remote-docs-block', 
    102                     start: function( e, ui ) { 
    103                         var item = $( ui.item ), placeholder = $( '.cws-wp-help-placeholder' ), offset; 
    104                         if ( item.attr( 'id' ) === 'cws-wp-help-remote-docs-block' ) 
    105                             offset = 4; 
    106                         else 
    107                             offset = -2; 
    108                         placeholder.height( item.height() + offset ); 
    109                     }, 
    110                     update: function( e, ui ) { 
    111                         var request = $.post( ajaxurl, { 
    112                             action: 'cws_wp_help_reorder', 
    113                             _ajax_nonce: data.ul.data( 'nonce' ), 
    114                             order: $(this).sortable( 'toArray' ) 
    115                         }); 
    116  
    117                         api.load.until( 200, request ); 
    118                     } 
    119                 }); 
    120                 $( this ).find( "> li:not(.cws-wp-help-is-slurped) > ul > li:nth-child(2)" ).parent( 'ul' ).each( api.sortable ); 
    121             }, 
    122             sortableInit: function() { 
    123                 // Wrap remote docs 
    124                 data.ul.find( '> #cws-wp-help-remote-docs-block > li' ).unwrap(); 
    125                 data.ul.find( '> li.cws-wp-help-is-slurped:first' ).before( '<div id="cws-wp-help-remote-docs-block"></div>' ); 
    126                 data.ul.find( '> li.cws-wp-help-is-slurped' ).detach().appendTo( '#cws-wp-help-remote-docs-block' ); 
    127  
    128                 // Sortable 
    129                 data.ulSortable.each( api.sortable ); 
    130             }, 
    131             init: function() { 
    132                 // Small CSS Tweaks for Firefox 
    133                 if ( $.browser.mozilla ) { 
    134                     data.h2.edit.input.css( 'top', '-3px' ).css( 'margin-bottom', '1px' ); 
    135                     data.h3.edit.input.css( 'margin-top', '2px' ).css( 'margin-bottom', '2.25px' ); 
    136                 } 
    137  
    138                 // Sortable 
    139                 api.sortableInit(); 
    140  
    141                 // Add IDs to the list 
    142                 data.ul.find( 'li.page_item' ).each( function() { 
    143                     $(this).attr( 'id', 'page-' + $(this).attr( 'class' ).match( /page-item-([0-9]+)/ )[1] ); 
    144                 }); 
    145  
    146                 // Clicking the source API URI 
    147                 data.apiURL.click( function() { 
    148                     this.select(); 
    149                 }); 
    150  
    151                 // Clicking the "Save Changes" button 
    152                 data.saveButton.click( function() { 
    153                     api.saveSettings(); 
    154                 }); 
    155  
    156                 // Clicking the "Cancel" button (settings) 
    157                 data.cancelLink.click( function(e){ 
    158                     e.preventDefault(); 
    159                     api.restoreSettings(); 
    160                     api.hideSettings(); 
    161                 }); 
    162  
    163                 // Clicking the "Settings" button 
    164                 data.settingsButton.click( function(e) { 
    165                     e.preventDefault(); 
    166                     api.revealSettings( true ); // true = autofocus on the h2 with no highlighting 
    167                 }); 
    168  
    169                 // Doubleclick the h2 
    170                 data.h2.display.text.dblclick( function() { 
    171                     api.revealSettings(); 
    172                     data.h2.edit.input.focus().select(); 
    173                 }); 
    174  
    175                 // Doubleclick the h3 
    176                 data.h3.display.text.dblclick( function() { 
    177                     api.revealSettings(); 
    178                     data.h3.edit.input.focus().select(); 
    179                 }); 
    180  
    181                 // Monitor for "return" presses in our text inputs 
    182                 data.returnMonitor.bind( 'keydown', function(e) { 
    183                     if ( 13 == e.which ) { 
    184                         $( this ).blur(); 
    185                         api.saveSettings(); 
    186                     } 
    187                 }); 
    188  
    189                 api.bindH2Updates(); 
    190  
    191                 // Preview menu placement "live" 
    192                 data.menuLocation.change( function() { 
    193                     var newLocation = String( window.location ); 
    194                     if ( data.menuLocation.val().indexOf( 'submenu' ) == -1 ) { 
    195                         newLocation = newLocation.replace( '/index.php', '/admin.php' ); 
    196                     } else { 
    197                         newLocation = newLocation.replace( '/admin.php', '/index.php' ); 
    198                     } 
    199                     var newLocationPreview = String( newLocation ) + '&wp-help-preview-menu-location=' + data.menuLocation.val(); 
    200                     var commonScript = String( newLocation ).replace( /\/wp-admin\/.*$/, '/wp-admin/js/common.js' ); 
    201  
    202                     $( '#adminmenu' ).load( newLocationPreview + ' #adminmenu', function() { 
    203                         if ( window.history.replaceState ) { 
    204                             window.history.replaceState( null, null, newLocation ); 
    205                         } 
    206                         $.getScript( commonScript ); // Makes the menu work again 
    207                         api.bindH2Updates(); // Makes live H2 previewing work again 
    208                     }); 
    209                 }); 
    210             }, 
    211             fadeOutIn: function(first, second) { 
    212                 first.fadeOut( 150, function() { 
    213                     second.fadeIn( 150 ); 
    214                 }); 
    215             }, 
    216             hideShow: function(hide, show) { 
    217                 hide.hide(); 
    218                 show.show(); 
    219             }, 
    220             revealSettings: function(autofocus) { 
    221                 $([ data.h2, data.h3 ]).each( function() { 
    222                     api.hideShow( this.display.wrap, this.edit.wrap ); 
    223                 }); 
    224                 data.actions.fadeTo( 200, 0.3 ); 
    225                 data.ul.fadeTo( 200, 0.3 ); 
    226                 api.fadeOutIn( data.doc, data.settings ); 
    227                 if ( autofocus ) { 
    228                     (function(h2) { 
    229                         h2.focus().select(); 
    230                     })(data.h2.edit.input); 
    231                 } 
    232             }, 
    233             restoreSettings: function() { 
    234                 $( 'input, select', data.settings ).each( function(){ 
    235                     var i = $(this); 
    236                     if ( i.data( 'original-value' ) ) { 
    237                         i.val( i.data( 'original-value' ) ).change(); 
    238                     } 
    239                 }); 
    240             }, 
    241             saveSettings: function() { 
    242                 api.clearError(); 
    243                 $([ data.h2, data.h3 ]).each( function() { 
    244                     this.display.text.text( this.edit.input.val() ); 
    245                 }); 
    246                 var request = $.post( ajaxurl, { 
    247                     action: 'cws_wp_help_settings', 
    248                     _ajax_nonce: $('#_cws_wp_help_nonce').val(), 
    249                     h2: data.h2.edit.input.val(), 
    250                     h3: data.h3.edit.input.val(), 
    251                     menu_location: data.menuLocation.val(), 
    252                     slurp_url: data.slurp.val() 
    253                 }, function(result) { 
    254                     result = $.parseJSON( result ); 
    255                     data.slurp.val( result.slurp_url ); 
    256                     if ( result.error ) { 
    257                         api.error( result.error ); 
    258                         data.slurp.focus(); 
    259                     } else { 
    260                         api.hideSettings(); 
    261                     } 
    262                     if ( result.topics ) { 
    263                         api.p( 'nodocs' ).remove(); 
    264                         data.ul.html( result.topics ); 
    265                         api.sortableInit(); 
    266                     } 
    267                 }); 
    268                 api.load.until( 200, request ); 
    269             }, 
    270             hideSettings: function() { 
    271                 $([ data.h2, data.h3 ]).each( function() { 
    272                     api.hideShow( this.edit.wrap, this.display.wrap ); 
    273                 }); 
    274                 data.actions.fadeTo( 200, 1 ); 
    275                 data.ul.fadeTo( 200, 1 ); 
    276                 api.fadeOutIn( data.settings, data.doc ); 
    277             }, 
    278             clearError: function(){ 
    279                 data.slurpError.html('').hide(); 
    280             }, 
    281             error: function(msg){ 
    282                 data.slurpError.html( '<p>' + msg + '</p>' ).fadeIn(150); 
    283             } 
    284         }; 
    285  
    286         var data = { 
    287             h2: { 
    288                 edit: { 
    289                     input: api.p( 'h2-label' ), 
    290                     wrap: api.p( 'h2-label-wrap' ) 
    291                 }, 
    292                 display: { 
    293                     text: $( '.wrap h2:first' ), 
    294                     wrap: $( '.wrap h2:first' ) 
    295                 } 
    296             }, 
    297             h3: { 
    298                 edit: { 
    299                     input: api.p( 'listing-label' ), 
    300                     wrap: api.p( 'listing-labels' ) 
    301                 }, 
    302                 display: { 
    303                     text: api.p( 'listing h3' ), 
    304                     wrap: api.p( 'listing h3' ) 
    305                 } 
    306             }, 
    307             settingsButton: api.p( 'settings-on' ), 
    308             menu: function() { return $( '#adminmenu a.current' ); }, 
    309             doc: api.p( 'document' ), 
    310             // containment: api.p( 'listing-wrap > ul' ).parent( 'div' ), 
    311             ul: api.p( 'listing-wrap > ul' ), 
    312             ulSortable: api.p( 'listing-wrap > ul.can-sort' ), 
    313             actions: api.p( 'actions' ), 
    314             settings: api.p( 'settings' ), 
    315             listing: api.p( 'listing' ), 
    316             apiURL: api.p( 'api-url' ), 
    317             slurp: api.p( 'slurp-url' ), 
    318             slurpError: api.p( 'slurp-error' ), 
    319             saveButton: api.p( 'settings-save' ), 
    320             cancelLink: api.p( 'settings-cancel' ), 
    321             menuLocation: api.p( 'menu-location' ), 
    322             loading: api.p( 'loading' ), 
    323             returnMonitor: $( '.wrap input[type="text"]' ) 
    324         }; 
    325  
    326         // Bootstrap everything 
    327         api.init(); 
    328 // ========================================================== 
    329     }); 
    330 }(jQuery)); 
     1// Generated by CoffeeScript 1.4.0 
     2(function(){var e=[].slice;jQuery(function(t){var n,r,i;i=void 0;(function(){var s,o,u;u=[];s=void 0;o=void 0;return i={start:function(e){var n;e==null&&(e=0);n=t.Deferred();r.loading.show();setTimeout(function(){return n.resolve()},e);return n.promise()},stop:function(){s&&s.reject();s=null;u=[];return r.loading.hide()},until:function(){var r,i,o;o=arguments[0],i=2<=arguments.length?e.call(arguments,1):[];o==null&&(o=0);s=s||t.Deferred().always(n.load.stop);r=u.push(!1)-1;i.push(n.load.start(o));t.when.apply(t,i).always(function(){u[r]=!0;if(-1===t.inArray(!1,u))return s.resolve()});return s.promise()}}})();n={p:function(e){return t("#cws-wp-help-"+e)},load:i,bindH2Updates:function(){r.menu=t("#adminmenu a.current .wp-menu-name");r.menu.length||(r.menu=t("#adminmenu a.current"));r.menu.text(r.h2.edit.input.val());return r.h2.edit.input.bind("keyup",function(){return r.menu.text(t(this).val())})},sortable:function(){t(this).sortable({opacity:.8,placeholder:"cws-wp-help-placeholder",axis:"y",cursor:"move",cursorAt:{left:0,top:0},distance:10,delay:50,handle:".sort-handle",items:"> li.cws-wp-help-local, > div#cws-wp-help-remote-docs-block",start:function(e,n){var r,i,s;r=t(n.item);s=t(".cws-wp-help-placeholder");i=void 0;r.attr("id")==="cws-wp-help-remote-docs-block"?i=4:i=-2;return s.height(r.height()+i)},update:function(e,i){var s;s=t.post(ajaxurl,{action:"cws_wp_help_reorder",_ajax_nonce:r.ul.data("nonce"),order:t(this).sortable("toArray")});return n.load.until(200,s)}});return t(this).find("> li:not(.cws-wp-help-is-slurped) > ul > li:nth-child(2)").parent("ul").each(n.sortable)},sortableInit:function(){r.ul.find("> #cws-wp-help-remote-docs-block > li").unwrap();r.ul.find("> li.cws-wp-help-is-slurped:first").before('<div id="cws-wp-help-remote-docs-block"></div>');r.ul.find("> li.cws-wp-help-is-slurped").detach().appendTo("#cws-wp-help-remote-docs-block");return r.ulSortable.each(n.sortable)},init:function(){if(t.browser.mozilla){r.h2.edit.input.css({top:"-3px",left:"-5px","margin-bottom":"1px"});r.h3.edit.input.css({"margin-top":"2px","margin-bottom":"2.25px",left:"-6px"})}n.sortableInit();r.ul.find("li.page_item").each(function(){return t(this).attr("id","page-"+t(this).attr("class").match(/page-item-([0-9]+)/)[1])});r.apiURL.click(function(){return this.select()});r.saveButton.click(function(){return n.saveSettings()});r.cancelLink.click(function(e){e.preventDefault();n.restoreSettings();return n.hideSettings()});r.settingsButton.click(function(e){e.preventDefault();return n.revealSettings(!0)});r.h2.display.text.dblclick(function(){n.revealSettings();return r.h2.edit.input.focus().select()});r.h3.display.text.dblclick(function(){n.revealSettings();return r.h3.edit.input.focus().select()});r.returnMonitor.bind("keydown",function(e){if(13===e.which){t(this).blur();return n.saveSettings()}});n.bindH2Updates();return r.menuLocation.change(function(){var e,i,s;i=String(window.location);r.menuLocation.val().indexOf("submenu")===-1?i=i.replace("/index.php","/admin.php"):i=i.replace("/admin.php","/index.php");s=""+String(i)+"&wp-help-preview-menu-location="+r.menuLocation.val();e=String(i).replace(/\/wp-admin\/.*$/,"/wp-admin/js/common.js");return t("#adminmenu").load(s+" #adminmenu",function(){window.history.replaceState&&window.history.replaceState(null,null,i);t.getScript(e);return n.bindH2Updates()})})},fadeOutIn:function(e,t){return e.fadeOut(150,function(){return t.fadeIn(150)})},hideShow:function(e,t){e.hide();return t.show()},revealSettings:function(e){var t,i,s,o;o=[r.h2,r.h3];for(i=0,s=o.length;i<s;i++){t=o[i];n.hideShow(t.display.wrap,t.edit.wrap)}r.actions.fadeTo(200,.3);r.ul.fadeTo(200,.3);n.fadeOutIn(r.doc,r.settings);if(e)return r.h2.edit.input.focus().select()},restoreSettings:function(){return t("input, select",r.settings).each(function(){var e;e=t(this);if(e.data("original-value"))return e.val(e.data("original-value")).change()})},saveSettings:function(){var e;n.clearError();t([r.h2,r.h3]).each(function(){return this.display.text.text(this.edit.input.val())});e=t.post(ajaxurl,{action:"cws_wp_help_settings",_ajax_nonce:t("#_cws_wp_help_nonce").val(),h2:r.h2.edit.input.val(),h3:r.h3.edit.input.val(),menu_location:r.menuLocation.val(),slurp_url:r.slurp.val()});e.success(function(e){e=t.parseJSON(e);r.slurp.val(e.slurp_url);if(e.error){n.error(e.error);r.slurp.focus()}else n.hideSettings();if(e.topics){n.p("nodocs").remove();r.ul.html(e.topics);return n.sortableInit()}});return n.load.until(200,e)},hideSettings:function(){var e,t,i,s;s=[r.h2,r.h3];for(t=0,i=s.length;t<i;t++){e=s[t];n.hideShow(e.edit.wrap,e.display.wrap)}r.actions.fadeTo(200,1);r.ul.fadeTo(200,1);return n.fadeOutIn(r.settings,r.doc)},clearError:function(){return r.slurpError.html("").hide()},error:function(e){return r.slurpError.html("<p>"+e+"</p>").fadeIn(150)}};r={menu:function(){return t("#adminmenu a.current")},h2:{edit:{input:n.p("h2-label"),wrap:n.p("h2-label-wrap")},display:{text:t(".wrap h2:first"),wrap:t(".wrap h2:first")}},h3:{edit:{input:n.p("listing-label"),wrap:n.p("listing-labels")},display:{text:n.p("listing h3"),wrap:n.p("listing h3")}},settingsButton:n.p("settings-on"),doc:n.p("document"),ul:n.p("listing-wrap > ul"),ulSortable:n.p("listing-wrap > ul.can-sort"),actions:n.p("actions"),settings:n.p("settings"),listing:n.p("listing"),apiURL:n.p("api-url"),slurp:n.p("slurp-url"),slurpError:n.p("slurp-error"),saveButton:n.p("settings-save"),cancelLink:n.p("settings-cancel"),menuLocation:n.p("menu-location"),loading:n.p("loading"),returnMonitor:t('.wrap input[type="text"]')};return n.init()})}).call(this); 
  • wp-help/trunk/readme.txt

    r635503 r660429  
    11=== WP Help === 
    2 Contributors: markjaquith 
    3 Donate link: http://txfx.net/wordpress-plugins/donate 
    4 Tags: help, documentation, client sites, clients, docs 
    5 Requires at least: 3.4 
    6 Tested up to: 3.5 
    7 Stable tag: 1.2 
     2Contributors: markjaquith   
     3Donate link: http://txfx.net/wordpress-plugins/donate   
     4Tags: help, documentation, client sites, clients, docs   
     5Requires at least: 3.4   
     6Tested up to: 3.5   
     7Stable tag: 1.2   
    88 
    99Site operators can create detailed, hierarchical documentation for the site's authors, editors, and contributors, viewable in the WordPress admin. 
     
    8282 
    8383== Changelog == 
     84= 1.3 = 
     85* Make the `wp_list_pages()` call filterable. 
     86* Added a Serbian translation. 
     87 
    8488= 1.2 = 
    8589* New or updated translations for Gujarati, Norwegian, and Brazilian Portuguese. 
  • wp-help/trunk/wp-help.php

    r635501 r660429  
    608608 
    609609    public function enqueue() { 
    610         $suffix = defined ('SCRIPT_DEBUG' ) && SCRIPT_DEBUG ? '' : '.min'; 
    611         wp_enqueue_style( 'cws-wp-help', plugins_url( "css/wp-help$suffix.css", __FILE__ ), array(), '20120721b' ); 
    612         wp_enqueue_script( 'cws-wp-help', plugins_url( "js/wp-help$suffix.js", __FILE__ ), array( 'jquery', 'jquery-ui-sortable' ), '20120829' ); 
     610        wp_enqueue_style( 'cws-wp-help', plugins_url( "css/wp-help.css", __FILE__ ), array(), '20120721b' ); 
     611        wp_enqueue_script( 'cws-wp-help', plugins_url( "js/wp-help.js", __FILE__ ), array( 'jquery', 'jquery-ui-sortable' ), '20130111' ); 
    613612        do_action( 'cws_wp_help_load' ); // Use this to enqueue your own styles for things like shortcodes. 
    614613    } 
     
    634633        if ( $with_sort_handles ) 
    635634            $this->filter_wp_list_pages = true; 
    636         $output = trim( wp_list_pages( array( 'post_type' => self::POST_TYPE, 'hierarchical' => true, 'echo' => false, 'title_li' => '' ) ) ); 
     635        $defaults = array( 'post_type' => self::POST_TYPE, 'hierarchical' => true, 'echo' => false, 'title_li' => '' ); 
     636        $output = trim( wp_list_pages( apply_filters( 'cws_wp_help_list_pages', $defaults ) ) ); 
    637637        $this->filter_wp_list_pages = false; 
    638638        return $output; 
Note: See TracChangeset for help on using the changeset viewer.