Commit graph

38 commits

Author SHA1 Message Date
James D. Forrester d1c24ce226 Update VE core submodule to master (da9c49395)
New changes:
dc0cad28c tests: Factor out ve.dm.TestRebaseClient/Server into their own files
98061108b Convert RebaseServer tests to data provider
3e746a51b Update OOjs to v2.0.0
16231a812 [BREAKING CHANGE] Drop support for Internet Explorer 9
64daeb4b5 Localisation updates from https://translatewiki.net.
3310e876c Update DOMPurify to 0.8.5
579033a83 Follow-up 16231a81: Drop IE9 support in createDocumentFromHtmlUsingIframe

Bug: T162277
Change-Id: If17c6a3fac0920db29f80069f344ffd6be46c3c9
2017-04-10 08:32:51 -07:00
Ed Sanders cb60db4c7f Use list tool group for editor switching
Bug: T116417
Change-Id: Iadf5a81e2733ab81fe25c686dcd6dad8eac3885c
2017-02-28 15:06:48 +00:00
James D. Forrester 3302ba9203 Update VE core submodule to master (c1884680a)
New changes:
778dd0709 Destroy unicorns properly when cursoring to another branch node
2877cbbbc dm.Document: Make tree validation stricter
342a71e05 Update OOjs UI to v0.19.1
d2df4b6d4 Explain that Escape/Ctrl+Enter can be used to cancel/confirm a dialog
d978507f0 Move platform handling from CommandHelpDialog to CommandHelpRegistry
4dbceb403 Honorably discharge ve.dm.DocumentSynchronizer
0eb0e4214 Localisation updates from https://translatewiki.net.

Bug: T157019
Change-Id: I5066b1d2c60e116bc3b80b9a8242a72db243d8cf
2017-02-09 08:46:29 -08:00
James D. Forrester c10ba0885f Update VE core submodule to master (f60ce1a)
New changes:
a2e9331 Use forked version of DiffMatchPatch with abstract string methods
6aa2023 TransactionProcessor: Fix bug where annotation events could be emitted on the wrong nodes
b8b67d2 DocumentSynchronizer: Simplify pushRebuild() API
ed84b86 Add TransactionProcessor tests for wrapping, unwrapping and rewrapping
88764aa Remove presynchronize, use precommit instead
d704cbf tests: Fix offset numbering in getBranchNodeFromOffset test case
5eabbb2 VisualDiff: Add performance shortcuts to compareElements
2492fd0 Add comment for VisualDiff test store merge hack

Change-Id: Ica7185201e095a3a5da32a75c95bc2b90806568c
2017-02-03 09:11:12 -08:00
James D. Forrester 6de2bb21d9 Update VE core submodule to master (e5dffec)
New changes:
e3027e1 RebaseServer: use a separate class for document state
c76dce2 Detect node type/attribute changes in the visual diff
e98547f VisualDiff: Remove redundant length check
5d8c85d Add test for non-semantic whitespace diff
c352e8f Add i18n for 'No changes' message
e3669dd VisualDiff: Add node insertion/removal tests
d4a8973 VisualDiff: Add paragraph moving tests
fba5d0c VisualDiff: Add table column tests
af891bf Localisation updates from https://translatewiki.net.
7fb299b Follow-up c352e8f: Don't use i18n key clashing with archaïc usage
b63bf47 Fix annotation of nodes in document insertion
dea4c82 Handle home/end/pageup/pagedown keys when on focusable nodes

Bug: T151404
Bug: T151589
Bug: T156376
Bug: T156463
Change-Id: I99c3590279b94e4a5219cb990b52f928b85a91f4
2017-01-27 17:56:37 +01:00
James D. Forrester 60b5c97c0a Update VE core submodule to master (327a277)
New changes:
220713c Basic unit tests for article/section nodes
42134b7 Bypass fragment parsing for non-fragment windows
8d1ec6b Fix #insertContent in source mode to maintain linebreaks
9bebc0f Surface synchronizer (sockets)
4324301 Localisation updates from https://translatewiki.net.
c8f4867 Simple document server
a1fe22d Run eslint on rebaser folder
c4c1809 Fix build modules for rebaser
606b4a8 Add landing page to rebaser demo
327a277 Rebaser: Focus document name input on load of landing page

Change-Id: I57975ea090e2e905e5a78b2a715141636dca4748
2016-12-06 11:24:55 -08:00
James D. Forrester 976d2e935a Update VE core submodule to master (c9619a0)
New changes:
06ffd06 Rebase logic
56d8e13 Use DOMPurify to sanitize incoming HTML
abc3465 DOMPurify: Use pre-release & add fix, and fix IE9 return type issue
14700eb Bring in source mode WindowAction hacks from MW

Change-Id: Iaef73bab7c1010ec29826ff2025c767c9758e8e3
2016-12-02 11:49:12 -08:00
Ed Sanders 218742d806 Update VE core submodule to master (ae30d71)
New changes:
f58ddea DiffElement: Use document slices with full internal lists
83800c0 DebugBar: Remove hard-coded i18n
b4f89e1 Update OOjs UI to v0.18.1
40c7bf6 Factor out active node functionality from SectionNode for captions
2d967be Move 'mode' property to surface, rename target property to 'defaultMode'
5d8c214 wrapAllNodes in sourcefragment
dd3d9e5 Refactor ve.dm.Transaction
9d61aca Use canonical ve.dm.TransactionBuilder.static.newFrom* methods
df4f72a Make table caption node an active node
b79f72d Core source mode
7533ac4 Localisation updates from https://translatewiki.net.
ae30d71 SourceSurfaceFragment: Check range is not collapsed

Local changes:
Get edit mode from surface where possible

Depends-On: Iec758c1892d518ad4bc2c0d1aaf6ca00fa354323
Change-Id: Ifaf6a26078b2731b374aaad2cb40c08928de9c84
2016-12-01 10:40:01 -08:00
jenkins-bot 33db54ef28 Merge "Use upstream media search widget from core" 2016-11-29 20:04:46 +00:00
James D. Forrester fb616288a2 Update VE core submodule to master (0879bb2)
New changes:
00efc39 VisualDiffs: Improved styling for moves
009de03 VisualDiffs: Use semantic del/ins tags
4a90e12 Localisation updates from https://translatewiki.net.
c671cf8 Add diffing to mobile SA demo
c4ff29b Replace deprecated $.andSelf with $.addBack
b122328 Fix labels on diff dialog
41a700c ve.dm.Change class with rebase operations
2c336da Localisation updates from https://translatewiki.net.
4c7cb68 Hijack EventSequencer timeouts in unit testing
dea2883 Focusable cursor tests: place cursor in cursorHolders

Change-Id: Id6640e02999c079bcf3709f2d048394ec6719904
2016-11-29 11:06:03 -08:00
Ed Sanders 2ee9e62a4d Use upstream media search widget from core
Bug: T140166
Depends-On: If53ef7f4b62c7a5d4da565c14dd2a353778694e5
Change-Id: I28845e9c143e78d3a377f067606c62da212e3bf1
2016-11-29 17:19:14 +00:00
James D. Forrester 76b3f63ead Update VE core submodule to master (977d3ad)
New changes:
f564149 ve.dm.Transaction: add 'author' field
4032768 Remove jshint comment, no rule required
3705e38 Remove comment about jscs empty blocks rule
09c48db Remove comment about jscs binary space rule
1f2fcde Allow shallow clone of whole document
b8c3673 build: Update eslint-config-wikimedia to 0.2.0 and make a pass
f31a1f8 Re-use eslint.main for eslint.fix
78acdbe Add LICENCE.txt for classList lib
0d92f39 jsduck: Move UnicodeJS and OOUI into Upstream
d0c4225 Remove rules which have been moved upstream
31126aa Fix ve.test.utils.createSurfaceFromHtml
a1036e0 Make it possible to see visual diffs in VE core
3a1bc70 Diff style tweaks
977d3ad build: Move diffing code to its own module for slimness

Change-Id: I82da0beb9bdb05f482ddfa76b4f95563d2499f1e
2016-10-31 17:35:46 -04:00
Ed Sanders c452e134cc Wikitext surface alpha feature
Edit wikitext with the VE interace.

Bug: T104479
Bug: T142138
Change-Id: Ic95b47e0dd378578555c4a2342ca9c87064ed1d5
2016-08-12 18:37:29 +00:00
James D. Forrester 5a1865b2c1 Update VE core submodule to master (f82628d)
New changes:
acf0983 Create SourceSurfaceFragment for editing source documents
8bf0568 Make keepEmptyContentBranches an option of #sanitize and simplify usage
9cad9de ce.Surface: only change selection during CleanupUnicorns if it's in the document
bda3f0b Localisation updates from https://translatewiki.net.

Change-Id: I1fa8af7e4b881238f77e0601b2b275e2b8e1cd2c
2016-08-09 08:28:35 -07:00
James D. Forrester 6f89344d13 Update VE core submodule to master (7fe81f3)
New changes:
1cda586 Split about groups on text nodes
7b4619d ve.ui.TabIndexScope: provide a scope for tabIndex
54d7a35 Insert undo breakpoints at word breaks
9e6a562 Use cloneWithData in beforePaste
04c0921 Lower supported Firefox version in stylelint
8e0c513 Update OOjs UI to v0.17.4

Change-Id: I14cf5187954f954fb6039b28fb8b0ee18658fd21
2016-06-01 10:02:01 -07:00
Ed Sanders f91efee467 Update VE core submodule to master (f8be8c3)
New changes:
0e3e63a Rename ve-ce-sectionNode-focused to active
0010e49 Update OOjs UI to v0.16.5
8a50357 Localisation updates from https://translatewiki.net.
a731e0e Implement ve.dm.Selection#getCoveringRange
145c754 ce.Surface: Prevent selection from spanning an active node
e430224 Move toolbar positioning logic to PositionedTargetToolbar
c4bc52c demo: Put border around whole target

Local changes:
* Adjust to cope with the new positioned toolbar class

Change-Id: I47053af8a9efb0f4c267543616a5d6c80ae1534f
2016-04-11 07:06:13 -07:00
James D. Forrester e46e81916d Update VE core submodule to master (b286f7f)
New changes:
1f298ce Update OOjs UI to v0.16.4
650776a Improve drop target preview for block node dragging
77fb965 LinearArrowKeyDownHandler: test more
0f669bf Fix behaviour of SurfaceFragment#annotateContent
fa08fca ve.ui.ContentActions: Add tests
3f4185f Tests: Add speed warnings to UI surface constructors
4bee4eb Localisation updates from https://translatewiki.net.
b678dbe Refactor getNodeAndOffset
254a802 Localisation updates from https://translatewiki.net.
0f0d980 SurfaceFramgent: Guard against tx.getModifiedRange returning null
603abe4 TriggerRegistry: Alter trigger for paste special on Mac to OS standard

Change-Id: I512c9b3a99673a876040e0fce789483e7221a78c
2016-03-25 15:30:43 -07:00
James D. Forrester ab4d3e956b Update VE core submodule to master (0371bbe)
New changes:
0371bbe [BREAKING CHANGE] Refine VisualEditorSupportCheck call and document pattern

Local changes: Use new VisualEditorSupportCheck pattern

Change-Id: I7dc0c360b54a93397180b18d88d72532e439da5c
2016-02-26 12:26:56 -08:00
James D. Forrester cebaacb546 Update VE core submodule to master (cdfd84e)
New changes:
c02ea46 Clarify documentation of directionality methods
43c9b6f Move initialisation browser support checking from downstream
c89be66 Localisation updates from https://translatewiki.net.
5fb7907 Follow-up c89be66: Fix build for added language 'nan'
fc74fab dm.ElementLinearData.compareElements: Add a few missed test cases

Local changes:
Use initialisation browser support checking from upstream

Depends-On: I27a8e7b4376647f01cee648de987dc3ca6a060d5
Change-Id: I3fc79422ee5e487cf5fae3929fe492f21cd2840a
2016-02-17 20:04:16 -08:00
James D. Forrester dc3aa815ed Update VE core submodule to master (526e1bf)
New changes:
79546b8 Tables: Add slugs for missing cells in sparse tables
f723301 Tables: Multi-cell copy and paste
2548fac Spoil the fun of guessing what current[0] and current[1] mean.
db7c9aa Localisation updates from https://translatewiki.net.
526e1bf Tables: Move columns and rows

Change-Id: Id8d5f091cbca36c54f78f90bd2ac7aa2e6dacd1b
2016-01-28 13:14:17 -08:00
Ed Sanders 93f0e8b30c Refactor MediaResources(Provider/Queue)
Create a subclass for MediaSearch(Provider/Queue) and make the parent
class a more generic representation of API requests for media.

Change-Id: Iea8b90e829d532d210bfef3c96d6798c64e15eed
2015-12-22 14:00:10 +00:00
James D. Forrester dd79cc13b3 Update VE core submodule to master (71cbcff)
New changes:
c04d8c0 Diff richtext to build model changes
25c95be Localisation updates from https://translatewiki.net.

Change-Id: Idf95b655dbed4f56633d91c52fc8b90308438d45
2015-12-02 16:16:20 -08:00
Ori Livneh b1db8349fe Avoid embedding Git metadata in ext.visualEditor.data
Partially reverts "Expose version information in the client" (a72099af66 / I7836e1d40).
The Git data oscillates between two values due to differences between the
staging and production environments. Each change causes the module version to
change also, leading to cache churn.

Instead fetch version information with an API call the first
time the help popup is opened.

Bug: T119750
Change-Id: Ib9c45e60d3164cfa85eb1ef247cc91cf0d8bf954
2015-11-30 12:34:56 +01:00
James D. Forrester b17029ccd9 Update VE core submodule to master (a62fe36)
New changes:
3951dc1 Localisation updates from https://translatewiki.net.
a92d028 Introduce view selections to abstract getSelectionRects logic
f3030e0 Move getSelectionBoundingRect logic from TableNode to TableSelection
679300d Localisation updates from https://translatewiki.net.
5f7ebcd Update OOjs UI to v0.13.3
aa87e56 Unbreak complex HTML paste by ignoring screenshot fallbacks
afe5d45 Paste handlers: Break after the HTML data item

Change-Id: I6ce7c41fac995e718a88d8c2366ff642ef6dfd06
2015-11-17 19:24:51 -08:00
Ed Sanders 9bcc61e195 Update VE core submodule to master (77d786a)
New changes:
95589a6 test: Add a Rakefile for new CI requirement
1a4497e ve.ui.DialogTool: Do not require that a command is set
cbf1bff ve.ui.Tool: Fix documentation for getCommandName
530022d Localisation updates from https://translatewiki.net.
9529093 Update OOjs UI to v0.13.2
b8d6c15 Add icon: Rename 'insert' to 'add'
2f3015b Update OOjs to v1.1.10
78ceb18 Fix deletion inside a structural node at start/end of document
ce3e9a4 ve.utils: Use binarySearch from OOjs

Local change:
* MW test cases for new structural deletion logic

Bug: T52250
Change-Id: I643449c1fa08ea12c8c3aa13f4a4b97d8876990d
2015-11-11 12:35:53 -08:00
James D. Forrester f0887bca81 Update VE core submodule to master (6f8f3db)
New changes:
cda23ea CommandHelpDialog: Layout tweak
a4fcff4 Localisation updates from https://translatewiki.net.
dac9067 Remove unused jquery.visibleText library
58beb8c lib: Add AUTHORS, LICENSE and README files for libraries missing them
efb1749 Surface drop: Show branch node drop markers for file drop
a55574b Localisation updates from https://translatewiki.net.
0ad3133 Add ve.Scheduler
55cc3e0 Close inspectors before executing a ve.ui.Tool command
6132af8 Localisation updates from https://translatewiki.net.
24fed63 Watch for hashchange on the demo
0f04339 ve.ui.Sequence: Allow sequences to insert content

Change-Id: Idf26d9fb1970b994a54085b43fcc848b005da273
2015-11-09 17:36:27 -08:00
Alex Monk b550323b53 Use mw.loader.using instead of weird hacks to load OOjs UI on action=edit
Change-Id: If03dab6130aed7662b04000b809884a514bb2762
2015-11-03 23:55:17 +00:00
James D. Forrester c714eb173c Update VE core submodule to master (062cb26)
New changes:
6cae77b ElementLinearData: Add another case to hasContent
d2e15f2 SurfaceFragment: Improve handling of delete all
16db2a3 Return 'null' instead of null in ve.Filibuster observers
24de6b2 Introduce key down handlers to separate logic from ce surface
f77fe99 Localisation updates from https://translatewiki.net.
062cb26 Localisation updates from https://translatewiki.net.

Change-Id: I61c94983c7898af219266af3022761638c7578b7
2015-11-03 10:36:53 +00:00
James D. Forrester 207f55dc8c Update VE core submodule to master (3c65a2a)
New changes:
90ed001 Localisation updates from https://translatewiki.net.
c2f2096 Rename ve.ui.PreviewWidget to ve.ui.PreviewElement

Change-Id: I35103bc5d98b7eee77c9f5f22c441091b6453687
2015-09-24 13:50:08 +01:00
James D. Forrester 5337b249a2 Update VE core submodule to master (d58d7d4)
New changes:
5542fe9 Localisation updates from https://translatewiki.net.
0a64089 Follow-up 5542fe9: Fix build for added language 'glk'
26c8862 Update OOjs UI to v0.12.7
0481471 Make ve.ui.Sequence#execute return false if the command is missing
20fd431 Localisation updates from https://translatewiki.net.
521d281 Localisation updates from https://translatewiki.net.
a76cbef build: Bump grunt-contrib-jshint from 0.11.2 to 0.11.3 to fix upstream issue
7022385 Back out "Re-use example surface across surface view tests"
3a8f7af Don't call setInsertionAnnotations on handleInsertion
10700e2 Localisation updates from https://translatewiki.net.
3b75d9d Don't descend into overflow clipped nodes for highlights
9492aca De-duplicate methods in NodeDialog and NodeInspector using mixin

Change-Id: I06a239269c68351f046f8aa221bb82899a8f57b1
2015-09-05 22:55:25 +00:00
Ed Sanders 8815d1397f Abstract mwExtension behaviour into MWExtensionWindow
Allows us to create an MWExtensionDialog base class that shares
the logic.

Change-Id: I53c8f1713a3513d2635cfd736ec8fc3f9616d864
2015-09-05 18:18:24 +01:00
James D. Forrester 2461f37fdc Update VE core submodule to master (baa21a8)
New changes:
dc27315 ve.SelectionState: DOM selection snapshot
6cd7d91 Emit context change when any annotations change, not just covered.
d2c98d5 demos: Default to 'simple.html' instead of 'aliens.html'
3685d17 Emit change when selection changes from collapsed to not
baa21a8 Update OOjs UI to v0.11.8

Change-Id: I8a1032263f84fc2bf3aa1495229ffab8f50589d6
2015-07-09 17:04:27 +00:00
James D. Forrester df79ed8c4b Update VE core submodule to master (5befc34)
New changes:
3368c4c Remove some assumptions about the state of the context
79918af Move contexts to subfolder
820eaec Tests for some drag/drop functionality
e5f0e3e Convert CE surface tests to use a mock UI surface
c81dbcf Localisation updates from https://translatewiki.net.
7561ff3 Create a mock UI surface that only contains a model for model-only action tests
ad60333 Convert test timings on APIResultsQueue from seconds to milliseconds
b52d7df Table cursoring tests
3f8e821 Localisation updates from https://translatewiki.net.
9c737df Update OOjs UI to v0.11.4
5befc34 Stop using deprecated aliases for OO.ui.mixin.*

Change-Id: Ida6d4ba724686d8189975c55a18c4a6c2cfe4875
2015-06-10 12:44:55 -07:00
Roan Kattouw b3d2e9013f Account for MWTitleInputWidget having been moved into MW core
Depends on I43fb412ff6 in MW core.

Change-Id: Ia189e19f0ccb71adf9f3eeba4d600c2bcb360037
2015-06-01 17:24:52 -07:00
James D. Forrester 497e7eb4a1 Update VE core submodule to master (cb06317)
New changes:
5197b2d Rangestate optimization
80a07cf Unmix GeneratedContentNode from AlienNodes
f510e9c Make (Node/Annotation/MetaItem)Factory inherit from ModelFactory
b625ff0 Localisation updates from https://translatewiki.net.
5c4653c ve.qunit: Use 'jscs:disable' comment rather than hacks
90e9480 Remove registration of abstract AlienNode classes
d325674 i18n/en.json: Convert from spaces to tabs, like all other files
f40fc15 Add 'classes' config option to focusable nodes to simplify AlienNode
f7c8999 Document config options as @cfg
ad3aa0b ve.ce.Surface.test: Groundwork for testing non-linear selections
cd1a992 Localisation updates from https://translatewiki.net.
c92471e Move drop marker to highlights layer and position absolutely

Change-Id: I437663d93a346a06c6a5137cce5149c7a6fcbb7f
2015-03-25 18:20:35 +00:00
Roan Kattouw d371014e5d Load RL modules in one load.php request, rather than in two stages
This introduces TargetLoader, which manages plugins and RL modules
in a slightly more generic fashion so that Targets themselves don't
have to. This allows us to load all RL modules in one load.php
request, rather than first loading ViewPageTarget which then
loads the other modules.

TargetLoader loads in the bottom queue, so it will be loaded
as part of the main load.php request, but in VPT.init.js we
still have to wait for it with using() because it might not
have arrived yet. This also degrades gracefully on cached pages
where TargetLoader isn't in the bottom queue: it'll be loaded
as a separate request instead, which is suboptimal but no
worse that what we were doing before.

Right now TargetLoader is small enough that it could also be in
the top queue, but in the future we want to add things like
the action=visualeditor API request to it, and mw.Api is
relatively big.

Note: this also makes a breaking change to the plugin API:
plugin callbacks no longer receive the target instance
as a parameter, as they're now executed before the target
has been constructed rather than after. In the long term,
if we want to give plugins access to the target instance,
we could give them the target promise somehow. For now,
I've killed this feature because nothing used it and
the change from a direct object reference to a promise
would have been a breaking change anyway.

Also fixed incorrect documentation index for ve.init.mw.ViewPageTarget.init.

Bug: T53569
Change-Id: Ibfa6abbeaf872ae2aadc6ed9d5beba7473ea441a
2015-03-15 03:43:05 +01:00
James D. Forrester b89d09c7b6 Update VE core submodule to master (e85ed49)
New changes:
8925df7 Transaction tests: Assert specific exception messages
6a583b0 ve.dm.Document#buildNodeTree: Throw an exception for unclosed inline nodes
5d6fd2b Localisation updates from https://translatewiki.net.
57baeb1 Use modifier functions keyed by name for queued modifications in TransactionProcessor
04e7b17 Make transaction processing exception-safe
11c4cb7 Add test for heading1->heading2 content branch conversion
aa8fb76 When replacing e.g. heading1 with heading2, use attribute changes
b2db809 Unbreak cursoring inside table cells
2bbde7d [BREAKING CHANGE] ve.utils: Remove ve.getObjectKeys in favour of Object.keys

Change-Id: Iede19c061732ca73d6f97031c3c89345ac02ac58
2015-03-10 09:44:57 -07:00
Timo Tijhof 5813d53271 Update JSDuck config to standard jsduck.json
Also
* This way we don't need to pass the --config=jsduck.config.json
  parameter but can run plain 'jsduck' in Jenkins. Allowing it
  to use the standard job template for testing.

* Move processes=0 to jsduck.json.
  Workaround for https://github.com/senchalabs/jsduck/issues/525

* Use standard ' - Documentation' suffix, which makes the first
  part of the title render in bold (similar to how we do in OOjs
  and OOjs UI already).

Change-Id: I6c9c7a1f29df0a72dc8cd0d37a83aaef23068062
2015-03-05 23:51:53 +01:00
Renamed from .docs/categories.json (Browse further)