@visactor/openinula-vtable
Version:
The openinula version of VTable
81 lines (74 loc) • 4.15 kB
JavaScript
"use strict";
Object.defineProperty(exports, "__esModule", {
value: !0
}), exports.bindEventsToTable = exports.findEventProps = exports.TABLE_EVENTS_KEYS = exports.TABLE_EVENTS = void 0;
const vtable_1 = require("@visactor/vtable"), EVENT_TYPE = Object.assign(Object.assign(Object.assign({}, vtable_1.ListTable.EVENT_TYPE), vtable_1.PivotTable.EVENT_TYPE), vtable_1.PivotChart.EVENT_TYPE);
exports.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,
onSelectedClear: EVENT_TYPE.SELECTED_CLEAR,
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,
onResizeColumn: EVENT_TYPE.RESIZE_COLUMN,
onResizeColumnEnd: EVENT_TYPE.RESIZE_COLUMN_END,
onChangeHeaderPosition: EVENT_TYPE.CHANGE_HEADER_POSITION,
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,
onPivotSortClick: EVENT_TYPE.PIVOT_SORT_CLICK,
onDrillMenuClick: EVENT_TYPE.DRILLMENU_CLICK,
onVChartEventType: EVENT_TYPE.VCHART_EVENT_TYPE,
onChangCellValue: 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
}, exports.TABLE_EVENTS_KEYS = Object.keys(exports.TABLE_EVENTS);
const findEventProps = (props, supportedEvents = exports.TABLE_EVENTS) => {
const result = {};
return Object.keys(props).forEach((key => {
supportedEvents[key] && props[key] && (result[key] = props[key]);
})), result;
};
exports.findEventProps = findEventProps;
const bindEventsToTable = (table, newProps, prevProps, supportedEvents = exports.TABLE_EVENTS) => {
if (!newProps && !prevProps || !table) return !1;
const prevEventProps = prevProps ? (0, exports.findEventProps)(prevProps, supportedEvents) : null, newEventProps = newProps ? (0,
exports.findEventProps)(newProps, supportedEvents) : null;
return prevEventProps && Object.keys(prevEventProps).forEach((eventKey => {
newEventProps && newEventProps[eventKey] && newEventProps[eventKey] === prevEventProps[eventKey] || table.off(supportedEvents[eventKey], prevProps[eventKey]);
})), newEventProps && Object.keys(newEventProps).forEach((eventKey => {
prevEventProps && prevEventProps[eventKey] && prevEventProps[eventKey] === newEventProps[eventKey] || table.on(supportedEvents[eventKey], newEventProps[eventKey]);
})), !0;
};
exports.bindEventsToTable = bindEventsToTable;
//# sourceMappingURL=eventsUtils.js.map