Commit graph

7819 commits

Author SHA1 Message Date
Bartosz Dziewoński e9ef3a6f78 ve.init.mw.MobileArticleTarget: Remove unused method
ve.init.Target#isToolbarOverSurface has been removed in VE/VE in 2016:
8b1208cb976278bd44025e6d2c86a3ea6ed8c177. Nothing calls this method.

Change-Id: I9640978b45e568412db4b1c5aa80631a68d847b2
2019-03-23 03:52:01 +01:00
Bartosz Dziewoński f2fc7b8e73 ve.init.mw.MobileArticleTarget: Bring the toolbar back into view after it scrolls out
On iOS Safari, when the keyboard is open, the editor toolbar could
previously be scrolled out of view, due to how the keyboard affects
the viewport (or rather how it doesn't).

Detect when this happens and bring it back in, with a similar slide-in
animation as when the editor loads. Technical restrictions prevent us
from really keeping it in view at all times, and I think this is the
best we can do (and it looks almost intentional).

Bug: T218414
Change-Id: I5eed360d4644815bc9829fbc6b0ffd79b205d10b
2019-03-23 00:59:50 +01:00
Bartosz Dziewoński 73561f7aba ve.init.mw.MobileArticleTarget: Merge in downstream code from MobileFrontend
It will be easier for us to maintain this way. The code I'm moving had
a lot of comments saying that it should be moved here.

See MobileFrontend change Ibe192360bdecab86519de1781f66f90a3441c551.

Bug: T218946
Change-Id: I908e035ec245a9b190f05e64c35dbb29936434de
2019-03-22 18:30:05 +00:00
Bartosz Dziewoński 5806329748 MobileArticleTarget: Remove padding below the surface on iOS
It was here because our old hacks prevented the viewport from being
scrolled, so the keyboard would always cover the last few lines of
the surface. But it is no longer necessary after we ditched the iOS
scrolling hacks in MobileFrontend.

Bug: T217769
Change-Id: Iaf3f86c0fc43f75d11a43462721f44d62abc6eb3
2019-03-21 18:33:02 +00:00
Bartosz Dziewoński a89896a500 MobileArticleTarget: Remove broken iOS override for #scrollToHeading
This is no longer necessary and doesn't work after we ditched the iOS
scrolling hacks in MobileFrontend. And the default implementation works!

Bug: T218429
Change-Id: I5fba78a3877901dac5afda46d3004c07cad383d0
2019-03-21 18:32:54 +00:00
Ed Sanders d6d48ff4b8 Introduce a 'mobile-ab' config option for section editing
This enables mobile section editing if the user is logged
in and has an odd user ID. Otherwise it is disabled.

Bug: T218851
Change-Id: I2c22d7636ae11d2db7780ae5adb3abe9df532b7c
2019-03-21 13:18:10 +00:00
Ed Sanders 970cca735d Suppress slugs between floated images
Logically depends on Idb4a58fa616 in core.

Bug: T107745
Depends-On: Idb4a58fa616dedb29d42bdf659a7497451f8eb6c
Change-Id: I206bf1a15cbac487b0d937a1b0447e0b9113156e
2019-03-21 11:33:27 +00:00
jenkins-bot 074973f01d Merge "Remove special handling for category and file pages" 2019-03-19 19:24:13 +00:00
Bartosz Dziewoński a5c5257e71 Directly call action=query&prop=langlinks from JS rather than PHP wrapper
When this code was written in 2013 (1a5bdd5bd2),
the langlinks API did not have a way to return the language names (autonyms).
This has been added in 2014 (4ba3a9aea96ee21c035c69999be23580e23f4e0a).

Change-Id: I70edb846d94b1108b079caf5915532234190da8f
2019-03-18 23:27:44 +01:00
Ed Sanders 1ffb574450 Edit summary autocomplete
Bug: T50274
Change-Id: Ida462f3dea325902459546af97e66cd9d0c86166
2019-03-09 14:03:27 +00:00
jenkins-bot 73063b4f8c Merge "Fix section param in historical diffs" 2019-03-09 01:14:40 +00:00
Bartosz Dziewoński 7acbc4d44c ve.init.mw.ArticleTargetLoader: Better document pageName parameters
Bug: T217826
Change-Id: If136b7b9dc747a75062f88f8decc1128938fee9f
2019-03-08 22:46:10 +01:00
Ed Sanders 2e33841b5a Fix section param in historical diffs
Passing section=undefined resulted in no <section> tags being
unwrapped, which broke the historical diff. Ensure 'null' is
used instead for whole documents.

Bug: T217752
Change-Id: Iec33e6ab83bfbd011df9dc05f4daccc26b1df8b5
2019-03-07 12:01:44 +00:00
jenkins-bot fefc7351a6 Merge "MWTransclusionNode: Comment strange matchTagNames values" 2019-03-04 14:49:43 +00:00
jenkins-bot 266a2bf036 Merge "ApiVisualEditor: Separate out templatesUsed from metadata" 2019-03-02 01:49:06 +00:00
Ed Sanders 9aee6bb5d1 MWTransclusionNode: Comment strange matchTagNames values
Change-Id: Ica207be94e5cc888c4454989d2fd6e9b5579a8ea
2019-03-01 16:16:20 +00:00
jenkins-bot ba5589f801 Merge "ve.init.mw.DesktopArticleTarget: Remove some unnecessary toolbar setup code" 2019-02-28 13:19:30 +00:00
Ed Sanders 2092529fb1 Allow external link pasting to be enabled by config
Bug: T129546
Change-Id: I3346c842cf56fb79fb65a8bd7d716c22134636b9
2019-02-27 19:54:55 +00:00
jenkins-bot d17d9ae768 Merge "Allow page title heading to be selected while editor is active" 2019-02-27 12:50:21 +00:00
jenkins-bot 3ccbc96fa7 Merge "When rendering categories, hide/show catlinks as needed" 2019-02-26 19:52:37 +00:00
David Lynch b1863f4b25 When rendering categories, hide/show catlinks as needed
Catlinks is hidden via a class when there are no non-hidden categories on the
page. We thus need to toggle that class depending on the categories
added/removed from the page.

Bug: T213528
Change-Id: I4067c5721c28041542b9ef2dbc796fbc41b1afe8
2019-02-26 11:26:27 -06:00
Bartosz Dziewoński 73b2defc1e Update VE core submodule to master (4669eff2b)
New changes:
0d28d49e7 ve.transformStyleAttributes: Update browser bug workaround comments
f51b718d0 Localisation updates from https://translatewiki.net.
b0d33a88a Use 'then' for opening/opened promises
40e98a759 Abort opening window for insertion when in readonly mode
744dc8cfa FragmentWindow: Add missing mixins, rename logic in WindowAction
ac5c18052 ve.ui.DiffElement: Don't always target links to new window

Bug: T210142
Change-Id: If07a40fff92fc739b7c6f954c3b89ad3fd7bdfd5
2019-02-26 16:57:17 +01:00
jenkins-bot 86a1995662 Merge "ve.dm.MWGalleryImageNode: Update for Parsoid changes to "broken" images" 2019-02-26 11:51:55 +00:00
jenkins-bot 1c083a362e Merge "Add more read-only implementations" 2019-02-25 23:59:13 +00:00
jenkins-bot 010c1889b3 Merge "TemplateContext: Filter out empty template descriptions" 2019-02-25 23:16:42 +00:00
jenkins-bot 92ce7f0b99 Merge "MWMetaDialog: Implement read-only mode" 2019-02-25 23:12:47 +00:00
Ed Sanders 403b1f97b1 TemplateContext: Filter out empty template descriptions
Change-Id: I1be721c30d92b1da4fc226935a7e0a322f0c4d41
2019-02-25 23:05:51 +00:00
jenkins-bot 99351fa20a Merge "MWCategoryWidget: Implement setDisabled" 2019-02-25 23:05:23 +00:00
jenkins-bot f8ffb4d6ce Merge "MW(Advanced)SettingsPage: Use Array.forEach for metaItemCheckboxes" 2019-02-25 22:57:52 +00:00
Ed Sanders c04d3da853 Add more read-only implementations
* Gallery:
  - Disable add/remove image buttons in read-only mode
  - Make image list undraggable
* Template: Disable outline controls
* Transclusion: Add/remove buttons on template pages
* MagicLinkNodeInspector: Disable input (e.g. ISBN links)

Bug: T210142
Change-Id: Ibb03ab0bfd55ef5bf7d7558c217c779d7904a134
2019-02-25 20:01:11 +00:00
Ed Sanders e3bb0b9e8b ApiVisualEditor: Separate out templatesUsed from metadata
Generating the templatesUsed list is relative slow, and is only
used in an obscure part of the editor, so only generate it when
needed.

Bug: T209078
Change-Id: I1cecdad65b80c4c9b1746e752ea4b41bc0fc0037
2019-02-25 13:01:43 +00:00
Ed Sanders 6aa61aefa5 MWMetaDialog: Implement read-only mode
Bug: T210142
Change-Id: I7b32668a5daecc04515e9fa13875b278cadfbcce
2019-02-25 12:56:37 +00:00
Ed Sanders 33774758b7 MWCategoryWidget: Implement setDisabled
Change-Id: I443f2b55e2f17fb3c182e6cb22e392434513ce6c
2019-02-25 12:56:37 +00:00
Ed Sanders 9c5ec0d0d1 MW(Advanced)SettingsPage: Use Array.forEach for metaItemCheckboxes
Change-Id: Id034ae5cba46503370fbf61094b33e6b93569fe9
2019-02-25 12:56:35 +00:00
Ed Sanders 8e3ef8fb7f Hide label section in MagicLinkNodeContextItem
Change-Id: Ifc6cdb2ee15874bfd036b29a6abaffa6e4207728
2019-02-24 13:25:23 +00:00
jenkins-bot 362a0b727c Merge "ve.ui.MWSaveDialog: Fix fragment links in visual diff too" 2019-02-23 18:26:07 +00:00
jenkins-bot f7a4e0a80a Merge "ve.ui.MWSaveDialog: Target links in visual diff to new window" 2019-02-23 18:21:18 +00:00
jenkins-bot fe70c26ee3 Merge "ApiVisualEditor: Remove red-link cache warming" 2019-02-23 10:36:56 +00:00
Bartosz Dziewoński 043a59a9bd ve.ui.MWSaveDialog: Fix fragment links in visual diff too
Follow-up to a22b9c8ea3.

Bug: T212554
Change-Id: Id7a16505c11a25f7a61f1394e9d9d1372cbb3d23
2019-02-22 22:51:30 +01:00
Bartosz Dziewoński ab8ae002af ve.ui.MWSaveDialog: Target links in visual diff to new window
Needed after change I6c988c012730d36d60629864a436e4a1700684c5
in VE core.

Change-Id: I7f0e836bd105a925f8dc62d52f081ee9051765fd
2019-02-22 22:50:55 +01:00
Bartosz Dziewoński 92bb0e557a ve.init.mw.DesktopArticleTarget: Remove some unnecessary toolbar setup code
This code, added in 703b2c2ed0 (2015),
is no longer necessary.

    // Disconnect the tool factory listeners so the toolbar
    // doesn't start showing new tools as they load, too
    // much flickering
    this.getToolbar().getToolFactory().off( 'register' );

Introduction of targetLoader (d371014e5d)
resulted in all tools already being loaded before a Target is
constructed, so this is definitely not needed.

    // Disable all the tools
    this.getToolbar().updateToolState();

The tools are already disabled because we set the surface to read-only
above, so this does nothing.

Change-Id: Idb162b60891cd1b961e29d2b9f62b74908f17957
2019-02-22 21:03:36 +00:00
Bartosz Dziewoński 7ade9938d0 Remove special handling for category and file pages
Previously, we tried to keep the list of category members and the file
thumbnail, history and metadata visible while the editor was open.

I am removing it because:
* It is not very useful, as you can't interact with them (e.g. links
  are unclickable).
* It is inconsistent with the wikitext editor (except for non-existent
  category pages, and I'm proposing to change that behavior in T139191).
* It causes issues when other code doesn't expect the special setup
  for those pages (T194068).

This introduces a minor change to the handling of normal pages: after
the save, instead of replacing all contents of #mw-content-text with
the new page content, we only replace the .mw-parser-output child.
Normally the effect is the same (it's the only child), but this could
theoretically affect interactions with other extensions or gadgets.

Bug: T194068
Change-Id: I26cc82d3e0f0d64e3f18a80d232005fc7ab3b374
2019-02-22 20:59:36 +00:00
jenkins-bot f1b7225336 Merge "Swap the link-rtl.png and link-ltr.png files" 2019-02-22 20:49:11 +00:00
Ed Sanders 23267264ce Load VE in read-only mode on protected pages
Bug: T53547
Depends-On: Ifaa74be266c048d87f94b4ae2df59cafc7aa155f
Change-Id: Ic90a0b86f45696a8782dec8e3d155ca91107b759
2019-02-22 19:09:23 +00:00
Ed Sanders 18907dde5a Implementations for read-only mode
Depends-On: Ifaa74be266c048d87f94b4ae2df59cafc7aa155f
Change-Id: Iedd1bd9ce17750ad8528c1a053293c4a7321c5de
2019-02-22 18:20:51 +00:00
Ed Sanders 1890530b89 ApiVisualEditor: Remove red-link cache warming
Red-link metadata was added to Parsoid 18 months ago.
On long pages evaluating this information is very slow
(hundreds of milliseconds) and completely redundant.

Bug: T64803
Bug: T209078
Change-Id: I5b6c6da588301ed59fb21e1ce930f5b72db48e67
2019-02-22 17:49:11 +00:00
Bartosz Dziewoński 93351892da ve.dm.MWGalleryImageNode: Update for Parsoid changes to "broken" images
Change-Id: I49f4a06de207fbb4dad090f0325068d13bed9810
2019-02-22 18:10:56 +01:00
setian 08e96d7b2e Swap the link-rtl.png and link-ltr.png files
Bug: T216617
Change-Id: I717f36ea94f1c7a016111ce7b32068bf42e05806
2019-02-22 02:38:56 -05:00
Ed Sanders e21d4fab3f Update VE core submodule to master (2951e9378)
New changes:
202adf904 [BREAKING CHANGE] Unify FragmentInspector/Dialog behaviour

Local changes:
* Update dialogs to use common actions & FragmentWindow

Change-Id: Ib744b8996db48d1ee58bc873120400566c490e88
2019-02-22 01:13:36 +01:00
Bartosz Dziewoński edc4fe95f6 Allow page title heading to be selected while editor is active
People enjoy copy-pasting it, or something.

Bug: T214790
Change-Id: I0d133f601d178f1d1f0175a411a9bcd433ba9419
2019-02-21 21:35:58 +00:00
jenkins-bot 767614f0e1 Merge "ve.init.mw.ArticleTarget: Fix some doc comments" 2019-02-21 12:57:05 +00:00
Bartosz Dziewoński 0b1f445349 ve.init.mw.ArticleTarget: Fix some doc comments
Change-Id: I9d8b2553b40d56cf99bcd304c93d866b2a8ba77e
2019-02-20 22:46:39 +01:00
Ed Sanders 332aa1f3d2 build: Update eslint-config-wikimedia to 0.11.0
Change-Id: I5a294705eed1760e2d4dde33934d2ffb12e29525
2019-02-20 20:23:43 +00:00
jenkins-bot 8846e65e44 Merge "Support only surfacing part of the document" 2019-02-20 19:06:30 +00:00
Ed Sanders de2a2ca06f Improve abstraction around template context description
* Separate partDescription from partDescription*s* and use Array#map
* Lookup CE node class of current model, instead of using
  ve.ce.MWTransclusionNode hard-coded.

Change-Id: Ief07b865b4c216dc13408b12e8a1354cd2c28dfe
2019-02-19 13:23:14 +00:00
jenkins-bot 557cc0e581 Merge "ve.ui.MWGalleryDialog: Allow normal tools in gallery captions" 2019-02-18 18:47:55 +00:00
jenkins-bot 81c16f6b8a Merge "Don't try to set dimensions on an error image" 2019-02-15 19:01:32 +00:00
Ed Sanders e95ec4e24f Don't try to set dimensions on an error image
Bug: T216267
Change-Id: Icbe8cce3e16b2674cb2400f2381f50c71e32f87c
2019-02-15 18:28:03 +00:00
Bartosz Dziewoński 1998a02b8e ve.init.mw.ProgressBarWidget: Remove 'filter' property for IE 8 & 9
Per I7c083ff57db2fce9a06688d5801149253af6f6da this was only needed
for IE 8 & 9, which we don't support now.

Change-Id: I6e093b8ea6f8304ff296bb74297a465dd7334e07
2019-02-15 17:45:22 +01:00
Ed Sanders 3269d53632 Support only surfacing part of the document
Bug: T76541
Depends-On: I227a0d704b9b337cff2102d424be9795d6362ed7
Change-Id: Iac71a51c8696434658f24fbb41c8142237bd810e
2019-02-13 19:03:44 +00:00
Ed Sanders bc02c44d36 rootNode/documentNode -> attachedRootNode
Change-Id: I56bb10749cac04e17ace2781b4d693ec5f522e7c
2019-02-13 19:03:36 +00:00
Bartosz Dziewoński 7b2bd6be09 ve.init.mw.MobileArticleTarget: Better match surface top spacing to read mode
Using margin instead of padding allows the surface margins to collapse
with the margins of first/last paragraph inside the surface, like they
do in read mode. This fixes the slight jump seen in T210630#4949865.

Bug: T210630
Change-Id: I69d4d4bd9390a1007bc40cda9e78a6b3e7a1bd1d
2019-02-13 13:37:31 +01:00
Bartosz Dziewoński 7fedb7be07 ve.init.mw.MobileArticleTarget: Change "back" tool icon from "<" to "x"
Icon name changed from 'previous' to 'close'.

This matches MobileFrontend's wikitext editor and other overlays.

Bug: T210630
Change-Id: I5f588c65887dd2247d3f816959807f943215e0c3
2019-02-13 00:29:24 +01:00
Bartosz Dziewoński 1faf0b00fa Filter out duplicate categories in NWE preview
Use them as object keys, which naturally deduplicates the entries.

Bug: T214811
Change-Id: I6159021b95d78b1a163faebb289578d277ff110d
2019-02-12 19:18:09 +01:00
jenkins-bot e965868def Merge "Fix TypeError in MWTocWidget.initFromMetaList" 2019-02-09 18:47:08 +00:00
Chunliang Lyu 4774fbdf5c Fix TypeError in MWTocWidget.initFromMetaList
If a page contains __NOTOC__ magic word, it would break the VisualEditor
with "Uncaught (in promise) TypeError: Right-hand side of 'instanceof' is not
an object at VeUiMWTocWidget.ve.ui.MWTocWidget.initFromMetaList".

The issue seems to be that we removed ve.dm.MWTOCForceMetaItem and
ve.dm.MWTOCDisableMetaItem in commit 57a06a6e75,
but the code in initFromMetaList still refers to them.

Change-Id: I857cddcc7d4aa73375357ef922591ed94d760166
2019-02-09 19:31:27 +01:00
Roan Kattouw b15f819fdf ve.init.mw.Platform: Migrate away from deprecated specialCharacters API
Use require('mediawiki.language.specialCharacters') instead of
mw.language.specialCharacters.

Change-Id: I9cf525a1e1aadc12d72284d08b98882b0ab95f5e
2019-02-08 16:59:25 -08:00
jenkins-bot d2fe2f7f8d Merge "DesktopArticleTarget: Make the progress bar into a reusable widget" 2019-02-06 22:37:28 +00:00
jenkins-bot d1c7b9a5d1 Merge "Fix function name" 2019-02-06 22:36:21 +00:00
Ed Sanders fed2067df9 Fix function name
Change-Id: I540ec247f37a21dfd0b84c8b593a6a37197bfcb2
2019-02-06 21:54:23 +00:00
jenkins-bot b7cf486403 Merge "ve.ui.MWTransclusionContextItem: Use the right class name in override" 2019-02-06 21:53:41 +00:00
jenkins-bot 72aff8c16a Merge "mw.Platform.setUserConfig: Don't try to set for logged-out users, it doesn't" 2019-02-06 21:43:40 +00:00
Bartosz Dziewoński 9ff514a460 ve.ui.MWTransclusionContextItem: Use the right class name in override
Follow-up to I47a995905fef5aa2cabb2b3215111de0b506e7f7.

Bug: T209610
Change-Id: I204e92771bcde9015244a1697c3a7e6bd888a516
2019-02-06 22:36:52 +01:00
Bartosz Dziewoński 6e076b3b6c DesktopArticleTarget: Make the progress bar into a reusable widget
We want to add a similar progress bar on mobile without copy-pasting
all this code.

Bug: T210630
Change-Id: I7192869cb719114ffd04940eabf38cf0f0421c13
2019-02-06 22:20:37 +01:00
Bartosz Dziewoński cb09d6a54d DesktopArticleTarget: Fix position of progress bar if editor is reloaded
Change-Id: I5f181a9516ff64988aa67e54ebd342c56e4b7e70
2019-02-06 02:11:48 +01:00
Bartosz Dziewoński 28950a8b5c DesktopArticleTarget: Match NWE toolbarPlaceholder height to real toolbar
Toolbar was made bigger in If5722df41e75a1d4bdf8afc83c81670d1be3a1b8.

Change-Id: Id85869e6ad0bfad1acebda3a64bab5328de3932d
2019-02-06 02:11:48 +01:00
jenkins-bot f5bae30b4a Merge "ve.ui.MWTransclusionContextItem: Remove "Generated from" prefix from description (mobile)" 2019-02-05 19:13:55 +00:00
jenkins-bot e52adb1590 Merge "ve.dm.MWInternalLinkAnnotation: Correctly generate relative links" 2019-02-05 17:07:56 +00:00
Bartosz Dziewoński 18fb16c81d ve.dm.MWInternalLinkAnnotation: Correctly generate relative links
We could generate incorrect links to pages whose title contains a
colon ':' and therefore looks like a fully-qualified URL.

Bug: T206231
Bug: T206357
Change-Id: Ie34694d903a6d97589cc46417f70659559494619
2019-02-04 20:08:01 +01:00
Bartosz Dziewoński c56b764330 ve.ui.MWTransclusionContextItem: Remove "Generated from" prefix from description (mobile)
It does not provide any additional information, and it is long enough
that it causes the actual template name(s) to not fit on the screen on
small mobile sizes.

Bug: T209610
Change-Id: I47a995905fef5aa2cabb2b3215111de0b506e7f7
2019-02-04 19:48:28 +01:00
James D. Forrester 3ab699f6ed mw.Platform.setUserConfig: Don't try to set for logged-out users, it doesn't
Bug: T214963
Change-Id: Idc61685b6087c0fe0082bd0b039f2f454ca92970
2019-02-01 20:50:58 -08:00
James D. Forrester b74f4db570 MWMediaTransferHandler: Fix new eslint warning from unused global
Change-Id: I729cfb8d6b487ecd5b42af5921ca8f1e18cfd749
2019-02-01 20:07:15 -08:00
Bartosz Dziewoński c91047b129 ve.ui.MWGalleryDialog: Allow normal tools in gallery captions
PHP parser and Parsoid now both allow normal wikitext in gallery captions.

Bug: T187958
Change-Id: I3470ec1f81493c58e4c2bdad00d5d78af8b4a10b
2019-02-01 19:51:35 -08:00
jenkins-bot dae36e4ea1 Merge "MWTemplateTitleInputWidget: Filter out templates named '…/doc'" 2019-01-31 22:29:51 +00:00
David Lynch f7fe245018 trackSubscriber: don't track activity here on mobile
Mobile needs to use a different sessionid

Change-Id: Iffac3d523b4c5774a23ddbe1a2d7ee380ac1b012
2019-01-31 01:22:28 +00:00
James D. Forrester c1d690e53d MWTemplateTitleInputWidget: Filter out templates named '…/doc'
As configured on-wiki via MediaWiki:templatedata-doc-subpage; this will
probably have a few false positives, but that's worth it.

Bug: T54448
Change-Id: Id91f95b5865e151f8007a2421428aeb82b11b3fd
2019-01-26 13:23:38 -08:00
jenkins-bot cd42c60644 Merge "MWLinkAnnotationInspector: check field validation before submitting with enter" 2019-01-25 01:26:44 +00:00
Bartosz Dziewoński 3dbff552dc ve.init.mw.Target: Remove unused property
Unused since 6e64fba2f8.

Change-Id: I223f2346c04573a9e853b49bfc83e542cec47c61
2019-01-24 21:05:48 +01:00
David Lynch 410386d573 MWLinkAnnotationInspector: check field validation before submitting with enter
Bug: T214453
Change-Id: I46adc4578f3827cb9f1fb8b424eb88a49f635fc9
2019-01-24 11:17:04 -06:00
jenkins-bot 2ea2197483 Merge "Fix uncaught jQuery linting errors" 2019-01-22 16:27:45 +00:00
jenkins-bot 26fd8c670e Merge "Re-introduce: Replace deprecated setIndicatorTitle with setTitle" 2019-01-22 00:43:05 +00:00
jenkins-bot 65fd3de442 Merge "Use pixel dimensions for education dots" 2019-01-18 21:26:05 +00:00
Ed Sanders 375edf0182 Fix uncaught jQuery linting errors
Change-Id: I17482ec84c95e88881ab4bee9b9cadb27b2dc472
2019-01-18 21:03:38 +00:00
Ed Sanders ec1a940616 Use pixel dimensions for education dots
Bug: T214203
Change-Id: I02410b09d490c6a6ebd71cafa998f09c8cd1033f
2019-01-18 21:00:56 +00:00
jenkins-bot 1737464653 Merge "Fix fragment links in preview" 2019-01-18 16:54:54 +00:00
Ed Sanders a22b9c8ea3 Fix fragment links in preview
Bug: T212554
Change-Id: Ic9b8f14c377b0dd43aa648983fac27272a64b66f
2019-01-18 14:39:00 +00:00
jenkins-bot ca03c085a2 Merge "Revert "Don't preserveHtmlAttributes on transclusion nodes"" 2019-01-17 12:54:58 +00:00
Volker E 5c5323fc3a Re-introduce: Replace deprecated setIndicatorTitle with setTitle
Patch got reverted in Iffbbd36d0e91, with I3028c4225a42 we should be
good to go now.

Bug: T76638
Change-Id: I016f7db8b2527b3ffe3bd103e6c88ee8e4dd11bc
2019-01-16 22:12:38 -08:00
Bartosz Dziewoński bdfd4b6d8f Revert "Don't preserveHtmlAttributes on transclusion nodes"
This reverts commit 48db45df76.

Bug: T213922
Change-Id: I7b0bf081fd5a9ab71db1ede3ce6e149cfb4b675a
2019-01-17 01:42:15 +00:00
jenkins-bot 27a596e4f0 Merge "ve.dm.MWTransclusionModel: Remove workaround for T135127" 2019-01-16 18:39:41 +00:00
Ed Sanders 5461c56380 stylelint: Enforce class name pattern
Change-Id: Ia41a08424f840d353eb7fc213815f7992da4a2ef
2019-01-13 15:14:53 +00:00
Bartosz Dziewoński 18f8697703 ve.dm.MWTransclusionModel: Remove workaround for T135127
The bug this works around seems to be fixed.

Change-Id: I62837ad795ee6bd35663b163f6de76572e1a6594
2019-01-10 21:16:32 +00:00
jenkins-bot 1190ce584d Merge "Add missing mw-content-ltr/rtl class to diffElement" 2019-01-09 16:49:39 +00:00
Ed Sanders 74f6c4899c build: Update eslint-config-wikimedia to 0.10.0
Change-Id: I63a0ebf0b31a0d5d4e680a4e2a5a0be4850be165
2019-01-08 17:00:09 +00:00
jenkins-bot c0c0c3e6c1 Merge "Revert "Replace deprecated setIndicatorTitle with setTitle"" 2019-01-07 21:23:26 +00:00
Bartosz Dziewoński 8a286b06f0 Revert "Replace deprecated setIndicatorTitle with setTitle"
This reverts commit a7c98d88de.

Bug: T212975
Change-Id: Iffbbd36d0e91d02f50ce0407ed556f2a7d91a301
2019-01-07 21:08:35 +00:00
David Chan 0d362040bd Update VE core module to master (469c6340e)
New changes:
6515e03e1 ve.ce.Surface: Rearrange #findBlockSlug test to check other cases
cbfdc8570 Localisation updates from https://translatewiki.net.
708ba0557 Prevent block slugs from overlapping floated elements
3703fd66d Separate the concept of a document node and a root node in CSS

Bug: T211844
Change-Id: Ia86cf9b23e561d3c32601d41c1bc5a9824e9953c
2019-01-06 07:47:17 +08:00
Ed Sanders 3059251b5c Add missing mw-content-ltr/rtl class to diffElement
Change-Id: I9bd4fad6202ea3636256970b12d6c94f408d0bd8
2019-01-04 22:23:23 +00:00
Volker E a7c98d88de Replace deprecated setIndicatorTitle with setTitle
Bug: T76638
Change-Id: I6637cb21f01bd9e6b158d08671c1f29665e601e1
2019-01-03 11:52:31 -08:00
jenkins-bot 3d4fabd3de Merge "Move save error messages above save footer" 2019-01-03 16:55:40 +00:00
Ed Sanders 0f1a8b9eb9 Default originalGalleryGroupItems to empty array
Bug: T212809
Change-Id: I29e95be677d1d7fcc96bbf20efb7d5724d71b0de
2019-01-03 15:13:15 +00:00
jenkins-bot bebbff8bab Merge "Don't preserveHtmlAttributes on transclusion nodes" 2019-01-02 18:58:13 +00:00
Ed Sanders 48db45df76 Don't preserveHtmlAttributes on transclusion nodes
Bug: T207325
Change-Id: I9c92f18c58c044e7f2257aa6993db227896a1468
2019-01-02 17:11:31 +00:00
James D. Forrester 3c293ea00c doc: Bump copyright year for 2019
Change-Id: I8991b97c980d4149f53eb5601036220ef3c0c440
2019-01-01 13:24:23 +00:00
jenkins-bot ccfcacf1fd Merge "ve.ui.MWGalleryDialog: Improve modification checks" 2018-12-30 22:49:34 +00:00
Bartosz Dziewoński 0bd9270b3f ve.init.mw.MobileArticleTarget: Remove unnecessary override
This is included in OOUI styles since OOUI 0.30.0.

Change-Id: Ic45e507fed5a40cfc3497551d1be396e1b2f3d5b
2018-12-24 10:06:37 +01:00
Ed Sanders cdb238cfde Remove document padding resets, upstreamed
Depends-On: I53307c931ad24b5ba76503c1dedd1109205b73c5
Change-Id: Id8632a3205d284d8091cae4d431be4faf7e6362b
2018-12-17 13:36:47 +00:00
Ed Sanders 2f34c66b4e Remove duplicate qunit env
Change-Id: I8c4cc4a788de838618b18eff5c4c98d74ac97fe0
2018-12-14 17:46:10 +00:00
jenkins-bot 4c44d8b712 Merge "Use ve.targetLinksToNewWindow where possible" 2018-12-13 22:25:31 +00:00
Ed Sanders ad5b8f99ee Replace $( 'body' ) with $( document.body )
Better to use the actual element rather than a string selector.

Change-Id: I7d2c08cf1e3c6f14be5bf65ac040b7cdfdd8c594
2018-12-13 16:44:25 +00:00
Bartosz Dziewoński 22a80e430e Use ve.targetLinksToNewWindow where possible
Also, avoid parsing HTML manually in a few places.

Change-Id: I983a7e1917a3f0728173e9621c709d1c8c04f650
2018-12-12 23:19:11 +00:00
Ed Sanders f2ac575ee2 Move save error messages above save footer
Keeps the more important information higher up the page.

Bug: T72266
Change-Id: Iaf29a5190af5f72c88eb1bfdacce199cd046eee4
2018-12-12 12:53:55 +00:00
Ed Sanders a9aa4d6c15 Fix save dialog error message transition
Element must be hidden for $.slideDown to work.

Also speed up animation to OOUI default 250ms.

Change-Id: I0616c156f1893688abd80f9e47c1a88e9237d085
2018-12-12 12:20:24 +00:00
Volker E 3949712ec0 TransclusionDialog: Fix removeButton position
Change-Id: I886c64f51fe54483d24c6cfa925b698db7bf4e7e
2018-12-11 16:05:33 -08:00
jenkins-bot 7fe951e5e1 Merge "Exclude deprecated params from search list" 2018-12-11 21:01:56 +00:00
jenkins-bot a5be866ba3 Merge "Allow trackdebug to work independently of debug" 2018-12-11 16:44:45 +00:00
jenkins-bot c306244744 Merge "Bring back 'alert' indicator" 2018-12-11 16:29:28 +00:00
Ed Sanders 3e10592ab7 Allow trackdebug to work independently of debug
Bug: T211698
Change-Id: I28f4fa4d516195e5459484c5d3df1b0566357a25
2018-12-11 16:13:06 +00:00
Ed Sanders ec42733225 Rewrite DOM junk filter as array concatenation
Avoids regressions like If399319b2675ac8c.

Change-Id: I43851931e3b9ee461abd0cfce0627bfb6a2bd041
2018-12-11 15:23:37 +00:00
Ed Sanders ae1095d313 Exclude deprecated params from search list
Only show param info if the exact field name/alias is entered

Bug: T207897
Change-Id: Ic5be8b8cd7698b88ab89d771769f2e9ba407dfa9
2018-12-11 14:59:54 +00:00
Ed Sanders 85974b171c Bring back 'alert' indicator
Was removed upstream in OOUI, but we require it to
show that parameters are deprecated.

Resize to fit new 12x12 size for indicators.

Change-Id: I2356de0754a2ccf09b87b152f3023282f2e37f41
2018-12-11 14:25:48 +00:00
Bartosz Dziewoński 27fdbe0581 Fix filtering out .donut-container again
Follow-up to a5c5176333.

Bug: T189148
Bug: T209619
Change-Id: Ibcf3c93e5b1121f8168ab3280a41917e8f7baa7d
2018-12-11 01:12:35 +01:00
jenkins-bot e0edd25855 Merge "Drop EducationProgram hacks, now that it's undeployed" 2018-12-07 19:50:21 +00:00
Bartosz Dziewoński 0f05dafa6f Make SaveErrorHandler receive entire API response
Previously we passed either data.visualeditoredit.edit or data.error,
which was mostly okay since they are mutually exclusive, but it could
still theoretically conflict if both objects had identical properties
(and receiving different things could make debugging errors harder).

Change-Id: I818d916275b8451af6910ddaa7cd4d7c653085ee
2018-12-07 14:17:16 -05:00
James D. Forrester dab9c26c4d Drop EducationProgram hacks, now that it's undeployed
Change-Id: I65030e3e1b5ce006a458cfbe65a97e738a00a4c3
2018-12-06 12:14:03 -08:00
Ed Sanders 278789e27d Remove TitleBlacklist handling code
This has been moved to the TitleBlacklist extension.

Bug: T211242
Change-Id: Ia15c2619e6c642b3ceb567c28f77b50ccf41731a
Depends-On: Ibaf8a37f1aaef510923bde5ed9114f1f00fff461
2018-12-06 15:00:06 -05:00
Ed Sanders be548979fe Pass error data to SaveErrorHandler on error
Change-Id: I9d7efbecfd954acff86f279f75aa80a9fcc10c89
2018-12-06 14:59:30 -05:00
jenkins-bot 1684f2ef0c Merge "ve.init.mw.SaveErrorHandler: Correct code comments" 2018-12-05 22:24:35 +00:00
Bartosz Dziewoński 9177974c28 ve.init.mw.SaveErrorHandler: Correct code comments
Change-Id: I6e3a883b8c2600953da038aa4ad3601258e1d87d
2018-12-05 16:37:13 -05:00
Ed Sanders be9c6800ad Audit target hooks
* Move (de)activationComplete up to ArticleTarget
* Mark (de)activate to be deprecated in the future
* Fix some properties to ensure target.edited is boolean

Change-Id: Ie34139cb68f90f34eb243f1bb964ef578e90dfb2
2018-12-05 15:45:19 -05:00
jenkins-bot d8cbff898b Merge "Guard against Target#teardown being called twice" 2018-12-05 17:49:26 +00:00
Ed Sanders a89908d58a Guard against Target#teardown being called twice
Change-Id: Ifa8328ee865fadd6ddaf6b35b5ee34284068b620
Depends-On: Icef5b34abd40bfd21aac71a705ef21f6277d21a5
2018-12-05 11:11:09 -05:00
jenkins-bot f583a0fb6a Merge "Move ve.init.mw.saveErrorHandlerFactory and fix documentation" 2018-12-04 23:34:05 +00:00
jenkins-bot a6b64b6b46 Merge "Remove AbuseFilter & SpamBlacklist code" 2018-12-04 23:03:29 +00:00
Ed Sanders 1ee9a739a1 Move ve.init.mw.saveErrorHandlerFactory and fix documentation
Change-Id: Icc8a4d1daf17a1a4cd0d7b2ad97f61916f2a222e
2018-12-04 17:55:35 -05:00
jenkins-bot 710aaced4b Merge "build: Upgrade stylelint-config-wikimedia to 0.5.0 and make pass" 2018-12-04 14:59:06 +00:00
jenkins-bot df125c3303 Merge "trackSubscriber: Set timing property to a number, not an object" 2018-12-04 00:07:53 +00:00
Roan Kattouw 611d9ca6c5 trackSubscriber: Set timing property to a number, not an object
The timing variable is a private closure variable containing an object
that tracks the timestamps of different events in the current cycle. The
duration variable is the result of using that information to compute the
difference between the current timestamp and the relevant anchor
timestamp. For the '_timing' property in the EventLogging data, duration
is the correct value, not timing.

(This is confusing and we should probably rename the timing variable.)

Change-Id: Iff78eb0ab83c84b73ad5c8f3eb85b1c7f120ebef
Follows-Up: Ifc2135d99f4bec917dac60992098958b72c37fc6
2018-12-03 15:33:18 -08:00
James D. Forrester 309d05cb38 build: Upgrade stylelint-config-wikimedia to 0.5.0 and make pass
Change-Id: I4c547757ed5a32ff98b1cf2670010db302bd8467
2018-12-03 13:06:59 -08:00
Ed Sanders 103a34bb75 Remove AbuseFilter & SpamBlacklist code
Moved to their respective extensions

Change-Id: If463068a862cfde15ab4d250a1424c88a5229176
Depends-On: Ib1354f0404209a15194895026ff9d179d16b1900
Depends-On: I1807a5d3d99ecab2bf4545a1bab3aa3f2ae64da8
2018-12-01 14:03:11 +00:00
jenkins-bot 7927a8e395 Merge "Create SaveErrorHandler class to better define structure" 2018-11-30 23:06:11 +00:00
jenkins-bot 685533c86f Merge "ve.ui.MWTransclusionDialog: Remove unneeded code re-setting insert label" 2018-11-30 17:12:40 +00:00
Bartosz Dziewoński a659c4eaea ve.ui.MWTransclusionDialog: Remove unneeded code re-setting insert label
This sets the label to be the same as the default value inherited from
ve.ui.MWTemplateDialog. Looks like it's no longer needed since change
Ia8fb88d3501ffa2c26add4419da5463a926f45d1 (2014).

Change-Id: I1dd40d2428c0221dfdc79e5f34e411b127624eb6
2018-11-29 23:10:56 +01:00
jenkins-bot 98955dfafd Merge "ve.init.mw.ArticleTarget: Stop when we fail to load metadata" 2018-11-29 19:54:36 +00:00
Ed Sanders 041e7b77a1 Create SaveErrorHandler class to better define structure
Change-Id: I036ee32847cc3b25a1cc478247cfe54599781098
2018-11-29 15:47:03 +00:00
jenkins-bot 3878db588d Merge "Remove captcha handler, moved to ConfirmEdit extension" 2018-11-29 03:33:54 +00:00
Bartosz Dziewoński 32f5256736 ve.init.mw.ArticleTarget: Stop when we fail to load metadata
This early return in loadSuccess() has been incorrectly removed in
b2718b186a.

As a very unexpected result of loading the editor twice in case
loading metadata is retried, the "Publish" button was staying
disabled. See the task for investigation.

Bug: T209542
Change-Id: If528afe1ca052062005937f03fe822c5c8d0958b
2018-11-29 04:23:42 +01:00
jenkins-bot fc126c1260 Merge "Rename configs for tracking block notices on visual editor" 2018-11-29 00:43:31 +00:00
Ed Sanders f0295ee01c Remove captcha handler, moved to ConfirmEdit extension
Change-Id: I6938d10d10be80e780294e4d4a32152827ccb5f9
2018-11-29 00:29:09 +00:00
Thalia 2516753c53 Rename configs for tracking block notices on visual editor
* Also make sure block notices have type 'block'.
* Remove old flag for tracking since we'll be using one
  from core

Change-Id: I4b66e73c8a4c4dd7bffd7c0239b1d5ec06eed12f
Depends-On: I6bd1c95548616677e1f72ba6bcfc6f2b551c1ca6
2018-11-28 15:26:15 -05:00
jenkins-bot 4de0e1a04c Merge "MWSaveDialog: Use ve.targetLinksToNewWindow" 2018-11-28 17:05:05 +00:00
Ed Sanders b76e40b2f3 MWSaveDialog: Use ve.targetLinksToNewWindow
Change-Id: I1515901f05de1a7b1ef2aa3cb34f3043ab02acce
2018-11-28 15:44:52 +00:00
Ed Sanders 41bb0a5fd2 Show timings of mwedit events in trackdebug
Change-Id: Ifc2135d99f4bec917dac60992098958b72c37fc6
2018-11-28 12:50:01 +00:00
Ed Sanders 1df0564690 Don't require editSchema to be setup to use trackdebug
Change-Id: I030f5e903d152b1e663f9155ee5235cb611ad63b
2018-11-28 12:49:27 +00:00
jenkins-bot 11f73e89da Merge "Debug flag for tracking" 2018-11-27 21:50:16 +00:00
David Lynch bff72c679d Debug flag for tracking
Change-Id: Ie21c9e3a7bbbf4c3575af50acedf0f002d11cfcc
2018-11-27 14:10:55 -06:00
Derk-Jan Hartman 71ceb51c81 Blacklist javascript links
These aren't supported by VE-MW, so must just be
garbage from a browser plugin, possibly Citavi.

Bug: T200971
Change-Id: I9f34e9890e7f59d76cd464778481c415cc3c5dbd
2018-11-27 21:10:09 +01:00
jenkins-bot 23c6c3b6e0 Merge "Use mw.Title.wantSignaturesNamespace" 2018-11-27 19:31:13 +00:00
Ed Sanders 0d54a62858 Use mw.Title.wantSignaturesNamespace
Change-Id: I60187f0a3eb9cf5d56a4fdaa3401b107758bd8e3
Depends-On: Ib2faa22c429096d545ddb829a6b4025427ad6071
2018-11-27 18:42:44 +00:00
Bartosz Dziewoński b983538038 ve.ui.MWSaveDialog: Improve handling of links in edit summary preview
* Pass the page title, so that links to section point to the current
  page rather than "API"
* Make all links open in a new window, instead of producing a warning
  about losing your changes

Bug: T208978
Change-Id: Ia1924e1af644ee41ebcaa1da40ca004cb72dcdaf
2018-11-27 02:39:47 +01:00
Bartosz Dziewoński c3dcdbe5f0 ve.init.mw.ArticleTarget: Fix typo
Change-Id: Ic4e886ca37c41e9c488b960c06a8de1d2fd1bb07
2018-11-27 00:45:24 +01:00
jenkins-bot 827e3661ec Merge "Track when block notices are shown on visual editor" 2018-11-26 12:35:21 +00:00
Ed Sanders 7bd58c52a5 Move extension save error handlers into a registry
These can now be moved to their respective extensions.

Bug: T136859
Change-Id: I2c35b9443208928db43bcfd515864641b10cc602
2018-11-23 17:19:36 +00:00
Ed Sanders 70253d450a Cleanup save-error handling
* Use ve.getProp
* Use .abusefilter key instead of string search (the key
  didn't exist when we first implemented AF support)
* Move AF handler next to captcha handler, and comment
  both as should-be-moved-to-plugin.

Change-Id: I171d63844b84b5a12396b6d6746f92110fc06c6c
2018-11-23 15:42:39 +00:00
Thalia a5c5bc5116 ve.dm.MWExtensionNode: check for body in describeChanges
Bug: T210257
Change-Id: Iffda3dc0b5b9dc84d294240546193e4b55c45bb7
2018-11-23 12:27:13 +00:00
Ed Sanders f2a9ccd5bd Avoid HTML string parsing
Identified using https://github.com/wikimedia/eslint-plugin-jquery/pull/12

Change-Id: I138e018fdc037d688e055eacddfdc5bfc2cc5abe
2018-11-21 18:47:19 +00:00
Ed Sanders 1a3e8a958c build: Use eslint-config-wikimedia v0.9.0 and make pass
Change-Id: Idb57fc12e7822cf17e10dbb726480fc7de0ae199
2018-11-21 16:51:20 +00:00
Thalia 883e0c23a5 Track when block notices are shown on visual editor
When an edit notice is passed through from the API, allow
a type to be specified, and specify type 'block' if the
notice is a block notice.

If VisualEditorTrackBlockNotices config is true, track
when a message with type 'block' is shown.

Bug: T209633
Change-Id: If5fecc2c2c1c39f4b7245b9a215e1120c93b2b22
2018-11-21 11:22:50 +00:00
jenkins-bot cf32ca44d9 Merge "ve.ui.MWTransclusionContentPage: Fix missing icon" 2018-11-20 16:58:14 +00:00
jenkins-bot 71b127b48c Merge "Filter out junk from the HON browser plug-in" 2018-11-20 15:51:18 +00:00
Bartosz Dziewoński 120788db59 ve.ui.MWTransclusionContentPage: Fix missing icon
It's missing here: https://phabricator.wikimedia.org/F27262533
We forgot this in 09800aa249 (in 2015).
Oops.

Change-Id: I0f1cda43c6566accf45c82a858158f15c2229f47
2018-11-20 04:04:25 +01:00
James D. Forrester a5c5176333 Filter out junk from the HON browser plug-in
Bug: T209619
Change-Id: If399319b2675ac8ca6d3d17acbf96634ab5f6395
2018-11-19 15:25:12 -08:00
Thalia ceb02d3296 Remove needless function call in DesktopArticleTarget
Change-Id: I6e691e97fe7330496cdf45a2439d8fd373cf221f
2018-11-19 18:58:38 +00:00
Bartosz Dziewoński 914e6905ed ve.ui.MWTemplateDialog: Unbreak the logic to enable/disable "Apply" button
I have moved this block of code to the wrong place in change
13675e4a81. As a result,
`this.loaded` was being set early, so the dialog was treating
all of the pre-existing transclusion parts as newly inserted,
and the "Apply" button was therefore always enabled.

Bug: T209661
Change-Id: I3c1b45f91738ab6fc4a6f6d61ae5bf925c9a1bb5
2018-11-16 01:08:29 +01:00
Bartosz Dziewoński 79e16e218f ve.ui.MWGalleryDialog: Improve modification checks
Undoing the changes to an image caption or alt text, or to the gallery
caption, or to the order of images, or removing a previously added
image, will now disable the "Apply" button again.

The following cases will *not* disable the button again, and it is not
feasible to implement them:
* Re-adding a previously removed image with identical options
* Changing any caption to the old value by other means than "Undo"
* Changing image caption or alt text to the old value after switching
  to a different image and then back

Bug: T206534
Change-Id: I7c19600e741211a6ba61837513497facbafc5cef
2018-11-15 22:16:26 +01:00
Bartosz Dziewoński a66f57643c ve.ui.MWGalleryDialog: Update "Apply" button when image added
Use 'change' event instead of 'reorder' to respond to this event.
This also covers removing images now, so delete that code.

Bug: T206534
Bug: T209451
Change-Id: I9eda383be2ca7f02b42814d43e6b42961b9b96e7
2018-11-15 20:56:39 +01:00
Thalia 70c3bc65d9 ve.ui.MWGalleryDialog: Improve how dialog actions are enabled
Enable the Apply changes/Done action if (i) the current contents
of the dialog inputs would change the gallery node or (ii) if the
user has interacted with inputs that alter the gallery caption or
images (including dragging/dropping or removing an image).

Bug: T206534
Change-Id: Ia6c1cc60d4f32ac66778e6973e2d400491f74128
2018-11-13 19:14:33 +00:00
Ed Sanders b2718b186a Separate handling of document HTML and edit metadata
For now this is just moving code. In the future we will
be able to make the handling of edit metadata async.

Change-Id: I7b442dfbdd890154de0e7faab1f6b0346caa8de0
2018-11-08 18:30:33 +00:00
Ed Sanders 3564006e91 $.extend -> ve.extendObject
Change-Id: I1def4d63c231da153a52a649e7bab584e789b6d1
2018-11-07 16:51:39 +00:00
jenkins-bot 89ba8d0ba8 Merge "Fix margin/padding on save dialog enter prompt" 2018-11-07 16:21:45 +00:00
Ed Sanders 2149de7bb0 Fix margin/padding on save dialog enter prompt
Non integer px values were resulting in scrollbars.

Bug: T208947
Change-Id: Ifeefbcc6068b086a3b351706827b34129b7d0227
2018-11-07 13:50:18 +00:00
jenkins-bot 73deda8f66 Merge "ve.init.mw.DesktopArticleTarget.init: Move Vector styles to separate file" 2018-11-07 13:18:47 +00:00
jenkins-bot 07856d2a16 Merge "ve.init.mw.DesktopArticleTarget: Edit surface padding and gutter for Minerva" 2018-11-07 13:18:42 +00:00
jenkins-bot 4d0de7744d Merge "MWTempWikitextEditorWidget: Don't rely on skin to set width for textareas" 2018-11-07 13:18:39 +00:00
jenkins-bot 45c9ff5e21 Merge "ve.init.mw.DesktopArticleTarget.init: Make multi-tab mode compatible with Minerva" 2018-11-07 12:26:38 +00:00
jenkins-bot 6016cad43f Merge "ve.dm.MWImageModel: Drop back-compatibility with old versions of VE selections" 2018-11-07 11:23:27 +00:00
Bartosz Dziewoński b0c0553dc2 ve.init.mw.DesktopArticleTarget.init: Move Vector styles to separate file
Change-Id: Iecf25bf71c1e4fca8964d608082e42ef0c929044
2018-11-06 16:47:31 +00:00
Bartosz Dziewoński c87b010da0 ve.init.mw.DesktopArticleTarget: Edit surface padding and gutter for Minerva
Bug: T208102
Change-Id: I0a43550c938144f79f04dc91c2c742229f939177
2018-11-06 16:47:23 +00:00
Bartosz Dziewoński 1ffdee226c MWTempWikitextEditorWidget: Don't rely on skin to set width for textareas
Bug: T208102
Change-Id: Ic14105556996a74e2ba656cd88571fb94cf4e49b
2018-11-06 16:47:08 +00:00
Bartosz Dziewoński 5996cf15e9 ve.init.mw.DesktopArticleTarget.init: Make multi-tab mode compatible with Minerva
* Make inserting secondary tab work with Minerva's non-standard structure
  of navigation menus
* Distinguish primary and secondary tabs with tiny icons, since Minerva
  hides their text
* Hide section edit link dividers (unnecessary when we use icons)

Bug: T208102
Change-Id: Ieaec60165617e3b423ec58857d6f0a0406e22b1d
2018-11-06 17:45:48 +01:00
jenkins-bot 458b6e87a4 Merge "MWTransclusionNode: Change HTML messages to plain DOM" 2018-11-05 22:45:35 +00:00
jenkins-bot 678d59fb92 Merge "Revert "Disable VE on Special:Undelete"" 2018-11-05 21:08:46 +00:00
jenkins-bot ef5ad0052a Merge "SaveDialog: Remove scrollable property from nested panels" 2018-11-05 20:46:22 +00:00
James D. Forrester 17377ce65c ve.dm.MWImageModel: Drop back-compatibility with old versions of VE selections
Change-Id: I38b309ca240b8305a0b29e11f822e1ad6e1ed3da
2018-11-05 12:44:57 -08:00
jenkins-bot 6ce7ac63d7 Merge "Fix padding around .ve-ui-mwParameterResultWidget-name(s)" 2018-11-05 18:27:43 +00:00
jenkins-bot 3f97176f7c Merge "Use upstream AbandonEditDialog" 2018-11-05 18:19:23 +00:00
Bartosz Dziewoński 259aadaf12 Revert "Disable VE on Special:Undelete"
No longer needed. The underlying problem was fixed in
1aae17c7a5.

Bug: T173154
Bug: T174748
Change-Id: If10301ee78ba031238a11a9f9b2130a2b47a567c
2018-11-05 18:41:05 +01:00
Ed Sanders 66972356cf MWTransclusionNode: Change HTML messages to plain DOM
Bug: T208732
Change-Id: I61a958292984586dc90262989ebb6c181f28a605
2018-11-05 16:28:11 +00:00
Ed Sanders 381bc46130 Fix padding around .ve-ui-mwParameterResultWidget-name(s)
Bug: T208720
Change-Id: Iff8bbb702fdceab86d423a9f74aaebac8b41ebc3
2018-11-05 11:50:12 +00:00
Ed Sanders 956c28bf56 SaveDialog: Remove scrollable property from nested panels
Scrolling is handled by oo-ui-window-body.

Change-Id: If074b5de859b5a9dbad76d6715739e4d37e68c90
2018-11-02 20:32:23 +00:00
Bartosz Dziewoński 1aae17c7a5 DesktopArticleTarget.init: Don't load on special pages with action=submit in the URL
Bug: T168533
Bug: T176022
Change-Id: Ifb7b9cca21423684a901dccabab23fb64e576102
2018-11-02 17:54:01 +01:00
jenkins-bot 74a744327e Merge "ve.ui.MWMetaDialog: Wait for each page to set up (especially 'category')" 2018-11-01 23:02:59 +00:00
jenkins-bot 9ac196777a Merge "Blocked apply if redirect address is invalid" 2018-11-01 22:17:03 +00:00
jenkins-bot 490b1171e3 Merge "Update the styles for VisualEditor's "Format" dropdown" 2018-11-01 21:20:10 +00:00
flutters f847880292 Blocked apply if redirect address is invalid
Extracted extractValue to a separate method
Added checkValidRedirect method to MWSettingsPage
Added errors when redirect address is invalid
Added 1 error message to localisation strings
Added 1 TODO (more precise error messages)

Bug: T74971
Change-Id: I8bcf16e97e5211671759acdf0846243df2c03fc2
2018-11-01 21:20:01 +01:00
Bjornskjald 9490ff370c
Update the styles for VisualEditor's "Format" dropdown
Now when using the MonoBook skin, the text size for headings inside the dropdown is the same as their size on the page.

Bug: T72559
Change-Id: Ie0c30369021f8022b788730a6de90e44a288b13b
2018-11-01 20:40:56 +01:00
jenkins-bot 62c81905e6 Merge "Use changed ve.dm.Selection interface, if present" 2018-11-01 13:39:18 +00:00
jenkins-bot c1871d0216 Merge "ve.ui.MWMediaDialog: Open to the "Upload" tab when dropping/pasting file" 2018-11-01 11:48:46 +00:00
Ed Sanders 1f7b239fbb Reset scroll and tab state when closing dialogs
Bug: T205948
Depends-On: I993455b648b62b97164f55146c75a53da70c322b
Change-Id: I30336caf76e8ff4de4c4dbd3728211c9a58d724e
2018-11-01 04:11:28 +00:00
Bjornskjald daa1f6eb1e
Add using the article title as the default value for sorting in categories
This way users can rearrange/edit current name without exiting VE and/or copying it from somewhere else

Bug: T145339
Change-Id: I80690cdf344c2ccbdd8be486642afcf841f36c10
2018-10-31 19:01:02 +01:00
Ed Sanders eab2b728e9 Use upstream AbandonEditDialog
Bug: T192333
Depends-On: Ib581528363a3fe5461529515835bd7fb1ce66e56
Change-Id: I206366e096aafc02102357648b9f85f879479500
2018-10-31 13:38:31 +00:00
David Chan 2c3e33b759 Use changed ve.dm.Selection interface, if present
Bug: T208228
Change-Id: Ie2027c4d16e0ac591512e90dbdeea012f11ff875
2018-10-31 12:07:14 +08:00
James D. Forrester c36f3d2214 Revert "Update VE core submodule to master (02f5f0ca4)"
This reverts commit be628a5b7e.

87b20f9b Revert "[BREAKING CHANGE] Do not cache document model data in DM selections"

Change-Id: I47bbf757a4ad227346d3734f6e50d928a2de1409
2018-10-30 15:12:30 -07:00
Bartosz Dziewoński b5e430a3fc ve.ui.MWMetaDialog: Wait for each page to set up (especially 'category')
The initial value for the categories field is set asynchronously
(after potentially querying the MediaWiki API about the categories).

This caused the existing categories to "pop in" after the dialog was
opened (if you were on a slow network and it took more than 250ms to
query their information).

Additionally, it caused the "Apply" button to always be enabled if the 
page had any categories on it (since the categories field was still
empty when extractSettings() was executed).

Bug: T207719
Change-Id: I46475a1eead91707edb8efe8cb7221a734818e16
2018-10-30 20:55:43 +01:00
Bartosz Dziewoński f0d30ad59f ve.ui.MWMetaDialog: Consider category sortkeys when checking for changes
I forgot about them when reviewing 79253bb0c8.
Oops.

Bug: T207719
Change-Id: I11fd396883132a2dfb79ded6f04983fd5b7fbf61
2018-10-30 20:55:43 +01:00
Bartosz Dziewoński 52e54864b5 ve.ui.MWCategoryPopupWidget: Clear state after closing the popup
After removing a category, it would forever stay in the "removing" mode.

Bug: T208346
Change-Id: I8e8c00e16ea8d03cef5872d969e80e9dfaa84035
2018-10-30 20:55:43 +01:00
jenkins-bot afb49f7f1f Merge "ve.ui.MWMetaDialog: "Apply changes" is now only enabled after making changes" 2018-10-30 19:29:05 +00:00
flutters 79253bb0c8 ve.ui.MWMetaDialog: "Apply changes" is now only enabled after making changes
Added 5 methods for MetaDialog (documented in code comments)
extractSettings
compareSettings
getAllWidgets
assignEvents
updateActions

Added 2 fields to MetaDialog
oldSettings
widgetList

Apply changes button now is only enabled when there are new changes

Added getFieldsets method to all subpages

Bug: T207719
Change-Id: Id51acf6c754d9a2572811775d83983e6ab9395b7
2018-10-30 19:12:52 +00:00
jenkins-bot b2c529e499 Merge ".eslintrc: Enable and fix "max-statements-per-line": 1" 2018-10-30 15:46:05 +00:00
jenkins-bot 5f4c261f68 Merge "Update VE core submodule to master (02f5f0ca4)" 2018-10-30 15:45:05 +00:00
jenkins-bot cb568ec6a1 Merge "Analytics: track more things for Growth" 2018-10-30 15:41:40 +00:00
Ed Sanders be628a5b7e Update VE core submodule to master (02f5f0ca4)
New changes:
ccb4de82c [BREAKING CHANGE] Do not cache document model data in DM selections

Bug: T208228
Change-Id: I564399ad864751d1690077b45a06e098b5509a93
2018-10-30 08:11:02 -07:00
jenkins-bot 357bda995f Merge "Update VE core submodule to master (c8e22de61)" 2018-10-30 10:47:24 +00:00
Bartosz Dziewoński af1a898380 ve.ui.MWMediaDialog: Open to the "Upload" tab when dropping/pasting file
Bug: T208286
Change-Id: I1f203b3a9b9401de22420e21f5553c78321cdbf8
2018-10-30 03:07:30 +01:00
jenkins-bot a0e73a1a80 Merge "Add another test case for stripping RESTBase IDs" 2018-10-30 00:22:42 +00:00
Ed Sanders f8bfe84bc6 Update VE core submodule to master (c8e22de61)
New changes:
3d2ffae4e [BREAKING CHANGE] Have ve.htmlMsg return a node array instead of jQuery collection

Local changes:
* Have ve.init.mw.Platform#getHtmlMessage return a node array

Change-Id: Iabd823c851f94356f1902918278f88068dfe4d25
2018-10-29 23:51:01 +00:00
Bartosz Dziewoński e7fd1ac847 .eslintrc: Enable and fix "max-statements-per-line": 1
I am surprised this was disabled. I investigated this after reviewing
some code by a new contributor which I was certain should have failed
the lint check, but passed.

Change-Id: I5b3c837b8ca3292f6e268b3922443bd9587eadbe
2018-10-30 00:19:16 +01:00
Jforrester 4e539c8e3d Merge "Use data.cloneElements when converting pasted wikitext" 2018-10-29 22:20:23 +00:00
Ed Sanders 16548af330 Use data.cloneElements when converting pasted wikitext
To avoid duplicate about attributes.

Bug: T204007
Change-Id: I97a92512d7b114ed46bc48d3d416eebc86df13f7
2018-10-29 21:36:10 +00:00
jenkins-bot 16e6856500 Merge "Update EventLogging code for Edit->EditAttemptStep schema migration" 2018-10-29 19:59:42 +00:00
Roan Kattouw 392e5a00a4 Update EventLogging code for Edit->EditAttemptStep schema migration
The schema itself is being renamed, many of the field names are
different, and two new fields were added (page_token and session_token).

Bug: T207803
Depends-On: I2949c9782669b75cf17978698c8cef21fdee6dea
Change-Id: I3ec11d74d71207acac130689bac93d5bf0c70715
2018-10-29 12:06:57 -07:00
David Lynch 803f476528 Analytics: track more things for Growth
Bug: T207802
Change-Id: I77652325ce7b9dda9c4f4a86c1d34421451cf025
2018-10-29 10:21:49 -05:00
jenkins-bot a022a27a30 Merge "Simplify handling of messages for section edit links" 2018-10-29 11:02:37 +00:00
jenkins-bot 89b061455d Merge "Use the right localisation message for edit tab on Vector skin" 2018-10-29 11:02:34 +00:00
jenkins-bot 991cc23020 Merge "Oversample Schema:Edit events when configured to do so" 2018-10-24 21:21:28 +00:00
Ed Sanders c895c60907 Add Promise.prototype.finally polyfill and restore failing tests
Change-Id: Ia6cdb85d33d2b3e0e2e868838defaa39ae60572a
2018-10-23 22:56:34 +01:00
James D. Forrester e4724b3f26 Update VE core submodule to master (6c288b44f)
New changes:
7c9fe89b8 Simplify ve.test.utils.runSurfaceHandleSpecialKeyTest API
0e3c75e66 Add more tests to LinearArrowKeyDownHandler
058362830 LinearArrowKeyDownHandler: Test Selection#extend fallback
8c6617d90 Keydown test refactor
91a909d63 Assert defaultPrevented state in KeyDown tests
003dacf3b LinearDeleteKeyDownHandler: Test shift+delete
1872158c5 LinearDeleteKeyDownHandler: Test delete next to link
b2af2a2c3 LinearEnterKeyDownHandler: Add more tests
4e5efa956 KeyDownTests: Remove unused constructor calls for all static classes
1cafb7328 KeyDown tests: Add tests for missing cases to cover tab/escape/enter
58af8d497 Add tests for ve.ce.AnnotationFactory/NodeFactory
617bc24a4 Delete unused ve.ce.modelChangeFromContentChange
50704fa1c Keydown tests: run asynchronously
af9a01b97 Use native promises instead of jQuery promises
df212669a Localisation updates from https://translatewiki.net.
f6af901dc Fix test in Chrome 70
9cc6dae7e Remove broken checks for DM code coverage
ce3a9199a LinearEnterKeyDownHandler: Add test for edge case
0a9dd3636 Remove false coverage of TableNode/TableSelection code
16679a3c0 Remove setupToolbar from DummyTarget to avoid false code coverage
7ac88df77 Basic tests for getClientRects in ve.ce.Selection and FocusableNode
78f14ac1f ve.ce.Selection: Add getDirection tests
7ec7efff0 KeyDown tests: Remove unnecessary setTimeout
26e022d23 KeyDown tests: Un-nest functions
df1e0af6c KeyDown tests: rename defer -> then
f03a9f90b Allow ES6 in tests
0ee55022b ES6 eslint follow-up
6c288b44f ve.ce.Surface tests: Trim when asserting expected text

Local changes.

Bug: T207077
Bug: T207078
Bug: T207079
Bug: T207080
Bug: T207083
Bug: T207654
Change-Id: I2e1f664d6f657e2ac26a271f401dc790c2a8b193
2018-10-23 11:49:34 -07:00
jenkins-bot 047f7bd596 Merge "Move styles that are not theme-wide out of themes/" 2018-10-23 10:28:32 +00:00
Bartosz Dziewoński aa137ef2ad Move styles that are not theme-wide out of themes/
Reasons why these files should not be in a directory named "themes/":
* They are specific to MediaWiki skins, not OOUI themes
* They are specific to one module, rather than affecting many widgets

The new locations/filenames are consistent with other modules that
have skin-specific styles.

Note that we have one more themes/ directory elsewhere in this repo
(and another in VE core) and that is okay.

Bug: T96704
Change-Id: I70bb61e339aeccb3afea657f665785ceaa091777
2018-10-23 05:04:27 +02:00
Roan Kattouw 0243fb1863 Oversample Schema:Edit events when configured to do so
Respect the config var exported by WikimediaEvents that, if set to true,
forces oversampling. When oversampling, all events are logged even if
they would have been sampled out. The isOversample property is set to
true if the event was oversampled and would not otherwise have been
logged.

Bug: T206543
Depends-On: I5fdf5fdd2dc0d99a0a0d7eb7ab2e3dce4798009b
Change-Id: I314da47d7d250672f1a9b34edeeeb720850f8fac
2018-10-19 22:29:41 +00:00
jenkins-bot 6758008628 Merge "Use Schema:Edit sampling rate config from WikimediaEvents" 2018-10-18 21:54:23 +00:00
David Lynch 8c2a34b732 Handle mw:MediaLink
Bug: T198511
Change-Id: Ia7fbb9db79c9b776e0cf44b065c03b1aa090da79
2018-10-17 21:43:07 -05:00
Roan Kattouw 8d08b032e7 Use Schema:Edit sampling rate config from WikimediaEvents
Instead of hard-coding the 6.25% sampling rate, allow it to be
controlled by the config variable in the WikimediaEvents extension
(which also defines the RL module for the Edit schema).

Also use sampling code from EventLogging so we can configure the
sampling rate as a number, rather than using a hex-digit based strategy.

Bug: T206543
Depends-On: I00383cec62f6c2a0137b329565b0ca84bfbb223f
Change-Id: Ia3e9a0f93d5d3001f222a64f31e82a63db36d7ab
2018-10-17 14:20:32 -07:00
Roan Kattouw d8ceb889b0 trackSubscriber: Use early return for 6.25% sampling
Rather than computing all the data then throwing it away 93.75% of the
time. Also use .charAt() for consistency with WikiEditor.

Change-Id: I6360b5c636e94db3483f542791d158f240c542f8
2018-10-15 15:05:27 -07:00
jenkins-bot 54abc29ca1 Merge "Improve the gallery dialog layout for mobile" 2018-10-15 10:19:41 +00:00
jenkins-bot f2dfb630b0 Merge "trackSubscriber: log activity events for VisualEditorFeatureUse" 2018-10-13 17:11:56 +00:00
Bartosz Dziewoński 62273183a8 Simplify handling of messages for section edit links
Change-Id: I5b84fc3863747b4d092a7025475730bb28efeff2
2018-10-13 03:16:53 +02:00
Bartosz Dziewoński e048c3e188 Use the right localisation message for edit tab on Vector skin
Bug: T206892
Change-Id: If9494be10c684c1d8892a990dd7ba9c68caa4b69
2018-10-13 03:16:53 +02:00
Thalia 88875b1b8f Improve the gallery dialog layout for mobile
Bug: T203477
Change-Id: I0adc851b71362267d1d06d9a8b5483c1ee114c26
2018-10-12 16:58:48 +01:00
David Lynch 0a3eda0529 trackSubscriber: log activity events for VisualEditorFeatureUse
This won't really do anything until the patches to ve-core for the activity
events, and WikimediaEvents for the schema land.

Bug: T202148
Change-Id: Ie462a24f66240a1accfd0185c46273e60effbd64
2018-10-11 11:52:14 -05:00
Volker E a5a3d829a9 Update user avatar icon and make use of OOUI's built-in
Bug: T123810
Change-Id: I3ed04d3037836b47706d9f7284eeb9668712bdcb
2018-10-10 18:34:27 -07:00
jenkins-bot 1afd5651ab Merge "Don't add body attribute to an extension node with an empty body" 2018-10-08 23:16:16 +00:00
Thalia 1d845aab1c Don't add body attribute to an extension node with an empty body
Map nodes with an empty body don't have a body property on their
'mw' attribute; so don't add one when checking if the node has
been modified.

Bug: T206473
Change-Id: I24fb8d5f012c417996c8d420fa25af9d13528d18
2018-10-08 17:29:58 +01:00
jenkins-bot 93523f5a15 Merge "Wrap editPanel & searchPanel in a StackLayout" 2018-10-08 16:17:54 +00:00
Ed Sanders d44e7fb3e8 Mobile target improvements
Change-Id: If55097a45ae812b712a74f41af350bfaa69f6135
2018-10-07 12:47:53 +01:00
Ed Sanders bb369a0b48 Wrap editPanel & searchPanel in a StackLayout
Change-Id: Ib069a41c7855647b1cd85546fc83b30d65b27443
2018-10-05 22:17:14 +01:00
jenkins-bot 95eb279cc6 Merge "ve.ui.MWGalleryDialog: Fix setting of expanded/scrollable panels" 2018-10-04 21:45:24 +00:00
jenkins-bot c43f1589d4 Merge "ve.ui.MWGalleryDialog: Switch innerMenuPanel/innerContentPanel" 2018-10-04 21:38:41 +00:00
Ed Sanders 485b257278 ve.ui.MWGalleryDialog: Fix setting of expanded/scrollable panels
There are 4 scrollable panels:
* Image list content
* Edit panel
* Search panel
* Options panel

Remove non-existent 'expandable' property.

Change-Id: Ia0d0a66be8a2bcb243a39ef632151d7fb99486ef
2018-10-04 21:23:10 +00:00
Ed Sanders 61cfce8c32 ve.ui.MWGalleryDialog: Switch innerMenuPanel/innerContentPanel
These two panels were named the wrong way around.

Also change 'inner' prefix to 'imageList'.

Change-Id: Ie1c3e2160c81b898795fb1fd4d0a027e8f06c4d4
2018-10-04 21:22:05 +00:00
jenkins-bot 0a4cee1cd6 Merge "Use correct OOUI hierarchy in gallery dialog" 2018-10-04 20:41:13 +00:00
jenkins-bot 577c2c7a03 Merge "Move 'done' tool out of static config" 2018-10-03 22:09:39 +00:00
jenkins-bot 40f03a3b0f Merge "Use correct OOUI hierarchy in media dialog" 2018-10-03 21:59:44 +00:00
jenkins-bot 03023758d8 Merge "Refactor media dialog initialize method" 2018-10-03 21:56:59 +00:00
Ed Sanders e176ecceae Move 'done' tool out of static config
Bug: T206132
Change-Id: I3319fc56209cab303448f7abe1e6334c50100947
2018-10-03 22:37:48 +01:00
Thalia f422ae2dcc Use correct OOUI hierarchy in gallery dialog
Make sure fieldset layouts contain field layouts. Also remove
meaningless parameter icons.

Bug: T205615
Change-Id: Ia104cd60ffa9f5d636bee5611f265a2bb5ac0051
2018-10-03 22:22:25 +01:00
Thalia a4f033a1e6 Use correct OOUI hierarchy in media dialog
In the "advanced settings" tab, make sure widgets are wrapped in
field layouts, then fieldset layouts.

Bug: T205615
Change-Id: I141f9954e482f9d5afd84bfa63384b90a2911d00
2018-10-03 21:54:41 +01:00
Thalia 56cd18e674 Refactor media dialog initialize method
Change-Id: Ida7b50a89ab454ba023334cd2203d2e2e6150931
2018-10-03 20:50:36 +01:00
David Lynch e2cf367a95 Make RDF attribute splits more robust
Split on regexp for whitespace instead of a single space. Avoids multiple-
spaces causing `'foo  bar'` to become `['foo', '', 'bar']`.

See also: I1f467f51017e2deae30905163bf5e6b07048cecf

Change-Id: Id7a887a20fac99715b79045f01e861b4efe9f2c7
2018-10-02 16:11:58 -05:00
jenkins-bot 542004dcb9 Merge "Require Parsoid HTML 2.0.0, and handle its <audio> tags" 2018-10-02 20:47:59 +00:00
Ed Sanders d5d23ee4be Require Parsoid HTML 2.0.0, and handle its <audio> tags
Bug: T201081
Depends-On: I6514b9b0a85588c7eaae5e6989789656cfc3253a
Change-Id: I6052dcf3e414d9506ff7ec7a6b5d8f4eeb4a703a
2018-10-02 12:15:45 -07:00
Bartosz Dziewoński 7a18889ddd ve.ui.MWMediaDialog: Remove unused CSS
This rule was being overridden by a more specific rule from OOUI with
the selector `.oo-ui-fieldLayout.oo-ui-labelElement`. I don't think
the margin tweak would be useful.

Change-Id: If6321ba7ea1cfad83f65f137b2a440957bf2fea6
2018-10-02 00:02:03 +02:00
Thalia dc6e7027a8 Make extension dialog done action messages match other dialogs
Bug: T205807
Change-Id: Icd7e4fddcee8687d9c3dbbda144aa0989d659ac8
2018-09-30 21:18:18 +01:00
jenkins-bot 04689a37f9 Merge "ve.ui.MWMediaDialog: Remove unused widget and messages" 2018-09-27 20:37:43 +00:00
Ed Sanders 349c2f3638 Avoid jQuery in ve.dm.Model.static.describeChange(s)
Change-Id: Ide3ad119f8c111b78b9adfe4a07079d143070fd1
2018-09-27 20:26:47 +01:00
Bartosz Dziewoński 9cf5515ccb ve.ui.MWMediaDialog: Remove unused widget and messages
* visualeditor-dialog-media-size-originalsize-error
  Unused since 37b3c07b26.

* visualeditor-dialog-media-originaldimensions
  Never used (introduced in 4947420650).

Change-Id: I22f37b457cc6fbac03593fece003e97f4f5a2ccf
2018-09-27 18:31:20 +02:00
Thalia 9813d876e1 Enable the media dialog on mobile visual editor
Also make improvements to the layout, so that the dialog works
in desktop and mobile - most importantly, change from booklet
to index layout.

Bug: T190885
Bug: T118710
Change-Id: I1915d06c9b0e4b7907136e645f60be96e30cc287
2018-09-27 13:21:15 +01:00
Bartosz Dziewoński 42ebd10090 Correct some doc comments' syntax
I ran Closure Compiler over the codebase just to see what would happen,
and it printed some useful warnings.

Change-Id: I56d40b11e6d1dd7ce68a5e59da511f66e928647f
2018-09-26 14:49:52 +02:00
jenkins-bot f6cea616ef Merge "Remove #ca-edit from required skin elements on edit pages" 2018-09-26 11:27:22 +00:00
Bartosz Dziewoński f67dfea29d Remove #ca-edit from required skin elements on edit pages
I suppose technically you don't need it if you're already on an
?action=edit page, since that will cause the editor to load as well.
At a glance nothing seems to break if it is missing (other than the
fact that there is no way to launch the editor, obviously).

Bug: T179427
Change-Id: I3c221ded302702b881857930da5dc41630680c02
2018-09-25 20:39:12 +02:00
jenkins-bot bb6afe3e8b Merge "MWTemplateSpecModel: Factor out getLocalValue, avoid isPlainObject" 2018-09-24 18:48:50 +00:00
Ed Sanders e2a5bfd224 MWTemplateSpecModel: Factor out getLocalValue, avoid isPlainObject
Change-Id: I0fe009c899e8b6f44658253bf5c21c3b767067da
2018-09-24 18:36:31 +00:00
jenkins-bot a4d73025e3 Merge "Turn off CSS transforms after toolbar has been opened" 2018-09-24 16:38:00 +00:00
jenkins-bot add7b4d96f Merge "Change type from 'frame' to 'thumb' when resizing" 2018-09-24 16:07:19 +00:00
jenkins-bot 5a679ed8f4 Merge "Use renamed ve.visibleWhitespaceCharacters utility" 2018-09-24 15:37:03 +00:00
jenkins-bot 5e1c0030a4 Merge "Update comment" 2018-09-24 15:36:58 +00:00
Ed Sanders 78a3c0dfb6 Provide platform when tracking mwedit.ready for tempWikitextEditor
Bug: T205241
Change-Id: Icf77ad9028e7e87c0189ef2b4cad5dbea20cb2f1
2018-09-24 16:03:55 +01:00
Ed Sanders 985a94777a Change type from 'frame' to 'thumb' when resizing
Bug: T204185
Change-Id: If40c70a074263b870aee4e5c87c3f4b5e98d0c4b
2018-09-24 15:31:58 +01:00
Thalia bbed4307d7 Separate node classes into individual files
Bug: T205231
Change-Id: I84a6f2f7a842ab44e1f7103c0f288deda0451e79
2018-09-24 12:44:45 +01:00
Ed Sanders 253e7e6c59 Update comment
Change-Id: Ie6b2b3512fb9e31014040c3cd0f9c75d7330ccbe
2018-09-24 12:41:58 +01:00
Ed Sanders a2c04973a2 Use renamed ve.visibleWhitespaceCharacters utility
Change-Id: I2df52341009cbc715c801accdf59cc5d5ce2e9ff
2018-09-24 12:41:13 +01:00
jenkins-bot ae037e77ca Merge "Use mw.Title.isTalkNamespace" 2018-09-18 15:00:34 +00:00
jenkins-bot 1917945588 Merge "ve.init.mw.MobileArticleTarget: Simplify margin/padding for debug bar" 2018-09-18 10:58:08 +00:00
Bartosz Dziewoński 165fe4ad45 ve.init.mw.MobileArticleTarget: Simplify margin/padding for debug bar
Requires I28278449512ed1e5e8c4ac6ae390334a26d1bad6 in
mediawiki/skins/MinervaNeue to be merged at the same time.
There should be no visual change if both are merged.

Change-Id: Ia13f758a6870be2e6c89fd11f2ee3544ac61a1d7
2018-09-17 21:47:46 +00:00
jenkins-bot b1cab3e06c Merge "ve.init.MWVESwitchConfirmDialog: Fix gap above dropdown on MonoBook" 2018-09-17 21:44:49 +00:00
jenkins-bot 93664630a9 Merge "ve.init.mw.MobileArticleTarget: Fix keyboard shortcuts to be hidden" 2018-09-17 21:41:33 +00:00
Bartosz Dziewoński 5badbfed10 ve.init.MWVESwitchConfirmDialog: Fix gap above dropdown on MonoBook
In WikimediaUI theme, the height of the toolbar is defined with
'padding-top', but in Apex theme, it is defined with 'height'.
Set both properties to make this work with both themes.

Remove unused styles for the dropdown. It is now positioned by OOUI
(since T192505). This should have been done at the same time as
e1635fdc52.

Bug: T194120
Change-Id: I9cac0c9458ae8cc26c5f056bb26686f8ad50c493
2018-09-17 22:22:48 +02:00
Bartosz Dziewoński 14777e89ad ve.init.mw.MobileArticleTarget: Fix keyboard shortcuts to be hidden
This should have been done at the same time as
e1635fdc52.

Bug: T203659
Change-Id: I4aef8f5755b2e3dece33125ec9d354e58985c525
2018-09-17 22:18:32 +02:00
jenkins-bot 742127ad8d Merge "dm.MWTableNode: include paragraph in suggestedParentNodeTypes" 2018-09-17 20:14:46 +00:00
David Lynch e050bb9ecf dm.MWTableNode: include paragraph in suggestedParentNodeTypes
This allows cleanup of empty paragraphs following block-level insertions to
work.

Bug: T201573
Change-Id: Id537d86c72c01ab2c71d2043e906f4c32ef755eb
2018-09-17 09:26:38 -05:00
Ed Sanders 3c8bb3801e Turn off CSS transforms after toolbar has been opened
Leaving this property applied seemingly triggers strange
rendering bugs in Safari.

Bug: T202935
Change-Id: I65e742918c3670b99cf05efb4722a0c23a9347f5
2018-09-14 13:48:07 +01:00
Ed Sanders 917645eb27 Use mw.Title.isTalkNamespace
Depends-On: Ie57243bac1aa5e23bc8b1c027bcb1b83090ee433
Change-Id: I303401ff34425831cb3c32d25df635aefa5b5926
2018-09-14 13:37:17 +01:00
Ed Sanders 7eb836adbc Update VE core submodule to master (7420443fe)
New changes:
a273ba69c [BREAKING CHANGE] Implement a SourceConverter

Local changes:
* Use SourceConverter
* Handle `this.doc` being a string in source mode now

Bug: T203114
Bug: T203156
Change-Id: I7bce7b57668e0c1dd511803a54178ae69694a86d
2018-09-14 11:42:34 +01:00
jenkins-bot b3cc892dad Merge "ve.init.mw.DesktopArticleTarget: Handle deactivate on namespace tab when it's a talk namespace" 2018-09-13 19:20:04 +00:00
jenkins-bot f8ab6b188e Merge "ui.MWParameterPage: multiline inputs for line if newlines already present" 2018-09-13 12:02:47 +00:00
Bartosz Dziewoński bb5762a0b2 ve.init.mw.DesktopArticleTarget: Handle deactivate on namespace tab when it's a talk namespace
Turns out, talk namespaces are special.

Bug: T204194
Change-Id: Ie9af128edd5874075098f8593e01595da863102d
2018-09-13 11:04:47 +02:00
jenkins-bot 1bea2d1eb8 Merge "Revert "Revert "Follow-up I38eda4a: Add unit tests for lang/dir in target init""" 2018-09-12 22:05:46 +00:00
jenkins-bot 6a1b16f20c Merge "Replace deprecated 'advanced' by renamed to 'settings' icon" 2018-09-12 17:26:09 +00:00
David Lynch d30e6925bf ui.MWParameterPage: multiline inputs for line if newlines already present
TemplateData doesn't always match up with the way the template is being used.
If a field has the `line` type, but is provided with newlines, we should avoid
mangling it by forcing it into a single-line field. As-is, any edit to the
template, even if the user only thinks they touched unrelated parameters,
would cause this.

Bug: T190191
Change-Id: I4f2a0b6c46532dcc268288cb209d0260b18f3ad7
2018-09-12 12:01:03 -05:00
jenkins-bot df253967e1 Merge "DesktopArticleTarget.init: Pass platform to ve.track directly" 2018-09-12 14:20:43 +00:00
Volker E 40b8c0da5c Replace deprecated 'advanced' by renamed to 'settings' icon
Bug: T190581
Change-Id: Ie598c703ca03adb98ca05ed3ab227aba2b5ab971
2018-09-07 19:46:12 -07:00
David Lynch 627128f1ae DesktopArticleTarget.init: Pass platform to ve.track directly
ve.track tries to guess the platform, but it needs a loaded Target to do so,
and init happens before that.

Also, log a warning when this happens, in case it comes up again.

Bug: T203618
Change-Id: I35fa58a42cd247e01f3717c9ab3a10d8ea93a484
2018-09-06 10:52:46 -05:00
Ed Sanders 6396fad416 Release editWarning unload event when switching from old wikitext to VE
Bug: T202587
Change-Id: I81ff882e0e4ccf0b26d73be5f55cbf2da0d97a47
2018-09-06 14:13:55 +01:00
jenkins-bot 4dafa321a9 Merge "Cleanup setEditorPreference: Always return promises, never deferreds." 2018-09-04 16:25:45 +00:00
Bartosz Dziewoński eefcb7957d Add another test case for stripping RESTBase IDs
Bug: T108506
Change-Id: If46d09364bff9b7e2b4839df183fa2cb3ed25243
2018-09-04 15:44:34 +00:00
Esanders a21e95b67a Revert "Revert "Follow-up I38eda4a: Add unit tests for lang/dir in target init""
Re-enable tests, but disable setEditorPreference API calls in setup.

This reverts commit d5fe71fd6e.

Change-Id: Ib6f0f18acc1ccb40cb6c055609dc1484b381bc8f
2018-09-04 13:45:52 +01:00
Ed Sanders 8ac5a03a05 Cleanup setEditorPreference: Always return promises, never deferreds.
Change-Id: I59a5fdc29ee64abe422610da835e6f089ad7267a
2018-09-04 13:45:52 +01:00
jenkins-bot 05dae065c9 Merge "Revert "Follow-up I38eda4a: Add unit tests for lang/dir in target init"" 2018-09-03 22:56:52 +00:00
Bartosz Dziewoński d5fe71fd6e Revert "Follow-up I38eda4a: Add unit tests for lang/dir in target init"
Causes random failures in other unit tests due to API requests.
This reverts commit 031d2dd50e.

Bug: T203412
Change-Id: Ia94b090687ba8d6023060e6dbe10b6a45035e76a
2018-09-03 22:39:27 +00:00
Bartosz Dziewoński efd1a957f5 Remove unnecessary "eslint-disable-next-line new-cap"
Change-Id: I94f31ef934f9a0192ac906cada5dba05214d259e
2018-09-03 23:11:29 +02:00
jenkins-bot 31ee84540b Merge "Follow-up I38eda4a: Add unit tests for lang/dir in target init" 2018-09-03 16:18:46 +00:00
jenkins-bot 15df919bc1 Merge "Replace jQuery.grep with Array.prototype.filter" 2018-09-03 15:40:49 +00:00
jenkins-bot 3023ca8e90 Merge "Match width of template lookupMenu to input" 2018-09-03 15:40:44 +00:00
jenkins-bot 3f55b7432e Merge "Fix: Apply placeholder colour style to first child, not parent" 2018-09-03 15:06:51 +00:00
jenkins-bot 4914787e62 Merge "Don't assume commandGroup has a demote property set" 2018-08-31 23:31:45 +00:00
Ed Sanders 222ad828bd Don't assume commandGroup has a demote property set
Bug: T203282
Change-Id: Ic67dcfb2a473559d5e5d457072cda101844fe1e9
2018-08-31 22:20:36 +01:00
jenkins-bot 048ac8193e Merge "Remove unnecessary IE10 blacklist" 2018-08-31 18:30:07 +00:00
Ed Sanders ed047b6cdd Fix: Apply placeholder colour style to first child, not parent
This ensures any colour applied to branch nodes is overridden.

Change-Id: Ib6f5d2509021ba0ba085050bc1fe993e7d887b3e
2018-08-31 16:59:54 +01:00
Ed Sanders 031d2dd50e Follow-up I38eda4a: Add unit tests for lang/dir in target init
Change-Id: I426f88ce3982deb850c4cedb110b87c9a59157ef
2018-08-31 14:45:54 +01:00
Ed Sanders 22f3075b52 Fix typo in mw.Target#setupSurface
Bug: T203213
Change-Id: I38eda4aac48b3363c6211e225b8f0cadf6b40853
2018-08-31 13:16:21 +01:00
Ed Sanders 10ce48a57e Remove unnecessary IE10 blacklist
IE10 support was dropped from MediaWiki core in 1.31.

Change-Id: I1c8c790428df5afe019e10a65ba5e891f5895dfb
2018-08-30 19:01:59 +01:00
Ed Sanders 76d0b95af3 Re-order MWCommandHelpDialog and promote/demote insert tools
Change-Id: I3ac4e556e06e2ab899d8bc07ca79d847146952e6
Depends-On: Ic12bc1c3ac96a1feb79e277e65aaf2d29af4f03f
2018-08-29 10:51:00 +00:00
jenkins-bot 919f74f10b Merge "Don't wait for surface to blur before hiding pageToolbar" 2018-08-29 01:58:14 +00:00
Ed Sanders eea7b93895 Don't wait for surface to blur before hiding pageToolbar
Bug: T202986
Change-Id: Ia25dd7aab7c72f6888fab1fcec0185fe0b4111b5
2018-08-28 12:08:09 +00:00
jenkins-bot bf9d3c1b06 Merge "Template dialog: Lazy resize multiline text inputs on first focus" 2018-08-27 20:43:38 +00:00
Ed Sanders 1703cc6361 Move link styling into overridable method for CX
Change-Id: I5c349d15ecc0df29827d41c9cc408bb826924447
2018-08-27 12:26:05 +01:00
jenkins-bot c09c9a408a Merge "Update VE core submodule to master (e69a4a07c)" 2018-08-25 22:13:19 +00:00
Ed Sanders 7bf56a3bd4 Update VE core submodule to master (e69a4a07c)
New changes:
3b62827b8 Remove negative margin from mobile context action buttons
694705894 Implement a simple notification system to fill in for mw.notify
461283560 Validate history start when applying/unapplying change

Bug: T202514
Change-Id: I203dc5101bc31988df2d3986da4300a318e5e889
2018-08-25 18:08:48 +01:00
Ed Sanders e67f870922 Fixup Ie40baad: Avoid triggering surfaceReady when adding dummy surface
Change-Id: I01f77633a11c6c5b8d484836940ea10b975c7a9e
2018-08-25 18:06:37 +01:00
jenkins-bot 99485b7cbb Merge "Cleanup: Get rid of surfaceReady callback" 2018-08-25 13:48:37 +00:00
Ed Sanders 07e05c7954 Cleanup: Get rid of surfaceReady callback
Just call the method after surface init.

Also move all the post-dm building code into
an #addSurface override.

Change-Id: Ie40baadfa6cd826a92f8fb7d928f4d995286f69f
2018-08-25 14:04:00 +01:00
petarpetkovic 30f099382a Replace jQuery.grep with Array.prototype.filter
Change-Id: I912fb68060d88b618cb2a2502417c1bccc5fecec
2018-08-25 00:11:30 +02:00
Ed Sanders 23ec1973d8 Match width of template lookupMenu to input
Bug: T196117
Change-Id: I58909b2f0138b512df03a8990d3c19cb0b184cad
2018-08-24 14:22:00 +01:00
Ed Sanders 0f81aae133 Template dialog: Lazy resize multiline text inputs on first focus
Bug: T134814
Bug: T200834
Change-Id: I3ec84ad01db1ed896c41ac8ef38cce8eddb0b8c2
2018-08-23 17:34:25 +01:00
Ed Sanders 8f49bb391a WelcomeDialog: Check at least one editor is available
Bug: T201928
Change-Id: Ibac6cf921fdc3daba2d671d9bd668fa7bcb9e7a2
2018-08-23 14:21:40 +01:00
David Lynch 26f6429702 TemplateStyles support
MWTransclusionNode will preserve TemplateData <style> in its generated content.

Disable TemplateStyles stylesheets in the original page content, and reenable
them when the surface deactivates.

Remaining TODO: if multiple copies of a template with deduplicated styles are
on the page, and the one containing the actual <style> is removed, all will
lose their styling.

Bug: T197563
Change-Id: Ibd8939eef7d8eb532719f4ee0ce200600449ef81
Depends-On: Ia9f2afcdba5456238e3ef444c202c9b0c78838bf
2018-08-22 17:03:27 +00:00
Bartosz Dziewoński 1481f70b9e ve.ui.MWSettingsPage: Fix missing icon (renamed in OOUI)
Bug: T202101
Change-Id: I3ed199269e1f4452739628ae8d51a04fb911cc04
2018-08-21 00:26:01 +02:00
jenkins-bot 9498b6a72b Merge "Export to page using action=submit" 2018-08-19 12:02:48 +00:00
Ed Sanders cb10316a7b Export to page using action=submit
Change-Id: I0d719905203d24a545d9b7dcea5bb9d032f10a76
2018-08-19 11:25:17 +00:00
jenkins-bot e6d89cd1ec Merge "Show signatures in NWE visual diff" 2018-08-17 13:29:41 +00:00
jenkins-bot 4d78073001 Merge "Replace 'settings' by renamed 'pageSettings' icon" 2018-08-17 00:28:05 +00:00
Volker E 07f58084cd Replace 'settings' by renamed 'pageSettings' icon
Bug: T190581
Change-Id: Ie0307ebc16d516463302773ef4226f2ba2dbd16c
2018-08-16 17:00:38 -07:00
Ed Sanders 20662e6dde Fix icons broken by OOUI update
Change-Id: I44edf30dc578787935c0052e8675bfde7fdd746d
2018-08-16 22:41:31 +01:00
Thalia 4a1d52ccb3 Show signatures in NWE visual diff
Parse document with pre-save transform for the diff.

Bug: T184166
Change-Id: Iffc9ed8ba88dcb55bef73f1708118663b0c38068
2018-08-16 21:45:28 +01:00
James D. Forrester 4755d7f1be build: Upgrade eslint-config-wikimedia to 0.7.2 and simplify config
Change-Id: Ib78c51a177b9f4b4764587232c7d32ffcfdd8aca
2018-08-14 11:02:20 -07:00
jenkins-bot 2270987788 Merge "ve.init.mw.MobileArticleTarget: Tweak toolbar items' height" 2018-08-14 17:03:48 +00:00
jenkins-bot ad675d06d7 Merge "Add Converter test cases for captions in images and gallery images" 2018-08-14 17:03:45 +00:00
jenkins-bot 2b43a24eea Merge "ve.init.mw.ArticleTarget: Skip prompt when switching to VE from NWE section editing if unchanged" 2018-08-14 16:09:49 +00:00
Bartosz Dziewoński 2512baa68e Add Converter test cases for captions in images and gallery images
Many of the details of the behavior don't really matter, but
I suppose it doesn't hurt to document them.

We really want to test two things:
* When converting from DOM to model data, a <mwImageCaption>
  or <mwGalleryImageCaption> is always generated, even if
  DOM has no caption.
* Model data that doesn't have <mwImageCaption> or
  <mwGalleryImageCaption> is nevertheless still valid and
  converting it to DOM doesn't fail.

Follow-up to Ie82fb339f6bd8ae1b289235bf5402490722d9a7c.

Change-Id: I0a10351e9c1589afbee76d8a85f869987de3de22
2018-08-14 11:02:09 +02:00
Bartosz Dziewoński 39208b7d40 Update VE core submodule to master (2859146e5)
New changes:
fa5d35054 Only re-use session token if docname matches
58d7cd280 Localisation updates from https://translatewiki.net.
d0716d8e7 Update files generated with new l10n language 'my'
2cc7a4423 Create unit tests for sequences
873fdd01e Upstream horizontalRule sequence and fix command

Local changes:
* Register unit test file for sequences
* Remove duplicate horizontal rule sequence

Change-Id: Ibc65cf5c086428bb0d13c8e2f2de5819e1e23d43
2018-08-14 09:20:07 +02:00
Bartosz Dziewoński 835b68db2a ve.init.mw.MobileArticleTarget: Tweak toolbar items' height
This padding needs to come out to an exact integer pixel value (14px),
otherwise things are off by less than a pixel and look ugly: F24664180

1em = 16px
0.875em = (14/16)em = 14px

Bug: T190596
Change-Id: Ieb292ed14e0b9205d15254667e97613fbf339260
2018-08-14 07:12:51 +02:00
Bartosz Dziewoński a387778ac3 ve.init.mw.ArticleTarget: Skip prompt when switching to VE from NWE section editing if unchanged
Bug: T136267
Change-Id: I30eae20baca2e16fa5f710485eab213edd5c4a08
2018-08-10 18:07:59 +00:00
jenkins-bot c0c94668c9 Merge "DesktopArticleTarget.init: always bind to #ca-edit" 2018-08-09 22:18:55 +00:00
David Lynch e99749aa80 DesktopArticleTarget.init: always bind to #ca-edit
Refactoring in 92c4e23 didn't account for the case where there are multiple
tabs and source mode isn't NWE, which caused the "edit source" tab to just be
a page- navigation that always discarded changes. onEditTabClick handles this
case fine, so just always bind the handler.

Bug: T199655
Change-Id: I3dca87a7a3b0ea88ef0008be89cd1f6007167916
2018-08-09 23:36:08 +02:00
jenkins-bot 083d436a4b Merge "Replace Bugzilla numbers with Phab numbers" 2018-08-09 16:03:32 +00:00
Ed Sanders 4ee09f75af Replace Bugzilla numbers with Phab numbers
Change-Id: I0e91d63b3872520b8f66002615967b2cfe235bf5
2018-08-09 15:11:27 +01:00
jenkins-bot 60982f3369 Merge "Include wpUltimateParam when switching from VE to source editor" 2018-08-08 20:23:16 +00:00
David Lynch 51beff9327 Include wpUltimateParam when switching from VE to source editor
Bug: T199554
Change-Id: I032f822a11840ca16687322bfa051418bc7e9c06
2018-08-08 21:50:59 +02:00
Ed Sanders efaf98d414 Wikitext surface getCaretPosition: Handle null ranges
Bug: T199484
Change-Id: Ica84a87c7cda7135c062f38d3f5b671d6dc3d049
2018-08-08 18:52:39 +00:00
jenkins-bot 9a3d759c00 Merge "Always generate empty wrapper paragraph inside image captions (slugs begone!)" 2018-08-05 18:23:05 +00:00
David Lynch 5dc09c5cd7 Add horizontal rule sequence (----)
Bug: T199925
Change-Id: I9f76e1e10ff8511252c3b9e5fbe7a9b94dade427
Depends-On: I7a41fa64f2b14ce58aca91feddc791b8648995d0
Depends-On: Ifb7bd4f75aeba38f3ae63fe6ba81cf7fe086461a
2018-08-01 19:28:14 +00:00
Bartosz Dziewoński 86f2057c81 Always generate empty wrapper paragraph inside image captions (slugs begone!)
While all of the following are valid in the model:

1. <mwBlockImage></mwBlockImage>
   Image with no caption. Must use the media dialog to insert one.
2. <mwBlockImage><mwImageCaption></mwImageCaption></mwBlockImage>
   Image with empty caption. There is a slug to insert a paragraph.
3. <mwBlockImage><mwImageCaption><paragraph></paragraph></mwImageCaption></mwBlockImage>
   Image with caption with empty paragraph. Nice and intuitive!

(Same for <mwGalleryImage> / <mwGalleryImageCaption>.)

The third option is the most convenient for the user. We should always
generate that when converting documents from HTML and from the editing
tools (MWGalleryDialog, MWMediaDialog/MWImageModel).

Previously, the editing tools generated option 2 if no caption text
was entered, and the converter generated option 2 if there was no
caption node or if it was empty. Curiously, option 1 was never used.

Wikitext for manual testing:

```
[[File:Foo.png|thumb]]
[[File:Foo.png|thumb|]]
[[File:Foo.png|thumb|Caption]]

<gallery mode="packed">
File:Foo.png
File:Foo.png|
File:Foo.png|Caption
</gallery>
```

Bug: T200387
Change-Id: Ie82fb339f6bd8ae1b289235bf5402490722d9a7c
2018-08-01 05:40:57 +02:00
petarpetkovic 50d556e8d2 Make link annotations more flexible
* When ve.ui.MWLinkAnnotationInspector is being initialized,
internal and external annotation inspectors are hardcoded to
new ve.ui.MWInternalLinkAnnotationWidget and
new ve.ui.MWExternalLinkAnnotationWidget. Make this creation
more flexible by creating these inspectors through a method,
which inheriting classes can override.
* In ve.ui.MWLinkAnnotationInspector.getAnnotationFromFragment,
factor out the creation of link annotations, so overriding
classes have the ability to provide different internal and
external annotations.
* In newFromTitle, static method of MWInternalLinkAnnotation,
creation of `element` isn't flexible for reusability with
slight changes to attributes passed to the constructor. By
factoring out the creation of attributes, inheriting classes
can reuse the existing structure and alter the attributes if
needed.

Bug: T195064
Change-Id: I2037464a7be77783837e9810691c8e372c8197c6
2018-07-26 15:12:19 +02:00
Bartosz Dziewoński 668ce071fa ve.ui.MWTemplateDialog: Prevent focus changes in the setup process
This is similar to the hack in ve.ui.MWMetaDialog, except uglier :(
We already explicitly focus the right field in the ready process.

I am not really sure why the focus change causes the issue, but
preventing it definitely fixes it. It would make sense if we changed
the value of the field after focussing it (as setValue() restores the
validity flag cleared by onFocus()), but we don't seem to do it.

Bug: T199838
Change-Id: Ia602551ee0b0885cefbd4cb2fc00d569ff42da67
2018-07-19 01:43:31 +02:00
Santhosh Thottingal 2eb493bfcf
ve.dm.MWInlineImageNode: Fix undefined data-mw in toDomElements output
Bug: T198941
Change-Id: I52c670dcc1a4dfe03c954b053d344c22e7b48a8d
2018-07-18 16:46:07 +05:30
jenkins-bot db8c585f11 Merge "Apply edit surface jQuery.makeCollapsible overrides to visual diffs too" 2018-07-18 06:36:55 +00:00
Bartosz Dziewoński fc91623b94 ve.ui.MWMediaDialog: Fix confusion between #getSetupProcess and #getReadyProcess
Follow-up to 13675e4a81.

Bug: T185944
Bug: T199841
Change-Id: I2bf08bc0a3684dbfdb9574ea6df0352e8d9d8fd7
2018-07-18 06:30:46 +02:00
jenkins-bot ffaab335ce Merge "Move some styles from mw.ArticleTarget to mw.Target" 2018-07-16 23:16:56 +00:00
Bartosz Dziewoński 13675e4a81 Fix confusion between #getSetupProcess and #getReadyProcess
The #getReadyProcess method should be used pretty much only to focus
a field inside the dialog after it is opened. It runs after the window
opening animation finishes, so if you add stuff to the window here,
that will be visibly delayed.

The #getSetupProcess method should be used pretty much for everything
else that depends on the opening `data`. It runs before the window
opening animation, so if you add stuff to the window here, it will be
visible while animating it.

Bug: T185944
Change-Id: I71ea5b6e1e1947c1cf8fd749100e854953a8ef3c
2018-07-11 23:47:55 +02:00
David Lynch 9d8d4255cc init.mw.ArticleTarget: make sure renderCategories preserves order
The linkCache fetch can push the categories out of order unless everything is
already in cache. As such, remember the initial order and enforce it after the
promises have resolved.

Bug: T197759
Change-Id: I9ea8d5e642f62c96475d0713f2c79258abb33b19
2018-07-10 12:30:30 -05:00
Ed Sanders f80b029444 Fix doc in GalleryDialog and add todo
Change-Id: I4e1ad8ec3d7a1c85a600bf1dafc449054c115203
2018-07-09 22:03:52 +01:00
jenkins-bot 1d17c089d5 Merge "init.mw.ArticleTarget: sort categories correctly in renderCategories" 2018-07-09 17:50:09 +00:00
David Lynch 71e42d50fe init.mw.ArticleTarget: sort categories correctly in renderCategories
I.e. don't sort them, because they're provided in source order and that's all
we need.

Bug: T197759
Change-Id: I3b9508ff49233ccfbeba1d111a6df9f29f0fc318
2018-07-09 09:25:41 -05:00
James D. Forrester 3c6ca93b92 build: Enable and make pass no-prototype-builtins
Including a spectacular whoops in MWGalleryDialog.

Change-Id: Id9863f6dc3701cb0df6684380fa5ecac4526d37d
2018-07-06 10:58:18 -07:00
jenkins-bot 097fb6a18f Merge "MWImageNode: Make 'mw' attribute optional again" 2018-07-05 20:17:33 +00:00
James D. Forrester ba3e5a3690 MWWelcomeDialog: Shrink the background image by 1/3 so the CTAs show
Bug: T191095
Change-Id: Id1fd76a37d02a9572cc29909409cd53e28ce0bb9
2018-07-05 20:04:57 +02:00
Bartosz Dziewoński b4456cc482 MWWelcomeDialog: Refactor splash image to allow resizing it
We relied on some white space baked into the background-image
to "reserve the space" for the text. If we tried to make the image
smnaller, the text would start overlapping it.

Remove 100px of vertical white space from the image files, adjust
the styles so that text is displayed below the image rather than
overlapping it.

Bug: T191095
Change-Id: I2f19128a2044b3505cdea93c3f587fe62553071d
2018-07-05 20:04:57 +02:00
Bartosz Dziewoński 55108aaf1b Apply edit surface jQuery.makeCollapsible overrides to visual diffs too
Bug: T194725
Change-Id: I8667dae42e652ef08910c861d22606f482d8f9cd
2018-07-05 16:09:13 +00:00
Bartosz Dziewoński 6db1fd41ef Move some styles from mw.ArticleTarget to mw.Target
They look like they should also apply to Flow, ContentTranslation, etc.

And apparently CollabTarget was already loading them separately.

Change-Id: I5c502f8e060968ecee67567747f29eb630cda718
2018-07-05 18:01:10 +02:00
jenkins-bot 67e4799d39 Merge "DesktopArticleTarget.init: Fix URI comparison if it contains a port number" 2018-07-03 23:16:33 +00:00
jenkins-bot 13e4f0bbd0 Merge "DesktopArticleTarget: consolidate edit tab behavior" 2018-07-03 22:27:42 +00:00
Bartosz Dziewoński 9ef039dd4b DesktopArticleTarget.init: Fix URI comparison if it contains a port number
If the wiki runs on a host that contains a port number, section edit
links would always reload the page, and the "Add section" tab would
not work.

As it happens, my local testing wiki runs on localhost:3080.

It is an unfortunate naming mishap:
* mw.Uri#host is equivalent to location.hostname
* mw.Uri#getHostPort is equivalent to location.host

In this case, we have to compare the port too, otherwise a setup (my
setup ;) ) where one starts up another wiki on localhost:3081 to test
cross-wiki features would fail.

Change-Id: Ib7de4ba3c3a84888f24186af03bd9dcced131051
2018-07-04 00:11:48 +02:00
Bartosz Dziewoński a247fd4e90 MWImageNode: Make 'mw' attribute optional again
It contains some rare options that we don't currently make editable,
and we don't set it when creating new image nodes.

We could change our code to always set it, and consider it required,
but that would theoretically be a break in backwards-compatibility.

Bug: T198660
Change-Id: I6e77cce257f733f0f8f6e896b967177ff01658c6
2018-07-03 21:03:46 +02:00
jenkins-bot e2132eeff5 Merge "ve.ui.MWTemplatePlaceholderPage: Avoid Firefox rendering issue" 2018-07-03 18:57:11 +00:00
Bartosz Dziewoński 5827b17ad0 ve.ui.MWTemplatePlaceholderPage: Avoid Firefox rendering issue
There is something about ActionFieldLayouts with `align: 'left'` (the
default) and no label that causes Firefox to render them differently
than we expect. I am not sure if the bug is in OOUI or Firefox, but it
is easily avoided by just using `align: 'top'` instead (it looks the
same, since there is no label, and it avoids the issue).

Bug: T198274
Change-Id: Ic6077e576b504e7a0cd761c8bac24d4079ae6702
2018-07-03 20:13:28 +02:00
jenkins-bot 43d5e767e8 Merge "De-duplicate and fix updating of file link in media dialog" 2018-07-03 17:27:37 +00:00
Ed Sanders 6bf9210abe De-duplicate and fix updating of file link in media dialog
Bug: T198565
Change-Id: I7d06d3316b317fb85edb9461080f5f2e5cd439fe
2018-07-03 17:59:43 +01:00
jenkins-bot 4a7e160d4f Merge "Fix window target when opening feedbackUrl" 2018-07-03 16:55:56 +00:00
Ed Sanders 452545fa2e Fix window target when opening feedbackUrl
'_new' should be '_blank', but '_blank' is also the
default, so just remove the argument.

Change-Id: I8f922b835b2bc14e5641e0ab29bf002b32301490
2018-07-03 17:36:35 +01:00
Ed Sanders f1b506bb6a Fix toolbar group names
Bug: T198583
Change-Id: I7b2e15dc65655bf048a02d9902a8f6e1c491edef
2018-07-03 14:23:21 +01:00
David Lynch 92c4e231f2 DesktopArticleTarget: consolidate edit tab behavior
What happens when an edit tab is clicked is spread across handlers in
DesktopArticleTarget and DesktopArticleTarget.init. Consolidating the logic
into the handler in DesktopArticleTarget.init makes it easier to understand.

It could be moved further into DesktopArticleTarget, but the init handler has
to exist to activate the target in the first place.

This patches a hole where clicking "edit source" while in visual mode would
sometimes not switch to source mode, because it didn't think it was changing
the current section.

Also, fix a typo in the documentation.

Bug: T198272
Change-Id: I12d958b6af1b9fa9aca68b498eb2a1a2d76b5a82
2018-07-02 16:17:15 -05:00
jenkins-bot 4c88fc7ef4 Merge "Pass page parameter for multipage file (PDF, DjVu) thumbnails" 2018-06-29 20:08:55 +00:00
jenkins-bot 611ef4ef1c Merge "Pass video thumbtime to thumbnail metadata request" 2018-06-29 20:07:42 +00:00
Ed Sanders 715d67b564 Pass page parameter for multipage file (PDF, DjVu) thumbnails
Bug: T182392
Change-Id: Ib3bc7b13f24493da27078631a41e9c08bcc6c0f4
2018-06-29 19:26:42 +00:00
Ed Sanders 5cdbc17899 Pass video thumbtime to thumbnail metadata request
Bug: T198150
Change-Id: Ic8895c359a92fcc60ac486e3daf86db02599d3ff
2018-06-28 15:52:50 +01:00
jenkins-bot 17041d3f07 Merge "Don't call Resizable constructor conditionally" 2018-06-27 21:49:31 +00:00
David Lynch 56a3aa9f01 Update link contexts with label info from core
Bug: T124305
Depends-On: Iad48fb559f3dae16cc0013791b79ec71308a1f9f
Change-Id: I341a15199bddb45e2cd8391b9b00c86e1c3a193e
2018-06-26 21:16:53 +00:00
Ed Sanders bb1d7271cd Pass content language in Accept-Language header to RESTBase
Bug: T198186
Change-Id: I2176f68f76fa462de0c1c2c47365de62fda4abe0
2018-06-26 16:42:35 +01:00
jenkins-bot 13fb253532 Merge "mw.DesktopArticleTarget: remove action=edit when tearing down as single-tab" 2018-06-25 17:59:14 +00:00
David Lynch 09a315ca69 mw.DesktopArticleTarget: remove action=edit when tearing down as single-tab
aeb4f2f2b7 added a #wpTextbox1 to the wikitext surface, which confused our
existing teardown check. This confusion only became apparent in single-tab
mode, when using the wikitext editor.

Bug: T197615
Change-Id: I98e64e7135aaf6f8fda441a91e6cbc4bac6cea39
2018-06-25 11:55:51 -05:00
jenkins-bot dfc78ad5df Merge "ve.ui.MWTemplateDialog: Prevent scrolling to top after removing a parameter" 2018-06-25 16:53:09 +00:00
jenkins-bot 1a0ea50bd6 Merge "If VE was opened on action=edit URL, redirect to view URL when closing" 2018-06-25 16:50:25 +00:00
Ed Sanders ac88166da1 Give up on realistic styling of mw-collapsible
Using display:inline causes the <p> to be destroyed
when empty.

Bug: T197987
Change-Id: Icfcb2ddc91e6793221608fac9f2995c6afeb4313
2018-06-23 14:17:21 +01:00
jenkins-bot 5d9f90ea46 Merge "Follow-up I213bd946f: Correct URL of Parsoid HTML profile" 2018-06-22 17:49:17 +00:00
C. Scott Ananian 83918e735a Follow-up I213bd946f: Correct URL of Parsoid HTML profile
The URL for the HTML profile used by Parsoid changed after 1.2.x, but
it was never updated in VE.

Change-Id: Id4ab8567dc907b71e790a04ab10044c1e081c8ce
2018-06-22 10:27:00 -07:00
Bartosz Dziewoński 37e349913e If VE was opened on action=edit URL, redirect to view URL when closing
We already do it after save, but not if the editor is closed without
saving.

This behavior is a bit awkward for non-existent pages (redlinks),
since MediaWiki normally doesn't display them in view mode (all links
point to action=edit). But this seems less weird than not allowing the
editor to be closed.

Bug: T122388
Bug: T168338
Change-Id: Id9ee41356f011dfbfa6e8744b8d9076f8eacaf39
2018-06-22 01:10:11 +02:00
jenkins-bot fbb83cc391 Merge "Update VE to request Parsoid HTML v1.7.0" 2018-06-21 22:31:25 +00:00
C. Scott Ananian a13b8ae178 Update VE to request Parsoid HTML v1.7.0
The seasons change, and so do Parsoid HTML specifications...

Change-Id: I213bd946f6f1547f76a4ea352c7cb083ebadd602
2018-06-21 16:41:02 -04:00
Bartosz Dziewoński b51707d96f ve.ui.MWTemplateDialog: Prevent scrolling to top after removing a parameter
Bug: T180151
Change-Id: I063c53fa572e998f5b34fc895d02fe1a74026c6e
2018-06-21 20:45:06 +02:00
Ed Sanders efcea82c9c Follow-up I348b8522: Fix context variable
Bug: T197762
Change-Id: Ife163e1666ec43ecbb21099a9342960615c573d8
2018-06-20 19:50:39 +01:00
jenkins-bot 0b3b229c16 Merge "Add MW-specific DiffElement tests" 2018-06-20 18:47:54 +00:00
Ed Sanders 534b3d66cb Update VE core submodule to master (a1fd90540)
New changes:
71baf1c02 Create an 'htmlMsg' function for HTML messages with HTML or DOM arguments
9a7af223e Use ve.htmlMsg to highlight values in attribute changes
a1fd90540 DiffElement: Refactor describeChanges tests

Local changes:
Implement getHtmlMessage in mw.Platform and use for DiffElement

Bug: T195243
Depends-On: Ib4ad16858e4241d33d018830dbcfded63ff703af
Change-Id: Ib5fa39e4f2f529948354b03a141542e23d169fe0
2018-06-20 12:53:43 +02:00
jenkins-bot bbc55bcdba Merge "Replace deepEqual with strictEqual for non-objects" 2018-06-20 08:35:20 +00:00
Ed Sanders b6d03da278 Add MW-specific DiffElement tests
Change-Id: If3dfa660b49bceef2da8dc7ec113225aaa7f59f5
Depends-On: Ib4ad16858e4241d33d018830dbcfded63ff703af
2018-06-19 16:04:08 +01:00
Ed Sanders 6e03492011 Replace deepEqual with strictEqual for non-objects
Change-Id: I0a89092f2c57a4c2348c4231fdfea1c2c520fc10
2018-06-19 16:00:28 +01:00
David Lynch 814e26f1e9 DesktopArticleTarget: view click handler should only run for active target
Not checking this results in handlers blocking click actions for "read" after
the teardown of the target.

Bug: T197445
Change-Id: I3a962c66c82a0e48ca54bf2f0b822a9a005da54c
2018-06-18 20:45:52 -05:00
jenkins-bot 96c1836248 Merge "ve.init.mw.DesktopArticleTarget: Only change document title on activate" 2018-06-15 21:56:13 +00:00
Bartosz Dziewoński e484522161 ve.init.mw.DesktopArticleTarget: Only change document title on activate
Previously, we changed it on every load, which also occurs when
switching editor modes. That caused it to not be restored when editor
was closed.

Bug: T197490
Change-Id: Icb20c38309fd440553d5245d865b05145542313f
2018-06-15 22:10:25 +02:00
jenkins-bot 4f98d3bfb6 Merge "Check for normalized and converted titles in ve.init.mw.ApiResponseCache" 2018-06-15 19:44:42 +00:00
petarpetkovic 86615fcedc Check for normalized and converted titles in ve.init.mw.ApiResponseCache
Besides redirects, API can return from-to title pairs for normalized and
converted titles, as well.

Currently, doing an API query on eswiki for page info (prop='info' in params)
with titles='User:Title' returns normalized title 'Usuario:Title'.

processResult() method in ve.init.mw.ApiResponseCache.prototype.processQueue
sets page.title ('Usuario:Title') in cached results, and the promise for
actual queried title ('User:Title') gets rejected in rejectSubqueue() method.

Change-Id: I33fd4640b6eac8018e35c6fe21234f4c469dd97d
2018-06-15 21:27:31 +02:00
jenkins-bot a6ae8424f7 Merge "Use WindowAction to open the wikitext paste dialog" 2018-06-15 15:46:44 +00:00
jenkins-bot e8c6b90a72 Merge "MWLanguageVariantInspector: Use 'title' config option instead of 'iconTitle'" 2018-06-14 22:51:41 +00:00
Bartosz Dziewoński 4ee35de02a MWLanguageVariantInspector: Use 'title' config option instead of 'iconTitle'
This way the tooltip is shown on the entire button, rather than only
on the icon. One should only use 'iconTitle' to display a different
tooltip on the icon than on the rest of the widget.

I think this was caused by bad documentation in OOUI, which I'm fixing
in I967d9b78014b3754720e80da9c4785124fffc2ba.

Change-Id: I8cc99bcfca56b80a8c8aff609ba48eb3f9c5ed7f
2018-06-14 22:45:18 +00:00
Ed Sanders b340f526e3 Use WindowAction to open the wikitext paste dialog
This adds in missing functionality, such as deactivating
the surface selection while the dialog is open.

Change-Id: I0d8652a989504a35e5c235224b0ef924b6dcbeed
2018-06-13 13:28:15 +01:00
Ed Sanders 6cad6f603d Don't call Resizable constructor conditionally
Change-Id: I3b5caf81b691aebcd50d3339a42bbaf4fe880fac
Depends-On: I19e63c89fa54f8f4bf1ad6795b8b281c4ad4576a
2018-06-12 17:18:12 +01:00
jenkins-bot 6876f6d489 Merge "Move module pre-loading from DAT.init to ArticleTarget" 2018-06-11 17:55:21 +00:00
jenkins-bot 59e59a5fdf Merge "VisualDiff: Don't compare images with different src's" 2018-06-11 17:44:48 +00:00
jenkins-bot 4e17f2f131 Merge "Follow-up Ifdc951f: Don't use getLocalApi when VE not available" 2018-06-10 22:39:29 +00:00
jenkins-bot 7890f70d76 Merge "Minor code style fix (move semi colon)" 2018-06-10 22:38:18 +00:00
jenkins-bot 17d013f520 Merge "Never store ve.debounce in prototype" 2018-06-10 22:36:23 +00:00
Ed Sanders 6459de6978 Move module pre-loading from DAT.init to ArticleTarget
This makes this feature available on Mobile as well.

Change-Id: I26a2af63b3665f5563f8562f1a8e94287cad439f
2018-06-10 16:07:44 +01:00
Ed Sanders 6cc83781a3 Never store ve.debounce in prototype
This essentially creates a static debouncer, so if you have
multiple instances calling that method at the same time, only
one of them will fire.

Change-Id: I4c257b557e87f5638b459811655a14b8625de2e3
2018-06-10 16:00:37 +01:00
Ed Sanders 000559c790 Minor code style fix (move semi colon)
Change-Id: I00f635203c4fc58454aefa8840f0b204e1480c53
2018-06-10 15:59:26 +01:00
Ed Sanders e88cd81f94 Follow-up Ifdc951f: Don't use getLocalApi when VE not available
These popups on used on the 2010 wikitext editor as well, so
we can't use ve.init.target.

Change-Id: I7d4e97566dde10146893089427f95c0b598ef4bc
2018-06-10 14:14:23 +01:00
Bartosz Dziewoński 6840ac4dd1 ve.ui.MWSaveDialog: Remove unnecessary margin after last checkbox
Patch proposed on T196375 by Jack_who_built_the_house.

Bug: T196375
Change-Id: I30548650eab3d14e7c0de29c954ededcfa44648a
2018-06-08 09:57:01 +00:00
jenkins-bot c04e934361 Merge "Simplify conversion of images" 2018-06-07 20:51:51 +00:00
jenkins-bot 1dc8d5db51 Merge "Add preview mode converter tests" 2018-06-06 21:28:19 +00:00
jenkins-bot 5e45047fe0 Merge "Fix parsing of external links, now Parsoid adds 'external' classes" 2018-06-06 21:28:10 +00:00
jenkins-bot ef0f1db361 Merge "eslint: Move qunit env flag to test config" 2018-06-05 21:11:49 +00:00
Ed Sanders 7dbc4c7140 eslint: Move qunit env flag to test config
Change-Id: I290c436b25e306a3657324304ded08011ffcea7a
2018-06-05 21:12:56 +01:00
jenkins-bot cb62540fac Merge "eslint: Enable qunit/no-assert-equal,no-early-return,no-negated-ok" 2018-06-05 20:11:46 +00:00
Ed Sanders b668286e9b eslint: Enable qunit/no-assert-equal,no-early-return,no-negated-ok
Change-Id: I6a202a496ba9359c63febf623ef8b4dd3caa47dd
2018-06-05 20:41:39 +01:00
Ed Sanders dee50b778c MWTransclusionNode: Remove old createInvisibleIcon override
Bug: T196479
Change-Id: I99aab2e0eee3274305a6877263414ce21049fa5b
2018-06-05 18:50:14 +01:00
Ed Sanders b79c98f1e3 Simplify conversion of images
Assume that images provided by Parsoid will adhere to the DOMspec.

Change-Id: I52eb4f27e6b1e1cd092133c3e27e42021ae83783
2018-06-05 13:05:40 +01:00
Ed Sanders 98ec3947a9 Add preview mode converter tests
Change-Id: I58a2c9a9e8fd0bf8254819b960c5a5ad8190f643
Depends-On: I3f1a4772cbf67091b5fd52bab610390ebd9b16ef
2018-06-04 19:00:34 +00:00
Ed Sanders bb6cd33821 VisualDiff: Don't compare images with different src's
Bug: T196343
Change-Id: I99ddce806e044ca427bf01b41d164c89dd2e15fd
2018-06-04 18:49:18 +01:00
Ed Sanders a7049dacea Update language variant node to use new invisible icon API
Bug: T195887
Depends-On: I4eab7b9edf04454ef1a62535656b179480c3054b
Change-Id: I655757b13514e8ff89c312dcc2e1147d188a2718
2018-06-04 17:34:22 +00:00
jenkins-bot 6594055882 Merge "Paste conversion dialog shouldn't be escapable" 2018-06-04 16:44:39 +00:00
David Lynch d3fd979d3b Paste conversion dialog shouldn't be escapable
It doesn't have a "cancel and do nothing" route to fall back on, so pressing
escape does the non-progressive action, which is to paste-as-wikitext rather
than paste-as-plaintext. Neither of these is really an intuitive outcome.

Change-Id: I786b6fc87e3cdf3bb50898a070a15a353a242848
2018-06-04 11:16:19 -05:00
Santhosh Thottingal b049a82e8d
ApiResponseCache: Add a check for data.query before accessing redirects
Follow-up: If4f8c9b6719c123b31d852eb71f06a79cc0f7917
Change-Id: I5f1814f341ce401fcb3926487a2cea276698bca0
2018-06-04 13:50:27 +05:30
Ed Sanders cb36c6ded3 Fix parsing of external links, now Parsoid adds 'external' classes
Bug: T196025
Bug: T188656
Change-Id: I89b8ba378108bde6c8db0144ed306cbc8471111b
2018-06-01 08:47:46 +00:00
Timo Tijhof 21f526bffe mw.trackSubscriber: Remove action.init.timing value
In Schema:Edit, all action timing durations (ready, loaded, saveAttempt etc.)
are defined as "time since the editor was initialised", which is internally
stored as the timestamp for the "init" action.

The 'init' action itself does not have a timing duratation, but the Edit schema
has a special case for it, definining it as "time since the page was loaded".

In actually, it isn't actually implemented as "time since the page loaded",
and I suspect that as such, this value is probably not used by EventLogging
consumers of the Edit schema. Or, it might be used, but doesn't represent
what the consumers think it does.

Presently, it uses the init time now() - mediaWikiLoadStart, which basically
means the time between the random point at which MediaWiki core JavaScript
finished executing which is quite variable in practice due to the race between
<script async> and browssing parsing/rendering of HTML. That is by design,
and is also why mediaWikiLoadStart is undocumented and internal, and actually
in the process of being removed.

After many iterations on this patch to try and approximate an alternative to
this undocumented variable, I came up with an alternative approach with DLynch
at the Hackathon, which is to simply not record this one timing value, but
preserve the behaviour of all the other timing values exactly as-is.

That is, keep the behaviour of storing `now()` as "init" when the editor
activates, and keep the behaviour of substracting "init" from all other action
times, but only don't report "init" itself to EventLogging (given its value
would be 0, which isn't useful).

Bug: T160315
Change-Id: I778234efe40dde8ff30333339335be1c3910a4e0
2018-05-31 18:27:12 +00:00
jenkins-bot 725adb2ae3 Merge "Disconnect surface model history listener when tearing down" 2018-05-31 00:23:37 +00:00
jenkins-bot 47fab2753b Merge "DesktopArticleTarget: Section-scroll as part of restoring the page" 2018-05-30 22:03:49 +00:00
Ed Sanders a7f5a76bca build: Introduce eslint-plugin-qunit
Change-Id: I0a169916eaf260500ca6a172e6fb2b0c61f8d422
2018-05-30 21:04:02 +01:00
jenkins-bot 083d2aa588 Merge "ApiResponseCache: Support redirects data processing" 2018-05-30 16:53:07 +00:00
Ed Sanders 4f456b143e Disconnect surface model history listener when tearing down
Bug: T195775
Change-Id: I6f6fe654dc190d7d891d3ac346bf3f4b2f426947
2018-05-28 18:30:07 +00:00
Ed Sanders 9386d54be9 Fix template param diff when value is empty string
Bug: T195764
Change-Id: I0bd5fe71996a2ffeaa201e549f8515439c07996d
2018-05-28 14:56:53 +01:00
David Lynch d3824dee76 DesktopArticleTarget: Section-scroll as part of restoring the page
We were scrolling to the edited section when we saved the page, and otherwise
reverting scroll position to the top if we just abandoned the edit. This
unifies these cases, so any section-edit which leaves the editor will scroll
to the section being edited. (If section==new and the edit is abandoned, it'll
scroll to the last section on the page.)

Bug: T194631
Change-Id: Ic2aca68b3127c435545644912b96212bcfa6648d
2018-05-25 16:30:22 -05:00
Santhosh Thottingal 27d0634abf
ApiResponseCache: Support redirects data processing
If the mediawiki Api pass redirects as true, the response will have
redirect data. ApiResponseCache ignores it now. This commit adds
support for processing that and set in the cache.

Change-Id: If4f8c9b6719c123b31d852eb71f06a79cc0f7917
2018-05-25 12:06:09 +05:30
jenkins-bot c52be40555 Merge "MobileArticleTarget: Include placeholder for references" 2018-05-24 17:30:48 +00:00
jenkins-bot 6c90442326 Merge "ce.MWWikitextSurface: ask on paste about wikitext conversion" 2018-05-24 17:21:07 +00:00
David Lynch 4d5fc16a9a MobileArticleTarget: Include placeholder for references
Cite's a08febb0afa2d changed the rules for adding the Cite button to the
toolbar – it now requires a placeholder slot in the toolbar, rather than
finding the link tool and adding itself after that. As ve.init.mw.Target
was updated for this it kept working on desktop, but MobileArticleTarget
completely overrides the toolbar, and was missed.

Bug: T195191
Change-Id: I55c9de9e736bb83f5f05028f2fc07af0ad996050
2018-05-24 17:18:50 +00:00
jenkins-bot 504f712ebc Merge "Only apply toolbar negative margins on vector" 2018-05-23 17:05:22 +00:00
David Lynch 4d263afaa2 ce.MWWikitextSurface: ask on paste about wikitext conversion
Throw a dialog box up to ask whether to convert something with formatting to
wikitext, or downconvert it to plain text.

This logically depends on Ie9aaaa59e9dfa138d394051fe491573253df1805.

Bug: T190079
Change-Id: I6afbbe303d1506426109e75c95f6be546ec48536
Depends-On: Ie9aaaa59e9dfa138d394051fe491573253df1805
2018-05-23 08:08:22 -05:00
Ed Sanders ccb766e933 MWSaveDialog: Fix typo in no-categories branch
Bug: T195323
Change-Id: I7d22b6cad363a240660563554e4578621f7966d0
2018-05-23 11:18:54 +01:00
Ed Sanders bb0d3471df Only apply toolbar negative margins on vector
This fixes toolbar placement in minerva-desktop.

Change-Id: Ifbd869cb70da9bb4db7c72ad89f696a080d18847
2018-05-22 21:25:33 +01:00
jenkins-bot ffaa4f2170 Merge "DesktopArticleTarget: on escape close toolbar dialogs first" 2018-05-20 16:55:02 +00:00
jenkins-bot 99bff72a6a Merge "$.isEmptyObject -> ve.isEmptyObject" 2018-05-20 11:09:50 +00:00
Ed Sanders f5d1f6c595 Make options actually optional as documented
Change-Id: I42bb8e594a9ea8002938e68109d11488aef8883c
2018-05-20 12:53:19 +02:00
Ed Sanders eb70a1c371 $.isEmptyObject -> ve.isEmptyObject
Change-Id: I309337fcffce7b1759bfca32215461171e869c5c
2018-05-20 12:00:09 +02:00
jenkins-bot 45c39da455 Merge "MWSaveDialog: Display of limit behavior unified with old editor" 2018-05-19 20:10:52 +00:00
David Lynch c76c41f3dc DesktopArticleTarget: on escape close toolbar dialogs first
Pressing escape will close toolbar dialogs (find/symbols/etc) if they're open
instead of trying to teardown the editing surface.

Bug: T190068
Change-Id: I27080649392f17344c901269029368fa0b3c2963
2018-05-19 19:29:34 +02:00
David Lynch 110fdf1fcb MWSaveDialog: Display of limit behavior unified with old editor
T190570 (I54d75ab6061de0de79b7a8112eb859a4c8a5e22a) changed old editor's
display of the limit to only show when there's <= 99 remaining. Bring same
behavior into this dialog.

Bug: T194458
Change-Id: I7f6fd7ee95348c39b107131a7e297d158a07c00e
2018-05-19 19:09:57 +02:00
Ed Sanders ccfd46bbd7 Use same padding across skins for external links
Change-Id: Ide98ae75eb39bf87d83d64c5ec075a0b58665099
Depends-On: I7eaf0756d4d58c0f902238b48176334689f3c704
2018-05-19 11:34:43 +02:00
Ed Sanders 7c2b61ce38 Follow-up I2a49315d0: Fix right padding of active external links
Change-Id: If8fa88b824d67b76f8545f1f58ef84365a501fa7
2018-05-19 11:33:17 +02:00
jenkins-bot 9b8a859350 Merge "MWInternalLinkAnnotation: test fragment behavior" 2018-05-18 19:22:40 +00:00
David Lynch 300d5ec486 MWInternalLinkAnnotation: test fragment behavior
Bug: T194463
Change-Id: I08d587c4e4cd12b1362915a22b37d9a0224de198
2018-05-18 20:55:35 +02:00
jenkins-bot 6cc9e81238 Merge "dm.MWInternalLinkAnnotation: account for ? in fragment" 2018-05-18 18:48:16 +00:00
jenkins-bot 3999f76346 Merge "Use ve.ce.nodeFactory.createFromModel" 2018-05-18 18:27:31 +00:00
jenkins-bot e0e8f84322 Merge "Use CE rendering for invisible templates" 2018-05-18 18:27:29 +00:00
David Lynch 909aecbd26 dm.MWInternalLinkAnnotation: account for ? in fragment
It was failing to properly ignore the fragment if it contained a ?. This
resulted in such fragment-selflinks being considered a link to a wikipage with
a title of their full URL. As such, only consider the pre-# section for ?s.

Bug: T194463
Change-Id: I205f86d2b4abcf91dd6a84e3013e899e953a6842
2018-05-18 19:58:21 +02:00
jenkins-bot a47b78e18c Merge "Update VE core submodule to master (1d341ca7d)" 2018-05-18 15:37:04 +00:00
James D. Forrester 9e52ece21f Update VE core submodule to master (1d341ca7d)
New changes:
3a6d868bf Separate (Comment/Link)InspectorTools into separate files
cb5d36e32 Localisation updates from https://translatewiki.net.
c75491b16 build: Extend 'svgmin' options and amend
ddef270d9 Genericise activeLink behaviour to any annotation
d13d44e12 Create simple comment annotation type for rebaser.
7e49a1f33 Add getters for author properties
1d341ca7d Follow-up I16942623d: Only filter inactive models if they are 'canBeActive'

Local changes:
Change .ve-ce-linkAnnotation-active > .ve-ce-linkAnnotation.ve-ce-annotation-active

Bug: T185596
Change-Id: I2a49315d01aa075373f9b5f0d8802a7e7dd4dca3
2018-05-18 17:07:28 +02:00
jenkins-bot 60ef3af0b1 Merge "Fix position of inspectors/context inside dialogs" 2018-05-18 14:55:01 +00:00
jenkins-bot b899759edc Merge "MobileArticleTarget: fix deprecated toolbar calls" 2018-05-18 14:54:59 +00:00
Bartosz Dziewoński dfe65db5bb Fix position of inspectors/context inside dialogs
Override #addSurface instead of #getSurfaceConfig, so that the
$overlayContainer option only applies to the "main" surface of the
Target rather than all of the surfaces (including those in
TargetWidgets).

Bug: T194433
Change-Id: I61c609e2d52814b4547fb5292a0bfb237c4c218f
2018-05-18 14:26:00 +00:00
David Lynch 150fb16008 MobileArticleTarget: fix deprecated toolbar calls
Change-Id: If7d4b52c29e9648f17eda2d62f8fcdad744f82ae
2018-05-18 15:59:15 +02:00
jenkins-bot c80c2d1723 Merge "Fix ve.ce.MWTransclusionNode#filterRendering to work with non-element nodes" 2018-05-18 12:05:33 +00:00
Ed Sanders ed604c857d Fix ve.ce.MWTransclusionNode#filterRendering to work with non-element nodes
Bug: T194839
Change-Id: I90065720725e8b59bfe4a4a9215b3835179cb2d1
2018-05-17 19:19:40 +01:00
jenkins-bot a975aacbe7 Merge "CategoriesPage: Remove unnecessary input widget width" 2018-05-16 22:06:14 +00:00
Ed Sanders 70cd11e32d CategoriesPage: Remove unnecessary input widget width
Change-Id: I7fa38b866d0489de612b0ed08cf0b9eb3b9b71af
2018-05-16 18:04:08 +01:00
Ed Sanders 9b8e501333 MobileArticleTarget: Show both edit modes in edit switcher, for consistency
Change-Id: I48193db0d8282e31265e95884878eb81cbaeeedd
2018-05-16 15:20:25 +00:00
jenkins-bot c5a6e54dde Merge "Simplify valign code with a loop" 2018-05-16 09:49:06 +00:00
jenkins-bot d70ddfb85a Merge "Use better align change descriptions" 2018-05-16 09:49:05 +00:00
jenkins-bot cf0fd3e673 Merge "Fix typo in API call for version number help" 2018-05-16 09:37:26 +00:00
Ed Sanders 63c698823c Fix typo in API call for version number help
Change-Id: Idcea9d74e27e33930d98d2b896ee08012e46e8f3
2018-05-16 10:23:39 +01:00
jenkins-bot 4ca3f1661d Merge "ArticleTarget: Change rendering of category preview" 2018-05-15 13:28:57 +00:00
Ed Sanders 3c1ef8cff8 Simplify valign code with a loop
Change-Id: I90cc74d19b46ea2f5a603b1fd39393debefc8e7c
2018-05-15 11:57:41 +00:00
Ed Sanders 7254fbe2cf Use better align change descriptions
Adds support for align=none.

Also don't show changes from class names.

Change-Id: Ia00a51dd52af73183e98c8a87f4c60ee5380d81f
Depends-On: Ic668454c4b4b069dab46a608530c85a5bb7e7ad8
2018-05-15 11:57:33 +00:00
David Lynch 5d19272aa1 ArticleTarget: Change rendering of category preview
Just generate the standard wiki skin markup for categories. Adjust linkcache to always know
whether links are hidden categories. (It previously knew *sometimes*,
depending on whether a MWCategoryWidget had interacted with that category.)

Make the save dialog preview use the same method as the bottom-of-editor preview.

Bug: T194092
Change-Id: I37fea15eaef0a5847f27ce41dd92370a4bf353b6
2018-05-13 16:40:59 -05:00
Ed Sanders 900b74e9a9 Update VE core submodule to master (14bcc9256)
New changes:
14bcc9256 Give toolbars groups names

Local changes:
Give toolbars groups names

Also create an empty placeholder group for reference tools.
This allows targets to specify if they should show them.

Depends-On: Iccaf35cf941cb47ad55e8d98373461f5eaff5fed
Change-Id: I0bace5e5fe05f9c214d57a74c478b48a7dcaec3b
2018-05-13 18:09:33 +01:00
Ed Sanders d7d4eb3126 Use ve.ce.nodeFactory.createFromModel
Change-Id: I1a826c3c0985ef0d8ad0b669886e29aa021c90c1
Depends-On: I259face33154b795143c8820abdfb6b4a495f141
2018-05-11 17:05:09 +00:00
Ed Sanders c2e16186a0 Use CE rendering for invisible templates
Bug: T170107
Change-Id: I7bce9e7b77ce22953bb0141d81871b53a4f005db
2018-05-11 17:05:03 +00:00
Ed Sanders 60e129062a Add missing mw-content-(dir) class to MWPreviewElement
Also allow preview elements to existing with an mw-body-content
area withouth the font size being applied twice.

Depends-On: Ibbf989dcebf2d21fd2ac481f17062f366ff29e41
Change-Id: I284bcd5dd25cdbb883427ebacb41af1bbf50b60f
2018-05-11 16:59:12 +00:00
jenkins-bot e8c4bf2cd3 Merge "ve.ce.MWTableNode: Compatibility with new jQuery.makeCollapsible toggle styles" 2018-05-10 21:48:24 +00:00
Bartosz Dziewoński deabd6bd51 ve.ce.MWTableNode: Compatibility with new jQuery.makeCollapsible toggle styles
jQuery.makeCollapsible styles now display "fake" expand/collapse
toggles. This is nice, but some bits and pieces clashed with our
styles, this fixes it.

Also ensure that the styles are loaded if the page previously had no
collapsible elements on it.

Bug: T194323
Change-Id: If8f0869e6677811147f272337da7d96286792fe0
2018-05-10 21:41:31 +02:00
jenkins-bot d3f3015a60 Merge "Restore CSS for diffslider lines" 2018-05-10 16:09:06 +00:00
Ed Sanders ae9560aacd Restore CSS for diffslider lines
Bug: T193839
Change-Id: If32a6be33f6c8c9f4413a81f561009214fa39df6
2018-05-10 16:38:50 +01:00
Bartosz Dziewoński 73a77b60ed ve.init.mw.DiffPage.init: Detect extra diff header rows
Bug: T193925
Change-Id: I117871bef0f1ecf1ce0ba9762047c926a1e723eb
2018-05-08 22:05:46 +02:00
jenkins-bot 6ad3c408b2 Merge "Add comment to htmlBlacklist item" 2018-05-08 16:10:27 +00:00
jenkins-bot 821e7ec828 Merge "Remove some no longer required CSS from switch popup" 2018-05-08 16:10:26 +00:00
Ed Sanders b5371c791f Add comment to htmlBlacklist item
Bug: T150418
Change-Id: I0c48ff6f187cde4c378e5aa193e62d107bc7919c
2018-05-07 21:49:34 +01:00
Ed Sanders 86fdda21c6 Remove some no longer required CSS from switch popup
Change-Id: Ic965c147b195b4546f8f1e7d36395c96597a159e
2018-05-07 21:35:24 +01:00
Ed Sanders 5974c59b97 Follow-up Ifdc951fdc: Don't use target when it doesn't exist
Change-Id: Idf546f7b1d2c12f59b5024f3365665214e4e5f49
2018-05-07 21:22:09 +01:00
jenkins-bot 7bca14c182 Merge "Add an 'api' parameter to ApiResponseCache" 2018-05-07 15:53:18 +00:00
jenkins-bot 5722a3c59f Merge "Remove references to global singleton inside LinkCache" 2018-05-07 15:53:01 +00:00
jenkins-bot 93c1f0d9b4 Merge "Create an MWSurface and move langChange handling there" 2018-05-07 15:52:08 +00:00
jenkins-bot 95d831c2de Merge "Create getters for localised APIs (getContentApi/getLocalApi)" 2018-05-07 15:51:45 +00:00
jenkins-bot 9a79c10fc2 Merge "Remove unused overrides in internal link annotation inspector" 2018-05-07 15:41:33 +00:00
jenkins-bot 25d2eb2848 Merge "Use ve.resolveUrl in MediaContext/Dialog" 2018-05-07 15:28:52 +00:00
Ed Sanders b980150df4 Update link cache to use new descriptions API
Bug: T191333
Change-Id: If1e7f50208a44bda6c30ff1d6c60a085f9da74e7
2018-05-07 15:59:02 +01:00
Ed Sanders 4b00c765ff Add an 'api' parameter to ApiResponseCache
Change-Id: Ie68b70472447a4bb2c9be8ed505a91f24858059d
2018-05-07 11:53:23 +01:00
Ed Sanders 5eb89cdc51 Remove references to global singleton inside LinkCache
Use 'this' instead.

Change-Id: Ie3138f2c62ff4e4938e8ed21e79b3433d98e2737
2018-05-07 11:53:23 +01:00
Ed Sanders 8bddec44e3 Create an MWSurface and move langChange handling there
Change-Id: I8a75b5f431f454b66441fc301b90e5f28636612e
2018-05-07 11:53:23 +01:00
Ed Sanders 478b0bcbb9 Create getters for localised APIs (getContentApi/getLocalApi)
Pass through the current document when available, otherwise
assume the current surface's document.

Also add a getter for getPageName, so that can vary based
on the target document.

Bug: T193856
Change-Id: Ifdc951fdc6a43b924d102e3fcd7e59e52023757b
2018-05-05 14:32:55 +01:00
Ed Sanders b54f427078 Remove unused overrides in internal link annotation inspector
Removes an unused call to mw.util.getUrl.

Change-Id: I3988311b7160af628ea4ceeafcfdc3cc0a7a3774
2018-05-05 14:32:55 +01:00
Ed Sanders 3b4923fa74 Use ve.resolveUrl in MediaContext/Dialog
Change-Id: I53e28d6cec13ac77718ba3cae425c4c43c96e174
2018-05-05 14:04:15 +01:00
jenkins-bot 1f6cf4883d Merge "ve.init.mw.DesktopArticleTarget.init: Edit the latest revision when viewing a FlaggedRevs-stable one" 2018-05-05 01:03:04 +00:00
Bartosz Dziewoński 192a232410 ve.init.mw.DesktopArticleTarget.init: Edit the latest revision when viewing a FlaggedRevs-stable one
When the user is viewing the last stable revision of a page which has
newer unreviewed revisions, FlaggedRevs wants us to open the latest
(unreviewed) revision of the page for editing.

Use the JS config variable 'wgFlaggedRevsEditLatestRevision', provided
by FlaggedRevs since change I4c9804fe2c4924e28770807881379ddca4fd8b76.

Also add an extra comment about loading latest revisions in general.

Bug: T165283
Depends-On: I4c9804fe2c4924e28770807881379ddca4fd8b76
Change-Id: Ic47491e690153d0ad87ce64bfc9e7a28a06fc6e2
2018-05-04 22:04:02 +00:00
jenkins-bot 829089008f Merge "DesktopArticleTarget: track mwedit.ready even if skipping temp editor for new sections" 2018-05-04 21:59:27 +00:00
Ed Sanders ebcf1e1151 Check imageModel exists in #checkChanged
Bug: T193879
Change-Id: Ic6eda7a056e5207042b575609b9da1869e3a759e
2018-05-04 14:52:03 +01:00
David Lynch 3f91a27809 DesktopArticleTarget: track mwedit.ready even if skipping temp editor for new sections
Bug: T193206
Change-Id: I78555b84bde3d5bd14b032862e5a020121fc5c2e
2018-05-02 11:35:42 -05:00
Ed Sanders e49b5628d8 MWBlockImage: Make zoom link unclickable
As it sticks out beyond the focus shield we
need to disable it manually.

Change-Id: I92baf24e6bb9294e46821311805ca0bb77f892a6
2018-05-02 11:57:33 +01:00
jenkins-bot f9cac9f0ce Merge "ve.init.mw.DiffPage.init: Do not duplicate diff table header" 2018-04-30 21:26:55 +00:00
Ed Sanders 3dd3073bd2 Update VE core submodule to master (a8e0eef6d)
New changes:
a8e0eef6d Simplify usage of dummy target

Local changes:
Simplify usage of dummy target, ceating an MWDummyTarget, extending
DummyTarget instead of mw.ArticleTarget.

Depends-On: I01a6860387087db8149c73793e9bd4294d33aea8
Change-Id: I227486159fe416c219e2c37a1d054201084fe285
2018-04-30 13:05:02 -07:00
Bartosz Dziewoński 6d4a7f932e ve.init.mw.DiffPage.init: Do not duplicate diff table header
The duplicate header, especially the duplicate elements with identical
IDs, were difficult to handle for other scripts.

Now instead of hiding the entire wikitext diff, we only hide the
"content" rows but keep the header, and adjust our attributes on the
header back-and-forth when switching diff modes.

Bug: T192755
Change-Id: I3a6bb4730fefd81f533b786ec3b20241c4cb8d13
2018-04-30 19:23:16 +02:00
Ed Sanders 1bd430c9d1 Convert most uses of isForClipboard to doesModeNeedRendering
Depends-On: I0f1b90056e9d1a4fa0e188700604709297593924
Change-Id: I6fa1cde51ffc859b57ab557e3ddf8a76d92bf94f
2018-04-30 16:10:27 +00:00
jenkins-bot ffac6b14dd Merge "Check link 'host' in onEditSectionLinkClick" 2018-04-30 15:17:45 +00:00
jenkins-bot f4f78d3384 Merge "Follow-up Iea7ad832: Fix context in MWPopupTool" 2018-04-30 15:06:06 +00:00
Ed Sanders f8cebb8f51 Follow-up Ib7e769e: Fix typos in static method calls
Also move desktop-only methods to DesktopArticleTarget.

Bug: T193217
Change-Id: Icc2bb6602a62057da9f841793d8fe06d9814230e
2018-04-30 11:05:43 +01:00
Ed Sanders ad170023e6 Check link 'host' in onEditSectionLinkClick
Bug: T193323
Change-Id: Id67798e5689af9d528bf29bb1b42047adaedaabd
2018-04-30 10:57:45 +01:00
Ed Sanders 8fdc1f7085 Follow-up Iea7ad832: Fix context in MWPopupTool
Bug: T193043
Change-Id: I2b035a50543093988a291ea8c8958a3a7cc9e7ba
2018-04-29 21:45:10 +01:00
Ed Sanders cddf206f5b Set surface's $overlayContainer in DesktopArticleTarget
Logically depends on Ia96b1a89dd9582303b80be85b3971cf3341cad24.

Bug: T166217
Change-Id: Icc54f87bac46d39e8c49010ed052e1db66827f06
2018-04-27 21:55:12 +00:00
Ed Sanders 95258a9969 Visual diff: Describe redirect changes
Change-Id: Id31e8399556dab9b47bc1d21c62cb82af3a0e7bb
2018-04-27 21:07:41 +01:00
Bartosz Dziewoński e1635fdc52 Update custom styles for format menu after OOUI changes
Bug: T193098
Change-Id: I00d28f16b03a31ecda1dc57050945e98e8eb37e8
2018-04-26 01:48:28 +02:00
jenkins-bot fd082e577b Merge "ve.init.mw.DesktopArticleTarget: Setup toolbar before section title input" 2018-04-24 16:24:42 +00:00
Bartosz Dziewoński e3378e6d77 ve.init.mw.DesktopArticleTarget: Setup toolbar before section title input
When we set up the new section title input and possibly set its value
(preloading from URL query, or from autosave), the "Save" button on
the toolbar must already exist, because we try to enable it.

Bug: T192901
Change-Id: I3bba86a8c8a9b81014d425db256ff49f06bdaea6
2018-04-24 18:11:42 +02:00
David Lynch 44469f0f06 MWWikitextSurface onCopy: set text/x-wiki content if available
Equivalent to some existing copy-code in inspectors which handle raw wikitext.
Lets us shortcut content-sniffing with html/text content onPaste.

Change-Id: I27ded82a9675abdb3ee98ee29390e7079d11cf05
2018-04-23 16:04:49 -05:00
jenkins-bot c0364bc6a6 Merge "Teardown target before reloading article" 2018-04-23 21:00:43 +00:00
jenkins-bot ec8be1bfa1 Merge "Add a plain text paste transfer handler for source mode" 2018-04-23 21:00:41 +00:00
Ed Sanders 1f4baa7b58 Teardown target before reloading article
Ensures that auto-save data is cleared after
creating a new article, or restoring a revision.

Bug: T192770
Change-Id: I348b8522c1a935d7db1243ba8fcbd5b24e3383a2
2018-04-23 21:30:37 +01:00
gopavasanth 3e541774e8 Change http://www.mediawiki.org/ to https://www.mediawiki.org/
In other files, links to mediawiki site are https://www.mediawiki.org/

Bug: T189687
Change-Id: I0279a7ffdb9544a87a11ffdab7ff5d5d38ea6035
2018-04-23 15:08:43 +00:00
David Lynch 6f8e58fa8a Add a plain text paste transfer handler for source mode
This allows plain text pasting into source mode without interfering with the
possible-conversion that should happen when it's pasted into visual mode.

Bug: T190590
Bug: T192320
Depends-On: I47a5bf321fb64d4a631ec6fd728bee269d4cdae0
Change-Id: I71db368c683a6a846569d7627f4cc73e907a61d2
2018-04-22 12:52:56 -05:00
jenkins-bot 6e44244af5 Merge "Sortable table header: Account for null entries in table matrix" 2018-04-19 16:08:01 +00:00
jenkins-bot 9ecd73f771 Merge "NWE: Fix selection when applying async links" 2018-04-19 16:01:22 +00:00
Ed Sanders 24ae471fd1 Sortable table header: Account for null entries in table matrix
Bug: T192545
Change-Id: I05bb80a0afce72a8202209499947781efe684584
2018-04-19 14:27:22 +01:00
jenkins-bot 5ae421d715 Merge "Refactor ve.dm.MWTransclusionNode.static.describeChanges" 2018-04-18 07:26:10 +00:00
jenkins-bot bc12e25b35 Merge "MWExtensionNode: Diff mw.attrs" 2018-04-18 07:26:08 +00:00
jenkins-bot 69f0ff1016 Merge "Blacklist images with data URLs" 2018-04-17 19:48:20 +00:00
Ed Sanders 6625fc5c85 Blacklist images with data URLs
These aren't supported by VE-MW, so must just be
garbage from a browser plugin.

Bug: T192392
Change-Id: I24646244daf2847e4dee88273058658300880dfc
2018-04-17 20:10:51 +01:00
jenkins-bot 6902e81768 Merge "Use ellipsis on toolbar save/publish button" 2018-04-17 18:34:17 +00:00
jenkins-bot a8e6d1ddd5 Merge "Add label to Options dialog > Categories input fields" 2018-04-17 18:18:55 +00:00
jenkins-bot d325f793a9 Merge "Show revision info on historical diffs" 2018-04-17 17:36:21 +00:00
Ed Sanders 53e758a427 NWE: Fix selection when applying async links
Change-Id: I31dc6f2d9fcd563bdbd8245bda6336d317aa512a
2018-04-17 16:33:23 +00:00
Ed Sanders b38500f102 Only resolve wikitext promise when progress dialog has closed
Logically depends on I0cdb004011 to fix the bug.

Bug: T182402
Change-Id: I8ecd695c052a6c759b8261e81fb25c771bdf3d56
2018-04-17 16:33:14 +00:00
James D. Forrester 58c5643f1e Update VE core submodule to master (a64ba1cc6)
New changes:
aee32648a Allow access to a fragment's async state
a64ba1cc6 Add extra copy/paste tests for <span> clipboard keys

Local changes:
* Fix signature of runSurfacePasteTest

Change-Id: Idbc2f2c25eaf0606c51d9dff8ec23562f5244c08
2018-04-17 16:02:04 +00:00
hunter be5289689f Add label to Options dialog > Categories input fields
Add label to indicate the function of the input field underneath the
categories label in the options dialog. The <label> element is
preferred for screen readers and users with visual disabilities.

Bug: T146966
Change-Id: Ib300ca7a1fd55d320c1a1a8c8c7fd01ab8b0b9c5
2018-04-17 06:28:32 +00:00
jenkins-bot 3a9ec6bcce Merge "Fix layout of welcome dialog on smaller screens" 2018-04-12 22:55:39 +00:00
Ed Sanders 62d2211aed Mobile: Hide top-level toolbar labels on narrow screens
Change-Id: I8049b935204834201d2a185d04070bbf81520d1e
2018-04-12 23:32:33 +01:00
Ed Sanders 4f448a8c96 Hide stray checkmarks on mobile toolbar
Change-Id: Iae5ad6f736197f9d88d973a51b3b04bddc101826
2018-04-12 23:22:26 +01:00
Ed Sanders 2496fcefb0 Fix layout of welcome dialog on smaller screens
Bug: T191095
Change-Id: Ic329fe22a6758fe58ec56dc3b5a293b83d9b38fb
2018-04-12 23:15:15 +01:00
Ed Sanders bcf3783c1c Refactor ve.dm.MWTransclusionNode.static.describeChanges
Removes some duplication.

Change-Id: If68401617cde60cf151bf132f33e5d9dc42bbf72
2018-04-12 17:46:47 +01:00
Ed Sanders 4fdf5b08b4 MWExtensionNode: Diff mw.attrs
Bug: T191450
Change-Id: Ia6bfc4d2f04243970d6f65fd0ccfd650aee5da06
2018-04-12 17:46:47 +01:00
Ed Sanders 3682ab070d mw.Target: Remove .protectedClasses, only used in ArticleTarget
Also fix documentation

Change-Id: I3fa93dd95c3ef47f649d3f92a38e14750a411333
2018-04-12 15:38:23 +00:00
Ed Sanders 50a2ab7418 Show revision info on historical diffs
Bug: T187614
Change-Id: Ie28d4af6443a17e2e25b2520f0e0dbf5ba4076cc
2018-04-10 20:42:06 +02:00
Ed Sanders 637d869d99 Convert href-less links to spans
Bug: T191598
Change-Id: I0993869ed53842f9de60ff7e68f79a69da1d23c7
2018-04-09 18:04:08 +00:00
jenkins-bot b7abb924c2 Merge "Abstract API calls to 'parsefragment'" 2018-04-09 16:13:27 +00:00
jenkins-bot 2306717eb1 Merge "Use 'imageBroken' icon for missing images' contextItem" 2018-04-08 19:13:16 +00:00
James D. Forrester ac2b5e1ef8 Update VE core submodule to master (3ea11b8b1)
New changes:
f97bdb039 PlainTextStringTransferHandler: Allow as paste
5a0007e49 Expand ce.Surface tests for plain text pasting
bab28c8d3 Localisation updates from https://translatewiki.net.
82bc2c014 Fix language input design now that indicator-next is gone
c14c6ac56 Fix z-index of context elements in diff

Bug: T190590
Bug: T190916
Change-Id: Ibe8b1b62a8300f380b753f978bed6a6f8d520044
2018-04-06 10:52:54 -05:00
Ed Sanders 924f9ec730 Use 'imageBroken' icon for missing images' contextItem
Change-Id: I3ba8f34a8ff03c949c18df102e7334449abb6e27
2018-04-06 15:32:55 +01:00
Ed Sanders 16211cdc09 Abstract API calls to 'parsefragment'
Change-Id: Id0be3207219a6d93cebff2b6b5061cd24898d5cb
2018-04-06 13:49:16 +01:00
jenkins-bot f5c483af52 Merge "Gallery: Use 'poster' attribute for video thumnails" 2018-04-05 21:33:29 +00:00
Ed Sanders 43a8004abb Gallery: Use 'poster' attribute for video thumnails
Bug: T191098
Change-Id: I0f4e456ec7a52ee71dcfca581c73415fc8ee6178
2018-04-05 22:14:16 +01:00
David Lynch c4c5582121 MWTransclusionDialog: remove extra padding from framesets
Bug: T191234
Change-Id: I6cfec45607f2dd428347879c134dbe286397f8b6
2018-04-05 11:30:05 -05:00
Ed Sanders 8b42a5917c Add img.src's to gallery DM output
Bug: T191377
Bug: T191436
Change-Id: Ie6b3593876c92f8e6f08fb005d876304223491ed
2018-04-05 12:57:18 +01:00
jenkins-bot 7b1d248ec1 Merge "ve.ui.MWMediaDialog: Use dropdown for image type selector" 2018-04-05 11:02:22 +00:00
jenkins-bot f3ba1a780f Merge "ve.ui.MWParameterPage: Pass $overlay to PopupButtonWidget" 2018-04-04 21:36:39 +00:00
jenkins-bot f5b0d655cf Merge "FeedbackTool: Add the ability to vary feedback page for source mode" 2018-04-04 21:24:09 +00:00
jenkins-bot a903f5c1cc Merge "ve.ce.MWInlineImageNode: Fix rendering of non-linked images" 2018-04-04 21:20:59 +00:00
Bartosz Dziewoński 0cf02e0155 ve.ui.MWParameterPage: Pass $overlay to PopupButtonWidget
Also, pass $overlay to all PageLayout subclasses used in ve.ui.MWMetaDialog
and ve.ui.MWTemplateDialog/ve.ui.MWTransclusionDialog, for consistency.

Bug: T191395
Change-Id: Ib7ed2e2c04ff7930be1161bd2b981180ee59557a
2018-04-04 22:45:13 +02:00
Bartosz Dziewoński 24e828c627 ve.ce.MWInlineImageNode: Fix rendering of non-linked images
The bug is easiest to reproduce with `[[File:Example.jpg|link=]]`,
but it also affected video embeds.

jQuery appendTo() method returns the set of inserted elements.
Because `this.$element` is undefined at this point, the `<img>`
was not actually being inserted anywhere, and an empty set was
returned, causing MWInlineImageNode to have no CE rendering.

This was not an issue prior to c4f93b14, because `this.$element`
was being defined by the parent constructor (OO.ui.Element)

We don't actually want to insert it anywhere, this appendTo()
call was a remnant of wrapping code removed in a22aeafc.

Bug: T191406
Change-Id: If1dbf9fef0e0ac9debfdb3049ebcccac70948515
2018-04-04 21:22:58 +02:00
jenkins-bot 884d0137a0 Merge "Remove <section> unwrapping code from ve.ce.MWTransclusionNode" 2018-04-04 19:05:54 +00:00
James D. Forrester 31730cc5b3 FeedbackTool: Add the ability to vary feedback page for source mode
Wikis with a local link over-ride configured will need to do so here
for the new message `visualeditor-sourcefeedback-link`; wikis with a
remote link configured will need to update their configuration ahead
of this being deployed, setting $wgVisualEditorSourceFeedbackTitle.

Bug: T157953
Change-Id: Iea7ad8328b03f69e01d7c67ca1ddbb7ae7906288
2018-04-04 18:11:10 +00:00
jenkins-bot 737a0446be Merge "GalleryNode: Pass through all arguments in describeChanges override" 2018-04-04 17:41:08 +00:00
Ed Sanders 63f94f929f GalleryNode: Pass through all arguments in describeChanges override
Change-Id: I66bb6bc2a5e95607beee103e925b3fa641f432d5
2018-04-04 18:00:41 +01:00
jenkins-bot 242eb68b96 Merge "Improve diff description on gallery nodes" 2018-04-04 16:50:03 +00:00
Ed Sanders 1159471730 Improve diff description on gallery nodes
* Deep compare mw.attrs on gallery nodes, ignoring 'caption'
* Ignore computed attributes on gallery image node

Bug: T191441
Change-Id: If1d9ec15a45001f3c420d20481be43ae38ae201a
2018-04-04 17:38:48 +01:00
jenkins-bot 459f35924c Merge "DiffPage: Remember chosen diff mode" 2018-04-04 16:34:54 +00:00
jenkins-bot 9c82472546 Merge "MWExternalLinkAnnotation: add CSS to override plainlinks styling" 2018-04-04 15:53:51 +00:00
Ed Sanders b5be51db7e Use cog icon for options
Bug: T191099
Change-Id: I68638dcfa2531ce01843ae3517d9245deb716769
2018-04-04 13:22:00 +01:00
jenkins-bot cb0ae22be4 Merge "Define childNodeTypes for gallery image node" 2018-04-03 20:26:00 +00:00
jenkins-bot f04563faba Merge "Show redirect link in preview" 2018-04-03 19:01:02 +00:00
jenkins-bot 6ce963665f Merge "Move redirect building methods from DesktopArticleTarget to ArticleTarget" 2018-04-03 19:01:01 +00:00
Thalia 367509287f Define childNodeTypes for gallery image node
Change-Id: I9ad78d26dfa16a7bc6da8bc94d7ef4e38fdec409
2018-04-03 19:40:12 +01:00
Ed Sanders 36e0f8988d Show redirect link in preview
Bug: T191128
Change-Id: I08fc03dd869e6b074a24698f9037380b26e3dd2c
2018-04-02 17:34:51 +01:00
Ed Sanders 11eaab48c8 Move redirect building methods from DesktopArticleTarget to ArticleTarget
These are not specific to desktop.

Also make the static builders static, and move VE target specific
code to caller, such as the click handler.

Change-Id: Ib7e769e3d6d339b9e66e1bc924480b0b0d5db17d
2018-04-02 17:32:24 +01:00
jenkins-bot 45afe665c1 Merge "Visual diffs in source mode section edits" 2018-04-02 16:05:34 +00:00
jenkins-bot b29de616c9 Merge "Fix source copy when clipboardData not available" 2018-03-29 23:39:19 +00:00
Ed Sanders ec3c6b65c0 Remove <section> unwrapping code from ve.ce.MWTransclusionNode
Has been fixed upstream in Parsoid.

Bug: T181226
Change-Id: I7dfe228e6d1008c4e66377d501f2e4af72c1813d
2018-03-29 14:05:32 +01:00
Ed Sanders 58054d49da Fix source copy when clipboardData not available
Bug: T190881
Change-Id: I8569dec0c03caa30cb7fcbbbfeed126dc9db57e4
2018-03-29 13:58:00 +01:00
jenkins-bot ea9a0d56df Merge "Update VE core submodule to master (4922429f7)" 2018-03-28 16:32:26 +00:00
Bartosz Dziewoński f8522b7aac Update VE core submodule to master (4922429f7)
New changes:
4922429f7 Merge all theme overrides into single files

Local changes:
* Update extension.json module definitions for 4922429f7
* Merge all VE-MW theme overrides into single files

Change-Id: Ie8bb4a78c3c50dd4e930f25f6f72bc2f395bd10c
2018-03-28 09:17:12 -07:00
David Lynch 7f5b6fafb4 MWExternalLinkAnnotation: add CSS to override plainlinks styling
Was causing the active link highlight to look broken.

Bug: T190582
Change-Id: Ia59e762689211625027367511ffd922f445a13ae
2018-03-28 10:57:10 -05:00
jenkins-bot 476a590c3c Merge "Parse title in show preview using hack" 2018-03-27 20:29:35 +00:00
jenkins-bot 5b36d88eae Merge "Make edit notices popup wider (320 -> 380)" 2018-03-27 17:24:58 +00:00
Ed Sanders d3e5385944 Visual diffs in source mode section edits
Bug: T190845
Change-Id: I938352eec8b49f27784c12ddea72bbe69fdd6cb2
2018-03-27 17:53:54 +01:00
David Lynch d77ea2bf16 DesktopArticleTarget: use -published message instead of -saved
Bug: T183901
Change-Id: I09f6e44f9f743f079ca5504ec06706c764ce6e25
2018-03-27 10:49:03 -05:00
Esanders 3cd35b95e9 Make edit notices popup wider (320 -> 380)
Bug: T184379
Change-Id: Ic68f5e117bb0057bb5fa8b83834707abfbadb3b3
2018-03-27 14:16:25 +00:00
Bartosz Dziewoński b8bcba8cbe ve.ui.MWMediaDialog: Use dropdown for image type selector
The dialog is not wide enough to fit four buttons side-by-side.

Bug: T74187
Change-Id: I6a4e5692b5f1b2ca9bb78d4e6c6103036f371a52
2018-03-27 14:40:39 +02:00
jenkins-bot fe625aa5ea Merge "ve.ui.MWPopupTool: Allow labels of buttons in help menu to wrap" 2018-03-27 11:55:16 +00:00
jenkins-bot 6deaeffa95 Merge "Revert "Make edit notices popup wider (320 -> 450)"" 2018-03-27 11:30:12 +00:00
Bartosz Dziewoński 4fd4a5259b ve.ui.MWPopupTool: Allow labels of buttons in help menu to wrap
Bug: T190796
Change-Id: I7889119a60133100825d7db4a02e6d0a7c797eba
2018-03-27 12:31:24 +02:00
Bartosz Dziewoński a0dacccd83 Revert "Make edit notices popup wider (320 -> 450)"
This reverts commit d5a61eb95d.

Bug: T184379
Change-Id: I0198c6d1faf1474ea0faab7e05ec95cfb43c9206
2018-03-27 10:13:45 +00:00
Volker E e837512cc6 Replace deprecated 'comment' with 'speechBubble' icon
Bug: T183600
Change-Id: Iebebba61a099193051cffc11f41e366bdb1c19e1
2018-03-26 21:14:35 -07:00
James D. Forrester fe525e3bcc *Dialog: Don't set to small size, which is the default
Change-Id: I3b7a19acd0ee5112d104257bdc1e9ff0e9b4ff24
2018-03-26 15:02:11 -07:00
jenkins-bot dc3e192179 Merge "Make edit notices popup wider (320 -> 450)" 2018-03-26 21:31:07 +00:00
jenkins-bot 58f9cf7050 Merge "Autosave section title when adding new section in source mode" 2018-03-26 21:19:26 +00:00
jenkins-bot 5f8d287e12 Merge "Autosave recovery prompt" 2018-03-26 20:55:18 +00:00
jenkins-bot 44720da389 Merge "*Dialog: Drop verbose option, ignored since v0.20.0" 2018-03-26 16:18:49 +00:00