Commit graph

1202 commits

Author SHA1 Message Date
Akinwale Alagbe f3baccbfb2 Updated notices icon images ARIA role to presentation
Also adding empty `alt` attribute for browsers incapable of 
`presentation` role yet.

Bug: T244814
Change-Id: Ia7b9961aa4210244df0f8e87880b32d9de41a3a9
2020-02-24 20:22:13 +00:00
jdlrobson d7cc28fbcb Properly scoped style improvements to Echo OOUI dialog in desktop Minerva
This reverts commit ca5e5c85af and then
scopes the rules.

Bug: T241090
Bug: T242493
Change-Id: I0e6a4f6d235f34dc8f05a5e7ea5272d6465b80aa
2020-02-11 07:41:23 +08:00
Esanders ca5e5c85af Revert "Style improvements to Echo OOUI dialog in desktop Minerva"
This reverts commit 5b628b5109.

Bug: T241090
Bug: T242493
Change-Id: Id4a7ac9748ed7f934e9c47f4ade0c2f87da4488d
2020-02-10 20:24:17 +00:00
Roan Kattouw 0ff7678377 Document ext.echo.unseen counters
There are two counters (ext.echo.unseen and ext.echo.unseen.click) that
are incremented in two different places. It's hard to see how they're
connected unless you know where to look.

Add comments to each of these counters pointing to the other one and
explaining what they're for.

Change-Id: I0699cba85bf797e4f7ef42cc6a7a996aa35510f0
2020-01-16 17:46:08 -08:00
Roan Kattouw b2f816d0af Use GET rather than POST for action=markseen
This seems strange, because markseen sounds like a write action, but it
writes to the seentime cache rather than the database. For multi-DC
support, we need writes to the seentime cache to happen in the local
data center, and the easiest way to do that is to make it a GET request
rather than a POST request.

It would be nice if marking as seen could be consolidated into the GET
request for fetching notifications, but I didn't do that because the
code for those fetches is pretty complicated, and some fetches (like
polling) should not mark as seen.

Bug: T222851
Change-Id: If4c504a9dc562b1d4e626e155fba8ebb5cdb0579
2020-01-10 16:12:18 -08:00
jenkins-bot 1f96009221 Merge "Use document.body instead of 'body' as jQuery selector" 2020-01-05 23:33:24 +00:00
jdlrobson 5b628b5109 Style improvements to Echo OOUI dialog in desktop Minerva
* Make sure the badge for desktop when initialised points to the
right thing
* Make sure the dialog takes up the full screen and the Clippable bug
does not interfere with the display of the pane

Bug: T241090
Change-Id: I6c5588ee689633cef413ef27449aeeea341d7a97
2019-12-20 20:38:36 +00:00
Fomafix 99dc512ef8 Use document.body instead of 'body' as jQuery selector
Also use the shorter .appendTo() instead of .append().

Change-Id: I1e0aaff4790a6ca5c9e5d2f6e5926e15f8574cee
2019-12-16 11:51:03 +01:00
jenkins-bot 19d88be6cf Merge "build: Update linters" 2019-12-12 17:52:35 +00:00
Ed Sanders 80ddee3956 build: Update linters
Change-Id: I713aafb891306fc21a776a7d4622c6a039798753
2019-12-12 11:20:49 +00:00
Ben Houghton aeafb09d80 Allow marking all as read from popout window
Clicking 'mark all as read' would only mark the notifications you are viewing as read
instead of all of them - now it will mark all of them as read.

Bug: T156425
Change-Id: If46a85f91dfddd4ac158e5c3a4f942c9c3d9aac1
2019-12-03 20:08:35 +00:00
Volker E 415b7b9851 hygiene: Make LESS imports non-ambigious
Some LESS parsers will get confused with the lack of file extension.
It's better to be explicit and in alignment with recent change in core
I379334d7729e587a2a00.
It was already weirdly mixed in this repo with some imports featuring
extension and some not.

Change-Id: Ib208607c850fa2492b13cd3d449c04ebc2c21a01
2019-10-25 13:53:39 -07:00
Zoranzoki21 5a05e94a1e Remove comment related to skins.minerva.scripts after removal of it in 1053997
Bug: T221007
Change-Id: I0ca3e195aa623cff7ef437dc177179dee13c7cd1
2019-10-16 10:30:57 +00:00
jdlrobson 10539971f1 No longer check for skins.minerva.scripts
Echo is now in complete control. Cleanup after ourselves.

Change-Id: I9a26c7a88f5e3ff19ec5b17b08a0d05c4f9e60ce
Depends-On: I9a6b06158d9083317aea46510c0c47980a25e50a
Bug: T221007
2019-10-16 09:27:24 +00:00
jdlrobson d3c0494a17 Dormant mobile notifications overlay lives in Echo
This code will be enabled when Iba1d7863171268066bf7597182c57a0a2041497f
relinquishes the responsibility for rendering the Echo notification badge
and wiring up of the related JS.

It makes 3 assumptions:
1) Minerva will expose a VERSION property on the skins.minerva.scripts module
to tell Echo it can begin control of the functionality
2) A new hook `SkinMinervaReplaceNotificationsBadge` will run on the server side
allowing Echo extension to render the Notifications badge in Minerva.
3) A new client side hook (echo.mobile) will fire whenever the Echo dialog is opened or
closed.

All code relating to Echo inside MobileFrontend and Minerva is
moved here.
CSS for the modules is kept in Minerva as skinStyles

This code remains dormant until Iba1d7863171268066bf7597182c57a0a2041497f lands.
It pre-registers a "to-be-created" hook SkinMinervaReplaceNotificationsBadge that
substitutes the Minerva badge.

It also watches the export value of skins.minerva.scripts for a VERSION value - when
this appears it will take the signal that it should manage the frontend code.

In the new system the mobile specific code is limited to the mobile version of
Minerva. The desktop version of Echo loads on Minerva desktop - presenting an
opportunity in future to consolidate both implementations to use the same component.
The mobile version of Vector and Timeless for example will load the mobile overlay
(with existing styling issues that we don't need to worry about right now given
we don't officially support skins other than Minerva as mobile)

Testers:
* Check require( 'ext.echo.mobile' )(); inside initMobile
inside ext.echo.init does not fire until
Iba1d7863171268066bf7597182c57a0a2041497f is checked out.

Depends-On:  I1a66939d2b596094b419de40b370e79f09c85581
Bug: T221007
Change-Id: I09c27a084100b223662f84de6cbe01bebe1fe774
2019-10-09 12:36:11 -07:00
Volker E dce5173703 Remove IE 6 & 7 hacks
Bug: T234582
Change-Id: I5208a57ab3b1b95e97ca8a0d3d9c1df6c57ebc3b
2019-10-03 19:05:38 -07:00
Roan Kattouw 83f8949dc5 Stop exporting wgWikiId, use wgWikiID from core
Update usages of the variable for the capitalization difference.

Depends-On: I4d289267991f1f9a8e0710ec6ee5a2131306c510
Change-Id: Ie49e898b33765aa0723501be8c0c30622e7cbd2f
2019-09-25 18:14:40 +00:00
jenkins-bot 30dbae4c02 Merge "Render HTML in notification snippet" 2019-08-21 08:11:28 +00:00
shivanshbindal9 2406462c01 Render HTML in notification snippet
The HTML tags are not parsed in notification snippet.

Bug: T226130
Change-Id: I94cd63d351ac034d80b58a934a823aa0efe18cf5
2019-08-20 23:54:15 +05:30
Kosta Harlan 2a4fde702a Use utility functions to improve code readability
Change-Id: Idf39028d41293b33153254f7648babc3a0cb2b82
Follows-Up: I8cdeb9ee920d3ec943e270eb00a6ef7f3a7449e2
Bug: T226127
2019-08-16 22:25:51 +02:00
shivanshbindal9 8821563955 Add unseen class to alert/message icons
When there are some new notifications during polling,
the unseen state of alert/message icons does not change.

Bug: T226127
Change-Id: I8cdeb9ee920d3ec943e270eb00a6ef7f3a7449e2
2019-08-16 20:32:11 +05:30
shivanshbindal9 2528e3394f Define preference for poll updates
New preference added so that user can set
* Displaying (n) total unread count in the title
* Displaying notification snippet for incoming notification

Bug: T229732
Change-Id: I35eb68dedf1e087b4668bfec404935f1244b3d0b
2019-08-06 19:42:49 +05:30
Roan Kattouw 092615db27 ext.echo.init: Un-dim badge if loading RL modules failed
We didn't have any error handling for this scenario previously, but the
recent refactor of this code made it more obvious that it was missing.

Change-Id: I146de3ed2cde1a9bd553fc4825c0e4e06130de65
2019-07-31 22:55:25 +00:00
shivanshbindal9 6be1eee1db Display notification text for incoming notification
As now polling is used to update the notification count on header icons.
If there are any new notifications then a snippet containing the header
part of the notification will appear using mw.notify().

Bug: T226130
Change-Id: Id38c8ebedebd4c68b9cef0635043d6f9304784dd
2019-07-31 17:54:20 +05:30
Roan Kattouw a3bfd725ea Bundle logger-related config vars with ext.echo.logger module
There's no real reason for these to be in MakeGlobalVariablesScript
because they don't really depend on the request context: they were being
omitted if the user was not logged in, but we can just check the user's
logged-in status in JS instead.

Bug: T221151
Change-Id: I2df6d7e061545d342bc3068dccd5ce2f6e85fe78
2019-07-23 21:48:42 +00:00
Roan Kattouw d378e4e3b9 Use packageFiles instead of startup module for config vars
Remove wgEchoMaxNotificationCount and wgEchoPollForUpdates from the
startup module and put them in the ext.echo.init module.

Change-Id: I03f9a3953aa97ead1a29c13a992a02404a6d0b68
2019-07-18 15:29:27 -07:00
shivanshbindal9 795b87d55b Change polling rate when document not visible
We currently poll for the count of notifications after some fixed amount of time even when the user is not using it.
There is no need to poll at same rate in that case and we can poll at slower rate.
The rate now is decreased by 5 times.

Bug: T227501
Change-Id: Id53a88e0d5659edb0dac77dd3e346e2d88e95f94
2019-07-13 17:11:08 +05:30
jenkins-bot e5cd928e13 Merge "Add visual cue to indicate change in notification count" 2019-07-02 00:19:37 +00:00
shivanshbindal9 1a035e1287 Add visual cue to indicate change in notification count
* Adds notification count(alert+messages) to the title
* The count is updated immediately when notification count changes
* This functionality is feature flagged(wgEchoPollForUpdates)

Bug: T225259
Change-Id: Ic92c50d9885b0e4325b253338023d37adf8d35d0
2019-07-01 14:31:36 -07:00
Isarra 0c0c0e596f MonoBook: Remove outdated skin styles and clean up some
Due to using ooui, and a lot of the styles being a lot more generic
in general these days for wider skin support, most of the skin
styles still included with Echo are no longer necessary or may even
be actively breaking things.

Remove a bunch of that, including some of the stuff for T226594 etc,
as we now have a more elegant solution in the skin itself.

Bug: T226684
Bug: T226594
Depends-On: I0ed21a78feb1b1298c30b969a1c80a4323e74043
Change-Id: Id3193a07f023eb0abc30fa24afe10da042fea876
2019-06-28 03:18:24 +00:00
Isarra 28dd2e0413 Modern: Remove outdated skin styles
Due to using ooui, and a lot of the styles being a lot more generic
in general these days for wider skin support, most of the skin
styles still included with Echo are no longer necessary or may even
be actively breaking things.

For Modern, basically just remove everything; nothing here seems to
apply anymore. Also frees us up to just fix the badge positioning
in the skin itself, and leave future maintenance up to the skin
maintainers, if anyone cares.

Bug: T226684
Change-Id: Id28bbc01b3b344dfeb39be1380a64c1368924289
2019-06-28 02:40:10 +00:00
Roan Kattouw d3653c649a Follow-up ea856105f2: fix horizontal scrollbars in Monobook
A positive text-indent causes horizontal scrollbars, so just hide the
screenreader text by making it transparent, and accept that we're going
to have the hover tooltip issue (T161302) in Monobook.

Bug: T226594
Change-Id: I6cb9ec146c2b469cbfb1fdc57937794d237e46db
2019-06-26 15:48:58 -07:00
jenkins-bot 1c3cb04618 Merge "NotificationBadgeWidget: Don't double-convert numbers" 2019-06-25 21:24:14 +00:00
Roan Kattouw d95b4bfaac NotificationBadgeWidget: Don't double-convert numbers
We shouldn't run numbers through convertNumber() twice.

Change-Id: If0ab0cad48761eaa1753f65e9d1557d84ec31961
2019-06-25 14:11:26 -07:00
Roan Kattouw ea856105f2 Fix badge icons in Monobook
In c86a1a5cf, the structure of the badge was changed, and the hack for
hiding the screenreader text in the badge was updated accordingly.
However, the Monobook styles were not updated, and this caused the badge
icons to be positioned off-screen.

Update the Monobook styles for the new badge structure, and use a
different hack for hiding the screenreader text because the one used for
other skins doesn't work in Monobook.

Bug: T226503
Change-Id: I190d2719addfbe50a7108193848bf23eef54bccf
2019-06-25 13:41:58 -07:00
jenkins-bot a32d18d73e Merge "Make Notification count update without page reload" 2019-06-18 23:39:41 +00:00
shivanshbindal9 43bff91c68 Make Notification count update without page reload
* MVC is used to change the count of notifications on header icons.
* The Widgets are loaded after 60secs or icon click, whichever occurs first.

Bug: T219222
Change-Id: I2d034a76d5c3abe55894dd1dd10e28713344c5bb
2019-06-18 04:49:59 +05:30
manoj 0db743477d Provide visual focus feedback for notification badges
Provide visual feedback when focus is set on notification badges.
Also removing outdated `-moz-outline-style` property, which is applied
only in Firefox <= 3.6.

Bug: T186553
Change-Id: Ia523be0f74beb8fc52f8f04a9a7f59d88c7d2082
2019-06-10 12:31:45 -07:00
jenkins-bot 21354c66a2 Merge "Remove badgeicon module, use OOUI icon instead." 2019-06-05 19:08:33 +00:00
shivanshbindal9 c86a1a5cf3 Remove badgeicon module, use OOUI icon instead.
Now that OOUI's "alerts" icon pack includes all the icons we need, we can use it and get rid of the badgeicons module.

Bug: T139779
Change-Id: I8218530ed2cdd2d81c1fc24509f36ea2b6742bd9
2019-06-05 12:29:17 +05:30
Stephane Bisson f5f59a503b Use wikiId both server and client side
When creating the various notification sources,
the server was indexing them with wfWikiID() but
the client was using wgDBname to find which one
is local and which are remote. On some wikis,
like TWN, wfWikiID() includes a db suffix so
the JS app on Special:Notifications is failing to
find the local source and errors.

Bug: T167336
Change-Id: Id60f723b615fb7db54a6f17b1c1be20dfe98e36c
2019-05-08 09:03:28 -04:00
jenkins-bot 22c08547a6 Merge "Add visible help link for Special:Notifications" 2019-04-09 15:32:14 +00:00
Shivanshbindal9 a09db3ea59 Add visible help link for Special:Notifications
Bug: T200184
Change-Id: Iaf321f88322e8a9686be62eb9b055c6544cf0ad6
2019-04-09 10:27:40 -04:00
James D. Forrester 38b41c0f98 build: Upgrade eslint-config-wikimedia from 0.10.1 to 0.11.0
Change-Id: I6747b5e36f64d681b6f83461f0ebb9c9f88bea86
2019-04-03 15:57:20 -07:00
Ed Sanders 0aa30161ab Update help icon from OOUI, update name, provide RTL variant
Change-Id: I0b2751f163c07d2c0aff4d71fcb06e25cd9fe03b
2019-04-02 23:49:05 -07:00
Timo Tijhof 99ce7178c0 ext.echo.dm: Remove unreachable lazy-creation code
This boilerplate at the beginning of most files is an anti-pattern from
very early 2011 frontend experiments (I take full blame), where I didn't
understand (or had confidence in) the load order of scripts. I won't
remove it all at once, as that requires careful review of dependencies.

But this one file seemed like low-hanging fruit. The "ext.echo.dm"
contained a file that lazy-created `mw.echo` as empty as empty object,
and `mw.echo.config` as `{ maxPrioritizedActions: 2 }`.

The "ext.echo.init" module loaded on every page already does the same.
Remove this file and depend on that module instead. The same modules
will be downloaded, in the same way, and in the same order as before.

What changes is that the order of execution is now defined instead of
implied, thus making the dm-version of it redundant.

In practice, while fragile, the load order was already consistently
running init before dm. I found this through code coverage analysis in
Chrome DevTools, <https://phabricator.wikimedia.org/F28421786>.

Change-Id: Iaed7cf0e47479ce8ce76aee1bfe479d82b4f61ed
2019-03-19 20:16:37 +00:00
Isarra 91cd3b3b98 Apply unseen notifications colours to all skins by default
Colours were previously defined only in the monobook- and vector-specific
styles, but with the same styles in each, and appear to work consistently
accross all tested skins (modern, timeless, cologneblue, anisa,
hassomecolours...). Given the UX importance of these colours, better to
apply them as the default for all skins and leave it to any others for
which this doesn't work to resolve any issues on their end.

bug: T181142
Change-Id: Idc22881d6c51aa12adc9a053ce08adfdf0fad2b0
2019-02-20 15:04:35 +00:00
Ed Sanders aee27014e9 SpecialHelpMenuWidget: Remove button handle hack
This leads to broken styling in OOUI 0.30, and is only
a marginal improvement in the Apex theme.

Bug: T215509
Change-Id: Id7d000be7c9dcd50e050f067c6f1fbdc06f332af
2019-02-07 14:41:55 +00:00
Ed Sanders 7ed027ddcf build: Update eslint-config-wikimedia to 0.10.1
Change-Id: I776585adab962c2b1d353d18d3a02b6662941b13
2019-02-06 01:42:53 +00:00
Volker E c2dba98a9d build: Update 'stylelint-config-wikimedia' to v0.5.0 and make pass
Change-Id: I2789e3b93d1fc5743ea94b946fcd3e3ba8798e5e
2019-01-09 18:42:06 -08:00
Ed Sanders 4d03a4856d Update eslint-config-wikimedia to 0.9.0
Change-Id: Icd7b0f4ca54275c31eb61a759e2c3c9ce0a18952
2018-11-27 22:48:32 +00:00
Volker E b680244f8a Fix navigation controls wrapping on Notifications page
Fixing regression from a8ef5fe765c1.

Bug: T210487
Change-Id: I914b94515398d9fa388e8a8984b22f52e3507c86
2018-11-27 09:27:52 -08:00
Ed Sanders 17126b2ab1 Remove obsolete aliases from closures
Bug: T208951
Change-Id: If51fc6d50b9755c779fd0bf1be7bb0fe276539ea
2018-11-12 13:56:38 +00:00
jenkins-bot 4c14320a32 Merge "Streamline opacity on personal tool icons" 2018-11-09 23:10:25 +00:00
Volker E 39db100cbc Streamline opacity on personal tool icons
Selector was set on the element's class, not the icon carrying
pseudo class, resulting in a hard to predict
double opacity application. Also changing default opacity to
WikimediaUI Base values.

Bug: T207542
Change-Id: I1f45e721ee30acfd6261edcbc9d81cf92c7217a3
2018-11-07 21:19:57 -08:00
Volker E d0d222cc3a Fix two layout regressions from OOUI ButtonSelectWidget change
Fix the regressions from being able to wrap items on narrow screens
in I2102f6d33979b. We don't want wrapping in affected cases.

Bug: T208930
Change-Id: I748d5b455bef15067205b49824386d2ab5dfdc07
2018-11-07 04:06:02 +00:00
Volker E e75002fa7c Update icons with overhauled user avatar
Bug: T123810
Change-Id: Ibcb442412963dcf0bc74805792a6e7dac13ec47e
2018-10-09 23:24:31 -07:00
jenkins-bot 6e9b0449f4 Merge "Replace deprecated 'advanced' by renamed to 'settings' icon" 2018-09-12 16:45:29 +00:00
Ed Sanders 2c089e075d build: Update linters
Change-Id: I9747097fdf725992710f97d4ce4ea49fd611df1b
2018-09-11 23:46:52 +01:00
Volker E 8423a7ce53 Replace deprecated 'advanced' by renamed to 'settings' icon
Bug: T190581
Change-Id: I63f3252464cd6098e89ff49d0e9881440c6679f8
2018-09-07 19:57:10 -07:00
jenkins-bot b6f4e9d133 Merge "Make markasread parameter work cross-wiki" 2018-09-05 12:40:34 +00:00
jenkins-bot 9fad958301 Merge "Use API proxying for markasread requests in the front end" 2018-09-05 12:40:31 +00:00
Roan Kattouw 871a5282d0 Use API proxying for markasread requests in the front end
This will prevent these requests from being blocked by browser plugins
like Privacy Badger and AdBlock.

I believe this eliminates the last foreign requests in the front end, so
we should clean up and simplify the now largely unused hierarchy of
API-related classes.

Bug: T121930
Change-Id: I74c22514409ad7e206a413306065a0c62d2e793d
2018-09-03 13:31:53 -07:00
Roan Kattouw 7a816f8d26 Make markasread parameter work cross-wiki
Add a markasreadwiki parameter, and use cross-wiki API proxying to mark
the specified notification(s) as read on the originating wiki.

This allows notifications to be marked as read when the primary link is
followed, even if the primary link points to a different wiki.

Bug: T179765
Change-Id: Id7e1e11997173e1578e33cd189dc0f93a5e4ba63
2018-09-03 10:59:31 -07:00
jenkins-bot c9afa64579 Merge "Always place items outside menu if there's less than two of them" 2018-08-30 21:10:31 +00:00
Zoranzoki21 00dfbd1af7 Fix common typos in code
Bug: T201491
Change-Id: Ibd287f220720c33b82847475fbe88b586557de69
2018-08-25 17:35:13 +00:00
jenkins-bot 8151b212ee Merge "Clean up EventLogging integration" 2018-08-09 21:54:37 +00:00
Kunal Mehta b574e252f8 Clean up EventLogging integration
* Move revision ids out of configuration and into MWEchoEventLogging
class. Because the EchoInteraction schema is used both server and
client, we have to duplicate the revision id.
* Use EventLoggingSchemas attribute to register client-side schema in
extension.json instead of a hook.
* Check if EventLogging is enabled in MWEchoEventLogging instead of
$wgExtensionFunctions.
* Pass only whether the EchoInteraction schema is enabled to the
client-side instead of all of $wgEchoEventLoggingSchemas.

Change-Id: I968294f96cedac19dc9d8f53df14fecfb666ceee
2018-08-09 14:19:45 +00:00
jenkins-bot 66c6c63813 Merge "Remove $wgEchoEventLoggingSchemas qunit hack" 2018-08-08 23:57:10 +00:00
jenkins-bot 679d892340 Merge "Use mw.track() to submit EventLogging data client-side" 2018-08-08 23:56:36 +00:00
petarpetkovic 00447385bd Fix 'Methds' typo
Bug: T201491
Change-Id: I5a2ef9924591bee15da3d9e94d84826d1e11e4d5
2018-08-08 13:27:02 +02:00
Kunal Mehta 832d9d4d16 Remove $wgEchoEventLoggingSchemas qunit hack
The only place that reads the config variable is in ext.echo.logger,
which uses OO.getProp() to do so. If that property doesn't exist,
`undefined` will be returned, which we can force to boolean false.

Bug: T118488
Change-Id: Iac352b133950f6f2e4b88950c1fcd0c893284fd9
2018-07-26 19:34:42 -07:00
Kunal Mehta 9a828c7b56 Use mw.track() to submit EventLogging data client-side
This avoids needing any dependencies on EventLogging in the module
definition, as well as allowing the extra dependencies to be lazy-loaded
as necessary.

Change-Id: I49b5be4be4f55cd4e27064247463b2ddb8e81296
2018-07-26 19:34:37 -07:00
Moriel Schottlender 94f17f7910 Always place items outside menu if there's less than two of them
Bug: T174927
Change-Id: I5a30cf4d5cdc3e7ea9ea7b0536e015de8825f785
2018-06-22 15:31:05 +00:00
Volker E ee01b6db89 Replacing fallback color for code hygiene
For sanity when grepping. See also T148708.

Bug: T177723
Change-Id: I4f8bed119231a45c9148fbe341d40dccced4fcb5
2018-06-06 17:49:06 +00:00
jenkins-bot 4bdf8e1e8c Merge "Convert SpecialHelpMenuWidget to a customised DropdownWidget" 2018-05-31 23:52:47 +00:00
jenkins-bot e03f04be89 Merge "Fix config documentation" 2018-05-30 20:55:33 +00:00
Ed Sanders 0f7afb1e5d Convert SpecialHelpMenuWidget to a customised DropdownWidget
Replace the handle with a button widget.

Also remove the unused PendingElement mixin.

Bug: T178387
Change-Id: Iec3afea6c6a8fdb49e17750af7bada42b7ed4b70
2018-05-30 18:57:07 +01:00
Ed Sanders bd2f39ca78 Fix config documentation
Only document config properties used in the current class,
and add missing ones.

Change-Id: I5573f7166fee0409faae7b3af8280aa918fa3dcd
2018-05-30 17:47:20 +00:00
jenkins-bot c6f3909a6f Merge "Replace .parent with .super" 2018-05-30 15:28:37 +00:00
jenkins-bot 58e3c25729 Merge "build: Extend 'svgmin' options and move to 'minify' task" 2018-05-30 15:24:35 +00:00
jenkins-bot 6d9fba9e7e Merge "NotificationItemWidgets: Remove property setting duplicated from parents" 2018-05-29 21:20:31 +00:00
Volker E b3b9720733 build: Extend 'svgmin' options and move to 'minify' task
Also re-crush all SVGs.

Bug: T185596
Change-Id: I9f2be4b1b5c4c0597d4040250d87c939567cb83b
2018-05-29 10:26:22 -07:00
Ed Sanders e0770024cf Update icons to latest WMUI designs
Bug: T183749
Change-Id: I620438adef9ad0c39e66a790c29efb30af556cdd
2018-05-23 23:49:55 +00:00
Ed Sanders 9de02857ae Replace .parent with .super
Also remove unused config fallbacks

Change-Id: I10b1ffc0cf69c52c4394f27c02aac5bca2473374
2018-05-22 15:56:46 +01:00
Ed Sanders 3b4be7b6c5 NotificationItemWidgets: Remove property setting duplicated from parents
Change-Id: I03c83d3cfb6ce22ccca0cc2dc1d1e20b36d739c8
2018-05-22 15:54:55 +01:00
Ed Sanders e204977063 Make 'links' a required argument of NotificationBadgeWidget
Change-Id: Ib1ae2cf1edc1d0a280eb62558d93d081f365ca84
2018-05-22 15:42:45 +01:00
Roan Kattouw af323781ab Follow-up 8b84ed2a3: fix eslint failure that snuck in somehow
Change-Id: Iad32afab81d1fc161b2f1e7f04bd8cd89937527e
2018-05-19 14:36:55 +02:00
jenkins-bot b926673987 Merge "Sticky toolbar: Add missing vendor prefix" 2018-04-30 22:56:43 +00:00
jenkins-bot 4538925597 Merge "Conditionally rearrange date and button in notif list" 2018-04-13 18:25:38 +00:00
jenkins-bot f5d47b3ee7 Merge "Revert "Revert "Remove unused 'trash' icon""" 2018-04-12 15:37:42 +00:00
Catrope ee44f96e2f Revert "Revert "Remove unused 'trash' icon""
Can be removed now that it's been moved to PageTriage.

This reverts commit b59eedd251.

Change-Id: If829148d09cb28f21bd48d5073886b44174b274d
Depends-On: I370391d7460c5b04a5a1ddb2e191f29044b30e5e
2018-04-11 19:54:35 +00:00
jenkins-bot caa28b5e6b Merge "Revert "Remove unused 'trash' icon"" 2018-04-05 19:53:44 +00:00
Catrope b59eedd251 Revert "Remove unused 'trash' icon"
Still being used by PageTriage.

The proper solution is to move the icon to PageTriage, but
for now let's bring it back in Echo to unbreak things.

This reverts commit 54f49875e9.

Bug: T191335
Change-Id: If4c709d9932ac0d063f6211c5ddd82846f0f6a6d
2018-04-05 19:07:04 +00:00
Moriel Schottlender 5a42e71171 Add extra margin for the badge when count is 99+
Bug: T183539
Change-Id: I57060bc9c442d4fc030608f9f6de98b77f5e1133
2018-03-28 19:44:38 +03:00
Moriel Schottlender 8b84ed2a3b Conditionally rearrange date and button in notif list
When there isn't enough space for both date and button,
separate them each on its own line.

Bug: T146288
Change-Id: I7ad022da82503f35ae630d171faeed1815c97f7a
2018-03-28 16:19:47 +03:00
Roan Kattouw 1eef6eeee3 Remove footer notice code
But keep the widget files in case we need them again.

Bug: T190481
Change-Id: Iec7dd472cebbee98ea88a0318c017707c7460ae8
2018-03-28 14:57:44 +02:00
jenkins-bot 2cf4bd1df3 Merge "Align Notifications popup header/footer with OOUI's default size" 2018-03-27 21:03:38 +00:00
jenkins-bot bc511b4af2 Merge "NotificationsOptionWidget: Fix icon alignment" 2018-03-27 21:00:26 +00:00
jenkins-bot ae9ee9bc35 Merge "Prevent FOUC when loading OOUI notification badges" 2018-03-27 19:58:37 +00:00
Ed Sanders 52cd0f9b05 Prevent FOUC when loading OOUI notification badges
Change-Id: I216d1f7ff90380040742e6c78df830a9dcb0b261
2018-03-27 13:54:27 +01:00
Ed Sanders 0fd6d64a29 Fix DOM structure of mw.echo.ui.MenuItemWidget
* Inherit from DecoratedOptionWidget as it comes with
  an icon mixin.
* Keep the DOM structure as similar to its parent as
  possible, to avoid breaking upstream child selectors.
* To this end, replace <a> wrapping hack with override
  of getTagName to set this.$element to <a>.

Change-Id: Ifde70785a1bc996eb09e581b06ed30708323e9f7
2018-03-27 12:33:40 +01:00
Volker E 77021e370c Align Notifications popup header/footer with OOUI's default size
Bug: T190397
Change-Id: I41ad96bbc7d3922772ecb026cb251476882601c7
2018-03-26 20:13:08 -07:00
Volker E cc3df57d71 NotificationsOptionWidget: Fix icon alignment
Change-Id: Ieb5c9a8e378608e096e921fdb6795949a119c8a8
2018-03-26 02:15:36 -07:00
jenkins-bot 05e42c6a6a Merge "Use updated bell/tray icons from OOUI 0.26" 2018-03-24 17:05:50 +00:00
Ed Sanders 4523cc4ac5 Follow-Up Ie6252a8c: Fix suffices of constructive icons
Also fix title of mention-success.

Change-Id: I699ae249ea7c4b3da869cc10bf6ee240c666547d
2018-03-24 15:22:03 +00:00
Ed Sanders 15a3443384 Use updated bell/tray icons from OOUI 0.26
As these are smaller canvases, fix positioning
hacks accordingly.

Change-Id: I472f8cdd5887243c3fd86ab1431532a99dba1ce9
2018-03-24 15:06:47 +00:00
Ed Sanders 91076ef7c0 Update OOUI-copied icons
* Rename to match their upstream names.
* For icons without upstream versions, fix canvas to 20x20.
* Use consistent suffices to indicator colour.

Change-Id: Ie6252a8ccbba79143a0f77536c6470b4350be1ad
2018-03-23 09:41:15 -07:00
jenkins-bot 9c57911f97 Merge "Replace double-check with checkAll from OOUI" 2018-03-22 23:42:11 +00:00
Ed Sanders 34e3d5feba Replace double-check with checkAll from OOUI
checkAll was specifically designed as a
replacement for double-check.

Change-Id: Ibdd6865213107650b9004ab40e12c6a7453b6251
2018-03-22 21:23:33 +00:00
jenkins-bot b5780d0d1a Merge "Remove unused 'trash' icon" 2018-03-22 20:11:29 +00:00
Ed Sanders 54f49875e9 Remove unused 'trash' icon
There are no references to 'trash' in the code.

Change-Id: Icbc50f6e0f647466a8f4a2a47ee7014c5d411ffe
2018-03-22 19:52:44 +00:00
Ed Sanders ff78ed310a Remove unused bellOn icons
Change-Id: I40903bb8a8ea964482b6603436af27caaf73f574
2018-03-22 19:40:43 +00:00
Moriel Schottlender cb43a785b8 Place the notification page settings popup in an overlay
Bug: T189428
Change-Id: I4d8ccb76b7fe46333f65a5f7caa15a1203b662ce
2018-03-11 15:18:24 -07:00
jenkins-bot 09177edf91 Merge "Prevent double-clicking on badge when initializing" 2018-02-23 22:47:02 +00:00
Moriel Schottlender b2f2ef9114 Prevent double-clicking on badge when initializing
Double-clicking would just recreate the badge midway while it is
being created, and produce 2 popups simultaneously. This patch
ignores the second click in a double-click until the widget is
being replaced anyways.

Bug: T184883
Change-Id: I2fda8df36b3828dbbe0d9b7892f159e598c630bd
2018-02-23 14:36:39 -08:00
jenkins-bot 30a265ef88 Merge "build: Bring SVGO optimization to build step" 2018-02-22 20:41:48 +00:00
Fomafix a447c3e65f Use jQuery 3 .catch( fn ) instead of .then( null, fn )
https://api.jquery.com/deferred.catch/ Since jQuery 3
deferred.catch( fn ) is an alias to deferred.then( null, fn )

Change-Id: I120ec780c9b008b5e7bf12491fed83ccc8ae2420
2018-02-10 11:48:26 +01:00
Volker E c9403011c8 build: Bring SVGO optimization to build step
Enabling SVGO automation with 'grunt-svgmin' and conservative
plugin settings to build step, among those:
- enable removeRasterImages and sortAttrs,
- disable cleanupIDs, removeDesc, removeTitle, removeViewBox &
  removeXMLProcInst and
- don't use multipass.

Also updating SVGs accordingly.

Bug: T185596
Change-Id: I2288c7576ac96f8b5c4d5b8671218fceefaf6037
2018-02-09 23:06:28 -08:00
Ed Sanders 17be84ec51 Sticky toolbar: Add missing vendor prefix
Change-Id: Ib1a68298295e7c0ae276a1cec92c5c67adb7b643
2018-02-04 21:26:06 +00:00
Stephane Bisson ac4b0ea899 Make icon not overlap with confirmation message
Use widgets instead of mixins to compose the ConfirmationPopupWidget.

Bug: T184733
Change-Id: I608e820ef81b01efc54a13df5de189ef40ce335f
2018-02-02 20:31:43 +00:00
Ed Sanders 2121daac96 Don't hide notification popup when scrolling
hideWhenOutOfView is for preventing popups from appearing
outside their container, but in this case the container
is the document, so it is already clipped.

Bug: T178384
Change-Id: Ie0cd83849446cf74b61e708f0a1fa79f2384a94a
2018-01-22 15:32:35 -08:00
jenkins-bot e63b9f9ac0 Merge "Fix help menu icon placement for monobook" 2018-01-19 18:44:00 +00:00
jenkins-bot f321dc1250 Merge "Align the icon in the popup action sub menus" 2018-01-19 18:38:39 +00:00
jenkins-bot d0550c9f6c Merge "Truncate page name in the sidebar and organize into table view" 2018-01-18 11:43:47 +00:00
Volker E 4bb614b5fd Use “OOUI” as unified name for code comments
Bug: T182360
Change-Id: Ib1daa160dd7597afe6a6ae22dc263ba7d297f757
2018-01-16 23:30:18 -08:00
Moriel Schottlender aecacd9443 Align the icon in the popup action sub menus
Also bring the icon rules up to a rule that actually
overrides ooui ruleset.

Bug: T185046
Change-Id: Iea0305d2b90c659fc24113980fa0900f559c2ab4
2018-01-16 16:40:46 -08:00
Moriel Schottlender 1e9f4a106c Fix help menu icon placement for monobook
Bug: T184023
Change-Id: I6aa356624c7d9532fc69503f0ab99f0511fc30dc
2018-01-16 14:09:58 -08:00
Moriel Schottlender df4aa8ea0b Truncate page name in the sidebar and organize into table view
Organize into table view for consistency and truncate the title.

Bug: T184143
Change-Id: I0ae3105ea60dcc2ae6c0f7f2545368a5f86cb2c4
2018-01-16 12:09:01 -08:00
jenkins-bot 9e56017681 Merge "Use findItem(s)FromData instead getItem(s)FromData" 2018-01-11 01:37:27 +00:00
petarpetkovic 309ea8e936 Fix "Mark as read" button icon on no-JS
Bug: T182167
Change-Id: I2c386e1ab2c95d2d1034c8d366d39c12827b3d22
2018-01-03 15:50:45 +01:00
Bartosz Dziewoński ada3be576c mw.echo.ui.NotificationBadgeWidget: Do not flip popups
Bug: T183296
Change-Id: I3850cf71626d700a73bbefae7da9870d59491347
2017-12-30 00:51:18 +01:00
Bartosz Dziewoński 7cc225ca33 mw.echo.ui.MenuItemWidget: Override OOUI styles harder
Bug: T183435
Change-Id: I949de77ac8221bdc4bb35ae7b75e3df91d861d07
2017-12-27 14:07:53 +00:00
jenkins-bot 010bb75603 Merge "Move the popups to the overlay" 2017-12-21 18:14:50 +00:00
Moriel Schottlender 77acb5b3ee Move the popups to the overlay
This will solve multiple issues with the design having to overcome
the theme-based design for the #p-tools.

Bug: T156080
Change-Id: Ibfcdfeea649e566059fd88485e146fbad2201016
2017-12-20 15:44:27 -08:00
Prateek Saxena 391f14cb4b Use findItem(s)FromData instead getItem(s)FromData
Depends-on: Ia2110f71d1642f61451cb8acc7e8a930d0feb31f
Bug: T76630
Change-Id: Iddd1d3f5abaa233adbf030114343a8ed248de28b
2017-12-14 13:36:26 +05:30
petarpetkovic cde5b2d1e9 Add fallback to getting Preferences and Notifications URLs
Change-Id: I0ab756cafcbd535fa1765fd12fdd72bb75f0df62
2017-12-13 23:12:07 +01:00
Albert221 c6388532c0 Better color to represent read notifications
Replace color of read notification background
in notifications list with Base 80, also
slightly increase opacity of timestamp to
be more visible.

Bug: T78594
Change-Id: I93e26a9eb7e01a8b46bcac8b7ed72ddf06a63f30
2017-12-09 02:11:08 +01:00
petarpetkovic 41a4cc4ae6 Add left padding to PageNotificationsOptionWidget
Bug: T177065
Change-Id: I71a9bafe520faf04e59c093761ed1303b13861bb
2017-11-28 16:05:01 +01:00
Volker E 738524da4a Equal CrossWiki/BundleNotificationItemWidget group's padding
Follow-up I18c0caea2438399d6f97e59c47177691cb43816d.

Bug: T177723
Change-Id: Iaa7a19d3d2064d3258bdd161056976fc0ebc781e
2017-11-09 11:43:05 -08:00
Volker E 64c07dfb68 Unify SVG markup
Align SVG markup across Foundation products by:
- unifying XML declaration,
- removing unnecessary `standalone="no"` attribute as it's default,
- removing all `g` group elements where applicable,
- bringing attributes in order,
- removing unnecessary ids and
- unifying whitespace.

Bug: T178867
Change-Id: Id3799a46c14f793636ca9bca3ad0f642466ed5a0
2017-11-04 14:21:06 -07:00
jenkins-bot e25e8b1231 Merge "Use position:sticky for toolbar floating" 2017-10-18 23:01:56 +00:00
Bartosz Dziewoński 6fa38a985c mw.echo.ui.PageNotificationsOptionWidget: Fix CSS after changes in OOjs UI
We have to override 'position: absolute' and increase the specificity
of the selector to override 'display: block'.

Bug: T178439
Change-Id: Icd09e8302f124524779553eae3536d875f2e1227
2017-10-18 20:56:27 +02:00
Ed Sanders cfa130cc13 Use position:sticky for toolbar floating
Avoids any scroll-based DOM changes which slow down scroll events.
Removes floating in browsers without sticky support (mostly IE).

Change-Id: If75e2a90d76644296fe3db5ef8bd9b26de4e7b0c
2017-10-17 15:22:26 +01:00
Ed Sanders 892ba8e5fe build: Update eslint and other linters
Change-Id: I68b74742bea0c3d4c8e359fd7850beaa6bbc4190
2017-10-17 13:53:08 +01:00
jenkins-bot 3460faa930 Merge "Fix CrossWiki-/BundleGroup layout" 2017-10-17 01:44:02 +00:00
Volker E 6a74084e01 Fix CrossWiki-/BundleGroup layout
Fixing CrossWiki-/BundleGroup layout after OOUI button height,
which is used as header in this case, has been increased.
Also removing `border-bottom`, `box-shadow` and
`border` of next item respectively notification footer are
sufficient and result in the groups being less crowded.

Bug: T177723
Change-Id: I18c0caea2438399d6f97e59c47177691cb43816d
2017-10-16 18:29:12 -07:00
jenkins-bot bab8145f06 Merge "Align popup message color to toast message in MinervaNeue" 2017-10-12 19:19:12 +00:00
jenkins-bot b2b7547877 Merge "Replace vendor prefixed box-shadow with central mixin" 2017-10-10 21:16:49 +00:00
Volker E 4b3782a46a Replace subtle greys with WikimediaUI color palette ones
Bug: T177723
Change-Id: Iceafe2f3e702667e0ee68b79ddcb6aa4d8fd0010
2017-10-08 10:26:43 -07:00
Volker E d4682c9f14 Align popup message color to toast message in MinervaNeue
Toast messages carry now `#222`. This should be used here as well.

Bug: T177723
Change-Id: I7e1f6c2e1937353b0485ed0b5c2737742c62e770
2017-10-08 09:55:18 -07:00
Volker E 1a46e0f06f Replace vendor prefixed box-shadow with central mixin
Replacing vendor prefixed `box-shadow` with LESS mixin out of
mediawiki.mixins.less. This also removes obsolete `-moz-box-shadow`
saving some bytes.

Change-Id: I336ee7340bc518fef74762a8381495265dd3eb4b
2017-10-08 09:50:09 -07:00
Kaldari 4381dbbe8a Fix gap between notification pop-up header and notifications
Change-Id: I12261ad8033af7286d426933df19611b8163d9c9
2017-09-26 18:44:56 -07:00
jenkins-bot 31709919e4 Merge "Consistently use the message when updating count" 2017-09-18 15:08:17 +00:00
Moriel Schottlender 57f14931b6 Consistently use the message when updating count
The current initial message in the button label is "Alerts (x)" or
"Notices (x)" but when the badge loaded, we changed that to only show
the rendered number. This is inconsistent; the badge should always
update the label properly, even if it's not visible in most cases.

Bug: T173970
Change-Id: I6a5e13fc36ddb1bf467c712fcf49af3b18e582d0
2017-09-14 17:33:48 -07:00
Moriel Schottlender c086169138 Use "formatversion: 2" in notification fetching
This means booleans are actually true/false rather than value or
empty-string.

Bug: T175867
Change-Id: I3d33129d061a64012602a131741d20e2ff97d1be
2017-09-13 15:18:07 -07:00
Matthew Flaschen f80a11d53b Fix interpretation of 'prioritized'
Docs (especially in EventPresentationModel.php) say true means outside
the menu, false inside.

However, it was interpreting any non-undefined value as true.

Change-Id: Icb438538e5c588c1ac7d4bbac0b762dd07057199
2017-09-07 19:13:10 -04:00
Volker E 537708ce76 Update Red50 'destructive' color
'Destructive' color was updated in WikimediaUI color palette to
ensure WCAG 2.0 level AA conformance with both, white and black.
Due to WikimediaUI Base not in central place we still have to care about
this manually.

Change-Id: I7402ef64b1aa28c2cffeb9bca2804b1dfbecec42
2017-08-21 16:06:06 -07:00
Moriel Schottlender 9e320bac6a Fix 'unread' dot top padding regression
All frameless buttons seemed to have recieved a generous padding-top
in the latest OOUI release. This fix overrides that.

Bug: T173059
Change-Id: Ia1f1bbc48410555163afabc84a199e7a69bb95dc
2017-08-21 11:21:39 -07:00
Volker E d7ebaf8c8b Replace outdated border-radius value with WikimediaUI one
Change-Id: Iebfd55c8e7f52f207f45dc547fccaf89107e8a32
2017-08-17 17:22:57 -07:00
jenkins-bot e74713a3ba Merge "Add 'Mark all as read' button" 2017-08-13 16:19:56 +00:00
mdew192837 e88185c54e Add 'Mark all as read' button
Currently, the 'Mark all as read' button exists only for JS users.
This patch adds the button for no-JS users as well.

Bug: T96061
Change-Id: I1a62c56306597209540ffd694c8fb7b2a92885c9
2017-08-13 10:55:46 -05:00
Roan Kattouw 0bf4861d92 Fix layout regression in notification popup footer
Caused by a new margin rule in OOUI.

Bug: T171302
Change-Id: I5746d9e6a2daa2b0d18e76a99e67c8fdaa1464d6
2017-07-21 13:04:51 -07:00
Roan Kattouw 4cf17a6712 Fix alignment of the "Mark all read" button
Bug: T169019
Change-Id: Ie63e74bef594e9c21c8a9bb615454c4a526276c2
2017-06-27 14:46:19 -07:00
Roan Kattouw 23252571a4 Migrate from FloatingMenuSelectWidget (deprecated) to MenuSelectWidget
Bug: T168679
Change-Id: I987a4b12560d03cc5eec7f8a57020a3e726a040f
2017-06-23 12:58:22 -07:00
Moriel Schottlender f05131a8ef Fallback to dbname if source title doesn't exist
This shouldn't happen regularly, since the source should always
have a title through a wg* variable in LocalSettings.php but in
cases where that is not set up correctly, or is missing for whatever
reason, the system should always fall back to displaying the name
of the source, if the title doesn't exist.

Bug: T164112
Change-Id: I94074adc260a5caf55ca21578fd7071b3323a5e6
2017-06-05 16:40:15 +03:00
jenkins-bot 2de9b411c7 Merge "Follow-up 739847c20: don't adjust the popup anchor position" 2017-05-02 18:39:02 +00:00
Roan Kattouw dd2bdd64af Follow-up 739847c20: don't adjust the popup anchor position
We used to need to center the anchor, but I375a76a49337d3b on oojs-ui
makes popup anchors center themselves, so this is now harmful.

Bug: T163993
Change-Id: I345727ae4175fd9d3cea024f43df802bcd401838
2017-05-02 10:55:02 -07:00
Roan Kattouw 2691d94e0f Don't truncate notification header messages in bundles
Bug: T163518
Change-Id: I569aeba7b8f87ca46a81ffb5a56c241342dc3d21
2017-05-02 10:50:13 -07:00
Stephane Bisson c46d56b018 Special:Notifications show unread by default if there's unread notifications
Bug: T162927
Change-Id: Ibdfaca90803eb8b12b12eb1781b0692e7336b7d9
2017-04-19 15:20:12 -04:00
Moriel Schottlender ebbe2e81af Make date headings a proper semantic <h2> heading
To support accessibility, make sure the titles in Special:Notifications
are <h2> headings.

Bug: T149955
Change-Id: I4f15694efb04896e9bd7b026d297891047759644
2017-04-13 22:39:28 +00:00
Mooeypoo 84d34a3901 Revert "Do not use fancy styled badge on Modern and CologneBlue"
This reverts commit 08d224e955.

Causes bugs in Vector when displaying the badges.

Bug: T162173
Change-Id: I9e92c304b47ce9204d7a7d2fba67118e67b1bdc9
2017-04-04 18:40:09 +00:00
Bartosz Dziewoński 08d224e955 Do not use fancy styled badge on Modern and CologneBlue
Just show the textual "Alerts (1)" and "Notices (1)".

Updated NotificationBadgeWidget to use that internally as label,
same as the PHP-generated list item does after d4d325e7.

Bug: T141944
Change-Id: I468c67b0866530e21c9af32cd02816075a3693a1
2017-04-01 14:57:34 +02:00
jenkins-bot 85c9397bce Merge "Fire 'ext.echo.badge.countChange' after DOM changes" 2017-04-01 04:52:54 +00:00
Bartosz Dziewoński f0875de9f3 Stop badge hacks from messing up the entire page on IE 11 on MonoBook
Looks like we're hitting an edge case where positioning with negative
offsets inside an inline-block element results in incorrect rendering.
We're accidentally rendering an invisible overlay over nearly the
entire page. Twiddle the styles until we no longer hit that case.

Minimal example of the IE 11 bug: https://jsfiddle.net/50v6m0kb/3/

Bug: T161869
Change-Id: Id4b6ccc1ec6a11b455d6ab45c5aaa0e8544385f7
2017-03-31 20:41:00 +02:00
Moriel Schottlender 5c35535f36 Fire 'ext.echo.badge.countChange' after DOM changes
The event should fire after the count actually changes in the
DOM as well as the internal workings of Echo.

Change-Id: I03f1742b209305080af8784632f07dff63135d81
2017-03-30 15:22:02 -07:00
jenkins-bot ea942c6250 Merge "Fix JS error when closing notification popup while animating a moving notification" 2017-03-30 17:59:32 +00:00
Bartosz Dziewoński 945fccf009 Make the invisible text in badges really invisible
Bug: T161302
Change-Id: I5c7a5bcb7a096b69c28651c6fe1e4017654997ad
2017-03-28 18:26:26 +02:00
Roan Kattouw 089531c1e9 Fix JS error when closing notification popup while animating a moving notification
This failed because it tried to call .resetInitiallyUnseen()
on a ClonedNotificationItemWidget.

Change-Id: Ib675aecfb0d916bfb25f17ad738f3a493a49dd1b
2017-03-28 12:24:25 -04:00
Bartosz Dziewoński c39fffd82f Simplify definition of 'ext.echo.badgeicons' module
* The JSON file for the Apex theme was exactly identical to the
  MediaWiki theme. If the icons are the same, there's no need to
  duplicate it.
* Since we now only have one definition used for all themes,
  ResourceLoaderOOUIImageModule is overkill and we can use the
  slightly simpler ResourceLoaderImageModule.
* Remove "prefix": "oo-ui-icon" from the JSON file, since it is
  overridden in the module definition by "selectorWithoutVariant" and
  "selectorWithVariant".

Change-Id: I1d579873459e079369fd13350a9cb00939c2b76b
2017-03-21 20:33:10 +01:00
Roan Kattouw 739847c20f Fix RTL popup alignment for OOjs UI 0.19.5
Popup alignment corrections are now done with margins on the anchor,
not directly on the popup. Setting "left" also didn't have any effect,
because it was being overridden by inline styles set by the new
PopupWidget/FloatableElement code.

Bug: T159999
Change-Id: I7738edee7ae096fcc116a79e71a591a2287ea34f
2017-03-08 15:39:50 -08:00
jenkins-bot 14f261a2fc Merge "Revert "Remove FloatableElement hack, no longer needed"" 2017-03-08 01:48:27 +00:00
Catrope 8b396ec675 Revert "Remove FloatableElement hack, no longer needed"
We still need overflow-x set to a non-visible value, so that
the overflow-y: visible rule doesn't take effect. If it does
take effect, it breaks clipping.

This reverts commit 97bde4d21a.

Bug: T159888
Change-Id: Id834d9cf9615a8d2dad27faf2eb89743ad95da9d
2017-03-08 01:23:09 +00:00
Moriel Schottlender bee8aaa499 Add and listen to 'modified' event for popup clip()
Separate the behavior of promise vs event when changes happen and
we need to clip the popup. The popup should only clip itself after
the DOM has finished populating, not "just" after the model has
been populated with data.

Adding an event that triggers whenever the main list changes anything
that is in its DOM, and having the badge widget trigger a popup clip
will solve this issue and untangle the expectation of the promises
vs. the widgets populating themselves through the events.

Change-Id: Iff9996eb1810e7ade135359139e16837e6dc74f0
2017-03-07 14:35:42 -08:00
jenkins-bot dd61dd06cb Merge "Align the cross-wiki icon with the other notification icons" 2017-03-02 06:47:48 +00:00
jenkins-bot 4ef0594a30 Merge "Remove FloatableElement hack, no longer needed" 2017-03-02 06:46:12 +00:00
jenkins-bot db1a5181dc Merge "NotificationBadgeWidget: Fix appearance of bottom buttons for OOUI changes" 2017-03-02 06:19:48 +00:00
Roan Kattouw 3e8f028ffe NotificationBadgeWidget: Fix appearance of bottom buttons for OOUI changes
This time we actually get to *remove* a hack that overrides OOUI,
which is always nice. Also add our new dependency on future-magic
forthcoming MediaWiki version.

Change-Id: Icef086e6b19dffb34eefe7b5658b57e020c5de8b
2017-03-01 22:04:05 -08:00
MtDu 185e68a803 Support loading of secondary icons in RLEIM module
Before, secondary icons, such as linked, changes, thanks, and
userSpeechBubble were loaded in mw.echo.ui.icons.less. Now, an
extra icons attribute is passed when the module is loaded, allowing
RLEIM to know which icons to load. If this attribute is left out,
an MWException will be thrown.

Bug: T159394
Change-Id: I9b36a74bcf1da0d1c698845bd067b226fb81ac96
2017-03-01 23:45:04 -06:00
James D. Forrester 988eea9da4 build: Bump stylelint and make pass
grunt-stylelint              0.6.0  →   0.7.0
 stylelint-config-wikimedia   0.3.0  →   0.4.1

Change-Id: Id87b8df04d415e1f1058a4042a31408236402037
2017-02-17 15:41:15 -08:00
Roan Kattouw 97bde4d21a Remove FloatableElement hack, no longer needed
T130153 is now fixed in oojs-ui. However, we can't set
overflow-x to visible because that breaks clipping.

Partially reverts 02252d0531. Depends on I22f2ca72cf7c2f in oojs-ui.

Change-Id: I726aada60238d17227e4475637bd3d9befa1b4c3
2017-01-24 13:12:04 +11:00
Stephane Bisson fcbc0ea2bc Remove calls to debouncedUpdateThemeClasses
debouncedUpdateThemeClasses doesn't seem to exist
anymore in ooui.

I'm not sure what this function call was for.
My limited testing has reveal no obvious
problems after removing it.

Bug: T155800
Change-Id: If9ab35ed57e51b103cc5474ea902da390abaf69d
2017-01-20 10:48:32 -05:00
Fomafix a76bd5320f Replace $( document ).ready(...) by $(...)
In jQuery 3 $(document).ready(...) is deprecated.
https://jquery.com/upgrade-guide/3.0/#deprecated-document-ready-handlers-other-than-jquery-function

Change-Id: Iff3d7fb07a739fc6ff9b62a2f586c54cd9c8f315
2017-01-06 14:06:39 +01:00
Stephane Bisson 01a1924187 Adjust unread counter position based on length
Move unread counter to the left (or right, in RTL)
when it's longuer than 2 characters so as to
have harmonious spacing between the counters and
the next link on the toolbar.

Bug: T142454
Change-Id: Ib8aa673cf9e60ade80490ea0eccb7453d3747cd0
2016-12-20 13:40:54 -05:00
Amir Sarabadani 7ac77d8538 Make mw.echo.alert text darker to pass WCAG test
Going from #54595d to #222 (both from the color palette)

Bug: T153506
Change-Id: I7e844f63a743ff8791ab76149147e9e9c71df7d2
2016-12-17 02:42:51 +03:30
Roan Kattouw 22caa786c1 Follow-up eed48aa7: remove unnecessary z-index
This z-index rule isn't needed for the floating toolbar, and it
causes the notificationInboxWidget to be on top of MobileFrontend's
semi-transparent cloaking overlay, which makes it look weird.

Change-Id: Ie9d10e4193d15b72ce0199ff9b4e45742afec132
2016-12-09 15:28:14 -08:00
Stephane Bisson 61b602e961 Fix unread notification count caching
Purge all cache when unread count changes and
repopulate on read.

Also fix client-side estimation when
marking a foreign notification as read.

Bug: T151389
Change-Id: I62def3d40a5640e26c234bb0335bc506dbf864a0
2016-12-09 09:23:59 -05:00
Roan Kattouw 49974544ba Split up $wgEchoConfig
$wgEchoConfig is a deeply nested structure that ExtensionRegistry can't handle well.
It also combined different things, and the version number was used for two
separate purposes.

Split this out into $wgEchoCacheVersion, $wgEchoEventLoggingVersion
and $wgEchoEventLoggingSchemas.

Change-Id: I2f9d5d111f7925fb057d423a3e7064bff5040205
2016-12-05 15:44:12 -08:00
jenkins-bot 53d3e99744 Merge "Add help icon" 2016-12-04 04:23:58 +00:00
cenarium c753cc04ee Add help icon
This adds an help icon that extensions can use for help pages. This is
the same icon as the one used in core mediawiki, located at
resources/src/mediawiki/images/help.svg.

Change-Id: I31665932b69c52e2a3eb2f0e1d9b5d88c562bca2
2016-12-03 20:10:21 -08:00