Commit graph

109 commits

Author SHA1 Message Date
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 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
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
jenkins-bot 9e2d1bd121 Merge "Add user preference for non-beta disabling" 2014-03-26 18:27:26 +00:00
Gilles Dubuc da83227379 Makes the size information (WxH) in Embed lighter
Change-Id: I54ccafd81967eb682a2e10e9a0b9ef6c92e2806f
2014-03-26 11:32:25 +01:00
Mark Holmquist 59c1f3f6bd Add user preference for non-beta disabling
Change-Id: I3f581975cfdf33bc15b8a4b23549c6401b4bfb87
(cherry picked from commit b0b1446f5b)
2014-03-24 20:49:16 +00:00
jenkins-bot cf2450ccd1 Merge "Get more license info" 2014-03-24 12:18:18 +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
jenkins-bot e127b3a13d Merge "Add feature flags for Media Viewer" 2014-03-20 23:50:22 +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
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
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
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
Mark Holmquist 4b3c7867e7 Add feature flags for Media Viewer
$wgMediaViewerIsInBeta is one, $wgEnableMediaViewerForLoggedInUsers is
the other - use the former on all sites, the latter on pilot sites in
April.

Before merging, MERGE https://gerrit.wikimedia.org/r/117376

Change-Id: I232997918dee4a00be18c021eb351d81609df2b0
2014-03-18 21:17:58 +00:00
Mark Holmquist 1cd9de75d8 Loads of fix-ups to our module definitions
I suspected the performance -> eventlogging dependencies were wrong
and took the opportunity to fix all the things.

Change-Id: Ib97c2f2deb8c9bb3435ea6ce4fee440853381856
2014-03-10 19:14:48 +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
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
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
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
Gilles Dubuc 812341a549 MediaViewer schema should be a dependency of mmv.bootstrap
For the thumbnail-link-click and enlarge-link-click events

Change-Id: I8fa0d286997a27b46d2d0506513254694c1927ec
2014-02-27 23:36:39 +00: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
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
Gilles Dubuc ce58597b3b Fix hash self-reaction
* Fixes bug where the mmv would react to its own hash changes
* Adds jquery.hashchange for older browser support

Change-Id: I2d23699bb444d9eb533d239e25bc47fa96c902a9
Mingle: https://wikimedia.mingle.thoughtworks.com/projects/multimedia/cards/254
2014-02-24 19:14:45 +01:00
Gilles Dubuc e1e9a24a0a Missing dependency
Change-Id: I8ce510883e13401d9b1464b1583ee11d01f40df6
2014-02-19 15:41:40 +01:00
Gergő Tisza 7afbc5ce92 Use provider XHR information in performance metrics + several fixes
* more robust method of obtaining URL
* decouple performance logging from providers (mostly)
* ignore fake XHR object which jQuery returns for JSONP requests
* guard for CORS requests - apparently Chrome refuses to return
  certain information even with an Allow-Origin: * response header.
* Resource Timing is limited to 150 results, which causes fake
  misses in debug mode. There is an API to increase the limit
  but it is not implemented in Chrome. I am calling it nevertheless,
  maybe IE understands it (it is present in the MSDN docs at least).

This seems to work for AJAX, CORS, JSONP, image AJAX; CORS requests
return 0 for a lot of values, per spec a Timing-Allow-Origin: *
header might help that.

Change-Id: I8353858022f51a7e70774e65513d0fa2554a5064
2014-02-19 00:38:27 +00:00
Gilles Dubuc a5cddef17a Lazy-load mmv
Also removes the index inside the location hash

Change-Id: I9429ff0101ab891f2c4c6aa2d989fbef0813252d
Mingle: https://wikimedia.mingle.thoughtworks.com/projects/multimedia/cards/136
2014-02-18 15:55:15 -08:00
Gilles Dubuc c9fc2c707f Make the image and navigation buttons unselectable
Change-Id: Iec6d8a9511e2a4c508da7524c9fb0db499d1eb8a
Mingle: https://wikimedia.mingle.thoughtworks.com/projects/multimedia/cards/214
2014-02-18 19:36:33 +00:00
Gergő Tisza 7124ece961 Switch to core's version of moment.js
Depends on core change I6aa36d34bfbe8334c87d6ca449ec19b6a8daf8e7

Change-Id: I850d318a523e51c064e57fb888c7a10c79df6f72
2014-02-18 08:37:44 +00:00
jenkins-bot 3dc1b7d0e4 Merge "Big credits patch" 2014-02-14 08:14:31 +00:00
Gilles Dubuc 35690bb2f1 Get rid of lightboxHooks
Delete lightboxHooks, since most of them
haven't proven to be useful.
Replace the useful ones by jQuery events.

Change-Id: I28f99ba85666ca15979feb5c637924b98bba27a8
Mingle: https://wikimedia.mingle.thoughtworks.com/projects/multimedia/cards/176
2014-02-13 17:47:30 -08:00
Gergő Tisza 302944352f Move jquery.throttle-debounce to core
Depends on core change I008f46cc97af10e93ad9cad35924aaf251b99aa6 (merged)

Change-Id: I0c5faa4b20274a61d95aa2067f1071d2ab462454
2014-02-13 22:54:00 +00:00
Mark Holmquist 575fd50d95 Big credits patch
Add all authors, and put the extension in the new "Beta features" credit
section in Special:Version.

Change-Id: I22b0ab0ded87191832b469bec21665ef3fd6f2e1
2014-02-13 13:38:19 -08:00
Gilles Dubuc 6e127b25e2 Preload prev/next images
When the lightbox is opened, or prev/next pressed, preloads the
previous/next N images.

Technical debt introduced:
* initialization is a mess, with the viewer and the interface
  randomly setting properties on each other in different phases of
  execution. That got in the way and I shuffled things around
  until they worked, which is obviously not the way to have a
  robust system, but hopefully it will get scrapped soon anyway
  in favor of a clean top-down dependency injection.

Change-Id: Idcb5c40de1ac0b3e482decd66e56c4de8ec71b6b
Mingle: https://wikimedia.mingle.thoughtworks.com/projects/multimedia/cards/155
2014-02-13 10:52:40 +01:00
Gergő Tisza 9881f9e7ae Add TaskQueue class
A simple task queue which can be processed or cancelled.
Will be used to handle preloading in a more robust way.

Change-Id: Ib33f9b2d814a35538f9d4f3691fce5ba5cdc82c1
2014-02-12 01:55:39 +00:00
Mark Holmquist a62410616d Refactor button things into a separate class
https://wikimedia.mingle.thoughtworks.com/projects/multimedia/cards/124

Change-Id: Ib4b54164bccbe17e42b223880179531e8d9e6123
2014-02-10 09:40:50 +01:00
Gergő Tisza 06cc6cca1a Refactor thumbnail size calculation
* moves generic logic into ThumbnailSizeCalculator class
* moves UI-specific logic into interface class
* fixes bug where non-bucketed sizes were served on devices with
  non-standard pixel density
* fixes bug where bucketed size was compared to css size instead of screen size
  for resizing

Change-Id: I8ba3380b74fcc8fb0a6ecc3f3140627411851ad0
Mingle: https://wikimedia.mingle.thoughtworks.com/projects/multimedia/cards/196
2014-02-08 01:27:27 +00:00
Gilles Dubuc e74fc33e89 Track detailed content loading network performance
Leverages the W3C Navigation Timing API when available

Change-Id: Ief1d327d1bd8928bf5f2bf0bd4c7141a0a608a53
Mingle: https://wikimedia.mingle.thoughtworks.com/projects/multimedia/cards/126
2014-02-07 19:37:22 +00:00