Commit graph

38 commits

Author SHA1 Message Date
Ed Sanders ea5639b20b ESLint: Enforce prefer-const
Change-Id: I5985d1b532988bb3b71ff1aa24eae57ac2e1b9c5
2024-05-24 16:50:13 +01:00
Ed Sanders dda9227947 ESLint: Manually fix remaining no-var violations
Change-Id: I4474bd0205e7a1ed8e60147e52675e3e0b93ccd9
2024-05-24 16:50:11 +01:00
Ed Sanders ca5157156a ESLint: Autofix no-var rule
Leave rule off for now as manual fixes are required.

Also temporarily disable prefer-const rule as that
will also require some manual fixes.

Change-Id: I8c3478f26f51287acb943bd38c9c1020c06b9f39
2024-05-24 16:49:36 +01:00
Ed Sanders 2dd73f935c JSDoc: {Mixed} -> {any}
Change-Id: I78bdc1ec8767dca05e979d8c6ebfed72573acc6f
2024-05-02 10:36:24 +01:00
Bartosz Dziewoński d4c5aebd8f Prefer short arrow functions
When an arrow function body contains just a single `return` statement,
the braces can be omitted.

(Changes are mostly made by `grunt eslint --fix`, with only some line
breaks added by hand.)

Change-Id: I37f259f87085c8d20ed09cfa58a8456dd36cdc38
2024-04-20 00:08:51 +02:00
Ed Sanders a74c00ba8c Prefer arrow functions for callbacks
This allows us to remove our `this` bindings.

Change-Id: Ie8c8c38d36af8a033b5181870c39f8981a57b939
2024-04-19 12:34:23 +01:00
Ed Sanders 584dc08020 Remove file headers and @copyright tags, not used consistently in this repo
Change-Id: I3c074c7cbae52d1775b14e1e6dae22c4276b8236
2023-12-04 12:30:56 +00:00
Ed Sanders af6b4443a1 MWUsernameCompletionAction: Fix text for exact match
This broke when we introduced matching to display names.

Bug: T344399
Change-Id: I30512e09edafe0e7e170a17a9a02446c71650d0b
2023-08-17 12:49:15 +01:00
Ed Sanders 42b588c087 UsernameCompletionAction: Use @inheritdoc
Change-Id: Ic7b0eaead64cfc30e2c93b598bfbe4b9dee666f8
2023-07-24 18:53:47 +01:00
Ed Sanders d7e56679a4 UsernameCompletionAction: Tell widget to remove characters when using insertAndOpen
Change-Id: Iefad1e10feeb67b9c80580d62bd6215e839c2303
2023-06-02 14:22:37 +01:00
jenkins-bot c28bcaaabd Merge "UsernameCompletionAction: Document constructor and pass all args" 2023-05-24 19:02:22 +00:00
Ed Sanders 919bdf2a22 UsernameCompletionAction: Document constructor and pass all args
Change-Id: Ie1e37f423d68082be35df2aa7b08b7e372af25c5
2023-05-24 18:57:03 +00:00
David Lynch 5568761377 Username completions: always abandon if the first input is a space
This has been added to the core behavior of shouldAbandon as well, but
the way it's overridden here needs to be changed since the
multiple-words check would override that.

Depends-On: If130cdc1df595e6ab12d531ce603cc42c8b3b5f3
Change-Id: Ie7bdc4a4702514fcb7d500924dad18729198b9e8
2023-05-20 09:47:40 +03:00
Ed Sanders 37614a136f Show usernames when display names are matched
Also make our filter function match any substring of
the suggestion index (username + display names), as display
names often contain leading punctuation.

Bug: T266401
Depends-On: I69e5f54f7a8b7ca4126cc3ea513fc96e0a8606fb
Change-Id: I4e7429f8a88c3a82e981f37eb107c2b011482d73
2023-03-16 20:23:42 +01:00
Ed Sanders 79a62f539d ThreadItem: Add display names to getAuthorsBelow
Change-Id: I4195f982d7071fea0d0334908535639a11cdcae9
2023-02-23 23:03:35 +00:00
David Lynch dccaa5bf65 Add an optional suffix message to mentions
Wikis like jawiki will then be able to customize the message to include
honorifics as they think appropriate.

Bug: T268588
Change-Id: I213fb9fd0a9ed6592ce3548a5b2c3b11a55c1abc
2022-01-19 10:29:10 -06:00
Ed Sanders 423983f26e Filter username suggestions to accounts with edits
Bug: T294774
Change-Id: I7346a7986d7caba473d31151495bb2263e43ca44
2021-12-22 23:57:15 +00:00
Ed Sanders 54471b5037 UsernameCompletion: Disable fragment auto-select
This causes the username to be selected on mobile, when
we want to place the cursor after it.

Bug: T294616
Change-Id: I29012ecd04cd553bf78ffff477babafacfeabb31
2021-11-02 23:35:29 +00:00
Ed Sanders 9b902bc46a UsernameCompletion: Fix limit parameter
`this.limit` is never set, which mean the API default of 10
was used.

The client limit is actually `defaultLimit` which is set to 8.
Double this so we can filter blocked users and still probably
have some results.

Change-Id: I8184fa0ce1527280f4503bcf638372421287f51a
2021-11-01 17:25:15 +00:00
Ed Sanders 62bc24cb86 UsernameCompletion: Filter out users with indefinite sitewide blocks from API results
Such users will never be able to reply to you on most pages,
so we shouldn't suggest pinging them. The may be able to reply
on their own user talk page, but in that case they will be
included in localUsers.

In the best case they just clog up your search results, in the
worst case they are offensive names which haven't yet been hidden.

Bug: T294783
Change-Id: I2445ed6dc98c10f8580b2c36106dd3e98bb876d6
2021-11-01 17:25:01 +00:00
Fomafix c1371b7416 Remove uppercase of first character of auprefix
Since Id9afb2dd0212e4b871bb6a7a9d8762e1bcb81d6a included in core since
MediaWiki 1.38 the uppercase of the first character of the parameter
auprefix is not needed anymore.

Bug: T291339
Depends-On: Id9afb2dd0212e4b871bb6a7a9d8762e1bcb81d6a
Change-Id: Ic14ca9c9c61d2a50bdbaff50b56302a60ed17a96
2021-09-20 07:28:34 +00:00
Ed Sanders 1893405635 Code style: Move var declarations inline
Change-Id: I1686603388b050ba4ec22eff23e4806cdf262b87
2021-04-22 17:43:46 +00:00
Ed Sanders 86fe745724 UsernameCompletion: Use ve.ce.Surface.findMatchingSequences
Depends-On: I7a9b9abaa5a518f21f9965a16803e0a4c82b436f
Depends-On: I48e1137150dee024ebdc96f0e780a88bff6b8177
Change-Id: I06d31694c9fddb3795e61dccecf812b7e1a783b2
2021-03-24 17:56:20 +00:00
Bartosz Dziewoński 3e723f5310 Don't insert multiple '@' when clicking the mention toolbar button multiple times
Bug: T275906
Change-Id: I7a4e914b8ae491de240efa97c7f001b57c9d8acc
2021-03-24 11:08:19 +00:00
Ed Sanders 998bd206ae Follow-up I60e550ef: Don't show relevant user in mention list if it is you
We have logic above to exclude mentioning yourself, but this
is overridden if you are commenting on your own talk page.

Change-Id: I2858c79bd9f1cb733f105825e17f9df75859e40a
2021-03-04 20:59:00 +00:00
Ed Sanders 01ac28540a Support the enable2017Wikitext option
Bug: T257391
Change-Id: If2511609035c26063203512f4b860bd0060e08af
2021-02-26 19:13:54 +00:00
Ed Sanders b581883e7c Show relevant user in local suggestions on user talk pages
Bug: T273324
Change-Id: I60e550efbea3d9e250dcaf13080407094a23aad3
2021-02-09 21:51:28 +00:00
Bartosz Dziewoński bca14cbe03 Move the '@' prefix into the PingNode, rather than plain text
Depends-On: I49733aa6aa2c1e61a88e7c88e84f1f4338acfac1
Change-Id: I9586d07ded0e41afdcfbd6e46364bb1f837cf1c0
2021-01-04 21:43:42 +00:00
Ed Sanders a87d60228f Don't include the logged in user in local suggestions
Bug: T267680
Change-Id: I1b2d185de390b73e1b389fc4139735069e7a65dc
2020-11-16 22:48:21 +00:00
Ed Sanders 3b31aa669d Create controller.getApi method with defaults
Only share API objects when it is safe to do so.

Change-Id: I4810f59ce41c43f78e0b42db6b36620b2aca1cec
2020-10-23 12:30:37 +01:00
Bartosz Dziewoński e0312957e6 Fix crash when trying to mention invalid usernames
Change-Id: I1e7213c38067e3c3107752705c4d3e4ed64a9258
2020-08-16 22:50:32 +02:00
Ed Sanders cc8b43b678 Allow the mention prefix to be configured via a message
Bug: T250332
Change-Id: I83c59fc665bbfe1027149bcb1cbce3f69d90c7ff
2020-08-12 18:45:25 +01:00
Ed Sanders d43d66a5a4 Username suggestion header
Bug: T252084
Depends-On: Ie57dbe76725cc7d4c9a1c959623349ad707d0b88
Change-Id: I5e8b7582199d6b5674bdf8e9328c881a8c7c7673
2020-08-10 17:34:04 +00:00
Ed Sanders e6f7a9e679 Create a PingNode so user pings are single focusable nodes
Bug: T252083
Change-Id: I168e036d201b924e7fc9bda2f2f58e48ad2dbac0
2020-07-17 23:17:41 +01:00
Ed Sanders c15399568f Wait for API response before updating suggestion list
We can update the local filtered list before then, but then we would
have to do two updates for each keystroke, one to do an instant local
filter and another to back-fill the list when the remote results
become available. Currently CompletionAction is not set up for this,
and this might be confusing behaviour.

Bug: T256974
Change-Id: I6194cdcd6459be17fb142e644d73c9ec4036ba08
2020-07-02 15:12:30 +01:00
Ed Sanders 58f6d8ca56 Trigger username sequence even when deleting
This is helpful when you ping the wrong person and need to correct your input.

Logically depends on I4c34e9368692b0ee4e7ca0f18ba2940406c62a9a

Change-Id: Iea89bdb5d93fe64902b692f04dd3a2e84e5517c3
2020-06-26 17:19:10 +01:00
David Lynch 02fafccd23 Fire window-open-from-tool event for username completion from toolbar
The automatic event from core didn't catch this, because it's not an action
method called "open".

Bug: T255638
Change-Id: Ifa456e850a8edb374df098e21b46bb872416ae55
2020-06-23 10:25:03 -05:00
Ed Sanders 03665de09e Move VE components to dt-ve
Change-Id: I4fba23e83d9ace833b55e67d1c3ef8b8da5ed19f
2020-06-22 20:09:18 +02:00
Renamed from modules/dt.ui.UsernameCompletionAction.js (Browse further)