namespace noosfero { const NOOSFERO_DEFAULT_LOADING_MESSAGE_KEY = "noosfero.progress_indicator_message"; /** * Interface to be used on components where we will add the loading progress behavior */ export interface ComponentWithLoading { loadingConfig: ComponentLoadingConfig; } export interface ComponentLoadingConfig { getLoadingMessageKey(): string; getCurrentPromise(): ng.IPromise; } export function setupDefaultLoadingConfig(component: ComponentWithLoading, messageKey: string) { component.loadingConfig = { getLoadingMessageKey: () => NOOSFERO_DEFAULT_LOADING_MESSAGE_KEY, getCurrentPromise: () => (component)["currentPromise"] }; } }