Commit graph

386 commits

Author SHA1 Message Date
Gergő Tisza bbe174bca8 Display warning for licence/attribution problems
Bug: T76030
Bug: T71389
Bug: T71557
Change-Id: I38c1548a0de6cfd3a48db7efd7502a99f168d4a5
2017-09-28 15:34:30 +02:00
Ed Sanders 2156f3f485 Remove jquery.scrollTo library
This is an old library that is broken in Chrome 61.
Rather than updating it we can just use $(window).scrollTop/Left
which works in all the browsers we currently support.

Fix MPSP.toggle to return a promise, instead of a deferred
(although this return value is not used yet).

Bug: T173618
Change-Id: Iaec56debbb808bd95cf65c1ebfe22bdf0116da68
2017-09-14 12:45:46 +01:00
Timo Tijhof 7ae8401c22 Avoid use of deprecated QUnit.asyncTest and QUnit.start/stop
Change-Id: I9cc132f71df072c724b6cff6f1d935abbe092596
2017-07-25 17:59:27 -07:00
Timo Tijhof 5bf1466e7f Remove use of QUnit.test(, testCount, )
* Removed deprecated testCount, which is no longer supported in this way.
  It's only useful when wanting to explicitly expect 0 assertions (normally
  considered an error).
* Replaced use of testCount = 0, with assert.expect( 0 ).

Change-Id: I8fe82032d3af2a1ad2ed7febdb90a95d56dd3fc4
2017-07-26 00:12:06 +00:00
jenkins-bot 17485a4989 Merge "Replace all direct localStorage interaction by mw.storage" 2017-07-05 14:11:00 +00:00
Matthias Mullie 31c93b79fa Fix buttons fadeOut when coming back from fullscreen
Bug: T164410
Change-Id: I4275c15733b10cff68a20b19e5fb195a88fafebf
2017-06-07 17:09:01 +02:00
Matthias Mullie 3e5ad4c83a Replace all direct localStorage interaction by mw.storage
Meanwhile I also updated a few places where a non-string was
passed to/expected from localStorage - this could’ve led to
inconsistencies because localStorage stringifies everything.

And I also removed CP.canSetMediaViewerEnabledOnClick, which
was no longer used anywhere except for a test case.

Bug: T137777
Change-Id: I21ad4ba15ca751bb03e5e2c523d09a45c0444ccf
2017-06-02 11:52:34 +02:00
Ed Sanders 2264e5fdec build: Update eslint to 0.4.0 and make a pass
Change-Id: I444cfd511121a0547901ed87c9aedd410e7920bd
2017-05-17 11:30:45 +01:00
Ed Sanders 9514e3107a Code lint: Throw errors, no strings
Change-Id: I4bb4de96a5e61b67b7a4c8f16a22f67f53cb034f
2017-05-17 11:28:53 +01:00
Matthias Mullie 19fdcc86f3 Fix mmv.model.TaskQueue qunit tests
Bug: T164473
Change-Id: Iaefae1d00a0469f11ddb3fcecb4f831346ac0eec
2017-05-17 11:53:34 +02:00
Matthias Mullie 4c3302d957 Fix mmv.lightboxInterface qunit tests
Bug: T164473
Change-Id: I5d2ddba1e1a5cb69de276d790841536fde77d108
2017-05-16 14:55:17 +00:00
Matthias Mullie 65c00b388c Fix mmv.logging.DurationLogger qunit tests
Bug: T164473
Change-Id: I9787948e26d27e8fcee934e05e2c200eeec5d82f
2017-05-16 14:55:05 +00:00
Matthias Mullie 5bc3a2d90e Fix mmv.logging.PerformanceLogger qunit tests
Bug: T164473
Change-Id: I6ae5c0170bf12fb076ddc505299ceeb7b9c292e8
2017-05-16 16:54:43 +02:00
Matthias Mullie 651476ccfb Fix mmv.logging.ActionLogger qunit tests
Bug: T164473
Change-Id: I41f207519e27f63338298f68411fc2eb3eb7f13a
2017-05-16 16:53:39 +02:00
Matthias Mullie 934ed2d2dd Fix mmv.logging.ViewLogger qunit tests
Bug: T164473
Change-Id: I11849743773e0382354009ccec1c8cb39c466aef
2017-05-16 14:52:49 +00:00
Matthias Mullie 47d67a6e66 Fix mmv.model.TaskQueue qunit tests
Bug: T164473
Change-Id: I849a81c02886c8f80f7bedef40f7a4504d3632f7
2017-05-16 14:52:38 +00:00
Matthias Mullie d96a587a38 Fix mmw.ui.metadataPanel qunit tests
Bug: T164473
Change-Id: Iefad324be86c59ac9bf44363bcbbb98a70769499
2017-05-16 14:52:25 +00:00
Matthias Mullie 93f1c9f79e Fix mmv qunit tests
This heavily relied on deferreds getting resolved synchroneously,
which (for .then) is no longer the case with jQuery 3.
There's also a difference in how chained .then's get resolved,
and $.when no longer propagates notify().

The changes in here are basically:
* fix use of $.when, manually passing along notify()
* use .then in some places, instead of .done, .fail, .progress
* fix progress bar hiding in setupProgressBar, which assumed sync
* fixed tests, mostly by using fake timers to give async stuff a
  chance to execute

Bug: T164473
Change-Id: Ib51ddd8bc6254a477861588fb16f57565353afe1
2017-05-16 16:51:52 +02:00
Matthias Mullie d204ecc99a Fix mmv.bootstrap qunit tests
This heavily relied on deferreds getting resolved synchroneously,
which (for .then) is no longer the case with jQuery 3.
There's also a difference in how chained .then's get resolved.

These tests did not wait for the deferreds to get resolved async,
so that had to change. Worse even: some functionality was tested
by assuming a handler would not be called (= the test in that
handler would not be called), which didn't make the test run,
because we never even waited for it to be called.

The changes in here are basically:
* make mmv.bootstrap.js correctly use .then instead of .done & fail
* let mmw.bootstrap.test.js tests wait for unresolved async promises
* check call counts instead of running tests inside of callbacks
* limit use of fake timer to the 1 test that needs it (it interferes
  with async, which otherwise don't get resolved)

Bug: T164473
Change-Id: I3ca4f786890ad1646f71fe336afdb61e5c3b01c7
2017-05-16 16:48:20 +02:00
Prateek Saxena 45110a7090 Use <button> instead of <div>
* Buttons are semantically better.
* Neither <div> nor <button> elements can have the 'alt' attribute
  so switching to 'title' instead.

Reverts parts of I6ea62124018b1a0ec5110bb500f690cb2368f102.

Bug: T58471
Change-Id: I991b40d3387f8d6dd7cdad8ccc5cc9660b9f139a
2017-03-22 12:06:15 +05:30
Ed Sanders d7ea64137c build: Replace jshint/jscs with eslint
Change-Id: I423add157245353031e36b7e44fee7ace7c753c7
2017-01-10 10:24:39 -08:00
Fomafix 660503b7a7 Change mw.Map( false ) to mw.Map()
The parameter [global=false] is the default.

Change-Id: I61df2b95308c2fa21d5ed28c2ef1d8ddefdf69e8
2016-11-19 11:10:58 +01:00
Gergő Tisza 789ccdeae6 Fix broken tests
The signature of mw.Map was changed in I7ff0b230.

Bug: T150575
Bug: T146432
Change-Id: I464162549ef9b1decafc42f483c35a2c8e930a3b
2016-11-19 03:00:31 +00:00
Andrew H 0c3b0a5056 Shorten clickable link text in HTML credit lines
Previously, the clickable text in the generated HTML credit lines
was the entire link to the article. This is shortened to a localized
version of "Link".

Bug: T119686
Change-Id: I708f65a85bfa26c264cdd06a265096027266240c
2016-09-26 17:07:09 -07:00
jenkins-bot 0716876c6d Merge "Make embed text short URL into a link in HTML mode" 2016-08-11 19:19:19 +00:00
Timo Tijhof 65bd9ff4a0 Update unit tests to use non-bits favicon urls
Bug: T107430
Change-Id: Ie2001d12202353e6e9e76ddd7ab697ec801f6005
2016-08-03 14:51:56 -07:00
Gergő Tisza 8b8dfe4633 Make embed text short URL into a link in HTML mode
Bug: T138142
Change-Id: Ide6d9b164cdcbafacf08631536cadb04a45ce3dd
2016-08-01 15:17:25 -07:00
jenkins-bot b5f0de95b7 Merge "build: Introduce jshint & jscs and make a pass" 2016-07-19 21:02:24 +00:00
Ed Sanders b46529d1b2 build: Introduce jshint & jscs and make a pass
These replace the hard-coded jshint task in CI.

Change-Id: Id14eec1ecba4ceae735ffd10f9114233a580302f
2016-07-19 13:48:06 -07:00
jenkins-bot d8984a6ab8 Merge "Limit image search to content firing event" 2016-07-19 14:44:39 +00:00
Ed Sanders db6c74a232 Limit image search to content firing event
Bug: T140574
Change-Id: I3c504c09b2b382e094ab2be1fa388efa7ec827b1
2016-07-19 11:33:53 +01:00
Ed Sanders c029295c41 Use simple English in test descriptions (legit->valid)
Change-Id: I01142b85abd4fb2bb16213d753c4b513327bb9bb
2016-07-18 11:39:29 +01:00
Gergő Tisza dba273ac31 Add HtmlUtils.makeLinkText utility function
Change-Id: I2697c2d865dc8dd23883a59ca0c38229c2e7b6e9
2016-06-19 17:22:52 +02:00
Gilles Dubuc 53a3d9a379 Make Media Viewer pluggable for the 3D extension
Some of the code encountered accessed mw.config directly,
I cleaned that up by migrating to mmv.Config, which is an
abstraction added to avoid peeking at mw.config directly.

Bug: T132064
Change-Id: I2a95ba703e6c7f46296f8e435bceec769dceebf9
2016-04-15 16:43:45 +02:00
Andrew H 1b2866df0d Shorten MediaViewer credit lines
Drop the title and site name. Use a shortened URL
created using the pageID for the curid query parameter.

Add pageID property to mmv.model.Image, using value already
fetched from an existing API request.

Bug: T119686
Depends-On: I0f00b986e6095bdb9b8d6af6fbc5b01995227e02
Change-Id: I9189f00bfbf7639974d66cf1921773855a77a865
2016-01-10 23:44:23 +00:00
Julius Alphonso a9758d21e0 Remove uploader's name from MediaViewer
Only last uploader's name is shows, this turns out to be
more confusing than useful.

Bug: T59308
Change-Id: I7d06b72c581fe8738bffc64b5e36be9983b01ccf
2015-12-29 10:56:08 +05:30
Tisza Gergő 6dddb2f7db Do not set up the overlay on irrelevant hash changes
On not-MMV -> not-MMV hash changes the bootstrap class has set
up and immediately torn down the overlay. Besides slowing things
down, this broke TOC navigation on Chrome in an ugly way.

Add a special case to skip the overlay loading when the new hash
does not contain #/media. This is a quick-and-dirty fix; the whole
loading and hash handling could use a rewrite.

Bug: T119854
Change-Id: I5494903dfe778e533773ff142fdf756475c2df32
2015-12-06 08:00:22 +00:00
Gilles Dubuc be1ba4622f Turn mmv-next/mmv-prev into OO events
More of those events sent to the document can be converted, but it's a start...

Bug: T77253
Change-Id: I6100ce303346ab9fa94332e91f5d730dc83f4e65
2015-09-29 13:11:22 +02:00
Gilles Dubuc 90e956e080 Remove CSS readiness workaround
RL's support for this should be bug-free now

Bug: T63852
Change-Id: Iaa6355648dcc1eb1780a7b1ee7e461d4213e3017
2015-09-04 13:04:58 +02:00
Gilles Dubuc a05eedb941 Set test assertions to new date format
Bug: T107417
Change-Id: I1f36ff5d6ae0e1edb5f066ec44c355bdc5f59bb0
2015-07-30 14:13:27 +02:00
Geoffrey Mon a7f11a7c45 Moar restriction icons!
Icons for all important non-copyright restriction types.
Also, some tweaks made in CSS e.g. add 1 px margin to top of mw-mmv-labels
Finally, new test to check if default restriction is placed last.

Example files:
copydesign: https://commons.wikimedia.org/wiki/File:Peugeot_404_dsc01875.jpg
trademark: https://commons.wikimedia.org/wiki/File:Logo_NIKE.svg
trademark+insignia: https://commons.wikimedia.org/wiki/File:Flag_of_UNESCO.svg
personality: https://commons.wikimedia.org/wiki/File:Vice_President_Megawati_Sukarnoputri_-_Indonesia.jpg
communist+insignia: https://commons.wikimedia.org/wiki/File:Flag_of_Georgian_SSR.svg
nazi: https://commons.wikimedia.org/wiki/File:PropagandaNaziJapaneseMonster.gif
costume: https://commons.wikimedia.org/wiki/File:Shrek_%26_Fiona.jpg
fan-art: https://commons.wikimedia.org/wiki/File:Magic_wand.gif
(I think that's enough)

Bug: T102693
Change-Id: I907396c59752511448145a4ac5d29096166f841f
2015-07-16 01:06:39 +00:00
Gilles Dubuc 95dcc971b0 Reduce number of RL modules in MultimediaViewer
Having many modules makes the startup module in the head
unnecessarily longer. Things should only be in their own
module if they're going to be loaded on demand on their
own or are a shared dependency of separate modules that
are.

This change brings down the amount of modules declared by
Media Viewer from 53 to 8. The ones that remain are
mostly things loaded on demand.

Bug: T103706
Change-Id: I5b0d29209599285b93217e96def818e641646c73
2015-07-10 00:07:14 +02:00
jenkins-bot 9dab34cc69 Merge "Fix two failing QUnit tests" 2015-06-21 23:00:38 +00:00
Gilles Dubuc ecc5b58cfa Remove the 640 bucket
It decreases the likelihood of Varnish hits and is only 11% smaller on
average in file weight than the 800 bucket.

Bug: T102870
Change-Id: I8611791a192fa7b0e638ccfc886733b75bf30aed
2015-06-18 10:18:00 +02:00
Thiemo Mättig 34a24b016a Fix two failing QUnit tests
These two tests fail on my local machine. I am making the two
assertions independent from
a) the order of HTML attributes (the test should not care about
   the order, only if the attributes are there or not)
b) the message (both messages are possible and valid, the question
   which message should appear is not part of that specific test).

Change-Id: I69b4793d365d3afebb869c787316e4242cb15b25
2015-05-20 12:48:59 +02:00
Gilles Dubuc a45f7b48f0 Make progress bar qunit tests more robust
Bug: T93540
Change-Id: Id46d3ffd4e9f89a834162b595e36a26e1186c0a5
2015-03-24 12:24:10 +01:00
Gilles Dubuc 40c7284911 Make media viewer use the same prefix as mobile
Keep responding to the legacy prefix, since many links on the web
are referencing it.

Bug: T87769
Change-Id: I0936ada35141ddd85e0aa232b833d315e3246ce3
2015-02-25 21:22:05 +01:00
Gergő Tisza c3c549f1b4 Make logging less noisy in debug mode
Suppress logger console output if the logger is disabled.

Change-Id: I5f45bb7fc68f33880f8a4d1737f0055335fe5071
2015-02-19 23:50:04 +00:00
Gilles Dubuc 1409475187 Adapt to OOUI change in dropdown widget
Bug: T89444
Change-Id: Ie65ad811296b5bce6c43f6c37a00f8d899418f8a
2015-02-13 15:20:59 -06:00
jenkins-bot a588751d6f Merge "Collect thumbnail width in the performance log" 2015-01-23 23:04:20 +00:00
Gilles Dubuc 8309d7ea88 Collect thumbnail width in the performance log
Bug: T86609
Change-Id: Ia0934cf76c323b9bcb2ee7b0ee8ee6ca2aefc600
2015-01-23 14:57:36 -08:00
Divya adbf42280e Match size of preview and real image
Bug: T87295
Change-Id: I04746dcb80e571a624366b86fd5c5f4cbc31185b
2015-01-23 15:22:39 -05:00
Fomafix ae99be730e Apply coding conventions for JavaScript
Change-Id: I57a8f188eb1152438a8e94235a6f6801e2617c28
2015-01-23 12:48:27 +00:00
gladoscc 84a8df8808 Show (tm) symbol if applicable
ImageData will now parse for restrictions (this part has not been
implemented in CommonsMetadata yet), and an orange trademark label
will be displayed next to the license label if there is a 'trademarked'
restriction.

Bug: T77717
Change-Id: Ib03f9708d1e4ff0b5befddc2688b274e2c7ce1f7
2015-01-15 18:21:30 +11:00
Geoffrey Mon cf67495467 Allow bold and italic text
Added mmv.HtmlUtils.htmlToTextWithTags()
  which is similar to htmlToTextWithLinks()
  but allows <b> and <i>
Added test for mmv.HtmlUtils.htmlToTextWithTags()
Most text fields now use htmlToTextWithTags()
  except Permission field which is not supposed to
  have HTML

Bug: T69887
Change-Id: I16833f218e2f64586aa13925356fa2b8b7ec3100
2014-12-31 01:01:50 +00:00
jenkins-bot ac7bfa9274 Merge "Show alt-text in export dialog and for lightbox image" 2014-12-30 21:00:09 +00:00
Geoffrey Mon 8ba4ff03c8 Show alt-text in export dialog and for lightbox image
Pass alt parameter from mmv.bootstrap.js to mmv.js and
set it as a parameter on the displayed lightbox image.
Include the alt text in the embed text.

Bug: T66519
Bug: T75923
Change-Id: I29503eb582ac2bc8cf89f737a3bcb787b660d918
2014-12-30 15:47:25 -05:00
jenkins-bot 9119af8534 Merge "More accurate looking for image caption" 2014-12-30 08:56:22 +00:00
m4tx eb7d6ef537 More accurate looking for image caption
MediaViewer now handles Template:Multiple_image. Instead of looking
for caption in whole thumbnail container, it tries to find the
closest one to the image.

Bug: T85354
Change-Id: I18d982a4bf245c4925213d83a3410274d499845e
2014-12-30 09:50:18 +01:00
jenkins-bot dc8c2bc545 Merge "Change "view terms" to "hide terms" once clicked" 2014-12-29 22:37:53 +00:00
m4tx dac77cafc4 Change "view terms" to "hide terms" once clicked
metadataPanel overrides the grow() and shrink() methods in Permission
class instance, so the text is changed also when user clicks the
"view more" link inside the box.

Bug: T71233
Change-Id: I66fe57980c6f469d86e3d52b67d01e06a3a14270
2014-12-29 23:23:07 +01:00
Sn1per e4b8e860c8 Show custom Attribution line instead of Author/Credit when available
- Adds attribution variable to Image model
  - In mmv.ui.metadataPanel and mmv.EmbedFileFormatter, display
      attribution line instead of author and credit when it is set
  - Update junit tests for mmv.model.Image and mmv.EmbedFileFormatter

Bug: T67445
Change-Id: Idfe542a1542d28cf8d27c1720ab0bd54324b2f37
2014-12-29 15:56:05 -05:00
Gergő Tisza 175c080019 Fix failing test in master
String.replace interprets a plain string as an exact text to match
against, but String.match interprets it as a regexp. Javascript is
fun.

Change-Id: I93ac31079f1f87dffdf0d5e02df2fa38ae79a6cc
2014-12-08 21:33:27 +00:00
Gilles Dubuc 30029b8b78 Track the most recent upload time for performance events
Change-Id: I673f9487deea15dc148452a3a4d6b91563a2c417
Bug: T76035
2014-12-03 16:15:20 +01:00
Gergő Tisza d280920121 Fix inconsistencies in attribution text
* use the same text for plain and HTML format
* use the same text whether or not a deed URL is set

Bug: T76030
Change-Id: Iea53766b2e2031206d707838551bd82dba29e8c4
2014-12-01 21:14:16 +00:00
Gergő Tisza 485944ba9d Show "and X more authors" when a file has multiple info templates
Bug: T74082
Change-Id: If53e3e364d07ef35a93b3b24430441d390aaf66e
2014-11-27 07:24:26 +00:00
jenkins-bot 9c6d50e55a Merge "Text changes for better handling of PD and nonfree licenses" 2014-11-26 14:52:39 +00:00
Gergő Tisza 05d803e17a Text changes for better handling of PD and nonfree licenses
Bug: T70687
Change-Id: I84e0094559e5b438fcb33b8511dc0184435c1a37
Mingle: https://wikimedia.mingle.thoughtworks.com/projects/multimedia/cards/1004
Mingle: https://wikimedia.mingle.thoughtworks.com/projects/multimedia/cards/631
2014-11-26 02:21:50 +00:00
Timo Tijhof cf48687731 Migrate jQuery andSelf() to addBack()
Deprecated in jQuery 1.8
http://api.jquery.com/andSelf/

Change-Id: I4988c24c4f14c2962f12065acccc7dd51899a2e4
Task: T67399
2014-11-25 02:57:29 +00:00
Gilles Dubuc 00d345f8b4 Rename Performance to PerformanceLogger
Change-Id: Iacfde35851cf8f617c4672d3ea466d4f0e2e448f
2014-11-21 11:07:40 +01:00
Gilles Dubuc 0e01796a3c Track how long users are viewing images for
This is complete, but it would be better if the HEAD request
was actually aborted by Varnish when the viewDuration parameter is
present, or if the hit pointed to a script that does that.

Change-Id: I66cafd97427756411e967de1901324af2215e3ae
Mingle: https://wikimedia.mingle.thoughtworks.com/projects/multimedia/cards/1001
2014-11-21 00:39:29 +01:00
Gilles Dubuc c98a243639 Track image "unviews"
Change-Id: I4441b6df511f99b73bfafea0d804171435e129d2
Mingle: https://wikimedia.mingle.thoughtworks.com/projects/multimedia/cards/998
2014-11-21 00:37:11 +01:00
jenkins-bot 7638a878f9 Merge "Add marker parameter to image requests coming from MediaViewer" 2014-11-20 21:24:19 +00:00
Gilles Dubuc ad5040a140 Add marker parameter to image requests coming from MediaViewer
This will be needed by Erik Zachte for compiling per-file image view data.
Since Media Viewer does preloading, it skews the HTTP request-based
statistics. By marking image requests coming from Media Viewer,
it allows us to remove that bias.

Change-Id: Iac8e7770c1a379691547de4b6d47b7d54467f54d
Mingle: https://wikimedia.mingle.thoughtworks.com/projects/multimedia/cards/1002
2014-11-20 15:57:27 +01:00
jenkins-bot 4dc8ec2669 Merge "Track the most recent upload time for duration events" 2014-11-20 00:04:14 +00:00
Gilles Dubuc 6eb64f39ba Track the most recent upload time for duration events
This will allow us to see if images uploaded recently, which have been
subjected to thumbnail prerendering, load faster.

Change-Id: I4ce358ff54e4ca4e290349aa3ff4810ad4714d24
Mingle: https://wikimedia.mingle.thoughtworks.com/projects/multimedia/cards/975
2014-11-11 18:14:24 +01:00
Gergő Tisza af508f066a Make the ellipsis of truncated texts more prominent
Also fixes popup texts which should have been updated in the parent commit
and the panel opening mechanism which did not work when the below-the-fold
description box was display:none-d.

Change-Id: I5fc37429a7dc7a8f1517fa42375cd140d7d11674
Mingle: https://wikimedia.mingle.thoughtworks.com/projects/multimedia/cards/589
2014-11-11 15:37:14 +00:00
Gergő Tisza 3a18515163 Replace filename with caption/description
* when the caption is available, use it as the image title
* otherwise, fall back to description if available
* otherwise, fall back to filename
* if both caption and description are available, show caption as
  title and show description below the fold; otherwise don't show anything
  below the fold.

Change-Id: I9738ca46620d7cf3b30f6e46790a37966d4b9eaf
Mingle: https://wikimedia.mingle.thoughtworks.com/projects/multimedia/cards/589
2014-11-11 15:33:15 +00:00
jenkins-bot 6e79ad51f1 Merge "Display a placeholder text when author and source are missing" 2014-10-31 09:41:30 +00:00
Gergő Tisza b0bac10627 Display a placeholder text when author and source are missing
Change-Id: I38478956c5a0b5f204e5caa43e54db651f297887
2014-10-29 15:38:56 +00:00
Gergő Tisza 392e714cc6 Add icon for PD licenses
Change-Id: I82c56a420d8d529a4a50cb66e64b191bbb36997f
2014-10-29 14:03:36 +01:00
Gergő Tisza 8423974c6a Change above-the-fold layout - step 3
* make top of "below-the-fold" be actually above the fold
* put all above-the-fold content except title and more details button
  into that area
* kep below-the-fold area in fullscreen mode when title/credit gets untruncated
* increase title length to 180 (140 before reducing font size) - works nicely on
  my 1600x900 laptop
* remove old styles which were intended to make the button smaller when the
  panel is close but were mostly broken anyway and only caused the button to
  twitch

To avoid redoing all the size calculation logic, we cheat and use a negative
margin to pull the below-the-fold content above the fold.

Change-Id: I18d7bdb7dbbdfb8201c0d66257731febfac31263
Mingle: https://wikimedia.mingle.thoughtworks.com/projects/multimedia/cards/833
2014-10-29 12:05:34 +01:00
Gergő Tisza f792a42f93 Change above-the-fold layout - step 2
* move license and terms link from title area to attribution area
* remove some ineffective styling for elements which have already been removed
  in earlier changes

Change-Id: I5bd41e337a4c8133bfa27e4c4d03162b2d6e35bb
Mingle: https://wikimedia.mingle.thoughtworks.com/projects/multimedia/cards/833
2014-10-28 21:18:53 +00:00
jenkins-bot fb7a04f5a2 Merge "Change above-the-fold layout - step 1" 2014-10-28 21:18:48 +00:00
Gergő Tisza a6adad35ed Change above-the-fold layout - step 1
* remove chevron
* adjust colors

Change-Id: I443fd757f5df18d099e42a81f1f323fadea77987
Mingle: https://wikimedia.mingle.thoughtworks.com/projects/multimedia/cards/833
2014-10-28 20:02:22 +00:00
Gergő Tisza a44be28c4e Fetch image title from CommonsMetadata
Change-Id: Id7d256150aedb4351778f6ad60fd7d85399b58c5
Mingle: https://wikimedia.mingle.thoughtworks.com/projects/multimedia/cards/589
2014-10-28 10:46:31 +00:00
Mark Holmquist ff7a8b23c2 Add about link to disable/enable dialog
This was the last issue with the dialogs. Tests included.

Change-Id: Ic08af400893950a04489af4b166827d059561974
2014-10-24 13:51:32 -05:00
Gilles Dubuc 0d743977dd Fix issue with options dialog when media viewer has been reopened
- Fixes the bug where the options menu wouldn't open if media
viewer was reopened
- Adds human-readable console messages for the options actions
- Makes the tooltip a tipsy one like all the other buttons
- Fixes the tooltip copy, it was referring to "previews", which we
said we wouldn't do anymore, in favour of "Media Viewer"

Change-Id: I1590f9501cc6c406cc1f466b414062d4d6435c1b
Mingle: https://wikimedia.mingle.thoughtworks.com/projects/multimedia/cards/963
2014-10-23 15:29:44 +02:00
Gergő Tisza 2c578e6dc3 Show popup when the user visits a file page the first time after disabling MMV
Change-Id: Id2b121c930115373a8a81dc1091c4124807db053
Mingle: https://wikimedia.mingle.thoughtworks.com/projects/multimedia/cards/719
2014-10-21 14:28:20 +00:00
Mark Holmquist feb8e43571 Add tests for viewing options panel
Change-Id: Ic7a856ac4d94f4a65224f4c6373938da7b05f0fd
2014-10-19 00:35:36 +02:00
Mark Holmquist 1853540cd3 Add viewing options panel
Enable, disable, and get confirmations.

Lots of UI work on this one.

Change-Id: I1f731992bd240e7ea403592872f7c7e270158753
2014-10-19 00:27:15 +02:00
jenkins-bot 2203f89236 Merge "Log image dimensions" 2014-09-30 15:15:54 +00:00
Gergő Tisza ff76011032 Log image dimensions
Also add a sanity test to attribution logging which I forgot at the time.

Change-Id: I3010e57eb74a76fee4078c415182a033375ea890
Mingle: https://wikimedia.mingle.thoughtworks.com/projects/multimedia/cards/898
2014-09-30 14:55:47 +00:00
jenkins-bot 22966d4358 Merge "Only add country field when it's in the schema" 2014-09-29 14:05:25 +00:00
Mark Holmquist 9187148b01 Remove duplicate details link in metadata panel
Change-Id: I2eaa221fa505e9f106fa8611adfe99677a24009b
Mingle: https://wikimedia.mingle.thoughtworks.com/projects/multimedia/cards/909
2014-09-28 21:45:55 +00:00
Gergő Tisza 2e4379c66e Only add country field when it's in the schema
Change-Id: Id38ce4d20312bd15014cf37d521aac0a97bd660b
Mingle: https://wikimedia.mingle.thoughtworks.com/projects/multimedia/cards/907
2014-09-26 22:05:22 +00:00
Mark Holmquist 0d4863dd91 Make the download pane into its own dialog
Change-Id: Ia92545ed1ef7f2e4ba7934c682eef684a22ca17f
Mingle: https://wikimedia.mingle.thoughtworks.com/projects/multimedia/cards/841
2014-09-24 17:05:50 +02:00
Mark Holmquist 59d8c5d892 Make the reuse button part of the canvas
Moves it out of stripeButtons and into canvasButtons.

Will move download to its own thing later.

Change-Id: Iaf18914b29a6283c3bade954f1adb3f206c9c911
Mingle: https://wikimedia.mingle.thoughtworks.com/projects/multimedia/cards/834
2014-09-18 12:43:45 -07:00
Gergő Tisza 4b6e44a2fc Make sure event handlers are set up even if onready handler is lost
Due to a jQuery bug, errors in local code (gadgets, user scripts)
can cause onready handlers to not be executed. For MMV this causes
catastrophic failure, with a black screen of death on exit.

This change makes sure that the setup code necessary for Media
Viewer to work is executed at latest when MV is invoked, even if some
onready handlers were skipped.

Opening MediaViewer via a hash-URL will still not work if the onready
handler fails, but that's hard to avoid and it is not a catastrophic
failure anymore. This change can be reverted when bug 70772 gets fixed.

Bug: 70756
Change-Id: Ida3b780791bc9dfec29303567d33e3aa4f44dd81
Mingle: https://wikimedia.mingle.thoughtworks.com/projects/multimedia/cards/891
2014-09-12 23:49:43 +00:00
Mark Holmquist a82dfd6eb0 Remove tooltip for view-file
Change-Id: I89b2dfd43ea18a2e1fe9d2214b76218b24ce88cb
Mingle: https://wikimedia.mingle.thoughtworks.com/projects/multimedia/cards/886
2014-09-11 10:41:45 -07:00
Gilles Dubuc 2ef45b3058 Remove categories
Change-Id: I309b01592e874579d50bf5fc0810c238d47748f5
Mingle: https://wikimedia.mingle.thoughtworks.com/projects/multimedia/cards/835
2014-09-09 13:23:50 +00:00
jenkins-bot 23c7258b31 Merge "Remove file usage" 2014-09-09 13:10:37 +00:00
Gilles Dubuc b70fa7251d Replace addEventListener call with jQuery's .on()
Bug: 70553
Change-Id: I24680e7b7759d30eca2a733d670e10c0b4bfe7ab
Mingle: https://wikimedia.mingle.thoughtworks.com/projects/multimedia/cards/863
2014-09-09 11:18:03 +02:00
jenkins-bot 79f1ee4a09 Merge "Go to the original image on image clicks" 2014-09-08 06:33:54 +00:00
Mark Holmquist f94d3362d9 Go to the original image on image clicks
Also removes original file button.

Change-Id: I6e73e46e910313fe6c5efb3087ecb693e499e064
Mingle: https://wikimedia.mingle.thoughtworks.com/projects/multimedia/cards/831
2014-09-05 10:19:00 -07:00
Gilles Dubuc caa624d711 Remove file usage
Change-Id: I538f7734e1c06a179ee98a5cd843ccee4d91349f
Mingle: https://wikimedia.mingle.thoughtworks.com/projects/multimedia/cards/835
2014-09-05 08:14:52 +02:00
Gergő Tisza c4c262bf44 Move logging-related code to its own directory
Also make sure class and file names have the same case.

Change-Id: I21042e40030051326f8c55fd62a86a54e9011a4a
2014-09-04 23:34:45 +00:00
Mark Holmquist 35b6f70ef2 Use link title as fallback for caption
This works because the title doesn't exist if there's no caption and we
won't get to this logic branch if the thumbnail is an explicit |thumb|
with a caption already.

Refactored caption-fetching a bit.

Change-Id: If84c890e7b71880db640a0993f8e3d6cd59951b8
Mingle: https://wikimedia.mingle.thoughtworks.com/projects/multimedia/cards/513
2014-09-03 12:13:21 +00:00
jenkins-bot fb6e8ad1e2 Merge "Fix preference DB values" 2014-08-27 08:11:08 +00:00
Gergő Tisza d3869e581e Fix preference DB values
Ensure that changing the preference via the quick link and
Special:Preferences is stored identically in the DB.

Change-Id: Ia37da1c6bfbb3edf0eba56f01105e4a5f3a5e4ba
2014-08-26 10:37:38 +00:00
Mark Holmquist 62bdbd57a6 Fix link to media viewer with proper namespace
Use the canonical English namespace instead of a localized one.

Change-Id: I9fa1a2af1210c5a4a47792c3dc4616cb628cd806
Mingle: https://wikimedia.mingle.thoughtworks.com/projects/multimedia/cards/826
Bug: 69956
2014-08-26 01:00:37 +00:00
Gergő Tisza 4142696903 Fix moment tests
moment.js has a slight change in date output which broke some tests.

Change-Id: If5ffdaba8574e574d644f3d8bd987ee29aeb0bc9
2014-08-16 12:11:46 +00:00
Gergő Tisza 81865ecf7c Fix failing loader tests
mw.notify calls mw.loader.using now, which we mock out in some
tests. This change adds an exception to the mock.

Change-Id: I68d7293a4d45f904e949ea4b56ec409456624cbd
2014-08-15 13:46:43 +00:00
jenkins-bot b77010fadd Merge "Use image title in history" 2014-07-22 14:12:23 +00:00
Gergő Tisza e055b8bb7d Use image title in history
Changes document title (which is shown in history navigation)
to include the image name.

Bug: 67008
Change-Id: Id1b030f2b984571fb0877e35db2ca2ccc86f0130
2014-07-22 06:08:59 +00:00
Gergő Tisza 0423bfbe5a Reveal full text when metadata panel is opened
Automatically reveal/hide full text as metadata panel is opened/closed.
Also makes metadata open/close a proper event.
Changes scrollTop calculation for the fully open metadatapanel so it is not
confused by the size of the panel changing.

Also rename MetadataPanel.$controlBar to $aboveFold (that field was missed
when the corresponding CSS class got renamed).

Change-Id: I7e66ca0f45c2188dab4b78508ad7f91154187de4
Mingle: https://wikimedia.mingle.thoughtworks.com/projects/multimedia/cards/396
2014-07-18 00:47:46 +00:00
Gergő Tisza f14d08fd75 Reveal full text when user clicks on title or credit
Reveal the full title + author + source when the user clicks one
of these, and make some related changes:
* expand the above-the-fold part of the metadata panel so they fit
* make the stripe buttons smaller and hide their text
* scroll the panel up if necessary
* modify tooltip texts when there is more text to show

Change-Id: I304297bc5e7be7b16e2fc4bde66ac19641b00029
Mingle: https://wikimedia.mingle.thoughtworks.com/projects/multimedia/cards/396
2014-07-17 09:42:12 -04:00
Gilles Dubuc b0d885e4dc Remove all survey-related code
Change-Id: I67285260c13a1e8d3c37365bb80a7156c0fecd4e
Mingle: https://wikimedia.mingle.thoughtworks.com/projects/multimedia/cards/794
2014-07-16 21:27:53 +00:00
jenkins-bot 116d29a651 Merge "Remove trainling dot from download attibution text to not break URLs" 2014-07-07 16:30:56 +00:00
jenkins-bot 6faaa01ad3 Merge "Convert non-standard class-names (mw-mlb, multiediaviewer-)" 2014-07-07 16:29:47 +00:00
jenkins-bot 1294e824c9 Merge "Add functionality to TruncatedTextField to toggle full text" 2014-07-02 13:29:14 +00:00
Gergő Tisza c5c450f91b Add functionality to TruncatedTextField to toggle full text
Change-Id: I34db79faa80ee5d1b3518aafd9b866cc9cdcc45b
Mingle: https://wikimedia.mingle.thoughtworks.com/projects/multimedia/cards/396
2014-07-02 15:26:21 +02:00
Gergő Tisza 4a05b97dc9 Remove trainling dot from download attibution text to not break URLs
When formatting the attribution as plain text, make sure that the
source parameter (which typically ends with an URL) is not followed
by a '.', which could break autolinking when e.g. the text is
copied into a mail.

Change-Id: I5406fe3a55bc4ef6802b32d5a3d533ce9f49b361
2014-07-02 01:11:02 +00:00
Gergő Tisza 890d7721df Convert non-standard class-names (mw-mlb, multiediaviewer-)
Change-Id: Iab48c9df461b3405ea35d2da7f98fb6812e86b59
2014-07-02 01:02:41 +00:00
Gergő Tisza 4adde1685a Show help tooltip for "view original file" button on image click
Change-Id: Ia9e20f55bcdd0482e78a6e9aa5a0625ec2717e78
Mingle: https://wikimedia.mingle.thoughtworks.com/projects/multimedia/cards/712
2014-06-30 21:12:29 +00:00
jenkins-bot 02216b5ed3 Merge "Add section for attribution of downloads" 2014-06-30 18:36:07 +00:00
Reedy 5c3846a74b Drop execute bit
Change-Id: I6c9f8ea6251bf6a7ed2a5684e5eaa572530a4fb9
2014-06-30 18:34:02 +01:00
Mark Holmquist a4e6bc22d9 Add section for attribution of downloads
Click on the button to expand, click the X to collapse again.

Mingle: https://wikimedia.mingle.thoughtworks.com/projects/multimedia/cards/598
Change-Id: I6d2512cca0184437273329e6553c6524d6953404
2014-06-30 10:38:11 -04:00
jenkins-bot 5abf15890e Merge "Fix URL handling for global usage list" 2014-06-27 17:41:17 +00:00
Gergő Tisza 033e7debcf Fix image download test to not rely on assets outside the codebase
We should probably have a proper test image eventually, so that
we can use e.g. image dimensions to double-check the results, but
this way at least our tests won't get broken by unrelated changes
in other repos.

Change-Id: Iffffd94fde99c53da59217a5181ad0560fce314c
2014-06-25 22:10:56 +00:00
Gergő Tisza deafff7046 Fix URL handling for global usage list
Also add integration tests to make sure URL generation works OK

Bug: 63908
Bug: 64910
Bug: 66147
Mingle: https://wikimedia.mingle.thoughtworks.com/projects/multimedia/cards/570
Change-Id: I448f42e294102a633f74c305dd0a226e7dbe955d
2014-06-25 21:41:04 +00:00
Gergő Tisza f7ae77e79e Remember last reuse tab selection
Change-Id: Ic9b5d0ecc49b6361bfaa0e83b7340648ea2e6a72
Mingle: https://wikimedia.mingle.thoughtworks.com/projects/multimedia/cards/660
2014-06-25 02:19:49 +00:00
Gergő Tisza 427d9f0272 Fix failing test
The Vector skin directory was renamed to uppercase, apparently.

Change-Id: Ied94356f13a661101ee3ba101503229c4bce5a79
2014-06-24 20:19:38 +00:00
Gergő Tisza 5e3808a14e Make the metadata panel opening affordance more obvious
- rearrange DOM structure of above-fold part of the metadata panel:
  - rename .mw-mmv-controls to .mw-mmv-above-fold
  - the above-fold part is a single positioned div now, with height
    explitcitly set
  - less LESS gymnastics, above-fold height is a single variable
  - add paddings to the p elements instead of the containers
  - make all title elements align to baseline (except the logo which
    would look horrible)
- discard some CSS which was superfluous
  - overspecified sizes/positions
  - some top/bottoms for staticly positioned elements
- get rid of the .mw-mmv-drag-affordance div, since a full-width bar
  wouldn't really make sense on the bottom of the above-fold section
- flip the chevron and place it to the bottom of the above-fold part;
  add colors etc. per spec
- fix stripe button horizontal spacing

Mingle: https://wikimedia.mingle.thoughtworks.com/projects/multimedia/cards/706
Change-Id: Ic37b4150288055c3fae8d22919ed7b1249db1f09
2014-06-19 21:14:56 +00:00
Gilles Dubuc 4e752dd08d Track optin/optout events
Change-Id: I07eeef7a2304df4b70be252929737dad84522afb
Mingle: https://wikimedia.mingle.thoughtworks.com/projects/multimedia/cards/558
2014-06-19 11:23:03 +02:00
jenkins-bot 0c80fcd992 Merge "Make optout link more AJAXy" 2014-06-19 09:01:54 +00:00
Gergő Tisza c01cb55f4d Make optout link more AJAXy
Make it grey, unclickable and change text while waiting for the
AJAX request.

Change-Id: Ic5c2923944658d5be04217cdfe62e1d8608a478f
Mingle: https://wikimedia.mingle.thoughtworks.com/projects/multimedia/cards/723
2014-06-19 10:42:04 +02:00
jenkins-bot 30a1940737 Merge "Change "learn more" to "more details about this file"" 2014-06-19 08:17:53 +00:00
Gergő Tisza 2616546468 Change "learn more" to "more details about this file"
Several people complained that "Learn more on Wikimedia Commons"
is not clear: it can be interpreted as a link to the Commons
main page, the text does not suggest that the link will be related
to this specific file. The new wording tries to address this.

Change-Id: Ia605cc30c4ca57598f7cebdde60061800a10b6e7
2014-06-18 19:10:11 +00:00
Gergő Tisza c594a5610a Make max-height computation more stable
Instead of setting the parent's height as max height of the
<img> element, find the first parent which has a non-automatic
height (that would be .mw-mmv-image-wrapper).

With the old structure, the height of the parent element could
be determined by the height of the image, which would then be
written back into the max-height of the image, messing up the
aspect ratio. I did not see this in the wild, but it was easy
to reproduce by changing the timing of the resize handler (in
particular, I tried to call the resize handler before loading
the new resolution, to make the UI more responsive, and ran
into this problem). This cannot happen anymore now.

This also fix a bug on some browsers (IE 10, maybe iOS Safari)
where the size of the image could be slightly larger than the
available space, and the bottom of the image was obscured by
the metadata panel. I am still not sure how exactly that
happened, but it was related to the <img> parents with automatic
heights having incorrect height. After making sure the <img>
has a max-height derived from an element with non-automatic
height, I cannot reproduce the bug on IE 10 anymore.

Change-Id: I193aefc42e6d6072717643659a9e4c0c8b7c7e93
Mingle: https://wikimedia.mingle.thoughtworks.com/projects/multimedia/cards/698
Bug: 66244
2014-06-17 21:20:00 +00:00
jenkins-bot a4e2dc6962 Merge "Make MediaViewer ignore images which are in 'noviewer' class" 2014-06-13 23:34:23 +00:00
Gergő Tisza 92ea8edbc5 Make MediaViewer ignore images which are in 'noviewer' class
This includes images where the <img> element has that class
(achievable with [[File:Foo.png|class=noviewer]]) and also those
where some parent element has it.

Change-Id: I666be026828ea9ecb6e8c93d3f5ad1e3c190f81e
Mingle: https://wikimedia.mingle.thoughtworks.com/projects/multimedia/cards/511
2014-06-13 23:32:32 +00:00
Mark Holmquist ea610f8256 Tooltips for loads of things
Change-Id: I993bf60909024453a14de85af6239bded02eb8a6
Mingle: https://wikimedia.mingle.thoughtworks.com/projects/multimedia/cards/546
2014-06-12 12:27:04 -07:00
jenkins-bot 6e5a1cb185 Merge "Add opt-out/opt-back link" 2014-06-11 22:47:29 +00:00
jenkins-bot b53f7b2e60 Merge "Add functionality to check & set opt-in flag from code, also for anons" 2014-06-11 21:48:13 +00:00
Gergő Tisza 3cebfe32bc Use Repo.isCommons() for deciding whether an image is from Commons
Change-Id: Id6b523d218a9abc9e886da4000962c6523d25dc0
2014-06-11 21:14:14 +00:00
jenkins-bot 114890cc43 Merge "Add "zoom" but really just view-file" 2014-06-11 02:38:52 +00:00
Gergő Tisza 5bd730894d Add opt-out/opt-back link
Change-Id: I998b7ad3ecb0b7e815f9ff0d5f871267b91c109d
Mingle: https://wikimedia.mingle.thoughtworks.com/projects/multimedia/cards/703
Mingle: https://wikimedia.mingle.thoughtworks.com/projects/multimedia/cards/704
2014-06-11 02:24:17 +00:00
Gergő Tisza e8c7c537a2 Add functionality to check & set opt-in flag from code, also for anons
Adds anew mmv.Config class to centralize localStorage handling issues,
adds AJAX option setting, adds getting/setting opt-in flag from
localstorage.

Change-Id: I25762ccb8c9bccd694c30a6f1c5d3c8611a5ecbc
Mingle: https://wikimedia.mingle.thoughtworks.com/projects/multimedia/cards/703
Mingle: https://wikimedia.mingle.thoughtworks.com/projects/multimedia/cards/704
2014-06-11 01:11:12 +00:00
jenkins-bot 9ec13a97cd Merge "Show Commons link to logged out users" 2014-06-10 22:19:17 +00:00