-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathwidget.js
29 lines (26 loc) · 1.1 KB
/
widget.js
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
(function (root, factory) {
if (typeof define === "function" && define.amd) {
define(["./create", "mu-jquery-widget/widget", "Router"], factory);
} else if (typeof module === "object" && module.exports) {
module.exports = factory(require("./create"), require("mu-jquery-widget/widget"), require("Router"));
} else {
root["mu-jquery-widget-director/widget"] = factory(root["mu-jquery-widget-director//create"], root["mu-jquery-widget/widget"], root.Router);
}
})(this, function (create, widget, Router) {
return create(widget.concat(), {
"on/initialize": function () {
var me = this;
var $ = me.$;
var routes = {};
$.each(me.constructor.go, function (index, go) {
routes[go.route] = $.proxy(go.value, me);
});
var router = new Router(routes)
.configure(me.$element.data("mu-jquery-widget-director"))
.init();
["configure", "param", "on", "path", "dispatch", "mount", "getRoute", "setRoute",].forEach(function (method) {
me[me[method] ? method + "$director" : method] = $.proxy(router[method], router);
});
}
});
});