import { Injector } from '@angular/core'; import { RuntimeFrameworkService } from './rtf-service'; import { AppOptions } from '@gsp-sys/rtf-common'; import { MenuStateService } from './menu-state.service'; import { NavigationEventService } from './navigation-event.service'; import { QuerystringService } from './querystring'; import { FrameContext } from '@farris/devkit'; import { LanguageService } from './languag.service'; import { Observable } from 'rxjs'; /** * 导航服务 * @scope FormModule */ export declare class NavigationService { private runtimeFrameworkService; private menuStateService; private navigationEventService; private querystringService; private frameContext; private injector; private languageService; constructor(runtimeFrameworkService: RuntimeFrameworkService, menuStateService: MenuStateService, navigationEventService: NavigationEventService, querystringService: QuerystringService, frameContext: FrameContext, injector: Injector, languageService: LanguageService); context: any; /** * 获取整个表单的appcontext(除module上的appcontext) */ private readonly formAppContext; private readonly querystrings; /** * 提示服务 */ private readonly formNotifyService; /** * 注册销毁事件 * @param tabId */ private registerDestroyEvent; /** * 打开菜单 * @param tabId 根据TabId决定打开新标签页或定位之前打开的标签页 * @param funcId 菜单Id * @param params 参数 * @param reload 是否重新刷新 * @param enableRefresh 启用数据刷新 * @param tabName tab标题 * @param destructuring 是否解构参数 */ openMenu(tabId: string, funcId: string, params: any, reload?: boolean, enableRefresh?: any, tabName?: string, destructuring?: any): Observable; /** * 打开菜单(流) * @param tabId 根据TabId决定打开新标签页或定位之前打开的标签页 * @param funcId 菜单Id * @param params 参数 * @param reload 是否重新刷新 * @param enableRefresh 启用数据刷新 * @param destructuring 解构参数 */ openMenu$(tabId: string, funcId: string, params: any, reload?: boolean, enableRefresh?: any, tabName?: string, destructuring?: any): any; /** * 打开菜单(带维度) * @param tabId 根据TabId决定打开新标签页或定位之前打开的标签页 * @param funcId 菜单Id * @param params 参数 * @param reload 是否重新刷新 * @param enableRefresh 启用数据刷新 * @param dim1 dim1 * @param dim2 dim2 * @param destructuring 解构参数 */ openMenuWithDimension(tabId: string, funcId: string, params: any, enableRefresh?: any, dim1?: any, dim2?: any, tabName?: string, metadataId?: string, destructuring?: any): Observable; /** * 打开应用 * @param tabId tabId 根据TabId决定打开新标签页或定位之前打开的标签页 * @param appId 应用Id * @param appEntrance 应用入口 * @param params 参数 * @param reload 是否重新刷新 * @param tabName tab标题 * @param enableRefresh 启用数据刷新 * @param destructuring 解构参数 */ openApp(tabId: string, appId: string, appEntrance: string, params: any, reload?: boolean, tabName?: string, enableRefresh?: any, destructuring?: any): Observable; /** * 打开应用(流式) * @param tabId tabId 根据TabId决定打开新标签页或定位之前打开的标签页 * @param appId 应用Id * @param appEntrance 应用入口 * @param params 参数 * @param reload 是否重新刷新 * @param tabName tab标题 * @param enableRefresh 启用数据刷新 * @param destructuring 解构参数 */ openApp$(tabId: string, appId: string, appEntrance: string, params: any, reload?: boolean, tabName?: string, enableRefresh?: any, destructuring?: any): any; /** * 关闭 * @param onCloseing 关闭前事件处理器 */ close(): void; /** * 强制关闭 */ destory(): void; /** * * @param params params * @deprecated 待废弃,与buildParamMap重复 */ private parseParams; /** * 注册事件监听器 * @param eventType 事件类型 onTabClosed * @param handler 处理器 * @returns string 返回事件标识 */ addEventListener(eventType: string, handler: (options: AppOptions) => any): string; /** * 移除事件监听器 * @param eventType 事件类型 onTabClosed | onTabCloseing * @param key 事件标识 */ removeEventListener(eventType: string, key: string): boolean; /** * 清空事件监听器 * @param eventType 事件类型 */ clearEventListener(eventType: string): void; /** * 以弹框、侧边栏或新标签页方式打开表单 * @param mode 打开方式,支持`modal`弹窗、`sidebar`侧边栏、`tab`新标签页 * @param modalId 弹窗id,如果mode=`modal`且没有url, * @param configs 弹窗配置 * @param url 远端表单url * @param tabId 标签页id,modal=tab时必填 * @param tabType 标签页类型,`menu` 或`app` * @param funcOrAppId 菜单或应用id * @param appEntrance 应用入口 * @param params 参数 * @param tabName 新标签页名称 * @param enableRefresh 启用启动刷新 * @param destructuring 是否解构 */ open(mode: 'modal' | 'sidebar' | 'tab', modalId?: string, url?: string, configs?: any, tabId?: string, tabType?: 'menu' | 'app', funcOrAppId?: string, appEntrance?: string, params?: any, tabName?: string, enableRefresh?: any, destructuring?: any): void; /** * in app navigate * @param commands commands */ /** * in app navigate * @param commands commands * @param options options * @description options:{ relativeTo: this.activatedRoute, queryParams:{a:1,b:2},etc:...} */ navigate(commands: any[], options?: any): Promise; /** * 封装路由参数 * @param params 参数 * @param options 配置参数 */ private buildParamMap; private buildParam; /** * 查找弹窗组件 */ private findDialog; /** * loadsh get * @param object 对象 * @param path 路径 * @param defaultVal 默认值 */ private get; private convertToBoolean; /** * 翻译资源项 * @param key 资源项key */ private translate; private buildConfigs; private getObjectTypeConfig; /** * 取消服务器变更集 */ private cancelChanges; private refreshForm; private createComponentRef; /** * 兼容旧弹窗,获取frameContext */ private getFrameContext; /** * 兼容旧弹窗,获取ComponentFactoryResolver */ private getComponentFactoryResolver; }