Fixed scroll snapping for 2nd+ level items using tabs

This commit is contained in:
squidfunk
2020-03-03 14:59:57 +01:00
parent 89d8d6c5ac
commit 301582cc76
14 changed files with 45430 additions and 44 deletions

View File

@@ -149,6 +149,12 @@ export function setupComponents(
*
* @return Element observable
*/
export function useComponent<T extends HTMLInputElement>(
name: "search-query"
): Observable<T>
export function useComponent<T extends HTMLElement>(
name: Component
): Observable<T>
export function useComponent<T extends HTMLElement>(
name: Component
): Observable<T> {

View File

@@ -181,7 +181,7 @@ export function initialize(config: unknown) {
/* ----------------------------------------------------------------------- */
/* Mount search query */
const query$ = useComponent<HTMLInputElement>("search-query")
const query$ = useComponent("search-query")
.pipe(
mountSearchQuery(worker),
shareReplay(1) // TODO: this must be put onto EVERY component!

View File

@@ -173,10 +173,11 @@ export function setupKeyboard(): Observable<Keyboard> {
.subscribe(([key, query]) => {
switch (key.type) {
/* Open search */
/* Open search and select query */
case "f":
case "s":
setElementFocus(query)
query.select()
key.claim()
break