range-knob.js 3.5KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283
  1. (function (factory) {
  2. if (typeof module === "object" && typeof module.exports === "object") {
  3. var v = factory(require, exports);
  4. if (v !== undefined) module.exports = v;
  5. }
  6. else if (typeof define === "function" && define.amd) {
  7. define(["require", "exports", "@angular/core", "../../platform/key"], factory);
  8. }
  9. })(function (require, exports) {
  10. "use strict";
  11. Object.defineProperty(exports, "__esModule", { value: true });
  12. var core_1 = require("@angular/core");
  13. var key_1 = require("../../platform/key");
  14. /**
  15. * @hidden
  16. */
  17. var RangeKnob = (function () {
  18. function RangeKnob() {
  19. this.ionIncrease = new core_1.EventEmitter();
  20. this.ionDecrease = new core_1.EventEmitter();
  21. }
  22. Object.defineProperty(RangeKnob.prototype, "ratio", {
  23. set: function (r) {
  24. this._x = r * 100 + "%";
  25. },
  26. enumerable: true,
  27. configurable: true
  28. });
  29. RangeKnob.prototype._keyup = function (ev) {
  30. var keyCode = ev.keyCode;
  31. if (keyCode === key_1.KEY_LEFT || keyCode === key_1.KEY_DOWN) {
  32. (void 0) /* console.debug */;
  33. this.ionDecrease.emit();
  34. ev.preventDefault();
  35. ev.stopPropagation();
  36. }
  37. else if (keyCode === key_1.KEY_RIGHT || keyCode === key_1.KEY_UP) {
  38. (void 0) /* console.debug */;
  39. this.ionIncrease.emit();
  40. ev.preventDefault();
  41. ev.stopPropagation();
  42. }
  43. };
  44. RangeKnob.decorators = [
  45. { type: core_1.Component, args: [{
  46. selector: '.range-knob-handle',
  47. template: '<div class="range-pin" *ngIf="pin" role="presentation">{{val}}</div>' +
  48. '<div class="range-knob" role="presentation"></div>',
  49. host: {
  50. '[class.range-knob-pressed]': 'pressed',
  51. '[class.range-knob-min]': 'val===min||val===undefined',
  52. '[class.range-knob-max]': 'val===max',
  53. '[style.left]': '_x',
  54. '[attr.aria-valuenow]': 'val',
  55. '[attr.aria-valuemin]': 'min',
  56. '[attr.aria-valuemax]': 'max',
  57. '[attr.aria-disabled]': 'disabled',
  58. '[attr.aria-labelledby]': 'labelId',
  59. '[tabindex]': 'disabled?-1:0',
  60. 'role': 'slider'
  61. }
  62. },] },
  63. ];
  64. /** @nocollapse */
  65. RangeKnob.ctorParameters = function () { return []; };
  66. RangeKnob.propDecorators = {
  67. 'ratio': [{ type: core_1.Input },],
  68. 'pressed': [{ type: core_1.Input },],
  69. 'pin': [{ type: core_1.Input },],
  70. 'min': [{ type: core_1.Input },],
  71. 'max': [{ type: core_1.Input },],
  72. 'val': [{ type: core_1.Input },],
  73. 'disabled': [{ type: core_1.Input },],
  74. 'labelId': [{ type: core_1.Input },],
  75. 'ionIncrease': [{ type: core_1.Output },],
  76. 'ionDecrease': [{ type: core_1.Output },],
  77. '_keyup': [{ type: core_1.HostListener, args: ['keydown', ['$event'],] },],
  78. };
  79. return RangeKnob;
  80. }());
  81. exports.RangeKnob = RangeKnob;
  82. });
  83. //# sourceMappingURL=range-knob.js.map