52 lines
		
	
	
		
			1.4 KiB
		
	
	
	
		
			TypeScript
		
	
	
	
	
	
			
		
		
	
	
			52 lines
		
	
	
		
			1.4 KiB
		
	
	
	
		
			TypeScript
		
	
	
	
	
	
| import {BrowserDomAdapter} from '../src/browser/browser_adapter';
 | |
| import {document, window} from '../src/facade/browser';
 | |
| import {NumberWrapper, isBlank} from '../src/facade/lang';
 | |
| import {BaseException, WrappedException} from '../src/facade/exceptions';
 | |
| 
 | |
| var DOM = new BrowserDomAdapter();
 | |
| 
 | |
| export function getIntParameter(name: string) {
 | |
|   return NumberWrapper.parseInt(getStringParameter(name), 10);
 | |
| }
 | |
| 
 | |
| export function getStringParameter(name: string) {
 | |
|   var els = DOM.querySelectorAll(document, `input[name="${name}"]`);
 | |
|   var value;
 | |
|   var el;
 | |
| 
 | |
|   for (var i = 0; i < els.length; i++) {
 | |
|     el = els[i];
 | |
|     var type = DOM.type(el);
 | |
|     if ((type != 'radio' && type != 'checkbox') || DOM.getChecked(el)) {
 | |
|       value = DOM.getValue(el);
 | |
|       break;
 | |
|     }
 | |
|   }
 | |
| 
 | |
|   if (isBlank(value)) {
 | |
|     throw new BaseException(`Could not find and input field with name ${name}`);
 | |
|   }
 | |
| 
 | |
|   return value;
 | |
| }
 | |
| 
 | |
| export function bindAction(selector: string, callback: Function) {
 | |
|   var el = DOM.querySelector(document, selector);
 | |
|   DOM.on(el, 'click', function(_) { callback(); });
 | |
| }
 | |
| 
 | |
| export function microBenchmark(name, iterationCount, callback) {
 | |
|   var durationName = `${name}/${iterationCount}`;
 | |
|   window.console.time(durationName);
 | |
|   callback();
 | |
|   window.console.timeEnd(durationName);
 | |
| }
 | |
| 
 | |
| export function windowProfile(name: string): void {
 | |
|   (<any>window.console).profile(name);
 | |
| }
 | |
| 
 | |
| export function windowProfileEnd(name: string): void {
 | |
|   (<any>window.console).profileEnd(name);
 | |
| }
 |