mirror of
https://github.com/Lissy93/dashy.git
synced 2025-12-06 16:43:13 +01:00
Merge dd7921cdfb into 996de036e8
This commit is contained in:
commit
f5d54aa942
6 changed files with 37 additions and 1 deletions
|
|
@ -254,6 +254,7 @@ For more info, see the **[Authentication Docs](/docs/authentication.md)**
|
|||
**`description`** | `string` | _Optional_ | Additional info about an item, which is shown in the tooltip on hover, or visible on large tiles
|
||||
**`url`** | `string` | Required | The URL / location of web address for when the item is clicked
|
||||
**`icon`** | `string` | _Optional_ | The icon for a given item. Can be a font-awesome icon, favicon, remote URL or local URL. See [`item.icon`](#sectionicon-and-sectionitemicon)
|
||||
**`hidden`** | `boolean` | _Optional_ | If set to `true`, this item will be hidden from the default homepage view. It will still appear in search results, and will remain visible while using the Interactive Edit Mode. Defaults to `false`.
|
||||
**`target`** | `string` | _Optional_ | The opening method for when the item is clicked, either `newtab`, `sametab`, `modal`, `workspace`, `clipboard`, `top` or `parent`. Where `newtab` will open the link in a new tab, `sametab` will open it in the current tab, and `modal` will open a pop-up modal, `workspace` will open in the Workspace view and `clipboard` will copy the URL to system clipboard (but not launch app). Defaults to `newtab`
|
||||
**`hotkey`** | `number` | _Optional_ | Give frequently opened applications a numeric hotkey, between `0 - 9`. You can then just press that key to launch that application.
|
||||
**`tags`** | `string[]` | _Optional_ | A list of tags, which can be used for improved search
|
||||
|
|
@ -283,6 +284,22 @@ For more info, see the **[Authentication Docs](/docs/authentication.md)**
|
|||
|
||||
**[⬆️ Back to Top](#configuring)**
|
||||
|
||||
### Example: Hiding an item from the homepage
|
||||
|
||||
```yaml
|
||||
sections:
|
||||
- name: Media
|
||||
items:
|
||||
- title: Admin Panel
|
||||
url: https://example.local/admin
|
||||
icon: fa fa-tools
|
||||
hidden: true # hidden from the default homepage, but still searchable
|
||||
- title: Plex
|
||||
url: https://plex.local
|
||||
icon: favicon
|
||||
```
|
||||
|
||||
|
||||
## `section.widgets` _(optional)_
|
||||
|
||||
**Field** | **Type** | **Required**| **Description**
|
||||
|
|
|
|||
|
|
@ -159,6 +159,7 @@ Checklist:
|
|||
- [ ] Update the [Schema](https://github.com/Lissy93/dashy/blob/master/src/utils/ConfigSchema.js) with the parameters for your new option
|
||||
- [ ] If required, set a default or fallback value (usually in [`defaults.js`](https://github.com/Lissy93/dashy/blob/master/src/utils/defaults.js))
|
||||
- [ ] Document the new value in [`configuring.md`](./configuring.md), and if required under the relevant section in the docs
|
||||
- For example, if adding an item-level flag like `hidden: true`, document its purpose, default, and behavior (e.g., hidden on homepage but still searchable)
|
||||
- [ ] Ensure your changes are backwards compatible, and that nothing breaks if the attribute isn't specified
|
||||
|
||||
---
|
||||
|
|
|
|||
|
|
@ -4,6 +4,9 @@
|
|||
|
||||
One of the primary purposes of Dashy is to allow you to quickly find and launch a given app. To make this as quick as possible, there is no need to touch the mouse, or press a certain key to begin searching - just start typing. Results will be filtered in real-time. No need to worry about case, special characters or small typos, these are taken care of, and your results should appear.
|
||||
|
||||
> Note
|
||||
> Items marked as hidden in your configuration (using `hidden: true`) will not be shown on the homepage by default, but they will still appear in search results.
|
||||
|
||||
## Navigating
|
||||
|
||||
You can navigate through your items or search results using the keyboard. You can use <kbd>Tab</kbd> to cycle through results, and <kbd>Shift</kbd> + <kbd>Tab</kbd> to go backwards. Or use the arrow keys, <kbd>↑</kbd>, <kbd>→</kbd>, <kbd>↓</kbd> and <kbd>←</kbd>.
|
||||
|
|
|
|||
|
|
@ -240,6 +240,7 @@ export default {
|
|||
return str === 'true';
|
||||
};
|
||||
if (newItem.tags) newItem.tags = strToTags(newItem.tags);
|
||||
if (newItem.hidden !== undefined) newItem.hidden = strToBool(newItem.hidden);
|
||||
if (newItem.statusCheck) newItem.statusCheck = strToBool(newItem.statusCheck);
|
||||
if (newItem.statusCheckAllowInsecure) {
|
||||
newItem.statusCheckAllowInsecure = strToBool(newItem.statusCheckAllowInsecure);
|
||||
|
|
|
|||
|
|
@ -128,6 +128,7 @@ export default {
|
|||
widgets: Array,
|
||||
index: Number,
|
||||
isWide: Boolean,
|
||||
searchTerm: String,
|
||||
},
|
||||
components: {
|
||||
Collapsable,
|
||||
|
|
@ -178,7 +179,14 @@ export default {
|
|||
},
|
||||
/* If the sortBy attribute is specified, then return sorted data */
|
||||
sortedItems() {
|
||||
const items = [...this.items];
|
||||
// Filter out items with hidden: true, unless in edit mode or searching
|
||||
let items = [...this.items];
|
||||
if (!this.isEditMode) {
|
||||
// Include hidden items only when there's an active search term
|
||||
if (!this.searchTerm || this.searchTerm.trim() === '') {
|
||||
items = items.filter(item => !item.hidden);
|
||||
}
|
||||
}
|
||||
if (this.appConfig.disableSmartSort) return items;
|
||||
if (this.sortOrder === 'alphabetical') {
|
||||
return this.sortAlphabetically(items);
|
||||
|
|
|
|||
|
|
@ -955,6 +955,12 @@
|
|||
"nullable": true,
|
||||
"description": "An icon, either as a font-awesome, simple-icon, selfh.st, or mdi identifier, emoji, favicon, generative or the URL/path to a local or remote icon asset"
|
||||
},
|
||||
"hidden": {
|
||||
"title": "Hidden from Homepage",
|
||||
"type": "boolean",
|
||||
"default": false,
|
||||
"description": "If true, this item will be hidden from the homepage/dashboard but still searchable."
|
||||
},
|
||||
"url": {
|
||||
"title": "Service URL",
|
||||
"type": "string",
|
||||
|
|
|
|||
Loading…
Reference in a new issue