78 lines
No EOL
9.1 KiB
JavaScript
Executable file
78 lines
No EOL
9.1 KiB
JavaScript
Executable file
export var insertView = function (views, view, direction) {
|
|
if (direction === 'root') {
|
|
return setRoot(views, view);
|
|
}
|
|
else if (direction === 'forward') {
|
|
return setForward(views, view);
|
|
}
|
|
else {
|
|
return setBack(views, view);
|
|
}
|
|
};
|
|
var setRoot = function (views, view) {
|
|
views = views.filter(function (v) { return v.stackId !== view.stackId; });
|
|
views.push(view);
|
|
return views;
|
|
};
|
|
var ɵ0 = setRoot;
|
|
var setForward = function (views, view) {
|
|
var index = views.indexOf(view);
|
|
if (index >= 0) {
|
|
views = views.filter(function (v) { return v.stackId !== view.stackId || v.id <= view.id; });
|
|
}
|
|
else {
|
|
views.push(view);
|
|
}
|
|
return views;
|
|
};
|
|
var ɵ1 = setForward;
|
|
var setBack = function (views, view) {
|
|
var index = views.indexOf(view);
|
|
if (index >= 0) {
|
|
return views.filter(function (v) { return v.stackId !== view.stackId || v.id <= view.id; });
|
|
}
|
|
else {
|
|
return setRoot(views, view);
|
|
}
|
|
};
|
|
var ɵ2 = setBack;
|
|
export var getUrl = function (router, activatedRoute) {
|
|
var urlTree = router.createUrlTree(['.'], { relativeTo: activatedRoute });
|
|
return router.serializeUrl(urlTree);
|
|
};
|
|
export var isTabSwitch = function (enteringView, leavingView) {
|
|
if (!leavingView) {
|
|
return true;
|
|
}
|
|
return enteringView.stackId !== leavingView.stackId;
|
|
};
|
|
export var computeStackId = function (prefixUrl, url) {
|
|
if (!prefixUrl) {
|
|
return undefined;
|
|
}
|
|
var segments = toSegments(url);
|
|
for (var i = 0; i < segments.length; i++) {
|
|
if (i >= prefixUrl.length) {
|
|
return segments[i];
|
|
}
|
|
if (segments[i] !== prefixUrl[i]) {
|
|
return undefined;
|
|
}
|
|
}
|
|
return undefined;
|
|
};
|
|
export var toSegments = function (path) {
|
|
return path
|
|
.split('/')
|
|
.map(function (s) { return s.trim(); })
|
|
.filter(function (s) { return s !== ''; });
|
|
};
|
|
export var destroyView = function (view) {
|
|
if (view) {
|
|
// TODO lifecycle event
|
|
view.ref.destroy();
|
|
view.unlistenEvents();
|
|
}
|
|
};
|
|
export { ɵ0, ɵ1, ɵ2 };
|
|
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3RhY2stdXRpbHMuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9AaW9uaWMvYW5ndWxhci8iLCJzb3VyY2VzIjpbImRpcmVjdGl2ZXMvbmF2aWdhdGlvbi9zdGFjay11dGlscy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFJQSxNQUFNLENBQUMsSUFBTSxVQUFVLEdBQUcsVUFBQyxLQUFrQixFQUFFLElBQWUsRUFBRSxTQUEwQjtJQUN4RixJQUFJLFNBQVMsS0FBSyxNQUFNLEVBQUU7UUFDeEIsT0FBTyxPQUFPLENBQUMsS0FBSyxFQUFFLElBQUksQ0FBQyxDQUFDO0tBQzdCO1NBQU0sSUFBSSxTQUFTLEtBQUssU0FBUyxFQUFFO1FBQ2xDLE9BQU8sVUFBVSxDQUFDLEtBQUssRUFBRSxJQUFJLENBQUMsQ0FBQztLQUNoQztTQUFNO1FBQ0wsT0FBTyxPQUFPLENBQUMsS0FBSyxFQUFFLElBQUksQ0FBQyxDQUFDO0tBQzdCO0FBQ0gsQ0FBQyxDQUFDO0FBRUYsSUFBTSxPQUFPLEdBQUcsVUFBQyxLQUFrQixFQUFFLElBQWU7SUFDbEQsS0FBSyxHQUFHLEtBQUssQ0FBQyxNQUFNLENBQUMsVUFBQSxDQUFDLElBQUksT0FBQSxDQUFDLENBQUMsT0FBTyxLQUFLLElBQUksQ0FBQyxPQUFPLEVBQTFCLENBQTBCLENBQUMsQ0FBQztJQUN0RCxLQUFLLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO0lBQ2pCLE9BQU8sS0FBSyxDQUFDO0FBQ2YsQ0FBQyxDQUFDOztBQUVGLElBQU0sVUFBVSxHQUFHLFVBQUMsS0FBa0IsRUFBRSxJQUFlO0lBQ3JELElBQU0sS0FBSyxHQUFHLEtBQUssQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLENBQUM7SUFDbEMsSUFBSSxLQUFLLElBQUksQ0FBQyxFQUFFO1FBQ2QsS0FBSyxHQUFHLEtBQUssQ0FBQyxNQUFNLENBQUMsVUFBQSxDQUFDLElBQUksT0FBQSxDQUFDLENBQUMsT0FBTyxLQUFLLElBQUksQ0FBQyxPQUFPLElBQUksQ0FBQyxDQUFDLEVBQUUsSUFBSSxJQUFJLENBQUMsRUFBRSxFQUE3QyxDQUE2QyxDQUFDLENBQUM7S0FDMUU7U0FBTTtRQUNMLEtBQUssQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7S0FDbEI7SUFDRCxPQUFPLEtBQUssQ0FBQztBQUNmLENBQUMsQ0FBQzs7QUFFRixJQUFNLE9BQU8sR0FBRyxVQUFDLEtBQWtCLEVBQUUsSUFBZTtJQUNsRCxJQUFNLEtBQUssR0FBRyxLQUFLLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxDQUFDO0lBQ2xDLElBQUksS0FBSyxJQUFJLENBQUMsRUFBRTtRQUNkLE9BQU8sS0FBSyxDQUFDLE1BQU0sQ0FBQyxVQUFBLENBQUMsSUFBSSxPQUFBLENBQUMsQ0FBQyxPQUFPLEtBQUssSUFBSSxDQUFDLE9BQU8sSUFBSSxDQUFDLENBQUMsRUFBRSxJQUFJLElBQUksQ0FBQyxFQUFFLEVBQTdDLENBQTZDLENBQUMsQ0FBQztLQUN6RTtTQUFNO1FBQ0wsT0FBTyxPQUFPLENBQUMsS0FBSyxFQUFFLElBQUksQ0FBQyxDQUFDO0tBQzdCO0FBQ0gsQ0FBQyxDQUFDOztBQUVGLE1BQU0sQ0FBQyxJQUFNLE1BQU0sR0FBRyxVQUFDLE1BQWMsRUFBRSxjQUE4QjtJQUNuRSxJQUFNLE9BQU8sR0FBRyxNQUFNLENBQUMsYUFBYSxDQUFDLENBQUMsR0FBRyxDQUFDLEVBQUUsRUFBRSxVQUFVLEVBQUUsY0FBYyxFQUFFLENBQUMsQ0FBQztJQUM1RSxPQUFPLE1BQU0sQ0FBQyxZQUFZLENBQUMsT0FBTyxDQUFDLENBQUM7QUFDdEMsQ0FBQyxDQUFDO0FBRUYsTUFBTSxDQUFDLElBQU0sV0FBVyxHQUFHLFVBQUMsWUFBdUIsRUFBRSxXQUFrQztJQUNyRixJQUFJLENBQUMsV0FBVyxFQUFFO1FBQ2hCLE9BQU8sSUFBSSxDQUFDO0tBQ2I7SUFDRCxPQUFPLFlBQVksQ0FBQyxPQUFPLEtBQUssV0FBVyxDQUFDLE9BQU8sQ0FBQztBQUN0RCxDQUFDLENBQUM7QUFFRixNQUFNLENBQUMsSUFBTSxjQUFjLEdBQUcsVUFBQyxTQUErQixFQUFFLEdBQVc7SUFDekUsSUFBSSxDQUFDLFNBQVMsRUFBRTtRQUNkLE9BQU8sU0FBUyxDQUFDO0tBQ2xCO0lBQ0QsSUFBTSxRQUFRLEdBQUcsVUFBVSxDQUFDLEdBQUcsQ0FBQyxDQUFDO0lBQ2pDLEtBQUssSUFBSSxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsR0FBRyxRQUFRLENBQUMsTUFBTSxFQUFFLENBQUMsRUFBRSxFQUFFO1FBQ3hDLElBQUksQ0FBQyxJQUFJLFNBQVMsQ0FBQyxNQUFNLEVBQUU7WUFDekIsT0FBTyxRQUFRLENBQUMsQ0FBQyxDQUFDLENBQUM7U0FDcEI7UUFDRCxJQUFJLFFBQVEsQ0FBQyxDQUFDLENBQUMsS0FBSyxTQUFTLENBQUMsQ0FBQyxDQUFDLEVBQUU7WUFDaEMsT0FBTyxTQUFTLENBQUM7U0FDbEI7S0FDRjtJQUNELE9BQU8sU0FBUyxDQUFDO0FBQ25CLENBQUMsQ0FBQztBQUVGLE1BQU0sQ0FBQyxJQUFNLFVBQVUsR0FBRyxVQUFDLElBQVk7SUFDckMsT0FBTyxJQUFJO1NBQ1IsS0FBSyxDQUFDLEdBQUcsQ0FBQztTQUNWLEdBQUcsQ0FBQyxVQUFBLENBQUMsSUFBSSxPQUFBLENBQUMsQ0FBQyxJQUFJLEVBQUUsRUFBUixDQUFRLENBQUM7U0FDbEIsTUFBTSxDQUFDLFVBQUEsQ0FBQyxJQUFJLE9BQUEsQ0FBQyxLQUFLLEVBQUUsRUFBUixDQUFRLENBQUMsQ0FBQztBQUMzQixDQUFDLENBQUM7QUFFRixNQUFNLENBQUMsSUFBTSxXQUFXLEdBQUcsVUFBQyxJQUEyQjtJQUNyRCxJQUFJLElBQUksRUFBRTtRQUNSLHVCQUF1QjtRQUN2QixJQUFJLENBQUMsR0FBRyxDQUFDLE9BQU8sRUFBRSxDQUFDO1FBQ25CLElBQUksQ0FBQyxjQUFjLEVBQUUsQ0FBQztLQUN2QjtBQUNILENBQUMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudFJlZiB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQWN0aXZhdGVkUm91dGUsIE5hdmlnYXRpb25FeHRyYXMsIFJvdXRlciB9IGZyb20gJ0Bhbmd1bGFyL3JvdXRlcic7XG5pbXBvcnQgeyBBbmltYXRpb25CdWlsZGVyLCBOYXZEaXJlY3Rpb24sIFJvdXRlckRpcmVjdGlvbiB9IGZyb20gJ0Bpb25pYy9jb3JlJztcblxuZXhwb3J0IGNvbnN0IGluc2VydFZpZXcgPSAodmlld3M6IFJvdXRlVmlld1tdLCB2aWV3OiBSb3V0ZVZpZXcsIGRpcmVjdGlvbjogUm91dGVyRGlyZWN0aW9uKSA9PiB7XG4gIGlmIChkaXJlY3Rpb24gPT09ICdyb290Jykge1xuICAgIHJldHVybiBzZXRSb290KHZpZXdzLCB2aWV3KTtcbiAgfSBlbHNlIGlmIChkaXJlY3Rpb24gPT09ICdmb3J3YXJkJykge1xuICAgIHJldHVybiBzZXRGb3J3YXJkKHZpZXdzLCB2aWV3KTtcbiAgfSBlbHNlIHtcbiAgICByZXR1cm4gc2V0QmFjayh2aWV3cywgdmlldyk7XG4gIH1cbn07XG5cbmNvbnN0IHNldFJvb3QgPSAodmlld3M6IFJvdXRlVmlld1tdLCB2aWV3OiBSb3V0ZVZpZXcpID0+IHtcbiAgdmlld3MgPSB2aWV3cy5maWx0ZXIodiA9PiB2LnN0YWNrSWQgIT09IHZpZXcuc3RhY2tJZCk7XG4gIHZpZXdzLnB1c2godmlldyk7XG4gIHJldHVybiB2aWV3cztcbn07XG5cbmNvbnN0IHNldEZvcndhcmQgPSAodmlld3M6IFJvdXRlVmlld1tdLCB2aWV3OiBSb3V0ZVZpZXcpID0+IHtcbiAgY29uc3QgaW5kZXggPSB2aWV3cy5pbmRleE9mKHZpZXcpO1xuICBpZiAoaW5kZXggPj0gMCkge1xuICAgIHZpZXdzID0gdmlld3MuZmlsdGVyKHYgPT4gdi5zdGFja0lkICE9PSB2aWV3LnN0YWNrSWQgfHwgdi5pZCA8PSB2aWV3LmlkKTtcbiAgfSBlbHNlIHtcbiAgICB2aWV3cy5wdXNoKHZpZXcpO1xuICB9XG4gIHJldHVybiB2aWV3cztcbn07XG5cbmNvbnN0IHNldEJhY2sgPSAodmlld3M6IFJvdXRlVmlld1tdLCB2aWV3OiBSb3V0ZVZpZXcpID0+IHtcbiAgY29uc3QgaW5kZXggPSB2aWV3cy5pbmRleE9mKHZpZXcpO1xuICBpZiAoaW5kZXggPj0gMCkge1xuICAgIHJldHVybiB2aWV3cy5maWx0ZXIodiA9PiB2LnN0YWNrSWQgIT09IHZpZXcuc3RhY2tJZCB8fCB2LmlkIDw9IHZpZXcuaWQpO1xuICB9IGVsc2Uge1xuICAgIHJldHVybiBzZXRSb290KHZpZXdzLCB2aWV3KTtcbiAgfVxufTtcblxuZXhwb3J0IGNvbnN0IGdldFVybCA9IChyb3V0ZXI6IFJvdXRlciwgYWN0aXZhdGVkUm91dGU6IEFjdGl2YXRlZFJvdXRlKSA9PiB7XG4gIGNvbnN0IHVybFRyZWUgPSByb3V0ZXIuY3JlYXRlVXJsVHJlZShbJy4nXSwgeyByZWxhdGl2ZVRvOiBhY3RpdmF0ZWRSb3V0ZSB9KTtcbiAgcmV0dXJuIHJvdXRlci5zZXJpYWxpemVVcmwodXJsVHJlZSk7XG59O1xuXG5leHBvcnQgY29uc3QgaXNUYWJTd2l0Y2ggPSAoZW50ZXJpbmdWaWV3OiBSb3V0ZVZpZXcsIGxlYXZpbmdWaWV3OiBSb3V0ZVZpZXcgfCB1bmRlZmluZWQpID0+IHtcbiAgaWYgKCFsZWF2aW5nVmlldykge1xuICAgIHJldHVybiB0cnVlO1xuICB9XG4gIHJldHVybiBlbnRlcmluZ1ZpZXcuc3RhY2tJZCAhPT0gbGVhdmluZ1ZpZXcuc3RhY2tJZDtcbn07XG5cbmV4cG9ydCBjb25zdCBjb21wdXRlU3RhY2tJZCA9IChwcmVmaXhVcmw6IHN0cmluZ1tdIHwgdW5kZWZpbmVkLCB1cmw6IHN0cmluZykgPT4ge1xuICBpZiAoIXByZWZpeFVybCkge1xuICAgIHJldHVybiB1bmRlZmluZWQ7XG4gIH1cbiAgY29uc3Qgc2VnbWVudHMgPSB0b1NlZ21lbnRzKHVybCk7XG4gIGZvciAobGV0IGkgPSAwOyBpIDwgc2VnbWVudHMubGVuZ3RoOyBpKyspIHtcbiAgICBpZiAoaSA+PSBwcmVmaXhVcmwubGVuZ3RoKSB7XG4gICAgICByZXR1cm4gc2VnbWVudHNbaV07XG4gICAgfVxuICAgIGlmIChzZWdtZW50c1tpXSAhPT0gcHJlZml4VXJsW2ldKSB7XG4gICAgICByZXR1cm4gdW5kZWZpbmVkO1xuICAgIH1cbiAgfVxuICByZXR1cm4gdW5kZWZpbmVkO1xufTtcblxuZXhwb3J0IGNvbnN0IHRvU2VnbWVudHMgPSAocGF0aDogc3RyaW5nKSA9PiB7XG4gIHJldHVybiBwYXRoXG4gICAgLnNwbGl0KCcvJylcbiAgICAubWFwKHMgPT4gcy50cmltKCkpXG4gICAgLmZpbHRlcihzID0+IHMgIT09ICcnKTtcbn07XG5cbmV4cG9ydCBjb25zdCBkZXN0cm95VmlldyA9ICh2aWV3OiBSb3V0ZVZpZXcgfCB1bmRlZmluZWQpID0+IHtcbiAgaWYgKHZpZXcpIHtcbiAgICAvLyBUT0RPIGxpZmVjeWNsZSBldmVudFxuICAgIHZpZXcucmVmLmRlc3Ryb3koKTtcbiAgICB2aWV3LnVubGlzdGVuRXZlbnRzKCk7XG4gIH1cbn07XG5cbmV4cG9ydCBpbnRlcmZhY2UgU3RhY2tFdmVudCB7XG4gIGVudGVyaW5nVmlldzogUm91dGVWaWV3O1xuICBkaXJlY3Rpb246IFJvdXRlckRpcmVjdGlvbjtcbiAgYW5pbWF0aW9uOiBOYXZEaXJlY3Rpb24gfCB1bmRlZmluZWQ7XG4gIHRhYlN3aXRjaDogYm9vbGVhbjtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBSb3V0ZVZpZXcge1xuICBpZDogbnVtYmVyO1xuICB1cmw6IHN0cmluZztcbiAgc3RhY2tJZDogc3RyaW5nIHwgdW5kZWZpbmVkO1xuICBlbGVtZW50OiBIVE1MRWxlbWVudDtcbiAgcmVmOiBDb21wb25lbnRSZWY8YW55PjtcbiAgc2F2ZWREYXRhPzogYW55O1xuICBzYXZlZEV4dHJhcz86IE5hdmlnYXRpb25FeHRyYXM7XG4gIHVubGlzdGVuRXZlbnRzOiAoKSA9PiB2b2lkO1xuICBhbmltYXRpb25CdWlsZGVyPzogQW5pbWF0aW9uQnVpbGRlcjtcbn1cbiJdfQ==
|