Datatable scroll does not appear

Hi,

How do I make scroll to appear? see snippet:http://webix.com/snippet/30c845cf

Thank you

The situation caused by mixing webix and html layers ( webix ui, that have an html template, that have next layer of webix ui )

DataTable autofit self to the container div, and shows scroll actually. After that div moved to the topmost webix layout, where it resized, but datatable inside is not resized ( as it was initialized as separate webix.ui block ).

Maksim,

I had several discussions with Helga regarding using several webix-ui constructor.
http://forum.webix.com/discussion/1917/toolbar-occupies-more-space-when-its-size#Item_7

It seems to me that I am going against webix design which is to my understanding:
single web-ix layer where all views reside.
The challenge with this design is that my app is using angularjs and angular-ui routing (GitHub - angular-ui/ui-router: The de-facto solution to flexible routing with nested views in AngularJS)
based on navigation via ui-router app creates a view in runtime.
It is standard way in angular world to do
When view is created I can not reference or obtain reference to webix layer
nor can I preset view definition or place holder beforehand as far as I understand.

My goal is to understand whether I can use webix for my app given those conditions/app flow?
if I can not, Do you have any suggestions how to accomplish the same?

You have wonderful library and I am trying to make every effort to use it,
but before committing my team to the library I need to know
if I can accomplish what I need.

Maksim,

Unrelated to previous question, how do you debug/see what fits what and what is resized and what is not affected?

If you are using webix_debug.js, you can add the next line to your code

webix.debug_size = true;

it will provide a full trace of all resize operations ( how much such each view have requested and received )

My goal is to understand whether I can use webix for my app given those conditions/app flow? if I can not, Do you have any suggestions how to accomplish the same?

Unfortunately I don’t have any good solution for the above case. Webix components work nicely if they are used along other webix components.

In case of Angular, you will work mostly with HTML, which is fine on its own. In combination with Webix it will result in layering pure html and webix components. As result, sizing problem may occur, similar to above. It can work with fixed sizes, but I don’t think that this is a good solution, as most probably you will want to have a responsive app, not the one with fixed sizes.

The other part of problem is destructors. Webix component need to be destroyed to release all memory and unregister their IDs. Angular in most cases will just replace old html with new one, without calling any event handlers ( as far as I know you can catch scope destruction, but you can’t catch directive removing ). It may result in memory leak and some debug level warnings, because or reused IDs

I can provide a patch, that will work for modern browsers only ( IE9+ ) that will partially resolve the above problem. It will force sizing for components that are inside of templates of other webix components. It will resolve the sizing part of the problem.

Maksim,

Modern browsers are fine, application is on intranet so I have full control.
What do you mean by “will partially resolve the above problem”?
What wont be resolved?
I’ll call webix destructor when scope is destroyed will check the memory leak.
Please provide patch let’s see if it resolves the issue.

Thank you.

Hi Maksim,

What’s your estimate on when resize fix will be ready?

Thank you.

Hi Maksim,
Can I have your patch to fix reused IDs + resize Webix component or your ideal about this issues?