primevue-mirror/components/menuitem/MenuItem.d.ts

95 lines
2.1 KiB
TypeScript
Raw Normal View History

2023-03-01 12:27:37 +00:00
/**
*
* PrimeVue menu components share a common api to specify the menuitems and submenus.
*
* @module menuitem
*
*/
2022-09-14 11:26:01 +00:00
import { RouteLocationRaw } from 'vue-router';
2022-09-06 12:03:37 +00:00
2023-03-01 12:27:37 +00:00
/**
* Custom command event.
* @see {@link MenuItem.command}
*/
2022-09-06 12:03:37 +00:00
export interface MenuItemCommandEvent {
/**
* Browser event.
*/
originalEvent: Event;
/**
* Menuitem instance.
*/
item: MenuItem;
/**
* Optional
*/
[key: string]: any;
}
2023-03-01 12:27:37 +00:00
/**
* Defines model of MenuItem API.
*/
2022-09-06 12:03:37 +00:00
export interface MenuItem {
/**
* Property name or getter function to use as the label of an item.
*/
2023-03-01 12:27:37 +00:00
label?: string | ((...args: any) => string) | undefined;
2022-09-06 12:03:37 +00:00
/**
* Icon of the item.
*/
icon?: string | undefined;
/**
* Route configuration such as path, name and parameters.
*/
to?: RouteLocationRaw | undefined;
/**
* Callback to execute when item is clicked.
2023-03-01 12:27:37 +00:00
* @param {MenuItemCommandEvent} event - Custom command event.
2023-03-07 22:49:05 +00:00
* @todo next release should be able to change
2022-09-06 12:03:37 +00:00
*/
2023-03-07 22:49:05 +00:00
command?: (event: MenuItemCommandEvent) => void;
2022-09-06 12:03:37 +00:00
/**
* External link to navigate when item is clicked.
*/
url?: string | undefined;
/**
* An array of children menuitems.
*/
items?: MenuItem[] | undefined;
/**
* A boolean or a function to return a boolean to specify if the item is disabled.
2023-03-01 12:27:37 +00:00
* @defaultValue false
2022-09-06 12:03:37 +00:00
*/
2023-03-01 12:27:37 +00:00
disabled?: boolean | ((...args: any) => boolean) | undefined;
2022-09-06 12:03:37 +00:00
/**
* A boolean or a function to return a boolean to specify if the item is visible.
2023-03-01 12:27:37 +00:00
* @defaultValue true
2022-09-06 12:03:37 +00:00
*/
2023-03-01 12:27:37 +00:00
visible?: boolean | ((...args: any) => boolean) | undefined;
2022-09-06 12:03:37 +00:00
/**
* Specifies where to open the linked document.
*/
target?: string | undefined;
/**
* Defines the item as a separator.
2023-03-01 12:27:37 +00:00
* @defaultValue false
2022-09-06 12:03:37 +00:00
*/
separator?: boolean | undefined;
/**
* Inline style of the menuitem.
*/
style?: any;
/**
* Style class of the menuitem.
*/
class?: any;
/**
* Unique identifier of an item.
*/
2022-09-14 11:26:01 +00:00
key?: string | undefined;
2022-09-06 12:03:37 +00:00
/**
* Optional
*/
[key: string]: any;
}