Skip to:
Content

BuddyPress.org


Ignore:
Timestamp:
07/17/2014 07:19:23 PM (11 years ago)
Author:
johnjamesjacoby
Message:

UI improvements to admin area XProfile field options, bringing them inline with WordPress core UI sortable elements.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/src/bp-xprofile/admin/js/admin.js

    r8640 r8642  
    1212        theId        = document.getElementById(forWhat + '_option_number').value,
    1313        newDiv       = document.createElement('p'),
    14         newOption    = document.createElement('input'),
    15         span         = document.createElement( 'span' ),
    16         txt          = document.createTextNode( '\u00A0\u039E\u00A0' ),
     14        grabber      = document.createElement( 'span' ),
     15        newOption    = document.createElement( 'input' ),
     16        label        = document.createElement( 'label' ),
    1717        isDefault    = document.createElement( 'input' ),
    18         span1        = document.createElement( 'span' ),
    19         txt1         = document.createTextNode( ' Default Value ' ),
    20 
    21         toDelete     = document.createElement( 'a' ),
    22         toDeleteText = document.createTextNode( '[x]' );
     18        txt1         = document.createTextNode( 'Default Value' ),
     19        toDeleteText = document.createTextNode( 'Delete' ),
     20        toDeleteWrap = document.createElement( 'div' );
     21        toDelete     = document.createElement( 'a' );
    2322
    2423    newDiv.setAttribute('id', forWhat + '_div' + theId);
    25     newDiv.setAttribute('class', 'sortable');
     24    newDiv.setAttribute('class', 'bp-option sortable');
     25
     26    grabber.setAttribute( 'class', 'bp-option-icon grabber');
    2627
    2728    newOption.setAttribute( 'type', 'text' );
    2829    newOption.setAttribute( 'name', forWhat + '_option[' + theId + ']' );
    2930    newOption.setAttribute( 'id', forWhat + '_option' + theId );
    30 
    31     span.appendChild( txt );
    3231
    3332    if ( forWhat === 'checkbox' || forWhat === 'multiselectbox' ) {
     
    4140    isDefault.setAttribute( 'value', theId );
    4241
    43     span1.appendChild( txt1 );
    44 
    4542    toDelete.setAttribute( 'href', 'javascript:hide("' + forWhat + '_div' + theId + '")' );
    4643    toDelete.setAttribute( 'class', 'delete' );
    4744    toDelete.appendChild( toDeleteText );
    4845
    49     newDiv.appendChild( span );
     46    toDeleteWrap.setAttribute( 'class', 'delete-button' );
     47    toDeleteWrap.appendChild( toDelete );
     48
     49    label.appendChild( document.createTextNode( ' ' ) );
     50    label.appendChild( isDefault );
     51    label.appendChild( document.createTextNode( ' ' ) );
     52    label.appendChild( txt1 );
     53    label.appendChild( document.createTextNode( ' ' ) );
     54
     55    newDiv.appendChild( grabber );
     56    newDiv.appendChild( document.createTextNode( ' ' ) );
    5057    newDiv.appendChild( newOption );
    51     newDiv.appendChild( document.createTextNode( ' ' ) );
    52     newDiv.appendChild( isDefault );
    53     newDiv.appendChild( span1 );
    54     newDiv.appendChild( toDelete );
     58    newDiv.appendChild( label );
     59    newDiv.appendChild( toDeleteWrap );
    5560    holder.appendChild( newDiv );
    5661
     
    100105
    101106function enableSortableFieldOptions( forWhat ) {
    102     if ( jQuery( '#' + forWhat + ' p.sortable' ).length > 1 ) {
    103         jQuery( '.bp-options-box' ).sortable( {
    104             items: 'p.sortable',
    105             tolerance: 'pointer',
    106             axis: 'y',
    107             handle: 'span'
    108         });
    109 
    110         jQuery( '.sortable span' ).css( 'cursor', 'move' );
    111     }
     107    jQuery( '.bp-options-box' ).sortable( {
     108        cursor: 'move',
     109        items: 'p.sortable',
     110        tolerance: 'intersect',
     111        axis: 'y'
     112    });
     113
     114    jQuery( '.sortable, .sortable span' ).css( 'cursor', 'move' );
    112115}
    113116
    114117function destroySortableFieldOptions() {
    115118    jQuery( '.bp-options-box' ).sortable( 'destroy' );
    116     jQuery( '.sortable span' ).css( 'cursor', 'default' );
     119    jQuery( '.sortable, .sortable span' ).css( 'cursor', 'default' );
    117120}
    118121
Note: See TracChangeset for help on using the changeset viewer.