simonwep/selection

Uncaught RangeError: Maximum call stack size exceeded

miguelcamargo9 opened this issue ยท 9 comments

We have an issue with a document that has 1300 tables, we are using your library to select some tables inside some documents, but this document is a way too big, so when we start the selection we are getting the error:

Uncaught RangeError: Maximum call stack size exceeded

As our selectable elements are 'td', we are not sure how to attack this issue, Google Chrome just has 10402 call stack size.

image

        selectionAreaClass: 'selection-area',
        selectionContainerClass: 'selection-area-container',
        container: 'body',
        document: this.$refs.document,
        selectables: ['td'],
        startareas: ['.document-viewer'],
        boundaries: ['table'],
        behaviour: {
          overlap: 'invert',
          intersect: 'touch',
          startThreshold: 10,
          scrolling: {
            speedDivider: 10,
            manualSpeed: 750,
            startScrollMargins: { x: 0, y: 0 },
          },
        },
        features: {
          touch: true,
          range: true,
          singleTap: {
            allow: true,
            intersect: 'native',
          },
        },
      });
      
      

Hey! Unfortunately your script doesn't tell me that much without the markup part... could you reproduce it on codesandbox and paste in the link?

Thanks for answer, I will put the URL today.

https://codesandbox.io/s/viselect-vanilla-forked-l9kn97?file=/src/main.ts

This is the link of the codesanbox, as you can see I add 130.00 of td elements, unfortunately we are working with documents that have this amount of elements (see the images above) if you change the amount to 120.00 the plugin works fine, but if it is more than that, it gets break. What do you think? Again, thanks for the answer.

image

And, as I told you, this is an issue that is happening with Chrome, for example in Firefox is working fine. Bur Firefox has a call stack size of 50994

Fixed in v3.1.1 :) Happy weekend!

Thanks ๐Ÿฅ‡

Sorry, do you know when the version will be released on npm?

I'm so sorry, for some reason lerna crashed during the process and the package wasn't released. I'll fix it tonight and ping you :)

@miguelcamargo9 v3.1.1 is published :)

@simonwep great, thank you so much.