UNPKG

@ohayojp.com/components

Version:

Common business components of ohayojp.

103 lines (102 loc) 3 kB
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; }