@fundamental-ngx/core 0.46.2-rc.4 → 0.46.2-rc.6
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/esm2022/avatar/avatar.component.mjs +1 -1
- package/esm2022/breadcrumb/breadcrumb.component.mjs +2 -2
- package/esm2022/button/button.component.mjs +1 -1
- package/esm2022/combobox/combobox.component.mjs +2 -2
- package/esm2022/dialog/dialog-close-button/dialog-close-button.component.mjs +1 -1
- package/esm2022/dialog/dialog-full-screen-toggler-button/dialog-full-screen-toggler-button.component.mjs +1 -1
- package/esm2022/form/form-label/form-label.component.mjs +2 -2
- package/esm2022/grid-list/components/grid-list-filter-bar/grid-list-filter-bar.component.mjs +2 -2
- package/esm2022/grid-list/components/grid-list-item/grid-list-item.component.mjs +2 -2
- package/esm2022/icon/icon.component.mjs +77 -28
- package/esm2022/info-label/info-label.component.mjs +1 -1
- package/esm2022/list/list-navigation-item/list-navigation-item.component.mjs +1 -1
- package/esm2022/message-strip/message-strip.component.mjs +1 -1
- package/esm2022/micro-process-flow/components/micro-process-flow-icon/micro-process-flow-icon.component.mjs +1 -1
- package/esm2022/nested-list/nested-list-directives.mjs +2 -2
- package/esm2022/object-status/object-status.component.mjs +2 -2
- package/esm2022/select/select.component.mjs +2 -2
- package/esm2022/shellbar/product-menu/product-menu.component.mjs +1 -1
- package/esm2022/splitter/splitter-resizer/splitter-resizer.component.mjs +1 -1
- package/esm2022/tabs/tab-item-expand/tab-item-expand.component.mjs +2 -2
- package/esm2022/tabs/tab-utils/tab-directives.mjs +1 -1
- package/esm2022/timeline/components/timeline-node/timeline-node.component.mjs +1 -1
- package/esm2022/tree/components/tree-item/tree-item.component.mjs +2 -2
- package/esm2022/wizard/wizard-step-indicator/wizard-step-indicator.component.mjs +1 -1
- package/fesm2022/fundamental-ngx-core-avatar.mjs +1 -1
- package/fesm2022/fundamental-ngx-core-avatar.mjs.map +1 -1
- package/fesm2022/fundamental-ngx-core-breadcrumb.mjs +1 -1
- package/fesm2022/fundamental-ngx-core-breadcrumb.mjs.map +1 -1
- package/fesm2022/fundamental-ngx-core-button.mjs +1 -1
- package/fesm2022/fundamental-ngx-core-button.mjs.map +1 -1
- package/fesm2022/fundamental-ngx-core-combobox.mjs +1 -1
- package/fesm2022/fundamental-ngx-core-combobox.mjs.map +1 -1
- package/fesm2022/fundamental-ngx-core-dialog.mjs +2 -2
- package/fesm2022/fundamental-ngx-core-dialog.mjs.map +1 -1
- package/fesm2022/fundamental-ngx-core-form.mjs +1 -1
- package/fesm2022/fundamental-ngx-core-form.mjs.map +1 -1
- package/fesm2022/fundamental-ngx-core-grid-list.mjs +2 -2
- package/fesm2022/fundamental-ngx-core-grid-list.mjs.map +1 -1
- package/fesm2022/fundamental-ngx-core-icon.mjs +77 -28
- package/fesm2022/fundamental-ngx-core-icon.mjs.map +1 -1
- package/fesm2022/fundamental-ngx-core-info-label.mjs +1 -1
- package/fesm2022/fundamental-ngx-core-info-label.mjs.map +1 -1
- package/fesm2022/fundamental-ngx-core-list.mjs +1 -1
- package/fesm2022/fundamental-ngx-core-list.mjs.map +1 -1
- package/fesm2022/fundamental-ngx-core-message-strip.mjs +1 -1
- package/fesm2022/fundamental-ngx-core-message-strip.mjs.map +1 -1
- package/fesm2022/fundamental-ngx-core-micro-process-flow.mjs +1 -1
- package/fesm2022/fundamental-ngx-core-micro-process-flow.mjs.map +1 -1
- package/fesm2022/fundamental-ngx-core-nested-list.mjs +1 -1
- package/fesm2022/fundamental-ngx-core-nested-list.mjs.map +1 -1
- package/fesm2022/fundamental-ngx-core-object-status.mjs +1 -1
- package/fesm2022/fundamental-ngx-core-object-status.mjs.map +1 -1
- package/fesm2022/fundamental-ngx-core-select.mjs +1 -1
- package/fesm2022/fundamental-ngx-core-select.mjs.map +1 -1
- package/fesm2022/fundamental-ngx-core-shellbar.mjs +1 -1
- package/fesm2022/fundamental-ngx-core-shellbar.mjs.map +1 -1
- package/fesm2022/fundamental-ngx-core-splitter.mjs +1 -1
- package/fesm2022/fundamental-ngx-core-splitter.mjs.map +1 -1
- package/fesm2022/fundamental-ngx-core-tabs.mjs +2 -2
- package/fesm2022/fundamental-ngx-core-tabs.mjs.map +1 -1
- package/fesm2022/fundamental-ngx-core-timeline.mjs +1 -1
- package/fesm2022/fundamental-ngx-core-timeline.mjs.map +1 -1
- package/fesm2022/fundamental-ngx-core-tree.mjs +1 -1
- package/fesm2022/fundamental-ngx-core-tree.mjs.map +1 -1
- package/fesm2022/fundamental-ngx-core-wizard.mjs +1 -1
- package/fesm2022/fundamental-ngx-core-wizard.mjs.map +1 -1
- package/fundamental-ngx-core-v0.46.2-rc.6.tgz +0 -0
- package/icon/icon.component.d.ts +26 -9
- package/package.json +3 -3
- package/schematics/add-dependencies/index.js +4 -4
- package/fundamental-ngx-core-v0.46.2-rc.4.tgz +0 -0
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"fundamental-ngx-core-timeline.mjs","sources":["../../../../libs/core/src/lib/timeline/components/timeline-node-header/timeline-node-header.directive.ts","../../../../libs/core/src/lib/timeline/services/position-strategies/base-strategy.ts","../../../../libs/core/src/lib/timeline/services/position-strategies/vertical-double-sides-strategy.ts","../../../../libs/core/src/lib/timeline/services/position-strategies/horizontal-single-side-strategy.ts","../../../../libs/core/src/lib/timeline/services/position-strategies/horizontal-double-sides-strategy.ts","../../../../libs/core/src/lib/timeline/services/position-strategies/vertical-single-side-strategy.ts","../../../../libs/core/src/lib/timeline/services/position-strategies/position-strategy-factory.ts","../../../../libs/core/src/lib/timeline/services/timeline-position-control.service.ts","../../../../libs/core/src/lib/timeline/components/timeline-node/timeline-node.component.ts","../../../../libs/core/src/lib/timeline/components/timeline-node/timeline-node.component.html","../../../../libs/core/src/lib/timeline/directives/timeline-first-list-outlet.directive.ts","../../../../libs/core/src/lib/timeline/directives/timeline-node-def.directive.ts","../../../../libs/core/src/lib/timeline/directives/timeline-second-list-outlet.directive.ts","../../../../libs/core/src/lib/timeline/timeline.component.ts","../../../../libs/core/src/lib/timeline/timeline.component.html","../../../../libs/core/src/lib/timeline/components/timeline-node-body/timeline-node-body.component.ts","../../../../libs/core/src/lib/timeline/components/timeline-node-body/timeline-node-body.component.html","../../../../libs/core/src/lib/timeline/components/timeline-node-footer/timeline-node-footer.component.ts","../../../../libs/core/src/lib/timeline/components/timeline-node-header/timeline-node-header-info/timeline-node-header-info.directive.ts","../../../../libs/core/src/lib/timeline/directives/class-bindings/timeline-header-info-sub-title.directive.ts","../../../../libs/core/src/lib/timeline/directives/class-bindings/timeline-node-header-info-text.directive.ts","../../../../libs/core/src/lib/timeline/directives/class-bindings/timeline-node-header-info-title.directive.ts","../../../../libs/core/src/lib/timeline/timeline.module.ts","../../../../libs/core/src/lib/timeline/fundamental-ngx-core-timeline.ts"],"sourcesContent":["import { Directive } from '@angular/core';\n\n@Directive({\n // eslint-disable-next-line @angular-eslint/directive-selector\n selector: 'fd-timeline-node-header',\n host: {\n class: 'fd-timeline__post-header-container'\n },\n standalone: true\n})\nexport class TimelineNodeHeaderDirective {}\n","import { TimelineNodeComponentInterface } from '../../components/timeline-node/timeline-node-component.interface';\nimport { TimelineAxis } from '../../types';\n\nexport abstract class BaseStrategy {\n /** Offset between nodes lines */\n private readonly SMALL_OFFSET = 14;\n\n /** Offset between nodes lines with icon */\n private readonly BIG_OFFSET = 30;\n\n /** Offset for second list in within vertical axis */\n private readonly VERTICAL_TOP_LIST_OFFSET = 24;\n\n /** Calculate styles for timeline nodes */\n abstract calculateStyles(nodes: TimelineNodeComponentInterface[]): any;\n\n /** @hidden */\n protected _getOffset(node: TimelineNodeComponentInterface): number {\n return node.glyph ? this.BIG_OFFSET : this.SMALL_OFFSET;\n }\n\n /** @hidden */\n protected _getTwoListFromOne(\n nodes: TimelineNodeComponentInterface[]\n ): [TimelineNodeComponentInterface[], TimelineNodeComponentInterface[]] {\n const lastIndexInFirstList = Math.ceil(nodes.length / 2);\n const firstList = nodes.slice(0, lastIndexInFirstList);\n const secondList = nodes.slice(lastIndexInFirstList, nodes.length);\n return [firstList, secondList];\n }\n\n /** @hidden */\n protected _setStylesForSingleList(nodes: TimelineNodeComponentInterface[], axis: TimelineAxis): void {\n const [offsetProperty, sizeProperty] =\n axis === 'horizontal' ? ['offsetLeft', 'width'] : ['offsetTop', 'height'];\n\n nodes.forEach((node, index) => {\n const nextNode = nodes[index + 1];\n // Set line size depend on where next node item is started\n if (nextNode) {\n const size =\n nextNode.el.nativeElement[offsetProperty] -\n node.el.nativeElement[offsetProperty] -\n this._getOffset(node);\n node.lineEl.nativeElement.style[sizeProperty] = size + 'px';\n } else {\n // Hide last timeline line in list\n node.lineEl.nativeElement.style.opacity = '0';\n }\n });\n }\n\n /** @hidden */\n protected _setStylesForDoubleList(nodes: TimelineNodeComponentInterface[], axis: TimelineAxis): void {\n const [firstList, secondList] = this._getTwoListFromOne(nodes);\n const [offsetProp, sizeProp, sizeOffsetProp] =\n axis === 'horizontal' ? ['offsetLeft', 'width', 'offsetWidth'] : ['offsetTop', 'height', 'offsetHeight'];\n\n // Set styles for second list\n secondList.forEach((node, index) => {\n const el = node.el.nativeElement;\n const parallelNodeEl = firstList[index].el.nativeElement;\n\n // Handle case when bottom edge of item in second list higher than top edge of next item in first list\n // Actual only for vertical axis because items in horizontal axis have fixed size\n if (axis === 'vertical') {\n secondList[index].el.nativeElement.style.marginTop = `${this.SMALL_OFFSET}px`;\n const prevNode = secondList[index - 1];\n const diffBetween = prevNode\n ? parallelNodeEl.offsetTop +\n this.VERTICAL_TOP_LIST_OFFSET -\n (prevNode.el.nativeElement.offsetTop + prevNode.el.nativeElement.offsetHeight)\n : -1;\n if (diffBetween > 0) {\n prevNode.el.nativeElement.style.marginBottom = `${diffBetween}px`;\n }\n }\n\n // Set line size depend on where next node item is started\n const diff =\n parallelNodeEl[offsetProp] + parallelNodeEl[sizeOffsetProp] - el[offsetProp] - this._getOffset(node);\n node.lineEl.nativeElement.style[sizeProp] = diff + 'px';\n });\n\n // Set styles for first list\n firstList.forEach((node, index) => {\n const el = node.el.nativeElement;\n const parallelNode = secondList[index];\n // Set line size depend on where next node item is started\n if (parallelNode) {\n const diff = parallelNode.el.nativeElement[offsetProp] - el[offsetProp] - this._getOffset(node);\n node.lineEl.nativeElement.style[sizeProp] = diff + 'px';\n }\n });\n\n // Hide last timeline line in lists\n const lastNode =\n firstList.length === secondList.length\n ? secondList[secondList.length - 1]\n : firstList[firstList.length - 1];\n lastNode.lineEl.nativeElement.style.opacity = '0';\n }\n}\n","import { BaseStrategy } from './base-strategy';\nimport { TimelineNodeComponentInterface } from '../../components/timeline-node/timeline-node-component.interface';\n\nexport class VerticalDoubleSidesStrategy extends BaseStrategy {\n /** Calculate styles for timeline nodes */\n calculateStyles(nodes: TimelineNodeComponentInterface[]): void {\n this._setStylesForDoubleList(nodes, 'vertical');\n }\n}\n","import { BaseStrategy } from './base-strategy';\nimport { TimelineNodeComponentInterface } from '../../components/timeline-node/timeline-node-component.interface';\n\nexport class HorizontalSingleSideStrategy extends BaseStrategy {\n /** Calculate styles for timeline nodes */\n calculateStyles(nodes: TimelineNodeComponentInterface[]): any {\n this._setStylesForSingleList(nodes, 'horizontal');\n }\n}\n","import { BaseStrategy } from './base-strategy';\nimport { TimelineNodeComponentInterface } from '../../components/timeline-node/timeline-node-component.interface';\n\nexport class HorizontalDoubleSidesStrategy extends BaseStrategy {\n /** Calculate styles for timeline nodes */\n calculateStyles(nodes: TimelineNodeComponentInterface[]): any {\n this._setStylesForDoubleList(nodes, 'horizontal');\n }\n}\n","import { BaseStrategy } from './base-strategy';\nimport { TimelineNodeComponentInterface } from '../../components/timeline-node/timeline-node-component.interface';\n\nexport class VerticalSingleSideStrategy extends BaseStrategy {\n /** Calculate styles for timeline nodes */\n calculateStyles(nodes: TimelineNodeComponentInterface[]): void {\n this._setStylesForSingleList(nodes, 'vertical');\n }\n}\n","import { BaseStrategy } from './base-strategy';\nimport { TimeLinePositionStrategy } from '../../types';\nimport { VerticalDoubleSidesStrategy } from './vertical-double-sides-strategy';\nimport { HorizontalSingleSideStrategy } from './horizontal-single-side-strategy';\nimport { HorizontalDoubleSidesStrategy } from './horizontal-double-sides-strategy';\nimport { VerticalSingleSideStrategy } from './vertical-single-side-strategy';\n\nexport class PositionStrategyFactory {\n /** Get timeline position strategy */\n static getStrategy(strategy: TimeLinePositionStrategy): BaseStrategy {\n switch (strategy) {\n case 'vertical-right':\n return new VerticalSingleSideStrategy();\n case 'vertical-left':\n return new VerticalSingleSideStrategy();\n case 'vertical-double':\n return new VerticalDoubleSidesStrategy();\n case 'horizontal-top':\n return new HorizontalSingleSideStrategy();\n case 'horizontal-bottom':\n return new HorizontalSingleSideStrategy();\n case 'horizontal-double':\n return new HorizontalDoubleSidesStrategy();\n default:\n throw Error(`Unsupported strategy: ${strategy}`);\n }\n }\n}\n","import { Injectable } from '@angular/core';\nimport { TimelineNodeComponentInterface } from '../components/timeline-node/timeline-node-component.interface';\nimport { TimeLinePositionStrategy } from '../types';\nimport { BaseStrategy } from './position-strategies/base-strategy';\nimport { PositionStrategyFactory } from './position-strategies/position-strategy-factory';\n\n@Injectable()\nexport class TimelinePositionControlService {\n /* List of TimelineNodeComponent */\n /** @hidden */\n private _nodeItems: TimelineNodeComponentInterface[] = [];\n\n /* Current position strategy. It depends on axis and layout */\n /** @hidden */\n private _positionStrategy: BaseStrategy;\n\n /** Calculate styles for timeline nodes */\n calculatePositions(): void {\n this._positionStrategy.calculateStyles(this._nodeItems);\n }\n\n /** Set strategy for current axis and layout */\n setStrategy(strategy: TimeLinePositionStrategy): void {\n this._positionStrategy = PositionStrategyFactory.getStrategy(strategy);\n }\n\n /** Register TimelineNodeComponent */\n registerNode(node: TimelineNodeComponentInterface): void {\n this._nodeItems.push(node);\n }\n\n /** Remove TimelineNodeComponent */\n removeNode(node: TimelineNodeComponentInterface): void {\n this._nodeItems = this._nodeItems.filter((item) => item !== node);\n }\n}\n","import { NgIf } from '@angular/common';\nimport {\n ChangeDetectionStrategy,\n Component,\n ElementRef,\n Input,\n OnDestroy,\n OnInit,\n ViewChild,\n ViewEncapsulation\n} from '@angular/core';\nimport { IconComponent } from '@fundamental-ngx/core/icon';\nimport { TimelinePositionControlService } from '../../services/timeline-position-control.service';\nimport { TimelineNodeComponentInterface } from './timeline-node-component.interface';\n\n@Component({\n selector: 'fd-timeline-node',\n templateUrl: './timeline-node.component.html',\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n host: {\n class: 'fd-timeline__node-wrapper',\n '[class.fd-timeline__node-wrapper--icon]': '!!glyph'\n },\n standalone: true,\n imports: [NgIf, IconComponent]\n})\nexport class TimelineNodeComponent implements TimelineNodeComponentInterface, OnInit, OnDestroy {\n /** Glyph of the current timeline node.*/\n @Input()\n glyph: string;\n\n /** Aria label for the current timeline node. */\n @Input()\n ariaLabel = 'timelineitem';\n\n /** Reference to the line of timeline node*/\n @ViewChild('lineEl')\n lineEl: ElementRef;\n\n /** @hidden */\n constructor(public el: ElementRef, private _timelinePositionControl: TimelinePositionControlService) {}\n\n /** @hidden */\n ngOnInit(): void {\n this._timelinePositionControl.registerNode(this);\n }\n\n /** @hidden */\n ngOnDestroy(): void {\n this._timelinePositionControl.removeNode(this);\n }\n}\n","<div class=\"fd-timeline__node-container\">\n <div class=\"fd-timeline__icon-wrapper\">\n <div class=\"fd-timeline__node\" [class.fd-timeline__node--icon]=\"!!glyph\">\n <fd-icon *ngIf=\"glyph\" [glyph]=\"glyph\"></fd-icon>\n </div>\n </div>\n <div #lineEl class=\"fd-timeline__connecting-line\"></div>\n</div>\n<div role=\"timelineitem\" [attr.aria-label]=\"ariaLabel\" class=\"fd-timeline__post\">\n <ng-content></ng-content>\n</div>\n","import { Directive, ViewContainerRef } from '@angular/core';\n\n@Directive({\n selector: '[fdTimelineFirstListOutlet], [fd-timeline-first-list-outlet]',\n standalone: true\n})\nexport class TimelineFirstListOutletDirective {\n /** Ref to ViewContainerRef instance*/\n constructor(public viewContainer: ViewContainerRef) {}\n}\n","import { Directive, Input, TemplateRef } from '@angular/core';\n\n/** Context provided to the timeline node component. */\nexport class TimelineNodeOutletContext<T> {\n /** Data for the node. */\n $implicit: T;\n\n /** Index location of the node. */\n index?: number;\n\n /** Length of the number of total dataNodes. */\n count?: number;\n\n /** @hidden */\n constructor(data: T) {\n this.$implicit = data;\n }\n}\n\n@Directive({\n selector: '[fdTimelineNodeDef], [fd-timeline-node-def]',\n standalone: true\n})\nexport class TimelineNodeDefDirective<T> {\n /** Data passed to the template*/\n @Input()\n fdTimelineNodeData: T;\n\n /** @hidden */\n constructor(public template: TemplateRef<any>) {}\n}\n","import { Directive, ViewContainerRef } from '@angular/core';\n\n@Directive({\n selector: '[fdTimelineSecondListOutlet], [fd-timeline-second-list-outlet]',\n standalone: true\n})\nexport class TimelineSecondListOutletDirective {\n /** Ref to ViewContainerRef instance*/\n constructor(public viewContainer: ViewContainerRef) {}\n}\n","import { ViewportRuler } from '@angular/cdk/overlay';\nimport {\n AfterViewInit,\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n Component,\n ContentChildren,\n ElementRef,\n Input,\n IterableChangeRecord,\n IterableDiffer,\n IterableDiffers,\n NgZone,\n OnChanges,\n OnDestroy,\n OnInit,\n QueryList,\n SimpleChanges,\n TemplateRef,\n TrackByFunction,\n ViewChild,\n ViewContainerRef,\n ViewEncapsulation\n} from '@angular/core';\nimport { resizeObservable } from '@fundamental-ngx/cdk/utils';\nimport { Subject, debounceTime } from 'rxjs';\nimport { takeUntil } from 'rxjs/operators';\n\nimport { RepeatDirective } from '@fundamental-ngx/cdk/utils';\nimport { SkeletonComponent } from '@fundamental-ngx/core/skeleton';\nimport { TimelineNodeHeaderDirective } from './components/timeline-node-header/timeline-node-header.directive';\nimport { TimelineNodeComponent } from './components/timeline-node/timeline-node.component';\nimport { TimelineFirstListOutletDirective } from './directives/timeline-first-list-outlet.directive';\nimport { TimelineNodeDefDirective, TimelineNodeOutletContext } from './directives/timeline-node-def.directive';\nimport { TimelineSecondListOutletDirective } from './directives/timeline-second-list-outlet.directive';\nimport { TimelinePositionControlService } from './services/timeline-position-control.service';\nimport { TimeLinePositionStrategy, TimelineAxis, TimelineSidePosition } from './types';\n\n@Component({\n selector: 'fd-timeline',\n templateUrl: './timeline.component.html',\n styleUrls: ['./timeline.component.scss'],\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n providers: [TimelinePositionControlService],\n host: {\n role: 'timeline',\n 'arial-label': 'timeline',\n class: 'fd-timeline',\n '[class.fd-timeline--horizontal]': 'axis === \"horizontal\"',\n '[class.fd-timeline--vertical]': 'axis === \"vertical\"'\n },\n standalone: true,\n imports: [\n TimelineFirstListOutletDirective,\n TimelineSecondListOutletDirective,\n RepeatDirective,\n TimelineNodeComponent,\n TimelineNodeHeaderDirective,\n SkeletonComponent\n ]\n})\nexport class TimelineComponent<T> implements OnInit, OnDestroy, OnChanges, AfterViewInit {\n /**\n * Data array to render\n */\n @Input()\n dataSource: T[];\n\n /**\n * Tracking function that will be used to check the differences in data changes.\n */\n @Input()\n trackBy: TrackByFunction<T>;\n\n /**\n * Axis for timeline\n */\n @Input()\n axis: TimelineAxis = 'vertical';\n\n /**\n * Layout for timeline\n */\n @Input()\n layout: TimelineSidePosition = 'right';\n\n /* First outlet within the timeline template where the dataNodes will be inserted. */\n /** @hidden */\n @ViewChild(TimelineFirstListOutletDirective, { static: true })\n private _firstListOutlet: TimelineFirstListOutletDirective;\n\n /* Second outlet within the timeline template where the dataNodes will be inserted. */\n /** @hidden */\n @ViewChild(TimelineSecondListOutletDirective, { static: true })\n private _secondListOutlet: TimelineSecondListOutletDirective;\n\n /** The timeline node template for the timeline */\n /** @hidden */\n @ContentChildren(TimelineNodeDefDirective, { descendants: true })\n private _nodeDefs: QueryList<TimelineNodeDefDirective<T>>;\n\n /** @hidden */\n _canShowFirstList = true;\n\n /** @hidden */\n _canShowSecondList = true;\n\n /** @hidden */\n _loading = true;\n\n /** @hidden */\n @ViewChild('loadingTemplate')\n _loadingTemplate: TemplateRef<any>;\n\n /** @hidden\n * Differ used to find the changes in the data provided by the data source.\n */\n private _dataDifferForFirstList: IterableDiffer<T>;\n\n /** @hidden */\n private _dataDifferForSecondList: IterableDiffer<T>;\n\n /** @hidden */\n private readonly _onDestroy = new Subject<void>();\n\n /** @hidden */\n constructor(\n private _differs: IterableDiffers,\n private _cd: ChangeDetectorRef,\n private _timelinePositionControlService: TimelinePositionControlService,\n private _viewportRuler: ViewportRuler,\n private _elementRef: ElementRef<HTMLElement>,\n private _ngZone: NgZone\n ) {}\n\n /** @hidden */\n ngOnInit(): void {\n this._dataDifferForFirstList = this._differs.find([]).create(this.trackBy);\n this._dataDifferForSecondList = this._differs.find([]).create(this.trackBy);\n\n this._canShowFirstList = this.layout !== 'right' && this.layout !== 'bottom';\n this._canShowSecondList = this.layout !== 'left' && this.layout !== 'top';\n }\n\n /** @hidden */\n ngOnChanges(changes: SimpleChanges): void {\n if ('axis' in changes || 'layout' in changes) {\n this._canShowFirstList = this.layout !== 'right' && this.layout !== 'bottom';\n this._canShowSecondList = this.layout !== 'left' && this.layout !== 'top';\n this._setPositionStrategy();\n this.switchDataSource(this.dataSource);\n }\n if ('dataSource' in changes && !changes['dataSource'].firstChange) {\n const value = changes['dataSource'].currentValue;\n this.switchDataSource(value);\n }\n }\n\n /** @hidden */\n ngAfterViewInit(): void {\n resizeObservable(this._elementRef.nativeElement)\n .pipe(debounceTime(50), takeUntil(this._onDestroy))\n .subscribe(() => this._timelinePositionControlService.calculatePositions());\n this._setPositionStrategy();\n this.switchDataSource(this.dataSource);\n }\n\n /** @hidden */\n ngOnDestroy(): void {\n this._firstListOutlet.viewContainer.clear();\n this._onDestroy.next();\n this._onDestroy.complete();\n }\n\n /**\n * Update state by new data source\n * If the data source is null, interpret this by clearing the node outlet.\n */\n /** @hidden */\n private switchDataSource(data: T[]): void {\n this._loading = true;\n if (!data) {\n this._firstListOutlet.viewContainer.clear();\n this._firstListOutlet.viewContainer.createEmbeddedView(this._loadingTemplate);\n this._cd.detectChanges();\n this._timelinePositionControlService.calculatePositions();\n this._cd.detectChanges();\n return;\n }\n if (this._nodeDefs) {\n const [first, second] = this._splitList(data);\n this._renderNodeChanges(first, this._dataDifferForFirstList, this._firstListOutlet?.viewContainer);\n this._renderNodeChanges(second, this._dataDifferForSecondList, this._secondListOutlet?.viewContainer);\n this._cd.detectChanges();\n this._timelinePositionControlService.calculatePositions();\n this._loading = false;\n this._cd.detectChanges();\n }\n }\n\n /** Check for changes made in the data and render each change (node added/removed/moved). */\n /** @hidden */\n private _renderNodeChanges(data: T[], differ: IterableDiffer<T>, vcr: ViewContainerRef): void {\n const changes = differ.diff(data);\n if (!changes) {\n return;\n }\n changes.forEachOperation(\n (item: IterableChangeRecord<T>, adjustedPreviousIndex: number | null, currentIndex: number | null) => {\n if (currentIndex != null && item.previousIndex === null) {\n this._insertNode(data[currentIndex], currentIndex, vcr);\n } else if (currentIndex === null && adjustedPreviousIndex != null) {\n vcr.remove(adjustedPreviousIndex);\n } else if (adjustedPreviousIndex != null && currentIndex != null) {\n const view = vcr.get(adjustedPreviousIndex);\n if (view) {\n vcr.move(view, currentIndex);\n }\n }\n }\n );\n }\n\n /** @hidden */\n private _setPositionStrategy(): void {\n this._timelinePositionControlService.setStrategy(`${this.axis}-${this.layout}` as TimeLinePositionStrategy);\n }\n\n /**\n * Create the embedded view for the data node template and place it in the correct index location\n * within the data node view container.\n */\n /** @hidden */\n private _insertNode(nodeData: T, index: number, vcr: ViewContainerRef): void {\n const node = this._getNodeDef(index);\n\n // Node context that will be provided to created embedded view\n const context = new TimelineNodeOutletContext<T>(nodeData);\n\n vcr.createEmbeddedView(node.template, context, index);\n }\n\n /**\n * Finds the matching node definition that should be used for this node data. If there is only\n * one node definition, it is returned.\n */\n /** @hidden */\n private _getNodeDef(i: number): TimelineNodeDefDirective<T> {\n if (this._nodeDefs.length === 1) {\n return this._nodeDefs.first;\n }\n return this._nodeDefs[i];\n }\n\n /**\n * Split data list to two list first and second to represent timelines in two lists.\n */\n /** @hidden */\n private _splitList(dataSource: T[]): T[][] {\n let dataForFirstList: T[] = [];\n let dataForSecondList: T[] = [];\n if (this.layout === 'left' || this.layout === 'top') {\n dataForFirstList = [...dataSource];\n } else if (this.layout === 'right' || this.layout === 'bottom') {\n dataForSecondList = [...dataSource];\n } else {\n dataSource.forEach((item, index) => {\n if (index % 2 === 0) {\n dataForFirstList.push(item);\n } else {\n dataForSecondList.push(item);\n }\n });\n }\n return [dataForFirstList, dataForSecondList];\n }\n}\n","<div\n [class.fd-timeline__list--empty]=\"!_canShowFirstList && !_loading\"\n class=\"fd-timeline__list fd-timeline__list--first\"\n>\n <ng-container fdTimelineFirstListOutlet></ng-container>\n</div>\n<div class=\"fd-timeline__main-line\"></div>\n<div\n [class.fd-timeline__list--empty]=\"!_canShowSecondList\"\n [class.fd-timeline__list--with-offset]=\"_canShowFirstList\"\n class=\"fd-timeline__list fd-timeline__list--second\"\n>\n <ng-container fdTimelineSecondListOutlet></ng-container>\n</div>\n\n<ng-template #loadingTemplate>\n <fd-timeline-node *fdkRepeat=\"3\">\n <fd-timeline-node-header>\n <fd-skeleton width=\"100%\" height=\"32px\">\n <svg:circle cx=\"16\" cy=\"16\" r=\"16\" rx=\"4\"></svg:circle>\n <svg:rect x=\"37\" y=\"0\" width=\"120\" height=\"12\" rx=\"4\"></svg:rect>\n <svg:rect x=\"37\" y=\"20\" width=\"80\" height=\"8\" rx=\"4\"></svg:rect>\n </fd-skeleton>\n </fd-timeline-node-header>\n\n <fd-skeleton type=\"text\"></fd-skeleton>\n </fd-timeline-node>\n</ng-template>\n","import { ChangeDetectionStrategy, Component, Input, NgZone, ViewEncapsulation } from '@angular/core';\nimport { TextComponent } from '@fundamental-ngx/core/text';\nimport { first } from 'rxjs/operators';\nimport { TimelinePositionControlService } from '../../services/timeline-position-control.service';\n\n@Component({\n selector: 'fd-timeline-node-body',\n templateUrl: './timeline-node-body.component.html',\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n host: {\n class: 'fd-timeline__post-content'\n },\n standalone: true,\n imports: [TextComponent]\n})\nexport class TimelineNodeBodyComponent {\n /** Text content of timeline node*/\n @Input()\n content: string;\n\n /**\n * The number of lines to be visible.\n * If user doesn't provide it, all lines will be visible\n */\n @Input()\n maxLines: number;\n\n /** @hidden */\n constructor(private _ngZone: NgZone, private _timelinePositionControlService: TimelinePositionControlService) {}\n\n /** @hidden */\n calculatePositions(): void {\n this._ngZone.onStable.pipe(first()).subscribe(() => {\n this._timelinePositionControlService.calculatePositions();\n });\n }\n}\n","<fd-text\n [maxLines]=\"maxLines || 0\"\n [text]=\"content\"\n [isCollapsed]=\"!!maxLines\"\n [expandable]=\"!!maxLines\"\n (isCollapsedChange)=\"calculatePositions()\"\n></fd-text>\n","import { ChangeDetectionStrategy, Component, ViewEncapsulation } from '@angular/core';\n\n@Component({\n selector: 'fd-timeline-node-footer',\n template: '<ng-content></ng-content>',\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n host: {\n class: 'fd-timeline__post-actions'\n },\n styles: [\n `\n .fd-timeline__post-actions button + button {\n margin-left: 0.5rem;\n }\n `\n ],\n standalone: true\n})\nexport class TimelineNodeFooterComponent {}\n","import { Directive } from '@angular/core';\n\n@Directive({\n // eslint-disable-next-line @angular-eslint/directive-selector\n selector: 'fd-timeline-node-header-info',\n host: {\n class: 'fd-timeline__post-header'\n },\n standalone: true\n})\nexport class TimelineNodeHeaderInfoDirective {}\n","import { Directive, HostBinding } from '@angular/core';\n\n@Directive({\n selector: '[fdTimelineHeaderInfoSubTitle], [fd-timeline-header-info-sub-title]',\n standalone: true\n})\nexport class TimelineHeaderInfoSubTitleDirective {\n /** add/remove fd-timeline__post-subheader class*/\n @HostBinding('class.fd-timeline__post-subheader')\n fdTimelineNodeHeaderInfoSubTitleClass = true;\n}\n","import { Directive, HostBinding } from '@angular/core';\n\n@Directive({\n selector: '[fdTimelineNodeHeaderInfoText], [fd-timeline-node-header-info-text]',\n standalone: true\n})\nexport class TimelineNodeHeaderInfoTextDirective {\n /** add/remove fd-timeline__post-header-text class*/\n @HostBinding('class.fd-timeline__post-header-text')\n fdTimelineNodeHeaderInfoTextClass = true;\n}\n","import { Directive, HostBinding } from '@angular/core';\n\n@Directive({\n selector: '[fdTimelineNodeHeaderInfoTitle], [fd-timeline-node-header-info-title]',\n standalone: true\n})\nexport class TimelineNodeHeaderInfoTitleDirective {\n /** fd-timeline__post-header-title*/\n @HostBinding('class.fd-timeline__post-header-title')\n fdTimelineNodeHeaderInfoTitleClass = true;\n}\n","import { NgModule } from '@angular/core';\n\nimport { TimelineNodeBodyComponent } from './components/timeline-node-body/timeline-node-body.component';\nimport { TimelineNodeFooterComponent } from './components/timeline-node-footer/timeline-node-footer.component';\nimport { TimelineNodeHeaderInfoDirective } from './components/timeline-node-header/timeline-node-header-info/timeline-node-header-info.directive';\nimport { TimelineNodeHeaderDirective } from './components/timeline-node-header/timeline-node-header.directive';\nimport { TimelineNodeComponent } from './components/timeline-node/timeline-node.component';\nimport { TimelineHeaderInfoSubTitleDirective } from './directives/class-bindings/timeline-header-info-sub-title.directive';\nimport { TimelineNodeHeaderInfoTextDirective } from './directives/class-bindings/timeline-node-header-info-text.directive';\nimport { TimelineNodeHeaderInfoTitleDirective } from './directives/class-bindings/timeline-node-header-info-title.directive';\nimport { TimelineNodeDefDirective } from './directives/timeline-node-def.directive';\nimport { TimelineComponent } from './timeline.component';\n\nconst components = [\n TimelineComponent,\n TimelineNodeDefDirective,\n TimelineNodeHeaderDirective,\n TimelineNodeHeaderInfoDirective,\n TimelineNodeBodyComponent,\n TimelineNodeFooterComponent,\n TimelineNodeComponent,\n TimelineNodeHeaderInfoTitleDirective,\n TimelineNodeHeaderInfoTextDirective,\n TimelineHeaderInfoSubTitleDirective\n];\n\n/**\n * @deprecated\n * Use direct imports of `TimelineComponent`,\n `TimelineNodeDefDirective`,\n `TimelineNodeHeaderComponent`,\n `TimelineNodeHeaderInfoComponent`,\n `TimelineNodeBodyComponent`,\n `TimelineNodeFooterComponent`,\n `TimelineNodeComponent`,\n `TimelineNodeHeaderInfoTitleDirective`,\n `TimelineNodeHeaderInfoTextDirective`,\n `TimelineHeaderInfoSubTitleDirective`\n */\n@NgModule({\n imports: [...components],\n exports: [...components]\n})\nexport class TimelineModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":["i1.TimelinePositionControlService"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"fundamental-ngx-core-timeline.mjs","sources":["../../../../libs/core/src/lib/timeline/components/timeline-node-header/timeline-node-header.directive.ts","../../../../libs/core/src/lib/timeline/services/position-strategies/base-strategy.ts","../../../../libs/core/src/lib/timeline/services/position-strategies/vertical-double-sides-strategy.ts","../../../../libs/core/src/lib/timeline/services/position-strategies/horizontal-single-side-strategy.ts","../../../../libs/core/src/lib/timeline/services/position-strategies/horizontal-double-sides-strategy.ts","../../../../libs/core/src/lib/timeline/services/position-strategies/vertical-single-side-strategy.ts","../../../../libs/core/src/lib/timeline/services/position-strategies/position-strategy-factory.ts","../../../../libs/core/src/lib/timeline/services/timeline-position-control.service.ts","../../../../libs/core/src/lib/timeline/components/timeline-node/timeline-node.component.ts","../../../../libs/core/src/lib/timeline/components/timeline-node/timeline-node.component.html","../../../../libs/core/src/lib/timeline/directives/timeline-first-list-outlet.directive.ts","../../../../libs/core/src/lib/timeline/directives/timeline-node-def.directive.ts","../../../../libs/core/src/lib/timeline/directives/timeline-second-list-outlet.directive.ts","../../../../libs/core/src/lib/timeline/timeline.component.ts","../../../../libs/core/src/lib/timeline/timeline.component.html","../../../../libs/core/src/lib/timeline/components/timeline-node-body/timeline-node-body.component.ts","../../../../libs/core/src/lib/timeline/components/timeline-node-body/timeline-node-body.component.html","../../../../libs/core/src/lib/timeline/components/timeline-node-footer/timeline-node-footer.component.ts","../../../../libs/core/src/lib/timeline/components/timeline-node-header/timeline-node-header-info/timeline-node-header-info.directive.ts","../../../../libs/core/src/lib/timeline/directives/class-bindings/timeline-header-info-sub-title.directive.ts","../../../../libs/core/src/lib/timeline/directives/class-bindings/timeline-node-header-info-text.directive.ts","../../../../libs/core/src/lib/timeline/directives/class-bindings/timeline-node-header-info-title.directive.ts","../../../../libs/core/src/lib/timeline/timeline.module.ts","../../../../libs/core/src/lib/timeline/fundamental-ngx-core-timeline.ts"],"sourcesContent":["import { Directive } from '@angular/core';\n\n@Directive({\n // eslint-disable-next-line @angular-eslint/directive-selector\n selector: 'fd-timeline-node-header',\n host: {\n class: 'fd-timeline__post-header-container'\n },\n standalone: true\n})\nexport class TimelineNodeHeaderDirective {}\n","import { TimelineNodeComponentInterface } from '../../components/timeline-node/timeline-node-component.interface';\nimport { TimelineAxis } from '../../types';\n\nexport abstract class BaseStrategy {\n /** Offset between nodes lines */\n private readonly SMALL_OFFSET = 14;\n\n /** Offset between nodes lines with icon */\n private readonly BIG_OFFSET = 30;\n\n /** Offset for second list in within vertical axis */\n private readonly VERTICAL_TOP_LIST_OFFSET = 24;\n\n /** Calculate styles for timeline nodes */\n abstract calculateStyles(nodes: TimelineNodeComponentInterface[]): any;\n\n /** @hidden */\n protected _getOffset(node: TimelineNodeComponentInterface): number {\n return node.glyph ? this.BIG_OFFSET : this.SMALL_OFFSET;\n }\n\n /** @hidden */\n protected _getTwoListFromOne(\n nodes: TimelineNodeComponentInterface[]\n ): [TimelineNodeComponentInterface[], TimelineNodeComponentInterface[]] {\n const lastIndexInFirstList = Math.ceil(nodes.length / 2);\n const firstList = nodes.slice(0, lastIndexInFirstList);\n const secondList = nodes.slice(lastIndexInFirstList, nodes.length);\n return [firstList, secondList];\n }\n\n /** @hidden */\n protected _setStylesForSingleList(nodes: TimelineNodeComponentInterface[], axis: TimelineAxis): void {\n const [offsetProperty, sizeProperty] =\n axis === 'horizontal' ? ['offsetLeft', 'width'] : ['offsetTop', 'height'];\n\n nodes.forEach((node, index) => {\n const nextNode = nodes[index + 1];\n // Set line size depend on where next node item is started\n if (nextNode) {\n const size =\n nextNode.el.nativeElement[offsetProperty] -\n node.el.nativeElement[offsetProperty] -\n this._getOffset(node);\n node.lineEl.nativeElement.style[sizeProperty] = size + 'px';\n } else {\n // Hide last timeline line in list\n node.lineEl.nativeElement.style.opacity = '0';\n }\n });\n }\n\n /** @hidden */\n protected _setStylesForDoubleList(nodes: TimelineNodeComponentInterface[], axis: TimelineAxis): void {\n const [firstList, secondList] = this._getTwoListFromOne(nodes);\n const [offsetProp, sizeProp, sizeOffsetProp] =\n axis === 'horizontal' ? ['offsetLeft', 'width', 'offsetWidth'] : ['offsetTop', 'height', 'offsetHeight'];\n\n // Set styles for second list\n secondList.forEach((node, index) => {\n const el = node.el.nativeElement;\n const parallelNodeEl = firstList[index].el.nativeElement;\n\n // Handle case when bottom edge of item in second list higher than top edge of next item in first list\n // Actual only for vertical axis because items in horizontal axis have fixed size\n if (axis === 'vertical') {\n secondList[index].el.nativeElement.style.marginTop = `${this.SMALL_OFFSET}px`;\n const prevNode = secondList[index - 1];\n const diffBetween = prevNode\n ? parallelNodeEl.offsetTop +\n this.VERTICAL_TOP_LIST_OFFSET -\n (prevNode.el.nativeElement.offsetTop + prevNode.el.nativeElement.offsetHeight)\n : -1;\n if (diffBetween > 0) {\n prevNode.el.nativeElement.style.marginBottom = `${diffBetween}px`;\n }\n }\n\n // Set line size depend on where next node item is started\n const diff =\n parallelNodeEl[offsetProp] + parallelNodeEl[sizeOffsetProp] - el[offsetProp] - this._getOffset(node);\n node.lineEl.nativeElement.style[sizeProp] = diff + 'px';\n });\n\n // Set styles for first list\n firstList.forEach((node, index) => {\n const el = node.el.nativeElement;\n const parallelNode = secondList[index];\n // Set line size depend on where next node item is started\n if (parallelNode) {\n const diff = parallelNode.el.nativeElement[offsetProp] - el[offsetProp] - this._getOffset(node);\n node.lineEl.nativeElement.style[sizeProp] = diff + 'px';\n }\n });\n\n // Hide last timeline line in lists\n const lastNode =\n firstList.length === secondList.length\n ? secondList[secondList.length - 1]\n : firstList[firstList.length - 1];\n lastNode.lineEl.nativeElement.style.opacity = '0';\n }\n}\n","import { BaseStrategy } from './base-strategy';\nimport { TimelineNodeComponentInterface } from '../../components/timeline-node/timeline-node-component.interface';\n\nexport class VerticalDoubleSidesStrategy extends BaseStrategy {\n /** Calculate styles for timeline nodes */\n calculateStyles(nodes: TimelineNodeComponentInterface[]): void {\n this._setStylesForDoubleList(nodes, 'vertical');\n }\n}\n","import { BaseStrategy } from './base-strategy';\nimport { TimelineNodeComponentInterface } from '../../components/timeline-node/timeline-node-component.interface';\n\nexport class HorizontalSingleSideStrategy extends BaseStrategy {\n /** Calculate styles for timeline nodes */\n calculateStyles(nodes: TimelineNodeComponentInterface[]): any {\n this._setStylesForSingleList(nodes, 'horizontal');\n }\n}\n","import { BaseStrategy } from './base-strategy';\nimport { TimelineNodeComponentInterface } from '../../components/timeline-node/timeline-node-component.interface';\n\nexport class HorizontalDoubleSidesStrategy extends BaseStrategy {\n /** Calculate styles for timeline nodes */\n calculateStyles(nodes: TimelineNodeComponentInterface[]): any {\n this._setStylesForDoubleList(nodes, 'horizontal');\n }\n}\n","import { BaseStrategy } from './base-strategy';\nimport { TimelineNodeComponentInterface } from '../../components/timeline-node/timeline-node-component.interface';\n\nexport class VerticalSingleSideStrategy extends BaseStrategy {\n /** Calculate styles for timeline nodes */\n calculateStyles(nodes: TimelineNodeComponentInterface[]): void {\n this._setStylesForSingleList(nodes, 'vertical');\n }\n}\n","import { BaseStrategy } from './base-strategy';\nimport { TimeLinePositionStrategy } from '../../types';\nimport { VerticalDoubleSidesStrategy } from './vertical-double-sides-strategy';\nimport { HorizontalSingleSideStrategy } from './horizontal-single-side-strategy';\nimport { HorizontalDoubleSidesStrategy } from './horizontal-double-sides-strategy';\nimport { VerticalSingleSideStrategy } from './vertical-single-side-strategy';\n\nexport class PositionStrategyFactory {\n /** Get timeline position strategy */\n static getStrategy(strategy: TimeLinePositionStrategy): BaseStrategy {\n switch (strategy) {\n case 'vertical-right':\n return new VerticalSingleSideStrategy();\n case 'vertical-left':\n return new VerticalSingleSideStrategy();\n case 'vertical-double':\n return new VerticalDoubleSidesStrategy();\n case 'horizontal-top':\n return new HorizontalSingleSideStrategy();\n case 'horizontal-bottom':\n return new HorizontalSingleSideStrategy();\n case 'horizontal-double':\n return new HorizontalDoubleSidesStrategy();\n default:\n throw Error(`Unsupported strategy: ${strategy}`);\n }\n }\n}\n","import { Injectable } from '@angular/core';\nimport { TimelineNodeComponentInterface } from '../components/timeline-node/timeline-node-component.interface';\nimport { TimeLinePositionStrategy } from '../types';\nimport { BaseStrategy } from './position-strategies/base-strategy';\nimport { PositionStrategyFactory } from './position-strategies/position-strategy-factory';\n\n@Injectable()\nexport class TimelinePositionControlService {\n /* List of TimelineNodeComponent */\n /** @hidden */\n private _nodeItems: TimelineNodeComponentInterface[] = [];\n\n /* Current position strategy. It depends on axis and layout */\n /** @hidden */\n private _positionStrategy: BaseStrategy;\n\n /** Calculate styles for timeline nodes */\n calculatePositions(): void {\n this._positionStrategy.calculateStyles(this._nodeItems);\n }\n\n /** Set strategy for current axis and layout */\n setStrategy(strategy: TimeLinePositionStrategy): void {\n this._positionStrategy = PositionStrategyFactory.getStrategy(strategy);\n }\n\n /** Register TimelineNodeComponent */\n registerNode(node: TimelineNodeComponentInterface): void {\n this._nodeItems.push(node);\n }\n\n /** Remove TimelineNodeComponent */\n removeNode(node: TimelineNodeComponentInterface): void {\n this._nodeItems = this._nodeItems.filter((item) => item !== node);\n }\n}\n","import { NgIf } from '@angular/common';\nimport {\n ChangeDetectionStrategy,\n Component,\n ElementRef,\n Input,\n OnDestroy,\n OnInit,\n ViewChild,\n ViewEncapsulation\n} from '@angular/core';\nimport { IconComponent } from '@fundamental-ngx/core/icon';\nimport { TimelinePositionControlService } from '../../services/timeline-position-control.service';\nimport { TimelineNodeComponentInterface } from './timeline-node-component.interface';\n\n@Component({\n selector: 'fd-timeline-node',\n templateUrl: './timeline-node.component.html',\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n host: {\n class: 'fd-timeline__node-wrapper',\n '[class.fd-timeline__node-wrapper--icon]': '!!glyph'\n },\n standalone: true,\n imports: [NgIf, IconComponent]\n})\nexport class TimelineNodeComponent implements TimelineNodeComponentInterface, OnInit, OnDestroy {\n /** Glyph of the current timeline node.*/\n @Input()\n glyph: string;\n\n /** Aria label for the current timeline node. */\n @Input()\n ariaLabel = 'timelineitem';\n\n /** Reference to the line of timeline node*/\n @ViewChild('lineEl')\n lineEl: ElementRef;\n\n /** @hidden */\n constructor(public el: ElementRef, private _timelinePositionControl: TimelinePositionControlService) {}\n\n /** @hidden */\n ngOnInit(): void {\n this._timelinePositionControl.registerNode(this);\n }\n\n /** @hidden */\n ngOnDestroy(): void {\n this._timelinePositionControl.removeNode(this);\n }\n}\n","<div class=\"fd-timeline__node-container\">\n <div class=\"fd-timeline__icon-wrapper\">\n <div class=\"fd-timeline__node\" [class.fd-timeline__node--icon]=\"!!glyph\">\n <fd-icon *ngIf=\"glyph\" [glyph]=\"glyph\"></fd-icon>\n </div>\n </div>\n <div #lineEl class=\"fd-timeline__connecting-line\"></div>\n</div>\n<div role=\"timelineitem\" [attr.aria-label]=\"ariaLabel\" class=\"fd-timeline__post\">\n <ng-content></ng-content>\n</div>\n","import { Directive, ViewContainerRef } from '@angular/core';\n\n@Directive({\n selector: '[fdTimelineFirstListOutlet], [fd-timeline-first-list-outlet]',\n standalone: true\n})\nexport class TimelineFirstListOutletDirective {\n /** Ref to ViewContainerRef instance*/\n constructor(public viewContainer: ViewContainerRef) {}\n}\n","import { Directive, Input, TemplateRef } from '@angular/core';\n\n/** Context provided to the timeline node component. */\nexport class TimelineNodeOutletContext<T> {\n /** Data for the node. */\n $implicit: T;\n\n /** Index location of the node. */\n index?: number;\n\n /** Length of the number of total dataNodes. */\n count?: number;\n\n /** @hidden */\n constructor(data: T) {\n this.$implicit = data;\n }\n}\n\n@Directive({\n selector: '[fdTimelineNodeDef], [fd-timeline-node-def]',\n standalone: true\n})\nexport class TimelineNodeDefDirective<T> {\n /** Data passed to the template*/\n @Input()\n fdTimelineNodeData: T;\n\n /** @hidden */\n constructor(public template: TemplateRef<any>) {}\n}\n","import { Directive, ViewContainerRef } from '@angular/core';\n\n@Directive({\n selector: '[fdTimelineSecondListOutlet], [fd-timeline-second-list-outlet]',\n standalone: true\n})\nexport class TimelineSecondListOutletDirective {\n /** Ref to ViewContainerRef instance*/\n constructor(public viewContainer: ViewContainerRef) {}\n}\n","import { ViewportRuler } from '@angular/cdk/overlay';\nimport {\n AfterViewInit,\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n Component,\n ContentChildren,\n ElementRef,\n Input,\n IterableChangeRecord,\n IterableDiffer,\n IterableDiffers,\n NgZone,\n OnChanges,\n OnDestroy,\n OnInit,\n QueryList,\n SimpleChanges,\n TemplateRef,\n TrackByFunction,\n ViewChild,\n ViewContainerRef,\n ViewEncapsulation\n} from '@angular/core';\nimport { resizeObservable } from '@fundamental-ngx/cdk/utils';\nimport { Subject, debounceTime } from 'rxjs';\nimport { takeUntil } from 'rxjs/operators';\n\nimport { RepeatDirective } from '@fundamental-ngx/cdk/utils';\nimport { SkeletonComponent } from '@fundamental-ngx/core/skeleton';\nimport { TimelineNodeHeaderDirective } from './components/timeline-node-header/timeline-node-header.directive';\nimport { TimelineNodeComponent } from './components/timeline-node/timeline-node.component';\nimport { TimelineFirstListOutletDirective } from './directives/timeline-first-list-outlet.directive';\nimport { TimelineNodeDefDirective, TimelineNodeOutletContext } from './directives/timeline-node-def.directive';\nimport { TimelineSecondListOutletDirective } from './directives/timeline-second-list-outlet.directive';\nimport { TimelinePositionControlService } from './services/timeline-position-control.service';\nimport { TimeLinePositionStrategy, TimelineAxis, TimelineSidePosition } from './types';\n\n@Component({\n selector: 'fd-timeline',\n templateUrl: './timeline.component.html',\n styleUrls: ['./timeline.component.scss'],\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n providers: [TimelinePositionControlService],\n host: {\n role: 'timeline',\n 'arial-label': 'timeline',\n class: 'fd-timeline',\n '[class.fd-timeline--horizontal]': 'axis === \"horizontal\"',\n '[class.fd-timeline--vertical]': 'axis === \"vertical\"'\n },\n standalone: true,\n imports: [\n TimelineFirstListOutletDirective,\n TimelineSecondListOutletDirective,\n RepeatDirective,\n TimelineNodeComponent,\n TimelineNodeHeaderDirective,\n SkeletonComponent\n ]\n})\nexport class TimelineComponent<T> implements OnInit, OnDestroy, OnChanges, AfterViewInit {\n /**\n * Data array to render\n */\n @Input()\n dataSource: T[];\n\n /**\n * Tracking function that will be used to check the differences in data changes.\n */\n @Input()\n trackBy: TrackByFunction<T>;\n\n /**\n * Axis for timeline\n */\n @Input()\n axis: TimelineAxis = 'vertical';\n\n /**\n * Layout for timeline\n */\n @Input()\n layout: TimelineSidePosition = 'right';\n\n /* First outlet within the timeline template where the dataNodes will be inserted. */\n /** @hidden */\n @ViewChild(TimelineFirstListOutletDirective, { static: true })\n private _firstListOutlet: TimelineFirstListOutletDirective;\n\n /* Second outlet within the timeline template where the dataNodes will be inserted. */\n /** @hidden */\n @ViewChild(TimelineSecondListOutletDirective, { static: true })\n private _secondListOutlet: TimelineSecondListOutletDirective;\n\n /** The timeline node template for the timeline */\n /** @hidden */\n @ContentChildren(TimelineNodeDefDirective, { descendants: true })\n private _nodeDefs: QueryList<TimelineNodeDefDirective<T>>;\n\n /** @hidden */\n _canShowFirstList = true;\n\n /** @hidden */\n _canShowSecondList = true;\n\n /** @hidden */\n _loading = true;\n\n /** @hidden */\n @ViewChild('loadingTemplate')\n _loadingTemplate: TemplateRef<any>;\n\n /** @hidden\n * Differ used to find the changes in the data provided by the data source.\n */\n private _dataDifferForFirstList: IterableDiffer<T>;\n\n /** @hidden */\n private _dataDifferForSecondList: IterableDiffer<T>;\n\n /** @hidden */\n private readonly _onDestroy = new Subject<void>();\n\n /** @hidden */\n constructor(\n private _differs: IterableDiffers,\n private _cd: ChangeDetectorRef,\n private _timelinePositionControlService: TimelinePositionControlService,\n private _viewportRuler: ViewportRuler,\n private _elementRef: ElementRef<HTMLElement>,\n private _ngZone: NgZone\n ) {}\n\n /** @hidden */\n ngOnInit(): void {\n this._dataDifferForFirstList = this._differs.find([]).create(this.trackBy);\n this._dataDifferForSecondList = this._differs.find([]).create(this.trackBy);\n\n this._canShowFirstList = this.layout !== 'right' && this.layout !== 'bottom';\n this._canShowSecondList = this.layout !== 'left' && this.layout !== 'top';\n }\n\n /** @hidden */\n ngOnChanges(changes: SimpleChanges): void {\n if ('axis' in changes || 'layout' in changes) {\n this._canShowFirstList = this.layout !== 'right' && this.layout !== 'bottom';\n this._canShowSecondList = this.layout !== 'left' && this.layout !== 'top';\n this._setPositionStrategy();\n this.switchDataSource(this.dataSource);\n }\n if ('dataSource' in changes && !changes['dataSource'].firstChange) {\n const value = changes['dataSource'].currentValue;\n this.switchDataSource(value);\n }\n }\n\n /** @hidden */\n ngAfterViewInit(): void {\n resizeObservable(this._elementRef.nativeElement)\n .pipe(debounceTime(50), takeUntil(this._onDestroy))\n .subscribe(() => this._timelinePositionControlService.calculatePositions());\n this._setPositionStrategy();\n this.switchDataSource(this.dataSource);\n }\n\n /** @hidden */\n ngOnDestroy(): void {\n this._firstListOutlet.viewContainer.clear();\n this._onDestroy.next();\n this._onDestroy.complete();\n }\n\n /**\n * Update state by new data source\n * If the data source is null, interpret this by clearing the node outlet.\n */\n /** @hidden */\n private switchDataSource(data: T[]): void {\n this._loading = true;\n if (!data) {\n this._firstListOutlet.viewContainer.clear();\n this._firstListOutlet.viewContainer.createEmbeddedView(this._loadingTemplate);\n this._cd.detectChanges();\n this._timelinePositionControlService.calculatePositions();\n this._cd.detectChanges();\n return;\n }\n if (this._nodeDefs) {\n const [first, second] = this._splitList(data);\n this._renderNodeChanges(first, this._dataDifferForFirstList, this._firstListOutlet?.viewContainer);\n this._renderNodeChanges(second, this._dataDifferForSecondList, this._secondListOutlet?.viewContainer);\n this._cd.detectChanges();\n this._timelinePositionControlService.calculatePositions();\n this._loading = false;\n this._cd.detectChanges();\n }\n }\n\n /** Check for changes made in the data and render each change (node added/removed/moved). */\n /** @hidden */\n private _renderNodeChanges(data: T[], differ: IterableDiffer<T>, vcr: ViewContainerRef): void {\n const changes = differ.diff(data);\n if (!changes) {\n return;\n }\n changes.forEachOperation(\n (item: IterableChangeRecord<T>, adjustedPreviousIndex: number | null, currentIndex: number | null) => {\n if (currentIndex != null && item.previousIndex === null) {\n this._insertNode(data[currentIndex], currentIndex, vcr);\n } else if (currentIndex === null && adjustedPreviousIndex != null) {\n vcr.remove(adjustedPreviousIndex);\n } else if (adjustedPreviousIndex != null && currentIndex != null) {\n const view = vcr.get(adjustedPreviousIndex);\n if (view) {\n vcr.move(view, currentIndex);\n }\n }\n }\n );\n }\n\n /** @hidden */\n private _setPositionStrategy(): void {\n this._timelinePositionControlService.setStrategy(`${this.axis}-${this.layout}` as TimeLinePositionStrategy);\n }\n\n /**\n * Create the embedded view for the data node template and place it in the correct index location\n * within the data node view container.\n */\n /** @hidden */\n private _insertNode(nodeData: T, index: number, vcr: ViewContainerRef): void {\n const node = this._getNodeDef(index);\n\n // Node context that will be provided to created embedded view\n const context = new TimelineNodeOutletContext<T>(nodeData);\n\n vcr.createEmbeddedView(node.template, context, index);\n }\n\n /**\n * Finds the matching node definition that should be used for this node data. If there is only\n * one node definition, it is returned.\n */\n /** @hidden */\n private _getNodeDef(i: number): TimelineNodeDefDirective<T> {\n if (this._nodeDefs.length === 1) {\n return this._nodeDefs.first;\n }\n return this._nodeDefs[i];\n }\n\n /**\n * Split data list to two list first and second to represent timelines in two lists.\n */\n /** @hidden */\n private _splitList(dataSource: T[]): T[][] {\n let dataForFirstList: T[] = [];\n let dataForSecondList: T[] = [];\n if (this.layout === 'left' || this.layout === 'top') {\n dataForFirstList = [...dataSource];\n } else if (this.layout === 'right' || this.layout === 'bottom') {\n dataForSecondList = [...dataSource];\n } else {\n dataSource.forEach((item, index) => {\n if (index % 2 === 0) {\n dataForFirstList.push(item);\n } else {\n dataForSecondList.push(item);\n }\n });\n }\n return [dataForFirstList, dataForSecondList];\n }\n}\n","<div\n [class.fd-timeline__list--empty]=\"!_canShowFirstList && !_loading\"\n class=\"fd-timeline__list fd-timeline__list--first\"\n>\n <ng-container fdTimelineFirstListOutlet></ng-container>\n</div>\n<div class=\"fd-timeline__main-line\"></div>\n<div\n [class.fd-timeline__list--empty]=\"!_canShowSecondList\"\n [class.fd-timeline__list--with-offset]=\"_canShowFirstList\"\n class=\"fd-timeline__list fd-timeline__list--second\"\n>\n <ng-container fdTimelineSecondListOutlet></ng-container>\n</div>\n\n<ng-template #loadingTemplate>\n <fd-timeline-node *fdkRepeat=\"3\">\n <fd-timeline-node-header>\n <fd-skeleton width=\"100%\" height=\"32px\">\n <svg:circle cx=\"16\" cy=\"16\" r=\"16\" rx=\"4\"></svg:circle>\n <svg:rect x=\"37\" y=\"0\" width=\"120\" height=\"12\" rx=\"4\"></svg:rect>\n <svg:rect x=\"37\" y=\"20\" width=\"80\" height=\"8\" rx=\"4\"></svg:rect>\n </fd-skeleton>\n </fd-timeline-node-header>\n\n <fd-skeleton type=\"text\"></fd-skeleton>\n </fd-timeline-node>\n</ng-template>\n","import { ChangeDetectionStrategy, Component, Input, NgZone, ViewEncapsulation } from '@angular/core';\nimport { TextComponent } from '@fundamental-ngx/core/text';\nimport { first } from 'rxjs/operators';\nimport { TimelinePositionControlService } from '../../services/timeline-position-control.service';\n\n@Component({\n selector: 'fd-timeline-node-body',\n templateUrl: './timeline-node-body.component.html',\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n host: {\n class: 'fd-timeline__post-content'\n },\n standalone: true,\n imports: [TextComponent]\n})\nexport class TimelineNodeBodyComponent {\n /** Text content of timeline node*/\n @Input()\n content: string;\n\n /**\n * The number of lines to be visible.\n * If user doesn't provide it, all lines will be visible\n */\n @Input()\n maxLines: number;\n\n /** @hidden */\n constructor(private _ngZone: NgZone, private _timelinePositionControlService: TimelinePositionControlService) {}\n\n /** @hidden */\n calculatePositions(): void {\n this._ngZone.onStable.pipe(first()).subscribe(() => {\n this._timelinePositionControlService.calculatePositions();\n });\n }\n}\n","<fd-text\n [maxLines]=\"maxLines || 0\"\n [text]=\"content\"\n [isCollapsed]=\"!!maxLines\"\n [expandable]=\"!!maxLines\"\n (isCollapsedChange)=\"calculatePositions()\"\n></fd-text>\n","import { ChangeDetectionStrategy, Component, ViewEncapsulation } from '@angular/core';\n\n@Component({\n selector: 'fd-timeline-node-footer',\n template: '<ng-content></ng-content>',\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n host: {\n class: 'fd-timeline__post-actions'\n },\n styles: [\n `\n .fd-timeline__post-actions button + button {\n margin-left: 0.5rem;\n }\n `\n ],\n standalone: true\n})\nexport class TimelineNodeFooterComponent {}\n","import { Directive } from '@angular/core';\n\n@Directive({\n // eslint-disable-next-line @angular-eslint/directive-selector\n selector: 'fd-timeline-node-header-info',\n host: {\n class: 'fd-timeline__post-header'\n },\n standalone: true\n})\nexport class TimelineNodeHeaderInfoDirective {}\n","import { Directive, HostBinding } from '@angular/core';\n\n@Directive({\n selector: '[fdTimelineHeaderInfoSubTitle], [fd-timeline-header-info-sub-title]',\n standalone: true\n})\nexport class TimelineHeaderInfoSubTitleDirective {\n /** add/remove fd-timeline__post-subheader class*/\n @HostBinding('class.fd-timeline__post-subheader')\n fdTimelineNodeHeaderInfoSubTitleClass = true;\n}\n","import { Directive, HostBinding } from '@angular/core';\n\n@Directive({\n selector: '[fdTimelineNodeHeaderInfoText], [fd-timeline-node-header-info-text]',\n standalone: true\n})\nexport class TimelineNodeHeaderInfoTextDirective {\n /** add/remove fd-timeline__post-header-text class*/\n @HostBinding('class.fd-timeline__post-header-text')\n fdTimelineNodeHeaderInfoTextClass = true;\n}\n","import { Directive, HostBinding } from '@angular/core';\n\n@Directive({\n selector: '[fdTimelineNodeHeaderInfoTitle], [fd-timeline-node-header-info-title]',\n standalone: true\n})\nexport class TimelineNodeHeaderInfoTitleDirective {\n /** fd-timeline__post-header-title*/\n @HostBinding('class.fd-timeline__post-header-title')\n fdTimelineNodeHeaderInfoTitleClass = true;\n}\n","import { NgModule } from '@angular/core';\n\nimport { TimelineNodeBodyComponent } from './components/timeline-node-body/timeline-node-body.component';\nimport { TimelineNodeFooterComponent } from './components/timeline-node-footer/timeline-node-footer.component';\nimport { TimelineNodeHeaderInfoDirective } from './components/timeline-node-header/timeline-node-header-info/timeline-node-header-info.directive';\nimport { TimelineNodeHeaderDirective } from './components/timeline-node-header/timeline-node-header.directive';\nimport { TimelineNodeComponent } from './components/timeline-node/timeline-node.component';\nimport { TimelineHeaderInfoSubTitleDirective } from './directives/class-bindings/timeline-header-info-sub-title.directive';\nimport { TimelineNodeHeaderInfoTextDirective } from './directives/class-bindings/timeline-node-header-info-text.directive';\nimport { TimelineNodeHeaderInfoTitleDirective } from './directives/class-bindings/timeline-node-header-info-title.directive';\nimport { TimelineNodeDefDirective } from './directives/timeline-node-def.directive';\nimport { TimelineComponent } from './timeline.component';\n\nconst components = [\n TimelineComponent,\n TimelineNodeDefDirective,\n TimelineNodeHeaderDirective,\n TimelineNodeHeaderInfoDirective,\n TimelineNodeBodyComponent,\n TimelineNodeFooterComponent,\n TimelineNodeComponent,\n TimelineNodeHeaderInfoTitleDirective,\n TimelineNodeHeaderInfoTextDirective,\n TimelineHeaderInfoSubTitleDirective\n];\n\n/**\n * @deprecated\n * Use direct imports of `TimelineComponent`,\n `TimelineNodeDefDirective`,\n `TimelineNodeHeaderComponent`,\n `TimelineNodeHeaderInfoComponent`,\n `TimelineNodeBodyComponent`,\n `TimelineNodeFooterComponent`,\n `TimelineNodeComponent`,\n `TimelineNodeHeaderInfoTitleDirective`,\n `TimelineNodeHeaderInfoTextDirective`,\n `TimelineHeaderInfoSubTitleDirective`\n */\n@NgModule({\n imports: [...components],\n exports: [...components]\n})\nexport class TimelineModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":["i1.TimelinePositionControlService"],"mappings":"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"}
|
|
@@ -380,7 +380,7 @@ class TreeItemComponent extends BaseTreeItem {
|
|
|
380
380
|
provide: BaseTreeItem,
|
|
381
381
|
useExisting: TreeItemComponent
|
|
382
382
|
}
|
|
383
|
-
], queries: [{ propertyName: "_projectedTreeItems", predicate: BaseTreeItem }], viewQueries: [{ propertyName: "itemContainer", first: true, predicate: ["itemContainer"], descendants: true, read: ElementRef }, { propertyName: "selectableListItem", first: true, predicate: SelectableItemDirective, descendants: true }], usesInheritance: true, hostDirectives: [{ directive: i1.DataSourceDirective }], ngImport: i0, template: "<div\n class=\"fd-tree__item-container\"\n [attr.tabindex]=\"_containerTabIndex\"\n (fdkClicked)=\"_onClick($event)\"\n fdkSelectableItem\n (selected)=\"_setSelected($event)\"\n [value]=\"value\"\n [attr.aria-haspopup]=\"children.length > 0 || hasProjectedChildren\"\n [attr.aria-expanded]=\"expanded\"\n [attr.aria-setsize]=\"_setSize\"\n [attr.aria-posinset]=\"_currentPosition\"\n role=\"treeitem\"\n [attr.aria-level]=\"level\"\n #itemContainer\n [ngClass]=\"[\n state ? 'has-highlight-indicator has-highlight-indicator--' + state : '',\n navigatable ? 'fd-tree__item-container--active' : '',\n wrapContent ? 'fd-tree__content--wrap' : ''\n ]\"\n>\n <ng-container *ngIf=\"_selectionModel?.placement === 'left'\">\n <ng-template [ngTemplateOutlet]=\"selection\"></ng-template>\n </ng-container>\n <ng-container *ngIf=\"hasChildren\">\n <span\n *ngIf=\"hasDsChildren || hasProjectedChildren\"\n (click)=\"_toggleExpandState($event)\"\n class=\"fd-tree__expander\"\n aria-hidden=\"true\"\n role=\"presentation\"\n [attr.aria-label]=\"(expanded ? 'coreTree.collapse' : 'coreTree.expand') | fdTranslate\"\n [class.is-expanded]=\"expanded\"\n >\n <fd-icon\n class=\"fd-tree__icon\"\n [glyph]=\"expanded ? 'navigation-down-arrow' : 'navigation-right-arrow'\"\n ></fd-icon>\n </span>\n <div class=\"fd-tree__expander fd-tree__expander--loading\" *ngIf=\"!_totalChildrenLoaded\">\n <fd-skeleton type=\"rectangle\" width=\"1rem\" height=\"1rem\"></fd-skeleton>\n </div>\n <ng-container *ngIf=\"_selectionModel?.placement === 'afterExpand'\">\n <ng-template [ngTemplateOutlet]=\"selection\"></ng-template>\n </ng-container>\n </ng-container>\n <div class=\"fd-tree__content\">\n <ng-content select=\"[fdTreeItemIcon]\"></ng-content>\n <ng-content select=\"[fdTreeItemText]\"></ng-content>\n </div>\n <ng-content select=\"[fdTreeItemButton]\"></ng-content>\n <ng-container *ngIf=\"_selectionModel?.placement === 'right'\">\n <ng-template [ngTemplateOutlet]=\"selection\"></ng-template>\n </ng-container>\n <fd-icon\n glyph=\"slim-arrow-right\"\n class=\"fd-tree__icon fd-tree__icon--navigation\"\n *ngIf=\"navigatable && _navigationIndicator\"\n ></fd-icon>\n</div>\n\n<ng-container *ngIf=\"hasProjectedChildren && expanded\">\n <div class=\"fd-tree\">\n <ng-content select=\"fd-tree-item\"></ng-content>\n </div>\n</ng-container>\n\n<ng-template #selection>\n <div class=\"fd-form-item\">\n <fd-checkbox\n [(ngModel)]=\"_selectionState\"\n [ngModelOptions]=\"{ standalone: true }\"\n [standalone]=\"true\"\n tabIndexValue=\"-1\"\n *ngIf=\"_selectionModel?.mode === 'multiple'\"\n ></fd-checkbox>\n <fd-radio-button\n [(ngModel)]=\"_selectionState\"\n [ngModelOptions]=\"{ standalone: true }\"\n [selectedValue]=\"_selectionState\"\n [value]=\"true\"\n tabIndex=\"-1\"\n [standalone]=\"true\"\n tabIndexValue=\"-1\"\n *ngIf=\"_selectionModel?.mode === 'single'\"\n ></fd-radio-button>\n </div>\n</ng-template>\n", dependencies: [{ kind: "directive", type: SelectableItemDirective, selector: "[fdkSelectableItem]", inputs: ["value", "fdkSelectableItem"], outputs: ["clicked", "selected"], exportAs: ["fdkSelectableItem"] }, { kind: "directive", type: NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "ngmodule", type: ClickedBehaviorModule }, { kind: "directive", type: i2.ClickedDirective, selector: "[fdkClicked]", outputs: ["fdkClicked"] }, { kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "component", type: IconComponent, selector: "fd-icon", inputs: ["glyph", "font", "class", "ariaLabel", "ariaHidden"] }, { kind: "component", type: SkeletonComponent, selector: "fd-skeleton", inputs: ["animated", "type", "textLines", "width", "height"] }, { kind: "component", type: CheckboxComponent, selector: "fd-checkbox", inputs: ["wrapLabel", "valignLabel", "ariaLabel", "value", "ariaLabelledBy", "ariaDescribedBy", "title", "inputId", "state", "name", "label", "disabled", "tristate", "tristateSelectable", "labelClass", "required", "displayOnly", "values", "standalone"], outputs: ["focusChange"] }, { kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i3.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i3.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "component", type: RadioButtonComponent, selector: "fd-radio-button", inputs: ["ariaLabel", "ariaLabelledBy", "ariaDescribedBy", "title", "tabIndex", "state", "disabled", "selectedValue", "name", "id", "value", "required", "standalone"] }, { kind: "pipe", type: FdTranslatePipe, name: "fdTranslate" }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
|
|
383
|
+
], queries: [{ propertyName: "_projectedTreeItems", predicate: BaseTreeItem }], viewQueries: [{ propertyName: "itemContainer", first: true, predicate: ["itemContainer"], descendants: true, read: ElementRef }, { propertyName: "selectableListItem", first: true, predicate: SelectableItemDirective, descendants: true }], usesInheritance: true, hostDirectives: [{ directive: i1.DataSourceDirective }], ngImport: i0, template: "<div\n class=\"fd-tree__item-container\"\n [attr.tabindex]=\"_containerTabIndex\"\n (fdkClicked)=\"_onClick($event)\"\n fdkSelectableItem\n (selected)=\"_setSelected($event)\"\n [value]=\"value\"\n [attr.aria-haspopup]=\"children.length > 0 || hasProjectedChildren\"\n [attr.aria-expanded]=\"expanded\"\n [attr.aria-setsize]=\"_setSize\"\n [attr.aria-posinset]=\"_currentPosition\"\n role=\"treeitem\"\n [attr.aria-level]=\"level\"\n #itemContainer\n [ngClass]=\"[\n state ? 'has-highlight-indicator has-highlight-indicator--' + state : '',\n navigatable ? 'fd-tree__item-container--active' : '',\n wrapContent ? 'fd-tree__content--wrap' : ''\n ]\"\n>\n <ng-container *ngIf=\"_selectionModel?.placement === 'left'\">\n <ng-template [ngTemplateOutlet]=\"selection\"></ng-template>\n </ng-container>\n <ng-container *ngIf=\"hasChildren\">\n <span\n *ngIf=\"hasDsChildren || hasProjectedChildren\"\n (click)=\"_toggleExpandState($event)\"\n class=\"fd-tree__expander\"\n aria-hidden=\"true\"\n role=\"presentation\"\n [attr.aria-label]=\"(expanded ? 'coreTree.collapse' : 'coreTree.expand') | fdTranslate\"\n [class.is-expanded]=\"expanded\"\n >\n <fd-icon\n class=\"fd-tree__icon\"\n [glyph]=\"expanded ? 'navigation-down-arrow' : 'navigation-right-arrow'\"\n ></fd-icon>\n </span>\n <div class=\"fd-tree__expander fd-tree__expander--loading\" *ngIf=\"!_totalChildrenLoaded\">\n <fd-skeleton type=\"rectangle\" width=\"1rem\" height=\"1rem\"></fd-skeleton>\n </div>\n <ng-container *ngIf=\"_selectionModel?.placement === 'afterExpand'\">\n <ng-template [ngTemplateOutlet]=\"selection\"></ng-template>\n </ng-container>\n </ng-container>\n <div class=\"fd-tree__content\">\n <ng-content select=\"[fdTreeItemIcon]\"></ng-content>\n <ng-content select=\"[fdTreeItemText]\"></ng-content>\n </div>\n <ng-content select=\"[fdTreeItemButton]\"></ng-content>\n <ng-container *ngIf=\"_selectionModel?.placement === 'right'\">\n <ng-template [ngTemplateOutlet]=\"selection\"></ng-template>\n </ng-container>\n <fd-icon\n glyph=\"slim-arrow-right\"\n class=\"fd-tree__icon fd-tree__icon--navigation\"\n *ngIf=\"navigatable && _navigationIndicator\"\n ></fd-icon>\n</div>\n\n<ng-container *ngIf=\"hasProjectedChildren && expanded\">\n <div class=\"fd-tree\">\n <ng-content select=\"fd-tree-item\"></ng-content>\n </div>\n</ng-container>\n\n<ng-template #selection>\n <div class=\"fd-form-item\">\n <fd-checkbox\n [(ngModel)]=\"_selectionState\"\n [ngModelOptions]=\"{ standalone: true }\"\n [standalone]=\"true\"\n tabIndexValue=\"-1\"\n *ngIf=\"_selectionModel?.mode === 'multiple'\"\n ></fd-checkbox>\n <fd-radio-button\n [(ngModel)]=\"_selectionState\"\n [ngModelOptions]=\"{ standalone: true }\"\n [selectedValue]=\"_selectionState\"\n [value]=\"true\"\n tabIndex=\"-1\"\n [standalone]=\"true\"\n tabIndexValue=\"-1\"\n *ngIf=\"_selectionModel?.mode === 'single'\"\n ></fd-radio-button>\n </div>\n</ng-template>\n", dependencies: [{ kind: "directive", type: SelectableItemDirective, selector: "[fdkSelectableItem]", inputs: ["value", "fdkSelectableItem"], outputs: ["clicked", "selected"], exportAs: ["fdkSelectableItem"] }, { kind: "directive", type: NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "ngmodule", type: ClickedBehaviorModule }, { kind: "directive", type: i2.ClickedDirective, selector: "[fdkClicked]", outputs: ["fdkClicked"] }, { kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "component", type: IconComponent, selector: "fd-icon", inputs: ["glyph", "font", "color", "background", "class", "ariaLabel", "ariaHidden"] }, { kind: "component", type: SkeletonComponent, selector: "fd-skeleton", inputs: ["animated", "type", "textLines", "width", "height"] }, { kind: "component", type: CheckboxComponent, selector: "fd-checkbox", inputs: ["wrapLabel", "valignLabel", "ariaLabel", "value", "ariaLabelledBy", "ariaDescribedBy", "title", "inputId", "state", "name", "label", "disabled", "tristate", "tristateSelectable", "labelClass", "required", "displayOnly", "values", "standalone"], outputs: ["focusChange"] }, { kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i3.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i3.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "component", type: RadioButtonComponent, selector: "fd-radio-button", inputs: ["ariaLabel", "ariaLabelledBy", "ariaDescribedBy", "title", "tabIndex", "state", "disabled", "selectedValue", "name", "id", "value", "required", "standalone"] }, { kind: "pipe", type: FdTranslatePipe, name: "fdTranslate" }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
|
|
384
384
|
}
|
|
385
385
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.7", ngImport: i0, type: TreeItemComponent, decorators: [{
|
|
386
386
|
type: Component,
|