Commit graph

589 commits

Author SHA1 Message Date
jenkins-bot a998e73f25 Merge "Remove unused jQuery.fadeTo() calls" 2023-08-28 05:58:48 +00:00
thiemowmde 2e8cfcba05 Dramatically simplify duplicate code in the PointerLine class
Turns out this code can only ever access a single underline: The one
it owns and can access via it's own this.$html property. One of the
two jQuery selectors always turned out empty, and calling .css() or
anything else on an empty jQuery collection just doesn't do anything.

This patch also contains a similar, but technically unrelated
cleanup in the init code.

Change-Id: Ic89b11971f51f5dcca67dcbd308f65310f48f0ec
2023-08-25 17:49:59 +02:00
thiemowmde e4c55ae5de Reduce code duplication in RevisionList class
Two almost identical pieces of code, both adding revisions to the
list.

There is a 3rd one that prepends revisions. I leave this untouched
for now.

Change-Id: I4798c8c2d6e0f9b70f7ea0dc20bb271514c03350
2023-08-25 17:48:51 +02:00
jenkins-bot a925f7957f Merge "Remove obsolete IE9 safe guard" 2023-08-25 14:52:25 +00:00
WMDE-Fisch cd90d01977 Append tooltip to focused pointer to allow tabbing into it
When the user uses the keyboard to interact with the slider, the
revisions can changed by moving the pointers with the arrorw keys.

In that case the pointers have keyboard focus. To allow tabbing
into the popup from that position, the tooltip needs to follow the
pointer in the DOM. That's what's done in this patch.

Bug: T341872
Change-Id: I75ef7c32fb105526552eac387ff5a5bda8eefe1b
2023-08-25 14:45:24 +00:00
WMDE-Fisch 690156b47c Trigger popup creation on pointer focus
Bug: T341872
Bug: T341874
Change-Id: Ia881bcccfe879f48275e896a186b257d270d88b0
2023-08-25 16:43:22 +02:00
thiemowmde 53281f2b7e Remove unused jQuery.fadeTo() calls
This is a little weird. It looks like this was never actually
animated. The time was always 0.

Change-Id: Ibd476bc3bfb05840959db9e51c411d3b12cebd90
2023-08-25 16:20:55 +02:00
thiemowmde 9f2f774cc4 Remove obsolete IE9 safe guard
Change-Id: I350cc395cb0ab673699cda03f6da19c9470ee7bb
2023-08-25 16:19:14 +02:00
jenkins-bot 72ef3975c7 Merge "Drop wikitext comment in favor of parsedcomment" 2023-08-25 13:54:56 +00:00
jenkins-bot 8ce1f474eb Merge "Don't re-create tooltip when it's already there" 2023-08-25 13:53:50 +00:00
WMDE-Fisch 8c4b9b963a Don't re-create tooltip when it's already there
It took me a while to come up with a solution for this, but there
are several things that seem to trigger the showTooltip method a
bit to often.

Tooltips can be triggered either by the handlers that deal with
mouseenter and mouseleave events that also trigger revision high-
lighling. But tooltips can also be triggered when you use the
keyboard or the mouse while dragging sliders.

The mechanics on what's highlighted and what's triggering a popup
are a bit weiridly setup and there could probably be a major re-
factoring done to make things clear ( for example the show popup
method also highlights the revision but the highlight revision
mehtod does not ). I had a quick approach to fix that, but it's
not too easy.

Another issue is, that some events fire off a delayed popup close
mechanism. So the solution here reads like:

If you are triggered to show a popup, and that popup exists
already, stop the delayed popup close mechanism and bail out.

Bug: T341872
Change-Id: I2646a69cccd549af902d57fdf4ff6fb0e94cbe64
2023-08-25 15:35:06 +02:00
thiemowmde 3d93003dcc Drop wikitext comment in favor of parsedcomment
The plain wikitext comment is apparently not used for anything,
anywhere. It was for some reason used for an "is empty" check. But
we can do the same with the `parsedcomment`. I checked and an empty
comment doesn't result in something non-empty like `<div></div>`, but
stays as an empty string.

Change-Id: Iedc5898b7b0f82231328ab3e0e46b1461ca845b1
2023-08-25 14:42:32 +02:00
thiemowmde 5863e5e73b Make use of jQuery.append() accepting multiple arguments
Change-Id: Ibfd285aeef411f16ba6486fa60114439227b7e6e
2023-08-25 14:39:39 +02:00
thiemowmde 040f6c28ae Fix left/right cursor key handler also acting on all other keys
This code was designed for the left/right cursor keys. But it
currently triggers on all keys. This causes confusing behavior when
tabbing through the UI. This code also triggers on tab/shift+tab,
which can be visibly seen when the wrong popup opens. It also
triggers on enter, which feels like it's intentional, but is nore a
happy accident.

Especially note how the buildTabbingRulesOnKeyUp handler directly
below does the exact same: It only acts on left/right, but no other
key.

We intentionally keep the existing (even if bogus) behavior for the
enter key. To be replaced with something better in a later patch.

Bug: T341874
Change-Id: I75aac4ea3a66a69a44756159c8a98acdc6e74b01
2023-08-25 11:36:22 +02:00
thiemowmde 6b4894c4fb Replace numeric key codes with OO.ui.Keys constants
Bug: T341874
Change-Id: I5393ecfea28938b6d9f79efd80e00ee7d76dfbf0
2023-08-25 10:41:44 +02:00
jenkins-bot f204bfe708 Merge "Replace switch with a map in util class" 2023-08-25 07:20:46 +00:00
jenkins-bot 03235ac917 Merge "Remove unused hasNoTags helper method" 2023-08-25 07:20:45 +00:00
thiemowmde dd9e9e25b4 Remove some self = this indirections that are not needed
Change-Id: I2c267e036a1b8ad395019b1aa3dcb29c21b9b251
2023-08-24 11:36:15 +00:00
thiemowmde a045c78b3d Remove unused hasNoTags helper method
Change-Id: I31b08328d8582bd75c6e972cfbfac7b555455015
2023-08-24 11:29:18 +02:00
thiemowmde 8eff7a7455 Replace switch with a map in util class
Change-Id: If569e34f032ecda261f7970d5ef1e59efc55d56c
2023-08-24 10:59:26 +02:00
Adam Wight b900446572 Migrate JS to ES6
Reintroduces IIFE closures in test files because variables were
declared in the global namespace, and "const" now causes hard errors.

Bug: T339323
Change-Id: I69e9d7a29591137f185f3e5ab02dea590ec4dff6
2023-06-23 08:01:31 +02:00
jenkins-bot 9219f80a65 Merge "Dramatically simplify a forEach loop" 2023-06-15 15:57:47 +00:00
thiemowmde fdc1b1212a Dramatically simplify a forEach loop
I'm not sure why it was done like this. It looks like we can skip
both the extra conditional as well as the extra function scope.

Change-Id: I9aebd17bece0b9a573fc1f9697e79b759741751e
2023-06-15 12:16:59 +02:00
thiemowmde 3ca3013522 Add overflow-x: clip to minimize impact of resize issues
This is certainly not an actual fix for anything. But it makes any
resize issue look much less broken and much more bearable. I think it
is helpful to have this extra safety in place even after we properly
fixed the issue.

Bug: T336729
Change-Id: I724ede9cda120f18c4b7ee3ebf7bb41c0541819e
2023-06-15 12:15:56 +02:00
WMDE-Fisch 7b385ee3ef Skip user setting for unnamed users
Bug: T326908
Change-Id: I6421ad020db98d258c45d1f50d211d38b5c6f3a9
2023-05-24 06:13:56 +00:00
Fomafix 6c0d10ddbe Use .empty().append( $jQueryObject ) instead of .html( $jQueryObject )
According to https://api.jquery.com/html/ a jQuery object is not
supported in .html() although is works.

The .empty() is needed to avoid multiple sliders on resize.

Change-Id: I0ce4748e95529dbe27f82d6fd0aa2433bfda4375
2023-04-22 19:16:31 +00:00
Fomafix 65d1dfefbf Use document.body instead of 'body' as jQuery selector
Change-Id: I2e74d31b61f5f46d1bbb1a0283a7468af9c4e856
2023-04-21 08:52:25 +00:00
Fomafix c86df62861 Use mw.msg( ... ) instead of mw.message( ... ).text()
Change-Id: If954018fdfa5a3609bf48e92de9013b05c485f93
2023-04-21 06:36:08 +00:00
Umherirrender e00aa9f599 stylelint: Enable selector-pseudo-element-colon-notation
Via stylelint --fix

Change-Id: Ic1625ae755233e172cc6db734dc21ed2c5b377d8
2023-03-30 00:42:20 +02:00
libraryupgrader 88f6eccd11 build: Updating npm dependencies
* eslint-config-wikimedia: 0.22.1 → 0.24.0
* grunt: 1.5.3 → 1.6.1
* stylelint-config-wikimedia: 0.13.0 → 0.14.0
  The following rules are failing and were disabled:
  * selector-pseudo-element-colon-notation

Change-Id: Ic78a5aa7fca2d917054eb26b5c8d46c008870484
2023-03-22 21:18:23 +00:00
Umherirrender e62fbf5581 build: Remove unneeded inline stylelint-disable-next-line
The error is suppressed in the .stylelintrc.json file and
does not need inline suppression

Change-Id: I476534fdcd521a2884a6be3b7c8ac5c9d1826ef1
2023-03-21 22:53:26 +01:00
thiemowmde f7a171e14d Fix and add missing JSDoc type hints in SliderView class
Mostly motivated by the missing @type tag.

Also make the syntax more compact. This is significantly easier to
read, I would like to argue.

Change-Id: If5cea5ff66ed345df16a2b417f0db4c56db347c9
2022-11-22 14:32:33 +01:00
Thiemo Kreuz 3faf7ff34c Fix broken initial state when old/new revision id are swapped
This might not be the best possible solution, but it improves the
current, obviously broken situation a lot. At the moment one of the
dots is drawn outside of the slider, even if the revision it should
point at is part of the slider. Turns out the revisions shown on the
slider are loaded in multiple steps. The first step misses one of the
revisions when their order is swapped. When the missing revision is
added later it's already to late.

Bug: T168609
Change-Id: I10d15d04d981c87d35b2431080182fb5e3eb2b2b
2022-09-09 11:18:10 +02:00
Ed Sanders 4ed783c2e7 Remove unnecessary vendor prefixes
Change-Id: I1777f850595b3163e47e353aa02194ba838aebeb
2022-07-19 17:23:08 +01:00
jenkins-bot 643f4d7a27 Merge "Modernize and simplify smaller pieces of code in API module" 2022-06-22 19:36:03 +00:00
Thiemo Kreuz fd9b17633b Modernize and simplify smaller pieces of code in API module
Change-Id: Ic3f65516a76b0e4f03013587b164a56ad3785185
2022-06-22 13:11:52 +00:00
jenkins-bot bc9a5d7d84 Merge "Replace html paragraph tags in i18n" 2022-03-28 13:27:39 +00:00
Mortal303 9dc6fa7fb2 Replace html paragraph tags in i18n
Removed the HTML in the tutorial message and used linebreaks(\n\n) in i18n/en.json file,
replaced .html( mw.message( '…' ).…() ) with .text( mw.msg( '…' ) ) in modules/ext.RevisionSlider.HelpDialog.js
and added 'white-space: pre-wrap' in class '.mw-revslider-column-text' in file modules/ext.RevisionSlider.less
without affecting the front end of the page.

Bug: T267128
Change-Id: Iaf8b1819ca3139c18fb65cfca1c0b2120abb10f4
2022-03-21 15:49:07 +05:30
Ed Sanders 4a44f8c2e5 build: Update devDependencies
Change-Id: I0bbd117b2b3ebdfee8deb7ed38b409a561f570d5
2022-03-17 22:55:02 +00:00
WMDE-Fisch 1fa153aeab Fix issues to prepare for lint update
The new mw eslint config comes with node 12 and the change will be
quite big due to the lock file. I wanted to keep the diff of actual
code changes seperate.

- Applied all code style recommendations
- Removed one test that's not giving any value
- Changed regex .match to .test for performance and convinience

Change-Id: I578be8c6460c7a4d1220354c028a9bfd9bb86d13
2022-01-13 13:59:53 +01:00
Thiemo Kreuz 9aca3a2593 Merge ….RevisionList ResourceLoader module away
It's never used in another context but together with the
….Slider module.

Motivated by the confusion about the two types of require()
introduced in Idf1cc79.

Bug: T233279
Change-Id: I922d7ab56fd3ce80bc901f1a5d7174df6fe6756d
2021-12-20 12:13:09 +01:00
jenkins-bot d8c013e323 Merge "Merge ….HelpDialog ResourceLoader module away" 2021-12-17 13:48:22 +00:00
jenkins-bot fd8b96b791 Merge "Merge ….Pointer ResourceLoader module away" 2021-12-17 13:48:20 +00:00
Thiemo Kreuz 1407e0a90d Merge ….HelpDialog ResourceLoader module away
It's never used in another context but together with the
….Slider module as well as the ….init module. The ….init
module continues to require the ….Slider module, so all
dependencies are still met.

Motivated by the confusion about the two types of require()
introduced in Idf1cc79.

Bug: T233279
Change-Id: I4b4ef69f3074d57f884763c092a515ce976daaef
2021-12-16 16:45:41 +01:00
Thiemo Kreuz 319061c92a Merge ….Pointer ResourceLoader module away
It's never used in another context but together with the
….Slider module.

Motivated by the confusion about the two types of require()
introduced in Idf1cc79.

Bug: T233279
Change-Id: I7c98a41051e6d83ab3524cb14a709002feec2d78
2021-12-16 16:39:07 +01:00
Ed Sanders dcf19784eb Define documentable types in eslintrc instead of inline
Change-Id: I20e805839a13697ffea8d4a2f92b1c3a4b023175
2021-10-17 15:35:14 +01:00
Ed Sanders 64effa6e42 Move var declarations inline
Change-Id: If1256b01f6ac8237c79b5ba62f20ad65f1dc7691
2021-10-07 14:55:44 +01:00
Thiemo Kreuz a2bd859b29 Simplify/reformat code pieces with a lot of duplication
Change-Id: I7f933bb0d5c82858e5ab1831f9021f67e373ff69
2021-07-01 09:16:34 +02:00
Thiemo Kreuz c8ddf3c9b9 Fix jQuery.offset() calculation possibly failing
It turns out the jQuery documentation is incomplete:

  $( '<a>' ).offset() → { top: 0, left: 0 }
  $( '<a>' ).parent().offset() → undefined

The difference is that the jQuery set in the second example is
empty.

Bug: T282067
Change-Id: I7c19162f1a39bd529e0a74a6cc0c1ac987f33657
2021-06-21 15:35:21 +02:00
Volker E e39dc66484 build: Change 'stylelint' config rule to '*disallowed-list'
Available since 'stylelint-config-wikimedia' v0.10.3.

Bug: T279431
Change-Id: Ia537ebaa27935887f011f431647040f4a2357fa5
2021-04-28 02:52:08 -07:00
Volker E b0b3dcbed0 styles: Remove obsolete -moz- vendor prefixed rules
Bug: T278670
Change-Id: I99d91408feb7a87162522a1207dc7469d5bdd5f4
2021-03-29 02:51:54 -07:00
jenkins-bot 25c1078223 Merge "Migrate Slider module to packageFiles" 2020-11-19 13:59:52 +00:00
jenkins-bot 9f41794d86 Merge "Migrate RevisionList to packageFiles" 2020-11-19 13:57:20 +00:00
Adam Wight 8132e43a20 Migrate Slider module to packageFiles
Change-Id: Idf1cc799ab37ec8f49b3a28d161b6cd53090f707
2020-11-19 09:13:45 +00:00
Adam Wight ebd9985afc Migrate RevisionList to packageFiles
Change-Id: I3299d3a4bc66a3b85d0d0f7d8a49edbf8f6329c3
2020-11-19 08:54:10 +00:00
Thiemo Kreuz 6235d4b075 Add some missing @class type hints
Change-Id: I2395e96667d4cd2847fedd5697cff665d212192e
2020-11-18 11:51:22 +01:00
Thiemo Kreuz 4ac1ff57f1 Remove closure wrappers from all JavaScript code
These are not needed any more, because the code runs in a
seperate scope anyway.

Change-Id: I939a06102f194a0c98021accb2f62be73dd0562f
2020-11-18 11:16:04 +01:00
jenkins-bot df52b15efb Merge "Get rid of all var … = function () {} declarations" 2020-11-16 15:15:32 +00:00
Thiemo Kreuz c57fe0f2b6 Get rid of all var … = function () {} declarations
… and replace them with more trivial `function …() {}`. I
believe this does not make any difference. But I feel this
makes the code a little more straightforward.

The motivation for this patch is because a few other patches
change some of these function declarations, leaving a (in my
opinion) confusing mixture of styles behind.

Change-Id: Ib8928c4176a963afcf1fee1c785dd7bdc86c9706
2020-11-12 19:23:40 +00:00
WMDE-Fisch 9386cb6f65 Improve some JSDoc blocks
- mostly fine graining Event objects referenced
- removing one obsolete parameter doc

Change-Id: I1270c4b8100da647ca0739f7f3571bd48d484137
2020-11-12 15:48:27 +01:00
gopavasanth 748e4970f0 Fixed text wrapping to avoid word break in tooltip
Bug: T208318
Change-Id: Ib6ab38fdf99a14be237f3b611df24a9854781572
2020-11-03 16:57:31 +05:30
Adam Wight ddcd65f4de Migrate Pointer to packageFiles
Change-Id: I8e06c9eeb47688741a95bca8f996b2148b03028c
2020-09-21 18:14:07 +00:00
jenkins-bot 1e13c311e8 Merge "Migrate HelpDialog to packageFiles" 2020-09-21 07:21:33 +00:00
Ed Sanders 49d6f1ef8f build: Update eslint-config-wikimedia to 0.17.0
Fix instances of variable shadowing.

Change-Id: I9f8d4dcab8cb400d04600e7bb543ddda2705d1df
2020-09-11 16:28:52 +01:00
gopavasanth 2f14374d0a Fixed vertical alignment of tooltips
Removed padding for the tooltips of Slider left, right arrows and
help button.

Bug: T255752
Change-Id: Iec9d5bc765f627291c9b9824dbd98877d9ee496d
2020-06-19 23:47:05 +05:30
Ed Sanders eaa7966710 build: Update eslint-config-wikimedia to 0.16.1
Mostly documentation style fixes

Change-Id: I75262aead377f7f41931de44c5208b7b7d06930d
2020-06-16 15:13:36 +01:00
jenkins-bot 1d43c464ac Merge "Do not show entries for hidden tags" 2020-04-13 14:14:25 +00:00
jenkins-bot e8d659495b Merge "Use tag displaynames when fetching additional revisions" 2020-04-13 14:14:05 +00:00
Adam Wight c9958c5edd Migrate HelpDialog to packageFiles
FIXME: Reusing HelpDialog as a module entrypoint creates a circular
reference.  It's harmless because the dependencies are added at
different times, but also easy to refactor away.

Change-Id: I3608a78baddf2376cc9eb4524625f4911c130c06
2020-04-05 01:50:48 +02:00
Adam Wight d369701709 Migrate Settings module to packageFiles
Change-Id: I984404dd216fff469d7891f4f69a92d83d19d1c4
2020-04-05 01:37:15 +02:00
Bartosz Dziewoński 0699e09dd8 Do not show entries for hidden tags
Bug: T249266
Change-Id: I7e83523c5e8f088efaf95acb339973e0f805ff48
2020-04-02 21:00:02 +00:00
Bartosz Dziewoński 36c51562f6 Use tag displaynames when fetching additional revisions
They were previously only used for the initial fetch.

Bug: T249266
Change-Id: Iecf0fcf6bc0a691b0e3e5d13adbe75abbecb54da
2020-04-02 20:59:48 +00:00
jenkins-bot 4124a82ebf Merge "Improve discoverability of JS code with @class tags" 2020-01-24 18:01:43 +00:00
jenkins-bot 659b492cb8 Merge "Fix misplaced pin" 2020-01-24 17:58:37 +00:00
Thiemo Kreuz 7f38c9c579 Improve discoverability of JS code with @class tags
In my PHPStorm IDE, this makes it possible to follow all methods and
properties in these classes, even these that are later defined.
Otherwise only the empty stub of each class is found.

This might be different in other IDEs.

Basically: PHPStorm does not understand the meaning of the $.extend()
syntax from jQuery without these hints.

Change-Id: I4aa76db183122f6669dc72561441f46f0056d793
2020-01-24 17:21:23 +01:00
WMDE-Fisch 0435e0b5d2 Fix misplaced pin
Removed some hacks that messed with the position and size of the icon.

Bug: T243593
Change-Id: Iaaa4027ec8c094cc8d103615aad646c3331a3ba3
2020-01-24 13:30:03 +01:00
WMDE-Fisch f121c62990 Fix misplaced arrow icon on slider buttons
Seems like OOUI changes lead to this hack not beeing used anymore.

Bug: T243592
Change-Id: Ib12f5eef69e57abc78c89680144505b4a92b2145
2020-01-24 13:16:42 +01:00
Ed Sanders 28bc463836 build: Update linters
Change-Id: Ia316dd09b6d6b7452610ff2b8816a146a3bb48a4
2019-12-11 13:42:51 +00:00
WMDE-Fisch a4df17a922 build: Upgrade stylelint-config-wikimedia from 0.5.0 to 0.6.0 and make pass
Change-Id: I1db434584d6927cf0322fdbd6253ebb1846537c0
2019-07-03 12:14:05 +02:00
WMDE-Fisch 7c47e6e981 Apply user highlighting for all revisions in DOM
This only solves part of the issue. Highlighting is applied for more
elements since they are retrieved from the DOM. The problem still exists
since highlighting depends on the RevisionList chunk on which is it applied.

To fix the issue completely highlighing should be managed somehow globally
on the global list.

Bug: T207781
Change-Id: Idda930f3d0dd64e767c68dade2ca8759bc636898
2019-05-19 11:27:59 +02:00
WMDE-Fisch 9e73c7d2c1 Fix re-highlighting of revisions
This was broken for obvious reasons. Also adding a test.

Change-Id: Ib6e8988884ff84472928758d4112574e17fa48be
2019-04-25 11:15:14 +02:00
WMDE-Fisch 98c33c4731 Extract reapplication of saved filter state
Change-Id: If770e0cb52034a5f52bc8bb3639c9dccdf64b683
2019-04-12 19:15:18 +00:00
WMDE-Fisch d4a3ec243e Use switch statement for filter events
Change-Id: I0f564e33744d3806682534267c4b922edd5e9b3c
2019-04-12 19:15:12 +00:00
WMDE-Fisch bd38ccaf98 Early exit filter events
Change-Id: I72fd4a1496f6c0247a9166ba54ce3de2918bc310
2019-04-12 19:15:05 +00:00
WMDE-Fisch 32cf219c4e Extract code that resets/removes highlighting
The next iterration on avoiding code duplication. I
still stuggle a bit merging these methods in a sane
way.

Change-Id: I8d95acc06da7f83a6133e55becabdf03b26a97af
2019-04-12 19:13:20 +00:00
WMDE-Fisch a49cb0c466 General code reduction in the highlight event handlers
- make use of toggelCSS()
- use more general jQuery selectors ro reset the line and bubble highlight
- get rid of ~= when selecting revision ids

Change-Id: I123e263bb379107a561fe8a2ffed476da9032b88
2019-04-12 19:12:44 +00:00
WMDE-Fisch f4c64b744e Put event setup for user line highlighting in own method
This is mainly a copy of what's done for the tag lines to set the events.
In the next steps I'll try to avoid code duplication here be extracting
common code.

Change-Id: I29df109de30c538cc206d445abff8464baf45378
2019-04-12 19:09:50 +00:00
jenkins-bot 6f667e6143 Merge "Add node selenium tests for revision highlight feature" 2019-04-11 16:29:23 +00:00
WMDE-Fisch a2ca2c031e Add node selenium tests for revision highlight feature
The patch adds a first package of node selenium tests including
test for the user and tag filters.

The classes for user- and tag-rows were re-added to have better
access via selectors.

Change-Id: I8c53d9c923820e177d83ee900cee08e93cd3f65b
2019-04-11 17:58:53 +02:00
James D. Forrester 153ecb8990 build: Upgrade eslint-config-wikimedia from 0.10.1 to 0.11.0
Change-Id: I5a5aede4114b0e6d370904a08f10b327b4968a2d
2019-04-04 00:56:01 +00:00
WMDE-Fisch 6ddf000c0e Slighlty improve filter highlight UI
- move border to right so when the text starts there's a straight line
- increase right margin to fit mock
- adjust border radius so it's most probably always more than the line height

Bug: T218770
Change-Id: I76a2f096d14bf4d912686a71e5771ead1c7db3e6
2019-04-03 10:54:49 +02:00
WMDE-Fisch a96b079e8f Unify highlighting CSS classes
Change-Id: Iceb094075d1fb1bd4aca53c120dbc3c6ccd39eb6
2019-03-25 17:30:47 +01:00
WMDE-Fisch 55c558169b Retrieve revision list in highlighting method
This moves the retrieval of the revisions into the method setting the
highlighting. The check for undefined did not to much since the rev
var would still remain undefined.

Change-Id: I1acf540f135af4c16fb80d633b3690473ada7833
2019-03-25 17:21:03 +01:00
srish 6ee7f910b7 Add filters for tags
* Uses the existing implementation of highlighting revisions from the same user
* Shows bubble next to tags in Tooltip
* When you hover on a bubble, tag row is circled, and revisions with a specific tag gets highlighted. When hovering ends, highlighting ends. But, if there is an active filter available, all previous states are restored accordingly.
* When you click on a bubble, in addition to highlighting revisions and tag row, any previous tag or user filter is removed.

Bug: T203581
Change-Id: I824a027a7f542eb7227545870553e58ec23542bb
2019-03-25 16:57:57 +01:00
Ed Sanders 57f9876e27 build: Update eslint-config-wikimedia to 0.10.1
Change-Id: I8aeddc384d25318e8618bb617884205f1c0c1f00
2019-02-10 16:54:28 +00:00
gopavasanth cbf6d4b76c Quick CSS fix
Changed RevSlider tooltip user-row bubble height and width

Bug: T213643
Change-Id: I31278bf00730ba5993a881b695ebff2df2da7f6a
2019-01-16 17:54:33 +01:00
Thiemo Kreuz 2a2d01ffc9 Remove redundant checks for .length on jQuery objects
jQuery objects behave fine when they don't contain anything. No need
to check the .length before. This is one of the essential feature of
jQuery.

I'm also simplifying some setTimeout the same way. clearTimeout will
never fail. It will ignore numbers that never represented a timeout,
or have been cleared before. Note how the property was never set back
to -1. So this code was kind of incomplete anyway. I suggest to fix it
this way around, instead of trying to set -1.

Change-Id: Ic15812ead9d93f8eb07831aeb75577df2abdff07
2019-01-14 09:40:55 +01:00
srish ee10c6e665 Change the DOM order of pointers and rebuild styling
Initial patch for introducing keyboard shortcuts reversed the blue and yellow lines. To fix that issue, the DOM order for pointer lines were put back to the original state in https://gerrit.wikimedia.org/r/#/c/473217/. Now, this patch tries to put the tabbing order in place reversing the changes made for the fix as per discussion in https://phabricator.wikimedia.org/T162119#4753481 and style changes.

Bug: T162119
Change-Id: Ic84503de0a877095c118abddb8066aeb667bc03c
2018-12-07 13:02:39 +00:00
jenkins-bot 401c775ced Merge "Fixed Pointers and Pointer lines alignment" 2018-12-07 11:49:18 +00:00
Ed Sanders 6ea28c8cdc build: Update devDependencies
Change-Id: Ic278699f631ddc08243ceb68678c0715a19c4304
2018-12-04 18:05:18 -05:00
gopavasanth ae42b85975 Fixed Pointers and Pointer lines alignment
Bug: T210232
Change-Id: Iddb574442db4d0ea525b0806596663de79d3ec2e
2018-11-24 22:15:43 +05:30
jenkins-bot bebfbd788b Merge "Highlight revisions from the same user" 2018-11-22 14:37:31 +00:00
gopavasanth 9a7db48893 Highlight revisions from the same user
*Fixed Border Overlapping.
*Incresed 10% Darkness to the Highlited Revisions.

Bug: T136105
Change-Id: Ie7ba7631f9fe254391ad28be373de7bff4fd2ed1
2018-11-22 00:26:41 +05:30
Ed Sanders e62f46dd80 Remove obsolete aliases from closures
Bug: T208951
Change-Id: Icf10ea6bbc09542e69c0cd583a4ee4f2f76a3f43
2018-11-16 16:33:52 +00:00
Thiemo Kreuz (WMDE) e227de5a48 Fix (accidentally?) reversed blue and yellow lines
This reverts parts of the patch I4d8db23 (T162119) that have
accidentally been done, as far as I can tell.

Note the revert in this patch here is untested and might partly break
the keyboard navigation feature introduced via T162119. However, I
strongly suggest to fix the bug T208238 first, and look back at
T162119 later, possibly via a newly created ticket.

Bug: T162119
Bug: T208238
Change-Id: I0c03e472b72ddd1414d3ca61970dba15158a8486
2018-11-13 14:43:23 +00:00
Volker E f1cea8c889 Fix icon position of arrow buttons
Also
- fix arrow width to one size of `20px` and
- make use of `.box-sizing` mixin in one occurrence.

Bug: T207905
Depends-on: I09aea78f8ebde37cf4f7de9bf0e14894c76ee722
Change-Id: Ibf4a6c8b77877a34668e91b0f5cf6c11a23e9f88
2018-10-25 09:47:20 -07:00
Volker E 618850af6e Replace 'help' by 'helpNotice' icon
A free-standing, frameless button like this is better off with an
icon like 'helpNotice', part of OOUI since v0.28.2. It is a step
back to the original help icon appearance, the new one is still
available for example to use on toolbars.

Bug: T206753
Change-Id: I3d4102de2209e94fa732c1d1962c757fb7bca331
2018-10-11 10:50:56 +00:00
jenkins-bot 7b1688a2af Merge "Highlight revisions from the same user" 2018-10-10 09:27:21 +00:00
jenkins-bot ed42723579 Merge "Add keyboard shortcuts to move between revisions" 2018-10-10 09:26:05 +00:00
srish 1675096c7b Add keyboard shortcuts to move between revisions
* Added `tabindex` on yellow and blue knobs to enable tabbing
* Used some of the logic of draggable functionality to support moving between revisions with keyboard shortcuts
* Also changed the source order of old and new pointer. Old pointer comes first in the DOM

Bug: T162119
Change-Id: I4d8db2352915c44aa11617edea5bcb0ac92ddc93
2018-10-05 17:38:40 -07:00
gopavasanth 154180ba52 Highlight revisions from the same user
Completed subtasks

* Added bubble in the Tootltip
* Added border on clicking or hovering the bubble
* Highlites Bubble on hover
* When Clicked or hover on the Bubble: Highlights
  revisions from the same user
* Added filter revisions.

Bug: T136105
Change-Id: I64cfef395ce1812d501980067edffe210fc99227
2018-10-05 19:12:44 +05:30
Ed Sanders 351bdcfae7 build: Update linters
Change-Id: If21c9dbeba945d54c6bcf9b6e4edd586c5b411ca
2018-09-13 21:58:39 +01:00
jenkins-bot fdcf11a787 Merge "Rework and cleanup ext.RevisionSlider.DiffPage code" 2018-09-11 02:24:07 +00:00
jenkins-bot 4a50097767 Merge "Show tags data on the tooltip in Revision Slider" 2018-09-04 14:39:36 +00:00
jenkins-bot cef99ee67e Merge "Run hook with actual (non-detached) content node" 2018-09-04 09:11:17 +00:00
Thiemo Kreuz 48396b78c7 Rework and cleanup ext.RevisionSlider.DiffPage code
This is a direct follow up to the change done in I885f8e7. I found the
code very hard to read after the change, and tried to rearrange it a
little bit. This is what I came up with. What the code does is entirely
untouched.

This also rearranges the replaceWith calls so the replacements are done
from top to bottom.

This patch also avoids calling mw.config.set multiple times.

Change-Id: I1cbce8e8aa030d6ba5cd7d19ab26fa363e13474b
2018-09-04 10:52:16 +02:00
Bartek Łukawski a7b966162e Run hook with actual (non-detached) content node
`$.fn.replaceWith` removes content from the DOM. Therefore, the
new content object was not being passed on by the hook.

Change-Id: I885f8e789b806a9ae09de1ed31a19a3f9db8144f
2018-08-30 15:08:51 +00:00
gopavasanth e4c31f762b Replace custom 'pin' by 'pushPin' icon
Modified CSS of the pushPin

Bug: T194613
Change-Id: Ifdaa2567c67a45fd44bea7cc4718f29c4e1a58fd
2018-08-30 20:31:04 +05:30
gopavasanth 548019e16d Added keypress() to mw-revslider-toggle-button
On tapping Enter or Space the Rev-Slider Opens

Bug: T199212
Change-Id: I08ab018c3e89d25ab8d4e72963e9cbd4971f7068
2018-08-29 16:07:18 +00:00
srish 6934b90d87 Show tags data on the tooltip in Revision Slider
Approach followed:
- Include tags as an additional parameter in rvprop field to fetch revision tags
- Use API Tags to fetch available change tags for a wiki along with their display names
- At the time of fetching revision data rebuild the revision list with tags containing display names
- Display tags one in each line on the tooltip

Bug: T180429
Change-Id: Ieba8b79ed408ff50b3f7d4bcfd7b2fa8cca83278
2018-08-28 23:22:12 -07:00
srish dd4310aece Replace loading bar of revision slider with three moving bubbles
Using rawElement function to generate a new html element for loading spinner.
This replaces the progress bar widget.

Bug: T161640
Change-Id: I949bce945def25de561c0ae0df971c3f609586ce
2018-08-14 09:31:16 +00:00
Thiemo Kreuz 2d5b40c40b Make use of JavaScript "in" feature instead of "undefined"
Change-Id: I914f7281101bc4873eff3574c884253775e9b4bb
2018-08-02 09:35:37 +02:00
gopavasanth c1fada0773 RevisionSlider: Fix missing pin icon
Added show() and hide() for mw-revslider-auto-expand-button in collapse and expand function.

Bug: T200263
Change-Id: Ic24a175dfe8d19853e32669f12b9f17e26730d6b
2018-07-24 18:46:22 +05:30
jenkins-bot 4a6175b641 Merge "Limit fetchUserGenderData to maximum 50 users" 2018-07-04 11:54:33 +00:00
Thiemo Kreuz 3520a606c9 Limit fetchUserGenderData to maximum 50 users
The 50 is the default. The worst-case scenario here is that users
beyond this limit don't have a gender for a while, until the next call
to the same API endpoint fetches the next 50 users with an unknown
gender.

Doing multiple API calls in advance is not worth it, in my opinion.

Bug: T197858
Change-Id: I0fdcc7ea96a6a5ee3934600c6f0fdc65263276e8
2018-07-04 10:44:27 +00:00
Anmol Wassan 4ab8460fde Indicator flip issue on expand/collapse
The arrow in Revision Slider flips on expand and collapse which is not according to the standard of OOUI.

Bug: T198626
Change-Id: I4205a2260e8507a09f2950566e5033bd58a74345
2018-07-04 10:41:35 +00:00
WMDE-Fisch 20edda4b82 Minor fixes around log animation time
Addressing comments in Ic9fe89c7e3f984d3390260805e2480a0f8ffd0c9

Change-Id: I9a989946f50788d8b47f40a0aa00408b7aa86cb8
2018-05-28 17:12:16 +02:00
Peter Grassberger 16163b4964 Adjust sliding animation time of pointers on short distances
animation duration now has a factor that is dependent on
the square root of the animation distance.

Bug: T161883
Change-Id: Ic9fe89c7e3f984d3390260805e2480a0f8ffd0c9
2018-05-24 18:33:11 +02:00
Ed Sanders 20b098f211 Tweaks OOUI overrides
Change-Id: I089191499b91763c4b36473726cc2701887934fc
2018-03-23 00:55:03 +00:00
Volker E 1986749ff8 Hygiene: Use “OOUI” as unified name in code comments
Bug: T182360
Change-Id: I3085c97db5b9e49ff06a9626dce74f3dc93f7cc3
2018-01-31 22:23:47 -08:00
Volker E e868a33116 Refactor RevisionSlider toggle button CSS
including:
- Using LESS for nested CSS
- Overrule `margin` of frameless OOUI `mw-revslider-toggle-button`
- Removing CSS that had no effect since some time
- Removing `!important` where not longer needed

Change-Id: I1ba01061ebafe799ca62dbb6ce5e79459612af23
2017-11-17 12:06:06 +00:00
jenkins-bot 4c5e32e925 Merge "Replace border-color with WikimediaUI palette one" 2017-11-01 12:07:40 +00:00
jenkins-bot 54ac49ea1e Merge "Remove obsolete CSS .mw-revslider-button-active rule" 2017-11-01 10:49:47 +00:00
jenkins-bot df84c7b8a5 Merge "Use LESS nesting features" 2017-11-01 09:31:10 +00:00
Volker E d6bf659239 Replace border-color with WikimediaUI palette one
Replacing `#ccc` with WikimediaUI color palette's `#c8ccd1`.

Change-Id: Idb7f7b67c2df7a2dac61d09de46bf527713ab465
2017-10-31 20:06:41 -07:00
Volker E 4df0a58755 Remove obsolete CSS .mw-revslider-button-active rule
Removing unused CSS rule for `.mw-revslider-button-active`, which
is not in use anywhere.

Change-Id: Id1c7e8e17b03b54105266bca0418b285840de4f7
2017-10-31 18:55:21 -07:00
Ed Sanders b9f0e2adfe Use LESS nesting features
Change-Id: I6d14b0533510840fb96a56ec3bc38e0bca7a70d0
2017-10-30 21:24:22 +00:00
jenkins-bot 7ff4712b4f Merge "Use LESS color calculation for blue/yellow slider styling" 2017-10-30 12:36:57 +00:00
Ed Sanders 684c6c4b0c Use LESS color calculation for blue/yellow slider styling
Change-Id: I7220acf4b5c4a70f56cde67269c09cd3bf757f19
2017-10-27 19:54:43 +01:00
Ed Sanders bc17a6e9ab Fix collpase button margin/padding
Change-Id: Ia5f2aec089b27085f1dcc4f3e3d49b0a09e4dc26
2017-10-27 12:04:11 +01:00
Ed Sanders 28b436eb16 Cast strings to numbers
Change-Id: Iafbb0ed5197cc7e92ebfc2fb9365c1903ce9ffef
2017-10-27 10:49:01 +01:00
Addshore b86be90b06 Reintroduce improved hover and bar clicking
This patch mainly reintroduces the option to click on bars and move
the pointers with it. To do this, 'ghost' pointers are introduced
to show what would happen when bars are clicked. The pointers moved
differ depending on where the user clicks on a bar. Pointers are
still not allowed to change positions, so in some cases booth pointers
move with one click. See the task description.

The patch also includes some renaming and also refactoring of the
click handling in general. Furthermore bar hover mechanics are handled
by the RevisionListView class now.

Moving both pointers is not possible when it would push one of them of
limits.

Bug: T172092, T173566
Change-Id: I32a8256f7667e03081324d54accdf03a17454faf
2017-08-29 09:19:13 +00:00
WMDE-Fisch dcfb074916 Fix typo and set optional values
Change-Id: I43174f7c28e0f665decf88f92f9175bb4c69a3cb
2017-08-23 17:01:03 +02:00
jenkins-bot c13e687cb0 Merge "Revert "Reintroduce hover and bar clicking"" 2017-08-17 14:08:22 +00:00
WMDE-Fisch 1d2811f3d9 Revert "Reintroduce hover and bar clicking"
We want to make an announcement first.

This reverts commit 0da5702f82.

Change-Id: Icbf5fb99c3fbb87a47106e25d9d80685e86cba32
2017-08-17 13:52:53 +00:00
mdew192837 61e5d029cd Fix unnecessary reloading of diff
Currently, when dragging a pointer over another revision but not
releasing it until it is at the same location, the diff still reloads
This change stores the initial positions and comparing at the end.

Bug: T163425
Change-Id: I430650d12bfeb3ce4af59abe91f18cc2b861a3de
2017-08-12 10:45:16 -05:00
WMDE-Fisch 0da5702f82 Reintroduce hover and bar clicking
Bug: T172092
Change-Id: I496143f2425eccd0028cc1980fc7189a457c70a2
2017-08-11 17:54:48 +02:00
mdew192837 8f9b30b3ac Reduce confusion for mw.util.getUrl()
Currently, `this` is passed as the parameter for pageName, making it
seem like getUrl() can take in an object as the first parameter, when
it should be a string. This works right now because of a tertiary
operator that fetches what we need. To reduce confusion, we should
pass null instead.

Change-Id: Ieea30a4933f3e3fdeb8331c5c544bf1eb034e6b7
2017-08-10 13:49:38 -05:00
Pmlineditor ea187d6944 Convert date in Revision Slider tooltip to link
Bug: T171067
Change-Id: Iedcefdebe99138dc58bec50aaa7e9560d9101c96
2017-08-10 11:46:53 -04:00
mdew192837 d665c03e0a Monobook uses x-small and a globalWrapper to make everything inside
of it appear normal. However, the revslider-tooltips are not inside
this globalWrapper, and thus need a separate CSS rule.

Bug: T166231
Change-Id: I2115688fee75145349e062b9586713a56541afa0
2017-08-09 10:49:24 -05:00