Code coverage report for src/route-href.js

Statements: 65.63% (21 / 32)      Branches: 71.43% (10 / 14)      Functions: 54.55% (6 / 11)      Lines: 70% (21 / 30)      Ignored: none     

All files » src/ » route-href.js
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 571     1   1   1   1210 1210   1412   100     1 1             1   1       1               1         1 1 1 1 1 1     1        
System.register(['aurelia-templating', 'aurelia-dependency-injection', 'aurelia-router'], function (_export) {
  'use strict';
 
  var customAttribute, bindable, inject, Router, RouteHref;
 
  function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError('Cannot call a class as a function'); } }
 
  return {
    setters: [function (_aureliaTemplating) {
      customAttribute = _aureliaTemplating.customAttribute;
      bindable = _aureliaTemplating.bindable;
    }, function (_aureliaDependencyInjection) {
      inject = _aureliaDependencyInjection.inject;
    }, function (_aureliaRouter) {
      Router = _aureliaRouter.Router;
    }],
    execute: function () {
      RouteHref = (function () {
        function RouteHref(router, element) {
          _classCallCheck(this, _RouteHref);
 
          this.router = router;
          this.element = element;
        }
 
        var _RouteHref = RouteHref;
 
        _RouteHref.prototype.bind = function bind() {
          this.processChange();
        };
 
        _RouteHref.prototype.attributeChanged = function attributeChanged(value, previous) {
          if (previous) {
            this.element.removeAttribute(previous);
          }
 
          this.processChange();
        };
 
        _RouteHref.prototype.processChange = function processChange() {
          var href = this.router.generate(this.route, this.params);
          this.element.setAttribute(this.attribute, href);
        };
 
        RouteHref = inject(Router, Element)(RouteHref) || RouteHref;
        RouteHref = bindable({ name: 'attribute', defaultValue: 'href' })(RouteHref) || RouteHref;
        RouteHref = bindable({ name: 'params', changeHandler: 'processChange' })(RouteHref) || RouteHref;
        RouteHref = bindable({ name: 'route', changeHandler: 'processChange' })(RouteHref) || RouteHref;
        RouteHref = customAttribute('route-href')(RouteHref) || RouteHref;
        return RouteHref;
      })();
 
      _export('RouteHref', RouteHref);
    }
  };
});
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi9Vc2Vycy9FaXNlbmJlcmdFZmZlY3QvRG9jdW1lbnRzL0dpdEh1Yi9UaGUgRHVyYW5kYWwgUHJvamVjdC9hdXJlbGlhL3RlbXBsYXRpbmctcm91dGVyL3NyYy9yb3V0ZS1ocmVmLmpzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztpREFTYSxTQUFTOzs7Ozs7MkNBVGQsZUFBZTtvQ0FBRSxRQUFROzsyQ0FDekIsTUFBTTs7OEJBQ04sTUFBTTs7O0FBT0QsZUFBUztBQUNULGlCQURBLFNBQVMsQ0FDUixNQUFNLEVBQUUsT0FBTyxFQUFFOzs7QUFDM0IsY0FBSSxDQUFDLE1BQU0sR0FBRyxNQUFNLENBQUM7QUFDckIsY0FBSSxDQUFDLE9BQU8sR0FBRyxPQUFPLENBQUM7U0FDeEI7O3lCQUpVLFNBQVM7OzZCQU1wQixJQUFJLEdBQUEsZ0JBQUc7QUFDTCxjQUFJLENBQUMsYUFBYSxFQUFFLENBQUM7U0FDdEI7OzZCQUVELGdCQUFnQixHQUFBLDBCQUFDLEtBQUssRUFBRSxRQUFRLEVBQUU7QUFDaEMsY0FBSSxRQUFRLEVBQUU7QUFDWixnQkFBSSxDQUFDLE9BQU8sQ0FBQyxlQUFlLENBQUMsUUFBUSxDQUFDLENBQUM7V0FDeEM7O0FBRUQsY0FBSSxDQUFDLGFBQWEsRUFBRSxDQUFDO1NBQ3RCOzs2QkFFRCxhQUFhLEdBQUEseUJBQUc7QUFDZCxjQUFJLElBQUksR0FBRyxJQUFJLENBQUMsTUFBTSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsS0FBSyxFQUFFLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQztBQUN6RCxjQUFJLENBQUMsT0FBTyxDQUFDLFlBQVksQ0FBQyxJQUFJLENBQUMsU0FBUyxFQUFFLElBQUksQ0FBQyxDQUFDO1NBQ2pEOztBQXJCVSxpQkFBUyxHQURyQixNQUFNLENBQUMsTUFBTSxFQUFFLE9BQU8sQ0FBQyxDQUNYLFNBQVMsS0FBVCxTQUFTO0FBQVQsaUJBQVMsR0FGckIsUUFBUSxDQUFDLEVBQUMsSUFBSSxFQUFFLFdBQVcsRUFBRSxZQUFZLEVBQUUsTUFBTSxFQUFDLENBQUMsQ0FFdkMsU0FBUyxLQUFULFNBQVM7QUFBVCxpQkFBUyxHQUhyQixRQUFRLENBQUMsRUFBQyxJQUFJLEVBQUUsUUFBUSxFQUFFLGFBQWEsRUFBRSxlQUFlLEVBQUMsQ0FBQyxDQUc5QyxTQUFTLEtBQVQsU0FBUztBQUFULGlCQUFTLEdBSnJCLFFBQVEsQ0FBQyxFQUFDLElBQUksRUFBRSxPQUFPLEVBQUUsYUFBYSxFQUFFLGVBQWUsRUFBQyxDQUFDLENBSTdDLFNBQVMsS0FBVCxTQUFTO0FBQVQsaUJBQVMsR0FMckIsZUFBZSxDQUFDLFlBQVksQ0FBQyxDQUtqQixTQUFTLEtBQVQsU0FBUztlQUFULFNBQVM7OzsyQkFBVCxTQUFTIiwiZmlsZSI6Ii9Vc2Vycy9FaXNlbmJlcmdFZmZlY3QvRG9jdW1lbnRzL0dpdEh1Yi9UaGUgRHVyYW5kYWwgUHJvamVjdC9hdXJlbGlhL3RlbXBsYXRpbmctcm91dGVyL3NyYy9yb3V0ZS1ocmVmLmpzIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtjdXN0b21BdHRyaWJ1dGUsIGJpbmRhYmxlfSBmcm9tICdhdXJlbGlhLXRlbXBsYXRpbmcnO1xuaW1wb3J0IHtpbmplY3R9IGZyb20gJ2F1cmVsaWEtZGVwZW5kZW5jeS1pbmplY3Rpb24nO1xuaW1wb3J0IHtSb3V0ZXJ9IGZyb20gJ2F1cmVsaWEtcm91dGVyJztcblxuQGN1c3RvbUF0dHJpYnV0ZSgncm91dGUtaHJlZicpXG5AYmluZGFibGUoe25hbWU6ICdyb3V0ZScsIGNoYW5nZUhhbmRsZXI6ICdwcm9jZXNzQ2hhbmdlJ30pXG5AYmluZGFibGUoe25hbWU6ICdwYXJhbXMnLCBjaGFuZ2VIYW5kbGVyOiAncHJvY2Vzc0NoYW5nZSd9KVxuQGJpbmRhYmxlKHtuYW1lOiAnYXR0cmlidXRlJywgZGVmYXVsdFZhbHVlOiAnaHJlZid9KVxuQGluamVjdChSb3V0ZXIsIEVsZW1lbnQpXG5leHBvcnQgY2xhc3MgUm91dGVIcmVmIHtcbiAgY29uc3RydWN0b3Iocm91dGVyLCBlbGVtZW50KSB7XG4gICAgdGhpcy5yb3V0ZXIgPSByb3V0ZXI7XG4gICAgdGhpcy5lbGVtZW50ID0gZWxlbWVudDtcbiAgfVxuXG4gIGJpbmQoKSB7XG4gICAgdGhpcy5wcm9jZXNzQ2hhbmdlKCk7XG4gIH1cblxuICBhdHRyaWJ1dGVDaGFuZ2VkKHZhbHVlLCBwcmV2aW91cykge1xuICAgIGlmIChwcmV2aW91cykge1xuICAgICAgdGhpcy5lbGVtZW50LnJlbW92ZUF0dHJpYnV0ZShwcmV2aW91cyk7XG4gICAgfVxuXG4gICAgdGhpcy5wcm9jZXNzQ2hhbmdlKCk7XG4gIH1cblxuICBwcm9jZXNzQ2hhbmdlKCkge1xuICAgIGxldCBocmVmID0gdGhpcy5yb3V0ZXIuZ2VuZXJhdGUodGhpcy5yb3V0ZSwgdGhpcy5wYXJhbXMpO1xuICAgIHRoaXMuZWxlbWVudC5zZXRBdHRyaWJ1dGUodGhpcy5hdHRyaWJ1dGUsIGhyZWYpO1xuICB9XG59Il19