jquery.uls renamed settings-block class to uls-settings-block.
Similarly icon-close to uls-icon-close
Change-Id: I39005ef2425c01b8623bf9df6d75c1e27f1c5bda
Introduce overridable font family option
Font stacks given in overridableFontFamilies will be overridden
as as exception to the general policy of not altering elements with
explicit font family styles
Change-Id: I579c3ccb6e0c1ad39d434651a4689e8c595e5a84
No change in functionality. Refactored the code a lot and made it as
a jquery plugin, similar to the other components of ULS
Change-Id: I69199ba37b13ec7fd4a9b7b8eba5b3aa28f0edb5
MW ULS uses its api to load the localization. Avoid the conflict with
i18n.load method. Directly use the i18n message stores load method
Bug: 61990
Change-Id: I7ea7e7fc31a0831ae2b2c4b4301fbe81109fdf9d
Preferences were saved using jStorage. The browsers which ULS supports now
have wide native support for local storage, so we removed jquery.jStorage
in I09b2bd52972.
The old local storage key was 'jStorage' as put by jquery.jStorage. We now
check if that key is present. If so we migrate the preferences and remove
the old key to save space. We are not aware of anything else using this
module.
Change-Id: I995a32c4cb7a3bc818fe255f92dbc972211cb112
This patch restores the enableWebfonts preference, stored inside
the uls-preferences blob. It existed as 'enable-webfonts' in
the past and was removed in
If735a733717596fae03042c5e277bd538bd8501f
Each wiki can be configured to load the fonts by default
using the new global variable $wgULSWebfontsEnabled.
Its default value is true (to load fonts).
This also removes the preference 'uls-enable', recently added in
I71b70d8ee7c3cad7f49b32e5dc494ef4fc1bdb2f
The initialization of ext.uls.webfonts.js is changed as well,
so that minimal webfonts JS library code is loaded,
and the rest is loaded only if a user requests it.
Bug: 60304
Change-Id: I49e812eae32266f165591c75fd67b86ca06b13f0
Adding salt won't work for IE since it uses a tofu with small width
for unassigned code points. From tests, algorithm without salt
should be enough for IE.
Change-Id: If39e6c49d272fa67f60c19f1af64f1fb71856bcd
To detect whether the client can render a given string,
use a tofu detection algorithm.
If the user has an explicit font preference, do not override it.
If the user has no preference and there is a default font for a
language, see if that language can be rendered at the user's browser
using tofu detection.
If tofu is detected, apply the font.
If the element has 'autonym' class, apply Autonym font only when
that language has tofu.
Change-Id: Ib9ee9497e6bcfa7eb86f7d264e0980d8880d6b70
So that the fontfamily values are always 'seen' by the webfonts jquery
plugin. Missing this was causing incorrect behavior -overriding the
fontfamiliy from css- in random cases.
The stylesheet ext.uls.webfonts.css define font family values for
interlanguge links and autonym class. This patch make sure that that
css values are read by jquery.webfonts while deciding which font to
apply. Autonym font is supposed to be used for them. If jquery.webfonts
does not read that these elements has a font family defined in css as
"'Autonym', sans-serif", it will attempt to apply fonts as per user
preference or default fonts based on lang attribute. That will cause
applying bigger fonts.
jquery.webfonts does not apply any fonts, if an element has explicit
font family value defined by inline css or by external style sheets.
Bug: 59958
Change-Id: I2da436caa618bc2318e20e3c0492a6bf1c03e162
$wgULSNoWebfontsSelectors had default value as '#p-lang li > a'
-the interlanguage links. It does not make sense after the class
'autonym' was added to such links. That 'autonym' css class has
fontfamily definition as Autonym, sans-serif
ie, Autonym font is applied to the interlanguage links.
So, now it make sense to have default value as .autonym to
exclude from parsing.
This also fixes the problems like Bug 58374 where in random cases
the default font for the language get applied even if it has 'autonym' class.
This issue was because the js get executed before the css for .autonym class is
ready and applied. The jquery.webfonts parser will miss to detect the explicit
fontfamily 'Autonym, sans-serif' and the default font is applied.
Bug: 58374
Change-Id: I7478a58583d3b029ae8e2d63e118917499c29c30
* Use ; for comments
* Avoid unescaped characters like = signs
* Consistency in request-url values
Change-Id: I1a94e30f1acedd934645b70f65025872e4bc7b8e
* Rename JsonMessageLoader to ULSJsonMessageLoader
* Correct the return type of mw.uls.loadLocalization
Follow up: Ic39dec1c484982fb07edd167e83794c0b5f470ee
Change-Id: I13c64a5e89ac75be8a95d951658018a78534f466
Pressing apply button is applicable to all settings module, not only
for the one that is visible. Unless we do a validation before we save
preferences, other module can cause incorrect (old) preferences to be
saved.
Bug: 56885
Change-Id: I31df2ee0bf8b600a94e8fed1a784daf529186b16
In the "interlanguage" position ULS is shown after 2 clicks,
so don't load it initially.
In the "personal" position ULS is shown immediately after
the language icon click, so load it, but conditionally.
The new RL module ext.uls.mediawiki is added for setting
jquery.uls defaults in a way that will lazy-load the language names.
Change-Id: Ic33ef034c794a523b5403867196c6098a58eb5b1
It happens when input settings are accessed directly while display
settings are not initialized. While saving the display settings
will not be rendered, causing a js error
Change-Id: I3ef1afe67a6bcdc3047b482d697bc03baab6ac47
* Avoided Amiri being default font for ar
* Avoided CharisSIL, DuolosSIL being default fonts for
cdo, nan respectively
The change is because of the bandwidth efficiency concerns. Also
Arabic being widely supported language, having defaut font is not
must.
Change-Id: I657d08ded26f25342d18483f6c5a0393f625001b
Move it to a seperate css file ext.uls.webfonts.css so that the RL
modules are more granular and clear.
Also get the @font-face css for Autonym font get ready on page load
so that the font applied automatically to any future elements on page.
Change-Id: Icb76df5baedaba8ab613d665a1be923779a6b9e7
ApiULSLocalization is still present since we have to provide live
language preview feature.
Moved the loading of json file to includes/JsonMessageLoader.php
Also moved all RL modules to includes folder.
Bug: 56509
Change-Id: Ic39dec1c484982fb07edd167e83794c0b5f470ee
Release: https://github.com/santhoshtr/AutonymFont/releases/tag/20131104
Changes:
* Remove Tamil GSUB rules, use GPOS alone
* Autohint Latin glyphs
* Dont strip hints for eot format
* Glyph simplifications and misc cleanup
Bug: 56552
Bug: 56346
Change-Id: Ib2014e0606983dbf33391e479f96c75fab79075f
Follow up: I10b8658e29c03b136b4475c4c69ace33e5628a98 and
I48b0cc4a19c3ddd8d00f585faf31046d8ba6bf9c
Define this class in MW ULS since jquery.uls removed this class
definition
Change-Id: I5e52feb6a53362378b382b06727ac6e671e0f91a
This was served from jquery.uls. But jquery.uls does not contain
the font now, but only provides and example usage with Autonym font
This also make sure consistency in font serving in terms of URLs,
caching etc.
Change-Id: I48b0cc4a19c3ddd8d00f585faf31046d8ba6bf9c
Upstream: https://github.com/wikimedia/jquery.uls
Changes:
* Reduce data size of uls language data a bit by using unescaped unicode
* Move the autonym font to example instead of making part of jquery.uls
* Use attr and prop consistently in jquery.uls.lcd.js
* Remove unnecessary object instance from jquery.uls.lcd.js
* Avoid 'recalculate style' by changing classes conditionally while
scrolling the language list
* Remove non-existing "-ms-linear-gradient"
* Localisation updates
Change-Id: I10b8658e29c03b136b4475c4c69ace33e5628a98
Upstream: https://github.com/wikimedia/jquery.uls/
Changes:
* Update Autonym font
* Code formatting fixes
* Localization updates
* Language autonym correction and language additions
* Performance fix for region selector
Change-Id: I1da30aa31ad8a4fe430a12fef05c4e6b54fc6648
Used sfntly with strip hints option.
Pros: Reduced font size- by 50%
Cons: at small sizes, on old versions of windows, rendering quality
will be affected.
Change-Id: Ibfddd7b53ce70aca4e26220f481f0cd11c47ce48
Upstream: https://github.com/wikimedia/jquery.webfonts/
Changes:
* Respect explicit font styles of child elements when switching
languages
* Fix duplicate font-weight property
Change-Id: Ic45357b2613e6f33c392f9a78cc389f31c99e036
version: v0.1.0+20131019 (commit: 4ac70e0047)
upstream: https://github.com/wikimedia/jquery.ime
Changes:
* Language tags are case insensitive now
* Fixes to Hindi and Persian input methods
* Shift modifier key support
* Misc CSS fixes
Bug: 54117
Change-Id: I581a1006c34fd86372facdae85ea48b4ed1ffc2c
Updates jquery.uls from upstream autonymfont branch
Also contains an example html page which can be used
for testing the font
Change-Id: Ia702ba1df91701df67160d973a0caaa72511c743
If not reset, the font-family will persist for languages
without font preferences
Steps to reproduce:
1. Open language settings->Display settings.
Switch language to English. Inspect the lang and font-family
of uls-display-settings element.
2. Switch language to hi. Inspect the lang and font-family
of uls-display-settings element. You can see Lohit Devanagari
as font.
3. Switch the language back to English. You can still see font
as Lohit Devanagari. With this patch, you should see font family
reset for English.
Change-Id: Ib3346d8b888c7dcfda16e8a10473c785a1ebd890
* Updates jquery.webfonts from upstream
* Introduces wgULSNoWebfontsSelectors configuration variable. It
takes an array of jquery selector to which webfonts will not be
applied if defined.
Change-Id: I0dc263f84620af4077f52e18eeb0f986ff0f13b9
Version: v0.1.0+20130904
Changes:
1. Add Persian keyboard
2. In a ltr page with rtl input, if menu has no space in left,
flip it right
Bug: 50690
Change-Id: Id84fa09b93bd0e31d328bbdaedc4219ea6a9e75d
If a user does changes in module A, does not save or cancel,
goes to module B, does some changes, moves to other modules,
and finally presses Apply, all changes should get saved.
Similarly, if a user cancels, all changes should get cancelled.
This required moving the cancel and apply button outside of modules
and managed by the language settings framework.
Modules get mw.uls.settings.apply or mw.uls.settings.cancel triggers
to do whatever they want to do on apply or save.
Includes some refactoring related to this.
Bug: 53256
Change-Id: I7d773d33a980a78604b36e39bf96a5686870124e
Restore the language(ui, content), font values, input method values.
Rest of the UI resetting will be done by redrawing the settings
area whenever the language settings is accessed again.
Change-Id: Ia1488d1501f9c9f61726cea3637624f22a7ba135
This avoids mandate of having 'cancel' method defined in settings module.
Also avoids looping of all modules while cancel is happening.
Change-Id: I87d0975f2ef1bdee61f71d66eabe3040b81876b8
In I59dfcfb25c, for logging events when page is navigating away, we
used callbacks with mw.hook. That is wrong approach. If event logging
is disabled those callbacks will never called: it broke language change
and all use cases which navigates away from current page.
Event logging should not interfere with any ULS functionality. If ULS
functionality depends on callbacks from event logging, it is wrong.
In this patch, we give a small time window to make sure event logging is
fired, but we won't wait for its success or failure.
If eventlogging is disabled, this time window does not exist.
Change-Id: I0b7d9d8b9d1d01b99422010596ebfa80b2589d04
upstream: http://github.com/wikimedia/jquery.ime
changes:
* Support for contenteditable, like the VisualEditor surfaces. This
support is very minimal now. Because of VE bugs on IME support, many
things are broken. But one-one keyboard mappings should work with less
issues. The UI of jquery.ime is not integrated with VE toolbar
* More input methods
- IPA-X-SAMPA by Amir
- Armenian keymaps by Aleksey Chalabyan
- Kurdish keymaps by Ghybu
- Кыргыз keymap by Amir
- Central Kurdish keyboards by Çalak
* A lot of input method bug fixes multiple contributors
* Minor UX fixes
Introduces Rangy library.
A module named rangy is defined in VisualEditor extension with more features of rangy.
Here we need only the core library. This module is loaded dynamically from
client when rangy is undefined. If VE is present rangy will be defined, the module
defined in VE will be used. ie, This get loaded only when VE is not present and
user trying to type in a contenteditable.
Bug: 49569
Bug: 50849
Bug: 50220
Change-Id: Iadad5a4e5972fbd1359847526d28e9dbbe00a7c4
Separating event logging out of ULS functionality. Event logging
is now loosely coupled with ULS. ULS core modules can emit an event
whenever EventLogging is required. The eventlogger module will act
on the event if configured.
Change-Id: I59dfcfb25c1acb85376b56239f2355ee7c4aff1e
Currently it is positioned relative to the ... menu item.
It caused weird positioning at some places.
Positioning it relative to the input field makes more sense.
lazyload option was removed from jquery.uls. Removing it from here.
Change-Id: I331051a38d7dfd97466601bfcc2facaf446d0db9
1. For interlanguage position, initialize language settings on first
click on cog
2. For personal toolbar position, initialie ULS on first click of
ULS trigger
Change-Id: Icda498f676d1d3ddaefad75fd9212150f6966666
For personal toolbar position, initialize langauge settings only
after user clicks on the settings links
Bug: 48211
Change-Id: Ib3e2372e982de890db614a81c06fbbe170ce0d01
Initialize it only when first time user clicks on it
In a page like Special:Translate where lot of input fields
appearing, the previous approach was adding many language settings
div to the page.
Bug: 48211
Change-Id: If063df6782c6a51ac77ed5531dfa253c7f3ddbc4
* Refactored the Cancel button handler code to cancel method in
display settings and input settings.
* When the user makes changes in multiple modules and clicks the Cancel
button or closes the language settings after that, cancel the changes in
all the modules. See bug 50564.
* The Apply button was always active in input methods module. Fixed the
logic for that.
* Renamed the enableApplyButton method to markDirty in both modules.
* Introduced isDirty attribute to the modules for optimizing the Cancel
method to avoid unnecessary restore actions.
* More minor cleanup and documentation.
Bug: 50564
Change-Id: I71f527bfb7dd7f6724e4365371ac3e4fc0723ed6
In Iddef0805ab a custom message store was introduced for ULS, but
there were updates in jquery.i18n that allows us to use default
message store again.
(see https://github.com/wikimedia/jquery.i18n/pull/40)
Change-Id: I86cb7a44efa83e5811824cd1104c6be11b1e2925
https://gerrit.wikimedia.org/r/#/c/75076/ had multiple issues:
1. Selecting of input methods stopped working
2. With 'personal' position, ULS windows comes on every page click
Bug: 50559
Change-Id: I0cf815228760d27bca07acd58631713988659831