/** Angular2 */
import * as ng from "@angular/core";
/** Core */
import { CoreComponent } from "cmf.core/src/core";
import Cmf from "cmf.lbos";
/** Services */
import { ComboBoxService, FolderComboBoxDef } from "./folderComboBoxService";
/**
* Type of folder to search from
*/
export declare enum FolderType {
Query = 0,
Document = 1,
Multimedia = 2
}
/**
* @whatItDoes
*
* This component shows a comboBox displaying a list of folder paths to allow the user to select one of them
* It can receive the path in which to search the list to show or the folder type sets the path depending on the type that is set
*
* @howToUse
*
* This component is used with the inputs and outputs mentioned below.
*
* ### Inputs
* * `string[]` : **itemsToIgnore** - An array of items to ignore.
* The items of the array will be compared with the field Value of the lookUpTableValue
* * `string` : **folderPath** - The path of the parent folder to show (e.g. "\" or "\Queries"). Defaults to "\".
* * `FolderType|string` : **folderType** - They type of folder search that automatically matches a path
* * `Cmf.Foundation.BusinessObjects.Folder` : **value** - The currently selected folder
* * `string` : **placeholder** - Defines the component placeholder
* * `boolean` : **required** - Defines if the component requires a value. Default is false.
* * `boolean` : **disabled** - Defines if the element is disabled to be filed
* * `boolean` : **singleElementPreSelect** - Defines if the component should pre-select when there's only one element
* available and the folder that is searched by the path. Default is 'true'.
*
* ### Outputs
* * `Cmf.Foundation.BusinessObjects.Folder` : **valueChanged** - The selected value change event,
* so the component can inform the upper components that the selected folder has changed
*
* ### Example
* To use the component, assume this HTML Template as an example:
*
* ```HTML
*
* ```
*
* @description
*
* ## FolderComboBox Component
*
* ### Dependencies
*
* #### Components
* * BusinessComboBox : `cmf.core.business.controls`
*
* ### Services
* * FolderComboBoxService: `cmf.core.business.controls`
*
*/
export declare class FolderComboBox extends CoreComponent implements FolderComboBoxDef, ng.OnChanges {
private _folderComboBoxService;
/**
* Defines if the element is disabled to be filed
*/
disabled: boolean;
/**
* The currently selected value of the comboBox component
*
* @property {string} selected value of the select component
*/
value: Cmf.Foundation.BusinessObjects.Folder;
/**
* Defines if the component requires a value. Default is false.
*/
required: boolean;
/**
* Defines the component placeholder - overriding the default component placeholder
*/
placeholder: string;
/**
* An array of items to ignore. The items of the array will be compared with both keys and values of the folder
*/
itemsToIgnore: string[];
/**
* Defines if the component should pre-select when there's only one element available. Default is 'true'.
*/
singleElementPreSelect: boolean;
/**
* Path to search from
*/
folderPath: string;
/**
* Type of object to browse folders
*/
folderType: any;
/**
* Folder type inner enum
*/
private _folderType;
/**
* Nested business combo box
*/
private _nestedComboBox;
/**
* The selected value change event, so the component can inform the upper components that the selected value has changed
*
* @property {ng.EventEmitter} init event
*/
valueChanged: ng.EventEmitter;
constructor(_folderComboBoxService: ComboBoxService);
/**
* Refresh the inner comboBox data on changes
*/
ngOnChanges(changes: ng.SimpleChanges): void;
/**
* Refresh the data of the nested combobox
*/
private refreshData;
/**
* Get the folder path depending on the path input or the type input
*/
private getFolderPath;
/**
* When selected value changes - notify parent component
*/
onValueChange(value: any): void;
foldersLoaded(folders: Cmf.Foundation.BusinessObjects.Folder[]): void;
}
export declare class FolderComboBoxModule {
}