Commit graph

3295 commits

Author SHA1 Message Date
jenkins-bot 31c6d9832d Merge "JSDuck: Generated code documentation!" 2013-01-07 23:41:07 +00:00
Translation updater bot 3a14ed48e9 Localisation updates from http://translatewiki.net.
Change-Id: Iab61dbf42cb2dc61bebc9960116229e249eb1d06
2013-01-06 20:16:38 +00:00
Timo Tijhof b11bbed7a6 JSDuck: Generated code documentation!
See CODING.md for how to run it.

Mistakes fixed:
* Warning: Unknown type function
  -> Function
* Warning: Unknown type DOMElement
  -> HTMLElement
* Warning: Unknown type DOM Node
  -> HTMLElement
* Warning: Unknown type Integer
  -> Mixed
* Warning: Unknown type Command
  -> ve.Command
* Warning: Unknown type any
  -> number
* Warning: Unknown type ve.Transaction
  -> ve.dm.Transaction
* Warning: Unknown type ve.dm.AnnotationSet
  -> ve.AnnotationSet
* Warning: Unknown type false
  -> boolean
* Warning: Unknown type ve.dm.AlienNode
  ve.dm doesn't have a generic AlienNode like ve.ce
  -> Unknown type ve.dm.AlienInlineNode|ve.dm.AlienBlockNode
* Warning: Unknown type ve.ve.Surface
  -> ve.ce.Surface
* ve.example.lookupNode:
  -> Last @param should be @return
* ve.dm.Transaction.prototype.pushReplace:
  -> @param {Array] should be @param {Array}
* Warning: ve.BranchNode.js:27: {@link ve.Node#hasChildren} links to non-existing member
  -> (removed)
* Warning: ve.LeafNode.js:21: {@link ve.Node#hasChildren} links to non-existing member
  -> (removed)

Differences fixed:
* Variadic arguments are like @param {Type...} [name]
  instead of @param {Type} [name...]
* Convert all file headers from /** to /*! because JSDuck tries
  to parse all /** blocks and fails to parse with all sorts of
   errors for "Global property", "Unnamed property", and
  "Duplicate property".
  Find: \/\*\*([^@]+)(@copyright)
  Replace: /*!$1$2
* Indented blocks are considered code examples.
  A few methods had documentation with numbered lists that were
  indented, which have now been updated to not be intended.
* The free-form text descriptions are parsed with Markdown,
  which requires lists to be separated from paragraphs by an
  empty line.
  And we should use `backticks` instead of {braces} for inline
  code in text paragraphs.
* Doc blocks for classes and their constructor have to be
  in the correct order (@constructor, @param, @return must be
  before @class, @abstract, @extends etc.)
* `@extends Class` must not have Class {wrapped}
* @throws must start with a {Type}
* @example means something else. It is used for an  inline demo
  iframe, not code block. For that simply indent with spaces.
* @member means something else.
  Non-function properties are marked with @property, not @member.
* To create a link to a class or member, in most cases the name
  is enough to create a link. E.g. Foo, Foo.bar, Foo.bar#quux,
  where a hash stands for "instance member", so Foo.bar#quux,
  links to Foo.bar.prototype.quux (the is not supported, as
  "prototype" is considered an implementation detail, it only
  indexes class name and method name).
  If the magic linker doesn't work for some case, the
  verbose syntax is {@link #target label}.
* @property can't have sub-properties (nested @param and @return
  values are supported, only @static @property can't be nested).
  We only have one case of this, which can be worked around by
  moving those in a new virtual class. The code is unaltered
  (only moved down so that it isn't with the scope of the main
  @class block). ve.dm.TransactionProcessor.processors.

New:
* @mixins: Classes mixed into the current class.
* @event: Events that can be emitted by a class. These are also
  inherited by subclasses. (+ @param, @return and @preventable).
  So ve.Node#event-attach is inherited to ve.dm.BreakNode,
  just like @method is.
* @singleton: Plain objects such as ve, ve.dm, ve.ce were missing
  documentation causing a tree error. Documented those as a
  JSDuck singleton, which they but just weren't documented yet.
  NB: Members of @singleton don't need @static (if present,
  triggers a compiler warning).
* @chainable: Shorthand for "@return this". We were using
  "@return {classname}" which is ambiguous (returns the same
  instance or another instance?), @chainable is specifically
  for "@return this". Creates proper labels in the generated
  HTML pages.

Removed:
* @mixin: (not to be confused with @mixins). Not supported by
  JSDuck. Every class is standalone anyway. Where needed marked
  them @class + @abstract instead.

Change-Id: I6a7c9e8ee8f995731bc205d666167874eb2ebe23
2013-01-05 01:16:32 +01:00
Translation updater bot ee307cd871 Localisation updates from http://translatewiki.net.
Change-Id: I0f6a8f9f101d8ba5b2382cdc1ea7e6cd1ad28499
2013-01-01 20:27:16 +00:00
Translation updater bot 19da918cc2 Localisation updates from http://translatewiki.net.
Change-Id: I78cbf7250e1475ed145055e5c2d590af042817a1
2012-12-31 21:15:55 +00:00
Translation updater bot d3518f3793 Localisation updates from http://translatewiki.net.
Change-Id: I50ab1323ccc7192465e5cefa71a5abb30ab5dc4c
2012-12-30 20:21:52 +00:00
Translation updater bot d0cad8628e Localisation updates from http://translatewiki.net.
Change-Id: I12838f56addebc08a200a9c626d97891b95ff7eb
2012-12-29 19:49:51 +00:00
Translation updater bot b144746517 Localisation updates from http://translatewiki.net.
Change-Id: If55ce5814a3471480e0acedc87905a98ecf594fd
2012-12-28 21:22:37 +00:00
Translation updater bot 55df10e697 Localisation updates from http://translatewiki.net.
Change-Id: I682f716924f7c8e214ca7705dfc4a08961285496
2012-12-27 21:30:45 +00:00
Translation updater bot 28b3ab9bfa Localisation updates from http://translatewiki.net.
Change-Id: I39b0dc4c8a2ce55c462aac6ceebc4a722e369b7d
2012-12-26 21:19:22 +00:00
Translation updater bot 7dd12c2fa8 Localisation updates from http://translatewiki.net.
Change-Id: I58cb40894e2ba167ed9d300cd572a81e435b9cc3
2012-12-25 20:19:51 +00:00
Translation updater bot d644d255a7 Localisation updates from http://translatewiki.net.
Change-Id: Ia65549e788fc97248a113240139e82d94663d7d1
2012-12-23 22:03:12 +00:00
Siebrand Mazeland 7593905152 Remove en-gb
Same as en. Superfluous.

Change-Id: I6f3a6a2779e935ab4f76d9f5cfa529b16994b9b4
2012-12-23 02:29:24 +01:00
Translation updater bot 402d9836de Localisation updates from http://translatewiki.net.
Change-Id: I3601870992d4b8feb6e7952776218bfb85cbf394
2012-12-22 22:25:37 +00:00
Catrope 7bcf35e0e8 (bug 43056) Inline tags like <span> are block-alienated sometimes
This happens when the <span> is the start of unwrapped content. The
converter logic to look at the tag name in wrapping mode doesn't kick in
because we're not yet in wrapping mode at that point.

The core issue was that previously, we relied on the document
structure/state to choose between alienBlock and alienInline, and only
used the tag name where the document structure was ambiguous (wrapping).
Changed this to be the other way around: we now rely primarily on the
tag name, and if that doesn't match what we expect based on the document
structure, we work around that if possible. Specifically:
* inline tag in our wrapper --> inline alien
* block tag in our wrapper --> close wrapper, block alien
* inline tag in wrapper that's not ours --> inline alien
* block tag in wrapper that's not ours --> *inline* alien
* inline tag in structural location --> open wrapper, inline alien
* block tag in structural location --> block alien
* inline tag in content location --> inline alien
* block tag in content location --> *inline* alien
only in the fourth and the last case do we need to use the "wrong" alien type to
preserve document validity, and it will always be inline where block was
expected, which should reduce UI issues.

The condensed version of the above, which is used in the code, is:
* If in a non-wrapper content location, use inline
* If in a wrapper that's not ours, use inline
* Otherwise, decide based on tag name
* Open or close wrapper if needed

ve.dm.Converter:
* Replace isInline logic in createAlien() with the above
* Factor out code to start wrapping (was duplicated) into startWrapping()
* Call startWrapping() if createAlien() returns an alienInline and we're
  in a structural location

Tests:
* Add test cases with aliens at the start and end of unwrapped content
** The first one failed prior to these changes and now passes, the
   second one was already passing
* Fix about group test case, was exhibiting the bug that this commit fixes

Change-Id: I657aa0ff5bc2b57cd48ef8a99c8ca930936c03b8
2012-12-22 12:27:11 +01:00
Christian Williams b740e694b9 BugID 43076 - Fixes to alien and phantom corner cases
The {{coords}} template is correctly rendered as an inlineAlien, which previously did not have shields. However, the template has a deeply nested span that is positioned and floated. The fix is to shift shielding logic up to AlienNode (from AlienBlockNode) and to show phantoms on all shields (both block and inline). I've also updated the aliens demo to exhibit this corner case.

Change-Id: Ifce60c7762c0ead5c6fe29d6eabf601c1565cbfa
2012-12-21 15:20:15 -08:00
jenkins-bot 24e6219cd1 Merge "Fixing label tag in demo" 2012-12-20 22:32:16 +00:00
Translation updater bot 85257f13c3 Localisation updates from http://translatewiki.net.
Change-Id: I368511b4adc0a4d7f700aa0812305edaa01f60ce
2012-12-20 21:07:05 +00:00
Christian Williams d86312cde2 Fixing label tag in demo
Change-Id: I5715ec4a4f710bcadbe226b79a930d71dfd9e2d1
2012-12-19 17:49:29 -08:00
Translation updater bot ea769d221b Localisation updates from http://translatewiki.net.
Change-Id: I00df3f25088c46eda00b2c3aa210757a4b73076c
2012-12-19 20:04:35 +00:00
jenkins-bot b5edb71467 Merge "Fix outdent tooltip calling for a non-existant message" 2012-12-19 18:35:24 +00:00
Translation updater bot 40e366009d Localisation updates from http://translatewiki.net.
Change-Id: Ic13434f023a33edc221881b6b085cc51107a06fc
2012-12-18 20:42:20 +00:00
Translation updater bot 79248e3071 Localisation updates from http://translatewiki.net.
Change-Id: I81ecea2a6e989ac25c382195e8acad69ebd5b26c
2012-12-17 21:31:50 +00:00
jenkins-bot 33f2c76ea4 Merge "(bug 43098) Prevent alien node contents from floating above phantoms." 2012-12-16 22:19:27 +00:00
Translation updater bot 563d7c06e6 Localisation updates from http://translatewiki.net.
Change-Id: I8c4bd126e41e9b3087f74a6356557d9ded88e87b
2012-12-16 20:54:59 +00:00
Translation updater bot 6433b7ccbf Localisation updates from http://translatewiki.net.
Change-Id: I271d6fd62d52ff8a456b19e3297d3d1d914f70d3
2012-12-15 23:58:20 +00:00
James D. Forrester 7fc63a1d75 Trivial wording change to disclaimer meant to be done before launch
Change-Id: Ic89b3f0847f4f9ebd798ab36b7732c7f6e9a81ce
2012-12-14 16:18:13 -08:00
Rob Moen 041359ba01 (bug 43098) Prevent alien node contents from floating above phantoms.
* Sets z-index of alien blocks to 0.
* Simplify alienNode css
* Add missing -ms-user-select: none;
* Add missing [-moz-|-ms-|]user-select: element
  (webkit doesn't support element, auto is closest)

Change-Id: I889074a659483ce3d48380be5f50f80abb573286
2012-12-15 00:58:52 +01:00
James D. Forrester 851bd1a76e Fix outdent tooltip calling for a non-existant message
Change-Id: I8b39f116181310b86d804a567eedf9c68bde594f
2012-12-14 15:53:53 -08:00
Translation updater bot 240ae6b81f Localisation updates from http://translatewiki.net.
Change-Id: I79058ee012e3fde329ab0fc19205af2686a5b189
2012-12-14 20:38:13 +00:00
Rob Moen 90f046799f Set title attributes for internal and external links.
Fixes (Bug 37904)

Change-Id: Ib987f74fa9f326fe583683401424c79ba9651caf
2012-12-13 14:04:00 -08:00
Translation updater bot a69d446c1e Localisation updates from http://translatewiki.net.
Change-Id: I5869cd6c77c94e4c3994917860c6f399cc4ec274
2012-12-13 20:31:37 +00:00
jenkins-bot cf5f2ae0f5 Merge "(bug 43040) All edits were being marked as minor" 2012-12-13 04:46:25 +00:00
Catrope 892990ef17 (bug 43040) All edits were being marked as minor
&minor=false doesn't work, but &minor=0 does

Change-Id: I73e18e7b58a151d78d56aa199cdfadb6d7150f1d
2012-12-12 17:51:47 -08:00
jenkins-bot df359ce829 Merge "Typo from I65447da8." 2012-12-13 01:12:13 +00:00
Timo Tijhof de4e12367f Typo from I65447da8.
Change-Id: I27cce9784149cf1e98c4ed144ead4718978a74ae
2012-12-13 02:11:25 +01:00
jenkins-bot eca19a1618 Merge "Handle a null response in onLoad()" 2012-12-13 01:02:37 +00:00
jenkins-bot c3c2dca9f2 Merge "Close suggestions when escape key pressed." 2012-12-13 01:00:42 +00:00
jenkins-bot e5e4dafe2e Merge "Only call showSelecton on undo and redo if there is a returned range." 2012-12-13 01:00:35 +00:00
Catrope 803001d652 Handle a null response in onLoad()
Change-Id: I6ce6c3b313c4785db1bad47c8822cca5114d17a3
2012-12-12 16:58:06 -08:00
Rob Moen c9da8f61dd Close suggestions when escape key pressed.
Fixes (Bug 43051)

Change-Id: I5e6baeec62da49b10793f2ebe7d341697a63f9c4
2012-12-12 16:54:11 -08:00
jenkins-bot 8b50543b6d Merge "Save dialog: Fix too-wide diff box." 2012-12-13 00:51:25 +00:00
jenkins-bot 74b874c1fa Merge "(bug 43013) Exclude edit notices with no visible text." 2012-12-13 00:39:10 +00:00
jenkins-bot 9ad0328b56 Merge "Phase out $.toJSON, use JSON.stringify directly." 2012-12-13 00:36:54 +00:00
Timo Tijhof 4fa57b469a Phase out $.toJSON, use JSON.stringify directly.
Although $.toJSON optimises heavily for modern browsers (it
becomes a direct reference to JSON.stringify), we still load the
extra plugin.

JSON is specified as part of ECMAScript 5, but most browsers
supported this one before they supported the rest of ES5.

http://caniuse.com/#search=JSON

Cut off for native JSON is IE7, Firefox 3.0 (3.6 supports it) and
Safari 3. Not any of our concern as VE will most likely never
support those (certainly not at this point in time, and less
likely as time goes on).

Change-Id: I4e8f26ac94763fa38d29e41264de0247f53a21e5
2012-12-13 01:33:46 +01:00
Timo Tijhof 18ab361a43 (bug 43013) Exclude edit notices with no visible text.
en.wikipedia.org has a template gala for edit notices with a whole
bunch of html framework outputted by default from
MediaWiki:Editnotice-0 (even if their underlying system has no
matches for the current page).

In the core editor from EditPage.php this isn't a problem as the
element is just idling hidden above the editor.

In the case of VisualEditor (where we have a custom delivery for
the edit notices) we don't want to say "1 notice available" on
every page, so we need to be smart and quickly walk the dom of the
notice, filter out invisible nodes, and if the resulting nodes
have no contents, ignore the notice all together.

Change-Id: I65447da8b88a9bae9c24ff155544ff66b3fe9100
2012-12-13 01:26:11 +01:00
Trevor Parscal 718e72d534 Disabled VisualEditor section edit link overrides by default
Server config: $wgVisualEditorEnableSectionEditLinks
Client config: mw.config.get( 'wgVisualEditor' ).enableSectionEditLinks

Change-Id: I859546475a32a686e318aa7108396606b5a0a78d
2012-12-12 15:35:33 -08:00
Translation updater bot 3163cb4053 Localisation updates from http://translatewiki.net.
Change-Id: Ie9545be769df90cab2d67bdd20cd68d25f643da6
2012-12-12 21:18:18 +00:00
Rob Moen a09ab4d70a Only call showSelecton on undo and redo if there is a returned range.
Fixes (Bug 43033)

Change-Id: I36745a01fad135b8eb02ee0da22d74ebf0a4c118
2012-12-12 12:07:02 -08:00
James D. Forrester 112a22f820 Link 'user' namespace as well as 'main' in preferences label
This was skipped due to time constraints; now fixing up.

Change-Id: I4ef25c0aeabdcf14a078aa3360e43db223010ff7
2012-12-12 11:50:57 -08:00