http://www.mediawiki.org/wiki/Special:Code/MediaWiki/65443
Revision: 65443
Author: jeroendedauw
Date: 2010-04-22 21:10:18 +0000 (Thu, 22 Apr 2010)
Log Message:
-----------
Added tabs to Special:StoryReview using jQuery UI tabs
Modified Paths:
--------------
trunk/extensions/Storyboard/api/ApiQueryStories.php
trunk/extensions/Storyboard/specials/StoryReview/StoryReview_body.php
Added Paths:
-----------
trunk/extensions/Storyboard/jquery/css/
trunk/extensions/Storyboard/jquery/css/images/
trunk/extensions/Storyboard/jquery/css/images/ui-bg_diagonals-thick_18_b81900_40x40.png
trunk/extensions/Storyboard/jquery/css/images/ui-bg_diagonals-thick_20_666666_40x40.png
trunk/extensions/Storyboard/jquery/css/images/ui-bg_flat_10_000000_40x100.png
trunk/extensions/Storyboard/jquery/css/images/ui-bg_glass_100_f6f6f6_1x400.png
trunk/extensions/Storyboard/jquery/css/images/ui-bg_glass_100_fdf5ce_1x400.png
trunk/extensions/Storyboard/jquery/css/images/ui-bg_glass_65_ffffff_1x400.png
trunk/extensions/Storyboard/jquery/css/images/ui-bg_gloss-wave_35_f6a828_500x100.png
trunk/extensions/Storyboard/jquery/css/images/ui-bg_highlight-soft_100_eeeeee_1x100.png
trunk/extensions/Storyboard/jquery/css/images/ui-bg_highlight-soft_75_ffe45c_1x100.png
trunk/extensions/Storyboard/jquery/css/images/ui-icons_222222_256x240.png
trunk/extensions/Storyboard/jquery/css/images/ui-icons_228ef1_256x240.png
trunk/extensions/Storyboard/jquery/css/images/ui-icons_ef8c08_256x240.png
trunk/extensions/Storyboard/jquery/css/images/ui-icons_ffd27a_256x240.png
trunk/extensions/Storyboard/jquery/css/images/ui-icons_ffffff_256x240.png
trunk/extensions/Storyboard/jquery/css/jquery-ui-1.7.2.custom.css
trunk/extensions/Storyboard/jquery/jquery-ui-1.7.2.custom.min.js
Modified: trunk/extensions/Storyboard/api/ApiQueryStories.php
===================================================================
--- trunk/extensions/Storyboard/api/ApiQueryStories.php 2010-04-22 20:44:53 UTC
(rev 65442)
+++ trunk/extensions/Storyboard/api/ApiQueryStories.php 2010-04-22 21:10:18 UTC
(rev 65443)
@@ -65,17 +65,20 @@
if ( !is_null( $params['continue'] ) ) {
$continueParams = explode( '-', $params['continue'] );
if ( count( $continueParams ) != 2 ) {
- $this->dieUsage( 'Invalid continue param. You
should pass the ' .
- 'original value returned by the
previous query', '_badcontinue' );
+ $this->dieUsage(
+ 'Invalid continue param. You should
pass the ' .
+ 'original value returned by the
previous query', '_badcontinue'
+ );
}
$storyModified = $continueParams[0];
$storyId = intval( $continueParams[1] );
-
+ var_dump($storyModified);exit;
$this->addWhere(
- "story_modified < $storyModified OR " .
+ "story_modified > $storyModified OR " .
"(story_modified = $storyId AND story_id <=
$storyModified)"
);
+
}
$stories = $this->select( __METHOD__ );
Added:
trunk/extensions/Storyboard/jquery/css/images/ui-bg_diagonals-thick_18_b81900_40x40.png
===================================================================
(Binary files differ)
Property changes on:
trunk/extensions/Storyboard/jquery/css/images/ui-bg_diagonals-thick_18_b81900_40x40.png
___________________________________________________________________
Added: svn:mime-type
+ image/png
Added:
trunk/extensions/Storyboard/jquery/css/images/ui-bg_diagonals-thick_20_666666_40x40.png
===================================================================
(Binary files differ)
Property changes on:
trunk/extensions/Storyboard/jquery/css/images/ui-bg_diagonals-thick_20_666666_40x40.png
___________________________________________________________________
Added: svn:mime-type
+ image/png
Added:
trunk/extensions/Storyboard/jquery/css/images/ui-bg_flat_10_000000_40x100.png
===================================================================
(Binary files differ)
Property changes on:
trunk/extensions/Storyboard/jquery/css/images/ui-bg_flat_10_000000_40x100.png
___________________________________________________________________
Added: svn:mime-type
+ image/png
Added:
trunk/extensions/Storyboard/jquery/css/images/ui-bg_glass_100_f6f6f6_1x400.png
===================================================================
(Binary files differ)
Property changes on:
trunk/extensions/Storyboard/jquery/css/images/ui-bg_glass_100_f6f6f6_1x400.png
___________________________________________________________________
Added: svn:mime-type
+ image/png
Added:
trunk/extensions/Storyboard/jquery/css/images/ui-bg_glass_100_fdf5ce_1x400.png
===================================================================
(Binary files differ)
Property changes on:
trunk/extensions/Storyboard/jquery/css/images/ui-bg_glass_100_fdf5ce_1x400.png
___________________________________________________________________
Added: svn:mime-type
+ image/png
Added:
trunk/extensions/Storyboard/jquery/css/images/ui-bg_glass_65_ffffff_1x400.png
===================================================================
(Binary files differ)
Property changes on:
trunk/extensions/Storyboard/jquery/css/images/ui-bg_glass_65_ffffff_1x400.png
___________________________________________________________________
Added: svn:mime-type
+ image/png
Added:
trunk/extensions/Storyboard/jquery/css/images/ui-bg_gloss-wave_35_f6a828_500x100.png
===================================================================
(Binary files differ)
Property changes on:
trunk/extensions/Storyboard/jquery/css/images/ui-bg_gloss-wave_35_f6a828_500x100.png
___________________________________________________________________
Added: svn:mime-type
+ image/png
Added:
trunk/extensions/Storyboard/jquery/css/images/ui-bg_highlight-soft_100_eeeeee_1x100.png
===================================================================
(Binary files differ)
Property changes on:
trunk/extensions/Storyboard/jquery/css/images/ui-bg_highlight-soft_100_eeeeee_1x100.png
___________________________________________________________________
Added: svn:mime-type
+ image/png
Added:
trunk/extensions/Storyboard/jquery/css/images/ui-bg_highlight-soft_75_ffe45c_1x100.png
===================================================================
(Binary files differ)
Property changes on:
trunk/extensions/Storyboard/jquery/css/images/ui-bg_highlight-soft_75_ffe45c_1x100.png
___________________________________________________________________
Added: svn:mime-type
+ image/png
Added: trunk/extensions/Storyboard/jquery/css/images/ui-icons_222222_256x240.png
===================================================================
(Binary files differ)
Property changes on:
trunk/extensions/Storyboard/jquery/css/images/ui-icons_222222_256x240.png
___________________________________________________________________
Added: svn:mime-type
+ image/png
Added: trunk/extensions/Storyboard/jquery/css/images/ui-icons_228ef1_256x240.png
===================================================================
(Binary files differ)
Property changes on:
trunk/extensions/Storyboard/jquery/css/images/ui-icons_228ef1_256x240.png
___________________________________________________________________
Added: svn:mime-type
+ image/png
Added: trunk/extensions/Storyboard/jquery/css/images/ui-icons_ef8c08_256x240.png
===================================================================
(Binary files differ)
Property changes on:
trunk/extensions/Storyboard/jquery/css/images/ui-icons_ef8c08_256x240.png
___________________________________________________________________
Added: svn:mime-type
+ image/png
Added: trunk/extensions/Storyboard/jquery/css/images/ui-icons_ffd27a_256x240.png
===================================================================
(Binary files differ)
Property changes on:
trunk/extensions/Storyboard/jquery/css/images/ui-icons_ffd27a_256x240.png
___________________________________________________________________
Added: svn:mime-type
+ image/png
Added: trunk/extensions/Storyboard/jquery/css/images/ui-icons_ffffff_256x240.png
===================================================================
(Binary files differ)
Property changes on:
trunk/extensions/Storyboard/jquery/css/images/ui-icons_ffffff_256x240.png
___________________________________________________________________
Added: svn:mime-type
+ image/png
Added: trunk/extensions/Storyboard/jquery/css/jquery-ui-1.7.2.custom.css
===================================================================
--- trunk/extensions/Storyboard/jquery/css/jquery-ui-1.7.2.custom.css
(rev 0)
+++ trunk/extensions/Storyboard/jquery/css/jquery-ui-1.7.2.custom.css
2010-04-22 21:10:18 UTC (rev 65443)
@@ -0,0 +1,293 @@
+/*
+* jQuery UI CSS Framework
+* Copyright (c) 2009 AUTHORS.txt (http://jqueryui.com/about)
+* Dual licensed under the MIT (MIT-LICENSE.txt) and GPL (GPL-LICENSE.txt)
licenses.
+*/
+
+/* Layout helpers
+----------------------------------*/
+.ui-helper-hidden { display: none; }
+.ui-helper-hidden-accessible { position: absolute; left: -99999999px; }
+.ui-helper-reset { margin: 0; padding: 0; border: 0; outline: 0; line-height:
1.3; text-decoration: none; font-size: 100%; list-style: none; }
+.ui-helper-clearfix:after { content: "."; display: block; height: 0; clear:
both; visibility: hidden; }
+.ui-helper-clearfix { display: inline-block; }
+/* required comment for clearfix to work in Opera \*/
+* html .ui-helper-clearfix { height:1%; }
+.ui-helper-clearfix { display:block; }
+/* end clearfix */
+.ui-helper-zfix { width: 100%; height: 100%; top: 0; left: 0; position:
absolute; opacity: 0; filter:Alpha(Opacity=0); }
+
+
+/* Interaction Cues
+----------------------------------*/
+.ui-state-disabled { cursor: default !important; }
+
+
+/* Icons
+----------------------------------*/
+
+/* states and images */
+.ui-icon { display: block; text-indent: -99999px; overflow: hidden;
background-repeat: no-repeat; }
+
+
+/* Misc visuals
+----------------------------------*/
+
+/* Overlays */
+.ui-widget-overlay { position: absolute; top: 0; left: 0; width: 100%; height:
100%; }
+
+
+
+/*
+* jQuery UI CSS Framework
+* Copyright (c) 2009 AUTHORS.txt (http://jqueryui.com/about)
+* Dual licensed under the MIT (MIT-LICENSE.txt) and GPL (GPL-LICENSE.txt)
licenses.
+* To view and modify this theme, visit
http://jqueryui.com/themeroller/?ffDefault=Trebuchet%20MS,%20Tahoma,%20Verdana,%20Arial,%20sans-serif&fwDefault=bold&fsDefault=1.1em&cornerRadius=4px&bgColorHeader=f6a828&bgTextureHeader=12_gloss_wave.png&bgImgOpacityHeader=35&borderColorHeader=e78f08&fcHeader=ffffff&iconColorHeader=ffffff&bgColorContent=eeeeee&bgTextureContent=03_highlight_soft.png&bgImgOpacityContent=100&borderColorContent=dddddd&fcContent=333333&iconColorContent=222222&bgColorDefault=f6f6f6&bgTextureDefault=02_glass.png&bgImgOpacityDefault=100&borderColorDefault=cccccc&fcDefault=1c94c4&iconColorDefault=ef8c08&bgColorHover=fdf5ce&bgTextureHover=02_glass.png&bgImgOpacityHover=100&borderColorHover=fbcb09&fcHover=c77405&iconColorHover=ef8c08&bgColorActive=ffffff&bgTextureActive=02_glass.png&bgImgOpacityActive=65&borderColorActive=fbd850&fcActive=eb8f00&iconColorActive=ef8c08&bgColorHighlight=ffe45c&bgTextureHighlight=03_highlight_soft.png&bgImgOpacityHighlight=75&borderColorHighlight=fed22f&fcHighlight=363636&iconColorHighlight=228ef1&bgColorError=b81900&bgTextureError=08_diagonals_thick.png&bgImgOpacityError=18&borderColorError=cd0a0a&fcError=ffffff&iconColorError=ffd27a&bgColorOverlay=666666&bgTextureOverlay=08_diagonals_thick.png&bgImgOpacityOverlay=20&opacityOverlay=50&bgColorShadow=000000&bgTextureShadow=01_flat.png&bgImgOpacityShadow=10&opacityShadow=20&thicknessShadow=5px&offsetTopShadow=-5px&offsetLeftShadow=-5px&cornerRadiusShadow=5px
+*/
+
+
+/* Component containers
+----------------------------------*/
+.ui-widget { font-family: Trebuchet MS, Tahoma, Verdana, Arial, sans-serif;
font-size: 1.1em; }
+.ui-widget input, .ui-widget select, .ui-widget textarea, .ui-widget button {
font-family: Trebuchet MS, Tahoma, Verdana, Arial, sans-serif; font-size: 1em; }
+.ui-widget-content { border: 1px solid #dddddd; background: #eeeeee
url(images/ui-bg_highlight-soft_100_eeeeee_1x100.png) 50% top repeat-x; color:
#333333; }
+.ui-widget-content a { color: #333333; }
+.ui-widget-header { border: 1px solid #e78f08; background: #f6a828
url(images/ui-bg_gloss-wave_35_f6a828_500x100.png) 50% 50% repeat-x; color:
#ffffff; font-weight: bold; }
+.ui-widget-header a { color: #ffffff; }
+
+/* Interaction states
+----------------------------------*/
+.ui-state-default, .ui-widget-content .ui-state-default { border: 1px solid
#cccccc; background: #f6f6f6 url(images/ui-bg_glass_100_f6f6f6_1x400.png) 50%
50% repeat-x; font-weight: bold; color: #1c94c4; outline: none; }
+.ui-state-default a, .ui-state-default a:link, .ui-state-default a:visited {
color: #1c94c4; text-decoration: none; outline: none; }
+.ui-state-hover, .ui-widget-content .ui-state-hover, .ui-state-focus,
.ui-widget-content .ui-state-focus { border: 1px solid #fbcb09; background:
#fdf5ce url(images/ui-bg_glass_100_fdf5ce_1x400.png) 50% 50% repeat-x;
font-weight: bold; color: #c77405; outline: none; }
+.ui-state-hover a, .ui-state-hover a:hover { color: #c77405; text-decoration:
none; outline: none; }
+.ui-state-active, .ui-widget-content .ui-state-active { border: 1px solid
#fbd850; background: #ffffff url(images/ui-bg_glass_65_ffffff_1x400.png) 50%
50% repeat-x; font-weight: bold; color: #eb8f00; outline: none; }
+.ui-state-active a, .ui-state-active a:link, .ui-state-active a:visited {
color: #eb8f00; outline: none; text-decoration: none; }
+
+/* Interaction Cues
+----------------------------------*/
+.ui-state-highlight, .ui-widget-content .ui-state-highlight {border: 1px solid
#fed22f; background: #ffe45c
url(images/ui-bg_highlight-soft_75_ffe45c_1x100.png) 50% top repeat-x; color:
#363636; }
+.ui-state-highlight a, .ui-widget-content .ui-state-highlight a { color:
#363636; }
+.ui-state-error, .ui-widget-content .ui-state-error {border: 1px solid
#cd0a0a; background: #b81900
url(images/ui-bg_diagonals-thick_18_b81900_40x40.png) 50% 50% repeat; color:
#ffffff; }
+.ui-state-error a, .ui-widget-content .ui-state-error a { color: #ffffff; }
+.ui-state-error-text, .ui-widget-content .ui-state-error-text { color:
#ffffff; }
+.ui-state-disabled, .ui-widget-content .ui-state-disabled { opacity: .35;
filter:Alpha(Opacity=35); background-image: none; }
+.ui-priority-primary, .ui-widget-content .ui-priority-primary { font-weight:
bold; }
+.ui-priority-secondary, .ui-widget-content .ui-priority-secondary { opacity:
.7; filter:Alpha(Opacity=70); font-weight: normal; }
+
+/* Icons
+----------------------------------*/
+
+/* states and images */
+.ui-icon { width: 16px; height: 16px; background-image:
url(images/ui-icons_222222_256x240.png); }
+.ui-widget-content .ui-icon {background-image:
url(images/ui-icons_222222_256x240.png); }
+.ui-widget-header .ui-icon {background-image:
url(images/ui-icons_ffffff_256x240.png); }
+.ui-state-default .ui-icon { background-image:
url(images/ui-icons_ef8c08_256x240.png); }
+.ui-state-hover .ui-icon, .ui-state-focus .ui-icon {background-image:
url(images/ui-icons_ef8c08_256x240.png); }
+.ui-state-active .ui-icon {background-image:
url(images/ui-icons_ef8c08_256x240.png); }
+.ui-state-highlight .ui-icon {background-image:
url(images/ui-icons_228ef1_256x240.png); }
+.ui-state-error .ui-icon, .ui-state-error-text .ui-icon {background-image:
url(images/ui-icons_ffd27a_256x240.png); }
+
+/* positioning */
+.ui-icon-carat-1-n { background-position: 0 0; }
+.ui-icon-carat-1-ne { background-position: -16px 0; }
+.ui-icon-carat-1-e { background-position: -32px 0; }
+.ui-icon-carat-1-se { background-position: -48px 0; }
+.ui-icon-carat-1-s { background-position: -64px 0; }
+.ui-icon-carat-1-sw { background-position: -80px 0; }
+.ui-icon-carat-1-w { background-position: -96px 0; }
+.ui-icon-carat-1-nw { background-position: -112px 0; }
+.ui-icon-carat-2-n-s { background-position: -128px 0; }
+.ui-icon-carat-2-e-w { background-position: -144px 0; }
+.ui-icon-triangle-1-n { background-position: 0 -16px; }
+.ui-icon-triangle-1-ne { background-position: -16px -16px; }
+.ui-icon-triangle-1-e { background-position: -32px -16px; }
+.ui-icon-triangle-1-se { background-position: -48px -16px; }
+.ui-icon-triangle-1-s { background-position: -64px -16px; }
+.ui-icon-triangle-1-sw { background-position: -80px -16px; }
+.ui-icon-triangle-1-w { background-position: -96px -16px; }
+.ui-icon-triangle-1-nw { background-position: -112px -16px; }
+.ui-icon-triangle-2-n-s { background-position: -128px -16px; }
+.ui-icon-triangle-2-e-w { background-position: -144px -16px; }
+.ui-icon-arrow-1-n { background-position: 0 -32px; }
+.ui-icon-arrow-1-ne { background-position: -16px -32px; }
+.ui-icon-arrow-1-e { background-position: -32px -32px; }
+.ui-icon-arrow-1-se { background-position: -48px -32px; }
+.ui-icon-arrow-1-s { background-position: -64px -32px; }
+.ui-icon-arrow-1-sw { background-position: -80px -32px; }
+.ui-icon-arrow-1-w { background-position: -96px -32px; }
+.ui-icon-arrow-1-nw { background-position: -112px -32px; }
+.ui-icon-arrow-2-n-s { background-position: -128px -32px; }
+.ui-icon-arrow-2-ne-sw { background-position: -144px -32px; }
+.ui-icon-arrow-2-e-w { background-position: -160px -32px; }
+.ui-icon-arrow-2-se-nw { background-position: -176px -32px; }
+.ui-icon-arrowstop-1-n { background-position: -192px -32px; }
+.ui-icon-arrowstop-1-e { background-position: -208px -32px; }
+.ui-icon-arrowstop-1-s { background-position: -224px -32px; }
+.ui-icon-arrowstop-1-w { background-position: -240px -32px; }
+.ui-icon-arrowthick-1-n { background-position: 0 -48px; }
+.ui-icon-arrowthick-1-ne { background-position: -16px -48px; }
+.ui-icon-arrowthick-1-e { background-position: -32px -48px; }
+.ui-icon-arrowthick-1-se { background-position: -48px -48px; }
+.ui-icon-arrowthick-1-s { background-position: -64px -48px; }
+.ui-icon-arrowthick-1-sw { background-position: -80px -48px; }
+.ui-icon-arrowthick-1-w { background-position: -96px -48px; }
+.ui-icon-arrowthick-1-nw { background-position: -112px -48px; }
+.ui-icon-arrowthick-2-n-s { background-position: -128px -48px; }
+.ui-icon-arrowthick-2-ne-sw { background-position: -144px -48px; }
+.ui-icon-arrowthick-2-e-w { background-position: -160px -48px; }
+.ui-icon-arrowthick-2-se-nw { background-position: -176px -48px; }
+.ui-icon-arrowthickstop-1-n { background-position: -192px -48px; }
+.ui-icon-arrowthickstop-1-e { background-position: -208px -48px; }
+.ui-icon-arrowthickstop-1-s { background-position: -224px -48px; }
+.ui-icon-arrowthickstop-1-w { background-position: -240px -48px; }
+.ui-icon-arrowreturnthick-1-w { background-position: 0 -64px; }
+.ui-icon-arrowreturnthick-1-n { background-position: -16px -64px; }
+.ui-icon-arrowreturnthick-1-e { background-position: -32px -64px; }
+.ui-icon-arrowreturnthick-1-s { background-position: -48px -64px; }
+.ui-icon-arrowreturn-1-w { background-position: -64px -64px; }
+.ui-icon-arrowreturn-1-n { background-position: -80px -64px; }
+.ui-icon-arrowreturn-1-e { background-position: -96px -64px; }
+.ui-icon-arrowreturn-1-s { background-position: -112px -64px; }
+.ui-icon-arrowrefresh-1-w { background-position: -128px -64px; }
+.ui-icon-arrowrefresh-1-n { background-position: -144px -64px; }
+.ui-icon-arrowrefresh-1-e { background-position: -160px -64px; }
+.ui-icon-arrowrefresh-1-s { background-position: -176px -64px; }
+.ui-icon-arrow-4 { background-position: 0 -80px; }
+.ui-icon-arrow-4-diag { background-position: -16px -80px; }
+.ui-icon-extlink { background-position: -32px -80px; }
+.ui-icon-newwin { background-position: -48px -80px; }
+.ui-icon-refresh { background-position: -64px -80px; }
+.ui-icon-shuffle { background-position: -80px -80px; }
+.ui-icon-transfer-e-w { background-position: -96px -80px; }
+.ui-icon-transferthick-e-w { background-position: -112px -80px; }
+.ui-icon-folder-collapsed { background-position: 0 -96px; }
+.ui-icon-folder-open { background-position: -16px -96px; }
+.ui-icon-document { background-position: -32px -96px; }
+.ui-icon-document-b { background-position: -48px -96px; }
+.ui-icon-note { background-position: -64px -96px; }
+.ui-icon-mail-closed { background-position: -80px -96px; }
+.ui-icon-mail-open { background-position: -96px -96px; }
+.ui-icon-suitcase { background-position: -112px -96px; }
+.ui-icon-comment { background-position: -128px -96px; }
+.ui-icon-person { background-position: -144px -96px; }
+.ui-icon-print { background-position: -160px -96px; }
+.ui-icon-trash { background-position: -176px -96px; }
+.ui-icon-locked { background-position: -192px -96px; }
+.ui-icon-unlocked { background-position: -208px -96px; }
+.ui-icon-bookmark { background-position: -224px -96px; }
+.ui-icon-tag { background-position: -240px -96px; }
+.ui-icon-home { background-position: 0 -112px; }
+.ui-icon-flag { background-position: -16px -112px; }
+.ui-icon-calendar { background-position: -32px -112px; }
+.ui-icon-cart { background-position: -48px -112px; }
+.ui-icon-pencil { background-position: -64px -112px; }
+.ui-icon-clock { background-position: -80px -112px; }
+.ui-icon-disk { background-position: -96px -112px; }
+.ui-icon-calculator { background-position: -112px -112px; }
+.ui-icon-zoomin { background-position: -128px -112px; }
+.ui-icon-zoomout { background-position: -144px -112px; }
+.ui-icon-search { background-position: -160px -112px; }
+.ui-icon-wrench { background-position: -176px -112px; }
+.ui-icon-gear { background-position: -192px -112px; }
+.ui-icon-heart { background-position: -208px -112px; }
+.ui-icon-star { background-position: -224px -112px; }
+.ui-icon-link { background-position: -240px -112px; }
+.ui-icon-cancel { background-position: 0 -128px; }
+.ui-icon-plus { background-position: -16px -128px; }
+.ui-icon-plusthick { background-position: -32px -128px; }
+.ui-icon-minus { background-position: -48px -128px; }
+.ui-icon-minusthick { background-position: -64px -128px; }
+.ui-icon-close { background-position: -80px -128px; }
+.ui-icon-closethick { background-position: -96px -128px; }
+.ui-icon-key { background-position: -112px -128px; }
+.ui-icon-lightbulb { background-position: -128px -128px; }
+.ui-icon-scissors { background-position: -144px -128px; }
+.ui-icon-clipboard { background-position: -160px -128px; }
+.ui-icon-copy { background-position: -176px -128px; }
+.ui-icon-contact { background-position: -192px -128px; }
+.ui-icon-image { background-position: -208px -128px; }
+.ui-icon-video { background-position: -224px -128px; }
+.ui-icon-script { background-position: -240px -128px; }
+.ui-icon-alert { background-position: 0 -144px; }
+.ui-icon-info { background-position: -16px -144px; }
+.ui-icon-notice { background-position: -32px -144px; }
+.ui-icon-help { background-position: -48px -144px; }
+.ui-icon-check { background-position: -64px -144px; }
+.ui-icon-bullet { background-position: -80px -144px; }
+.ui-icon-radio-off { background-position: -96px -144px; }
+.ui-icon-radio-on { background-position: -112px -144px; }
+.ui-icon-pin-w { background-position: -128px -144px; }
+.ui-icon-pin-s { background-position: -144px -144px; }
+.ui-icon-play { background-position: 0 -160px; }
+.ui-icon-pause { background-position: -16px -160px; }
+.ui-icon-seek-next { background-position: -32px -160px; }
+.ui-icon-seek-prev { background-position: -48px -160px; }
+.ui-icon-seek-end { background-position: -64px -160px; }
+.ui-icon-seek-first { background-position: -80px -160px; }
+.ui-icon-stop { background-position: -96px -160px; }
+.ui-icon-eject { background-position: -112px -160px; }
+.ui-icon-volume-off { background-position: -128px -160px; }
+.ui-icon-volume-on { background-position: -144px -160px; }
+.ui-icon-power { background-position: 0 -176px; }
+.ui-icon-signal-diag { background-position: -16px -176px; }
+.ui-icon-signal { background-position: -32px -176px; }
+.ui-icon-battery-0 { background-position: -48px -176px; }
+.ui-icon-battery-1 { background-position: -64px -176px; }
+.ui-icon-battery-2 { background-position: -80px -176px; }
+.ui-icon-battery-3 { background-position: -96px -176px; }
+.ui-icon-circle-plus { background-position: 0 -192px; }
+.ui-icon-circle-minus { background-position: -16px -192px; }
+.ui-icon-circle-close { background-position: -32px -192px; }
+.ui-icon-circle-triangle-e { background-position: -48px -192px; }
+.ui-icon-circle-triangle-s { background-position: -64px -192px; }
+.ui-icon-circle-triangle-w { background-position: -80px -192px; }
+.ui-icon-circle-triangle-n { background-position: -96px -192px; }
+.ui-icon-circle-arrow-e { background-position: -112px -192px; }
+.ui-icon-circle-arrow-s { background-position: -128px -192px; }
+.ui-icon-circle-arrow-w { background-position: -144px -192px; }
+.ui-icon-circle-arrow-n { background-position: -160px -192px; }
+.ui-icon-circle-zoomin { background-position: -176px -192px; }
+.ui-icon-circle-zoomout { background-position: -192px -192px; }
+.ui-icon-circle-check { background-position: -208px -192px; }
+.ui-icon-circlesmall-plus { background-position: 0 -208px; }
+.ui-icon-circlesmall-minus { background-position: -16px -208px; }
+.ui-icon-circlesmall-close { background-position: -32px -208px; }
+.ui-icon-squaresmall-plus { background-position: -48px -208px; }
+.ui-icon-squaresmall-minus { background-position: -64px -208px; }
+.ui-icon-squaresmall-close { background-position: -80px -208px; }
+.ui-icon-grip-dotted-vertical { background-position: 0 -224px; }
+.ui-icon-grip-dotted-horizontal { background-position: -16px -224px; }
+.ui-icon-grip-solid-vertical { background-position: -32px -224px; }
+.ui-icon-grip-solid-horizontal { background-position: -48px -224px; }
+.ui-icon-gripsmall-diagonal-se { background-position: -64px -224px; }
+.ui-icon-grip-diagonal-se { background-position: -80px -224px; }
+
+
+/* Misc visuals
+----------------------------------*/
+
+/* Corner radius */
+.ui-corner-tl { -moz-border-radius-topleft: 4px;
-webkit-border-top-left-radius: 4px; }
+.ui-corner-tr { -moz-border-radius-topright: 4px;
-webkit-border-top-right-radius: 4px; }
+.ui-corner-bl { -moz-border-radius-bottomleft: 4px;
-webkit-border-bottom-left-radius: 4px; }
+.ui-corner-br { -moz-border-radius-bottomright: 4px;
-webkit-border-bottom-right-radius: 4px; }
+.ui-corner-top { -moz-border-radius-topleft: 4px;
-webkit-border-top-left-radius: 4px; -moz-border-radius-topright: 4px;
-webkit-border-top-right-radius: 4px; }
+.ui-corner-bottom { -moz-border-radius-bottomleft: 4px;
-webkit-border-bottom-left-radius: 4px; -moz-border-radius-bottomright: 4px;
-webkit-border-bottom-right-radius: 4px; }
+.ui-corner-right { -moz-border-radius-topright: 4px;
-webkit-border-top-right-radius: 4px; -moz-border-radius-bottomright: 4px;
-webkit-border-bottom-right-radius: 4px; }
+.ui-corner-left { -moz-border-radius-topleft: 4px;
-webkit-border-top-left-radius: 4px; -moz-border-radius-bottomleft: 4px;
-webkit-border-bottom-left-radius: 4px; }
+.ui-corner-all { -moz-border-radius: 4px; -webkit-border-radius: 4px; }
+
+/* Overlays */
+.ui-widget-overlay { background: #666666
url(images/ui-bg_diagonals-thick_20_666666_40x40.png) 50% 50% repeat; opacity:
.50;filter:Alpha(Opacity=50); }
+.ui-widget-shadow { margin: -5px 0 0 -5px; padding: 5px; background: #000000
url(images/ui-bg_flat_10_000000_40x100.png) 50% 50% repeat-x; opacity:
.20;filter:Alpha(Opacity=20); -moz-border-radius: 5px; -webkit-border-radius:
5px; }/* Tabs
+----------------------------------*/
+.ui-tabs { padding: .2em; zoom: 1; }
+.ui-tabs .ui-tabs-nav { list-style: none; position: relative; padding: .2em
.2em 0; }
+.ui-tabs .ui-tabs-nav li { position: relative; float: left;
border-bottom-width: 0 !important; margin: 0 .2em -1px 0; padding: 0; }
+.ui-tabs .ui-tabs-nav li a { float: left; text-decoration: none; padding: .5em
1em; }
+.ui-tabs .ui-tabs-nav li.ui-tabs-selected { padding-bottom: 1px;
border-bottom-width: 0; }
+.ui-tabs .ui-tabs-nav li.ui-tabs-selected a, .ui-tabs .ui-tabs-nav
li.ui-state-disabled a, .ui-tabs .ui-tabs-nav li.ui-state-processing a {
cursor: text; }
+.ui-tabs .ui-tabs-nav li a, .ui-tabs.ui-tabs-collapsible .ui-tabs-nav
li.ui-tabs-selected a { cursor: pointer; } /* first selector in group seems
obsolete, but required to overcome bug in Opera applying cursor: text overall
if defined elsewhere... */
+.ui-tabs .ui-tabs-panel { padding: 1em 1.4em; display: block; border-width: 0;
background: none; }
+.ui-tabs .ui-tabs-hide { display: none !important; }
Added: trunk/extensions/Storyboard/jquery/jquery-ui-1.7.2.custom.min.js
===================================================================
--- trunk/extensions/Storyboard/jquery/jquery-ui-1.7.2.custom.min.js
(rev 0)
+++ trunk/extensions/Storyboard/jquery/jquery-ui-1.7.2.custom.min.js
2010-04-22 21:10:18 UTC (rev 65443)
@@ -0,0 +1,22 @@
+/*
+ * jQuery UI 1.7.2
+ *
+ * Copyright (c) 2009 AUTHORS.txt (http://jqueryui.com/about)
+ * Dual licensed under the MIT (MIT-LICENSE.txt)
+ * and GPL (GPL-LICENSE.txt) licenses.
+ *
+ * http://docs.jquery.com/UI
+ */
+jQuery.ui||(function(c){var
i=c.fn.remove,d=c.browser.mozilla&&(parseFloat(c.browser.version)<1.9);c.ui={version:"1.7.2",plugin:{add:function(k,l,n){var
m=c.ui[k].prototype;for(var j in
n){m.plugins[j]=m.plugins[j]||[];m.plugins[j].push([l,n[j]])}},call:function(j,l,k){var
n=j.plugins[l];if(!n||!j.element[0].parentNode){return}for(var
m=0;m<n.length;m++){if(j.options[n[m][0]]){n[m][1].apply(j.element,k)}}}},contains:function(k,j){return
document.compareDocumentPosition?k.compareDocumentPosition(j)&16:k!==j&&k.contains(j)},hasScroll:function(m,k){if(c(m).css("overflow")=="hidden"){return
false}var j=(k&&k=="left")?"scrollLeft":"scrollTop",l=false;if(m[j]>0){return
true}m[j]=1;l=(m[j]>0);m[j]=0;return
l},isOverAxis:function(k,j,l){return(k>j)&&(k<(j+l))},isOver:function(o,k,n,m,j,l){return
c.ui.isOverAxis(o,n,j)&&c.ui.isOverAxis(k,m,l)},keyCode:{BACKSPACE:8,CAPS_LOCK:20,COMMA:188,CONTROL:17,DELETE:46,DOWN:40,END:35,ENTER:13,ESCAPE:27,HOME:36,INSERT:45,LEFT:37,NUMPAD_ADD:107,NUMPAD_DECIMAL:110,NUMPAD_DIVIDE:111,NUMPAD_ENTER:108,NUMPAD_MULTIPLY:106,NUMPAD_SUBTRACT:109,PAGE_DOWN:34,PAGE_UP:33,PERIOD:190,RIGHT:39,SHIFT:16,SPACE:32,TAB:9,UP:38}};if(d){var
f=c.attr,e=c.fn.removeAttr,h="http://www.w3.org/2005/07/aaa",a=/^aria-/,b=/^wairole:/;c.attr=function(k,j,l){var
m=l!==undefined;return(j=="role"?(m?f.call(this,k,j,"wairole:"+l):(f.apply(this,arguments)||"").replace(b,"")):(a.test(j)?(m?k.setAttributeNS(h,j.replace(a,"aaa:"),l):f.call(this,k,j.replace(a,"aaa:"))):f.apply(this,arguments)))};c.fn.removeAttr=function(j){return(a.test(j)?this.each(function(){this.removeAttributeNS(h,j.replace(a,""))}):e.call(this,j))}}c.fn.extend({remove:function(){c("*",this).add(this).each(function(){c(this).triggerHandler("remove")});return
i.apply(this,arguments)},enableSelection:function(){return
this.attr("unselectable","off").css("MozUserSelect","").unbind("selectstart.ui")},disableSelection:function(){return
this.attr("unselectable","on").css("MozUserSelect","none").bind("selectstart.ui",function(){return
false})},scrollParent:function(){var
j;if((c.browser.msie&&(/(static|relative)/).test(this.css("position")))||(/absolute/).test(this.css("position"))){j=this.parents().filter(function(){return(/(relative|absolute|fixed)/).test(c.curCSS(this,"position",1))&&(/(auto|scroll)/).test(c.curCSS(this,"overflow",1)+c.curCSS(this,"overflow-y",1)+c.curCSS(this,"overflow-x",1))}).eq(0)}else{j=this.parents().filter(function(){return(/(auto|scroll)/).test(c.curCSS(this,"overflow",1)+c.curCSS(this,"overflow-y",1)+c.curCSS(this,"overflow-x",1))}).eq(0)}return(/fixed/).test(this.css("position"))||!j.length?c(document):j}});c.extend(c.expr[":"],{data:function(l,k,j){return
!!c.data(l,j[3])},focusable:function(k){var
l=k.nodeName.toLowerCase(),j=c.attr(k,"tabindex");return(/input|select|textarea|button|object/.test(l)?!k.disabled:"a"==l||"area"==l?k.href||!isNaN(j):!isNaN(j))&&!c(k)["area"==l?"parents":"closest"](":hidden").length},tabbable:function(k){var
j=c.attr(k,"tabindex");return(isNaN(j)||j>=0)&&c(k).is(":focusable")}});function
g(m,n,o,l){function k(q){var p=c[m][n][q]||[];return(typeof
p=="string"?p.split(/,?\s+/):p)}var j=k("getter");if(l.length==1&&typeof
l[0]=="string"){j=j.concat(k("getterSetter"))}return(c.inArray(o,j)!=-1)}c.widget=function(k,j){var
l=k.split(".")[0];k=k.split(".")[1];c.fn[k]=function(p){var n=(typeof
p=="string"),o=Array.prototype.slice.call(arguments,1);if(n&&p.substring(0,1)=="_"){return
this}if(n&&g(l,k,p,o)){var
m=c.data(this[0],k);return(m?m[p].apply(m,o):undefined)}return
this.each(function(){var q=c.data(this,k);(!q&&!n&&c.data(this,k,new
c[l][k](this,p))._init());(q&&n&&c.isFunction(q[p])&&q[p].apply(q,o))})};c[l]=c[l]||{};c[l][k]=function(o,n){var
m=this;this.namespace=l;this.widgetName=k;this.widgetEventPrefix=c[l][k].eventPrefix||k;this.widgetBaseClass=l+"-"+k;this.options=c.extend({},c.widget.defaults,c[l][k].defaults,c.metadata&&c.metadata.get(o)[k],n);this.element=c(o).bind("setData."+k,function(q,p,r){if(q.target==o){return
m._setData(p,r)}}).bind("getData."+k,function(q,p){if(q.target==o){return
m._getData(p)}}).bind("remove",function(){return
m.destroy()})};c[l][k].prototype=c.extend({},c.widget.prototype,j);c[l][k].getterSetter="option"};c.widget.prototype={_init:function(){},destroy:function(){this.element.removeData(this.widgetName).removeClass(this.widgetBaseClass+"-disabled
"+this.namespace+"-state-disabled").removeAttr("aria-disabled")},option:function(l,m){var
k=l,j=this;if(typeof l=="string"){if(m===undefined){return
this._getData(l)}k={};k[l]=m}c.each(k,function(n,o){j._setData(n,o)})},_getData:function(j){return
this.options[j]},_setData:function(j,k){this.options[j]=k;if(j=="disabled"){this.element[k?"addClass":"removeClass"](this.widgetBaseClass+"-disabled
"+this.namespace+"-state-disabled").attr("aria-disabled",k)}},enable:function(){this._setData("disabled",false)},disable:function(){this._setData("disabled",true)},_trigger:function(l,m,n){var
p=this.options[l],j=(l==this.widgetEventPrefix?l:this.widgetEventPrefix+l);m=c.Event(m);m.type=j;if(m.originalEvent){for(var
k=c.event.props.length,o;k;){o=c.event.props[--k];m[o]=m.originalEvent[o]}}this.element.trigger(m,n);return
!(c.isFunction(p)&&p.call(this.element[0],m,n)===false||m.isDefaultPrevented())}};c.widget.defaults={disabled:false};c.ui.mouse={_mouseInit:function(){var
j=this;this.element.bind("mousedown."+this.widgetName,function(k){return
j._mouseDown(k)}).bind("click."+this.widgetName,function(k){if(j._preventClickEvent){j._preventClickEvent=false;k.stopImmediatePropagation();return
false}});if(c.browser.msie){this._mouseUnselectable=this.element.attr("unselectable");this.element.attr("unselectable","on")}this.started=false},_mouseDestroy:function(){this.element.unbind("."+this.widgetName);(c.browser.msie&&this.element.attr("unselectable",this._mouseUnselectable))},_mouseDown:function(l){l.originalEvent=l.originalEvent||{};if(l.originalEvent.mouseHandled){return}(this._mouseStarted&&this._mouseUp(l));this._mouseDownEvent=l;var
k=this,m=(l.which==1),j=(typeof
this.options.cancel=="string"?c(l.target).parents().add(l.target).filter(this.options.cancel).length:false);if(!m||j||!this._mouseCapture(l)){return
true}this.mouseDelayMet=!this.options.delay;if(!this.mouseDelayMet){this._mouseDelayTimer=setTimeout(function(){k.mouseDelayMet=true},this.options.delay)}if(this._mouseDistanceMet(l)&&this._mouseDelayMet(l)){this._mouseStarted=(this._mouseStart(l)!==false);if(!this._mouseStarted){l.preventDefault();return
true}}this._mouseMoveDelegate=function(n){return
k._mouseMove(n)};this._mouseUpDelegate=function(n){return
k._mouseUp(n)};c(document).bind("mousemove."+this.widgetName,this._mouseMoveDelegate).bind("mouseup."+this.widgetName,this._mouseUpDelegate);(c.browser.safari||l.preventDefault());l.originalEvent.mouseHandled=true;return
true},_mouseMove:function(j){if(c.browser.msie&&!j.button){return
this._mouseUp(j)}if(this._mouseStarted){this._mouseDrag(j);return
j.preventDefault()}if(this._mouseDistanceMet(j)&&this._mouseDelayMet(j)){this._mouseStarted=(this._mouseStart(this._mouseDownEvent,j)!==false);(this._mouseStarted?this._mouseDrag(j):this._mouseUp(j))}return
!this._mouseStarted},_mouseUp:function(j){c(document).unbind("mousemove."+this.widgetName,this._mouseMoveDelegate).unbind("mouseup."+this.widgetName,this._mouseUpDelegate);if(this._mouseStarted){this._mouseStarted=false;this._preventClickEvent=(j.target==this._mouseDownEvent.target);this._mouseStop(j)}return
false},_mouseDistanceMet:function(j){return(Math.max(Math.abs(this._mouseDownEvent.pageX-j.pageX),Math.abs(this._mouseDownEvent.pageY-j.pageY))>=this.options.distance)},_mouseDelayMet:function(j){return
this.mouseDelayMet},_mouseStart:function(j){},_mouseDrag:function(j){},_mouseStop:function(j){},_mouseCapture:function(j){return
true}};c.ui.mouse.defaults={cancel:null,distance:1,delay:0}})(jQuery);;/*
+ * jQuery UI Tabs 1.7.2
+ *
+ * Copyright (c) 2009 AUTHORS.txt (http://jqueryui.com/about)
+ * Dual licensed under the MIT (MIT-LICENSE.txt)
+ * and GPL (GPL-LICENSE.txt) licenses.
+ *
+ * http://docs.jquery.com/UI/Tabs
+ *
+ * Depends:
+ * ui.core.js
+ */
+(function(a){a.widget("ui.tabs",{_init:function(){if(this.options.deselectable!==undefined){this.options.collapsible=this.options.deselectable}this._tabify(true)},_setData:function(b,c){if(b=="selected"){if(this.options.collapsible&&c==this.options.selected){return}this.select(c)}else{this.options[b]=c;if(b=="deselectable"){this.options.collapsible=c}this._tabify()}},_tabId:function(b){return
b.title&&b.title.replace(/\s/g,"_").replace(/[^A-Za-z0-9\-_:\.]/g,"")||this.options.idPrefix+a.data(b)},_sanitizeSelector:function(b){return
b.replace(/:/g,"\\:")},_cookie:function(){var
b=this.cookie||(this.cookie=this.options.cookie.name||"ui-tabs-"+a.data(this.list[0]));return
a.cookie.apply(null,[b].concat(a.makeArray(arguments)))},_ui:function(c,b){return{tab:c,panel:b,index:this.anchors.index(c)}},_cleanup:function(){this.lis.filter(".ui-state-processing").removeClass("ui-state-processing").find("span:data(label.tabs)").each(function(){var
b=a(this);b.html(b.data("label.tabs")).removeData("label.tabs")})},_tabify:function(n){this.list=this.element.children("ul:first");this.lis=a("li:has(a[href])",this.list);this.anchors=this.lis.map(function(){return
a("a",this)[0]});this.panels=a([]);var p=this,d=this.options;var
c=/^#.+/;this.anchors.each(function(r,o){var q=a(o).attr("href");var
s=q.split("#")[0],u;if(s&&(s===location.toString().split("#")[0]||(u=a("base")[0])&&s===u.href)){q=o.hash;o.href=q}if(c.test(q)){p.panels=p.panels.add(p._sanitizeSelector(q))}else{if(q!="#"){a.data(o,"href.tabs",q);a.data(o,"load.tabs",q.replace(/#.*$/,""));var
w=p._tabId(o);o.href="#"+w;var
v=a("#"+w);if(!v.length){v=a(d.panelTemplate).attr("id",w).addClass("ui-tabs-panel
ui-widget-content
ui-corner-bottom").insertAfter(p.panels[r-1]||p.list);v.data("destroy.tabs",true)}p.panels=p.panels.add(v)}else{d.disabled.push(r)}}});if(n){this.element.addClass("ui-tabs
ui-widget ui-widget-content ui-corner-all");this.list.addClass("ui-tabs-nav
ui-helper-reset ui-helper-clearfix ui-widget-header
ui-corner-all");this.lis.addClass("ui-state-default
ui-corner-top");this.panels.addClass("ui-tabs-panel ui-widget-content
ui-corner-bottom");if(d.selected===undefined){if(location.hash){this.anchors.each(function(q,o){if(o.hash==location.hash){d.selected=q;return
false}})}if(typeof
d.selected!="number"&&d.cookie){d.selected=parseInt(p._cookie(),10)}if(typeof
d.selected!="number"&&this.lis.filter(".ui-tabs-selected").length){d.selected=this.lis.index(this.lis.filter(".ui-tabs-selected"))}d.selected=d.selected||0}else{if(d.selected===null){d.selected=-1}}d.selected=((d.selected>=0&&this.anchors[d.selected])||d.selected<0)?d.selected:0;d.disabled=a.unique(d.disabled.concat(a.map(this.lis.filter(".ui-state-disabled"),function(q,o){return
p.lis.index(q)}))).sort();if(a.inArray(d.selected,d.disabled)!=-1){d.disabled.splice(a.inArray(d.selected,d.disabled),1)}this.panels.addClass("ui-tabs-hide");this.lis.removeClass("ui-tabs-selected
ui-state-active");if(d.selected>=0&&this.anchors.length){this.panels.eq(d.selected).removeClass("ui-tabs-hide");this.lis.eq(d.selected).addClass("ui-tabs-selected
ui-state-active");p.element.queue("tabs",function(){p._trigger("show",null,p._ui(p.anchors[d.selected],p.panels[d.selected]))});this.load(d.selected)}a(window).bind("unload",function(){p.lis.add(p.anchors).unbind(".tabs");p.lis=p.anchors=p.panels=null})}else{d.selected=this.lis.index(this.lis.filter(".ui-tabs-selected"))}this.element[d.collapsible?"addClass":"removeClass"]("ui-tabs-collapsible");if(d.cookie){this._cookie(d.selected,d.cookie)}for(var
g=0,m;(m=this.lis[g]);g++){a(m)[a.inArray(g,d.disabled)!=-1&&!a(m).hasClass("ui-tabs-selected")?"addClass":"removeClass"]("ui-state-disabled")}if(d.cache===false){this.anchors.removeData("cache.tabs")}this.lis.add(this.anchors).unbind(".tabs");if(d.event!="mouseover"){var
f=function(o,i){if(i.is(":not(.ui-state-disabled)")){i.addClass("ui-state-"+o)}};var
j=function(o,i){i.removeClass("ui-state-"+o)};this.lis.bind("mouseover.tabs",function(){f("hover",a(this))});this.lis.bind("mouseout.tabs",function(){j("hover",a(this))});this.anchors.bind("focus.tabs",function(){f("focus",a(this).closest("li"))});this.anchors.bind("blur.tabs",function(){j("focus",a(this).closest("li"))})}var
b,h;if(d.fx){if(a.isArray(d.fx)){b=d.fx[0];h=d.fx[1]}else{b=h=d.fx}}function
e(i,o){i.css({display:""});if(a.browser.msie&&o.opacity){i[0].style.removeAttribute("filter")}}var
k=h?function(i,o){a(i).closest("li").removeClass("ui-state-default").addClass("ui-tabs-selected
ui-state-active");o.hide().removeClass("ui-tabs-hide").animate(h,h.duration||"normal",function(){e(o,h);p._trigger("show",null,p._ui(i,o[0]))})}:function(i,o){a(i).closest("li").removeClass("ui-state-default").addClass("ui-tabs-selected
ui-state-active");o.removeClass("ui-tabs-hide");p._trigger("show",null,p._ui(i,o[0]))};var
l=b?function(o,i){i.animate(b,b.duration||"normal",function(){p.lis.removeClass("ui-tabs-selected
ui-state-active").addClass("ui-state-default");i.addClass("ui-tabs-hide");e(i,b);p.element.dequeue("tabs")})}:function(o,i,q){p.lis.removeClass("ui-tabs-selected
ui-state-active").addClass("ui-state-default");i.addClass("ui-tabs-hide");p.element.dequeue("tabs")};this.anchors.bind(d.event+".tabs",function(){var
o=this,r=a(this).closest("li"),i=p.panels.filter(":not(.ui-tabs-hide)"),q=a(p._sanitizeSelector(this.hash));if((r.hasClass("ui-tabs-selected")&&!d.collapsible)||r.hasClass("ui-state-disabled")||r.hasClass("ui-state-processing")||p._trigger("select",null,p._ui(this,q[0]))===false){this.blur();return
false}d.selected=p.anchors.index(this);p.abort();if(d.collapsible){if(r.hasClass("ui-tabs-selected")){d.selected=-1;if(d.cookie){p._cookie(d.selected,d.cookie)}p.element.queue("tabs",function(){l(o,i)}).dequeue("tabs");this.blur();return
false}else{if(!i.length){if(d.cookie){p._cookie(d.selected,d.cookie)}p.element.queue("tabs",function(){k(o,q)});p.load(p.anchors.index(this));this.blur();return
false}}}if(d.cookie){p._cookie(d.selected,d.cookie)}if(q.length){if(i.length){p.element.queue("tabs",function(){l(o,i)})}p.element.queue("tabs",function(){k(o,q)});p.load(p.anchors.index(this))}else{throw"jQuery
UI Tabs: Mismatching fragment
identifier."}if(a.browser.msie){this.blur()}});this.anchors.bind("click.tabs",function(){return
false})},destroy:function(){var
b=this.options;this.abort();this.element.unbind(".tabs").removeClass("ui-tabs
ui-widget ui-widget-content ui-corner-all
ui-tabs-collapsible").removeData("tabs");this.list.removeClass("ui-tabs-nav
ui-helper-reset ui-helper-clearfix ui-widget-header
ui-corner-all");this.anchors.each(function(){var
c=a.data(this,"href.tabs");if(c){this.href=c}var
d=a(this).unbind(".tabs");a.each(["href","load","cache"],function(e,f){d.removeData(f+".tabs")})});this.lis.unbind(".tabs").add(this.panels).each(function(){if(a.data(this,"destroy.tabs")){a(this).remove()}else{a(this).removeClass(["ui-state-default","ui-corner-top","ui-tabs-selected","ui-state-active","ui-state-hover","ui-state-focus","ui-state-disabled","ui-tabs-panel","ui-widget-content","ui-corner-bottom","ui-tabs-hide"].join("
"))}});if(b.cookie){this._cookie(null,b.cookie)}},add:function(e,d,c){if(c===undefined){c=this.anchors.length}var
b=this,g=this.options,i=a(g.tabTemplate.replace(/#\{href\}/g,e).replace(/#\{label\}/g,d)),h=!e.indexOf("#")?e.replace("#",""):this._tabId(a("a",i)[0]);i.addClass("ui-state-default
ui-corner-top").data("destroy.tabs",true);var
f=a("#"+h);if(!f.length){f=a(g.panelTemplate).attr("id",h).data("destroy.tabs",true)}f.addClass("ui-tabs-panel
ui-widget-content ui-corner-bottom
ui-tabs-hide");if(c>=this.lis.length){i.appendTo(this.list);f.appendTo(this.list[0].parentNode)}else{i.insertBefore(this.lis[c]);f.insertBefore(this.panels[c])}g.disabled=a.map(g.disabled,function(k,j){return
k>=c?++k:k});this._tabify();if(this.anchors.length==1){i.addClass("ui-tabs-selected
ui-state-active");f.removeClass("ui-tabs-hide");this.element.queue("tabs",function(){b._trigger("show",null,b._ui(b.anchors[0],b.panels[0]))});this.load(0)}this._trigger("add",null,this._ui(this.anchors[c],this.panels[c]))},remove:function(b){var
d=this.options,e=this.lis.eq(b).remove(),c=this.panels.eq(b).remove();if(e.hasClass("ui-tabs-selected")&&this.anchors.length>1){this.select(b+(b+1<this.anchors.length?1:-1))}d.disabled=a.map(a.grep(d.disabled,function(g,f){return
g!=b}),function(g,f){return
g>=b?--g:g});this._tabify();this._trigger("remove",null,this._ui(e.find("a")[0],c[0]))},enable:function(b){var
c=this.options;if(a.inArray(b,c.disabled)==-1){return}this.lis.eq(b).removeClass("ui-state-disabled");c.disabled=a.grep(c.disabled,function(e,d){return
e!=b});this._trigger("enable",null,this._ui(this.anchors[b],this.panels[b]))},disable:function(c){var
b=this,d=this.options;if(c!=d.selected){this.lis.eq(c).addClass("ui-state-disabled");d.disabled.push(c);d.disabled.sort();this._trigger("disable",null,this._ui(this.anchors[c],this.panels[c]))}},select:function(b){if(typeof
b=="string"){b=this.anchors.index(this.anchors.filter("[href$="+b+"]"))}else{if(b===null){b=-1}}if(b==-1&&this.options.collapsible){b=this.options.selected}this.anchors.eq(b).trigger(this.options.event+".tabs")},load:function(e){var
c=this,g=this.options,b=this.anchors.eq(e)[0],d=a.data(b,"load.tabs");this.abort();if(!d||this.element.queue("tabs").length!==0&&a.data(b,"cache.tabs")){this.element.dequeue("tabs");return}this.lis.eq(e).addClass("ui-state-processing");if(g.spinner){var
f=a("span",b);f.data("label.tabs",f.html()).html(g.spinner)}this.xhr=a.ajax(a.extend({},g.ajaxOptions,{url:d,success:function(i,h){a(c._sanitizeSelector(b.hash)).html(i);c._cleanup();if(g.cache){a.data(b,"cache.tabs",true)}c._trigger("load",null,c._ui(c.anchors[e],c.panels[e]));try{g.ajaxOptions.success(i,h)}catch(j){}c.element.dequeue("tabs")}}))},abort:function(){this.element.queue([]);this.panels.stop(false,true);if(this.xhr){this.xhr.abort();delete
this.xhr}this._cleanup()},url:function(c,b){this.anchors.eq(c).removeData("cache.tabs").data("load.tabs",b)},length:function(){return
this.anchors.length}});a.extend(a.ui.tabs,{version:"1.7.2",getter:"length",defaults:{ajaxOptions:null,cache:false,cookie:null,collapsible:false,disabled:[],event:"click",fx:null,idPrefix:"ui-tabs-",panelTemplate:"<div></div>",spinner:"<em>Loading…</em>",tabTemplate:'<li><a
href="#{href}"><span>#{label}</span></a></li>'}});a.extend(a.ui.tabs.prototype,{rotation:null,rotate:function(d,f){var
b=this,g=this.options;var
c=b._rotate||(b._rotate=function(h){clearTimeout(b.rotation);b.rotation=setTimeout(function(){var
i=g.selected;b.select(++i<b.anchors.length?i:0)},d);if(h){h.stopPropagation()}});var
e=b._unrotate||(b._unrotate=!f?function(h){if(h.clientX){b.rotate(null)}}:function(h){t=g.selected;c()});if(d){this.element.bind("tabsshow",c);this.anchors.bind(g.event+".tabs",e);c()}else{clearTimeout(b.rotation);this.element.unbind("tabsshow",c);this.anchors.unbind(g.event+".tabs",e);delete
this._rotate;delete this._unrotate}}})})(jQuery);;
\ No newline at end of file
Modified: trunk/extensions/Storyboard/specials/StoryReview/StoryReview_body.php
===================================================================
--- trunk/extensions/Storyboard/specials/StoryReview/StoryReview_body.php
2010-04-22 20:44:53 UTC (rev 65442)
+++ trunk/extensions/Storyboard/specials/StoryReview/StoryReview_body.php
2010-04-22 21:10:18 UTC (rev 65443)
@@ -7,6 +7,11 @@
* @ingroup SpecialPage
*
* @author Jeroen De Dauw
+ *
+ * TODO: implement eternal load stuff for each list
+ * TODO: fix layout
+ * TODO: fix story blocks to work with new story state handling
+ * TODO: ajax load tab contents?
*/
if ( !defined( 'MEDIAWIKI' ) ) {
@@ -36,21 +41,48 @@
wfProfileOut( __METHOD__ );
}
-
+
private function addOutput() {
- // TODO: add language filters
- // TODO: display tabs for unpublished, published and hidden
stories
- // TODO: paging
-
global $wgOut, $egStoryboardScriptPath;
$wgOut->addStyle( $egStoryboardScriptPath . '/storyboard.css' );
$wgOut->includeJQuery();
$wgOut->addScriptFile( $egStoryboardScriptPath .
'/storyboard.js' );
+ // jQuery UI core and Tabs.
+ $wgOut->addScriptFile( $egStoryboardScriptPath .
'/jquery/jquery-ui-1.7.2.custom.min.js' );
+ $wgOut->addStyle( $egStoryboardScriptPath .
'/jquery/css/jquery-ui-1.7.2.custom.css' );
// Get a slave db object to do read operations against.
$dbr = wfGetDB( DB_SLAVE );
+ $html = $this->getTabHtml( $dbr, Storyboard_STORY_UNPUBLISHED );
+ $html .= $this->getTabHtml( $dbr, Storyboard_STORY_PUBLISHED );
+ $html .= $this->getTabHtml( $dbr, Storyboard_STORY_HIDDEN );
+
+ $unpublished = htmlspecialchars( wfMsg(
'storyboard-unpublished' ) );
+ $published = htmlspecialchars( wfMsg( 'storyboard-published' )
);
+ $hidden = htmlspecialchars( wfMsg( 'storyboard-hidden' ) );
+
+ $html = <<<EOT
+<div id="storyreview-tabs">
+ <ul>
+ <li><a href="#storyreview-tabs-0">$unpublished</a></li>
+ <li><a href="#storyreview-tabs-1">$published</a></li>
+ <li><a href="#storyreview-tabs-2">$hidden</a></li>
+ </ul>
+$html
+</div>
+<script type="text/javascript">
+ jQuery(function() {
+ jQuery("#storyreview-tabs").tabs();
+ });
+</script>
+EOT;
+
+ $wgOut->addHTML( $html );
+ }
+
+ private function getTabHtml( DatabaseBase $dbr, $storyState ) {
// Create a query to retrieve information about all non hidden
stories.
$stories = $dbr->select(
Storyboard_TABLE,
@@ -59,38 +91,20 @@
'story_author_name',
'story_title',
'story_text',
- 'story_state',
'story_author_image',
'story_image_hidden'
),
- array( 'story_state' => $dbr->makeList( array (
'Storyboard_STORY_UNPUBLISHED', 'Storyboard_STORY_PUBLISHED' ), LIST_OR ) )
+ array( 'story_state' => $storyState )
);
- // String to hold the html for both the unreviewed and reviewed
stories.
- $unreviewed = '';
- $reviewed = '';
+ $html = '';
// Loop through all stories, get their html, and add it to the
appropriate string.
while ( $story = $dbr->fetchObject( $stories ) ) {
- if ( $story->story_state ==
Storyboard_STORY_UNPUBLISHED ) {
- $reviewed .= $this->getStorySegments( $story );
- }
- else {
- $unreviewed .= $this->getStorySegments( $story
);
- }
+ $html .= $this->getStorySegments( $story, $storyState );
}
-
- $unrevMsg = wfMsg( 'storyboard-unreviewed' );
- $revMsg = wfMsg( 'storyboard-reviewed' );
- // Output the html for the stories.
- $wgOut->addHTML( <<<EOT
- <h2>$unrevMsg</h2>
- $unreviewed
- <h2>$revMsg</h2>
- $reviewed
-EOT
- );
+ return "<div id='storyreview-tabs-$storyState'>$html</div>";
}
/**
@@ -100,7 +114,7 @@
*
* @return string
*/
- private function getStorySegments( $story ) {
+ private function getStorySegments( $story, $storyState ) {
global $wgTitle;
$editUrl = SpecialPage::getTitleFor( 'story',
$story->story_title )->getFullURL( 'action=edit&returnto=' .
$wgTitle->getPrefixedText() );
@@ -109,7 +123,7 @@
$title = htmlspecialchars( $story->story_title );
$text = htmlspecialchars( $story->story_text );
- $publishAction = $story->story_state ==
Storyboard_STORY_PUBLISHED ? 'unpublish' : 'publish';
+ $publishAction = $storyState == Storyboard_STORY_PUBLISHED ?
'unpublish' : 'publish';
// Uses storyboard-unpublish or storyboard-publish.
$publishMsg = htmlspecialchars( wfMsg(
"storyboard-$publishAction" ) );
_______________________________________________
MediaWiki-CVS mailing list
[email protected]
https://lists.wikimedia.org/mailman/listinfo/mediawiki-cvs