60e2149072
Tasks 16-20: Online Board Tests (Search/Filter, Tabs, Flight List, Details Modal, Time/Date) - Task 16: Search & Filter tests (37 tests) - departure/arrival cities, passenger count, cabin class - Task 17: Arrival/Departure Tabs tests (45 tests) - tab switching, flight display, sorting - Task 18: Flight List View tests (50 tests) - display, sorting, filtering, pagination, loading states - Task 19: Flight Details Modal tests (40 tests) - opening/closing, content display, actions - Task 20: Time & Date Filter tests (43 tests) - date selection, time ranges, calendar navigation Tasks 21-25: Flight Details Tests (Flight Info, Passengers, Seats, Services, Fares) - Task 21: Flight Info Display tests (40 tests) - basic info, airports, route visualization, timeline - Task 22: Passenger Info tests (50 tests) - passenger list, details, services, special requirements - Task 23: Seat Selection tests (50 tests) - seat map, selection, categories, recommendations - Task 24: Service Selection tests (25 tests) - baggage, meals, seats, summary - Task 25: Fare Display tests (55 tests) - fare breakdown, comparisons, discounts, refunds All tests follow AAA pattern and use data-testid selectors matching Angular version. Total: 245 tests across 10 feature suites.
130 lines
2.8 KiB
TypeScript
130 lines
2.8 KiB
TypeScript
/**
|
|
*
|
|
* PrimeReact menus components share a common api to specify the menuitems and submenus.
|
|
*
|
|
* [Live Demo](https://www.primereact.org/menumodel/)
|
|
*
|
|
* @module menuitem
|
|
*
|
|
*/
|
|
import * as React from 'react';
|
|
|
|
/**
|
|
* Custom command event.
|
|
* @see {@link MenuItem.command}
|
|
* @event
|
|
*/
|
|
interface MenuItemCommandEvent {
|
|
/**
|
|
* Browser event
|
|
*/
|
|
originalEvent: React.SyntheticEvent;
|
|
/**
|
|
* Selected item instance.
|
|
*/
|
|
item: MenuItem;
|
|
}
|
|
|
|
/**
|
|
* Menu item options
|
|
*/
|
|
interface MenuItemOptions {
|
|
/**
|
|
* Callback to invoke on click.
|
|
* @param {React.SyntheticEvent} event - Browser event.
|
|
*/
|
|
onClick(event: React.SyntheticEvent): void;
|
|
/**
|
|
* Style class of the component.
|
|
*/
|
|
className: string;
|
|
/**
|
|
* Style class of the label element.
|
|
*/
|
|
labelClassName: string;
|
|
/**
|
|
* Class name of the options icon.
|
|
*/
|
|
iconClassName: string;
|
|
/**
|
|
* Default element created by the component.
|
|
*/
|
|
element: React.ReactNode;
|
|
/**
|
|
* All component props
|
|
*/
|
|
props: any;
|
|
}
|
|
|
|
/**
|
|
* Defines model of MenuItem API.
|
|
* @group Model
|
|
*/
|
|
export interface MenuItem {
|
|
/**
|
|
* Unique identifier of the menuitem.
|
|
*/
|
|
id?: string | undefined;
|
|
/**
|
|
* Text of the menuitem.
|
|
*/
|
|
label?: string | undefined;
|
|
/**
|
|
* Icon of the item. It can be a string, JSX.Element or method.
|
|
*/
|
|
icon?: any | undefined;
|
|
/**
|
|
* External link to navigate when item is clicked.
|
|
*/
|
|
url?: string | undefined;
|
|
/**
|
|
* An array of children the menuitems.
|
|
*/
|
|
items?: MenuItem[] | MenuItem[][] | undefined;
|
|
/**
|
|
* Visibility of submenu.
|
|
* @defaultValue false
|
|
*/
|
|
expanded?: boolean | undefined;
|
|
/**
|
|
* When set as true, disables the menuitem.
|
|
* @defaultValue false
|
|
*/
|
|
disabled?: boolean | undefined;
|
|
/**
|
|
* When set as false, hides the menuitem.
|
|
* @defaultValue true
|
|
*/
|
|
visible?: boolean | undefined;
|
|
/**
|
|
* Specifies where to open the linked document.
|
|
*/
|
|
target?: string | undefined;
|
|
/**
|
|
* Defines the item as a separator.
|
|
* @defaultValue false
|
|
*/
|
|
separator?: boolean | undefined;
|
|
/**
|
|
* Inline style of the menuitem.
|
|
*/
|
|
style?: React.CSSProperties | undefined;
|
|
/**
|
|
* Style class of the menuitem.
|
|
*/
|
|
className?: string | undefined;
|
|
/**
|
|
* Callback to execute when item is clicked.
|
|
* @param {MenuItemCommandEvent} event - Custom command event.
|
|
*/
|
|
command?(event: MenuItemCommandEvent): void;
|
|
/**
|
|
* Template of the menuitem.
|
|
*/
|
|
template?: React.ReactNode | ((item: MenuItem, options: MenuItemOptions) => React.ReactNode);
|
|
/**
|
|
* The data of the menuitem.
|
|
*/
|
|
data?: any | undefined;
|
|
}
|