While deactivating homepage of the website it's deactivating all the child pages under the homepage. Please suggest is there any way that we can deactivate homepage alone rather entire tree.
The pages are part of a tree. If you deactivate 1 page (or node...) then it basically writes an empty node in its place. This replacement node has no children, so it effectively deactivates or deletes the sub-tree.
If you desire to keep the children, you have to replace the parent instead of deactivate it.
Related
I have a page with an AjaxTabbedPanel with lots of tabs with content like charts, reports, etc., whose content is quite expensive to produce. Most users spend most of their time on the first panel and don't need to venture to the tabs with charts, reports etc.,
To avoid unnecessary work on the back end and provide a faster initial page render I thought it would be advantageous to avoid doing the work to populate a tab's contents until (and only if) the user clicks on a tab to activate and thus render that tab's content.
Of course the first tab will always load during initial page load as that is the one that is active by default but the other tabs' contents will lay dormant until the user clicks on the corresponding tab, avoiding doing any work for those dormant panels until necessary.
Is that possible?
I thought that I could possibly employ the AjaxLazyLoadedPanel but it seems to be designed for a different purpose and the lazy loaded panel is regularly polled until it is 'ready' but that's not what I need in my case: there's no need for polling, we will know when to render a panel's content i.e. when activation of the panel occurs.
TabbedPanel does not need a tab's content as long at is isn't shown.
Make sure that you implement ITab#getPanel() 'lazy', i.e. the panel is created only when that method is called the first time. See PanelCachingTab for inspiration.
I have a full-screen form (using popup) which contains a button that launches a child form. I read that I have to set the child form as popup to make it stay on top. I've done that, but it is still not working. After more googling around, I found out that it's not working because the parent form is also set to popup. How to solve this problem with maintaining the parent form in full screen mode?
As I understood, you need to open child form and it should stay above main form. Both forms should be popup, but if the size of child form will be less than main form, user can click on main form and child form disappears under main one even if child form has Modal property. If you don't want this, just open child form with acDialog WindowMode parameter.
On my wicket page I have a tree and a dynamic element that is mainly created via javascript and takes some time to paint.
My problem is that whenever I expand a tree node Wicket repaints the whole page, therefore reloading the javascript and repainting everything again. As expanding a tree node has no influence on the javascript there is no need to repaint the dynamic content, still the user has to wait several seconds until everything is rendered again.
Is there any way to stop wicket from reloading everything and just exchanging the new content? And how can I implement this within a tree?
I found the following link: http://wicketinaction.com/2008/10/repainting-only-newly-created-repeater-items-via-ajax/ but I am not sure if and how I can apply this to trees.
Update:
The problem solved itself together while I worked on another ajax problem I hadn't recognized earlier. Therefore I guess it was a side effect that is gone now. Still thanks.
A node's junction component calls AbstractTree#expand(T), which calls #updateBranch(T, AjaxRequestTarget): for NestedTree this will result in a repaint of the branch only, for TableTree this will repaint the whole table.
This should not result in a refresh of the whole page.
Put breakpoints in AjaxRequestHandler#add(Component,String) and Component#setResponsePage(Class) and see who is updating the whole page.
Does someone know how to update a cell browser view on the spot. I am trying refresh and flush but it is not working. I am having to remove the cell browser from the widget and then place it again.
For e.g. If I have a leaf and wants now to add a node to leaf and make it a parent. When I add the children to the leaf (say leaf A), I need to click on another item of the cell browser and then after clicking on another item, then when I click on leaf A which is now a parent it is only then that I see the newly added children
Therefore the problem I am getting it that whenever I add a children to a leaf to make it a parent, I does not see the change on the spot. I need to click on another item and then return back to see the change
Ok, I did it:
In the tree model, the isleaf, i made it return false always. then when adding a node to a leaf, since the browser for the leaf is already open, a a node to the leaf, then just refresh the data provider
I have a dojo layout that creates a sidebar on the left with a list of pages and a center area which is a tab container.
When a user double clicks a page in the sidebar, it creates a new closable tab in the center with a form to edit that page (the form is loaded via the href attribute on the ContentPanes, it's a standard Zend Framework request). However, if I open two or more pages, it creates all the elements and form controls with the same dijit IDs which creates conflicts. (This is expected I guess)
Aside from manually appending the current page ID to every element/dijit on the tab contents, does anyone know of a cleaner way for me to do this? Will this be an issue with the form element name attributes still being the same?
I guess the other approach is to not put id's on any of your widgets.