{"version":3,"file":"ng-devui-time-axis.mjs","sources":["../../devui/time-axis/time-axis-item/time-axis-item.component.ts","../../devui/time-axis/time-axis-item/time-axis-item.component.html","../../devui/time-axis/time-axis.component.ts","../../devui/time-axis/time-axis.component.html","../../devui/time-axis/time-axis.module.ts","../../devui/time-axis/ng-devui-time-axis.ts"],"sourcesContent":["import { Component, EventEmitter, HostBinding, Input, OnInit, Output, TemplateRef } from '@angular/core';\nimport { TimeAxisMode } from '../time-axis.type';\n\n@Component({\n  selector: 'd-time-axis-item',\n  templateUrl: './time-axis-item.component.html',\n  styleUrls: ['./time-axis-item.component.scss']\n})\nexport class TimeAxisItemComponent implements OnInit {\n  @Input() model;\n  @Input() direction;\n  @Input() time;\n  @Input() timePosition; // direction为vertical时time的位置\n  @Input() position;\n  @Input() lineStyle;\n  @Input() customDot;\n  @Input() dotColor;\n  @Input() iconClass;\n  @Input() extraElement;\n  @Input() text;\n  @Input() contentTemplate: TemplateRef<any>;\n  @Input() data;\n  @Input() horizontalAlign = 'center';\n  @Input() mode: TimeAxisMode = 'normal';\n  @Output() statusChanged = new EventEmitter<string>();\n  _type;\n  dotText: string;\n\n  @Input()\n  set type(type) {\n    switch (type) {\n    case 'success':\n      this._type = 'right';\n      break;\n\n    case 'danger':\n      this._type = 'danger';\n      break;\n\n    case 'warning':\n      this._type = 'warning';\n      break;\n\n    case 'primary':\n      this._type = 'primary';\n      break;\n\n    case 'running':\n      this._type = 'running';\n      this.dotText = '↻';\n      break;\n\n    default:\n      break;\n    }\n  }\n\n  /**\n  * @deprecated Use type to replace.\n  */\n  @Input()\n  set status(status) {\n    if (status !== undefined) {\n      this.statusChanged.emit(status);\n\n      if (status === 'running') {\n        this.type = 'running';\n      } else if (this._type === 'running' && status === '') {\n        this.type = 'primary';\n      }\n    }\n  }\n\n  @HostBinding('class.devui-time-axis-item-horizontal-no-line') get horizontalNoLine() {\n    return this.direction === 'horizontal' && this?.lineStyle?.style === 'none';\n  }\n\n  @HostBinding('class.devui-time-axis-item-vertical-no-line') get verticalNoLine() {\n    return this.direction === 'vertical' && this?.lineStyle?.style === 'none';\n  }\n\n  constructor() { }\n\n  ngOnInit() {\n    if (this.position === undefined) {\n      this.position = (this.direction === 'vertical' ? 'right' : 'bottom');\n    }\n  }\n\n  get extraTemplate() {\n    return this.extraElement instanceof TemplateRef ? this.extraElement : null;\n  }\n\n  get dotTemplate() {\n    return this.customDot instanceof TemplateRef ? this.extraElement : null;\n  }\n\n  get timeAxisLineClass() {\n    let styleClass = `devui-time-axis-line-style-${ this.lineStyle?.style || 'solid' }`;\n    styleClass += this.timePosition !== 'bottom' ? ' devui-time-axis-item-line' : ' devui-time-axis-item-line-time-bottom';\n    return styleClass;\n  }\n\n}\n","<div\n  [class.devui-time-axis-item-horizontal]=\"direction === 'horizontal'\"\n  [class.devui-time-axis-item-vertical]=\"direction === 'vertical' && timePosition !== 'bottom'\"\n  [class.devui-time-axis-item-vertical-time-bottom]=\"direction === 'vertical' && timePosition === 'bottom'\"\n>\n  <div\n    *ngIf=\"timePosition !== 'bottom' && mode !== 'bottom' && mode !== 'right'\"\n    [class.devui-time-axis-item-data-horizontal-top]=\"direction === 'horizontal'\"\n    [class.devui-time-axis-item-data-vertical-left]=\"direction === 'vertical'\"\n  >\n    <div *ngIf=\"time && (position === 'bottom' || position === 'right')\">\n      <div [class.devui-time-axis-item-horizontal-align-center]=\"position === 'bottom' && horizontalAlign === 'center'\">{{ time }}</div>\n    </div>\n    <div\n      *ngIf=\"position === 'top' || position === 'left'\"\n      [class.devui-time-axis-item-horizontal-align-center]=\"position === 'top' && horizontalAlign === 'center'\"\n    >\n      <div *ngIf=\"model !== 'template'\" [innerHTML]=\"text | safe: 'html'\"></div>\n      <div *ngIf=\"model === 'template'\">\n        <ng-template [ngTemplateOutlet]=\"contentTemplate\" [ngTemplateOutletContext]=\"{ $implicit: this, data: data }\"></ng-template>\n      </div>\n    </div>\n  </div>\n  <div\n    class=\"devui-time-axis-item-axis\"\n    [class.devui-time-axis-item-axis-padding-horizontal]=\"direction === 'horizontal'\"\n    [class.devui-time-axis-item-axis-padding-vertical]=\"direction === 'vertical'\"\n    [class.devui-time-axis-item-axis-padding-mode-top]=\"mode === 'top'\"\n    [class.devui-time-axis-item-axis-padding-mode-bottom]=\"mode === 'bottom'\"\n    [class.devui-time-axis-item-axis-padding-mode-left]=\"mode === 'left'\"\n    [class.devui-time-axis-item-axis-padding-mode-right]=\"mode === 'right'\"\n  >\n    <div\n      *ngIf=\"!customDot && (_type === 'primary' || !_type)\"\n      [style.borderColor]=\"dotColor\"\n      class=\"devui-time-axis-item-dot devui-time-axis-item-type-{{ _type || 'primary' }} {{ iconClass }}\"\n    ></div>\n    <div\n      *ngIf=\"!customDot && _type !== 'primary' && _type\"\n      class=\"devui-time-axis-item-dot devui-time-axis-item-type-{{ _type || 'primary' }} {{ iconClass }}\"\n    >\n      <svg\n        *ngIf=\"_type === 'danger'\"\n        class=\"devui-icon devui-icon-error\"\n        width=\"16px\"\n        height=\"16px\"\n        viewBox=\"0 0 16 16\"\n        version=\"1.1\"\n        xmlns=\"http://www.w3.org/2000/svg\"\n        xmlns:xlink=\"http://www.w3.org/1999/xlink\"\n      >\n        <g stroke=\"none\" stroke-width=\"1\" fill=\"none\" fill-rule=\"evenodd\">\n          <circle cx=\"8\" cy=\"8\" r=\"7\"></circle>\n          <path\n            d=\"M8,0 C3.6,0 0,3.6 0,8 C0,12.4 3.6,16 8,16 C12.4,16 16,12.4 16,8 C16,3.6 12.4,0 8,0 Z M9,12.6 L7,12.6 L7,10.6 L9,10.6 L9,12.6 Z M9,9.1 L7,9.1 L6.9,3.1 L9.1,3.1 L9,9.1 Z\"\n            fill-rule=\"nonzero\"\n          ></path>\n        </g>\n      </svg>\n      <i *ngIf=\"_type === 'right' || _type === 'warning'\" class=\"devui-icon icon-{{ _type }}-o\"></i>\n      <span *ngIf=\"_type === 'running'\">\n        {{ dotText }}\n      </span>\n    </div>\n    <div *ngIf=\"customDot\" class=\"devui-time-axis-item-custom-dot\">\n      <ng-template [ngTemplateOutlet]=\"dotTemplate || defaultDotTemplate\"> </ng-template>\n      <ng-template #defaultDotTemplate>\n        <span [innerHTML]=\"customDot | safe: 'html'\"></span>\n      </ng-template>\n    </div>\n    <div *ngIf=\"time && timePosition === 'bottom'\">{{ time }}</div>\n    <div class=\"{{ timeAxisLineClass }}\" [style.borderColor]=\"lineStyle?.color\">\n      <div *ngIf=\"extraElement\" class=\"devui-time-axis-middle-zone\">\n        <ng-template [ngTemplateOutlet]=\"extraTemplate || defaultTemplate\"> </ng-template>\n        <ng-template #defaultTemplate>\n          <div [innerHTML]=\"extraElement | safe: 'html'\"></div>\n        </ng-template>\n      </div>\n    </div>\n  </div>\n  <div\n    *ngIf=\"mode !== 'top' && mode !== 'left'\"\n    [class.devui-time-axis-item-data-horizontal-bottom]=\"direction === 'horizontal'\"\n    [class.devui-time-axis-item-data-vertical-right]=\"direction === 'vertical' && timePosition !== 'bottom'\"\n    [class.devui-time-axis-item-data-time-bottom]=\"timePosition === 'bottom'\"\n  >\n    <div *ngIf=\"time && (position === 'top' || position === 'left')\">\n      <div [class.devui-time-axis-item-horizontal-align-center]=\"position === 'top' && horizontalAlign === 'center'\">{{ time }}</div>\n    </div>\n    <div\n      *ngIf=\"position === 'bottom' || position === 'right'\"\n      [class.devui-time-axis-item-horizontal-align-center]=\"position === 'bottom' && horizontalAlign === 'center'\"\n    >\n      <div *ngIf=\"model !== 'template'\" [innerHTML]=\"text | safe: 'html'\"></div>\n      <div *ngIf=\"model === 'template'\">\n        <ng-template [ngTemplateOutlet]=\"contentTemplate\" [ngTemplateOutletContext]=\"{ $implicit: this, data: data }\"></ng-template>\n      </div>\n    </div>\n  </div>\n</div>\n","import { AfterContentInit, AfterViewInit, Component, ContentChildren, ElementRef, Input, QueryList, TemplateRef } from '@angular/core';\nimport { TimeAxisItemComponent } from './time-axis-item/time-axis-item.component';\nimport { TimeAxisMode } from './time-axis.type';\n@Component({\n  selector: 'd-time-axis',\n  templateUrl: './time-axis.component.html',\n  styleUrls: [`./time-axis.component.scss`],\n  exportAs: 'time-axis',\n  preserveWhitespaces: false,\n})\n\nexport class TimeAxisComponent implements AfterContentInit, AfterViewInit {\n  @ContentChildren(TimeAxisItemComponent) listOfItems!: QueryList<TimeAxisItemComponent>;\n  @Input() data;\n  @Input() contentTemplate: TemplateRef<any>;\n  @Input() direction = 'vertical';\n  @Input() mode: TimeAxisMode = 'normal';\n  @Input() widthMode = 'fitContent';\n\n  constructor(private elementRef: ElementRef) {\n\n  }\n\n  ngAfterContentInit() {\n    if (this.mode === 'alternative') {\n      this.updateAlternativePosition();\n    }\n\n    this.vanishHorizontalLastLine();\n  }\n\n  ngAfterViewInit() {\n    if (this._direction === 'horizontal' && this.mode !== 'top' && this.mode !== 'bottom') {\n      const ulElement = this.elementRef.nativeElement.querySelector('.devui-time-axis-horizontal')  as HTMLElement;\n      const topElement = this.elementRef.nativeElement.querySelector('.devui-time-axis-item-data-horizontal-top')  as HTMLElement;\n      const bottomElement = this.elementRef.nativeElement.querySelector('.devui-time-axis-item-data-horizontal-bottom')  as HTMLElement;\n      ulElement.style.height = `${ Math.max(topElement.offsetHeight, bottomElement.offsetHeight) * 2 + 42}px`;\n    }\n  }\n\n  get _direction() {\n    if (this.data !== undefined) {\n      return this.data.direction || 'vertical';\n    } else {\n      return this.direction;\n    }\n  }\n\n  get _widthMode() {\n    if (this.data !== undefined) {\n      return this.data.widthMode;\n    } else {\n      return this.widthMode;\n    }\n  }\n\n  updateAlternativePosition() {\n    if (this.data === undefined) {\n      this.listOfItems.forEach((item, index) => {\n        if (this._direction === 'vertical') {\n          item.position = index % 2 === 0 ? 'left' : 'right';\n        } else {\n          item.position = index % 2 === 0 ? 'bottom' : 'top';\n        }\n      });\n    } else {\n      for (let i = 0; i < this.data.list.length; i++) {\n        if (this._direction === 'vertical') {\n          this.data.list[i].position = i % 2 === 0 ? 'left' : 'right';\n        } else {\n          this.data.list[i].position = i % 2 === 0 ? 'bottom' : 'top';\n        }\n      }\n    }\n  }\n\n  vanishHorizontalLastLine() {\n    if (this._direction === 'horizontal') {\n      if (this.data === undefined) {\n        if (this.listOfItems.last.lineStyle === undefined) {\n          this.listOfItems.last.lineStyle = { style: 'none' };\n        }\n      } else {\n        if (this.data.list[this.data.list.length - 1].lineStyle === undefined) {\n          this.data.list[this.data.list.length - 1].lineStyle = { style: 'none' };\n        }\n      }\n    }\n  }\n\n  changeStatusLine(event) {\n    if (this.data !== undefined && this.data.direction === 'horizontal') {\n      setTimeout(() => {\n        this.data.list.forEach((item, index, array) => {\n          if (item.status === 'runned' && index > 0) {\n            array[index - 1].lineStyle = { style: 'solid', color: 'var(--devui-success)' };\n          } else if (item.status === 'running' && index > 0) {\n            array[index - 1].lineStyle = { style: 'dotted', color: 'var(--devui-success)' };\n          } else if (item.status === '' && index > 0) {\n            array[index - 1].lineStyle = { style: 'solid' };\n          }\n        });\n      });\n    }\n  }\n}\n","<div\n  [class.devui-time-axis-horizontal]=\"_direction === 'horizontal'\"\n  [class.devui-time-axis-vertical]=\"_direction === 'vertical'\"\n  [class.devui-time-axis-horizontal-fullwidth]=\"_direction === 'horizontal' && _widthMode === 'fitWidth'\"\n>\n  <ng-container *ngIf=\"data !== undefined\">\n    <d-time-axis-item\n      *ngFor=\"let list of data.list\"\n      [model]=\"data.model\"\n      [direction]=\"_direction\"\n      [time]=\"list.time\"\n      [timePosition]=\"data.position\"\n      [position]=\"list.position\"\n      [lineStyle]=\"list.lineStyle\"\n      [customDot]=\"list.customDot\"\n      [dotColor]=\"list.dotColor\"\n      [iconClass]=\"list.iconClass\"\n      [type]=\"list.type\"\n      [status]=\"list.status\"\n      [extraElement]=\"list.extraElement\"\n      [text]=\"list.text\"\n      [contentTemplate]=\"contentTemplate\"\n      [data]=\"list.data\"\n      [mode]=\"mode\"\n      [horizontalAlign]=\"data.horizontalAlign || 'center'\"\n      (statusChanged)=\"changeStatusLine($event)\"\n    >\n    </d-time-axis-item>\n  </ng-container>\n  <ng-content select=\"d-time-axis-item\"></ng-content>\n</div>\n","import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { FormsModule } from '@angular/forms';\nimport { SafePipeModule } from 'ng-devui/utils';\nimport { TimeAxisItemComponent } from './time-axis-item/time-axis-item.component';\nimport { TimeAxisComponent } from './time-axis.component';\n\n@NgModule({\n  imports: [\n    CommonModule,\n    FormsModule,\n    SafePipeModule\n  ],\n  exports: [\n    TimeAxisComponent,\n    TimeAxisItemComponent\n  ],\n  declarations: [\n    TimeAxisComponent,\n    TimeAxisItemComponent\n  ],\n  providers: []\n})\nexport class TimeAxisModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":["i2.TimeAxisItemComponent"],"mappings":"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"}