mirror of
https://github.com/wekan/wekan.git
synced 2025-09-22 01:50:48 +02:00

Fixes: #5533
Fixes: #5548
Revert "Switch from kadira:flow-router to ostrio:flow-router-extra"
This reverts commit 718c1a393d
.
57 lines
1.6 KiB
JavaScript
57 lines
1.6 KiB
JavaScript
Group = function(router, options, parent) {
|
|
options = options || {};
|
|
|
|
if (options.prefix && !/^\/.*/.test(options.prefix)) {
|
|
var message = "group's prefix must start with '/'";
|
|
throw new Error(message);
|
|
}
|
|
|
|
this._router = router;
|
|
this.prefix = options.prefix || '';
|
|
this.name = options.name;
|
|
this.options = options;
|
|
|
|
this._triggersEnter = options.triggersEnter || [];
|
|
this._triggersExit = options.triggersExit || [];
|
|
this._subscriptions = options.subscriptions || Function.prototype;
|
|
|
|
this.parent = parent;
|
|
if (this.parent) {
|
|
this.prefix = parent.prefix + this.prefix;
|
|
|
|
this._triggersEnter = parent._triggersEnter.concat(this._triggersEnter);
|
|
this._triggersExit = this._triggersExit.concat(parent._triggersExit);
|
|
}
|
|
};
|
|
|
|
Group.prototype.route = function(pathDef, options, group) {
|
|
options = options || {};
|
|
|
|
if (!/^\/.*/.test(pathDef)) {
|
|
var message = "route's path must start with '/'";
|
|
throw new Error(message);
|
|
}
|
|
|
|
group = group || this;
|
|
pathDef = this.prefix + pathDef;
|
|
|
|
var triggersEnter = options.triggersEnter || [];
|
|
options.triggersEnter = this._triggersEnter.concat(triggersEnter);
|
|
|
|
var triggersExit = options.triggersExit || [];
|
|
options.triggersExit = triggersExit.concat(this._triggersExit);
|
|
|
|
return this._router.route(pathDef, options, group);
|
|
};
|
|
|
|
Group.prototype.group = function(options) {
|
|
return new Group(this._router, options, this);
|
|
};
|
|
|
|
Group.prototype.callSubscriptions = function(current) {
|
|
if (this.parent) {
|
|
this.parent.callSubscriptions(current);
|
|
}
|
|
|
|
this._subscriptions.call(current.route, current.params, current.queryParams);
|
|
};
|