Commit graph

379 commits

Author SHA1 Message Date
Alex Monk 65b232a35b Show pending state on action button and keep dialog open when switching to source mode
Instead of doing a blocking overlay, we're simply keeping the dialog open,
which is necessary for the pending status of the action buttons anyway.

Requires Ib2c8f336 in OOUI

Bug: 65012
Change-Id: I65b5de4a1666a81b157a71f6fec490007689eb44
2014-09-15 20:44:55 +01:00
James D. Forrester e130042b7f mw.ViewPageTarget.init: Log an error if target fails to load
So users aren't left entirely stranded..

Change-Id: I111176b83227b48d50623a4817b9dc7573010338
2014-09-08 01:11:07 +02:00
Timo Tijhof 7f43fccd4d mw.ViewPageTarget.init: Reduce Deferred clutter in getTarget()
* mw.loader.using returns a promise already.
* Use .then() instead of manually forwarding failures.
* Cache .promise() result.

Change-Id: I3d0a90051c389c02dd5714020b2a1fb872790a18
2014-09-08 01:10:10 +02:00
Alex Monk 14b23d7ba4 Make sure mediawiki.notification is loaded -before- calling ViewPageTarget#checkForWikitextWarning
That function needs to return the result immediately, not wait for module loading (via mw.notify).
This was breaking us being able to keep track of what wikitextWarning object was in use (but only
the first time we used the module), and therefore fail to close the warning when the wikitext
disappeared.

Bug: 70168
Change-Id: I0f1427423a5fe82ec8e70e2f0462a3044ca7ace8
2014-08-29 21:18:24 +01:00
jenkins-bot 3286115c21 Merge "Return undefined, not null from onbeforeunload" 2014-08-28 23:11:30 +00:00
Roan Kattouw f0cadeca42 Return undefined, not null from onbeforeunload
IE doesn't accept null as a "do nothing" value, only undefined.
If you return null, it'll show a popup with the text "null".

Change-Id: I984a7ded483c4c178cbca2a9af9abd895e6ded56
2014-08-28 14:38:49 -07:00
Alex Monk 2748366a8e Pick up 'summary' parameter from URL to use as initial edit summary
To match the wikitext editor

Bug: 69501
Change-Id: I3cfc269aa344d89cc30af29699aca70eda5565e2
2014-08-28 02:56:14 +01:00
jenkins-bot aa95f70c4e Merge "Switch 'disallowQuotedKeysInObjects' jscs rule on and fix up" 2014-08-25 18:00:07 +00:00
James D. Forrester a232147b11 Switch 'disallowQuotedKeysInObjects' jscs rule on and fix up
Change-Id: I75ac4b378ef485feead9d0eff34ed7877b94b5d0
2014-08-22 13:50:48 -07:00
Juliusz Gonera 7864de472e Do not focus CE on mobile when editor opens
Extract the part of mw.Target#restoreEditSection responsible for moving
cursor to a separate method and move the cursor only on desktop.

Bug: 68832
Change-Id: I4ffc54ced64ce9e52d0cbcffb2fb4d082239098c
2014-08-22 12:37:00 -07:00
jenkins-bot bea941d213 Merge "Followup 67f304a: use .openWindow(), not .open(), to open save dialog" 2014-08-21 19:06:16 +00:00
Roan Kattouw e33bcb02cc Followup 67f304a: use .openWindow(), not .open(), to open save dialog
Calling .open() directly doesn't work any more.

Change-Id: I986ad063f7b83992a8f96969ccb5f7e08fb9f386
2014-08-21 12:00:40 -07:00
Bartosz Dziewoński 8bb55d683b mw.ViewPageTarget: Be more careful when updating page title
If there is more than one span in #firstHeading, we only want to
update the first one.

This will still break if something inserts elements *before* the title
span, but fixing that would take more thought (we probably should
rebuild the entire heading element and fire 'wikipage.content' on it).

Bug: 69857
Change-Id: Id78b9b8275a57c9b3f3f1dbd0aaca356f94d0f03
2014-08-21 18:36:01 +02:00
Sam Smith 33ef289190 Reinstate the ve-ui-toolbar-saveButton class
The class provided a minimal coupling to the firsteditve guided tour,
which used it to attach a guider to the "Save page" button.

The class was removed in I30dc7020121f0dd6907b61ef674a7cb14eb00652.

Bug: 69784
Change-Id: I81fdc4f2fa41c86a6481cf478c154b5d6c99d41d
2014-08-20 17:39:40 +01:00
jenkins-bot ccdc215a98 Merge "Don't show PostEdit message if we made a null edit" 2014-07-30 00:45:08 +00:00
Alex Monk 1468ab8277 Don't show PostEdit message if we made a null edit
Bug: 51243
Change-Id: I63b2405c854e2953976dc8ca7a5a136308a7dcf0
2014-07-29 17:42:57 -07:00
Juliusz Gonera a43a87226d Remove timeout in scrolling to heading on mobile
No longer necessary after 859d8525.

Change-Id: I5b92a8c6acd3bbb8c563184fb2dda56e894a2c66
2014-07-29 15:07:36 -07:00
Juliusz Gonera 3224ceb41d Delay scrolling to a heading more on mobile
200ms are not enough for the surface to be rendered on iPad (especially
on older models).

Change-Id: I518312b3a038f2e5c9cc2022c51fc4e1e63f599d
2014-07-28 14:54:12 -07:00
jenkins-bot e49138a8c6 Merge "Actually clear diff viewer after closing save dialog and changing document" 2014-07-26 00:11:16 +00:00
jenkins-bot 4d58b106f8 Merge "Attach mobile surface to the toolbar" 2014-07-25 23:24:21 +00:00
Roan Kattouw 1042733ee2 Attach mobile surface to the toolbar
Trevor promised to do this in Iafe64a6f but never did.

This needs styling changes to look right. It also means that
VE mobile standalone doesn't have a context at all right now,
which is horrible, but at least this makes MW mostly work.

Bug: 68546
Change-Id: Id8cc4b07905f777f667f36cbcc65e821847142d5
2014-07-25 23:10:15 +00:00
Roan Kattouw a6d94256d8 Actually clear diff viewer after closing save dialog and changing document
The window refactor removed the 'teardown' event from windows,
but ViewPageTarget was still listening to this event on the save dialog.
Instead, use the opening promise to be notified when the save dialog
closes and call onSaveDialogClose() at that time.

Change-Id: I31a9a359eb14a56b214a1240db08632bda6bc8b9
2014-07-25 13:14:07 -07:00
Alex Monk 14753500a6 Don't overwrite #contentSub just to try to get the correct subtitle for redirects
Because this breaks other subtitles such as subpage breadcrumbs
Instead, deal with the #redirectsub (added in I780c965) directly.

Bug: 68432
Change-Id: I646868916a4480404f6d466fd89f84798d0e9df5
2014-07-25 18:57:08 +01:00
Juliusz Gonera 8563668978 Allow for a custom mechanism for scrolling to a section
When I05f11246ca90a1ce3f741fd93194a827528cd597 gets merged, we will need
this to be able to scroll to a section on iOS (where the content will be
scrolled within a div, not as a whole page).

Change-Id: I6e47edfa8c3a3a46fd7a4f11e4a54955f3694b9b
2014-07-23 17:34:39 -07:00
Roan Kattouw 35e611369b Followup 3dd1a996: don't try to switch to source mode when surface is torn down
If you saved a change, then clicked Edit source, you'd get a JS error.

Change-Id: I589f9edb354afcd47d5c42ef9a6c73d49218b044
2014-07-22 17:29:31 -07:00
Alex Monk de2d5bd31b Don't confirm if there's no changes when switching to edit source mode through the page options menu
Also use a simpler way to discard changes

Bug: 68229
Change-Id: I1efc40f14fca0f743df699a4f3aadd4ba3a249e2
2014-07-23 00:23:53 +00:00
James D. Forrester c2f37a0450 test: Move mw into the global list of globals for VE-MW
Silly to have 38 MW-specific files needing to declare that they're using mw.

Change-Id: I97891ed922fe0c37d8c96425a4d23bd15098438b
2014-07-19 17:42:45 +00:00
James D. Forrester cc089d6bd3 Scrap the cancel button from the toolbar
It's unnecessary, big and ugly, way too close to an actually useful button, and
adds oodles of complexity to the mire that is VPT without significant user benefit
whilst taking up an unjustifiably huge amount of the already-over-burdened space.
This means that the minimum browser width for English on default Vector to show
the toolbar correctly is now 945px, down from 1029px.

Bonuses: fix MWCancelConfirmDialog's cancel button to be destructive (it is) and
remove a now-recently-fixed comment asking for the save button to be styled using
a generic class (provided by the constructive flag).

Change-Id: I30dc7020121f0dd6907b61ef674a7cb14eb00652
2014-07-18 16:38:17 -07:00
jenkins-bot 20205b1e99 Merge "Set title of page to use if discarding changes when changing to the wikitext editor" 2014-07-17 00:08:58 +00:00
Trevor Parscal 49ffef5a0f Close the save dialog on teardown only, not on save
Closing a dialog with specific data means closing it again with
potentially different data, while the dialog is already closing, means
someone wins and someone looses. Silently failing in this case is bad,
because if the first close call was a cancel, producing no side effects,
but the second close call would have produced some side effect, the side
effect would never occur.

The problem here really was that the save dialog needs to be closed
before we can destroy the surface so we can uphold the assumption that
hold and teardown processes are operating on an attached DOM.

The solution is to automatically close the save dialog on teardown,
rather than on save. Since save triggers teardown, this has and identical
user experience.

Bug: 68048
Change-Id: I669448739f168737d4eddd6496189a819ce894b1
2014-07-16 23:51:58 +00:00
Trevor Parscal 1be1c469de Enable mwreference, mwtransclusion modules on all targets including mobile
Bug: 67701
Change-Id: Icdf2a208c9efa7abd897d48aed02bf923328d53c
2014-07-16 22:40:00 +00:00
Alex Monk c1c80f6985 Set title of page to use if discarding changes when changing to the wikitext editor
Turns out it's a bad idea to do most testing on the default page

Bug: 68121
Change-Id: Ie9729dba4e8ca690625a6553703e9ff30cb5106e
2014-07-16 23:15:26 +01:00
jenkins-bot de9491ea0e Merge "Make a message dialog for cancelling VE" 2014-07-16 20:45:28 +00:00
Alex Monk b9ad2fb406 Don't allow document save if we're already tearing down the surface
Otherwise you get "Uncaught TypeError: Cannot read property 'messages' of null"
if you press the save button late enough in the saving process. The bug refers
to a different error which I have not been able to reproduce.

Bug: 68073
Change-Id: Ia8fa325f1450329b6e0e4ee9af5302aa4857d637
2014-07-16 17:52:00 +01:00
Alex Monk 54a1a85e6e Make a message dialog for cancelling VE
Confirm dialog was replaced in refactor, so until this is merged the 'Cancel'
button is broken.

Bug: 68068
Change-Id: I77d1c82bf0d68013eef361174a134860a197cd44
2014-07-16 00:07:24 +01:00
James D. Forrester fbdff76263 Update VE core submodule to master (f2277ea)
New changes:
56de6f5 Localisation updates from https://translatewiki.net.
f8bda64 Widgetise demo menu
6ac48d8 Localisation updates from https://translatewiki.net.
365e131 builderloader: Omit value for boolean "disabled" attribute per HTML5
706e4b3 Prevent double counting of DM nodes in getNodeAndOffset
b141a7d Update OOjs UI to v0.1.0-pre (d2451ac748)
c5b3921 Localisation updates from https://translatewiki.net.
1606983 Update reference to ConfirmationDialog to use MessageDialog

Deletions:
* Styles for ve.ui.MWBetaWelcomeDialog - not needed anymore because
  OO.ui.MessageDialog provides them
* Styles for ve.ui.MWGalleryInspector - not needed anymore because
  ve.ui.MWExtensionInspector provides part of them and the rest are being
  replaced by programatic sizing

Modifications:
* ve.ui.MWLinkTargetInputWidget - Added support for validation and href
  getter
* Split message between tool and dialog title for ve.ui.MWEditModeTool
  and ve.ui.MWWikitextSwitchConfirmDialog

General changes:
* Updated inheritance.
* Added manager param to constructors of dialogs and inspectors.
* Updated use of show/hide with toggle.
* Added meaningful descriptions of dialog and inspector classes.
* Configured dialog and inspector sizes statically.
* Configured dialog action buttons statically.
* Interfaced with OO.ui.ActionSet to control action buttons.
* Moved applyChanges code into getActionProcess methods.
* Always using .next in setup/ready process getters and .first in
  hold/teardown process getters.

Change-Id: Ia74732e6e32c0808eee021f0a26225b9e6c3f971
2014-07-14 23:24:45 +00:00
jenkins-bot 6d8e900d57 Merge "Replace ve.bind( fn, ... ) calls with fn.bind( ... )" 2014-07-10 14:11:43 +00:00
Alex Monk 5054ee94f8 mw.ViewPageTarget: Remove vesection from URL on save/cancel
Bug: 66237
Change-Id: I1cc34176322cb768d1cb9711407ecdf91b3ca767
2014-07-10 14:02:44 +00:00
Alex Monk 51142e8b11 Replace ve.bind( fn, ... ) calls with fn.bind( ... )
Bug: 62762
Change-Id: I1a7fc7f27fa737d17f5c6b3d084ef4a35e4bebc0
2014-07-10 13:54:07 +00:00
Roan Kattouw da5eacbe2e Split mwtransclusion and mwreference into core and non-core modules
Mobile doesn't want the tool+dialog functionality for those yet,
so move them to a separate module and only load the bare bones
for mobile. We did the same with mwimage/mwimage.core.

Change-Id: I9185ce62f458b3de08cbd28f2a41370d2301de9d
2014-07-01 16:50:57 -07:00
jenkins-bot 01348dc05f Merge "Update displaytitle on save (try #3)" 2014-07-01 21:18:54 +00:00
jenkins-bot 5ed0dae7a9 Merge "After showing missing edit summary error, mark the dialog as not pending anymore" 2014-07-01 16:28:58 +00:00
Alex Monk 84270db5e6 After showing missing edit summary error, mark the dialog as not pending anymore
Reenables edit, etc.

Bug: 67345
Change-Id: Ic7029209b2ed84a61e2312067c513a9b4a0e2877
2014-07-01 15:53:53 +01:00
Alex Monk 3dd1a99660 Don't offer to retain changes when switching to wikitext editor by tab if no changes have been made
Bug: 57462
Change-Id: Ifa978447a5b6215ebdafdfd4fa8056a1ee11aea5
2014-07-01 01:01:39 +00:00
Alex Monk 237d68f6db Offer to retain changes when switching to the wikitext editor
Bug: 57462
Change-Id: I4e57f9dff4479531e7c715966bdad2cabb97ca8c
2014-06-27 22:31:07 +01:00
Alex Monk dc6840c3a0 Update displaytitle on save (try #3)
Parse the wikitext we already have.

This is mostly a revert of commit f84b880a54.

Bug: 50341
Change-Id: I312bafb0e7d61b0abd42d6ca7ea2e4b5dcdc61be
2014-06-23 15:32:15 +00:00
jenkins-bot 9e7c60a4e4 Merge "Revert "Update displaytitle on save (try #2)"" 2014-06-19 00:36:19 +00:00
Alex Monk f84b880a54 Revert "Update displaytitle on save (try #2)"
This reverts commit b7401f838b.

Didn't break everything, but we should probably avoid this getting deployed until I can work out wtf is going wrong with it.

Change-Id: I048143239e998b30aba79fa395a0af1cb06c6a9b
2014-06-19 00:34:26 +00:00
jenkins-bot 29d5bf6e51 Merge "Update displaytitle on save (try #2)" 2014-06-18 23:41:29 +00:00
Alex Monk b7401f838b Update displaytitle on save (try #2)
This reverts commit 5565ccca54.

I have no idea what is going wrong on deployment-prep to cause
the error in bug 66792. Let's try to find out.

Bug: 50341
Change-Id: I5041de838128bb55c57baddae01cdcb263626537
2014-06-19 00:04:51 +01:00