function setup () { dom.remove(select('.waiting')); var template = format(templates['layout'], templates); dom.add(document.body, template, { grep: grep() || '', conn: '' }); on(select('.frame-button'), 'click', toggleFrame); on(select('.run-again'), 'click', run); on(select('.maximize'), 'click', maximize); on(select('.minimize'), 'click', minimize); updateConn(); setupGrep(); if (localStorage['frame-open']) { toggleFrame(); } if (localStorage['frame-maximized']) { maximize(); } updateFramePosition(); recoverScrollPosition(); }
module.exports = function () { var self = this var on = require('dom-event') var element = self.element self.eventHandler = require('./handleKeyEvent').bind(self) on(element, 'keypress', self.eventHandler) on(element, 'keydown', self.eventHandler) on(element, 'keyup', self.eventHandler) }
var onSettingComplete = function( settings ) { var s = this.s = settings; if( s === undefined ) throw new Error( 'Your settings function must return a settings Object' ); if( s.routes === undefined ) throw new Error( 'Your settings object must define routes' ); s.autoResize = s.autoResize === undefined ? true : s.autoResize; // setup the router this.onRouteCallBack = settings.onRoute; settings.routes.onRoute = this.show.bind( this ); this.router = router( settings.routes ); // setup the view manager this.vm = vm( this.s ); if( s.autoResize ) { on( window, 'resize', this.onResize.bind( this ) ); this.onResize(); } if( s.initSection ) this.show( s.initSection.bind( undefined, this.router.init.bind( this.router ) ) ); else this.router.init(); }.bind( this );
function setupGrep () { var el = select('#grep'); on(select('.grep label'), 'click', function () { el.focus(); }); bindKey(el, 'enter', function () { grep(el.value); }); }
module.exports = function(state) { if (!state) throw new Error('instance of slide-state must be provided') on(document, 'keydown', handleKeyPress) function handleKeyPress(e) { if (e.keyCode === 39) state.next() if (e.keyCode === 37) state.prev() if (e.keyCode === 40) state.nextSub() if (e.keyCode === 38) state.prevSub() } }
module.exports = function( gl, properties ) { var config = _.extend({ aspectRatio : gl.drawingBufferWidth / gl.drawingBufferHeight , fieldOfView : Math.PI / 4 , near : 0.01 , far : 100 , position : [0,0,-10] , lookAt : [0,0,0] , upVector : [0,1,0] }, properties) var state = _.extend({ projection : Mat4.create() , view : Mat4.create() }, config) internals.updateProjection( state ) internals.updateView( state ) On( window, 'resize', () => internals.updateAspectRatio( gl, state ) ) return { position : state.position , lookAt : state.lookAt , projection : state.projection , view : state.view , updateProjection : () => internals.updateProjection( state ) , updateView : () => internals.updateView( state ) , update : () => (internals.updateProjection( state ), internals.updateView( state )) , bind : (shader) => internals.bindUniforms( state, shader ) } }
on.child = require("component-delegate"); var select = require("dom-select"); var style = require("dom-style"); var classes = require("dom-classes"); var format = require("format-text"); var bindKey = require("key-event"); var escape = require("escape-html"); var failingCode = require("failing-code"); var socket = require("./socket"); var grep = require("./grep"); var templates = require("./templates"); var options = require("./options"); var url; on(window, 'resize', updatePositions); on(window, 'hashchange', run); on(window, 'scroll', saveScrollState); socket(updateConn); module.exports = { addError: addError, markTest: markTest, pass: pass, status: status, run: run, list: list }; function addError (error) { var top = select('.top');
var select=require("dom-select"),style=require("dom-css"),domify=require("domify"),on=require("dom-event"),off=on.off,append=require("insert").append,prepend=require("insert").prepend,remove=require("insert").remove,mixes=require("mixes"),Signal=require("signals").Signal,atts=require("atts"),elementClass=require("element-class"),NO_VIEW_ERROR_MSG="The view is not defined in this SpookyElement",isUndefined=function(e){return"undefined"!=typeof e},isString=require("is-string"),isFunction=require("is-function"),isElement=require("is-element"),SpookyElement=function(e,i){if(!(this instanceof SpookyElement))return new SpookyElement(e,i);if(e){if(e._isSpookyElement)return e;if(e.jquery){if(!e.length)return this;e=e[0]}}if(i&&i.jquery&&(i=i.length?i[0]:null),this._view=null,this.onAppended=new Signal,this.onPrepended=new Signal,isFunction(e)){this.template=e;var t=domify(this.render(i));this.view=t}else isString(e)?0===e.indexOf("<")?this.view=domify(e):this.select(e,i):isElement(e)?this.view=e:this.template&&(this.view=domify(this.render(e)));this._isSpookyElement=!0};SpookyElement.prototype=Object.create(Array.prototype),mixes(SpookyElement,{view:{set:function(e){this._view=e,null===e?this.length=0:(this[0]=this._view,this.length=1)},get:function(){return this._view}},select:function(e,i){return i&&i._isSpookyElement&&(i=i.view),this.view=select(e,i),this},getElement:function(e){if(!this.view)throw new Error(NO_VIEW_ERROR_MSG);return e?select(e,this.view):this.view},findElement:function(e){return this.getElement(e)},find:function(e){var i=this.getElement(e);return i?new SpookyElement(i):null},findAll:function(e){if(!this.view)throw new Error(NO_VIEW_ERROR_MSG);var i=select.all(e,this.view),t=[];if(i)for(var n=0,r=i.length;r>n;n+=1){var s=i[n];t.push(SpookyElement(s))}return t},appendTo:function(e){if(!this.view)throw new Error(NO_VIEW_ERROR_MSG);var i=e;return isString(i)&&(i=select(i)),i&&i._isSpookyElement&&(i=i.view),append(i,this.view),this.onAppended.dispatch(this),this},prependTo:function(e){if(!this.view)throw new Error(NO_VIEW_ERROR_MSG);var i=e;return isString(i)&&(i=select(i)),i&&i._isSpookyElement&&(i=i.view),prepend(i,this.view),this.onPrepended.dispatch(this),this},append:function(e){if(!this.view)throw new Error(NO_VIEW_ERROR_MSG);return isString(e)&&(e=domify(e)),append(this.view,e),this},prepend:function(e){if(!this.view)throw new Error(NO_VIEW_ERROR_MSG);return isString(e)&&(e=domify(e)),prepend(this.view,e),this},render:function(e){if(this.template&&isFunction(this.template)){var i=this.template(e),t=i.replace(/^\s+|\s+$/g,"");return t}return this},on:function(e,i){if(!this.view)throw new Error(NO_VIEW_ERROR_MSG);return on(this.view,e,i),this},off:function(e,i){if(!this.view)throw new Error(NO_VIEW_ERROR_MSG);return off(this.view,e,i),this},css:function(e,i){if(!this.view)throw new Error(NO_VIEW_ERROR_MSG);return i?style(this.view,e,i):style(this.view,e),this},attr:function(e,i){if(!this.view)throw new Error(NO_VIEW_ERROR_MSG);return 2==arguments.length?(atts.attr(this.view,e,i),this):1==arguments.length?atts.attr(this.view,e):this},addClass:function(e){if(!this.view)throw new Error(NO_VIEW_ERROR_MSG);return elementClass(this.view).add(e),this},removeClass:function(e){if(!this.view)throw new Error(NO_VIEW_ERROR_MSG);return elementClass(this.view).remove(e),this},hasClass:function(e){if(!this.view)throw new Error(NO_VIEW_ERROR_MSG);return elementClass(this.view).has(e)},getWidth:function(){if(!this.view)throw new Error(NO_VIEW_ERROR_MSG);return this.view.offsetWidth},getHeight:function(){if(!this.view)throw new Error(NO_VIEW_ERROR_MSG);return this.view.offsetHeight},html:function(e){if(!this.view)throw new Error(NO_VIEW_ERROR_MSG);return isUndefined(e)?this.view.innerHTML:(this.view.innerHTML=e,this)},animateIn:function(e,i){return i&&i(),this},animateOut:function(e,i){return i&&i(),this},resize:function(e,i){return this.width=e,this.height=i,this.css({width:e,height:i}),this},destroy:function(){this.view&&this.remove(),this.view=null},remove:function(){return this.view&&remove(this.view),this.view=null,this}}),module.exports=SpookyElement;
function simulate (element) { on(element, 'mousedown', dispatch('touchstart')); on(element, 'mousemove', dispatch('touchmove')); on(element, 'mouseup', dispatch('touchend')); }