Commit graph

152 commits

Author SHA1 Message Date
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
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 476a0be245 Merge "Skip userinfo request if no message depends on the gender." 2014-04-23 23:47:34 +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
Amir E. Aharoni 3e39739557 Add mediawiki.jqueryMsg as a dependency for mmv.ui.fileUsage
The Hebrew translation of a message there uses GRAMMAR,
so this module is needed.

Change-Id: I1ffe9a936a071709e7049bc0ffec77123cb42fd1
2014-04-22 22:35:16 +03:00
jenkins-bot 2b665e6ff0 Merge "Track more user actions" 2014-04-22 18:41:28 +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 c9e92da374 Split the progress bar into a component of its own.
Change-Id: I131b0d1b8ec992a7c7ad388021febea5a0303d16
2014-04-21 22:27:59 +00: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 8217b97462 Merge "Load moment.js on demand" 2014-04-16 20:32:21 +00: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
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
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
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 911e87adde Merge "Add truncatable text field, use for some fields" 2014-04-10 12:13:46 +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
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
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 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
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
Ori Livneh 642b69c3f1 Register ResourceLoader modules the conventional way
* Remove $moduleInfo trick; it's an expensive way to save typing a few
  characters. (If you are really keen to save those characters, consider
  flattening the file hierarchy: does every mmv module have to have 'mmv' both
  in its directory name *and* in the filename itself?)
* Using an anonymous, immediate function to create a scope and thereby avoid
  polluting global scope is a JavaScript pattern that doesn't translate well to
  PHP. The idiomatic way of doing that in PHP is to use namespaces. But you
  don't even need to do that, since all the variables you are manipulating are
  global anyway, now that $moduleInfo is gone.
* Use the same pattern as VisualEditor for registering multiple modules in
  bulk.
* Always put extension info under 'other' section. If a value is configurable,
  then it is not essential / inherent to the extension itself. The fact that
  the extension is a beta feature is a property of the way it is deployed on
  the Wikimedia cluster; it's not descriptive of the extension in itself. (I
  would argue getting rid of the 'betafeatures' section everywhere for this
  reason.)

Change-Id: Ifc0a05362db990e4c073761a00ba17326c5ebbdb
2014-04-08 02:14:15 +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 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
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
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
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
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 21ba529db0 Merge "Display thumbnail placeholder ASAP" 2014-03-31 21:05:45 +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
jenkins-bot a9ce868498 Merge "Utilities to transform HTML to plain or filtered text" 2014-03-28 13:43:16 +00:00
Siebrand Mazeland 007abe4b9c Migrate to JSON i18n
Procedure per https://www.mediawiki.org/wiki/Manual:GenerateJsonI18n.php
with shim.

Change-Id: I6c9c18577099e972402b0a4aa1364f44f82b74b4
2014-03-28 10:52:39 +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 23dc942334 Use MakeGlobalVariablesScript to set wgMediaViewerOnClick
Use MakeGlobalVariablesScript instead of ResourceLoaderGetConfigVars
to set wgMediaViewerOnClick because the first is cached per-site
and we need per-user caching.

Change-Id: Ib4d99698030b69532b5996fa6b981f2b5c556a23
Mingle: https://wikimedia.mingle.thoughtworks.com/projects/multimedia/cards/263
2014-03-27 22:46:51 +00:00
jenkins-bot 2c4fb103a3 Merge "More preference and config fixes" 2014-03-27 21:55:15 +00:00
Mark Holmquist 85e52088e8 More preference and config fixes
Change-Id: If19531c3c0f58a271bbaab11e10a987d2fa0224f
2014-03-27 14:42:22 -07:00
Mark Holmquist afb1310c65 Fix failed attempt at configuration defaults
The default needs to be changed later. Oops.

Change-Id: Ibcdc646a1e961a428f500d3d57b39c0a905880d2
2014-03-27 14:01:56 -07: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
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