Example #1
0
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();
}
Example #2
0
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)
}
Example #3
0
		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 );
Example #4
0
function setupGrep () {
  var el = select('#grep');

  on(select('.grep label'), 'click', function () {
    el.focus();
  });

  bindKey(el, 'enter', function () {
    grep(el.value);
  });
}
Example #5
0
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()
  }
}
Example #6
0
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 )
	}
}
Example #7
0
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;
Example #9
0
function simulate (element) {
  on(element, 'mousedown', dispatch('touchstart'));
  on(element, 'mousemove', dispatch('touchmove'));
  on(element, 'mouseup', dispatch('touchend'));
}