alistair3149
cbf60030f1
fix(overflow): 🐛 use more accurate rounding method for overflow detection
2024-06-11 18:56:54 -04:00
alistair3149
55d413eeda
feat(overflow): ✨ add overflow scroll button when using a pointer device
2024-06-11 18:00:45 -04:00
alistair3149
ababe58186
fix(core): 🐛 do not debounce scroll direction script
2024-06-09 22:58:17 -04:00
github-actions
26076514c1
ci: 👷 lint code to MediaWiki standards
...
Check commit and GitHub actions for more details
2024-06-07 19:01:54 +00:00
alistair3149
502b462c06
style(dropdown): 🎨 clean up code styles
2024-06-01 15:28:49 -04:00
alistair3149
32d10f893b
fix(dropdown): 🐛 toggle should dismiss the dropdown properly
2024-06-01 15:13:38 -04:00
alistair3149
a2d3159def
feat(core): ✨ replace checkbox hack with details and summary
...
Note that ToC is still using the old checkbox hack, it will be replaced in a later time.
Related: T333394
2024-05-30 02:20:13 -04:00
alistair3149
83ab221408
feat(core): ✨ only handle wikitable instead of all tables
...
Wikis use tables in creative ways and it is probably just safer to only apply it to wikitables.
Might revisit if there are any news from T330527.
2024-05-29 17:47:13 -04:00
alistair3149
2bbb1d9408
perf(core): ⚡ ️ check for nowrap classes before constructing class
2024-05-29 14:02:57 -04:00
alistair3149
4ed68a924d
feat(core): ✨ wrap any elements tagged with the class citizen-overflow
2024-05-27 18:01:09 -04:00
alistair3149
7b32aeec7d
fix(core): 🐛 always reset overflow state
2024-05-27 17:58:04 -04:00
alistair3149
974e6b2750
feat(core): ✨ add config to change overflow inherited classes
2024-05-27 17:16:23 -04:00
alistair3149
c9210bd0dd
refactor(core): ♻️ separate inherited class function
2024-05-27 17:10:04 -04:00
alistair3149
523140f62f
perf(core): ⚡ ️ only toggle class when the element is overflowing
2024-05-27 17:04:28 -04:00
alistair3149
bc356f915d
fix(core): 🐛 fix incorrect overflow wrapper class name
2024-05-27 16:12:09 -04:00
alistair3149
cb1cfde785
fix(core): 🐛 remove table border expansion before the JS is loaded
2024-05-27 16:10:25 -04:00
alistair3149
c17aeab3fd
feat(core): ✨ rename wgCitizenTableNowrapClasses to wgCitizenOverflowNowrapClasses
...
Allow this config to use for more generic elements in the future
2024-05-27 15:54:34 -04:00
alistair3149
7a4d43392d
perf(core): ⚡ ️ remove scroll eventListener and resizeObserver on tables when not needed
...
Also started to refactor the table script to be more generic for overflow elements.
2024-05-27 15:47:53 -04:00
alistair3149
d34fb7b6f9
refactor(core): ♻️ clean up responsive table code
2024-05-26 00:37:54 -04:00
alistair3149
8ba6b55770
refactor(core): ♻️ clean up section functions
2024-05-25 23:51:50 -04:00
alistair3149
e9289b149a
perf(core): ⚡ ️ further improvements to scroll and section observers
2024-05-25 23:18:18 -04:00
alistair3149
af3d72ad75
fix(core): 🐛 incorrect sticky header class assignment
2024-05-25 19:53:17 -04:00
alistair3149
27bca0fc66
feat: ✨ improve scrolling performance
2024-05-25 19:26:38 -04:00
alistair3149
ae6d207fb4
fix(core): 🐛 escape double quotes for toc selector
2024-05-25 06:57:02 -04:00
alistair3149
685901cce3
fix(core): 🐛 incorrect section selector
2024-05-21 23:15:53 -04:00
alistair3149
593c6406fb
refactor(core): ♻️ simplify section handling
2024-05-21 18:46:19 -04:00
alistair3149
a405d64616
refactor(core): ♻️ various performance and style improvements
2024-05-21 18:08:28 -04:00
alistair3149
1270d4edd1
refactor(core): ♻️ add error handling to lastModified.js
2024-05-21 15:00:03 -04:00
alistair3149
03da361b97
feat(components): rewrite template data partials into CitizenComponent components ( #846 )
...
- Refactor existing template data-related partials into CitizenComponent components
- Re-implement user menu header as UserInfo
- Add description text for anon and temp user in UserMenu
---------
Co-authored-by: github-actions <github-actions@users.noreply.github.com>
2024-05-15 01:24:43 -04:00
alistair3149
f2393a74b8
feat(core): ✨ use relative time for sidebar last mod
...
Closes : #700
2024-05-08 16:39:47 -04:00
alistair3149
9cd0cc45f3
fix(toc): 🐛 CSS escape ID
...
When the heading contains an amprehend, it will throw an exception.
2024-04-25 23:33:22 -04:00
alistair3149
241dc96cfe
feat(prefs): ✨ move page width to clientPrefs
...
Now all of the existing prefs are migrated to clientPrefs,
we can discard the code from the old system.
2024-04-25 17:41:22 -04:00
alistair3149
964a4a534d
feat(prefs): ✨ remove line-height customization for now
...
Will be re-implemented later
2024-04-25 17:22:27 -04:00
alistair3149
0d52046523
feat(prefs): ✨ migrate font size to client preferences
2024-04-25 17:06:09 -04:00
alistair3149
c2aa796b68
fix(core): 🐛 remove leftover console log
2024-04-25 16:19:17 -04:00
alistair3149
4aefd74429
fix(core): 🐛 incorrect delimiter in inline script
...
Commas are not encoded in localStorage
2024-04-25 15:59:07 -04:00
alistair3149
a741639085
feat(core): ✨ move theme preferences to clientPrefs
...
Since clientPrefs and other related features are not avaliable until MW 1.42,
many of them are backported as polyfill. Instead of using cookies, the polyfill
are using localStorage only like Citizen in the past.
There are many changes behind the scene, but the most important one being that
`skin-citizen-*` theme classes are now soft-deprecated, and replaced by the
standardized `skin-theme-clientpref-*` classes. There will be sufficient
time before the hard deprecation.
Related: #780
2024-04-24 20:23:54 -04:00
alistair3149
30ee7c1dd1
refactor(core): ♻️ use ResourceLoader to minify inline JS
2024-04-24 17:47:33 -04:00
alistair3149
d9675ebd60
fix(core): 🐛 round scrollLeft to integer
...
Fractional pixels from scrollLeft prevent Citizen from detecting overflow state properly.
2024-04-24 16:19:29 -04:00
alistair3149
cd21fd05f3
fix(core): 🐛 make ToC tracking work for non-content pages
...
Since MW 1.40, ToC has been enabled on all pages including non-content page.
By generating a list of elements to track through the ToC instead of targeting
specific classes, it should be more resilient and will work for non-content pages.
2024-04-20 01:32:37 -04:00
alistair3149
21ce85a320
fix(core): 🐛 remove loading indicator when page is unloaded
...
Closes : #811
2024-03-19 18:49:35 -04:00
github-actions
96171236d7
ci: 👷 lint code to MediaWiki standards
...
Check commit and GitHub actions for more details
2024-01-27 02:51:04 +00:00
alistair3149
22addebe77
refactor(search): ♻️ start cleaning up search suggestion functions
2024-01-26 21:50:21 -05:00
github-actions
dc3ca54d43
ci: 👷 lint code to MediaWiki standards
...
Check commit and GitHub actions for more details
2023-12-13 22:10:24 +00:00
alistair3149
eee044d145
feat(core): ✨ use CSS variable for language-specific fonts
2023-12-13 17:09:57 -05:00
alistair3149
201a38f93f
fix(core): 🐛 hide loading indicator when user clicks back button on browser
...
Closes : #718
2023-10-26 17:41:21 -04:00
alistair3149
2f40541bc4
feat(core): ✨ prefix citizen section classes
2023-09-10 19:00:52 -04:00
alistair3149
325f22f0dd
fix(core): 🐛 fire input event when search query is cleared
2023-08-28 18:36:51 -07:00
alistair3149
29d0f4b1ff
fix(core): 🐛 incorrect value for aria-controls
2023-08-04 17:31:11 -04:00
alistair3149
e866edc3a5
fix(toc): 🐛 add null check for link
2023-07-30 19:44:34 -04:00
alistair3149
739fa8504c
fix(core): 🐛 enter key should not clear search input
...
Use span instead of button element. As button element will make
enter key triggering the clear button.
2023-07-16 16:48:14 -04:00
alistair3149
1aba52b870
fix(core): 🐛 inconsistent search focus behavior
2023-07-16 03:50:43 -04:00
alistair3149
aef94e31cb
fix(toc): 🐛 init observer only when there are headlines
2023-07-11 22:01:04 -04:00
alistair3149
0b65a05556
refactor(core): ♻️ break down main function in skin.js
2023-07-11 21:44:34 -04:00
alistair3149
6cddf85131
feat(search): ✨ add clear button to search box
2023-07-10 16:23:48 -04:00
沈澄心
2891d042cc
fix(core): skin preference support for Safari on iOS < 12.2 ( #680 )
...
* Update skins.citizen.preferences.js
* Update skins.citizen.preferences.js
* Update inline.js
* Update SkinHooks.php
* Update skins.citizen.preferences.less
* Update variables.less
* Update theme.less
* Update theme.less
* Update skins.citizen.preferences.js
* Update skins.citizen.preferences.js
* Update skins.citizen.preferences.js
* Update skin.js
2023-07-03 08:48:41 -04:00
H. C. Kruse
a1139e7797
fix(Tables): Check if element.parentNode
is null ( #681 )
...
Happened on the recent changes table. While the added line in TableNowrapClasses also fixes this, I've left it in as a safeguard.
2023-07-03 08:48:15 -04:00
沈澄心
89a9957cd4
refactor(core): avoid using ES2020+ methods ( #669 )
...
Replace ??, ?., and replaceChildren() for better compatibility; hide pref panel in unsupported browsers
* Update mixins.less
* Update Sections.less
* Update TableOfContents.less
* Update interface-edit-section-links.less
* Update mixins.less
* Update Sections.less
* Update TableOfContents.less
* Update interface-edit-section-links.less
* Update sections.js
* Update tableOfContents.js
* Update mwRestApi.js
* Update mwRestApi.js
* Update skins.citizen.preferences.js
* Update mwActionApi.js
* Update typeahead.js
2023-06-21 14:30:45 -04:00
github-actions
14db25faac
ci: 👷 lint code to MediaWiki standards
...
Check commit and GitHub actions for more details
2023-06-20 18:30:08 +00:00
沈澄心
07d7a730b8
fix(core): prevent propagation of click event on .mw-editsection, .mw-editsection-like ( #667 )
...
* Update sections.js
* Update sections.js
2023-06-20 14:29:37 -04:00
Simon Stier
a7b99d11f0
feat(core): add config var 'wgCitizenTableNowrapClasses' ( #621 )
...
* add config var 'wgCitizenTableNowrapClasses'
* refactor: load config via require
2023-05-18 13:53:58 -04:00
alistair3149
09ffed668d
fix(core): 🐛 ensure loading indicator is removed when script is loaded
2023-05-06 17:51:41 -04:00
alistair3149
cd93b3d679
feat(core): ✨ ignore cargo dynamic table for table wrapper
2023-05-02 01:09:54 -04:00
alistair3149
79daca474a
feat(core): ✨ ignore dataTable for table wrapper
...
It seems that dataTable collide with the wrapper for some reason.
Looking for help on this one if anyone knows.
2023-05-02 00:32:07 -04:00
alistair3149
661fbf0b8f
feat(core): ✨ do not wrap changelist tables
2023-05-01 23:34:18 -04:00
alistair3149
587cea1ee9
feat(core): ✨ check parent container for table nowrap class
2023-05-01 14:50:48 -04:00
alistair3149
3d14f9cf0b
feat(core): ✨ do not wrap nested tables
2023-05-01 14:45:08 -04:00
alistair3149
c10dd046c3
refactor(core): ♻️ minor variable name cleanup
2023-05-01 03:08:08 -04:00
github-actions
8d044aea95
ci: 👷 lint code to MediaWiki standards
...
Check commit and GitHub actions for more details
2023-05-01 06:38:27 +00:00
alistair3149
81affb88f1
feat(core): ✨ ignore infobox class for table wrapper
2023-05-01 02:37:32 -04:00
github-actions
8bd678a180
ci: 👷 lint code to MediaWiki standards
...
Check commit and GitHub actions for more details
2023-05-01 06:24:37 +00:00
alistair3149
d1d49e62d5
feat(core): ✨ inherit float classes to table wrapper
...
So that table would have the correct float style
2023-05-01 02:23:40 -04:00
github-actions
ee90992a89
ci: 👷 lint code to MediaWiki standards
...
Check commit and GitHub actions for more details
2023-05-01 06:06:54 +00:00
alistair3149
b2eaf0a41a
feat(core): ✨ add HTML class to disable table wrapper
...
Adding the class `.citizen-table-nowrap` will stop Citizen from adding wrapper to the table
2023-05-01 02:05:58 -04:00
alistair3149
e45af9bbbe
feat(core): ✨ add scroll affordance to tables
2023-04-30 19:54:31 -04:00
alistair3149
ce9963467d
refactor(core): ♻️ load content scripts using wikipage.content hook
2023-04-30 18:01:53 -04:00
github-actions
1945988d6f
ci: 👷 lint code to MediaWiki standards
...
Check commit and GitHub actions for more details
2023-04-30 21:02:42 +00:00
alistair3149
8c888a7e1f
feat(core): ✨ make tables responsive without breaking table layout
...
Instead of a CSS solution used previously, switch to a JS solution to wrap tables.
This should ensure the table renders correctly and also scrollable.
This lays the groundwork for making table more user-friendly in the future.
2023-04-30 17:01:29 -04:00
alistair3149
90890de53f
feat(core): ✨ add config flag to disable preferences menu
2023-03-27 14:08:38 -04:00
alistair3149
015b1e1b9a
fix(core): 🐛 respect config flag for default theme
...
This should fix the issue where CitizenThemeDefault is not working
2023-03-20 12:21:46 -04:00
alistair3149
e06ed54c83
feat(search): ✨ support MW default search shortcut key
...
It is added as an alternative of the slash key shortcut.
Closes : #582
2023-02-15 16:08:39 -05:00
alistair3149
ee4a7eda4f
refactor(core): ♻️ rename mw-checkbox-hack class to citizen-menu-checkbox
2023-01-25 20:25:40 -05:00
alistair3149
ef955c28a0
feat(core): ✨ use MW core checkboxHack instead
...
We no longer need to emulate the same feature when it is in core
2023-01-25 19:40:52 -05:00
alistair3149
a7406d8e32
fix(core): 🐛 default to auto theme unless set
2023-01-20 20:18:58 -05:00
alistair3149
685a3ad1c4
refactor(core): ♻️ reduce the number of RL modules
...
It will improve the performance in module registration and also caching
2022-12-09 14:48:17 -05:00
alistair3149
48cb80aaa3
refactor(search): ♻️ make renderSuggestions more digestible
2022-12-03 13:42:01 -05:00
github-actions
568405cd5d
ci: 👷 lint code to MediaWiki standards
...
Check commit and GitHub actions for more details
2022-12-02 23:00:32 +00:00
alistair3149
391266c0a7
feat(core): ✨ allow the use of custom search suggestion module
...
defines the search suggestion ResourceLoader module
used by the skin. It deprecates the config
2022-12-02 17:59:45 -05:00
github-actions
57d50ea5c5
ci: 👷 lint code to MediaWiki standards
...
Check commit and GitHub actions for more details
2022-12-02 22:39:05 +00:00
alistair3149
1939850369
feat(core): ✨ allow multiple search components on the same page
...
This will allow the search suggestion to hook up to multiple search
boxes with `.citizen-search-box` as container. Do note that the default
Citizen suggestion is hardcoded for the primary search, so it only
works for the old core search suggestion module.
This is also a prereq for implementing the Codex search like the one
from Vector.
2022-12-02 17:35:23 -05:00
alistair3149
9652d4f8ed
refactor(core): ♻️ prepare for heading structure changes
2022-11-24 21:46:23 -05:00
alistair3149
f70d410779
feat(core): ✨ reduce scroll up header delay
2022-11-23 14:11:48 -05:00
alistair3149
6b13da3318
feat(core): ✨ hide navigation on scroll down
2022-11-21 17:46:09 -05:00
alistair3149
b5ddd26de7
perf(core): ⚡ ️ only add beforeunload listener once
2022-11-21 17:46:04 -05:00
alistair3149
9c871764c3
style: 🎨 fix some eslint issues
2022-11-21 17:45:50 -05:00
alistair3149
31c43fa33b
refactor(core): ♻️ do not init observer when not needed
...
Do not init scroll observer if sentinel is set to display:none
2022-11-21 17:45:42 -05:00
github-actions
159bd8a7d2
ci: 👷 lint code to MediaWiki standards
...
Check commit and GitHub actions for more details
2022-11-21 17:42:28 -05:00
alistair3149
969cd787d6
feat(core): ✨ use different font weight in different themes
...
The same font weight do not provide the same contrast in different themes.
We should be able to change the scaling
2022-11-21 17:42:26 -05:00
alistair3149
ceaf3ed844
feat(core): ✨ tweak responsive layout
2022-11-21 17:42:22 -05:00
alistair3149
a1ce408e43
feat(core): ✨ re-implement responsive toc
2022-11-21 17:42:05 -05:00