Commit graph

159 commits

Author SHA1 Message Date
alistair3149 fd224071db
refactor(search): ♻️ clean up typeahead init and event functions 2023-08-03 19:25:41 -04:00
alistair3149 eec5c6fd64
feat(search): reimplement multi search command experiment
Search commands start withs slash and includes: action, rest, ask
2023-08-02 22:07:41 -04:00
alistair3149 4241f8522d
fix(search): 🐛 exit early if there are no query results 2023-08-02 21:28:39 -04:00
alistair3149 17593b8202
refactor(search): ♻️ separate search query and client from typeahead.js 2023-08-02 20:16:39 -04:00
alistair3149 9862000b11
refactor(search): ♻️ clean up search query handling 2023-08-02 19:56:09 -04:00
alistair3149 51db19938c
feat(search): reimplement SMW Ask API search
Instead of relying on hardcoded config, you can simply type the
conditions as search query (e.g. `[[Has population::1200]][[:+]]`).
2023-08-02 19:02:50 -04:00
alistair3149 431599cb59
refactor(search): ♻️ reimplement and clean up search clients
This should make the search clients more readable and easier to expand
2023-08-02 18:56:08 -04:00
alistair3149 c2431ebeba
refactor(search): ♻️ clean up result fetch functions
Based on Vector implementation
2023-07-31 20:59:50 -04:00
alistair3149 ba5bea704e
style: 🎨 apply recess order to styles 2023-07-27 21:19:27 -04:00
alistair3149 d0b1b8982c
refactor(search): ♻️ simplify search box structure 2023-07-10 15:13:21 -04:00
alistair3149 88a5d4de9d
fix(search): 🐛 abort search request if there are no query 2023-07-07 20:44:45 -04:00
alistair3149 4ef5376cab
refactor(core): ♻️ clean up various eslint errors 2023-07-07 18:00:14 -04:00
alistair3149 608a2be932
feat(search): support all existing gateway in multi search 2023-07-07 17:56:01 -04:00
alistair3149 f843f4d1ee
fix(search): 🐛 undefined LESS variables 2023-07-07 17:26:12 -04:00
alistair3149 6adc0d7eab
feat(search): add experimental multi gateway search
This is experiemental and just a proof of concept for further work.
For now, typing `\/ask` in the search query will trigger SMW Ask search
2023-07-07 17:24:34 -04:00
alistair3149 c7e45177cd
feat(core): update menu transition styles and implementation
Same as the previous commit, the transition is now accessible as a CSS variable (transition-menu)
2023-07-07 17:02:27 -04:00
github-actions 657c6cf294 ci: 👷 lint code to MediaWiki standards
Check commit and GitHub actions for more details
2023-06-21 18:31:20 +00: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
alistair3149 434d2688fc
refactor(core): ♻️ less specific link underline selector 2023-06-15 14:37:07 -04:00
github-actions 97e6714cc4 ci: 👷 lint code to MediaWiki standards
Check commit and GitHub actions for more details
2023-05-18 17:58:40 +00:00
Simon Stier 2e3e5feb9b
feat(search): add SMW Ask API as search backend option (#625)
* feat: add SMW Ask API as search backend option
* feat: allow namespace prefix in smw ask query
2023-05-18 13:57:43 -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 aaa82d06ef
feat(search): trigger typeahead update when character is composed
Only trigger an update when the character is fully composed.
Examples include various CJK IMEs

Closes: #608
2023-04-03 12:48:10 -04:00
alistair3149 84246c503d
refactor(search): ♻️ do not pass messages var around 2023-04-03 11:52:38 -04:00
alistair3149 ba50defaba
refactor(core): ♻️ make typeahead items more reusuable 2023-03-01 16:31:42 -05:00
alistair3149 68313123e9
feat(core): apply box-sizing: border-box by default 2023-03-01 16:08:07 -05:00
alistair3149 0b7c72ca5e
fix(search): 🐛 align typeahead with input 2023-03-01 15:34:50 -05:00
alistair3149 b8a1d9c224
refactor(search): ♻️ simplify typeahead styles 2023-03-01 15:27:43 -05:00
alistair3149 235a76c2bd
feat(core): add border to Citizen cards 2023-03-01 15:02:34 -05:00
github-actions 9e15415835 ci: 👷 lint code to MediaWiki standards
Check commit and GitHub actions for more details
2023-02-28 21:59:36 +00:00
alistair3149 4b8e128e4b
feat(search): add search portals to empty state 2023-01-16 18:02:07 -05:00
alistair3149 7416a7f6d1
fix(search): 🐛 incorrect max height for search suggestions 2023-01-16 17:36:45 -05:00
alistair3149 1e47e95a8d
fix(search): 🐛 more robust null check for description 2023-01-09 16:24:28 -05:00
alistair3149 242413bf4a
fix(search): 🐛 incorrect keyboard navigation on typeahead items 2023-01-06 16:03:02 -05:00
alistair3149 60c12706a5
feat(search): contain the overscroll of search suggestion 2022-12-18 01:09:42 -05:00
alistair3149 2e9dffb7f0
fix(search): 🐛 correct URL for MediaSearch
Somehow it has to have the type parameter or it'll just go directly to a page if exists
2022-12-17 22:44:36 -05:00
alistair3149 0ca34a5c3f
docs(search): 📚️ document functions and objects 2022-12-14 11:39:18 -05:00
alistair3149 db79f26a66
refactor(search): ♻️ use template literals 2022-12-14 11:22:50 -05:00
alistair3149 c2da5c5ade
fix(search): 🐛 do not collapse whitespace in label text node 2022-12-14 10:40:08 -05:00
alistair3149 203b0b42c3
feat(search): add MediaSearch to typeahead 2022-12-14 10:28:45 -05:00
alistair3149 6aa587635d
refactor(search): ♻️ clean up clearSuggestion 2022-12-14 00:45:43 -05:00
alistair3149 4d1225b96f
refactor(search): ♻️ simplify typeahead item styles and classes 2022-12-13 23:52:54 -05:00
github-actions 0ef78751a7 ci: 👷 lint code to MediaWiki standards
Check commit and GitHub actions for more details
2022-12-13 23:26:15 +00:00
alistair3149 074df5272c
fix(search): 🐛 incorrect full text search URL 2022-12-13 18:25:14 -05:00
alistair3149 cc3e1d41d4
fix(search): 🐛 do not shrink thumbnail 2022-12-08 13:27:40 -05:00
alistair3149 f81e5b6f1a
fix(search): 🐛 null error when rest api is used 2022-12-07 18:05:14 -05:00
alistair3149 96ec8e4248
fix(search): 🐛 typeahead thumbnails should be center-aligned 2022-12-06 14:54:22 -05:00
alistair3149 34804e8258
feat(search): use WMUI icon for placeholder 2022-12-06 14:48:18 -05:00
alistair3149 fd0978b73d
feat(search): use background-image instead for typeahead thumbnails 2022-12-06 14:27:08 -05:00
alistair3149 284b0d8952
feat(search): add no result state to typeahead 2022-12-06 13:52:14 -05:00
alistair3149 a1aeff2e52
fix(search): 🐛 restore ID attribute for suggestion items 2022-12-06 12:05:34 -05:00
alistair3149 9bf737f720
feat(search): add empty state to typeahead
This is a barebone initial implementation, more work will come to it
2022-12-06 12:01:47 -05:00
alistair3149 501286a15d
fix(search): 🐛 update selector for fulltexturl 2022-12-05 21:13:05 -05:00
alistair3149 e6ca664cc4
fix(search): 🐛 enter key should not throw any error 2022-12-05 21:10:27 -05:00
alistair3149 7805b890ff
fix(search): 🐛 enter key should click the selected item 2022-12-05 21:02:47 -05:00
alistair3149 3488e29960
feat(search): show enter key tip when item is active 2022-12-05 15:52:36 -05:00
alistair3149 c5e5ff40a6
fix(search): 🐛 enter key should click the link in suggestion 2022-12-05 15:35:31 -05:00
alistair3149 c9b03aa7fe
feat(search): merge footer into item element 2022-12-05 15:29:17 -05:00
alistair3149 bb0eb49aaa
chore(ci): 🔧 👷 make es-x eslint rules warn instead of error
They will be addressed when we are rewriting the modules to ES6
2022-12-05 15:08:34 -05:00
alistair3149 99b3523cd6
refactor(search): ♻️ partial cleanup on typeahead DOM 2022-12-04 02:13:37 -05:00
github-actions 365b1c5e4a ci: 👷 lint code to MediaWiki standards
Check commit and GitHub actions for more details
2022-12-03 19:13:02 +00:00
alistair3149 4293021d5c
feat(search): clean up redirect text implementation 2022-12-03 14:12:01 -05:00
alistair3149 48cb80aaa3
refactor(search): ♻️ make renderSuggestions more digestible 2022-12-03 13:42:01 -05:00
github-actions 143c64c7b0 ci: 👷 lint code to MediaWiki standards
Check commit and GitHub actions for more details
2022-12-03 03:19:22 +00:00
alistair3149 3d0ff75249
feat(core): center align searchbox
Precursor to make search center of the experience
2022-12-02 22:18:29 -05: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 85e69f5a6b
refactor(core): ♻️ deprecate old font variables 2022-11-21 17:47:09 -05:00
alistair3149 0c4562f235
feat(core): update list styles 2022-11-21 17:46:27 -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 af85fb4b40
fix(search): hide default MW search suggestion
Sometimes the JS is not able to stop the search module from loading.
We can use CSS to hide the suggestion for now.
2022-11-08 00:25:40 -05:00
alistair3149 50a00143b0
fix(search): 🐛 encode suggestion URL key 2022-10-23 22:47:49 -04:00
alistair3149 eadaef7a0a
refactor(core): ♻️ clean up header card mixins and var 2022-09-30 16:52:13 -04:00
github-actions f9aacf7ebe ci: lint code to MediaWiki standards
Check commit and GitHub actions for more details
2022-09-30 02:33:57 +00:00
alistair3149 6de95d4fec
feat(core): redesign site header (#521)
Change header into vertical header for large screen and bottom header for small screen.
2022-09-29 19:12:56 -04:00
github-actions 0d63257e86 ci: lint code to MediaWiki standards
Check commit and GitHub actions for more details
2022-09-28 21:02:56 +00:00
alistair3149 7bec9ef10b
fix(core): hide double MW search suggestion
In rare scenario such as #520, default MW search suggestions will load regardless of the settings.
This simple CSS hack is used to hide in case if it loaded.
This will not be needed when vue search is implemented.
2022-09-28 17:02:15 -04:00
alistair3149 b15a92c2ff
fix: do not collapse space in highlighted search title
Closes #494
2022-08-01 01:45:32 -04:00
alistair3149 9fe063acb9
feat(core): use URL-safe key for search suggestions
Use `title` in Action API and `key` in REST API to generate result link

Related: Miraheze T9428
2022-06-21 16:20:43 -04:00
alistair3149 9d8a631f44 fix(core): delay blur event for search suggestions
This is a hacky way to fix fix #404 and #410. By introducing a delay to
the function to dismiss the suggestions, users on Safari should be able
to click the link properly.
2022-06-03 22:35:45 -04:00
alistair3149 726a348369
feat(core): hide redirect message in search results when not needed
If either the title or redirect title is a substring of the other,
hide the redirect.

Related: T303013
2022-05-20 19:48:07 -04:00
alistair3149 a5c52e48b7
feat(core): indicate when search results are from redirects
For REST API, search results will now indicate if they are from redirects.
The current implementation is that it will always show up, the logic to
trim redundant info will come later

Related: T303013
2022-05-20 19:10:36 -04:00
alistair3149 23795e05e3
chore(ci): disable mediawiki/class-doc 2022-05-13 00:20:05 -04:00
alistair3149 5ff7b4cf90
fix(core): invisible search suggestion item 2022-05-12 22:43:05 -04:00
alistair3149 86150d492d
refactor(core): clean up checkboxHack implementation
Mostly based on Vector 2022. Now we target checkbox hacks by the HTML classes
.mw-checkbox-hack-TYPE instead of defining each individually, which would
make it more scalable.
2022-05-12 22:37:28 -04:00
alistair3149 478a8396af
refactor(core): merge card content fade animation into mixin 2022-05-11 22:06:33 -04:00
alistair3149 7ff415db13
feat(core): use relative unit for search suggestion 2022-05-10 22:05:42 -04:00
alistair3149 6e35212007 refactor(core): clean up search box implementation
* Clean up DOM structure
* Clean up HTML classes
* Use relative units
* Remove unnessecary CSS
2022-05-10 10:52:36 -04:00
alistair3149 a3d85bb8a5
fix(core): fix overflow in search suggestions 2022-05-02 21:36:59 -04:00
alistair3149 ca59b097ba
refactor(core): merge duplicating mixins together 2022-05-01 22:53:41 -04:00
alistair3149 2c9a5f45ec
refactor(core): merge menu content show transition into mixin 2022-05-01 22:11:31 -04:00
alistair3149 60d57dea85
feat(core): switch searchbox transitions to scale 2022-05-01 21:35:33 -04:00
alistair3149 c23a1d7838
feat: unify modal styles
All modals should follow the same styles
2022-04-28 15:18:41 -04:00
github-actions df7abc4010 ci: lint code to MediaWiki standards
Check commit and GitHub actions for more details
2021-12-16 03:20:34 +00:00
alistair3149 59ca621c80
feat: use neutral background for search suggestion thumbnails 2021-08-31 13:13:49 -04:00
alistair3149 e203bbeaab
fix: tweak weird gap between search box and suggestion 2021-07-25 20:21:12 -04:00
alistair3149 7dc0d14c70
feat: simplify background color variables in core styles
--background-color-dp-XX is soft depreciated, please use --color-surface-X instead
2021-07-25 19:16:05 -04:00
alistair3149 5f168f03ee
feat: add page load progress bar 2021-06-12 09:54:47 -04:00
alistair3149 62f161f633 fix: incorrect variable name 2021-05-27 11:20:12 -04:00
alistair3149 5c6408d766 feat: convert border radius to CSS variable 2021-05-27 11:20:12 -04:00
alistair3149 257abc84d0
feat: refresh the typeahead when blur 2021-05-18 13:26:00 -04:00