UNPKG

accessibility-developer-tools

Version:

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

244 lines (205 loc) 7.21 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> <title>goog.ui.SplitPane</title> <script src="../base.js"></script> <script> goog.require('goog.dom'); goog.require('goog.events'); goog.require('goog.ui.Component'); goog.require('goog.ui.Ratings'); goog.require('goog.ui.ServerChart'); goog.require('goog.ui.SplitPane'); goog.require('goog.ui.SplitPane.Orientation'); </script> <link rel="stylesheet" href="css/demo.css"> <style class="text/css"> /* NOTE: A bug in Safari 3 requires these css definitions to be in here. Do not move these to a separate file without testing safari 3! */ /* These are recommended styles for the default splitpane */ .goog-splitpane { height: 200px; width: 300px; } .goog-splitpane-handle { border-left: 1px solid gray; border-right: 1px solid gray; background: #ccc; position: absolute; } .goog-splitpane-handle-horizontal { cursor: col-resize; } .goog-splitpane-handle-vertical { cursor: row-resize; } .goog-splitpane-first-container, .goog-splitpane-second-container { border: 5px solid black; overflow: auto; position: absolute; } /* The rest of these styles are for the splitpane demo, splitpane.html */ /* Example of styling a particular handle */ #another-splitpane .goog-splitpane-handle { background: gray; } /* The following styles are for the rating widget, which is used in the splipane example. These have nothing to do with the splitpane! */ .goog-ratings { display: block; float: left; height: 20px; height: 20px; } .goog-ratings-star { display: block; float: left; padding-left: 13px; height: 19px; cursor: pointer; background-image: url('../images/ratingstars.gif'); background-repeat: no-repeat; } .goog-ratings-firststar-off { padding-left: 20px; background-position: 0px 0px; } .goog-ratings-firststar-on { padding-left: 20px; background-position: 0px -20px; } .goog-ratings-midstar-off { background-position: 0px -40px; } .goog-ratings-midstar-on { background-position: 0px -60px; } .goog-ratings-laststar-off { padding-left: 18px; background-position: 0px -80px; } .goog-ratings-laststar-on { padding-left: 18px; background-position: 0px -100px; } </style> </head> <body> <h1>goog.ui.SplitPane</h1> Left Component Size: <input type='text' id='firstComponentSize' size='4' value=''> Width: <input type='text' id='newWidth' size='5' value='300'> Height: <input type='text' id='newHeight' size='5' value='200'> <br> <input type='radio' id='select1' name='selectSplitter' checked='true' value='first'>First One <input type='radio' id='select2' name='selectSplitter' value='second'>Second One <input type='button' value='Update Splitter' onclick='updatePane_()'> <input type='button' value='Change Orientation' onclick='changeOrientation_()'> <p> <div class='goog-splitpane' id='anotherSplitter'> <div class='goog-splitpane-first-container'> Left Frame </div> <div class='goog-splitpane-second-container'> <iframe style='z-index:10; width:100%; height:100%' src='http://www.google.com/'></iframe> </div> <div class='goog-splitpane-handle'></div> </div> First Component Width: <span id='componentOneWidth'></span> <div id="test1"> <select name="sel"> <option>Aweful</option> <option>Bad</option> <option selected>Ok</option> <option>Good</option> <option>Excellent</option> </select> </div> <p/> <p/> <div id="chart"></div> <script> /** * Show the width of the first splitpane on event changes. * @param {goog.events.Event} e The event */ var showWidth_ = function(e) { var el = document.getElementById('componentOneWidth'); if (el) { goog.dom.setTextContent(el, e.target.getFirstComponentSize()); } } var lhs = new goog.ui.Component(); var rhs = new goog.ui.Component(); // Set up splitpane with already existing DOM. var splitpane1 = new goog.ui.SplitPane(lhs, rhs, goog.ui.SplitPane.Orientation.HORIZONTAL); // Listen for change events and call showWidth. goog.events.listen(splitpane1, goog.ui.Component.EventType.CHANGE, showWidth_); splitpane1.setInitialSize(100); splitpane1.setHandleSize(10); splitpane1.decorate(document.getElementById('anotherSplitter')); splitpane1.setSize(new goog.math.Size(600,300)); var rw1 = new goog.ui.Ratings(); rw1.decorate(document.getElementById('test1')); // Create a barchart to put in a splitpane bar = new goog.ui.ServerChart(goog.ui.ServerChart.ChartType.BAR, 180, 104); bar.addDataSet([8,23,7], '008000'); bar.addDataSet([31,11,7], 'ffcc33'); bar.addDataSet([2,43,70,3,43,74], '3072f3'); bar.setLeftLabels(['','20K','','60K','','100K']); bar.setXLabels(['O','N','D']); bar.setMaxValue(100); var splitpane2 = new goog.ui.SplitPane(rw1, bar, goog.ui.SplitPane.Orientation.HORIZONTAL); splitpane2.render(); splitpane2.setContinuousResize(false); /** * Change the left splitter size or size a split pane. * This method reads the form fields to choose the splitter * and get the new values. */ var updatePane_ = function() { var componentSizeValue = document.getElementById('firstComponentSize').value; var width = document.getElementById('newWidth').value; var height = document.getElementById('newHeight').value; var s1Checked = document.getElementById('select1').checked; // Which splitter to update. var whichSplitter = (s1Checked) ? splitpane1 : splitpane2; var componentSize; if ('' != componentSizeValue) { componentSize = parseInt(componentSizeValue, 10); } else { componentSize = whichSplitter.getFirstComponentSize(); } whichSplitter.setFirstComponentSize(componentSize); whichSplitter.setSize(new goog.math.Size(width, height)); // If the first pane height is changed, force the second one to update // so it moves up or down the page. splitpane2.setFirstComponentSize(); } /** * Change the orientation of the splitter pane. */ var changeOrientation_ = function() { var s1Checked = document.getElementById('select1').checked; // Which splitter to update. var whichSplitter = s1Checked ? splitpane1 : splitpane2; var orientation = whichSplitter.getOrientation(); if (orientation == goog.ui.SplitPane.Orientation.VERTICAL) { whichSplitter.setOrientation(goog.ui.SplitPane.Orientation.HORIZONTAL); } else { whichSplitter.setOrientation(goog.ui.SplitPane.Orientation.VERTICAL); } } </script> </body> </html>