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.
716 lines • 22.8 kB
JavaScript
export default class Config {
constructor(config) {
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_COLOR", {
enumerable: true,
configurable: true,
writable: true,
value: '#e1e6eb'
});
Object.defineProperty(this, "WIDTH", {
enumerable: true,
configurable: true,
writable: true,
value: 0
});
Object.defineProperty(this, "RESIZE_MIN_WIDTH", {
enumerable: true,
configurable: true,
writable: true,
value: 40
});
Object.defineProperty(this, "HEIGHT", {
enumerable: true,
configurable: true,
writable: true,
value: 0
});
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, "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'
});
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, "LOADING_ICON_SVG", {
enumerable: true,
configurable: true,
writable: true,
value: ''
});
Object.defineProperty(this, "LOADING_ICON_COLOR", {
enumerable: true,
configurable: true,
writable: true,
value: '#4E5969'
});
Object.defineProperty(this, "EXPAND_ICON_SVG", {
enumerable: true,
configurable: true,
writable: true,
value: ''
});
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, "EXPAND_LAZY", {
enumerable: true,
configurable: true,
writable: true,
value: true
});
Object.defineProperty(this, "DEFAULT_EXPAND_ALL", {
enumerable: true,
configurable: true,
writable: true,
value: false
});
Object.defineProperty(this, "CELL_WIDTH", {
enumerable: true,
configurable: true,
writable: true,
value: 100
});
Object.defineProperty(this, "CELL_HEIGHT", {
enumerable: true,
configurable: true,
writable: true,
value: 36
});
Object.defineProperty(this, "CELL_PADDING", {
enumerable: true,
configurable: true,
writable: true,
value: 8
});
Object.defineProperty(this, "CELL_HOVER_ICON_SIZE", {
enumerable: true,
configurable: true,
writable: true,
value: 20
});
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'
});
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, "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_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_INDETERMINATE_SVG", {
enumerable: true,
configurable: true,
writable: true,
value: ''
});
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: false
});
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
}); // 启用点击选择器编辑
Object.defineProperty(this, "SELECTOR_AREA_MIN_X", {
enumerable: true,
configurable: true,
writable: true,
value: 0
}); // 选择器X最小范围
Object.defineProperty(this, "SELECTOR_AREA_MAX_X_OFFSET", {
enumerable: true,
configurable: true,
writable: true,
value: 0
}); // 选择器X最大范围colMax - offset
Object.defineProperty(this, "SELECTOR_AREA_MAX_X", {
enumerable: true,
configurable: true,
writable: true,
value: 0
}); // 选择器X最大范围,0默认最大colMax
Object.defineProperty(this, "SELECTOR_AREA_MIN_Y", {
enumerable: true,
configurable: true,
writable: true,
value: 0
}); // 选择器Y最小范围
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
}); // 选择器Y最大范围,0默认rowMax
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_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, "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, "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, "HEADER_CELL_STYLE_METHOD", {
enumerable: true,
configurable: true,
writable: true,
value: void 0
});
Object.defineProperty(this, "BODY_CELL_STYLE_METHOD", {
enumerable: true,
configurable: true,
writable: true,
value: void 0
});
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
});
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
});
Object.assign(this, config);
}
init(config) {
Object.assign(this, config);
}
}
//# sourceMappingURL=Config.js.map