UNPKG

6.62 kBSource Map (JSON)View Raw
1{"version":3,"file":"collapse.directive.js","sourceRoot":"","sources":["../../src/collapse/collapse.directive.ts"],"names":[],"mappings":"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","sourcesContent":["// todo: add animations when https://github.com/angular/angular/issues/9947 solved\nimport {\n Directive, ElementRef, EventEmitter, HostBinding, Input, OnInit, Output,\n Renderer, style\n} from '@angular/core';\n\n\nexport class CollapseDirective {\n /** This event fires as soon as content collapses */\n public collapsed: EventEmitter<any> = new EventEmitter();\n /** This event fires as soon as content becomes visible */\n public expanded: EventEmitter<any> = new EventEmitter();\n\n \n public display: string;\n // shown\n \n \n \n public isExpanded: boolean = true;\n // hidden\n \n public isCollapsed: boolean = false;\n // stale state\n \n public isCollapse: boolean = true;\n // animation state\n \n public isCollapsing: boolean = false;\n\n /** A flag indicating visibility of content (shown or hidden) */\n \n public set collapse(value: boolean) {\n this.isExpanded = value;\n this.toggle();\n }\n\n public get collapse(): boolean {\n return this.isExpanded;\n }\n\n protected _el: ElementRef;\n protected _renderer: Renderer;\n\n public constructor(_el: ElementRef, _renderer: Renderer) {\n this._el = _el;\n this._renderer = _renderer;\n }\n\n /** allows to manually toggle content visibility */\n public toggle(): void {\n if (this.isExpanded) {\n this.hide();\n } else {\n this.show();\n }\n }\n\n /** allows to manually hide content */\n public hide(): void {\n this.isCollapse = false;\n this.isCollapsing = true;\n\n this.isExpanded = false;\n this.isCollapsed = true;\n\n this.isCollapse = true;\n this.isCollapsing = false;\n\n this.display = 'none';\n this.collapsed.emit(this);\n }\n\n /** allows to manually show collapsed content */\n public show(): void {\n this.isCollapse = false;\n this.isCollapsing = true;\n\n this.isExpanded = true;\n this.isCollapsed = false;\n\n this.display = 'block';\n // this.height = 'auto';\n this.isCollapse = true;\n this.isCollapsing = false;\n this._renderer.setElementStyle(this._el.nativeElement, 'overflow', 'visible');\n this._renderer.setElementStyle(this._el.nativeElement, 'height', 'auto');\n this.expanded.emit(this);\n }\nstatic decorators: DecoratorInvocation[] = [\n{ type: Directive, args: [{\n selector: '[collapse]',\n exportAs: 'bs-collapse',\n /* tslint:disable-next-line */\n host: {'[class.collapse]': 'true'}/*,\n animations: [\n trigger('active', [\n state('void', style({height: 0})),\n state('closed', style({height: 0})),\n state('open', style({height: '*'})),\n transition('void => closed', [animate(0)]),\n transition('closed => open', [animate('350ms ease-out')]),\n transition('open => closed', [animate('350ms ease-out')])\n ])\n ]*/\n}, ] },\n];\n/** @nocollapse */\nstatic ctorParameters: () => ({type: any, decorators?: DecoratorInvocation[]}|null)[] = () => [\n{type: ElementRef, },\n{type: Renderer, },\n];\nstatic propDecorators: {[key: string]: DecoratorInvocation[]} = {\n'collapsed': [{ type: Output },],\n'expanded': [{ type: Output },],\n'display': [{ type: HostBinding, args: ['style.display', ] },],\n'isExpanded': [{ type: HostBinding, args: ['class.in', ] },{ type: HostBinding, args: ['class.show', ] },{ type: HostBinding, args: ['attr.aria-expanded', ] },],\n'isCollapsed': [{ type: HostBinding, args: ['attr.aria-hidden', ] },],\n'isCollapse': [{ type: HostBinding, args: ['class.collapse', ] },],\n'isCollapsing': [{ type: HostBinding, args: ['class.collapsing', ] },],\n'collapse': [{ type: Input },],\n};\n}\n\ninterface DecoratorInvocation {\n type: Function;\n args?: any[];\n}\n"]}
\No newline at end of file