e-virt-table
Version:
A powerful data table based on canvas. You can use it as data grid、Microsoft Excel or Google sheets. It supports virtual scroll、cell edit etc.
1,200 lines • 39 kB
JavaScript
import { getCssVar } from './util';
export default class Config {
constructor(config) {
Object.defineProperty(this, "_config", {
enumerable: true,
configurable: true,
writable: true,
value: {}
});
/** CSS 类名前缀 */
Object.defineProperty(this, "CSS_PREFIX", {
enumerable: true,
configurable: true,
writable: true,
value: 'e-virt-table'
});
/** 图标集合 */
Object.defineProperty(this, "ICONS", {
enumerable: true,
configurable: true,
writable: true,
value: []
});
/** 行的唯一标识键 */
Object.defineProperty(this, "ROW_KEY", {
enumerable: true,
configurable: true,
writable: true,
value: ''
});
/** 禁用编辑,优先等级最高 */
Object.defineProperty(this, "DISABLED", {
enumerable: true,
configurable: true,
writable: true,
value: false
});
/** 表头字体 */
Object.defineProperty(this, "HEADER_FONT", {
enumerable: true,
configurable: true,
writable: true,
value: '12px normal Arial'
});
/** 单元格字体 */
Object.defineProperty(this, "BODY_FONT", {
enumerable: true,
configurable: true,
writable: true,
value: '12px normal Arial'
});
/** 边框 */
Object.defineProperty(this, "BORDER", {
enumerable: true,
configurable: true,
writable: true,
value: true
});
/** 斑马纹 */
Object.defineProperty(this, "STRIPE", {
enumerable: true,
configurable: true,
writable: true,
value: false
});
/** 斑马纹颜色 */
Object.defineProperty(this, "STRIPE_COLOR", {
enumerable: true,
configurable: true,
writable: true,
value: '#fafafa'
});
/** 区域边框颜色 */
Object.defineProperty(this, "BORDER_COLOR", {
enumerable: true,
configurable: true,
writable: true,
value: '#e1e6eb'
});
/** 高度,为 0 表示自适应 */
Object.defineProperty(this, "HEIGHT", {
enumerable: true,
configurable: true,
writable: true,
value: 0
});
/** 占位文本颜色 */
Object.defineProperty(this, "PLACEHOLDER_COLOR", {
enumerable: true,
configurable: true,
writable: true,
value: '#CDD0DC'
});
/** 空数据 body 高度 */
Object.defineProperty(this, "EMPTY_BODY_HEIGHT", {
enumerable: true,
configurable: true,
writable: true,
value: 120
});
/** 自定义空样式 */
Object.defineProperty(this, "EMPTY_CUSTOM_STYLE", {
enumerable: true,
configurable: true,
writable: true,
value: {}
});
/** 空数据文本 */
Object.defineProperty(this, "EMPTY_TEXT", {
enumerable: true,
configurable: true,
writable: true,
value: '暂无数据'
});
/** 加载文本 */
Object.defineProperty(this, "LOADING_TEXT", {
enumerable: true,
configurable: true,
writable: true,
value: '加载中...'
});
/** 最大高度,为 0 表示自适应高度根据 HEIGHT */
Object.defineProperty(this, "MAX_HEIGHT", {
enumerable: true,
configurable: true,
writable: true,
value: 1000
});
/** 区域边框圆角 */
Object.defineProperty(this, "BORDER_RADIUS", {
enumerable: true,
configurable: true,
writable: true,
value: 8
});
/** 启用偏移高度内部计算表格高度 */
Object.defineProperty(this, "ENABLE_OFFSET_HEIGHT", {
enumerable: true,
configurable: true,
writable: true,
value: false
});
/** 偏移高度 */
Object.defineProperty(this, "OFFSET_HEIGHT", {
enumerable: true,
configurable: true,
writable: true,
value: 0
});
/** 表头高度 */
Object.defineProperty(this, "HEADER_HEIGHT", {
enumerable: true,
configurable: true,
writable: true,
value: 36
});
/** 启用头部固定,需要外面实现覆盖层,或者所有表头都要是元素 */
Object.defineProperty(this, "ENABLE_HEADER_STICKY", {
enumerable: true,
configurable: true,
writable: true,
value: false
});
/** 表头背景色 */
Object.defineProperty(this, "HEADER_BG_COLOR", {
enumerable: true,
configurable: true,
writable: true,
value: '#F8FAFF'
});
/** body 背景色 */
Object.defineProperty(this, "BODY_BG_COLOR", {
enumerable: true,
configurable: true,
writable: true,
value: '#FFF'
});
/** 表头文本颜色 */
Object.defineProperty(this, "HEADER_TEXT_COLOR", {
enumerable: true,
configurable: true,
writable: true,
value: '#1D2129'
});
/** 必填*颜色 */
Object.defineProperty(this, "REQUIRED_COLOR", {
enumerable: true,
configurable: true,
writable: true,
value: '#F56C6C'
});
/** body文本颜色 */
Object.defineProperty(this, "BODY_TEXT_COLOR", {
enumerable: true,
configurable: true,
writable: true,
value: '#4E5969'
});
/** footer文本颜色 */
Object.defineProperty(this, "FOOTER_TEXT_COLOR", {
enumerable: true,
configurable: true,
writable: true,
value: '#4E5969'
});
/** 加载 svg 图标 */
Object.defineProperty(this, "LOADING_ICON_SVG", {
enumerable: true,
configurable: true,
writable: true,
value: ''
});
/** 加载 svg 图标颜色 */
Object.defineProperty(this, "LOADING_ICON_COLOR", {
enumerable: true,
configurable: true,
writable: true,
value: '#4E5969'
});
/** 树形展开svg 图标 */
Object.defineProperty(this, "EXPAND_ICON_SVG", {
enumerable: true,
configurable: true,
writable: true,
value: ''
});
/** 树形收缩svg 图标 */
Object.defineProperty(this, "SHRINK_ICON_SVG", {
enumerable: true,
configurable: true,
writable: true,
value: ''
});
/** 展开图标颜色 */
Object.defineProperty(this, "EXPAND_ICON_COLOR", {
enumerable: true,
configurable: true,
writable: true,
value: '#4E5969'
});
/** 收缩图标颜色 */
Object.defineProperty(this, "SHRINK_ICON_COLOR", {
enumerable: true,
configurable: true,
writable: true,
value: '#4E5969'
});
/** 错误提示颜色 */
Object.defineProperty(this, "ERROR_TIP_ICON_COLOR", {
enumerable: true,
configurable: true,
writable: true,
value: 'red'
});
/** 错误提示图标大小 */
Object.defineProperty(this, "ERROR_TIP_ICON_SIZE", {
enumerable: true,
configurable: true,
writable: true,
value: 6
});
/** 所有列对齐方式 */
Object.defineProperty(this, "COLUMNS_ALIGN", {
enumerable: true,
configurable: true,
writable: true,
value: 'left'
});
/** 所有列垂直对齐方式 */
Object.defineProperty(this, "COLUMNS_VERTICAL_ALIGN", {
enumerable: true,
configurable: true,
writable: true,
value: 'middle'
});
/** 是否开启懒加载 */
Object.defineProperty(this, "EXPAND_LAZY", {
enumerable: true,
configurable: true,
writable: true,
value: true
});
/** 默认展开全部 */
Object.defineProperty(this, "DEFAULT_EXPAND_ALL", {
enumerable: true,
configurable: true,
writable: true,
value: false
});
/** 表格 body 部分的宽度 */
Object.defineProperty(this, "CELL_WIDTH", {
enumerable: true,
configurable: true,
writable: true,
value: 100
});
/** body 单元格默认行高 */
Object.defineProperty(this, "CELL_HEIGHT", {
enumerable: true,
configurable: true,
writable: true,
value: 36
});
/** 表格 body 部分的 padding */
Object.defineProperty(this, "CELL_PADDING", {
enumerable: true,
configurable: true,
writable: true,
value: 8
});
/** hover编辑图标大小 */
Object.defineProperty(this, "CELL_HOVER_ICON_SIZE", {
enumerable: true,
configurable: true,
writable: true,
value: 14
});
/** hover编辑图标背景色 */
Object.defineProperty(this, "CELL_HOVER_ICON_BG_COLOR", {
enumerable: true,
configurable: true,
writable: true,
value: '#fff'
});
/** hover编辑图标边框颜色 */
Object.defineProperty(this, "CELL_HOVER_ICON_BORDER_COLOR", {
enumerable: true,
configurable: true,
writable: true,
value: '#DDE0EA'
});
/** 滚动条轨道尺寸 */
Object.defineProperty(this, "SCROLLER_TRACK_SIZE", {
enumerable: true,
configurable: true,
writable: true,
value: 14
});
/** 滚动条滑块尺寸 */
Object.defineProperty(this, "SCROLLER_SIZE", {
enumerable: true,
configurable: true,
writable: true,
value: 8
});
/** 滚动条滑块颜色 */
Object.defineProperty(this, "SCROLLER_COLOR", {
enumerable: true,
configurable: true,
writable: true,
value: '#dee0e3'
});
/** 轨道颜色 */
Object.defineProperty(this, "SCROLLER_TRACK_COLOR", {
enumerable: true,
configurable: true,
writable: true,
value: '#fff'
});
/** 滚动条滑块聚焦时的颜色 */
Object.defineProperty(this, "SCROLLER_FOCUS_COLOR", {
enumerable: true,
configurable: true,
writable: true,
value: '#bbbec4'
});
/** 选中区域边框颜色 */
Object.defineProperty(this, "SELECT_BORDER_COLOR", {
enumerable: true,
configurable: true,
writable: true,
value: 'rgb(82,146,247)'
});
/** 选中区域背景颜色 */
Object.defineProperty(this, "SELECT_AREA_COLOR", {
enumerable: true,
configurable: true,
writable: true,
value: 'rgba(82,146,247,0.1)'
});
/** 当前焦点单元格所在行、列的背景色 */
Object.defineProperty(this, "SELECT_ROW_COL_BG_COLOR", {
enumerable: true,
configurable: true,
writable: true,
value: 'transparent'
});
/** 填充点的边框颜色 */
Object.defineProperty(this, "AUTOFILL_POINT_BORDER_COLOR", {
enumerable: true,
configurable: true,
writable: true,
value: '#fff'
});
/** 可编辑背景色 */
Object.defineProperty(this, "EDIT_BG_COLOR", {
enumerable: true,
configurable: true,
writable: true,
value: '#fcf6ed'
});
/** 选择 key,合并时用 */
Object.defineProperty(this, "CHECKBOX_KEY", {
enumerable: true,
configurable: true,
writable: true,
value: ''
});
/** 选择框颜色 */
Object.defineProperty(this, "CHECKBOX_COLOR", {
enumerable: true,
configurable: true,
writable: true,
value: 'rgb(82,146,247)'
});
/** 查找结果当前行颜色 */
Object.defineProperty(this, "FINDER_CELL_BG_COLOR", {
enumerable: true,
configurable: true,
writable: true,
value: 'rgb(255,229,144)'
});
/** 启用查找 */
Object.defineProperty(this, "ENABLE_FINDER", {
enumerable: true,
configurable: true,
writable: true,
value: true
});
/** 选择框大小 */
Object.defineProperty(this, "CHECKBOX_SIZE", {
enumerable: true,
configurable: true,
writable: true,
value: 20
});
/** 选择框禁用图标 */
Object.defineProperty(this, "CHECKBOX_DISABLED_SVG", {
enumerable: true,
configurable: true,
writable: true,
value: ''
});
/** 选择框禁用图标颜色 */
Object.defineProperty(this, "CHECKBOX_DISABLED_COLOR", {
enumerable: true,
configurable: true,
writable: true,
value: '#F1F2F4'
});
/** 选择框选中图标 */
Object.defineProperty(this, "CHECKBOX_CHECK_SVG", {
enumerable: true,
configurable: true,
writable: true,
value: ''
});
/** 选择框未中图标 */
Object.defineProperty(this, "CHECKBOX_UNCHECK_SVG", {
enumerable: true,
configurable: true,
writable: true,
value: ''
});
/** 选择框未中图标颜色 */
Object.defineProperty(this, "CHECKBOX_UNCHECK_COLOR", {
enumerable: true,
configurable: true,
writable: true,
value: '#DDE0EA'
});
/** 选择框半选中图标 */
Object.defineProperty(this, "CHECKBOX_INDETERMINATE_SVG", {
enumerable: true,
configurable: true,
writable: true,
value: ''
});
/** 选择框选中禁用图标 */
Object.defineProperty(this, "CHECKBOX_CHECK_DISABLED_SVG", {
enumerable: true,
configurable: true,
writable: true,
value: ''
});
/** 选择框选中禁用图标颜色 */
Object.defineProperty(this, "CHECKBOX_CHECK_DISABLED_COLOR", {
enumerable: true,
configurable: true,
writable: true,
value: '#DDE0EA'
});
/** 编辑图标 */
Object.defineProperty(this, "ICON_EDIT_SVG", {
enumerable: true,
configurable: true,
writable: true,
value: ''
});
/** 编辑图标颜色 */
Object.defineProperty(this, "ICON_EDIT_COLOR", {
enumerable: true,
configurable: true,
writable: true,
value: '#4E5969'
});
/** 选择图标 */
Object.defineProperty(this, "ICON_SELECT_SVG", {
enumerable: true,
configurable: true,
writable: true,
value: ''
});
/** 选择图标颜色 */
Object.defineProperty(this, "ICON_SELECT_COLOR", {
enumerable: true,
configurable: true,
writable: true,
value: '#4E5969'
});
/** 启用严格排序,即不支持多列排序 */
Object.defineProperty(this, "SORT_STRICTLY", {
enumerable: true,
configurable: true,
writable: true,
value: true
});
/** 排序升序图标 */
Object.defineProperty(this, "SORT_ASC_ICON_SVG", {
enumerable: true,
configurable: true,
writable: true,
value: ''
});
/** 排序降序图标 */
Object.defineProperty(this, "SORT_DESC_ICON_SVG", {
enumerable: true,
configurable: true,
writable: true,
value: ''
});
/** 排序默认图标 */
Object.defineProperty(this, "SORTABLE_ICON_SVG", {
enumerable: true,
configurable: true,
writable: true,
value: ''
});
/** 排序图标颜色 */
Object.defineProperty(this, "SORT_ICON_COLOR", {
enumerable: true,
configurable: true,
writable: true,
value: 'rgb(82,146,247)'
});
/** 单元格只读背景色 */
Object.defineProperty(this, "READONLY_COLOR", {
enumerable: true,
configurable: true,
writable: true,
value: '#fff'
});
/** 单元格只读文本颜色 */
Object.defineProperty(this, "READONLY_TEXT_COLOR", {
enumerable: true,
configurable: true,
writable: true,
value: '#4E5969'
});
/** 单元格错误提示文本颜色 */
Object.defineProperty(this, "ERROR_TIP_COLOR", {
enumerable: true,
configurable: true,
writable: true,
value: '#ED3F14'
});
/** 合计底部背景色 */
Object.defineProperty(this, "FOOTER_BG_COLOR", {
enumerable: true,
configurable: true,
writable: true,
value: '#fafafa'
});
/** 合计底部固定 */
Object.defineProperty(this, "FOOTER_FIXED", {
enumerable: true,
configurable: true,
writable: true,
value: true
});
/** 合计底部位置 */
Object.defineProperty(this, "FOOTER_POSITION", {
enumerable: true,
configurable: true,
writable: true,
value: 'bottom'
});
/** 单元格底部高度 */
Object.defineProperty(this, "CELL_FOOTER_HEIGHT", {
enumerable: true,
configurable: true,
writable: true,
value: 36
});
/** 启用选择器 */
Object.defineProperty(this, "ENABLE_SELECTOR", {
enumerable: true,
configurable: true,
writable: true,
value: true
});
/** 树形选择模式 */
Object.defineProperty(this, "TREE_SELECT_MODE", {
enumerable: true,
configurable: true,
writable: true,
value: 'auto'
});
/** 树形子项key名称 */
Object.defineProperty(this, "TREE_CHILDREN_KEY", {
enumerable: true,
configurable: true,
writable: true,
value: 'children'
});
/** 树形缩进宽度 */
Object.defineProperty(this, "TREE_INDENT", {
enumerable: true,
configurable: true,
writable: true,
value: 20
});
/** 树形图标大小 */
Object.defineProperty(this, "TREE_ICON_SIZE", {
enumerable: true,
configurable: true,
writable: true,
value: 20
});
/**树形划线 */
Object.defineProperty(this, "TREE_LINE", {
enumerable: true,
configurable: true,
writable: true,
value: false
});
/** 树形划线颜色 */
Object.defineProperty(this, "TREE_LINE_COLOR", {
enumerable: true,
configurable: true,
writable: true,
value: '#e1e6eb'
});
/** 启用单点击立马编辑 */
Object.defineProperty(this, "ENABLE_EDIT_SINGLE_CLICK", {
enumerable: true,
configurable: true,
writable: true,
value: false
});
/** 启用点击选择器编辑 */
Object.defineProperty(this, "ENABLE_EDIT_CLICK_SELECTOR", {
enumerable: true,
configurable: true,
writable: true,
value: true
});
/** 选择器X最小范围 */
Object.defineProperty(this, "SELECTOR_AREA_MIN_X", {
enumerable: true,
configurable: true,
writable: true,
value: 0
});
/** 选择器X最大范围colMax - offset */
Object.defineProperty(this, "SELECTOR_AREA_MAX_X_OFFSET", {
enumerable: true,
configurable: true,
writable: true,
value: 0
});
/** 选择器X最大范围,0默认最大colMax */
Object.defineProperty(this, "SELECTOR_AREA_MAX_X", {
enumerable: true,
configurable: true,
writable: true,
value: 0
});
/** 选择器Y最小范围 */
Object.defineProperty(this, "SELECTOR_AREA_MIN_Y", {
enumerable: true,
configurable: true,
writable: true,
value: 0
});
/** 选择器Y最大范围,0默认rowMax */
Object.defineProperty(this, "SELECTOR_AREA_MAX_Y", {
enumerable: true,
configurable: true,
writable: true,
value: 0
});
/** 选择器Y最大范围,0默认rowMax */
Object.defineProperty(this, "SELECTOR_AREA_MAX_Y_OFFSET", {
enumerable: true,
configurable: true,
writable: true,
value: 0
});
/** 选择器值类型,value,displayText,区别displayText受format影响 */
Object.defineProperty(this, "SELECTOR_CELL_VALUE_TYPE", {
enumerable: true,
configurable: true,
writable: true,
value: 'value'
}); // displayText | value
/** 启用自动主题 */
Object.defineProperty(this, "ENABLE_AUTO_THEME", {
enumerable: true,
configurable: true,
writable: true,
value: true
});
/** 启用选择器-选择器单选 */
Object.defineProperty(this, "ENABLE_SELECTOR_SINGLE", {
enumerable: true,
configurable: true,
writable: true,
value: false
});
/** 启用选择器-批量跨列选择 */
Object.defineProperty(this, "ENABLE_SELECTOR_SPAN_COL", {
enumerable: true,
configurable: true,
writable: true,
value: true
});
/** 启用选择器-批量跨行选择 */
Object.defineProperty(this, "ENABLE_SELECTOR_SPAN_ROW", {
enumerable: true,
configurable: true,
writable: true,
value: true
});
/** 启用选择器-批量选中列 */
Object.defineProperty(this, "ENABLE_SELECTOR_ALL_ROWS", {
enumerable: true,
configurable: true,
writable: true,
value: true
});
/** 启用选择器-批量选中行 */
Object.defineProperty(this, "ENABLE_SELECTOR_ALL_COLS", {
enumerable: true,
configurable: true,
writable: true,
value: true
});
/** 启用合并格子数据关联 */
Object.defineProperty(this, "ENABLE_MERGE_CELL_LINK", {
enumerable: true,
configurable: true,
writable: true,
value: false
});
/** 启用填充器 */
Object.defineProperty(this, "ENABLE_AUTOFILL", {
enumerable: true,
configurable: true,
writable: true,
value: false
});
/** 启用选择器-批量跨列选择 */
Object.defineProperty(this, "ENABLE_AUTOFILL_SPAN_COL", {
enumerable: true,
configurable: true,
writable: true,
value: true
});
/** 启用选择器-批量跨行选择 */
Object.defineProperty(this, "ENABLE_AUTOFILL_SPAN_ROW", {
enumerable: true,
configurable: true,
writable: true,
value: true
});
/** 启用body右键菜单 */
Object.defineProperty(this, "ENABLE_CONTEXT_MENU", {
enumerable: true,
configurable: true,
writable: true,
value: false
});
/** 启用表头右键菜单 */
Object.defineProperty(this, "ENABLE_HEADER_CONTEXT_MENU", {
enumerable: true,
configurable: true,
writable: true,
value: false
});
/** 启用复制 */
Object.defineProperty(this, "ENABLE_COPY", {
enumerable: true,
configurable: true,
writable: true,
value: true
});
/** 启用粘贴 */
Object.defineProperty(this, "ENABLE_PASTER", {
enumerable: true,
configurable: true,
writable: true,
value: true
});
/** 启用调整行高 */
Object.defineProperty(this, "ENABLE_RESIZE_ROW", {
enumerable: true,
configurable: true,
writable: true,
value: true
});
/** 启用列宽可调整 */
Object.defineProperty(this, "ENABLE_RESIZE_COLUMN", {
enumerable: true,
configurable: true,
writable: true,
value: true
});
/** 行调整线颜色 */
Object.defineProperty(this, "RESIZE_ROW_LINE_COLOR", {
enumerable: true,
configurable: true,
writable: true,
value: '#e1e6eb'
});
/** 列调整线颜色 */
Object.defineProperty(this, "RESIZE_COLUMN_LINE_COLOR", {
enumerable: true,
configurable: true,
writable: true,
value: '#e1e6eb'
});
/** 启用列调整文本 */
Object.defineProperty(this, "ENABLE_RESIZE_COLUMN_TEXT", {
enumerable: true,
configurable: true,
writable: true,
value: true
});
/** 列调整线颜色 */
Object.defineProperty(this, "RESIZE_COLUMN_TEXT_COLOR", {
enumerable: true,
configurable: true,
writable: true,
value: '#fff'
});
/** 列调整线文本背景色 */
Object.defineProperty(this, "RESIZE_COLUMN_TEXT_BG_COLOR", {
enumerable: true,
configurable: true,
writable: true,
value: 'rgb(82,146,247)'
});
/** 最小调整行高 */
Object.defineProperty(this, "RESIZE_ROW_MIN_HEIGHT", {
enumerable: true,
configurable: true,
writable: true,
value: 36
});
/** 列宽最小值 */
Object.defineProperty(this, "RESIZE_COLUMN_MIN_WIDTH", {
enumerable: true,
configurable: true,
writable: true,
value: 40
});
/** 拖拽提示背景色 */
Object.defineProperty(this, "DRAG_TIP_BG_COLOR", {
enumerable: true,
configurable: true,
writable: true,
value: 'rgba(82,146,247,0.1)'
});
/** 拖拽提示线颜色 */
Object.defineProperty(this, "DRAG_TIP_LINE_COLOR", {
enumerable: true,
configurable: true,
writable: true,
value: 'rgb(82,146,247)'
});
/** 拖拽提示文本颜色 */
/** 启用键盘 */
Object.defineProperty(this, "ENABLE_KEYBOARD", {
enumerable: true,
configurable: true,
writable: true,
value: true
});
/** 启用历史 */
Object.defineProperty(this, "ENABLE_HISTORY", {
enumerable: true,
configurable: true,
writable: true,
value: false
});
Object.defineProperty(this, "ENABLE_VALIDATOR_IMMEDIATE", {
enumerable: true,
configurable: true,
writable: true,
value: true
});
/** 历史栈数量 */
Object.defineProperty(this, "HISTORY_NUM", {
enumerable: true,
configurable: true,
writable: true,
value: 50
});
/** 启用悬浮高亮 */
Object.defineProperty(this, "HIGHLIGHT_HOVER_ROW", {
enumerable: true,
configurable: true,
writable: true,
value: false
});
/** 悬浮颜色 */
Object.defineProperty(this, "HIGHLIGHT_HOVER_ROW_COLOR", {
enumerable: true,
configurable: true,
writable: true,
value: 'rgba(186,203,231,0.1)'
});
/** 高亮选中当前行 */
Object.defineProperty(this, "HIGHLIGHT_SELECTED_ROW", {
enumerable: true,
configurable: true,
writable: true,
value: false
});
/** 高亮当前行颜色 */
Object.defineProperty(this, "HIGHLIGHT_SELECTED_ROW_COLOR", {
enumerable: true,
configurable: true,
writable: true,
value: 'rgba(82,146,247,0.1)'
});
/** 提示背景颜色 */
Object.defineProperty(this, "TOOLTIP_BG_COLOR", {
enumerable: true,
configurable: true,
writable: true,
value: '#303133'
});
/** 提示文本颜色 */
Object.defineProperty(this, "TOOLTIP_TEXT_COLOR", {
enumerable: true,
configurable: true,
writable: true,
value: '#fff'
});
/** 提示层级 */
Object.defineProperty(this, "TOOLTIP_ZINDEX", {
enumerable: true,
configurable: true,
writable: true,
value: 3000
});
/** 自定义提示样式 */
Object.defineProperty(this, "TOOLTIP_CUSTOM_STYLE", {
enumerable: true,
configurable: true,
writable: true,
value: {}
});
/** 自定义右键菜单 */
Object.defineProperty(this, "CONTEXT_MENU", {
enumerable: true,
configurable: true,
writable: true,
value: [
{ label: '复制', value: 'copy' },
{ label: '剪切', value: 'cut' },
{ label: '粘贴', value: 'paste' },
{ label: '清空选中内容', value: 'clearSelected' },
]
});
Object.defineProperty(this, "CUSTOM_BODY_CONTEXT_MENU", {
enumerable: true,
configurable: true,
writable: true,
value: []
});
Object.defineProperty(this, "HEADER_CONTEXT_MENU", {
enumerable: true,
configurable: true,
writable: true,
value: [
{ label: '左固定', value: 'fixedLeft' },
{ label: '右固定', value: 'fixedRight' },
{ label: '取消固定', value: 'fixedNone' },
{ label: '隐藏', value: 'hide' },
{
label: '显示',
value: 'visible',
},
{ label: '恢复默认', value: 'resetHeader' },
]
});
Object.defineProperty(this, "CUSTOM_HEADER_CONTEXT_MENU", {
enumerable: true,
configurable: true,
writable: true,
value: []
});
/** 格子多行文本行高,isAutoRowHeight才会生效 */
Object.defineProperty(this, "CELL_LINE_HEIGHT", {
enumerable: true,
configurable: true,
writable: true,
value: 1.3
});
/** 全局自动行高 */
Object.defineProperty(this, "AUTO_ROW_HEIGHT", {
enumerable: true,
configurable: true,
writable: true,
value: false
});
/** 记录最大行高(开启后横向滚动不会导致行高变小) */
Object.defineProperty(this, "REMEMBER_MAX_ROW_HEIGHT", {
enumerable: true,
configurable: true,
writable: true,
value: false
});
/** 启用拖拽表头 */
Object.defineProperty(this, "ENABLE_DRAG_COLUMN", {
enumerable: true,
configurable: true,
writable: true,
value: false
});
/** header 格子样式 */
Object.defineProperty(this, "HEADER_CELL_STYLE_METHOD", {
enumerable: true,
configurable: true,
writable: true,
value: void 0
});
/** body 格子样式 */
Object.defineProperty(this, "BODY_CELL_STYLE_METHOD", {
enumerable: true,
configurable: true,
writable: true,
value: void 0
});
/** footer 格子样式 */
Object.defineProperty(this, "FOOTER_CELL_STYLE_METHOD", {
enumerable: true,
configurable: true,
writable: true,
value: void 0
});
/** 自定义只读 */
Object.defineProperty(this, "BODY_CELL_READONLY_METHOD", {
enumerable: true,
configurable: true,
writable: true,
value: void 0
});
/** 格式化方法更改(formatter优先等级比较高) */
Object.defineProperty(this, "BODY_CELL_FORMATTER_METHOD", {
enumerable: true,
configurable: true,
writable: true,
value: void 0
});
/** 自定义校验规则 */
Object.defineProperty(this, "BODY_CELL_RULES_METHOD", {
enumerable: true,
configurable: true,
writable: true,
value: void 0
});
/** 自定义只读 */
Object.defineProperty(this, "BODY_CELL_TYPE_METHOD", {
enumerable: true,
configurable: true,
writable: true,
value: void 0
});
/** 自定义编辑器类型 */
Object.defineProperty(this, "BODY_CELL_EDITOR_METHOD", {
enumerable: true,
configurable: true,
writable: true,
value: void 0
});
/** 自定义只读 */
Object.defineProperty(this, "BODY_CELL_RENDER_METHOD", {
enumerable: true,
configurable: true,
writable: true,
value: void 0
});
/** 自定义只读 */
Object.defineProperty(this, "BODY_CELL_HOVER_ICON_METHOD", {
enumerable: true,
configurable: true,
writable: true,
value: void 0
});
/** 自定义跨列/行渲染 */
Object.defineProperty(this, "SPAN_METHOD", {
enumerable: true,
configurable: true,
writable: true,
value: void 0
});
/** 自定义选择禁用 */
Object.defineProperty(this, "SELECTABLE_METHOD", {
enumerable: true,
configurable: true,
writable: true,
value: void 0
});
/** 自定义选择禁用 */
Object.defineProperty(this, "EXPAND_LAZY_METHOD", {
enumerable: true,
configurable: true,
writable: true,
value: void 0
});
/** 数值改变前回调 */
Object.defineProperty(this, "BEFORE_VALUE_CHANGE_METHOD", {
enumerable: true,
configurable: true,
writable: true,
value: void 0
});
/** 粘贴前回调 */
Object.defineProperty(this, "BEFORE_PASTE_DATA_METHOD", {
enumerable: true,
configurable: true,
writable: true,
value: void 0
});
/** 数值填充前回调 */
Object.defineProperty(this, "BEFORE_AUTOFILL_DATA_METHOD", {
enumerable: true,
configurable: true,
writable: true,
value: void 0
});
/** 设置选择器前回调 */
Object.defineProperty(this, "BEFORE_SET_SELECTOR_METHOD", {
enumerable: true,
configurable: true,
writable: true,
value: void 0
});
/** 设置填充器前回调 */
Object.defineProperty(this, "BEFORE_SET_AUTOFILL_METHOD", {
enumerable: true,
configurable: true,
writable: true,
value: void 0
});
/** 数据复制前回调 */
Object.defineProperty(this, "BEFORE_COPY_METHOD", {
enumerable: true,
configurable: true,
writable: true,
value: void 0
});
this._config = config;
this.updateCssVar();
}
/** 初始化 */
init(config) {
this._config = config;
this.updateCssVar();
}
/** 同步css 样式变量 */
updateCssVar() {
let obj = {};
Object.keys(this).forEach((key) => {
if (key.endsWith('_COLOR') || key.endsWith('_FONT')) {
const cssKey = `--evt-${key.toLocaleLowerCase().replace(/_/g, '-')}`;
const val = getCssVar(cssKey);
if (val) {
obj[key] = val;
}
}
});
Object.assign(this, obj, this._config);
}
}
//# sourceMappingURL=Config.js.map