r111953 MediaWiki - Code Review archive

Repository:MediaWiki
Revision:r111952‎ | r111953 | r111954 >
Date:18:48, 20 February 2012
Author:jeroendedauw
Status:deferred (Comments)
Tags:
Comment:
applied patch by James Hong Kong
Modified paths:
  • /trunk/extensions/SemanticResultFormats/Gallery/SRF_Gallery.php (modified) (history)
  • /trunk/extensions/SemanticResultFormats/Gallery/resources (added) (history)
  • /trunk/extensions/SemanticResultFormats/Gallery/resources/ext.srf.jcarousel.css (added) (history)
  • /trunk/extensions/SemanticResultFormats/Gallery/resources/ext.srf.jcarousel.js (added) (history)
  • /trunk/extensions/SemanticResultFormats/Gallery/resources/images (added) (history)
  • /trunk/extensions/SemanticResultFormats/Gallery/resources/images/next-horizontal.png (added) (history)
  • /trunk/extensions/SemanticResultFormats/Gallery/resources/images/next-vertical.png (added) (history)
  • /trunk/extensions/SemanticResultFormats/Gallery/resources/images/prev-horizontal.png (added) (history)
  • /trunk/extensions/SemanticResultFormats/Gallery/resources/images/prev-vertical.png (added) (history)
  • /trunk/extensions/SemanticResultFormats/Gallery/resources/jquery.jcarousel.min.js (added) (history)
  • /trunk/extensions/SemanticResultFormats/SRF_Messages.php (modified) (history)
  • /trunk/extensions/SemanticResultFormats/SRF_Resources.php (modified) (history)

Diff [purge]

Index: trunk/extensions/SemanticResultFormats/Gallery/SRF_Gallery.php
@@ -7,7 +7,7 @@
88 * @ingroup SemanticResultFormats
99 *
1010 * @author Rowan Rodrik van der Molen
11 - * @author Jeroen De Dauw
 11+ * @author Jeroen De Dauw, mwjames
1212 */
1313 class SRFGallery extends SMWResultPrinter {
1414
@@ -29,8 +29,20 @@
3030 $ig->setShowFilename( false );
3131 $ig->setParser( $wgParser );
3232 $ig->setCaption( $this->mIntro ); // set caption to IQ header
33 -
34 - if ( $this->m_params['perrow'] !== '' ) {
 33+
 34+ if ( $this->m_params['galleryformat'] == 'carousel' ) {
 35+ // Set attributes for jcarousel
 36+ $mAttribs['id'] = 'carousel';
 37+ $mAttribs['class'] = 'jcarousel-skin-smw';
 38+ $mAttribs['style'] = 'display:none;';
 39+ $ig->setAttributes( $mAttribs );
 40+
 41+ // Require the javascript
 42+ SMWOutputs::requireResource( 'ext.srf.jcarousel' );
 43+ }
 44+
 45+ // In case galleryformat = carousel, perrow should not be set
 46+ if ( $this->m_params['perrow'] !== '' && $this->m_params['galleryformat'] !== 'carousel' ) {
3547 $ig->setPerRow( $this->m_params['perrow'] );
3648 }
3749
@@ -155,14 +167,17 @@
156168 $imgCaption = '';
157169 }
158170 }
159 - else {
160 - $imgCaption = $wgParser->recursiveTagParse( $imgCaption );
 171+ else {
 172+ $imgCaption = $wgParser->recursiveTagParse( $imgCaption );
 173+ // the above call creates getMaxIncludeSize() fatal error on Special Pages
 174+ // below might fix this
 175+ // $imgCaption = $wgParser->transformMsg( $imgCaption, ParserOptions::newFromUser( null ) );
161176 }
162177
163178 $ig->add( $imgTitle, $imgCaption );
164179
165180 // Only add real images (bug #5586)
166 - if ( $imgTitle->getNamespace() == NS_IMAGE ) {
 181+ if ( $imgTitle->getNamespace() == NS_IMAGE && !$imgTitle->getDBkey() == null ) {
167182 $wgParser->mOutput->addImage( $imgTitle->getDBkey() );
168183 }
169184 }
@@ -177,6 +192,10 @@
178193 public function getParameters() {
179194 $params = parent::getParameters();
180195
 196+ $params['galleryformat'] = new Parameter( 'galleryformat', Parameter::TYPE_STRING, '' );
 197+ $params['galleryformat']->setMessage( 'srf_paramdesc_galleryformat' );
 198+ $params['galleryformat']->addCriteria( new CriterionInArray( 'carousel' ) );
 199+
181200 $params['perrow'] = new Parameter( 'perrow', Parameter::TYPE_INTEGER );
182201 $params['perrow']->setMessage( 'srf_paramdesc_perrow' );
183202 $params['perrow']->setDefault( '', false );
Index: trunk/extensions/SemanticResultFormats/Gallery/resources/jquery.jcarousel.min.js
@@ -0,0 +1,16 @@
 2+/*!
 3+ * jCarousel - Riding carousels with jQuery
 4+ * http://sorgalla.com/jcarousel/
 5+ *
 6+ * Copyright (c) 2006 Jan Sorgalla (http://sorgalla.com)
 7+ * Dual licensed under the MIT (http://www.opensource.org/licenses/mit-license.php)
 8+ * and GPL (http://www.opensource.org/licenses/gpl-license.php) licenses.
 9+ *
 10+ * Built on top of the jQuery library
 11+ * http://jquery.com
 12+ *
 13+ * Inspired by the "Carousel Component" by Bill Scott
 14+ * http://billwscott.com/carousel/
 15+ */
 16+
 17+(function(g){var q={vertical:!1,rtl:!1,start:1,offset:1,size:null,scroll:3,visible:null,animation:"normal",easing:"swing",auto:0,wrap:null,initCallback:null,setupCallback:null,reloadCallback:null,itemLoadCallback:null,itemFirstInCallback:null,itemFirstOutCallback:null,itemLastInCallback:null,itemLastOutCallback:null,itemVisibleInCallback:null,itemVisibleOutCallback:null,animationStepCallback:null,buttonNextHTML:"<div></div>",buttonPrevHTML:"<div></div>",buttonNextEvent:"click",buttonPrevEvent:"click", buttonNextCallback:null,buttonPrevCallback:null,itemFallbackDimension:null},m=!1;g(window).bind("load.jcarousel",function(){m=!0});g.jcarousel=function(a,c){this.options=g.extend({},q,c||{});this.autoStopped=this.locked=!1;this.buttonPrevState=this.buttonNextState=this.buttonPrev=this.buttonNext=this.list=this.clip=this.container=null;if(!c||c.rtl===void 0)this.options.rtl=(g(a).attr("dir")||g("html").attr("dir")||"").toLowerCase()=="rtl";this.wh=!this.options.vertical?"width":"height";this.lt=!this.options.vertical? this.options.rtl?"right":"left":"top";for(var b="",d=a.className.split(" "),f=0;f<d.length;f++)if(d[f].indexOf("jcarousel-skin")!=-1){g(a).removeClass(d[f]);b=d[f];break}a.nodeName.toUpperCase()=="UL"||a.nodeName.toUpperCase()=="OL"?(this.list=g(a),this.clip=this.list.parents(".jcarousel-clip"),this.container=this.list.parents(".jcarousel-container")):(this.container=g(a),this.list=this.container.find("ul,ol").eq(0),this.clip=this.container.find(".jcarousel-clip"));if(this.clip.size()===0)this.clip= this.list.wrap("<div></div>").parent();if(this.container.size()===0)this.container=this.clip.wrap("<div></div>").parent();b!==""&&this.container.parent()[0].className.indexOf("jcarousel-skin")==-1&&this.container.wrap('<div class=" '+b+'"></div>');this.buttonPrev=g(".jcarousel-prev",this.container);if(this.buttonPrev.size()===0&&this.options.buttonPrevHTML!==null)this.buttonPrev=g(this.options.buttonPrevHTML).appendTo(this.container);this.buttonPrev.addClass(this.className("jcarousel-prev"));this.buttonNext= g(".jcarousel-next",this.container);if(this.buttonNext.size()===0&&this.options.buttonNextHTML!==null)this.buttonNext=g(this.options.buttonNextHTML).appendTo(this.container);this.buttonNext.addClass(this.className("jcarousel-next"));this.clip.addClass(this.className("jcarousel-clip")).css({position:"relative"});this.list.addClass(this.className("jcarousel-list")).css({overflow:"hidden",position:"relative",top:0,margin:0,padding:0}).css(this.options.rtl?"right":"left",0);this.container.addClass(this.className("jcarousel-container")).css({position:"relative"}); !this.options.vertical&&this.options.rtl&&this.container.addClass("jcarousel-direction-rtl").attr("dir","rtl");var j=this.options.visible!==null?Math.ceil(this.clipping()/this.options.visible):null,b=this.list.children("li"),e=this;if(b.size()>0){var h=0,i=this.options.offset;b.each(function(){e.format(this,i++);h+=e.dimension(this,j)});this.list.css(this.wh,h+100+"px");if(!c||c.size===void 0)this.options.size=b.size()}this.container.css("display","block");this.buttonNext.css("display","block");this.buttonPrev.css("display", "block");this.funcNext=function(){e.next()};this.funcPrev=function(){e.prev()};this.funcResize=function(){e.resizeTimer&&clearTimeout(e.resizeTimer);e.resizeTimer=setTimeout(function(){e.reload()},100)};this.options.initCallback!==null&&this.options.initCallback(this,"init");!m&&g.browser.safari?(this.buttons(!1,!1),g(window).bind("load.jcarousel",function(){e.setup()})):this.setup()};var f=g.jcarousel;f.fn=f.prototype={jcarousel:"0.2.8"};f.fn.extend=f.extend=g.extend;f.fn.extend({setup:function(){this.prevLast= this.prevFirst=this.last=this.first=null;this.animating=!1;this.tail=this.resizeTimer=this.timer=null;this.inTail=!1;if(!this.locked){this.list.css(this.lt,this.pos(this.options.offset)+"px");var a=this.pos(this.options.start,!0);this.prevFirst=this.prevLast=null;this.animate(a,!1);g(window).unbind("resize.jcarousel",this.funcResize).bind("resize.jcarousel",this.funcResize);this.options.setupCallback!==null&&this.options.setupCallback(this)}},reset:function(){this.list.empty();this.list.css(this.lt, "0px");this.list.css(this.wh,"10px");this.options.initCallback!==null&&this.options.initCallback(this,"reset");this.setup()},reload:function(){this.tail!==null&&this.inTail&&this.list.css(this.lt,f.intval(this.list.css(this.lt))+this.tail);this.tail=null;this.inTail=!1;this.options.reloadCallback!==null&&this.options.reloadCallback(this);if(this.options.visible!==null){var a=this,c=Math.ceil(this.clipping()/this.options.visible),b=0,d=0;this.list.children("li").each(function(f){b+=a.dimension(this, c);f+1<a.first&&(d=b)});this.list.css(this.wh,b+"px");this.list.css(this.lt,-d+"px")}this.scroll(this.first,!1)},lock:function(){this.locked=!0;this.buttons()},unlock:function(){this.locked=!1;this.buttons()},size:function(a){if(a!==void 0)this.options.size=a,this.locked||this.buttons();return this.options.size},has:function(a,c){if(c===void 0||!c)c=a;if(this.options.size!==null&&c>this.options.size)c=this.options.size;for(var b=a;b<=c;b++){var d=this.get(b);if(!d.length||d.hasClass("jcarousel-item-placeholder"))return!1}return!0}, get:function(a){return g(">.jcarousel-item-"+a,this.list)},add:function(a,c){var b=this.get(a),d=0,p=g(c);if(b.length===0)for(var j,e=f.intval(a),b=this.create(a);;){if(j=this.get(--e),e<=0||j.length){e<=0?this.list.prepend(b):j.after(b);break}}else d=this.dimension(b);p.get(0).nodeName.toUpperCase()=="LI"?(b.replaceWith(p),b=p):b.empty().append(c);this.format(b.removeClass(this.className("jcarousel-item-placeholder")),a);p=this.options.visible!==null?Math.ceil(this.clipping()/this.options.visible): null;d=this.dimension(b,p)-d;a>0&&a<this.first&&this.list.css(this.lt,f.intval(this.list.css(this.lt))-d+"px");this.list.css(this.wh,f.intval(this.list.css(this.wh))+d+"px");return b},remove:function(a){var c=this.get(a);if(c.length&&!(a>=this.first&&a<=this.last)){var b=this.dimension(c);a<this.first&&this.list.css(this.lt,f.intval(this.list.css(this.lt))+b+"px");c.remove();this.list.css(this.wh,f.intval(this.list.css(this.wh))-b+"px")}},next:function(){this.tail!==null&&!this.inTail?this.scrollTail(!1): this.scroll((this.options.wrap=="both"||this.options.wrap=="last")&&this.options.size!==null&&this.last==this.options.size?1:this.first+this.options.scroll)},prev:function(){this.tail!==null&&this.inTail?this.scrollTail(!0):this.scroll((this.options.wrap=="both"||this.options.wrap=="first")&&this.options.size!==null&&this.first==1?this.options.size:this.first-this.options.scroll)},scrollTail:function(a){if(!this.locked&&!this.animating&&this.tail){this.pauseAuto();var c=f.intval(this.list.css(this.lt)), c=!a?c-this.tail:c+this.tail;this.inTail=!a;this.prevFirst=this.first;this.prevLast=this.last;this.animate(c)}},scroll:function(a,c){!this.locked&&!this.animating&&(this.pauseAuto(),this.animate(this.pos(a),c))},pos:function(a,c){var b=f.intval(this.list.css(this.lt));if(this.locked||this.animating)return b;this.options.wrap!="circular"&&(a=a<1?1:this.options.size&&a>this.options.size?this.options.size:a);for(var d=this.first>a,g=this.options.wrap!="circular"&&this.first<=1?1:this.first,j=d?this.get(g): this.get(this.last),e=d?g:g-1,h=null,i=0,k=!1,l=0;d?--e>=a:++e<a;){h=this.get(e);k=!h.length;if(h.length===0&&(h=this.create(e).addClass(this.className("jcarousel-item-placeholder")),j[d?"before":"after"](h),this.first!==null&&this.options.wrap=="circular"&&this.options.size!==null&&(e<=0||e>this.options.size)))j=this.get(this.index(e)),j.length&&(h=this.add(e,j.clone(!0)));j=h;l=this.dimension(h);k&&(i+=l);if(this.first!==null&&(this.options.wrap=="circular"||e>=1&&(this.options.size===null||e<= this.options.size)))b=d?b+l:b-l}for(var g=this.clipping(),m=[],o=0,n=0,j=this.get(a-1),e=a;++o;){h=this.get(e);k=!h.length;if(h.length===0){h=this.create(e).addClass(this.className("jcarousel-item-placeholder"));if(j.length===0)this.list.prepend(h);else j[d?"before":"after"](h);if(this.first!==null&&this.options.wrap=="circular"&&this.options.size!==null&&(e<=0||e>this.options.size))j=this.get(this.index(e)),j.length&&(h=this.add(e,j.clone(!0)))}j=h;l=this.dimension(h);if(l===0)throw Error("jCarousel: No width/height set for items. This will cause an infinite loop. Aborting..."); this.options.wrap!="circular"&&this.options.size!==null&&e>this.options.size?m.push(h):k&&(i+=l);n+=l;if(n>=g)break;e++}for(h=0;h<m.length;h++)m[h].remove();i>0&&(this.list.css(this.wh,this.dimension(this.list)+i+"px"),d&&(b-=i,this.list.css(this.lt,f.intval(this.list.css(this.lt))-i+"px")));i=a+o-1;if(this.options.wrap!="circular"&&this.options.size&&i>this.options.size)i=this.options.size;if(e>i){o=0;e=i;for(n=0;++o;){h=this.get(e--);if(!h.length)break;n+=this.dimension(h);if(n>=g)break}}e=i-o+ 1;this.options.wrap!="circular"&&e<1&&(e=1);if(this.inTail&&d)b+=this.tail,this.inTail=!1;this.tail=null;if(this.options.wrap!="circular"&&i==this.options.size&&i-o+1>=1&&(d=f.intval(this.get(i).css(!this.options.vertical?"marginRight":"marginBottom")),n-d>g))this.tail=n-g-d;if(c&&a===this.options.size&&this.tail)b-=this.tail,this.inTail=!0;for(;a-- >e;)b+=this.dimension(this.get(a));this.prevFirst=this.first;this.prevLast=this.last;this.first=e;this.last=i;return b},animate:function(a,c){if(!this.locked&& !this.animating){this.animating=!0;var b=this,d=function(){b.animating=!1;a===0&&b.list.css(b.lt,0);!b.autoStopped&&(b.options.wrap=="circular"||b.options.wrap=="both"||b.options.wrap=="last"||b.options.size===null||b.last<b.options.size||b.last==b.options.size&&b.tail!==null&&!b.inTail)&&b.startAuto();b.buttons();b.notify("onAfterAnimation");if(b.options.wrap=="circular"&&b.options.size!==null)for(var c=b.prevFirst;c<=b.prevLast;c++)c!==null&&!(c>=b.first&&c<=b.last)&&(c<1||c>b.options.size)&&b.remove(c)}; this.notify("onBeforeAnimation");if(!this.options.animation||c===!1)this.list.css(this.lt,a+"px"),d();else{var f=!this.options.vertical?this.options.rtl?{right:a}:{left:a}:{top:a},d={duration:this.options.animation,easing:this.options.easing,complete:d};if(g.isFunction(this.options.animationStepCallback))d.step=this.options.animationStepCallback;this.list.animate(f,d)}}},startAuto:function(a){if(a!==void 0)this.options.auto=a;if(this.options.auto===0)return this.stopAuto();if(this.timer===null){this.autoStopped= !1;var c=this;this.timer=window.setTimeout(function(){c.next()},this.options.auto*1E3)}},stopAuto:function(){this.pauseAuto();this.autoStopped=!0},pauseAuto:function(){if(this.timer!==null)window.clearTimeout(this.timer),this.timer=null},buttons:function(a,c){if(a==null&&(a=!this.locked&&this.options.size!==0&&(this.options.wrap&&this.options.wrap!="first"||this.options.size===null||this.last<this.options.size),!this.locked&&(!this.options.wrap||this.options.wrap=="first")&&this.options.size!==null&& this.last>=this.options.size))a=this.tail!==null&&!this.inTail;if(c==null&&(c=!this.locked&&this.options.size!==0&&(this.options.wrap&&this.options.wrap!="last"||this.first>1),!this.locked&&(!this.options.wrap||this.options.wrap=="last")&&this.options.size!==null&&this.first==1))c=this.tail!==null&&this.inTail;var b=this;this.buttonNext.size()>0?(this.buttonNext.unbind(this.options.buttonNextEvent+".jcarousel",this.funcNext),a&&this.buttonNext.bind(this.options.buttonNextEvent+".jcarousel",this.funcNext), this.buttonNext[a?"removeClass":"addClass"](this.className("jcarousel-next-disabled")).attr("disabled",a?!1:!0),this.options.buttonNextCallback!==null&&this.buttonNext.data("jcarouselstate")!=a&&this.buttonNext.each(function(){b.options.buttonNextCallback(b,this,a)}).data("jcarouselstate",a)):this.options.buttonNextCallback!==null&&this.buttonNextState!=a&&this.options.buttonNextCallback(b,null,a);this.buttonPrev.size()>0?(this.buttonPrev.unbind(this.options.buttonPrevEvent+".jcarousel",this.funcPrev), c&&this.buttonPrev.bind(this.options.buttonPrevEvent+".jcarousel",this.funcPrev),this.buttonPrev[c?"removeClass":"addClass"](this.className("jcarousel-prev-disabled")).attr("disabled",c?!1:!0),this.options.buttonPrevCallback!==null&&this.buttonPrev.data("jcarouselstate")!=c&&this.buttonPrev.each(function(){b.options.buttonPrevCallback(b,this,c)}).data("jcarouselstate",c)):this.options.buttonPrevCallback!==null&&this.buttonPrevState!=c&&this.options.buttonPrevCallback(b,null,c);this.buttonNextState= a;this.buttonPrevState=c},notify:function(a){var c=this.prevFirst===null?"init":this.prevFirst<this.first?"next":"prev";this.callback("itemLoadCallback",a,c);this.prevFirst!==this.first&&(this.callback("itemFirstInCallback",a,c,this.first),this.callback("itemFirstOutCallback",a,c,this.prevFirst));this.prevLast!==this.last&&(this.callback("itemLastInCallback",a,c,this.last),this.callback("itemLastOutCallback",a,c,this.prevLast));this.callback("itemVisibleInCallback",a,c,this.first,this.last,this.prevFirst, this.prevLast);this.callback("itemVisibleOutCallback",a,c,this.prevFirst,this.prevLast,this.first,this.last)},callback:function(a,c,b,d,f,j,e){if(!(this.options[a]==null||typeof this.options[a]!="object"&&c!="onAfterAnimation")){var h=typeof this.options[a]=="object"?this.options[a][c]:this.options[a];if(g.isFunction(h)){var i=this;if(d===void 0)h(i,b,c);else if(f===void 0)this.get(d).each(function(){h(i,this,d,b,c)});else for(var a=function(a){i.get(a).each(function(){h(i,this,a,b,c)})},k=d;k<=f;k++)k!== null&&!(k>=j&&k<=e)&&a(k)}}},create:function(a){return this.format("<li></li>",a)},format:function(a,c){for(var a=g(a),b=a.get(0).className.split(" "),d=0;d<b.length;d++)b[d].indexOf("jcarousel-")!=-1&&a.removeClass(b[d]);a.addClass(this.className("jcarousel-item")).addClass(this.className("jcarousel-item-"+c)).css({"float":this.options.rtl?"right":"left","list-style":"none"}).attr("jcarouselindex",c);return a},className:function(a){return a+" "+a+(!this.options.vertical?"-horizontal":"-vertical")}, dimension:function(a,c){var b=g(a);if(c==null)return!this.options.vertical?b.outerWidth(!0)||f.intval(this.options.itemFallbackDimension):b.outerHeight(!0)||f.intval(this.options.itemFallbackDimension);else{var d=!this.options.vertical?c-f.intval(b.css("marginLeft"))-f.intval(b.css("marginRight")):c-f.intval(b.css("marginTop"))-f.intval(b.css("marginBottom"));g(b).css(this.wh,d+"px");return this.dimension(b)}},clipping:function(){return!this.options.vertical?this.clip[0].offsetWidth-f.intval(this.clip.css("borderLeftWidth"))- f.intval(this.clip.css("borderRightWidth")):this.clip[0].offsetHeight-f.intval(this.clip.css("borderTopWidth"))-f.intval(this.clip.css("borderBottomWidth"))},index:function(a,c){if(c==null)c=this.options.size;return Math.round(((a-1)/c-Math.floor((a-1)/c))*c)+1}});f.extend({defaults:function(a){return g.extend(q,a||{})},intval:function(a){a=parseInt(a,10);return isNaN(a)?0:a},windowLoaded:function(){m=!0}});g.fn.jcarousel=function(a){if(typeof a=="string"){var c=g(this).data("jcarousel"),b=Array.prototype.slice.call(arguments, 1);return c[a].apply(c,b)}else return this.each(function(){var b=g(this).data("jcarousel");b?(a&&g.extend(b.options,a),b.reload()):g(this).data("jcarousel",new f(this,a))})}})(jQuery);
Property changes on: trunk/extensions/SemanticResultFormats/Gallery/resources/jquery.jcarousel.min.js
___________________________________________________________________
Added: svn:eol-style
118 + native
Index: trunk/extensions/SemanticResultFormats/Gallery/resources/images/prev-horizontal.png
Cannot display: file marked as a binary type.
svn:mime-type = image/png
Property changes on: trunk/extensions/SemanticResultFormats/Gallery/resources/images/prev-horizontal.png
___________________________________________________________________
Added: svn:mime-type
219 + image/png
Index: trunk/extensions/SemanticResultFormats/Gallery/resources/images/prev-vertical.png
Cannot display: file marked as a binary type.
svn:mime-type = image/png
Property changes on: trunk/extensions/SemanticResultFormats/Gallery/resources/images/prev-vertical.png
___________________________________________________________________
Added: svn:mime-type
320 + image/png
Index: trunk/extensions/SemanticResultFormats/Gallery/resources/images/next-horizontal.png
Cannot display: file marked as a binary type.
svn:mime-type = image/png
Property changes on: trunk/extensions/SemanticResultFormats/Gallery/resources/images/next-horizontal.png
___________________________________________________________________
Added: svn:mime-type
421 + image/png
Index: trunk/extensions/SemanticResultFormats/Gallery/resources/images/next-vertical.png
Cannot display: file marked as a binary type.
svn:mime-type = image/png
Property changes on: trunk/extensions/SemanticResultFormats/Gallery/resources/images/next-vertical.png
___________________________________________________________________
Added: svn:mime-type
522 + image/png
Index: trunk/extensions/SemanticResultFormats/Gallery/resources/ext.srf.jcarousel.css
@@ -0,0 +1,228 @@
 2+/**
 3+ * Adopted .jcarousel-skin-tango css for SRF Gallery Carousel module
 4+ *
 5+ * @licence: GNU GPL v3 or later
 6+ * @author: mwjames and others
 7+ *
 8+ * @release: 0.1
 9+ */
 10+
 11+.jcarousel-skin-smw .jcarousel-container {
 12+ background: #ffffff;
 13+ border: 1px solid #eee;
 14+}
 15+
 16+.jcarousel-skin-smw .jcarousel-direction-rtl {
 17+ direction: rtl;
 18+}
 19+
 20+.jcarousel-skin-smw .jcarousel-container-horizontal {
 21+ width: 99.6%;
 22+ padding: 0px 1px;
 23+}
 24+
 25+.jcarousel-skin-smw .jcarousel-container-vertical {
 26+ width: 175px;
 27+ height: 345px;
 28+ padding: 40px 20px;
 29+}
 30+
 31+.jcarousel-skin-smw .jcarousel-clip {
 32+ overflow: hidden;
 33+}
 34+
 35+.jcarousel-skin-smw .jcarousel-clip-horizontal {
 36+ width: 97%;
 37+ height: auto;
 38+}
 39+
 40+.jcarousel-skin-smw .jcarousel-clip-vertical {
 41+ width: 175px;
 42+ height: 345px;
 43+}
 44+
 45+.jcarousel-skin-smw .jcarousel-item {
 46+ width: auto;
 47+ height: auto;
 48+}
 49+
 50+.jcarousel-skin-smw .jcarousel-item-horizontal {
 51+ margin-left: 23px;
 52+ margin-right: 0px;
 53+}
 54+
 55+.jcarousel-skin-smw .jcarousel-direction-rtl .jcarousel-item-horizontal {
 56+ margin-left: 10px;
 57+ margin-right: 0;
 58+}
 59+
 60+.jcarousel-skin-smw .jcarousel-item-vertical {
 61+ margin-bottom: 10px;
 62+}
 63+
 64+.jcarousel-skin-smw .jcarousel-item-placeholder {
 65+ background: #fff;
 66+ color: #000;
 67+}
 68+
 69+/**
 70+ * Horizontal Buttons
 71+ */
 72+.jcarousel-skin-smw .jcarousel-next-horizontal {
 73+ position: absolute;
 74+ top: -1px;
 75+ right: -1px;
 76+ width: 32px;
 77+ height: 32px;
 78+ cursor: pointer;
 79+ background: transparent url(images/next-horizontal.png) no-repeat 0 0;
 80+ background-size:7px 11px;
 81+}
 82+
 83+.jcarousel-skin-smw .jcarousel-direction-rtl .jcarousel-next-horizontal {
 84+ left: 5px;
 85+ right: auto;
 86+ background-image: url(images/next-horizontal.png);
 87+}
 88+
 89+.jcarousel-skin-smw .jcarousel-next-horizontal:hover,
 90+.jcarousel-skin-smw .jcarousel-next-horizontal:focus {
 91+ background-position: -32px 0;
 92+}
 93+
 94+.jcarousel-skin-smw .jcarousel-next-horizontal:active {
 95+ background-position: -64px 0;
 96+}
 97+
 98+.jcarousel-skin-smw .jcarousel-next-disabled-horizontal,
 99+.jcarousel-skin-smw .jcarousel-next-disabled-horizontal:hover,
 100+.jcarousel-skin-smw .jcarousel-next-disabled-horizontal:focus,
 101+.jcarousel-skin-smw .jcarousel-next-disabled-horizontal:active {
 102+ cursor: default;
 103+ background-position: -96px 0;
 104+}
 105+
 106+.jcarousel-skin-smw .jcarousel-prev-horizontal {
 107+ position: absolute;
 108+ top: -1px;
 109+ left: -1px;
 110+ width: 32px;
 111+ height: 32px;
 112+ cursor: pointer;
 113+ background: transparent url(images/prev-horizontal.png) no-repeat 0 0;
 114+ background-size:7px 11px;
 115+}
 116+
 117+.jcarousel-skin-smw .jcarousel-direction-rtl .jcarousel-prev-horizontal {
 118+ left: auto;
 119+ right: 5px;
 120+ background-image: url(images/prev-horizontal.png);
 121+}
 122+
 123+.jcarousel-skin-smw .jcarousel-prev-horizontal:hover,
 124+.jcarousel-skin-smw .jcarousel-prev-horizontal:focus {
 125+ background-position: -32px 0;
 126+}
 127+
 128+.jcarousel-skin-smw .jcarousel-prev-horizontal:active {
 129+ background-position: -64px 0;
 130+}
 131+
 132+.jcarousel-skin-smw .jcarousel-prev-disabled-horizontal,
 133+.jcarousel-skin-smw .jcarousel-prev-disabled-horizontal:hover,
 134+.jcarousel-skin-smw .jcarousel-prev-disabled-horizontal:focus,
 135+.jcarousel-skin-smw .jcarousel-prev-disabled-horizontal:active {
 136+ cursor: default;
 137+ background-position: -96px 0;
 138+}
 139+
 140+.jcarousel-skin-smw .jcarousel-next-horizontal, .jcarousel-skin-smw .jcarousel-prev-horizontal {
 141+ background-color: whiteSmoke;
 142+ background-position: center;
 143+ background-repeat: no-repeat;
 144+ border: 1px solid gainsboro;
 145+ color: #7B7B7B;
 146+ cursor: pointer;
 147+ font-size: 24px;
 148+ font-weight: bold;
 149+ height: 100%;
 150+ line-height: 216px;
 151+ text-align: center;
 152+ text-decoration: none;
 153+ position: absolute;
 154+ width: 23px;
 155+
 156+ border-radius: 2px 0 0 2px;
 157+ -moz-border-radius: 2px 0 0 2px;
 158+ -webkit-border-radius: 2px 0 0 2px;
 159+
 160+}
 161+
 162+.jcarousel-skin-smw .jcarousel-next-horizontal:hover, .jcarousel-skin-smw .jcarousel-prev-horizontal:hover {
 163+ background-color: #F8F8F8;
 164+ border-color: #D6D6D6;
 165+ box-shadow:inset 0 0 1px rgba(0, 0, 0, 0.1);
 166+ color: #4B4B4B;
 167+ text-decoration: none;
 168+}
 169+
 170+/**
 171+ * Vertical Buttons
 172+ */
 173+.jcarousel-skin-smw .jcarousel-next-vertical {
 174+ position: absolute;
 175+ bottom: 5px;
 176+ left: 43px;
 177+ width: 32px;
 178+ height: 32px;
 179+ cursor: pointer;
 180+ background: transparent url(images/next-vertical.png) no-repeat 0 0;
 181+}
 182+
 183+.jcarousel-skin-smw .jcarousel-next-vertical:hover,
 184+.jcarousel-skin-smw .jcarousel-next-vertical:focus {
 185+ background-position: 0 -32px;
 186+}
 187+
 188+.jcarousel-skin-smw .jcarousel-next-vertical:active {
 189+ background-position: 0 -64px;
 190+}
 191+
 192+.jcarousel-skin-smw .jcarousel-next-disabled-vertical,
 193+.jcarousel-skin-smw .jcarousel-next-disabled-vertical:hover,
 194+.jcarousel-skin-smw .jcarousel-next-disabled-vertical:focus,
 195+.jcarousel-skin-smw .jcarousel-next-disabled-vertical:active {
 196+ cursor: default;
 197+ background-position: 0 -96px;
 198+}
 199+
 200+.jcarousel-skin-smw .jcarousel-prev-vertical {
 201+ position: absolute;
 202+ top: 5px;
 203+ left: 43px;
 204+ width: 32px;
 205+ height: 32px;
 206+ cursor: pointer;
 207+ background: transparent url(images/prev-vertical.png) no-repeat 0 0;
 208+}
 209+
 210+.jcarousel-skin-smw .jcarousel-prev-vertical:hover,
 211+.jcarousel-skin-smw .jcarousel-prev-vertical:focus {
 212+ background-position: 0 -32px;
 213+}
 214+
 215+.jcarousel-skin-smw .jcarousel-prev-vertical:active {
 216+ background-position: 0 -64px;
 217+}
 218+
 219+.jcarousel-skin-smw .jcarousel-prev-disabled-vertical,
 220+.jcarousel-skin-smw .jcarousel-prev-disabled-vertical:hover,
 221+.jcarousel-skin-smw .jcarousel-prev-disabled-vertical:focus,
 222+.jcarousel-skin-smw .jcarousel-prev-disabled-vertical:active {
 223+ cursor: default;
 224+ background-position: 0 -96px;
 225+}
 226+
 227+.jcarousel-list .jcarousel-list-horizontal {
 228+ margin-left:20px;
 229+}
Property changes on: trunk/extensions/SemanticResultFormats/Gallery/resources/ext.srf.jcarousel.css
___________________________________________________________________
Added: svn:eol-style
1230 + native
Index: trunk/extensions/SemanticResultFormats/Gallery/resources/ext.srf.jcarousel.js
@@ -0,0 +1,21 @@
 2+/**
 3+ * JavasSript for SRF Gallery Carousel module
 4+ *
 5+ * @licence: GNU GPL v3 or later
 6+ * @author: mwjames
 7+ *
 8+ * @release: 0.1
 9+ */
 10+
 11+jQuery(function($) {
 12+ $(window).load(function() {
 13+ // Display carousel only after js is loaded and ready otherwise display=none
 14+ $( '#carousel').show();
 15+
 16+ // Call the jcarousel plug-in
 17+ $( '#carousel' ).jcarousel({
 18+ //circular carousel
 19+ wrap: 'circular',
 20+ });
 21+ });
 22+});
\ No newline at end of file
Property changes on: trunk/extensions/SemanticResultFormats/Gallery/resources/ext.srf.jcarousel.js
___________________________________________________________________
Added: svn:eol-style
123 + native
Index: trunk/extensions/SemanticResultFormats/SRF_Messages.php
@@ -95,6 +95,7 @@
9696 'srf_paramdesc_fileextensions' => 'When using the filename as caption, also display the file extension',
9797 'srf_paramdesc_captionproperty' => 'The name of a semantic property present on the queried pages to be used as caption',
9898 'srf_paramdesc_imageproperty' => 'Name of a semantic property on the queried pages that points to images to use. When set, the queried pages themselves will not be displayed as images',
 99+ 'srf_paramdesc_galleryformat' => 'Gallery format',
99100
100101 // "tagcloud" format
101102 'srf_printername_tagcloud' => 'Tag cloud',
@@ -136,6 +137,11 @@
137138 'srf-paramdesc-graph-wwl' => 'Word wrap limit (in # characters)',
138139
139140 'srf-warn-empy-chart' => 'The chart is not shown because there are no results that can be displayed on it.',
 141+
 142+ //DataTables
 143+ 'srf_printername_datatables' => 'DataTables',
 144+ 'srf-paramdesc-rowindex' => 'Table row index',
 145+ 'srf-paramdesc-displaylength' => 'Initial display length',
140146 );
141147
142148 /** Message documentation (Message documentation)
Index: trunk/extensions/SemanticResultFormats/SRF_Resources.php
@@ -110,7 +110,18 @@
111111 'jquery.progressbar',
112112 'ext.srf.jit',
113113 ),
114 - 'position' => 'top'
 114+ 'position' => 'top',
115115 );
116116
 117+$wgResourceModules['ext.srf.jcarousel'] = $moduleTemplate + array(
 118+ 'scripts' => array(
 119+ 'Gallery/resources/jquery.jcarousel.min.js',
 120+ 'Gallery/resources/ext.srf.jcarousel.js',
 121+ ),
 122+ 'styles' => array(
 123+ 'Gallery/resources/ext.srf.jcarousel.css',
 124+ ),
 125+ 'position' => 'top',
 126+);
 127+
117128 unset( $moduleTemplate );

Follow-up revisions

RevisionCommit summaryAuthorDate
r111954follow up to r111953jeroendedauw19:00, 20 February 2012
r112069Follow up to r111953; fix indent and some js fixesjeroendedauw00:10, 22 February 2012

Comments

#Comment by Nikerabbit (talk | contribs)   07:54, 21 February 2012
+jQuery(function($) {
 	12	+ $(window).load(function() {

jQuery( function () {} ) already executes on document ready.

Bad indentation in i18n file.

#Comment by SPQRobin (talk | contribs)   17:00, 23 February 2012

Please add message documentation for the newly added messages. Thanks.

Status & tagging log