Making WordPress.org

Changeset 7261


Ignore:
Timestamp:
06/01/2018 05:34:59 PM (7 years ago)
Author:
iandunn
Message:

WordCamp Post Types: Add print button and stylesheet to schedule shortcode.

As a result, UI tabs were introduced, and some corresponding "email" references were renamed, to reflect the more generic nature that the form now has.

Props egmanekki.
See #2733.

Location:
sites/trunk/wordcamp.org/public_html/wp-content/plugins/wc-post-types
Files:
3 edited

Legend:

Unmodified
Added
Removed
  • sites/trunk/wordcamp.org/public_html/wp-content/plugins/wc-post-types/css/shortcodes.css

    r6268 r7261  
    137137}
    138138
     139/* Style the tabs */
     140.fav-session-share-tab {
     141    overflow: hidden;
     142    border: 1px solid #ccc;
     143    background-color: #f1f1f1;
     144    display: table;
     145    table-layout: fixed;
     146    width: 100%;
     147}
     148
     149/* Style the buttons inside the tabs */
     150.fav-session-share-tab div {
     151    background-color: inherit;
     152    text-align: center;
     153    display: table-cell;
     154    border: none;
     155    outline: none;
     156    cursor: pointer;
     157    padding: 12px 16px;
     158    transition: 0.3s;
     159    font-size: 14px;
     160}
     161
     162/* Change background color of buttons on hover */
     163.fav-session-share-tab div:hover {
     164    background-color: #ddd;
     165}
     166
     167/* Create an active/current tablink class */
     168.fav-session-share-tab div.active {
     169    background-color: #ccc;
     170}
     171
     172/* Style the tab content */
     173.fav-session-share-tabcontent {
     174    display: none;
     175    padding: 12px 14px;
     176    border: 1px solid #ccc;
     177    border-top: none;
     178    min-height: 145px;
     179    background-color: #ccc;
     180}
     181
    139182#fav-session-email-form {
    140183    margin: 10px;
     
    254297}
    255298
     299@media print {
     300    .wcb-session-favourite-icon,
     301    .show-email-form,
     302    .email-form {
     303        display: none !important;
     304    }
     305
     306    .wcpt-schedule td.wcb-favourite-session div {
     307        opacity: 1 !important;
     308    }
     309}
     310
    256311/*
    257312 * [sessions]
  • sites/trunk/wordcamp.org/public_html/wp-content/plugins/wc-post-types/js/favourite-sessions.js

    r6268 r7261  
    3939        var favSessions = FavSessions.get();
    4040
    41         // Display email form only if there are any selected sessions.
     41        // Display share form only if there are any selected sessions.
    4242        if ( Object.keys( favSessions ).length > 0 ) {
    4343            $( '.show-email-form' ).show();
     44            $( '.email-form' ).show();
    4445        } else {
    4546            $( '.show-email-form' ).hide();
     47            $( '.email-form' ).addClass( 'fav-session-div-hide' ).removeClass( 'fav-session-div-show' );
     48            $( '.email-form' ).hide();
    4649        }
    4750    }
     
    164167    } );
    165168
     169    // In case email tab is hidden, use the next tab as default.
     170    var defaultTab = 'email';
     171    if ( 0 === $( '#fav-session-tab-email' ).length ) {
     172        defaultTab = 'print';
     173    }
     174
     175    $( '#fav-session-tab-' + defaultTab ).show();
     176    $( '#fav-session-tab-' + defaultTab ).addClass( 'active' );
     177    $( '#fav-session-btn-' + defaultTab ).addClass( 'active' );
     178
     179    $( '.fav-session-tablinks' ).click( function( event ) {
     180        var i, tabContent, tabLinks;
     181
     182        tabContent = document.getElementsByClassName( 'fav-session-share-tabcontent' );
     183
     184        for ( i = 0; i < tabContent.length; i++ ) {
     185            $( tabContent[ i ] ).hide();
     186        }
     187
     188        tabLinks = document.getElementsByClassName( 'fav-session-tablinks' );
     189
     190        $( tabLinks ).removeClass( 'active' );
     191
     192        var element         = $( this );
     193        var idStartPosition = 'fav-session-btn-'.length;
     194        var tabName         = 'fav-session-tab-' + element.attr( 'id' ).substring( idStartPosition );
     195
     196        $( document.getElementById( tabName ) ).show();
     197        $( event.currentTarget ).addClass( 'active' )
     198    });
     199
     200
     201    $( '#fav-session-print' ).click( function( event ) {
     202        $( '.wcpt-schedule td div' ).css( 'opacity', 0.3 );
     203        window.print();
     204        $( '.wcpt-schedule td div' ).css( 'opacity', 1 );
     205    });
     206
    166207    initFavouriteSessions();
    167208} );
  • sites/trunk/wordcamp.org/public_html/wp-content/plugins/wc-post-types/wc-post-types.php

    r7220 r7261  
    706706        $html .= '</tbody>';
    707707        $html .= '</table>';
    708         $html .= $this->fav_session_email_form();
     708        $html .= $this->fav_session_share_form();
    709709        return $html;
    710710    }
     
    745745     * @return string HTML code that represents the form to send emails and a link to show and hide it.
    746746     */
    747     function fav_session_email_form() {
    748         static $email_form_count = 0;
    749 
    750         // Skip email form if it is disabled or it was already added to document.
    751         if ( email_fav_sessions_disabled() || $email_form_count !== 0 ) {
     747    function fav_session_share_form() {
     748        static $share_form_count = 0;
     749
     750        // Skip share form if it was already added to document.
     751        if ( 0 !== $share_form_count ) {
    752752            return '';
    753753        }
     
    757757
    758758        <div class="email-form fav-session-email-form-hide">
    759             <div id="fav-session-email-form">
    760                 <?php esc_html_e( 'Send me my favorite sessions:', 'wordcamporg' ); ?>
    761 
    762                 <form id="fav-sessions-form">
    763                     <input type="text" name="email_address" id="fav-sessions-email-address" placeholder="my@email.com" />
    764                     <input type="submit" value="<?php esc_attr_e( 'Send', 'wordcamporg' ); ?>" />
    765                 </form>
     759            <!-- Tab links -->
     760            <div class="fav-session-share-tab">
     761                <?php if ( ! email_fav_sessions_disabled() ) : ?>
     762                    <div class="fav-session-tablinks" id="fav-session-btn-email">
     763                        <?php esc_html_e( 'Email', 'wordcamporg' ); ?>
     764                    </div>
     765                <?php endif; ?>
     766
     767                <div class="fav-session-tablinks" id="fav-session-btn-print">
     768                    <?php esc_html_e( 'Print', 'wordcamporg' ); ?>
     769                </div>
    766770            </div>
    767             <div class="fav-session-email-wait-spinner"></div>
    768             <div class="fav-session-email-result"></div>
     771
     772            <!-- Tab content -->
     773            <?php if ( ! email_fav_sessions_disabled() ) : ?>
     774                <div id="fav-session-tab-email" class="fav-session-share-tabcontent">
     775                    <div id="fav-session-email-form">
     776                        <?php esc_html_e( 'Send me my favorite sessions:', 'wordcamporg' ); ?>
     777
     778                        <form id="fav-sessions-form">
     779                            <input type="text" name="email_address" id="fav-sessions-email-address" placeholder="me@protonmail.com" />
     780                            <input type="submit" value="<?php esc_attr_e( 'Send', 'wordcamporg' ); ?>" />
     781                        </form>
     782                    </div>
     783
     784                    <div class="fav-session-email-wait-spinner"></div>
     785                    <div class="fav-session-email-result"></div>
     786                </div>
     787            <?php endif; ?>
     788
     789            <div id="fav-session-tab-print" class="fav-session-share-tabcontent">
     790                <button id="fav-session-print">
     791                    <?php esc_html_e( 'Print favorite sessions', 'wordcamporg' ); ?>
     792                </button>
     793            </div>
    769794        </div>
    770795
     
    775800
    776801        <?php
    777         $email_form = ob_get_clean();
    778 
    779         $email_form_count++;
    780 
    781         return $email_form;
     802        $share_form = ob_get_clean();
     803
     804        $share_form_count++;
     805
     806        return $share_form;
    782807    }
    783808
Note: See TracChangeset for help on using the changeset viewer.