Redoing r108960 with history

If it was a 3rd party library, there probably wouldn't have been any use doing this
This commit is contained in:
Sam Reed 2012-01-23 17:02:51 +00:00
parent 0464ee0045
commit e6ee87eb66
9 changed files with 130 additions and 0 deletions

View file

@ -82,6 +82,10 @@ return array(
'jquery.appear' => array(
'scripts' => 'resources/jquery/jquery.appear.js',
),
'jquery.arrowSteps' => array(
'scripts' => 'resources/jquery/jquery.arrowSteps.js',
'styles' => 'resources/jquery/jquery.arrowSteps.css',
),
'jquery.async' => array(
'scripts' => 'resources/jquery/jquery.async.js',
),

Binary file not shown.

After

Width:  |  Height:  |  Size: 307 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 310 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 939 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 1,006 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 338 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 485 B

View file

@ -0,0 +1,45 @@
.arrowSteps {
list-style-type: none;
list-style-image: none;
border: 1px solid #666666;
position: relative;
}
.arrowSteps li {
float: left;
padding: 0px;
margin: 0px;
border: 0 none;
}
.arrowSteps li div {
padding: 0.5em;
text-align: center;
white-space: nowrap;
overflow: hidden;
}
.arrowSteps li.arrow div {
/* @embed */
background: url(images/jquery.arrowSteps.divider-ltr.png) no-repeat right center;
}
/* applied to the element preceding the highlighted step */
.arrowSteps li.arrow.tail div {
/* @embed */
background: url(images/jquery.arrowSteps.tail-ltr.png) no-repeat right center;
}
/* this applies to all highlighted, including the last */
.arrowSteps li.head div {
/* @embed */
background: url(images/jquery.arrowSteps.head-ltr.png) no-repeat left center;
font-weight: bold;
}
/* this applies to all highlighted arrows except the last */
.arrowSteps li.arrow.head div {
/* TODO: eliminate duplication of jquery.arrowSteps.head.png embedding */
/* @embed */
background: url(images/jquery.arrowSteps.head-ltr.png) no-repeat right center;
}

View file

@ -0,0 +1,81 @@
/**
* jQuery arrowSteps plugin
* Copyright Neil Kandalgaonkar, 2010
*
* This work is licensed under the terms of the GNU General Public License,
* version 2 or later.
* (see http://www.fsf.org/licensing/licenses/gpl.html).
* Derivative works and later versions of the code must be free software
* licensed under the same or a compatible license.
*
*
* DESCRIPTION
*
* Show users their progress through a series of steps, via a row of items that fit
* together like arrows. One item can be highlighted at a time.
*
*
* SYNOPSIS
*
* <ul id="robin-hood-daffy">
* <li id="guard"><div>Guard!</div></li>
* <li id="turn"><div>Turn!</div></li>
* <li id="parry"><div>Parry!</div></li>
* <li id="dodge"><div>Dodge!</div></li>
* <li id="spin"><div>Spin!</div></li>
* <li id="ha"><div>Ha!</div></li>
* <li id="thrust"><div>Thrust!</div></li>
* </ul>
*
* <script language="javascript"><!--
* $( '#robin-hood-daffy' ).arrowSteps();
*
* $( '#robin-hood-daffy' ).arrowStepsHighlight( '#guard' );
* // 'Guard!' is highlighted.
*
* // ... user completes the 'guard' step ...
*
* $( '#robin-hood-daffy' ).arrowStepsHighlight( '#turn' );
* // 'Turn!' is highlighted.
*
* //-->
* </script>
*
*/
( function( $j ) {
$j.fn.arrowSteps = function() {
this.addClass( 'arrowSteps' );
var $steps = this.find( 'li' );
var width = parseInt( 100 / $steps.length, 10 );
$steps.css( 'width', width + '%' );
// every step except the last one has an arrow at the right hand side. Also add in the padding
// for the calculated arrow width.
var arrowWidth = parseInt( this.outerHeight(), 10 );
$steps.filter( ':not(:last-child)' ).addClass( 'arrow' )
.find( 'div' ).css( 'padding-right', arrowWidth.toString() + 'px' );
this.data( 'arrowSteps', $steps );
return this;
};
$j.fn.arrowStepsHighlight = function( selector ) {
var $steps = this.data( 'arrowSteps' );
var $previous;
$j.each( $steps, function( i, step ) {
var $step = $j( step );
if ( $step.is( selector ) ) {
if ($previous) {
$previous.addClass( 'tail' );
}
$step.addClass( 'head' );
} else {
$step.removeClass( 'head tail lasthead' );
}
$previous = $step;
} );
};
} )( jQuery );