@ohayojp.com/components
Version:
Common business components of ohayojp.
103 lines (102 loc) • 3 kB
TypeScript
import { ActivatedRouteSnapshot } from '@angular/router';
import { ReuseTcomponentsontextComponent } from './reuse-tab-context.component';
/**
* 复用匹配模式
*/
export declare enum ReuseTabMatchMode {
/**
* (推荐)按菜单 `Menu` 配置
*
* 可复用:
* - `{ text:'Dashboard' }`
* - `{ text:'Dashboard', reuse: true }`
*
* 不可复用:
* - `{ text:'Dashboard', reuse: false }`
*/
Menu = 0,
/**
* 按菜单 `Menu` 强制配置
*
* 可复用:
* - `{ text:'Dashboard', reuse: true }`
*
* 不可复用:
* - `{ text:'Dashboard' }`
* - `{ text:'Dashboard', reuse: false }`
*/
MenuForce = 1,
/**
* 对所有路由有效,可以配合 `excludes` 过滤无须复用路由
*/
URL = 2
}
export declare type ReuseTabRouteParamMatchMode = 'strict' | 'loose';
export interface ReuseTitle {
text?: string;
i18n?: string;
}
export interface ReuseTcomponentsached {
title: ReuseTitle;
url: string;
/** 是否允许关闭,默认:`true` */
closable?: boolean;
/** 当前滚动条位置 */
position?: [number, number] | null;
_snapshot: ActivatedRouteSnapshot;
_handle: ReuseComponentHandle;
}
export interface ReuseTabNotify {
/** 事件类型 */
active: 'add' | 'override' | 'title' | 'clear' | 'closable' | 'close' | 'closeRight' | 'move' | 'refresh';
url?: string;
title?: ReuseTitle;
item?: ReuseTcomponentsached;
list?: ReuseTcomponentsached[];
[key: string]: any;
}
export interface ReuseItem {
url: string;
title: string;
closable: boolean;
index: number;
active: boolean;
last: boolean;
}
export interface ReuseContextEvent {
event: MouseEvent;
item: ReuseItem;
comp?: ReuseTcomponentsontextComponent;
customContextMenu?: ReuseCustomContextMenu[];
}
export declare type CloseType = 'close' | 'closeOther' | 'closeRight' | 'custom' | 'refresh' | null;
export interface ReuseContextCloseEvent {
type: CloseType;
item: ReuseItem;
includeNonCloseable: boolean;
}
export interface ReuseContextI18n {
close?: string;
closeOther?: string;
closeRight?: string;
refresh?: string;
}
export interface ReuseCustomContextMenu {
id: string;
title: string;
fn: (item: ReuseItem, menu: ReuseCustomContextMenu) => void;
disabled?: (item: ReuseItem) => boolean;
}
export interface ReuseComponentHandle {
componentRef: ReuseComponentRef;
}
export interface ReuseComponentRef {
instance: ReuseComponentInstance;
}
export declare type ReuseHookTypes = '_onReuseInit' | '_onReuseDestroy';
export declare type ReuseHookOnReuseInitType = 'init' | 'refresh';
export interface ReuseComponentInstance {
_onReuseInit: (type: ReuseHookOnReuseInitType) => void;
_onReuseDestroy: () => void;
destroy: () => void;
}