Git Product home page Git Product logo

Comments (2)

adrianszymanski89 avatar adrianszymanski89 commented on May 27, 2024 1

Hi @wave-light

Thank you for reporting this. I checked the issue, and it's related to the HyperFormula itself, and the limit set for maxRows in the engine is too small.

We have a similar issue reported here: handsontable/hyperformula#1185.

In this case, the same problem was found in the maxColumns, but I believe the reason is the same. I will report it internally and let you know when we have more information on the possible timeline for the fix.

from handsontable.

sequba avatar sequba commented on May 27, 2024

The cause of the error

The Formulas.updatePlugin method passes the maxRows and maxColumns settings to the HyperFormula engine. But in HyperFormula the maxRows and maxColumns config options are global and hold for all sheets.

Relevant formulas plugin code:

updatePlugin(newSettings) {
const newEngineSettings = getEngineSettingsWithOverrides(this.hot.getSettings());
if (haveEngineSettingsChanged(this.engine.getConfig(), newEngineSettings)) {
this.engine.updateConfig(newEngineSettings);
}

export function getEngineSettingsOverrides(hotSettings) {
return {
maxColumns: hotSettings.maxColumns,
maxRows: hotSettings.maxRows,
language: hotSettings[PLUGIN_KEY]?.language?.langCode
};
}

Recommended solution

maxRows and maxColumns settings in Handsontable seem to control the visual layer (the number of rows and columns displayed), whereas in HyperFormula, the maxRows and maxColumns config options were introduced for performance reasons. In my opinion, Handsontable should not pass these settings to HyperFormula.

To fix the issue, it should be enough to remove lines 41 and 42 from the handsontable/src/plugins/formulas/engine/settings.js file:

maxColumns: hotSettings.maxColumns,
maxRows: hotSettings.maxRows,

from handsontable.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.