{"version":3,"file":"covalent-echarts-toolbox.mjs","sources":["../../../../libs/angular-echarts/toolbox/src/toolbox.component.ts","../../../../libs/angular-echarts/toolbox/src/toolbox.component.html","../../../../libs/angular-echarts/toolbox/src/toolbox.module.ts","../../../../libs/angular-echarts/toolbox/src/covalent-echarts-toolbox.ts"],"sourcesContent":["import {\n  Component,\n  Input,\n  Directive,\n  TemplateRef,\n  ChangeDetectionStrategy,\n  ElementRef,\n  ChangeDetectorRef,\n  OnChanges,\n  ContentChild,\n  ViewChild,\n  OnDestroy,\n} from '@angular/core';\n\nimport {\n  TdChartOptionsService,\n  assignDefined,\n  ITdLabel,\n  ITdShadow,\n  ITdItemStyle,\n  TdTextPosition,\n  TdTextAlign,\n} from '@covalent/echarts/base';\n\nexport type TdToolboxOrient = 'horizontal' | 'vertical';\nexport type TdImageType = 'png' | 'jpeg';\n\nexport interface ITdAcceptedBrushTypes {\n  rect?: string;\n  polygon?: string;\n  lineX?: string;\n  lineY?: string;\n  keep?: string;\n  clear?: string;\n}\n\nexport interface ITdAcceptedMagicTypes {\n  line?: string;\n  bar?: string;\n  stack?: string;\n  tiled?: string;\n}\n\nexport interface ITdToolboxIconEmphasis extends ITdItemStyle, ITdShadow {}\n\nexport interface ITdFeatureIconStyle extends ITdItemStyle, ITdShadow {\n  textPosition?: TdTextPosition;\n  textAlign?: TdTextAlign;\n  emphasis?: ITdToolboxIconEmphasis;\n}\n\nexport interface ITdZoomTitles {\n  zoom?: string;\n  back?: string;\n}\n\nexport interface ITdSaveAsImage {\n  type?: TdImageType;\n  name?: string;\n  backgroundColor?: any;\n  excludeComponents?: string[]; // defaults to ['toolbox']\n  show?: boolean;\n  title?: string;\n  icon?: string;\n  iconStyle?: ITdFeatureIconStyle;\n  pixelRatio?: number;\n}\n\nexport interface ITdRestore {\n  show?: boolean;\n  title?: string;\n  icon?: string;\n  iconStyle?: ITdFeatureIconStyle;\n}\n\nexport interface ITdDataView {\n  show?: boolean;\n  title?: string;\n  icon?: string;\n  iconStyle?: ITdFeatureIconStyle;\n  readOnly?: boolean;\n  optionToContent?: Function;\n  contentToOption?: Function;\n  lang?: string[]; // Defaults to Chinese, there are 3 names in data view, which are ['data view', 'turn off' and 'refresh'].\n  textareaColor?: string;\n  textareaBorderColor?: string;\n  textColor?: string;\n  buttonColor?: string;\n  buttonTextColor?: string;\n}\n\nexport interface ITdDataZoom {\n  show?: boolean;\n  title?: ITdZoomTitles;\n  icon?: ITdZoomTitles;\n  iconStyle?: ITdFeatureIconStyle;\n  xAxisIndex?: number | number[] | boolean;\n  yAxisIndex?: number | number[] | boolean;\n}\n\nexport interface ITdMagicType {\n  show?: boolean;\n  type?: string[]; // only expects 'line' | 'bar' | 'stack' | 'tiled';\n  title?: ITdAcceptedMagicTypes;\n  icon?: ITdAcceptedMagicTypes;\n  iconStyle?: ITdFeatureIconStyle;\n  option?: {\n    line?: object;\n    bar?: object;\n    stack?: object;\n    tiled?: object;\n  };\n  seriesIndex?: {\n    line?: any[];\n    bar?: any[];\n    stack?: any[];\n    tiled?: any[];\n  };\n}\n\nexport interface ITdBrush {\n  type?: any[];\n  icon?: ITdAcceptedBrushTypes;\n  title?: ITdAcceptedBrushTypes;\n}\n\nexport interface ITdToolboxFeature {\n  saveAsImage?: ITdSaveAsImage;\n  restore?: ITdRestore;\n  dataView?: ITdDataView;\n  dataZoom?: ITdDataZoom;\n  magicType?: ITdMagicType;\n  brush?: ITdBrush;\n}\n\n@Directive({\n  selector: 'ng-template[tdViewDataFormatter]',\n})\nexport class TdChartViewDataFormatterDirective {}\n\n@Component({\n  selector: 'td-chart-toolbox',\n  templateUrl: './toolbox.component.html',\n  changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class TdChartToolboxComponent implements OnChanges, OnDestroy {\n  private _state: any = {};\n\n  @Input() config: any = {};\n\n  @Input() show = true;\n  @Input() trigger?: string;\n  @Input() orient?: TdToolboxOrient;\n  @Input() itemSize?: number;\n  @Input() itemGap?: number;\n  @Input() showTitle? = true;\n  @Input() label?: ITdLabel;\n  @Input() feature?: ITdToolboxFeature;\n  @Input() iconStyle?: ITdFeatureIconStyle;\n  @Input() zlevel?: number;\n  @Input() z?: number;\n  @Input() transitionDuration = 0.5;\n  @Input() left: string | number = 'auto';\n  @Input() top: string | number = 'auto';\n  @Input() right: string | number = 'auto';\n  @Input() bottom: string | number = 'auto';\n  @Input() width: string | number = 'auto';\n  @Input() height: string | number = 'auto';\n\n  @ContentChild(TdChartViewDataFormatterDirective, { read: TemplateRef })\n  formatterTemplate!: TemplateRef<any>;\n  @ViewChild('toolboxContent', { static: true })\n  fullTemplate!: TemplateRef<any>;\n\n  constructor(\n    private _changeDetectorRef: ChangeDetectorRef,\n    private _elementRef: ElementRef,\n    private _optionsService: TdChartOptionsService\n  ) {}\n\n  ngOnChanges(): void {\n    this._setOptions();\n  }\n\n  ngOnDestroy(): void {\n    this._removeOption();\n  }\n\n  private _setOptions(): void {\n    this._checkFormatterTemplate();\n\n    const config: any = assignDefined(\n      this._state,\n      {\n        show: this.show,\n        name: this.trigger,\n        orient: this.orient,\n        itemSize: this.itemSize,\n        itemGap: this.itemGap,\n        showTitle: this.showTitle,\n        label: this.label,\n        feature: this.feature,\n        iconStyle: this.iconStyle,\n        zlevel: this.zlevel,\n        z: this.z,\n        transitionDuration: this.transitionDuration,\n        left: this.left,\n        top: this.top,\n        right: this.right,\n        bottom: this.bottom,\n        width: this.width,\n        height: this.height,\n      },\n      this.config ? this.config : {}\n    );\n    // set toolbox configuration in parent chart and render new configurations\n    this._optionsService.setOption('toolbox', config);\n  }\n\n  private _removeOption(): void {\n    this._optionsService.clearOption('toolbox');\n  }\n\n  private _checkFormatterTemplate(): void {\n    if (this.formatterTemplate) {\n      this.feature = {\n        ...this.feature,\n        dataView: {\n          ...this.feature?.dataView,\n          optionToContent: this._optionToContentFormatter(),\n        },\n      };\n    }\n  }\n\n  private _optionToContentFormatter(): () => string {\n    return () => {\n      this._changeDetectorRef.markForCheck();\n      return (<HTMLElement>this._elementRef.nativeElement).innerHTML;\n    };\n  }\n}\n","<ng-template\n  #toolboxContent\n  [ngTemplateOutlet]=\"formatterTemplate\"\n></ng-template>\n","import { NgModule, Type } from '@angular/core';\nimport { CommonModule } from '@angular/common';\n\nimport {\n  TdChartToolboxComponent,\n  TdChartViewDataFormatterDirective,\n} from './toolbox.component';\n\nexport const TOOLBOX_MODULE_COMPONENTS: Type<any>[] = [\n  TdChartToolboxComponent,\n  TdChartViewDataFormatterDirective,\n];\n\n@NgModule({\n  imports: [CommonModule],\n  declarations: [TOOLBOX_MODULE_COMPONENTS],\n  exports: [TOOLBOX_MODULE_COMPONENTS],\n})\nexport class CovalentToolboxEchartsModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public_api';\n"],"names":[],"mappings":"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"}