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
The first item (license) of the list on the right side of the
metadata panel wasn't large enough (due to some recent global style
change that I couldn't track down) and the top of the next item was
visible. Added fixed height to prevent that. Also centered the
credit/license text which looked sloppy.
Bug: T101391
Change-Id: I848917ebb9c378c3210646486a87a6497d31a168
It seems that IE11 sometimes does not keep the aspect ratio when
the width DOM property is set but height is not.
Also attempt to clarify what the two similar canvas setters are
good for, to the extent I could figure it out.
Bug: T89679
Change-Id: I9c87e2146e3d99d1ee00d7c00142b2ae1c3d7951
EventLogging uses sendBeacon now so there is no danger of losing
clicks because the browser navigates away. (On modern browsers,
anyway; but we can live with being a little imprecise on older
browsers. We don't use link click stats much, anyway.)
Bug: T89533
Change-Id: Id83f60585d11f06610d8514c211f0116c60ea936
Canvas height is calculated as viewport height minus above-the-fold
height but the latter did not take into account the padding. This
was probably broken last autumn when the above-the-fold contents
were rearranged, but the max-height rule on the image masked the
error so we did not notice until that rule was dropped.
Bug: T89631
Change-Id: Id53cd9c176528da33b393e5ed807d6f2e0886413
The share/embed tab bar used some hacks to disable MenuSelectWidget's
normal behavior of disappearing once a selection has been made; after
the last OOUI update this doesn't work anymore.
This commit makes some small changes to make it work again:
* replace .show() with .toggle() as the widget uses a custom
show/hide mechanism now
* reorder some calls - .toggle() has no effect as long as the menu has
no options
* disable autoHide which would hide the menu when the user clicks
outside (didn't test if it is really needed but seemed reasonable)
Also undoes some CSS changes that came with the update.
Bug: T89531
Change-Id: I3688ec21250bf2eb8dbfd67e306e857028d71fc7
License icons have been updated for consistency with mobile media viewer.
File icon has been changed to match the former ones in color.
Change-Id: I8bc102755829b65ebace9608ca47a3bc2201da4a
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
This patch adds the file name to the metadata panel, after the license
item. The namespace prefix is included and set to a static 'File:'.
The Title class already converts underscore to spaces.
The icon is from @Pginer-WMF.
PS: This has been a frequent annoyance for me, I'm glad to be working
on this patch!
Bug: T76680
Change-Id: I7d1f4ce67a6776ac017f8afe49cb3102b267af5c
Many users right-click on images as a way to download them.Due to this,
they may get a scaled-down version which is used for display purposes and
also not given guidance on how to attribute.
Bug: T75999
Change-Id: I30655a0dda4430b494a393f1fa708fce6ca6fafe
Record how many users right-click on the image in MediaViewer, with the
assumption being they're intending to download the image. However, that
image has been resized and is not the original.
The event is logged even if the metadata panel is open, as the user probably
still intended to download.
Bug: T75962
Change-Id: I223ed957bcc60646adf9c9a00d2d9ca18ad128e6
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
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
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
- 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
I've combed through the entire codebase for keydown, keyup, keypress
and .which and I've only found one case where modifier keys are not
ignored for keyboard shortcuts.
Bug: T68329
Change-Id: I10ca2b89b9eb5addd7c706cf796331b5206d6bef
Logs metadata panel open/close by scroll. When the panel is opened
via keyboard or the "view terms" button, both a normal and a scroll
opening event is logged (same for closing). When the panel is opened
in fullscreen mode, neither event is logged.
Change-Id: I09092b8b6c20e6fea03b4fe59c811d7b441ca224
Mingle: https://wikimedia.mingle.thoughtworks.com/projects/multimedia/cards/559
Also remove the unused mmv-image-click event and fix a bug
where links got right-aligned when the panel was opened in
fullscreen mode.
Change-Id: If538ac420da4aae3908ac96978491f89c5b53493
Bug: T76029
Also make sure part of it is not a link to avoid two links
ending up next to each other + fix a small documentation bug.
Bug: T76465
Change-Id: I128ec7034b0bb9784fb78d1a5ce90d195555848e
* isOpening was calculated too early, so whenever the panel was
partially open and opened up fully via the forceDirection
parameter of toggle(), it was logged as the wrong direction.
(I think the only way for this to happen is via clicking on
"view terms" while the panel is partially open.)
* scrolling did not go all the way to the bottom when text was
truncated as the target position was calculated before untruncating.
* panel position was not preserved in some cases where it could have
been because the attempt to restore it happened before untruncating
the text, when the panel was not high enough.
Change-Id: I47a96d42c80e0a00d95023526ede3b5bbf18a52c
Mingle: https://wikimedia.mingle.thoughtworks.com/projects/multimedia/cards/983
Several related changes to text truncation:
* remove untruncate-on-click so untruncated text is selectable
(untruncate will happen on click to the canvas are instead,
to be implemented in a followup patch)
* simplify the truncate/untruncate logic to be wholly based on
panel open/close state, and fix a bug which made panel state
and text truncation state inconsistent when prev/next
navigating while keeping the panel open.
* remove several variations on scrolling the panel in favor of
using toggle + remove some other unused truncation-related code
* fix a minor unrelated style bug which made truncate/untruncate more
jarring than it had to be when the title was short by making the title
higher on panel open even though the text did not use the extra height
* align title ellipsis better
* make sure clicking on the truncated title works even if the click is
between lines and so misses the inline box of the <span>
Change-Id: Ie0b3afb3833102b6a9812cb7fe2df78ec5eb8396
Mingle: https://wikimedia.mingle.thoughtworks.com/projects/multimedia/cards/983
OptionWidget constructor now accepts a 'data' config option instead of
a separate 'data' parameter.
See I7ee78b6d.
Change-Id: Ie54e9db788cbe846cd2d173498c7fe17bafc126e