import { GxOption } from "../../common/types"; import { EntityData, ContextMenuInfo } from "../../common/types"; import { ComboBoxModel } from "@genexus/chameleon-controls-library"; declare const CHECKBOX_CHECKED_VALUE = "checked"; declare const CHECKBOX_UNCHECKED_VALUE = "unchecked"; export declare class GxIdeWWFiles { #private; el: HTMLGxIdeWwFilesElement; /** * The "After" control value. Controls the visibility of the "Date/Time" control. */ afterValue: string; /** * The "Category" options as combo box model */ categoriesComboBoxModel: ComboBoxModel; /** * Value of the Date/Time control */ dateTimeValue: string; dateTimeValueChanged(): void; /** * A loader that is shown when the filter changes and the server has to retrieve new data. */ isLoading: boolean; /** * The options for the "After" combo-box */ filterAfterComboBoxModel: ComboBoxModel; /** * For show or hide the filters relative to modifiers */ showModified: CheckboxState; /** * The files rendered in the table */ objects: ObjectData[]; /** * The categories render in the filter category selector */ readonly categories: GxOption[]; categoriesChanged(newCategories: GxOption[]): void; /** * This is a function provided by the developer for show the context menu of the selected files. */ readonly contextMenuCallback: ContextMenuCallback; /** * The default value for the category filter */ readonly defaultCategory: string; /** * The default value for the module/folder filter */ readonly defaultModule: EntityData; /** * This is a function provided by the developer for delete the selected files. */ readonly deleteSelectionCallback: DeleteSelectionCallback; /** * Controls the visibility of the tabular grid cell columns, and respective cells. */ readonly gridColumnsVisibility: GridColumnsVisibility; /** * This is a function provided by the developer that return a list of files to populate the table of files. */ readonly loadCallback: LoadCallback; /** * */ readonly newFileCallback: NewFileCallback; /** * This is a function provided by the developer to expand the data of files that is double-clicked or entered. */ readonly openSelectionCallback: OpenSelectionCallback; /** * Callback invoked when the action is executed on the Module/Folder filter (button '...'). It returns the information of the selected object (id and name) or 'undefined' if it was canceled. */ readonly selectModuleCallback: SelectModuleCallback; /** * This is a function provided by the developer for expanded the data of files that is double-clicked or entered. */ readonly selectionChangeCallback: SelectionChangeCallback; /** * Controls whether to show the Search contents field in the advanced filter section (Not available at the time of writting, since the server is not handling this feature yet.) */ readonly showSearchContents = false; componentWillLoad(): Promise; componentDidLoad(): void; keyDownHandler(eventInfo: KeyboardEvent): void; /** * Reloads the view, refreshing the filters and the table of files. */ reload(): Promise; render(): void; } export type SelectionChangeCallback = (ids: string[]) => Promise; export type OpenSelectionCallback = (ids: string[]) => Promise; export type DeleteSelectionCallback = (ids: string[]) => Promise; export type SelectModuleCallback = () => Promise; export type ContextMenuCallback = (contextMenuInfo: ContextMenuInfo) => Promise; export type NewFileCallback = () => Promise; export type LoadCallback = (filters: ObjectFiltersData) => Promise; export interface ObjectFiltersData { name?: string; searchContents?: string; category?: string; parent?: string; allDescendants?: boolean; modifiedAfter?: string; modifiedBy?: string; modifiedDate?: Date; } export interface ObjectData { id: string; icon: string; name: string; description: string; parent: string; modifiedDate?: Date; lastUser?: string; importDate?: Date; lastBuildDate: Date; } export type GridColumnsVisibility = { description: boolean; importDate: boolean; lastBuildDate: boolean; lastUser: boolean; modifiedDate: boolean; }; type CheckboxState = typeof CHECKBOX_CHECKED_VALUE | typeof CHECKBOX_UNCHECKED_VALUE; export {};