Search in sources :

Example 1 with Tree

use of org.eclipse.scout.rt.ui.html.json.tree.fixtures.Tree in project scout.rt by eclipse.

the class JsonTreeTest method createTree.

protected Tree createTree(List<ITreeNode> nodes) {
    Tree tree = new Tree(nodes);
    tree.initTree();
    return tree;
}
Also used : Tree(org.eclipse.scout.rt.ui.html.json.tree.fixtures.Tree) ITree(org.eclipse.scout.rt.client.ui.basic.tree.ITree)

Example 2 with Tree

use of org.eclipse.scout.rt.ui.html.json.tree.fixtures.Tree in project scout.rt by eclipse.

the class JsonTreeTest method testInsertAndDeleteInSameRequest.

@Test
public void testInsertAndDeleteInSameRequest() throws Exception {
    // Note: A test for the same problem (but without a real tree) can be found here:
    // org.eclipse.scout.rt.client.ui.basic.tree.TreeEventBufferTest.testInsertAndRemoveInSameRequest()
    ITree tree = new Tree();
    tree.setRootNode(new TreeNode("Root"));
    final List<TreeEvent> treeEventCollector = new ArrayList<>();
    tree.addTreeListener(new TreeAdapter() {

        @Override
        public void treeChanged(TreeEvent e) {
            treeEventCollector.add(e);
        }
    });
    IJsonAdapter<? super ITree> jsonTree = m_uiSession.createJsonAdapter(tree, null);
    m_uiSession.currentJsonResponse().addAdapter(jsonTree);
    JSONObject response = m_uiSession.currentJsonResponse().toJson();
    System.out.println("Response #1: " + response);
    JsonTestUtility.endRequest(m_uiSession);
    // ----------------
    // (root)
    // +-[A]
    // +-[B]
    ITreeNode nodeA = new TreeNode("A");
    ITreeNode nodeB = new TreeNode("B");
    // Insert A and B in one "tree changing" batch
    // -> TreeEventBuffer should remove the second event (because B is a sub-node of A)
    tree.setTreeChanging(true);
    tree.addChildNode(tree.getRootNode(), nodeA);
    tree.addChildNode(nodeA, nodeB);
    tree.setTreeChanging(false);
    assertEquals(1, treeEventCollector.size());
    treeEventCollector.clear();
    // Remove B, then A (in two separate calls)
    // -> TreeEventBuffer should remove the second event (because B is a sub-node of A), altough
    // only an insertion event for A exists (and A.getChildNodes() returns nothing)
    tree.removeAllChildNodes(nodeA);
    tree.removeAllChildNodes(tree.getRootNode());
    assertEquals(2, treeEventCollector.size());
    treeEventCollector.clear();
    assertEquals(0, nodeA.getChildNodeCount());
    assertEquals(0, tree.getRootNode().getChildNodeCount());
    // Process the buffer
    // -> TreeEventBuffer should remove all events
    JsonTestUtility.processBufferedEvents(m_uiSession);
    List<JsonEvent> events = m_uiSession.currentJsonResponse().getEventList();
    assertEquals(0, events.size());
    response = m_uiSession.currentJsonResponse().toJson();
    System.out.println("Response #2: " + response);
    JsonTestUtility.endRequest(m_uiSession);
}
Also used : ArrayList(java.util.ArrayList) JsonEvent(org.eclipse.scout.rt.ui.html.json.JsonEvent) ITree(org.eclipse.scout.rt.client.ui.basic.tree.ITree) TreeAdapter(org.eclipse.scout.rt.client.ui.basic.tree.TreeAdapter) TreeEvent(org.eclipse.scout.rt.client.ui.basic.tree.TreeEvent) ITreeNode(org.eclipse.scout.rt.client.ui.basic.tree.ITreeNode) JSONObject(org.json.JSONObject) ITreeNode(org.eclipse.scout.rt.client.ui.basic.tree.ITreeNode) TreeNode(org.eclipse.scout.rt.ui.html.json.tree.fixtures.TreeNode) Tree(org.eclipse.scout.rt.ui.html.json.tree.fixtures.Tree) ITree(org.eclipse.scout.rt.client.ui.basic.tree.ITree) Test(org.junit.Test)

Example 3 with Tree

use of org.eclipse.scout.rt.ui.html.json.tree.fixtures.Tree in project scout.rt by eclipse.

the class JsonTreeTest method testAllNodesUnchecked.

/**
 * Test for ticket 218516. When autoCheckChildNodes is set to true the JSON layer should send the state of all child
 * nodes for a given parent node.
 */
@Test
public void testAllNodesUnchecked() throws Exception {
    ITree tree = new Tree();
    tree.setRootNode(new TreeNode("Root"));
    tree.setAutoCheckChildNodes(true);
    tree.setCheckable(true);
    ITreeNode parent = new TreeNode("Parent");
    parent.setParentNodeInternal(tree.getRootNode());
    ITreeNode child1 = new TreeNode("Child1");
    child1.setParentNodeInternal(parent);
    ITreeNode child2 = new TreeNode("Child2");
    child2.setParentNodeInternal(parent);
    tree.addChildNode(tree.getRootNode(), parent);
    tree.addChildNode(parent, child1);
    tree.addChildNode(parent, child2);
    // set tree state before we start with the test case
    m_uiSession.createJsonAdapter(tree, null);
    tree.setNodeChecked(parent, true);
    assertTrue(child1.isChecked());
    assertTrue(child2.isChecked());
    JsonTestUtility.endRequest(m_uiSession);
    // <-- test case
    tree.setNodeChecked(parent, false);
    JsonTestUtility.processBufferedEvents(m_uiSession);
    List<JsonEvent> events = m_uiSession.currentJsonResponse().getEventList();
    assertEquals(1, events.size());
    JsonEvent event = events.get(0);
    assertEquals("nodesChecked", event.getType());
    JSONArray nodes = event.getData().getJSONArray("nodes");
    assertEquals(3, nodes.length());
    for (int i = 0; i < nodes.length(); i++) {
        JSONObject jsonNode = (JSONObject) nodes.get(i);
        assertFalse(jsonNode.getBoolean("checked"));
    }
}
Also used : ITreeNode(org.eclipse.scout.rt.client.ui.basic.tree.ITreeNode) JSONObject(org.json.JSONObject) ITreeNode(org.eclipse.scout.rt.client.ui.basic.tree.ITreeNode) TreeNode(org.eclipse.scout.rt.ui.html.json.tree.fixtures.TreeNode) JSONArray(org.json.JSONArray) Tree(org.eclipse.scout.rt.ui.html.json.tree.fixtures.Tree) ITree(org.eclipse.scout.rt.client.ui.basic.tree.ITree) JsonEvent(org.eclipse.scout.rt.ui.html.json.JsonEvent) ITree(org.eclipse.scout.rt.client.ui.basic.tree.ITree) Test(org.junit.Test)

Aggregations

ITree (org.eclipse.scout.rt.client.ui.basic.tree.ITree)3 Tree (org.eclipse.scout.rt.ui.html.json.tree.fixtures.Tree)3 ITreeNode (org.eclipse.scout.rt.client.ui.basic.tree.ITreeNode)2 JsonEvent (org.eclipse.scout.rt.ui.html.json.JsonEvent)2 TreeNode (org.eclipse.scout.rt.ui.html.json.tree.fixtures.TreeNode)2 JSONObject (org.json.JSONObject)2 Test (org.junit.Test)2 ArrayList (java.util.ArrayList)1 TreeAdapter (org.eclipse.scout.rt.client.ui.basic.tree.TreeAdapter)1 TreeEvent (org.eclipse.scout.rt.client.ui.basic.tree.TreeEvent)1 JSONArray (org.json.JSONArray)1