@sd-angular/core 0.0.842 → 0.0.846
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/bundles/sd-angular-core-button.umd.js +1 -1
- package/bundles/sd-angular-core-button.umd.min.js +1 -1
- package/bundles/sd-angular-core-button.umd.min.js.map +1 -1
- package/bundles/sd-angular-core-grid-material.umd.js +2 -2
- package/bundles/sd-angular-core-grid-material.umd.js.map +1 -1
- package/bundles/sd-angular-core-grid-material.umd.min.js +2 -2
- package/bundles/sd-angular-core-grid-material.umd.min.js.map +1 -1
- package/bundles/sd-angular-core-tab-router.umd.js +14 -13
- package/bundles/sd-angular-core-tab-router.umd.js.map +1 -1
- package/bundles/sd-angular-core-tab-router.umd.min.js +2 -2
- package/bundles/sd-angular-core-tab-router.umd.min.js.map +1 -1
- package/button/sd-angular-core-button.metadata.json +1 -1
- package/esm2015/button/src/lib/button.component.js +1 -1
- package/esm2015/grid-material/src/lib/grid-material.component.js +3 -3
- package/esm2015/tab-router/src/lib/components/tab-router-outlet/tab-router-outlet.component.js +12 -10
- package/fesm2015/sd-angular-core-button.js +1 -1
- package/fesm2015/sd-angular-core-grid-material.js +2 -2
- package/fesm2015/sd-angular-core-grid-material.js.map +1 -1
- package/fesm2015/sd-angular-core-tab-router.js +11 -10
- package/fesm2015/sd-angular-core-tab-router.js.map +1 -1
- package/grid-material/sd-angular-core-grid-material.metadata.json +1 -1
- package/package.json +1 -1
- package/{sd-angular-core-0.0.842.tgz → sd-angular-core-0.0.846.tgz} +0 -0
- package/tab-router/sd-angular-core-tab-router.metadata.json +1 -1
- package/tab-router/src/lib/components/tab-router-outlet/tab-router-outlet.component.d.ts +3 -2
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
(function (global, factory) {
|
|
2
|
-
typeof exports === 'object' && typeof module !== 'undefined' ? factory(exports, require('@angular/core'), require('rxjs'), require('@sd-angular/core/notify'), require('@angular/router'), require('
|
|
3
|
-
typeof define === 'function' && define.amd ? define('@sd-angular/core/tab-router', ['exports', '@angular/core', 'rxjs', '@sd-angular/core/notify', '@angular/router', '@angular/common', '@angular/material/icon', '@angular/material/tooltip'
|
|
4
|
-
(global = typeof globalThis !== 'undefined' ? globalThis : global || self, factory((global['sd-angular'] = global['sd-angular'] || {}, global['sd-angular'].core = global['sd-angular'].core || {}, global['sd-angular'].core['tab-router'] = {}), global.ng.core, global.rxjs, global['sd-angular'].core.notify, global.ng.router, global.ng.common, global.ng.material.icon, global.ng.material.tooltip
|
|
5
|
-
}(this, (function (exports, i0, rxjs, i1, router, common, icon, tooltip
|
|
2
|
+
typeof exports === 'object' && typeof module !== 'undefined' ? factory(exports, require('@angular/core'), require('rxjs'), require('@sd-angular/core/notify'), require('@angular/router'), require('rxjs/operators'), require('@angular/common'), require('@angular/material/icon'), require('@angular/material/tooltip')) :
|
|
3
|
+
typeof define === 'function' && define.amd ? define('@sd-angular/core/tab-router', ['exports', '@angular/core', 'rxjs', '@sd-angular/core/notify', '@angular/router', 'rxjs/operators', '@angular/common', '@angular/material/icon', '@angular/material/tooltip'], factory) :
|
|
4
|
+
(global = typeof globalThis !== 'undefined' ? globalThis : global || self, factory((global['sd-angular'] = global['sd-angular'] || {}, global['sd-angular'].core = global['sd-angular'].core || {}, global['sd-angular'].core['tab-router'] = {}), global.ng.core, global.rxjs, global['sd-angular'].core.notify, global.ng.router, global.rxjs.operators, global.ng.common, global.ng.material.icon, global.ng.material.tooltip));
|
|
5
|
+
}(this, (function (exports, i0, rxjs, i1, router, operators, common, icon, tooltip) { 'use strict';
|
|
6
6
|
|
|
7
7
|
// export interface SdTabComponent {
|
|
8
8
|
// getTabInfo(args: {params: any, queryParams: any});
|
|
@@ -542,9 +542,10 @@
|
|
|
542
542
|
|
|
543
543
|
var _rootRoute, _subscription, _closeTab, _activeRoute, _getActivatedRouteSnapshot, _getActivatedRoute;
|
|
544
544
|
var SdTabRouterOutletComponent = /** @class */ (function () {
|
|
545
|
-
function SdTabRouterOutletComponent(router$1, cd, injector, compiler, parentContexts, tabDecoratorService, tabRouterService, sdNotifyService) {
|
|
545
|
+
function SdTabRouterOutletComponent(router$1, activatedRoute, cd, injector, compiler, parentContexts, tabDecoratorService, tabRouterService, sdNotifyService) {
|
|
546
546
|
var _this = this;
|
|
547
547
|
this.router = router$1;
|
|
548
|
+
this.activatedRoute = activatedRoute;
|
|
548
549
|
this.cd = cd;
|
|
549
550
|
this.injector = injector;
|
|
550
551
|
this.compiler = compiler;
|
|
@@ -584,7 +585,7 @@
|
|
|
584
585
|
}
|
|
585
586
|
});
|
|
586
587
|
_activeRoute.set(this, function (url, route) { return __awaiter(_this, void 0, void 0, function () {
|
|
587
|
-
var _a, _b, _c, _d, _e, _f, _g, component, queryParams, params, existedIndex, currentNavigation, existedTab, module, factory, injector_1,
|
|
588
|
+
var _a, _b, _c, _d, _e, _f, _g, component, queryParams, params, existedIndex, currentNavigation, existedTab, module, factory, injector_1, activatedRoute_1, tab;
|
|
588
589
|
var _this = this;
|
|
589
590
|
return __generator(this, function (_h) {
|
|
590
591
|
switch (_h.label) {
|
|
@@ -623,11 +624,11 @@
|
|
|
623
624
|
case 3:
|
|
624
625
|
factory = _h.sent();
|
|
625
626
|
injector_1 = factory.create(this.injector);
|
|
626
|
-
|
|
627
|
+
activatedRoute_1 = __classPrivateFieldGet(this, _getActivatedRoute).call(this, __classPrivateFieldGet(this, _rootRoute), component);
|
|
627
628
|
tab = {
|
|
628
629
|
key: url,
|
|
629
630
|
component: component,
|
|
630
|
-
injector: new SdOutletInjector(
|
|
631
|
+
injector: new SdOutletInjector(activatedRoute_1, injector_1),
|
|
631
632
|
isActive: true,
|
|
632
633
|
name: url,
|
|
633
634
|
url: url,
|
|
@@ -682,20 +683,19 @@
|
|
|
682
683
|
return null;
|
|
683
684
|
}
|
|
684
685
|
});
|
|
685
|
-
|
|
686
|
+
console.log(this.activatedRoute.snapshot.url);
|
|
687
|
+
__classPrivateFieldGet(this, _subscription).add(router$1.events.pipe(operators.filter(function (event) { return event instanceof router.NavigationEnd; }))
|
|
688
|
+
.subscribe(function (event) { return __awaiter(_this, void 0, void 0, function () {
|
|
686
689
|
var route;
|
|
687
690
|
return __generator(this, function (_h) {
|
|
688
691
|
switch (_h.label) {
|
|
689
692
|
case 0:
|
|
690
|
-
if (!(event instanceof router.RoutesRecognized)) return [3 /*break*/, 2];
|
|
691
|
-
console.log(event);
|
|
692
693
|
route = __classPrivateFieldGet(this, _getActivatedRouteSnapshot).call(this, event.state.root);
|
|
693
694
|
__classPrivateFieldSet(this, _rootRoute, this.router.routerState.root);
|
|
694
695
|
return [4 /*yield*/, __classPrivateFieldGet(this, _activeRoute).call(this, event.urlAfterRedirects || event.url, route)];
|
|
695
696
|
case 1:
|
|
696
697
|
_h.sent();
|
|
697
|
-
|
|
698
|
-
case 2: return [2 /*return*/];
|
|
698
|
+
return [2 /*return*/];
|
|
699
699
|
}
|
|
700
700
|
});
|
|
701
701
|
}); }));
|
|
@@ -720,6 +720,7 @@
|
|
|
720
720
|
];
|
|
721
721
|
SdTabRouterOutletComponent.ctorParameters = function () { return [
|
|
722
722
|
{ type: router.Router },
|
|
723
|
+
{ type: router.ActivatedRoute },
|
|
723
724
|
{ type: i0.ChangeDetectorRef },
|
|
724
725
|
{ type: i0.Injector },
|
|
725
726
|
{ type: i0.Compiler },
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sd-angular-core-tab-router.umd.js","sources":["../../../../projects/sd-core/tab-router/src/lib/models/tab-router.model.ts","../../../../node_modules/tslib/tslib.es6.js","../../../../projects/sd-core/tab-router/src/lib/events/tab-router.event.ts","../../../../projects/sd-core/tab-router/src/lib/services/tab-router.service.ts","../../../../projects/sd-core/tab-router/src/lib/services/tab-decorator.service.ts","../../../../projects/sd-core/tab-router/src/lib/decorators/tab.decorator.ts","../../../../projects/sd-core/tab-router/src/lib/components/tab-router-item/tab-router-item.component.ts","../../../../projects/sd-core/tab-router/src/lib/components/tab-router-nav/tab-router-nav.component.ts","../../../../projects/sd-core/tab-router/src/lib/components/tab-router-outlet/tab-router-outlet.component.ts","../../../../projects/sd-core/tab-router/src/lib/pipes/tab-info.pipe.ts","../../../../projects/sd-core/tab-router/src/lib/tab-router.module.ts","../../../../projects/sd-core/tab-router/src/public-api.ts","../../../../projects/sd-core/tab-router/sd-angular-core-tab-router.ts"],"sourcesContent":["import { Component, Type } from '@angular/core';\r\n\r\nexport interface SdTabInfo {\r\n name: string;\r\n initialName?: string;\r\n color?: string;\r\n}\r\n\r\nexport interface SdTab extends SdTabInfo {\r\n component: Type<any>;\r\n injector?: any;\r\n key: string;\r\n\r\n isActive: boolean;\r\n url: string;\r\n isChild?: boolean;\r\n params?: {\r\n [key: string]: string | number;\r\n };\r\n queryParams?: {\r\n [key: string]: string | number;\r\n };\r\n}\r\n\r\n// export interface SdTabComponent {\r\n// getTabInfo(args: {params: any, queryParams: any});\r\n// }","/*! *****************************************************************************\r\nCopyright (c) Microsoft Corporation.\r\n\r\nPermission to use, copy, modify, and/or distribute this software for any\r\npurpose with or without fee is hereby granted.\r\n\r\nTHE SOFTWARE IS PROVIDED \"AS IS\" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH\r\nREGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY\r\nAND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,\r\nINDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM\r\nLOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR\r\nOTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR\r\nPERFORMANCE OF THIS SOFTWARE.\r\n***************************************************************************** */\r\n/* global Reflect, Promise */\r\n\r\nvar extendStatics = function(d, b) {\r\n extendStatics = Object.setPrototypeOf ||\r\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\r\n function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };\r\n return extendStatics(d, b);\r\n};\r\n\r\nexport function __extends(d, b) {\r\n extendStatics(d, b);\r\n function __() { this.constructor = d; }\r\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\r\n}\r\n\r\nexport var __assign = function() {\r\n __assign = Object.assign || function __assign(t) {\r\n for (var s, i = 1, n = arguments.length; i < n; i++) {\r\n s = arguments[i];\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\r\n }\r\n return t;\r\n }\r\n return __assign.apply(this, arguments);\r\n}\r\n\r\nexport function __rest(s, e) {\r\n var t = {};\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\r\n t[p] = s[p];\r\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\r\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\r\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))\r\n t[p[i]] = s[p[i]];\r\n }\r\n return t;\r\n}\r\n\r\nexport function __decorate(decorators, target, key, desc) {\r\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\r\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\r\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\r\n return c > 3 && r && Object.defineProperty(target, key, r), r;\r\n}\r\n\r\nexport function __param(paramIndex, decorator) {\r\n return function (target, key) { decorator(target, key, paramIndex); }\r\n}\r\n\r\nexport function __metadata(metadataKey, metadataValue) {\r\n if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(metadataKey, metadataValue);\r\n}\r\n\r\nexport function __awaiter(thisArg, _arguments, P, generator) {\r\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\r\n return new (P || (P = Promise))(function (resolve, reject) {\r\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\r\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\r\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\r\n step((generator = generator.apply(thisArg, _arguments || [])).next());\r\n });\r\n}\r\n\r\nexport function __generator(thisArg, body) {\r\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\r\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\r\n function verb(n) { return function (v) { return step([n, v]); }; }\r\n function step(op) {\r\n if (f) throw new TypeError(\"Generator is already executing.\");\r\n while (_) try {\r\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\r\n if (y = 0, t) op = [op[0] & 2, t.value];\r\n switch (op[0]) {\r\n case 0: case 1: t = op; break;\r\n case 4: _.label++; return { value: op[1], done: false };\r\n case 5: _.label++; y = op[1]; op = [0]; continue;\r\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\r\n default:\r\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\r\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\r\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\r\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\r\n if (t[2]) _.ops.pop();\r\n _.trys.pop(); continue;\r\n }\r\n op = body.call(thisArg, _);\r\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\r\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\r\n }\r\n}\r\n\r\nexport var __createBinding = Object.create ? (function(o, m, k, k2) {\r\n if (k2 === undefined) k2 = k;\r\n Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });\r\n}) : (function(o, m, k, k2) {\r\n if (k2 === undefined) k2 = k;\r\n o[k2] = m[k];\r\n});\r\n\r\nexport function __exportStar(m, o) {\r\n for (var p in m) if (p !== \"default\" && !Object.prototype.hasOwnProperty.call(o, p)) __createBinding(o, m, p);\r\n}\r\n\r\nexport function __values(o) {\r\n var s = typeof Symbol === \"function\" && Symbol.iterator, m = s && o[s], i = 0;\r\n if (m) return m.call(o);\r\n if (o && typeof o.length === \"number\") return {\r\n next: function () {\r\n if (o && i >= o.length) o = void 0;\r\n return { value: o && o[i++], done: !o };\r\n }\r\n };\r\n throw new TypeError(s ? \"Object is not iterable.\" : \"Symbol.iterator is not defined.\");\r\n}\r\n\r\nexport function __read(o, n) {\r\n var m = typeof Symbol === \"function\" && o[Symbol.iterator];\r\n if (!m) return o;\r\n var i = m.call(o), r, ar = [], e;\r\n try {\r\n while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);\r\n }\r\n catch (error) { e = { error: error }; }\r\n finally {\r\n try {\r\n if (r && !r.done && (m = i[\"return\"])) m.call(i);\r\n }\r\n finally { if (e) throw e.error; }\r\n }\r\n return ar;\r\n}\r\n\r\nexport function __spread() {\r\n for (var ar = [], i = 0; i < arguments.length; i++)\r\n ar = ar.concat(__read(arguments[i]));\r\n return ar;\r\n}\r\n\r\nexport function __spreadArrays() {\r\n for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;\r\n for (var r = Array(s), k = 0, i = 0; i < il; i++)\r\n for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)\r\n r[k] = a[j];\r\n return r;\r\n};\r\n\r\nexport function __await(v) {\r\n return this instanceof __await ? (this.v = v, this) : new __await(v);\r\n}\r\n\r\nexport function __asyncGenerator(thisArg, _arguments, generator) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var g = generator.apply(thisArg, _arguments || []), i, q = [];\r\n return i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i;\r\n function verb(n) { if (g[n]) i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; }\r\n function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } }\r\n function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); }\r\n function fulfill(value) { resume(\"next\", value); }\r\n function reject(value) { resume(\"throw\", value); }\r\n function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); }\r\n}\r\n\r\nexport function __asyncDelegator(o) {\r\n var i, p;\r\n return i = {}, verb(\"next\"), verb(\"throw\", function (e) { throw e; }), verb(\"return\"), i[Symbol.iterator] = function () { return this; }, i;\r\n function verb(n, f) { i[n] = o[n] ? function (v) { return (p = !p) ? { value: __await(o[n](v)), done: n === \"return\" } : f ? f(v) : v; } : f; }\r\n}\r\n\r\nexport function __asyncValues(o) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var m = o[Symbol.asyncIterator], i;\r\n return m ? m.call(o) : (o = typeof __values === \"function\" ? __values(o) : o[Symbol.iterator](), i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i);\r\n function verb(n) { i[n] = o[n] && function (v) { return new Promise(function (resolve, reject) { v = o[n](v), settle(resolve, reject, v.done, v.value); }); }; }\r\n function settle(resolve, reject, d, v) { Promise.resolve(v).then(function(v) { resolve({ value: v, done: d }); }, reject); }\r\n}\r\n\r\nexport function __makeTemplateObject(cooked, raw) {\r\n if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\r\n return cooked;\r\n};\r\n\r\nvar __setModuleDefault = Object.create ? (function(o, v) {\r\n Object.defineProperty(o, \"default\", { enumerable: true, value: v });\r\n}) : function(o, v) {\r\n o[\"default\"] = v;\r\n};\r\n\r\nexport function __importStar(mod) {\r\n if (mod && mod.__esModule) return mod;\r\n var result = {};\r\n if (mod != null) for (var k in mod) if (k !== \"default\" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);\r\n __setModuleDefault(result, mod);\r\n return result;\r\n}\r\n\r\nexport function __importDefault(mod) {\r\n return (mod && mod.__esModule) ? mod : { default: mod };\r\n}\r\n\r\nexport function __classPrivateFieldGet(receiver, privateMap) {\r\n if (!privateMap.has(receiver)) {\r\n throw new TypeError(\"attempted to get private field on non-instance\");\r\n }\r\n return privateMap.get(receiver);\r\n}\r\n\r\nexport function __classPrivateFieldSet(receiver, privateMap, value) {\r\n if (!privateMap.has(receiver)) {\r\n throw new TypeError(\"attempted to set private field on non-instance\");\r\n }\r\n privateMap.set(receiver, value);\r\n return value;\r\n}\r\n","import { SdTab } from '../models/tab-router.model';\r\n\r\nexport class SdTabBase {\r\n #tab: SdTab | null;\r\n\r\n constructor(tab: SdTab | null) {\r\n this.#tab = tab;\r\n }\r\n\r\n get tab(): SdTab | null {\r\n return this.#tab;\r\n }\r\n}\r\n\r\nexport class SdTabActivated extends SdTabBase {}\r\n\r\nexport class SdTabDeactivated extends SdTabBase {}\r\n\r\nexport declare type SdTabEvent = SdTabActivated | SdTabDeactivated;\r\n","import { Injectable, Type } from '@angular/core';\r\nimport { BehaviorSubject } from 'rxjs';\r\nimport { SdTab } from '../models/tab-router.model';\r\nimport { SdTabAction } from '../actions/tab-router.action';\r\nimport { SdTabEvent, SdTabBase } from '../events/tab-router.event';\r\nimport { SdNotifyService } from '@sd-angular/core/notify';\r\nimport { SdTabComponentBuilder } from '../decorators/tab.decorator';\r\n\r\n@Injectable({\r\n providedIn: 'root',\r\n})\r\nexport class SdTabRouterService {\r\n private static service: SdTabRouterService | undefined = undefined;\r\n events = new BehaviorSubject<SdTabEvent>(new SdTabBase(null));\r\n actions = new BehaviorSubject<SdTabAction | null>(null);\r\n builders = new BehaviorSubject<SdTabComponentBuilder[]>([]);\r\n\r\n #currentTab: SdTab | null = null;\r\n #componentBuilders: SdTabComponentBuilder[] = [];\r\n // #tabs: SdTab[] = [];\r\n\r\n public static getService(): SdTabRouterService {\r\n if (!SdTabRouterService.service) {\r\n throw new Error('SdTabRouterService is not initialized');\r\n }\r\n return SdTabRouterService.service;\r\n }\r\n constructor(private notifyService: SdNotifyService) {\r\n SdTabRouterService.service = this;\r\n }\r\n\r\n addBuilder = (builder: SdTabComponentBuilder) => {\r\n if (!this.#componentBuilders.some(e => e.component === builder.component)) {\r\n this.#componentBuilders.push(builder);\r\n this.builders.next(this.#componentBuilders);\r\n }\r\n }\r\n\r\n get currentTab() {\r\n return this.#currentTab;\r\n }\r\n\r\n get key() {\r\n return this.#currentTab?.key || null;\r\n }\r\n\r\n // select = (tabOrKey: string | SdTab): void => {\r\n // const tab = this.#tabs.find(e => {\r\n // if (typeof (tabOrKey) === 'string') {\r\n // return e.key === tabOrKey;\r\n // }\r\n // return e.key === tabOrKey?.key;\r\n // });\r\n // if (tab) {\r\n // this.#currentTab = tab;\r\n // }\r\n // }\r\n\r\n // add = (tab: SdTab): void => {\r\n // if (!tab.key) {\r\n // this.notifyService.notify.warning('Tab key is required');\r\n // }\r\n // if (!tab.component) {\r\n // this.notifyService.notify.warning('Tab component is required');\r\n // }\r\n // const existedTab = this.#tabs.find(e => e.key === tab.key);\r\n // if (!existedTab) {\r\n // this.#tabs.push(tab);\r\n // this.select(tab);\r\n // } else {\r\n // this.select(existedTab);\r\n // }\r\n // }\r\n\r\n // remove = (tabOrKey: string | SdTab): void => {\r\n // this.#tabs = this.#tabs.filter(e => {\r\n // if (typeof (tabOrKey) === 'string') {\r\n // return e.key !== tabOrKey;\r\n // }\r\n // return e.key !== tabOrKey?.key;\r\n // });\r\n // }\r\n\r\n setCurrentTab = (tab: SdTab): void => {\r\n this.#currentTab = tab;\r\n }\r\n\r\n pushEvent = (tab: SdTab, Event: Type<SdTabEvent>) => {\r\n this.events.next(new Event(tab));\r\n }\r\n\r\n setOptions = () => { };\r\n\r\n close = (tab?: SdTab) => {\r\n if (tab) {\r\n this.actions.next({\r\n type: 'close',\r\n tab,\r\n });\r\n } else if (this.#currentTab) {\r\n this.actions.next({\r\n type: 'close',\r\n tab: this.#currentTab,\r\n });\r\n }\r\n }\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { SdTabRouterService } from './tab-router.service';\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class SdTabDecoratorService {\r\n private static service: SdTabRouterService | undefined = undefined;\r\n public constructor(service: SdTabRouterService) {\r\n SdTabDecoratorService.service = service;\r\n }\r\n public static getService(): SdTabRouterService {\r\n if (!SdTabDecoratorService.service) {\r\n throw new Error('SdTabDecoratorService not initialized');\r\n }\r\n return SdTabDecoratorService.service;\r\n }\r\n}\r\n","import { Type } from '@angular/core';\r\nimport { SdTabDecoratorService } from '../services/tab-decorator.service';\r\n\r\nexport declare interface SdTabComponentBuilder {\r\n component: Type<any>;\r\n name: string | ((args: { params: any, queryParams: any }) => string);\r\n initialName: string | ((args: { params: any, queryParams: any }) => string);\r\n color?: string | ((args: { params: any, queryParams: any }) => string);\r\n}\r\n\r\nexport function SdTabComponent<T>(builder: SdTabComponentBuilder) {\r\n return (constructor: T) => {\r\n const service = SdTabDecoratorService.getService();\r\n service.addBuilder(builder);\r\n console.log(constructor);\r\n };\r\n}\r\n","import { Component, Input } from '@angular/core';\r\n\r\nimport { SdTab } from '../../models/tab-router.model';\r\nimport { SdTabRouterService } from '../../services/tab-router.service';\r\n\r\n@Component({\r\n selector: 'sd-tab-router-item',\r\n templateUrl: './tab-router-item.component.html',\r\n styleUrls: ['./tab-router-item.component.scss'],\r\n})\r\nexport class SdTabRouterItemComponent {\r\n @Input() tab: SdTab;\r\n\r\n constructor(private tabRouterService: SdTabRouterService) {}\r\n\r\n close = (event: Event) => {\r\n event.preventDefault();\r\n event.stopPropagation();\r\n this.tabRouterService.close(this.tab);\r\n }\r\n}\r\n","import {\r\n Component,\r\n ElementRef,\r\n HostListener,\r\n Input,\r\n ViewChild,\r\n} from '@angular/core';\r\n\r\nimport { SdTab } from '../../models/tab-router.model';\r\n\r\n@Component({\r\n selector: 'sd-tab-router-nav',\r\n templateUrl: './tab-router-nav.component.html',\r\n styleUrls: ['./tab-router-nav.component.scss'],\r\n})\r\nexport class SdTabRouterNavComponent {\r\n @ViewChild('tabRouterNav') tabRouterNav: ElementRef;\r\n\r\n @Input() tabs: SdTab[];\r\n mode: 'default' | 'compact' = 'default';\r\n\r\n constructor() {}\r\n\r\n @HostListener('window:resize', ['$event'])\r\n onResize(event): void {\r\n this.checkUI();\r\n }\r\n\r\n checkUI = () => {\r\n const width = this.tabRouterNav.nativeElement.clientWidth;\r\n const nameWidth = (width - this.tabs.length * 64) / this.tabs.length;\r\n if (nameWidth <= 20) {\r\n this.mode = 'compact';\r\n } else {\r\n this.mode = 'default';\r\n }\r\n }\r\n}\r\n","import {\r\n ChangeDetectionStrategy,\r\n ChangeDetectorRef,\r\n Compiler,\r\n Component,\r\n Injector,\r\n NgModuleRef,\r\n OnDestroy,\r\n OnInit,\r\n Type,\r\n ViewChild,\r\n} from '@angular/core';\r\nimport {\r\n ActivatedRoute,\r\n ActivatedRouteSnapshot,\r\n ChildrenOutletContexts,\r\n // ChildrenOutletContexts,\r\n Event,\r\n PRIMARY_OUTLET,\r\n Router,\r\n RoutesRecognized,\r\n} from '@angular/router';\r\nimport { SdNotifyService } from '@sd-angular/core/notify';\r\nimport {\r\n SdTabActivated,\r\n SdTabDeactivated,\r\n} from '../../events/tab-router.event';\r\n\r\nimport { SdTab } from '../../models/tab-router.model';\r\nimport { SdTabAction } from '../../actions/tab-router.action';\r\nimport { SdTabRouterService } from '../../services/tab-router.service';\r\nimport { SdTabRouterNavComponent } from '../tab-router-nav/tab-router-nav.component';\r\nimport { Subscription } from 'rxjs';\r\nimport { SdTabDecoratorService } from '../../services/tab-decorator.service';\r\n\r\n@Component({\r\n selector: 'sd-tab-router-outlet',\r\n templateUrl: './tab-router-outlet.component.html',\r\n styleUrls: ['./tab-router-outlet.component.scss'],\r\n // changeDetection: ChangeDetectionStrategy.OnPush,\r\n})\r\nexport class SdTabRouterOutletComponent implements OnDestroy {\r\n @ViewChild('tabRouterNav') tabRouterNav: SdTabRouterNavComponent;\r\n tabs: SdTab[] = [];\r\n\r\n #rootRoute: ActivatedRoute;\r\n #subscription = new Subscription();\r\n constructor(\r\n private router: Router,\r\n private cd: ChangeDetectorRef,\r\n private injector: Injector,\r\n private compiler: Compiler,\r\n private parentContexts: ChildrenOutletContexts,\r\n private tabDecoratorService: SdTabDecoratorService,\r\n private tabRouterService: SdTabRouterService,\r\n private sdNotifyService: SdNotifyService\r\n ) {\r\n this.#subscription.add(router.events.subscribe(async (event: Event) => {\r\n if (event instanceof RoutesRecognized) {\r\n console.log(event);\r\n const route = this.#getActivatedRouteSnapshot(event.state.root);\r\n this.#rootRoute = this.router.routerState.root;\r\n await this.#activeRoute(event.urlAfterRedirects || event.url, route);\r\n }\r\n }));\r\n\r\n this.#subscription.add(tabRouterService.actions.subscribe((event: SdTabAction | null) => {\r\n if (event && event.type === 'close') {\r\n this.#closeTab(event.tab);\r\n }\r\n }));\r\n }\r\n\r\n ngOnDestroy(): void {\r\n this.#subscription.unsubscribe();\r\n }\r\n\r\n #closeTab = (tab: SdTab) => {\r\n this.tabs = this.tabs.filter(({ key }) => key !== tab.key);\r\n if (tab.isActive) {\r\n const lastTab = this.tabs[this.tabs.length - 1];\r\n if (lastTab) {\r\n this.router.navigateByUrl(lastTab.url, {\r\n state: {\r\n switchTab: true,\r\n },\r\n });\r\n } else {\r\n this.router.navigateByUrl('/', {\r\n state: {\r\n switchTab: true,\r\n },\r\n });\r\n }\r\n } else {\r\n this.tabRouterNav?.checkUI();\r\n this.cd.markForCheck();\r\n }\r\n }\r\n\r\n #activeRoute = async (url: string, route: ActivatedRouteSnapshot | null) => {\r\n if (!route?.component) {\r\n return;\r\n }\r\n const component = route.component as Type<any>;\r\n const queryParams = {\r\n ...(route.queryParams || {}),\r\n };\r\n const params = {\r\n ...(route.params || {}),\r\n };\r\n\r\n let existedIndex = -1;\r\n this.tabs.forEach((tab: SdTab, index: number) => {\r\n if (tab.key === url) {\r\n tab.isActive = true;\r\n existedIndex = index;\r\n } else {\r\n if (tab.isActive) {\r\n this.tabRouterService.pushEvent(tab, SdTabDeactivated);\r\n }\r\n tab.isActive = false;\r\n }\r\n });\r\n\r\n const currentNavigation = this.router.getCurrentNavigation();\r\n if (existedIndex >= 0 && currentNavigation?.extras?.state?.switchTab) {\r\n const existedTab = this.tabs[existedIndex];\r\n this.tabRouterService.setCurrentTab(existedTab);\r\n this.tabRouterService.pushEvent(existedTab, SdTabActivated);\r\n } else {\r\n if (typeof route?.parent?.routeConfig?.loadChildren === 'function') {\r\n const module = await route.parent.routeConfig.loadChildren();\r\n const factory = await this.compiler.compileModuleAsync(module);\r\n const injector = factory.create(this.injector);\r\n // let tabInfo = {};\r\n // if ('getTabInfo' in component) {\r\n // tabInfo = component.getTabInfo({\r\n // params,\r\n // queryParams,\r\n // });\r\n // }\r\n\r\n const activatedRoute = this.#getActivatedRoute(\r\n this.#rootRoute,\r\n component\r\n );\r\n\r\n const tab = {\r\n key: url,\r\n component,\r\n injector: new SdOutletInjector(activatedRoute, injector),\r\n\r\n isActive: true,\r\n name: url,\r\n url,\r\n params,\r\n queryParams,\r\n // ...tabInfo,\r\n };\r\n\r\n this.tabRouterService.setCurrentTab(tab);\r\n if (existedIndex >= 0 && !currentNavigation?.extras?.state?.switchTab) {\r\n this.tabs[existedIndex] = tab;\r\n } else {\r\n this.tabs.push(tab);\r\n }\r\n }\r\n\r\n this.tabRouterNav?.checkUI();\r\n if (this.tabs.length > 10) {\r\n this.sdNotifyService.notify.warning(\r\n 'Bạn đã mở quá nhiều tab. Vui lòng tắt các tab không dùng để hệ thống hoạt động tốt hơn.'\r\n );\r\n }\r\n if (this.tabs.length > 12) {\r\n this.tabs.splice(0, this.tabs.length - 10);\r\n }\r\n }\r\n this.cd.markForCheck();\r\n }\r\n\r\n #getActivatedRouteSnapshot = (\r\n activatedRouteSnapshot: ActivatedRouteSnapshot\r\n ): ActivatedRouteSnapshot | null => {\r\n if (!activatedRouteSnapshot) {\r\n return null;\r\n }\r\n\r\n if (activatedRouteSnapshot.firstChild) {\r\n return this.#getActivatedRouteSnapshot(activatedRouteSnapshot.firstChild);\r\n } else {\r\n return activatedRouteSnapshot;\r\n }\r\n }\r\n\r\n #getActivatedRoute = (\r\n activatedRoute: ActivatedRoute,\r\n component: any\r\n ): ActivatedRoute | null => {\r\n if (!activatedRoute) {\r\n return null;\r\n }\r\n\r\n if (activatedRoute.component && activatedRoute.component === component) {\r\n return activatedRoute;\r\n } else if (activatedRoute.firstChild) {\r\n return this.#getActivatedRoute(activatedRoute.firstChild, component);\r\n } else {\r\n return null;\r\n }\r\n }\r\n}\r\n\r\nclass SdOutletInjector implements Injector {\r\n constructor(\r\n private route: ActivatedRoute | null,\r\n // private childContexts: ChildrenOutletContexts,\r\n private parent: any\r\n ) {}\r\n\r\n get(token: any, notFoundValue?: any): any {\r\n if (token === ActivatedRoute && this.route) {\r\n return this.route;\r\n }\r\n\r\n // if (token === ChildrenOutletContexts) {\r\n // return this.childContexts;\r\n // }\r\n\r\n return this.parent.get(token, notFoundValue);\r\n }\r\n}\r\n","import { Pipe, PipeTransform } from '@angular/core';\r\nimport { Observable } from 'rxjs';\r\nimport { map } from 'rxjs/operators';\r\nimport { SdTab, SdTabInfo } from '../models/tab-router.model';\r\nimport { SdTabRouterService } from '../services/tab-router.service';\r\n@Pipe({\r\n name: 'sdTabInfo'\r\n})\r\nexport class SdTabInfoPipe implements PipeTransform {\r\n constructor(private tabRouterService: SdTabRouterService) { }\r\n transform(tab: SdTab): Observable<SdTabInfo> {\r\n return this.tabRouterService.builders.pipe(map(builders => {\r\n const builder = builders.find(e => e.component === tab.component);\r\n if (builder) {\r\n const { params, queryParams } = tab;\r\n return {\r\n name: typeof (builder.name) === 'function' ? builder.name({ params, queryParams }) : builder.name,\r\n initialName: typeof (builder.initialName) === 'function' ? builder.initialName({ params, queryParams }) : builder.initialName,\r\n color: typeof (builder.color) === 'function' ? builder.color({ params, queryParams }) : builder.color\r\n };\r\n }\r\n return {\r\n name: tab.url,\r\n initialName: tab.url[0],\r\n };\r\n }));\r\n }\r\n}\r\n","import { NgModule } from '@angular/core';\r\nimport { RouterModule } from '@angular/router';\r\nimport { CommonModule } from '@angular/common';\r\nimport { MatIconModule } from '@angular/material/icon';\r\nimport { MatTooltipModule } from '@angular/material/tooltip';\r\n\r\nimport { SdTabRouterItemComponent } from './components/tab-router-item/tab-router-item.component';\r\nimport { SdTabRouterNavComponent } from './components/tab-router-nav/tab-router-nav.component';\r\nimport { SdTabRouterOutletComponent } from './components/tab-router-outlet/tab-router-outlet.component';\r\nimport { SdTabInfoPipe } from './pipes/tab-info.pipe';\r\n\r\n@NgModule({\r\n declarations: [\r\n SdTabRouterItemComponent,\r\n SdTabRouterNavComponent,\r\n SdTabRouterOutletComponent,\r\n SdTabInfoPipe,\r\n ],\r\n imports: [RouterModule, CommonModule, MatIconModule, MatTooltipModule],\r\n exports: [\r\n SdTabRouterItemComponent,\r\n SdTabRouterNavComponent,\r\n SdTabRouterOutletComponent,\r\n ],\r\n providers: [],\r\n})\r\nexport class SdTabRouterModule {}\r\n","/*\r\n * Public API Surface of superdev-angular-core\r\n */\r\n\r\n// Models\r\nexport * from './lib/models/tab-router.model';\r\nexport * from './lib/events/tab-router.event';\r\nexport * from './lib/actions/tab-router.action';\r\n\r\n// Decorators\r\nexport * from './lib/decorators/tab.decorator';\r\n\r\n// Service\r\nexport * from './lib/services/tab-router.service';\r\nexport * from './lib/services/tab-decorator.service';\r\n\r\n// Components\r\nexport * from './lib/components/tab-router-item/tab-router-item.component';\r\nexport * from './lib/components/tab-router-nav/tab-router-nav.component';\r\nexport * from './lib/components/tab-router-outlet/tab-router-outlet.component';\r\n\r\n// Module\r\nexport * from './lib/tab-router.module';\r\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n\nexport {SdTabInfoPipe as ɵa} from './src/lib/pipes/tab-info.pipe';"],"names":["BehaviorSubject","Injectable","SdNotifyService","Component","Input","ViewChild","HostListener","router","Subscription","RoutesRecognized","Router","ChangeDetectorRef","Injector","Compiler","ChildrenOutletContexts","ActivatedRoute","map","Pipe","NgModule","RouterModule","CommonModule","MatIconModule","MatTooltipModule"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"sd-angular-core-tab-router.umd.js","sources":["../../../../projects/sd-core/tab-router/src/lib/models/tab-router.model.ts","../../../../node_modules/tslib/tslib.es6.js","../../../../projects/sd-core/tab-router/src/lib/events/tab-router.event.ts","../../../../projects/sd-core/tab-router/src/lib/services/tab-router.service.ts","../../../../projects/sd-core/tab-router/src/lib/services/tab-decorator.service.ts","../../../../projects/sd-core/tab-router/src/lib/decorators/tab.decorator.ts","../../../../projects/sd-core/tab-router/src/lib/components/tab-router-item/tab-router-item.component.ts","../../../../projects/sd-core/tab-router/src/lib/components/tab-router-nav/tab-router-nav.component.ts","../../../../projects/sd-core/tab-router/src/lib/components/tab-router-outlet/tab-router-outlet.component.ts","../../../../projects/sd-core/tab-router/src/lib/pipes/tab-info.pipe.ts","../../../../projects/sd-core/tab-router/src/lib/tab-router.module.ts","../../../../projects/sd-core/tab-router/src/public-api.ts","../../../../projects/sd-core/tab-router/sd-angular-core-tab-router.ts"],"sourcesContent":["import { Component, Type } from '@angular/core';\r\n\r\nexport interface SdTabInfo {\r\n name: string;\r\n initialName?: string;\r\n color?: string;\r\n}\r\n\r\nexport interface SdTab extends SdTabInfo {\r\n component: Type<any>;\r\n injector?: any;\r\n key: string;\r\n\r\n isActive: boolean;\r\n url: string;\r\n isChild?: boolean;\r\n params?: {\r\n [key: string]: string | number;\r\n };\r\n queryParams?: {\r\n [key: string]: string | number;\r\n };\r\n}\r\n\r\n// export interface SdTabComponent {\r\n// getTabInfo(args: {params: any, queryParams: any});\r\n// }","/*! *****************************************************************************\r\nCopyright (c) Microsoft Corporation.\r\n\r\nPermission to use, copy, modify, and/or distribute this software for any\r\npurpose with or without fee is hereby granted.\r\n\r\nTHE SOFTWARE IS PROVIDED \"AS IS\" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH\r\nREGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY\r\nAND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,\r\nINDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM\r\nLOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR\r\nOTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR\r\nPERFORMANCE OF THIS SOFTWARE.\r\n***************************************************************************** */\r\n/* global Reflect, Promise */\r\n\r\nvar extendStatics = function(d, b) {\r\n extendStatics = Object.setPrototypeOf ||\r\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\r\n function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };\r\n return extendStatics(d, b);\r\n};\r\n\r\nexport function __extends(d, b) {\r\n extendStatics(d, b);\r\n function __() { this.constructor = d; }\r\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\r\n}\r\n\r\nexport var __assign = function() {\r\n __assign = Object.assign || function __assign(t) {\r\n for (var s, i = 1, n = arguments.length; i < n; i++) {\r\n s = arguments[i];\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\r\n }\r\n return t;\r\n }\r\n return __assign.apply(this, arguments);\r\n}\r\n\r\nexport function __rest(s, e) {\r\n var t = {};\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\r\n t[p] = s[p];\r\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\r\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\r\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))\r\n t[p[i]] = s[p[i]];\r\n }\r\n return t;\r\n}\r\n\r\nexport function __decorate(decorators, target, key, desc) {\r\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\r\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\r\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\r\n return c > 3 && r && Object.defineProperty(target, key, r), r;\r\n}\r\n\r\nexport function __param(paramIndex, decorator) {\r\n return function (target, key) { decorator(target, key, paramIndex); }\r\n}\r\n\r\nexport function __metadata(metadataKey, metadataValue) {\r\n if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(metadataKey, metadataValue);\r\n}\r\n\r\nexport function __awaiter(thisArg, _arguments, P, generator) {\r\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\r\n return new (P || (P = Promise))(function (resolve, reject) {\r\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\r\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\r\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\r\n step((generator = generator.apply(thisArg, _arguments || [])).next());\r\n });\r\n}\r\n\r\nexport function __generator(thisArg, body) {\r\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\r\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\r\n function verb(n) { return function (v) { return step([n, v]); }; }\r\n function step(op) {\r\n if (f) throw new TypeError(\"Generator is already executing.\");\r\n while (_) try {\r\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\r\n if (y = 0, t) op = [op[0] & 2, t.value];\r\n switch (op[0]) {\r\n case 0: case 1: t = op; break;\r\n case 4: _.label++; return { value: op[1], done: false };\r\n case 5: _.label++; y = op[1]; op = [0]; continue;\r\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\r\n default:\r\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\r\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\r\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\r\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\r\n if (t[2]) _.ops.pop();\r\n _.trys.pop(); continue;\r\n }\r\n op = body.call(thisArg, _);\r\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\r\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\r\n }\r\n}\r\n\r\nexport var __createBinding = Object.create ? (function(o, m, k, k2) {\r\n if (k2 === undefined) k2 = k;\r\n Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });\r\n}) : (function(o, m, k, k2) {\r\n if (k2 === undefined) k2 = k;\r\n o[k2] = m[k];\r\n});\r\n\r\nexport function __exportStar(m, o) {\r\n for (var p in m) if (p !== \"default\" && !Object.prototype.hasOwnProperty.call(o, p)) __createBinding(o, m, p);\r\n}\r\n\r\nexport function __values(o) {\r\n var s = typeof Symbol === \"function\" && Symbol.iterator, m = s && o[s], i = 0;\r\n if (m) return m.call(o);\r\n if (o && typeof o.length === \"number\") return {\r\n next: function () {\r\n if (o && i >= o.length) o = void 0;\r\n return { value: o && o[i++], done: !o };\r\n }\r\n };\r\n throw new TypeError(s ? \"Object is not iterable.\" : \"Symbol.iterator is not defined.\");\r\n}\r\n\r\nexport function __read(o, n) {\r\n var m = typeof Symbol === \"function\" && o[Symbol.iterator];\r\n if (!m) return o;\r\n var i = m.call(o), r, ar = [], e;\r\n try {\r\n while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);\r\n }\r\n catch (error) { e = { error: error }; }\r\n finally {\r\n try {\r\n if (r && !r.done && (m = i[\"return\"])) m.call(i);\r\n }\r\n finally { if (e) throw e.error; }\r\n }\r\n return ar;\r\n}\r\n\r\nexport function __spread() {\r\n for (var ar = [], i = 0; i < arguments.length; i++)\r\n ar = ar.concat(__read(arguments[i]));\r\n return ar;\r\n}\r\n\r\nexport function __spreadArrays() {\r\n for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;\r\n for (var r = Array(s), k = 0, i = 0; i < il; i++)\r\n for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)\r\n r[k] = a[j];\r\n return r;\r\n};\r\n\r\nexport function __await(v) {\r\n return this instanceof __await ? (this.v = v, this) : new __await(v);\r\n}\r\n\r\nexport function __asyncGenerator(thisArg, _arguments, generator) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var g = generator.apply(thisArg, _arguments || []), i, q = [];\r\n return i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i;\r\n function verb(n) { if (g[n]) i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; }\r\n function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } }\r\n function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); }\r\n function fulfill(value) { resume(\"next\", value); }\r\n function reject(value) { resume(\"throw\", value); }\r\n function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); }\r\n}\r\n\r\nexport function __asyncDelegator(o) {\r\n var i, p;\r\n return i = {}, verb(\"next\"), verb(\"throw\", function (e) { throw e; }), verb(\"return\"), i[Symbol.iterator] = function () { return this; }, i;\r\n function verb(n, f) { i[n] = o[n] ? function (v) { return (p = !p) ? { value: __await(o[n](v)), done: n === \"return\" } : f ? f(v) : v; } : f; }\r\n}\r\n\r\nexport function __asyncValues(o) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var m = o[Symbol.asyncIterator], i;\r\n return m ? m.call(o) : (o = typeof __values === \"function\" ? __values(o) : o[Symbol.iterator](), i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i);\r\n function verb(n) { i[n] = o[n] && function (v) { return new Promise(function (resolve, reject) { v = o[n](v), settle(resolve, reject, v.done, v.value); }); }; }\r\n function settle(resolve, reject, d, v) { Promise.resolve(v).then(function(v) { resolve({ value: v, done: d }); }, reject); }\r\n}\r\n\r\nexport function __makeTemplateObject(cooked, raw) {\r\n if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\r\n return cooked;\r\n};\r\n\r\nvar __setModuleDefault = Object.create ? (function(o, v) {\r\n Object.defineProperty(o, \"default\", { enumerable: true, value: v });\r\n}) : function(o, v) {\r\n o[\"default\"] = v;\r\n};\r\n\r\nexport function __importStar(mod) {\r\n if (mod && mod.__esModule) return mod;\r\n var result = {};\r\n if (mod != null) for (var k in mod) if (k !== \"default\" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);\r\n __setModuleDefault(result, mod);\r\n return result;\r\n}\r\n\r\nexport function __importDefault(mod) {\r\n return (mod && mod.__esModule) ? mod : { default: mod };\r\n}\r\n\r\nexport function __classPrivateFieldGet(receiver, privateMap) {\r\n if (!privateMap.has(receiver)) {\r\n throw new TypeError(\"attempted to get private field on non-instance\");\r\n }\r\n return privateMap.get(receiver);\r\n}\r\n\r\nexport function __classPrivateFieldSet(receiver, privateMap, value) {\r\n if (!privateMap.has(receiver)) {\r\n throw new TypeError(\"attempted to set private field on non-instance\");\r\n }\r\n privateMap.set(receiver, value);\r\n return value;\r\n}\r\n","import { SdTab } from '../models/tab-router.model';\r\n\r\nexport class SdTabBase {\r\n #tab: SdTab | null;\r\n\r\n constructor(tab: SdTab | null) {\r\n this.#tab = tab;\r\n }\r\n\r\n get tab(): SdTab | null {\r\n return this.#tab;\r\n }\r\n}\r\n\r\nexport class SdTabActivated extends SdTabBase {}\r\n\r\nexport class SdTabDeactivated extends SdTabBase {}\r\n\r\nexport declare type SdTabEvent = SdTabActivated | SdTabDeactivated;\r\n","import { Injectable, Type } from '@angular/core';\r\nimport { BehaviorSubject } from 'rxjs';\r\nimport { SdTab } from '../models/tab-router.model';\r\nimport { SdTabAction } from '../actions/tab-router.action';\r\nimport { SdTabEvent, SdTabBase } from '../events/tab-router.event';\r\nimport { SdNotifyService } from '@sd-angular/core/notify';\r\nimport { SdTabComponentBuilder } from '../decorators/tab.decorator';\r\n\r\n@Injectable({\r\n providedIn: 'root',\r\n})\r\nexport class SdTabRouterService {\r\n private static service: SdTabRouterService | undefined = undefined;\r\n events = new BehaviorSubject<SdTabEvent>(new SdTabBase(null));\r\n actions = new BehaviorSubject<SdTabAction | null>(null);\r\n builders = new BehaviorSubject<SdTabComponentBuilder[]>([]);\r\n\r\n #currentTab: SdTab | null = null;\r\n #componentBuilders: SdTabComponentBuilder[] = [];\r\n // #tabs: SdTab[] = [];\r\n\r\n public static getService(): SdTabRouterService {\r\n if (!SdTabRouterService.service) {\r\n throw new Error('SdTabRouterService is not initialized');\r\n }\r\n return SdTabRouterService.service;\r\n }\r\n constructor(private notifyService: SdNotifyService) {\r\n SdTabRouterService.service = this;\r\n }\r\n\r\n addBuilder = (builder: SdTabComponentBuilder) => {\r\n if (!this.#componentBuilders.some(e => e.component === builder.component)) {\r\n this.#componentBuilders.push(builder);\r\n this.builders.next(this.#componentBuilders);\r\n }\r\n }\r\n\r\n get currentTab() {\r\n return this.#currentTab;\r\n }\r\n\r\n get key() {\r\n return this.#currentTab?.key || null;\r\n }\r\n\r\n // select = (tabOrKey: string | SdTab): void => {\r\n // const tab = this.#tabs.find(e => {\r\n // if (typeof (tabOrKey) === 'string') {\r\n // return e.key === tabOrKey;\r\n // }\r\n // return e.key === tabOrKey?.key;\r\n // });\r\n // if (tab) {\r\n // this.#currentTab = tab;\r\n // }\r\n // }\r\n\r\n // add = (tab: SdTab): void => {\r\n // if (!tab.key) {\r\n // this.notifyService.notify.warning('Tab key is required');\r\n // }\r\n // if (!tab.component) {\r\n // this.notifyService.notify.warning('Tab component is required');\r\n // }\r\n // const existedTab = this.#tabs.find(e => e.key === tab.key);\r\n // if (!existedTab) {\r\n // this.#tabs.push(tab);\r\n // this.select(tab);\r\n // } else {\r\n // this.select(existedTab);\r\n // }\r\n // }\r\n\r\n // remove = (tabOrKey: string | SdTab): void => {\r\n // this.#tabs = this.#tabs.filter(e => {\r\n // if (typeof (tabOrKey) === 'string') {\r\n // return e.key !== tabOrKey;\r\n // }\r\n // return e.key !== tabOrKey?.key;\r\n // });\r\n // }\r\n\r\n setCurrentTab = (tab: SdTab): void => {\r\n this.#currentTab = tab;\r\n }\r\n\r\n pushEvent = (tab: SdTab, Event: Type<SdTabEvent>) => {\r\n this.events.next(new Event(tab));\r\n }\r\n\r\n setOptions = () => { };\r\n\r\n close = (tab?: SdTab) => {\r\n if (tab) {\r\n this.actions.next({\r\n type: 'close',\r\n tab,\r\n });\r\n } else if (this.#currentTab) {\r\n this.actions.next({\r\n type: 'close',\r\n tab: this.#currentTab,\r\n });\r\n }\r\n }\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { SdTabRouterService } from './tab-router.service';\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class SdTabDecoratorService {\r\n private static service: SdTabRouterService | undefined = undefined;\r\n public constructor(service: SdTabRouterService) {\r\n SdTabDecoratorService.service = service;\r\n }\r\n public static getService(): SdTabRouterService {\r\n if (!SdTabDecoratorService.service) {\r\n throw new Error('SdTabDecoratorService not initialized');\r\n }\r\n return SdTabDecoratorService.service;\r\n }\r\n}\r\n","import { Type } from '@angular/core';\r\nimport { SdTabDecoratorService } from '../services/tab-decorator.service';\r\n\r\nexport declare interface SdTabComponentBuilder {\r\n component: Type<any>;\r\n name: string | ((args: { params: any, queryParams: any }) => string);\r\n initialName: string | ((args: { params: any, queryParams: any }) => string);\r\n color?: string | ((args: { params: any, queryParams: any }) => string);\r\n}\r\n\r\nexport function SdTabComponent<T>(builder: SdTabComponentBuilder) {\r\n return (constructor: T) => {\r\n const service = SdTabDecoratorService.getService();\r\n service.addBuilder(builder);\r\n console.log(constructor);\r\n };\r\n}\r\n","import { Component, Input } from '@angular/core';\r\n\r\nimport { SdTab } from '../../models/tab-router.model';\r\nimport { SdTabRouterService } from '../../services/tab-router.service';\r\n\r\n@Component({\r\n selector: 'sd-tab-router-item',\r\n templateUrl: './tab-router-item.component.html',\r\n styleUrls: ['./tab-router-item.component.scss'],\r\n})\r\nexport class SdTabRouterItemComponent {\r\n @Input() tab: SdTab;\r\n\r\n constructor(private tabRouterService: SdTabRouterService) {}\r\n\r\n close = (event: Event) => {\r\n event.preventDefault();\r\n event.stopPropagation();\r\n this.tabRouterService.close(this.tab);\r\n }\r\n}\r\n","import {\r\n Component,\r\n ElementRef,\r\n HostListener,\r\n Input,\r\n ViewChild,\r\n} from '@angular/core';\r\n\r\nimport { SdTab } from '../../models/tab-router.model';\r\n\r\n@Component({\r\n selector: 'sd-tab-router-nav',\r\n templateUrl: './tab-router-nav.component.html',\r\n styleUrls: ['./tab-router-nav.component.scss'],\r\n})\r\nexport class SdTabRouterNavComponent {\r\n @ViewChild('tabRouterNav') tabRouterNav: ElementRef;\r\n\r\n @Input() tabs: SdTab[];\r\n mode: 'default' | 'compact' = 'default';\r\n\r\n constructor() {}\r\n\r\n @HostListener('window:resize', ['$event'])\r\n onResize(event): void {\r\n this.checkUI();\r\n }\r\n\r\n checkUI = () => {\r\n const width = this.tabRouterNav.nativeElement.clientWidth;\r\n const nameWidth = (width - this.tabs.length * 64) / this.tabs.length;\r\n if (nameWidth <= 20) {\r\n this.mode = 'compact';\r\n } else {\r\n this.mode = 'default';\r\n }\r\n }\r\n}\r\n","import {\r\n ChangeDetectionStrategy,\r\n ChangeDetectorRef,\r\n Compiler,\r\n Component,\r\n Injector,\r\n NgModuleRef,\r\n OnDestroy,\r\n OnInit,\r\n Type,\r\n ViewChild,\r\n} from '@angular/core';\r\nimport {\r\n ActivatedRoute,\r\n ActivatedRouteSnapshot,\r\n ChildrenOutletContexts,\r\n // ChildrenOutletContexts,\r\n Event,\r\n NavigationEnd,\r\n PRIMARY_OUTLET,\r\n Router,\r\n RoutesRecognized,\r\n} from '@angular/router';\r\nimport { SdNotifyService } from '@sd-angular/core/notify';\r\nimport {\r\n SdTabActivated,\r\n SdTabDeactivated,\r\n} from '../../events/tab-router.event';\r\n\r\nimport { SdTab } from '../../models/tab-router.model';\r\nimport { SdTabAction } from '../../actions/tab-router.action';\r\nimport { SdTabRouterService } from '../../services/tab-router.service';\r\nimport { SdTabRouterNavComponent } from '../tab-router-nav/tab-router-nav.component';\r\nimport { Subscription } from 'rxjs';\r\nimport { SdTabDecoratorService } from '../../services/tab-decorator.service';\r\nimport { filter } from 'rxjs/operators';\r\n\r\n@Component({\r\n selector: 'sd-tab-router-outlet',\r\n templateUrl: './tab-router-outlet.component.html',\r\n styleUrls: ['./tab-router-outlet.component.scss'],\r\n // changeDetection: ChangeDetectionStrategy.OnPush,\r\n})\r\nexport class SdTabRouterOutletComponent implements OnDestroy {\r\n @ViewChild('tabRouterNav') tabRouterNav: SdTabRouterNavComponent;\r\n tabs: SdTab[] = [];\r\n\r\n #rootRoute: ActivatedRoute;\r\n #subscription = new Subscription();\r\n constructor(\r\n private router: Router,\r\n private activatedRoute: ActivatedRoute,\r\n private cd: ChangeDetectorRef,\r\n private injector: Injector,\r\n private compiler: Compiler,\r\n private parentContexts: ChildrenOutletContexts,\r\n private tabDecoratorService: SdTabDecoratorService,\r\n private tabRouterService: SdTabRouterService,\r\n private sdNotifyService: SdNotifyService\r\n ) {\r\n console.log(this.activatedRoute.snapshot.url);\r\n this.#subscription.add(router.events.pipe(filter(event => event instanceof NavigationEnd))\r\n .subscribe(async (event: RoutesRecognized) => {\r\n const route = this.#getActivatedRouteSnapshot(event.state.root);\r\n this.#rootRoute = this.router.routerState.root;\r\n await this.#activeRoute(event.urlAfterRedirects || event.url, route);\r\n }));\r\n\r\n this.#subscription.add(tabRouterService.actions.subscribe((event: SdTabAction | null) => {\r\n if (event && event.type === 'close') {\r\n this.#closeTab(event.tab);\r\n }\r\n }));\r\n }\r\n\r\n ngOnDestroy(): void {\r\n this.#subscription.unsubscribe();\r\n }\r\n\r\n #closeTab = (tab: SdTab) => {\r\n this.tabs = this.tabs.filter(({ key }) => key !== tab.key);\r\n if (tab.isActive) {\r\n const lastTab = this.tabs[this.tabs.length - 1];\r\n if (lastTab) {\r\n this.router.navigateByUrl(lastTab.url, {\r\n state: {\r\n switchTab: true,\r\n },\r\n });\r\n } else {\r\n this.router.navigateByUrl('/', {\r\n state: {\r\n switchTab: true,\r\n },\r\n });\r\n }\r\n } else {\r\n this.tabRouterNav?.checkUI();\r\n this.cd.markForCheck();\r\n }\r\n }\r\n\r\n #activeRoute = async (url: string, route: ActivatedRouteSnapshot | null) => {\r\n if (!route?.component) {\r\n return;\r\n }\r\n const component = route.component as Type<any>;\r\n const queryParams = {\r\n ...(route.queryParams || {}),\r\n };\r\n const params = {\r\n ...(route.params || {}),\r\n };\r\n\r\n let existedIndex = -1;\r\n this.tabs.forEach((tab: SdTab, index: number) => {\r\n if (tab.key === url) {\r\n tab.isActive = true;\r\n existedIndex = index;\r\n } else {\r\n if (tab.isActive) {\r\n this.tabRouterService.pushEvent(tab, SdTabDeactivated);\r\n }\r\n tab.isActive = false;\r\n }\r\n });\r\n\r\n const currentNavigation = this.router.getCurrentNavigation();\r\n if (existedIndex >= 0 && currentNavigation?.extras?.state?.switchTab) {\r\n const existedTab = this.tabs[existedIndex];\r\n this.tabRouterService.setCurrentTab(existedTab);\r\n this.tabRouterService.pushEvent(existedTab, SdTabActivated);\r\n } else {\r\n if (typeof route?.parent?.routeConfig?.loadChildren === 'function') {\r\n const module = await route.parent.routeConfig.loadChildren();\r\n const factory = await this.compiler.compileModuleAsync(module);\r\n const injector = factory.create(this.injector);\r\n // let tabInfo = {};\r\n // if ('getTabInfo' in component) {\r\n // tabInfo = component.getTabInfo({\r\n // params,\r\n // queryParams,\r\n // });\r\n // }\r\n\r\n const activatedRoute = this.#getActivatedRoute(\r\n this.#rootRoute,\r\n component\r\n );\r\n\r\n const tab = {\r\n key: url,\r\n component,\r\n injector: new SdOutletInjector(activatedRoute, injector),\r\n\r\n isActive: true,\r\n name: url,\r\n url,\r\n params,\r\n queryParams,\r\n // ...tabInfo,\r\n };\r\n\r\n this.tabRouterService.setCurrentTab(tab);\r\n if (existedIndex >= 0 && !currentNavigation?.extras?.state?.switchTab) {\r\n this.tabs[existedIndex] = tab;\r\n } else {\r\n this.tabs.push(tab);\r\n }\r\n }\r\n\r\n this.tabRouterNav?.checkUI();\r\n if (this.tabs.length > 10) {\r\n this.sdNotifyService.notify.warning(\r\n 'Bạn đã mở quá nhiều tab. Vui lòng tắt các tab không dùng để hệ thống hoạt động tốt hơn.'\r\n );\r\n }\r\n if (this.tabs.length > 12) {\r\n this.tabs.splice(0, this.tabs.length - 10);\r\n }\r\n }\r\n this.cd.markForCheck();\r\n }\r\n\r\n #getActivatedRouteSnapshot = (\r\n activatedRouteSnapshot: ActivatedRouteSnapshot\r\n ): ActivatedRouteSnapshot | null => {\r\n if (!activatedRouteSnapshot) {\r\n return null;\r\n }\r\n\r\n if (activatedRouteSnapshot.firstChild) {\r\n return this.#getActivatedRouteSnapshot(activatedRouteSnapshot.firstChild);\r\n } else {\r\n return activatedRouteSnapshot;\r\n }\r\n }\r\n\r\n #getActivatedRoute = (\r\n activatedRoute: ActivatedRoute,\r\n component: any\r\n ): ActivatedRoute | null => {\r\n if (!activatedRoute) {\r\n return null;\r\n }\r\n\r\n if (activatedRoute.component && activatedRoute.component === component) {\r\n return activatedRoute;\r\n } else if (activatedRoute.firstChild) {\r\n return this.#getActivatedRoute(activatedRoute.firstChild, component);\r\n } else {\r\n return null;\r\n }\r\n }\r\n}\r\n\r\nclass SdOutletInjector implements Injector {\r\n constructor(\r\n private route: ActivatedRoute | null,\r\n // private childContexts: ChildrenOutletContexts,\r\n private parent: any\r\n ) { }\r\n\r\n get(token: any, notFoundValue?: any): any {\r\n if (token === ActivatedRoute && this.route) {\r\n return this.route;\r\n }\r\n\r\n // if (token === ChildrenOutletContexts) {\r\n // return this.childContexts;\r\n // }\r\n\r\n return this.parent.get(token, notFoundValue);\r\n }\r\n}\r\n","import { Pipe, PipeTransform } from '@angular/core';\r\nimport { Observable } from 'rxjs';\r\nimport { map } from 'rxjs/operators';\r\nimport { SdTab, SdTabInfo } from '../models/tab-router.model';\r\nimport { SdTabRouterService } from '../services/tab-router.service';\r\n@Pipe({\r\n name: 'sdTabInfo'\r\n})\r\nexport class SdTabInfoPipe implements PipeTransform {\r\n constructor(private tabRouterService: SdTabRouterService) { }\r\n transform(tab: SdTab): Observable<SdTabInfo> {\r\n return this.tabRouterService.builders.pipe(map(builders => {\r\n const builder = builders.find(e => e.component === tab.component);\r\n if (builder) {\r\n const { params, queryParams } = tab;\r\n return {\r\n name: typeof (builder.name) === 'function' ? builder.name({ params, queryParams }) : builder.name,\r\n initialName: typeof (builder.initialName) === 'function' ? builder.initialName({ params, queryParams }) : builder.initialName,\r\n color: typeof (builder.color) === 'function' ? builder.color({ params, queryParams }) : builder.color\r\n };\r\n }\r\n return {\r\n name: tab.url,\r\n initialName: tab.url[0],\r\n };\r\n }));\r\n }\r\n}\r\n","import { NgModule } from '@angular/core';\r\nimport { RouterModule } from '@angular/router';\r\nimport { CommonModule } from '@angular/common';\r\nimport { MatIconModule } from '@angular/material/icon';\r\nimport { MatTooltipModule } from '@angular/material/tooltip';\r\n\r\nimport { SdTabRouterItemComponent } from './components/tab-router-item/tab-router-item.component';\r\nimport { SdTabRouterNavComponent } from './components/tab-router-nav/tab-router-nav.component';\r\nimport { SdTabRouterOutletComponent } from './components/tab-router-outlet/tab-router-outlet.component';\r\nimport { SdTabInfoPipe } from './pipes/tab-info.pipe';\r\n\r\n@NgModule({\r\n declarations: [\r\n SdTabRouterItemComponent,\r\n SdTabRouterNavComponent,\r\n SdTabRouterOutletComponent,\r\n SdTabInfoPipe,\r\n ],\r\n imports: [RouterModule, CommonModule, MatIconModule, MatTooltipModule],\r\n exports: [\r\n SdTabRouterItemComponent,\r\n SdTabRouterNavComponent,\r\n SdTabRouterOutletComponent,\r\n ],\r\n providers: [],\r\n})\r\nexport class SdTabRouterModule {}\r\n","/*\r\n * Public API Surface of superdev-angular-core\r\n */\r\n\r\n// Models\r\nexport * from './lib/models/tab-router.model';\r\nexport * from './lib/events/tab-router.event';\r\nexport * from './lib/actions/tab-router.action';\r\n\r\n// Decorators\r\nexport * from './lib/decorators/tab.decorator';\r\n\r\n// Service\r\nexport * from './lib/services/tab-router.service';\r\nexport * from './lib/services/tab-decorator.service';\r\n\r\n// Components\r\nexport * from './lib/components/tab-router-item/tab-router-item.component';\r\nexport * from './lib/components/tab-router-nav/tab-router-nav.component';\r\nexport * from './lib/components/tab-router-outlet/tab-router-outlet.component';\r\n\r\n// Module\r\nexport * from './lib/tab-router.module';\r\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n\nexport {SdTabInfoPipe as ɵa} from './src/lib/pipes/tab-info.pipe';"],"names":["BehaviorSubject","Injectable","SdNotifyService","Component","Input","ViewChild","HostListener","router","Subscription","filter","NavigationEnd","Router","ActivatedRoute","ChangeDetectorRef","Injector","Compiler","ChildrenOutletContexts","map","Pipe","NgModule","RouterModule","CommonModule","MatIconModule","MatTooltipModule"],"mappings":"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"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
!function(t,e){"object"==typeof exports&&"undefined"!=typeof module?e(exports,require("@angular/core"),require("rxjs"),require("@sd-angular/core/notify"),require("@angular/router"),require("@angular/common"),require("@angular/material/icon"),require("@angular/material/tooltip")
|
|
1
|
+
!function(t,e){"object"==typeof exports&&"undefined"!=typeof module?e(exports,require("@angular/core"),require("rxjs"),require("@sd-angular/core/notify"),require("@angular/router"),require("rxjs/operators"),require("@angular/common"),require("@angular/material/icon"),require("@angular/material/tooltip")):"function"==typeof define&&define.amd?define("@sd-angular/core/tab-router",["exports","@angular/core","rxjs","@sd-angular/core/notify","@angular/router","rxjs/operators","@angular/common","@angular/material/icon","@angular/material/tooltip"],e):e(((t="undefined"!=typeof globalThis?globalThis:t||self)["sd-angular"]=t["sd-angular"]||{},t["sd-angular"].core=t["sd-angular"].core||{},t["sd-angular"].core["tab-router"]={}),t.ng.core,t.rxjs,t["sd-angular"].core.notify,t.ng.router,t.rxjs.operators,t.ng.common,t.ng.material.icon,t.ng.material.tooltip)}(this,(function(t,e,r,n,o,i,a,c,s){"use strict";
|
|
2
2
|
/*! *****************************************************************************
|
|
3
3
|
Copyright (c) Microsoft Corporation.
|
|
4
4
|
|
|
@@ -12,5 +12,5 @@
|
|
|
12
12
|
LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR
|
|
13
13
|
OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
|
|
14
14
|
PERFORMANCE OF THIS SOFTWARE.
|
|
15
|
-
***************************************************************************** */var u=function(t,e){return(u=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&(t[r]=e[r])})(t,e)};function l(t,e){function r(){this.constructor=t}u(t,e),t.prototype=null===e?Object.create(e):(r.prototype=e.prototype,new r)}function p(t,e,r,n){return new(r||(r=Promise))((function(o,i){function a(t){try{s(n.next(t))}catch(t){i(t)}}function c(t){try{s(n.throw(t))}catch(t){i(t)}}function s(t){var e;t.done?o(t.value):(e=t.value,e instanceof r?e:new r((function(t){t(e)}))).then(a,c)}s((n=n.apply(t,e||[])).next())}))}function d(t,e){var r,n,o,i,a={label:0,sent:function(){if(1&o[0])throw o[1];return o[1]},trys:[],ops:[]};return i={next:c(0),throw:c(1),return:c(2)},"function"==typeof Symbol&&(i[Symbol.iterator]=function(){return this}),i;function c(i){return function(c){return function(i){if(r)throw new TypeError("Generator is already executing.");for(;a;)try{if(r=1,n&&(o=2&i[0]?n.return:i[0]?n.throw||((o=n.return)&&o.call(n),0):n.next)&&!(o=o.call(n,i[1])).done)return o;switch(n=0,o&&(i=[2&i[0],o.value]),i[0]){case 0:case 1:o=i;break;case 4:return a.label++,{value:i[1],done:!1};case 5:a.label++,n=i[1],i=[0];continue;case 7:i=a.ops.pop(),a.trys.pop();continue;default:if(!(o=a.trys,(o=o.length>0&&o[o.length-1])||6!==i[0]&&2!==i[0])){a=0;continue}if(3===i[0]&&(!o||i[1]>o[0]&&i[1]<o[3])){a.label=i[1];break}if(6===i[0]&&a.label<o[1]){a.label=o[1],o=i;break}if(o&&a.label<o[2]){a.label=o[2],a.ops.push(i);break}o[2]&&a.ops.pop(),a.trys.pop();continue}i=e.call(t,a)}catch(t){i=[6,t],n=0}finally{r=o=0}if(5&i[0])throw i[1];return{value:i[0]?i[1]:void 0,done:!0}}([i,c])}}}Object.create;var b;Object.create;function f(t,e){if(!e.has(t))throw new TypeError("attempted to get private field on non-instance");return e.get(t)}function h(t,e,r){if(!e.has(t))throw new TypeError("attempted to set private field on non-instance");return e.set(t,r),r}var v=function(){function t(t){b.set(this,void 0),h(this,b,t)}return Object.defineProperty(t.prototype,"tab",{get:function(){return f(this,b)},enumerable:!1,configurable:!0}),t}();b=new WeakMap;var m,g,y=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return l(e,t),e}(v),_=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return l(e,t),e}(v),w=function(){function t(e){var n=this;this.notifyService=e,this.events=new r.BehaviorSubject(new v(null)),this.actions=new r.BehaviorSubject(null),this.builders=new r.BehaviorSubject([]),m.set(this,null),g.set(this,[]),this.addBuilder=function(t){f(n,g).some((function(e){return e.component===t.component}))||(f(n,g).push(t),n.builders.next(f(n,g)))},this.setCurrentTab=function(t){h(n,m,t)},this.pushEvent=function(t,e){n.events.next(new e(t))},this.setOptions=function(){},this.close=function(t){t?n.actions.next({type:"close",tab:t}):f(n,m)&&n.actions.next({type:"close",tab:f(n,m)})},t.service=this}return t.getService=function(){if(!t.service)throw new Error("SdTabRouterService is not initialized");return t.service},Object.defineProperty(t.prototype,"currentTab",{get:function(){return f(this,m)},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"key",{get:function(){var t;return(null===(t=f(this,m))||void 0===t?void 0:t.key)||null},enumerable:!1,configurable:!0}),t}();m=new WeakMap,g=new WeakMap,w.service=void 0,w.ɵprov=e.ɵɵdefineInjectable({factory:function(){return new w(e.ɵɵinject(n.SdNotifyService))},token:w,providedIn:"root"}),w.decorators=[{type:e.Injectable,args:[{providedIn:"root"}]}],w.ctorParameters=function(){return[{type:n.SdNotifyService}]};var x=function(){function t(e){t.service=e}return t.getService=function(){if(!t.service)throw new Error("SdTabDecoratorService not initialized");return t.service},t}();x.service=void 0,x.ɵprov=e.ɵɵdefineInjectable({factory:function(){return new x(e.ɵɵinject(w))},token:x,providedIn:"root"}),x.decorators=[{type:e.Injectable,args:[{providedIn:"root"}]}],x.ctorParameters=function(){return[{type:w}]};var S=function(t){var e=this;this.tabRouterService=t,this.close=function(t){t.preventDefault(),t.stopPropagation(),e.tabRouterService.close(e.tab)}};S.decorators=[{type:e.Component,args:[{selector:"sd-tab-router-item",template:'<a [routerLink]="[tab.url]" [state]="{ switchTab: true }" class="tab-router__item d-flex align-items-center" [ngClass]="{\r\n \'tab-router__item--active\': tab.isActive,\r\n \'tab-router__item--child\': tab.isChild\r\n }" matTooltip="{{ tab.name }}" matTooltipPosition="below" matTooltipShowDelay="1000">\r\n <ng-container *ngIf="tab | sdTabInfo | async as tabInfo">\r\n <div class="\r\n tab-router__icon\r\n d-flex\r\n align-items-center\r\n justify-content-center\r\n mr-8\r\n " [ngStyle]="{\r\n \'background-color\': tabInfo.color\r\n }">\r\n <mat-icon fontSet="material-icons-outlined" *ngIf="tab.isChild; else parentIcon">circle</mat-icon>\r\n <ng-template #parentIcon>{{ tabInfo.initialName || \'W\' }}</ng-template>\r\n </div>\r\n <div class="flex-1">\r\n <div class="tab-router__name">{{ tabInfo.name }}</div>\r\n </div>\r\n <button type="button" class="\r\n tab-router__close\r\n d-flex\r\n align-items-center\r\n justify-content-center\r\n ml-4\r\n " (click)="close($event)">\r\n <mat-icon>close</mat-icon>\r\n </button>\r\n </ng-container>\r\n\r\n</a>',styles:[':host{flex:1 1 auto;max-width:240px;position:relative}:host:after{background:#dde0e5;bottom:0;content:"";height:16px;margin:auto;position:absolute;right:0;top:0;width:1px}:host:last-child:after{content:none}.flex-1{flex:1}.tab-router__icon{background-color:#5c6bc0;border-radius:2px;color:#fff;font-size:10px;height:16px;line-height:1;text-transform:uppercase;width:16px}.tab-router__icon .mat-icon{font-size:10px;height:10px;width:10px}.tab-router__close{background:none;border:0;border-radius:50%;color:#757575;height:16px;outline:none;width:16px}.tab-router__close:hover{background-color:rgba(0,0,0,.12)}.tab-router__close .mat-icon{font-size:12px;height:12px;width:12px}.tab-router__item{background:#f2f3f4;color:inherit;font-size:12px;line-height:16px;padding:16px 16px 8px;text-decoration:none}.tab-router__item:hover{background-color:#fff}.tab-router__name{-webkit-box-orient:vertical;-webkit-line-clamp:1;display:-webkit-box;overflow:hidden;text-overflow:ellipsis}.tab-router__item--active{background-color:#fff;border-radius:8px 8px 0 0}']}]}],S.ctorParameters=function(){return[{type:w}]},S.propDecorators={tab:[{type:e.Input}]};var k,j,C,R,T,I,N=function(){function t(){var t=this;this.mode="default",this.checkUI=function(){var e=(t.tabRouterNav.nativeElement.clientWidth-64*t.tabs.length)/t.tabs.length;t.mode=e<=20?"compact":"default"}}return t.prototype.onResize=function(t){this.checkUI()},t}();N.decorators=[{type:e.Component,args:[{selector:"sd-tab-router-nav",template:'<div\r\n #tabRouterNav\r\n class="tab-router__nav tab-router__nav--{{ mode }} d-flex align-items-center"\r\n>\r\n <ng-container *ngFor="let tab of tabs">\r\n <sd-tab-router-item [tab]="tab"></sd-tab-router-item>\r\n </ng-container>\r\n</div>\r\n',styles:[".tab-router__nav{background:#f9f9f9}.tab-router__nav--compact::ng-deep .tab-router__name{display:none}.tab-router__nav--compact::ng-deep .tab-router__icon{margin:0!important}.tab-router__nav--compact::ng-deep .tab-router__item--active{min-width:240px}.tab-router__nav--compact::ng-deep .tab-router__item--active .tab-router__icon{margin-right:8px!important}.tab-router__nav--compact::ng-deep .tab-router__item--active .tab-router__name{display:-webkit-box}"]}]}],N.ctorParameters=function(){return[]},N.propDecorators={tabRouterNav:[{type:e.ViewChild,args:["tabRouterNav"]}],tabs:[{type:e.Input}],onResize:[{type:e.HostListener,args:["window:resize",["$event"]]}]};var P=function(){function t(t,e,n,i,a,c,s,u){var l=this;this.router=t,this.cd=e,this.injector=n,this.compiler=i,this.parentContexts=a,this.tabDecoratorService=c,this.tabRouterService=s,this.sdNotifyService=u,this.tabs=[],k.set(this,void 0),j.set(this,new r.Subscription),C.set(this,(function(t){var e;if(l.tabs=l.tabs.filter((function(e){return e.key!==t.key})),t.isActive){var r=l.tabs[l.tabs.length-1];r?l.router.navigateByUrl(r.url,{state:{switchTab:!0}}):l.router.navigateByUrl("/",{state:{switchTab:!0}})}else null===(e=l.tabRouterNav)||void 0===e||e.checkUI(),l.cd.markForCheck()})),R.set(this,(function(t,e){return p(l,void 0,void 0,(function(){var r,n,o,i,a,c,s,u,l,p,b,h,v,m,g,w,x,S,j=this;return d(this,(function(d){switch(d.label){case 0:return(null==e?void 0:e.component)?(u=e.component,l=Object.assign({},e.queryParams||{}),p=Object.assign({},e.params||{}),b=-1,this.tabs.forEach((function(e,r){e.key===t?(e.isActive=!0,b=r):(e.isActive&&j.tabRouterService.pushEvent(e,_),e.isActive=!1)})),h=this.router.getCurrentNavigation(),b>=0&&(null===(n=null===(r=null==h?void 0:h.extras)||void 0===r?void 0:r.state)||void 0===n?void 0:n.switchTab)?(v=this.tabs[b],this.tabRouterService.setCurrentTab(v),this.tabRouterService.pushEvent(v,y),[3,5]):[3,1]):[2];case 1:return"function"!=typeof(null===(i=null===(o=null==e?void 0:e.parent)||void 0===o?void 0:o.routeConfig)||void 0===i?void 0:i.loadChildren)?[3,4]:[4,e.parent.routeConfig.loadChildren()];case 2:return m=d.sent(),[4,this.compiler.compileModuleAsync(m)];case 3:g=d.sent(),w=g.create(this.injector),x=f(this,I).call(this,f(this,k),u),S={key:t,component:u,injector:new M(x,w),isActive:!0,name:t,url:t,params:p,queryParams:l},this.tabRouterService.setCurrentTab(S),b>=0&&!(null===(c=null===(a=null==h?void 0:h.extras)||void 0===a?void 0:a.state)||void 0===c?void 0:c.switchTab)?this.tabs[b]=S:this.tabs.push(S),d.label=4;case 4:null===(s=this.tabRouterNav)||void 0===s||s.checkUI(),this.tabs.length>10&&this.sdNotifyService.notify.warning("Bạn đã mở quá nhiều tab. Vui lòng tắt các tab không dùng để hệ thống hoạt động tốt hơn."),this.tabs.length>12&&this.tabs.splice(0,this.tabs.length-10),d.label=5;case 5:return this.cd.markForCheck(),[2]}}))}))})),T.set(this,(function(t){return t?t.firstChild?f(l,T).call(l,t.firstChild):t:null})),I.set(this,(function(t,e){return t?t.component&&t.component===e?t:t.firstChild?f(l,I).call(l,t.firstChild,e):null:null})),f(this,j).add(t.events.subscribe((function(t){return p(l,void 0,void 0,(function(){var e;return d(this,(function(r){switch(r.label){case 0:return t instanceof o.RoutesRecognized?(console.log(t),e=f(this,T).call(this,t.state.root),h(this,k,this.router.routerState.root),[4,f(this,R).call(this,t.urlAfterRedirects||t.url,e)]):[3,2];case 1:r.sent(),r.label=2;case 2:return[2]}}))}))}))),f(this,j).add(s.actions.subscribe((function(t){t&&"close"===t.type&&f(l,C).call(l,t.tab)})))}return t.prototype.ngOnDestroy=function(){f(this,j).unsubscribe()},t}();k=new WeakMap,j=new WeakMap,C=new WeakMap,R=new WeakMap,T=new WeakMap,I=new WeakMap,P.decorators=[{type:e.Component,args:[{selector:"sd-tab-router-outlet",template:'<sd-tab-router-nav [tabs]="tabs" #tabRouterNav></sd-tab-router-nav>\r\n\r\n<div class="tab-router__list">\r\n <ng-container *ngFor="let tab of tabs">\r\n <div class="tab-router__pane" [class.active]="tab.isActive" [id]="tab.key">\r\n <div class="tab-router__content">\r\n <ng-container\r\n *ngComponentOutlet="tab.component; injector: tab.injector"\r\n ></ng-container>\r\n </div>\r\n </div>\r\n </ng-container>\r\n</div>\r\n',styles:[":host{display:flex;flex-direction:column;height:calc(100vh - 64px);width:100%}::ng-deep page-layout{height:100%!important}.tab-router__list{flex:1}.tab-router__pane{display:none;height:100%;position:relative;width:100%}.tab-router__pane.active{display:block}.tab-router__content{bottom:0;height:100%;left:0;overflow:auto;position:absolute;right:0;top:0;width:100%}"]}]}],P.ctorParameters=function(){return[{type:o.Router},{type:e.ChangeDetectorRef},{type:e.Injector},{type:e.Compiler},{type:o.ChildrenOutletContexts},{type:x},{type:w},{type:n.SdNotifyService}]},P.propDecorators={tabRouterNav:[{type:e.ViewChild,args:["tabRouterNav"]}]};var M=function(){function t(t,e){this.route=t,this.parent=e}return t.prototype.get=function(t,e){return t===o.ActivatedRoute&&this.route?this.route:this.parent.get(t,e)},t}(),O=function(){function t(t){this.tabRouterService=t}return t.prototype.transform=function(t){return this.tabRouterService.builders.pipe(s.map((function(e){var r=e.find((function(e){return e.component===t.component}));if(r){var n=t.params,o=t.queryParams;return{name:"function"==typeof r.name?r.name({params:n,queryParams:o}):r.name,initialName:"function"==typeof r.initialName?r.initialName({params:n,queryParams:o}):r.initialName,color:"function"==typeof r.color?r.color({params:n,queryParams:o}):r.color}}return{name:t.url,initialName:t.url[0]}})))},t}();O.decorators=[{type:e.Pipe,args:[{name:"sdTabInfo"}]}],O.ctorParameters=function(){return[{type:w}]};var q=function(){};q.decorators=[{type:e.NgModule,args:[{declarations:[S,N,P,O],imports:[o.RouterModule,i.CommonModule,a.MatIconModule,c.MatTooltipModule],exports:[S,N,P],providers:[]}]}],t.SdTabActivated=y,t.SdTabBase=v,t.SdTabComponent=function(t){return function(e){x.getService().addBuilder(t),console.log(e)}},t.SdTabDeactivated=_,t.SdTabDecoratorService=x,t.SdTabRouterItemComponent=S,t.SdTabRouterModule=q,t.SdTabRouterNavComponent=N,t.SdTabRouterOutletComponent=P,t.SdTabRouterService=w,t.ɵa=O,Object.defineProperty(t,"__esModule",{value:!0})}));
|
|
15
|
+
***************************************************************************** */var u=function(t,e){return(u=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&(t[r]=e[r])})(t,e)};function l(t,e){function r(){this.constructor=t}u(t,e),t.prototype=null===e?Object.create(e):(r.prototype=e.prototype,new r)}function p(t,e,r,n){return new(r||(r=Promise))((function(o,i){function a(t){try{s(n.next(t))}catch(t){i(t)}}function c(t){try{s(n.throw(t))}catch(t){i(t)}}function s(t){var e;t.done?o(t.value):(e=t.value,e instanceof r?e:new r((function(t){t(e)}))).then(a,c)}s((n=n.apply(t,e||[])).next())}))}function d(t,e){var r,n,o,i,a={label:0,sent:function(){if(1&o[0])throw o[1];return o[1]},trys:[],ops:[]};return i={next:c(0),throw:c(1),return:c(2)},"function"==typeof Symbol&&(i[Symbol.iterator]=function(){return this}),i;function c(i){return function(c){return function(i){if(r)throw new TypeError("Generator is already executing.");for(;a;)try{if(r=1,n&&(o=2&i[0]?n.return:i[0]?n.throw||((o=n.return)&&o.call(n),0):n.next)&&!(o=o.call(n,i[1])).done)return o;switch(n=0,o&&(i=[2&i[0],o.value]),i[0]){case 0:case 1:o=i;break;case 4:return a.label++,{value:i[1],done:!1};case 5:a.label++,n=i[1],i=[0];continue;case 7:i=a.ops.pop(),a.trys.pop();continue;default:if(!(o=a.trys,(o=o.length>0&&o[o.length-1])||6!==i[0]&&2!==i[0])){a=0;continue}if(3===i[0]&&(!o||i[1]>o[0]&&i[1]<o[3])){a.label=i[1];break}if(6===i[0]&&a.label<o[1]){a.label=o[1],o=i;break}if(o&&a.label<o[2]){a.label=o[2],a.ops.push(i);break}o[2]&&a.ops.pop(),a.trys.pop();continue}i=e.call(t,a)}catch(t){i=[6,t],n=0}finally{r=o=0}if(5&i[0])throw i[1];return{value:i[0]?i[1]:void 0,done:!0}}([i,c])}}}Object.create;var b;Object.create;function f(t,e){if(!e.has(t))throw new TypeError("attempted to get private field on non-instance");return e.get(t)}function h(t,e,r){if(!e.has(t))throw new TypeError("attempted to set private field on non-instance");return e.set(t,r),r}var v=function(){function t(t){b.set(this,void 0),h(this,b,t)}return Object.defineProperty(t.prototype,"tab",{get:function(){return f(this,b)},enumerable:!1,configurable:!0}),t}();b=new WeakMap;var m,g,y=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return l(e,t),e}(v),_=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return l(e,t),e}(v),w=function(){function t(e){var n=this;this.notifyService=e,this.events=new r.BehaviorSubject(new v(null)),this.actions=new r.BehaviorSubject(null),this.builders=new r.BehaviorSubject([]),m.set(this,null),g.set(this,[]),this.addBuilder=function(t){f(n,g).some((function(e){return e.component===t.component}))||(f(n,g).push(t),n.builders.next(f(n,g)))},this.setCurrentTab=function(t){h(n,m,t)},this.pushEvent=function(t,e){n.events.next(new e(t))},this.setOptions=function(){},this.close=function(t){t?n.actions.next({type:"close",tab:t}):f(n,m)&&n.actions.next({type:"close",tab:f(n,m)})},t.service=this}return t.getService=function(){if(!t.service)throw new Error("SdTabRouterService is not initialized");return t.service},Object.defineProperty(t.prototype,"currentTab",{get:function(){return f(this,m)},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"key",{get:function(){var t;return(null===(t=f(this,m))||void 0===t?void 0:t.key)||null},enumerable:!1,configurable:!0}),t}();m=new WeakMap,g=new WeakMap,w.service=void 0,w.ɵprov=e.ɵɵdefineInjectable({factory:function(){return new w(e.ɵɵinject(n.SdNotifyService))},token:w,providedIn:"root"}),w.decorators=[{type:e.Injectable,args:[{providedIn:"root"}]}],w.ctorParameters=function(){return[{type:n.SdNotifyService}]};var x=function(){function t(e){t.service=e}return t.getService=function(){if(!t.service)throw new Error("SdTabDecoratorService not initialized");return t.service},t}();x.service=void 0,x.ɵprov=e.ɵɵdefineInjectable({factory:function(){return new x(e.ɵɵinject(w))},token:x,providedIn:"root"}),x.decorators=[{type:e.Injectable,args:[{providedIn:"root"}]}],x.ctorParameters=function(){return[{type:w}]};var S=function(t){var e=this;this.tabRouterService=t,this.close=function(t){t.preventDefault(),t.stopPropagation(),e.tabRouterService.close(e.tab)}};S.decorators=[{type:e.Component,args:[{selector:"sd-tab-router-item",template:'<a [routerLink]="[tab.url]" [state]="{ switchTab: true }" class="tab-router__item d-flex align-items-center" [ngClass]="{\r\n \'tab-router__item--active\': tab.isActive,\r\n \'tab-router__item--child\': tab.isChild\r\n }" matTooltip="{{ tab.name }}" matTooltipPosition="below" matTooltipShowDelay="1000">\r\n <ng-container *ngIf="tab | sdTabInfo | async as tabInfo">\r\n <div class="\r\n tab-router__icon\r\n d-flex\r\n align-items-center\r\n justify-content-center\r\n mr-8\r\n " [ngStyle]="{\r\n \'background-color\': tabInfo.color\r\n }">\r\n <mat-icon fontSet="material-icons-outlined" *ngIf="tab.isChild; else parentIcon">circle</mat-icon>\r\n <ng-template #parentIcon>{{ tabInfo.initialName || \'W\' }}</ng-template>\r\n </div>\r\n <div class="flex-1">\r\n <div class="tab-router__name">{{ tabInfo.name }}</div>\r\n </div>\r\n <button type="button" class="\r\n tab-router__close\r\n d-flex\r\n align-items-center\r\n justify-content-center\r\n ml-4\r\n " (click)="close($event)">\r\n <mat-icon>close</mat-icon>\r\n </button>\r\n </ng-container>\r\n\r\n</a>',styles:[':host{flex:1 1 auto;max-width:240px;position:relative}:host:after{background:#dde0e5;bottom:0;content:"";height:16px;margin:auto;position:absolute;right:0;top:0;width:1px}:host:last-child:after{content:none}.flex-1{flex:1}.tab-router__icon{background-color:#5c6bc0;border-radius:2px;color:#fff;font-size:10px;height:16px;line-height:1;text-transform:uppercase;width:16px}.tab-router__icon .mat-icon{font-size:10px;height:10px;width:10px}.tab-router__close{background:none;border:0;border-radius:50%;color:#757575;height:16px;outline:none;width:16px}.tab-router__close:hover{background-color:rgba(0,0,0,.12)}.tab-router__close .mat-icon{font-size:12px;height:12px;width:12px}.tab-router__item{background:#f2f3f4;color:inherit;font-size:12px;line-height:16px;padding:16px 16px 8px;text-decoration:none}.tab-router__item:hover{background-color:#fff}.tab-router__name{-webkit-box-orient:vertical;-webkit-line-clamp:1;display:-webkit-box;overflow:hidden;text-overflow:ellipsis}.tab-router__item--active{background-color:#fff;border-radius:8px 8px 0 0}']}]}],S.ctorParameters=function(){return[{type:w}]},S.propDecorators={tab:[{type:e.Input}]};var k,j,R,C,T,I,N=function(){function t(){var t=this;this.mode="default",this.checkUI=function(){var e=(t.tabRouterNav.nativeElement.clientWidth-64*t.tabs.length)/t.tabs.length;t.mode=e<=20?"compact":"default"}}return t.prototype.onResize=function(t){this.checkUI()},t}();N.decorators=[{type:e.Component,args:[{selector:"sd-tab-router-nav",template:'<div\r\n #tabRouterNav\r\n class="tab-router__nav tab-router__nav--{{ mode }} d-flex align-items-center"\r\n>\r\n <ng-container *ngFor="let tab of tabs">\r\n <sd-tab-router-item [tab]="tab"></sd-tab-router-item>\r\n </ng-container>\r\n</div>\r\n',styles:[".tab-router__nav{background:#f9f9f9}.tab-router__nav--compact::ng-deep .tab-router__name{display:none}.tab-router__nav--compact::ng-deep .tab-router__icon{margin:0!important}.tab-router__nav--compact::ng-deep .tab-router__item--active{min-width:240px}.tab-router__nav--compact::ng-deep .tab-router__item--active .tab-router__icon{margin-right:8px!important}.tab-router__nav--compact::ng-deep .tab-router__item--active .tab-router__name{display:-webkit-box}"]}]}],N.ctorParameters=function(){return[]},N.propDecorators={tabRouterNav:[{type:e.ViewChild,args:["tabRouterNav"]}],tabs:[{type:e.Input}],onResize:[{type:e.HostListener,args:["window:resize",["$event"]]}]};var P=function(){function t(t,e,n,a,c,s,u,l,b){var v=this;this.router=t,this.activatedRoute=e,this.cd=n,this.injector=a,this.compiler=c,this.parentContexts=s,this.tabDecoratorService=u,this.tabRouterService=l,this.sdNotifyService=b,this.tabs=[],k.set(this,void 0),j.set(this,new r.Subscription),R.set(this,(function(t){var e;if(v.tabs=v.tabs.filter((function(e){return e.key!==t.key})),t.isActive){var r=v.tabs[v.tabs.length-1];r?v.router.navigateByUrl(r.url,{state:{switchTab:!0}}):v.router.navigateByUrl("/",{state:{switchTab:!0}})}else null===(e=v.tabRouterNav)||void 0===e||e.checkUI(),v.cd.markForCheck()})),C.set(this,(function(t,e){return p(v,void 0,void 0,(function(){var r,n,o,i,a,c,s,u,l,p,b,h,v,m,g,w,x,S,j=this;return d(this,(function(d){switch(d.label){case 0:return(null==e?void 0:e.component)?(u=e.component,l=Object.assign({},e.queryParams||{}),p=Object.assign({},e.params||{}),b=-1,this.tabs.forEach((function(e,r){e.key===t?(e.isActive=!0,b=r):(e.isActive&&j.tabRouterService.pushEvent(e,_),e.isActive=!1)})),h=this.router.getCurrentNavigation(),b>=0&&(null===(n=null===(r=null==h?void 0:h.extras)||void 0===r?void 0:r.state)||void 0===n?void 0:n.switchTab)?(v=this.tabs[b],this.tabRouterService.setCurrentTab(v),this.tabRouterService.pushEvent(v,y),[3,5]):[3,1]):[2];case 1:return"function"!=typeof(null===(i=null===(o=null==e?void 0:e.parent)||void 0===o?void 0:o.routeConfig)||void 0===i?void 0:i.loadChildren)?[3,4]:[4,e.parent.routeConfig.loadChildren()];case 2:return m=d.sent(),[4,this.compiler.compileModuleAsync(m)];case 3:g=d.sent(),w=g.create(this.injector),x=f(this,I).call(this,f(this,k),u),S={key:t,component:u,injector:new M(x,w),isActive:!0,name:t,url:t,params:p,queryParams:l},this.tabRouterService.setCurrentTab(S),b>=0&&!(null===(c=null===(a=null==h?void 0:h.extras)||void 0===a?void 0:a.state)||void 0===c?void 0:c.switchTab)?this.tabs[b]=S:this.tabs.push(S),d.label=4;case 4:null===(s=this.tabRouterNav)||void 0===s||s.checkUI(),this.tabs.length>10&&this.sdNotifyService.notify.warning("Bạn đã mở quá nhiều tab. Vui lòng tắt các tab không dùng để hệ thống hoạt động tốt hơn."),this.tabs.length>12&&this.tabs.splice(0,this.tabs.length-10),d.label=5;case 5:return this.cd.markForCheck(),[2]}}))}))})),T.set(this,(function(t){return t?t.firstChild?f(v,T).call(v,t.firstChild):t:null})),I.set(this,(function(t,e){return t?t.component&&t.component===e?t:t.firstChild?f(v,I).call(v,t.firstChild,e):null:null})),console.log(this.activatedRoute.snapshot.url),f(this,j).add(t.events.pipe(i.filter((function(t){return t instanceof o.NavigationEnd}))).subscribe((function(t){return p(v,void 0,void 0,(function(){var e;return d(this,(function(r){switch(r.label){case 0:return e=f(this,T).call(this,t.state.root),h(this,k,this.router.routerState.root),[4,f(this,C).call(this,t.urlAfterRedirects||t.url,e)];case 1:return r.sent(),[2]}}))}))}))),f(this,j).add(l.actions.subscribe((function(t){t&&"close"===t.type&&f(v,R).call(v,t.tab)})))}return t.prototype.ngOnDestroy=function(){f(this,j).unsubscribe()},t}();k=new WeakMap,j=new WeakMap,R=new WeakMap,C=new WeakMap,T=new WeakMap,I=new WeakMap,P.decorators=[{type:e.Component,args:[{selector:"sd-tab-router-outlet",template:'<sd-tab-router-nav [tabs]="tabs" #tabRouterNav></sd-tab-router-nav>\r\n\r\n<div class="tab-router__list">\r\n <ng-container *ngFor="let tab of tabs">\r\n <div class="tab-router__pane" [class.active]="tab.isActive" [id]="tab.key">\r\n <div class="tab-router__content">\r\n <ng-container\r\n *ngComponentOutlet="tab.component; injector: tab.injector"\r\n ></ng-container>\r\n </div>\r\n </div>\r\n </ng-container>\r\n</div>\r\n',styles:[":host{display:flex;flex-direction:column;height:calc(100vh - 64px);width:100%}::ng-deep page-layout{height:100%!important}.tab-router__list{flex:1}.tab-router__pane{display:none;height:100%;position:relative;width:100%}.tab-router__pane.active{display:block}.tab-router__content{bottom:0;height:100%;left:0;overflow:auto;position:absolute;right:0;top:0;width:100%}"]}]}],P.ctorParameters=function(){return[{type:o.Router},{type:o.ActivatedRoute},{type:e.ChangeDetectorRef},{type:e.Injector},{type:e.Compiler},{type:o.ChildrenOutletContexts},{type:x},{type:w},{type:n.SdNotifyService}]},P.propDecorators={tabRouterNav:[{type:e.ViewChild,args:["tabRouterNav"]}]};var M=function(){function t(t,e){this.route=t,this.parent=e}return t.prototype.get=function(t,e){return t===o.ActivatedRoute&&this.route?this.route:this.parent.get(t,e)},t}(),O=function(){function t(t){this.tabRouterService=t}return t.prototype.transform=function(t){return this.tabRouterService.builders.pipe(i.map((function(e){var r=e.find((function(e){return e.component===t.component}));if(r){var n=t.params,o=t.queryParams;return{name:"function"==typeof r.name?r.name({params:n,queryParams:o}):r.name,initialName:"function"==typeof r.initialName?r.initialName({params:n,queryParams:o}):r.initialName,color:"function"==typeof r.color?r.color({params:n,queryParams:o}):r.color}}return{name:t.url,initialName:t.url[0]}})))},t}();O.decorators=[{type:e.Pipe,args:[{name:"sdTabInfo"}]}],O.ctorParameters=function(){return[{type:w}]};var q=function(){};q.decorators=[{type:e.NgModule,args:[{declarations:[S,N,P,O],imports:[o.RouterModule,a.CommonModule,c.MatIconModule,s.MatTooltipModule],exports:[S,N,P],providers:[]}]}],t.SdTabActivated=y,t.SdTabBase=v,t.SdTabComponent=function(t){return function(e){x.getService().addBuilder(t),console.log(e)}},t.SdTabDeactivated=_,t.SdTabDecoratorService=x,t.SdTabRouterItemComponent=S,t.SdTabRouterModule=q,t.SdTabRouterNavComponent=N,t.SdTabRouterOutletComponent=P,t.SdTabRouterService=w,t.ɵa=O,Object.defineProperty(t,"__esModule",{value:!0})}));
|
|
16
16
|
//# sourceMappingURL=sd-angular-core-tab-router.umd.min.js.map
|