blob: 627caf9084ac584bec1427ea365ed8750208e063 [file] [log] [blame]
{"version":3,"file":"covalent-core-expansion-panel.js.map","sources":["ng://@covalent/core/expansion-panel/expansion-panel.component.ts","ng://@covalent/core/expansion-panel/expansion-panel-group.component.ts","ng://@covalent/core/expansion-panel/expansion-panel.module.ts"],"sourcesContent":["import { Component, Directive, Input, Output, TemplateRef, ViewContainerRef, ContentChild,\n ElementRef, Renderer2 } from '@angular/core';\nimport { EventEmitter } from '@angular/core';\nimport { TemplatePortalDirective } from '@angular/cdk/portal';\nimport { coerceBooleanProperty } from '@angular/cdk/coercion';\n\nimport {\n tdCollapseAnimation,\n ICanDisable,\n mixinDisabled,\n ICanDisableRipple,\n mixinDisableRipple,\n tdRotateAnimation,\n} from '@covalent/core/common';\n\n@Directive({\n selector: '[td-expansion-panel-header]ng-template',\n})\nexport class TdExpansionPanelHeaderDirective extends TemplatePortalDirective {\n constructor(templateRef: TemplateRef<any>, viewContainerRef: ViewContainerRef) {\n super(templateRef, viewContainerRef);\n }\n}\n\n@Directive({\n selector: '[td-expansion-panel-label]ng-template',\n})\nexport class TdExpansionPanelLabelDirective extends TemplatePortalDirective {\n constructor(templateRef: TemplateRef<any>, viewContainerRef: ViewContainerRef) {\n super(templateRef, viewContainerRef);\n }\n}\n\n@Directive({\n selector: '[td-expansion-panel-sublabel]ng-template',\n})\nexport class TdExpansionPanelSublabelDirective extends TemplatePortalDirective {\n constructor(templateRef: TemplateRef<any>, viewContainerRef: ViewContainerRef) {\n super(templateRef, viewContainerRef);\n }\n}\n\n@Component({\n selector: 'td-expansion-summary',\n template: '<ng-content></ng-content>',\n})\nexport class TdExpansionPanelSummaryComponent {}\n\nexport class TdExpansionPanelBase {}\n\n/* tslint:disable-next-line */\nexport const _TdExpansionPanelMixinBase = mixinDisableRipple(mixinDisabled(TdExpansionPanelBase));\n\n@Component({\n selector: 'td-expansion-panel',\n styleUrls: ['./expansion-panel.component.scss' ],\n templateUrl: './expansion-panel.component.html',\n inputs: ['disabled', 'disableRipple'],\n animations: [\n tdCollapseAnimation,\n tdRotateAnimation,\n ],\n})\nexport class TdExpansionPanelComponent extends _TdExpansionPanelMixinBase implements ICanDisable, ICanDisableRipple {\n\n private _expand: boolean = false;\n\n @ContentChild(TdExpansionPanelHeaderDirective) expansionPanelHeader: TdExpansionPanelHeaderDirective;\n @ContentChild(TdExpansionPanelLabelDirective) expansionPanelLabel: TdExpansionPanelLabelDirective;\n @ContentChild(TdExpansionPanelSublabelDirective) expansionPanelSublabel: TdExpansionPanelSublabelDirective;\n\n /**\n * label?: string\n * Sets label of [TdExpansionPanelComponent] header.\n * Defaults to 'Click to expand'\n */\n @Input() label: string;\n\n /**\n * sublabel?: string\n * Sets sublabel of [TdExpansionPanelComponent] header.\n */\n @Input() sublabel: string;\n\n /**\n * expand?: boolean\n * Toggles [TdExpansionPanelComponent] between expand/collapse.\n */\n @Input('expand')\n set expand(expand: boolean) {\n this._setExpand(coerceBooleanProperty(expand));\n }\n get expand(): boolean {\n return this._expand;\n }\n\n /**\n * expanded?: function\n * Event emitted when [TdExpansionPanelComponent] is expanded.\n */\n @Output() expanded: EventEmitter<void> = new EventEmitter<void>();\n\n /**\n * collapsed?: function\n * Event emitted when [TdExpansionPanelComponent] is collapsed.\n */\n @Output() collapsed: EventEmitter<void> = new EventEmitter<void>();\n\n constructor(private _renderer: Renderer2,\n private _elementRef: ElementRef) {\n super();\n this._renderer.addClass(this._elementRef.nativeElement, 'td-expansion-panel');\n }\n\n /**\n * Method executed when [TdExpansionPanelComponent] is clicked.\n */\n clickEvent(): void {\n this._setExpand(!this._expand);\n }\n\n /**\n * Toggle expand state of [TdExpansionPanelComponent]\n * retuns 'true' if successful, else 'false'.\n */\n toggle(): boolean {\n return this._setExpand(!this._expand);\n }\n\n /**\n * Opens [TdExpansionPanelComponent]\n * retuns 'true' if successful, else 'false'.\n */\n open(): boolean {\n return this._setExpand(true);\n }\n\n /**\n * Closes [TdExpansionPanelComponent]\n * retuns 'true' if successful, else 'false'.\n */\n close(): boolean {\n return this._setExpand(false);\n }\n\n /** Method executed when the disabled value changes */\n onDisabledChange(v: boolean): void {\n if (v && this._expand) {\n this._expand = false;\n this._onCollapsed();\n }\n }\n\n /**\n * Method to change expand state internally and emit the [onExpanded] event if 'true' or [onCollapsed]\n * event if 'false'. (Blocked if [disabled] is 'true')\n */\n private _setExpand(newExpand: boolean): boolean {\n if (this.disabled) {\n return false;\n }\n if (this._expand !== newExpand) {\n this._expand = newExpand;\n if (newExpand) {\n this._renderer.addClass(this._elementRef.nativeElement, 'td-expanded');\n this._onExpanded();\n } else {\n this._renderer.removeClass(this._elementRef.nativeElement, 'td-expanded');\n this._onCollapsed();\n }\n return true;\n }\n return false;\n }\n\n private _onExpanded(): void {\n this.expanded.emit(undefined);\n }\n\n private _onCollapsed(): void {\n this.collapsed.emit(undefined);\n }\n}\n","import {\n Component,\n Renderer2,\n ElementRef,\n QueryList,\n ContentChildren,\n AfterContentInit,\n Input,\n OnDestroy,\n} from '@angular/core';\nimport { TdExpansionPanelComponent } from './expansion-panel.component';\nimport { coerceBooleanProperty } from '@angular/cdk/coercion';\nimport { takeUntil } from 'rxjs/operators';\nimport { Subject } from 'rxjs';\n\n@Component({\n selector: 'td-expansion-panel-group',\n styleUrls: ['./expansion-panel-group.component.scss'],\n templateUrl: './expansion-panel-group.component.html',\n})\nexport class TdExpansionPanelGroupComponent\n implements AfterContentInit, OnDestroy {\n private _multi: boolean = false;\n\n private _lastOpenedPanels: TdExpansionPanelComponent[] = [];\n\n private _destroyed: Subject<boolean> = new Subject<boolean>();\n private _stopWatchingPanels: Subject<boolean> = new Subject<boolean>();\n\n /**\n * multi?: boolean\n * Sets whether multiple panels can be opened at a given time.\n * Set to false for accordion mode.\n * Defaults to false.\n */\n @Input('multi')\n set multi(multi: boolean) {\n this._multi = coerceBooleanProperty(multi);\n if (this._multi === false && this._lastOpenedPanels.length > 0) {\n this._closeAllExcept(\n this._lastOpenedPanels[this._lastOpenedPanels.length - 1],\n );\n }\n }\n\n @ContentChildren(TdExpansionPanelComponent) expansionPanels: QueryList<\n TdExpansionPanelComponent\n >;\n\n constructor(private _renderer: Renderer2, private _elementRef: ElementRef) {\n this._renderer.addClass(\n this._elementRef.nativeElement,\n 'td-expansion-panel-group',\n );\n }\n\n ngOnDestroy(): void {\n this._destroyed.next(true);\n this._destroyed.unsubscribe();\n this._stopWatchingPanels.next(true);\n this._stopWatchingPanels.unsubscribe();\n }\n\n public ngAfterContentInit(): void {\n if (!this._multi) {\n const openedPanels: TdExpansionPanelComponent[] = this.expansionPanels.filter(\n (expansionPanel: TdExpansionPanelComponent) => expansionPanel.expand,\n );\n const numOpenedPanels: number = openedPanels.length;\n if (numOpenedPanels > 1) {\n this._closeAllExcept(openedPanels[numOpenedPanels - 1]);\n }\n }\n\n this._attachListeners(this.expansionPanels);\n\n this.expansionPanels.changes\n .pipe(takeUntil(this._destroyed))\n .subscribe((expansionPanels: QueryList<TdExpansionPanelComponent>) => {\n this._stopWatchingPanels.next(true);\n this._stopWatchingPanels.unsubscribe();\n this._stopWatchingPanels = new Subject<boolean>();\n this._attachListeners(expansionPanels);\n });\n }\n\n /**\n * Opens all expansion panels, only if multi set set to true.\n */\n public openAll(): void {\n if (this._multi) {\n this.expansionPanels.forEach(\n (expansionPanel: TdExpansionPanelComponent) => {\n expansionPanel.open();\n },\n );\n }\n }\n\n /**\n * Closes all expansion panels\n */\n public closeAll(): void {\n this.expansionPanels.forEach(\n (expansionPanel: TdExpansionPanelComponent) => {\n expansionPanel.close();\n },\n );\n }\n\n private _attachListeners(\n expansionPanels: QueryList<TdExpansionPanelComponent>,\n ): void {\n this._lastOpenedPanels = [];\n expansionPanels.forEach((expansionPanel: TdExpansionPanelComponent) => {\n expansionPanel.expanded\n .pipe(takeUntil(this._stopWatchingPanels))\n .subscribe(() => {\n const indexOfPanel: number = this._lastOpenedPanels.indexOf(\n expansionPanel,\n );\n if (indexOfPanel !== -1) {\n this._lastOpenedPanels.splice(indexOfPanel, 1);\n }\n this._lastOpenedPanels.push(expansionPanel);\n\n if (!this._multi) {\n this._closeAllExcept(expansionPanel);\n }\n });\n\n expansionPanel.collapsed\n .pipe(takeUntil(this._stopWatchingPanels))\n .subscribe(() => {\n const indexOfPanel: number = this._lastOpenedPanels.indexOf(\n expansionPanel,\n );\n if (indexOfPanel !== -1) {\n this._lastOpenedPanels.splice(indexOfPanel, 1);\n }\n });\n });\n }\n\n private _closeAllExcept(expansionPanel: TdExpansionPanelComponent): void {\n this.expansionPanels.forEach((panel: TdExpansionPanelComponent) => {\n if (panel !== expansionPanel) {\n panel.close();\n }\n });\n }\n}\n","import { Type } from '@angular/core';\nimport { NgModule, ModuleWithProviders } from '@angular/core';\n\nimport { CommonModule } from '@angular/common';\nimport { PortalModule } from '@angular/cdk/portal';\nimport { MatRippleModule } from '@angular/material/core';\nimport { MatIconModule } from '@angular/material/icon';\n\nimport { TdExpansionPanelComponent, TdExpansionPanelHeaderDirective, TdExpansionPanelLabelDirective,\n TdExpansionPanelSublabelDirective, TdExpansionPanelSummaryComponent } from './expansion-panel.component';\nimport { TdExpansionPanelGroupComponent } from './expansion-panel-group.component';\n\nconst TD_EXPANSION_PANEL: Type<any>[] = [\n TdExpansionPanelGroupComponent,\n TdExpansionPanelComponent,\n TdExpansionPanelHeaderDirective,\n TdExpansionPanelLabelDirective,\n TdExpansionPanelSublabelDirective,\n TdExpansionPanelSummaryComponent,\n];\n\n@NgModule({\n imports: [\n CommonModule,\n MatRippleModule,\n MatIconModule,\n PortalModule,\n ],\n declarations: [\n TD_EXPANSION_PANEL,\n ],\n exports: [\n TD_EXPANSION_PANEL,\n ],\n})\nexport class CovalentExpansionPanelModule {\n\n}\n"],"names":["tslib_1.__extends"],"mappings":"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"}