Commit graph

1062 commits

Author SHA1 Message Date
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
Amir Sarabadani 550dc4ee88 Align echo alert colors to WikimediaUI color palette
Change-Id: I4a6d53f7a5407838ce43f12b3a8ec6dde365ce4c
2016-12-01 07:30:01 +00:00
Ed Sanders c8d24ebd17 build: Replace jscs/jshint with eslint
Change-Id: Iee1d1b20ed31e636bfb8fc8cf9b18ff328bf608c
2016-11-23 15:25:59 -08:00
Kavitha Muthu 22389cf69b Add shadow to the notifications top toolbar
Bug: T140964
Change-Id: I5d795bc9c6601d874dfd58010399832b2727b811
2016-11-03 17:08:55 -07:00
Roan Kattouw c5d3fe3159 Clean up and simplify icon SVGs
Using svgo and some manual fixes

Change-Id: Ifb2ca82da7e95e2f0deccbec0e01eeefaae43236
2016-11-02 00:52:34 +00:00
jenkins-bot aead4d1ae9 Merge "Follow overhauled color palette" 2016-11-01 22:49:16 +00:00
Volker E 33655c75e7 Follow overhauled color palette
Replacing colors with ones from the overhauled WCAG 2.0 level AA
compliant color palette https://phabricator.wikimedia.org/M82
Applying Less variables where possible for better flexibility
in future design maintenance.
Also introducing some variables from WikimediaUI Base.

Bug: T147365
Depends-on: I16bdfbdada252ee27d5a0de11e0930347315b699
Change-Id: Ic05ed15b44d86752c686d80efc4f2ed2a1e71b41
2016-11-01 22:31:28 +00:00
Pau Giner 1e24c5798a Updating icon colors to latest palette
Echo icons updated to the new color palette
https://phabricator.wikimedia.org/M82
Also setting color value hex codes to lowercase for uniformity
across products.

Bug: T147365
Change-Id: I16bdfbdada252ee27d5a0de11e0930347315b699
2016-11-01 22:00:24 +00:00
jenkins-bot 84ad297d8e Merge "(re)Add JavaScript hooks to Notifications" 2016-10-14 22:36:37 +00:00
Moriel Schottlender e9264022a7 (re)Add JavaScript hooks to Notifications
Added the following Javascript hooks:
* ext.echo.notifications.beforeRender: Firing before a group of
  notification widgets are rendered, whether in the popup, in
  the special page, or in a cross-wiki bundle (which requires
  async loading)
* ext.echo.badge.countChange: Fired when the badge count changes
  with the notification type, count and the label count for
  display purposes.
* ext.echo.popup.onInitialize: Fired when the popup is opened and
  after notifications were fetched, with the context of the popup
  notification type.
* ext.echo.special.onInitialize: Fired when the special page is
  ready and notifications were fetched. Note that it will be fired
  whenever the special page is updated with notifications list,
  as well, like when changing filter, remote wiki or pagination.

The hooks were also documented in hooks.txt

Bug: T146296
Change-Id: Ie3dc97f97e8d1f90b67f62fcdc65dd29cb379aad
2016-10-14 17:25:25 -05:00
Kavitha Muthu cc2189f009 Remove notifications bottom controls
Bug: T140964
Change-Id: I5c1a07161ab75de0537c002785da89ebeadc508a
2016-10-13 14:16:46 -07:00
Roan Kattouw d834f023f3 Align the cross-wiki icon with the other notification icons
Bug: T147221
Change-Id: Ic88e7c4755f2efa6cc43b1acc16e3b7a1ae8572e
2016-10-11 10:39:58 -07:00
jenkins-bot 7441dcc3d2 Merge "ToggleReadCircleButtonWidget: Make circle perfectly round and align color" 2016-10-07 21:06:34 +00:00
Volker E 675d454bad build: Extend stylelint to further rules
Extending stylelint to include further general rules
and remove obsolete .csslintrc file.

Change-Id: I6957cc3731c39f495e985c9dbd40363102e2e6f0
2016-10-05 14:52:29 -07:00
Volker E 6d2e560c1e Introduce stylelint
Introducing stylelint with configuration rules compliant to
Wikimedia CSS Coding Standards 'stylelint-config-wikimedia', nullifying
some for now and making majority pass.

Change-Id: I2c4acee41c9b56d9b00e2a2c5b7ab0ab5de454ce
2016-10-04 18:15:02 -07:00
Roan Kattouw 4e5d2a8aa6 Use colors for pressed/selected options in the Special:Notifications sidebar
Unfortunately there's no generic support for using colors for icons in
OOUI yet, so we have to copy what OutlineOptionWidget does and
override setPressed()/setSelected() to add/clear the progressive flag.
Also reintroducing colors for text which are aligned with icons on
the different states and use transitions.

Change-Id: I07cf4011d28c1db4eefb451367e29c271b5efaeb
2016-10-04 17:21:26 -07:00
jenkins-bot f107dbd371 Merge "Reintroduce highlighted and selected background colors in the Special:Notifications sidebar" 2016-10-04 22:45:11 +00:00
jenkins-bot 717b53dbe4 Merge "Make notifications top toolbar controls sticky" 2016-10-04 22:37:27 +00:00
Volker E c4ea2c4af8 Reintroduce highlighted and selected background colors in the Special:Notifications sidebar
After Id1312fee5bb of OOjs UI got merged, we have to reintroduce
`highlighted` and `selected` states background color manually as
it caused issues on simple OptionWidgets.

Change-Id: I3fe7a4d2577bd1bc0fd258bc977b3539e268a84e
2016-10-04 22:34:22 +00:00
Kavitha Muthu eed48aa7fe Make notifications top toolbar controls sticky
Bug: T140964
Change-Id: I483c91344918f602da3280b9f8ad7e966bf55596
2016-10-04 22:27:49 +00:00
Touhid Arastu 50384e2f30 i18n: Native digits on CrossWikiNotificationItemWidget
Change-Id: I982319c81405917461297e96e47030953d5070d4
2016-10-04 13:49:57 +03:30
Volker E 819545ed7e Add box-sizing mixin
Replacing standard `box-sizing` with MediaWiki's Less mixin, which also
features prefixed properties for older browsers like Firefox 28 and below.

Change-Id: Iafb88b192045fb7df6bbe6954a166a198d04c5cf
2016-10-03 13:21:54 -07:00
Volker E a1ae72a03c ToggleReadCircleButtonWidget: Make circle perfectly round and align color
Due to pixel rounding errors when relying on `em` as base size unit,
the circle isn't always perfectly round and as a result /not/ a circle.
Adding `min-width` and `min-height` ensures the intended layout similar
to Ie61e7303e446 in OOjs UI's ToggleSwitchWidget.
Also aligning `:hover` unread color to OOjs UI progressive button's
`:hover`.

Bug: T141504
Change-Id: Idf130947e8e61a68819e3ac9ba3cb1e105e65370
2016-10-03 19:19:38 +00:00
Moriel Schottlender 7b4bb11c2a Add proper QUnit tests
Change-Id: I7a4abf068a32d9cf65eb464eb036f72f319c54ff
2016-09-29 15:28:30 -07:00
Moriel Schottlender 2875e3e5dd UnreadNotificationCounter should always normalize the count
Whether we estimate or not, the actual stored count should always be
normalized within the range of 0-cap. Estimation should always skip if
the current count is at the cap; in that case, the count can only be
changed when we get the value from the API through setCount() (used
when the value is known, rather than estimated.)

Change-Id: Ie8b81a4433e8254ee0e90f59e5b25d727158eecf
2016-09-23 16:22:56 -07:00
jenkins-bot f40f1aa36c Merge "Convert 'seenTime' to a global property" 2016-09-20 23:22:26 +00:00
jenkins-bot 21cd011dda Merge "Make sure bundledNotifications is an array" 2016-09-20 00:13:56 +00:00
Moriel Schottlender f47c554e1c Make sure bundledNotifications is an array
- Make sure that even if internal values of the array are null,
  the end-result is a valid array (with sequential keys)
- Verify that the API sent the UI an actual array, and if not,
  output an error to the console.

Bug: T145825
Change-Id: Ibdf17c58fe88e3e2547dde62cd4d3d06e089cbc8
2016-09-19 23:08:14 +00:00
Moriel Schottlender 1575e2bb7a Convert 'seenTime' to a global property
This transforms seenTime concept to a global property for all wikis
and sources, and updates the global seen time on opening the popup.

Bug: T134855
Change-Id: I67bcc4b346237317c7a9204dd43cd0e9ee02792f
2016-09-19 14:37:31 -07:00
Moriel Schottlender 58c53af1d1 Remove primary link from the bundle of page linked notification
Also, make sure that the bundle follows the same behavior as the
xwiki bundle, where if it does not have a primary link, the 'click'
event triggers the 'expand' action.

Bug: T145902
Change-Id: I456bf76a7bd531ffcad5462708f37cd54d8af99d
2016-09-19 14:16:43 -07:00
Catrope bba984c002 Revert "Make seen/unseen badge more consistent across wikis"
Has bugs, and will likely cause deployment problems.
This'll need to be reverted in wmf.19 at least
until we fix it up.

This reverts commit 00e0b9f45d.

Change-Id: Ia9d220ebcb607f96dee6bc856755305ed8501fcc
2016-09-13 14:21:32 -07:00
jenkins-bot 4063a26c0e Merge "Allow for count cap display in Special:Notifications sidebar" 2016-09-13 17:26:36 +00:00
jenkins-bot 1159a14b1f Merge "Generalize getCappedNotificationCount and move to counter" 2016-09-13 16:07:18 +00:00
Moriel Schottlender fcc2e1ddfc Allow for count cap display in Special:Notifications sidebar
Some of the counts are capped (wiki counts) and some are not (page
counts) - so we are adding a config option ('isCapped') to the
widget to make sure that capped numbers appear with the proper
i18n message ('99+' in English) and non-capped numbers appear
as-is.

Bug: T144707
Change-Id: I7332e7f5108621d0bd403edefe4feacca44b1f88
2016-09-12 16:35:38 -07:00
Moriel Schottlender dbd2f4ccf7 Generalize getCappedNotificationCount and move to counter
This follows the generalization we made in the back-end and allows
us to always use the same method to get capped notification count
in the display.

Bug: T144707
Change-Id: I4d7f406b05a195972dca0d2088bde2ff739d313d
2016-09-12 15:32:52 -07:00
Moriel Schottlender 5e8377b2f6 Make sure to use mw.language.convertNumber on displayed counts
In the special page, the counts should always display with
mw.language.convertNumber.

Change-Id: I9acafff9a35f2d3a1eb83ad003e57491905cb233
2016-09-12 22:02:13 +00:00
jenkins-bot c01b053025 Merge "Remove js-truncation of descriptions in Special:Notifications desktop" 2016-09-10 02:49:02 +00:00
Moriel Schottlender 42832ad04a Use echo-badge-count message for cross-wiki counts in Special:Notifications
These numbers are already "capped" for display as 99+ after they pass
100, so we should use this message for proper display.

Individual page number counts are not capped (they are accurate) so
they can remain the same.

Bug: T144707
Change-Id: Iecb877c11e2f372d58f4fc926119dbf3b316e825
2016-09-09 13:11:34 -07:00
Moriel Schottlender a834420533 Remove js-truncation of descriptions in Special:Notifications desktop
In order for the special page to be responsive, the descriptions can't
be truncated in the JS. If they are, they take a bigger portion
of the screen, sometimes going out of its confines.

The popup should still truncate descriptions.

Change-Id: I533f29c00482f6cfbb7b1c9c7417715e3c5809bf
2016-09-09 12:44:03 -07:00
Moriel Schottlender 00e0b9f45d Make seen/unseen badge more consistent across wikis
- Add a 'hasUnseen' data to the xwiki bundle so the badge can
  consider its value when changing its color even without the
  bundle being opened.
- Check and store seenTimes from all sources that the xwiki
  has in a new JS object that the SeenTimeModel can store

Bug: T134855
Change-Id: Ifdcee88b4378cdc7acb4ae5c0cbc60b76339757e
2016-09-08 12:40:15 -07:00
jenkins-bot 39720f926b Merge "Break more rules in break-word so long words can wrap in notifications" 2016-09-08 00:06:47 +00:00