UNPKG

@visactor/vue-vtable

Version:
106 lines (102 loc) 4.61 kB
'use strict'; var VTable = require('@visactor/vtable'); const EVENT_TYPE = Object.assign(Object.assign(Object.assign({}, VTable.ListTable.EVENT_TYPE), VTable.PivotTable.EVENT_TYPE), VTable.PivotChart.EVENT_TYPE); const TABLE_EVENTS = { onClickCell: EVENT_TYPE.CLICK_CELL, onDblClickCell: EVENT_TYPE.DBLCLICK_CELL, onMouseDownCell: EVENT_TYPE.MOUSEDOWN_CELL, onMouseUpCell: EVENT_TYPE.MOUSEUP_CELL, onSelectedCell: EVENT_TYPE.SELECTED_CELL, onKeyDown: EVENT_TYPE.KEYDOWN, onMouseEnterTable: EVENT_TYPE.MOUSEENTER_TABLE, onMouseLeaveTable: EVENT_TYPE.MOUSELEAVE_TABLE, onMouseDownTable: EVENT_TYPE.MOUSEDOWN_TABLE, onMouseMoveCell: EVENT_TYPE.MOUSEMOVE_CELL, onMouseEnterCell: EVENT_TYPE.MOUSEENTER_CELL, onMouseLeaveCell: EVENT_TYPE.MOUSELEAVE_CELL, onContextMenuCell: EVENT_TYPE.CONTEXTMENU_CELL, onContextMenuCanvas: EVENT_TYPE.CONTEXTMENU_CANVAS, onResizeColumn: EVENT_TYPE.RESIZE_COLUMN, onResizeColumnEnd: EVENT_TYPE.RESIZE_COLUMN_END, onChangeHeaderPosition: EVENT_TYPE.CHANGE_HEADER_POSITION, onChangeHeaderPositionStart: EVENT_TYPE.CHANGE_HEADER_POSITION_START, onChangeHeaderPositionFail: EVENT_TYPE.CHANGE_HEADER_POSITION_FAIL, onSortClick: EVENT_TYPE.SORT_CLICK, onFreezeClick: EVENT_TYPE.FREEZE_CLICK, onScroll: EVENT_TYPE.SCROLL, onDropdownMenuClick: EVENT_TYPE.DROPDOWN_MENU_CLICK, onMouseOverChartSymbol: EVENT_TYPE.MOUSEOVER_CHART_SYMBOL, onDragSelectEnd: EVENT_TYPE.DRAG_SELECT_END, onDropdownIconClick: EVENT_TYPE.DROPDOWN_ICON_CLICK, onDropdownMenuClear: EVENT_TYPE.DROPDOWN_MENU_CLEAR, onTreeHierarchyStateChange: EVENT_TYPE.TREE_HIERARCHY_STATE_CHANGE, onShowMenu: EVENT_TYPE.SHOW_MENU, onHideMenu: EVENT_TYPE.HIDE_MENU, onIconClick: EVENT_TYPE.ICON_CLICK, onLegendItemClick: EVENT_TYPE.LEGEND_ITEM_CLICK, onLegendItemHover: EVENT_TYPE.LEGEND_ITEM_HOVER, onLegendItemUnHover: EVENT_TYPE.LEGEND_ITEM_UNHOVER, onLegendChange: EVENT_TYPE.LEGEND_CHANGE, onMouseEnterAxis: EVENT_TYPE.MOUSEENTER_AXIS, onMouseLeaveAxis: EVENT_TYPE.MOUSELEAVE_AXIS, onCheckboxStateChange: EVENT_TYPE.CHECKBOX_STATE_CHANGE, onRadioStateChange: EVENT_TYPE.RADIO_STATE_CHANGE, onAfterRender: EVENT_TYPE.AFTER_RENDER, onInitialized: EVENT_TYPE.INITIALIZED, // pivot table only onPivotSortClick: EVENT_TYPE.PIVOT_SORT_CLICK, onDrillMenuClick: EVENT_TYPE.DRILLMENU_CLICK, // pivot chart only onVChartEventType: EVENT_TYPE.VCHART_EVENT_TYPE, onChangeCellValue: EVENT_TYPE.CHANGE_CELL_VALUE, onMousedownFillHandle: EVENT_TYPE.MOUSEDOWN_FILL_HANDLE, onDragFillHandleEnd: EVENT_TYPE.DRAG_FILL_HANDLE_END, onDblclickFillHandle: EVENT_TYPE.DBLCLICK_FILL_HANDLE, onScrollVerticalEnd: EVENT_TYPE.SCROLL_VERTICAL_END, onScrollHorizontalEnd: EVENT_TYPE.SCROLL_HORIZONTAL_END, onChangCellValue: EVENT_TYPE.CHANGE_CELL_VALUE, onEmptyTipClick: EVENT_TYPE.EMPTY_TIP_CLICK, onEmptyTipDblClick: EVENT_TYPE.EMPTY_TIP_DBLCLICK, onButtonClick: EVENT_TYPE.BUTTON_CLICK, onBeforeCacheChartImage: EVENT_TYPE.BEFORE_CACHE_CHART_IMAGE, onPastedData: EVENT_TYPE.PASTED_DATA, onSelectedClear: EVENT_TYPE.SELECTED_CLEAR }; const TABLE_EVENTS_KEYS = Object.keys(TABLE_EVENTS); // export const findEventProps = <T extends EventsProps>( // props: T, // supportedEvents: Record<string, string> = TABLE_EVENTS // ): EventsProps => { // const result: EventsProps = {}; // Object.keys(props).forEach(key => { // if (supportedEvents[key] && props[key]) { // result[key] = props[key]; // } // }); // return result; // }; // export const bindEventsToTable = <T>( // table: IVTable, // newProps?: T | null, // prevProps?: T | null, // supportedEvents: Record<string, string> = TABLE_EVENTS // ) => { // if (!table) return false; // const prevEventProps = prevProps ? findEventProps(prevProps, supportedEvents) : {}; // const newEventProps = newProps ? findEventProps(newProps, supportedEvents) : {}; // Object.keys(supportedEvents).forEach(eventKey => { // const prevHandler = prevEventProps[eventKey]; // const newHandler = newEventProps[eventKey]; // if (prevHandler !== newHandler) { // if (prevHandler) { // table.off(supportedEvents[eventKey], prevHandler); // } // if (newHandler) { // table.on(supportedEvents[eventKey] as keyof TYPES.TableEventHandlersEventArgumentMap, newHandler); // } // } // }); // return true; // }; exports.TABLE_EVENTS = TABLE_EVENTS; exports.TABLE_EVENTS_KEYS = TABLE_EVENTS_KEYS;