Commit Graph

748 Commits

Author SHA1 Message Date
Translation updater bot 035a94c7cc Localisation updates from https://translatewiki.net.
Change-Id: Icfbc0038f3e19570b31c3cdccdb814bdc9667d55
2020-05-29 08:35:03 +02:00
Translation updater bot 896c6358f9 Localisation updates from https://translatewiki.net.
Change-Id: Ide0434c22d4548f662672ef4223c756a97c3da2d
2020-05-28 08:44:13 +02:00
Stephen Niedzielski 5195f5fd67 [feature] add menu button to toggle panel visibility
Add a menu button that toggles the panel's (also referred to as a
sidebar) collapse state. When the screen is wide enough, animate the
transition.

The menu icon from OOUI is copied into Vector to avoid two
ResourceLoaders modules (collapseHorizontal icon isn't ready for
inclusion in the OOUI icon pack and ResourceLoaderOOUIIconPackModule
doesn't support images).

Additional polish and collaboration is needed but this patch fulfills
the scope of its referenced task.

Bug: T246419
Depends-On: I8e153c0ab927f9d880a68fb9efb0bf37b91d26b2
Change-Id: Ic9d54de7e19ef8d5dfd703d95a45b78c0aaf791a
2020-05-28 02:14:13 +00:00
Translation updater bot 582af18b97 Localisation updates from https://translatewiki.net.
Change-Id: Iefd91085b49ab95feb21f92fb61bc61103e3d1df
2020-05-21 08:21:40 +02:00
Translation updater bot 8eb631b05f Localisation updates from https://translatewiki.net.
Change-Id: Idc822f530dedf8aa6490c9069f46d6db38332f9b
2020-05-18 08:33:42 +02:00
Translation updater bot 640c894a71 Localisation updates from https://translatewiki.net.
Change-Id: I8bbe21385d98372dbc56845e8ce77ffad40d7452
2020-05-13 08:44:57 +02:00
Translation updater bot 185d9b28df Localisation updates from https://translatewiki.net.
Change-Id: If61268a2a60aa54f08445d58f9967eb7d85e2505
2020-05-11 08:41:47 +02:00
Translation updater bot 36f68d37d3 Localisation updates from https://translatewiki.net.
Change-Id: I59b8b5ba7fd6aef5c14220393166d78e2a351d1c
2020-05-08 09:30:13 +02:00
Translation updater bot 0ac61e7ae5 Localisation updates from https://translatewiki.net.
Change-Id: Ie5ef3a30a952cca610b64436ac424ed65ef5988b
2020-05-07 08:37:24 +02:00
Translation updater bot 718d0fe312 Localisation updates from https://translatewiki.net.
Change-Id: I577e47ec7c2f205d273443e34bebccf4b8950f7d
2020-05-06 08:34:34 +02:00
Nicholas Ray 91c25bc253 Add title attribute to opt-out link
The opt-out link was missing a tooltip which is important for
accessibility and to help people gain more context as to what it does.

Bug: T250093
Change-Id: Ie6cbaf5c941615d1662700415b8f1823987a563d
2020-05-05 09:52:20 -06:00
Translation updater bot 3cba63147e Localisation updates from https://translatewiki.net.
Change-Id: Icd8591c3b3ecd100d27db2825a3134ee5e810f92
2020-05-04 09:19:17 +02:00
Translation updater bot 43e01426ba Localisation updates from https://translatewiki.net.
Change-Id: I622fc03c1be441ee035dc461e10a63f28d18833b
2020-04-30 08:43:11 +02:00
Translation updater bot 28c286526f Localisation updates from https://translatewiki.net.
Change-Id: Ic1b8a393170b921c1d9d55440c298ba34a88ebd0
2020-04-29 08:39:21 +02:00
Translation updater bot 7ccb3a0fe1 Localisation updates from https://translatewiki.net.
Change-Id: I8f14ac016312a124d1220b2b864e9b2c47c6c45d
2020-04-28 08:34:40 +02:00
Translation updater bot 75244528cd Localisation updates from https://translatewiki.net.
Change-Id: Icce49ef60b7ec0e8bba2b1ea82fadf403912fc39
2020-04-27 09:06:22 +02:00
Translation updater bot b320b618c1 Localisation updates from https://translatewiki.net.
Change-Id: I6009e6f3db2abd91bf0b193713fefd6520627309
2020-04-24 08:25:20 +02:00
Translation updater bot c745dc19f9 Localisation updates from https://translatewiki.net.
Change-Id: If0ab0ee83fada9b414263cafe633a93511207e52
2020-04-23 08:45:46 +02:00
Translation updater bot b5d0ecd71a Localisation updates from https://translatewiki.net.
Change-Id: Ic194a805168de29d4f83f39e023eccdaf52d7297
2020-04-22 08:58:36 +02:00
Translation updater bot 14aee3e147 Localisation updates from https://translatewiki.net.
Change-Id: Ifbf1cc7610dd582c423a79e7cf48809de8b34e1e
2020-04-20 08:46:42 +02:00
Translation updater bot 286fcb94d3 Localisation updates from https://translatewiki.net.
Change-Id: I322840b459b880e8c52f2ab5ea8f2933f7cf7f1f
2020-04-17 09:09:28 +02:00
Translation updater bot ab7dc57923 Localisation updates from https://translatewiki.net.
Change-Id: I09eb15ced351460329cd522ef069d9151262afe6
2020-04-15 08:27:40 +02:00
Translation updater bot 15960b33c7 Localisation updates from https://translatewiki.net.
Change-Id: Ie7160c050f3aced480433fb77a367ae8c79c17be
2020-04-13 09:07:27 +02:00
Translation updater bot ce1c8709fc Localisation updates from https://translatewiki.net.
Change-Id: I923e235581d6fed875bc9b029cfc1d3a2bfa90eb
2020-04-09 08:41:40 +02:00
Translation updater bot 6667b65c6c Localisation updates from https://translatewiki.net.
Change-Id: Ib1ee31fe83deb370809f4aaaa37be50cc2cfece5
2020-04-08 09:07:13 +02:00
Translation updater bot 2939100fff Localisation updates from https://translatewiki.net.
Change-Id: I21f34b2e922b1970a14f33da0bc9c7579701839b
2020-04-06 09:06:21 +02:00
Translation updater bot 8a5fec19c5 Localisation updates from https://translatewiki.net.
Change-Id: I8ad09f3c059746952234c5d85f379b604d966a69
2020-04-03 08:30:14 +02:00
Translation updater bot 6dfae96ed2 Localisation updates from https://translatewiki.net.
Change-Id: I89a09c1be0737a6d30bcf4c23f04955a8243ecbb
2020-04-02 08:27:12 +02:00
Translation updater bot 72c44e60b0 Localisation updates from https://translatewiki.net.
Change-Id: Ic28331d6b0009db3e7c5720cf9f2da4409ce44dc
2020-04-01 08:27:11 +02:00
Translation updater bot 13c6a959a9 Localisation updates from https://translatewiki.net.
Change-Id: Id859f5f0730f60b31ae13e6e6c4a08e9da81b1ea
2020-03-31 08:31:02 +02:00
Translation updater bot 633affb6cf Localisation updates from https://translatewiki.net.
Change-Id: Id05e808e2c18e4ef0ad917be73d11d395ded9bd6
2020-03-27 08:43:55 +01:00
jenkins-bot d2b19192c7 Merge "Add opt-out link to Sidebar for Vector/Logged-in Users Without Abstractions" 2020-03-27 00:36:29 +00:00
Nicholas Ray ec382a8c86 Add opt-out link to Sidebar for Vector/Logged-in Users Without Abstractions
This commit is singularly focused on adding a link to the sidebar for
Vector, logged-in users. It does the bare minimum to fulfill the
requirements of T243281.

Additionally, it will help to answer the question "Do we need to use
abstractions (other than maybe different templates) to separate Legacy
Vector from Vector" by intentionally leaving out any abstractions in
order to make it easier to compare with a follow-up patch
(Ib2ef15180df73360cc1de25b893e49d415d23e1a) which does use abstractions.

It is a good thing to question whether or not we need addtional
abstractions in VectorTemplate and if they will help us as unnecessary
abstractions can have the opposite effect and just lead to further
frustrations down the road.

Therefore, I urge you, the reviewer, to let me know your thoughts! If
abstractions are viewed as not making our lives any easier, the
follow-up patches may be completely discarded and that's totally okay
with me. :) I think it's a good think to talk about now though.

Important changes:

* The VectorTemplate constructor was changed to allow injecting the
config, templateParser, and isLegacy boolean (only the config was
allowed before this commit). According to MediaWiki's Stable Interface
Policy, "Constructor signatures are generally considered unstable unless
explicitly declared stable for calling" [3]. Given that VecorTemplate's
constructor is not marked as stable, it is justified to do this without
warning according to the policy.

* Due to the above, the 'setTemplate' method is no longer needed and was
marked as deprecated.

* VectorTemplateTest was made to adapt to the new VectorTemplate
constructor. Additionally, it now extends from
MediaWikiIntegrationTestCase which my intelliphense server can pick up.
I *think* MediaWikiTestCase is just an alias to
MediaWikiIntegrationTestCase [1] and MediaWikiTestCase file was renamed
to MediaWikiIntegrationTestCase in [2], but I'm willing to change it
back if there is pushback to this.

Open questions:

* What are VectorTemplate's responsibilities? To me, it acts right now
as a controller (because it echos the full HTML string from the
template), a model (because SkinTemplate::prepareQuickTemplate sets data
on it which it later retrieves through `$this->get()`), a presenter
(because it adds data tailored for a web-centric view), and a view
(because it renders HTML strings instead of letting the view/template be
solely responsible for that). Arguably, some business logic might be
mixed in there as well (because it checks to see if a User is logged
in/has necessary permissions to show x which my changes here add to).
This might not be a problem if we keep VectorTemplate relatively small,
but will it remain this way as we progress further in Desktop
Improvements?

* How do we write tests for VectorTemplate without exposing unnecessary
public methods? For example, if I want to test the `getSkinData()`
method to see what state will be sent to the template, how should I do
this? One option might be to use `TestingAccessWrapper` to expose these
private methods which is what
`VectorTemplateTest::testbuildViewsProps()` does. Another option is to
accept this method as public. Is there a better way? Keep in mind that
even with access to this method, there might be many things to mock.

[1] 0030cb525b/tests/common/TestsAutoLoader.php (L64)
[2] Ie717b0ecf4fcfd089d46248f14853c80b7ef4a76
[3] https://www.mediawiki.org/wiki/Stable_interface_policy

Bug: T243281
Change-Id: I0571b041bcd7f19bec9f103fa7bccdd093f6394d
2020-03-26 17:39:47 -06:00
Translation updater bot ac79997d87 Localisation updates from https://translatewiki.net.
Change-Id: Iacb49685bda1c21698f13d1f70682b7c04eb3edd
2020-03-26 08:34:53 +01:00
Translation updater bot 04e539c531 Localisation updates from https://translatewiki.net.
Change-Id: I4d499dbbcd0729f2d09ad63e61251f19fe991b5a
2020-03-25 08:36:06 +01:00
Translation updater bot 70f33d106d Localisation updates from https://translatewiki.net.
Change-Id: I74692926553636a9a5c6cea27022a2e0d2afdb9e
2020-03-23 09:08:05 +01:00
Umherirrender af4ce06bf6 Fix indent in en.json
Change-Id: I240883c739175b7b242b4bdd7c29c8e0997c8efd
2020-03-20 22:04:04 +01:00
Translation updater bot 6365eff58c Localisation updates from https://translatewiki.net.
Change-Id: If4e36572cc91c4e8aad2ea78e5c93a5d8bd41d8d
2020-03-20 08:27:04 +01:00
Translation updater bot 8aeef146d9 Localisation updates from https://translatewiki.net.
Change-Id: I7b74e23054593f2285fa4a7d9530f83ba2c5f125
2020-03-16 16:05:25 +01:00
Translation updater bot ac41baaf12 Localisation updates from https://translatewiki.net.
Change-Id: I11369a70d7a6faf7175cccb7baffbe5f0e18b203
2020-03-13 08:30:49 +01:00
Translation updater bot 864cc97092 Localisation updates from https://translatewiki.net.
Change-Id: I17512d362f5a5f94b7c74914a02d2bbc5152226d
2020-03-12 08:20:11 +01:00
Translation updater bot 478f0b5b24 Localisation updates from https://translatewiki.net.
Change-Id: I0888ea0891fb103e6429923f638d1cbe3e6956ff
2020-03-06 07:55:41 +01:00
Translation updater bot d6f9d0c1ff Localisation updates from https://translatewiki.net.
Change-Id: I8fbe972c796aac6ddda091764bcd146ab62eb2c6
2020-03-03 07:57:51 +01:00
Translation updater bot 3683a52f91 Localisation updates from https://translatewiki.net.
Change-Id: Ib604ee279875b1f518e7dc53902006bd0667f05e
2020-03-02 08:39:02 +01:00
jdlrobson 0ba99a1e97 Make sure Vector skin preferences always follows skin
Sections can be nested. Using rendering/skin as the parent
means that Vector's skin preference will always come straight
after the skin preference and before Popups.

A change in core is needed to update the selector for the element which
shows/hides the subsection as well as provide a generic message key to
replace the one inside this repository.

Note: If the "Vector" specific heading is needed, we can achieve this
with a little more work but that is a conversation for another time.

Depends-On: Idd06bcfe7935e16732a6a95c1253dbf95c8aca2e
Bug: T246162
Change-Id: I4be9764ddca186e5bfd493678afd62d446072e8f
2020-02-29 00:35:50 +00:00
Translation updater bot 611c4ae035 Localisation updates from https://translatewiki.net.
Change-Id: I29b92bc0a9af7559e9d366bd5cba179ab12712da
2020-02-28 07:57:34 +01:00
Translation updater bot 2b5c6563c8 Localisation updates from https://translatewiki.net.
Change-Id: Idc32101f93d2554652f01c58f8327dc04fd7a6d0
2020-02-27 08:12:32 +01:00
Stephen Niedzielski de76ab59c1 [Special:Preferences] [PHP] Add skin version user preference and configs
Add a Vector-specific user preference to Special:Preferences for
toggling skin version, either Legacy Vector or the latest Vector.

The presentation of the new preference section and the default values
for anonymous, new, and existing accounts are configurable via
$wgVectorShowSkinPreferences, $wgVectorDefaultSkinVersion (to be used by
the feature manager in T244481),
$wgVectorDefaultSkinVersionForExistingAccounts, and
$wgVectorDefaultSkinVersionForNewAccounts. These configurations default
to the fullest experience so that third-party configuration is minimal.
See skin.json for details. The configurations are each tested in
VectorHooksTest.php.

When presentation is enabled, the new preference appears as a checkbox;
enabled is Legacy mode and disable is latest. There are a number of
unfortunate details:

- Showing and hiding a checkbox is supported by OOUI. Showing and hiding
  a whole section (Vector skin preferences, in this case) is not so this
  additional client JavaScript functionality is added in Core (see
  Iaf68b238a8ac7a4fb22b9ef5d6c5a3394ee2e377).
- Stylization as a checkbox is wanted. However, the implied storage type
  for OOUI checkboxes is a boolean. This is not wanted in the event that
  another skin version is added (e.g., '3' or 'alpha'). As a workaround,
  the preference is converted from a boolean to a version string ('1' or
  '2') on save in Hooks::onPreferencesFormPreSave() and from a version
  string to a checkbox enable / disable string ('1' or '0') in
  onGetPreferences(). There a number of test cases to help cover these
  concerning details.

Documentation for overriding the skin version as a URL query parameter
is provided in anticipation of T244481.

Bug: T242381
Bug: T245793
Depends-On: Iaf68b238a8ac7a4fb22b9ef5d6c5a3394ee2e377
Depends-On: Ifc2863fca9cd9efd11ac30c780420e8d89e8cb22
Change-Id: I177dad88fc982170641059b6a4f53fbb38eefad6
2020-02-26 12:56:10 -07:00
Translation updater bot 029ebd1cba Localisation updates from https://translatewiki.net.
Change-Id: I591eda4685ffbb18881b999a0c1ef09bfcdfbfbe
2020-02-26 07:59:09 +01:00
Translation updater bot 2dbb1c1721 Localisation updates from https://translatewiki.net.
Change-Id: I7412b9e9ceac048fff33fa5644708eb7f5707fdf
2020-02-25 08:25:50 +01:00