Commit graph

107 commits

Author SHA1 Message Date
Ed Sanders 1528c7740f build: Update linters
Change-Id: Idaed1bf627d8d92968b422ad428acd29a179d94a
2023-12-18 17:09:57 +00:00
Sam Wilson f7a7c7afea Add change handler for Edit Recovery
When the Edit Recovery loading process is finished, add an Ace
editor change handler so that the Edit Recovery fields are saved
whenever there's a change to the CodeEditor data.

This is similar to the change made for CodeMirror:
I352470752130c7b9b2dfc55a066cecf785d40067

Bug: T344406
Change-Id: I2c7826379108a88be7956d84bbfd3200b5ad542f
2023-09-20 16:15:52 +08:00
Máté Szabó a6030db858 Follow-up Ie3ed681b: Unstub getCaretPosition() as well
It was pointed out in the review of Ie3ed681b that the naive fallback
for replaceSelection() was not working because CodeEditor only had a
stub getCaretPosition() implementation. So, let's implement that as well
in case people want to use it. It seems to work reasonably well locally
with the native replaceSelection() disabled.

Bug: T342127
Change-Id: I8d3683808394faefa56c7cdff31dc18978c4dd92
2023-07-21 14:45:41 +02:00
Máté Szabó 2f7ce4dd50 Add explicit replaceSelection() implementation
The $.textSelection() facade in CodeEditor is missing a
replaceSelection() implementation. This causes $.textSelection() to
fall back to a naive implementation, which does not work, thus breaking
any gadget or extension that tries to interact with CodeEditor using
this method. As a fix, provide a native replaceSelection()
implementation that calls the appropriate ACE editor method:

Bug: T342127
Change-Id: Ie3ed681b39c5d4d2bed50030a397a2b1c877c9fb
2023-07-18 16:38:55 +02:00
Jon Harald Søby 075cfc12e4 Remove use of autoMsg in favour of using mw.message directly
Use mw.message directly instead of relying on WikiEditor's
<key>Msg feature.

Bug: T154891
Change-Id: Ifc9016ecd35cb0d8bbbf858b704cb0b574e38f56
2023-07-05 02:03:55 +02:00
Bartosz Dziewoński 62c3d99a7f Use core behaviour regarding saving options for non-registered users
mw.Api#saveOptions will skip the API call and return a 'notloggedin'
error when the current user is not registered.

To handle temporary users as well, just fall back to that behaviour
instead of being explicit, and the right thing will also happen
(probably it will return an error, although the behaviour may change).

Bug: T332430
Change-Id: I4aafd6f74b74971c52b6222f8ec97a4963bb6a7b
2023-03-17 20:33:43 +01:00
Nardog a2199fe310 Configure JS linter without overriding safe options
I263e08a397 overrode linter options set by Ace worker, such as ES6 and
browser globals. Using changeOptions instead of setOptions avoids this.

Bug: T1092
Change-Id: I31ba98a7a04063df175ed3188fed3a8ef1a2dab0
2022-12-19 12:45:35 +09:00
Derk-Jan Hartman 177142940d Configure JS linter to handle more lines
The linter would bail after 100 detected issues (alerting or not) and
would report the warning 'too many errors (xx% scanned)'

Set a higher limit. 1000 seems enough for navigation popups gadget.

Bug: T1092
Change-Id: I263e08a39712279a06b12cd75ebedcccaf191b58
2022-05-30 21:12:19 +00:00
Ed Sanders 17e04cab5e Move var declarations inline
Change-Id: Iccad0c3bf194f8fa418181283ac3b2a037fabe5f
2021-10-06 18:00:20 +01:00
Nardog 86e79cdaf3 Improve accuracy of the search/replace toggle
Now toggleSearchReplace() actually looks at the visibility of the search
box, instead of keeping a boolean, to decide whether to show or hide the
box, in case it was opened by Ctrl-F or closed by Esc or clicking X. So
the button itself is no longer a toggle, but a simple action button. In
addition, it now uses Ace's native replace command instead of
reinventing the wheel. Ace no longer hijacks Ctrl-R and with this Ctrl-H
now works.

Bug: T102486
Change-Id: I6bead1b3209e08a46e31ed3f30c61ca52152b688
2021-03-25 20:11:52 +00:00
Timo Tijhof c0c70a2312 Remove use of jquery.ui module aliases
Bug: T219604
Change-Id: Ia639ca6728ac23c14fa5b1a21317ddd3220c3727
2019-11-26 20:06:59 +00:00
Ed Sanders c4bc2c7d36 build: Update linters
Change-Id: I0c7b153461300840deb75c695f893b3b4a778dcf
2019-11-15 16:40:39 +00:00
Ed Sanders 5cac43ddd3 build: Update eslint-config-wikimedia to 0.11.0
Change-Id: I99fd10fbcce5d5e6b87b6e3faeb7b18c4e573ef7
2019-03-13 22:38:54 +00:00
Ed Sanders 4ad54da406 build: Update linters
Change-Id: I9baecb9fd4b9d9bf86897ccec8289614b136c3a2
2018-12-10 13:31:37 +00:00
Ed Sanders 8c6473826a Remove obsolete aliases from closures
Bug: T208951
Change-Id: Ib3502d54c39e65c2aed38f7e630a8b8286d522c2
2018-11-12 13:16:11 +00:00
Derk-Jan Hartman e8fbe62ef0 Make use of new WikiEditor 2010 toggle tool
Set a specific WikiEditor version dependency of 0.5.2.

Bug: T198781
Change-Id: I6664a7ff2383d83c7d0fa1fd45e2539fad40c1d0
Depends-On: I8b7fd41571a48fa4f6560790d94bb966972e740f
2018-08-17 11:22:36 -07:00
Volker E 75d8b4c112 Replace deprecated OOUI 'find' icon with 'articleSearch' of 'content' pack
Depends-on: I41c3d5502ff58f72bf7441811eaf17702468469b
Bug: T183645
Change-Id: I0535b667084771ecff3a4c0e14616fc9ee586895
2018-04-02 14:26:48 -07:00
Ed Sanders 819c6e1c82 Use OOUI icons
* Use upstream icons where available
* Move extra icons into a ResourceLoaderImageModule

Depends-On: I3e6f65f6f290778d3fbfa22f5d212c26fee12a86
Change-Id: I61cd750613922e58cec18a2886609f20e73f4a61
2018-03-23 22:51:35 +00:00
Ed Sanders 3d8950e7b7 Remove unused browser matrix
Since 84926bbd33, WikiEditor doesn't check browser support (because all
supported browsers by MediaWiki exceed these requirements).

Change-Id: I778dcfa75bb0b8a5a530c164e5b908b213d59afe
2018-02-13 19:13:27 +00:00
James D. Forrester 7629004d05 build: Bump various devDependencies to latest
eslint-config-wikimedia   0.4.0  →   0.5.0
 grunt-banana-checker      0.5.0  →   0.6.0
 grunt-eslint             19.0.0  →  20.1.0
 grunt-stylelint           0.6.0  →   0.8.0

Change-Id: Ia01949112243c5a496896c0a3a5eda261e0f66bd
2017-10-25 10:54:00 -07:00
Ed Sanders bbe14dbc2b Remove deprecated methods
Change-Id: Ib81592b4a13528a5ecf30d8a5cebbacae20be189
Depends-On: I3b900116ce2dc44338451c07ecdc419bad82014b
2017-10-12 16:03:54 +01:00
Ed Sanders 3b4ffe089f build: Update eslint to 0.4.0 and make pass
Change-Id: I764892179b136b8a4ae6940611ba8b4ecb672957
2017-05-04 21:09:35 +00:00
Brad Jorsch fe072480d3 Check for numeric 0 when checking 'usecodeeditor' pref in JS
A recent core change caused zero-valued preferences to start being
returned as numeric 0 rather than string 0. See the linked bug for
details.

Bug: T161875
Change-Id: I183fd9944e65041b0a330725c41fec2b59ca8379
2017-03-31 19:57:08 +00:00
Ed Sanders 7148dfcf3f Use OOUI for prompt dialog
Depends on latest OOUI, and therefore MW 1.29.

Change-Id: I91594f534a2dca657785357a1dcb39e86d072bac
2017-01-09 15:39:27 -08:00
Ed Sanders 6042898fcf Use OOUI for confirm dialog
Would be nice to do this for the goto line prompt,
but such a OO.ui.prompt doesn't exist yet.

Change-Id: I6b24e51b5b106ece80e265ff5417878f108619b7
2016-12-24 22:49:21 +00:00
Ed Sanders 1818ed4bea Add missing i18n for 'go to line' prompt
Change-Id: If4f7c243f23fc809c95cf671d5b47ec978a9fdb9
2016-12-09 13:49:46 +00:00
Ed Sanders 7fddf35aa8 build: Remove jshint/jscs, add eslint/stylelint
Change-Id: I4304ca95de7dd395676f40bcbb35a447c039ba21
2016-12-09 13:31:08 +00:00
Derk-Jan Hartman c9d4d7663e Simplify modeloading
Analogous to I82d278920695be12aa80a79548abf8b8ce5445fd, make sure that
we can lazy load any language that Ace supports. Not because we need
it, but because it's the nicer way to do it.

Change-Id: I19b8a31041814ac1273d62a24b5ed622fd91a7a8
2016-10-21 14:13:26 +02:00
Derk-Jan Hartman 46d76471e1 Use slice instead of substring per code conventions
Change-Id: Id9b08270c377f2b31486dbdb9492b77860f436e7
2016-09-26 21:36:53 +02:00
Derk-Jan Hartman c158ae5602 Update Ace and use scoped require / define
This brings Ace to upstream commit
4a55188fdb0eee9e2d3854f175e67408a1e47655

Bug: T127643
Change-Id: I7699e842d7b561b8a35cf7a4ea048f4126eaf856
2016-03-14 00:26:27 +01:00
jenkins-bot e10ed30111 Merge "Replace toolbar with OOUI/OOUI-style SVGs" 2016-02-29 23:33:18 +00:00
Ed Sanders b5312f1d4c Replace toolbar with OOUI/OOUI-style SVGs
* Use resource loader embedding for better performance
  (uses a slightly hacky method to achieve this, the only
  alternative would be to fix the WikiEditor API, but that
  would introduce a version dependency)
* Use SVGs from OOUI where available or create new ones where not.
  These are used and available under the OOjs UI MIT licence.
* Provide PNG fallbacks using LESS mixin
* Remove unused icons

Change-Id: If38d51d24958716e2617c4cb515e7c0575cdfeba
2016-02-29 13:00:15 -08:00
Ed Sanders 41e9cee298 GotoLine: Don't throw an exception if the user cancels the prompt
Change-Id: I540ba492cf3acda01ad61800561cda0276f36c76
2016-02-27 22:39:39 +00:00
jenkins-bot 0a7dc634fc Merge "Adapt toolbar icon change to change 19789d76 in WikiEditor" 2016-02-23 22:01:27 +00:00
Fomafix ecfc6514d3 Remove check for existence of mw.hook
mw.hook was introduced with 2e970257 in MediaWiki core for REL 1.22.

Change-Id: Ib81ba150c4056be19ede2145308489d0b286aea0
2016-01-29 12:32:14 +00:00
Fomafix d4a5b7eddf Adapt toolbar icon change to change 19789d76 in WikiEditor
Bug: T125201
Change-Id: I58c1d246d3fbb8031e3be482f349a0538c44152c
2016-01-29 11:07:47 +00:00
Fomafix 135716727d Abort previous unfinished API request before sending new request
This change requires 81171ab3 from core included in MediaWiki 1.27.

Change-Id: I8dec32bf49e412510cf5d98f2f946bfd337f47a1
2016-01-27 11:07:38 +00:00
jenkins-bot 49f5843e65 Merge "Use module "mediawiki.api.options" to save options" 2015-11-30 19:01:06 +00:00
Fomafix aeb072ce8a Avoid accessing undefined context
The delayed update of the status bar fails when the CodeEditor is disabled
in the meantime.

Bug: T119869
Change-Id: I6b23148f7a3d79021b87ad5f0f537eda9b68970f
2015-11-30 12:49:30 +00:00
Fomafix 370b597b79 Enable the "Go to line nummer" button on read-only pages
Bug: T114618
Change-Id: I17b5c05673489935a80db2e115d211695c17bde5
2015-11-30 09:09:53 +00:00
Fomafix c59add0448 Use $.map from jQuery
This requires jQuery >= 1.6. This is included in MediaWiki >= 1.18.
This change drops support for MediaWiki 1.17.

Change-Id: I12f3f3e22d9bc47a0a2d9a9d201af4e44012e0a2
2015-11-29 20:16:03 +00:00
Fomafix eacbcd828a Use module "mediawiki.api.options" to save options
This change requires MediaWiki 1.25.

Change-Id: Id476b7422bd47751813f671982ceecd6d9844718
2015-11-29 16:00:13 +00:00
Paladox b6e9f6cca4 Add jshint and jscs to npm, Also add composer.json
Instead of running the jshint test through jenkins, Run it through npm
instead.

Also add composer.json for running php code sniffer and phplint instead of
running phplint through jenkins.

Also update grunt-jsonlint to 1.0.6

Change-Id: Icd9aa1b1c7213d056aa5294a804341053141b0bd
2015-11-29 12:03:16 +01:00
jenkins-bot 52ef9085a9 Merge "Do not try to save options for anonymous user" 2015-11-29 10:38:09 +00:00
Fomafix 2278f87b89 Do not try to save options for anonymous user
This change requires 65062d3c from core included in MediaWiki 1.20+.

Change-Id: I130ab8e93107e066d2cb757c511c844e161b703f
2015-11-28 23:10:40 +00:00
Fomafix 22f1a0c3d2 Fix error message in set user options fail
* Write error.info instead of "[object Object]" into console.
* Avoid accessing result.error when not defined.

Bug: T119809
Change-Id: I23a124cbaf8ef9376c4c6071dec4d7e846f1eabe
2015-11-28 22:51:20 +00:00
paladox 6d052a8011 Update Ace to 29-10-2015
Updates ACE to commit:
3fb55e8e37

This includes basic scrolling support in mobiles
https://github.com/ajaxorg/ace/pull/2555

iOS 6 or later supported.

Android 4.x or later is supported.

Re enabled indent and outdent seems to work now, Ive tested it.

Bug: T119086
Bug: T69328
Change-Id: If8ecc499c281c92c53982cee281a88119a773514
2015-11-19 19:32:21 +00:00
Derk-Jan Hartman 838c627728 Make sure that wikieditor context is ready
This fixes a bug where the event could be triggered before the
WikiEditor context was ready. Also make sure that the fragment monitor
takes into account the possible disabled state of the CodeEditor.

Bug: T103802
Change-Id: Id5564c4a91a0a14632024781f3e57b68c4803970
2015-08-27 21:22:09 +02:00
Fomafix db1692c38c Remove quotes around object properties keys
Change-Id: Ie2126869364dcf56beb1190c80b6d8c36b282dce
2015-06-27 20:22:54 +00:00
Matthew Flaschen a7f5ae257c ucFirst has been deprecated, so inline it
Also, it wasn't declaring the dependency, so this fixes that as well.

Bug: T103612
Change-Id: Ic37fe3fec02ee4b328bd88ef46107431758216da
2015-06-23 23:40:51 -04:00