can
Version:
MIT-licensed, client-side, JavaScript framework that makes building rich web applications easy.
41 lines (40 loc) • 1.28 kB
JavaScript
/*!
* CanJS - 2.3.34
* http://canjs.com/
* Copyright (c) 2018 Bitovi
* Mon, 30 Apr 2018 20:56:51 GMT
* Licensed MIT
*/
/*can@2.3.34#control/route/route*/
define([
'can/util/library',
'can/route',
'can/control'
], function (can) {
can.Control.processors.route = function (el, event, selector, funcName, controller) {
selector = selector || '';
if (!can.route.routes[selector]) {
if (selector[0] === '/') {
selector = selector.substring(1);
}
can.route(selector);
}
var batchNum, check = function (ev, attr, how) {
if (can.route.attr('route') === selector && (ev.batchNum === undefined || ev.batchNum !== batchNum)) {
batchNum = ev.batchNum;
var d = can.route.attr();
delete d.route;
if (can.isFunction(controller[funcName])) {
controller[funcName](d);
} else {
controller[controller[funcName]](d);
}
}
};
can.route.bind('change', check);
return function () {
can.route.unbind('change', check);
};
};
return can;
});