Commit graph

68 commits

Author SHA1 Message Date
Simon Legner 21438d2b22 Remove FileRepoInfo API and Repo model
Repo was only used in two locations:
1. StripeButtons.set for `isCommons` - can be replaced by `descriptionUrl.includes('//commons.wikimedia.org/')`
2. EmbedFileFormatter.getSiteLink (unused)

Furthermore:
- Simplify StripeButtons (we only have one button)
- Unwrap info objects consisting of `ImageModel` and `Repo`
- Remove unused EmbedFileFormatter.getSiteLink
- Inline EmbedFileFormatter.getCaption and EmbedFileFormatter.getLinkUrl
- Fix JSDoc type `ImageModel`

Reduces mmv bundle size from 28012 to 27246.

Bug: T77349
Change-Id: Ia4388fe4d5e1d6112a992e826453cd5799a6a4b4
2024-05-31 08:13:08 +02:00
Simon Legner a8a5247c5e Use mw.msg shortcut
Change-Id: I5af9cc79d1c6108f643b690ded0dd9b876c3852b
2024-05-29 05:14:01 +00:00
Simon Legner 4eaf0725a9 Remove index.js export indirection
Reduces mmv module size from 168.85kB to 167.92kB.

Bug: T77349
Change-Id: I40a4b044ca286dcda948243d5029b3377430d4ff
2024-05-21 22:12:17 +00:00
Simon Legner f00dbbb939 Remove IIFE
Remove Immediately-invoked function expression throughout production code base.

Bug: T77349
Change-Id: Ia31b556975209bbea27df8444b69d924654b181e
2024-05-21 22:31:15 +02:00
Simon Legner 99275d517a Make functions in HtmlUtils class static
Bug: T337102
Change-Id: I665e6e965d8b595ef9b1b3a58164d272007c3f81
2024-05-10 18:42:24 +03:00
libraryupgrader 147b576b57 build: Updating dependencies
composer:
* mediawiki/mediawiki-phan-config: 0.12.1 → 0.14.0

npm:
* eslint-config-wikimedia: 0.25.1 → 0.26.0
  The following rules are failing and were disabled:
  * resources:
    * es-x/no-resizable-and-growable-arraybuffers
  * tests/qunit:
    * es-x/no-resizable-and-growable-arraybuffers

* grunt-banana-checker: 0.11.0 → 0.11.1

Change-Id: Ief610bdadaccd2325cd1b8a2cae70b7e465d8b76
2024-02-13 02:13:29 +00:00
Simon Legner 254ec713cc formatDate: handle year, handle <div>
Bug: T58794
Change-Id: Ie05241c8db18773d0eb84421813db69b425e0784
2024-02-05 22:25:39 +01:00
Umherirrender b4e7477150 Escape use of commons.wikimedia.org in regular expression
Dots needs escaping

resources\mmv\model\mmv.model.Repo.js
  129:11  warning  Unsafe Regular Expression
security/detect-unsafe-regex
  169:11  warning  Unsafe Regular Expression
security/detect-unsafe-regex

The plugin does not like the backtracking for "https?", but that does
not looks like a performance problem when given long strings here.

Change-Id: Iac4c88b591c2e8ebb2ce037bbd99b774319a261c
2023-08-10 00:30:27 +02:00
Simon Legner 5f781b7a9b Add jsdoc to MMV
This replaces the jsduck implementation that we recently removed.

Changes:
* Document events on Document element.

Bug: T337039
Change-Id: Iaa9f54c7838159a75a38eec0d49f203803aadee7
2023-06-12 22:08:14 +02:00
Simon Legner 30fad6b8b8 Use ES6 features
* classes
* arrow functions
* const/let
* string templates
* Object.assign

Bug: T337102
Change-Id: I757b9993a2feeed707fb4ad213944001498f3f6a
2023-06-12 16:45:08 +00:00
Simon Legner 0683f3ecc8 Remove global mw.mmv
Bug: T337030
Change-Id: I90e8507cb1b7c30f6ba29dbdec8966e84b46aff2
2023-05-21 08:02:54 +00:00
Simon Legner 74a76718d7 Use packageFiles in mmv.test
Bug: T337030
Change-Id: Iaea2deec35003e306a8e1f12f890879c80cd8289
2023-05-21 06:41:31 +00:00
Simon Legner d82910fbb3 Use packageFiles in mmv
Bug: T337030
Change-Id: I833c7e91230272b82a2512fd55f1c7c0f61233b4
2023-05-20 10:04:41 +03:00
Simon Legner 35cd0f18c0 Use packageFiles in mmv
Bug: T337030
Change-Id: I90cdfb626c176b27b59db6b92b9edd6b2fe49b68
2023-05-20 09:34:56 +03:00
Ed Sanders e131da48f9 build: Update eslint-config-wikimedia to 0.22.1
Change-Id: I275ecfa03b3df8554b30f2a0f6d94d4b66da8088
2022-05-20 00:05:49 +01:00
James D. Forrester 7dbee90cce Avoid ableist language in comments and test names
Change-Id: I55047f95da7c05f631f4009cbe25d8515dd937f1
2021-12-09 19:48:17 -05:00
Ed Sanders bfdcd8dbf1 eslint: Update eslint-config-wikimedia to 0.16.2
Change-Id: I0c35ed9b5ab00952124cb0e5c6c48fbc0d734f60
2020-06-26 12:14:27 +01:00
Ed Sanders d554d7f426 Docs: Fix whitespace
Change-Id: I98dc12787f68bd8db60e5a5bcb9366daf9f2f6b8
2020-06-26 11:21:04 +01:00
Ed Sanders 92157f6b05 build: Update eslint-config-wikimedia to 0.10.1
Change-Id: Icd89819ef38142e55c0bd4cc8dbb73745123f9f6
2019-02-06 01:56:53 +00:00
Ed Sanders 1ded292f83 Remove obsolete aliases from closures
Bug: T208951
Change-Id: Ice695dfb489974faa23ba19d74cf17b06e3f6075
2018-11-12 16:33:24 +00:00
Ed Sanders 053d1a9d8b build: Update linters
Change-Id: Ie6e85abdc0714adf4d89e515967bf2ab4c393215
2018-09-13 22:13:56 +01:00
Timo Tijhof 5c9faa580e Move files to their own directory per module
Bug: T193826
Change-Id: I925b1c7be2dbbb50994ed9f1ef12b5978ba175ff
2018-07-30 15:15:25 +02:00
Ed Sanders 42b577bae9 build: Update linters
Change-Id: I7262fb369df0428c39adaf55128b83f019afb4c0
2017-10-31 18:42:04 +00:00
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 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
Ed Sanders d7ea64137c build: Replace jshint/jscs with eslint
Change-Id: I423add157245353031e36b7e44fee7ace7c753c7
2017-01-10 10:24:39 -08: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
Gergő Tisza 3c71b85c84 Filter HTML from some attributes
Bug: T138142
Change-Id: Ie5048b38ed397ce852d3f9145a63fe4f52930da9
2016-06-19 15:23:45 +00: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
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 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
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
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
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
Gergő Tisza 392e714cc6 Add icon for PD licenses
Change-Id: I82c56a420d8d529a4a50cb66e64b191bbb36997f
2014-10-29 14:03:36 +01: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
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
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
jenkins-bot 5abf15890e Merge "Fix URL handling for global usage list" 2014-06-27 17:41:17 +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
Mark Holmquist b921b3e7c8 Fix commons detection, use URL
URLs don't change, they aren't ever localised, etc.

Hopefully this is the end of this problem.

Change-Id: Ib5b41e2e64a5af65f342783cfd41f35559fbfd60
2014-06-19 15:04:51 -07: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
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 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
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