Commit graph

277 commits

Author SHA1 Message Date
James D. Forrester 80fc16a57e Follow-up Ica9e5a9284: Actually make visualeditor-hidebetawelcome work
Three 'minor' points:

* You have to declare even hidden preferences. Whoops.
* There's no such thing as an "optionsToken", use "editToken".
* You need to POST action=options API calls.

Ahem.

Change-Id: I9c4358107af7bcfca157bd014de49882914e990c
2014-05-10 20:02:40 +00:00
James D. Forrester fab7aacc12 mw.ViewPageTarget: Hide the welcome dialog via a preference if possible
For logged-in users, we can a preference instead of a cookie. This way it is
also preserved between browsers and when cookies are cleared.

Keep using cookies for logged-out users, except if the beta welcome dialog
has been suppressed using the one-off GET parameter 'vehidebetadialog'.

Bug: 55551
Change-Id: Ica9e5a92841fec003ce4a21d740a9bc6ff3da9c7
2014-05-10 09:46:45 +02:00
Timo Tijhof 7dae6496b3 mw.ViewPageTarget: Get rid of FOUC on edit section brackets
We don't have a FOUC on the appearing of the 'edit' link. That
one is handled quite intelligently:
* Via the stylesheet that is also loaded in noscript mode, its
  (hidden) appearance is already predetermined. So as soon as
  those elements are seen by the browser they style correctly
  for users without JavaScript (display: none).
* This same stylesheet also hides it for users with JavaScript
  but where VE is not available (e.g. due to browser support).
  While ve-not-available is added very early on (before
  document ready), it could in theory cause a short FOUC, but
  that's okay. We simply don't know that VE isn't supported
  until then. We optimise for the common case (JavaScript
  enabled, VE available), while still ensuring that it is
  always hidden in noscript, and is hidden as soon as possible
  when VE turns out not to be available.

For some reason, one small detail (the little bit of whitespace
added inside the brackets), was left out of this and was
implemented by adding the class 'mw-editsection-expanded' to them
from a document ready handler.

* First step, get rid of the script that adds this class and
  use ve-available instead. That means they're styled
  correctly much earlier (we add the class to <html> before
  document ready). This can still cause a brief FOUC, though
  in most cases they're correct from the start.

* Step two, make brackets expand by default for script users,
  and let ve-not-available reset it. This way, like with edit tabs,
  a FOUC will never happen for ve-available. And even for
  ve-not-available, a FOUC is rare since we add it before
  document ready via <html> look-ahead styling.

There was still a brief reflow jump because of negative margins
between two paint events. One was undoing the other at a later
time. These negative margins are a remnant of when we were doing
animations (follows-up I4b9c47fd65a70). They were added to reduce
reflows and content shift, but were now actually causing them.

Removed "padding-right" from mw-editsection, and negative margin
from the brackets.

Also:

* Don't add inline 'style="direction: ltr;"' on every single
  editsection throughout the DOM. This was the only operation we
  were doing unconditionally. While I doubt the need of it in
  general, we can at least allow MediaWiki to do it right, and
  only add the override if needed. This saves quite a few DOM
  operations.

Change-Id: I7a729edc2cd4a66ebc0ad6935ffd02cb9b948bff
2014-05-09 12:20:24 +02:00
Timo Tijhof ad2fdfb66b ve.init.mw.ViewPageTarget: Actually animate the toolbar during setup
There was a slideDown() call, but this didn't do anything since
toolbars are visible and in the DOM by default.

As a temporary hack, hide it synchronously after creation and
then do the slideDown still.

This could ever so briefly cause a flash, though that didn't
happen in my testing.

This makes the experience smoother when we initialise the surface.
In particular the moment where we swap #bodyContent for our Surface
(which should look visually almost identical), before this change
it was still a bit of a flash since the Surface version has a
toolbar on top, and thus instead of swapping smoothly, we hide
content and show a similar piece of content that has an incompatible
offset from the top.

Bug: 64751
Change-Id: Id94974ba71fd887ce494d7b2b16ec62d43b18575
2014-05-06 02:43:37 +00:00
Juliusz Gonera 72fdab7a0d Enable references on mobile
Further styling and UI improvements in upcoming patches.

Change-Id: I8f93f2a2a6a6eb0c3a9953c7c479f92872d5b621
2014-05-02 14:49:19 -07:00
jenkins-bot 9f3f95d095 Merge "ve.init.mw.ViewPageTarget: Hide #contentSub in addition to #toc when muted" 2014-05-02 18:03:37 +00:00
Timo Tijhof 0b96e0dc3a ve.init.mw.ViewPageTarget: Hide #contentSub in addition to #toc when muted
Yet a another visual shift eliminated. Getting closer..

Bug: 64751
Change-Id: I9ae7afc439648e62712f6dedb7cecc07a653675a
2014-05-02 18:52:02 +02:00
Krenair 12109027a9 Switch to use MediaWiki's built-in messages for post-edit notifications
Bug: 52871
Change-Id: Ibb56fc298c2116c071bf4ed910d175282dcdb741
2014-05-01 21:51:32 +01:00
jenkins-bot 48d025aead Merge "Support QuestyCaptcha and (kind of) MathCaptcha" 2014-04-30 21:34:04 +00:00
Timo Tijhof 4a5bede30e mw.ViewPageTarget: Simplify tab transform/restore logic
Follows-up I4b6e5c898a8af2b40415.

Change-Id: I5fc0f554d1770d3c8e5b961e74bdfb5741324910
2014-04-30 21:05:33 +02:00
jenkins-bot 43c0341ad3 Merge "Fix tab selection on monobook" 2014-04-30 18:10:53 +00:00
jenkins-bot 27d3286362 Merge "Don't change section edit links on foreign file description pages" 2014-04-28 18:53:06 +00:00
Krenair e815d586cc Don't change section edit links on foreign file description pages
We have no proper way to check whether VE is enabled on the remote wiki.

Bug: 54259
Change-Id: I4b0edc00ee9736b282820d4a504f1702ab0590fc
2014-04-28 11:49:14 -07:00
Krenair 032d9d53ec Fix tab selection on monobook
Don't unselect article tab when loading VE, do unselect when restoring normal view mode.

Bug: 49407
Change-Id: I4b6e5c898a8af2b404151bba46359dc4bfbd739e
2014-04-28 16:42:01 +01:00
Krenair 94b5c8dfa5 Support QuestyCaptcha and (kind of) MathCaptcha
MathCaptcha just extends SimpleCaptcha, so its output is fine to show as
text. Doing that because I'm not sure how to render TeX and this is a
reasonable fallback

Also tidy up the order of some message entries in my last commit.

Bug: 64328
Change-Id: I98312f61471667e7c4dcf715295f85642c31a688
2014-04-24 21:45:20 +01:00
jenkins-bot 2a675d0ce8 Merge "Add support for SimpleCaptcha" 2014-04-24 01:09:29 +00:00
Krenair 62e07f8008 Add support for SimpleCaptcha
Bug: 64328
Change-Id: I04dd82e72184dcef6a660c0886b16a1086ed0b26
2014-04-23 23:30:52 +01:00
Krenair df38c8b55e Hide some tools when VE is open
Bug: 57940
Change-Id: I2f586e8c73affe1b7f14c40ba892774e784f09c8
2014-04-22 23:47:54 +01:00
jenkins-bot a1c4df7980 Merge "Update wgRevisionId when we change wgCurRevisionId" 2014-04-21 19:06:44 +00:00
Krenair 167a2f341e Update wgRevisionId when we change wgCurRevisionId
Bug: 56532
Change-Id: Ibb5a92d66a7a60ef516d3ef385b4473919a6ac63
2014-04-19 17:59:28 +01:00
Krenair b6f1793bf8 Use new OOUI pending feature rather than loading bar thing on save dialog
See I5c45cc6 for the oojs-ui change and I2fa71a1d for a similar commit

Change-Id: I77e3274a196bc13ae19a9520197f4a8b624fd528
2014-04-18 21:57:14 +01:00
jenkins-bot 987b10da94 Merge "Check useeditwarning preference before showing warning when browsing away from editor" 2014-04-18 19:24:23 +00:00
jenkins-bot caecb84b9b Merge "Remove Function.prototype.bind from compatibility check" 2014-04-18 04:16:49 +00:00
Alex Monk ca547a7f7c Check useeditwarning preference before showing warning when browsing away from editor
Bug: 51057
Change-Id: Ic4b02372e6e08d3a0d36457457a2e2bbfbaa797d
2014-04-17 15:57:10 +01:00
James D. Forrester df31082085 Remove Function.prototype.bind from compatibility check
We aren't using it anyway, and it blocks some browsers unnecessarily
(PhantomJS in particular).

Change-Id: I90b1124704bfaf571212fdf9e187a450104176dc
2014-04-17 03:49:03 +00:00
jenkins-bot a1fd95e522 Merge "Don't change tabs on Education Program pages" 2014-04-17 03:38:50 +00:00
Krenair e3be4a6588 Don't change tabs on Education Program pages
Unfortunately the best way I've come up with to do this so far is
checking the namespace.

Bug: 53477
Change-Id: Ib2dbe91aff516f2d2408e07ff3f73ea861bfcbe2
2014-04-16 20:33:24 -07:00
Roan Kattouw 5b0d4b5286 Use the correct classname in MobileViewTarget
Change-Id: I7e0a5aa56116dd7f44cbac29e0b6bc5d760e157e
2014-04-16 17:41:18 -07:00
Roan Kattouw 2262073c9c Update VE core submodule to master (4366f20)
Use new dm.Surface method for checking undo history state
(hasPastState -> hasBeenModified).

New changes:
38776df [BREAKING CHANGE] Refactor history state methods to better suit uses
3412b41 Localisation updates from https://translatewiki.net.
0c5238c Add system to dm.Surface for staging changes
8f0077c Only hide popups on selection change
4575f82 Fix initial selection when focusing in Firefox
debfd4e Document focus/blur cleanup

Change-Id: Ic66c96a4f64ad82a01a84535ca8cd19332065b37
2014-04-16 15:57:28 -07:00
jenkins-bot 266bc709f6 Merge "Always replace state with VE tag when loading" 2014-04-16 18:50:09 +00:00
Krenair e9153fdccf Always replace state with VE tag when loading
Instead of just when venotify is used. To stop the back button breaking.

Bug: 63739
Change-Id: I637818f34a9015076c85c6daccb337503ad2499d
2014-04-16 18:02:10 +01:00
Ed Sanders b019036a2c Hide inspectors using new method when saving
Previous hack caused unwanted blur events and subsequent range changes.

Depends on I8388318311 in core.

Change-Id: I9163f4d9928887a5eec09f0651ec0a66cc221cd4
2014-04-14 17:17:42 -07:00
Ed Sanders 3bba5e4d3b Pass required params to open for save dialog
Change-Id: Ib2e8f6255544894d54d9a89a579241b40c58ef90
2014-04-14 16:18:22 -07:00
jenkins-bot d20ff82e5c Merge "Use updated tab labels on description pages for files in foreign repos" 2014-04-11 19:11:10 +00:00
jenkins-bot d8453acff5 Merge "Remove remaining uses of surfaceModel#getSelection in dialogs" 2014-04-11 18:43:14 +00:00
Ed Sanders 340a939c97 Remove remaining uses of surfaceModel#getSelection in dialogs
These were being used indirectly in the MW*Model's. Use surface
fragments instead.

Fixes I0fae3e5ff2bd.

Change-Id: I1d6aa5e00a9315cf7088f87f9e9d828833feec64
2014-04-11 11:14:43 -07:00
Roan Kattouw 989fd6214c Fix JS error when opening VE on redirect page
Change-Id: I95dd2dc2c52ffa3d420a579592e84001bd2b10e8
2014-04-11 10:13:51 -07:00
Ed Sanders 164cf27299 Use new model directionality in MW
Depends on I2065e17020dc89 in core.

Change-Id: I6e99db601af58a9c4200f885887de451f9f70daa
2014-04-09 18:21:25 +00:00
Krenair 99640bf1a7 Use updated tab labels on description pages for files in foreign repos
See I4a43b759

Bug: 63666
Change-Id: Ie4aeddde4909f455472dc5239156c23200033ee8
2014-04-09 00:26:29 +01:00
jenkins-bot b71e58c0f7 Merge "Give the edit tab <li> closest to the collapsed tabs menu class=collapsible" 2014-04-04 19:32:21 +00:00
Krenair e3b7827c44 Give the edit tab <li> closest to the collapsed tabs menu class=collapsible
Bug: 50225
Change-Id: Ib2e6237483338c8072d5f7919c6459bf7418946a
2014-04-03 02:16:13 +01:00
Ed Sanders 391e247c90 Show the debug bar in MW if ve.debug is set
Depends on Ide1487250e in core.

Change-Id: Ia31e498b565c4db79026e0e40f515a2b65bbbde2
2014-04-02 17:33:29 -07:00
jenkins-bot 6465a3f8d6 Merge "Add new 'vehidebetadialog' GET parameter to not show the beta dialog" 2014-03-24 23:26:39 +00:00
Trevor Parscal 90f458ebf4 Fix a typo that causes crashes when using the wrong symbol for mwTocWidget
Bug: 62934
Change-Id: Id2713a9aab1ec372ce987c24d8703aa91e1abe98
2014-03-21 20:33:17 +00:00
James D. Forrester 4bc8205a91 Add new 'vehidebetadialog' GET parameter to not show the beta dialog
Mostly for the benefit of the browser tests. Also, clean up this code a bit.

Change-Id: I9c85171ee175dabc232740c5c48ec363db10e98c
2014-03-20 11:48:59 -07:00
jenkins-bot 6c85a29a85 Merge "Properly teardown TOC widget" 2014-03-19 23:27:18 +00:00
Rob Moen e02460131f Properly teardown TOC widget
Change-Id: Ib115024b4e50ac379e5b8689ae796fce3586d386
2014-03-19 15:51:23 -07:00
James D. Forrester 903c19ef06 Disable VisualEditor on Page Translation output pages
Also, we warn the user that Here Be Dragons™ when they're editing a Page
Translation /source/ page.

Bug: 50284
Change-Id: I841ccb8461d31358640a16301a6a78750a660d36
2014-03-19 15:25:24 -07:00
Andrew Garrett 7e52a1ab2a Fail gracefully if there is no edit tab
For example, LiquidThreads pages, pages which are using DynamicTabs, etc.

Change-Id: I6b059dd76c150ee7fefb087aefe7fcccf41a3a43
2014-03-18 16:25:24 +11:00
jenkins-bot fbdc55dc78 Merge "Table of contents widget" 2014-03-14 22:31:10 +00:00