[MediaWiki-commits] [Gerrit] phragile: Add role class - change (operations/puppet)
WMDE-leszek has uploaded a new change for review. https://gerrit.wikimedia.org/r/227466 Change subject: phragile: Add role class .. phragile: Add role class Introduces role::phragile class that can be applied to instances. Bug: T101235 Change-Id: Ia81a711c1a53f47bd7bbc10d16a4079ceb44b66b --- A manifests/role/phragile.pp 1 file changed, 3 insertions(+), 0 deletions(-) git pull ssh://gerrit.wikimedia.org:29418/operations/puppet refs/changes/66/227466/1 diff --git a/manifests/role/phragile.pp b/manifests/role/phragile.pp new file mode 100644 index 000..27736fb --- /dev/null +++ b/manifests/role/phragile.pp @@ -0,0 +1,3 @@ +class role::phragile { +include ::phragile +} \ No newline at end of file -- To view, visit https://gerrit.wikimedia.org/r/227466 To unsubscribe, visit https://gerrit.wikimedia.org/r/settings Gerrit-MessageType: newchange Gerrit-Change-Id: Ia81a711c1a53f47bd7bbc10d16a4079ceb44b66b Gerrit-PatchSet: 1 Gerrit-Project: operations/puppet Gerrit-Branch: production Gerrit-Owner: WMDE-leszek leszek.mani...@wikimedia.de ___ MediaWiki-commits mailing list MediaWiki-commits@lists.wikimedia.org https://lists.wikimedia.org/mailman/listinfo/mediawiki-commits
[MediaWiki-commits] [Gerrit] Make pointer offset depend on whether pointer is the upper p... - change (mediawiki...RevisionSlider)
WMDE-leszek has submitted this change and it was merged. Change subject: Make pointer offset depend on whether pointer is the upper pointer. .. Make pointer offset depend on whether pointer is the upper pointer. Bug: T135837 Change-Id: I0ccc34751765f1f98dd29426d4efb3f3419f3932 --- M modules/ext.RevisionSlider.Pointer.js M modules/ext.RevisionSlider.PointerView.js M tests/RevisionSlider.PointerView.test.js 3 files changed, 24 insertions(+), 16 deletions(-) Approvals: WMDE-leszek: Verified; Looks good to me, approved jenkins-bot: Verified diff --git a/modules/ext.RevisionSlider.Pointer.js b/modules/ext.RevisionSlider.Pointer.js index e581c0d..f3a88c1 100644 --- a/modules/ext.RevisionSlider.Pointer.js +++ b/modules/ext.RevisionSlider.Pointer.js @@ -1,6 +1,6 @@ ( function ( mw, $ ) { - var Pointer = function ( id, offset ) { - this.view = new mw.libs.revisionSlider.PointerView( this, id, offset ); + var Pointer = function ( id ) { + this.view = new mw.libs.revisionSlider.PointerView( this, id ); }; $.extend( Pointer.prototype, { diff --git a/modules/ext.RevisionSlider.PointerView.js b/modules/ext.RevisionSlider.PointerView.js index ffc106c..ad8bbb1 100644 --- a/modules/ext.RevisionSlider.PointerView.js +++ b/modules/ext.RevisionSlider.PointerView.js @@ -1,8 +1,7 @@ ( function ( mw, $ ) { - var PointerView = function ( pointer, id, offset ) { + var PointerView = function ( pointer, id ) { this.pointer = pointer; this.id = id; - this.offset = offset; }; $.extend( PointerView.prototype, { @@ -10,11 +9,6 @@ * @type {string} */ id: '', - - /** -* @type {int} -*/ - offset: 0, /** * @type {Pointer} @@ -44,8 +38,12 @@ return this.$html; }, + isUpperPointer: function () { + return this.getElement().hasClass( 'upper-pointer' ); + }, + getOffset: function () { - return this.offset; + return this.isUpperPointer() ? 16 : 0; }, animateTo: function ( posInPx, duration ) { @@ -59,9 +57,9 @@ slideToSide: function ( slider, posBeforeSlider, duration ) { if ( posBeforeSlider ) { - return this.animateTo( this.offset - slider.getView().revisionWidth + 20, duration ); // +20 otherwise pointer is in arrow + return this.animateTo( this.getOffset() - ( slider.getView().revisionWidth / 2 ), duration ); // +10 otherwise pointer is in arrow } else { - return this.animateTo( ( slider.getRevisionsPerWindow() + 1 ) * slider.getView().revisionWidth - this.offset, duration ); + return this.animateTo( ( slider.getRevisionsPerWindow() + 1 ) * slider.getView().revisionWidth + this.getOffset(), duration ); } }, diff --git a/tests/RevisionSlider.PointerView.test.js b/tests/RevisionSlider.PointerView.test.js index 34613a3..7b6c8db 100644 --- a/tests/RevisionSlider.PointerView.test.js +++ b/tests/RevisionSlider.PointerView.test.js @@ -7,11 +7,21 @@ assert.ok( ( new PointerView( null, 'revslider-pointer' ) ).render().hasClass( 'pointer' ) ); } ); - QUnit.test( 'Has offset', function ( assert ) { - var offset = 30, - pointer = new PointerView( null, 'revslider-pointer', offset ); + QUnit.test( 'Is upper pointer', function ( assert ) { + var pv = new PointerView( null, 'revslider-pointer' ); + pv.render(); + assert.notOk( pv.isUpperPointer() ); - assert.equal( pointer.getOffset(), offset ); + pv.getElement().addClass( 'upper-pointer' ); + assert.ok( pv.isUpperPointer() ); } ); + QUnit.test( 'Has offset', function ( assert ) { + var pv = new PointerView( null, 'revslider-pointer' ); + pv.render(); + assert.equal( pv.getOffset(), 0 ); + + pv.getElement().addClass( 'upper-pointer' ); + assert.equal( pv.getOffset(), 16 ); + } ); } )( mediaWiki ); -- To view, visit https://gerrit.wikimedia.org/r/290911 To unsubscribe, visit https://gerrit.wikimedia.org/r/settings Gerrit-MessageType: merged Gerrit-Change-Id: I0ccc34751765f1f98dd29426d4efb3f3419f3932 Gerrit-PatchSet: 1 Gerrit-Project: mediawiki/extensions/RevisionSlider Gerrit-Branch: master Gerrit-Owner: JakobGerrit-Reviewer: Addshore
[MediaWiki-commits] [Gerrit] Use GenderCache service in ApiQueryWatchlistIntegrationTest - change (mediawiki/core)
WMDE-leszek has uploaded a new change for review. https://gerrit.wikimedia.org/r/294441 Change subject: Use GenderCache service in ApiQueryWatchlistIntegrationTest .. Use GenderCache service in ApiQueryWatchlistIntegrationTest Change-Id: I5190c8c91fa4994fcce850067fa7d2a01ccc4424 --- M tests/phpunit/includes/api/ApiQueryWatchlistIntegrationTest.php 1 file changed, 4 insertions(+), 1 deletion(-) git pull ssh://gerrit.wikimedia.org:29418/mediawiki/core refs/changes/41/294441/1 diff --git a/tests/phpunit/includes/api/ApiQueryWatchlistIntegrationTest.php b/tests/phpunit/includes/api/ApiQueryWatchlistIntegrationTest.php index def9c5d..898b58e 100644 --- a/tests/phpunit/includes/api/ApiQueryWatchlistIntegrationTest.php +++ b/tests/phpunit/includes/api/ApiQueryWatchlistIntegrationTest.php @@ -229,7 +229,10 @@ } private function getTitleFormatter() { - return new MediaWikiTitleCodec( Language::factory( 'en' ), GenderCache::singleton() ); + return new MediaWikiTitleCodec( + Language::factory( 'en' ), + MediaWikiServices::getInstance()->getGenderCache() + ); } private function getPrefixedText( LinkTarget $target ) { -- To view, visit https://gerrit.wikimedia.org/r/294441 To unsubscribe, visit https://gerrit.wikimedia.org/r/settings Gerrit-MessageType: newchange Gerrit-Change-Id: I5190c8c91fa4994fcce850067fa7d2a01ccc4424 Gerrit-PatchSet: 1 Gerrit-Project: mediawiki/core Gerrit-Branch: master Gerrit-Owner: WMDE-leszek___ MediaWiki-commits mailing list MediaWiki-commits@lists.wikimedia.org https://lists.wikimedia.org/mailman/listinfo/mediawiki-commits
[MediaWiki-commits] [Gerrit] Make JavaScript code and CSS follow the style guide. - change (mediawiki...RevisionSlider)
WMDE-leszek has uploaded a new change for review. https://gerrit.wikimedia.org/r/291754 Change subject: Make JavaScript code and CSS follow the style guide. .. Make JavaScript code and CSS follow the style guide. Changes include: - not passing in HTML attributes when creating tag elements, - creating HTML elements instead of appending hand-crafted HTML, - single append() calls instead of multiple consecutie appends, - not using raw HTML messages when not needed, - prefixing all CSS classes and IDs with "mw-" to avoid potential name conflicts. Change-Id: I164538bbaf44d46a4c66659f56e07ec7225d7fa9 --- M RevisionSlider.hooks.php M extension.json M modules/ext.RevisionSlider.DiffPage.js M modules/ext.RevisionSlider.PointerView.js M modules/ext.RevisionSlider.RevisionListView.js M modules/ext.RevisionSlider.SliderView.js M modules/ext.RevisionSlider.css M modules/ext.RevisionSlider.init.js M tests/RevisionSlider.Pointer.test.js M tests/RevisionSlider.PointerView.test.js M tests/RevisionSlider.SliderView.test.js 11 files changed, 161 insertions(+), 154 deletions(-) git pull ssh://gerrit.wikimedia.org:29418/mediawiki/extensions/RevisionSlider refs/changes/54/291754/1 diff --git a/RevisionSlider.hooks.php b/RevisionSlider.hooks.php index ac7a8f6..6b1c231 100755 --- a/RevisionSlider.hooks.php +++ b/RevisionSlider.hooks.php @@ -45,13 +45,13 @@ Html::rawElement( 'div', [ - 'id' => 'revision-slider-container', + 'id' => 'mw-revision-slider-container', 'style' => 'min-height: 150px;', ], Html::element( 'p', [ - 'id' => 'revision-slider-placeholder', + 'id' => 'mw-revision-slider-placeholder', 'style' => 'text-align: center', ], ( new Message( 'revisionslider-loading-placeholder' ) )->parse() diff --git a/extension.json b/extension.json index 7ed5dc5..e6d19a9 100755 --- a/extension.json +++ b/extension.json @@ -118,7 +118,7 @@ "ext.RevisionSlider.arrows.left": { "position": "top", "class": "ResourceLoaderImageModule", - "selector": ".arrow-left.arrow-{name}", + "selector": ".mw-arrow-left.mw-arrow-{name}", "images": { "enabled": "resources/ext.RevisionSlider.arrows/arrow-left-enabled.svg", "hovered": "resources/ext.RevisionSlider.arrows/arrow-left-hovered.svg", @@ -128,7 +128,7 @@ "ext.RevisionSlider.arrows.right": { "position": "top", "class": "ResourceLoaderImageModule", - "selector": ".arrow-right.arrow-{name}", + "selector": ".mw-arrow-right.mw-arrow-{name}", "images": { "enabled": "resources/ext.RevisionSlider.arrows/arrow-right-enabled.svg", "hovered": "resources/ext.RevisionSlider.arrows/arrow-right-hovered.svg", @@ -138,7 +138,7 @@ "ext.RevisionSlider.pointers.lower": { "position": "top", "class": "ResourceLoaderImageModule", - "selector": ".lower-pointer.{name}-pointer", + "selector": ".mw-lower-pointer.mw-{name}-pointer", "images": { "oldid": "resources/ext.RevisionSlider.pointers/pointer-lower-old.svg", "newid": "resources/ext.RevisionSlider.pointers/pointer-lower-new.svg" @@ -147,7 +147,7 @@ "ext.RevisionSlider.pointers.upper": { "position": "top", "class": "ResourceLoaderImageModule", - "selector": ".upper-pointer.{name}-pointer", + "selector": ".mw-upper-pointer.mw-{name}-pointer", "images": { "oldid": "resources/ext.RevisionSlider.pointers/pointer-upper-old.svg", "newid": "resources/ext.RevisionSlider.pointers/pointer-upper-new.svg" diff --git a/modules/ext.RevisionSlider.DiffPage.js b/modules/ext.RevisionSlider.DiffPage.js index 63b6dab..e6e42d4 100644 --- a/modules/ext.RevisionSlider.DiffPage.js +++ b/modules/ext.RevisionSlider.DiffPage.js @@ -4,8 +4,8 @@ $.extend(
[MediaWiki-commits] [Gerrit] Show a pointer cursor on revision wrappers. - change (mediawiki...RevisionSlider)
WMDE-leszek has submitted this change and it was merged. Change subject: Show a pointer cursor on revision wrappers. .. Show a pointer cursor on revision wrappers. Bug: T134993 Change-Id: I3412e03aba726fde6194b3cac88765655e69b8aa --- M modules/ext.RevisionSlider.css 1 file changed, 1 insertion(+), 0 deletions(-) Approvals: WMDE-leszek: Verified; Looks good to me, approved jenkins-bot: Verified diff --git a/modules/ext.RevisionSlider.css b/modules/ext.RevisionSlider.css index 79bbf2a..279bebe 100755 --- a/modules/ext.RevisionSlider.css +++ b/modules/ext.RevisionSlider.css @@ -48,6 +48,7 @@ .revision-wrapper { position: absolute; +cursor: pointer; z-index: 10; height: 140px; } -- To view, visit https://gerrit.wikimedia.org/r/290936 To unsubscribe, visit https://gerrit.wikimedia.org/r/settings Gerrit-MessageType: merged Gerrit-Change-Id: I3412e03aba726fde6194b3cac88765655e69b8aa Gerrit-PatchSet: 1 Gerrit-Project: mediawiki/extensions/RevisionSlider Gerrit-Branch: master Gerrit-Owner: JakobGerrit-Reviewer: Addshore Gerrit-Reviewer: Gabriel Birke Gerrit-Reviewer: Jakob Gerrit-Reviewer: Kai Nissen (WMDE) Gerrit-Reviewer: Tobias Gritschacher Gerrit-Reviewer: WMDE-Fisch Gerrit-Reviewer: WMDE-leszek Gerrit-Reviewer: jenkins-bot <> ___ MediaWiki-commits mailing list MediaWiki-commits@lists.wikimedia.org https://lists.wikimedia.org/mailman/listinfo/mediawiki-commits
[MediaWiki-commits] [Gerrit] Add labels to revision tooltips. - change (mediawiki...RevisionSlider)
WMDE-leszek has submitted this change and it was merged. Change subject: Add labels to revision tooltips. .. Add labels to revision tooltips. This adds labels for user, comment and article size to the revision tooltip as well as the respective messages needed for the labels. Bug: T135740 Change-Id: Ia65fb0bbbe3eb2405665d784bad157ea059e2d6e --- M extension.json M i18n/en.json M i18n/qqq.json M modules/ext.RevisionSlider.RevisionListView.js 4 files changed, 23 insertions(+), 4 deletions(-) Approvals: WMDE-leszek: Verified; Looks good to me, approved jenkins-bot: Verified diff --git a/extension.json b/extension.json index 24f96ca..e1e92ef 100755 --- a/extension.json +++ b/extension.json @@ -108,7 +108,10 @@ "modules/ext.RevisionSlider.RevisionListView.js" ], "messages": [ - "revisionslider-revision-bytes" + "revisionslider-revision-bytes", + "revisionslider-label-article-size", + "revisionslider-label-user", + "revisionslider-label-comment" ] }, "ext.RevisionSlider.pointers.lower": { diff --git a/i18n/en.json b/i18n/en.json index b9eca7a..577e5b3 100755 --- a/i18n/en.json +++ b/i18n/en.json @@ -9,6 +9,9 @@ "revisionslider-beta-feature-message": "Revision Slider", "revisionslider-beta-feature-description": "Show a revision slider when comparing two revisions of a page.", "revisionslider-revision-bytes": "$1 {{PLURAL:$1|byte|bytes}}", +"revisionslider-label-article-size": "Article size: $1", +"revisionslider-label-comment": "Comment: $1", +"revisionslider-label-user": "User: $1", "revisionslider-loading-placeholder": "The revision slider is loading.", "revisionslider-loading-failed": "The revision slider failed to load.", "revisionslider-loading-out-of-range": "The revision slider failed to load as the requested revisions are not in the top 500 versions of the page.", diff --git a/i18n/qqq.json b/i18n/qqq.json index 3a12104..eca0762 100755 --- a/i18n/qqq.json +++ b/i18n/qqq.json @@ -9,6 +9,9 @@ "revisionslider-beta-feature-message": "Label for the revision slider Beta Feature.", "revisionslider-beta-feature-description": "Description for the revision slider Beta Feature, describing the feature that will be enabled.", "revisionslider-revision-bytes": "Label describing the amount of bytes changed in this revision.\nParameters:\n* $1 - Revision size in bytes.", + "revisionslider-label-article-size": "Label describing the size of this revision.\nParameters:\n* $1 - Revision size.", + "revisionslider-label-comment": "Label showing the edit summary of a revision.\nParameters:\n* $1 - The revision's edit summary.", + "revisionslider-label-user": "Label showing this revision's author's username.\nParameters:\n* $1 - Username.", "revisionslider-loading-placeholder": "Message shown while the RevisionSlider is still loading on a diff page. Once loaded the message is removed.", "revisionslider-loading-failed": "Message shown if the RevisionSlider fails to initially load.", "revisionslider-loading-out-of-range": "Message shown if the RevisionSlider fails to initially load due to revisions being requested that are not in the most recent 500 revisions.", diff --git a/modules/ext.RevisionSlider.RevisionListView.js b/modules/ext.RevisionSlider.RevisionListView.js index 5f6a3fb..9e3d05c 100644 --- a/modules/ext.RevisionSlider.RevisionListView.js +++ b/modules/ext.RevisionSlider.RevisionListView.js @@ -55,9 +55,19 @@ makeTooltip: function ( rev ) { var $tooltip = $( '' ) .append( '' + rev.getFormattedDate() + '' ) - .append( $( '' ).append( $( '' ).text( mw.html.escape( rev.getUser() ) ) ) ) - .append( rev.getComment() ? $( '' ).append( $( '' ).append( '' ).text( mw.html.escape( rev.getComment() ) ) ) : '' ) - .append( $( '' ).html( mw.msg( 'revisionslider-revision-bytes', rev.getSize() ) ) ) + .append( $( '' ).append( $( '' ).text( + mw.msg( 'revisionslider-label-user', mw.html.escape( rev.getUser() ) ) + ) ) ) + .append( + rev.getComment() ? + $( '' ).append( $( '' ).append( $( '' ).text( + mw.msg( 'revisionslider-label-comment', mw.html.escape( rev.getComment() ) ) + ) ) )
[MediaWiki-commits] [Gerrit] Set correct pointer color on click. - change (mediawiki...RevisionSlider)
WMDE-leszek has submitted this change and it was merged. Change subject: Set correct pointer color on click. .. Set correct pointer color on click. This fixes a bug which caused the old revision pointer to appear yellow when being moved on click after the pointers switched places. Change-Id: Ibfa104e059e847c68667605b60efe5cbb003327f --- M modules/ext.RevisionSlider.SliderView.js 1 file changed, 1 insertion(+), 1 deletion(-) Approvals: WMDE-leszek: Verified; Looks good to me, approved jenkins-bot: Verified diff --git a/modules/ext.RevisionSlider.SliderView.js b/modules/ext.RevisionSlider.SliderView.js index c98a588..0e4fdea 100644 --- a/modules/ext.RevisionSlider.SliderView.js +++ b/modules/ext.RevisionSlider.SliderView.js @@ -129,7 +129,7 @@ pOld.setPosition( $clickedRev.data( 'pos' ) ); } - self.resetPointerColorsBasedOnValues( pOld.getPosition(), pNew.getPosition() ); + self.resetPointerColorsBasedOnValues( self.pointerOne.getPosition(), self.pointerTwo.getPosition() ); self.resetRevisionStylesBasedOnPointerPosition( $revisions ); self.alignPointers(); } ); -- To view, visit https://gerrit.wikimedia.org/r/290946 To unsubscribe, visit https://gerrit.wikimedia.org/r/settings Gerrit-MessageType: merged Gerrit-Change-Id: Ibfa104e059e847c68667605b60efe5cbb003327f Gerrit-PatchSet: 1 Gerrit-Project: mediawiki/extensions/RevisionSlider Gerrit-Branch: master Gerrit-Owner: JakobGerrit-Reviewer: Addshore Gerrit-Reviewer: Gabriel Birke Gerrit-Reviewer: Jakob Gerrit-Reviewer: Kai Nissen (WMDE) Gerrit-Reviewer: Tobias Gritschacher Gerrit-Reviewer: WMDE-Fisch Gerrit-Reviewer: WMDE-leszek Gerrit-Reviewer: jenkins-bot <> ___ MediaWiki-commits mailing list MediaWiki-commits@lists.wikimedia.org https://lists.wikimedia.org/mailman/listinfo/mediawiki-commits
[MediaWiki-commits] [Gerrit] Show correct slider window after refresh when the last revis... - change (mediawiki...RevisionSlider)
WMDE-leszek has submitted this change and it was merged. Change subject: Show correct slider window after refresh when the last revision is selected. .. Show correct slider window after refresh when the last revision is selected. This fixes a bug that would show a slider window where neither of the pointers is visible after selecting the last revision of the current window with the old revision pointer and then refreshing. Change-Id: I15402d8ca7b8c783990a32e2d8426871763e20e1 --- M modules/ext.RevisionSlider.SliderView.js 1 file changed, 1 insertion(+), 1 deletion(-) Approvals: WMDE-leszek: Verified; Looks good to me, approved jenkins-bot: Verified diff --git a/modules/ext.RevisionSlider.SliderView.js b/modules/ext.RevisionSlider.SliderView.js index 76a4f53..570a627 100644 --- a/modules/ext.RevisionSlider.SliderView.js +++ b/modules/ext.RevisionSlider.SliderView.js @@ -141,7 +141,7 @@ this.$element = $slider; $container.html( $slider ); - this.slide( Math.floor( this.pointerTwo.getPosition() / this.slider.getRevisionsPerWindow() ), 0 ); + this.slide( Math.floor( ( this.pointerTwo.getPosition() - 1 ) / this.slider.getRevisionsPerWindow() ), 0 ); this.diffPage.pushState( mw.config.values.extRevisionSliderOldRev, mw.config.values.extRevisionSliderNewRev, this ); this.diffPage.initOnPopState( this ); }, -- To view, visit https://gerrit.wikimedia.org/r/291240 To unsubscribe, visit https://gerrit.wikimedia.org/r/settings Gerrit-MessageType: merged Gerrit-Change-Id: I15402d8ca7b8c783990a32e2d8426871763e20e1 Gerrit-PatchSet: 1 Gerrit-Project: mediawiki/extensions/RevisionSlider Gerrit-Branch: master Gerrit-Owner: JakobGerrit-Reviewer: WMDE-leszek Gerrit-Reviewer: jenkins-bot <> ___ MediaWiki-commits mailing list MediaWiki-commits@lists.wikimedia.org https://lists.wikimedia.org/mailman/listinfo/mediawiki-commits
[MediaWiki-commits] [Gerrit] Adjust arrow styles - change (mediawiki...RevisionSlider)
WMDE-leszek has uploaded a new change for review. https://gerrit.wikimedia.org/r/291241 Change subject: Adjust arrow styles .. Adjust arrow styles This introduces styles for "not available" arrow, and styles for hovered arrow and "active" (under left mouse button click arrow). Bug: T135970 Change-Id: If5f7df475eef36dcb6d038297ad97717b8c96f77 --- M extension.json M modules/ext.RevisionSlider.SliderView.js M modules/ext.RevisionSlider.css A resources/ext.RevisionSlider.arrows/arrow-left-disabled.svg A resources/ext.RevisionSlider.arrows/arrow-left-enabled.svg A resources/ext.RevisionSlider.arrows/arrow-left-hovered.svg A resources/ext.RevisionSlider.arrows/arrow-right-disabled.svg A resources/ext.RevisionSlider.arrows/arrow-right-enabled.svg A resources/ext.RevisionSlider.arrows/arrow-right-hovered.svg 9 files changed, 113 insertions(+), 17 deletions(-) git pull ssh://gerrit.wikimedia.org:29418/mediawiki/extensions/RevisionSlider refs/changes/41/291241/1 diff --git a/extension.json b/extension.json index e1e92ef..61d1867 100755 --- a/extension.json +++ b/extension.json @@ -28,11 +28,12 @@ ], "dependencies": [ "mediawiki.jqueryMsg", - "oojs-ui.styles.icons-movement", "ext.RevisionSlider.Slider", "ext.RevisionSlider.Revision", "ext.RevisionSlider.RevisionList", "ext.RevisionSlider.fetchRevisions", + "ext.RevisionSlider.arrows.left", + "ext.RevisionSlider.arrows.right", "ext.RevisionSlider.pointers.lower", "ext.RevisionSlider.pointers.upper" ], @@ -114,6 +115,26 @@ "revisionslider-label-comment" ] }, + "ext.RevisionSlider.arrows.left": { + "position": "top", + "class": "ResourceLoaderImageModule", + "selector": ".arrow-left.arrow-{name}", + "images": { + "enabled": "resources/ext.RevisionSlider.arrows/arrow-left-enabled.svg", + "hovered": "resources/ext.RevisionSlider.arrows/arrow-left-hovered.svg", + "disabled": "resources/ext.RevisionSlider.arrows/arrow-left-disabled.svg" + } + }, + "ext.RevisionSlider.arrows.right": { + "position": "top", + "class": "ResourceLoaderImageModule", + "selector": ".arrow-right.arrow-{name}", + "images": { + "enabled": "resources/ext.RevisionSlider.arrows/arrow-right-enabled.svg", + "hovered": "resources/ext.RevisionSlider.arrows/arrow-right-hovered.svg", + "disabled": "resources/ext.RevisionSlider.arrows/arrow-right-disabled.svg" + } + }, "ext.RevisionSlider.pointers.lower": { "position": "top", "class": "ResourceLoaderImageModule", diff --git a/modules/ext.RevisionSlider.SliderView.js b/modules/ext.RevisionSlider.SliderView.js index 76a4f53..4e22cd7 100644 --- a/modules/ext.RevisionSlider.SliderView.js +++ b/modules/ext.RevisionSlider.SliderView.js @@ -47,8 +47,15 @@ width: ( containerWidth + this.containerMargin ) + 'px' } ) .append( - $( '' ) - .tipsy() + $( '' ) + .tipsy( { + title: function () { + if ( $( this ).hasClass( 'arrow-disabled' ) ) { + return ''; + } + return mw.message( 'revisionslider-arrow-tooltip-older' ).text(); + } + } ) ) .append( $( '' ) .css( { @@ -56,10 +63,16 @@ } ) .append( $revisions ) ) .append( - $( '' ) + $( '' )
[MediaWiki-commits] [Gerrit] Enable moving of the pointers by clicking on the revisions. - change (mediawiki...RevisionSlider)
WMDE-leszek has submitted this change and it was merged. Change subject: Enable moving of the pointers by clicking on the revisions. .. Enable moving of the pointers by clicking on the revisions. Bug: T134993 Change-Id: I6b467d8b89bdccc2d6e01fbd94ac5890a07d20b4 --- M modules/ext.RevisionSlider.PointerView.js M modules/ext.RevisionSlider.SliderView.js 2 files changed, 111 insertions(+), 53 deletions(-) Approvals: WMDE-leszek: Verified; Looks good to me, approved jenkins-bot: Verified diff --git a/modules/ext.RevisionSlider.PointerView.js b/modules/ext.RevisionSlider.PointerView.js index d229340..ffc106c 100644 --- a/modules/ext.RevisionSlider.PointerView.js +++ b/modules/ext.RevisionSlider.PointerView.js @@ -49,19 +49,19 @@ }, animateTo: function ( posInPx, duration ) { - this.getElement().animate( { left: posInPx }, duration ); + return this.getElement().animate( { left: posInPx }, duration ); }, slideToPosition: function ( slider, duration ) { var relativePos = this.pointer.getPosition() - slider.getFirstVisibleRevisionIndex(); - this.animateTo( relativePos * slider.getView().revisionWidth + 4, duration ); // +4 to align triangle and revision + return this.animateTo( relativePos * slider.getView().revisionWidth + 4, duration ); // +4 to align triangle and revision }, slideToSide: function ( slider, posBeforeSlider, duration ) { if ( posBeforeSlider ) { - this.animateTo( this.offset - slider.getView().revisionWidth + 20, duration ); // +20 otherwise pointer is in arrow + return this.animateTo( this.offset - slider.getView().revisionWidth + 20, duration ); // +20 otherwise pointer is in arrow } else { - this.animateTo( ( slider.getRevisionsPerWindow() + 1 ) * slider.getView().revisionWidth - this.offset, duration ); + return this.animateTo( ( slider.getRevisionsPerWindow() + 1 ) * slider.getView().revisionWidth - this.offset, duration ); } }, @@ -70,9 +70,9 @@ posBeforeSlider = this.pointer.getPosition() < firstVisibleRev, isVisible = !posBeforeSlider && this.pointer.getPosition() <= firstVisibleRev + slider.getRevisionsPerWindow(); if ( isVisible ) { - this.slideToPosition( slider, duration ); + return this.slideToPosition( slider, duration ); } else { - this.slideToSide( slider, posBeforeSlider, duration ); + return this.slideToSide( slider, posBeforeSlider, duration ); } } } ); diff --git a/modules/ext.RevisionSlider.SliderView.js b/modules/ext.RevisionSlider.SliderView.js index 53546be..61d7181 100644 --- a/modules/ext.RevisionSlider.SliderView.js +++ b/modules/ext.RevisionSlider.SliderView.js @@ -1,6 +1,7 @@ ( function ( mw, $ ) { var SliderView = function ( slider ) { this.slider = slider; + this.diffPage = new mw.libs.revisionSlider.DiffPage( this.slider.getRevisions() ); }; $.extend( SliderView.prototype, { @@ -12,6 +13,11 @@ * @type {jQuery} */ $element: null, + + /** +* @type {DiffPage} +*/ + diffPage: null, /** * @type {Slider} @@ -30,7 +36,6 @@ render: function ( $container ) { var containerWidth = this.calculateSliderContainerWidth(), - diffPage = new mw.libs.revisionSlider.DiffPage( this.slider.getRevisions() ), $revisions = this.slider.getRevisions().getView().render( this.revisionWidth ), $slider = $( '' ), self = this; @@ -80,24 +85,49 @@ self.resetPointerStylesBasedOnPosition(); self.resetRevisionStylesBasedOnPointerPosition( $revisions ); - revId1 = $revisions - .find( 'div.revision[data-pos=\'' + self.pointerOne.getPosition() + '\']' ) - .data( 'revid' ); - revId2 = $revisions - .find( 'div.revision[data-pos=\'' +
[MediaWiki-commits] [Gerrit] Do not center tooltip text - change (mediawiki...RevisionSlider)
WMDE-leszek has submitted this change and it was merged. Change subject: Do not center tooltip text .. Do not center tooltip text Bug: T135740 Change-Id: I6c3b825b27736f693260bc3a6447b6328449e0d6 --- M modules/ext.RevisionSlider.css 1 file changed, 0 insertions(+), 3 deletions(-) Approvals: WMDE-leszek: Verified; Looks good to me, approved diff --git a/modules/ext.RevisionSlider.css b/modules/ext.RevisionSlider.css index 495f1b3..dd2146c 100755 --- a/modules/ext.RevisionSlider.css +++ b/modules/ext.RevisionSlider.css @@ -66,9 +66,6 @@ border-left: solid 1px white; } -.mw-revision-tooltip { -text-align: center; -} .mw-revision-tooltip .tipsy-inner { max-width: none; } -- To view, visit https://gerrit.wikimedia.org/r/292097 To unsubscribe, visit https://gerrit.wikimedia.org/r/settings Gerrit-MessageType: merged Gerrit-Change-Id: I6c3b825b27736f693260bc3a6447b6328449e0d6 Gerrit-PatchSet: 4 Gerrit-Project: mediawiki/extensions/RevisionSlider Gerrit-Branch: master Gerrit-Owner: WMDE-FischGerrit-Reviewer: Addshore Gerrit-Reviewer: Gabriel Birke Gerrit-Reviewer: Jakob Gerrit-Reviewer: Kai Nissen (WMDE) Gerrit-Reviewer: Tobias Gritschacher Gerrit-Reviewer: WMDE-Fisch Gerrit-Reviewer: WMDE-leszek Gerrit-Reviewer: jenkins-bot <> ___ MediaWiki-commits mailing list MediaWiki-commits@lists.wikimedia.org https://lists.wikimedia.org/mailman/listinfo/mediawiki-commits
[MediaWiki-commits] [Gerrit] Remove "legend" annotations and move scrolling button hint t... - change (mediawiki...RevisionSlider)
WMDE-leszek has uploaded a new change for review. https://gerrit.wikimedia.org/r/290903 Change subject: Remove "legend" annotations and move scrolling button hint to a tooltip .. Remove "legend" annotations and move scrolling button hint to a tooltip This also removes a "diff size" axis legend. Bug: T136098 Change-Id: I9705d6ab37c8d24b9bdb1fddaa895b2863e98043 --- M extension.json M i18n/en.json M i18n/qqq.json M modules/ext.RevisionSlider.SliderView.js M modules/ext.RevisionSlider.css 5 files changed, 14 insertions(+), 54 deletions(-) git pull ssh://gerrit.wikimedia.org:29418/mediawiki/extensions/RevisionSlider refs/changes/03/290903/1 diff --git a/extension.json b/extension.json index 8195c55..24f96ca 100755 --- a/extension.json +++ b/extension.json @@ -82,9 +82,8 @@ "ext.RevisionSlider.Pointer" ], "messages": [ - "revisionslider-annotations-newer", - "revisionslider-annotations-older", - "revisionslider-annotations-diffsize" + "revisionslider-arrow-tooltip-newer", + "revisionslider-arrow-tooltip-older" ] }, "ext.RevisionSlider.DiffPage": { diff --git a/i18n/en.json b/i18n/en.json index 626005f..b9eca7a 100755 --- a/i18n/en.json +++ b/i18n/en.json @@ -13,7 +13,6 @@ "revisionslider-loading-failed": "The revision slider failed to load.", "revisionslider-loading-out-of-range": "The revision slider failed to load as the requested revisions are not in the top 500 versions of the page.", "revisionslider-loading-noscript": "As you have JavaScript disabled the revision slider will not be able to load.", -"revisionslider-annotations-newer": "newer", -"revisionslider-annotations-older": "older", -"revisionslider-annotations-diffsize": "diff size" +"revisionslider-arrow-tooltip-newer": "See newer revisions", +"revisionslider-arrow-tooltip-older": "See older revisions" } \ No newline at end of file diff --git a/i18n/qqq.json b/i18n/qqq.json index 9c531c8..3a12104 100755 --- a/i18n/qqq.json +++ b/i18n/qqq.json @@ -13,7 +13,6 @@ "revisionslider-loading-failed": "Message shown if the RevisionSlider fails to initially load.", "revisionslider-loading-out-of-range": "Message shown if the RevisionSlider fails to initially load due to revisions being requested that are not in the most recent 500 revisions.", "revisionslider-loading-noscript": "Message shown while the RevisionSlider is trying to load but when JavaScript is disabled and thus it will not be successful.", - "revisionslider-annotations-newer": "Label shown to indicate the direction to newer revisions.", - "revisionslider-annotations-older": "Label shown to indicate direction to older revisions.", - "revisionslider-annotations-diffsize": "Label shown vertically to indicate meaning of revision bar heights." + "revisionslider-arrow-tooltip-newer": "Text shown after hovering the button scrolling to newer revisions.", + "revisionslider-arrow-tooltip-older": "Text shown after hovering the button scrolling to older revisions." } diff --git a/modules/ext.RevisionSlider.SliderView.js b/modules/ext.RevisionSlider.SliderView.js index 61d7181..45a8953 100644 --- a/modules/ext.RevisionSlider.SliderView.js +++ b/modules/ext.RevisionSlider.SliderView.js @@ -46,14 +46,19 @@ $slider.css( { width: ( containerWidth + this.containerMargin ) + 'px' } ) - .append( $( '' ) ) - .append( $( '' + mw.message( 'revisionslider-annotations-diffsize' ).text() + '' ) ) + .append( + $( '' ) + .tipsy() + ) .append( $( '' ) .css( { width: containerWidth + 'px' } ) .append( $revisions ) ) - .append( $( '' ) ) + .append( + $( '' ) + .tipsy() + ) .append( $( '' ) ) .append( $( '' ) @@ -132,7 +137,6 @@ this.$element = $slider; $container.html( $slider ); - $slider.after( this.makeAnnotations() );
[MediaWiki-commits] [Gerrit] Fix bug that caused the most recent revision to never be vis... - change (mediawiki...RevisionSlider)
WMDE-leszek has submitted this change and it was merged. Change subject: Fix bug that caused the most recent revision to never be visible. .. Fix bug that caused the most recent revision to never be visible. Bug: T135739 Change-Id: I00e30a585b3a38da7e405f200356163b20358df9 --- M modules/ext.RevisionSlider.Slider.js M tests/RevisionSlider.Slider.test.js 2 files changed, 3 insertions(+), 3 deletions(-) Approvals: WMDE-leszek: Verified; Looks good to me, approved jenkins-bot: Verified diff --git a/modules/ext.RevisionSlider.Slider.js b/modules/ext.RevisionSlider.Slider.js index e98a7d3..ae1f352 100644 --- a/modules/ext.RevisionSlider.Slider.js +++ b/modules/ext.RevisionSlider.Slider.js @@ -48,7 +48,7 @@ }, isAtEnd: function () { - return this.getLastVisibleRevisionIndex() === this.revisions.getLength() - 2 || this.revisions.getLength() <= this.revisionsPerWindow; + return this.getLastVisibleRevisionIndex() === this.revisions.getLength() - 1 || this.revisions.getLength() <= this.revisionsPerWindow; }, setFirstVisibleRevisionIndex: function ( value ) { @@ -56,7 +56,7 @@ }, slide: function ( direction ) { - var highestPossibleFirstRev = this.revisions.getLength() - 1 - this.revisionsPerWindow; + var highestPossibleFirstRev = this.revisions.getLength() - this.revisionsPerWindow; this.firstVisibleRevisionIndex += direction * this.revisionsPerWindow; this.firstVisibleRevisionIndex = Math.min( this.firstVisibleRevisionIndex, highestPossibleFirstRev ); diff --git a/tests/RevisionSlider.Slider.test.js b/tests/RevisionSlider.Slider.test.js index 303376f..15b3b73 100644 --- a/tests/RevisionSlider.Slider.test.js +++ b/tests/RevisionSlider.Slider.test.js @@ -39,7 +39,7 @@ slider.setRevisionsPerWindow( 50 ); slider.slide( 1 ); - assert.equal( slider.getFirstVisibleRevisionIndex(), 24 ); + assert.equal( slider.getFirstVisibleRevisionIndex(), 25 ); } ); QUnit.test( 'firstVisibleRevisionIndex cannot be lower than 0', function ( assert ) { -- To view, visit https://gerrit.wikimedia.org/r/289867 To unsubscribe, visit https://gerrit.wikimedia.org/r/settings Gerrit-MessageType: merged Gerrit-Change-Id: I00e30a585b3a38da7e405f200356163b20358df9 Gerrit-PatchSet: 5 Gerrit-Project: mediawiki/extensions/RevisionSlider Gerrit-Branch: master Gerrit-Owner: JakobGerrit-Reviewer: Addshore Gerrit-Reviewer: WMDE-leszek Gerrit-Reviewer: jenkins-bot <> ___ MediaWiki-commits mailing list MediaWiki-commits@lists.wikimedia.org https://lists.wikimedia.org/mailman/listinfo/mediawiki-commits
[MediaWiki-commits] [Gerrit] Fix updating revision bar styles when going back/forward in ... - change (mediawiki...RevisionSlider)
WMDE-leszek has uploaded a new change for review. https://gerrit.wikimedia.org/r/292146 Change subject: Fix updating revision bar styles when going back/forward in history .. Fix updating revision bar styles when going back/forward in history This left unchanged in I164538bbaf44d46a4c66659f56e07ec7225d7fa9 Change-Id: Ied950472458a61efbfae5850d070f7047a222879 --- M modules/ext.RevisionSlider.DiffPage.js 1 file changed, 1 insertion(+), 1 deletion(-) git pull ssh://gerrit.wikimedia.org:29418/mediawiki/extensions/RevisionSlider refs/changes/46/292146/1 diff --git a/modules/ext.RevisionSlider.DiffPage.js b/modules/ext.RevisionSlider.DiffPage.js index 6c520d6..22da8a2 100644 --- a/modules/ext.RevisionSlider.DiffPage.js +++ b/modules/ext.RevisionSlider.DiffPage.js @@ -67,7 +67,7 @@ sliderView.slide( 0 ); sliderView.resetPointerStylesBasedOnPosition(); sliderView.resetRevisionStylesBasedOnPointerPosition( - sliderView.$element.find( 'div.revisions' ) + sliderView.$element.find( 'div.mw-revisions' ) ); self.refresh( event.state.revid1, event.state.revid2 ); } ); -- To view, visit https://gerrit.wikimedia.org/r/292146 To unsubscribe, visit https://gerrit.wikimedia.org/r/settings Gerrit-MessageType: newchange Gerrit-Change-Id: Ied950472458a61efbfae5850d070f7047a222879 Gerrit-PatchSet: 1 Gerrit-Project: mediawiki/extensions/RevisionSlider Gerrit-Branch: master Gerrit-Owner: WMDE-leszek___ MediaWiki-commits mailing list MediaWiki-commits@lists.wikimedia.org https://lists.wikimedia.org/mailman/listinfo/mediawiki-commits
[MediaWiki-commits] [Gerrit] Remove unused parameters when creating Pointer objects - change (mediawiki...RevisionSlider)
WMDE-leszek has uploaded a new change for review. https://gerrit.wikimedia.org/r/292147 Change subject: Remove unused parameters when creating Pointer objects .. Remove unused parameters when creating Pointer objects Change-Id: I2bc5337d2a48fb5dd6b81d6c95584f79974d7e9f --- M modules/ext.RevisionSlider.SliderView.js 1 file changed, 2 insertions(+), 2 deletions(-) git pull ssh://gerrit.wikimedia.org:29418/mediawiki/extensions/RevisionSlider refs/changes/47/292147/1 diff --git a/modules/ext.RevisionSlider.SliderView.js b/modules/ext.RevisionSlider.SliderView.js index 00f0ad8..41e886e 100644 --- a/modules/ext.RevisionSlider.SliderView.js +++ b/modules/ext.RevisionSlider.SliderView.js @@ -40,8 +40,8 @@ $slider = $( '' ).addClass( 'mw-revision-slider' ), self = this; - this.pointerOne = new mw.libs.revisionSlider.Pointer( 'mw-revslider-pointer-one', -this.revisionWidth ); - this.pointerTwo = new mw.libs.revisionSlider.Pointer( 'mw-revslider-pointer-two', 0 ); + this.pointerOne = new mw.libs.revisionSlider.Pointer( 'mw-revslider-pointer-one' ); + this.pointerTwo = new mw.libs.revisionSlider.Pointer( 'mw-revslider-pointer-two' ); $slider.css( { width: ( containerWidth + this.containerMargin ) + 'px' -- To view, visit https://gerrit.wikimedia.org/r/292147 To unsubscribe, visit https://gerrit.wikimedia.org/r/settings Gerrit-MessageType: newchange Gerrit-Change-Id: I2bc5337d2a48fb5dd6b81d6c95584f79974d7e9f Gerrit-PatchSet: 1 Gerrit-Project: mediawiki/extensions/RevisionSlider Gerrit-Branch: master Gerrit-Owner: WMDE-leszek___ MediaWiki-commits mailing list MediaWiki-commits@lists.wikimedia.org https://lists.wikimedia.org/mailman/listinfo/mediawiki-commits
[MediaWiki-commits] [Gerrit] Do not fail when name of the user performing the revision is... - change (mediawiki...RevisionSlider)
WMDE-leszek has uploaded a new change for review. https://gerrit.wikimedia.org/r/291915 Change subject: Do not fail when name of the user performing the revision is not available .. Do not fail when name of the user performing the revision is not available For example when user name is not visible due to RevisionDelete the script crashed. This makes is check if there is a user name defined and not try to show it if there is none. Bug: T135198 Change-Id: I43ce0e49e13ad6262cc60fd938c486ea3e328e64 --- M modules/ext.RevisionSlider.RevisionListView.js 1 file changed, 5 insertions(+), 3 deletions(-) git pull ssh://gerrit.wikimedia.org:29418/mediawiki/extensions/RevisionSlider refs/changes/15/291915/1 diff --git a/modules/ext.RevisionSlider.RevisionListView.js b/modules/ext.RevisionSlider.RevisionListView.js index eee289b..f3f3644 100644 --- a/modules/ext.RevisionSlider.RevisionListView.js +++ b/modules/ext.RevisionSlider.RevisionListView.js @@ -56,9 +56,11 @@ var $tooltip = $( '' ) .append( $( '' ).append( $( '' ).text( rev.getFormattedDate() ) ), - $( '' ).append( $( '' ).text( - mw.msg( 'revisionslider-label-user', mw.html.escape( rev.getUser() ) ) - ) ), + rev.getUser() ? + $( '' ).append( $( '' ).text( + mw.msg( 'revisionslider-label-user', mw.html.escape( rev.getUser() ) ) + ) ) + : '', rev.getComment() ? $( '' ).append( $( '' ).append( $( '' ).text( -- To view, visit https://gerrit.wikimedia.org/r/291915 To unsubscribe, visit https://gerrit.wikimedia.org/r/settings Gerrit-MessageType: newchange Gerrit-Change-Id: I43ce0e49e13ad6262cc60fd938c486ea3e328e64 Gerrit-PatchSet: 1 Gerrit-Project: mediawiki/extensions/RevisionSlider Gerrit-Branch: master Gerrit-Owner: WMDE-leszek___ MediaWiki-commits mailing list MediaWiki-commits@lists.wikimedia.org https://lists.wikimedia.org/mailman/listinfo/mediawiki-commits
[MediaWiki-commits] [Gerrit] Improve SliderView rendering tests - change (mediawiki...RevisionSlider)
WMDE-leszek has uploaded a new change for review. https://gerrit.wikimedia.org/r/291896 Change subject: Improve SliderView rendering tests .. Improve SliderView rendering tests Current rendering test passes but not really because test results meet expectations but rather by accident. Test revisions lacked ids, and current way of rendering revision made all revision bars have id equal to "undefined" string. That made test pass, although it is not what is expected (we expect three revisions in tests but not that three revisions have the same id, and each of them gets a pointer assigned to - the might look interesting in the browser, though). Also the test will fail as soon as the way of rendering revisions is switched to standard use of jquery's attr() instead of handcrafting the HTML in the RevisionListView class. This patch adds missing IDs to test Revisions where needed, and also set config vars that are required to render Slider properly. This also adds tests for cases where the exception is thrown. This also makes RevisionList initialization consistent. RevisionList expect to receive an array of revision data in a format that API returns. Tests provided arrays of Revision objects instead. That also works with a difference that API-like format uses "revid" as a field containing revision ID, while Revision objects use a field named "id". The way RevisionList was used in tests actually lead to have each revision initialized twice, and on the second initialization it lost its ID (due to field name difference). This changes test to provide a API-like array instead of arrays of Revision objects to RevisionList. Change-Id: I147270f28381038d05f8bcfd2317e8c269b2e458 --- M tests/RevisionSlider.RevisionList.test.js M tests/RevisionSlider.Slider.test.js M tests/RevisionSlider.SliderView.test.js 3 files changed, 62 insertions(+), 18 deletions(-) git pull ssh://gerrit.wikimedia.org:29418/mediawiki/extensions/RevisionSlider refs/changes/96/291896/1 diff --git a/tests/RevisionSlider.RevisionList.test.js b/tests/RevisionSlider.RevisionList.test.js index 2c8ea06..ffe79ec 100644 --- a/tests/RevisionSlider.RevisionList.test.js +++ b/tests/RevisionSlider.RevisionList.test.js @@ -1,14 +1,13 @@ ( function ( mw ) { - var RevisionList = mw.libs.revisionSlider.RevisionList, - Revision = mw.libs.revisionSlider.Revision; + var RevisionList = mw.libs.revisionSlider.RevisionList; QUnit.module( 'ext.RevisionSlider.RevisionList' ); QUnit.test( 'Find biggest Revision', function ( assert ) { var revs = new RevisionList( [ - new Revision( { size: 5 } ), - new Revision( { size: 21 } ), - new Revision( { size: 13 } ) + { size: 5 }, + { size: 21 }, + { size: 13 } ] ); assert.equal( revs.getBiggestChangeSize(), 16 ); @@ -16,9 +15,9 @@ QUnit.test( 'calculate relative size on init', function ( assert ) { var revs = new RevisionList( [ - new Revision( { size: 5 } ), - new Revision( { size: 21 } ), - new Revision( { size: 13 } ) + { size: 5 }, + { size: 21 }, + { size: 13 } ] ); assert.equal( revs.getRevisions()[ 0 ].getRelativeSize(), 5 ); diff --git a/tests/RevisionSlider.Slider.test.js b/tests/RevisionSlider.Slider.test.js index 15b3b73..44c0c2e 100644 --- a/tests/RevisionSlider.Slider.test.js +++ b/tests/RevisionSlider.Slider.test.js @@ -1,12 +1,11 @@ ( function ( mw ) { var Slider = mw.libs.revisionSlider.Slider, RevisionList = mw.libs.revisionSlider.RevisionList, - Revision = mw.libs.revisionSlider.Revision, makeNRevisions = function ( n ) { var revs = [], i; for ( i = 0; i < n; i++ ) { - revs.push( new Revision( { user: 'Fooo' } ) ); + revs.push( { user: 'Fooo' } ); } return new RevisionList( revs ); }; @@ -14,7 +13,7 @@ QUnit.module( 'ext.RevisionSlider.Slider' ); QUnit.test( 'has revisions', function ( assert ) { - var revs = new RevisionList( [ new Revision( {} ), new Revision( {} ) ] ), + var revs = new RevisionList( [ {}, {} ] ), slider = new Slider( revs ); assert.equal( slider.getRevisions(), revs ); diff --git a/tests/RevisionSlider.SliderView.test.js b/tests/RevisionSlider.SliderView.test.js index c2c7cf6..eef91a3 100644 --- a/tests/RevisionSlider.SliderView.test.js +++
[MediaWiki-commits] [Gerrit] When JavaScript disabled do not show RevisionSlider - change (mediawiki...RevisionSlider)
WMDE-leszek has uploaded a new change for review. https://gerrit.wikimedia.org/r/291923 Change subject: When JavaScript disabled do not show RevisionSlider .. When JavaScript disabled do not show RevisionSlider As suggested in a comment in T135198, do not show anything above the diff when JavaScript disabled instead of always putting a message there. Change-Id: I1c66fa4a9fa6e90f8318de3a4f656d629000d9ca --- M RevisionSlider.hooks.php M extension.json M i18n/en.json M i18n/qqq.json A modules/ext.RevisionSlider.noscript.css 5 files changed, 7 insertions(+), 11 deletions(-) git pull ssh://gerrit.wikimedia.org:29418/mediawiki/extensions/RevisionSlider refs/changes/23/291923/1 diff --git a/RevisionSlider.hooks.php b/RevisionSlider.hooks.php index 6b1c231..25263bb 100755 --- a/RevisionSlider.hooks.php +++ b/RevisionSlider.hooks.php @@ -38,6 +38,7 @@ $out = RequestContext::getMain()->getOutput(); $out->addModules( 'ext.RevisionSlider.init' ); + $out->addModuleStyles( 'ext.RevisionSlider.noscript' ); $out->addJsConfigVars( 'extRevisionSliderOldRev', $oldRev->getId() ); $out->addJsConfigVars( 'extRevisionSliderNewRev', $newRev->getId() ); $out->addJsConfigVars( 'extRevisionSliderTimeOffset', intval( $timeOffset ) ); @@ -55,15 +56,6 @@ 'style' => 'text-align: center', ], ( new Message( 'revisionslider-loading-placeholder' ) )->parse() - ) . - Html::rawElement( - 'noscript', - [], - Html::element( - 'p', - [ 'style' => 'text-align: center' ], - ( new Message( 'revisionslider-loading-noscript' ) )->parse() - ) ) ) ); diff --git a/extension.json b/extension.json index e6d19a9..2e75e9d 100755 --- a/extension.json +++ b/extension.json @@ -43,6 +43,9 @@ ], "position": "top" }, + "ext.RevisionSlider.noscript": { + "styles": "modules/ext.RevisionSlider.noscript.css" + }, "ext.RevisionSlider.fetchRevisions": { "scripts": [ "modules/ext.RevisionSlider.fetchRevisions.js" diff --git a/i18n/en.json b/i18n/en.json index 577e5b3..bd73b1e 100755 --- a/i18n/en.json +++ b/i18n/en.json @@ -15,7 +15,6 @@ "revisionslider-loading-placeholder": "The revision slider is loading.", "revisionslider-loading-failed": "The revision slider failed to load.", "revisionslider-loading-out-of-range": "The revision slider failed to load as the requested revisions are not in the top 500 versions of the page.", -"revisionslider-loading-noscript": "As you have JavaScript disabled the revision slider will not be able to load.", "revisionslider-arrow-tooltip-newer": "See newer revisions", "revisionslider-arrow-tooltip-older": "See older revisions" } \ No newline at end of file diff --git a/i18n/qqq.json b/i18n/qqq.json index f466412..5eca52c 100755 --- a/i18n/qqq.json +++ b/i18n/qqq.json @@ -16,7 +16,6 @@ "revisionslider-loading-placeholder": "Message shown while the RevisionSlider is still loading on a diff page. Once loaded the message is removed.", "revisionslider-loading-failed": "Message shown if the RevisionSlider fails to initially load.", "revisionslider-loading-out-of-range": "Message shown if the RevisionSlider fails to initially load due to revisions being requested that are not in the most recent 500 revisions.", - "revisionslider-loading-noscript": "Message shown while the RevisionSlider is trying to load but when JavaScript is disabled and thus it will not be successful.", "revisionslider-arrow-tooltip-newer": "Text shown after hovering the button scrolling to newer revisions.", "revisionslider-arrow-tooltip-older": "Text shown after hovering the button scrolling to older revisions." } diff --git a/modules/ext.RevisionSlider.noscript.css b/modules/ext.RevisionSlider.noscript.css new file mode 100644 index 000..54bdb76 --- /dev/null +++ b/modules/ext.RevisionSlider.noscript.css @@ -0,0 +1,3 @@ +.client-nojs #mw-revision-slider-container { +display: none; +} -- To view, visit https://gerrit.wikimedia.org/r/291923 To unsubscribe, visit https://gerrit.wikimedia.org/r/settings Gerrit-MessageType: newchange Gerrit-Change-Id:
[MediaWiki-commits] [Gerrit] Escape HTML message in the "help slideshow" - change (mediawiki...RevisionSlider)
WMDE-leszek has uploaded a new change for review. https://gerrit.wikimedia.org/r/294891 Change subject: Escape HTML message in the "help slideshow" .. Escape HTML message in the "help slideshow" Change-Id: I6854da2d8c6d7176956394f4f4733d0c2529d295 --- M modules/ext.RevisionSlider.HelpDialog.js 1 file changed, 1 insertion(+), 1 deletion(-) git pull ssh://gerrit.wikimedia.org:29418/mediawiki/extensions/RevisionSlider refs/changes/91/294891/1 diff --git a/modules/ext.RevisionSlider.HelpDialog.js b/modules/ext.RevisionSlider.HelpDialog.js index 2ac7dcd..00cc000 100644 --- a/modules/ext.RevisionSlider.HelpDialog.js +++ b/modules/ext.RevisionSlider.HelpDialog.js @@ -72,7 +72,7 @@ .append( $( '' ).addClass( 'mw-help-dialog-image-portrait mw-help-dialog-slide-3 mw-image-column' ) ) .append( $( '' ).addClass( 'mw-text-column mw-help-dialog-text' ) - .html( mw.msg( 'revisionslider-help-dialog-slide3' ) ) + .html( mw.message( 'revisionslider-help-dialog-slide3' ).parse() ) ) .append( $( '' ).css( 'clear', 'both' ) ); -- To view, visit https://gerrit.wikimedia.org/r/294891 To unsubscribe, visit https://gerrit.wikimedia.org/r/settings Gerrit-MessageType: newchange Gerrit-Change-Id: I6854da2d8c6d7176956394f4f4733d0c2529d295 Gerrit-PatchSet: 1 Gerrit-Project: mediawiki/extensions/RevisionSlider Gerrit-Branch: master Gerrit-Owner: WMDE-leszek___ MediaWiki-commits mailing list MediaWiki-commits@lists.wikimedia.org https://lists.wikimedia.org/mailman/listinfo/mediawiki-commits
[MediaWiki-commits] [Gerrit] Add a link to Meta page describing a community wish - change (mediawiki...RevisionSlider)
WMDE-leszek has uploaded a new change for review. https://gerrit.wikimedia.org/r/294892 Change subject: Add a link to Meta page describing a community wish .. Add a link to Meta page describing a community wish Link is added to the first "slide" of the help dialogue. Change-Id: I6abf375951b11331fe1d67993e7d06a2bb0c8f51 --- M i18n/en.json M modules/ext.RevisionSlider.HelpDialog.js 2 files changed, 2 insertions(+), 2 deletions(-) git pull ssh://gerrit.wikimedia.org:29418/mediawiki/extensions/RevisionSlider refs/changes/92/294892/1 diff --git a/i18n/en.json b/i18n/en.json index d80b386..cf3b6d0 100644 --- a/i18n/en.json +++ b/i18n/en.json @@ -18,7 +18,7 @@ "revisionslider-loading-out-of-range": "The revision slider failed to load as the requested revisions are not in the top 500 versions of the page.", "revisionslider-arrow-tooltip-newer": "See newer revisions", "revisionslider-arrow-tooltip-older": "See older revisions", -"revisionslider-help-dialog-slide1": "The RevisionSlider helps you to navigate and compare revisions on the diff page. It is based on a community wish from the German-speaking community technical wishlist.", +"revisionslider-help-dialog-slide1": "The RevisionSlider helps you to navigate and compare revisions on the diff page. It is based on a [[m:WMDE_Technical_Wishes/Revision_Slider|community wish]] from the German-speaking community technical wishlist.", "revisionslider-help-dialog-slide2": "Each bar represents an article revision. Bars to the top show growth of the article, bars to the bottom show a reduction of size. In the image, at the revision marked with 1 there has been content added. At the revision marked with 2, content has been removed.", "revisionslider-help-dialog-slide3": "To compare certain revisions, select the revisions using the yellow and blue pointer.The blue pointer controls the newer revision, the yellow pointer maps to the older revision.Move the pointers by drag and drop or click on a bar.", "revisionslider-help-dialog-slide4": "Use the backwards and forwards arrows to move through revision history and show older and newer revisions.", diff --git a/modules/ext.RevisionSlider.HelpDialog.js b/modules/ext.RevisionSlider.HelpDialog.js index 00cc000..c0c621c 100644 --- a/modules/ext.RevisionSlider.HelpDialog.js +++ b/modules/ext.RevisionSlider.HelpDialog.js @@ -46,7 +46,7 @@ ) .append( $( '' ).addClass( 'mw-help-dialog-text' ) - .text( mw.msg( 'revisionslider-help-dialog-slide1' ) ) + .html( mw.message( 'revisionslider-help-dialog-slide1' ).parse() ) ); return slide; -- To view, visit https://gerrit.wikimedia.org/r/294892 To unsubscribe, visit https://gerrit.wikimedia.org/r/settings Gerrit-MessageType: newchange Gerrit-Change-Id: I6abf375951b11331fe1d67993e7d06a2bb0c8f51 Gerrit-PatchSet: 1 Gerrit-Project: mediawiki/extensions/RevisionSlider Gerrit-Branch: master Gerrit-Owner: WMDE-leszek___ MediaWiki-commits mailing list MediaWiki-commits@lists.wikimedia.org https://lists.wikimedia.org/mailman/listinfo/mediawiki-commits
[MediaWiki-commits] [Gerrit] Fix documentation of the dir parameter of list=watchlistraw ... - change (mediawiki/core)
WMDE-leszek has uploaded a new change for review. https://gerrit.wikimedia.org/r/295240 Change subject: Fix documentation of the dir parameter of list=watchlistraw API action .. Fix documentation of the dir parameter of list=watchlistraw API action Bug: T138213 Change-Id: I26709b03dd9b64c6f1231f3bfc3064c63c8f0c21 --- M includes/api/ApiQueryWatchlistRaw.php M includes/api/i18n/en.json M includes/api/i18n/qqq.json 3 files changed, 2 insertions(+), 1 deletion(-) git pull ssh://gerrit.wikimedia.org:29418/mediawiki/core refs/changes/40/295240/1 diff --git a/includes/api/ApiQueryWatchlistRaw.php b/includes/api/ApiQueryWatchlistRaw.php index 742f8f5..64b97fe 100644 --- a/includes/api/ApiQueryWatchlistRaw.php +++ b/includes/api/ApiQueryWatchlistRaw.php @@ -193,7 +193,6 @@ 'ascending', 'descending' ], - ApiBase::PARAM_HELP_MSG => 'api-help-param-direction', ], 'fromtitle' => [ ApiBase::PARAM_TYPE => 'string' diff --git a/includes/api/i18n/en.json b/includes/api/i18n/en.json index cfd0c74..5124955 100644 --- a/includes/api/i18n/en.json +++ b/includes/api/i18n/en.json @@ -1291,6 +1291,7 @@ "apihelp-query+watchlistraw-param-show": "Only list items that meet these criteria.", "apihelp-query+watchlistraw-param-owner": "Used along with $1token to access a different user's watchlist.", "apihelp-query+watchlistraw-param-token": "A security token (available in the user's [[Special:Preferences#mw-prefsection-watchlist|preferences]]) to allow access to another user's watchlist.", + "apihelp-query+watchlistraw-param-dir": "The direction in which to list.", "apihelp-query+watchlistraw-param-fromtitle": "Title (with namespace prefix) to begin enumerating from.", "apihelp-query+watchlistraw-param-totitle": "Title (with namespace prefix) to stop enumerating at.", "apihelp-query+watchlistraw-example-simple": "List pages on the current user's watchlist.", diff --git a/includes/api/i18n/qqq.json b/includes/api/i18n/qqq.json index 44769cf..ed9952f 100644 --- a/includes/api/i18n/qqq.json +++ b/includes/api/i18n/qqq.json @@ -1204,6 +1204,7 @@ "apihelp-query+watchlistraw-param-show": "{{doc-apihelp-param|query+watchlistraw|show}}", "apihelp-query+watchlistraw-param-owner": "{{doc-apihelp-param|query+watchlistraw|owner}}", "apihelp-query+watchlistraw-param-token": "{{doc-apihelp-param|query+watchlistraw|token}}", + "apihelp-query+watchlistraw-param-dir": "{{doc-apihelp-param|query+watchlistraw|dir}}", "apihelp-query+watchlistraw-param-fromtitle": "{{doc-apihelp-param|query+watchlistraw|fromtitle}}", "apihelp-query+watchlistraw-param-totitle": "{{doc-apihelp-param|query+watchlistraw|totitle}}", "apihelp-query+watchlistraw-example-simple": "{{doc-apihelp-example|query+watchlistraw}}", -- To view, visit https://gerrit.wikimedia.org/r/295240 To unsubscribe, visit https://gerrit.wikimedia.org/r/settings Gerrit-MessageType: newchange Gerrit-Change-Id: I26709b03dd9b64c6f1231f3bfc3064c63c8f0c21 Gerrit-PatchSet: 1 Gerrit-Project: mediawiki/core Gerrit-Branch: master Gerrit-Owner: WMDE-leszek___ MediaWiki-commits mailing list MediaWiki-commits@lists.wikimedia.org https://lists.wikimedia.org/mailman/listinfo/mediawiki-commits
[MediaWiki-commits] [Gerrit] Add simply JSDuck config file - change (mediawiki...RevisionSlider)
WMDE-leszek has uploaded a new change for review. https://gerrit.wikimedia.org/r/295212 Change subject: Add simply JSDuck config file .. Add simply JSDuck config file Running jsduck command generates API documentation to docs directory. Change-Id: I1f9acbaf7868ebf48a56d20d6906cbcf23ef9748 --- A jsduck.json 1 file changed, 6 insertions(+), 0 deletions(-) git pull ssh://gerrit.wikimedia.org:29418/mediawiki/extensions/RevisionSlider refs/changes/12/295212/1 diff --git a/jsduck.json b/jsduck.json new file mode 100644 index 000..7626ffe --- /dev/null +++ b/jsduck.json @@ -0,0 +1,6 @@ +{ + "--title": "RevisionSlider - Documentation", + "--external": "jQuery,OO.ui.PanelLayout", + "--output": "docs", + "--": "modules" +} -- To view, visit https://gerrit.wikimedia.org/r/295212 To unsubscribe, visit https://gerrit.wikimedia.org/r/settings Gerrit-MessageType: newchange Gerrit-Change-Id: I1f9acbaf7868ebf48a56d20d6906cbcf23ef9748 Gerrit-PatchSet: 1 Gerrit-Project: mediawiki/extensions/RevisionSlider Gerrit-Branch: master Gerrit-Owner: WMDE-leszek___ MediaWiki-commits mailing list MediaWiki-commits@lists.wikimedia.org https://lists.wikimedia.org/mailman/listinfo/mediawiki-commits
[MediaWiki-commits] [Gerrit] Add BetaFeatures images - change (mediawiki...RevisionSlider)
WMDE-leszek has submitted this change and it was merged. Change subject: Add BetaFeatures images .. Add BetaFeatures images Bug: T137969 Change-Id: Ifee3deb60d5ce2aad42c4f18efa25c2fcfe3007f --- M RevisionSlider.hooks.php A resources/RevisionSlider-beta-features-ltr.png A resources/RevisionSlider-beta-features-rtl.png 3 files changed, 6 insertions(+), 0 deletions(-) Approvals: Tobias Gritschacher: Looks good to me, but someone else must approve WMDE-leszek: Looks good to me, approved jenkins-bot: Verified diff --git a/RevisionSlider.hooks.php b/RevisionSlider.hooks.php index 626127e..f3a22e6 100644 --- a/RevisionSlider.hooks.php +++ b/RevisionSlider.hooks.php @@ -63,9 +63,15 @@ } public static function getBetaFeaturePreferences( $user, &$prefs ) { + global $wgExtensionAssetsPath; + $prefs['revisionslider'] = [ 'label-message' => 'revisionslider-beta-feature-message', 'desc-message' => 'revisionslider-beta-feature-description', + 'screenshot' => [ + 'ltr' => "$wgExtensionAssetsPath/RevisionSlider/resources/RevisionSlider-beta-features-ltr.png", + 'rtl' => "$wgExtensionAssetsPath/RevisionSlider/resources/RevisionSlider-beta-features-rtl.png", + ], 'info-link' => 'https://www.mediawiki.org/wiki/Extension:RevisionSlider', 'discussion-link' => 'https://www.mediawiki.org/wiki/Extension_talk:RevisionSlider', ]; diff --git a/resources/RevisionSlider-beta-features-ltr.png b/resources/RevisionSlider-beta-features-ltr.png new file mode 100644 index 000..ed4c2d8 --- /dev/null +++ b/resources/RevisionSlider-beta-features-ltr.png Binary files differ diff --git a/resources/RevisionSlider-beta-features-rtl.png b/resources/RevisionSlider-beta-features-rtl.png new file mode 100644 index 000..5be6ab5 --- /dev/null +++ b/resources/RevisionSlider-beta-features-rtl.png Binary files differ -- To view, visit https://gerrit.wikimedia.org/r/294724 To unsubscribe, visit https://gerrit.wikimedia.org/r/settings Gerrit-MessageType: merged Gerrit-Change-Id: Ifee3deb60d5ce2aad42c4f18efa25c2fcfe3007f Gerrit-PatchSet: 2 Gerrit-Project: mediawiki/extensions/RevisionSlider Gerrit-Branch: master Gerrit-Owner: WMDE-FischGerrit-Reviewer: Jakob Gerrit-Reviewer: Tobias Gritschacher Gerrit-Reviewer: WMDE-Fisch Gerrit-Reviewer: WMDE-leszek Gerrit-Reviewer: jenkins-bot <> ___ MediaWiki-commits mailing list MediaWiki-commits@lists.wikimedia.org https://lists.wikimedia.org/mailman/listinfo/mediawiki-commits
[MediaWiki-commits] [Gerrit] Add test for ApiQueryWatchlistRaw - change (mediawiki/core)
WMDE-leszek has uploaded a new change for review. https://gerrit.wikimedia.org/r/294721 Change subject: Add test for ApiQueryWatchlistRaw .. Add test for ApiQueryWatchlistRaw This includes tests that originally were part of I875a92074b52c00ac11db1fa05615abbf5262ab1 Change-Id: I9c07aa237607143985f0efe20ed0065d2bde27e4 --- A tests/phpunit/includes/api/ApiQueryWatchlistRawIntegrationTest.php 1 file changed, 542 insertions(+), 0 deletions(-) git pull ssh://gerrit.wikimedia.org:29418/mediawiki/core refs/changes/21/294721/1 diff --git a/tests/phpunit/includes/api/ApiQueryWatchlistRawIntegrationTest.php b/tests/phpunit/includes/api/ApiQueryWatchlistRawIntegrationTest.php new file mode 100644 index 000..85bcf5f --- /dev/null +++ b/tests/phpunit/includes/api/ApiQueryWatchlistRawIntegrationTest.php @@ -0,0 +1,542 @@ +getMutableTestUser(); + self::$users['ApiQueryWatchlistRawIntegrationTestUser2'] + = $this->getMutableTestUser(); + $this->doLogin( 'ApiQueryWatchlistRawIntegrationTestUser' ); + } + + private function getLoggedInTestUser() { + return self::$users['ApiQueryWatchlistRawIntegrationTestUser']->getUser(); + } + + private function getNotLoggedInTestUser() { + return self::$users['ApiQueryWatchlistRawIntegrationTestUser2']->getUser(); + } + + private function getWatchedItemStore() { + return MediaWikiServices::getInstance()->getWatchedItemStore(); + } + + private function doListWatchlistRawRequest( array $params = [] ) { + return $this->doApiRequest( array_merge( + [ 'action' => 'query', 'list' => 'watchlistraw' ], + $params + ) ); + } + + private function doGeneratorWatchlistRawRequest( array $params = [] ) { + return $this->doApiRequest( array_merge( + [ 'action' => 'query', 'generator' => 'watchlistraw' ], + $params + ) ); + } + + private function getItemsFromApiResponse( array $response ) { + return $response[0]['watchlistraw']; + } + + public function testListWatchlistRaw_returnsWatchedItems() { + $store = $this->getWatchedItemStore(); + $store->addWatch( + $this->getLoggedInTestUser(), + new TitleValue( 0, 'ApiQueryWatchlistRawIntegrationTestPage' ) + ); + + $result = $this->doListWatchlistRawRequest(); + + $this->assertArrayHasKey( 'watchlistraw', $result[0] ); + + $this->assertEquals( + [ + [ + 'ns' => 0, + 'title' => 'ApiQueryWatchlistRawIntegrationTestPage', + ], + ], + $this->getItemsFromApiResponse( $result ) + ); + } + + public function testPropChanged_addsNotificationTimestamp() { + $target = new TitleValue( 0, 'ApiQueryWatchlistRawIntegrationTestPage' ); + $otherUser = $this->getNotLoggedInTestUser(); + + $store = $this->getWatchedItemStore(); + + $store->addWatch( $this->getLoggedInTestUser(), $target ); + $store->updateNotificationTimestamp( + $otherUser, + $target, + '20151212010101' + ); + + $result = $this->doListWatchlistRawRequest( [ 'wrprop' => 'changed' ] ); + + $this->assertEquals( + [ + [ + 'ns' => 0, + 'title' => 'ApiQueryWatchlistRawIntegrationTestPage', + 'changed' => '2015-12-12T01:01:01Z', + ], + ], + $this->getItemsFromApiResponse( $result ) + ); + } + + public function testNamespaceParam() { + $store = $this->getWatchedItemStore(); + + $store->addWatchBatchForUser( $this->getLoggedInTestUser(), [ + new TitleValue( 0, 'ApiQueryWatchlistRawIntegrationTestPage' ), + new TitleValue( 1, 'ApiQueryWatchlistRawIntegrationTestPage' ), + ] ); + + $result = $this->doListWatchlistRawRequest( [ 'wrnamespace' => '0' ] ); + + $this->assertEquals( + [ + [ + 'ns' => 0, + 'title' => 'ApiQueryWatchlistRawIntegrationTestPage', +
[MediaWiki-commits] [Gerrit] Make a symbol on the "Show help" button translatable - change (mediawiki...RevisionSlider)
WMDE-leszek has uploaded a new change for review. https://gerrit.wikimedia.org/r/295916 Change subject: Make a symbol on the "Show help" button translatable .. Make a symbol on the "Show help" button translatable Change-Id: I60ae368f59203f63fb352ec861db5d75d488f8fa --- M extension.json M i18n/en.json M i18n/qqq.json M modules/ext.RevisionSlider.init.js 4 files changed, 4 insertions(+), 1 deletion(-) git pull ssh://gerrit.wikimedia.org:29418/mediawiki/extensions/RevisionSlider refs/changes/16/295916/1 diff --git a/extension.json b/extension.json index 25c19c9..11a1b7a 100644 --- a/extension.json +++ b/extension.json @@ -40,6 +40,7 @@ "mediawiki.api.options" ], "messages": [ + "revisionslider-show-help", "revisionslider-loading-out-of-range", "revisionslider-loading-failed" ], diff --git a/i18n/en.json b/i18n/en.json index ed4af13..db4f679 100644 --- a/i18n/en.json +++ b/i18n/en.json @@ -18,6 +18,7 @@ "revisionslider-loading-out-of-range": "The revision slider failed to load as the requested revisions are not in the top 500 versions of the page.", "revisionslider-arrow-tooltip-newer": "See newer revisions", "revisionslider-arrow-tooltip-older": "See older revisions", +"revisionslider-show-help": "?", "revisionslider-help-dialog-slide1": "The RevisionSlider helps you to navigate and compare revisions on the diff page. It is based on a [[m:WMDE_Technical_Wishes/Revision_Slider|community wish]] from the German-speaking community technical wishlist.", "revisionslider-help-dialog-slide2": "Each bar represents an article revision. Bars on the top show growth in size of the article, bars on the bottom show a reduction. In the image, revision 1 represents added content, while revision 2 represents removal of content.", "revisionslider-help-dialog-slide3": "To compare certain revisions, select the revisions using the yellow and blue pointer.The blue pointer controls the newer revision, the yellow pointer maps to the older revision.Move the pointers by drag and drop or click on a bar.", diff --git a/i18n/qqq.json b/i18n/qqq.json index 56adeae..36e2e9a 100644 --- a/i18n/qqq.json +++ b/i18n/qqq.json @@ -19,6 +19,7 @@ "revisionslider-loading-out-of-range": "Message shown if the RevisionSlider fails to initially load due to revisions being requested that are not in the most recent 500 revisions.", "revisionslider-arrow-tooltip-newer": "Text shown after hovering the button scrolling to newer revisions.", "revisionslider-arrow-tooltip-older": "Text shown after hovering the button scrolling to older revisions.", + "revisionslider-show-help": "A symbol shown in the \"Show help\" button.", "revisionslider-help-dialog-slide1": "Text shown on the first slide of the help dialog.", "revisionslider-help-dialog-slide2": "Text shown on the second slide of the help dialog.", "revisionslider-help-dialog-slide3": "Text shown on the third slide of the help dialog.", diff --git a/modules/ext.RevisionSlider.init.js b/modules/ext.RevisionSlider.init.js index 77fd306..680dad0 100644 --- a/modules/ext.RevisionSlider.init.js +++ b/modules/ext.RevisionSlider.init.js @@ -35,7 +35,7 @@ .click( function () { mw.libs.revisionSlider.HelpDialog.show(); } ) - .text( '?' ) + .text( mw.message( 'revisionslider-show-help' ).text() ) .addClass( 'mw-show-help' ) ); } catch ( err ) { -- To view, visit https://gerrit.wikimedia.org/r/295916 To unsubscribe, visit https://gerrit.wikimedia.org/r/settings Gerrit-MessageType: newchange Gerrit-Change-Id: I60ae368f59203f63fb352ec861db5d75d488f8fa Gerrit-PatchSet: 1 Gerrit-Project: mediawiki/extensions/RevisionSlider Gerrit-Branch: master Gerrit-Owner: WMDE-leszek___ MediaWiki-commits mailing list MediaWiki-commits@lists.wikimedia.org https://lists.wikimedia.org/mailman/listinfo/mediawiki-commits
[MediaWiki-commits] [Gerrit] Phragile: Ensure clone before creating storage dir - change (operations/puppet)
WMDE-leszek has uploaded a new change for review. https://gerrit.wikimedia.org/r/264745 Change subject: Phragile: Ensure clone before creating storage dir .. Phragile: Ensure clone before creating storage dir Unless explicitly told Puppet could create a storage directory (a subdir of the directory where Phragile repository is cloned to) before git clone has been called. In that case git clone fails due to directory being non-empty. Change-Id: I35a114b02fd8330144a62685be9f626b484dec5e --- M modules/phragile/manifests/init.pp 1 file changed, 1 insertion(+), 0 deletions(-) git pull ssh://gerrit.wikimedia.org:29418/operations/puppet refs/changes/45/264745/1 diff --git a/modules/phragile/manifests/init.pp b/modules/phragile/manifests/init.pp index b78f791..1114007 100644 --- a/modules/phragile/manifests/init.pp +++ b/modules/phragile/manifests/init.pp @@ -117,6 +117,7 @@ group => 'www-data', mode=> '0775', recurse => true, +require => Git::Clone['phragile'], } exec { '/usr/bin/php artisan migrate': -- To view, visit https://gerrit.wikimedia.org/r/264745 To unsubscribe, visit https://gerrit.wikimedia.org/r/settings Gerrit-MessageType: newchange Gerrit-Change-Id: I35a114b02fd8330144a62685be9f626b484dec5e Gerrit-PatchSet: 1 Gerrit-Project: operations/puppet Gerrit-Branch: production Gerrit-Owner: WMDE-leszek___ MediaWiki-commits mailing list MediaWiki-commits@lists.wikimedia.org https://lists.wikimedia.org/mailman/listinfo/mediawiki-commits
[MediaWiki-commits] [Gerrit] Update device "selector logic" URL - change (mediawiki...CentralNotice)
WMDE-leszek has uploaded a new change for review. https://gerrit.wikimedia.org/r/264938 Change subject: Update device "selector logic" URL .. Update device "selector logic" URL modules/ext.centralNotice.bannerController/mobile/device.js has been removed in Ifbecceba41363c2ccd4fb3cfff96f7756d90bf06 and the relevant code has been moved to resources/subscribing/ext.centralNotice.display.state.js. Current URL leads to github's 404 page which might be confusing, especially for people not familiar with what devices CentralNotices considers "unknown". Change-Id: I78818f2182544601fa1d9e54e7a0df1404a9b32a --- M i18n/ast.json M i18n/cs.json M i18n/de.json M i18n/en.json M i18n/es.json M i18n/fa.json M i18n/fr.json M i18n/gl.json M i18n/he.json M i18n/ilo.json M i18n/it.json M i18n/ksh.json M i18n/lki.json M i18n/lrc.json M i18n/mk.json M i18n/nap.json M i18n/nl.json M i18n/pms.json M i18n/pt-br.json M i18n/pt.json M i18n/ru.json M i18n/sv.json M i18n/uk.json M i18n/vi.json M i18n/zh-hans.json M i18n/zh-hant.json 26 files changed, 26 insertions(+), 26 deletions(-) git pull ssh://gerrit.wikimedia.org:29418/mediawiki/extensions/CentralNotice refs/changes/38/264938/1 diff --git a/i18n/ast.json b/i18n/ast.json index 0dda2f8..21ca7f0 100644 --- a/i18n/ast.json +++ b/i18n/ast.json @@ -194,7 +194,7 @@ "centralnotice-devicetype-android": "SO Android", "centralnotice-devicetype-ipad": "Tolos preseos identificaos como iPads pero non iPhones", "centralnotice-devicetype-iphone": "Toles versiones de iPhone", - "centralnotice-devicetype-unknown": "Preseos del sitiu pa móviles que nun son iPhones, iPads, o Android - ([https://github.com/wikimedia/mediawiki-extensions-CentralNotice/blob/master/modules/ext.centralNotice.bannerController/mobile/device.js Selector lóxicu])", + "centralnotice-devicetype-unknown": "Preseos del sitiu pa móviles que nun son iPhones, iPads, o Android - ([https://github.com/wikimedia/mediawiki-extensions-CentralNotice/blob/master/resources/subscribing/ext.centralNotice.display.state.js Selector lóxicu])", "centralnotice-all": "Toos", "centralnotice-generic-error": "Nun tien los permisos afayadizos pa facer l'aición solicitada o la mesma aición nun ye válida.", "centralnotice-banner-name-error": "Diose un nome de cartel inválidu. Los nomes válidos contienen namái caráuteres alfanumbéricos y guiones baxos.", diff --git a/i18n/cs.json b/i18n/cs.json index f12be75..606 100644 --- a/i18n/cs.json +++ b/i18n/cs.json @@ -196,7 +196,7 @@ "centralnotice-devicetype-android": "OS Android", "centralnotice-devicetype-ipad": "VÅ¡echna zaÅ™Ãzenà identifikovaná jako iPad kromÄ› iPhonů", "centralnotice-devicetype-iphone": "VÅ¡echny verze iPhone", - "centralnotice-devicetype-unknown": "ZaÅ™Ãzenà na mobilnÃm webu, která nejsou iPhony, iPady, ani Androidy ([https://github.com/wikimedia/mediawiki-extensions-CentralNotice/blob/master/modules/ext.centralNotice.bannerController/mobile/device.js logika výbÄ›ru])", + "centralnotice-devicetype-unknown": "ZaÅ™Ãzenà na mobilnÃm webu, která nejsou iPhony, iPady, ani Androidy ([https://github.com/wikimedia/mediawiki-extensions-CentralNotice/blob/master/resources/subscribing/ext.centralNotice.display.state.js logika výbÄ›ru])", "centralnotice-all": "VÅ¡echno", "centralnotice-generic-error": "Nemáte oprávnÄ›nà potÅ™ebná k provedenà požadované akce nebo byla sama akce chybná.", "centralnotice-banner-name-error": "Uveden neplatný název banneru. Platné názvy obsahujà pouze alfanumerické znaky a podtržÃtka.", diff --git a/i18n/de.json b/i18n/de.json index 2318605..2565d75 100644 --- a/i18n/de.json +++ b/i18n/de.json @@ -203,7 +203,7 @@ "centralnotice-devicetype-android": "Android OS", "centralnotice-devicetype-ipad": "Alle Geräte, die als iPads, aber nicht als iPhones identifiziert wurden.", "centralnotice-devicetype-iphone": "Alle iPhone-Versionen", - "centralnotice-devicetype-unknown": "Geräte auf der mobilen Website, die keine iPhones, iPads oder Android-Geräte sind. – ([https://github.com/wikimedia/mediawiki-extensions-CentralNotice/blob/master/modules/ext.centralNotice.bannerController/mobile/device.js Auswahllogik])", + "centralnotice-devicetype-unknown": "Geräte auf der mobilen Website, die keine iPhones, iPads oder Android-Geräte sind. – ([https://github.com/wikimedia/mediawiki-extensions-CentralNotice/blob/master/resources/subscribing/ext.centralNotice.display.state.js Auswahllogik])", "centralnotice-all": "Alle", "centralnotice-generic-error": "Du hast nicht die korrekte Berechtigung, die angeforderte Aktion auszuführen oder die Aktion selber war ungültig.", "centralnotice-banner-name-error": "Es wurde ein ungültiger Vorlagenname angegeben. Gültige Namen enthalten nur alphanumerische Zeichen und
[MediaWiki-commits] [Gerrit] Bold tooltip labels and color-coded change size - change (mediawiki...RevisionSlider)
WMDE-leszek has submitted this change and it was merged. Change subject: Bold tooltip labels and color-coded change size .. Bold tooltip labels and color-coded change size Also introduced language specific number formating. Therefore removed the 'bytes' message. Plural form will be computed in the size messages directly. Comment label and value were split so the parsed comment can be used plain without parsing the html again. Bug: T137183 Change-Id: I12f30cb518e3cc5210528d5b22737dde868a0325 --- M extension.json M i18n/en.json M i18n/qqq.json M modules/ext.RevisionSlider.RevisionListView.js M modules/ext.RevisionSlider.css 5 files changed, 57 insertions(+), 22 deletions(-) Approvals: WMDE-leszek: Verified; Looks good to me, approved Siebrand: Looks good to me, but someone else must approve jenkins-bot: Verified diff --git a/extension.json b/extension.json index 25c19c9..27c1b19 100644 --- a/extension.json +++ b/extension.json @@ -118,8 +118,8 @@ "modules/ext.RevisionSlider.RevisionListView.js" ], "messages": [ - "revisionslider-revision-bytes", - "revisionslider-label-article-size", + "revisionslider-label-date", + "revisionslider-label-page-size", "revisionslider-label-change-size", "revisionslider-label-edited-by", "revisionslider-label-comment" diff --git a/i18n/en.json b/i18n/en.json index ed4af13..06b92f2 100644 --- a/i18n/en.json +++ b/i18n/en.json @@ -8,11 +8,11 @@ "revisionslider-desc": "Shows a slider allowing selecting and comparing of revisions on a diff page", "revisionslider-beta-feature-message": "Revision Slider", "revisionslider-beta-feature-description": "Show a revision slider when comparing two revisions of a page.", -"revisionslider-revision-bytes": "$1 {{PLURAL:$1|byte|bytes}}", -"revisionslider-label-article-size": "Article size: $1", -"revisionslider-label-change-size": "Change size: $1", -"revisionslider-label-comment": "Comment: $1", -"revisionslider-label-edited-by": "Edited by: $1", +"revisionslider-label-date": "Date: $1", +"revisionslider-label-page-size": "Page size: $1 {{PLURAL:$2|byte|bytes}}", +"revisionslider-label-change-size": "Change size: $1 {{PLURAL:$2|byte|bytes}}", +"revisionslider-label-comment": "Comment: ", +"revisionslider-label-edited-by": "Edited by: $1", "revisionslider-loading-placeholder": "The revision slider is loading.", "revisionslider-loading-failed": "The revision slider failed to load.", "revisionslider-loading-out-of-range": "The revision slider failed to load as the requested revisions are not in the top 500 versions of the page.", diff --git a/i18n/qqq.json b/i18n/qqq.json index 56adeae..1ee1e3c 100644 --- a/i18n/qqq.json +++ b/i18n/qqq.json @@ -9,10 +9,10 @@ "revisionslider-desc": "{{desc|name=RevisionSlider|url=https://www.mediawiki.org/wiki/Extension:RevisionSlider}};, "revisionslider-beta-feature-message": "Label for the revision slider Beta Feature.", "revisionslider-beta-feature-description": "Description for the revision slider Beta Feature, describing the feature that will be enabled.", - "revisionslider-revision-bytes": "Label describing the amount of bytes changed in this revision.\nParameters:\n* $1 - Revision size in bytes.", - "revisionslider-label-article-size": "Label describing the size of this revision.\nParameters:\n* $1 - Revision size.", - "revisionslider-label-change-size": "Label describing the size of the change compared to the revision before.\nParameters:\n* $1 - Change size.", - "revisionslider-label-comment": "Label showing the edit summary of a revision.\nParameters:\n* $1 - The revision's edit summary.", + "revisionslider-label-date": "Label describing the creation date of this revision.\nParameters:\n* $1 - Creation date.", + "revisionslider-label-page-size": "Label describing the size of this revision.\nParameters:\n* $1 - Formatted article size.\n* $2 - Article size as raw number.", + "revisionslider-label-change-size": "Label describing the size of the change compared to the revision before.\nParameters:\n* $1 - Formatted change size colored with markup.\n* $2 - Change size as raw number.", + "revisionslider-label-comment": "Label showing the edit summary of a revision.", "revisionslider-label-edited-by": "Gender-neutral label showing this revision's author's username.\nParameters:\n* $1 - Username.", "revisionslider-loading-placeholder": "Message shown while the RevisionSlider is still loading on a diff page. Once loaded the message is removed.",
[MediaWiki-commits] [Gerrit] Use username for username label - change (mediawiki...RevisionSlider)
WMDE-leszek has submitted this change and it was merged. Change subject: Use username for username label .. Use username for username label After changing this several times to address concerns related to GENDER, decided to use the mediawiki standard here also used in the core code. For translators a hint was added that GENDER is not supported here so an appropriate translation should be chosen by them. Bug: T136367 Change-Id: Icc2a8e6fc08761367c4ab6bb2a446262f8aa86e6 --- M extension.json M i18n/en.json M i18n/qqq.json M modules/ext.RevisionSlider.RevisionListView.js 4 files changed, 4 insertions(+), 4 deletions(-) Approvals: WMDE-leszek: Looks good to me, approved jenkins-bot: Verified diff --git a/extension.json b/extension.json index 44008d6..93531fb 100644 --- a/extension.json +++ b/extension.json @@ -122,7 +122,7 @@ "revisionslider-label-date", "revisionslider-label-page-size", "revisionslider-label-change-size", - "revisionslider-label-edited-by", + "revisionslider-label-username", "revisionslider-label-comment" ], "dependencies": [ diff --git a/i18n/en.json b/i18n/en.json index d5450fd..10167b3 100644 --- a/i18n/en.json +++ b/i18n/en.json @@ -12,7 +12,7 @@ "revisionslider-label-page-size": "Page size: $1 {{PLURAL:$2|byte|bytes}}", "revisionslider-label-change-size": "Change size: $1 {{PLURAL:$2|byte|bytes}}", "revisionslider-label-comment": "Comment: ", -"revisionslider-label-edited-by": "Edited by: $1", +"revisionslider-label-username": "Username: $1", "revisionslider-loading-placeholder": "The revision slider is loading.", "revisionslider-loading-failed": "The revision slider failed to load.", "revisionslider-loading-out-of-range": "The revision slider failed to load as the requested revisions are not in the top 500 versions of the page.", diff --git a/i18n/qqq.json b/i18n/qqq.json index 4e0e70a..53fe345 100644 --- a/i18n/qqq.json +++ b/i18n/qqq.json @@ -13,7 +13,7 @@ "revisionslider-label-page-size": "Label describing the size of this revision.\nParameters:\n* $1 - Formatted article size.\n* $2 - Article size as raw number.", "revisionslider-label-change-size": "Label describing the size of the change compared to the revision before.\nParameters:\n* $1 - Formatted change size colored with markup.\n* $2 - Change size as raw number.", "revisionslider-label-comment": "Label showing the edit summary of a revision.", - "revisionslider-label-edited-by": "Gender-neutral label showing this revision's author's username.\nParameters:\n* $1 - Username.", + "revisionslider-label-username": "Label for the revision's author's username.\n{{doc-important|{{[[Gender|GENDER]]}} is '''NOT''' supported.}}\n\nParameters:\n* $1 - Username.\n\n{{Identical|Username}}", "revisionslider-loading-placeholder": "Message shown while the RevisionSlider is still loading on a diff page. Once loaded the message is removed.", "revisionslider-loading-failed": "Message shown if the RevisionSlider fails to initially load.", "revisionslider-loading-out-of-range": "Message shown if the RevisionSlider fails to initially load due to revisions being requested that are not in the most recent 500 revisions.", diff --git a/modules/ext.RevisionSlider.RevisionListView.js b/modules/ext.RevisionSlider.RevisionListView.js index 6c19f0d..21c7d22 100644 --- a/modules/ext.RevisionSlider.RevisionListView.js +++ b/modules/ext.RevisionSlider.RevisionListView.js @@ -140,7 +140,7 @@ ), rev.getUser() ? $( '' ).append( $( '' ).append( - mw.message( 'revisionslider-label-edited-by', mw.html.escape( rev.getUser() ) ).parseDom() + mw.message( 'revisionslider-label-username', mw.html.escape( rev.getUser() ) ).parseDom() ) ) : '', this.makeCommentLine( rev ), -- To view, visit https://gerrit.wikimedia.org/r/294066 To unsubscribe, visit https://gerrit.wikimedia.org/r/settings Gerrit-MessageType: merged Gerrit-Change-Id: Icc2a8e6fc08761367c4ab6bb2a446262f8aa86e6 Gerrit-PatchSet: 5 Gerrit-Project: mediawiki/extensions/RevisionSlider Gerrit-Branch: master Gerrit-Owner: WMDE-FischGerrit-Reviewer: Addshore Gerrit-Reviewer: Gabriel Birke Gerrit-Reviewer: Jakob
[MediaWiki-commits] [Gerrit] Bump version number to 1.0.0 and add authors - change (mediawiki...RevisionSlider)
WMDE-leszek has submitted this change and it was merged. Change subject: Bump version number to 1.0.0 and add authors .. Bump version number to 1.0.0 and add authors Bug: T137948 Change-Id: Ibcd39fbb503d0a603dae35c8ae515b5bb19178ee --- M extension.json 1 file changed, 6 insertions(+), 2 deletions(-) Approvals: WMDE-leszek: Looks good to me, approved jenkins-bot: Verified diff --git a/extension.json b/extension.json index 0ad78c1..439569b 100644 --- a/extension.json +++ b/extension.json @@ -1,8 +1,12 @@ { "name": "RevisionSlider", - "version": "0.0.0", + "version": "1.0.0", "author": [ - "WMDE" + "TCB team (Wikimedia Deutschland)", + "Christoph Fischer", + "Leszek Manicki", + "Adam Shorland", + "Jakob Warkotsch" ], "url": "https://www.mediawiki.org/wiki/Extension:RevisionSlider;, "namemsg": "revisionslider", -- To view, visit https://gerrit.wikimedia.org/r/294900 To unsubscribe, visit https://gerrit.wikimedia.org/r/settings Gerrit-MessageType: merged Gerrit-Change-Id: Ibcd39fbb503d0a603dae35c8ae515b5bb19178ee Gerrit-PatchSet: 3 Gerrit-Project: mediawiki/extensions/RevisionSlider Gerrit-Branch: master Gerrit-Owner: WMDE-FischGerrit-Reviewer: Jakob Gerrit-Reviewer: Tobias Gritschacher Gerrit-Reviewer: WMDE-Fisch Gerrit-Reviewer: WMDE-leszek Gerrit-Reviewer: jenkins-bot <> ___ MediaWiki-commits mailing list MediaWiki-commits@lists.wikimedia.org https://lists.wikimedia.org/mailman/listinfo/mediawiki-commits
[MediaWiki-commits] [Gerrit] Minor helptext improvements - change (mediawiki...RevisionSlider)
WMDE-leszek has submitted this change and it was merged. Change subject: Minor helptext improvements .. Minor helptext improvements Bug: T136830 Change-Id: I116a969f5db03ad179ace7a8c3d4c25fc92b159e --- M i18n/en.json 1 file changed, 2 insertions(+), 2 deletions(-) Approvals: WMDE-leszek: Verified; Looks good to me, approved jenkins-bot: Verified diff --git a/i18n/en.json b/i18n/en.json index cf3b6d0..ed4af13 100644 --- a/i18n/en.json +++ b/i18n/en.json @@ -19,9 +19,9 @@ "revisionslider-arrow-tooltip-newer": "See newer revisions", "revisionslider-arrow-tooltip-older": "See older revisions", "revisionslider-help-dialog-slide1": "The RevisionSlider helps you to navigate and compare revisions on the diff page. It is based on a [[m:WMDE_Technical_Wishes/Revision_Slider|community wish]] from the German-speaking community technical wishlist.", -"revisionslider-help-dialog-slide2": "Each bar represents an article revision. Bars to the top show growth of the article, bars to the bottom show a reduction of size. In the image, at the revision marked with 1 there has been content added. At the revision marked with 2, content has been removed.", +"revisionslider-help-dialog-slide2": "Each bar represents an article revision. Bars on the top show growth in size of the article, bars on the bottom show a reduction. In the image, revision 1 represents added content, while revision 2 represents removal of content.", "revisionslider-help-dialog-slide3": "To compare certain revisions, select the revisions using the yellow and blue pointer.The blue pointer controls the newer revision, the yellow pointer maps to the older revision.Move the pointers by drag and drop or click on a bar.", -"revisionslider-help-dialog-slide4": "Use the backwards and forwards arrows to move through revision history and show older and newer revisions.", +"revisionslider-help-dialog-slide4": "Use the backward and forward arrows to move through revision history and show older and newer revisions.", "revisionslider-tutorial": "Revision Slider Tutorial", "revisionslider-previous-dialog": "Previous", "revisionslider-next-dialog": "Next", -- To view, visit https://gerrit.wikimedia.org/r/294902 To unsubscribe, visit https://gerrit.wikimedia.org/r/settings Gerrit-MessageType: merged Gerrit-Change-Id: I116a969f5db03ad179ace7a8c3d4c25fc92b159e Gerrit-PatchSet: 1 Gerrit-Project: mediawiki/extensions/RevisionSlider Gerrit-Branch: master Gerrit-Owner: WMDE-FischGerrit-Reviewer: Jakob Gerrit-Reviewer: Siebrand Gerrit-Reviewer: WMDE-Fisch Gerrit-Reviewer: WMDE-leszek Gerrit-Reviewer: jenkins-bot <> ___ MediaWiki-commits mailing list MediaWiki-commits@lists.wikimedia.org https://lists.wikimedia.org/mailman/listinfo/mediawiki-commits
[MediaWiki-commits] [Gerrit] Add type hint against LinkTarget - change (mediawiki/core)
WMDE-leszek has uploaded a new change for review. https://gerrit.wikimedia.org/r/269922 Change subject: Add type hint against LinkTarget .. Add type hint against LinkTarget A follow up to I132f254536a7516e878e20ad49d2f415796c4490 Change-Id: I74bff64e86ea95cecddf504e532543aa74b79775 --- M includes/cache/LinkBatch.php 1 file changed, 1 insertion(+), 1 deletion(-) git pull ssh://gerrit.wikimedia.org:29418/mediawiki/core refs/changes/22/269922/1 diff --git a/includes/cache/LinkBatch.php b/includes/cache/LinkBatch.php index 8f334cc..ca3b9cf 100644 --- a/includes/cache/LinkBatch.php +++ b/includes/cache/LinkBatch.php @@ -58,7 +58,7 @@ /** * @param LinkTarget $linkTarget */ - public function addObj( $linkTarget ) { + public function addObj( LinkTarget $linkTarget ) { if ( is_object( $linkTarget ) ) { $this->add( $linkTarget->getNamespace(), $linkTarget->getDBkey() ); } else { -- To view, visit https://gerrit.wikimedia.org/r/269922 To unsubscribe, visit https://gerrit.wikimedia.org/r/settings Gerrit-MessageType: newchange Gerrit-Change-Id: I74bff64e86ea95cecddf504e532543aa74b79775 Gerrit-PatchSet: 1 Gerrit-Project: mediawiki/core Gerrit-Branch: master Gerrit-Owner: WMDE-leszek___ MediaWiki-commits mailing list MediaWiki-commits@lists.wikimedia.org https://lists.wikimedia.org/mailman/listinfo/mediawiki-commits
[MediaWiki-commits] [Gerrit] Add tests for WatchedItemStore - change (mediawiki/core)
WMDE-leszek has uploaded a new change for review. https://gerrit.wikimedia.org/r/269659 Change subject: Add tests for WatchedItemStore .. Add tests for WatchedItemStore Adds tests for all public methods of WatchedItemStore except for resetNotificationTimestamp which is calling the database through other class methods, and seems to be difficult to be tested isolated. These tests try to avoid modifying "real" database and cache, and use mocks instead, so tests could be run independently. Change-Id: I0742e55c710c4fb9f7dcaf1b05eb0d9a8aaf5170 --- M tests/phpunit/includes/WatchedItemStoreTest.php 1 file changed, 568 insertions(+), 9 deletions(-) git pull ssh://gerrit.wikimedia.org:29418/mediawiki/core refs/changes/59/269659/1 diff --git a/tests/phpunit/includes/WatchedItemStoreTest.php b/tests/phpunit/includes/WatchedItemStoreTest.php index f4abbf9..589b6d5 100644 --- a/tests/phpunit/includes/WatchedItemStoreTest.php +++ b/tests/phpunit/includes/WatchedItemStoreTest.php @@ -11,14 +11,14 @@ * @return PHPUnit_Framework_MockObject_MockObject|IDatabase */ private function getMockDb() { - return $this->getMock( 'IDatabase' ); + return $this->getMock( IDatabase::class ); } /** * @return PHPUnit_Framework_MockObject_MockObject|LoadBalancer */ - private function getMockLoadbalancer( $mockDb ) { - $mock = $this->getMockBuilder( 'LoadBalancer' ) + private function getMockLoadbalancer( IDatabase $mockDb ) { + $mock = $this->getMockBuilder( LoadBalancer::class ) ->disableOriginalConstructor() ->getMock(); $mock->expects( $this->any() ) @@ -27,16 +27,48 @@ return $mock; } - private function getFakeRow( $userId, $timestamp ) { + /** +* @return PHPUnit_Framework_MockObject_MockObject|ProcessCacheLRU +*/ + private function getMockCache() { + return $this->getMockBuilder( ProcessCacheLRU::class ) + ->disableOriginalConstructor() + ->getMock(); + } + + /** +* @param int $id +* @return PHPUnit_Framework_MockObject_MockObject|User +*/ + private function getMockNonAnonUserWithId( $id ) { + $mock = $this->getMock( User::class ); + $mock->expects( $this->any() ) + ->method( 'isAnon' ) + ->will( $this->returnValue( false ) ); + $mock->expects( $this->any() ) + ->method( 'getId' ) + ->will( $this->returnValue( $id ) ); + return $mock; + } + + /** +* @return User +*/ + private function getAnonUser() { + return User::newFromName( 'Anon_User' ); + } + + private function getFakeRow( array $rowValues ) { $fakeRow = new stdClass(); - $fakeRow->wl_user = $userId; - $fakeRow->wl_notificationtimestamp = $timestamp; + foreach ( $rowValues as $valueName => $value ) { + $fakeRow->$valueName = $value; + } return $fakeRow; } public function testDuplicateEntry_nothingToDuplicate() { $mockDb = $this->getMockDb(); - $mockDb->expects( $this->exactly( 1 ) ) + $mockDb->expects( $this->once() ) ->method( 'select' ) ->will( $this->returnValue( new FakeResultWrapper( array() ) ) ); @@ -53,8 +85,8 @@ public function testDuplicateEntry_somethingToDuplicate() { $fakeRows = array( - $this->getFakeRow( 1, '20151212010101' ), - $this->getFakeRow( 2, null ), + $this->getFakeRow( array( 'wl_user' => 1, 'wl_notificationtimestamp' => '20151212010101' ) ), + $this->getFakeRow( array( 'wl_user' => 2, 'wl_notificationtimestamp' => null ) ), ); $mockDb = $this->getMockDb(); @@ -94,4 +126,531 @@ ); } + public function testAddWatch_nonAnonymousUser() { + $mockDb = $this->getMockDb(); + $mockDb->expects( $this->once() ) + ->method( 'insert' ) + ->with( + 'watchlist', + array( + array( + 'wl_user' => 1, + 'wl_namespace' => 0, + 'wl_title' => 'Some_Page', + 'wl_notificationtimestamp' => null, +
[MediaWiki-commits] [Gerrit] Do not show category membership changes on mobile - change (mediawiki...MobileFrontend)
WMDE-leszek has uploaded a new change for review. https://gerrit.wikimedia.org/r/272705 Change subject: Do not show category membership changes on mobile .. Do not show category membership changes on mobile As long as there is no option to hide category membership changes in mobile UI, those changes will be filtered out. Bug: T127723 Change-Id: I18c39d1da51a8135097db0b49cfd6edc514d --- M includes/specials/SpecialMobileWatchlist.php 1 file changed, 2 insertions(+), 0 deletions(-) git pull ssh://gerrit.wikimedia.org:29418/mediawiki/extensions/MobileFrontend refs/changes/05/272705/1 diff --git a/includes/specials/SpecialMobileWatchlist.php b/includes/specials/SpecialMobileWatchlist.php index fe6130f..d095701 100644 --- a/includes/specials/SpecialMobileWatchlist.php +++ b/includes/specials/SpecialMobileWatchlist.php @@ -241,6 +241,8 @@ 'wl_title=rc_title', // FIXME: Filter out wikidata changes which currently show as anonymous (see bug 49315) 'rc_type!=' . RC_EXTERNAL, + // Filter out category membership changes + 'rc_type!=' . $dbr->addQuotes( RC_CATEGORIZE ), ), ), ); -- To view, visit https://gerrit.wikimedia.org/r/272705 To unsubscribe, visit https://gerrit.wikimedia.org/r/settings Gerrit-MessageType: newchange Gerrit-Change-Id: I18c39d1da51a8135097db0b49cfd6edc514d Gerrit-PatchSet: 1 Gerrit-Project: mediawiki/extensions/MobileFrontend Gerrit-Branch: master Gerrit-Owner: WMDE-leszek___ MediaWiki-commits mailing list MediaWiki-commits@lists.wikimedia.org https://lists.wikimedia.org/mailman/listinfo/mediawiki-commits
[MediaWiki-commits] [Gerrit] Add tests for WatchedItemStore::updateNotificationTimestamp - change (mediawiki/core)
WMDE-leszek has uploaded a new change for review. https://gerrit.wikimedia.org/r/271279 Change subject: Add tests for WatchedItemStore::updateNotificationTimestamp .. Add tests for WatchedItemStore::updateNotificationTimestamp Change-Id: Id9c77d2d21b43765b46a3afcf9b9b892ccdd27e9 --- M tests/phpunit/includes/WatchedItemStoreTest.php 1 file changed, 162 insertions(+), 0 deletions(-) git pull ssh://gerrit.wikimedia.org:29418/mediawiki/core refs/changes/79/271279/1 diff --git a/tests/phpunit/includes/WatchedItemStoreTest.php b/tests/phpunit/includes/WatchedItemStoreTest.php index 66ec5a2..74ea0a8 100644 --- a/tests/phpunit/includes/WatchedItemStoreTest.php +++ b/tests/phpunit/includes/WatchedItemStoreTest.php @@ -802,4 +802,166 @@ ); } + public function testUpdateNotificationTimestamp_watchersExist() { + $mockDb = $this->getMockDb(); + $mockDb->expects( $this->once() ) + ->method( 'select' ) + ->with( + [ 'watchlist' ], + [ 'wl_user' ], + [ + 'wl_user != 1', + 'wl_namespace' => 0, + 'wl_title' => 'SomeDbKey', + 'wl_notificationtimestamp IS NULL' + ] + ) + ->will( + $this->returnValue( [ + $this->getFakeRow( [ 'wl_user' => '2' ] ), + $this->getFakeRow( [ 'wl_user' => '3' ] ) + ] ) + ); + // Not checking update calls due to it being passed as a callback to IDatabase::onTransactionIdle + + $mockConfig = $this->getMockConfig(); + $mockConfig->expects( $this->once() ) + ->method( 'get' ) + ->with( 'EnotifWatchlist' ) + ->will( $this->returnValue( true ) ); + + $store = new WatchedItemStore( + $this->getMockLoadBalancer( $mockDb ), + new HashBagOStuff( [ 'maxKeys' => 100 ] ), + $mockConfig + ); + + $this->assertEquals( + [ 2, 3 ], + $store->updateNotificationTimestamp( + $this->getMockNonAnonUserWithId( 1 ), + new TitleValue( 0, 'SomeDbKey' ), + '20151212010101' + ) + ); + } + + public function testUpdateNotificationTimestamp_noWatchers() { + $mockDb = $this->getMockDb(); + $mockDb->expects( $this->once() ) + ->method( 'select' ) + ->with( + [ 'watchlist' ], + [ 'wl_user' ], + [ + 'wl_user != 1', + 'wl_namespace' => 0, + 'wl_title' => 'SomeDbKey', + 'wl_notificationtimestamp IS NULL' + ] + ) + ->will( + $this->returnValue( [] ) + ); + // Not checking update calls due to it being passed as a callback to IDatabase::onTransactionIdle + + $mockConfig = $this->getMockConfig(); + $mockConfig->expects( $this->once() ) + ->method( 'get' ) + ->with( 'EnotifWatchlist' ) + ->will( $this->returnValue( true ) ); + + $store = new WatchedItemStore( + $this->getMockLoadBalancer( $mockDb ), + new HashBagOStuff( [ 'maxKeys' => 100 ] ), + $mockConfig + ); + + $watchers = $store->updateNotificationTimestamp( + $this->getMockNonAnonUserWithId( 1 ), + new TitleValue( 0, 'SomeDbKey' ), + '20151212010101' + ); + $this->assertInternalType( 'array', $watchers ); + $this->assertEmpty( $watchers ); + } + + public function testUpdateNotificationTimestamp_allRelevantSettingsAreFalse() { + $mockDb = $this->getMockDb(); + $mockDb->expects( $this->never() ) + ->method( 'select' ); + + $mockConfig = $this->getMockConfig(); + $mockConfig->expects( $this->at( 0 ) ) +
[MediaWiki-commits] [Gerrit] Use WatchedItemStore in ApiQueryInfo::getWatchedInfo - change (mediawiki/core)
WMDE-leszek has uploaded a new change for review. https://gerrit.wikimedia.org/r/278283 Change subject: Use WatchedItemStore in ApiQueryInfo::getWatchedInfo .. Use WatchedItemStore in ApiQueryInfo::getWatchedInfo Adds a method for getting WatchedItem objects for a batch of LinkTargets. Bug: T129482 Change-Id: I1f84212e7879a84b34bb3b53859069fcea282bba --- M includes/WatchedItemStore.php M includes/api/ApiQueryInfo.php M tests/phpunit/includes/WatchedItemStoreIntegrationTest.php M tests/phpunit/includes/WatchedItemStoreUnitTest.php 4 files changed, 287 insertions(+), 17 deletions(-) git pull ssh://gerrit.wikimedia.org:29418/mediawiki/core refs/changes/83/278283/1 diff --git a/includes/WatchedItemStore.php b/includes/WatchedItemStore.php index 4e2dfa5..deeaf79 100644 --- a/includes/WatchedItemStore.php +++ b/includes/WatchedItemStore.php @@ -491,6 +491,61 @@ } /** +* Get items for targets +* +* @param User $user +* @param LinkTarget[] $targets +* +* @return WatchedItem[] +*/ + public function getWatchedItems( User $user, array $targets ) { + if ( $user->isAnon() ) { + return []; + } + + $watchedItems = []; + $targetsToLoad = []; + foreach ( $targets as $target ) { + $cachedItem = $this->getCached( $user, $target ); + if ( $cachedItem ) { + $watchedItems[] = $cachedItem; + } else { + $targetsToLoad[] = $target; + } + } + + if ( !$targetsToLoad ) { + return $watchedItems; + } + + $dbr = $this->getConnection( DB_SLAVE ); + + $lb = new LinkBatch( $targetsToLoad ); + $res = $dbr->select( + 'watchlist', + [ 'wl_namespace', 'wl_title', 'wl_notificationtimestamp' ], + [ + $lb->constructSet( 'wl', $dbr ), + 'wl_user' => $user->getId(), + ], + __METHOD__ + ); + $this->reuseConnection( $dbr ); + + foreach ( $res as $row ) { + $item = new WatchedItem( + $user, + new TitleValue( (int)$row->wl_namespace, $row->wl_title ), + $row->wl_notificationtimestamp + ); + $this->cache( $item ); + $watchedItems[] = $item; + } + + return $watchedItems; + } + + /** * Must be called separately for Subject & Talk namespaces * * @param User $user diff --git a/includes/api/ApiQueryInfo.php b/includes/api/ApiQueryInfo.php index 2d382dd..62cdcc9 100644 --- a/includes/api/ApiQueryInfo.php +++ b/includes/api/ApiQueryInfo.php @@ -758,28 +758,17 @@ $this->watched = []; $this->notificationtimestamps = []; - $db = $this->getDB(); - $lb = new LinkBatch( $this->everything ); + $items = WatchedItemStore::getDefaultInstance()->getWatchedItems( $user, $this->everything ); - $this->resetQueryParams(); - $this->addTables( [ 'watchlist' ] ); - $this->addFields( [ 'wl_title', 'wl_namespace' ] ); - $this->addFieldsIf( 'wl_notificationtimestamp', $this->fld_notificationtimestamp ); - $this->addWhere( [ - $lb->constructSet( 'wl', $db ), - 'wl_user' => $user->getId() - ] ); - - $res = $this->select( __METHOD__ ); - - foreach ( $res as $row ) { + foreach ( $items as $item ) { + $target = $item->getLinkTarget(); if ( $this->fld_watched ) { - $this->watched[$row->wl_namespace][$row->wl_title] = true; + $this->watched[$target->getNamespace()][$target->getDBkey()] = true; } if ( $this->fld_notificationtimestamp ) { - $this->notificationtimestamps[$row->wl_namespace][$row->wl_title] = - $row->wl_notificationtimestamp; + $this->notificationtimestamps[$target->getNamespace()][$target->getDBkey()] = + $item->getNotificationTimestamp(); } } } diff --git a/tests/phpunit/includes/WatchedItemStoreIntegrationTest.php
[MediaWiki-commits] [Gerrit] [WIP]Use WatchedItemStore::getWatchedItemsForUser in ApiQuer... - change (mediawiki/core)
WMDE-leszek has uploaded a new change for review. https://gerrit.wikimedia.org/r/278859 Change subject: [WIP]Use WatchedItemStore::getWatchedItemsForUser in ApiQueryWatchlistRaw .. [WIP]Use WatchedItemStore::getWatchedItemsForUser in ApiQueryWatchlistRaw Adds number of options to WatchedItemStore::getWatchedItemsForUser. Also adds some tests for ApiQueryWatchlistRaw. TODO: more tests for ApiQueryWatchlistRaw? TODO: use WIS::getWatchedItemsForUser in ApiQueryWatchlistRaw::run Change-Id: I875a92074b52c00ac11db1fa05615abbf5262ab1 --- M includes/WatchedItemStore.php M tests/phpunit/includes/WatchedItemStoreUnitTest.php A tests/phpunit/includes/api/ApiQueryWatchlistRawIntegrationTest.php 3 files changed, 611 insertions(+), 11 deletions(-) git pull ssh://gerrit.wikimedia.org:29418/mediawiki/core refs/changes/59/278859/2 diff --git a/includes/WatchedItemStore.php b/includes/WatchedItemStore.php index 67ff15f..defa9c3 100644 --- a/includes/WatchedItemStore.php +++ b/includes/WatchedItemStore.php @@ -400,8 +400,17 @@ * @param User $user * @param array $options Allowed keys: *'forWrite' => bool defaults to false -*'namespaceId' => int optional namespace ID to filter by (default to all namespaces) *'ordered' => bool optional ordering by namespace ID and title +*'namespaceIds' => int[] optional namespace IDs to filter by (defaults to all namespaces) +*'limit' => int maximum number of items to return +*'filter' => string optional filter, allowed values: +*- changedSinceLastVisit, +*- changedBeforeLastVisit, +*'orderDescending' => bool reverse ordering of items, defaults to false +*'from' => LinkTarget requires 'ordered' key, only return items starting from +*those related to the link target +*'until' => LinkTarget requires 'ordered' key, only return items until +*those related to the link target * * @return WatchedItem[] */ @@ -409,14 +418,16 @@ if ( !array_key_exists( 'forWrite', $options ) ) { $options['forWrite'] = false; } - - $conds = [ 'wl_user' => $user->getId() ]; - - $dbOptions = []; - if ( array_key_exists( 'ordered', $options ) && $options['ordered'] ) { - $dbOptions['ORDER BY'] = [ 'wl_namespace', 'wl_title' ]; + if ( !array_key_exists( 'namespaceIds', $options ) || !is_array( $options['namespaceIds'] ) ) { + $options['namespaceIds'] = []; } + $db = $this->getConnection( $options['forWrite'] ? DB_MASTER : DB_SLAVE ); + + $extraConds = $this->getWatchedItemsForUserQueryConds( $db, $options ); + $conds = array_merge( [ 'wl_user' => $user->getId() ], $extraConds ); + + $dbOptions = $this->getWatchedItemsForUserQueryDbOptions( $options ); $res = $db->select( 'watchlist', @@ -440,6 +451,72 @@ return $watchedItems; } + private function getWatchedItemsForUserQueryConds( IDatabase $db, array $options ) { + $conds = []; + if ( $options['namespaceIds'] ) { + $conds['wl_namespace'] = array_map( + function( $x ) { + return (int)$x; + }, + $options['namespaceIds'] + ); + } + if ( array_key_exists( 'filter', $options ) ) { + if ( $options['filter'] === 'changedSinceLastVisit' ) { + $conds[] = 'wl_notificationtimestamp IS NOT NULL'; + } + if ( $options['filter'] === 'changedBeforeLastVisit' ) { + $conds[] = 'wl_notificationtimestamp IS NULL'; + } + } + $ordered = array_key_exists( 'ordered', $options ) && $options['ordered']; + $reversedOrder = array_key_exists( 'orderDescending', $options ) && $options['orderDescending']; + if ( $ordered && ( + array_key_exists( 'from', $options ) || array_key_exists( 'until', $options ) + ) ) { + /** @var LinkTarget $target */ + if ( array_key_exists( 'from', $options ) ) { + $target = $options['from']; + $op = !$reversedOrder ? '>' : '<'; + } else { + $target = $options['until']; +
[MediaWiki-commits] [Gerrit] Fix ApiQueryInfo response for prop=watchers - change (mediawiki/core)
WMDE-leszek has uploaded a new change for review. https://gerrit.wikimedia.org/r/277788 Change subject: Fix ApiQueryInfo response for prop=watchers .. Fix ApiQueryInfo response for prop=watchers Ie84e6feaa42db1bc7a1f89b56aed37dd7fe95ea4 part of them problem with incorrect API response but if when no watchers data is fetched (ie. due to early return in ApiQueryInfo::getWatcherInfo), response contains "watchers": null instead of skipping "watchers" key entirely. Bug: T129482 Change-Id: I9cab120ec4e6a9cf4626678e45ef14ea8efc8cbc --- M includes/api/ApiQueryInfo.php 1 file changed, 3 insertions(+), 1 deletion(-) git pull ssh://gerrit.wikimedia.org:29418/mediawiki/core refs/changes/88/277788/1 diff --git a/includes/api/ApiQueryInfo.php b/includes/api/ApiQueryInfo.php index 3aa0122..f33da1e 100644 --- a/includes/api/ApiQueryInfo.php +++ b/includes/api/ApiQueryInfo.php @@ -453,8 +453,10 @@ } if ( $this->fld_watchers ) { - if ( $this->watchers[$ns][$dbkey] !== 0 || $this->showZeroWatchers ) { + if ( $this->watchers !== null && $this->watchers[$ns][$dbkey] !== 0 ) { $pageInfo['watchers'] = $this->watchers[$ns][$dbkey]; + } elseif ( $this->showZeroWatchers ) { + $pageInfo['watchers'] = 0; } } -- To view, visit https://gerrit.wikimedia.org/r/277788 To unsubscribe, visit https://gerrit.wikimedia.org/r/settings Gerrit-MessageType: newchange Gerrit-Change-Id: I9cab120ec4e6a9cf4626678e45ef14ea8efc8cbc Gerrit-PatchSet: 1 Gerrit-Project: mediawiki/core Gerrit-Branch: master Gerrit-Owner: WMDE-leszekGerrit-Reviewer: jenkins-bot <> ___ MediaWiki-commits mailing list MediaWiki-commits@lists.wikimedia.org https://lists.wikimedia.org/mailman/listinfo/mediawiki-commits
[MediaWiki-commits] [Gerrit] Whitelist feeds included on Wikimedia Germany Engineering pa... - change (operations/mediawiki-config)
WMDE-leszek has uploaded a new change for review. https://gerrit.wikimedia.org/r/275815 Change subject: Whitelist feeds included on Wikimedia Germany Engineering page on mediawiki.org .. Whitelist feeds included on Wikimedia Germany Engineering page on mediawiki.org Bug: T127176 Change-Id: I838d3c8626120dae02d3f6d6196b5dbe59e3f9dd --- M wmf-config/InitialiseSettings.php 1 file changed, 3 insertions(+), 0 deletions(-) git pull ssh://gerrit.wikimedia.org:29418/operations/mediawiki-config refs/changes/15/275815/1 diff --git a/wmf-config/InitialiseSettings.php b/wmf-config/InitialiseSettings.php index ba0effc..5805014 100644 --- a/wmf-config/InitialiseSettings.php +++ b/wmf-config/InitialiseSettings.php @@ -13410,6 +13410,9 @@ 'https://blog.wikimedia.org/c/technology/feed/', 'https://blog.wikimedia.org/c/technology/mediawiki/feed/', 'https://git.wikimedia.org/feed/mediawiki/extensions/Translate.git', + // Feeds included on WMDE Engineering pages: + 'https://planet.wikimedia.de/atom.php', + 'https://sourcecode.berlin/feed/', ), ), -- To view, visit https://gerrit.wikimedia.org/r/275815 To unsubscribe, visit https://gerrit.wikimedia.org/r/settings Gerrit-MessageType: newchange Gerrit-Change-Id: I838d3c8626120dae02d3f6d6196b5dbe59e3f9dd Gerrit-PatchSet: 1 Gerrit-Project: operations/mediawiki-config Gerrit-Branch: master Gerrit-Owner: WMDE-leszek___ MediaWiki-commits mailing list MediaWiki-commits@lists.wikimedia.org https://lists.wikimedia.org/mailman/listinfo/mediawiki-commits
[MediaWiki-commits] [Gerrit] Quote RC_EXTERNAL in queries - change (mediawiki...MobileFrontend)
WMDE-leszek has uploaded a new change for review. https://gerrit.wikimedia.org/r/274099 Change subject: Quote RC_EXTERNAL in queries .. Quote RC_EXTERNAL in queries Change-Id: Id3fbd1b3023165c8f787b75ce9a2a882fb9215ba --- M includes/specials/SpecialMobileWatchlist.php 1 file changed, 1 insertion(+), 1 deletion(-) git pull ssh://gerrit.wikimedia.org:29418/mediawiki/extensions/MobileFrontend refs/changes/99/274099/1 diff --git a/includes/specials/SpecialMobileWatchlist.php b/includes/specials/SpecialMobileWatchlist.php index d095701..ce60fee 100644 --- a/includes/specials/SpecialMobileWatchlist.php +++ b/includes/specials/SpecialMobileWatchlist.php @@ -240,7 +240,7 @@ 'wl_namespace=rc_namespace', 'wl_title=rc_title', // FIXME: Filter out wikidata changes which currently show as anonymous (see bug 49315) - 'rc_type!=' . RC_EXTERNAL, + 'rc_type!=' . $dbr->addQuotes( RC_EXTERNAL ), // Filter out category membership changes 'rc_type!=' . $dbr->addQuotes( RC_CATEGORIZE ), ), -- To view, visit https://gerrit.wikimedia.org/r/274099 To unsubscribe, visit https://gerrit.wikimedia.org/r/settings Gerrit-MessageType: newchange Gerrit-Change-Id: Id3fbd1b3023165c8f787b75ce9a2a882fb9215ba Gerrit-PatchSet: 1 Gerrit-Project: mediawiki/extensions/MobileFrontend Gerrit-Branch: master Gerrit-Owner: WMDE-leszek___ MediaWiki-commits mailing list MediaWiki-commits@lists.wikimedia.org https://lists.wikimedia.org/mailman/listinfo/mediawiki-commits
[MediaWiki-commits] [Gerrit] Create module for Revision type. - change (mediawiki...RevisionSlider)
WMDE-leszek has submitted this change and it was merged. Change subject: Create module for Revision type. .. Create module for Revision type. This pulls out some of the code around revisions into a decoupled and tested module. Change-Id: Ib2a4f96f0e0b9a96ec85d300d97cd52dcaffe89e --- M RevisionSlider.hooks.php M extension.json A modules/ext.RevisionSlider.Revision.js M modules/ext.RevisionSlider.init.js A tests/RevisionSlider.Revision.test.js 5 files changed, 136 insertions(+), 22 deletions(-) Approvals: WMDE-Fisch: Verified; Looks good to me, but someone else must approve WMDE-leszek: Verified; Looks good to me, approved jenkins-bot: Verified diff --git a/RevisionSlider.hooks.php b/RevisionSlider.hooks.php index 0efe5a3..2c9246a 100755 --- a/RevisionSlider.hooks.php +++ b/RevisionSlider.hooks.php @@ -17,4 +17,18 @@ private static function isRevisionPage( WebRequest $request ) { return $request->getVal( 'action' ) === 'history' || $request->getVal( 'type' ) === 'revision'; } + + public static function onResourceLoaderTestModules( array &$testModules, ResourceLoader $rl ) { + $testModules['qunit']['ext.RevisionSlider.tests'] = [ + 'scripts' => [ + 'tests/RevisionSlider.Revision.test.js', + ], + 'dependencies' => [ + 'ext.RevisionSlider.Revision' + ], + 'localBasePath' => __DIR__, + ]; + + return true; + } } diff --git a/extension.json b/extension.json index 9f77063..d67f149 100755 --- a/extension.json +++ b/extension.json @@ -27,6 +27,7 @@ "modules/ext.RevisionSlider.css" ], "dependencies": [ + "ext.RevisionSlider.Revision", "ext.RevisionSlider.rainbow", "ext.RevisionSlider.fetchRevisions" ], @@ -41,6 +42,11 @@ "scripts": [ "modules/ext.RevisionSlider.fetchRevisions.js" ] + }, + "ext.RevisionSlider.Revision": { + "scripts": [ + "modules/ext.RevisionSlider.Revision.js" + ] } }, "ResourceFileModulePaths": { @@ -49,6 +55,9 @@ "Hooks": { "BeforePageDisplay": [ "RevisionSliderHooks::onBeforePageDisplay" + ], + "ResourceLoaderTestModules": [ + "RevisionSliderHooks::onResourceLoaderTestModules" ] } } diff --git a/modules/ext.RevisionSlider.Revision.js b/modules/ext.RevisionSlider.Revision.js new file mode 100644 index 000..b8202a8 --- /dev/null +++ b/modules/ext.RevisionSlider.Revision.js @@ -0,0 +1,72 @@ +( function ( mw, $ ) { + + var Revision = function ( data ) { + this.size = data.size; + this.comment = data.comment; + this.parsedComment = data.parsedcomment; + this.timestamp = data.timestamp; + this.user = data.user; + }; + + $.extend( Revision.prototype, { + /** +* @type {int} +*/ + size: 0, + + /** +* @type {string} +*/ + comment: '', + + /** +* @type {string} +*/ + parsedComment: '', + + /** +* @type {string} +*/ + timestamp: '', + + /** +* @type {string} +*/ + user: '', + + getSize: function () { + return this.size; + }, + + getParsedComment: function () { + return this.parsedComment; + }, + + getComment: function () { + return this.comment; + }, + + formatDate: function ( rawDate ) { + var MONTHS = [ 'Jan', 'Feb', 'Mar', 'Apr', 'May', 'June', 'July', 'Aug', 'Sept', 'Oct', 'Nov', 'Dec' ], + f = new Date( rawDate ), + fDate = f.getUTCDate(), + fMonth = f.getUTCMonth(), + fYear = f.getUTCFullYear(), + fHours = ( '0' + f.getUTCHours() ).slice( -2 ), + fMinutes = ( '0' + f.getUTCMinutes() ).slice( -2 ); + + return fHours + ':' + fMinutes + ', ' + fDate + ' ' + MONTHS[ fMonth ] +
[MediaWiki-commits] [Gerrit] Add a type hint to RevDelList::setVisibility - change (mediawiki/core)
WMDE-leszek has uploaded a new change for review. https://gerrit.wikimedia.org/r/285652 Change subject: Add a type hint to RevDelList::setVisibility .. Add a type hint to RevDelList::setVisibility Docblock mentions an array already. All usages in core I've managed to track also pass in arrays. Change-Id: I830f446a2b63d09c7aa81205d66ac56d8bdab733 --- M includes/revisiondelete/RevDelList.php 1 file changed, 1 insertion(+), 1 deletion(-) git pull ssh://gerrit.wikimedia.org:29418/mediawiki/core refs/changes/52/285652/1 diff --git a/includes/revisiondelete/RevDelList.php b/includes/revisiondelete/RevDelList.php index 26e4b17..b92 100644 --- a/includes/revisiondelete/RevDelList.php +++ b/includes/revisiondelete/RevDelList.php @@ -103,7 +103,7 @@ * @return Status * @since 1.23 Added 'perItemStatus' param */ - public function setVisibility( $params ) { + public function setVisibility( array $params ) { $bitPars = $params['value']; $comment = $params['comment']; $perItemStatus = isset( $params['perItemStatus'] ) ? $params['perItemStatus'] : false; -- To view, visit https://gerrit.wikimedia.org/r/285652 To unsubscribe, visit https://gerrit.wikimedia.org/r/settings Gerrit-MessageType: newchange Gerrit-Change-Id: I830f446a2b63d09c7aa81205d66ac56d8bdab733 Gerrit-PatchSet: 1 Gerrit-Project: mediawiki/core Gerrit-Branch: master Gerrit-Owner: WMDE-leszek___ MediaWiki-commits mailing list MediaWiki-commits@lists.wikimedia.org https://lists.wikimedia.org/mailman/listinfo/mediawiki-commits
[MediaWiki-commits] [Gerrit] Resume slider scroll position after refresh. - change (mediawiki...RevisionSlider)
WMDE-leszek has submitted this change and it was merged. Change subject: Resume slider scroll position after refresh. .. Resume slider scroll position after refresh. This fixes a bug that caused the slider to always show the first "page" after a refresh even if a different page was selected before the refresh. Change-Id: Ic5defd28f699617be6cf2ae5827e90f294d616b5 --- M modules/ext.RevisionSlider.DiffPage.js 1 file changed, 16 insertions(+), 8 deletions(-) Approvals: WMDE-leszek: Verified; Looks good to me, approved diff --git a/modules/ext.RevisionSlider.DiffPage.js b/modules/ext.RevisionSlider.DiffPage.js index aa83bae..8f9c0ff 100644 --- a/modules/ext.RevisionSlider.DiffPage.js +++ b/modules/ext.RevisionSlider.DiffPage.js @@ -4,8 +4,7 @@ $.extend( DiffPage.prototype, { refresh: function ( revId1, revId2 ) { - $( 'body' ) - .find( 'table.diff[data-mw=\'interface\']' ) + $( 'table.diff[data-mw=\'interface\']' ) .append( '' ); $.ajax( { url: mw.util.wikiScript( 'index' ), @@ -16,11 +15,14 @@ tryCount: 0, retryLimit: 2, success: function ( data ) { - data = $( '' ).html( data ).contents(); - data.find( '#revision-slider-container' ).replaceWith( $( '#revision-slider-container' ) ); - $( 'body' ) - .find( '#mw-content-text' ) - .html( data.find( '#mw-content-text' ) ); + var $container = $( '#revision-slider-container' ), + scrollLeft = $container.find( '.revisions-container' ).scrollLeft(); + + data = $( data ); + data.find( '#revision-slider-container' ) + .replaceWith( $container ); + $( '#mw-content-text' ).html( data.find( '#mw-content-text' ) ) + .find( '.revisions-container' ).scrollLeft( scrollLeft ); }, error: function ( err ) { this.tryCount++; @@ -38,7 +40,13 @@ pushState: function ( revId1, revId2, sliderView ) { history.pushState( - { revid1: revId1, revid2: revId2, leftPos: sliderView.pointerOne.getPosition(), rightPos: sliderView.pointerTwo.getPosition(), sliderPos: sliderView.slider.getFirstVisibleRevisionIndex() }, + { + revid1: revId1, + revid2: revId2, + leftPos: sliderView.pointerOne.getPosition(), + rightPos: sliderView.pointerTwo.getPosition(), + sliderPos: sliderView.slider.getFirstVisibleRevisionIndex() + }, $( document ).find( 'title' ).text(), mw.util.wikiScript( 'index' ) + '?diff=' + Math.max( revId1, revId2 ) + '=' + Math.min( revId1, revId2 ) ); -- To view, visit https://gerrit.wikimedia.org/r/289646 To unsubscribe, visit https://gerrit.wikimedia.org/r/settings Gerrit-MessageType: merged Gerrit-Change-Id: Ic5defd28f699617be6cf2ae5827e90f294d616b5 Gerrit-PatchSet: 2 Gerrit-Project: mediawiki/extensions/RevisionSlider Gerrit-Branch: master Gerrit-Owner: JakobGerrit-Reviewer: Jakob Gerrit-Reviewer: WMDE-leszek Gerrit-Reviewer: jenkins-bot <> ___ MediaWiki-commits mailing list MediaWiki-commits@lists.wikimedia.org https://lists.wikimedia.org/mailman/listinfo/mediawiki-commits
[MediaWiki-commits] [Gerrit] If the slider fails to load then fail nicely! - change (mediawiki...RevisionSlider)
WMDE-leszek has submitted this change and it was merged. Change subject: If the slider fails to load then fail nicely! .. If the slider fails to load then fail nicely! If something goes wrong with the initial api rquest the slider would either load in a broken state or say that it is loading forever. Now a message will be displayed to the user as well as the error logged to the console. Change-Id: Id763f31432feb7bd0e9ecbbeb2dd40f7ca6acaaf --- M .jshintrc M extension.json M i18n/en.json M i18n/qqq.json M modules/ext.RevisionSlider.fetchRevisions.js M modules/ext.RevisionSlider.init.js 6 files changed, 36 insertions(+), 12 deletions(-) Approvals: WMDE-leszek: Verified; Looks good to me, approved jenkins-bot: Verified diff --git a/.jshintrc b/.jshintrc index eb08746..1dea050 100755 --- a/.jshintrc +++ b/.jshintrc @@ -1,6 +1,7 @@ { // Enforcing "bitwise": true, + "devel": true, "eqeqeq": true, "es3": true, "latedef": true, diff --git a/extension.json b/extension.json index 48e85a2..db56c80 100755 --- a/extension.json +++ b/extension.json @@ -27,11 +27,15 @@ "modules/ext.RevisionSlider.css" ], "dependencies": [ + "mediawiki.jqueryMsg", "ext.RevisionSlider.Slider", "ext.RevisionSlider.Revision", "ext.RevisionSlider.RevisionList", "ext.RevisionSlider.fetchRevisions" ], + "messages": [ + "revisionslider-loading-failed" + ], "position": "top" }, "ext.RevisionSlider.rainbow": { diff --git a/i18n/en.json b/i18n/en.json index 06afc0e..8506a59 100755 --- a/i18n/en.json +++ b/i18n/en.json @@ -9,5 +9,6 @@ "revisionslider-beta-feature-message": "Revision Slider", "revisionslider-beta-feature-description": "Show a revision slider when comparing two revisions of a page.", "revisionslider-loading-placeholder": "The revision slider is loading.", +"revisionslider-loading-failed": "The revision slider failed to load.", "revisionslider-loading-noscript": "As you have JavaScript disabled the revision slider will not be able to load." } \ No newline at end of file diff --git a/i18n/qqq.json b/i18n/qqq.json index f884f42..7914ff3 100755 --- a/i18n/qqq.json +++ b/i18n/qqq.json @@ -9,5 +9,6 @@ "revisionslider-beta-feature-message": "Label for the revision slider Beta Feature.", "revisionslider-beta-feature-description": "Description for the revision slider Beta Feature, describing the feature that will be enabled.", "revisionslider-loading-placeholder": "Message shown while the RevisionSlider is still loading on a diff page. Once loaded the message is removed.", + "revisionslider-loading-failed": "Message shown if the RevisionSlider fails to initially load.", "revisionslider-loading-noscript": "Message shown while the RevisionSlider is trying to load but when JavaScript is disabled and thus it will not be successful." } diff --git a/modules/ext.RevisionSlider.fetchRevisions.js b/modules/ext.RevisionSlider.fetchRevisions.js index 933cf23..d07fc52 100644 --- a/modules/ext.RevisionSlider.fetchRevisions.js +++ b/modules/ext.RevisionSlider.fetchRevisions.js @@ -4,7 +4,7 @@ /** * Fetches up to 500 revisions at a time * -* @param {{}} options - Options containing success callback, pageName and startId +* @param {{}} options - Options containing success /error callback, pageName and startId */ mw.libs.revisionSlider.fetchRevisions = function ( options ) { $.ajax( { @@ -20,7 +20,8 @@ 'continue': '', rvlimit: 500 }, - success: options.success + success: options.success, + error: options.error } ); }; }( mediaWiki, jQuery ) ); diff --git a/modules/ext.RevisionSlider.init.js b/modules/ext.RevisionSlider.init.js index bbfdb45..0738f29 100755 --- a/modules/ext.RevisionSlider.init.js +++ b/modules/ext.RevisionSlider.init.js @@ -8,21 +8,37 @@ startId: mw.config.get( 'wgCurRevisionId' ), success: function ( data ) { - var revs = data.query.pages[ 0 ].revisions, + var revs, revisionList, $container, slider; -
[MediaWiki-commits] [Gerrit] Change the position of the "olid" pointer - change (mediawiki...RevisionSlider)
WMDE-leszek has uploaded a new change for review. https://gerrit.wikimedia.org/r/289190 Change subject: Change the position of the "olid" pointer .. Change the position of the "olid" pointer Bug: T134994 Change-Id: Ia06b5b0a488a4f8e92ac4b1b843dc4863d47 --- M modules/ext.RevisionSlider.css 1 file changed, 5 insertions(+), 3 deletions(-) git pull ssh://gerrit.wikimedia.org:29418/mediawiki/extensions/RevisionSlider refs/changes/90/289190/1 diff --git a/modules/ext.RevisionSlider.css b/modules/ext.RevisionSlider.css index eeb0e3b..27994fd 100755 --- a/modules/ext.RevisionSlider.css +++ b/modules/ext.RevisionSlider.css @@ -65,15 +65,18 @@ position: absolute; clear: both; height: 1px; -top: 77px; +top: 65px; margin: auto; z-index: 10; } .oldid-pointer { +top: 12px; border-color: transparent transparent #ffe49c transparent; +border-width: 0 10px 10px 10px; } .newid-pointer { -border-color: transparent transparent #a3d3ff transparent; +border-color: #a3d3ff transparent transparent transparent; +border-width: 10px 10px 0 10px; } .pointer { position: absolute !important; @@ -81,7 +84,6 @@ width: 0; height: 0; border-style: solid; -border-width: 0 10px 10px 10px; } #revision-slider-darkness { -- To view, visit https://gerrit.wikimedia.org/r/289190 To unsubscribe, visit https://gerrit.wikimedia.org/r/settings Gerrit-MessageType: newchange Gerrit-Change-Id: Ia06b5b0a488a4f8e92ac4b1b843dc4863d47 Gerrit-PatchSet: 1 Gerrit-Project: mediawiki/extensions/RevisionSlider Gerrit-Branch: master Gerrit-Owner: WMDE-leszek___ MediaWiki-commits mailing list MediaWiki-commits@lists.wikimedia.org https://lists.wikimedia.org/mailman/listinfo/mediawiki-commits
[MediaWiki-commits] [Gerrit] Fix Pointer and PointerView tests - change (mediawiki...RevisionSlider)
WMDE-leszek has uploaded a new change for review. https://gerrit.wikimedia.org/r/289179 Change subject: Fix Pointer and PointerView tests .. Fix Pointer and PointerView tests Initialization tests for both classes were checking if the rendered view or the view related to the pointer contained an element with particular CSS class. The structure of the view has apparently changed as it no longer contains an element with a particular class but the view's DIV itself get the CSS class. Assertion in tests has been wrong and did not catch the change (in particular, apparently jQuery's find returned an empty object which does not evaluate to false in qunit assertion). This changes initialization tests to check the CSS class of the view element. It also reflects the removal of left/right pointer distinction made in I9d56314ea4cf46402df56e0a038bfb965521896. This also rename both test modules as they had misleading names. Change-Id: I5956022af332c9915e983a020732edbe1dd75aef --- M tests/RevisionSlider.Pointer.test.js M tests/RevisionSlider.PointerView.test.js 2 files changed, 5 insertions(+), 5 deletions(-) git pull ssh://gerrit.wikimedia.org:29418/mediawiki/extensions/RevisionSlider refs/changes/79/289179/1 diff --git a/tests/RevisionSlider.Pointer.test.js b/tests/RevisionSlider.Pointer.test.js index 8f58857..6a76e56 100644 --- a/tests/RevisionSlider.Pointer.test.js +++ b/tests/RevisionSlider.Pointer.test.js @@ -1,10 +1,10 @@ ( function ( mw ) { var Pointer = mw.libs.revisionSlider.Pointer; - QUnit.module( 'ext.RevisionSlider.Revision' ); + QUnit.module( 'ext.RevisionSlider.Pointer' ); QUnit.test( 'Initialize Pointer', function ( assert ) { - assert.ok( ( new Pointer( 'a-pointer' ) ).getView().render().find( '#a-pointer' ) ); + assert.ok( ( new Pointer( 'revslider-pointer' ) ).getView().render().hasClass( 'pointer' ) ); } ); QUnit.test( 'Set and get position', function ( assert ) { diff --git a/tests/RevisionSlider.PointerView.test.js b/tests/RevisionSlider.PointerView.test.js index 5376f64..34613a3 100644 --- a/tests/RevisionSlider.PointerView.test.js +++ b/tests/RevisionSlider.PointerView.test.js @@ -1,15 +1,15 @@ ( function ( mw ) { var PointerView = mw.libs.revisionSlider.PointerView; - QUnit.module( 'ext.RevisionSlider.Revision' ); + QUnit.module( 'ext.RevisionSlider.PointerView' ); QUnit.test( 'Initialize PointerView', function ( assert ) { - assert.ok( ( new PointerView( null, 'left-pointer' ) ).render().find( '.left-pointer' ) ); + assert.ok( ( new PointerView( null, 'revslider-pointer' ) ).render().hasClass( 'pointer' ) ); } ); QUnit.test( 'Has offset', function ( assert ) { var offset = 30, - pointer = new PointerView( null, 'left-pointer', offset ); + pointer = new PointerView( null, 'revslider-pointer', offset ); assert.equal( pointer.getOffset(), offset ); } ); -- To view, visit https://gerrit.wikimedia.org/r/289179 To unsubscribe, visit https://gerrit.wikimedia.org/r/settings Gerrit-MessageType: newchange Gerrit-Change-Id: I5956022af332c9915e983a020732edbe1dd75aef Gerrit-PatchSet: 1 Gerrit-Project: mediawiki/extensions/RevisionSlider Gerrit-Branch: master Gerrit-Owner: WMDE-leszek___ MediaWiki-commits mailing list MediaWiki-commits@lists.wikimedia.org https://lists.wikimedia.org/mailman/listinfo/mediawiki-commits
[MediaWiki-commits] [Gerrit] Use correct time offset based on server and user settings - change (mediawiki...RevisionSlider)
WMDE-leszek has submitted this change and it was merged. Change subject: Use correct time offset based on server and user settings .. Use correct time offset based on server and user settings If the user has a time offset that will be used. If the user uses the default then the offset is still retrieved from mw.user.options.values.timecorrection If the user is anon then mw.config.values.extRevisionSliderTimeOffset is used which is added as a JS var by the Hook Bug: T135109 Change-Id: Iab56bbeb6a1dd2ea08b73983341485623ff63ef1 --- M RevisionSlider.hooks.php M modules/ext.RevisionSlider.Revision.js M tests/RevisionSlider.Revision.test.js 3 files changed, 55 insertions(+), 1 deletion(-) Approvals: WMDE-leszek: Verified; Looks good to me, approved jenkins-bot: Verified diff --git a/RevisionSlider.hooks.php b/RevisionSlider.hooks.php index 4e54769..ac7a8f6 100755 --- a/RevisionSlider.hooks.php +++ b/RevisionSlider.hooks.php @@ -1,4 +1,5 @@ getMainConfig(); + $timeOffset = $config->get( 'LocalTZoffset' ); + if ( is_null( $config->get( 'Localtimezone' ) ) ) { + $timeOffset = 0; + } elseif ( is_null( $timeOffset ) ) { + $timeOffset = 0; + } + $out = RequestContext::getMain()->getOutput(); $out->addModules( 'ext.RevisionSlider.init' ); $out->addJsConfigVars( 'extRevisionSliderOldRev', $oldRev->getId() ); $out->addJsConfigVars( 'extRevisionSliderNewRev', $newRev->getId() ); + $out->addJsConfigVars( 'extRevisionSliderTimeOffset', intval( $timeOffset ) ); $out->addHTML( Html::rawElement( 'div', diff --git a/modules/ext.RevisionSlider.Revision.js b/modules/ext.RevisionSlider.Revision.js index 5912125..6ccb3c7 100644 --- a/modules/ext.RevisionSlider.Revision.js +++ b/modules/ext.RevisionSlider.Revision.js @@ -87,7 +87,8 @@ formatDate: function ( rawDate ) { var MONTHS = [ 'Jan', 'Feb', 'Mar', 'Apr', 'May', 'June', 'July', 'Aug', 'Sept', 'Oct', 'Nov', 'Dec' ], - f = new Date( rawDate ), + offset = mw.user.options.values.timecorrection ? mw.user.options.values.timecorrection.split( '|' )[ 1 ] : mw.config.values.extRevisionSliderTimeOffset, + f = new Date( ( new Date( rawDate ) ).getTime() + ( offset * 60 * 1000 ) ), fDate = f.getUTCDate(), fMonth = f.getUTCMonth(), fYear = f.getUTCFullYear(), diff --git a/tests/RevisionSlider.Revision.test.js b/tests/RevisionSlider.Revision.test.js index 275b70a..1d9ed95 100644 --- a/tests/RevisionSlider.Revision.test.js +++ b/tests/RevisionSlider.Revision.test.js @@ -11,6 +11,9 @@ }, rev = new mw.libs.revisionSlider.Revision( data ); + mw.config.values.extRevisionSliderTimeOffset = 0; + mw.user.options.values.timecorrection = 0; + assert.equal( rev.getSize(), data.size ); assert.equal( rev.getComment(), data.comment ); assert.equal( rev.getParsedComment(), data.parsedcomment ); @@ -30,6 +33,9 @@ }, rev = new mw.libs.revisionSlider.Revision( data ); + mw.config.values.extRevisionSliderTimeOffset = 0; + mw.user.options.values.timecorrection = 0; + assert.equal( rev.getSize(), data.size ); assert.equal( rev.getComment(), data.comment ); assert.equal( rev.getParsedComment(), data.parsedcomment ); @@ -48,6 +54,9 @@ minor: true }, rev = new mw.libs.revisionSlider.Revision( data ); + + mw.config.values.extRevisionSliderTimeOffset = 0; + mw.user.options.values.timecorrection = 0; assert.equal( rev.getSize(), data.size ); assert.equal( rev.getComment(), data.comment ); @@ -81,5 +90,39 @@ rev.setRelativeSize( size ); assert.equal( rev.getRelativeSize(), size ); } ); + + QUnit.test( 'getFormattedDate No user offset, 0 default offset', function ( assert ) { + var rev = new mw.libs.revisionSlider.Revision( { + timestamp: '2016-04-26T10:27:14Z' // 10:27, 26 Apr 2016 + } ); + + mw.user.options.values.timecorrection = undefined; + mw.config.values.extRevisionSliderTimeOffset = 0; + + assert.equal( rev.getFormattedDate(), '10:27, 26 Apr 2016' ); + } ); + + QUnit.test( 'getFormattedDate No user
[MediaWiki-commits] [Gerrit] Use JS config vars instead of DOM injection - change (mediawiki...RevisionSlider)
WMDE-leszek has submitted this change and it was merged. Change subject: Use JS config vars instead of DOM injection .. Use JS config vars instead of DOM injection Change-Id: I0d670de6e6c6c2a86e1f1227487b16b85a10b4f4 --- M RevisionSlider.hooks.php M modules/ext.RevisionSlider.SliderView.js 2 files changed, 7 insertions(+), 11 deletions(-) Approvals: WMDE-leszek: Verified; Looks good to me, approved diff --git a/RevisionSlider.hooks.php b/RevisionSlider.hooks.php index fb66023..4e54769 100755 --- a/RevisionSlider.hooks.php +++ b/RevisionSlider.hooks.php @@ -29,14 +29,14 @@ $out = RequestContext::getMain()->getOutput(); $out->addModules( 'ext.RevisionSlider.init' ); + $out->addJsConfigVars( 'extRevisionSliderOldRev', $oldRev->getId() ); + $out->addJsConfigVars( 'extRevisionSliderNewRev', $newRev->getId() ); $out->addHTML( Html::rawElement( 'div', [ 'id' => 'revision-slider-container', 'style' => 'min-height: 150px;', - 'data-oldrev' => $oldRev->getId(), - 'data-newrev' => $newRev->getId(), ], Html::element( 'p', diff --git a/modules/ext.RevisionSlider.SliderView.js b/modules/ext.RevisionSlider.SliderView.js index 003fa77..6260df9 100644 --- a/modules/ext.RevisionSlider.SliderView.js +++ b/modules/ext.RevisionSlider.SliderView.js @@ -91,23 +91,19 @@ this.slider.setRevisionsPerWindow( $slider.find( '.revisions-container' ).width() / this.revisionWidth ); - this.initializePointers( - $container.data( 'oldrev' ), - $container.data( 'newrev' ), - $revisions - ); + this.initializePointers( $revisions ); this.$element = $slider; $container.html( $slider ); this.slide( Math.floor( this.rightPointer.getPosition() / this.slider.getRevisionsPerWindow() ), 0 ); - diffPage.pushState( $container.attr( 'data-oldrev' ), $container.attr( 'data-newrev' ), this ); + diffPage.pushState( mw.config.values.extRevisionSliderOldRev, mw.config.values.extRevisionSliderNewRev, this ); diffPage.initOnPopState( this ); }, - initializePointers: function ( oldRevId, newRevId, $revisions ) { - var oldRevElement = $revisions.find( 'div.revision[data-revid=\'' + oldRevId + '\']' ), - newRevElement = $revisions.find( 'div.revision[data-revid=\'' + newRevId + '\']' ); + initializePointers: function ( $revisions ) { + var oldRevElement = $revisions.find( 'div.revision[data-revid=\'' + mw.config.values.extRevisionSliderOldRev + '\']' ), + newRevElement = $revisions.find( 'div.revision[data-revid=\'' + mw.config.values.extRevisionSliderNewRev + '\']' ); if ( oldRevElement.length === 0 || newRevElement.length === 0 ) { // Note: this is currently caught in init.js -- To view, visit https://gerrit.wikimedia.org/r/288416 To unsubscribe, visit https://gerrit.wikimedia.org/r/settings Gerrit-MessageType: merged Gerrit-Change-Id: I0d670de6e6c6c2a86e1f1227487b16b85a10b4f4 Gerrit-PatchSet: 3 Gerrit-Project: mediawiki/extensions/RevisionSlider Gerrit-Branch: master Gerrit-Owner: AddshoreGerrit-Reviewer: Addshore Gerrit-Reviewer: Gabriel Birke Gerrit-Reviewer: Jakob Gerrit-Reviewer: Kai Nissen (WMDE) Gerrit-Reviewer: Tobias Gritschacher Gerrit-Reviewer: WMDE-Fisch Gerrit-Reviewer: WMDE-leszek Gerrit-Reviewer: jenkins-bot <> ___ MediaWiki-commits mailing list MediaWiki-commits@lists.wikimedia.org https://lists.wikimedia.org/mailman/listinfo/mediawiki-commits
[MediaWiki-commits] [Gerrit] Add size & minor flag to tooltip - change (mediawiki...RevisionSlider)
WMDE-leszek has submitted this change and it was merged. Change subject: Add size & minor flag to tooltip .. Add size & minor flag to tooltip Bug: T135118 Change-Id: I2bc90a2f8a03693df092a4785cfe2fdfcc85730a --- M extension.json M modules/ext.RevisionSlider.Revision.js M modules/ext.RevisionSlider.RevisionListView.js M tests/RevisionSlider.Revision.test.js 4 files changed, 55 insertions(+), 1 deletion(-) Approvals: WMDE-leszek: Verified; Looks good to me, approved diff --git a/extension.json b/extension.json index 61f823a..a0e643d 100755 --- a/extension.json +++ b/extension.json @@ -91,6 +91,9 @@ "dependencies": [ "ext.RevisionSlider.Revision", "ext.RevisionSlider.RevisionListView" + ], + "messages": [ + "minoredit" ] }, "ext.RevisionSlider.RevisionListView": { diff --git a/modules/ext.RevisionSlider.Revision.js b/modules/ext.RevisionSlider.Revision.js index 7c2d53a..5912125 100644 --- a/modules/ext.RevisionSlider.Revision.js +++ b/modules/ext.RevisionSlider.Revision.js @@ -7,6 +7,7 @@ this.parsedComment = data.parsedcomment; this.timestamp = data.timestamp; this.user = data.user; + this.minor = data.hasOwnProperty( 'minor' ) && ( data.minor || data.minor === '' ); }; $.extend( Revision.prototype, { @@ -24,6 +25,11 @@ * @type {string} */ comment: '', + + /** +* @type {boolean} +*/ + minor: false, /** * @type {string} @@ -53,6 +59,10 @@ return this.size; }, + isMinor: function () { + return this.minor; + }, + getParsedComment: function () { return this.parsedComment; }, diff --git a/modules/ext.RevisionSlider.RevisionListView.js b/modules/ext.RevisionSlider.RevisionListView.js index 0931358..dc2dcd0 100644 --- a/modules/ext.RevisionSlider.RevisionListView.js +++ b/modules/ext.RevisionSlider.RevisionListView.js @@ -48,7 +48,9 @@ var $tooltip = $( '' ) // TODO: center is deprecated since 1995 .append( '' + rev.getFormattedDate() + '' ) .append( $( '' ).text( mw.html.escape( rev.getUser() ) ) ) - .append( rev.getComment() ? $( '' ).append( '' ).text( mw.html.escape( rev.getComment() ) ) : '' ); + .append( rev.getComment() ? $( '' ).append( '' ).text( mw.html.escape( rev.getComment() ) ) : '' ) + .append( $( '' ).html( rev.getSize() + ' bytes' ) ) + .append( rev.isMinor() ? $( '' ).html( mw.message( 'minoredit' ).text() ) : '' ); return $( '' ).append( $tooltip ).html(); } diff --git a/tests/RevisionSlider.Revision.test.js b/tests/RevisionSlider.Revision.test.js index 68d1080..275b70a 100644 --- a/tests/RevisionSlider.Revision.test.js +++ b/tests/RevisionSlider.Revision.test.js @@ -16,6 +16,45 @@ assert.equal( rev.getParsedComment(), data.parsedcomment ); assert.equal( rev.getFormattedDate(), '10:27, 26 Apr 2016' ); assert.equal( rev.getUser(), data.user ); + assert.equal( rev.isMinor(), false ); + } ); + + QUnit.test( 'create minor Revision (minor empty string)', function ( assert ) { + var data = { + size: 5, + comment: 'hello', + parsedcomment: 'hello', + timestamp: '2016-04-26T10:27:14Z', // 10:27, 26 Apr 2016 + user: 'meh', + minor: '' + }, + rev = new mw.libs.revisionSlider.Revision( data ); + + assert.equal( rev.getSize(), data.size ); + assert.equal( rev.getComment(), data.comment ); + assert.equal( rev.getParsedComment(), data.parsedcomment ); + assert.equal( rev.getFormattedDate(), '10:27, 26 Apr 2016' ); + assert.equal( rev.getUser(), data.user ); + assert.equal( rev.isMinor(), true ); + } ); + + QUnit.test( 'create minor Revision (minor true, as if from another Revision object)', function ( assert ) { + var data = { + size: 5, + comment: 'hello', + parsedcomment: 'hello', +
[MediaWiki-commits] [Gerrit] Avoid changing the URL during SliderView test - change (mediawiki...RevisionSlider)
WMDE-leszek has submitted this change and it was merged. Change subject: Avoid changing the URL during SliderView test .. Avoid changing the URL during SliderView test This was super annoying as if you went to refresh the test page to run the tests again it would take you to some broken diff page instead... Change-Id: I43ca8edd005aa3ef72b74a5d812cbe39bccaf332 --- M tests/RevisionSlider.SliderView.test.js 1 file changed, 11 insertions(+), 1 deletion(-) Approvals: WMDE-leszek: Verified; Looks good to me, approved jenkins-bot: Verified diff --git a/tests/RevisionSlider.SliderView.test.js b/tests/RevisionSlider.SliderView.test.js index 86db974..c2c7cf6 100644 --- a/tests/RevisionSlider.SliderView.test.js +++ b/tests/RevisionSlider.SliderView.test.js @@ -2,10 +2,20 @@ var SliderView = mw.libs.revisionSlider.SliderView, Slider = mw.libs.revisionSlider.Slider, Revision = mw.libs.revisionSlider.Revision, - RevisionList = mw.libs.revisionSlider.RevisionList; + RevisionList = mw.libs.revisionSlider.RevisionList, + startHistoryState, startHref; QUnit.module( 'ext.RevisionSlider.SliderView' ); + QUnit.testStart( function () { + startHistoryState = history.state; + startHref = window.location.href; + } ); + + QUnit.testDone( function () { + history.replaceState( startHistoryState, 'QUnit', startHref ); + } ); + QUnit.test( 'render', function ( assert ) { var $container = $( '' ), view = new SliderView( new Slider( new RevisionList( [ -- To view, visit https://gerrit.wikimedia.org/r/288431 To unsubscribe, visit https://gerrit.wikimedia.org/r/settings Gerrit-MessageType: merged Gerrit-Change-Id: I43ca8edd005aa3ef72b74a5d812cbe39bccaf332 Gerrit-PatchSet: 2 Gerrit-Project: mediawiki/extensions/RevisionSlider Gerrit-Branch: master Gerrit-Owner: AddshoreGerrit-Reviewer: Addshore Gerrit-Reviewer: Gabriel Birke Gerrit-Reviewer: Jakob Gerrit-Reviewer: Kai Nissen (WMDE) Gerrit-Reviewer: Tobias Gritschacher Gerrit-Reviewer: WMDE-Fisch Gerrit-Reviewer: WMDE-leszek Gerrit-Reviewer: jenkins-bot <> ___ MediaWiki-commits mailing list MediaWiki-commits@lists.wikimedia.org https://lists.wikimedia.org/mailman/listinfo/mediawiki-commits
[MediaWiki-commits] [Gerrit] Map pointer colors to diff colours - change (mediawiki...RevisionSlider)
WMDE-leszek has submitted this change and it was merged. Change subject: Map pointer colors to diff colours .. Map pointer colors to diff colours The need for left-pointer and right-pointer should be cleaned up at some stage. Infact It may be wise to loose the distinction between left and right pointer and simply have 2 pointers. Bug: T134994 Change-Id: I68a2159bde6fff969ca54a79587cfe03ed783454 --- M modules/ext.RevisionSlider.DiffPage.js M modules/ext.RevisionSlider.PointerView.js M modules/ext.RevisionSlider.SliderView.js M modules/ext.RevisionSlider.css 4 files changed, 27 insertions(+), 4 deletions(-) Approvals: WMDE-leszek: Verified; Looks good to me, approved jenkins-bot: Verified diff --git a/modules/ext.RevisionSlider.DiffPage.js b/modules/ext.RevisionSlider.DiffPage.js index ff3e2bc..b8eceb2 100644 --- a/modules/ext.RevisionSlider.DiffPage.js +++ b/modules/ext.RevisionSlider.DiffPage.js @@ -54,6 +54,13 @@ sliderView.rightPointer.setPosition( event.state.rightPos ); sliderView.slider.setFirstVisibleRevisionIndex( event.state.sliderPos ); sliderView.slide( 0 ); + if ( sliderView.leftPointer.getPosition() > sliderView.rightPointer.getPosition() ) { + sliderView.leftPointer.getView().getElement().removeClass( 'oldid-pointer' ).addClass( 'newid-pointer' ); + sliderView.rightPointer.getView().getElement().removeClass( 'newid-pointer' ).addClass( 'oldid-pointer' ); + } else { + sliderView.leftPointer.getView().getElement().removeClass( 'newid-pointer' ).addClass( 'oldid-pointer' ); + sliderView.rightPointer.getView().getElement().removeClass( 'oldid-pointer' ).addClass( 'newid-pointer' ); + } self.refresh( event.state.revid1, event.state.revid2 ); } ); } diff --git a/modules/ext.RevisionSlider.PointerView.js b/modules/ext.RevisionSlider.PointerView.js index aa86db4..1b2e39e 100644 --- a/modules/ext.RevisionSlider.PointerView.js +++ b/modules/ext.RevisionSlider.PointerView.js @@ -27,6 +27,11 @@ initialize: function () { this.$html = $( '' ).addClass( this.cssClass ); + if ( this.cssClass === 'left-pointer' ) { + this.$html.addClass( 'oldid-pointer' ); + } else { + this.$html.addClass( 'newid-pointer' ); + } }, /** diff --git a/modules/ext.RevisionSlider.SliderView.js b/modules/ext.RevisionSlider.SliderView.js index 6260df9..02acb05 100644 --- a/modules/ext.RevisionSlider.SliderView.js +++ b/modules/ext.RevisionSlider.SliderView.js @@ -86,6 +86,17 @@ diffPage.refresh( revId1, revId2 ); diffPage.pushState( revId1, revId2, self ); + }, + drag: function () { + var leftPointerOffset = self.leftPointer.getView().getElement().offset(), + rightPointerOffset = self.rightPointer.getView().getElement().offset(); + if ( leftPointerOffset.left > rightPointerOffset.left ) { + self.leftPointer.getView().getElement().removeClass( 'oldid-pointer' ).addClass( 'newid-pointer' ); + self.rightPointer.getView().getElement().removeClass( 'newid-pointer' ).addClass( 'oldid-pointer' ); + } else { + self.leftPointer.getView().getElement().removeClass( 'newid-pointer' ).addClass( 'oldid-pointer' ); + self.rightPointer.getView().getElement().removeClass( 'oldid-pointer' ).addClass( 'newid-pointer' ); + } } } ); diff --git a/modules/ext.RevisionSlider.css b/modules/ext.RevisionSlider.css index b908cdb..eeb0e3b 100755 --- a/modules/ext.RevisionSlider.css +++ b/modules/ext.RevisionSlider.css @@ -69,11 +69,11 @@ margin: auto; z-index: 10; } -.left-pointer { -border-color: transparent transparent #00f transparent; +.oldid-pointer { +border-color: transparent transparent #ffe49c transparent; } -.right-pointer { -border-color: transparent transparent #f00 transparent; +.newid-pointer { +border-color: transparent transparent #a3d3ff
[MediaWiki-commits] [Gerrit] Also refresh the article preview - change (mediawiki...RevisionSlider)
WMDE-leszek has submitted this change and it was merged. Change subject: Also refresh the article preview .. Also refresh the article preview Change-Id: I8a96515db9a0dbe329000a51840ad2f365b5aba0 --- M modules/ext.RevisionSlider.DiffPage.js 1 file changed, 3 insertions(+), 2 deletions(-) Approvals: WMDE-leszek: Verified; Looks good to me, approved jenkins-bot: Verified diff --git a/modules/ext.RevisionSlider.DiffPage.js b/modules/ext.RevisionSlider.DiffPage.js index 9f0d935..9e2456e 100644 --- a/modules/ext.RevisionSlider.DiffPage.js +++ b/modules/ext.RevisionSlider.DiffPage.js @@ -17,9 +17,10 @@ retryLimit: 2, success: function ( data ) { data = $( '' ).html( data ).contents(); + data.find( '#revision-slider-container' ).replaceWith( $( '#revision-slider-container' ) ); $( 'body' ) - .find( 'table.diff[data-mw=\'interface\']' ) - .html( data.find( 'table.diff[data-mw=\'interface\']' ) ); + .find( '#mw-content-text' ) + .html( data.find( '#mw-content-text' ) ); }, error: function ( err ) { this.tryCount++; -- To view, visit https://gerrit.wikimedia.org/r/288593 To unsubscribe, visit https://gerrit.wikimedia.org/r/settings Gerrit-MessageType: merged Gerrit-Change-Id: I8a96515db9a0dbe329000a51840ad2f365b5aba0 Gerrit-PatchSet: 2 Gerrit-Project: mediawiki/extensions/RevisionSlider Gerrit-Branch: master Gerrit-Owner: AddshoreGerrit-Reviewer: Addshore Gerrit-Reviewer: Gabriel Birke Gerrit-Reviewer: Jakob Gerrit-Reviewer: Kai Nissen (WMDE) Gerrit-Reviewer: Tobias Gritschacher Gerrit-Reviewer: WMDE-Fisch Gerrit-Reviewer: WMDE-leszek Gerrit-Reviewer: jenkins-bot <> ___ MediaWiki-commits mailing list MediaWiki-commits@lists.wikimedia.org https://lists.wikimedia.org/mailman/listinfo/mediawiki-commits
[MediaWiki-commits] [Gerrit] Get rid of left and right pointers. - change (mediawiki...RevisionSlider)
WMDE-leszek has submitted this change and it was merged. Change subject: Get rid of left and right pointers. .. Get rid of left and right pointers. As the pointers can switch side the idea of having a left and right one will just lead to confusion, so lets kill that idea now! :D Change-Id: I9d56314ea4cf46402df56e0a038bfb9655218960 --- M modules/ext.RevisionSlider.DiffPage.js M modules/ext.RevisionSlider.Pointer.js M modules/ext.RevisionSlider.PointerView.js M modules/ext.RevisionSlider.SliderView.js M tests/RevisionSlider.Pointer.test.js 5 files changed, 53 insertions(+), 49 deletions(-) Approvals: WMDE-leszek: Verified; Looks good to me, approved jenkins-bot: Verified diff --git a/modules/ext.RevisionSlider.DiffPage.js b/modules/ext.RevisionSlider.DiffPage.js index b8eceb2..9f0d935 100644 --- a/modules/ext.RevisionSlider.DiffPage.js +++ b/modules/ext.RevisionSlider.DiffPage.js @@ -37,7 +37,7 @@ pushState: function ( revId1, revId2, sliderView ) { history.pushState( - { revid1: revId1, revid2: revId2, leftPos: sliderView.leftPointer.getPosition(), rightPos: sliderView.rightPointer.getPosition(), sliderPos: sliderView.slider.getFirstVisibleRevisionIndex() }, + { revid1: revId1, revid2: revId2, leftPos: sliderView.pointerOne.getPosition(), rightPos: sliderView.pointerTwo.getPosition(), sliderPos: sliderView.slider.getFirstVisibleRevisionIndex() }, $( document ).find( 'title' ).text(), mw.util.wikiScript( 'index' ) + '?diff=' + Math.max( revId1, revId2 ) + '=' + Math.min( revId1, revId2 ) ); @@ -50,17 +50,11 @@ return; } mw.track( 'counter.MediaWiki.RevisionSlider.event.historyChange' ); - sliderView.leftPointer.setPosition( event.state.leftPos ); - sliderView.rightPointer.setPosition( event.state.rightPos ); + sliderView.pointerOne.setPosition( event.state.leftPos ); + sliderView.pointerTwo.setPosition( event.state.rightPos ); sliderView.slider.setFirstVisibleRevisionIndex( event.state.sliderPos ); sliderView.slide( 0 ); - if ( sliderView.leftPointer.getPosition() > sliderView.rightPointer.getPosition() ) { - sliderView.leftPointer.getView().getElement().removeClass( 'oldid-pointer' ).addClass( 'newid-pointer' ); - sliderView.rightPointer.getView().getElement().removeClass( 'newid-pointer' ).addClass( 'oldid-pointer' ); - } else { - sliderView.leftPointer.getView().getElement().removeClass( 'newid-pointer' ).addClass( 'oldid-pointer' ); - sliderView.rightPointer.getView().getElement().removeClass( 'oldid-pointer' ).addClass( 'newid-pointer' ); - } + sliderView.resetPointerColorsBasedOnPosition(); self.refresh( event.state.revid1, event.state.revid2 ); } ); } diff --git a/modules/ext.RevisionSlider.Pointer.js b/modules/ext.RevisionSlider.Pointer.js index 0fe73ba..e581c0d 100644 --- a/modules/ext.RevisionSlider.Pointer.js +++ b/modules/ext.RevisionSlider.Pointer.js @@ -1,6 +1,6 @@ ( function ( mw, $ ) { - var Pointer = function ( cssClass, offset ) { - this.view = new mw.libs.revisionSlider.PointerView( this, cssClass, offset ); + var Pointer = function ( id, offset ) { + this.view = new mw.libs.revisionSlider.PointerView( this, id, offset ); }; $.extend( Pointer.prototype, { diff --git a/modules/ext.RevisionSlider.PointerView.js b/modules/ext.RevisionSlider.PointerView.js index 1b2e39e..9575b0a 100644 --- a/modules/ext.RevisionSlider.PointerView.js +++ b/modules/ext.RevisionSlider.PointerView.js @@ -1,7 +1,7 @@ ( function ( mw, $ ) { - var PointerView = function ( pointer, cssClass, offset ) { + var PointerView = function ( pointer, id, offset ) { this.pointer = pointer; - this.cssClass = cssClass; + this.id = id; this.offset = offset; }; @@ -9,7 +9,7 @@ /** * @type {string} */ - cssClass: '', + id: '', /** * @type {int} @@ -26,12 +26,7 @@ $html: null, initialize: function () { - this.$html
[MediaWiki-commits] [Gerrit] Fix height of bars for revisions that haven't changed the pa... - change (mediawiki...RevisionSlider)
WMDE-leszek has uploaded a new change for review. https://gerrit.wikimedia.org/r/288627 Change subject: Fix height of bars for revisions that haven't changed the page size .. Fix height of bars for revisions that haven't changed the page size Zero has been passed to Math.log which returned -Infinity resulting in incorrect size of a "negative" bar. Bug: T135219 Change-Id: I5facc94f8cb555a95d730cc507df21399124913d --- M modules/ext.RevisionSlider.RevisionListView.js 1 file changed, 1 insertion(+), 1 deletion(-) git pull ssh://gerrit.wikimedia.org:29418/mediawiki/extensions/RevisionSlider refs/changes/27/288627/1 diff --git a/modules/ext.RevisionSlider.RevisionListView.js b/modules/ext.RevisionSlider.RevisionListView.js index dc2dcd0..ba2c77e 100644 --- a/modules/ext.RevisionSlider.RevisionListView.js +++ b/modules/ext.RevisionSlider.RevisionListView.js @@ -17,7 +17,7 @@ for ( i = 0; i < revs.length; i++ ) { diffSize = revs[ i ].getRelativeSize(); - relativeChangeSize = Math.ceil( 65.0 * Math.log( Math.abs( diffSize ) ) / maxChangeSizeLogged ) + 5; + relativeChangeSize = diffSize !== 0 ? Math.ceil( 65.0 * Math.log( Math.abs( diffSize ) ) / maxChangeSizeLogged ) + 5 : 0; $tooltip = this.makeTooltip( revs[ i ] ); $html -- To view, visit https://gerrit.wikimedia.org/r/288627 To unsubscribe, visit https://gerrit.wikimedia.org/r/settings Gerrit-MessageType: newchange Gerrit-Change-Id: I5facc94f8cb555a95d730cc507df21399124913d Gerrit-PatchSet: 1 Gerrit-Project: mediawiki/extensions/RevisionSlider Gerrit-Branch: master Gerrit-Owner: WMDE-leszek___ MediaWiki-commits mailing list MediaWiki-commits@lists.wikimedia.org https://lists.wikimedia.org/mailman/listinfo/mediawiki-commits
[MediaWiki-commits] [Gerrit] Use SVG icons for pointers instead of SVG magic - change (mediawiki...RevisionSlider)
WMDE-leszek has uploaded a new change for review. https://gerrit.wikimedia.org/r/289398 Change subject: Use SVG icons for pointers instead of SVG magic .. Use SVG icons for pointers instead of SVG magic Pointer shadow is left out here on purpose. It will be added after changing "new" pointer's position. Bug: T134994 Change-Id: Id80ed63cda9f015228a22bb1d8b9b742438fe27d --- M extension.json M modules/ext.RevisionSlider.css A resources/ext.RevisionSlider.pointers/pointer-new.svg A resources/ext.RevisionSlider.pointers/pointer-old.svg 4 files changed, 21 insertions(+), 11 deletions(-) git pull ssh://gerrit.wikimedia.org:29418/mediawiki/extensions/RevisionSlider refs/changes/98/289398/1 diff --git a/extension.json b/extension.json index a0e643d..b4acf9d 100755 --- a/extension.json +++ b/extension.json @@ -31,7 +31,8 @@ "ext.RevisionSlider.Slider", "ext.RevisionSlider.Revision", "ext.RevisionSlider.RevisionList", - "ext.RevisionSlider.fetchRevisions" + "ext.RevisionSlider.fetchRevisions", + "ext.RevisionSlider.pointers" ], "messages": [ "revisionslider-loading-out-of-range", @@ -100,6 +101,15 @@ "scripts": [ "modules/ext.RevisionSlider.RevisionListView.js" ] + }, + "ext.RevisionSlider.pointers": { + "position": "top", + "class": "ResourceLoaderImageModule", + "selector": ".{name}-pointer", + "images": { + "oldid": "resources/ext.RevisionSlider.pointers/pointer-old.svg", + "newid": "resources/ext.RevisionSlider.pointers/pointer-new.svg" + } } }, "ResourceFileModulePaths": { diff --git a/modules/ext.RevisionSlider.css b/modules/ext.RevisionSlider.css index eeb0e3b..713ce2d 100755 --- a/modules/ext.RevisionSlider.css +++ b/modules/ext.RevisionSlider.css @@ -69,19 +69,11 @@ margin: auto; z-index: 10; } -.oldid-pointer { -border-color: transparent transparent #ffe49c transparent; -} -.newid-pointer { -border-color: transparent transparent #a3d3ff transparent; -} .pointer { position: absolute !important; z-index: 11; -width: 0; -height: 0; -border-style: solid; -border-width: 0 10px 10px 10px; +width: 20px; +height: 10px; } #revision-slider-darkness { diff --git a/resources/ext.RevisionSlider.pointers/pointer-new.svg b/resources/ext.RevisionSlider.pointers/pointer-new.svg new file mode 100644 index 000..9d3afc2 --- /dev/null +++ b/resources/ext.RevisionSlider.pointers/pointer-new.svg @@ -0,0 +1,4 @@ + +http://www.w3.org/2000/svg;> + + diff --git a/resources/ext.RevisionSlider.pointers/pointer-old.svg b/resources/ext.RevisionSlider.pointers/pointer-old.svg new file mode 100644 index 000..d44fe4d --- /dev/null +++ b/resources/ext.RevisionSlider.pointers/pointer-old.svg @@ -0,0 +1,4 @@ + +http://www.w3.org/2000/svg;> + + -- To view, visit https://gerrit.wikimedia.org/r/289398 To unsubscribe, visit https://gerrit.wikimedia.org/r/settings Gerrit-MessageType: newchange Gerrit-Change-Id: Id80ed63cda9f015228a22bb1d8b9b742438fe27d Gerrit-PatchSet: 1 Gerrit-Project: mediawiki/extensions/RevisionSlider Gerrit-Branch: master Gerrit-Owner: WMDE-leszek___ MediaWiki-commits mailing list MediaWiki-commits@lists.wikimedia.org https://lists.wikimedia.org/mailman/listinfo/mediawiki-commits
[MediaWiki-commits] [Gerrit] Stop using ancient tag in tooltips - change (mediawiki...RevisionSlider)
WMDE-leszek has uploaded a new change for review. https://gerrit.wikimedia.org/r/289387 Change subject: Stop using ancient tag in tooltips .. Stop using ancient tag in tooltips Change-Id: I26aef8df98a7950c93a5de2c0d426cb5db4afde4 --- M modules/ext.RevisionSlider.RevisionListView.js M modules/ext.RevisionSlider.css 2 files changed, 8 insertions(+), 3 deletions(-) git pull ssh://gerrit.wikimedia.org:29418/mediawiki/extensions/RevisionSlider refs/changes/87/289387/1 diff --git a/modules/ext.RevisionSlider.RevisionListView.js b/modules/ext.RevisionSlider.RevisionListView.js index ba2c77e..6a9a2f7 100644 --- a/modules/ext.RevisionSlider.RevisionListView.js +++ b/modules/ext.RevisionSlider.RevisionListView.js @@ -32,7 +32,8 @@ .tipsy( { gravity: 's', html: true, - fade: true + fade: true, + className: 'revision-tooltip' } ) ) .append( $( '' ) .css( { @@ -45,14 +46,14 @@ }, makeTooltip: function ( rev ) { - var $tooltip = $( '' ) // TODO: center is deprecated since 1995 + var $tooltip = $( '' ) .append( '' + rev.getFormattedDate() + '' ) .append( $( '' ).text( mw.html.escape( rev.getUser() ) ) ) .append( rev.getComment() ? $( '' ).append( '' ).text( mw.html.escape( rev.getComment() ) ) : '' ) .append( $( '' ).html( rev.getSize() + ' bytes' ) ) .append( rev.isMinor() ? $( '' ).html( mw.message( 'minoredit' ).text() ) : '' ); - return $( '' ).append( $tooltip ).html(); + return $tooltip.html(); } } ); diff --git a/modules/ext.RevisionSlider.css b/modules/ext.RevisionSlider.css index eeb0e3b..38cdee6 100755 --- a/modules/ext.RevisionSlider.css +++ b/modules/ext.RevisionSlider.css @@ -17,6 +17,10 @@ transition: all ease 0.2s; } +.revision-tooltip { +text-align: center; +} + .revisions { height: 150px; } -- To view, visit https://gerrit.wikimedia.org/r/289387 To unsubscribe, visit https://gerrit.wikimedia.org/r/settings Gerrit-MessageType: newchange Gerrit-Change-Id: I26aef8df98a7950c93a5de2c0d426cb5db4afde4 Gerrit-PatchSet: 1 Gerrit-Project: mediawiki/extensions/RevisionSlider Gerrit-Branch: master Gerrit-Owner: WMDE-leszek___ MediaWiki-commits mailing list MediaWiki-commits@lists.wikimedia.org https://lists.wikimedia.org/mailman/listinfo/mediawiki-commits
[MediaWiki-commits] [Gerrit] [DNM] Add shadow around pointers - change (mediawiki...RevisionSlider)
WMDE-leszek has uploaded a new change for review. https://gerrit.wikimedia.org/r/289420 Change subject: [DNM] Add shadow around pointers .. [DNM] Add shadow around pointers Bug: T134994 Change-Id: I8d65ed9abba412a4b960ee858c51dcf3cf95b879 --- M resources/ext.RevisionSlider.pointers/pointer-lower-new.svg M resources/ext.RevisionSlider.pointers/pointer-lower-old.svg M resources/ext.RevisionSlider.pointers/pointer-upper-new.svg M resources/ext.RevisionSlider.pointers/pointer-upper-old.svg 4 files changed, 11 insertions(+), 7 deletions(-) git pull ssh://gerrit.wikimedia.org:29418/mediawiki/extensions/RevisionSlider refs/changes/20/289420/1 diff --git a/resources/ext.RevisionSlider.pointers/pointer-lower-new.svg b/resources/ext.RevisionSlider.pointers/pointer-lower-new.svg index 9d3afc2..753b0b6 100644 --- a/resources/ext.RevisionSlider.pointers/pointer-lower-new.svg +++ b/resources/ext.RevisionSlider.pointers/pointer-lower-new.svg @@ -1,4 +1,5 @@ -http://www.w3.org/2000/svg;> - +http://www.w3.org/2000/svg;> + + diff --git a/resources/ext.RevisionSlider.pointers/pointer-lower-old.svg b/resources/ext.RevisionSlider.pointers/pointer-lower-old.svg index d44fe4d..46cd31e 100644 --- a/resources/ext.RevisionSlider.pointers/pointer-lower-old.svg +++ b/resources/ext.RevisionSlider.pointers/pointer-lower-old.svg @@ -1,4 +1,5 @@ -http://www.w3.org/2000/svg;> - +http://www.w3.org/2000/svg;> + + diff --git a/resources/ext.RevisionSlider.pointers/pointer-upper-new.svg b/resources/ext.RevisionSlider.pointers/pointer-upper-new.svg index 77f3b4f..e67da3c 100644 --- a/resources/ext.RevisionSlider.pointers/pointer-upper-new.svg +++ b/resources/ext.RevisionSlider.pointers/pointer-upper-new.svg @@ -1,4 +1,5 @@ http://www.w3.org/2000/svg;> - +--> + diff --git a/resources/ext.RevisionSlider.pointers/pointer-upper-old.svg b/resources/ext.RevisionSlider.pointers/pointer-upper-old.svg index ee002e3..97fd796 100644 --- a/resources/ext.RevisionSlider.pointers/pointer-upper-old.svg +++ b/resources/ext.RevisionSlider.pointers/pointer-upper-old.svg @@ -1,4 +1,5 @@ -http://www.w3.org/2000/svg;> - +http://www.w3.org/2000/svg;> +--> + -- To view, visit https://gerrit.wikimedia.org/r/289420 To unsubscribe, visit https://gerrit.wikimedia.org/r/settings Gerrit-MessageType: newchange Gerrit-Change-Id: I8d65ed9abba412a4b960ee858c51dcf3cf95b879 Gerrit-PatchSet: 1 Gerrit-Project: mediawiki/extensions/RevisionSlider Gerrit-Branch: master Gerrit-Owner: WMDE-leszek___ MediaWiki-commits mailing list MediaWiki-commits@lists.wikimedia.org https://lists.wikimedia.org/mailman/listinfo/mediawiki-commits
[MediaWiki-commits] [Gerrit] Added jscs checks for tests - change (mediawiki...RevisionSlider)
WMDE-leszek has submitted this change and it was merged. Change subject: Added jscs checks for tests .. Added jscs checks for tests Change-Id: Ice2d37f40105d082fd10ebc7a83bd1ef02919eb4 --- M .jshintrc M Gruntfile.js M tests/RevisionSlider.Revision.test.js M tests/RevisionSlider.test.js 4 files changed, 8 insertions(+), 7 deletions(-) Approvals: WMDE-leszek: Verified; Looks good to me, approved jenkins-bot: Verified diff --git a/.jshintrc b/.jshintrc index 69882aa..eb08746 100755 --- a/.jshintrc +++ b/.jshintrc @@ -17,6 +17,7 @@ "mw": false, "$": false, "mediaWiki": false, - "jQuery": false + "jQuery": false, + "QUnit": false } } diff --git a/Gruntfile.js b/Gruntfile.js index 56ff218..cac1384 100755 --- a/Gruntfile.js +++ b/Gruntfile.js @@ -12,6 +12,7 @@ }, all: [ '*.js', + 'tests/*.js', 'modules/**/*.js' ] }, diff --git a/tests/RevisionSlider.Revision.test.js b/tests/RevisionSlider.Revision.test.js index df2063e..b807492 100644 --- a/tests/RevisionSlider.Revision.test.js +++ b/tests/RevisionSlider.Revision.test.js @@ -1,4 +1,4 @@ -(function ( mw, $ ) { +( function ( mw ) { QUnit.module( 'ext.RevisionSlider.Revision' ); QUnit.test( 'create Revision', function ( assert ) { @@ -20,8 +20,7 @@ QUnit.test( 'get Revision with section', function ( assert ) { var data = { - comment: '/* section */ comment', - parsedcomment: 'hello' + comment: '/* section */ comment' }, rev = new mw.libs.revisionSlider.Revision( data ); @@ -36,5 +35,5 @@ assert.equal( rev.getSection(), '' ); } ); +} )( mediaWiki ); -})( mediaWiki, jQuery ); diff --git a/tests/RevisionSlider.test.js b/tests/RevisionSlider.test.js index 336d3dd..6e28b21 100755 --- a/tests/RevisionSlider.test.js +++ b/tests/RevisionSlider.test.js @@ -1,4 +1,4 @@ -( function ( mw, $ ) { +( function () { QUnit.module( 'ext.RevisionSlider' ); /** @@ -9,4 +9,4 @@ * https://www.mediawiki.org/wiki/Manual:JavaScript_unit_testing#Write_a_unit_test */ -} )( mediaWiki, jQuery ); +} )(); -- To view, visit https://gerrit.wikimedia.org/r/286618 To unsubscribe, visit https://gerrit.wikimedia.org/r/settings Gerrit-MessageType: merged Gerrit-Change-Id: Ice2d37f40105d082fd10ebc7a83bd1ef02919eb4 Gerrit-PatchSet: 2 Gerrit-Project: mediawiki/extensions/RevisionSlider Gerrit-Branch: master Gerrit-Owner: WMDE-FischGerrit-Reviewer: Addshore Gerrit-Reviewer: Gabriel Birke Gerrit-Reviewer: Jakob Gerrit-Reviewer: Kai Nissen (WMDE) Gerrit-Reviewer: Tobias Gritschacher Gerrit-Reviewer: WMDE-Fisch Gerrit-Reviewer: WMDE-leszek Gerrit-Reviewer: jenkins-bot <> ___ MediaWiki-commits mailing list MediaWiki-commits@lists.wikimedia.org https://lists.wikimedia.org/mailman/listinfo/mediawiki-commits
[MediaWiki-commits] [Gerrit] Add basic en description - change (mediawiki...RevisionSlider)
WMDE-leszek has submitted this change and it was merged. Change subject: Add basic en description .. Add basic en description Change-Id: Iedba41447098108b7d0cae309782500399d0a655 --- M i18n/en.json 1 file changed, 1 insertion(+), 1 deletion(-) Approvals: WMDE-leszek: Verified; Looks good to me, approved Raimond Spekking: Looks good to me, but someone else must approve jenkins-bot: Verified diff --git a/i18n/en.json b/i18n/en.json index bea0c2c..f300ede 100755 --- a/i18n/en.json +++ b/i18n/en.json @@ -5,7 +5,7 @@ ] }, "revisionslider": "RevisionSlider", -"revisionslider-desc": "", +"revisionslider-desc": "Shows a slider allowing selecting and comparing of revisions on a diff page", "revisionslider-loading-placeholder": "The revision slider is loading.", "revisionslider-loading-noscript": "As you have JavaScript disabled the revision slider will not be able to load." } \ No newline at end of file -- To view, visit https://gerrit.wikimedia.org/r/286833 To unsubscribe, visit https://gerrit.wikimedia.org/r/settings Gerrit-MessageType: merged Gerrit-Change-Id: Iedba41447098108b7d0cae309782500399d0a655 Gerrit-PatchSet: 2 Gerrit-Project: mediawiki/extensions/RevisionSlider Gerrit-Branch: master Gerrit-Owner: AddshoreGerrit-Reviewer: Addshore Gerrit-Reviewer: Gabriel Birke Gerrit-Reviewer: Jakob Gerrit-Reviewer: Kai Nissen (WMDE) Gerrit-Reviewer: Raimond Spekking Gerrit-Reviewer: Siebrand Gerrit-Reviewer: Tobias Gritschacher Gerrit-Reviewer: WMDE-Fisch Gerrit-Reviewer: WMDE-leszek Gerrit-Reviewer: jenkins-bot <> ___ MediaWiki-commits mailing list MediaWiki-commits@lists.wikimedia.org https://lists.wikimedia.org/mailman/listinfo/mediawiki-commits
[MediaWiki-commits] [Gerrit] Add npm test script - change (mediawiki...RevisionSlider)
WMDE-leszek has submitted this change and it was merged. Change subject: Add npm test script .. Add npm test script Bug: T133282 Change-Id: I421c127077665614400efd0e62dfd1171d596b52 --- M package.json 1 file changed, 3 insertions(+), 0 deletions(-) Approvals: WMDE-leszek: Verified; Looks good to me, approved Paladox: Looks good to me, but someone else must approve diff --git a/package.json b/package.json index d64fe9b..31280cf 100755 --- a/package.json +++ b/package.json @@ -1,6 +1,9 @@ { "name": "RevisionSlider", "version": "0.0.0", + "scripts": { +"test": "grunt test" + }, "devDependencies": { "grunt": "0.4.5", "grunt-cli": "0.1.13", -- To view, visit https://gerrit.wikimedia.org/r/286401 To unsubscribe, visit https://gerrit.wikimedia.org/r/settings Gerrit-MessageType: merged Gerrit-Change-Id: I421c127077665614400efd0e62dfd1171d596b52 Gerrit-PatchSet: 2 Gerrit-Project: mediawiki/extensions/RevisionSlider Gerrit-Branch: master Gerrit-Owner: AddshoreGerrit-Reviewer: Paladox Gerrit-Reviewer: WMDE-leszek Gerrit-Reviewer: jenkins-bot <> ___ MediaWiki-commits mailing list MediaWiki-commits@lists.wikimedia.org https://lists.wikimedia.org/mailman/listinfo/mediawiki-commits
[MediaWiki-commits] [Gerrit] Initial commit. - change (mediawiki...RevisionSlider)
WMDE-leszek has submitted this change and it was merged. Change subject: Initial commit. .. Initial commit. This turns the prototype code of the Revision Slider into a MediaWiki extension. With this extension enabled the slider should appear on diff pages already but it won't actually show diffs when adjusting the slider pointers. Things that changed so far in the prototype JS code: - pulled out the rainbow function and made it use Math.floor instead of the ~~ binary operator - pulled out the API request that fetches the revisions into its own module - cleaned up and documented some parts of the code The code is still very much WIP and JSCS still has a couple of complaints. Bug: T132576 Change-Id: I2e22365f3b93a76d5b8d3997242b5fed996c6d78 --- A .gitignore A .jscsrc A .jshintignore A .jshintrc A Gruntfile.js A RevisionSlider.hooks.php A RevisionSlider.php A composer.json A extension.json A i18n/en.json A i18n/qqq.json A modules/ext.RevisionSlider.css A modules/ext.RevisionSlider.fetchRevisions.js A modules/ext.RevisionSlider.init.js A modules/ext.RevisionSlider.rainbow.js A package.json A phpcs.xml A tests/RevisionSlider.test.js A tests/RevisionSlider.test.php 19 files changed, 702 insertions(+), 0 deletions(-) Approvals: WMDE-Fisch: Verified; Looks good to me, but someone else must approve WMDE-leszek: Verified; Looks good to me, approved jenkins-bot: Verified diff --git a/.gitignore b/.gitignore new file mode 100644 index 000..fbc2c3f --- /dev/null +++ b/.gitignore @@ -0,0 +1,4 @@ +.idea/ +composer.lock +node_modules/ +vendor/ diff --git a/.jscsrc b/.jscsrc new file mode 100755 index 000..a031ea4 --- /dev/null +++ b/.jscsrc @@ -0,0 +1,3 @@ +{ + "preset": "wikimedia" +} \ No newline at end of file diff --git a/.jshintignore b/.jshintignore new file mode 100755 index 000..b512c09 --- /dev/null +++ b/.jshintignore @@ -0,0 +1 @@ +node_modules \ No newline at end of file diff --git a/.jshintrc b/.jshintrc new file mode 100755 index 000..69882aa --- /dev/null +++ b/.jshintrc @@ -0,0 +1,22 @@ +{ + // Enforcing + "bitwise": true, + "eqeqeq": true, + "es3": true, + "latedef": true, + "noarg": true, + "nonew": true, + "undef": true, + "unused": true, + "strict": false, + + // Environment + "browser": true, + + "globals": { + "mw": false, + "$": false, + "mediaWiki": false, + "jQuery": false + } +} diff --git a/Gruntfile.js b/Gruntfile.js new file mode 100755 index 000..56ff218 --- /dev/null +++ b/Gruntfile.js @@ -0,0 +1,35 @@ +/*jshint node:true */ +module.exports = function ( grunt ) { + grunt.loadNpmTasks( 'grunt-contrib-jshint' ); + grunt.loadNpmTasks( 'grunt-jsonlint' ); + grunt.loadNpmTasks( 'grunt-banana-checker' ); + grunt.loadNpmTasks( 'grunt-jscs' ); + + grunt.initConfig( { + jshint: { + options: { + jshintrc: true + }, + all: [ + '*.js', + 'modules/**/*.js' + ] + }, + jscs: { + src: '<%= jshint.all %>' + }, + banana: { + all: 'i18n/' + }, + jsonlint: { + all: [ + '*.json', + '**/*.json', + '!node_modules/**' + ] + } + } ); + + grunt.registerTask( 'test', [ 'jshint', 'jscs', 'jsonlint', 'banana' ] ); + grunt.registerTask( 'default', 'test' ); +}; diff --git a/RevisionSlider.hooks.php b/RevisionSlider.hooks.php new file mode 100755 index 000..0efe5a3 --- /dev/null +++ b/RevisionSlider.hooks.php @@ -0,0 +1,20 @@ +getContext()->getRequest() ) ) { + $out->addModules( 'ext.RevisionSlider.init' ); + } + } + + private static function isRevisionPage( WebRequest $request ) { + return $request->getVal( 'action' ) === 'history' || $request->getVal( 'type' ) === 'revision'; + } +} diff --git a/RevisionSlider.php b/RevisionSlider.php new file mode 100644 index 000..6df2e0a --- /dev/null +++ b/RevisionSlider.php @@ -0,0 +1,36 @@ + [ + 'modules/ext.RevisionSlider.init.js', + ], + 'styles' => [ + 'modules/ext.RevisionSlider.css', + ], + 'dependencies' => [ + 'ext.RevisionSlider.rainbow', + 'ext.RevisionSlider.fetchRevisions', + ], + + 'localBasePath' => __DIR__, +]; + +$wgResourceModules['ext.RevisionSlider.rainbow'] = [ + 'scripts' => [ + 'modules/ext.RevisionSlider.rainbow.js',
[MediaWiki-commits] [Gerrit] Update URL in extension.json - change (mediawiki...RevisionSlider)
WMDE-leszek has uploaded a new change for review. https://gerrit.wikimedia.org/r/284411 Change subject: Update URL in extension.json .. Update URL in extension.json Change-Id: I081a1a0dcd66beb2e2b1836234b96eec8518313c --- M extension.json 1 file changed, 1 insertion(+), 1 deletion(-) git pull ssh://gerrit.wikimedia.org:29418/mediawiki/extensions/RevisionSlider refs/changes/11/284411/1 diff --git a/extension.json b/extension.json index 8fb3887..86a8fb3 100755 --- a/extension.json +++ b/extension.json @@ -4,7 +4,7 @@ "author": [ "WMDE" ], - "url": "https://phabricator.wikimedia.org/project/profile/1639/;, + "url": "https://www.mediawiki.org/wiki/Extension:RevisionSlider;, "namemsg": "revisionSlider", "descriptionmsg": "revisionSlider-desc", "license-name": "GPL-2.0+", -- To view, visit https://gerrit.wikimedia.org/r/284411 To unsubscribe, visit https://gerrit.wikimedia.org/r/settings Gerrit-MessageType: newchange Gerrit-Change-Id: I081a1a0dcd66beb2e2b1836234b96eec8518313c Gerrit-PatchSet: 1 Gerrit-Project: mediawiki/extensions/RevisionSlider Gerrit-Branch: master Gerrit-Owner: WMDE-leszek___ MediaWiki-commits mailing list MediaWiki-commits@lists.wikimedia.org https://lists.wikimedia.org/mailman/listinfo/mediawiki-commits
[MediaWiki-commits] [Gerrit] Remove empty php test file - change (mediawiki...RevisionSlider)
WMDE-leszek has submitted this change and it was merged. Change subject: Remove empty php test file .. Remove empty php test file Change-Id: Ib119672ba450de22bd6cd58ffc8f58b99054c258 --- D tests/RevisionSlider.test.php 1 file changed, 0 insertions(+), 7 deletions(-) Approvals: WMDE-leszek: Verified; Looks good to me, approved jenkins-bot: Verified diff --git a/tests/RevisionSlider.test.php b/tests/RevisionSlider.test.php deleted file mode 100755 index b7a9013..000 --- a/tests/RevisionSlider.test.php +++ /dev/null @@ -1,7 +0,0 @@ -https://www.mediawiki.org/wiki/Manual:PHP_unit_testing/Writing_unit_tests - */ -- To view, visit https://gerrit.wikimedia.org/r/284408 To unsubscribe, visit https://gerrit.wikimedia.org/r/settings Gerrit-MessageType: merged Gerrit-Change-Id: Ib119672ba450de22bd6cd58ffc8f58b99054c258 Gerrit-PatchSet: 1 Gerrit-Project: mediawiki/extensions/RevisionSlider Gerrit-Branch: master Gerrit-Owner: AddshoreGerrit-Reviewer: WMDE-leszek Gerrit-Reviewer: jenkins-bot <> ___ MediaWiki-commits mailing list MediaWiki-commits@lists.wikimedia.org https://lists.wikimedia.org/mailman/listinfo/mediawiki-commits
[MediaWiki-commits] [Gerrit] Add missing tests for some edge cases in WatchedItem::getNot... - change (mediawiki/core)
WMDE-leszek has uploaded a new change for review. https://gerrit.wikimedia.org/r/284436 Change subject: Add missing tests for some edge cases in WatchedItem::getNotificationTimestamp .. Add missing tests for some edge cases in WatchedItem::getNotificationTimestamp Change-Id: I18dd5976cc0f44f9dca8ee420ace226e49ab6288 --- M tests/phpunit/includes/WatchedItemIntegrationTest.php 1 file changed, 8 insertions(+), 1 deletion(-) git pull ssh://gerrit.wikimedia.org:29418/mediawiki/core refs/changes/36/284436/1 diff --git a/tests/phpunit/includes/WatchedItemIntegrationTest.php b/tests/phpunit/includes/WatchedItemIntegrationTest.php index 20fcedb..93888d5 100644 --- a/tests/phpunit/includes/WatchedItemIntegrationTest.php +++ b/tests/phpunit/includes/WatchedItemIntegrationTest.php @@ -105,7 +105,7 @@ WatchedItem::fromUserTitle( $user, $title )->getNotificationTimestamp() ); $user->mRights = []; - $this->assertFalse( WatchedItem::fromUserTitle( $user, $title )->isWatched() ); + $this->assertFalse( WatchedItem::fromUserTitle( $user, $title )->getNotificationTimestamp() ); } public function testRemoveWatch_falseOnNotAllowed() { @@ -120,4 +120,11 @@ $this->assertTrue( WatchedItem::fromUserTitle( $user, $title )->removeWatch() ); } + public function testGetNotificationTimestamp_falseOnNotWatched() { + $user = $this->getUser(); + $title = Title::newFromText( 'WatchedItemIntegrationTestPage' ); + + $this->assertFalse( WatchedItem::fromUserTitle( $user, $title )->getNotificationTimestamp() ); + } + } -- To view, visit https://gerrit.wikimedia.org/r/284436 To unsubscribe, visit https://gerrit.wikimedia.org/r/settings Gerrit-MessageType: newchange Gerrit-Change-Id: I18dd5976cc0f44f9dca8ee420ace226e49ab6288 Gerrit-PatchSet: 1 Gerrit-Project: mediawiki/core Gerrit-Branch: master Gerrit-Owner: WMDE-leszek___ MediaWiki-commits mailing list MediaWiki-commits@lists.wikimedia.org https://lists.wikimedia.org/mailman/listinfo/mediawiki-commits
[MediaWiki-commits] [Gerrit] Assert jobs called from WIS::resetNotificationTimestamp are ... - change (mediawiki/core)
WMDE-leszek has uploaded a new change for review. https://gerrit.wikimedia.org/r/284461 Change subject: Assert jobs called from WIS::resetNotificationTimestamp are correct .. Assert jobs called from WIS::resetNotificationTimestamp are correct This also adds tests for some previously untested paths. Change-Id: Id95144c0bad90cfc123aa03aad91531d2332 --- M tests/phpunit/includes/WatchedItemStoreUnitTest.php 1 file changed, 276 insertions(+), 6 deletions(-) git pull ssh://gerrit.wikimedia.org:29418/mediawiki/core refs/changes/61/284461/1 diff --git a/tests/phpunit/includes/WatchedItemStoreUnitTest.php b/tests/phpunit/includes/WatchedItemStoreUnitTest.php index 17b2fa4..8e9d4d7 100644 --- a/tests/phpunit/includes/WatchedItemStoreUnitTest.php +++ b/tests/phpunit/includes/WatchedItemStoreUnitTest.php @@ -2006,6 +2006,33 @@ return $title; } + private function verifyCallbackJob( + $callback, + LinkTarget $expectedTitle, + $expectedUserId, + callable $notificationTimestampCondition + ) { + $this->assertInternalType( 'callable', $callback ); + + $callbackReflector = new ReflectionFunction( $callback ); + $vars = $callbackReflector->getStaticVariables(); + $this->assertArrayHasKey( 'job', $vars ); + $this->assertInstanceOf( ActivityUpdateJob::class, $vars['job'] ); + + /** @var ActivityUpdateJob $job */ + $job = $vars['job']; + $this->assertEquals( $expectedTitle->getDBkey(), $job->getTitle()->getDBkey() ); + $this->assertEquals( $expectedTitle->getNamespace(), $job->getTitle()->getNamespace() ); + + $jobParams = $job->getParams(); + $this->assertArrayHasKey( 'type', $jobParams ); + $this->assertEquals( 'updateWatchlistNotification', $jobParams['type'] ); + $this->assertArrayHasKey( 'userid', $jobParams ); + $this->assertEquals( $expectedUserId, $jobParams['userid'] ); + $this->assertArrayHasKey( 'notifTime', $jobParams ); + $this->assertTrue( $notificationTimestampCondition( $jobParams['notifTime'] ) ); + } + public function testResetNotificationTimestamp_oldidSpecifiedLatestRevisionForced() { $user = $this->getMockNonAnonUserWithId( 1 ); $oldid = 22; @@ -2032,12 +2059,12 @@ $mockCache ); - // Note: This does not actually assert the job is correct $callableCallCounter = 0; + $callback = null; $scopedOverride = $store->overrideDeferredUpdatesAddCallableUpdateCallback( - function( $callable ) use ( &$callableCallCounter ) { + function( $callable ) use ( &$callableCallCounter, &$callback ) { $callableCallCounter++; - $this->assertInternalType( 'callable', $callable ); + $callback = $callable; } ); @@ -2050,6 +2077,14 @@ ) ); $this->assertEquals( 1, $callableCallCounter ); + $this->verifyCallbackJob( + $callback, + $title, + $user->getId(), + function( $time ) { + return $time === null; + } + ); ScopedCallback::consume( $scopedOverride ); } @@ -2092,12 +2127,12 @@ $mockCache ); - // Note: This does not actually assert the job is correct $addUpdateCallCounter = 0; + $callback = null; $scopedOverrideDeferred = $store->overrideDeferredUpdatesAddCallableUpdateCallback( - function( $callable ) use ( &$addUpdateCallCounter ) { + function( $callable ) use ( &$addUpdateCallCounter, &$callback ) { $addUpdateCallCounter++; - $this->assertInternalType( 'callable', $callable ); + $callback = $callable; } ); @@ -2119,6 +2154,241 @@ ) ); $this->assertEquals( 1, $addUpdateCallCounter ); + $this->verifyCallbackJob( + $callback, + $title, + $user->getId(), + function( $time ) { + return $time !== null && $time > '20151212010101'; + } + ); + +
[MediaWiki-commits] [Gerrit] [WIP]Refactor database-related code in ApiQueryWatchlist - change (mediawiki/core)
WMDE-leszek has uploaded a new change for review. https://gerrit.wikimedia.org/r/284169 Change subject: [WIP]Refactor database-related code in ApiQueryWatchlist .. [WIP]Refactor database-related code in ApiQueryWatchlist This moves generating of a complex Watchlist and RecentChanges related query to a separate class which is then called from WatchedItemStore. ApiQueryWatchlist class no longer contains any database-related code. TODO: - tests for anonymous user? - WatchedItemQueryIntegrationTest? Bug: T132565 Change-Id: I5a5cda13f8091baa430ac1a8e2176e0efd1ae192 --- M autoload.php A includes/WatchedItemQuery.php M includes/WatchedItemStore.php M includes/api/ApiQueryWatchlist.php A tests/phpunit/includes/WatchedItemQueryUnitTest.php 5 files changed, 1,573 insertions(+), 158 deletions(-) git pull ssh://gerrit.wikimedia.org:29418/mediawiki/core refs/changes/69/284169/1 diff --git a/autoload.php b/autoload.php index db543dd..072a88d 100644 --- a/autoload.php +++ b/autoload.php @@ -1410,6 +1410,7 @@ 'WantedTemplatesPage' => __DIR__ . '/includes/specials/SpecialWantedtemplates.php', 'WatchAction' => __DIR__ . '/includes/actions/WatchAction.php', 'WatchedItem' => __DIR__ . '/includes/WatchedItem.php', + 'WatchedItemQuery' => __DIR__ . '/includes/WatchedItemQuery.php', 'WatchedItemStore' => __DIR__ . '/includes/WatchedItemStore.php', 'WatchlistCleanup' => __DIR__ . '/maintenance/cleanupWatchlist.php', 'WebInstaller' => __DIR__ . '/includes/installer/WebInstaller.php', diff --git a/includes/WatchedItemQuery.php b/includes/WatchedItemQuery.php new file mode 100644 index 000..9e33ef5 --- /dev/null +++ b/includes/WatchedItemQuery.php @@ -0,0 +1,413 @@ +db = $db; + } + + /** +* @param User $user +* @param array $options Allowed keys: +*'includeFields' => string[] RecentChange fields to be included in the result, +*self::INCLUDE_* constants should be used +*'filters' => string[] optional filters to narrow down resulted items +*'namespaceIds' => int[] optional namespace IDs to filter by (defaults to all namespaces) +*'allRevisions' => bool return multiple revisions of the same page if true, only the most +*recent if false (default) +*'rcTypes' => int[] which types of RecentChanges to include (defaults to all types), +*allowed values: RC_EDIT, RC_NEW, RC_LOG, RC_EXTERNAL, RC_CATEGORIZE +*'onlyByUser' => string only list changes by a specified user +*'notByUser' => string do not incluide changes by a specified user +*'dir' => string in which direction to enumerate, accepted values: +*- DIR_OLDER list newest first +*- DIR_NEWER list oldest first +*'start' => string (format accepted by wfTimestamp) requires 'dir' option, timestamp to +*start enumerating from +*'end' => string (format accepted by wfTimestamp) requires 'dir' option, timestamp to +*end enumerating +*'startFrom' => [ string $rcTimestamp, int $rcId ] requires 'dir' option, return items +*starting from the RecentChange specified by this, $rcTimestamp should be in the format +*accepted by wfTimestamp +*'watchlistOwner' => User user whose watchlist items should be listed if different than +*the one specified with $user param, requires 'watchlistOwnerToken' option +*'watchlistOwnerToken' => string a watchlist token used to access another user's +*watchlist, used with 'watchlistOwnerToken' option +*'limit' => int maximum numbers of items to return +*'usedInGenerator' => bool include only RecentChange id field required by the generator +*('rc_cur_id' or 'rc_this_oldid') if true, or all id fields ('rc_cur_id', 'rc_this_oldid', +*'rc_last_oldid') if false (default) +* @return array of pairs ( WatchedItem $watchedItem, string[] $recentChangeInfo ), +* where $recentChangeInfo contains the following keys: +* - 'rc_id', +* - 'rc_namespace', +* - 'rc_title', +* - 'rc_timestamp', +* - 'rc_type', +* - 'rc_deleted', +* Additional keys could be added by specifying the 'includeFields' option +*/ + public function getWatchedItemsWithRecentChangeInfo( User $user, array $options = [] ) { + $options += [ 'includeFields' => [] ]; + $options += [ 'namespaceIds' => [] ]; + $options += [ 'filters' => [] ]; + $options += [ 'allRevisions' => false ]; +
[MediaWiki-commits] [Gerrit] [WIP]Add tests for ApiQueryWatchlist - change (mediawiki/core)
WMDE-leszek has uploaded a new change for review. https://gerrit.wikimedia.org/r/282918 Change subject: [WIP]Add tests for ApiQueryWatchlist .. [WIP]Add tests for ApiQueryWatchlist TODO: - wlprop=patrol, - wlprop=loginfo, - wlshow=patrolled/!patrolled, - other wltypes than edit/new? Change-Id: Ia76c39134564c477aa46ccb7b6595173410b0251 --- A tests/phpunit/includes/api/ApiQueryWatchlistIntegrationTest.php 1 file changed, 693 insertions(+), 0 deletions(-) git pull ssh://gerrit.wikimedia.org:29418/mediawiki/core refs/changes/18/282918/2 diff --git a/tests/phpunit/includes/api/ApiQueryWatchlistIntegrationTest.php b/tests/phpunit/includes/api/ApiQueryWatchlistIntegrationTest.php new file mode 100644 index 000..1e8a6ab --- /dev/null +++ b/tests/phpunit/includes/api/ApiQueryWatchlistIntegrationTest.php @@ -0,0 +1,693 @@ +tablesUsed = array_unique( + array_merge( $this->tablesUsed, [ 'watchlist', 'recentchanges', 'page' ] ) + ); + } + + protected function setUp() { + parent::setUp(); + self::$users['ApiQueryWatchlistIntegrationTestUser'] + = new TestUser( 'ApiQueryWatchlistIntegrationTestUser' ); + $this->doLogin( 'ApiQueryWatchlistIntegrationTestUser' ); + } + + private function doPageEdit( User $user, $dbKey, $content, $summary ) { + $title = Title::newFromDBkey( $dbKey ); + $page = WikiPage::factory( $title ); + $page->doEditContent( + ContentHandler::makeContent( $content, $title ), + $summary, + 0, + false, + $user + ); + } + + private function doMinorPageEdit( User $user, $dbKey, $content, $summary ) { + $title = Title::newFromDBkey( $dbKey ); + $page = WikiPage::factory( $title ); + $page->doEditContent( + ContentHandler::makeContent( $content, $title ), + $summary, + EDIT_MINOR, + false, + $user + ); + } + + private function doBotPageEdit( User $user, $dbKey, $content, $summary ) { + $title = Title::newFromDBkey( $dbKey ); + $page = WikiPage::factory( $title ); + $page->doEditContent( + ContentHandler::makeContent( $content, $title ), + $summary, + EDIT_FORCE_BOT, + false, + $user + ); + } + + private function doAnonPageEdit( $dbKey, $content, $summary ) { + $title = Title::newFromDBkey( $dbKey ); + $page = WikiPage::factory( $title ); + $page->doEditContent( + ContentHandler::makeContent( $content, $title ), + $summary + ); + } + + public function addDBData() { + $user = ( new TestUser( 'ApiQueryWatchlistIntegrationTestUser' ) )->getUser(); + $otherUser = ( new TestUser( 'ApiQueryWatchlistIntegrationTestUser2' ) )->getUser(); + + $this->doPageEdit( + $user, + 'ApiQueryWatchlistIntegrationTestPage1', + 'Some Content', + 'Create the page' + ); + $this->doPageEdit( + $user, + 'ApiQueryWatchlistIntegrationTestPage1', + 'Some Other Content', + 'Change content' + ); + $this->doPageEdit( + $user, + 'Talk:ApiQueryWatchlistIntegrationTestPage1', + 'Some Talk Page Cotnent', + 'Create Talk page' + ); + $this->doPageEdit( + $otherUser, + 'ApiQueryWatchlistIntegrationTestPage2', + 'Some text', + 'Create the page' + ); + $this->doPageEdit( + $user, + 'ApiQueryWatchlistIntegrationTestPage3', + 'Some Content', + 'Create the page' + ); + $this->doMinorPageEdit( + $user, + 'ApiQueryWatchlistIntegrationTestPage3', + 'Some Other Content', + 'Change content' + ); + $this->doBotPageEdit( + $user, + 'ApiQueryWatchlistIntegrationTestPage4', + 'Some Other Content', +
[MediaWiki-commits] [Gerrit] Remove unused import in WatchedItemStoreUnitTest - change (mediawiki/core)
WMDE-leszek has uploaded a new change for review. https://gerrit.wikimedia.org/r/283457 Change subject: Remove unused import in WatchedItemStoreUnitTest .. Remove unused import in WatchedItemStoreUnitTest Change-Id: I56abf221e6e601ad0bceaae1a15eb8f1097f5baa --- M tests/phpunit/includes/WatchedItemStoreUnitTest.php 1 file changed, 0 insertions(+), 1 deletion(-) git pull ssh://gerrit.wikimedia.org:29418/mediawiki/core refs/changes/57/283457/1 diff --git a/tests/phpunit/includes/WatchedItemStoreUnitTest.php b/tests/phpunit/includes/WatchedItemStoreUnitTest.php index 9dd38df..414f3b6 100644 --- a/tests/phpunit/includes/WatchedItemStoreUnitTest.php +++ b/tests/phpunit/includes/WatchedItemStoreUnitTest.php @@ -1,5 +1,4 @@ https://gerrit.wikimedia.org/r/283457 To unsubscribe, visit https://gerrit.wikimedia.org/r/settings Gerrit-MessageType: newchange Gerrit-Change-Id: I56abf221e6e601ad0bceaae1a15eb8f1097f5baa Gerrit-PatchSet: 1 Gerrit-Project: mediawiki/core Gerrit-Branch: master Gerrit-Owner: WMDE-leszek___ MediaWiki-commits mailing list MediaWiki-commits@lists.wikimedia.org https://lists.wikimedia.org/mailman/listinfo/mediawiki-commits
[MediaWiki-commits] [Gerrit] Adjust alignment of the "older/newer" legend below the slider. - change (mediawiki...RevisionSlider)
WMDE-leszek has uploaded a new change for review. https://gerrit.wikimedia.org/r/290691 Change subject: Adjust alignment of the "older/newer" legend below the slider. .. Adjust alignment of the "older/newer" legend below the slider. Bug: T133270 Change-Id: Idc9e7d79bf0af409e54bb45329a0eb1976b8b075 --- M modules/ext.RevisionSlider.SliderView.js M modules/ext.RevisionSlider.css 2 files changed, 2 insertions(+), 1 deletion(-) git pull ssh://gerrit.wikimedia.org:29418/mediawiki/extensions/RevisionSlider refs/changes/91/290691/1 diff --git a/modules/ext.RevisionSlider.SliderView.js b/modules/ext.RevisionSlider.SliderView.js index 61d7181..04428fa 100644 --- a/modules/ext.RevisionSlider.SliderView.js +++ b/modules/ext.RevisionSlider.SliderView.js @@ -133,6 +133,7 @@ this.$element = $slider; $container.html( $slider ); $slider.after( this.makeAnnotations() ); + $( '.revisions-annotations' ).css( { width: $revisions.width() + 'px' } ); this.slide( Math.floor( this.pointerTwo.getPosition() / this.slider.getRevisionsPerWindow() ), 0 ); this.diffPage.pushState( mw.config.values.extRevisionSliderOldRev, mw.config.values.extRevisionSliderNewRev, this ); diff --git a/modules/ext.RevisionSlider.css b/modules/ext.RevisionSlider.css index fc42675..fc2df2d 100755 --- a/modules/ext.RevisionSlider.css +++ b/modules/ext.RevisionSlider.css @@ -136,7 +136,7 @@ .revisions-annotations { color: #bcbcbc; font-size: 88%; -margin: 0 60px; +margin: auto; } .revisions-older { float:left; -- To view, visit https://gerrit.wikimedia.org/r/290691 To unsubscribe, visit https://gerrit.wikimedia.org/r/settings Gerrit-MessageType: newchange Gerrit-Change-Id: Idc9e7d79bf0af409e54bb45329a0eb1976b8b075 Gerrit-PatchSet: 1 Gerrit-Project: mediawiki/extensions/RevisionSlider Gerrit-Branch: master Gerrit-Owner: WMDE-leszek___ MediaWiki-commits mailing list MediaWiki-commits@lists.wikimedia.org https://lists.wikimedia.org/mailman/listinfo/mediawiki-commits
[MediaWiki-commits] [Gerrit] mediawiki...RevisionSlider[master]: Do not escape quotes and double quotes in user names
WMDE-leszek has uploaded a new change for review. https://gerrit.wikimedia.org/r/301075 Change subject: Do not escape quotes and double quotes in user names .. Do not escape quotes and double quotes in user names Quotes and double quotes are allowed as part of a user name/page title. Other things escaped by previously used mw.html.escape, ie. <, >, & are not allowed in a user name any way. But just in case, to stick with current preventive behaviour, this strips those three characters if they somehow happen to appear in the user name returned by API. Bug: T141171 Change-Id: I08dd09dcc94823461d7e9a8b116c088c4e8ee8d5 --- M modules/ext.RevisionSlider.RevisionListView.js 1 file changed, 10 insertions(+), 2 deletions(-) git pull ssh://gerrit.wikimedia.org:29418/mediawiki/extensions/RevisionSlider refs/changes/75/301075/1 diff --git a/modules/ext.RevisionSlider.RevisionListView.js b/modules/ext.RevisionSlider.RevisionListView.js index fa2408d..cab1831 100644 --- a/modules/ext.RevisionSlider.RevisionListView.js +++ b/modules/ext.RevisionSlider.RevisionListView.js @@ -157,7 +157,7 @@ * @return {string} */ getUserPage: function ( user ) { - return ( mw.util.isIPAddress( user, false ) ? 'Special:Contributions/' : 'User:' ) + mw.html.escape( user ); + return ( mw.util.isIPAddress( user, false ) ? 'Special:Contributions/' : 'User:' ) + this.stripInvalidCharacters( user ); }, /** @@ -172,11 +172,19 @@ } return $( '' ).append( $( '' ).append( - mw.message( 'revisionslider-label-username', mw.html.escape( userString ), this.getUserPage( userString ) ).parseDom() + mw.message( 'revisionslider-label-username', this.stripInvalidCharacters( userString ), this.getUserPage( userString ) ).parseDom() ) ); }, /** +* @param {string} s +* @return {string} +*/ + stripInvalidCharacters: function ( s ) { + return s.replace( /[<>&]/g, '' ); + }, + + /** * Generates the HTML for the comment label * * @param {Revision} rev -- To view, visit https://gerrit.wikimedia.org/r/301075 To unsubscribe, visit https://gerrit.wikimedia.org/r/settings Gerrit-MessageType: newchange Gerrit-Change-Id: I08dd09dcc94823461d7e9a8b116c088c4e8ee8d5 Gerrit-PatchSet: 1 Gerrit-Project: mediawiki/extensions/RevisionSlider Gerrit-Branch: master Gerrit-Owner: WMDE-leszek___ MediaWiki-commits mailing list MediaWiki-commits@lists.wikimedia.org https://lists.wikimedia.org/mailman/listinfo/mediawiki-commits
[MediaWiki-commits] [Gerrit] mediawiki...RevisionSlider[master]: Remove not needed tags
WMDE-leszek has uploaded a new change for review. https://gerrit.wikimedia.org/r/301077 Change subject: Remove not needed tags .. Remove not needed tags Bug: T141215 Change-Id: I981eb29a40fbca76ae5e7bc6aa3d723ecfb42f23 --- M modules/ext.RevisionSlider.RevisionListView.js 1 file changed, 6 insertions(+), 8 deletions(-) git pull ssh://gerrit.wikimedia.org:29418/mediawiki/extensions/RevisionSlider refs/changes/77/301077/1 diff --git a/modules/ext.RevisionSlider.RevisionListView.js b/modules/ext.RevisionSlider.RevisionListView.js index cab1831..6ee6287 100644 --- a/modules/ext.RevisionSlider.RevisionListView.js +++ b/modules/ext.RevisionSlider.RevisionListView.js @@ -171,9 +171,9 @@ return ''; } - return $( '' ).append( $( '' ).append( + return $( '' ).append( mw.message( 'revisionslider-label-username', this.stripInvalidCharacters( userString ), this.getUserPage( userString ) ).parseDom() - ) ); + ); }, /** @@ -195,12 +195,10 @@ return ''; } - return $( '' ).append( - $( '' ).append( - $( '' ).text( mw.message( 'revisionslider-label-comment' ).text() ), - $( '' ).append( - rev.getParsedComment() - ) + return $( '' ).append( + $( '' ).text( mw.message( 'revisionslider-label-comment' ).text() ), + $( '' ).append( + rev.getParsedComment() ) ); }, -- To view, visit https://gerrit.wikimedia.org/r/301077 To unsubscribe, visit https://gerrit.wikimedia.org/r/settings Gerrit-MessageType: newchange Gerrit-Change-Id: I981eb29a40fbca76ae5e7bc6aa3d723ecfb42f23 Gerrit-PatchSet: 1 Gerrit-Project: mediawiki/extensions/RevisionSlider Gerrit-Branch: master Gerrit-Owner: WMDE-leszek___ MediaWiki-commits mailing list MediaWiki-commits@lists.wikimedia.org https://lists.wikimedia.org/mailman/listinfo/mediawiki-commits
[MediaWiki-commits] [Gerrit] mediawiki...RevisionSlider[master]: Remove HTML tags from i18n messages
WMDE-leszek has uploaded a new change for review. https://gerrit.wikimedia.org/r/301338 Change subject: Remove HTML tags from i18n messages .. Remove HTML tags from i18n messages This moves all HTML formatting out of messages and makes all formatting happen in code. This should make work of translator easier and the UI of the extension no longer rely on HTML tags being included or not in i18n messages. In particular "tooltip" rows are now generated in code, with only their labels being translatable. Change-Id: I2af9b9f0e231a7b2827a202d9ac7161b8c95855a --- M extension.json M i18n/en.json M i18n/qqq.json M modules/ext.RevisionSlider.RevisionListView.js 4 files changed, 28 insertions(+), 15 deletions(-) git pull ssh://gerrit.wikimedia.org:29418/mediawiki/extensions/RevisionSlider refs/changes/38/301338/1 diff --git a/extension.json b/extension.json index 315ead3..dc1d903 100644 --- a/extension.json +++ b/extension.json @@ -121,6 +121,9 @@ "modules/ext.RevisionSlider.RevisionListView.js" ], "messages": [ + "colon-separator", + "word-separator", + "revisionslider-bytes", "revisionslider-label-date", "revisionslider-label-page-size", "revisionslider-label-change-size", diff --git a/i18n/en.json b/i18n/en.json index f86e3e0..d1058e9 100644 --- a/i18n/en.json +++ b/i18n/en.json @@ -8,11 +8,12 @@ "revisionslider-desc": "Shows a slider allowing selecting and comparing of revisions on a diff page", "revisionslider-beta-feature-message": "RevisionSlider", "revisionslider-beta-feature-description": "Show a revision slider when comparing two revisions of a page.", -"revisionslider-label-date": "Date: $1", -"revisionslider-label-page-size": "Page size: $1 {{PLURAL:$2|byte|bytes}}", -"revisionslider-label-change-size": "Change size: $1 {{PLURAL:$2|byte|bytes}}", -"revisionslider-label-comment": "Comment: ", -"revisionslider-label-username": "{{GENDER:$2|Username}}: [[$3|$1]]", +"revisionslider-bytes": "{{PLURAL:$1|byte|bytes}}", +"revisionslider-label-date": "Date", +"revisionslider-label-page-size": "Page size", +"revisionslider-label-change-size": "Change size", +"revisionslider-label-comment": "Comment", +"revisionslider-label-username": "{{GENDER:$1|Username}}", "revisionslider-minoredit": "This is a minor edit", "revisionslider-loading-placeholder": "The RevisionSlider is loading...", "revisionslider-loading-failed": "The RevisionSlider failed to load.", diff --git a/i18n/qqq.json b/i18n/qqq.json index 24d86d5..c4c851c 100644 --- a/i18n/qqq.json +++ b/i18n/qqq.json @@ -10,11 +10,12 @@ "revisionslider-desc": "{{desc|name=RevisionSlider|url=https://www.mediawiki.org/wiki/Extension:RevisionSlider}};, "revisionslider-beta-feature-message": "Label for the RevisionSlider Beta Feature.", "revisionslider-beta-feature-description": "Description for the RevisionSlider Beta Feature, describing the feature that will be enabled.", - "revisionslider-label-date": "Label describing the creation date of this revision.\nParameters:\n* $1 - Creation date.\n{{Identical|Date}}", - "revisionslider-label-page-size": "Label describing the size of this revision.\nParameters:\n* $1 - Formatted page size.\n* $2 - Page size as raw number used for PLURAL.\n{{Identical|Page size}}", - "revisionslider-label-change-size": "Label describing the size of the change compared to the revision before.\nParameters:\n* $1 - Formatted change size colored with markup.\n* $2 - Change size as raw number used for PLURAL", - "revisionslider-label-comment": "Label showing the edit summary of a revision.\n{{Identical|Comment}}", - "revisionslider-label-username": "Label for the revision's author's username.\nParameters:\n* $1 - Username,\n* $2 - Gender as in user preferences (\"male\", \"female\" or \"unknown\", passed to GENDER),\n* $3 - User page or Special:Contributors subpage for IP addresses.\n\n{{Identical|Username}}", + "revisionslider-bytes": "Unit (bytes) used along with revision/change size.\n\nParameters:\n$1 - number of bytes", + "revisionslider-label-date": "Label for the creation date of the revision.", + "revisionslider-label-page-size": "Label for the size of the revision.", + "revisionslider-label-change-size": "Label for the size of the change compared to the revision before.", + "revisionslider-label-comment": "Label for the edit summary of the revision.\n{{Identical|Comment}}", + "revisionslider-label-username": "Label for the revision's author's username.\n\nParameters:\n$1 - Gender as in user preferences (suitable for
[MediaWiki-commits] [Gerrit] mediawiki...RevisionSlider[master]: Add support for GENDER to the username label in the tooltip
WMDE-leszek has uploaded a new change for review. https://gerrit.wikimedia.org/r/300881 Change subject: Add support for GENDER to the username label in the tooltip .. Add support for GENDER to the username label in the tooltip After fetching a batch of revision data, user names are extracted and another API query is made to get gender preferences for users. This change also moves a code responsible for MediaWiki API calls to its own class. Bug: T136367 Change-Id: Id11fe14e9ca37829141ae92b13b51f10f992eb96 --- M extension.json M i18n/en.json M i18n/qqq.json A modules/ext.RevisionSlider.Api.js M modules/ext.RevisionSlider.Revision.js M modules/ext.RevisionSlider.RevisionList.js M modules/ext.RevisionSlider.RevisionListView.js D modules/ext.RevisionSlider.fetchRevisions.js M modules/ext.RevisionSlider.init.js M tests/qunit/RevisionSlider.Revision.test.js M tests/qunit/RevisionSlider.RevisionList.test.js 11 files changed, 255 insertions(+), 70 deletions(-) git pull ssh://gerrit.wikimedia.org:29418/mediawiki/extensions/RevisionSlider refs/changes/81/300881/1 diff --git a/extension.json b/extension.json index bc8bc38..315ead3 100644 --- a/extension.json +++ b/extension.json @@ -36,7 +36,7 @@ "ext.RevisionSlider.Revision", "ext.RevisionSlider.RevisionList", "ext.RevisionSlider.HelpDialog", - "ext.RevisionSlider.fetchRevisions", + "ext.RevisionSlider.Api", "ext.RevisionSlider.arrows.left", "ext.RevisionSlider.arrows.right", "ext.RevisionSlider.pointers.lower", @@ -54,9 +54,9 @@ "ext.RevisionSlider.noscript": { "styles": "modules/ext.RevisionSlider.noscript.css" }, - "ext.RevisionSlider.fetchRevisions": { + "ext.RevisionSlider.Api": { "scripts": [ - "modules/ext.RevisionSlider.fetchRevisions.js" + "modules/ext.RevisionSlider.Api.js" ] }, "ext.RevisionSlider.Revision": { diff --git a/i18n/en.json b/i18n/en.json index 48fdf34..f86e3e0 100644 --- a/i18n/en.json +++ b/i18n/en.json @@ -12,7 +12,7 @@ "revisionslider-label-page-size": "Page size: $1 {{PLURAL:$2|byte|bytes}}", "revisionslider-label-change-size": "Change size: $1 {{PLURAL:$2|byte|bytes}}", "revisionslider-label-comment": "Comment: ", -"revisionslider-label-username": "Username: [[$2|$1]]", +"revisionslider-label-username": "{{GENDER:$2|Username}}: [[$3|$1]]", "revisionslider-minoredit": "This is a minor edit", "revisionslider-loading-placeholder": "The RevisionSlider is loading...", "revisionslider-loading-failed": "The RevisionSlider failed to load.", diff --git a/i18n/qqq.json b/i18n/qqq.json index 334aa97..24d86d5 100644 --- a/i18n/qqq.json +++ b/i18n/qqq.json @@ -14,7 +14,7 @@ "revisionslider-label-page-size": "Label describing the size of this revision.\nParameters:\n* $1 - Formatted page size.\n* $2 - Page size as raw number used for PLURAL.\n{{Identical|Page size}}", "revisionslider-label-change-size": "Label describing the size of the change compared to the revision before.\nParameters:\n* $1 - Formatted change size colored with markup.\n* $2 - Change size as raw number used for PLURAL", "revisionslider-label-comment": "Label showing the edit summary of a revision.\n{{Identical|Comment}}", - "revisionslider-label-username": "Label for the revision's author's username.\n{{doc-important|{{[[Gender|GENDER]]}} is '''NOT''' supported.}}\n\nParameters:\n* $1 - Username, $2 - user page or Special:Contributors subpage for IP addresses.\n\n{{Identical|Username}}", + "revisionslider-label-username": "Label for the revision's author's username.\nParameters:\n* $1 - Username,\n* $2 - Gender as in user preferences (\"male\", \"female\" or \"unknown\", passed to GENDER),\n* $3 - User page or Special:Contributors subpage for IP addresses.\n\n{{Identical|Username}}", "revisionslider-minoredit": "Text labeling a minor edit.", "revisionslider-loading-placeholder": "Message shown while the RevisionSlider is still loading on a diff page. Once loaded the message is removed.", "revisionslider-loading-failed": "Message shown if the RevisionSlider fails to initially load.", diff --git a/modules/ext.RevisionSlider.Api.js b/modules/ext.RevisionSlider.Api.js new file mode 100644 index 000..3a7cdb1 --- /dev/null +++ b/modules/ext.RevisionSlider.Api.js @@ -0,0 +1,63 @@ +( function ( mw, $ ) { + /** +* @param {string} apiUrl +* @constructor +*/ + var Api = function ( apiUrl ) {
[MediaWiki-commits] [Gerrit] mediawiki...RevisionSlider[master]: Include a number in messages showing a number with a unit
WMDE-leszek has uploaded a new change for review. https://gerrit.wikimedia.org/r/301592 Change subject: Include a number in messages showing a number with a unit .. Include a number in messages showing a number with a unit Extension should not enforce English order with number being followed by unit "bytes" in messages related to byte size. This also splits a message into two messages: one for page size value, and other for change size. The latter size is signed and value to be shown is colour-coded HTML element so it is a bit more complicated case than the page size. Bug: T141507 Change-Id: I96992eafd4cd8a5aed3fcd5944129bcd83139a16 --- M extension.json M i18n/en.json M i18n/qqq.json M modules/ext.RevisionSlider.RevisionListView.js 4 files changed, 8 insertions(+), 10 deletions(-) git pull ssh://gerrit.wikimedia.org:29418/mediawiki/extensions/RevisionSlider refs/changes/92/301592/1 diff --git a/extension.json b/extension.json index d24230b..139df76 100644 --- a/extension.json +++ b/extension.json @@ -121,8 +121,8 @@ ], "messages": [ "colon-separator", - "word-separator", - "revisionslider-bytes", + "revisionslider-page-size", + "revisionslider-change-size", "revisionslider-label-date", "revisionslider-label-page-size", "revisionslider-label-change-size", diff --git a/i18n/en.json b/i18n/en.json index 1df9639..f43cf67 100644 --- a/i18n/en.json +++ b/i18n/en.json @@ -8,7 +8,8 @@ "revisionslider-desc": "Shows a slider allowing selecting and comparing of revisions on a diff page", "revisionslider-beta-feature-message": "RevisionSlider", "revisionslider-beta-feature-description": "Show a revision slider when comparing two revisions of a page.", -"revisionslider-bytes": "{{PLURAL:$1|byte|bytes}}", +"revisionslider-page-size": "$1 {{PLURAL:$2|byte|bytes}}", +"revisionslider-change-size": "$1 {{PLURAL:$3|byte|bytes}}", "revisionslider-label-date": "Date", "revisionslider-label-page-size": "Page size", "revisionslider-label-change-size": "Change size", diff --git a/i18n/qqq.json b/i18n/qqq.json index bfd577a..c96d1c7 100644 --- a/i18n/qqq.json +++ b/i18n/qqq.json @@ -10,7 +10,8 @@ "revisionslider-desc": "{{desc|name=RevisionSlider|url=https://www.mediawiki.org/wiki/Extension:RevisionSlider}};, "revisionslider-beta-feature-message": "Label for the RevisionSlider Beta Feature.", "revisionslider-beta-feature-description": "Description for the RevisionSlider Beta Feature, describing the feature that will be enabled.", - "revisionslider-bytes": "Unit (bytes) used along with revision/change size.\n\nParameters:\n$1 - number of bytes\n{{Identical|Byte}}", + "revisionslider-page-size": "Page size after the revision.\n\nParameters:\n$1 - number of bytes formatted for output (with mw.language.converNumber)\n$2 - number of bytes, could be used with PLURAL", + "revisionslider-change-size": "Change size, ie. number of bytes added or removed in the revision.\n\nParameters:\n$1 - change size formatted for output (colour-coded HTML element, including plus or minus sign)\n$2 - change size (in bytes), can be negative\n$3 - change size (in bytes) without a sign", "revisionslider-label-date": "Label for the creation date of the revision.\n{{Identical|Date}}", "revisionslider-label-page-size": "Label for the size of the revision.\n{{Identical|Page size}}", "revisionslider-label-change-size": "Label for the size of the change compared to the revision before.", diff --git a/modules/ext.RevisionSlider.RevisionListView.js b/modules/ext.RevisionSlider.RevisionListView.js index f44b44f..299680c 100644 --- a/modules/ext.RevisionSlider.RevisionListView.js +++ b/modules/ext.RevisionSlider.RevisionListView.js @@ -260,9 +260,7 @@ makePageSizeLine: function ( size ) { return $( '' ).append( $( '' ).text( mw.msg( 'revisionslider-label-page-size' ) + mw.msg( 'colon-separator' ) ), - mw.language.convertNumber( size ), - mw.msg( 'word-separator' ), - mw.msg( 'revisionslider-bytes', size ) + mw.msg( 'revisionslider-page-size', mw.language.convertNumber( size ), size ) ); }, @@ -293,9 +291,7 @@ return $( '' ).append( $( '' ).text( mw.msg( 'revisionslider-label-change-size' ) + mw.msg( 'colon-separator' ) ), - $changeNumber, -
[MediaWiki-commits] [Gerrit] mediawiki...RevisionSlider[master]: Do not ignore uselang paramter
WMDE-leszek has uploaded a new change for review. https://gerrit.wikimedia.org/r/302240 Change subject: Do not ignore uselang paramter .. Do not ignore uselang paramter Bug: T141760 Change-Id: I2539bc7bf523870f55f67bc94000c28644528172 --- M modules/ext.RevisionSlider.DiffPage.js 1 file changed, 8 insertions(+), 2 deletions(-) git pull ssh://gerrit.wikimedia.org:29418/mediawiki/extensions/RevisionSlider refs/changes/40/302240/1 diff --git a/modules/ext.RevisionSlider.DiffPage.js b/modules/ext.RevisionSlider.DiffPage.js index 112b22f..61556c3 100644 --- a/modules/ext.RevisionSlider.DiffPage.js +++ b/modules/ext.RevisionSlider.DiffPage.js @@ -23,7 +23,8 @@ url: mw.util.wikiScript( 'index' ), data: { diff: Math.max( revId1, revId2 ), - oldid: Math.min( revId1, revId2 ) + oldid: Math.min( revId1, revId2 ), + uselang: mw.util.getParamValue( 'uselang' ) }, tryCount: 0, retryLimit: 2, @@ -114,7 +115,12 @@ * @param {number} revId2 */ getStateUrl: function ( revId1, revId2 ) { - return mw.util.wikiScript( 'index' ) + '?diff=' + Math.max( revId1, revId2 ) + '=' + Math.min( revId1, revId2 ); + var url = mw.util.wikiScript( 'index' ) + '?diff=' + Math.max( revId1, revId2 ) + '=' + Math.min( revId1, revId2 ), + uselang = mw.util.getParamValue( 'uselang' ); + if ( uselang !== null ) { + url += '=' + uselang; + } + return url; }, /** -- To view, visit https://gerrit.wikimedia.org/r/302240 To unsubscribe, visit https://gerrit.wikimedia.org/r/settings Gerrit-MessageType: newchange Gerrit-Change-Id: I2539bc7bf523870f55f67bc94000c28644528172 Gerrit-PatchSet: 1 Gerrit-Project: mediawiki/extensions/RevisionSlider Gerrit-Branch: master Gerrit-Owner: WMDE-leszek___ MediaWiki-commits mailing list MediaWiki-commits@lists.wikimedia.org https://lists.wikimedia.org/mailman/listinfo/mediawiki-commits
[MediaWiki-commits] [Gerrit] mediawiki...RevisionSlider[master]: Fix restoring the position of pointers when moving in browse...
WMDE-leszek has uploaded a new change for review. https://gerrit.wikimedia.org/r/302236 Change subject: Fix restoring the position of pointers when moving in browser history .. Fix restoring the position of pointers when moving in browser history This fixes two bugs: - when more older revisions are loaded and inserted at the "beginning" of revision list, the slider position in the top history state should be adjusted. Otherwise when going back in browser history wrong "window" of the slider is displayed. This bug has been introduced in Ib3f4a6ac57ff17008f9d8784c4716bd294443096 - when clicking revision bars the history state should contain the position of the changed after the clicking instead of the position prior to the event. Otherwise when going back and forward, the latter does not change the pointer positions (two top history states before going back store the same pointer positions). Change-Id: I2305a731a5e43ea15ad8468eb3dc4a5eea12b182 --- M modules/ext.RevisionSlider.SliderView.js 1 file changed, 6 insertions(+), 2 deletions(-) git pull ssh://gerrit.wikimedia.org:29418/mediawiki/extensions/RevisionSlider refs/changes/36/302236/1 diff --git a/modules/ext.RevisionSlider.SliderView.js b/modules/ext.RevisionSlider.SliderView.js index d9e4f08..746a674 100644 --- a/modules/ext.RevisionSlider.SliderView.js +++ b/modules/ext.RevisionSlider.SliderView.js @@ -247,17 +247,17 @@ pNew = view.getNewRevPointer(); if ( hasClickedTop ) { + pNew.setPosition( parseInt( $clickedRev.attr( 'data-pos' ), 10 ) ); view.refreshRevisions( view.getRevElementAtPosition( $revisions, pOld.getPosition() ).data( 'revid' ), $clickedRev.data( 'revid' ) ); - pNew.setPosition( parseInt( $clickedRev.attr( 'data-pos' ), 10 ) ); } else { + pOld.setPosition( parseInt( $clickedRev.attr( 'data-pos' ), 10 ) ) ; view.refreshRevisions( $clickedRev.data( 'revid' ), view.getRevElementAtPosition( $revisions, pNew.getPosition() ).data( 'revid' ) ); - pOld.setPosition( parseInt( $clickedRev.attr( 'data-pos' ), 10 ) ) ; } view.resetPointerColorsBasedOnValues( view.pointerOlder.getPosition(), view.pointerNewer.getPosition() ); @@ -641,6 +641,7 @@ revisionsToRender, $addedRevisions, pOld, pNew, + revIdOld, revIdNew, revisionStyleResetRequired = false, $oldRevElement, scrollLeft; @@ -684,6 +685,9 @@ } this.slider.setFirstVisibleRevisionIndex( this.slider.getFirstVisibleRevisionIndex() + revisionsToRender.getLength() ); + revIdOld = self.getRevElementAtPosition( $revisions, pOld.getPosition() ).data( 'revid' ); + revIdNew = self.getRevElementAtPosition( $revisions, pNew.getPosition() ).data( 'revid' ); + this.diffPage.replaceState( revIdOld, revIdNew, this ); scrollLeft = this.slider.getFirstVisibleRevisionIndex() * this.revisionWidth; $revisionContainer.scrollLeft( scrollLeft ); -- To view, visit https://gerrit.wikimedia.org/r/302236 To unsubscribe, visit https://gerrit.wikimedia.org/r/settings Gerrit-MessageType: newchange Gerrit-Change-Id: I2305a731a5e43ea15ad8468eb3dc4a5eea12b182 Gerrit-PatchSet: 1 Gerrit-Project: mediawiki/extensions/RevisionSlider Gerrit-Branch: master Gerrit-Owner: WMDE-leszek___ MediaWiki-commits mailing list MediaWiki-commits@lists.wikimedia.org https://lists.wikimedia.org/mailman/listinfo/mediawiki-commits
[MediaWiki-commits] [Gerrit] oojs/ui[master]: Add PHP version of ProgressBarWidget
WMDE-leszek has uploaded a new change for review. https://gerrit.wikimedia.org/r/304244 Change subject: Add PHP version of ProgressBarWidget .. Add PHP version of ProgressBarWidget Change-Id: Ib434a5c09699c9196be3d477578099267dceec90 --- A php/widgets/ProgressBarWidget.php 1 file changed, 64 insertions(+), 0 deletions(-) git pull ssh://gerrit.wikimedia.org:29418/oojs/ui refs/changes/44/304244/1 diff --git a/php/widgets/ProgressBarWidget.php b/php/widgets/ProgressBarWidget.php new file mode 100644 index 000..4a7e4a5 --- /dev/null +++ b/php/widgets/ProgressBarWidget.php @@ -0,0 +1,64 @@ +bar = new Tag( 'div' ); + $this->bar->addClasses( [ 'oo-ui-progressBarWidget-bar' ] ); + + $this->setProgress( array_key_exists( 'progress', $config ) ? $config['progress'] : false ); + + $this + ->setAttributes( [ + 'role' => 'progressbar', + 'aria-valuemin' => 0, + 'aria-valuemax' => 100, + ] ) + ->addClasses( [ 'oo-ui-progressBarWidget' ] ) + ->appendContent( $this->bar ); + } + + /** +* @return bool|int +*/ + public function getProgress() { + return $this->progress; + } + + /** +* @param bool|int $progress +*/ + public function setProgress( $progress ) { + $this->progress = $progress; + + if ( $progress !== false ) { + $this->setAttributes( [ + 'aria-valuenow' => $this->progress, + 'style' => 'width: ' . $this->progress . '%;' + ] ); + } else { + $this->removeAttributes( [ 'aria-valuenow' ] ); + } + $this->toggleClasses( [ 'oo-ui-progressBarWidget-indeterminate' ], !$progress ); + } +} -- To view, visit https://gerrit.wikimedia.org/r/304244 To unsubscribe, visit https://gerrit.wikimedia.org/r/settings Gerrit-MessageType: newchange Gerrit-Change-Id: Ib434a5c09699c9196be3d477578099267dceec90 Gerrit-PatchSet: 1 Gerrit-Project: oojs/ui Gerrit-Branch: master Gerrit-Owner: WMDE-leszek___ MediaWiki-commits mailing list MediaWiki-commits@lists.wikimedia.org https://lists.wikimedia.org/mailman/listinfo/mediawiki-commits
[MediaWiki-commits] [Gerrit] mediawiki...RevisionSlider[master]: Use OOjs UI help icon widget instead of button with message
WMDE-leszek has uploaded a new change for review. https://gerrit.wikimedia.org/r/302911 Change subject: Use OOjs UI help icon widget instead of button with message .. Use OOjs UI help icon widget instead of button with message This also adjusts position of the help icon so it better fits the available space. Bug: T139150 Change-Id: Iec7ec31a83a1a847cd68a994ecac12acf960d699 --- M extension.json M i18n/en.json M i18n/qqq.json M modules/ext.RevisionSlider.SliderView.js M modules/ext.RevisionSlider.css M modules/ext.RevisionSlider.init.js 6 files changed, 23 insertions(+), 30 deletions(-) git pull ssh://gerrit.wikimedia.org:29418/mediawiki/extensions/RevisionSlider refs/changes/11/302911/1 diff --git a/extension.json b/extension.json index 139df76..ecee199 100644 --- a/extension.json +++ b/extension.json @@ -93,7 +93,9 @@ ], "dependencies": [ "jquery.ui.draggable", + "oojs-ui", "ext.RevisionSlider.DiffPage", + "ext.RevisionSlider.HelpDialog", "ext.RevisionSlider.Pointer" ], "messages": [ diff --git a/i18n/en.json b/i18n/en.json index f43cf67..4a3e762 100644 --- a/i18n/en.json +++ b/i18n/en.json @@ -20,7 +20,6 @@ "revisionslider-loading-failed": "The RevisionSlider failed to load.", "revisionslider-arrow-tooltip-newer": "See newer revisions", "revisionslider-arrow-tooltip-older": "See older revisions", -"revisionslider-show-help": "?", "revisionslider-show-help-tooltip": "Show help text", "revisionslider-help-dialog-slide1": "The RevisionSlider helps you to navigate and compare revisions on the diff page. It is based on a [[m:WMDE_Technical_Wishes/RevisionSlider|community wish]] from the German-speaking community technical wishlist.", "revisionslider-help-dialog-slide2": "Each bar represents a page revision. Bars on the top show growth in size of the page, bars on the bottom show a reduction. In the image, revision 1 represents added content, while revision 2 represents removal of content.", diff --git a/i18n/qqq.json b/i18n/qqq.json index c96d1c7..6458cfa 100644 --- a/i18n/qqq.json +++ b/i18n/qqq.json @@ -22,7 +22,6 @@ "revisionslider-loading-failed": "Message shown if the RevisionSlider fails to initially load.", "revisionslider-arrow-tooltip-newer": "Text shown after hovering the button scrolling to newer revisions.", "revisionslider-arrow-tooltip-older": "Text shown after hovering the button scrolling to older revisions.", - "revisionslider-show-help": "A symbol shown in the \"Show help\" button.", "revisionslider-show-help-tooltip": "Text shown in a tooltip for the \"Show help\" button.", "revisionslider-help-dialog-slide1": "Text shown on the first slide of the help dialog.", "revisionslider-help-dialog-slide2": "Text shown on the second slide of the help dialog.", diff --git a/modules/ext.RevisionSlider.SliderView.js b/modules/ext.RevisionSlider.SliderView.js index 746a674..bd54a71 100644 --- a/modules/ext.RevisionSlider.SliderView.js +++ b/modules/ext.RevisionSlider.SliderView.js @@ -13,7 +13,7 @@ $.extend( SliderView.prototype, { revisionWidth: 16, - containerMargin: 120, + containerMargin: 140, /** * @type {jQuery} @@ -70,6 +70,7 @@ $slider = $( '' ) .addClass( 'mw-revslider-revision-slider' ) .css( { direction: $container.css( 'direction' ) } ), + helpIcon, self = this; if ( $slider.css( 'direction' ) === 'rtl' ) { @@ -78,6 +79,22 @@ this.pointerOlder = new mw.libs.revisionSlider.Pointer( 'mw-revslider-pointer-older' ); this.pointerNewer = new mw.libs.revisionSlider.Pointer( 'mw-revslider-pointer-newer' ); + + helpIcon = new OO.ui.IconWidget( { + icon: 'help', + classes: [ 'mw-revslider-show-help' ] + } ); + helpIcon.$element + .click( function () { + mw.libs.revisionSlider.HelpDialog.show(); + } ) + .tipsy( { + gravity: $( 'body' ).hasClass( 'ltr' ) ? 'se' : 'sw', + offset: 15, + title: function () { + return mw.msg(
[MediaWiki-commits] [Gerrit] mediawiki...RevisionSlider[master]: Use OOjs Popup Widgets instead of tipsy
WMDE-leszek has uploaded a new change for review. https://gerrit.wikimedia.org/r/302912 Change subject: Use OOjs Popup Widgets instead of tipsy .. Use OOjs Popup Widgets instead of tipsy Bug: T141983 Change-Id: I4b4ea427f82b15625537d859623461eceb1eb52b --- M RevisionSlider.hooks.php M extension.json M modules/ext.RevisionSlider.RevisionListView.js M modules/ext.RevisionSlider.SliderView.js M modules/ext.RevisionSlider.css M tests/browser/features/support/pages/diff_page.rb M tests/qunit/RevisionSlider.RevisionListView.test.js 7 files changed, 148 insertions(+), 96 deletions(-) git pull ssh://gerrit.wikimedia.org:29418/mediawiki/extensions/RevisionSlider refs/changes/12/302912/1 diff --git a/RevisionSlider.hooks.php b/RevisionSlider.hooks.php index 2addd2f..1938191 100644 --- a/RevisionSlider.hooks.php +++ b/RevisionSlider.hooks.php @@ -109,7 +109,6 @@ 'ext.RevisionSlider.HelpDialog', 'jquery.ui.draggable', 'jquery.ui.tooltip', - 'jquery.tipsy', 'oojs-ui' ], 'localBasePath' => __DIR__, diff --git a/extension.json b/extension.json index ecee199..18240a1 100644 --- a/extension.json +++ b/extension.json @@ -133,7 +133,7 @@ "revisionslider-minoredit" ], "dependencies": [ - "jquery.tipsy" + "oojs-ui" ] }, "ext.RevisionSlider.arrows.left": { diff --git a/modules/ext.RevisionSlider.RevisionListView.js b/modules/ext.RevisionSlider.RevisionListView.js index 468c259..9391416 100644 --- a/modules/ext.RevisionSlider.RevisionListView.js +++ b/modules/ext.RevisionSlider.RevisionListView.js @@ -16,12 +16,27 @@ /** * @type {number} */ + revisionWidth: 16, + + /** +* @type {number} +*/ + positionOffset: 0, + + /** +* @type {number} +*/ tooltipTimeout: -1, + + /** +* @type {OO.ui.PopupWidget} +*/ + currentTooltip: null, /** * @type {jQuery} */ - currentTooltip: null, + $highlightedRevisionWrapper: null, /** * @param {number} revisionTickWidth @@ -33,60 +48,32 @@ revs = this.revisionList.getRevisions(), maxChangeSizeLogged = Math.log( this.revisionList.getBiggestChangeSize() ), self = this, - i, diffSize, tooltip, relativeChangeSize, + i, diffSize, relativeChangeSize, showTooltip = function () { self.showTooltip( $( this ) ); - $( this ).tipsy( 'show' ); }, hideTooltip = function () { self.hideTooltip( $( this ) ); - }, - tooltipGravity = function () { - // Returns a function setting a gravity of the tooltip so that it will be entirely visible - // Based on tipsy's own $.fn.tipsy.autoBounds, with considering the width of the - // inner contents of the tooltip, and assuming the gravity always starts with 'n' - return function () { - var dir = 'n', - $this = $( this ), - $tip = $this.tipsy( true ).$tip, - boundLeft = $( document ).scrollLeft() + $tip.outerWidth(); - - if ( $this.offset().left < boundLeft ) { - dir += 'w'; - } - if ( $( window ).width() + $( document ).scrollLeft() - $this.offset().left < 0 ) { - dir += 'e'; - } - - return dir; - }; }; - positionOffset = positionOffset || 0; +
[MediaWiki-commits] [Gerrit] mediawiki...RevisionSlider[master]: Bump up the version in package.json
WMDE-leszek has uploaded a new change for review. https://gerrit.wikimedia.org/r/304182 Change subject: Bump up the version in package.json .. Bump up the version in package.json extension.json already states 1.0.0 Change-Id: I9265b96b932d3ebb88af201f724ee13aaab67e76 --- M package.json 1 file changed, 1 insertion(+), 1 deletion(-) git pull ssh://gerrit.wikimedia.org:29418/mediawiki/extensions/RevisionSlider refs/changes/82/304182/1 diff --git a/package.json b/package.json index bb7e63e..94b7ef0 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "RevisionSlider", - "version": "0.0.0", + "version": "1.0.0", "scripts": { "test": "grunt test" }, -- To view, visit https://gerrit.wikimedia.org/r/304182 To unsubscribe, visit https://gerrit.wikimedia.org/r/settings Gerrit-MessageType: newchange Gerrit-Change-Id: I9265b96b932d3ebb88af201f724ee13aaab67e76 Gerrit-PatchSet: 1 Gerrit-Project: mediawiki/extensions/RevisionSlider Gerrit-Branch: master Gerrit-Owner: WMDE-leszek___ MediaWiki-commits mailing list MediaWiki-commits@lists.wikimedia.org https://lists.wikimedia.org/mailman/listinfo/mediawiki-commits
[MediaWiki-commits] [Gerrit] mediawiki...RevisionSlider[master]: DNM Do not load RevisionSlider initially, add a button to sh...
WMDE-leszek has uploaded a new change for review. https://gerrit.wikimedia.org/r/304016 Change subject: DNM Do not load RevisionSlider initially, add a button to show/hide it .. DNM Do not load RevisionSlider initially, add a button to show/hide it Instead of loading RevisionSlider only add a little button to expand RevisionSlider on top of the diff page. This makes RevisionSlider only steal a bit of space over the diff, and only inserts quite a big slider to users that want to have it visible for the particular diff. API calls are only made once RevisionSlider has been expanded. This is re-submit of b0f229d75f905a9570497dc095b410f20f4b53ae that was reverted in I26427faaa00b38c2aa1377a66224c9062dcca302 Bug: T141871 Change-Id: I879de5774b2cce7b908e73cbbe869fd48d6afa23 --- M RevisionSlider.hooks.php M i18n/en.json M i18n/qqq.json M modules/ext.RevisionSlider.SliderView.js M modules/ext.RevisionSlider.css M modules/ext.RevisionSlider.init.js M tests/browser/features/betafeature.feature A tests/browser/features/expand.feature M tests/browser/features/help.feature M tests/browser/features/history.feature M tests/browser/features/pointers.feature M tests/browser/features/support/pages/diff_page.rb M tests/browser/features/support/step_definitions/common_steps.rb M tests/browser/features/timeline.feature M tests/browser/features/tooltips.feature 15 files changed, 185 insertions(+), 53 deletions(-) git pull ssh://gerrit.wikimedia.org:29418/mediawiki/extensions/RevisionSlider refs/changes/16/304016/1 diff --git a/RevisionSlider.hooks.php b/RevisionSlider.hooks.php index 1938191..09f3328 100644 --- a/RevisionSlider.hooks.php +++ b/RevisionSlider.hooks.php @@ -48,20 +48,55 @@ $out->addJsConfigVars( 'extRevisionSliderOldRev', $oldRev->getId() ); $out->addJsConfigVars( 'extRevisionSliderNewRev', $newRev->getId() ); $out->addJsConfigVars( 'extRevisionSliderTimeOffset', intval( $timeOffset ) ); + $out->enableOOUI(); + + // FIXME: this really not nice to inject those elements to ButtonWidget like that + // but this is only done to have inline styles set for those elements, so they are + // rendered as intended before RL loads all CSS styles (avoid jumping after CSS is loaded). + // Some better solution and more future-proof (what if ButtonWidget switches to use other tags?) + // should be used if possible. + $button = new OOUI\Tag( 'a' ); + $label = new OOUI\Tag( 'span' ); + $icon = new OOUI\Tag( 'span' ); + $button->setAttributes( [ 'style' => 'width: 100%;' ] ); + $label->setAttributes( [ 'style' => 'line-height: 1.875em;' ] ); + $icon->setAttributes( [ 'style' => 'float: right;' ] ); + + $toggleButton = new OOUI\ButtonWidget( [ + 'label' => ( new Message( 'revisionslider-toggle-label' ) )->text(), + 'icon' => 'expand', + 'button' => $button, + 'labelElement' => $label, + 'iconElement' => $icon, + 'id' => 'mw-revslider-slider-toggle', + 'classes' => [ 'mw-revslider-toggle-button' ], + 'infusable' => true, + 'framed' => false, + ] ); + $toggleButton->setAttributes( [ 'style' => 'width: 100%; text-align: center;' ] ); + $out->addHTML( Html::rawElement( 'div', [ 'id' => 'mw-revslider-container', - 'style' => 'min-height: 150px;', + 'style' => 'border: 1px solid #cc;' ], - Html::element( - 'p', + $toggleButton . + Html::rawElement( + 'div', [ - 'id' => 'mw-revslider-placeholder', - 'style' => 'text-align: center', + 'id' => 'mw-revslider-slider-wrapper', + 'style' => 'min-height: 142px; display: none; border-top: 1px solid #cc;', ], - ( new Message( 'revisionslider-loading-placeholder' ) )->text() + Html::element( + 'p', + [ +
[MediaWiki-commits] [Gerrit] Fix spelling of RevisionSlider - change (mediawiki...RevisionSlider)
WMDE-leszek has uploaded a new change for review. https://gerrit.wikimedia.org/r/299957 Change subject: Fix spelling of RevisionSlider .. Fix spelling of RevisionSlider Use consistenly "RevisionSlider" and not "Revision Slider" in messages Change-Id: If5474041198fc65f57cfae1199c9528871536373 --- M i18n/en.json M i18n/qqq.json 2 files changed, 3 insertions(+), 3 deletions(-) git pull ssh://gerrit.wikimedia.org:29418/mediawiki/extensions/RevisionSlider refs/changes/57/299957/1 diff --git a/i18n/en.json b/i18n/en.json index 5780352..f317b25 100644 --- a/i18n/en.json +++ b/i18n/en.json @@ -6,7 +6,7 @@ }, "revisionslider": "RevisionSlider", "revisionslider-desc": "Shows a slider allowing selecting and comparing of revisions on a diff page", -"revisionslider-beta-feature-message": "Revision Slider", +"revisionslider-beta-feature-message": "RevisionSlider", "revisionslider-beta-feature-description": "Show a revision slider when comparing two revisions of a page.", "revisionslider-label-date": "Date: $1", "revisionslider-label-page-size": "Page size: $1 {{PLURAL:$2|byte|bytes}}", @@ -25,7 +25,7 @@ "revisionslider-help-dialog-slide2": "Each bar represents a page revision. Bars on the top show growth in size of the page, bars on the bottom show a reduction. In the image, revision 1 represents added content, while revision 2 represents removal of content.", "revisionslider-help-dialog-slide3": "To compare certain revisions, select the revisions using the yellow and blue pointer.The blue pointer controls the newer revision, the yellow pointer maps to the older revision.Move the pointers by drag and drop or click on a bar.", "revisionslider-help-dialog-slide4": "Use the backward and forward arrows to move through revision history and show older and newer revisions.", -"revisionslider-tutorial": "Revision Slider Tutorial", +"revisionslider-tutorial": "RevisionSlider Tutorial", "revisionslider-previous-dialog": "Previous", "revisionslider-next-dialog": "Next", "revisionslider-close-dialog": "Close" diff --git a/i18n/qqq.json b/i18n/qqq.json index 7e39032..acb7b33 100644 --- a/i18n/qqq.json +++ b/i18n/qqq.json @@ -6,7 +6,7 @@ "Purodha" ] }, - "revisionslider": "Revision Slider, see https://www.mediawiki.org/wiki/Extension:RevisionSlider;, + "revisionslider": "RevisionSlider, see https://www.mediawiki.org/wiki/Extension:RevisionSlider;, "revisionslider-desc": "{{desc|name=RevisionSlider|url=https://www.mediawiki.org/wiki/Extension:RevisionSlider}};, "revisionslider-beta-feature-message": "Label for the revision slider Beta Feature.", "revisionslider-beta-feature-description": "Description for the revision slider Beta Feature, describing the feature that will be enabled.", -- To view, visit https://gerrit.wikimedia.org/r/299957 To unsubscribe, visit https://gerrit.wikimedia.org/r/settings Gerrit-MessageType: newchange Gerrit-Change-Id: If5474041198fc65f57cfae1199c9528871536373 Gerrit-PatchSet: 1 Gerrit-Project: mediawiki/extensions/RevisionSlider Gerrit-Branch: master Gerrit-Owner: WMDE-leszek___ MediaWiki-commits mailing list MediaWiki-commits@lists.wikimedia.org https://lists.wikimedia.org/mailman/listinfo/mediawiki-commits
[MediaWiki-commits] [Gerrit] Open links in the "tutorial" in the new window - change (mediawiki...RevisionSlider)
WMDE-leszek has uploaded a new change for review. https://gerrit.wikimedia.org/r/299962 Change subject: Open links in the "tutorial" in the new window .. Open links in the "tutorial" in the new window In particular, link to a Meta page on the related community wish should open in the new window/tab. Change-Id: Ib0d7bf679c9ac8a3ee2fdf2289fc53cfdfdaa671 --- M modules/ext.RevisionSlider.HelpDialog.js 1 file changed, 2 insertions(+), 0 deletions(-) git pull ssh://gerrit.wikimedia.org:29418/mediawiki/extensions/RevisionSlider refs/changes/62/299962/1 diff --git a/modules/ext.RevisionSlider.HelpDialog.js b/modules/ext.RevisionSlider.HelpDialog.js index ee23b4a..1ef6fc0 100644 --- a/modules/ext.RevisionSlider.HelpDialog.js +++ b/modules/ext.RevisionSlider.HelpDialog.js @@ -66,6 +66,8 @@ .html( mw.message( 'revisionslider-help-dialog-slide1' ).parse() ) ); + slide.$element.find( 'a' ).attr( 'target', '_blank' ); + return slide; }, -- To view, visit https://gerrit.wikimedia.org/r/299962 To unsubscribe, visit https://gerrit.wikimedia.org/r/settings Gerrit-MessageType: newchange Gerrit-Change-Id: Ib0d7bf679c9ac8a3ee2fdf2289fc53cfdfdaa671 Gerrit-PatchSet: 1 Gerrit-Project: mediawiki/extensions/RevisionSlider Gerrit-Branch: master Gerrit-Owner: WMDE-leszek___ MediaWiki-commits mailing list MediaWiki-commits@lists.wikimedia.org https://lists.wikimedia.org/mailman/listinfo/mediawiki-commits
[MediaWiki-commits] [Gerrit] Update a link to Meta page on the Technical Wishlist - change (mediawiki...RevisionSlider)
WMDE-leszek has uploaded a new change for review. https://gerrit.wikimedia.org/r/300052 Change subject: Update a link to Meta page on the Technical Wishlist .. Update a link to Meta page on the Technical Wishlist The Meta page has been moved so the link should also reflect that. The old Meta page is redirecting to the new one, so this is not a critical change. Bug: T140875 Change-Id: Id07c94aa28290b616693ee379451f30c278a75fb --- M i18n/en.json 1 file changed, 1 insertion(+), 1 deletion(-) git pull ssh://gerrit.wikimedia.org:29418/mediawiki/extensions/RevisionSlider refs/changes/52/300052/1 diff --git a/i18n/en.json b/i18n/en.json index f317b25..ebea2e6 100644 --- a/i18n/en.json +++ b/i18n/en.json @@ -21,7 +21,7 @@ "revisionslider-arrow-tooltip-older": "See older revisions", "revisionslider-show-help": "?", "revisionslider-show-help-tooltip": "Show help text", -"revisionslider-help-dialog-slide1": "The RevisionSlider helps you to navigate and compare revisions on the diff page. It is based on a [[m:WMDE_Technical_Wishes/Revision_Slider|community wish]] from the German-speaking community technical wishlist.", +"revisionslider-help-dialog-slide1": "The RevisionSlider helps you to navigate and compare revisions on the diff page. It is based on a [[m:WMDE_Technical_Wishes/RevisionSlider|community wish]] from the German-speaking community technical wishlist.", "revisionslider-help-dialog-slide2": "Each bar represents a page revision. Bars on the top show growth in size of the page, bars on the bottom show a reduction. In the image, revision 1 represents added content, while revision 2 represents removal of content.", "revisionslider-help-dialog-slide3": "To compare certain revisions, select the revisions using the yellow and blue pointer.The blue pointer controls the newer revision, the yellow pointer maps to the older revision.Move the pointers by drag and drop or click on a bar.", "revisionslider-help-dialog-slide4": "Use the backward and forward arrows to move through revision history and show older and newer revisions.", -- To view, visit https://gerrit.wikimedia.org/r/300052 To unsubscribe, visit https://gerrit.wikimedia.org/r/settings Gerrit-MessageType: newchange Gerrit-Change-Id: Id07c94aa28290b616693ee379451f30c278a75fb Gerrit-PatchSet: 1 Gerrit-Project: mediawiki/extensions/RevisionSlider Gerrit-Branch: master Gerrit-Owner: WMDE-leszek___ MediaWiki-commits mailing list MediaWiki-commits@lists.wikimedia.org https://lists.wikimedia.org/mailman/listinfo/mediawiki-commits
[MediaWiki-commits] [Gerrit] Fix the typo in a comment - change (mediawiki...BetaFeatures)
WMDE-leszek has uploaded a new change for review. https://gerrit.wikimedia.org/r/299135 Change subject: Fix the typo in a comment .. Fix the typo in a comment Change-Id: I7f78b345f7d3b032b028ce2a8b868e9a814cebc2 --- M BetaFeaturesHooks.php 1 file changed, 1 insertion(+), 1 deletion(-) git pull ssh://gerrit.wikimedia.org:29418/mediawiki/extensions/BetaFeatures refs/changes/35/299135/1 diff --git a/BetaFeaturesHooks.php b/BetaFeaturesHooks.php index df44cc3..271a96a 100644 --- a/BetaFeaturesHooks.php +++ b/BetaFeaturesHooks.php @@ -32,7 +32,7 @@ * An array of each of the available Beta Features, with their requirements, if any. * * This also includes a magic value of 'blacklist', which consequently MUST NOT be -* used as the name of any registerd Beta Feature. +* used as the name of any registered Beta Feature. */ private static $features = array(); -- To view, visit https://gerrit.wikimedia.org/r/299135 To unsubscribe, visit https://gerrit.wikimedia.org/r/settings Gerrit-MessageType: newchange Gerrit-Change-Id: I7f78b345f7d3b032b028ce2a8b868e9a814cebc2 Gerrit-PatchSet: 1 Gerrit-Project: mediawiki/extensions/BetaFeatures Gerrit-Branch: master Gerrit-Owner: WMDE-leszek___ MediaWiki-commits mailing list MediaWiki-commits@lists.wikimedia.org https://lists.wikimedia.org/mailman/listinfo/mediawiki-commits
[MediaWiki-commits] [Gerrit] Account for suppressed comments and users - change (mediawiki...RevisionSlider)
WMDE-leszek has submitted this change and it was merged. Change subject: Account for suppressed comments and users .. Account for suppressed comments and users Bug: T140397 Change-Id: Ie3a4d81da38f6b721c80738d725fc59cc4fec345 --- M modules/ext.RevisionSlider.Revision.js 1 file changed, 11 insertions(+), 3 deletions(-) Approvals: WMDE-leszek: Verified; Looks good to me, approved jenkins-bot: Verified diff --git a/modules/ext.RevisionSlider.Revision.js b/modules/ext.RevisionSlider.Revision.js index 2bbc78d..bd8cc10 100644 --- a/modules/ext.RevisionSlider.Revision.js +++ b/modules/ext.RevisionSlider.Revision.js @@ -7,11 +7,19 @@ var Revision = function ( data ) { this.id = data.revid; this.size = data.size; - this.comment = data.comment; - this.parsedComment = data.parsedcomment; this.timestamp = data.timestamp; - this.user = data.user; this.minor = data.hasOwnProperty( 'minor' ) && ( data.minor || data.minor === '' ); + + // Comments and users can be suppressed thus we must check if they exist + if ( typeof data.comment !== 'undefined' ) { + this.comment = data.comment; + } + if ( typeof data.parsedcomment !== 'undefined' ) { + this.parsedComment = data.parsedcomment; + } + if ( typeof data.user !== 'undefined' ) { + this.user = data.user; + } }; $.extend( Revision.prototype, { -- To view, visit https://gerrit.wikimedia.org/r/299041 To unsubscribe, visit https://gerrit.wikimedia.org/r/settings Gerrit-MessageType: merged Gerrit-Change-Id: Ie3a4d81da38f6b721c80738d725fc59cc4fec345 Gerrit-PatchSet: 2 Gerrit-Project: mediawiki/extensions/RevisionSlider Gerrit-Branch: master Gerrit-Owner: AddshoreGerrit-Reviewer: Aude Gerrit-Reviewer: Jakob Gerrit-Reviewer: Tobias Gritschacher Gerrit-Reviewer: WMDE-Fisch Gerrit-Reviewer: WMDE-leszek Gerrit-Reviewer: jenkins-bot <> ___ MediaWiki-commits mailing list MediaWiki-commits@lists.wikimedia.org https://lists.wikimedia.org/mailman/listinfo/mediawiki-commits
[MediaWiki-commits] [Gerrit] Use StatsdDataFactory service instead of deprecated RequestC... - change (mediawiki...Echo)
WMDE-leszek has uploaded a new change for review. https://gerrit.wikimedia.org/r/299171 Change subject: Use StatsdDataFactory service instead of deprecated RequestContext method .. Use StatsdDataFactory service instead of deprecated RequestContext method Change-Id: Ie291146f67b525d891614c23b17052500fc8aa51 --- M includes/DiscussionParser.php 1 file changed, 3 insertions(+), 1 deletion(-) git pull ssh://gerrit.wikimedia.org:29418/mediawiki/extensions/Echo refs/changes/71/299171/1 diff --git a/includes/DiscussionParser.php b/includes/DiscussionParser.php index 571ed87..6242b18 100644 --- a/includes/DiscussionParser.php +++ b/includes/DiscussionParser.php @@ -1,5 +1,7 @@ getStats(); + $stats = MediaWikiServices::getInstance()->getStatsdDataFactory(); foreach ( $links[NS_USER] as $dbk => $page_id ) { $user = User::newFromName( $dbk ); -- To view, visit https://gerrit.wikimedia.org/r/299171 To unsubscribe, visit https://gerrit.wikimedia.org/r/settings Gerrit-MessageType: newchange Gerrit-Change-Id: Ie291146f67b525d891614c23b17052500fc8aa51 Gerrit-PatchSet: 1 Gerrit-Project: mediawiki/extensions/Echo Gerrit-Branch: master Gerrit-Owner: WMDE-leszek___ MediaWiki-commits mailing list MediaWiki-commits@lists.wikimedia.org https://lists.wikimedia.org/mailman/listinfo/mediawiki-commits
[MediaWiki-commits] [Gerrit] Add ellipsis to loading message - change (mediawiki...RevisionSlider)
WMDE-leszek has submitted this change and it was merged. Change subject: Add ellipsis to loading message .. Add ellipsis to loading message Bug: T140579 Change-Id: I28add40fb9c9e88a5352a70d07a77521b74ffe03 --- M i18n/en.json 1 file changed, 1 insertion(+), 1 deletion(-) Approvals: WMDE-leszek: Looks good to me, approved jenkins-bot: Verified diff --git a/i18n/en.json b/i18n/en.json index f957b07..5780352 100644 --- a/i18n/en.json +++ b/i18n/en.json @@ -14,7 +14,7 @@ "revisionslider-label-comment": "Comment: ", "revisionslider-label-username": "Username: [[$2|$1]]", "revisionslider-minoredit": "This is a minor edit", -"revisionslider-loading-placeholder": "The revision slider is loading.", +"revisionslider-loading-placeholder": "The revision slider is loading...", "revisionslider-loading-failed": "The revision slider failed to load.", "revisionslider-loading-out-of-range": "The revision slider failed to load as the requested revisions are not in the top 500 versions of the page.", "revisionslider-arrow-tooltip-newer": "See newer revisions", -- To view, visit https://gerrit.wikimedia.org/r/299520 To unsubscribe, visit https://gerrit.wikimedia.org/r/settings Gerrit-MessageType: merged Gerrit-Change-Id: I28add40fb9c9e88a5352a70d07a77521b74ffe03 Gerrit-PatchSet: 1 Gerrit-Project: mediawiki/extensions/RevisionSlider Gerrit-Branch: master Gerrit-Owner: AddshoreGerrit-Reviewer: Siebrand Gerrit-Reviewer: WMDE-leszek Gerrit-Reviewer: jenkins-bot <> ___ MediaWiki-commits mailing list MediaWiki-commits@lists.wikimedia.org https://lists.wikimedia.org/mailman/listinfo/mediawiki-commits
[MediaWiki-commits] [Gerrit] Make RevisionList expect list of Revision object - change (mediawiki...RevisionSlider)
WMDE-leszek has uploaded a new change for review. https://gerrit.wikimedia.org/r/297339 Change subject: Make RevisionList expect list of Revision object .. Make RevisionList expect list of Revision object Despite its documentation the "constructor" of RevisionList tends to expect array of revision data in a format returned by API instead of array of Revision objects. Due to different name of ID fields in Revision object and in API array, if "real" Revision object is passed to RevisionList, its ID is lost. This changes RevisionList so that it only accepts an array of Revision objects. This provides better abstraction. This is basically a revert of I147270f28381038d05f8bcfd2317e8c269b2e458 which aimed at the same problem but suggested solution doesn't seem right. Change-Id: Ic45cdd3e7b707a8c6a19eecf0a84d4c11696cd1f --- M modules/ext.RevisionSlider.RevisionList.js M modules/ext.RevisionSlider.init.js M tests/qunit/RevisionSlider.DiffPage.test.js M tests/qunit/RevisionSlider.RevisionList.test.js M tests/qunit/RevisionSlider.RevisionListView.test.js M tests/qunit/RevisionSlider.Slider.test.js M tests/qunit/RevisionSlider.SliderView.test.js 7 files changed, 62 insertions(+), 27 deletions(-) git pull ssh://gerrit.wikimedia.org:29418/mediawiki/extensions/RevisionSlider refs/changes/39/297339/1 diff --git a/modules/ext.RevisionSlider.RevisionList.js b/modules/ext.RevisionSlider.RevisionList.js index 0c10001..e4a9476 100644 --- a/modules/ext.RevisionSlider.RevisionList.js +++ b/modules/ext.RevisionSlider.RevisionList.js @@ -29,8 +29,8 @@ var i, rev; for ( i = 0; i < revs.length; i++ ) { - rev = new mw.libs.revisionSlider.Revision( revs[ i ] ); - rev.setRelativeSize( i > 0 ? revs[ i ].size - revs[ i - 1 ].size : revs[ i ].size ); + rev = revs[ i ] + rev.setRelativeSize( i > 0 ? rev.getSize() - revs[ i - 1 ].getSize() : rev.getSize() ); this.revisions.push( rev ); } @@ -74,4 +74,17 @@ mw.libs.revisionSlider = mw.libs.revisionSlider || {}; mw.libs.revisionSlider.RevisionList = RevisionList; + + /** +* Transforms an array of revision data returned by MediaWiki API into +* an array of Revision objects +* +* @param {Array} revs +* @return {Revision[]} +*/ + mw.libs.revisionSlider.makeRevisions = function ( revs ) { + return revs.map( function ( revData ) { + return new mw.libs.revisionSlider.Revision( revData ); + } ); + }; }( mediaWiki, jQuery ) ); diff --git a/modules/ext.RevisionSlider.init.js b/modules/ext.RevisionSlider.init.js index 4ab9aa0..de04bc3 100644 --- a/modules/ext.RevisionSlider.init.js +++ b/modules/ext.RevisionSlider.init.js @@ -18,7 +18,7 @@ } revs.reverse(); - revisionList = new mw.libs.revisionSlider.RevisionList( revs ); + revisionList = new mw.libs.revisionSlider.RevisionList( mw.libs.revisionSlider.makeRevisions( revs ) ); $container = $( '#mw-revslider-container' ); slider = new mw.libs.revisionSlider.Slider( revisionList ); slider.getView().render( $container ); diff --git a/tests/qunit/RevisionSlider.DiffPage.test.js b/tests/qunit/RevisionSlider.DiffPage.test.js index b9556d7..1d42b43 100644 --- a/tests/qunit/RevisionSlider.DiffPage.test.js +++ b/tests/qunit/RevisionSlider.DiffPage.test.js @@ -2,7 +2,8 @@ var DiffPage = mw.libs.revisionSlider.DiffPage, SliderView = mw.libs.revisionSlider.SliderView, Slider = mw.libs.revisionSlider.Slider, - RevisionList = mw.libs.revisionSlider.RevisionList; + RevisionList = mw.libs.revisionSlider.RevisionList, + Revision = mw.libs.revisionSlider.Revision; QUnit.module( 'ext.RevisionSlider.DiffPage' ); @@ -14,9 +15,9 @@ var histLength, diffPage = new DiffPage(), sliderView = new SliderView( new Slider( new RevisionList( [ - { revid: 1, comment: '' }, - { revid: 3, comment: '' }, - { revid: 37, comment: '' } + new Revision( { revid: 1, comment: '' } ), + new Revision( { revid: 3, comment: '' } ), + new Revision( { revid: 37, comment: '' } ) ] ) ) ); mw.config.values.extRevisionSliderOldRev = 1; diff
[MediaWiki-commits] [Gerrit] Fix parameter type in docblock - change (mediawiki...RevisionSlider)
WMDE-leszek has uploaded a new change for review. https://gerrit.wikimedia.org/r/297340 Change subject: Fix parameter type in docblock .. Fix parameter type in docblock Change-Id: I62e9f2035d869aec5bee02f628623962fab17be9 --- M modules/ext.RevisionSlider.RevisionListView.js 1 file changed, 2 insertions(+), 2 deletions(-) git pull ssh://gerrit.wikimedia.org:29418/mediawiki/extensions/RevisionSlider refs/changes/40/297340/1 diff --git a/modules/ext.RevisionSlider.RevisionListView.js b/modules/ext.RevisionSlider.RevisionListView.js index cd7b5e6..d00d958 100644 --- a/modules/ext.RevisionSlider.RevisionListView.js +++ b/modules/ext.RevisionSlider.RevisionListView.js @@ -200,7 +200,7 @@ /** * Generates the HTML for the page size label * -* @param {int} size +* @param {number} size * @return {jQuery} */ makePageSizeLine: function ( size ) { @@ -212,7 +212,7 @@ /** * Generates the HTML for the change size label * -* @param {int} relativeSize +* @param {number} relativeSize * @return {jQuery} */ makeChangeSizeLine: function ( relativeSize ) { -- To view, visit https://gerrit.wikimedia.org/r/297340 To unsubscribe, visit https://gerrit.wikimedia.org/r/settings Gerrit-MessageType: newchange Gerrit-Change-Id: I62e9f2035d869aec5bee02f628623962fab17be9 Gerrit-PatchSet: 1 Gerrit-Project: mediawiki/extensions/RevisionSlider Gerrit-Branch: master Gerrit-Owner: WMDE-leszek___ MediaWiki-commits mailing list MediaWiki-commits@lists.wikimedia.org https://lists.wikimedia.org/mailman/listinfo/mediawiki-commits
[MediaWiki-commits] [Gerrit] mediawiki...RevisionSlider[master]: Make backward/forward arrows OO.ui.ButtonWidgets
WMDE-leszek has uploaded a new change for review. https://gerrit.wikimedia.org/r/303166 Change subject: Make backward/forward arrows OO.ui.ButtonWidgets .. Make backward/forward arrows OO.ui.ButtonWidgets Bug: T142206 Change-Id: I25c98e32c74235a2b70ac1d02c221f1898ba9958 --- M extension.json M modules/ext.RevisionSlider.SliderView.js M modules/ext.RevisionSlider.css D resources/ext.RevisionSlider.arrows/arrow-left-disabled.svg D resources/ext.RevisionSlider.arrows/arrow-left-enabled.svg D resources/ext.RevisionSlider.arrows/arrow-left-hovered.svg D resources/ext.RevisionSlider.arrows/arrow-right-disabled.svg D resources/ext.RevisionSlider.arrows/arrow-right-enabled.svg D resources/ext.RevisionSlider.arrows/arrow-right-hovered.svg M tests/browser/features/support/pages/diff_page.rb M tests/browser/features/support/step_definitions/timeline.rb 11 files changed, 88 insertions(+), 134 deletions(-) git pull ssh://gerrit.wikimedia.org:29418/mediawiki/extensions/RevisionSlider refs/changes/66/303166/1 diff --git a/extension.json b/extension.json index 18240a1..bc07861 100644 --- a/extension.json +++ b/extension.json @@ -37,8 +37,6 @@ "ext.RevisionSlider.RevisionList", "ext.RevisionSlider.HelpDialog", "ext.RevisionSlider.Api", - "ext.RevisionSlider.arrows.left", - "ext.RevisionSlider.arrows.right", "ext.RevisionSlider.pointers.lower", "ext.RevisionSlider.pointers.upper", "mediawiki.api.options" @@ -135,26 +133,6 @@ "dependencies": [ "oojs-ui" ] - }, - "ext.RevisionSlider.arrows.left": { - "position": "top", - "class": "ResourceLoaderImageModule", - "selector": ".mw-revslider-arrow-left.mw-revslider-arrow-{name}", - "images": { - "enabled": "resources/ext.RevisionSlider.arrows/arrow-left-enabled.svg", - "hovered": "resources/ext.RevisionSlider.arrows/arrow-left-hovered.svg", - "disabled": "resources/ext.RevisionSlider.arrows/arrow-left-disabled.svg" - } - }, - "ext.RevisionSlider.arrows.right": { - "position": "top", - "class": "ResourceLoaderImageModule", - "selector": ".mw-revslider-arrow-right.mw-revslider-arrow-{name}", - "images": { - "enabled": "resources/ext.RevisionSlider.arrows/arrow-right-enabled.svg", - "hovered": "resources/ext.RevisionSlider.arrows/arrow-right-hovered.svg", - "disabled": "resources/ext.RevisionSlider.arrows/arrow-right-disabled.svg" - } }, "ext.RevisionSlider.pointers.lower": { "position": "top", diff --git a/modules/ext.RevisionSlider.SliderView.js b/modules/ext.RevisionSlider.SliderView.js index da7fb26..96bc09c 100644 --- a/modules/ext.RevisionSlider.SliderView.js +++ b/modules/ext.RevisionSlider.SliderView.js @@ -41,6 +41,16 @@ pointerNewer: null, /** +* @type {OO.ui.ButtonWidget} +*/ + backwardArrowButton: null, + + /** +* @type {OO.ui.ButtonWidget} +*/ + forwardArrowButton: null, + + /** * @type {string} * * Value of scrollLeft property when in RTL mode varies between browser. This identifies @@ -63,7 +73,7 @@ render: function ( $container ) { var containerWidth = this.calculateSliderContainerWidth(), - pointerContainerPosition = 55, + pointerContainerPosition = 53, pointerContainerWidth = containerWidth + this.revisionWidth - 1, pointerContainerStyle, $revisions = this.slider.getRevisions().getView().render( this.revisionWidth ), @@ -116,6 +126,36 @@ } ); $( 'body' ).append( backwardArrowPopup.$element, forwardArrowPopup.$element, helpPopup.$element ); + this.backwardArrowButton = new OO.ui.ButtonWidget( { + icon: 'previous', + width: 20, + height: 140, + framed: true, +
[MediaWiki-commits] [Gerrit] mediawiki...RevisionSlider[master]: [DNM] Use moment.js's localized date and time format
WMDE-leszek has uploaded a new change for review. https://gerrit.wikimedia.org/r/303788 Change subject: [DNM] Use moment.js's localized date and time format .. [DNM] Use moment.js's localized date and time format Localized format of date containing month name, day, year and time is used instead of format enforcing the order of time and date, and use of short month name. Note: this should be only merged if there is consensus this is a right approach. See: T141167 Bug: T141167 Change-Id: I39b2844e777beb986cefb3097d52d481bb038a63 --- M modules/ext.RevisionSlider.Revision.js M tests/qunit/RevisionSlider.Revision.test.js 2 files changed, 5 insertions(+), 5 deletions(-) git pull ssh://gerrit.wikimedia.org:29418/mediawiki/extensions/RevisionSlider refs/changes/88/303788/1 diff --git a/modules/ext.RevisionSlider.Revision.js b/modules/ext.RevisionSlider.Revision.js index 4fa6f68..59b747d 100644 --- a/modules/ext.RevisionSlider.Revision.js +++ b/modules/ext.RevisionSlider.Revision.js @@ -123,7 +123,7 @@ // Moment's offset works "backwards", as the number of minutes // behind UTC, so we need to make this number negative var offset = -mw.libs.revisionSlider.userOffset; - return moment( rawDate ).zone( offset ).format( 'HH:mm, D MMM ' ); + return moment( rawDate ).zone( offset ).format( 'LLL' ); }, /** diff --git a/tests/qunit/RevisionSlider.Revision.test.js b/tests/qunit/RevisionSlider.Revision.test.js index f940274..6fec514 100644 --- a/tests/qunit/RevisionSlider.Revision.test.js +++ b/tests/qunit/RevisionSlider.Revision.test.js @@ -24,7 +24,7 @@ assert.equal( rev.isMinor(), false ); if ( mw.config.get( 'wgUserLanguage' ) === 'en' ) { - assert.equal( rev.getFormattedDate(), '10:27, 26 Apr 2016' ); + assert.equal( rev.getFormattedDate(), '26 April 2016 10:27 AM' ); } } ); @@ -58,7 +58,7 @@ mw.libs.revisionSlider.userOffset = 0; - assert.equal( rev.getFormattedDate(), '10:27, 26 Apr 2016' ); + assert.equal( rev.getFormattedDate(), '26 April 2016 10:27 AM' ); }, mw.config.get( 'wgUserLanguage' ) !== 'en' ); QUnit.revisionSlider.testOrSkip( 'getFormattedDate, offset: 120 (treat as hours, +2h)', function ( assert ) { @@ -69,7 +69,7 @@ // Berlin = 120 mw.libs.revisionSlider.userOffset = 120; - assert.equal( rev.getFormattedDate(), '12:27, 26 Apr 2016' ); + assert.equal( rev.getFormattedDate(), '26 April 2016 12:27 PM' ); }, mw.config.get( 'wgUserLanguage' ) !== 'en' ); QUnit.revisionSlider.testOrSkip( 'getFormattedDate, negative offset: -420 (treat as hours, -7h)', function ( assert ) { @@ -80,7 +80,7 @@ // San Francisco = -420 mw.libs.revisionSlider.userOffset = -420; - assert.equal( rev.getFormattedDate(), '03:27, 26 Apr 2016' ); + assert.equal( rev.getFormattedDate(), '26 April 2016 3:27 AM' ); }, mw.config.get( 'wgUserLanguage' ) !== 'en' ); QUnit.test( 'hasEmptyComment comment with whitespaces', function ( assert ) { -- To view, visit https://gerrit.wikimedia.org/r/303788 To unsubscribe, visit https://gerrit.wikimedia.org/r/settings Gerrit-MessageType: newchange Gerrit-Change-Id: I39b2844e777beb986cefb3097d52d481bb038a63 Gerrit-PatchSet: 1 Gerrit-Project: mediawiki/extensions/RevisionSlider Gerrit-Branch: master Gerrit-Owner: WMDE-leszek___ MediaWiki-commits mailing list MediaWiki-commits@lists.wikimedia.org https://lists.wikimedia.org/mailman/listinfo/mediawiki-commits
[MediaWiki-commits] [Gerrit] mediawiki...RevisionSlider[master]: Add link to extension talk page to the help popup
WMDE-leszek has uploaded a new change for review. https://gerrit.wikimedia.org/r/303796 Change subject: Add link to extension talk page to the help popup .. Add link to extension talk page to the help popup Bug: T142200 Change-Id: I119894e05f610850d1e4819a145c84653e138117 --- M i18n/en.json 1 file changed, 1 insertion(+), 1 deletion(-) git pull ssh://gerrit.wikimedia.org:29418/mediawiki/extensions/RevisionSlider refs/changes/96/303796/1 diff --git a/i18n/en.json b/i18n/en.json index 4a3e762..264bb85 100644 --- a/i18n/en.json +++ b/i18n/en.json @@ -21,7 +21,7 @@ "revisionslider-arrow-tooltip-newer": "See newer revisions", "revisionslider-arrow-tooltip-older": "See older revisions", "revisionslider-show-help-tooltip": "Show help text", -"revisionslider-help-dialog-slide1": "The RevisionSlider helps you to navigate and compare revisions on the diff page. It is based on a [[m:WMDE_Technical_Wishes/RevisionSlider|community wish]] from the German-speaking community technical wishlist.", +"revisionslider-help-dialog-slide1": "The RevisionSlider helps you to navigate and compare revisions on the diff page. It is based on a [[m:WMDE_Technical_Wishes/RevisionSlider|community wish]] from the German-speaking community technical wishlist. Feedback is very much appreciated [[mw:Extension_talk:RevisionSlider|here]].", "revisionslider-help-dialog-slide2": "Each bar represents a page revision. Bars on the top show growth in size of the page, bars on the bottom show a reduction. In the image, revision 1 represents added content, while revision 2 represents removal of content.", "revisionslider-help-dialog-slide3": "To compare certain revisions, select the revisions using the yellow and blue pointer.The blue pointer controls the newer revision, the yellow pointer maps to the older revision.Move the pointers by drag and drop or click on a bar.", "revisionslider-help-dialog-slide4": "Use the backward and forward arrows to move through revision history and show older and newer revisions.", -- To view, visit https://gerrit.wikimedia.org/r/303796 To unsubscribe, visit https://gerrit.wikimedia.org/r/settings Gerrit-MessageType: newchange Gerrit-Change-Id: I119894e05f610850d1e4819a145c84653e138117 Gerrit-PatchSet: 1 Gerrit-Project: mediawiki/extensions/RevisionSlider Gerrit-Branch: master Gerrit-Owner: WMDE-leszek___ MediaWiki-commits mailing list MediaWiki-commits@lists.wikimedia.org https://lists.wikimedia.org/mailman/listinfo/mediawiki-commits
[MediaWiki-commits] [Gerrit] mediawiki...RevisionSlider[master]: Do not load RevisionSlider initially, add button to load it
WMDE-leszek has uploaded a new change for review. https://gerrit.wikimedia.org/r/303536 Change subject: Do not load RevisionSlider initially, add button to load it .. Do not load RevisionSlider initially, add button to load it Instead of loading RevisionSlider only add a little button to expand RevisionSlider on top of the diff page. This makes RevisionSlider only steal a bit of space over the diff, and only inserts quite a big slider to users that want to have it visible for the particular diff. API calls are only made once RevisionSlider has been expanded. Bug: T141871 Change-Id: Ib312f6225b85b9ebdf4ac5d16e254a57d5cf6411 --- M RevisionSlider.hooks.php M i18n/en.json M i18n/qqq.json M modules/ext.RevisionSlider.css M modules/ext.RevisionSlider.init.js M tests/browser/features/betafeature.feature A tests/browser/features/expand.feature M tests/browser/features/help.feature M tests/browser/features/history.feature M tests/browser/features/pointers.feature M tests/browser/features/support/pages/diff_page.rb M tests/browser/features/support/step_definitions/common_steps.rb M tests/browser/features/timeline.feature M tests/browser/features/tooltips.feature 14 files changed, 182 insertions(+), 53 deletions(-) git pull ssh://gerrit.wikimedia.org:29418/mediawiki/extensions/RevisionSlider refs/changes/36/303536/1 diff --git a/RevisionSlider.hooks.php b/RevisionSlider.hooks.php index 1938191..10b7002 100644 --- a/RevisionSlider.hooks.php +++ b/RevisionSlider.hooks.php @@ -48,20 +48,55 @@ $out->addJsConfigVars( 'extRevisionSliderOldRev', $oldRev->getId() ); $out->addJsConfigVars( 'extRevisionSliderNewRev', $newRev->getId() ); $out->addJsConfigVars( 'extRevisionSliderTimeOffset', intval( $timeOffset ) ); + $out->enableOOUI(); + + // FIXME: this really not nice to inject those elements to ButtonWidget like that + // but this is only done to have inline styles set for those elements, so they are + // rendered as intended before RL loads all CSS styles (avoid jumping after CSS is loaded). + // Some better solution and more future-proof (what if ButtonWidget switches to use other tags?) + // should be used if possible. + $button = new OOUI\Tag( 'a' ); + $label = new OOUI\Tag( 'span' ); + $icon = new OOUI\Tag( 'span' ); + $button->setAttributes( [ 'style' => 'width: 100%;' ] ); + $label->setAttributes( [ 'style' => 'line-height: 1.875em;' ] ); + $icon->setAttributes( [ 'style' => 'float: right;' ] ); + + $toggleButton = new OOUI\ButtonWidget( [ + 'label' => ( new Message( 'revisionslider-toggle-label' ) )->text(), + 'icon' => 'expand', + 'button' => $button, + 'labelElement' => $label, + 'iconElement' => $icon, + 'id' => 'mw-revslider-slider-toggle', + 'classes' => [ 'mw-revslider-toggle-button' ], + 'infusable' => true, + 'framed' => false, + ] ); + $toggleButton->setAttributes( [ 'style' => 'width: 100%; text-align: center;' ] ); + $out->addHTML( - Html::rawElement( + Html::rawElement( // TODO: change to HTML::element? 'div', [ 'id' => 'mw-revslider-container', - 'style' => 'min-height: 150px;', + 'style' => 'border: 1px solid #cc;' ], - Html::element( - 'p', + $toggleButton . + Html::rawElement( + 'div', [ - 'id' => 'mw-revslider-placeholder', - 'style' => 'text-align: center', + 'id' => 'mw-revslider-slider-wrapper', + 'style' => 'min-height: 150px; display: none; border-top: 1px solid #cc;', ], - ( new Message( 'revisionslider-loading-placeholder' ) )->text() + Html::element( + 'p', + [ + 'id' => 'mw-revslider-placeholder', +
[MediaWiki-commits] [Gerrit] Highlight revision "wrapper" when mouse inside a tooltip - change (mediawiki...RevisionSlider)
WMDE-leszek has uploaded a new change for review. https://gerrit.wikimedia.org/r/296702 Change subject: Highlight revision "wrapper" when mouse inside a tooltip .. Highlight revision "wrapper" when mouse inside a tooltip Bug: T138946 Change-Id: I93da2bc2fad36dc2927fe4123f91cab470cb3553 --- M modules/ext.RevisionSlider.RevisionListView.js M modules/ext.RevisionSlider.css 2 files changed, 4 insertions(+), 1 deletion(-) git pull ssh://gerrit.wikimedia.org:29418/mediawiki/extensions/RevisionSlider refs/changes/02/296702/1 diff --git a/modules/ext.RevisionSlider.RevisionListView.js b/modules/ext.RevisionSlider.RevisionListView.js index 5695d75..440fa50 100644 --- a/modules/ext.RevisionSlider.RevisionListView.js +++ b/modules/ext.RevisionSlider.RevisionListView.js @@ -86,6 +86,7 @@ if ( this.tooltipTimeout !== -1 ) { window.clearTimeout( this.tooltipTimeout ); this.currentTooltip.tipsy( 'hide' ); + this.currentTooltip.removeClass( 'mw-revision-wrapper-hovered' ); } }, @@ -97,6 +98,7 @@ hideTooltip: function ( $rev ) { this.tooltipTimeout = window.setTimeout( function () { $rev.tipsy( 'hide' ); + $rev.removeClass( 'mw-revision-wrapper-hovered' ); }, 500 ); }, @@ -108,6 +110,7 @@ showTooltip: function ( $rev ) { this.hideCurrentTooltip(); $rev.tipsy( 'show' ); + $rev.addClass( 'mw-revision-wrapper-hovered' ); this.currentTooltip = $rev; }, diff --git a/modules/ext.RevisionSlider.css b/modules/ext.RevisionSlider.css index 921834e..393a965 100644 --- a/modules/ext.RevisionSlider.css +++ b/modules/ext.RevisionSlider.css @@ -58,7 +58,7 @@ z-index: 10; height: 140px; } -.mw-revision-wrapper:hover { +.mw-revision-wrapper:hover, .mw-revision-wrapper-hovered { background-color: #f2f2f2; transition: all ease 0.2s; -webkit-transition: all ease 0.2s; -- To view, visit https://gerrit.wikimedia.org/r/296702 To unsubscribe, visit https://gerrit.wikimedia.org/r/settings Gerrit-MessageType: newchange Gerrit-Change-Id: I93da2bc2fad36dc2927fe4123f91cab470cb3553 Gerrit-PatchSet: 1 Gerrit-Project: mediawiki/extensions/RevisionSlider Gerrit-Branch: master Gerrit-Owner: WMDE-leszek___ MediaWiki-commits mailing list MediaWiki-commits@lists.wikimedia.org https://lists.wikimedia.org/mailman/listinfo/mediawiki-commits
[MediaWiki-commits] [Gerrit] Make username in the tooltip a link - change (mediawiki...RevisionSlider)
WMDE-leszek has uploaded a new change for review. https://gerrit.wikimedia.org/r/296708 Change subject: Make username in the tooltip a link .. Make username in the tooltip a link Bug: T138944 Change-Id: Ifb2f33febbdf0f7c9584941b71596abb47fb8088 --- M modules/ext.RevisionSlider.RevisionListView.js 1 file changed, 10 insertions(+), 1 deletion(-) git pull ssh://gerrit.wikimedia.org:29418/mediawiki/extensions/RevisionSlider refs/changes/08/296708/1 diff --git a/modules/ext.RevisionSlider.RevisionListView.js b/modules/ext.RevisionSlider.RevisionListView.js index 440fa50..a25728b 100644 --- a/modules/ext.RevisionSlider.RevisionListView.js +++ b/modules/ext.RevisionSlider.RevisionListView.js @@ -143,7 +143,7 @@ ), rev.getUser() ? $( '' ).append( $( '' ).append( - mw.message( 'revisionslider-label-username', mw.html.escape( rev.getUser() ) ).parseDom() + mw.message( 'revisionslider-label-username', this.getUserLink( mw.html.escape( rev.getUser() ) ) ).parseDom() ) ) : '', this.makeCommentLine( rev ), @@ -156,6 +156,15 @@ return $tooltip.html(); }, + getUserLink: function( user ) { + return $( '' ) + .attr( 'href', mw.util.getUrl( + ( mw.util.isIPAddress( user, false ) ? 'Special:Contributions/': 'User:' ) + user + ) ) + .addClass( 'mw-userlink' ) + .text( user ); + }, + /** * Generates the HTML for the comment label * -- To view, visit https://gerrit.wikimedia.org/r/296708 To unsubscribe, visit https://gerrit.wikimedia.org/r/settings Gerrit-MessageType: newchange Gerrit-Change-Id: Ifb2f33febbdf0f7c9584941b71596abb47fb8088 Gerrit-PatchSet: 1 Gerrit-Project: mediawiki/extensions/RevisionSlider Gerrit-Branch: master Gerrit-Owner: WMDE-leszek___ MediaWiki-commits mailing list MediaWiki-commits@lists.wikimedia.org https://lists.wikimedia.org/mailman/listinfo/mediawiki-commits
[MediaWiki-commits] [Gerrit] Show a tooltip for the questionmark that opens the help text. - change (mediawiki...RevisionSlider)
WMDE-leszek has submitted this change and it was merged. Change subject: Show a tooltip for the questionmark that opens the help text. .. Show a tooltip for the questionmark that opens the help text. Bug: T138945 Change-Id: I6c3235bdf228d051c7039f188ff62d1137377bca --- M extension.json M i18n/en.json M i18n/qqq.json M modules/ext.RevisionSlider.init.js 4 files changed, 10 insertions(+), 0 deletions(-) Approvals: WMDE-leszek: Verified; Looks good to me, approved jenkins-bot: Verified diff --git a/extension.json b/extension.json index 3639156..5b93e36 100644 --- a/extension.json +++ b/extension.json @@ -45,6 +45,7 @@ ], "messages": [ "revisionslider-show-help", + "revisionslider-show-help-tooltip", "revisionslider-loading-out-of-range", "revisionslider-loading-failed" ], diff --git a/i18n/en.json b/i18n/en.json index 6371657..1929941 100644 --- a/i18n/en.json +++ b/i18n/en.json @@ -20,6 +20,7 @@ "revisionslider-arrow-tooltip-newer": "See newer revisions", "revisionslider-arrow-tooltip-older": "See older revisions", "revisionslider-show-help": "?", +"revisionslider-show-help-tooltip": "Show help text", "revisionslider-help-dialog-slide1": "The RevisionSlider helps you to navigate and compare revisions on the diff page. It is based on a [[m:WMDE_Technical_Wishes/Revision_Slider|community wish]] from the German-speaking community technical wishlist.", "revisionslider-help-dialog-slide2": "Each bar represents a page revision. Bars on the top show growth in size of the page, bars on the bottom show a reduction. In the image, revision 1 represents added content, while revision 2 represents removal of content.", "revisionslider-help-dialog-slide3": "To compare certain revisions, select the revisions using the yellow and blue pointer.The blue pointer controls the newer revision, the yellow pointer maps to the older revision.Move the pointers by drag and drop or click on a bar.", diff --git a/i18n/qqq.json b/i18n/qqq.json index 8b7fc30..0a1fdc9 100644 --- a/i18n/qqq.json +++ b/i18n/qqq.json @@ -21,6 +21,7 @@ "revisionslider-arrow-tooltip-newer": "Text shown after hovering the button scrolling to newer revisions.", "revisionslider-arrow-tooltip-older": "Text shown after hovering the button scrolling to older revisions.", "revisionslider-show-help": "A symbol shown in the \"Show help\" button.", + "revisionslider-show-help-tooltip": "Text shown in a tooltip for the \"Show help\" button.", "revisionslider-help-dialog-slide1": "Text shown on the first slide of the help dialog.", "revisionslider-help-dialog-slide2": "Text shown on the second slide of the help dialog.", "revisionslider-help-dialog-slide3": "Text shown on the third slide of the help dialog.", diff --git a/modules/ext.RevisionSlider.init.js b/modules/ext.RevisionSlider.init.js index 680dad0..882065f 100644 --- a/modules/ext.RevisionSlider.init.js +++ b/modules/ext.RevisionSlider.init.js @@ -37,6 +37,13 @@ } ) .text( mw.message( 'revisionslider-show-help' ).text() ) .addClass( 'mw-show-help' ) + .tipsy( { + gravity: $( 'body' ).hasClass( 'ltr' ) ? 'se' : 'sw', + offset: 15, + title: function () { + return mw.msg( 'revisionslider-show-help-tooltip' ); + } + } ) ); } catch ( err ) { if ( err === 'RS-rev-out-of-range' ) { -- To view, visit https://gerrit.wikimedia.org/r/296724 To unsubscribe, visit https://gerrit.wikimedia.org/r/settings Gerrit-MessageType: merged Gerrit-Change-Id: I6c3235bdf228d051c7039f188ff62d1137377bca Gerrit-PatchSet: 2 Gerrit-Project: mediawiki/extensions/RevisionSlider Gerrit-Branch: master Gerrit-Owner: JakobGerrit-Reviewer: Jakob Gerrit-Reviewer: Siebrand Gerrit-Reviewer: WMDE-leszek Gerrit-Reviewer: jenkins-bot <> ___ MediaWiki-commits mailing list MediaWiki-commits@lists.wikimedia.org https://lists.wikimedia.org/mailman/listinfo/mediawiki-commits
[MediaWiki-commits] [Gerrit] Replace article by page - change (mediawiki...RevisionSlider)
WMDE-leszek has submitted this change and it was merged. Change subject: Replace article by page .. Replace article by page Since the compared revisions do not only resemble article revisions, using page everywhere might be the better option. Change-Id: Ic215a02970bf39c35d4f516cdf292be95b590c77 --- M i18n/en.json M i18n/qqq.json 2 files changed, 2 insertions(+), 2 deletions(-) Approvals: WMDE-leszek: Verified; Looks good to me, approved jenkins-bot: Verified diff --git a/i18n/en.json b/i18n/en.json index 10167b3..13e747d 100644 --- a/i18n/en.json +++ b/i18n/en.json @@ -20,7 +20,7 @@ "revisionslider-arrow-tooltip-older": "See older revisions", "revisionslider-show-help": "?", "revisionslider-help-dialog-slide1": "The RevisionSlider helps you to navigate and compare revisions on the diff page. It is based on a [[m:WMDE_Technical_Wishes/Revision_Slider|community wish]] from the German-speaking community technical wishlist.", -"revisionslider-help-dialog-slide2": "Each bar represents an article revision. Bars on the top show growth in size of the article, bars on the bottom show a reduction. In the image, revision 1 represents added content, while revision 2 represents removal of content.", +"revisionslider-help-dialog-slide2": "Each bar represents a page revision. Bars on the top show growth in size of the page, bars on the bottom show a reduction. In the image, revision 1 represents added content, while revision 2 represents removal of content.", "revisionslider-help-dialog-slide3": "To compare certain revisions, select the revisions using the yellow and blue pointer.The blue pointer controls the newer revision, the yellow pointer maps to the older revision.Move the pointers by drag and drop or click on a bar.", "revisionslider-help-dialog-slide4": "Use the backward and forward arrows to move through revision history and show older and newer revisions.", "revisionslider-tutorial": "Revision Slider Tutorial", diff --git a/i18n/qqq.json b/i18n/qqq.json index e1f476f..e6f9906 100644 --- a/i18n/qqq.json +++ b/i18n/qqq.json @@ -10,7 +10,7 @@ "revisionslider-beta-feature-message": "Label for the revision slider Beta Feature.", "revisionslider-beta-feature-description": "Description for the revision slider Beta Feature, describing the feature that will be enabled.", "revisionslider-label-date": "Label describing the creation date of this revision.\nParameters:\n* $1 - Creation date.\n{{Identical|Date}}", - "revisionslider-label-page-size": "Label describing the size of this revision.\nParameters:\n* $1 - Formatted article size.\n* $2 - Article size as raw number.\n{{Identical|Page size}}", + "revisionslider-label-page-size": "Label describing the size of this revision.\nParameters:\n* $1 - Formatted page size.\n* $2 - Page size as raw number.\n{{Identical|Page size}}", "revisionslider-label-change-size": "Label describing the size of the change compared to the revision before.\nParameters:\n* $1 - Formatted change size colored with markup.\n* $2 - Change size as raw number.", "revisionslider-label-comment": "Label showing the edit summary of a revision.\n{{Identical|Comment}}", "revisionslider-label-username": "Label for the revision's author's username.\n{{doc-important|{{[[Gender|GENDER]]}} is '''NOT''' supported.}}\n\nParameters:\n* $1 - Username.\n\n{{Identical|Username}}", -- To view, visit https://gerrit.wikimedia.org/r/296391 To unsubscribe, visit https://gerrit.wikimedia.org/r/settings Gerrit-MessageType: merged Gerrit-Change-Id: Ic215a02970bf39c35d4f516cdf292be95b590c77 Gerrit-PatchSet: 2 Gerrit-Project: mediawiki/extensions/RevisionSlider Gerrit-Branch: master Gerrit-Owner: WMDE-FischGerrit-Reviewer: Addshore Gerrit-Reviewer: Jakob Gerrit-Reviewer: Siebrand Gerrit-Reviewer: WMDE-Fisch Gerrit-Reviewer: WMDE-leszek Gerrit-Reviewer: jenkins-bot <> ___ MediaWiki-commits mailing list MediaWiki-commits@lists.wikimedia.org https://lists.wikimedia.org/mailman/listinfo/mediawiki-commits
[MediaWiki-commits] [Gerrit] oojs/ui[master]: Do not make progress bar with zero progress indeterminate
WMDE-leszek has uploaded a new change for review. https://gerrit.wikimedia.org/r/304816 Change subject: Do not make progress bar with zero progress indeterminate .. Do not make progress bar with zero progress indeterminate Per docs only setting a progress to false should imply the progress bar is indeterminate. Change-Id: Id909f31135e2106c0505dcc82e44a06a3993698b --- M src/widgets/ProgressBarWidget.js 1 file changed, 1 insertion(+), 1 deletion(-) git pull ssh://gerrit.wikimedia.org:29418/oojs/ui refs/changes/16/304816/1 diff --git a/src/widgets/ProgressBarWidget.js b/src/widgets/ProgressBarWidget.js index 1b6ea78..fc1b029 100644 --- a/src/widgets/ProgressBarWidget.js +++ b/src/widgets/ProgressBarWidget.js @@ -92,5 +92,5 @@ this.$bar.css( 'width', '' ); this.$element.removeAttr( 'aria-valuenow' ); } - this.$element.toggleClass( 'oo-ui-progressBarWidget-indeterminate', !progress ); + this.$element.toggleClass( 'oo-ui-progressBarWidget-indeterminate', progress === false ); }; -- To view, visit https://gerrit.wikimedia.org/r/304816 To unsubscribe, visit https://gerrit.wikimedia.org/r/settings Gerrit-MessageType: newchange Gerrit-Change-Id: Id909f31135e2106c0505dcc82e44a06a3993698b Gerrit-PatchSet: 1 Gerrit-Project: oojs/ui Gerrit-Branch: master Gerrit-Owner: WMDE-leszek___ MediaWiki-commits mailing list MediaWiki-commits@lists.wikimedia.org https://lists.wikimedia.org/mailman/listinfo/mediawiki-commits
[MediaWiki-commits] [Gerrit] mediawiki...RevisionSlider[master]: WIP Use progress bar instead of text when initializing the s...
WMDE-leszek has uploaded a new change for review. https://gerrit.wikimedia.org/r/304849 Change subject: WIP Use progress bar instead of text when initializing the slider .. WIP Use progress bar instead of text when initializing the slider TODOs: - how do you center things with CSS in 2016? - is "title" message needed or just go with progress bar? Bug: T139233 Depends-On: Ib434a5c09699c9196be3d477578099267dceec90 Change-Id: I27d24c8d6fc5a357b4af9bf929799a237fd200d9 --- M RevisionSlider.hooks.php 1 file changed, 15 insertions(+), 5 deletions(-) git pull ssh://gerrit.wikimedia.org:29418/mediawiki/extensions/RevisionSlider refs/changes/49/304849/1 diff --git a/RevisionSlider.hooks.php b/RevisionSlider.hooks.php index 5d1fed7..9376c27 100644 --- a/RevisionSlider.hooks.php +++ b/RevisionSlider.hooks.php @@ -104,6 +104,12 @@ $out->addHTML( $pinIcon ); + $progressBar = new OOUI\ProgressBarWidget( [ 'progress' => false ] ); + $progressBar->setAttributes( [ + 'style' => 'margin: 0 auto;', + 'title' => ( new Message( 'revisionslider-loading-placeholder' ) )->text() + ] ); + $out->addHTML( Html::rawElement( 'div', @@ -120,13 +126,17 @@ 'style' => 'min-height: 142px; border-top: 1px solid #cc; padding: 10px;' . ( !$autoExpand ? ' display: none;' : '' ), ], - Html::element( - 'p', + Html::rawElement( + 'div', [ - 'class' => 'mw-revslider-placeholder', - 'style' => 'text-align: center', + 'style' => 'display: table; width: 100%; height: 142px;', + 'class' => 'mw-revslider-placeholder' ], - ( new Message( 'revisionslider-loading-placeholder' ) )->text() + Html::rawElement( + 'div', + [ 'style' => 'display: table-cell; vertical-align: middle;' ], + $progressBar + ) ) ) ) -- To view, visit https://gerrit.wikimedia.org/r/304849 To unsubscribe, visit https://gerrit.wikimedia.org/r/settings Gerrit-MessageType: newchange Gerrit-Change-Id: I27d24c8d6fc5a357b4af9bf929799a237fd200d9 Gerrit-PatchSet: 1 Gerrit-Project: mediawiki/extensions/RevisionSlider Gerrit-Branch: master Gerrit-Owner: WMDE-leszek___ MediaWiki-commits mailing list MediaWiki-commits@lists.wikimedia.org https://lists.wikimedia.org/mailman/listinfo/mediawiki-commits