Commit graph

432 commits

Author SHA1 Message Date
Trevor Parscal a65148d69e Update VE core submodule to master (9240a51)
New changes:
50ccb23 Localisation updates from https://translatewiki.net.
9240a51 Update OOjs UI to v0.7.0

Local changes:
* MWTemplateDialog: Stop waiting for removed loading promise to
  finish, as in OOjs UI I2bfa013 the loading promise is removed
  since iframes were the only reason we needed it.

Change-Id: I1500f480d40d06e417366014b9c2a76f7ce9c29b
2015-02-11 16:50:45 -08:00
Moriel Schottlender a3973145d5 Display image uploader and artist correctly in the media dialog
Add the display for the actual uploader, and change the label
for the artist to "Artist" for differentiating the two roles.

Bug: T88835
Change-Id: Ie939572e7c1240321556f6f81ed9e67d792a339d
2015-02-11 11:14:43 -08:00
jenkins-bot 7ac177c02e Merge "Template dialog: Disable 'Apply changes' until a change is made" 2015-02-10 23:17:01 +00:00
Ed Sanders d6818c558d Use ve.ui.AlignWidget in media dialog
Change-Id: I70579971a22c5bfee1e373b57ba7fe24a46ef406
2015-02-10 10:49:53 +00:00
Roan Kattouw 3f15c5be5d MWMediaDialog: Focus the right thing on ready, depending on the panel shown
The ready handler unconditionally focused the surface, even if
a different panel was shown. Prior to aa9eb9545 this didn't
actually break the search mode, because the search input was
focused after the image repo information came back, which
usually happened after ready. However, aa9eb9545 instead focused
the search input from the setup process, which is too early.

Also introduce this.currentPanel as a way to track
which panel is currently visible.

Bug: T88881
Change-Id: I0189fbeed73ee9103e45fec4a1bc8d4ee1b6ed40
2015-02-06 18:12:06 -08:00
Moriel Schottlender aa9eb95455 Refactor MWMediaSearchWidget to use a queue and providers
Change the media search widget to work with resource queues and
providers. Create providers based on the user's filerepo settings
and aggregate their responses with the media queue. Stop asking
for more results from providers that are depleted.

Also fixes a rather nasty infinite-loop bug where the API returns
only very few images, and the UI keeps asking for more.

Bug: T78161
Bug: T88764
Change-Id: I65aed3446cd1f056476c56e6e04522c70e49e595
2015-02-06 16:45:56 -08:00
Moriel Schottlender 8a53b2cd07 Use css class instead of jquery show/hide
Replace instances of .show() and .hide() with ooui 'hidden' class
to make performance better.

Related ooui change: Ibf7c99aa4aad

Bug: T87420
Bug: T88736
Change-Id: I3af8a322e88b7ba3364f350819d6dbcdc8b13270
2015-02-06 11:03:59 -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
Moriel Schottlender 70fb0ea24f Use the new image cache in the media dialog
Prevent another api call for image sizing by caching the chosen
image in the media dialog with the imageInfoCache.

Bug: T88187
Change-Id: If2d905eeb5907f29b6839692509dfc07a06c230e
2015-02-02 19:32:46 +00:00
Alex Monk dc69b15db1 Template dialog: Disable 'Apply changes' until a change is made
Bug: T76926
Bug: T76927
Change-Id: I5a664f865c11690a19b754fc9877baf37e34edad
2015-01-31 03:19:06 +00:00
jenkins-bot cc6a629927 Merge "Use padding on save dialog panels so scrollbar is correctly positioned" 2015-01-31 02:31:02 +00:00
Ed Sanders e0d9b062d4 Use padding on save dialog panels so scrollbar is correctly positioned
Previously was using a margin so the scrollbar floated 1.25em from the
edge of the dialog.

Remove Apex-specific hack.

Change-Id: Idc953c492a6527a9216b77256d406fc3435ec0a9
2015-01-30 18:14:07 -08:00
jenkins-bot 6230e80904 Merge "MWSaveDialog: Make the diff screen a larger rather than large size" 2015-01-31 02:02:21 +00:00
jenkins-bot 4443349a11 Merge "Add a layout queue to media result widget" 2015-01-29 18:34:50 +00:00
jenkins-bot cc4e8e7ebd Merge "When changing image source, use already-available API info" 2015-01-29 18:34:03 +00:00
jenkins-bot e372b93c4c Merge "Lazy load the media search results" 2015-01-29 18:33:47 +00:00
Moriel Schottlender 3d60389ea0 Add a layout queue to media result widget
Use a queue for the method that lays out the result images in
the rows; this queue will only run if the widget is visible,
to make sure that the calculations of the masonry view work
as they should.

In better words: Only cue the queue if the widget is visible.

Bug: T86802
Change-Id: Ia8a30a6a5cccd98a1201443d672e4a6ab4aa946f
2015-01-28 18:01:47 -08:00
Moriel Schottlender e454b81f4d When changing image source, use already-available API info
When the user changes an image to another in the media dialog, we
already have API info that includes the original dimensions, media
type and other information that is required for the Scalable object
to compute the new current dimensions. We can use this info if it
exists instead of asking for another API call. Also make sure to
update the filename when we change an image in the dialog.

Bug: T87267
Change-Id: I9d86959b99b3f3dfed92255a9dba9a8fdd352dcb
2015-01-29 01:58:07 +00:00
Moriel Schottlender a44e0d2e5d Lazy load the media search results
* Set the src attribute only when the image is actually
  visible in the search results.
* Display the thumbnail image we have from the search
  results and then update with a larger one from the API.
* Request for more media results on a higher threshhold,
  when the user views 2 rows above the last available
  result.
* Correct the resizeToBoundingBox and simplify it to work
  properly for a non-square bounding box regardless of
  constraints.

Change-Id: If024b0335ce6a5d2d0eafdbfdfe1030dcaac3a75
2015-01-28 17:56:54 -08:00
jenkins-bot e9d770ed11 Merge "MWMediaDialog: Add contextual help for controls" 2015-01-28 23:42:01 +00:00
Moriel Schottlender 34f93bef08 Focus the add template input in the template dialog
Focus the page in the booklet layout so the add template
input is also focused at the opening of the template dialog.

Bug: T85484
Change-Id: Id9ae4653dc2a2e1d1dc16c83c540e22e30f4ea55
2015-01-23 17:55:26 -08:00
James D. Forrester d8f342a640 MWMediaDialog: Add contextual help for controls
Bug: T53798
Bug: T75731
Change-Id: Ideae0052c366a8c4e03285270569e5c5ca608ad8
2015-01-20 15:53:31 -08:00
James D. Forrester 7daf17fadc MWMediaDialog: Make the dialog bigger when searching for media to insert
Bug: T86397
Change-Id: I40e78441dd555dff837516220653b1c54bf5af92
2015-01-16 16:29:26 -08:00
James D. Forrester 9625bd2c99 MWSaveDialog: Make the diff screen a larger rather than large size
Bug: T78823
Change-Id: If14acbeb8449e27e692bc52556c1d31305b4c54a
2015-01-16 16:04:05 -08:00
Moriel Schottlender 061925be87 Add filename to the media dialog
Show the currently used filename at the top of the media dialog so
it can be copied and used in other pages if needed.

Bug: T54459
Change-Id: Ib1844c997189f7ead0656c5a811d3cab70030f89
2015-01-16 17:40:40 +00:00
jenkins-bot 2ebdf34c29 Merge "Transform the search widget to show image details" 2015-01-16 13:26:25 +00:00
Moriel Schottlender 4947420650 Transform the search widget to show image details
Add an info panel to the MediaDialog to show the user information
about the chosen file from the new extmetadata API.

Also, change the way results are viewed:
* Present the search results with their proper ratio.
* Use masonry fit for the search results.
* Change the resizeToBoundingBox method in ve.dm.MWImageNode to accept
  a specific side constraint, either 'width' or 'height'. This is also
  going to be useful for adding and calculating 'scale' considerations
  that affects the image height.
* Add info panel with details from extmetadata including author, license,
  date of upload and creation, etc.
* Get descriptions and data according to wiki language.

Bug: T78161
Bug: T74061
Change-Id: I7b4d019825aa89dd178665bd9492a07af15954ac
2015-01-16 13:22:54 +00:00
James D. Forrester 2f8b3e0d96 build: Bump copyright notices to 2015
Change-Id: Ie92dab7411116d3410195c3fb0a3513c664c0c30
2015-01-12 20:34:19 -08:00
Moriel Schottlender cc293dc4c4 SurfaceWidgets should listen to history
The history event reflects actual changes, rather than the transact
event that masks staged changes done to the document.

Bug: T85845
Change-Id: I1faeb97677540f08c512b48b47fafe28b1072579
2015-01-12 11:51:44 -08:00
Alex Monk 9966298593 Re-focus edit summary input when save dialog is ready
I thought this was already being done elsewhere and so removed it back in Ifb8fd9be

Bug: T75675
Change-Id: Ia015c96ec8332af75428f156e4ed7a25184db96b
2015-01-06 00:54:02 +00:00
Bartosz Dziewoński 74db35b93c MWSaveDialog: Correct whitespace
Change-Id: I9f2ad375bc04e798aa4d2f2a8097a4af0a2b2e4d
2015-01-05 22:05:42 +01:00
Amir E. Aharoni 84629d1b6c Clarify a comment and correct its spelling
Change-Id: Idd1334d60822a1bfaae2354bca6cb277016f81f7
2014-12-28 00:51:52 +02: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
Alex Monk 0d0172d43b Set 's' accesskey on save button inside save dialog
Can be done much nicer than I expected last time I looked at this task

Bug: T76161
Change-Id: I9541cd9dac69330ed8a802f301617619221bc263
2014-12-15 21:07:54 +00:00
Bartosz Dziewoński 29ff7b737e Rename some things for my sanity
Change-Id: I101943fa027947e73f7f7559bd706faadad90e95
2014-12-12 20:49:00 +00:00
Bartosz Dziewoński 16e8255f69 Update VE core submodule to master (b5e2b87)
New changes:
96d0936 Mark primary buttons as progressive as well
68f184c Localisation updates from https://translatewiki.net.
b96c9dc [BREAKING CHANGE] Rename method cmpOffsetPaths to compareOffsetPaths
862f31d Convenience compareDocumentOrder method
b5e2b87 Update OOjs UI to v0.5.0

Local fixes to correct for breaking change I32608c7f in OOjs UI.

Change-Id: I64f5e2f6ccc0056bfa9eda5e65e87789b97b8ad5
2014-12-12 12:29:05 -08:00
jenkins-bot 87143d4c36 Merge "Mark primary buttons as progressive as well" 2014-12-11 22:59:04 +00:00
James D. Forrester 57a68d082b Mark primary buttons as progressive as well
Also make save button primary.

In anticipation of Iee91d2c6 in OOjs UI

Change-Id: I123044bfaba631866ad32a35643f23686a17a16f
2014-12-11 22:55:16 +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
Moriel Schottlender e0894b807f Surfaces should have parent document direction
Make sure all surface widgets have documents that are initialized
with the direction of the parent document, so the alignment is set up
correctly.

Bug: T71969
Change-Id: I6e5f003e18a9c5808d9a4b148eddf0d0f7e29e67
2014-12-10 16:46:16 -05:00
Timo Tijhof ee954cbdd5 Use String#slice instead of discouraged String#substr
Aside from the confusion and differences between substr() and
substring() and IE8 bugs with substr(), substr() was removed from
the spec as of ECMAScript 5. It's been standardised in the
optional Annex B section of ES5.

Change-Id: I221ef6ae6956ce20dd9bb74510500f747d04c3b1
2014-12-06 21:26:20 +00:00
Alex Monk fc6eaf6825 Don't re-enable apply changes in reference dialog if the changes have been undone
Per Roan on Ib5229bdc

Bug: T57976
Change-Id: I0450ab59ea8aa2e3130eb9124de74e67ffc0497f
2014-12-05 23:50:57 +00:00
Alex Monk db4d034fd7 Disable Apply Changes in reference dialog until changes have been made
Bug: T57976
Change-Id: Ib5229bdc480ec437436c5d8d351b06417d4ffd9b
2014-12-02 01:34:44 +00:00
jenkins-bot 55eba4c1cc Merge "Change event listener for caption surface in media dialog" 2014-12-01 19:05:09 +00:00
Moriel Schottlender 78b86cd72d Set panels after everything is initialized in media dialog
Only change the panels (and focus the caption surface) after the
surface is actually appended and initialized.

Bug: T76074
Change-Id: I3d514f38b5fd9f794c4ff8c44a64f5f3475a84bd
2014-11-26 19:26:44 -05:00
Roan Kattouw 8fc9b290c0 Followup c56a921: use cite-transclusion-* tools in MWReferenceDialog, not cite-*
Because a lot of toolbar customization was removed, use an evil
hack to get this in there for now. Should be cleaned up later.

Bug: T76082
Change-Id: I0fd5ddc6fa11162deb615f0b387d6d59c5cc4a3a
2014-11-26 15:49:04 -08:00
Moriel Schottlender 30ce139955 Change event listener for caption surface in media dialog
Make sure the dialog is listening to the correct event for when
caption surface changes.

Bug: T76074
Change-Id: I214947a440e4f78adf1541d8008599fe65ac8b2c
2014-11-26 20:04:07 +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 d34c275020 Merge "Work around broken BooketLayout#focus method in OOUI for now" 2014-11-25 23:57:26 +00:00
Roan Kattouw d2b8091372 Work around broken BooketLayout#focus method in OOUI for now
Change-Id: I1750951487fc7a8e1fcb5fff5dea6ee9a2547cf1
2014-11-25 15:54:03 -08:00