svelte-nodegui icon indicating copy to clipboard operation
svelte-nodegui copied to clipboard

<scrollArea> is broken

Open mperreir opened this issue 3 years ago • 7 comments

The documentation states that any components enclosed with a <scrollArea></scrollArea> element should become scrollable. However when including such an element in a component, nodejs complains with a UnhandledPromiseRejectionWarning: Error: No known component for element scrollArea. when starting the application.

mperreir avatar Mar 23 '21 18:03 mperreir

Good catch. This is a simple fix; just need time to apply it.

Will involve updating the registry of components to include scrollView: https://github.com/nodegui/svelte-nodegui/blob/main/src/dom/nativescript-vue-next/runtime/registry.ts

... and updating the Svelte NodeGUI JSX intrinsic typings: https://github.com/nodegui/svelte-nodegui/blob/main/src/svelte-nodegui.ts

Looks like the component would be an RNScrollArea under-the-hood: https://github.com/nodegui/svelte-nodegui/blob/main/src/dom/react-nodegui/src/components/ScrollArea/RNScrollArea.ts

shirakaba avatar Mar 24 '21 10:03 shirakaba

It might be a bit more subtle than this. I applied those changes on a fork of your code (with a few other adds to https://github.com/nodegui/svelte-nodegui/blob/main/src/index.ts and https://github.com/nodegui/svelte-nodegui/blob/main/src/dom/react-nodegui/src/index.ts) No more errors during execution, but... the scrollArea (and its child) do not appear :-(

mperreir avatar Mar 27 '21 10:03 mperreir

After a bit more testing is seems that scrollArea is kind of working but there are some strange size issues with both scrollArea and its child. See PR #53 (added scrollArea and updated demo to highlight the current problem).

mperreir avatar Mar 27 '21 11:03 mperreir

Agreed that there are size issues with both. I'm not immediately sure why. First https://github.com/nodegui/svelte-nodegui/issues/42 needs to be solved, to ensure that child nodes are being added correctly in the first place (which particularly impacts the<text> component). But it's odd that I was unable to get <scrollArea> to work properly even when simply adding a <view> child to it. This is going to be a tough one to get to the bottom of (though I do completely understand the necessity to get this component working!).

shirakaba avatar Mar 27 '21 15:03 shirakaba

@johanalkstal is this what you were experiencing with regular NodeGUI? Does ScrollArea not work for you?

We're experiencing problems trying to get it to do anything sensible in Svelte NodeGUI and I'm wondering whether the problem stems from NodeGUI itself or not.

shirakaba avatar Mar 27 '21 18:03 shirakaba

Some possibly relevant issues:

  • https://github.com/nodegui/react-nodegui/issues/341#issuecomment-792515899
  • https://github.com/nodegui/react-nodegui/issues/342
  • https://github.com/nodegui/nodegui/issues/592#issuecomment-792264782

shirakaba avatar Mar 27 '21 18:03 shirakaba

@johanalkstal is this what you were experiencing with regular NodeGUI? Does ScrollArea not work for you?

We're experiencing problems trying to get it to do anything sensible in Svelte NodeGUI and I'm wondering whether the problem stems from NodeGUI itself or not.

The issue I have is similar to https://github.com/nodegui/react-nodegui/issues/342

That is, I try to use QScrollArea with a QWidget as its child, and the QWidget contains dynamically added QLabels, but the scroll bars don't appear.

johanalkstal avatar Mar 29 '21 05:03 johanalkstal