diff --git a/packages/locale/lang/en.d.ts b/packages/locale/lang/en.d.ts index 5070bab2d..52ab7ad64 100644 --- a/packages/locale/lang/en.d.ts +++ b/packages/locale/lang/en.d.ts @@ -1,6 +1,8 @@ +import Language from './language' + /** * English */ -export class en {} +declare const en: Language export default en \ No newline at end of file diff --git a/packages/locale/lang/ja.d.ts b/packages/locale/lang/ja.d.ts index ab2b56cfb..72991e9f1 100644 --- a/packages/locale/lang/ja.d.ts +++ b/packages/locale/lang/ja.d.ts @@ -1,6 +1,8 @@ +import Language from './language' + /** * ジャパン */ -export class ja {} +declare const ja: Language export default ja \ No newline at end of file diff --git a/packages/locale/lang/language.d.ts b/packages/locale/lang/language.d.ts new file mode 100644 index 000000000..25b7735eb --- /dev/null +++ b/packages/locale/lang/language.d.ts @@ -0,0 +1,5 @@ +export interface Language { + [propName: string]: any; +} + +export default Language \ No newline at end of file diff --git a/packages/locale/lang/zh-CN.d.ts b/packages/locale/lang/zh-CN.d.ts index 5f3b7f90e..7fd12cb5c 100644 --- a/packages/locale/lang/zh-CN.d.ts +++ b/packages/locale/lang/zh-CN.d.ts @@ -1,6 +1,8 @@ +import Language from './language' + /** * 简体中文 */ -export class zh_CN {} +declare const zh_CN: Language export default zh_CN \ No newline at end of file diff --git a/packages/locale/lang/zh_TW.d.ts b/packages/locale/lang/zh_TW.d.ts index cb412fb60..238db51c7 100644 --- a/packages/locale/lang/zh_TW.d.ts +++ b/packages/locale/lang/zh_TW.d.ts @@ -1,6 +1,8 @@ +import Language from './language' + /** * 繁体中文 */ -export class zh_TW {} +declare const zh_TW: Language export default zh_TW \ No newline at end of file diff --git a/packages/vxe-table.d.ts b/packages/vxe-table.d.ts new file mode 100644 index 000000000..7078b2101 --- /dev/null +++ b/packages/vxe-table.d.ts @@ -0,0 +1,156 @@ +export interface VXETableOptions { + showOverflow?: boolean; + showHeaderOverflow?: boolean; + resizeInterval?: number; + size?: string; + validConfig?: object; + resizable?: boolean; + stripe?: boolean; + border?: boolean; + fit?: boolean; + emptyCell?: string; + showHeader?: boolean; + rowId?: string; + version?: string | number; + optimization?: object; + icon?: object; + grid?: object; + menu?: object; + tooltip?: object; + pager?: object; + toolbar?: object; + message?: object; + i18n?(key: string, value: any): any; +} + +export interface Interceptor { + get(type: string): any; + add(type: string, callback: Function): Renderer; + delete(type: object): Renderer; +} + +export interface Renderer { + mixin(map: object): Renderer; + get(name: string): any; + add(name: string, options: object): Renderer; + delete(name: object): Renderer; +} + +export interface Menus { + mixin(map: object): Menus; + get(type: string): Function; + add(type: string, callback: Function): Menus; + delete(type: object): Menus; +} + +export interface Buttons { + mixin(map: object): Menus; + get(type: string): Function; + add(type: string, callback: Function): Menus; + delete(type: object): Menus; +} + +export interface PluginObject { + install(xTable: typeof VXETable): any; +} + +export function install(vue: any): void; +export function t(obj: object, key: string): string | number; +export function setup(options: VXETableOptions): any; +export function use(plugin: PluginObject, ...options: any[]): VXETableStatic; + +export const interceptor: Interceptor; +export const renderer: Renderer; +export const menus: Menus; +export const buttons: Buttons; + +export interface VXETableStatic { + install(vue: any): void; + Vue: any; + Table: any; + Grid: any; + /** + * Filter 模块的安装状态 + */ + _filter: number; + /** + * Menu 模块的安装状态 + */ + _menu: number; + /** + * Edit 模块的安装状态 + */ + _edit: number; + /** + * Validator 模块的安装状态 + */ + _valid: number; + /** + * Export 模块的安装状态 + */ + _export: number; + /** + * Keyboard 模块的安装状态 + */ + _keyboard: number; + /** + * Resize 模块的安装状态 + */ + _resize: number; + /** + * Modal 模块的安装状态 + */ + _modal: number; + /** + * Tooltip 模块的安装状态 + */ + _tooltip: number; + /** + * 版本号 + */ + v: string; + /** + * 国际化翻译 + */ + t(obj: object, key: string): string | number; + /** + * 设置全局参数 + * @param options 参数 + */ + setup(options: VXETableOptions): any; + /** + * 安装插件 + * @param plugin 插件 + * @param options 参数 + */ + use(plugin: PluginObject, ...options: any[]): VXETableStatic; + /** + * 拦截器 + */ + interceptor: Interceptor; + /** + * 渲染器 + */ + renderer: Renderer; + /** + * 全局工具栏按钮 + */ + buttons: Buttons; + /** + * 全局快捷菜单 + */ + menus: Menus; +} + +/** + * 一个简单实用的 Vue 表组件 + */ +export declare const VXETable: VXETableStatic; + +declare global { + interface Window { + VXETable: typeof VXETable; + } +} + +export default VXETable \ No newline at end of file diff --git a/types/column.d.ts b/types/column.d.ts index 2f9b73de0..3e5fb96ee 100644 --- a/types/column.d.ts +++ b/types/column.d.ts @@ -1,7 +1,7 @@ import { VXETableModule } from './module'; /** - * 表格列 + * 列 */ export declare class Column extends VXETableModule { /** diff --git a/types/keyboard.ts b/types/keyboard.d.ts similarity index 100% rename from types/keyboard.ts rename to types/keyboard.d.ts diff --git a/types/modal.ts b/types/modal.d.ts similarity index 100% rename from types/modal.ts rename to types/modal.d.ts