/** Angular2 */ import * as ng from "@angular/core"; /** Core */ import { CoreComponent } from "cmf.core/src/core"; import { Cmf } from "cmf.lbos"; /** Nested modules */ import { LinkClickArgs } from "../navigation/navigation"; /** * Defines an entity to be rendered in the DOM */ export interface EntityToRender { /** * The entity instance */ entity: Cmf.Foundation.BusinessObjects.Entity; /** * the entity system state */ entitySystemState?: string; } /** * @whatItDoes * This component presents entities in a very basic configuration and slim appearance, only showing the Name (navigable), * SystemState (if the entity has one) and Description. * * @howToUse * This component is used with the inputs and outputs mentioned below. * * ### Inputs * `Cmf.Foundation.BusinessObjects.Entity[]` : **entities** - The entity to be rendered * `boolean` : **isNewPageRequired** - Indicates if it is needed to open the entities in a new page. Defaults to false. * `boolean` : **disableContextMenu** - Disables the context menu for the navigation. Defaults to false. * * ### Outputs * `ng.EventEmitter` : **linkClick** - Emits the entity clicked on. * * ### Example * To use the component, assume the following HTML Templates as examples: * * ```HTML * * * ``` * * ### Dependencies * * * #### Components * Navigation : `cmf.core.business.controls` * * #### Services * _This component does not depend on any service_ * * #### Directives * _This component does not depend on any directive_ * * @class PageSearch */ export declare class EntitiesSlim extends CoreComponent implements ng.OnChanges { private _elementRef; /** * The entities to render on the DOM. */ _entities: EntityToRender[]; /** * The entities to be rendered */ entities: Cmf.Foundation.BusinessObjects.Entity[]; /** * Flag to control if navigation opens a new page. * Defaults is false. */ isNewPageRequired: boolean; /** * If set to true, right-clicking on a navigation will not open the context menu. * Defaults to false. */ disableContextMenu: boolean; /** * Emits the entity clicked on. */ linkClick: ng.EventEmitter; /** * Creates an EntitySlim instance * @param _elementRef The elementRef of the component */ constructor(_elementRef: ng.ElementRef); /** * Get System State for an entity * @param entity The entity to be searched for * @returns A promise to an EntityToRender obj */ private getSystemStateForEntity; /** * Handles clicking on the navigation link. * Emits the entity clicked on. * @param event arguments of clicking on a link in navigation */ onLinkClick(event: LinkClickArgs): void; /** * Handles changes made to the inputs. * @param changes Change made to the component's inputs */ ngOnChanges(changes: ng.SimpleChanges): void; } export declare class EntitiesSlimModule { }