Files
ai/charting_library/bundles/line-tool-vertical-line.8ccb37a8cabbe8c23325.js

4 lines
12 KiB
JavaScript

"use strict";(self.webpackChunktradingview=self.webpackChunktradingview||[]).push([[1826],{25432:(e,t,i)=>{i.d(t,{commonLineToolPropertiesStateKeys:()=>r});const r=["symbolStateVersion","zOrderVersion","frozen","title","interval","symbol","currencyId","unitId","metricId","visible","adjustedToSplitTime","intervalsVisibilities.ticks","intervalsVisibilities.seconds","intervalsVisibilities.secondsFrom","intervalsVisibilities.secondsTo","intervalsVisibilities.minutes","intervalsVisibilities.minutesFrom","intervalsVisibilities.minutesTo","intervalsVisibilities.hours","intervalsVisibilities.hoursFrom","intervalsVisibilities.hoursTo","intervalsVisibilities.days","intervalsVisibilities.daysFrom","intervalsVisibilities.daysTo","intervalsVisibilities.weeks","intervalsVisibilities.weeksFrom","intervalsVisibilities.weeksTo","intervalsVisibilities.months","intervalsVisibilities.monthsFrom","intervalsVisibilities.monthsTo","intervalsVisibilities.ranges"];var n,s,o;!function(e){e[e.NotShared=0]="NotShared",e[e.SharedInLayout=1]="SharedInLayout",e[e.GloballyShared=2]="GloballyShared"}(n||(n={})),function(e){e.BeforeAllAction="BeforeAll",e.CustomAction="CustomAction"}(s||(s={})),function(e){e.FloatingToolbarButton="FloatingToolbarButton",e.Default="Default"}(o||(o={}))},86371:(e,t,i)=>{i.d(t,{LineDataSourceProperty:()=>a});var r=i(57600),n=i(35558),s=i(85842),o=i(93445),l=i(47895);class a extends o.DefaultProperty{constructor({templateKeys:e,factoryDefaultsSupplier:t,...i}){let r=t;t&&(r=()=>{const e=t();return(0,l.applyDefaultsOverrides)(e,void 0,void 0,i.defaultName),e}),super({saveNonDefaultUserPreferencesOnly:!0,factoryDefaultsSupplier:r,...i}),this._templateKeys=(0,s.ensureDefined)(e||this._allDefaultsKeys)}template(){return(0,o.extractState)(this.state(),this._templateKeys,[])}applyTemplate(e){this.mergeAndFire((0,o.extractState)((0,n.default)((0,r.default)(this._factoryDefaultsSupplier()),e),this._templateKeys))}}},16965:(e,t,i)=>{i.d(t,{LineToolTextRenderer:()=>n});var r=i(61208);class n extends r.TextRenderer{getTextInfo(){const e=this._getInternalData(),t=this.fontStyle(),i=this._getFontInfo();return{...e,lineHeight:this.lineHeight(),lineSpacing:this.lineSpacing(),font:t,fontSize:i.fontSize,centerRotation:this.centerTextRotation()??void 0}}setCursorType(e){this._hitTest.data()?.cursorType!==e&&this._hitTest.mergeData({cursorType:e})}}},97859:(e,t,i)=>{i.d(t,{LineToolVertLineTimeAxisView:()=>s});var r=i(82347),n=i(68995);class s extends n.LineDataSourceTimeAxisView{constructor(e){super(e,0)}_getBgColor(){return(0,r.resetTransparency)(this._source.properties().linecolor.value())}_getAlwaysInViewPort(){return!1}_getIndex(){const e=this._source.points();return 0===e.length?null:e[0].index}}},28002:(e,t,i)=>{i.r(t),i.d(t,{LineToolVertLine:()=>N});var r=i(85842),n=i(57415),s=i(63212),o=i(97859),l=i(11284),a=i(47097),d=i(17567),h=i(93445),c=i(5829),u=i(95385),p=i(88483),_=i(22384),T=i(33993),g=i(25432),x=i(86371),f=i(62565);const m=(0,l.getHexColorByName)("color-tv-blue-500"),v={intervalsVisibilities:{
...p.intervalsVisibilitiesDefaults},linewidth:c.DEFAULT_LINE_TOOL_LINE_WIDTH,linestyle:f.LineStyle.Solid,extendLine:!0,showTime:!0,horzLabelsAlign:u.HorizontalAlign.Center,vertLabelsAlign:u.VerticalAlign.Middle,textOrientation:"vertical",fontsize:14,bold:!1,italic:!1},b={linecolor:m,textcolor:m},w=new Map([[a.StdTheme.Light,b],[a.StdTheme.Dark,b]]),y=(0,h.extractThemedColors)((0,r.ensureDefined)(w.get(a.StdTheme.Light)),(0,r.ensureDefined)(w.get(a.StdTheme.Dark))),V=(0,h.extractAllPropertiesKeys)((0,r.ensureDefined)(w.get(a.StdTheme.Light))),A=(0,h.extractAllPropertiesKeys)(v),P=[...V,...A,"text"],L=[...new Set([...P,...g.commonLineToolPropertiesStateKeys])];class S extends x.LineDataSourceProperty{constructor(e){super(e),this.hasChild("text")||this.addChild("text",new _.Property("")),this.addChild("linesColors",new T.LineToolColorsProperty([(0,r.ensureDefined)(this.child("linecolor"))])),this.addChild("linesWidths",new T.LineToolWidthsProperty([(0,r.ensureDefined)(this.child("linewidth"))])),this.addChild("textsColors",new T.LineToolColorsProperty([(0,r.ensureDefined)(this.child("textcolor"))]))}static create(e,t){return new this({defaultName:"linetoolvertline",factoryDefaultsSupplier:()=>(0,d.factoryDefaultsForCurrentTheme)(v,w),nonThemedDefaultsKeys:A,themedDefaultsKeys:V,allStateKeys:L,themedColors:y,templateKeys:P,replaceThemedColorsOnThemeChange:!0,state:t,theme:e})}}var C=i(99680),D=i(61208),R=i(28031),z=i(17068),M=i(79083),H=i(8165),I=i(14491),k=i(83077),F=i(7919),O=i(7955),E=i(16965);class K extends F.InplaceTextLineSourcePaneView{constructor(e,t,i,r,n){super(e,t,r,n),this._lineRenderer=new z.VerticalLineRenderer,this._renderer=null,this._pane=i,this._labelRenderer=new E.LineToolTextRenderer(void 0,new k.HitTestResult(k.HitTarget.MovePoint,(0,O.inplaceEditHandlers)(this._tryActivateEditMode.bind(this,null))))}additionalCursorData(){const e=this._labelRenderer.getTextInfo();return{color:this._source.editableTextStyle().cursorColor,lineSpacing:e.lineSpacing,lineHeight:e.lineHeight,rotationPoint:this._labelRenderer.rotation()??void 0}}positionToCoordinate(e){return this._labelRenderer.positionToCoordinate(e)}renderer(e){return this._invalidated&&this._updateImpl(e),this._renderer}_validatePriceScale(){return!0}_updateImpl(e){if(super._updateImpl(e),this._renderer=null,0===this._points.length)return;const{mediaSize:{width:t,height:i}}=e,r=this._source.properties().childs(),s=new C.CompositeRenderer,o=r.text.value(),l=this._isTextEditMode(),a=this._placeHolderMode();let d,h=!0;if(1===this._points.length){const e=new n.Point(this._points[0].x,i/2);this._addAlertRenderer(s,[e])}if(this._source.model().paneForSource(this._source)===this._pane&&(o||a||l)){let e=0,o=5,l=u.HorizontalAlign.Center,c=u.VerticalAlign.Middle;const p=this._points[0].x;let _=0;switch(r.vertLabelsAlign.value()){case"top":_=i;break;case"middle":_=i/2;break;case"bottom":_=0}if("horizontal"===r.textOrientation.value()){switch(r.horzLabelsAlign.value()){case"left":l=u.HorizontalAlign.Right;break;case"right":l=u.HorizontalAlign.Left;break
;case"center":l=u.HorizontalAlign.Center}switch(r.vertLabelsAlign.value()){case"top":c=u.VerticalAlign.Bottom;break;case"middle":c=u.VerticalAlign.Middle;break;case"bottom":c=u.VerticalAlign.Top}}else{switch(e=-Math.PI/2,o=0,r.horzLabelsAlign.value()){case"left":c=u.VerticalAlign.Bottom;break;case"right":c=u.VerticalAlign.Top;break;case"center":c=u.VerticalAlign.Middle}switch(r.vertLabelsAlign.value()){case"top":l=u.HorizontalAlign.Left;break;case"middle":l=u.HorizontalAlign.Center;break;case"bottom":l=u.HorizontalAlign.Right}}this._labelRenderer.setData({points:[new n.Point(p,_)],text:this._textData(),color:this._textColor(),vertAlign:c,horzAlign:l,font:I.CHART_FONT_FAMILY,offsetX:o,offsetY:0,bold:r.bold.value(),italic:r.italic.value(),fontsize:r.fontsize.value(),forceTextAlign:!0,angle:e,decorator:a?M.PlusTextRendererDecorator.instance():void 0,...this._inplaceTextHighlight()}),this._labelRenderer.setCursorType(this._textCursorType()),s.append(this._labelRenderer),this._needLabelExclusionPath(this._labelRenderer)&&(d=(0,D.getTextBoundaries)(this._labelRenderer,t,i)??void 0),h=this._labelRenderer.isOutOfScreen(t,i),h?this.closeTextEditor():this._updateInplaceText(this._labelRenderer.getTextInfo())}const c={x:this._points[0].x,color:r.linecolor.value(),linewidth:r.linewidth.value(),linestyle:r.linestyle.value(),excludeBoundaries:d},p=c.linewidth/2+1;if(h=h&&(c.x<-p||c.x>t+p),this._lineRenderer.setData(c),this._lineRenderer.setHitTest(new k.HitTestResult(k.HitTarget.MovePoint,{snappingIndex:this._source.points()[0].index})),s.insert(this._lineRenderer,0),!h){if(1===this._points.length&&!this._isTextEditMode()){const e=[(0,H.lineSourcePaneViewPointToLineAnchorPoint)(new n.Point(this._points[0].x,.9*i),0,R.PaneCursorType.HorizontalResize,!0,void 0,void 0,this._source.points()[0].index)];s.append(this.createLineAnchor({points:e},0))}this._renderer=s}}_needLabelExclusionPath(e){const t=this._source.properties().childs(),i="horizontal"===t.textOrientation.value(),r=t.text.value();if(i)return""!==r.trim();if("center"!==t.horzLabelsAlign.value())return!1;const n=e.getLinesInfo().lines;if(n.length%2==0)return!1;if(""===n[Math.floor(n.length/2)].text.trim())return!1;return!0}}class N extends s.InplaceTextLineDataSource{constructor(e,t,i,r){super(e,t??N.createProperties(e.backgroundTheme().spawnOwnership()),i,r),this._verticalLinePaneViews=new WeakMap,this._timeAxisView=new o.LineToolVertLineTimeAxisView(this),this._paneViewFactory=null,this.properties().childs().extendLine.subscribe(this,(()=>e.lightUpdate())),this._paneViewFactory=t=>new K(this,e,t,this._openTextEditor.bind(this),this._closeTextEditor.bind(this)),this.setAdditionalCursorData(this._additionalCursorData.bind(this),this._positionToCoordinate.bind(this))}destroy(){this.properties().childs().extendLine.unsubscribeAll(this),super.destroy()}pointsCount(){return 1}name(){return"Vertical Line"}timeAxisViews(){return this.isSourceHidden()?null:this.properties().childs().showTime.value()?[this._timeAxisView]:null}updateAllViews(e){super.updateAllViews(e),
this._timeAxisView.update(e)}canHasAlert(){return!0}template(){return this._properties.template()}isMultiPaneAvailable(){return!0}isMultiPaneEnabled(){return this.properties().childs().extendLine.value()}paneViews(e){if(e=(0,r.ensureDefined)(e),!this.isMultiPaneEnabled()&&this._model.paneForSource(this)!==e)return null;const t=this._getPaneViews(e);if((null===t||!t.length)&&null!==this._paneViewFactory){const t=this._paneViewFactory(e);this._verticalLinePaneViews.set(e,t),this._setPaneViews([t],e,!0)}return super.paneViews(e)}priceAxisViews(){return null}priceAxisPoints(){return[]}pointToScreenPoint(e){const t=this._model.timeScale();if(t.isEmpty())return null;const i=t.indexToCoordinate(e.index);return new n.Point(i,0)}convertYCoordinateToPriceForMoving(e){return 0}editableTextProperties(){const e=this.properties().childs();return{text:e.text,textColor:e.textcolor}}static createProperties(e,t){null!=t&&(void 0===t.textOrientation&&(t.textOrientation="horizontal"),void 0===t.extendLine&&(t.extendLine=!1));const i=S.create(e,t);return this._configureProperties(i),i}_normalizePoint(e,t){return super._normalizePointWithoutOffset(e)??super._normalizePoint(e,t)}_getAlertPlots(){const e=this._points[0],t={index:e.index,price:e.price+1},i=this._linePointsToAlertPlot([e,t],null,!0,!0);return null===i?[]:[i]}_getPropertyDefinitionsViewModelClass(){return Promise.all([i.e(1982),i.e(7686),i.e(2428),i.e(3920),i.e(9328)]).then(i.bind(i,23053)).then((e=>e.VerticalLineDefinitionsViewModel))}static _configureProperties(e){super._configureProperties(e)}_additionalCursorData(){return(0,r.ensureDefined)(this._verticalLinePaneViews.get((0,r.ensureNotNull)(this._model.paneForSource(this)))).additionalCursorData()}_positionToCoordinate(e){return(0,r.ensureDefined)(this._verticalLinePaneViews.get((0,r.ensureNotNull)(this._model.paneForSource(this)))).positionToCoordinate(e)}}},79083:(e,t,i)=>{i.d(t,{PlusTextRendererDecorator:()=>n});var r=i(61208);class n{geometry(e){const t=(0,r.fontSize)(e);return{decoratorAndTextMargin:t/3,width:Math.round(.8*t),ignoreRtl:!1}}draw(e,t,i,r){const{horizontalPixelRatio:n,verticalPixelRatio:s}=t,o=Math.max(1,Math.round(n*r.decoratorWidth/8)),l=o%2/2,a=Math.round((r.textTop+r.textBottom)/2*s)+l,d=Math.round((r.decoratorLeft+r.decoratorWidth/2)*n)+l,h=Math.round(r.decoratorWidth*n);e.strokeStyle=i.color,e.lineWidth=o;let c=h/2;d%2/2!=c%2/2&&(c+=.5),e.beginPath(),e.moveTo(d-c,a),e.lineTo(d+c,a),e.moveTo(d,a-c),e.lineTo(d,a+c),e.stroke()}static instance(){return this._instance=this._instance??new n,this._instance}}n._instance=null},17567:(e,t,i)=>{i.d(t,{factoryDefaultsForCurrentTheme:()=>a});var r=i(35558),n=i(57600),s=i(85842),o=i(49841),l=i(47097);function a(e,t){const i=o.watchedTheme.value()??l.StdTheme.Light,a=(0,n.default)(e);return(0,r.default)(a,(0,s.ensureDefined)(t.get(i))),a}}}]);