Commit graph

241 commits

Author SHA1 Message Date
Ed Sanders 2b48c4991e Fix DOM structure on setup/teardown
* Ensure that the toolbar remains inside the target so that
  target triggers still work
* To keep the page title beneath the toolbar, move it inside
  the target on setup, and restore it on teardown
* Have teardownToolBar/DebugBar return promises so we know
  when teardown is completely finished.

Change-Id: If2a9ce9a653aed51d21c8e8dd7795f2533d54f70
2015-02-10 16:59:43 -08:00
jenkins-bot 3351d84bf0 Merge "[BrowserTest] Restore the indentation list screenshot scenario" 2015-02-05 09:17:55 +00:00
jenkins-bot b43e798bb4 Merge "Make API module's LinkCache data transmission format more efficient" 2015-02-04 01:18:21 +00:00
Roan Kattouw e367ecc948 Make API module's LinkCache data transmission format more efficient
We used to send data like { title: { missing: true|false } }
With this change, we send data like { missing: [titles], existing: true|[titles] }
where 'existing' is set to true (assume all non-missing titles exist)
for current revisions and to an array of existing titles for
old revisions.

This is because we always output this data for links in the current
revision, even when loading an old revision: in that case we rely
on the client to request the omitted information, so there we can't
assume that all pages we don't have information about exist.

Bug: T88259
Change-Id: I7b58b3f669cc78fd81b60859cf76928a9087066f
2015-02-03 11:30:40 -08:00
Timo Tijhof 1d00894497 mw.Target: Add mw-body-content class before we attach surface
If added afterwards, this causes child elements styles with
'em'-values to get redrawn (or even animated).

Bug: T88387
Change-Id: Ic1aba14b7cfe0ff6e7191f0b6052ed9cc4585fcd
2015-02-02 20:25:02 -08:00
James D. Forrester bed038b509 build: Bump devDependencies to latest
Updates:
* grunt-contrib-csslint  0.3.1  ->  0.4.0
* grunt-contrib-jslint   0.10.0 -> 0.11.0
* grunt-jscs             0.8.1  ->  1.2.0

For jscs, leaving requireSpacesInsideArrayBrackets to avoid headaches for now.

Change-Id: I62d34444edbba65c8bd22d2fa5e50e16cabb0042
2015-02-02 14:30:39 -08:00
Alex Monk 9841d1012c Update "Watch this page" option when necessary
On load and change the user presses the button

Bug: T78694
Change-Id: I1df2836f8ba4ae647bfb142513e5de9f32ecd0fe
2015-01-31 02:43:59 +00:00
Amir E. Aharoni 8da4c9b3cc [BrowserTest] Restore the indentation list screenshot scenario
* Add a class to the indentation toolbar button, similarly to what was done in
  Ib0cb67151d893a5d2efccf798d6b25d197ed34d2
* Fix the definition of the indentation pull-down element acordingly.
* Restore the Indentation menu screenshot scenario, which was disabled in
  I3e892baa9cb2c8c1303fab232a2b1c64ebdd8f26

Change-Id: If2d92aab6d04aa487d6f753fa7cac94f8d8215c8
2015-01-27 13:35:39 -08:00
jenkins-bot 7dee4f18d7 Merge "Don't rely on 'user' and 'site' modules working correctly" 2015-01-26 22:31:28 +00:00
Roan Kattouw 6623ff4197 Use DOM rather than jQuery for <base> resolution
Avoiding a Sizzle context switch, see https://github.com/jquery/sizzle/issues/311

Bug: T87416
Change-Id: I40dd2cb17f9c3d14d0ee1aa5b542263775feedb7
2015-01-26 10:00:32 -08:00
Bartosz Dziewoński 4cce592cce Don't rely on 'user' and 'site' modules working correctly
I think somebody somewhere pointed to this as the reason why VE
wouldn't load when user's common.js has syntax errors, but I actually
can't reproduce that. Not sure if this is needed, but looks like a
good idea anyway.

(Once more, with feeling. Reverted broken attempt: aa531488.)

Change-Id: I252c5c20f75b3bbea51200560408dc4cfc7174f6
2015-01-13 19:18:54 +00:00
James D. Forrester 2f8b3e0d96 build: Bump copyright notices to 2015
Change-Id: Ie92dab7411116d3410195c3fb0a3513c664c0c30
2015-01-12 20:34:19 -08:00
Jforrester c17e3f89c6 Revert "Don't rely on 'user' and 'site' modules working correctly"
This reverts commit aa53148852.

Bug: T86550
Change-Id: Id97dec739939312caaa10d36197f105a595c1365
2015-01-12 18:49:39 +00:00
Bartosz Dziewoński aa53148852 Don't rely on 'user' and 'site' modules working correctly
I think somebody somewhere pointed to this as the reason why VE
wouldn't load when user's common.js has syntax errors, but I actually
can't reproduce that. Not sure if this is needed, but looks like a
good idea anyway.

Change-Id: I3abecacf083c1c9dfb2ea30207a9911eeea54b50
2015-01-11 19:01:56 +01:00
Amir E. Aharoni cd4bd7a73c Add classes to toolbar UI elements
This cleans up the selectors for the elements on the toolbar
so that they can be tested.

Class names in the form of ve-test-* are added to elements
that have words for labels: 'Paragraph', 'Cite', 'Insert'.
There is no other way to look up these elements in the DOM
except using the UI text, but it is different in different languages,
so this is unusable for the language_screenshots job,
which is multilingual by its nature.

Bug: T76143
Change-Id: Ib0cb67151d893a5d2efccf798d6b25d197ed34d2
2014-12-30 12:16:44 +00:00
Timo Tijhof 2b7ae8c175 Remove use of bind() for inline functions
Follows-up b0e8900, 447e8de, d3f26e65.

Contrary to binding a reference, this-overiddes for inline
functions gets messy and fragile. There's also a minor
performance overhead that can be avoided. No separation of
concerns, eiter, as the object is held by the closure.

Also:
* Remove left-over instances of @method.
* Remove redundant '0' argument to setTimeout.
* Use null instead of $ for apply() on static methods like $.when.
* Use .empty().append() instead of .html(). Does the same but
  without additional overhead and without confusion association
  with "html" which isn't used (it doesn't serialise and re-parse
  or clone, it just appends when given one or more nodes).

Change-Id: I797a3667c67d52568150be9be5d043d149f22077
2014-12-16 23:27:53 +00:00
Ed Sanders 45518019eb Update VE core submodule to master (9ac8136)
New changes:
9929b6d [BREAKING CHANGE] Make ve.init.target an OO.ui.Element

Local changes:
* Fix target constructors now they generate this.$element

Change-Id: Ia6bf604c67305834a3f73863a10336cfbb83fa77
2014-12-11 14:00:28 -08:00
Ed Sanders d6067d5718 Update VE core submodule to master (cf1e167)
New changes:
776e801 Delimit text nodes in debug observations
72643bc Remove debug bar hiding now it is handled by the surface
cf1e167 [BREAKING CHANGE] Multiple surface support and demo

Local changes:
Account for detachable toolbars in core being setup in a different order.

Change-Id: I29156948711d55ba5f6dd4f6c35ca0e4cca32373
2014-12-11 12:49:29 -08:00
Ed Sanders 34a82928c1 Update VE core submodule to master (3feadb2)
New changes:
fc4af20 Fix filibuster expansion bug
3feadb2 [BREAKING CHANGE] Refactor for multiple surfaces

Local changes:
* Use target.getSurface now that targets can have multiple surfaces
* Remove debug bar code now surfaces manage their own
* Remove import rules code now implemented in base target

Change-Id: I18d6f9f2f36431959d31347b4c1952a1aca1350e
2014-12-10 16:39:10 -08:00
Roan Kattouw 29995d806b Remove IEHacks.css in favor of .ve-init-target-ie class
Move reference style hack to MWReferenceNode.css, and move
heading style hack to ve.init.mw.Target.css

Change-Id: Icbd53f8df998c9f7bcc701b7c29dc226dfc5c05f
2014-12-08 15:45:23 -08:00
James D. Forrester baffe9d7e1 Update VE core submodule to master (32397d8)
New changes:
5e60f12 Ensure clipboard key is removed from paste target
32397d8 Update OOjs UI to v0.4.0

Local changes to compensate for new OOUI version, and updated wfUseMW call.

Change-Id: I005f7b23a36e04f1305d4aa037c19a5c7db9a699
2014-12-06 12:28:07 -08:00
Ed Sanders 7dc4dd66a0 Remove duplicate startSanityCheck from ViewPageTarget
Method was moved to parent, but not deleted from child. Also move
sanityCheckPromise to parent where it is used.

Change-Id: Ie2b00330d796cd089fd4bc84d9332c316500633f
2014-12-01 19:19:51 +00:00
James D. Forrester e90cbe6a37 Follow-up I5bc30eca7: Register <visualeditor-formatdropdown-format-blockquote>
Also push it into correct place in the toolbar, and disable it from media and
reference dialogs' toolbars.

Change-Id: Icc3bf056860e35def13e03e77ffc6782acc4196a
2014-11-25 19:01:02 -08:00
jenkins-bot a7dc4af551 Merge "Catch pagedeleted errors and give the ability to re-create the page" 2014-11-25 19:42:58 +00:00
Ed Sanders f79aed7572 Update VE core submodule to master (8ca8c41)
Local changes:
* Rename paste rules to import rules (also used by drag and drop)

New changes:
f5d83f8 Remove data-parsoid removal hack
99f938f Create 'preserveGenerated' mode for cloneElements and use in copy
938b44d [BREAKING CHANGE] Rename paste rules to import rules
c51288c ve.ce.Surface: Move insert HTML path to DM
10ce4cf Provide a FileDropHandler for HTML files
701bb9c Provide a FileDropHandler for CSV and TSV files
ca6b444 build: Update update-oojs.sh and update-oojs-ui.sh scripts

Change-Id: I5cfa15ab3efd03e2c64c2f9f725cb3098f53b32a
2014-11-24 18:55:32 -08:00
jenkins-bot 5861db05b0 Merge "Filter out comments from external paste" 2014-11-25 02:07:24 +00:00
jenkins-bot 330a1732cb Merge "Change command list from whitelist to blacklist" 2014-11-25 00:42:48 +00:00
jenkins-bot 35cbae3d76 Merge "Fix the "you are now logged in/out" warning" 2014-11-25 00:19:14 +00:00
Ed Sanders c56a921585 Change command list from whitelist to blacklist
Also remove toolbar definitions as they can now be derived from
command availability.

Depends on If32d514a in core.

Change-Id: I2313f3cc2531686b27f96dc1110b28bb4b295f89
2014-11-24 18:28:37 +00:00
Ed Sanders 325bd0994e Filter out comments from external paste
Bug: T71821
Change-Id: I165efd75adf3d4092860c6d2bc408469dba31388
2014-11-24 11:20:18 +00:00
Roan Kattouw 9b3316a360 Fix the "you are now logged in/out" warning
It would tell you you were logged out when you were actually
logged in, and when I looked into it, I found lots of broken
things, including lots of confusion between the current
anon-ness and username and the new anon-ness and username.

ve.init.mw.Target:
* Check the new isAnon value, not the old one
* Pass the username to the event, rather than just anon-ness

ve.init.mw.ViewPageTarget:
* Use the passed username (new username) rather than the
  username from mw.config (which is updated, but confusing)

Change-Id: Icf406d49100d81e87c677fd6b57ff93cc29f601f
2014-11-21 18:23:11 -08:00
Alex Monk 9bb766c5bb Catch pagedeleted errors and give the ability to re-create the page
Bug: 52073
Change-Id: I86a6e1510ccb5e59e94a5262dd3ccd91fdf05a70
2014-11-21 21:44:15 +00:00
Roan Kattouw 6d21d83244 Add instrumentation for edit schema
Move ve.track() subscriber to its own file, and have it
route mwtiming.* events (for TimingData) and mwedit.* events
(for Edit schema) differently. Most of the data population
lives in the subscriber, so actual ve.track() calls are
pretty lightweight.

Existing ve.track() calls with timing data were kept with
their names intact for backwards compatibility, but
we may eventually want to throw them out and start from scratch.

ve.init.mw.ViewPageTarget.init.js:
* Remove old track subscriber
* Track init and ready events
* Remove old ve.track( 'Edit', ... ) crap that didn't work

ve.init.mw.ViewPageTarget.js:
* Fire the saveWorkflowBegin event before the save dialog
  loads rather than after
* Remove unnecessary this.events.trackSaveError() calls:
  TargetEvents already listens to these events itself
* Remove badtoken handler because all it was was an
  unnecessary trackSaveError() call
* Add abort tracking
** Pass trackMechanism through deactivate() and cancel()

ve.init.mw.Target.js:
* Add static.integrationType to populate the 'integration'
  field in the schema

ve.init.mw.TargetEvents.js:
* Simplify onSaveError* methods away into connect bindings
* Map track topics to mwtiming.* so they can be routed separately
* Track save-related mwedit.* events

Depends on I978eda96c in WikimediaEvents

Change-Id: Iae677d9b15c71d2b18e795bd5179d11876c06abd
2014-11-21 11:59:15 -08:00
Ed Sanders 2997cee444 Fix lots of spelling mistakes and typos
Change-Id: Icf78d3d599326d3f12d09edcd2b8491ed35ade04
2014-11-21 13:00:50 +00:00
Alex Monk 581d1350e6 When saving, return the full contentSub to the client
And introduce code to make FlaggedRevs add its notices to contentSub.

Bug: 60718
Change-Id: Ibb91dc563ccf73d3b4bd1994134ccf02634fccb5
2014-11-12 17:36:59 +00:00
Roan Kattouw e144e55972 Followup 31bafa1: forgot to rename 'data' to 'args' for citation commands
Bug: 73001
Change-Id: I8cc436cbe16955130d25b2385e3f561fd2ffb4d5
2014-11-05 13:46:54 -08:00
James D. Forrester 31bafa183d Update VE core submodule to master (a942301)
New changes:
2cc219a Update OOjs UI to v0.1.0-pre (571f26d0ab)
3543cb7 Protect against offset=-1 in insertContent()
7a3d456 [BREAKING CHANGE] Move selection restrictions from tools to commands
3d847bb Disable desktop context on table selections
41282dd Missed function rename from RangeFix change
dd6c8b8 Support toDomElements returning an empty array
9be6464 Placholder -> placeholder
9bdd0a8 Restore basic styling to toolbar in core target (only)

Local changes:
Move selection restrictions from tools to commands

Change-Id: I88f3d04946bd1d03ed001d747475a8b495a0f64c
2014-11-04 14:11:04 -08:00
Alex Monk b2af92870a Update "page was last modified on date, at time" footer line when saving
Bug: 52403
Change-Id: I11e00066000e927f0551691d05fe11fe2ae125b0
2014-10-31 01:00:04 +00:00
James D. Forrester 6626450419 Toolbar: Make styling and insert menus collapsible
Also re-synchronise toolbar in MWMediaDialog and MWReferenceDialog.

Change-Id: I8cd5f0d9f7e188fa1a7ab8d34a2796340f5e99b7
2014-10-30 12:22:20 -07:00
James D. Forrester cc8f6970a5 Update VE core submodule to master (f4ff1d6)
New changes:
d845991 Data model implementation for tables
a27c148 ContentEditable implementation for tables
3c47428 Actions and context menus for manipulating tables
543ca54 Support annotation tool on table selections
149cf3d Supporting copy paste of single table cells
25c9eee Table header/data format tools
e557e46 Merge cells tool
afcf2d9 Allow custom type and attributes when creating a table

Local changes:
Add the files and messages for table editing

Change-Id: I6e6c33b96d3089049a0fd5385191caa83df5756b
2014-10-29 11:52:09 -07:00
Ed Sanders 1af18c3c12 Update VE core submodule to master (984b57a)
New changes:
6bbcd6a Localisation updates from https://translatewiki.net.
b8d8a5b [BREAKING CHANGE] The Great Selection Rewrite of 2014

Local changes:
Update to use new selection/range API

Change-Id: I5480d5c77d599c93c2d374fac88bb2fdb68b0024
2014-10-07 21:39:33 +02:00
Roan Kattouw 005c6fef27 Fix syntax error in mittoHidden selector
Bug: 71521
Change-Id: Id34987e992a7c13cdfcfec85a7c33f7538606fe0
2014-10-01 11:04:31 -07:00
Alex Monk 0c0b545959 Blacklist div[id = kloutify] as well
Followup to I8af9f7ba

Bug: 67006
Change-Id: I84c8902ae8a81f9b62f6817e2f58809f28ca97f7
2014-09-30 23:01:00 +01:00
Alex Monk 0547d8c8ec Remove certain blacklisted elements when getting HTML from document
Hack to try to kill a class of bugs caused by misbehaving browser plugins.

Unable to test whether this fixes them or not.

Bug: 68900
Bug: 51423
Bug: 51521
Bug: 52791
Bug: 52884
Bug: 53252
Bug: 61776
Bug: 63121
Bug: 63229
Change-Id: I8af9f7ba4be45b42f6e2e382ff1a3e1f452058ba
2014-09-30 22:51:06 +01:00
Timo Tijhof 66de06b0fa Replace use of ve.isArray with native Array.isArray
Change-Id: Ibc45e0fd80db7da872f6ef934cef915be9366e06
2014-09-23 17:58:09 -07:00
Roan Kattouw c4857a1f82 Use ve.parseXhtml() and ve.serializeXhtml()
Introduced in VE core in I0fb47f7c91f61.

In IE, this fixes corruption of style and bgcolor attributes.
In other browsers, the only change is that we now use
XMLSerializer rather than .outerHTML to serialize, but as
far as I can tell this isn't materially different. XMLSerializer
correctly uses HTML semantics when given an HTML document.

Bug: 70856
Change-Id: If48555fa4763e763484bbabfa0bc4ded0d0a5c58
2014-09-16 01:41:53 +00:00
Alex Monk 2748366a8e Pick up 'summary' parameter from URL to use as initial edit summary
To match the wikitext editor

Bug: 69501
Change-Id: I3cfc269aa344d89cc30af29699aca70eda5565e2
2014-08-28 02:56:14 +01:00
jenkins-bot aa95f70c4e Merge "Switch 'disallowQuotedKeysInObjects' jscs rule on and fix up" 2014-08-25 18:00:07 +00:00
jenkins-bot 8462907ae3 Merge "Do not focus CE on mobile when editor opens" 2014-08-22 22:50:59 +00:00
James D. Forrester a232147b11 Switch 'disallowQuotedKeysInObjects' jscs rule on and fix up
Change-Id: I75ac4b378ef485feead9d0eff34ed7877b94b5d0
2014-08-22 13:50:48 -07:00
Ed Sanders 57cd852543 Blacklist plain block images from MW paste
Same as inline images, only MW images are allowed.

Change-Id: I0272ebb44c044cd6bcdb85cd5e11d3b50530cc73
2014-08-22 21:31:29 +01:00
Juliusz Gonera 7864de472e Do not focus CE on mobile when editor opens
Extract the part of mw.Target#restoreEditSection responsible for moving
cursor to a separate method and move the cursor only on desktop.

Bug: 68832
Change-Id: I4ffc54ced64ce9e52d0cbcffb2fb4d082239098c
2014-08-22 12:37:00 -07:00
Roan Kattouw 2cf3c8bcd8 Update VE core submodule to master (f1fd9a8)
New changes:
eaa4528 Queue up annotation changes to make operations safer
09fc01f [BREAKING CHANGE] Remove span-wrapping of images
b59f85f Followup b141a7d2: make inspectors not close immediately in IE
1088cac Define kbd font-family explicity in case environment overrides
137add3 Fix embeddable desktop context popups
a2f0f80 Rename getRelativeOffset to getBoundingRect and use in getSelectionRect
fc09114 Fallback to node position when getting selection rectangle
1506099 Change comment to meta in whitespace test case to actually test whitespace handling
7dc4854 Remove global overlay classes when destroying MobileSurface
6e6b08a Update OOjs UI to v0.1.0-pre (d6008381aa)
e0a8089 Destroy WindowManagers in Context and Surface destructors
8c71904 Never embed the context when an inspector is present
163bd50 [BREAKING CHANGE] Rename 'image' to 'inlineImage'
5dd8bad Make focusables behave correctly when $element != $focusable
ba6fba7 Basic block image (figure/figcaption) support

Update changes:
* ImageNode was renamed to InlineImageNode in VE core
* BlockImageNode and BlockImageCaptionNode were added in VE core
* ve.ce.ImageNode.css was removed in VE core

Change-Id: Ide31b47448a4b4d6388f84a7a6ee9d471c1331f6
2014-08-22 11:51:50 -07:00
Roan Kattouw 924e3c026d Update VE core submodule to master (03975f8)
New changes:
a28e085 Restore QUnit web UI
8e2477c [BREAKING CHANGE] Move modules to src and tests and i18n, UnicodeJS to lib
26adfaf Fix path prefix for tests/index.html so it actually runs
d87dab5 Work around getSystemPlatform() race condition
6682ebc Make getParsedMessage() test actually test getParsedMessage()

Local changes:
* Update paths from lib/ve/modules/ve to lib/ve/src or lib/ve/tests
* Update paths from lib/ve/modules/unicodejs to lib/ve/lib/unicodesjs
* Rename unicodejs.wordbreak module to unicodejs
* Update code for getSystemPlatform() and isInternetExplorer()
  being made static

Change-Id: I7bb3bb74addfd3fbb64795c5ac3ff791b8874a4f
2014-08-15 14:42:08 -07:00
jenkins-bot 3783d6e328 Merge "Remove unused CSS classes" 2014-07-29 23:30:22 +00:00
Roan Kattouw 859d85257b Delay scrollToHeading() until after the selection is rerendered
Otherwise either the focusing of the surface or the resetting
of the selection seems to cause the viewport to scroll back
up on mobile.

Change-Id: Ie3b104e04800d2753f99739f877c76e334965fc1
2014-07-29 14:58:24 -07:00
Juliusz Gonera 3224ceb41d Delay scrolling to a heading more on mobile
200ms are not enough for the surface to be rendered on iPad (especially
on older models).

Change-Id: I518312b3a038f2e5c9cc2022c51fc4e1e63f599d
2014-07-28 14:54:12 -07:00
Ed Sanders 840c871a97 Remove unused CSS classes
By searching for CSS classes that don't exist in the code.

In some cases the classes were used but had been renamed.

Change-Id: I76442a632c18d2133cdf78c4555da149c0a7888c
2014-07-28 19:43:35 +01:00
Juliusz Gonera 8563668978 Allow for a custom mechanism for scrolling to a section
When I05f11246ca90a1ce3f741fd93194a827528cd597 gets merged, we will need
this to be able to scroll to a section on iOS (where the content will be
scrolled within a div, not as a whole page).

Change-Id: I6e47edfa8c3a3a46fd7a4f11e4a54955f3694b9b
2014-07-23 17:34:39 -07:00
jenkins-bot f7c7efbad7 Merge "test: Move mw into the global list of globals for VE-MW" 2014-07-23 00:02:22 +00:00
James D. Forrester a9356992d8 Put "re-use reference" in the toolbar "Cite" menu, and give it an icon
Bug: 68201
Change-Id: I9fc61e498748fb086c3e506959bee2438b8cbea6
2014-07-22 13:10:06 -07:00
James D. Forrester c2f37a0450 test: Move mw into the global list of globals for VE-MW
Silly to have 38 MW-specific files needing to declare that they're using mw.

Change-Id: I97891ed922fe0c37d8c96425a4d23bd15098438b
2014-07-19 17:42:45 +00:00
Trevor Parscal 1be1c469de Enable mwreference, mwtransclusion modules on all targets including mobile
Bug: 67701
Change-Id: Icdf2a208c9efa7abd897d48aed02bf923328d53c
2014-07-16 22:40:00 +00:00
James D. Forrester fbdff76263 Update VE core submodule to master (f2277ea)
New changes:
56de6f5 Localisation updates from https://translatewiki.net.
f8bda64 Widgetise demo menu
6ac48d8 Localisation updates from https://translatewiki.net.
365e131 builderloader: Omit value for boolean "disabled" attribute per HTML5
706e4b3 Prevent double counting of DM nodes in getNodeAndOffset
b141a7d Update OOjs UI to v0.1.0-pre (d2451ac748)
c5b3921 Localisation updates from https://translatewiki.net.
1606983 Update reference to ConfirmationDialog to use MessageDialog

Deletions:
* Styles for ve.ui.MWBetaWelcomeDialog - not needed anymore because
  OO.ui.MessageDialog provides them
* Styles for ve.ui.MWGalleryInspector - not needed anymore because
  ve.ui.MWExtensionInspector provides part of them and the rest are being
  replaced by programatic sizing

Modifications:
* ve.ui.MWLinkTargetInputWidget - Added support for validation and href
  getter
* Split message between tool and dialog title for ve.ui.MWEditModeTool
  and ve.ui.MWWikitextSwitchConfirmDialog

General changes:
* Updated inheritance.
* Added manager param to constructors of dialogs and inspectors.
* Updated use of show/hide with toggle.
* Added meaningful descriptions of dialog and inspector classes.
* Configured dialog and inspector sizes statically.
* Configured dialog action buttons statically.
* Interfaced with OO.ui.ActionSet to control action buttons.
* Moved applyChanges code into getActionProcess methods.
* Always using .next in setup/ready process getters and .first in
  hold/teardown process getters.

Change-Id: Ia74732e6e32c0808eee021f0a26225b9e6c3f971
2014-07-14 23:24:45 +00:00
Alex Monk 51142e8b11 Replace ve.bind( fn, ... ) calls with fn.bind( ... )
Bug: 62762
Change-Id: I1a7fc7f27fa737d17f5c6b3d084ef4a35e4bebc0
2014-07-10 13:54:07 +00:00
Roan Kattouw a0989d15d4 Add stylesheet with IE hacks and only load it with IE
The stylesheet contains workarounds for highlights on references
being drawn in the wrong place, resize handles appearing on headings,
and highlights being opaque.

Change-Id: I78da4d6a751429cd160b693b4a524fc7ea1ef76f
2014-07-03 18:20:30 -07:00
jenkins-bot 538992a24c Merge "Merge Media Edit and Media Insert dialogs" 2014-07-02 02:53:05 +00:00
Moriel Schottlender 6bd9fde5c5 Merge Media Edit and Media Insert dialogs
Merge the media edit and media insert dialogs. Allow editing
of media properties when inserting a new image, and also
allow the user to replace the image on edit.

Bug: 67170
Change-Id: I35bd95503565dbf95090ee8110284db5a8fbba83
2014-07-01 17:30:51 -07:00
Roan Kattouw da5eacbe2e Split mwtransclusion and mwreference into core and non-core modules
Mobile doesn't want the tool+dialog functionality for those yet,
so move them to a separate module and only load the bare bones
for mobile. We did the same with mwimage/mwimage.core.

Change-Id: I9185ce62f458b3de08cbd28f2a41370d2301de9d
2014-07-01 16:50:57 -07:00
jenkins-bot 01348dc05f Merge "Update displaytitle on save (try #3)" 2014-07-01 21:18:54 +00:00
James D. Forrester f9e74d3c62 Move reference tool into Cite menu, and language into styling
This puts reference insertion and editing tools into the same menu (yay) and
applying-annotations-to-text tools into the same menu, too.

As part of this, I'm re-labelling the generic reference tool to "Basic" (now
that it has some context for users).

Change-Id: I8b8196d3c2e40237d61c8491ab30e737b82597d6
2014-06-30 19:24:15 -07:00
jenkins-bot caa2298198 Merge "Compress HTML data with deflate before POSTing" 2014-06-30 23:43:16 +00:00
Ed Sanders 4c8da39618 Remove isMobileDevice property
1. It's a bad check, it tells you if the device supports mobile
events, not if it's mobile (e.g. a touch screen laptop has such events)
2. It's no longer used

Change-Id: Ic46bc5b8fdc33b7c2b2bd67e75d65a5e564dbeca
2014-06-28 22:56:24 +01:00
Timo Tijhof 19afd65a08 build: Update jscs and use new "wikimedia" preset
Our coding style has been upstreamed and first released
in node-jscs v1.5.0 (grunt-jscs-checker v0.6.0).

Change-Id: Ifc0cfc7177946b9d11407f60e38b0177883724c5
2014-06-26 17:00:15 +00:00
Ed Sanders e4e9405452 Don't try to change offset for vesection=0
Bug: 66674
Change-Id: I33db33af38b554c9bf3c13b14ce67bcac2e70573
2014-06-25 16:38:56 +01:00
Ed Sanders 288da5b704 Compress HTML data with deflate before POSTing
Bug: 66914
Change-Id: I7b0a9cfd4d4c10986769a868884688ffca833cb6
2014-06-24 17:39:03 +01:00
Alex Monk dc6840c3a0 Update displaytitle on save (try #3)
Parse the wikitext we already have.

This is mostly a revert of commit f84b880a54.

Bug: 50341
Change-Id: I312bafb0e7d61b0abd42d6ca7ea2e4b5dcdc61be
2014-06-23 15:32:15 +00:00
jenkins-bot 9e7c60a4e4 Merge "Revert "Update displaytitle on save (try #2)"" 2014-06-19 00:36:19 +00:00
Alex Monk f84b880a54 Revert "Update displaytitle on save (try #2)"
This reverts commit b7401f838b.

Didn't break everything, but we should probably avoid this getting deployed until I can work out wtf is going wrong with it.

Change-Id: I048143239e998b30aba79fa395a0af1cb06c6a9b
2014-06-19 00:34:26 +00:00
jenkins-bot 29d5bf6e51 Merge "Update displaytitle on save (try #2)" 2014-06-18 23:41:29 +00:00
Alex Monk b7401f838b Update displaytitle on save (try #2)
This reverts commit 5565ccca54.

I have no idea what is going wrong on deployment-prep to cause
the error in bug 66792. Let's try to find out.

Bug: 50341
Change-Id: I5041de838128bb55c57baddae01cdcb263626537
2014-06-19 00:04:51 +01:00
Krenair 143c21999e Port MWSaveDialog to use ActionDialog
Relies on Id17d150d

Change-Id: I80dd89fa7ad55daa3ae7e9c01c4a78f6e54105ca
2014-06-18 20:43:45 +00:00
jenkins-bot c92285e75f Merge "Revert "Update displaytitle on save"" 2014-06-18 20:23:35 +00:00
Catrope 5565ccca54 Revert "Update displaytitle on save"
Causing HTTP 500 errors in ApiVisualEditorEdit.php (calling
getDisplayTitle() on a non-object).

This reverts commit dedc89b5ff.

Bug: 66792
Change-Id: Iaf438660f0623dc05f76294ad847b2fc5e25bed6
2014-06-18 20:21:10 +00:00
jenkins-bot dc81adeb36 Merge "Update displaytitle on save" 2014-06-18 02:23:28 +00:00
Ed Sanders 00af43495b Update VE core submodule to master (155f4ab)
Use new setupToolbar and setupDebugbar methods in base target.

New changes:
7ff523d Localisation updates from https://translatewiki.net.
3815224 [BREAKING CHANGE] Debug bar refactor
155f4ab Edit HTML mode in demo

Change-Id: I554ce51eae872ab0f741a913bf10394c2a8c3e52
2014-06-16 14:52:48 -07:00
Ed Sanders 71395e1fa4 Wait for onDocumentFocus to happen before setting section range
Bug: 65928
Change-Id: If76408b6b89541f0ecb065d4860e0652b6bdebb5
2014-06-15 13:07:32 +01:00
Krenair dedc89b5ff Update displaytitle on save
Also fix a couple of missing param docs

Bug: 50341
Change-Id: I1e73153dca5eb9343bbcda1fc2f9799e72f6f03c
2014-06-12 22:21:35 +01:00
Roan Kattouw 1455c72a35 Update VE core submodule to master (ba8872e)
Replace instances of target.$document, which was removed
in VE core.

New changes:
8083623 [BREAKING CHANGE] Remove $document cache from target
9256158 Cleanup target properties
cc0d71f Multi-surface fixes
ba8872e Localisation updates from https://translatewiki.net.

Change-Id: Ibff83cae770c056ed64bcf438ed74b44d929cdc0
2014-06-10 13:52:34 -07:00
Krenair c18fb662aa mw.ViewPageTarget: When saving a page as a redirect, update contentSub text
Or vice versa. Per my comment on bug 65621.

Change-Id: Ic51745103446dda8ea8ff901c4f211c30c39e45c
2014-06-10 17:34:52 +00:00
Krenair bf42b1a742 Send language when making API requests
The API moans about it in a warning, but it works.

Along with edit page checkboxes, this also fixes edit notices.

Bug: 65455
Change-Id: I7c319d43fd06ab04ab4e4cc099ae49b11c31fabd
2014-06-09 20:49:28 +01:00
Ed Sanders 2122ccb654 Cleanup createSurface methods
No need to set in mw.Target as it now exists in core Target.

Add config param to MobileViewTarget override.

Depends on I555935d2 in core.

Change-Id: I72be9098bd9d59272ca3d7a9a64dca4271ef3ee5
2014-05-30 20:36:26 +00:00
jenkins-bot a7bf8b6a7f Merge "Convert toolbar structure group from bar to list" 2014-05-28 23:06:36 +00:00
James D. Forrester e2fab2f1eb Dump raster support (unuseful) and assert SVG works before loading
Depends on Idb26804576 in core.

Change-Id: I17481b2d52ab2c33c26ff935b0fd58deb4aa207b
2014-05-27 15:22:26 -07:00
James D. Forrester 47e19a9873 Convert toolbar structure group from bar to list
Aligns with I84a4d948ae in stand-alone.

Change-Id: I533355a20bb329b91d6550bde4afa18180b38f59
2014-05-22 17:47:29 -07:00
Timo Tijhof 25d00cc777 build: Update jscs and jshint
jshint:
* Update to grunt-contrib-jshint v0.10.0 (jshint v2.5.0).
* Remove coding style options covered by jscs.
* Enable new option "freeze" (prohibits changing native prototypes).
  http://www.jshint.com/blog/new-in-jshint-oct-2013/#option-freeze
* Re-order to match http://www.jshint.com/docs/options/

jscs:
* Update to grunt-jscs-checker v0.4.4 (jscs v1.4.5).
* Format .jscsrc file in a more spacious way and order the
  properties less arbitrarily (using the jscs's readme order).
* Enforce more details of our coding style
* Get rid of the unsable "sticky" operator rules which have been
  deprecated in favour of using other rules instead that are able
  to enforce this more accurately.
  - disallowLeftStickedOperators: Remove deprecated rule.
    * Ternary covered by requireSpacesInConditionalExpression.
    * Rest covered by requireSpace{Before,After}BinaryOperators.

  - requireLeftStickedOperators: Remove deprecated rule.
     * Comma covered by disallowSpaceBeforeBinaryOperators.

  - requireRightStickedOperators: Remove deprecated rule.
    * Logical not (!) covered by disallowSpaceAfterPrefixUnaryOperators.

See also If46b94ce1, Ib731f11b1 and I0b0cadbc5 in oojs/core.

Also:
* Update grunt-contrib-watch to latest upstream version.
  Change log at https://github.com/gruntjs/grunt-contrib-watch/blob/v0.6.1/CHANGELOG#L1-L17

Change-Id: I6c5a34afea8b05a3dca617897c192594df06ca90
2014-05-15 16:52:34 +00:00
Krenair 81801edb50 Only send useful oldid while switching to wikitext editor if it's specifically requested
Usually we can just send 0. Sending anything else makes PostEdit think we're restoring an old revision.

Bug: 65269
Change-Id: I60454a7a4ea3f6c7cef4c707da3016dd0ec29b88
2014-05-14 22:24:47 +01:00
Bartosz Dziewoński 5e253306d1 Follow-up Id401d973: mw.Target: Make the "Cite" label in the toolbar translatable
Also, re-alpha-sort the ve-mw i18n files.

Change-Id: Id3fc7894b3774042c5eda877c9edf55ef4941ebf
2014-05-11 09:09:09 +02:00
Timo Tijhof ad2fdfb66b ve.init.mw.ViewPageTarget: Actually animate the toolbar during setup
There was a slideDown() call, but this didn't do anything since
toolbars are visible and in the DOM by default.

As a temporary hack, hide it synchronously after creation and
then do the slideDown still.

This could ever so briefly cause a flash, though that didn't
happen in my testing.

This makes the experience smoother when we initialise the surface.
In particular the moment where we swap #bodyContent for our Surface
(which should look visually almost identical), before this change
it was still a bit of a flash since the Surface version has a
toolbar on top, and thus instead of swapping smoothly, we hide
content and show a similar piece of content that has an incompatible
offset from the top.

Bug: 64751
Change-Id: Id94974ba71fd887ce494d7b2b16ec62d43b18575
2014-05-06 02:43:37 +00:00
Juliusz Gonera 72fdab7a0d Enable references on mobile
Further styling and UI improvements in upcoming patches.

Change-Id: I8f93f2a2a6a6eb0c3a9953c7c479f92872d5b621
2014-05-02 14:49:19 -07:00