1 line
1.9 KiB
JavaScript
1 line
1.9 KiB
JavaScript
"use strict";(self.webpackChunktradingview=self.webpackChunktradingview||[]).push([[9014],{20925:(e,t,n)=>{n.r(t),n.d(t,{LineToolBezierCubic:()=>o});var i=n(50151),r=n(32679),s=n(29875);class o extends s.LineDataSource{constructor(e,t,i,r){super(e,t??o.createProperties(e.backgroundTheme().spawnOwnership()),i,r),this._controlPoints=null,Promise.all([n.e(2870),n.e(2211),n.e(1583)]).then(n.bind(n,12487)).then((t=>{this._setPaneViews([new t.BezierCubicPaneView(this,e)])}))}pointsCount(){return 2}name(){return"Double Curve"}normalizedPointsForCreating(){const e=super.normalizedPointsForCreating();return[e[0],e[e.length-1]]}setLastPoint(e,t){const n=super.setLastPoint(e,t);return this._controlPoints=this._calculateControlPoints(),n}addPoint(e,t,n){const i=super.addPoint(e,t,n);if(i){const e=this._calculateControlPoints(),t=this._model.mainSeries().interval();this._controlPoints=null,this._points.push({...e[0],interval:t}),this._points.push({...e[1],interval:t}),n||(this._normalizePoints(),this.createServerPoints()),this._createPointProperty(2),this._createPointProperty(3)}return i}restorePoints(e,t,n){super.restorePoints(e,t,n),this._createPointProperty(2),this._createPointProperty(3)}controlPoints(){return this._controlPoints}static createProperties(e,t){const n=new r.DefaultProperty({defaultName:"linetoolbeziercubic",state:t,theme:e});return this._configureProperties(n),n}_getPropertyDefinitionsViewModelClass(){return Promise.all([n.e(3401),n.e(3889),n.e(8009),n.e(6204),n.e(1963),n.e(8537)]).then(n.bind(n,86622)).then((e=>e.GeneralBezierDefinitionsViewModel))}_calculateControlPoints(){const e=(0,i.ensureNotNull)(this.pointToScreenPoint(this.points()[0])),t=(0,i.ensureNotNull)(this.pointToScreenPoint(this.points()[1])),n=t.subtract(e).scaled(.5).transposed().scaled(.3),r=e.add(t).scaled(.33),s=e.add(t).scaled(.67),o=r.add(n),a=s.subtract(n);return[(0,i.ensureNotNull)(this.screenPointToPoint(o)),(0,i.ensureNotNull)(this.screenPointToPoint(a))]}}}}]); |