ADF tree binding issue - oracle-adf

I'm using 3 levels tree VO's. All three VO's has bind variables. The VO's are connected via View link. I'm using createViewLinkAccessorRS in order to pass the variables from parent to child VO.. i defined Target Data Source (EL_expression) for second and third level.The tree works fine, and the nodes filled correctly (all the way down). The Problem is that the second and the third tree level attributes are only shown in the tree component. anywhere else in the page it looks like they are empty ({bindings.(attname).inputValue} = null) (E.g - after dragging the third tree level "FlowOrder" from the AppModuleDataControl and create a form out of it, and selecting the second node of the tree will update all the third level tree node (please see attached image), but will leave the entire form which was just created empty)
Any idea why the FlowOrder bindings are empty? i assume that maybe it has to do with the bind variable of the VO .. i even thought i would change the tree selection listener so on the second level click it will perform a full query of "FlowOrder" via executewithparams, but it does not make any sense because the data was fetched already after clicking level 2 tree)
(Jdeveloper : 12.2.1.2.0)
attached image: Details

Check out my explanation on trees and example application in another post: ADF filter table based on tree selection The tree shows data from view link accessors. The form shows data from view instance. They are in different state.

Related

How to show a selected record in the visible portion of a tree

I have a tree control in a fieldset. Am able to populate the tree fine.
I'm using this command to programmatically select a specific node in the tree:
Ext.getCmp('projectsTree').getSelectable().setSelectedRecord(<node>)
where node is the node I want to select. This command works fine. What's happening is that while the record is selected, it is not in the visible portion of the tree. It can be below the visible portion of the tree and I would have to scroll down to see that it is selected. Does anyone have any tips on how to both select the record and have it show up in the visible portion of the tree.
I've seen recommendations using focusRow or selectPath, but I haven't been able to get that working.

How can I implement a columns UI using React?

I'm talking about the UI as seen in this screenshot. In that program, macOS Finder, you have a column on the left, which lists all the items inside a directory. If you click an item, and that item is itself a directory, a new column opens on the right containing all its entries, and this repeats forever.
I'd like to write a UI like this using React for a simple text-editing web application. Each column would contain folders or text 'files'. Clicking a folder would open that folder's children in the next column over; clicking a text 'file' would place its text in a textarea element for reading or editing.
But I can't figure out how to structure the data.
I think I'd want a sort of tree, where nodes can be either text-files or folders/trees themselves. But how would I then render that tree in React, what pattern of components could I use? Would I render the top level of the current tree into one column component, and have an onclick handler in that component that adds a new column to the parent if a subfolder gets clicked? And if so, would I pass that component some reference to a sub-part of the tree, or pass over the entire portion of that tree?
You can use the material UI Menu component. It lets you have subMenus as well
http://www.material-ui.com/#/components/menu

Expanding extjs tree to see one element

I can add element to tree in extjs and I want to see it just after adding. How can I focus on than element (expand everything before it and put selection on it)?
You can use the method selectPath on your TreePanel as detailed here:
http://docs.sencha.com/extjs/4.2.0/#!/api/Ext.tree.Panel-method-selectPath
This method will open every nodes needed to access your element and select this element. The way you express the path is as follow:
Ext.getCmp('treePanel').selectPath('/Root/Leaf/Element', 'text')
Here, the text property of my TreeModel has been used (The second parameter), but you can change that for anything, like the id.
Ext.getCmp('treePanel').selectPath('/1/16/42', 'id')
To build this path, the better way is to use the method getPath on the particular item you want to select:
item.getPath('text')

Load empty values from referenced node in Views (Drupal 7)

I have a view displaying nodes of two content types. The nodes all have a cck field made with Entity Reference referencing a "parent" node. If the displayed node in the view has an empty value, the view should display the value in the parent node. Simple as that.
The filters should also be able to filter on the parent's values...
I'm thinking it should be solved with handlers somehow, but I'm having a lot of trouble finding my way through the documentation. Could anybody please help?
I'm working with Drupal 7.14, Views 7.x-3.3 and Entity Reference 7.x-1.0-rc3+2-dev.
-- Mikkel

Opening tab with tree node data

Hi,
I'm new to both Prism and WPF, and I have a question regarding sharing data between views.
Application I'm working on resembles SQL Server Development Studio. Demo contains two regions. First region contains tree (like Object explorer in SQL Server DS). Tree nodes are bound to different view models. Example would be DatabaseA->Tables->dbo.TableA->Columns etc.
Second region is initially empty. When I double click on tree node I would like to open view that displays data I clicked in tree.
In detail:
1. double click on tree node
2. node data and display it in second region
3. if second region isn't empty, check if clicked node data is already displayed in one of existing tab pages
4. if not, create new tab page with clicked node data, otherwise focus existing tab page
Until now, I managed to created tree. When tree node is clicked app calls:
UriQuery uriQuery = new UriQuery {{"ID", unit.Id.ToString()}};
uriQuery.Add("TypeName", "Unit");
var uri = new Uri("DebugTreeItemView" + uriQuery, UriKind.Relative);
RegionManager.RequestNavigate("SECOND_REGION", uri);
This will open view with tab control and I can fetch uri parameters. But I'm not satisfied with this solution. I need a way to:
1. intercept this RegionManager.RequestNavigate call in order to check if tab control is alread created. Also, I need to check that clicked node data isn't already displayed in one of existing tab pages.
2. I would like to send Unit object directly to tab control view instead of sending ID and typename. What is the best way to achieve this?
Thanks.
I would have a ShellViewModel controlling my overall application. It would contain the TreeNode collection for the left side, and the OpenTabs collection for the right side. It would also contain the SelectedTabIndex for the right side, and perhaps the SelectedTreeNode for the left side if it made sense to do so.
When you want to open a new Tab, I would use the EventAggregator to publish an OpenTab event and pass it the selected TreeNode item. The ShellViewModel would subscribe to those events, and would determine if that object already existed in the OpenTabs collection. If it exists, it simply sets the SelectedTabIndex. If not, it adds the item to the OpenTabs collection before setting the SelectedTabIndex
A while back I posted something here on this sort of navigation with MVVM if you're interested

Resources