UNPKG

abstract-state-router

Version:

The basics of a client-side state router ala the AngularJS ui-router, but without any DOM interactions

47 lines (43 loc) 1.11 kB
function myArbitraryRenderFunction(parent, cb) { var child = {} var newObject = { reset: function whatever() {}, getChildElement: function() { return child }, teardown: function() { newObject.getChildElement = null newObject.reset = null newObject.teardown = null } } setTimeout(function() { cb(newObject) }, 100) } module.exports = function makeRenderer(stateRouter) { return { render: function render(context, cb) { var element = context.element var template = context.template myArbitraryRenderFunction(element, function(renderedTemplateApi) { cb(null, renderedTemplateApi) }) }, reset: function reset(context, cb) { var renderedTemplateApi = context.domApi var template = context.template renderedTemplateApi.reset() setTimeout(cb, 100) }, destroy: function destroy(renderedTemplateApi, cb) { renderedTemplateApi.teardown() setTimeout(cb, 100) }, getChildElement: function getChildElement(renderedTemplateApi, cb) { setTimeout(function() { cb(null, renderedTemplateApi.getChildElement('ui-view')) }, 100) } } }