text: "use strict";
  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;
  };
  Object.defineProperty(exports, "__esModule", { value: true });
  var core_1 = require("@angular/core");
  var router_1 = require("@angular/router");
  var AccordionDirective = (function () {
      function AccordionDirective(router) {
          this.router = router;
          this.navlinks = [];
      }
      AccordionDirective.prototype.closeOtherLinks = function (openLink) {
          this.navlinks.forEach(function (link) {
              if (link !== openLink && (link.group == 'sub-toggled' || openLink.group != 'sub-toggled')) {
                  link.open = false;
              }
          });
      };
      AccordionDirective.prototype.addLink = function (link) {
          this.navlinks.push(link);
      };
      AccordionDirective.prototype.removeGroup = function (link) {
          var index = this.navlinks.indexOf(link);
          if (index !== -1) {
              this.navlinks.splice(index, 1);
          }
      };
      AccordionDirective.prototype.getUrl = function () {
          return this.router.url;
      };
      AccordionDirective.prototype.ngOnInit = function () {
          var _this = this;
          this._router = this.router.events.filter(function (event) { return event instanceof router_1.NavigationEnd; }).subscribe(function (event) {
              _this.navlinks.forEach(function (link) {
                  if (link.group) {
                      var routeUrl = _this.getUrl();
                      var currentUrl = routeUrl.split('/');
                      if (currentUrl.indexOf(link.group) > 0) {
                          link.open = true;
                          _this.closeOtherLinks(link);
                      }
                  }
              });
          });
      };
      return AccordionDirective;
  }());
  AccordionDirective = __decorate([
      core_1.Directive({
          selector: '[appAccordion]',
      })
  ], AccordionDirective);
  exports.AccordionDirective = AccordionDirective;
  