Commit graph

558 commits

Author SHA1 Message Date
Thiemo Kreuz 85ad4513ba Fix highlighting code destroying backlinks on unnamed <ref>s
There are multiple formats for these IDs:

cite_ref-1, cite_ref-2, and so on for anonymous <ref>s without a name.

cite_ref-name_1-0 for named references, where "name" is the custom name,
and "_1" is the sequential number for the reference (same number as above).
The final "-0" is counting the usages. If a named <ref> is only used once,
there is no cite_ref-name_1-1 anywhere on the page.

The later was already checked by the code. But we forgot about unnamed
references! As a consequence IDs like the cite_ref-1 above got misdetected
as reused references.

This patch tries hard to extract code into named functions, so it becomes
much more clear what they do, and why.

Bug: T215317
Change-Id: Iedb5b0c3dffae19bad7df9a43ed2d4512b3921ec
2019-02-20 15:40:46 +00:00
Thiemo Kreuz e71dcc355d Add missing jQuery selector escaping
As far as I can tell the effect of this is almost zero, because in both
cases the unescaped ID ends in double quotes. Within these double quotes
not many characters must be escaped, essentially only double quotes and
backslashes. Neither can appear in an ID (more precisely: neither should).

Proper escaping is "the right thing to do" anyway.

Change-Id: I21934f7cb54e2d68013a994150a92c76ef1b61d7
2019-02-20 16:22:20 +01:00
jenkins-bot 92c5ba2ca6 Merge "Remove generated cite-dialogs stubs" 2019-02-20 01:41:54 +00:00
Translation updater bot adae685cbe Localisation updates from https://translatewiki.net.
Change-Id: I3f65ae836527ec61287faef23aeff07e43ea3fcc
2019-02-17 22:14:03 +01:00
Ed Sanders 89dd1faa11 Remove generated cite-dialogs stubs
We generate stub MWCitationDialog sub-classes for each citation
type, e.g. cite-web, cite-news. The only override these sub-classes
provide is for the dialog title, providing "Website" instead of
"Cite web", however because of code in MWTemplateDialog, this override
isn't even used.

1. Make the 'citation' dialog (now 'cite') concrete by registering
   it, and allow a 'title' argument to be passed it.
2. Actually override the title, using the passed in argument.
3. Remove the stub generated citation dialogs.

This will also fix our tracking data. Current we are getting
window-open actions with the argument being a localised citation
type name, e.g. cite-Literatur, cite-אתר.

These will now all be tracked as 'cite' as we use the parent dialog.

Bug: T216248
Depends-On: I355e7fe4c2ea965f2ca91f0ab0430cfb95e56e0a
Change-Id: I661707b5f9d3d810e9391ad63bef546d4fcb29e4
2019-02-15 22:44:17 +00:00
Translation updater bot 9d476d73a7 Localisation updates from https://translatewiki.net.
Change-Id: I5efb1661329708a8602b2f76125d89596048c2ea
2019-02-14 22:28:57 +01:00
Translation updater bot fd89012b96 Localisation updates from https://translatewiki.net.
Change-Id: Ie11733aa2fcb7ef6b1de74b23ddda0c4ec90da58
2019-02-03 22:38:08 +01:00
Translation updater bot a778b6496f Localisation updates from https://translatewiki.net.
Change-Id: I0fd47d21150a54a5a55b99a411c2baf7783e82a6
2019-01-30 22:13:45 +01:00
Translation updater bot b56ca815bf Localisation updates from https://translatewiki.net.
Change-Id: I1217c6951dd149bf9fcae1cf4c516c145baa7274
2019-01-28 22:26:39 +01:00
Translation updater bot cc02b3122e Localisation updates from https://translatewiki.net.
Change-Id: I3475370bce39958a30ab7a79ffc6c1d0a304ed97
2019-01-25 22:28:46 +01:00
Translation updater bot 4b36c2b18a Localisation updates from https://translatewiki.net.
Change-Id: If2dcae129f62230eb5159785612be2937117a770
2019-01-22 22:17:08 +01:00
Translation updater bot 56fb029d72 Localisation updates from https://translatewiki.net.
Change-Id: I814a41ae72c6fce86aa465a42f8bb20a83509693
2019-01-19 22:15:56 +01:00
Translation updater bot 1fbff19c91 Localisation updates from https://translatewiki.net.
Change-Id: I1975c4deb3fa6f6a4f97ca906cb1b76bf7af14fd
2019-01-18 22:18:47 +01:00
Translation updater bot 8702b61b60 Localisation updates from https://translatewiki.net.
Change-Id: Ie5269d976f6cc4f7f32699fe06524e3de175cd29
2019-01-17 09:12:19 +01:00
Translation updater bot 2526765ecd Localisation updates from https://translatewiki.net.
Change-Id: Iab8e9dcd4348605b61be0e0d5af7f9733078bec5
2019-01-13 22:12:45 +01:00
Translation updater bot 23c29ed403 Localisation updates from https://translatewiki.net.
Change-Id: I3ab972919da543b1ac67aa776fdf6411c75e00c9
2019-01-12 22:39:38 +01:00
Translation updater bot 32b9b2207d Localisation updates from https://translatewiki.net.
Change-Id: Ibe4c662abf8932bf252eff6f75baebb7f50991c0
2019-01-10 22:49:01 +01:00
Bartosz Dziewoński 2286e5fde1 Improve warning that reference is reused
* Show the warning in the context menu (on desktop only) in addition
  to the reference dialog.
* Add more details to the warning in reference dialog, and adjust
  spacing around it to make it more noticeable.

Bug: T208981
Bug: T212609
Depends-On: I6ca605ddd580d6259952c8799ecdca08da07474a
Change-Id: I23cc02f651c15b3276613d32a0c2537032f731c2
2019-01-10 02:01:09 +01:00
Ed Sanders 0c0dcbdcd8 build: Update eslint-config-wikimedia to 0.10.0
Change-Id: Iba24172bd492750b268d0afbeeaf84b12cca3e0b
2019-01-08 23:06:43 +00:00
Translation updater bot 686006e44f Localisation updates from https://translatewiki.net.
Change-Id: I05fd70901a5783c8bf3bef7f0f319128cdbd0a1d
2019-01-05 22:33:37 +01:00
jenkins-bot 6a51ea98b3 Merge "ve.ui.MWCitationDialog: Unbreak the logic to enable/disable actions" 2019-01-03 18:41:09 +00:00
Translation updater bot 7750d59dc0 Localisation updates from https://translatewiki.net.
Change-Id: If1bd77d24bfe7d26949cf88b173b82387900a40f
2019-01-01 22:20:21 +01:00
Translation updater bot 9b59a7d155 Localisation updates from https://translatewiki.net.
Change-Id: I231f1d6af08194f58aefa8f36206c431ca2cbf91
2018-12-27 09:50:54 +01:00
Translation updater bot 22acd9a29c Localisation updates from https://translatewiki.net.
Change-Id: Icc162281f1ddec0369b8447b3c10f0cd84df4205
2018-12-18 22:48:09 +01:00
Kunal Mehta 0395035789 build: Set "root": true, in .eslintrc.json
This ensures that each repository's "npm test" command is fully
independent of wherever it might be in the filesystem.

Bug: T206485
Change-Id: I54d052bed4ceed175a938896154fd6ad5c89f964
2018-12-18 10:47:31 +00:00
Translation updater bot cfb8412e11 Localisation updates from https://translatewiki.net.
Change-Id: I3f4d7fd126b48e103bce03b104db51edcccbd569
2018-12-15 22:23:48 +01:00
Translation updater bot 87c2b3ded4 Localisation updates from https://translatewiki.net.
Change-Id: Ia71b6012942934a135547e787ad9c74ae37f7563
2018-12-14 22:21:37 +01:00
jenkins-bot 4eef765808 Merge "Restructure highlighting code for improved readability" 2018-12-13 00:04:21 +00:00
Translation updater bot 0dca8d7428 Localisation updates from https://translatewiki.net.
Change-Id: Ieea1e84f17cf47832f8c83dcd802b94293ace8ee
2018-12-12 22:18:26 +01:00
Translation updater bot 075d391ace Localisation updates from https://translatewiki.net.
Change-Id: I84b3d49b0e3c7cb7edeb62096427e6c3bc13cedb
2018-12-11 22:39:36 +01:00
jenkins-bot 1ee256aa76 Merge "Add "twice" instead of "2 times" in an English message" 2018-12-11 17:32:45 +00:00
Thiemo Kreuz e32a76061c Restructure highlighting code for improved readability
This gives the code a little more structure without changing anything
it does. A section is extracted as a named function, and some lines
are moved and bundled where it made sense.

Change-Id: I51909517021bee9dc618efe5fbe40adfc29dc6af
2018-12-11 15:19:17 +01:00
Volker E b9ee8433f4 build: Update 'stylelint-config-wikimedia' to v0.5.0 and make pass
Change-Id: I05e257b3213dd4039455d7e55efeb72b58da67fb
2018-12-10 02:59:11 -08:00
Amir Aharoni af28eed881 Add "twice" instead of "2 times" in an English message
Change-Id: I53de963d71015dfd26692241b2a0ea5630be080c
2018-12-10 08:52:36 +02:00
Translation updater bot 626d8a75df Localisation updates from https://translatewiki.net.
Change-Id: I5a8df261ae60ded18ca4709af624aa4fa4bc4a72
2018-12-09 22:38:53 +01:00
Translation updater bot ad5fd43df9 Localisation updates from https://translatewiki.net.
Change-Id: Iafe3fa40062305c4dd0d8353bbe05896cb2f15e5
2018-12-03 22:35:12 +01:00
Translation updater bot 7a969c2dbc Localisation updates from https://translatewiki.net.
Change-Id: Ibe63f4543e5bacb89808be7f04d76ce2f76bcb06
2018-12-02 22:14:54 +01:00
jenkins-bot 7ac91bef82 Merge "ve.ui.MWCitationDialog: Remove unneeded code re-setting insert label" 2018-11-30 22:42:44 +00:00
Translation updater bot 519157719b Localisation updates from https://translatewiki.net.
Change-Id: Iad5a14d487e2561133c7f9d0684de1955c247ee9
2018-11-30 22:49:44 +01:00
jenkins-bot e7b3167b31 Merge "Split overly long highlighting code into functions" 2018-11-30 15:00:09 +00:00
jenkins-bot 8ae3b13d1a Merge "Get rid of one nesting level in highlighting code" 2018-11-30 14:58:49 +00:00
jenkins-bot e353d36f3a Merge "Make backlink highlighting robust when "mw-cite-backlink" is missing" 2018-11-30 14:58:46 +00:00
Thiemo Kreuz 4d03f8f17f Split overly long highlighting code into functions
Change-Id: I055c21ee2202afea4751dd74fa389c55fdd30acf
2018-11-30 15:03:02 +01:00
Thiemo Kreuz 9ce4b959bc Get rid of one nesting level in highlighting code
The code before was not wrong, just deeply nested. The worst case was
that the final $upArrowLink.attr( … ) might have been called on zero
elements. jQuery is fine with this.

Change-Id: I62e7286c7fe906544fe148e1122c60cc8db070f3
2018-11-30 14:49:27 +01:00
Bartosz Dziewoński adc64b3002 ve.ui.MWCitationDialog: Unbreak the logic to enable/disable actions
This code was written in 2014 and it seems that some change to
ve.ui.MWTemplateDialog since then made it not work. No idea why or
when it broke. But we can implement the functionality much more easily
now by overriding #setApplicableStatus, which works correctly.

Bug: T210796
Change-Id: I6e87ca979a96785fc74f1a57f7d80ba4b43705f2
2018-11-29 22:39:55 +00:00
Bartosz Dziewoński b7bdcaeccc ve.ui.MWCitationDialog: 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 in VE-MW (2014).

Change-Id: Icd64d22aef29a3791352e1839993ea8462a147f3
2018-11-29 23:09:23 +01:00
Translation updater bot c31c93f619 Localisation updates from https://translatewiki.net.
Change-Id: I58dfd99dd04e0d78298df7ad51286ba252019142
2018-11-29 22:26:44 +01:00
Bartosz Dziewoński 7f6ae77b3c ve.ui.MWCitationDialog: Fix condition for enabling insert/apply action
The method #hasUsefulParameter has been accidentally made to always
return false in fdde5b71af.

Bug: T210686
Change-Id: I215924c2f693842abd8026404d17c725192272c3
2018-11-29 04:02:44 +00:00
Thiemo Kreuz 4152c6cdf4 Make backlink highlighting robust when "mw-cite-backlink" is missing
The class="mw-cite-backlink" is part of a message. It should be
considered code and not be customized, but can be. Frwiki for example
localized it.

The new code still hopes to find the class, and still hopes the first
child is the text node containing the plain text up arrow. (See the
message "cite_references_link_many" which contains all this.) This code
path is kept because it is more performant.

If the class is not found, the upwards traversal done via .closest()
stops at the <li>. It then traverses down into the firstChild nodes,
hoping to find the plain text up arrow this way.

This patch makes the code work with the customizations found in frwiki.

Bug: T205270
Bug: T210508
Change-Id: I32552ebe820ee12aea1a75aa17af11298dc7536a
2018-11-28 12:35:05 +01:00
jenkins-bot c88275c8d5 Merge "Make backlink highlighting robust for community customized HTML" 2018-11-28 11:34:32 +00:00