@angular-jz/jz
Version:
jim jz
100 lines • 5.11 kB
JavaScript
;
var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
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;
return c > 3 && r && Object.defineProperty(target, key, r), r;
};
var __metadata = (this && this.__metadata) || function (k, v) {
if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
};
Object.defineProperty(exports, "__esModule", { value: true });
var core_1 = require("@angular/core");
var nav_config_1 = require("../../config/nav.config");
var common_1 = require("@angular/common");
var JZNavComponent = /** @class */ (function () {
function JZNavComponent(location) {
this.dataSource = nav_config_1.NavConfig.dataSource;
this.isMenuOpened = false;
}
JZNavComponent.prototype.ngOnInit = function () {
if (this.dataSource) {
for (var _i = 0, _a = this.dataSource; _i < _a.length; _i++) {
var navItem = _a[_i];
navItem.isActive = false;
if (navItem.url && navItem.url.toLowerCase() == location.pathname.toLowerCase()) {
navItem.isActive = true;
}
if (navItem.children && navItem.children.length > 0) {
for (var _b = 0, _c = navItem.children; _b < _c.length; _b++) {
var childItem = _c[_b];
childItem.isActive = false;
if (childItem.url && childItem.url.toLowerCase() == location.pathname.toLowerCase()) {
childItem.isActive = true;
navItem.isActive = true;
}
}
}
}
}
};
JZNavComponent.prototype.ngAfterViewInit = function (e) {
if (this.dataSource && this.permissions) {
for (var _i = 0, _a = this.dataSource; _i < _a.length; _i++) {
var navItem = _a[_i];
navItem.isVisible = true; // (ArrayUtility.findInArray(this.permissions, 'permissionName', navItem.key));
if (navItem.children && navItem.children.length > 0) {
for (var _b = 0, _c = navItem.children; _b < _c.length; _b++) {
var childItem = _c[_b];
childItem.isVisible = true; // (ArrayUtility.findInArray(this.permissions, 'permissionName', childItem.key));
}
}
}
}
$(this.menu.nativeElement).metisMenu();
};
JZNavComponent.prototype.openMenu = function () {
this.isMenuOpened = !this.isMenuOpened;
};
JZNavComponent.prototype.ngOnChanges = function (changes) {
if (changes.permissions && changes.permissions.currentValue && changes.permissions.currentValue && changes.permissions.currentValue.length > 0) {
var newDataSource = this.dataSource.slice();
for (var _i = 0, newDataSource_1 = newDataSource; _i < newDataSource_1.length; _i++) {
var navItem = newDataSource_1[_i];
navItem.isVisible = true; // !!(ArrayUtility.findInArray(this.permissions, 'permissionName', navItem.key));
if (navItem.children && navItem.children.length > 0) {
var children = navItem.children.slice();
for (var _a = 0, children_1 = children; _a < children_1.length; _a++) {
var childItem = children_1[_a];
childItem.isVisible = true; // !!(ArrayUtility.findInArray(this.permissions, 'permissionName', childItem.key));
}
navItem.children = children;
}
}
this.dataSource = newDataSource;
$(this.menu.nativeElement).metisMenu();
}
};
__decorate([
core_1.ViewChild('menu'),
__metadata("design:type", core_1.ElementRef)
], JZNavComponent.prototype, "menu", void 0);
__decorate([
core_1.Input(),
__metadata("design:type", String)
], JZNavComponent.prototype, "userName", void 0);
__decorate([
core_1.Input(),
__metadata("design:type", Array)
], JZNavComponent.prototype, "permissions", void 0);
JZNavComponent = __decorate([
core_1.Component({
selector: 'jz-nav',
templateUrl: 'jz-nav.component.html',
}),
__metadata("design:paramtypes", [common_1.Location])
], JZNavComponent);
return JZNavComponent;
}());
exports.JZNavComponent = JZNavComponent;
//# sourceMappingURL=jz-nav.component.js.map