body-group-header.directive.js 5.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081
  1. /**
  2. * @fileoverview added by tsickle
  3. * @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
  4. */
  5. import { Input, Output, EventEmitter, Directive, TemplateRef, ContentChild } from '@angular/core';
  6. import { DatatableGroupHeaderTemplateDirective } from './body-group-header-template.directive';
  7. export class DatatableGroupHeaderDirective {
  8. constructor() {
  9. /**
  10. * Row height is required when virtual scroll is enabled.
  11. */
  12. this.rowHeight = 0;
  13. /**
  14. * Track toggling of group visibility
  15. */
  16. this.toggle = new EventEmitter();
  17. }
  18. /**
  19. * @return {?}
  20. */
  21. get template() {
  22. return this._templateInput || this._templateQuery;
  23. }
  24. /**
  25. * Toggle the expansion of a group
  26. * @param {?} group
  27. * @return {?}
  28. */
  29. toggleExpandGroup(group) {
  30. this.toggle.emit({
  31. type: 'group',
  32. value: group
  33. });
  34. }
  35. /**
  36. * Expand all groups
  37. * @return {?}
  38. */
  39. expandAllGroups() {
  40. this.toggle.emit({
  41. type: 'all',
  42. value: true
  43. });
  44. }
  45. /**
  46. * Collapse all groups
  47. * @return {?}
  48. */
  49. collapseAllGroups() {
  50. this.toggle.emit({
  51. type: 'all',
  52. value: false
  53. });
  54. }
  55. }
  56. DatatableGroupHeaderDirective.decorators = [
  57. { type: Directive, args: [{ selector: 'ngx-datatable-group-header' },] }
  58. ];
  59. DatatableGroupHeaderDirective.propDecorators = {
  60. rowHeight: [{ type: Input }],
  61. _templateInput: [{ type: Input, args: ['template',] }],
  62. _templateQuery: [{ type: ContentChild, args: [DatatableGroupHeaderTemplateDirective, { read: TemplateRef, static: true },] }],
  63. toggle: [{ type: Output }]
  64. };
  65. if (false) {
  66. /**
  67. * Row height is required when virtual scroll is enabled.
  68. * @type {?}
  69. */
  70. DatatableGroupHeaderDirective.prototype.rowHeight;
  71. /** @type {?} */
  72. DatatableGroupHeaderDirective.prototype._templateInput;
  73. /** @type {?} */
  74. DatatableGroupHeaderDirective.prototype._templateQuery;
  75. /**
  76. * Track toggling of group visibility
  77. * @type {?}
  78. */
  79. DatatableGroupHeaderDirective.prototype.toggle;
  80. }
  81. //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYm9keS1ncm91cC1oZWFkZXIuZGlyZWN0aXZlLmpzIiwic291cmNlUm9vdCI6Im5nOi8vQHN3aW1sYW5lL25neC1kYXRhdGFibGUvIiwic291cmNlcyI6WyJsaWIvY29tcG9uZW50cy9ib2R5L2JvZHktZ3JvdXAtaGVhZGVyLmRpcmVjdGl2ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7O0FBQUEsT0FBTyxFQUFFLEtBQUssRUFBRSxNQUFNLEVBQUUsWUFBWSxFQUFFLFNBQVMsRUFBRSxXQUFXLEVBQUUsWUFBWSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ2xHLE9BQU8sRUFBRSxxQ0FBcUMsRUFBRSxNQUFNLHdDQUF3QyxDQUFDO0FBRy9GLE1BQU0sT0FBTyw2QkFBNkI7SUFEMUM7Ozs7UUFLVyxjQUFTLEdBQXVELENBQUMsQ0FBQzs7OztRQWVqRSxXQUFNLEdBQXNCLElBQUksWUFBWSxFQUFFLENBQUM7SUErQjNELENBQUM7Ozs7SUF0Q0MsSUFBSSxRQUFRO1FBQ1YsT0FBTyxJQUFJLENBQUMsY0FBYyxJQUFJLElBQUksQ0FBQyxjQUFjLENBQUM7SUFDcEQsQ0FBQzs7Ozs7O0lBVUQsaUJBQWlCLENBQUMsS0FBVTtRQUMxQixJQUFJLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQztZQUNmLElBQUksRUFBRSxPQUFPO1lBQ2IsS0FBSyxFQUFFLEtBQUs7U0FDYixDQUFDLENBQUM7SUFDTCxDQUFDOzs7OztJQUtELGVBQWU7UUFDYixJQUFJLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQztZQUNmLElBQUksRUFBRSxLQUFLO1lBQ1gsS0FBSyxFQUFFLElBQUk7U0FDWixDQUFDLENBQUM7SUFDTCxDQUFDOzs7OztJQUtELGlCQUFpQjtRQUNmLElBQUksQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDO1lBQ2YsSUFBSSxFQUFFLEtBQUs7WUFDWCxLQUFLLEVBQUUsS0FBSztTQUNiLENBQUMsQ0FBQztJQUNMLENBQUM7OztZQWxERixTQUFTLFNBQUMsRUFBRSxRQUFRLEVBQUUsNEJBQTRCLEVBQUU7Ozt3QkFLbEQsS0FBSzs2QkFFTCxLQUFLLFNBQUMsVUFBVTs2QkFHaEIsWUFBWSxTQUFDLHFDQUFxQyxFQUFFLEVBQUUsSUFBSSxFQUFFLFdBQVcsRUFBRSxNQUFNLEVBQUUsSUFBSSxFQUFFO3FCQVV2RixNQUFNOzs7Ozs7O0lBZlAsa0RBQTJFOztJQUUzRSx1REFDaUM7O0lBRWpDLHVEQUNpQzs7Ozs7SUFTakMsK0NBQXlEIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5wdXQsIE91dHB1dCwgRXZlbnRFbWl0dGVyLCBEaXJlY3RpdmUsIFRlbXBsYXRlUmVmLCBDb250ZW50Q2hpbGQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IERhdGF0YWJsZUdyb3VwSGVhZGVyVGVtcGxhdGVEaXJlY3RpdmUgfSBmcm9tICcuL2JvZHktZ3JvdXAtaGVhZGVyLXRlbXBsYXRlLmRpcmVjdGl2ZSc7XG5cbkBEaXJlY3RpdmUoeyBzZWxlY3RvcjogJ25neC1kYXRhdGFibGUtZ3JvdXAtaGVhZGVyJyB9KVxuZXhwb3J0IGNsYXNzIERhdGF0YWJsZUdyb3VwSGVhZGVyRGlyZWN0aXZlIHtcbiAgLyoqXG4gICAqIFJvdyBoZWlnaHQgaXMgcmVxdWlyZWQgd2hlbiB2aXJ0dWFsIHNjcm9sbCBpcyBlbmFibGVkLlxuICAgKi9cbiAgQElucHV0KCkgcm93SGVpZ2h0OiBudW1iZXIgfCAoKGdyb3VwPzogYW55LCBpbmRleD86IG51bWJlcikgPT4gbnVtYmVyKSA9IDA7XG5cbiAgQElucHV0KCd0ZW1wbGF0ZScpXG4gIF90ZW1wbGF0ZUlucHV0OiBUZW1wbGF0ZVJlZjxhbnk+O1xuXG4gIEBDb250ZW50Q2hpbGQoRGF0YXRhYmxlR3JvdXBIZWFkZXJUZW1wbGF0ZURpcmVjdGl2ZSwgeyByZWFkOiBUZW1wbGF0ZVJlZiwgc3RhdGljOiB0cnVlIH0pXG4gIF90ZW1wbGF0ZVF1ZXJ5OiBUZW1wbGF0ZVJlZjxhbnk+O1xuXG4gIGdldCB0ZW1wbGF0ZSgpOiBUZW1wbGF0ZVJlZjxhbnk+IHtcbiAgICByZXR1cm4gdGhpcy5fdGVtcGxhdGVJbnB1dCB8fCB0aGlzLl90ZW1wbGF0ZVF1ZXJ5O1xuICB9XG5cbiAgLyoqXG4gICAqIFRyYWNrIHRvZ2dsaW5nIG9mIGdyb3VwIHZpc2liaWxpdHlcbiAgICovXG4gIEBPdXRwdXQoKSB0b2dnbGU6IEV2ZW50RW1pdHRlcjxhbnk+ID0gbmV3IEV2ZW50RW1pdHRlcigpO1xuXG4gIC8qKlxuICAgKiBUb2dnbGUgdGhlIGV4cGFuc2lvbiBvZiBhIGdyb3VwXG4gICAqL1xuICB0b2dnbGVFeHBhbmRHcm91cChncm91cDogYW55KTogdm9pZCB7XG4gICAgdGhpcy50b2dnbGUuZW1pdCh7XG4gICAgICB0eXBlOiAnZ3JvdXAnLFxuICAgICAgdmFsdWU6IGdyb3VwXG4gICAgfSk7XG4gIH1cblxuICAvKipcbiAgICogRXhwYW5kIGFsbCBncm91cHNcbiAgICovXG4gIGV4cGFuZEFsbEdyb3VwcygpOiB2b2lkIHtcbiAgICB0aGlzLnRvZ2dsZS5lbWl0KHtcbiAgICAgIHR5cGU6ICdhbGwnLFxuICAgICAgdmFsdWU6IHRydWVcbiAgICB9KTtcbiAgfVxuXG4gIC8qKlxuICAgKiBDb2xsYXBzZSBhbGwgZ3JvdXBzXG4gICAqL1xuICBjb2xsYXBzZUFsbEdyb3VwcygpOiB2b2lkIHtcbiAgICB0aGlzLnRvZ2dsZS5lbWl0KHtcbiAgICAgIHR5cGU6ICdhbGwnLFxuICAgICAgdmFsdWU6IGZhbHNlXG4gICAgfSk7XG4gIH1cbn1cbiJdfQ==