KendoUI TabStrip on click - kendo-ui

I have a little problem with using KendoUI TabStrip. It doesn't matter if I'm at the top of the screen, but when I click a tab, the screen moves to the tabs to the center of the screen and the I have to scroll to view the content, this is not a big problem, but it is annoying, so I would like to know if there's a way to avoid this.
Thank you.

Yes, according to Telerik:
The problem is caused by the fact that during the time that the tabs
are changed, the page get smaller, so the scroll position goes up. The
solution is to set height or min-height style to the TabStrip content
s, so that the overall TabStrip height remains constant.
They also list other potential solutions in the following thread:
http://www.kendoui.com/forums/kendo-ui-web/tabstrip/browser-scroll-position-is-changed-when-tab-is-changed.aspx

I had a similar issue with tabs jumping around when i was removing and adding tabstrips dynamically.
My root cause was due to using jquery and trying to do a $("#tabstrip").remove() instead of clearing out the container holding the tabstrip. My fix was $("#tabstripcontainer").empty() to clear out any remnants that the tabstrip left behind.

Related

Issues with tabbing between Filter Fields with Horizontal scrolling - scrolling out of sync

We have a wide grid with horizontal scrolling, with 2 frozen columns. It is very wide (over 20 columns), so the horizontal scrolling is always needed.
We are using the Filter Row option to allow the user to filter. Works well, but if the user tabs between the filter fields, an issue arises. If the user tabs to a hidden field (hidden as in having to scroll to see it), then the header will scroll to accomodate, but the body will not. Likewise, if the user is scrolled all the way to the right and tabs out of the last frozen column, the scrolling again gets out of sync.
See the following Dojo example to experience the issue yourself.​
http://dojo.telerik.com/iNONA/2
If anyone has any clue as to how to fix this issue, I'd appreciate it very much!
Thanks!
I had a simular problem, just without angluar implementation. For me the jQuery scrollLeft() method solved the problem, see (Grid data isn't align with Grid header when tabbing through header columns).
$("#example .k-grid-content").scrollLeft($("#example .k-grid-header-wrap").scrollLeft())
With that line of code I got it working in the developer console of your Dojo example to adjust the grid content to the position of the header. But the scroll event, as I implemented it on my problem, didn't work on your example. Maybe this helps you and you can adjust it with the scroll event in angular.

ckEditor autogrow usability

I am using CKeditor with autogrow plugin. But there is a problem when I am working with large text. I want to apply some style. So I need to scroll to the top of the page, click on the button and then scroll back to the bottom. This is very inconvenient.
Is there some plugin which can help to improve usability is such situations? Or I need to write it by myself?
I would limit the growth size to a maximum value with something like autoGrow_maxHeight : 800 - or whatever size works for you. I very much prefer the ckeditor content scrolling instead of the page scrolling.
Another option would be to separate the toolbar in a fixed element to make sure it always stays in sight. See http://nightly.ckeditor.com/7595/_samples/sharedspaces.html for an example; there is an editor there where the toolbar is statically visible and the editable area is apart from the toolbar.

SlickGrid column headers not synched when in Full Screen mode

We have a serious problem with SlickGrid in an application.
The problem doesn't seem to have anything to do with the way we implement/built the Grid since the behavior is reproducable on every SlickGrid I've seen.
Here's the problem:
If the User is viewing a grid on less than FullScreen mode and scolls the grid horizontally, then snaps the browser to fullScreen, the column headers are out of sync with the column contents. This wouldn't be a problem if the Horz scrollbar was retained (scrolling even 1px resynch's columns/contents) but if the grid fits inside the window, there is no Horz scrollbar and no way to resynch the columns with the content.
What we need is a method to repaint the column Headers without repainting the entire grid or a patch from someone who has already solved this.
These have no effect:
Options:
syncColumnCellResize:true
Method:
grid.resizeCanvas();
Thanks...
Try the fix submitted in https://github.com/mleibman/SlickGrid/commit/c5324a130ae2ef496f2c007f736f805cc7caa3f0 (get the latest code at https://github.com/mleibman/SlickGrid/zipball/v2.0).

dojo Show/Hide One ContentPane While Another ContentPane Is Liquid

I've been struggling for weeks trying to crack this nut so I'm not sure if it's impossible, or if it's my lack of coding chops... or both. I'm not a programmer and I'm a newbie to Dojo Toolkit.
I have a site using the BorderContainer layout. I'm trying to create an effect where I can use a button to open and close a dropdown type box that will contain controls. I need this dropdown to be hidden on page load, and then open when you click the button.
My problem is that when I open the dropdown, it pushes the content pane below it off the bottom of the browser window. I need the lower ContentPane to stay fit within the remaining space of the browser window when the dropdown opens. Additionally, I want the dropdown to sit outside of the scrollable container for the content below it, which is why I have it set up to sit outside a nested BorderContainer below it.
I've created a simplified version of the code to demonstrate my challenge (see link below). If you load the page you can see the center ContentPane scrolls the content. But, if you then click on the button, a dropdown div expands above the content. Then when you scroll, you'll notice that you can't see the full pane because it's in no-man's-land below the bottom of the browser window. I assume that because the div is set to display:none on load, it's size is not accounted for on page load. Then, when you open it by pressing the button, it's size is additive and the pane below doesn't know how to resize or account for the new element.
I've tried using the visibility attribute, but that leaves a gap for the div when it's still closed. I've tinkered with some code that controls the height that shows promise, but each of my dropdown boxes will be different sizes so I'd prefer that the height be set to "auto" rather than a specified pixel size.
Does anyone have any idea how I can accomplish this so that the lower pane will fit in the space without pushing off the screen?
Here's a sample of the page:
http://equium.com/scaffold.html
(I had some problems trying to insert the full HTML page here as a code sample so if that's a preferable way to handle it, and someone can let me know the best way to embed all of that code, I'd appreciate it.)
Thanks is advance, I'd really apprecaite anyone's feedback.
You might want to take a look at dojox.layout.ExpandoPane (though be warned I think it has only worked properly for top and left regions for a while).
Also, I'd suggest simplifying/altering your layout a bit. See example here:
http://jsfiddle.net/taFzv/
(It'd probably need some tweaking to get exactly what you want.)
The real issue you're having is probably that the BorderContainer has no idea that parts of the view resized. ExpandoPane takes care of that by telling the BorderContainer to re-layout after its animation completes.
It works under IE8.0. When dropdown box open, just keep pressing mouse from page and drag to bottom, you could see the content was pushed to out of page. It looks the browser could not detect it and could not add it to "scroll bar" account.
I would suggest taking out all BorderContainers except your top level one, the one with mainPage as the id.
Place your {stuff here} div into the mainPage BorderContainer, after the ContentPane with the Close/Open button. Make sure you make it dojotype dijit.layout.ContentPane, set up layoutpriority, and set region to top. Set the height to 0/x when clicking the Open/Close button, instead of setting display.
Try your page again. If that doesn't fix it, you probably need, a call to layout, resize, or both to indicate to the BorderContainer that it needs to evaluate all its children and size the "center" pane properly. Something like dijit.byId("mainPage").layout(); Do this any time someone presses the Close/Open button, after you have changed the height of any BorderContainer children.
Maybe the dijit.form.DropDownButton would fit your needs. When click the button a tooltip is displayed that can be filled with any content you want. Just as you specified, the dropdown tooltip is only displayed when you click the button, and it doesn't mess with the underlying layout at all. The tooltip sits "on top" of the page.

GTK# - Problem with components overlapping upon resize

I have a panel containing a form (elements such as labels and textboxes within a table) and 3 buttons (in an hbuttonbox) at the bottom-right. If I shorten the panel by dragging the bottom border upwards, the 3 buttons come with it, and lay on top of the other form components, causing messy graphics. I would like the panel to not resize smaller than the bottom edge of the last component within it. Due to employer restrictions, I am not able to show a screenshot of the GUI. I will try to make any clarifications that are asked.
This probably has something to do with some resizing or general size settings on the components, but there are so many options that I'm not sure where to start.
Any ideas for an easy fix to this without getting down into the complicated nest of components? If not, any ideas on where I should start messing with settings?
Thanks!
UPDATE:
Everything is contained in a VBox with 3 cells. Elements in cells (top to bottom): Table, ScrolledWindow, HButtonBox. The ScrolledWindow bottom edge also moves (resizes) with the bottom edge of the panel when resizing, until the panel bottom goes above the whole ScrolledWindow. Then the buttons keep moving up, staying in relation to the panel's bottom edge.
By "form" do you mean you are using a Gtk.Fixed to contain your table and buttonbox? Then that's probably what's going wrong - you should use vboxes and hboxes for your layout. These will resize properly. Fixed layouts are only for exceptional cases.
EDIT:
Other suggestions:
Perhaps the HButtonBox has pack type 'end' instead of 'start'?
You could try playing with the 'fill' and 'expand' packing properties of the VBox's children.
I ended up adding a Height Request to the container, just slightly longer than the part of the scrolled window. This now stops resizing to where the bottom buttons would overlap the components above it. The problem (before the fix) is shown below:

Resources