UNPKG

handsontable

Version:

Handsontable is a JavaScript Spreadsheet Component available for React, Angular and Vue.

95 lines (81 loc) 2.52 kB
import { defineGetter } from "../../../../../helpers/object.mjs"; var MIXIN_NAME = 'calculatedColumns'; /** * Mixin for the subclasses of `Table` with implementations of * helper methods that are related to columns. * This mixin is meant to be applied in the subclasses of `Table` * that use virtual rendering in the horizontal axis. * * @type {object} */ var calculatedColumns = { /** * Get the source index of the first rendered column. If no columns are rendered, returns an error code: -1. * * @returns {number} */ getFirstRenderedColumn: function getFirstRenderedColumn() { var startColumn = this.wot.wtViewport.columnsRenderCalculator.startColumn; if (startColumn === null) { return -1; } return startColumn; }, /** * Get the source index of the first column fully visible in the viewport. If no columns are fully visible, returns an error code: -1. * * @returns {number} */ getFirstVisibleColumn: function getFirstVisibleColumn() { var startColumn = this.wot.wtViewport.columnsVisibleCalculator.startColumn; if (startColumn === null) { return -1; } return startColumn; }, /** * Get the source index of the last rendered column. If no columns are rendered, returns an error code: -1. * * @returns {number} */ getLastRenderedColumn: function getLastRenderedColumn() { var endColumn = this.wot.wtViewport.columnsRenderCalculator.endColumn; if (endColumn === null) { return -1; } return endColumn; }, /** * Get the source index of the last column fully visible in the viewport. If no columns are fully visible, returns an error code: -1. * * @returns {number} */ getLastVisibleColumn: function getLastVisibleColumn() { var endColumn = this.wot.wtViewport.columnsVisibleCalculator.endColumn; if (endColumn === null) { return -1; } return endColumn; }, /** * Get the number of rendered columns. * * @returns {number} */ getRenderedColumnsCount: function getRenderedColumnsCount() { return this.wot.wtViewport.columnsRenderCalculator.count; }, /** * Get the number of fully visible columns in the viewport. * * @returns {number} */ getVisibleColumnsCount: function getVisibleColumnsCount() { return this.wot.wtViewport.columnsVisibleCalculator.count; } }; defineGetter(calculatedColumns, 'MIXIN_NAME', MIXIN_NAME, { writable: false, enumerable: false }); export default calculatedColumns;