Commit graph

651 commits

Author SHA1 Message Date
Gilles Dubuc 0f8c7dc214 Improve post-fullscreen panel/image sizing logic
Also deletes custom event that should have been cleaned up before

Change-Id: I531a9cb068b0ae26ea0c3b46d8fdad84068c6931
Mingle: https://wikimedia.mingle.thoughtworks.com/projects/multimedia/cards/569
2014-05-07 06:49:15 +02:00
Gilles Dubuc 8a9f23dab7 Remove the threshold where a load is considered to be coming from the browser cache
We'll filter those out in SQL instead.

Change-Id: I2b7c019e20fa224480035b67c64b5666d21ba55c
Mingle: https://wikimedia.mingle.thoughtworks.com/projects/multimedia/cards/563
2014-05-06 16:59:53 +00:00
Gergő Tisza 59b8e5c82a Use localized namespace name in embed wikitext
Bug: 64710
Change-Id: I2164e3dfafe8ddf4b88ae0d2f23e8573cf162b89
2014-05-04 05:01:48 +00:00
jenkins-bot 9e0df0dd4c Merge "Refactor progressbar & blur handling" 2014-05-01 23:12:22 +00:00
Gergő Tisza fec24e02f7 Refactor progressbar & blur handling
This tries to fix a number of related issues:
* the blurred thumbnail was visible for a split-second sometimes
  when switching back to an already-loaded image. (Presumably when
  JS was sluggish enough to take more than 10 ms to execute.) We
  now check whether the promise is pending before showing a placeholder.
  (More generally, a lot of unnecessary logic was executed when paging
  through already loaded images, like displaying the placeholder, so
  this might make the UI a bit more responsive.)
* the blur could get stuck sometimes - I have seen this a few times,
  but have never been able to reproduce it, so I'm only guessing, but
  maybe the timing was really unfortunate, and we switched back less
  than 10 ms before loading finished. We now remove the blur on every
  branch, just to be sure.
* adding a progress handler to a promise might not have any immediate
  effect, so when switching to an image which was loading, the progress
  bar reacted too late. We now store the progress state per thumbnail
  so it is always available immediately.
* the progress would animate from 0 to its actual state whenever we
  navigated to the image. The change on paging is now instant; the
  progress bar only animates when we are looking at it.
* switching quickly back and forthe between a loaded and a loading
  image resulted in the loading image becoming unblurred. This seems
  fixed now, I'm not sure why. Maybe the "skip on non-pending promise"
  logic affects it somehow.

Also removes some unused things / renames some things which were
confusing, and makes an unrelated fix in the image provider, which kept
amassing fail handlers.

Change-Id: I580becff246f197ec1bc65e82acd422620e35578
Mingle: https://wikimedia.mingle.thoughtworks.com/projects/multimedia/cards/489
2014-05-01 21:09:28 +00:00
Gergő Tisza 88f766bfc3 Reanimate metadata panel when viewer is reopened
Change-Id: I776a27358b2da17a35234aa8cb649a49df4a651d
Mingle: https://wikimedia.mingle.thoughtworks.com/projects/multimedia/cards/548
2014-05-01 12:05:26 +02:00
Gilles Dubuc 5f7af0cede Catch exceptions raised by localStorage write operations
Also adds dependency injection to the metadata panel
for cleaner tests.

Change-Id: I3f062ff88c03ad3baca00461bff486a883776eb1
Mingle: https://wikimedia.mingle.thoughtworks.com/projects/multimedia/cards/530
2014-05-01 12:00:31 +02:00
jenkins-bot 553a9f142d Merge "Disable JSONP cache breaking in jQuery" 2014-05-01 09:50:32 +00:00
jenkins-bot 8138013421 Merge "Fix Commons tooltip for messages using GRAMMAR such as he" 2014-05-01 08:41:28 +00:00
jenkins-bot 862c2f162d Merge "Fix "use this file" arrow CSS for RTL" 2014-05-01 00:08:30 +00:00
Gergő Tisza 7ecda828fe Fix Commons tooltip for messages using GRAMMAR such as he
Change-Id: I1ec744cda78a5882a089ba0c32eae924559ed4e6
Mingle: https://wikimedia.mingle.thoughtworks.com/projects/multimedia/cards/553
2014-05-01 00:04:09 +00:00
Mark Holmquist 969c5bfda9 Add preferences link after "help"
Reused message from the top-right menu.

Change-Id: Id37712e332bf8fed56edaa9ae8f7e04a2a5a5f42
2014-04-30 22:49:09 +00:00
Gergő Tisza 7a4a8e90ad Disable JSONP cache breaking in jQuery
Change-Id: Ie3b80b0c2f8ce734c6d08418c7b19a7e24c2d5eb
Mingle: https://wikimedia.mingle.thoughtworks.com/projects/multimedia/cards/547
2014-04-30 22:39:17 +00:00
jenkins-bot 182f1cd6bb Merge "Fix RTL positioning for repo icon" 2014-04-30 20:56:51 +00:00
Gilles Dubuc ad6cc656ce Fix RTL positioning for repo icon
Change-Id: Iad6f0002913fb6361f22a467b08e6489a40adeea
Mingle: https://wikimedia.mingle.thoughtworks.com/projects/multimedia/cards/512
2014-04-30 20:55:12 +00:00
Gilles Dubuc f09abebbf4 Change the tipsy gravity for the stripe buttons
- this avoids an issue where the arrow wouldn't point to what we
want when near the edge of the screen
- this avoids an RTL issue where the bubble would go outside of
the screen

Bug: 64258
Change-Id: I1cc9683af2743b093a45b19d7142fe7e5e66423f
Mingle: https://wikimedia.mingle.thoughtworks.com/projects/multimedia/cards/485
2014-04-30 17:01:17 +02:00
Gilles Dubuc acaa7e5afd Fix "use this file" arrow CSS for RTL
Change-Id: I638cd449041693d34a20667a43b7c6ef1c2b443e
Mingle: https://wikimedia.mingle.thoughtworks.com/projects/multimedia/cards/550
2014-04-30 16:28:18 +02:00
Gergő Tisza 6d301dcd12 Do not handle clicks if MediaViewer could not be loaded.
mmv.bootstrap will not try again to handle clicks if it failed
for the first time.

Change-Id: Idd55d7dc6c1388070895f8630bdcd51763a94d86
Mingle: https://wikimedia.mingle.thoughtworks.com/projects/multimedia/cards/527
Bug: 63801
2014-04-29 16:04:17 -07:00
Gilles Dubuc 8ab6ef23c8 Adds new performance metrics
- duration between early click and replayed click
- duration between replayed/post-replay click and first image display
- duration between replayed/post-replay click and first metadata display

Change-Id: Ia308db7580fd89538b9a9c8b0fea89fa2a4c77d2
Mingle: https://wikimedia.mingle.thoughtworks.com/projects/multimedia/cards/515
Mingle: https://wikimedia.mingle.thoughtworks.com/projects/multimedia/cards/508
2014-04-29 14:08:49 -07:00
jenkins-bot 8f250b4628 Merge "Enable survey in Dutch" 2014-04-29 20:38:31 +00:00
Gilles Dubuc 0d51b0128d Preload Media Viewer js/css when hovering thumbs
Change-Id: I6f56c9d3d908f1980d2a3b29bea857d828fdaf0e
Mingle: https://wikimedia.mingle.thoughtworks.com/projects/multimedia/cards/430
2014-04-29 13:36:47 -07:00
Gergő Tisza bbe3429f38 Enable survey in Dutch
Related core change: Ic5892e29c6e64d0d015e8b6037c402c42ea1c7d5

Change-Id: I5f939f98f8654c3fd90bcfae1b28fec262da8332
Mingle: https://wikimedia.mingle.thoughtworks.com/projects/multimedia/cards/545
2014-04-29 19:17:25 +00:00
jenkins-bot f3ce1b0aa6 Merge "Fix for jsduck 5.x, rearrange categories" 2014-04-29 18:35:22 +00:00
Mark Holmquist d137689b34 Fix for jsduck 5.x, rearrange categories
Should make for a nicer documentation experience.

Change-Id: I935cbab2b06c8cf482d3987905d2257d09bea3a3
2014-04-29 11:32:12 -07:00
jenkins-bot fa8cf649bf Merge "Make progress bar less erratic" 2014-04-29 08:00:11 +00:00
jenkins-bot a63f8b4666 Merge "Enable survey in Spanish" 2014-04-29 07:34:58 +00:00
jenkins-bot b06020fa26 Merge "Adjust invite animation for Media Viewer" 2014-04-29 07:30:55 +00:00
jenkins-bot 8b7cfd12d5 Merge "Handle window.localStorage === null case correctly." 2014-04-29 07:10:33 +00:00
Gergő Tisza 3be5195ed2 Ensure click playback happens at the right time
The code to replay clicks and clean up the handler was called after
processing each thumbnail, instead of just once at the end.
This might have caused many subtle issues such as clicks on any
but the first image not replaying correctly; more problematically,
of there were no MediaViewer-compatible thumbs, the handler was
never cleaned up and the clicks were never replayed.

Besides fixing that, this commit also adds a try..finally wrapper
so that the click replaying is not broken even if there is an error
in the thumb processing code. This might or might not be a good
idea. The internets say that try..finally without a catch causes
errors in IE8, but only if it is not wrapped in another try..catch,
so we are probably fine. (Adding a catch which just rethrows the
error would be an alternative, but it messes up stack traces.)

Change-Id: I2f645762103274c92c15a0d4b595d18d93b08415
Mingle: https://wikimedia.mingle.thoughtworks.com/projects/multimedia/cards/497
Bug: 64345
2014-04-29 00:27:31 +00:00
Gergő Tisza 184067eb39 Enable survey in Spanish
Related core change: Ibd1a4b14faa11fd764fe078880355d7184b698bf

Change-Id: If44279fff1aad3fb68a01d167ef5cce69dbb3b34
Mingle: https://wikimedia.mingle.thoughtworks.com/projects/multimedia/cards/525
2014-04-28 22:38:50 +00:00
Gergő Tisza a56759d8fe Handle window.localStorage === null case correctly.
Change-Id: I49ddf45093daee4988fb7f3b481fb35bfaceb152
Mingle: https://wikimedia.mingle.thoughtworks.com/projects/multimedia/cards/521
Bug: 64525
2014-04-28 22:33:02 +00:00
Pau Giner 2ac50f49bf Adjust invite animation for Media Viewer
With latest refactorings, the animatin looked like a glitch.
The position of the panel has been adjusted to (a) make the initial
position the same as shown while the progress bar for better continuity,
and (b) make the move more noticeable by increasing the distance the
panel moves.

To test, clear the local storage variable mmv.hasOpenedMetadata

Change-Id: Ie3ed29826fa15bf4c6b38f0fc8bde4bd84563fb9
2014-04-28 10:28:18 -07:00
jenkins-bot a0d9e46ef6 Merge "Fix Chrome bug where popstate could still reset scroll position" 2014-04-25 20:55:12 +00:00
Pau Giner b7420ae82a Images for zoom
Images for the Zoom control of Media Viewer.
SVGs for RTL and RTL languages included.

Change-Id: I65cc6d9921a40d26307c294fb08ccfc42b1a9068
2014-04-24 17:43:15 -07:00
Gergő Tisza 7ee0cf3fcd Make progress bar less erratic
Solves the bug, and makes the code slightly cleaner, but it
still does not inspire confidence (e.g. use of viewer flags
by a bunch of callbacks that can run for a background image).
Also, the tests seem underspecified.

I'll follow up with some more refactoring.

Change-Id: I2557abcec173691ffce21185bf1a939f1644ba8c
Mingle: https://wikimedia.mingle.thoughtworks.com/projects/multimedia/cards/489
2014-04-24 23:55:26 +00:00
jenkins-bot 476a0be245 Merge "Skip userinfo request if no message depends on the gender." 2014-04-23 23:47:34 +00:00
jenkins-bot fe7a64fbcc Merge "Make License.isCc() really return booleans" 2014-04-23 22:59:25 +00:00
Gergő Tisza 846019a08a Make License.isCc() really return booleans
Before it returned undefined if the license had no internal name,
which caused unexpected behavior when used with $.toggle().

Change-Id: I1dcee6c999982fde47f9d388381fc670d81a6c5d
Mingle: https://wikimedia.mingle.thoughtworks.com/projects/multimedia/cards/494
2014-04-23 20:30:03 +00:00
Gergő Tisza 33e2855a0c Show caption on thumbnails
processThumb() is a mess. This change is kept small since we might
want to backport it per the bugzilla comments; I might follow up
with some refactoring in a separate commit.

Bug: 62518
Change-Id: I1f916b88fe1b667c6c7e51c9bdca186d4aa2ef2c
Mingle: https://wikimedia.mingle.thoughtworks.com/projects/multimedia/cards/338
2014-04-23 01:29:30 +00:00
Gergő Tisza ec883d84ef Skip userinfo request if no message depends on the gender.
Change-Id: I85bc617efc87ed1c4526eb74470bb6182910d9fc
Mingle: https://wikimedia.mingle.thoughtworks.com/projects/multimedia/cards/435
2014-04-23 00:59:23 +00:00
Gilles Dubuc 292f42dc7c Fix Chrome bug where popstate could still reset scroll position
Change-Id: I3418b2e446a210a406daacc1321103df1f09caa1
Mingle: https://wikimedia.mingle.thoughtworks.com/projects/multimedia/cards/486
2014-04-23 02:26:07 +02:00
jenkins-bot 7ac4b375b6 Merge "Bigger, badder, animated progress bar" 2014-04-22 22:30:31 +00:00
Gilles Dubuc 69e75bcda8 Bigger, badder, animated progress bar
Nobody will be able to say it's not prominent enough anymore.

Change-Id: I060dcf2b8f244f7d59f4ed1ef6dfd85a08f3ef88
Mingle: https://wikimedia.mingle.thoughtworks.com/projects/multimedia/cards/464
2014-04-22 15:16:56 -07:00
Gergő Tisza d1a6592185 Add more survey languages (fr, de, pt/pr-br)
For pt speakers pt-br is shown until we get a pt translation

Related core commit: If2c57846f4dfb05ea58f36b25e3d8185d2a6e70e

Change-Id: I595446dc59c1bca2ea0b977be9d26f17192d3bc4
Mingle: https://wikimedia.mingle.thoughtworks.com/projects/multimedia/cards/481
2014-04-22 22:03:32 +00:00
jenkins-bot 2b665e6ff0 Merge "Track more user actions" 2014-04-22 18:41:28 +00:00
Gergő Tisza c304baf0ba Show metadata panel immediately.
Change-Id: Ie71eb1d29e3863b99687a75da69fad9a1ead552c
Mingle: https://wikimedia.mingle.thoughtworks.com/projects/multimedia/cards/458
2014-04-22 16:10:25 +00:00
jenkins-bot 5007968d4f Merge "Split the progress bar into a component of its own." 2014-04-22 09:19:41 +00:00
jenkins-bot 61b5de0d22 Merge "Cache API responses" 2014-04-22 08:58:44 +00:00
Gergő Tisza 284a936aff Cache API responses
Cache API responses, both on Varnish and in the user's browser.
The imageinfo request is not cached, since that would make it very
hard to test metadata template edits. Everything else is cached for
one day.

Change-Id: I9149cf40d4448a424073eefd1eb442c70c977687
Mingle: https://wikimedia.mingle.thoughtworks.com/projects/multimedia/cards/435
2014-04-22 10:56:52 +02:00
jenkins-bot a057ee476e Merge "Open license deed in new tab" 2014-04-22 08:48:12 +00:00
jenkins-bot 2471bbe136 Merge "Display correct file type on download button" 2014-04-22 08:31:27 +00:00
Gilles Dubuc 700df1ecc2 Track more user actions
- metadata open/close
- next/prev
- view terms
- author
- source
- hash load
- history navigation

Change-Id: I4ea7e0b008b46577322050d692359d46374a0929
Mingle: https://wikimedia.mingle.thoughtworks.com/projects/multimedia/cards/290
2014-04-22 10:20:36 +02:00
Gergő Tisza 3bddd3fcb7 Open license deed in new tab
Not convinced this is a good thing (file description page still
opens in same window so it is somewhat inconsistent) but suddenly
leaving the lightbox to show the deed feels like a very unintuitive
behavior to me.

Change-Id: I2cca3e4241fd1bb2848c11cf425aa75aad8c4a30
Mingle: https://wikimedia.mingle.thoughtworks.com/projects/multimedia/cards/472
2014-04-22 00:21:11 +00:00
Gergő Tisza f04f5984d5 Display correct file type on download button
Works, but awkward - the extension name changes a little later than the button
text itself. This is hard to avoid since we don't know beforehand
what the thumbnail type is - we have to wait for the API request.
(We can't do thumbnail URL guessing here since we cannot catch the 404 error.)

In general the whole API handling here is not so good, with a separate API
request going out when we should just get all size options in a single request,
when the user opens the reuse panel.

Change-Id: I502b7cb4e99d8af348d7d1967eb8343ec0f926fe
Mingle: https://wikimedia.mingle.thoughtworks.com/projects/multimedia/cards/471
2014-04-21 23:51:15 +00:00
Gergő Tisza c9e92da374 Split the progress bar into a component of its own.
Change-Id: I131b0d1b8ec992a7c7ad388021febea5a0303d16
2014-04-21 22:27:59 +00:00
Gergő Tisza acd816a4c3 Show error trace in console when catching an error in bootstrap
Change-Id: Icaee88ee3d1d3076cef166ba4443ac9065863efb
2014-04-21 21:23:28 +00:00
jenkins-bot 5d7e4f8198 Merge "Use short license name from template if we don't recognize it" 2014-04-21 18:53:10 +00:00
jenkins-bot c4a022460a Merge "Show 'view terms' when we can't figure out the license" 2014-04-21 10:42:11 +00:00
jenkins-bot 9a54e155da Merge "Collect license handling code, remove unused data attribute" 2014-04-21 10:40:08 +00:00
Gergő Tisza bfbc58fce0 Disable preloading of fullscreen-sized image
Fullscreen clicks are only about 5-10% of image views, and there
are a lot of complaints about the app being slow, so until the
speed can be improved in other ways, there is no point in
preloading for the fullscreen mode. Unlike the normal preloading,
it is not queued, and it slows down the normal image loading.

Bug: 64135
Change-Id: Ic145c8a1d5c3729f684e2f6c96f7d84869ef4087
Mingle: https://wikimedia.mingle.thoughtworks.com/projects/multimedia/cards/474
2014-04-19 15:53:28 +00:00
Gergő Tisza 4e081a9559 Use short license name from template if we don't recognize it
We have been saying 'view terms' for every non-CC/PD image, which
is not particularly helpful.

Change-Id: Ia5fc6fb3af3802ad8a1f5188226fe4e89ab6d8d9
Mingle: https://wikimedia.mingle.thoughtworks.com/projects/multimedia/cards/472
2014-04-19 00:46:50 +00:00
Gergő Tisza c1b2b1bb2c Show 'view terms' when we can't figure out the license
...since there probably still is one, and our failure to parse it
just makes it more important that we direct the user to the file
page.

Change-Id: Id31f95021f059ccf4bf9893b1146f3807dcabdcb
2014-04-19 00:42:47 +00:00
Gergő Tisza b00eca6ade Collect license handling code, remove unused data attribute
This just shuffles code around, should not change behavior.

Change-Id: Ieb0102300c8444f18444fae38e5ea813d8f682e5
Mingle: https://wikimedia.mingle.thoughtworks.com/projects/multimedia/cards/472
2014-04-19 00:39:21 +00:00
jenkins-bot 119bdad504 Merge "Show scrollbars in survey window in Firefox" 2014-04-18 21:44:57 +00:00
Mark Holmquist bfcbf06f80 Show scrollbars in survey window in Firefox
Change-Id: I6bf4838df86ad73a2aa4eeca3c9b3a4269ea0eae
2014-04-18 14:27:19 -07:00
Mark Holmquist a6619cb1ce Link to creativecommons.org for CC licenses
Change-Id: Ifdbb0d835b0eb6950eca3403bb486bbdd34651c6
Mingle: https://wikimedia.mingle.thoughtworks.com/projects/multimedia/cards/221
2014-04-18 11:27:00 -07:00
Gergő Tisza dd9a9718c3 Use thumbnail guessing
Change-Id: I2335af257fd23c9367b6839dfc6050840a905aa2
2014-04-17 10:35:33 +02:00
Gergő Tisza e03b9345c2 Guess thumbnail URLs without extra API call
Given a sample thumbnail URL and the original width/height
this provider tries to guess the thumbnail url for a given
size.

Change-Id: I2966b60978ab763864475851d8a79370bd422dc4
2014-04-17 01:21:35 +00:00
jenkins-bot fff6c55695 Merge "Fix bug when exiting Media Viewer while image is loading" 2014-04-16 20:39:23 +00:00
jenkins-bot 8217b97462 Merge "Load moment.js on demand" 2014-04-16 20:32:21 +00:00
Gilles Dubuc 9d51e534da Fix bug when exiting Media Viewer while image is loading
Which would cause the image to never appear, even when reopening
Media Viewer. The source of the issue was an uncaught exception in
ThumbnailWidth.

Unfortunately this cannot be covered by E2E because the image
loads too fast in that context, and cucumber/selenium doesn't
have time to catch the placeholder.

Change-Id: I9386f6e857a7974166ddb5eeb7ea731d943eddcf
Mingle: https://wikimedia.mingle.thoughtworks.com/projects/multimedia/cards/450
2014-04-16 13:59:45 +02:00
Gergő Tisza 9b1e756c3b Replace current URL generation logic with routing classes
* deduplicates URL generating/parsing code
* gets rid of spaces in URLs
* fixes error for file names with / in them (in case they exist;
  current MediaWiki seems to disallow such names anyway)

Change-Id: I5aad43f6af1b99523c597c39befcc9db1ecab83a
Mingle: https://wikimedia.mingle.thoughtworks.com/projects/multimedia/cards/371
2014-04-16 12:51:38 +02:00
jenkins-bot e78d391037 Merge "Add routing classes" 2014-04-16 10:51:02 +00:00
Gergő Tisza 0b614c78e3 Add routing classes
Adds a Route class hierarchy for various URL schemes and a Router
class to convert Route classes to and from URLs.

Right now we only have two(-ish) schemes, but in the future we want
to be able to show related images which are not present on the current
page and need shareable URLs for those as well; also we might want
to specify other things in the URL than the current image (the reuse
box being open was one thing discussed); this will be a good framework
to add features like that.

The MainFileRoute class will be used by #416.

Change-Id: I489126a0ada37f91a22a2f48a4e686140a28d162
Mingle: https://wikimedia.mingle.thoughtworks.com/projects/multimedia/cards/371
2014-04-16 12:40:17 +02:00
jenkins-bot ffdc63aa4c Merge "Do not load too-big thumbnails for SVGs" 2014-04-16 10:23:40 +00:00
jenkins-bot 2cea09b588 Merge "Choose feedback survey based on user language" 2014-04-16 10:08:52 +00:00
Gergő Tisza 35eb14f837 Choose feedback survey based on user language
Change-Id: Ia9d53b6a3caedecd05429e5285765b1c5098342e
Mingle: https://wikimedia.mingle.thoughtworks.com/projects/multimedia/cards/420
2014-04-16 00:52:40 +00:00
Mark Holmquist 68bb702eaa Fix issues with file page link
TIL about setup/teardown in qunit

Change-Id: Ib283285bea401be251ec3f46a2dbd01623fe895e
Mingle: https://wikimedia.mingle.thoughtworks.com/projects/multimedia/cards/452
2014-04-15 15:42:11 -07:00
Mark Holmquist 0ed174a306 Do not load too-big thumbnails for SVGs
Change-Id: Iae75105151bfcd0e974fc292794802c77eb26ea4
Mingle: https://wikimedia.mingle.thoughtworks.com/projects/multimedia/cards/448
2014-04-15 11:21:05 -07:00
Gilles Dubuc 7ff5b22873 Load moment.js on demand
Change-Id: I881d38ea201f314fcf364766bb589f56c9e6b057
Mingle: https://wikimedia.mingle.thoughtworks.com/projects/multimedia/cards/444
2014-04-15 14:13:27 +02:00
jenkins-bot a3cb95e2d2 Merge "Restore article scroll after closing Media Viewer" 2014-04-14 19:23:15 +00:00
Gilles Dubuc 09374fc9dd Restore article scroll after closing Media Viewer
There used to be a CSS trick with the order we added things to the
page and removed them from it, but it doesn't seem possible anymore
with the new order of execution, with the overlay appearing
immediately and being taken care of inside bootstrap.

The main cause of the bug, however, was the hash reset happening
after the interface was closed.

Doing the scroll restore with jQuery.scrollTo is more future-proof
and testable in QUnit.

Additions were also made to the cucumber E2E test because QUnit
alone wouldn't have caught the hash issue.

This also cleans up custom events a little and reintroduces
pushState on browsers that support the history API.

Change-Id: I63187383b632a2e8793f05380c18db2713856865
Mingle: https://wikimedia.mingle.thoughtworks.com/projects/multimedia/cards/439
Bug: 63892
2014-04-14 18:04:30 +00:00
jenkins-bot e4e68115f5 Merge "Load oojs-ui on demand when "use this file" is clicked" 2014-04-14 17:29:58 +00:00
Mark Holmquist 244a5e70b0 Miscellaneous fixes to truncatable text fields
Should make the e2e tests pass again.

Change-Id: I2a610468837f53d10fd9e7f2fa6d0937407e6f26
2014-04-14 17:19:59 +02:00
Gilles Dubuc eb6386bb5b Load oojs-ui on demand when "use this file" is clicked
Change-Id: Ia3b6b91c7ff0cb223f5f312eb901726fb6adcf35
Mingle: https://wikimedia.mingle.thoughtworks.com/projects/multimedia/cards/426
2014-04-14 11:50:05 +02:00
jenkins-bot 5a570186d1 Merge "Adjust OOjs UI TextInputWidget text style" 2014-04-14 09:41:43 +00:00
Gergő Tisza a6c279042c Adjust OOjs UI TextInputWidget text style
White text shadow looked bad on Chrome/Linux where selected text
color is white.

Change-Id: I6723bc8ee0f6e2f77bb299216d56a844ac17a9f1
Mingle: https://wikimedia.mingle.thoughtworks.com/projects/multimedia/cards/443
2014-04-11 22:55:50 +00:00
Gergő Tisza b0fc56f039 Fix icon positioning for secondary repo link
The last change did not work so well for small (non-Commons) links,
adjusting.

Change-Id: I50bb25f4311715d93ebb12603b1b2546273efa31
2014-04-11 21:02:12 +00:00
Pau Giner e250a45eb3 Spacing adjustment for repository link
Spacing of the whole element and the Commons logo has been
adjusted to provide visual clarity.

Change-Id: I601a1d5c847199dc734911dc9e90c0fe7931bca8
2014-04-11 15:30:19 +00:00
Gergő Tisza 2bb6c48ee2 Show a fallback repo icon for the "go to file page" button
...if the real icon is not available.

Change-Id: I36b79beb1867deb86b0a1d986db672854c3b839e
2014-04-10 19:09:28 +00:00
jenkins-bot 6dae43b0cf Merge "Fix commons icon to avoid pixelation" 2014-04-10 18:12:34 +00:00
jenkins-bot 228539fc03 Merge "Fix overlap of info box and right sidebar" 2014-04-10 16:32:28 +00:00
jenkins-bot a433c43556 Merge "Split button line adjustment" 2014-04-10 12:58:30 +00:00
Pau Giner bb70c70431 Split button line adjustment
The download button used a dashed black line to separate options.
It has been changed to a dark green line to better fit the style.

Change-Id: I3224027b69c4c1e5cf2568aed8f4f50ee351c369
2014-04-10 14:35:13 +02:00
jenkins-bot 911e87adde Merge "Add truncatable text field, use for some fields" 2014-04-10 12:13:46 +00:00
Gilles Dubuc 779b91d405 Fix commons icon to avoid pixelation
The CSS to make the favico twice as big was looking horrible in
Firefox and possibly other browsers. Since we're already
special-casing commons, let's apply a proper SVG instead of the
favico.

Change-Id: Ie32302342eba7aa37bd310c013a9f4d7f9ae187e
2014-04-10 13:20:39 +02:00
Pau Giner 808b6cb848 Removed white background from SVG assets
Two images contained a white background that was limiting their
use over other background colours.

Change-Id: Ic61e0d223ed927968344b132dbe67952c80bbe28
2014-04-10 11:55:27 +02:00
Gilles Dubuc ebeaf5cc5d Fix overlap of info box and right sidebar
Seen in Firefox: https://www.dropbox.com/s/a4d2ltanx343kh0/Screenshot%202014-04-10%2009.57.51.png

Change-Id: I8ae755eb1008078a94face60efee53c11d9ce3b9
2014-04-10 09:59:31 +02:00
jenkins-bot 642eb25e3b Merge "Open MMV on hash change on file pages, add link" 2014-04-10 07:36:54 +00:00
Mark Holmquist 1ae138c9e7 Open MMV on hash change on file pages, add link
Change-Id: I4aa53d50bcd4880f341dfb59b7a451e2d5bda2ad
2014-04-10 09:34:01 +02:00
jenkins-bot 141580d9a7 Merge "Shuffle things around so original file sizes are easier to access" 2014-04-10 07:13:52 +00:00
jenkins-bot f106af19d0 Merge "Workaround for OOJS ES3 incompatibility" 2014-04-10 06:51:55 +00:00
Gergő Tisza 7da686cb2f Shuffle things around so original file sizes are easier to access
Make original file width/height part of LightboxImage, and pass it
to the image loading function.

This adds a bit to the big steaming pile of technical debt that is
mmv.js. To be cleaned up later.

Change-Id: I84b8ae75cd1cc3e94c6cf03d174473764cfbf86f
2014-04-10 01:56:38 +00:00
jenkins-bot 9375c63958 Merge "Clean up issues left c/121064" 2014-04-10 01:32:43 +00:00
jenkins-bot ea5b135d80 Merge "Fix tipsy bug, part 2" 2014-04-10 01:27:12 +00:00
Gergő Tisza d8bf56bf89 Fix tipsy bug, part 2
Change-Id: Ie3bf54c1f5e550b86bf29151ed14be36ad63bee0
2014-04-10 01:24:21 +00:00
Aaron Arcos be76d4b5db Clean up issues left c/121064
Change-Id: I5daa3c8f75c93dbbd6a8f748a6c869d73d3959f6
2014-04-09 18:23:42 -07:00
jenkins-bot 02735e3431 Merge "Fix tipsy bug" 2014-04-10 01:13:36 +00:00
Gergő Tisza 005d15568f Fix tipsy bug
maybeDisplayThumbnail is invoked even when the survey is disabled,
which results in calling functions of a null object.

Change-Id: If7a48349e22069f91af20d8c4bb6a82b7339bd66
2014-04-10 01:09:07 +00:00
Gilles Dubuc 0fd2007923 Fix z-index bug in Firefox that would make navigation buttons appear on top of the metadata panel
Also fixes other issues:
- Some code in mmv.lightboxinterface.js wasn't doing anything
- Canvas buttons were being added to the wrong element
- Several CSS rules were being declared twice, a remnant of the multilightbox days

Change-Id: I6ffa1f6a989964d3863aa9dbeb332c0e59dff2e6
Mingle: https://wikimedia.mingle.thoughtworks.com/projects/multimedia/cards/409
2014-04-09 17:37:14 -07:00
Gilles Dubuc a7778cb799 Selects html embed by default for logged-out users
Change-Id: Ie472905f0188637157632050ad0571043f04b324
Mingle: https://wikimedia.mingle.thoughtworks.com/projects/multimedia/cards/379
2014-04-10 00:06:54 +00:00
jenkins-bot 0be102d9b2 Merge "Make Commons link more prominent" 2014-04-10 00:02:46 +00:00
Mark Holmquist 40feb61dbe Add truncatable text field, use for some fields
Source + author are one such field, title is another.

Loads of the mingle card will be split out.

Change-Id: Ib2937cc55304118f82e5b2e87b822b2b2811ef2b
Mingle: https://wikimedia.mingle.thoughtworks.com/projects/multimedia/cards/243
2014-04-09 15:53:37 -07:00
Gergő Tisza 8951f6f2e0 Notify user about early errors via mw.notify
Errors which were early enough in the life cycle to completely
block the lightbox from displaying were so far invisible to the user.
We display them in a small popup using the core messaging functionality.

Change-Id: Id04fe5d3b54703e24cd216910b15cc8bae786434
Mingle: https://wikimedia.mingle.thoughtworks.com/projects/multimedia/cards/414
2014-04-09 21:57:58 +00:00
Gergő Tisza ee113af8f5 Make Commons link more prominent
Change-Id: Id546de9671fdc00ba73b01a1bc6398f2da2a6a2b
Mingle: https://wikimedia.mingle.thoughtworks.com/projects/multimedia/cards/270
2014-04-09 21:45:39 +00:00
jenkins-bot 8065fad8a5 Merge "Clean up, get rid of leftover comment" 2014-04-09 20:01:04 +00:00
Aaron Arcos 0eb9270c20 Clean up, get rid of leftover comment
Follow up on https://gerrit.wikimedia.org/r/#/c/124772/

Change-Id: Ie3a8c327c2a30f34f39379be51d0be42a8692376
2014-04-09 12:03:02 -07:00
jenkins-bot 4c08160eb3 Merge "Fix issues with size menus after oojs-ui update" 2014-04-09 18:54:15 +00:00
Aaron Arcos 71fec37579 Fix issues with size menus after oojs-ui update
These should fix all the issues we have now with the size menus.

Change-Id: Ief2e5e653330b01c9787e04a10b1b2c425da705e
Mingle: https://wikimedia.mingle.thoughtworks.com/projects/multimedia/cards/407
2014-04-09 11:46:51 -07:00
jenkins-bot 8f38e499b0 Merge "Quick fix for black screen of death" 2014-04-09 18:31:02 +00:00
jenkins-bot e9fa58c135 Merge "Adjustments to the Commons icon in Media Viewer To achieve consistency with the icons in the Media Viewer panel, the following has been adjusted: - Colors onf the "share" icon to match the rest of the icons (updated to the new gray values of Agora). - Size of the Commons icon has been adjusted both in the SVG file and when it is added in the LESS/CSS. Due to the different aspect ratio of this icon, extra spacing has been added to make it visually fit." 2014-04-09 15:46:31 +00:00
Pau Giner a5c146dc19 Adjustments to the Commons icon in Media Viewer
To achieve consistency with the icons in the Media Viewer panel,
the following has been adjusted:
- Colors onf the "share" icon to match the rest of the icons (updated to the new gray values of Agora).
- Size of the Commons icon has been adjusted both in the SVG file and when it is added in the LESS/CSS. Due to the different aspect ratio of this icon, extra spacing has been added to make it visually fit.

Change-Id: Ic14a869ea96ea1a8202c9988f0c5d330ba3e9a70
2014-04-09 14:52:54 +02:00
Pau Giner 8cd21e3c82 Adjust text style for size indications
For download button and size drop-downs, the size labels
have been set to small and normal weight (in the download button, 
other rules made it to be bold if no weight was specified).

Change-Id: I7511b307a8459d6e4a01f0b9540528046ad2be8e
2014-04-09 12:15:52 +00:00
jenkins-bot c42f5425f9 Merge "Show tooltip when all sorts of conditions are met" 2014-04-09 09:40:53 +00:00
Gergő Tisza d4bf2188b1 Quick fix for black screen of death
This fixes three issues:
* the overlay way multiplied during history navigation, but only
  the last one was cleaned up on exit
* the overlay was not cleaned up when loading a #mediaviewer URL
  with an invalid file name
* the overlay was not cleaned up when there was an error creating
  the viewer object

This is a quick fix, and does not change the fact that
bootstrapping is an unmaintainable mess which should be cleaned up.

Change-Id: I2838e5e709e7c7308b0a5b27eca24a2584d0a01e
Mingle: https://wikimedia.mingle.thoughtworks.com/projects/multimedia/cards/414
2014-04-09 00:37:06 +00:00
Gergő Tisza 404bcd3989 Make categories behave
The way categories were handled made it impossible to add anything
after them (they always ended up as the last child of the parent
container). This commit fixes that, and also moves the repo link
behind them (as required by #270).

Change-Id: I7c561c43897054e60028bd524d8ad5ea85f39e36
2014-04-08 19:58:13 +00:00
Gilles Dubuc 22bdbd4041 Show tooltip when all sorts of conditions are met
Change-Id: I987d5d517c3db2409e138b85b90115260d9116bd
Mingle: https://wikimedia.mingle.thoughtworks.com/projects/multimedia/cards/261
2014-04-08 18:33:24 +00:00
jenkins-bot f163f2f30e Merge "Add named timeouts to mw.mmv.ui.Element" 2014-04-08 09:48:11 +00:00
Gilles Dubuc 204d582a3a Add site/language conditions for feedback button
Only show the survey button if the user's language matches and the site is
enabled, and log which site we are on.

The corresponding site configuration commit is
Ic07432649906890785769ce5127761e2c84316e2

Change-Id: I575bb286f4289489b80505c901f5a9e7aeecec8b
Mingle: https://wikimedia.mingle.thoughtworks.com/projects/multimedia/cards/261
2014-04-08 11:37:24 +02:00
Gergő Tisza 660553c58e Fix some OOJS-UI issues
* intializeSelection was removed
* selectItem is replaced by chooseItem, sort of
  (selectItem does not always update the UI, I think?)
* remove old workaround, bug  was fixed upstream

This fixes the download button and unbreaks lots of unittests.
It does not fix the "Loading" text in the embed tab.

Change-Id: Iec7bf9ad5b516001231c7ba46fda962671aaddd8
2014-04-08 01:35:30 +00:00
Gilles Dubuc 3df526b919 Fixes various bugs in IE
- error caused by select() called during focus event
- HTMLElement not existing in older IEs
- filter rotation for older IEs causing black background bug in IE9
- IE9 lacking progress would have its progress bar never reach 100% and disappear
- Handle e.which value for clicks on IE < 9

Change-Id: I5727ef3f2a9f9aa77eac930f93320e6ce5964c78
2014-04-07 22:00:11 +00:00
Gergő Tisza a01266854d Add named timeouts to mw.mmv.ui.Element
Change-Id: Ie07b0239aa21f590ef969ac864f60e71848c4bcb
2014-04-07 21:20:59 +00:00
Gergő Tisza fd8e69432d Workaround for OOJS ES3 incompatibility
Depends on I6cd13b4f3a72378eb27e3aaa313511ffb20227c3

Change-Id: Ia642bbd29d3cd239f1d4b56463a1d8efe4670793
2014-04-07 17:55:08 +00:00
jenkins-bot da11d09e52 Merge "Hide buttons while loading" 2014-04-07 09:29:09 +00:00
jenkins-bot 7b79d7a073 Merge "Rename setRepoInlineStyle to setInlineStyle" 2014-04-07 09:28:09 +00:00
Gergő Tisza 06e50ae05d Hide buttons while loading
Change-Id: Icc4f9b1a80fd43320bd625350b840b2c353b0149
2014-04-04 22:08:11 +00:00
Gergő Tisza b35cd14b63 Rename setRepoInlineStyle to setInlineStyle
Forgot to do this when I originally extracted it.

Change-Id: Iaa31ede4e151513652e1a05a44daa1ff636fbc85
2014-04-04 22:02:16 +00:00
Gergő Tisza f11da493c0 Show a tooltip for the repo link button
The popup for this button was removed earlier for being uninformative, but
we do need this for the survey period where the button texts are hidden.

Change-Id: I451a6bf9cf3c28fbc11f7094db1e7aa86eb87cd7
Mingle: https://wikimedia.mingle.thoughtworks.com/projects/multimedia/cards/226
2014-04-04 19:03:13 +00:00
Gergő Tisza f297de60bc Hide metadata top button texts
Also make sure that the reuse dialog is positioned right, no
matter where its button is.

Also fixes some minor documentation problem with mw.mmv.ui.canvas
which I noticed in the process.

Change-Id: I86feed07738ebef012e63861ed909f3449b85a53
2014-04-04 09:11:58 +02:00
Gergő Tisza 0b63c1a936 Only show file description page button for logged-in users
Change-Id: I206787ad2768f14d9705c29267dbee09b7b44705
Mingle: https://wikimedia.mingle.thoughtworks.com/projects/multimedia/cards/226
2014-04-04 08:56:53 +02:00
Gergő Tisza 2fc097fa05 Add tooltips to metadata buttons
Quick and dirty solution via tipsy, can be improved later.

Change-Id: I717b45d9800dbabdaf7d52d1d377f6f6958abdf7
2014-04-04 08:52:29 +02:00
Gergő Tisza 052fd5d3f1 Add metadata button to go to file description page directly
Change-Id: I0f2c2b24aece3b806d572a0ed41dce8031e6ae6b
Mingle: https://wikimedia.mingle.thoughtworks.com/projects/multimedia/cards/226
2014-04-04 08:45:56 +02:00
Gergő Tisza 042353c747 Make survey open in popup window instead of normal one
Change-Id: If971f7607bd3fc33080b903e07bd53ae3d3407cf
2014-04-04 08:34:26 +02:00
jenkins-bot 25b9fc435e Merge "Feedback button" 2014-04-04 06:15:14 +00:00
jenkins-bot 64e0a63755 Merge "Create StripeButtons class, convert reuse button to use it" 2014-04-04 06:09:35 +00:00
Gergő Tisza d062974684 Make sure the download attribute has no value
An empty download attribute means the file name from the URL is
used; any value would override the default file name.

Change-Id: Idf1d78c4b4570eb7ccd58b5da7d5ce10cfd91b70
2014-04-04 01:34:31 +00:00
jenkins-bot 6858c41fa6 Merge "Disable IE < 9" 2014-04-04 00:58:17 +00:00
Gergő Tisza 871b49dff2 Feedback button
MVP implementation, just a link that opens the survey in a new tab

Change-Id: I9f2fb85cc47ce2be4cf57679bf37f0bda13084b7
2014-04-03 23:14:18 +00:00
Gergő Tisza 47a8bda392 Create StripeButtons class, convert reuse button to use it
Also do a bunch of refactoring to:
* keep LESS rules in more sane locations so it is not as hard to get an overview
  (most of the metadata panel rules were in mmv.less)
* move mmv.mixins.less up one directory as it is not specific to the UI
* move the SVG icons as all of them were related to the UI
* remove the marging-right hack which was used to keep the title text from
  overflowing the button; instead use a float and overflow properties to make
  sure text that is too long gets hidden

Change-Id: Icc8ea2e766be67d86ae98c734721b2185bd6c36e
2014-04-03 23:13:12 +00:00
Gergő Tisza bcf45397ef Add XML prolog to SVG files
Fix of  I37a6da620157b9254cdc44eca8b7bd482491e916, see bug 59234
and Ic9fdd081003b694dbd7e413ca25fffe782b912b5 for background.
Fix was done using the script from that commit.

Change-Id: Ic5084f09376ce8107b91cb5651f465958361368a
2014-04-03 23:00:43 +00:00
Pau Giner 22094851e8 Optimized SVGs
Applying svgo to all SVGs to reduce their size.

Change-Id: I37a6da620157b9254cdc44eca8b7bd482491e916
2014-04-03 14:13:56 +02:00
Aaron Arcos 10a4fbef14 Fix problems with size menus for embed and download
I think this takes care of all the different mutations of
weird states that happen when going from a small to large
images and transitions in the middle, see card/386.

Change-Id: I80527d746614c0bbda7a1084061d292e5d6394a8
Mingle: https://wikimedia.mingle.thoughtworks.com/projects/multimedia/cards/386
2014-04-02 23:22:15 +00:00
Gilles Dubuc 961d47432b Download tab, basic download and preview
* Following design, use split button to display a pulldown
menu with possible image sizes. The download happens by
sending the special "download" parameter to the server.

* Offer link to preview image in the browser.

Change-Id: Ic9d895fead04c9128186c7376a0bb09f3596335c
Mingle: https://wikimedia.mingle.thoughtworks.com/projects/multimedia/cards/79
2014-04-02 23:00:28 +00:00
Pau Giner 850ee63df8 Layout adjustment for explanatory text
The text below share and embed code is placed to be
just below the input elements.

Change-Id: I6845e1e67ddfd4fde3352a33cee56c981fb16fdc
2014-04-02 10:45:28 +02:00
Gilles Dubuc 0abc3ab34b Disable IE < 9
At the moment issues in core are preventing Media Viewer
from working on IE < 9. Let's disable it in those browsers for now.

Change-Id: Icdd29f3c00fb8eeb3d463e8b8718d54d6cd01a23
2014-04-01 09:53:24 +02:00
jenkins-bot d72aa68694 Merge "Use mw-mmv CSS prefix consistently for all things" 2014-04-01 07:08:18 +00:00
Gergő Tisza 95111d2b73 Use mw-mmv CSS prefix consistently for all things
With apologies to anyone who gets a hundred merge conflicts
because of this :)

We had several different prefix styles (mlb-, mw-mlb-, mw-mmv-,
mw-mmv-mmv-, a few unprefixed), which was getting annoying,
and will be confusing to wiki editors who are trying to figure out
where a given style comes from. Such changes are better done before
going live because it breaks all local CSS tweaks on the wiki,
so I am renaming things now (also removing some stuff which wasnt
used anywhere).

Change-Id: I00447a25f0028e234169c6db941bedc99622eb8d
2014-03-31 21:33:12 +00:00
jenkins-bot 7f4c30c31f Merge "Remove the temporary click handler once the final one is installed" 2014-03-31 21:09:31 +00:00
jenkins-bot 21ba529db0 Merge "Display thumbnail placeholder ASAP" 2014-03-31 21:05:45 +00:00
Gergő Tisza 2dc258b309 Remove the temporary click handler once the final one is installed
Change-Id: I166ab85e358c74db486709ca062897c8cf541cfa
Mingle: https://wikimedia.mingle.thoughtworks.com/projects/multimedia/cards/391
2014-03-31 18:19:00 +00:00
Gilles Dubuc 94588c9859 Replay early thumb link clicks when bootstrap is ready to receive them
Change-Id: I1ccd7c2cb949a051e3078fc746bc79254cc36a1d
Mingle: https://wikimedia.mingle.thoughtworks.com/projects/multimedia/cards/391
2014-03-31 17:19:08 +00:00
jenkins-bot 38fa243c49 Merge "Display black overlay while the viewer JS is loading" 2014-03-31 01:35:43 +00:00
jenkins-bot 53a641b63a Merge "Rename Buttons to CanvasButtons" 2014-03-30 08:47:39 +00:00
Gilles Dubuc 685f42f05f Display black overlay while the viewer JS is loading
I went for this option because it was the fastest to implement.
I think we should wait until we make the change to core to expose
image dimensions before we consider switching to another strategy.

Change-Id: I61c9342a2d6d6fc24a24e0988b3cf7f9a06859a2
Mingle: https://wikimedia.mingle.thoughtworks.com/projects/multimedia/cards/248
2014-03-30 09:53:20 +02:00
Gilles Dubuc 2080e28a83 Display thumbnail placeholder ASAP
- Exposes file width and height through data attributes
- If the attributes are present, display the placeholder immediately

Change-Id: I3dfa80b02073984dc2d3d7784cb3744b7e4e2cc8
Mingle: https://wikimedia.mingle.thoughtworks.com/projects/multimedia/cards/293
2014-03-28 20:02:12 +01:00
Gergő Tisza 7379957398 Rename Buttons to CanvasButtons
Less misleading as we have lots of buttons, and I plan to add a new
button class for the Commons/survey/reuse thing.

Change-Id: I74194e22e9066c58f9c1eba57629458b2b9148b5
2014-03-28 00:10:04 +00:00
Gergő Tisza fff25694bb Sanitize embed HTML
Make sure tables, lists and other complex stuff do not get into the
embed HTML code.

Change-Id: I559dc7892e058e403ddde6994a7e1ac0c9585325
Mingle: https://wikimedia.mingle.thoughtworks.com/projects/multimedia/cards/369
2014-03-27 19:14:06 +00:00
Gergő Tisza b9b1529e9b Add more information to embed HTML
Adds site link, license link and long name, replaces internal license name
(we don't have it for most licenses) with short name.

Also fixes some problems in previous changesets that I stumbled on,
renames things to be more consistent/less misleading, and makes
EmbedFileInfo a thin container for existing classes. (That results
in a lot of Demeter's law violations, but it means one less model
to remember, which is a good thing since our property names are
often not very informative (e.g. EmbedFileInfo.url and
Image.url which had completely different meanings))

We always have the site information for embed texts (comes from the repo
API); that part of the tests was pointless, but now that EmbedFileInfo
depends on Repo they became impossible to maintain, hence the
deletion of half the test cases in getThumbnailHtml().

Change-Id: I94e1d0aca14e2a7d5fad983412090add8ad6bfa3
Mingle:  https://wikimedia.mingle.thoughtworks.com/projects/multimedia/cards/369
2014-03-27 19:14:06 +00:00
Gergő Tisza d85e7bf32e Utilities to transform HTML to plain or filtered text
This takes care of several minor annoyances:
* centralizes all the text processing functions which have been
  floating all around the code, and adds proper tests
* filters out invisible elements (sometimes used for metadata)
* avoids merging separate words on HTML->text transformation
* adds caching since doing all this transformations could be
  processing-intensive for big chunks of HTML. (This might or
  might not be a good idea. I haven't done performance tests, so
  this might be premature optimization, and increases memory use.
  OTOH these functions are often called in situations where an
  immediate UI response is expected (such as selecting a size
  from the list) so even small delays would be perceivable.

Bug: 63126
Change-Id: I1ef1e3a33efdfea17612df00da6b629bf39e07aa
Mingle: https://wikimedia.mingle.thoughtworks.com/projects/multimedia/cards/388
Mingle: https://wikimedia.mingle.thoughtworks.com/projects/multimedia/cards/369
2014-03-27 19:11:09 +00:00
Gilles Dubuc 82cec45472 Increase the contrast of the share&embed input/textarea
Change-Id: I9862f2b8080a4401e000dbd9a7af8d4db4981c06
Mingle: https://wikimedia.mingle.thoughtworks.com/projects/multimedia/cards/379
2014-03-27 07:50:13 +00:00
jenkins-bot c173de46ae Merge "Add explanatory one-liners to share & embed" 2014-03-27 04:39:33 +00:00
Gilles Dubuc b6251afb35 Add explanatory one-liners to share & embed
Change-Id: Id8eb7020296004dae83d63c37393c29142928dd6
Mingle: https://wikimedia.mingle.thoughtworks.com/projects/multimedia/cards/379
2014-03-27 05:37:34 +01:00
jenkins-bot a72ca59a09 Merge "Makes the size information (WxH) in Embed lighter" 2014-03-27 04:33:29 +00:00
jenkins-bot a1b7c285c3 Merge "Adds help link" 2014-03-27 04:23:41 +00:00
Gilles Dubuc 57852962ef Adds help link
Pointing to //mediawiki.org/wiki/Special:MyLanguage/Multimedia/About_Media_Viewer/Help

Change-Id: I90747e269e07dd27a4fa21470ec1563518177bb2
2014-03-27 05:22:07 +01:00
Gilles Dubuc da83227379 Makes the size information (WxH) in Embed lighter
Change-Id: I54ccafd81967eb682a2e10e9a0b9ef6c92e2806f
2014-03-26 11:32:25 +01:00
Gergő Tisza 41bc451d87 Store event handler proxy for size change
Workaround for bug 63094.

Change-Id: I91855802486cd25e7109cad7d656eb40f6a3580c
2014-03-26 01:47:18 +00:00
jenkins-bot 6d11e15cd5 Merge "Add getSiteLink() to Repo model" 2014-03-24 12:27:29 +00:00
jenkins-bot cf2450ccd1 Merge "Get more license info" 2014-03-24 12:18:18 +00:00
jenkins-bot a70873c60f Merge "Improve embed credit line" 2014-03-24 12:17:43 +00:00
jenkins-bot d94721ab37 Merge "Fix some text selection issues with share/embed" 2014-03-24 09:49:22 +00:00
Ori Livneh a2a9f9a85d Update MultimediaViewerNetworkPerformance schema rev.
Update schema to rev. 7917896, omitting the redundant 'userAgent' field, which
is already logged as part of the generic event capsule.

Change-Id: I558282ed29a14ba574204b4d5cba2a432449a75e
2014-03-24 04:17:57 +00:00
Gergő Tisza 27bde3effe Add getSiteLink() to Repo model
This is needed for the HTML embed text.

Change-Id: I286a0dde81675370fe9381651bd10437617426d0
Mingle: https://wikimedia.mingle.thoughtworks.com/projects/multimedia/cards/369
2014-03-21 01:19:33 +00:00
jenkins-bot 24ba37d57b Merge "Add client-side flag for disabling the viewer" 2014-03-20 23:51:00 +00:00
Mark Holmquist 547ddc97b1 Add client-side flag for disabling the viewer
Also set it on server-side. Use mw.config to override.

Change-Id: I00ea1ee8544d2c802f09fd25f7abaf29752f3641
2014-03-20 23:43:27 +00:00
Gergő Tisza c1ff536c3c Get more license info
Fetch more license information from the imageinfo API
(as needed by the reuse panel), store it in a new model

Change-Id: I331598b55b86d13e23a8bcd58c3ad8fcab749e6f
Mingle: https://wikimedia.mingle.thoughtworks.com/projects/multimedia/cards/369
2014-03-20 23:07:02 +00:00
Gergő Tisza 341d0199f1 Improve embed credit line
Gets the text closer to the spec:
* links have #mediaviewer (lots of code duplication, see #373)
* image has alt text (was title in the spec but that made less sense)
* less convoluted logic in getCreditHtml()

Change-Id: I43db84adb7fe29850706f92ee978016939b59aaa
Mingle: https://wikimedia.mingle.thoughtworks.com/projects/multimedia/cards/369
2014-03-20 22:08:28 +00:00
Aaron Arcos 40a6980d28 Fix some text selection issues with share/embed
Change-Id: Ic9d330c04d4e9335cdfce6e99870d1e5877b2a90
Mingle: https://wikimedia.mingle.thoughtworks.com/projects/multimedia/cards/374
2014-03-20 14:12:39 -07:00
Pau Giner 7e3d794c9f Reuse dialog styling
Adjustments of several styling aspects for the reuse file panel:
* Border style and colours to match the ones used in similar borders and Agora style
* Highlight the trigger also on hover
* Tweak the margins to avoid info on the embed panel to appear next to the edge.

Change-Id: I3a5448e3e81006ae35d2c18a9b2cbc2a6598210e
2014-03-20 14:52:39 +01:00
Gergő Tisza c7ae4a36ba Handle image loading rejections
Displays the rejection error message when loading something fails, so that the
user knows what's going on and can send meaningful error reports.

Needs non-crappy design.

Change-Id: I7d2914d89549b598bd1070ed40c6f1c9d45b55f0
Mingle: https://wikimedia.mingle.thoughtworks.com/projects/multimedia/cards/271
2014-03-19 18:51:01 +00:00
Gilles Dubuc 49bc5edd93 Clear the cursor hiding class when attaching the lightbox
This ensures that if fullscreen was exited with the cursor hidden
reopening the lightbox should happen with a visible cursor

Change-Id: I33846234fd4c314ff9ff924e9f42d4e8c5c5bd8d
Mingle: https://wikimedia.mingle.thoughtworks.com/projects/multimedia/cards/288
2014-03-19 16:01:30 +01:00
jenkins-bot 9cc429506e Merge "Add HTML text to embed tab" 2014-03-19 14:39:01 +00:00
jenkins-bot 965eda6b44 Merge "Add embed tab to reuse dialog" 2014-03-19 14:33:14 +00:00
jenkins-bot 548dafc0f3 Merge "Add share panel, replace reuse" 2014-03-19 14:24:31 +00:00
jenkins-bot 7ba96d7e87 Merge "Don't launch in articles with no text" 2014-03-19 13:57:43 +00:00
Gergő Tisza 466735fc10 Add HTML text to embed tab
Change-Id: Idcafe6dad9ffb17ffac365a350feff3903b37ff3
Mingle: https://wikimedia.mingle.thoughtworks.com/projects/multimedia/cards/148
2014-03-19 05:47:47 +00:00
Gergő Tisza f650813eb5 Add embed tab to reuse dialog
Implements the wikitext part of the mingle card

Mingle: https://wikimedia.mingle.thoughtworks.com/projects/multimedia/cards/148
Change-Id: I5bcd8e2171f45c70736b7a7cfc695134269ed12d
2014-03-19 05:46:55 +00:00
Gilles Dubuc 56f923ae21 Add share panel, replace reuse
Mingle: 147

Change-Id: I5678002ac84965a80f5e63635151032e6c293194
2014-03-19 02:06:21 +00:00
Gergő Tisza e8c099f3b7 Fix navigation issue with alt+esc on Ubuntu/Unity.
Bug: 62580
Change-Id: Ib2c8e21ee05000f7582f6e478034664c8be881e5
2014-03-17 21:14:07 +00:00
Prateek Saxena 652094039f Use animation mixin in core for invite-animation
Makes it easier to change the animation later without repetition.

Change-Id: I0dadafb91c288342480054d47fdda09a97d1773d
2014-03-17 09:02:30 +01:00
Gilles Dubuc c6683b7e3f Make the panel animation more subtle
Also turns it into a CSS animation, which allows us
to clean a lot of code

Change-Id: Id6705b63b26d8be341e77352924cad6ac4b73da1
2014-03-14 09:04:28 +01:00
Pau Giner f0061261e6 Simplify "Usage box" and layout adjustments
Adjustments to simplify the uses box by removing borders
and adjusting font sizes and colors.

Change-Id: Ia2cdc6af130d2280b7c94734174da5c154e42b7c
2014-03-12 17:23:51 +01:00
Mark Holmquist 2abb867b76 Don't launch in articles with no text
This is a silly bug.

Change-Id: I5d54cda34d5b7f383c182e41da13dfce141e36bb
2014-03-11 11:53:12 -07:00
Pau Giner 4ee0e06c6d Use different widths for metadata columns
This change makes the columns on the matadata panel use
a different width (2/3 and 1/3) to emphazize the description
with respect to the more advanced technical details.

Change-Id: I246e3496dd01649f360c1f80b859e2260bb1d87f
2014-03-11 16:05:14 +01:00
jenkins-bot c350658093 Merge "Do not add icons to media viewer image list" 2014-03-10 19:02:27 +00:00
jenkins-bot c1fb20fedb Merge "Add checkered background to make black-on-transparent images visible" 2014-03-08 01:55:06 +00:00
Gergő Tisza 5a3d56f81b Merge MultiLightbox into LightboxInterface
Change-Id: I4363095e0504dd941793ba3addc7ee3cbe835536
Mingle: https://wikimedia.mingle.thoughtworks.com/projects/multimedia/cards/178
2014-03-08 01:14:07 +00:00
Gilles Dubuc c386719cdb Some refactoring to get LightboxInterface closer to a proper UI component
* remove reference to MultimediaViewer
* move hash handling to MultimediaViewer
* make it inherit from Element, remove code duplication
* cleaner event handling life cycle (register on attach,
  unregister on unattach)

Change-Id: Ida8f68dead758a6ae3c429eb85c548af61e46801
Mingle: https://wikimedia.mingle.thoughtworks.com/projects/multimedia/cards/178
2014-03-08 00:26:44 +00:00
Mark Holmquist 21549d7547 Do not add icons to media viewer image list
e.g. {{refimprove}} on enwiki - there is an icon of a book that is only
meant to be illustrative on the page. It interferes with the page's image
collection and the flow.

Change-Id: Icd7e5885aaf8b31fffe07bd18cc0feb0f76b848c
Mingle: https://wikimedia.mingle.thoughtworks.com/projects/multimedia/cards/229
2014-03-06 15:26:25 -08:00
Gergő Tisza d0f76bb160 Add checkered background to make black-on-transparent images visible
Bug: 57620
Change-Id: Ibabbb6d64f9d02ff5b94431a431ebb5222e344d7
Mingle: https://wikimedia.mingle.thoughtworks.com/projects/multimedia/cards/284
2014-03-05 21:32:34 +00:00
jenkins-bot 0fa8f80942 Merge "Get rid of global viewer instance" 2014-03-05 17:52:18 +00:00
Gilles Dubuc 8beca0b106 Get rid of global viewer instance
- split event handler setup out of bootstrap and viewer creation
- simplify the tests setup/teardown

Change-Id: Icde1db81efd6191207ba35757192c800ea2d2e91
Mingle: https://wikimedia.mingle.thoughtworks.com/projects/multimedia/cards/278
2014-03-05 02:33:06 +00:00
Gergő Tisza 59bd5e0032 Add tests for promise rejection error logging
Change-Id: I20d0803f211cbc4a7f00b58d015b565ca5c3b49b
Mingle:https://wikimedia.mingle.thoughtworks.com/projects/multimedia/cards/268
2014-03-05 01:15:28 +00:00
jenkins-bot 44b9fa127a Merge "Fix resize issues (Part III, Fin)" 2014-03-05 00:16:16 +00:00
Aaron Arcos 6b7de4b129 Fix resize issues (Part III, Fin)
Last round of fixes and refactorings regarding resize issues
and the Canvas component:
  * Consolidate all the width calculation logic inside the Canvas component
  * Consolidate image resizing logic in the Canvas component
  * Fix size problem with SVG images
  * Clean up comments and tests

Change-Id: I0198cc1e3a45f7287b9a7494f73a8f158303f886
Bug: 56454
Mingle: 239
2014-03-05 00:14:54 +00:00
Gilles Dubuc d983a13377 Test to check that events are not trapped after the viewer is closed
Also fixes overeager preventDefault in the interface

Change-Id: I5e3b05c8546e24772016b72343e241caa2e6ef0e
Mingle: https://wikimedia.mingle.thoughtworks.com/projects/multimedia/cards/274
2014-03-04 09:28:59 +01:00
jenkins-bot a5e566e5db Merge "Add rejection logging to providers" 2014-03-04 01:35:48 +00:00
jenkins-bot 5f4f62211b Merge "Add events for image views and "use this file"" 2014-03-04 00:44:21 +00:00
Gilles Dubuc b7488716d8 Add events for image views and "use this file"
Change-Id: I9ba37038e41d81bbb8dfa96b8a7766b35d24fa5a
Mingle: https://wikimedia.mingle.thoughtworks.com/projects/multimedia/cards/54
2014-03-03 16:30:38 -08:00
Gergő Tisza ead038c34f Add rejection logging to providers
Make sure it is easy to debug when one of the promises rejects (and
causes the whole promise chain to fail).

I'm not really happy with this, but still seemed better than adding
the same boilerplate error logging code to each provider one-by-one.

Change-Id: Idd2b638f012ef2ff250e350e2f6a60bb8b81899b
Mingle: https://wikimedia.mingle.thoughtworks.com/projects/multimedia/cards/268
2014-03-03 21:35:01 +00:00
Gilles Dubuc 28cb881cfa Network performance measurement CORS improvements
- Fixes feature check for IE6 and older browsers without native XHR
- Skip crossOrigin attribute for IE11 because it prevents caching

Change-Id: I99d6a3c97edac1af12750d5978a84b6e6f631b14
Mingle: https://wikimedia.mingle.thoughtworks.com/projects/multimedia/cards/232/
2014-03-03 17:17:07 +01:00
Gergő Tisza a8a31b1cfc Restore normal behavior on middle-click for site link
Change-Id: I0f13cc97e69fffec64c5dd6c18f08bad44838d19
2014-03-01 00:00:31 +00:00
jenkins-bot 4dad39c117 Merge "Get rid of site-link-click waiting period" 2014-02-28 22:57:13 +00:00
jenkins-bot 31c2b4169f Merge "Fix JS error happening when closing "use this file" dialog" 2014-02-28 17:53:17 +00:00
Pau Giner a3d0a654f7 Adjustments of colours and layout
changes include:
* Aligning license and usage boxes with content above.
* Limit the maximum size for the licensing box when open.
* Adjust font sizes and colours to adjust the alance in the prominence of each part.

Change-Id: I0e4465baaf7a9f7830b95a8d731256d6b4974e17
2014-02-28 14:14:34 +01:00
Gilles Dubuc 9940833928 Get rid of site-link-click waiting period
Change-Id: Ie165cf132ed9f9e326387abba0af6d3780fa894d
Mingle: https://wikimedia.mingle.thoughtworks.com/projects/multimedia/cards/255
2014-02-28 12:11:18 +01:00
Gilles Dubuc 430ec53d3e Fix JS error happening when closing "use this file" dialog
Change-Id: I690f473ea17117bed7d30e1a858f6612f57fc33e
Mingle: https://wikimedia.mingle.thoughtworks.com/projects/multimedia/cards/224
2014-02-28 11:52:47 +01:00
Aaron Arcos fedaa553b4 Fix resize issues (Part II)
I was going to stage this but better give you the whole enchilada,
it is not that bad, ;-). This is what I am doing:

- Delete  things that are not used anymore.
- Componentize image ui element (Canvas).

Bug: 56454
Change-Id: Ib5461639a86d9f8e0a150f6d9543a20058d31e00
Mingle: 239
2014-02-28 10:22:21 +01:00
jenkins-bot 374fe5560d Merge "Create fake user when userinfo request fails" 2014-02-28 08:48:25 +00:00
Gergő Tisza 8408c82420 Clear registered events on unattach
Bug: 62033
Change-Id: Ic23a182ac2a74864831796ce493a0c51baa4fe8b
Mingle: https://wikimedia.mingle.thoughtworks.com/projects/multimedia/cards/273
2014-02-28 03:20:40 +00:00
Gergő Tisza 822e129a37 Create fake user when userinfo request fails
Quick and dirty fix for a bug that completely breaks the metadata panel.
Should be refactored later (for a ForeignDbRepo, a missing user is
normal, for anything else it should still be treated as an error
condition, although maybe not with a rejection).

Bug: 62019
Change-Id: I433ae2bd1334593d9c5bfe0272ce7207f3fdf723
Mingle: https://wikimedia.mingle.thoughtworks.com/projects/multimedia/cards/267
2014-02-28 03:06:23 +00:00
Pau Giner d66681c949 Small font and layout adjustments
Some styling adjustments to:
* Make description fonts not to be de-emphasized in comparison to license terms.
* Avoid metadata on the right to wrap when there is enough space.

Change-Id: I49514060dec200d93489d2b853a1dfdc1bfa5f46
2014-02-27 19:04:00 +01:00
jenkins-bot 45a0031716 Merge "Bugfixes and improvements for the progress bar" 2014-02-27 01:35:26 +00:00
jenkins-bot ccdb14634a Merge "Make it obvious that the permission text is cut off; add expand link" 2014-02-27 01:25:29 +00:00
Gilles Dubuc 9d9fff1871 Bugfixes and improvements for the progress bar
- the bar now starts at 5% for a visual indication that
something is going on
- the bar animates (fast) to 100%, instead of
disappearing immediately
- the animation logic has been fixed to avoid seeing
the bar go backwards
- added sanity check in all the callbacks to make sure
that we don't apply any changes to an image we are
not looking at anymore (including progress updates)

Bug: 58055
Change-Id: I765a61c16513e9330a412c5ec96387623ae7dbc7
Mingle: https://wikimedia.mingle.thoughtworks.com/projects/multimedia/cards/146
Mingle: https://wikimedia.mingle.thoughtworks.com/projects/multimedia/cards/242
2014-02-27 02:13:03 +01:00
Gergő Tisza 976ffc76d3 Make it obvious that the permission text is cut off; add expand link
Fades out the bottom of the text and adds a link to replace it
with the full HTML version. Due to the way it is positioned,
the fade + link will be invisible if the text is less then 3 lines.
The implementation is not very polished; since this will be
replaced by some JS-based ellipsis thing, I didn't want to spend
too much time on it.

Change-Id: Ib30e40fe845b85bfcf9557970efb886d28b3e5c7
Mingle: https://wikimedia.mingle.thoughtworks.com/projects/multimedia/cards/118
2014-02-27 01:06:25 +00:00
Gilles Dubuc 1e880b68ca Ignore left/right key presses when there's a modifier
Change-Id: I8998fd27a7d60f5826802153d3ad74ab8a37c3fe
Mingle: https://wikimedia.mingle.thoughtworks.com/projects/multimedia/cards/236
2014-02-27 01:17:53 +01:00
Gilles Dubuc 5d6d274309 Make the SVG filter inline
The external SVG doesn't work on beta, because
it's hosted on a different domain

Change-Id: Ic6ae42a33f9dbd656df051f056376aea60ac9ea3
Mingle: https://wikimedia.mingle.thoughtworks.com/projects/multimedia/cards/146
2014-02-27 01:11:52 +01:00
Gilles Dubuc 392cc4e737 Move "uploaded by" to the right spot
As specified in the acceptance criteria, it should be
between "Learn more" and the creation date

Change-Id: Ie3e7fd55b6bb8fa5cf995fa90dd8ab45581f34bd
Mingle: https://wikimedia.mingle.thoughtworks.com/projects/multimedia/cards/217
2014-02-26 18:19:51 +01:00
jenkins-bot 1317119e6e Merge "WIP Fix resize issues (Part I)" 2014-02-26 09:24:51 +00:00
Aaron Arcos efaae84a4f WIP Fix resize issues (Part I)
After a few false starts trying to fix LIP.autoResize(),
I noticed that it has become obsolete by our latest
improvements (bucketing and cashing), so I decided to
get rid of it and let the browser do the resizing.
I tested in Chrome/Safari/FF and this approach seems
to work fine.

Still work in progress and there are many things that should
be cleaned up regarding the image object logic but please take
a look and let me know if you have any objections if I go
this route.

Bug: 56454
Change-Id: I08207d0f1fcc9dcb69ec31c03e96cfd0c0a6c522
Mingle: 239
2014-02-26 10:22:47 +01:00
Gergő Tisza 77deada982 Fix display issues with "view terms"
Hiding the element before it is added to the document causes
a wrong display type in Firefox; changing the order of commands
fixes that.

Bug: 61936
Change-Id: I808131da25f2f70c14747238216e8973af44d029
Mingle: https://wikimedia.mingle.thoughtworks.com/projects/multimedia/cards/118
2014-02-26 01:20:34 +00:00
Gergő Tisza 18a850869d Make sure the text of the permission box is cut exactly between lines
Change-Id: I7a0a3056f6e3734579f1e04175e04c89ced92576
Mingle: https://wikimedia.mingle.thoughtworks.com/projects/multimedia/cards/118
2014-02-26 00:41:12 +00:00
Gilles Dubuc 77a483086f Blurred thumbnail preview + progress bar
Displays a blurred version of the thumbnail
while the actual image loads
Displays a progress bar showing the image load progress
Animates into focus once the actual image is loaded

Change-Id: I2b8bc4691c20ffb5b3f16da9a8b9d6fd1796d784
Mingle: https://wikimedia.mingle.thoughtworks.com/projects/multimedia/cards/146
2014-02-25 14:57:33 +01:00
Gergő Tisza 109bbe6ac1 Namespacing MMV properly
Everything is under mw.mmv now.
(Also, I cut down on the number of direct global instance references a bit.)

Change-Id: I88bb3b62b82ce54126dd069b0aab4412d9404719
2014-02-25 13:16:22 +01:00
Gergő Tisza 53da285b07 Merge MultiLightbox into MultimediaViewer
* merges parent classes into child classes
* moves some files and tests to have a consistent directory structure

Change-Id: I360cc0805d8a561f5105fb063747457f67e1fccd
Mingle: https://wikimedia.mingle.thoughtworks.com/projects/multimedia/cards/177
2014-02-25 02:00:13 +00:00
Gergő Tisza a04631c405 Show permission
Change-Id: I0b8b0626b36baba9732f7350213d8b53ec2cca95
Mingle: https://wikimedia.mingle.thoughtworks.com/projects/multimedia/cards/118
2014-02-24 21:41:25 +00:00
Gilles Dubuc bfa530cc21 Wait for CSS to be truly loaded before opening the viewer
This is a workaround for core bug #61852

Change-Id: If7d830866993eddbf5784694514ff89aece56c5b
Mingle: https://wikimedia.mingle.thoughtworks.com/projects/multimedia/cards/258
2014-02-24 19:13:04 +00:00
jenkins-bot de9d10ce06 Merge "Better way to detect CORS support" 2014-02-24 19:13:06 +00:00
Gilles Dubuc 75dbc72e6c Better way to detect CORS support
The old technique doesn't work in Firefox and
doesn't always work in Chrome depending on
when you call it.

https://hacks.mozilla.org/2009/07/cross-site-xmlhttprequest-with-cors/

Also fixes some tests that weren't overloading
the right function and were hitting the real
feature detection check

Change-Id: I0a9d6b5654efb169860ddf7e5e0551efb825920c
2014-02-24 18:53:01 +00:00