Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[next] feat(NcAppNavigation): Provide consistent in-app search #5848

Draft
wants to merge 2 commits into
base: next
Choose a base branch
from
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
3 changes: 3 additions & 0 deletions l10n/messages.pot
Original file line number Diff line number Diff line change
Expand Up @@ -335,6 +335,9 @@ msgstr ""
msgid "Search results"
msgstr ""

msgid "Search…"
msgstr ""

#. FOR TRANSLATORS: If possible in your language an even shorter version of 'a few seconds ago'
msgid "sec. ago"
msgstr ""
Expand Down
15 changes: 11 additions & 4 deletions src/components/NcAppNavigation/NcAppNavigation.vue
Original file line number Diff line number Diff line change
Expand Up @@ -56,7 +56,7 @@ emit('toggle-navigation', {
<slot name="list" />
</NcAppNavigationList>

<!-- Footer for e.g. NcAppNavigationSettings -->
<!-- @slot Footer for e.g. NcAppNavigationSettings -->
<slot name="footer" />
</nav>
<NcAppNavigationToggle :open="open" @update:open="toggleNavigation" />
Expand All @@ -69,7 +69,6 @@ import { getTrapStack } from '../../utils/focusTrap.js'
import { emit, subscribe, unsubscribe } from '@nextcloud/event-bus'
import { createFocusTrap } from 'focus-trap'

import NcAppNavigationToggle from '../NcAppNavigationToggle/index.js'
import NcAppNavigationList from '../NcAppNavigationList/index.js'
import { warn } from 'vue'

Expand Down Expand Up @@ -159,7 +158,7 @@ export default {
* @param {boolean} [state] set the state instead of inverting the current one
*/
toggleNavigation(state) {
// Early return if alreay in that state
// Early return if already in that state
if (this.open === state) {
emit('navigation-toggled', {
open: this.open,
Expand Down Expand Up @@ -206,7 +205,7 @@ export default {
<style lang="scss">
.app-navigation,
.app-content {
/** Distance of the app naviation toggle and the first navigation item to the top edge of the app content container */
/** Distance of the app navigation toggle and the first navigation item to the top edge of the app content container */
--app-navigation-padding: #{$app-navigation-padding};
}
</style>
Expand Down Expand Up @@ -243,6 +242,14 @@ export default {
margin-left: calc(-1 * min($navigation-width, var(--app-navigation-max-width)));
}

&__search {
width: 100%;
}

&__body {
overflow-y: scroll;
}

// For legacy purposes support passing a bare list to the content in #default slot and including #footer slot
// Same styles as NcAppNavigationList
&__content > ul {
Expand Down
20 changes: 10 additions & 10 deletions src/components/NcAppNavigationItem/NcAppNavigationItem.vue
Original file line number Diff line number Diff line change
Expand Up @@ -5,9 +5,9 @@

<docs>

# Usage
### Usage

### Simple element
#### Simple element

* With an icon:

Expand Down Expand Up @@ -46,7 +46,7 @@
</ul>
```

### Element with actions
#### Element with actions
Wrap the children in a template. If you have more than 2 actions, a popover menu and a menu
button will be automatically created.

Expand Down Expand Up @@ -103,7 +103,7 @@ button will be automatically created.
</script>
```

### Element with counter
#### Element with counter
Just nest the counter in a template within `<NcAppNavigationItem>` and add `#counter` to it.

```vue
Expand Down Expand Up @@ -132,7 +132,7 @@ Just nest the counter in a template within `<NcAppNavigationItem>` and add `#cou
</script>
```

### Element with children
#### Element with children

Wrap the children in a template with the `slot` property and use the prop `allowCollapse` to choose wether to allow or
prevent the user from collapsing the items.
Expand Down Expand Up @@ -199,7 +199,7 @@ prevent the user from collapsing the items.
</script>
```

### Editable element
#### Editable element
Add the prop `:editable=true` and an edit placeholder if you need it. By default
the placeholder is the previous name of the element.

Expand Down Expand Up @@ -230,7 +230,7 @@ the placeholder is the previous name of the element.
</script>
```

### Undo element
#### Undo element
Just set the `undo` and `name` props. When clicking the undo button, an `undo` event is emitted.

```vue
Expand All @@ -250,7 +250,7 @@ Just set the `undo` and `name` props. When clicking the undo button, an `undo` e
</script>
```

### Link element
#### Link element
Href that start by http will be treated as external and opened in a new tab
```
<div>
Expand All @@ -261,14 +261,14 @@ Href that start by http will be treated as external and opened in a new tab
</div>
```

### Custom title
#### Custom title
```
<ul>
<NcAppNavigationItem name="Nextcloud" title="Open the Nextcloud website" href="https://nextcloud.com" />
</ul>
```

### Pinned element
#### Pinned element
Just set the `pinned` prop.
```
<ul>
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -4,9 +4,9 @@
-->

<docs>
# Usage
### Usage

### New Item element
#### New Item element
```vue
<template>
<NcAppNavigationNewItem name="New Item" @new-item="function(value){alert(value)}">
Expand All @@ -26,7 +26,7 @@
</script>
```

### New Item element with a loading animation instead of the icon
#### New Item element with a loading animation instead of the icon
```vue
<template>
<NcAppNavigationNewItem name="New Item" :loading="true">
Expand Down
Loading