|
1 | 1 | <script> |
2 | 2 | import { browser } from '$app/environment'; |
3 | | - import { Input, Dropdown, DropdownToggle, DropdownMenu, Row, Col } from '@sveltestrap/sveltestrap'; |
4 | | - import Link from 'svelte-link'; |
| 3 | + import { _ } from 'svelte-i18n'; |
| 4 | + import { Input } from '@sveltestrap/sveltestrap'; |
5 | 5 | import LanguageDropdown from '$lib/common/LanguageDropdown.svelte'; |
6 | 6 | import FullScreenDropdown from '$lib/common/FullScreenDropdown.svelte'; |
7 | 7 | import NotificationDropdown from '$lib/common/NotificationDropdown.svelte'; |
8 | 8 | import ProfileDropdown from '$lib/common/ProfileDropdown.svelte'; |
9 | 9 | import { OverlayScrollbars } from 'overlayscrollbars'; |
10 | 10 | import { PUBLIC_LOGO_URL } from '$env/static/public'; |
11 | | - import { _ } from 'svelte-i18n' |
12 | | - /** |
13 | | - * @type {any} |
14 | | - */ |
| 11 | + import { globalEventStore } from '$lib/helpers/store'; |
| 12 | + import { GlobalEvent } from '$lib/helpers/enums'; |
| 13 | +
|
| 14 | + /** @type {any} */ |
15 | 15 | export let user; |
16 | | - export let toggleRightBar; |
| 16 | +
|
| 17 | + /** @type {() => void} */ |
| 18 | + export let toggleRightBar = () => {}; |
| 19 | +
|
| 20 | + /** @type {string} */ |
| 21 | + let searchText = ''; |
17 | 22 |
|
18 | 23 | const toggleSideBar = () => { |
19 | 24 | if (browser) { |
|
42 | 47 | } |
43 | 48 | } |
44 | 49 | }; |
| 50 | +
|
| 51 | + /** @param {any} e */ |
| 52 | + const search = (e) => { |
| 53 | + if (e.key !== 'Enter') return; |
| 54 | +
|
| 55 | + globalEventStore.set({ name: GlobalEvent.Search, payload: searchText }); |
| 56 | + } |
45 | 57 | </script> |
46 | 58 |
|
47 | 59 | <header id="page-topbar"> |
|
72 | 84 | type="button" |
73 | 85 | class="btn btn-sm px-3 font-size-16 header-item waves-effect" |
74 | 86 | id="vertical-menu-btn" |
75 | | - on:click={toggleSideBar} |
| 87 | + on:click={() => toggleSideBar()} |
76 | 88 | > |
77 | 89 | <i class="fa fa-fw fa-bars" /> |
78 | 90 | </button> |
79 | 91 |
|
80 | 92 | <!-- App Search--> |
81 | 93 | <form class="app-search d-none d-lg-block"> |
82 | 94 | <div class="position-relative"> |
83 | | - <Input type="text" class="form-control" placeholder="{$_('Search')}..." /> |
| 95 | + <Input |
| 96 | + type="text" |
| 97 | + class="form-control" |
| 98 | + placeholder="{$_('Search')}..." |
| 99 | + maxlength={100} |
| 100 | + bind:value={searchText} |
| 101 | + on:keydown={e => search(e)} |
| 102 | + /> |
84 | 103 | <span class="bx bx-search-alt" /> |
85 | 104 | </div> |
86 | 105 | </form> |
|
0 commit comments