handsontable
Version:
Handsontable is a JavaScript Data Grid available for React, Angular and Vue.
62 lines (59 loc) • 2.51 kB
JavaScript
;
exports.__esModule = true;
require("core-js/modules/es.error.cause.js");
function _defineProperty(e, r, t) { return (r = _toPropertyKey(r)) in e ? Object.defineProperty(e, r, { value: t, enumerable: !0, configurable: !0, writable: !0 }) : e[r] = t, e; }
function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == typeof i ? i : i + ""; }
function _toPrimitive(t, r) { if ("object" != typeof t || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || "default"); if ("object" != typeof i) return i; throw new TypeError("@@toPrimitive must return a primitive value."); } return ("string" === r ? String : Number)(t); }
/**
* Row utils class contains all necessary information about sizes of the rows.
*
* @class {RowUtils}
*/
class RowUtils {
/**
* @param {TableDao} dataAccessObject The table Data Access Object.
* @param {Settings} wtSettings The walkontable settings.
*/
constructor(dataAccessObject, wtSettings) {
/**
* @type {TableDao}
*/
_defineProperty(this, "dataAccessObject", void 0);
/**
* @type {Settings}
*/
_defineProperty(this, "wtSettings", void 0);
this.dataAccessObject = dataAccessObject;
this.wtSettings = wtSettings;
}
/**
* Returns row height based on passed source index.
*
* @param {number} sourceIndex Row source index.
* @returns {number}
*/
getHeight(sourceIndex) {
let height = this.wtSettings.getSetting('rowHeight', sourceIndex);
const oversizedHeight = this.dataAccessObject.wtViewport.oversizedRows[sourceIndex];
if (oversizedHeight !== undefined) {
height = height === undefined ? oversizedHeight : Math.max(height, oversizedHeight);
}
return height;
}
/**
* Returns row height based on passed source index for the specified overlay type.
*
* @param {number} sourceIndex Row source index.
* @param {'inline_start'|'top'|'top_inline_start_corner'|'bottom'|'bottom_inline_start_corner'|'master'} overlayName The overlay name.
* @returns {number}
*/
getHeightByOverlayName(sourceIndex, overlayName) {
let height = this.wtSettings.getSetting('rowHeightByOverlayName', sourceIndex, overlayName);
const oversizedHeight = this.dataAccessObject.wtViewport.oversizedRows[sourceIndex];
if (oversizedHeight !== undefined) {
height = height === undefined ? oversizedHeight : Math.max(height, oversizedHeight);
}
return height;
}
}
exports.default = RowUtils;