jenkins-bot has submitted this change and it was merged.
Change subject: Re add section legend as a module
......................................................................
Re add section legend as a module
Change-Id: I6ad89e2b15435ef35cc1ebddde0f92584ffd9ecf
---
M extension.json
M modules/ext.RevisionSlider.RevisionListView.js
A modules/ext.RevisionSlider.SectionLegend.js
M modules/ext.RevisionSlider.SliderView.js
M modules/ext.RevisionSlider.init.js
5 files changed, 61 insertions(+), 16 deletions(-)
Approvals:
WMDE-Fisch: Looks good to me, approved
jenkins-bot: Verified
diff --git a/extension.json b/extension.json
index 42614fa..3477b81 100755
--- a/extension.json
+++ b/extension.json
@@ -75,9 +75,18 @@
"modules/ext.RevisionSlider.SliderView.js"
],
"dependencies": [
+ "ext.RevisionSlider.SectionLegend",
"ext.RevisionSlider.Pointer"
]
},
+ "ext.RevisionSlider.SectionLegend": {
+ "scripts": [
+ "modules/ext.RevisionSlider.SectionLegend.js"
+ ],
+ "dependencies": [
+ "ext.RevisionSlider.rainbow"
+ ]
+ },
"ext.RevisionSlider.RevisionList": {
"scripts": [
"modules/ext.RevisionSlider.RevisionList.js"
diff --git a/modules/ext.RevisionSlider.RevisionListView.js
b/modules/ext.RevisionSlider.RevisionListView.js
index 5f0a815..18ff6d1 100644
--- a/modules/ext.RevisionSlider.RevisionListView.js
+++ b/modules/ext.RevisionSlider.RevisionListView.js
@@ -9,7 +9,7 @@
*/
revisionList: null,
- render: function ( revisionTickWidth ) {
+ render: function ( revisionTickWidth, sectionColorMap ) {
var $html = $( '<div class="revisions"/>' ),
revs = this.revisionList.getRevisions(),
maxChangeSizeLogged = Math.log(
this.revisionList.getBiggestChangeSize() ),
@@ -27,7 +27,7 @@
height:
relativeChangeSize + 'px',
width:
revisionTickWidth + 'px',
top: diffSize > 0 ? '-'
+ relativeChangeSize + 'px' : 0,
- background: false ||
'black' // TODO: put rainbow thingy here
+ background:
sectionColorMap[ revs[ i ].getSection() ] || 'black'
} )
.tipsy( {
gravity: 's',
diff --git a/modules/ext.RevisionSlider.SectionLegend.js
b/modules/ext.RevisionSlider.SectionLegend.js
new file mode 100644
index 0000000..e15ac52
--- /dev/null
+++ b/modules/ext.RevisionSlider.SectionLegend.js
@@ -0,0 +1,46 @@
+( function ( mw, $ ) {
+ var SectionLegend = function ( revisionList ) {
+ this.revisionList = revisionList;
+ };
+
+ $.extend( SectionLegend.prototype, {
+ /**
+ * @type {RevisionList}
+ */
+ revisionList: null,
+
+ getSectionColorMap: function () {
+ var sectionMap = [],
+ revisions = this.revisionList.getRevisions(),
+ section, i;
+
+ for ( i = 1; i < revisions.length; i++ ) {
+ section = revisions[ i ].getSection();
+ if ( section.length > 0 && !( section in
sectionMap ) ) {
+ sectionMap[ section ] = '';
+ }
+ }
+
+ i = 0;
+ for ( section in sectionMap ) {
+ sectionMap[ section ] =
mw.libs.revisionSlider.rainbow( Object.keys( sectionMap ).length, i );
+ i++;
+ }
+
+ return sectionMap;
+ },
+
+ getHtml: function () {
+ var sectionMap = this.getSectionColorMap(),
+ html = '<div class="revisions-legend">',
+ sectionName;
+ for ( sectionName in sectionMap ) {
+ html += '<span class="rvslider-legend-box"
style="color:' + sectionMap[ sectionName ] + ';"> ■</span>' + sectionName;
+ }
+ return html + '</div>';
+ }
+ } );
+
+ mw.libs.revisionSlider = mw.libs.revisionSlider || {};
+ mw.libs.revisionSlider.SectionLegend = SectionLegend;
+}( mediaWiki, jQuery ) );
diff --git a/modules/ext.RevisionSlider.SliderView.js
b/modules/ext.RevisionSlider.SliderView.js
index 0586229..93a3c5c 100644
--- a/modules/ext.RevisionSlider.SliderView.js
+++ b/modules/ext.RevisionSlider.SliderView.js
@@ -30,7 +30,8 @@
render: function ( $container ) {
var containerWidth =
this.calculateSliderContainerWidth(),
- $revisions =
this.slider.getRevisions().getView().render( this.revisionWidth ),
+ sectionLegend = new
mw.libs.revisionSlider.SectionLegend( this.slider.getRevisions() ),
+ $revisions =
this.slider.getRevisions().getView().render( this.revisionWidth,
sectionLegend.getSectionColorMap() ),
$slider = $( '<div class="revision-slider"/>' ),
self = this;
@@ -59,7 +60,8 @@
} )
.append(
this.leftPointer.getView().render() )
.append(
this.rightPointer.getView().render() )
- );
+ )
+ .append( sectionLegend.getHtml() );
$slider.find( '.arrow' ).click( function () {
self.slide( $( this ).data( 'dir' ) );
diff --git a/modules/ext.RevisionSlider.init.js
b/modules/ext.RevisionSlider.init.js
index adf8be7..ecdbcdc 100755
--- a/modules/ext.RevisionSlider.init.js
+++ b/modules/ext.RevisionSlider.init.js
@@ -9,16 +9,6 @@
// location.href = $url;
// }
- // function getSectionLegend( revs ) {
- // var revData = getComposedRevData( revs ),
- // html = '<div class="revisions-legend">',
- // sectionName;
- // for ( sectionName in revData.sectionMap ) {
- // html += '<span class="rvslider-legend-box"
style="color:' + revData.sectionMap[ sectionName ] + ';"> ■</span>' +
sectionName;
- // }
- // return html + '</div>';
- // }
-
mw.loader.using( [ 'jquery.ui.draggable', 'jquery.ui.tooltip',
'jquery.tipsy' ], function () {
$( function () {
mw.libs.revisionSlider.fetchRevisions( {
@@ -41,8 +31,6 @@
slider.getView().render( $container );
$( '#revision-slider-placeholder'
).remove();
-
- // TODO add the legend back!
}
} );
} );
--
To view, visit https://gerrit.wikimedia.org/r/288013
To unsubscribe, visit https://gerrit.wikimedia.org/r/settings
Gerrit-MessageType: merged
Gerrit-Change-Id: I6ad89e2b15435ef35cc1ebddde0f92584ffd9ecf
Gerrit-PatchSet: 1
Gerrit-Project: mediawiki/extensions/RevisionSlider
Gerrit-Branch: master
Gerrit-Owner: Addshore <[email protected]>
Gerrit-Reviewer: Addshore <[email protected]>
Gerrit-Reviewer: Gabriel Birke <[email protected]>
Gerrit-Reviewer: Jakob <[email protected]>
Gerrit-Reviewer: Kai Nissen (WMDE) <[email protected]>
Gerrit-Reviewer: Tobias Gritschacher <[email protected]>
Gerrit-Reviewer: WMDE-Fisch <[email protected]>
Gerrit-Reviewer: WMDE-leszek <[email protected]>
Gerrit-Reviewer: jenkins-bot <>
_______________________________________________
MediaWiki-commits mailing list
[email protected]
https://lists.wikimedia.org/mailman/listinfo/mediawiki-commits