UNPKG

accessibility-developer-tools

Version:

This is a library of accessibility-related testing and utility code.

127 lines (103 loc) 3.54 kB
<!DOCTYPE html> <html> <!-- Copyright 2010 The Closure Library Authors. All Rights Reserved. Use of this source code is governed by the Apache License, Version 2.0. See the COPYING file for details. --> <head> <meta http-equiv="X-UA-Compatible" content="IE=edge"> <title>goog.ui.tree.TreeControl</title> <script src="../../base.js"></script> <script> goog.require('goog.debug.DivConsole'); goog.require('goog.debug.Trace'); goog.require('goog.dom'); goog.require('goog.ui.tree.TreeControl'); </script> <script src="testdata.js"></script> <link rel="stylesheet" href="../css/demo.css"> <link rel="stylesheet" href="../../css/tree.css"> <style> #div-console { position: absolute; right: 10px; top: 10px; } </style> </head> <body> <h1>goog.ui.tree.TreeControl</h1> <div id="div-console"></div> <p><button onclick="toggleNonCollapseNode()">Toggle non collapsible</button> <button onclick="tree.setShowExpandIcons(!tree.getShowExpandIcons())"> Toggle Expand Icons </button> <button onclick="tree.setShowLines(!tree.getShowLines())"> Toggle Show Lines </button> <button onclick="tree.setShowRootLines(!tree.getShowRootLines())"> Toggle Show Root Lines </button> <button onclick="tree.setShowRootNode(!tree.getShowRootNode())"> Toggle Show Root Node </button> <p><button onclick="cut()">Cut</button> <button onclick="paste()">Paste</button> <div id="treeContainer" style="width:400px"></div> <script> var $ = goog.dom.getElement; var tree, clipboardNode; var divConsole = new goog.debug.DivConsole($('div-console')); divConsole.setCapturing(true); var logger = goog.debug.LogManager.getRoot(); function makeTree() { goog.debug.Trace.initCurrentTrace(); var tracerId = goog.debug.Trace.startTracer('makeTree'); var treeConfig = goog.ui.tree.TreeControl.defaultConfig; treeConfig['cleardotPath'] = '../../images/tree/cleardot.gif'; tree = new goog.ui.tree.TreeControl('root', treeConfig); createTreeFromTestData(tree, testData); tree.render($('treeContainer')); var elapsed = goog.debug.Trace.stopTracer(tracerId); goog.log.info(logger, 'Trace:\n' + goog.debug.Trace.getFormattedTrace()); } function createTreeFromTestData(node, data) { node.setText(data[0]); if (data.length > 1) { var children = data[1]; var childNotCollapsible = 3; // Hard coded to reduce randomness. for (var i = 0; i < children.length; i++) { var child = children[i]; var childNode = node.getTree().createNode(''); node.add(childNode); createTreeFromTestData(childNode, child); if (i == childNotCollapsible && child.length > 1) { childNode.setIsUserCollapsible(false); childNode.setExpanded(true); nonCollapseNode = childNode; } } } } function toggleNonCollapseNode() { nonCollapseNode.setIsUserCollapsible(!nonCollapseNode.isUserCollapsible()); } function cut() { if (tree.getSelectedItem()) { clipboardNode = tree.getSelectedItem(); if (clipboardNode.getParent()) { clipboardNode.getParent().remove(clipboardNode); } } } function paste() { if (tree.getSelectedItem() && clipboardNode) { tree.getSelectedItem().add(clipboardNode); clipboardNode = null; } } makeTree(); </script> </body> </html>