7 lines
19 KiB
JavaScript
7 lines
19 KiB
JavaScript
"use strict";(self.webpackChunktradingview=self.webpackChunktradingview||[]).push([[6070],{72674:(e,t,i)=>{i.d(t,{createLineStyleDefinition:()=>g});var r=i(91599),n=i(72769),s=i(73405),o=i(42897);const l=new n.TranslatedString("change {toolName} line visibility",r.t(null,void 0,i(68915))),a=new n.TranslatedString("change {toolName} line width",r.t(null,void 0,i(16362))),c=new n.TranslatedString("change {toolName} line style",r.t(null,void 0,i(99523))),d=new n.TranslatedString("change {toolName} line color",r.t(null,void 0,i(66711))),u=new n.TranslatedString("change {toolName} line extending left",r.t(null,void 0,i(18067))),p=new n.TranslatedString("change {toolName} line left end",r.t(null,void 0,i(72185))),h=new n.TranslatedString("change {toolName} line extending right",r.t(null,void 0,i(38958))),_=new n.TranslatedString("change {toolName} line right end",r.t(null,void 0,i(51470))),f=r.t(null,void 0,i(27912)),v=r.t(null,void 0,i(32389)),y=r.t(null,void 0,i(74573));function g(e,t,i,r,n){const g={},P={id:`${(0,o.removeSpaces)(i.originalText())}${r}`,title:n&&n.line||f};return void 0!==t.showLine&&(g.checked=(0,s.convertToDefinitionProperty)(e,t.showLine,l.format({toolName:i}))),void 0!==t.lineWidth&&(g.width=(0,s.convertToDefinitionProperty)(e,t.lineWidth,a.format({toolName:i}))),void 0!==t.lineStyle&&(g.style=(0,s.convertToDefinitionProperty)(e,t.lineStyle,c.format({toolName:i}))),void 0!==t.lineColor&&(g.color=(0,s.getColorDefinitionProperty)(e,t.lineColor,null,d.format({toolName:i}))),void 0!==t.extendLeft&&(g.extendLeft=(0,s.convertToDefinitionProperty)(e,t.extendLeft,u.format({toolName:i})),P.extendLeftTitle=n&&n.extendLeftTitle||v),void 0!==t.leftEnd&&(g.leftEnd=(0,s.convertToDefinitionProperty)(e,t.leftEnd,p.format({toolName:i}))),void 0!==t.extendRight&&(g.extendRight=(0,s.convertToDefinitionProperty)(e,t.extendRight,h.format({toolName:i})),P.extendRightTitle=n&&n.extendRightTitle||y),void 0!==t.rightEnd&&(g.rightEnd=(0,s.convertToDefinitionProperty)(e,t.rightEnd,_.format({toolName:i}))),(0,s.createLinePropertyDefinition)(g,P)}},44907:(e,t,i)=>{i.r(t),i.d(t,{LineDataSourceDefinitionsViewModel:()=>b,LineDataSourceTabTypes:()=>r,pointPriceBarTitle:()=>P});var r,n=i(85842),s=i(91599),o=i(72769),l=(i(53225),i(73405)),a=i(18632),c=i(89659),d=i(5258),u=i(14405),p=i(78379),h=i(65366);!function(e){e.Visibility="visibility",e.Coordinates="coordinates",e.Style="style",e.Text="text",e.Inputs="inputs"}(r||(r={}));const _=s.t(null,void 0,i(87733)),f=s.t(null,void 0,i(18817)),v=s.t(null,void 0,i(31992)),y=s.t(null,void 0,i(79115)),g=s.t(null,void 0,i(2931)),P=s.t(null,{context:"linetool point"},i(59712));class b{constructor(e,t){this._yCoordinateStepWV=null,this._propertyPages=[],this._source=t,this._undoModel=e,this._ownerSource=(0,n.ensureNotNull)(this._source.ownerSource()),this._propertyApplier=new p.PropertyApplierWithoutSavingChart((()=>e)),this._createPropertyRages()}destroy(){null!==this._yCoordinateStepWV&&(this._source.ownerSourceChanged().unsubscribeAll(this),
|
|
this._ownerSource.priceStepChanged().unsubscribeAll(this)),this._source.pointAdded().unsubscribeAll(this),this._propertyPages.forEach((e=>{(0,l.destroyDefinitions)(e.definitions.value())}))}propertyPages(){return Promise.resolve(this._propertyPages)}_createPropertyRages(){this._propertyPages=[];const e=this._createInputsPropertyPage();null!==e&&this._propertyPages.push(e);const t=this._createStylePropertyPage();null!==t&&this._propertyPages.push(t);const i=this._createTextPropertyPage();null!==i&&this._propertyPages.push(i);const r=this._createCoordinatesPropertyPage();null!==r&&(r.visible=this._source.hasEditableCoordinates(),this._propertyPages.push(r));const n=this._createVisibilitiesPropertyPage();this._propertyPages.push(n)}_createVisibilitiesPropertyPage(){const e=this._source.properties().childs().intervalsVisibilities.childs();return(0,a.createPropertyPage)((0,d.getIntervalsVisibilitiesPropertiesDefinitions)(this._propertyApplier,e,new o.TranslatedString(this._source.name(),this._source.title(h.TitleDisplayTarget.StatusLine,!0))),"visibility",_)}_createCoordinatesPropertyPage(){const e=this._coordinatesPropertyDefinitions();return null!==e?(e.definitions.length<this._source.pointsCount()&&this._source.pointAdded().subscribe(this,this._updateCoordinatesPropertyDefinitons),(0,a.createPropertyPage)(e,"coordinates",f)):null}_getYCoordinateStepWV(){return null===this._yCoordinateStepWV&&(this._yCoordinateStepWV=new c.WatchedValue(function(e){if(null!==e){const t=e.priceStep();if(null!==t)return t}return 1}(this._source.ownerSource())),this._ownerSource.priceStepChanged().subscribe(this,(()=>this._updateYCoordinateStep())),this._source.ownerSourceChanged().subscribe(this,(()=>{this._ownerSource.priceStepChanged().unsubscribeAll(this),this._ownerSource=(0,n.ensureNotNull)(this._source.ownerSource()),this._ownerSource.priceStepChanged().subscribe(this,(()=>this._updateYCoordinateStep()))}))),this._yCoordinateStepWV}_coordinatesPropertyDefinitions(){const e=this._source.points(),t=this._source.pointsProperty().childs().points,i=[],r=this._getYCoordinateStepWV();return e.forEach(((e,n)=>{const s=t[n].childs();s&&i.push((0,u.getCoordinatesPropertiesDefinitions)(this._propertyApplier,s,e,r,P.format({count:(n+1).toString()}),this._source.name()))})),{definitions:i}}_createStylePropertyPage(){const e=this._stylePropertyDefinitions();return null!==e?(0,a.createPropertyPage)(e,"style",v):null}_stylePropertyDefinitions(){return null}_createTextPropertyPage(){const e=this._textPropertyDefinitions();return null!==e?(0,a.createPropertyPage)(e,"text",y):null}_textPropertyDefinitions(){return null}_createInputsPropertyPage(){const e=this._inputsPropertyDefinitions();return null!==e?(0,a.createPropertyPage)(e,"inputs",g):null}_inputsPropertyDefinitions(){return null}_updateYCoordinateStep(){const e=this._ownerSource.priceStep();this._getYCoordinateStepWV().setValue(e||1)}_updateCoordinatesPropertyDefinitons(){const e=this._coordinatesPropertyDefinitions();if(null!==e){(0,
|
|
n.ensureDefined)(this._propertyPages.find((e=>"coordinates"===e.id))).definitions.setValue(e.definitions),this._source.points().length===this._source.pointsCount()&&this._source.pointAdded().unsubscribeAll(this)}}}},75191:(e,t,i)=>{i.d(t,{LevelsProperty:()=>f});var r=i(57600),n=i(35558),s=i(7321),o=i(93445),l=i(47895);const a={prefixes:[""],range:[0,0],names:["coeff","color","visible","linestyle","linewidth"],typecheck:{pack:()=>Object(),unpack:()=>[]}};function c(e,t,i,r){return r.push(i[t]),r}function d(e,t,i,r){return r[t]=i[e],r}function u(){return[]}function p(){return{}}function h(e,t,i){return i.prefixes.forEach((r=>{const n=r+"level";for(let r=i.range[0];r<=i.range[1];r++)if(e[n+r]&&(0,s.isSameType)(e[n+r],t.typecheck())){let s=t.tpl();i.names.forEach(((i,o)=>{s=t.fill(""+o,i,e[n+r],s)})),e[n+r]=s}})),e}function _(e,t,i){return i(e,{tpl:p,fill:d,typecheck:t.typecheck.unpack},t)}class f extends o.DefaultProperty{constructor(e){const{levelsIterator:t=h,map:i={},...r}=e,n={...a,...i};r.state&&(r.state=_(r.state,n,t)),super(r),this._map=n,this._levelsIterator=t}state(e,t,i){const r=super.state(e,t);return i?r:(n=r,s=this._map,(0,this._levelsIterator)(n,{tpl:u,fill:c,typecheck:s.typecheck.pack},s));var n,s}preferences(){return(0,o.extractState)(this.state(this._excludedDefaultsKeys,void 0,!0),this._allDefaultsKeys)}applyTemplate(e,t){this.mergeAndFire((0,o.extractState)((0,n.default)((0,r.default)(t),_(e,this._map,this._levelsIterator)),this._allStateKeys,this._excludedTemplateKeys))}saveDefaults(){this._useUserPreferences&&(0,l.saveDefaults)(this._defaultName,this.preferences())}clone(){return new f(this._options())}merge(e,t){return super.merge(this._map?_(e,this._map,this._levelsIterator):e,t)}_options(){return{...super._options(),map:{...this._map},levelsIterator:this._levelsIterator}}}},75840:(e,t,i)=>{i.d(t,{CollectibleColorPropertyDirectWrapper:()=>l,CollectibleColorPropertyUndoWrapper:()=>o});var r=i(85842),n=i(22384);class s extends n.Property{constructor(e){super(),this._listenersMappers=[],this._isProcess=!1,this._baseProperty=e}destroy(){this._baseProperty.destroy(),super.destroy()}value(){const e=this._baseProperty.value();return"mixed"===e?"":e}visible(){return this._baseProperty.visible()}setValue(e){this._isProcess=!0,this._baseProperty.setValue(""===e?"mixed":e,void 0,{applyValue:this._applyValue.bind(this)}),this._isProcess=!1,this._listenersMappers.forEach((e=>{e.method.call(e.obj,this,"")}))}subscribe(e,t){const i=i=>{this._isProcess||t.call(e,this,"")},r={obj:e,method:t,callback:i};this._listenersMappers.push(r),this._baseProperty.subscribe(e,i)}unsubscribe(e,t){const i=(0,r.ensureDefined)(this._listenersMappers.find((i=>i.obj===e&&i.method===t))?.callback);this._baseProperty.unsubscribe(e,i)}unsubscribeAll(e){this._baseProperty.unsubscribeAll(e)}}class o extends s{constructor(e,t,i){super(e),this._propertyApplier=t,this._undoText=i}_applyValue(e,t){this._propertyApplier.setProperty(e,t,this._undoText)}}class l extends s{_applyValue(e,t){e.setValue(t)}}},32817:(e,t,i)=>{i.d(t,{
|
|
LineToolPaneViewFibWithLabels:()=>p,labelEdgeOffset:()=>u});var r=i(85842),n=i(61208),s=i(83077),o=i(34192),l=i(14491),a=i(7919),c=i(7955),d=i(16965);const u=4;class p extends a.InplaceTextLineSourcePaneView{constructor(e,t,i,l){super(e,t,i,l),this._labelsRenderers={},this._numericFormatter=(0,o.getNumericFormatter)(),this._percentageFormatter=(0,o.getPercentageFormatter)(),this._textRenderers={},this._inplaceEditLevelIndex=1;for(let t=1;t<=e.levelsCount();t++)this._labelsRenderers[t]=new n.TextRenderer(void 0,new s.HitTestResult(s.HitTarget.MovePoint,{activeItem:t}));if(i&&l){for(let t=1;t<=e.levelsCount();t++){const e=new s.HitTestResult(s.HitTarget.MovePoint,{...(0,c.inplaceEditHandlers)(this._tryActivateEditMode.bind(this,t)),activeItem:t});this._textRenderers[t]=new d.LineToolTextRenderer(void 0,e)}this._source.setAdditionalCursorData((()=>{const e=(0,r.ensureDefined)(this._textRenderers[this._inplaceEditLevelIndex]);return{color:this._source.editableTextStyle().cursorColor,...e.getTextInfo()}}),(e=>(0,r.ensureDefined)(this._textRenderers[this._inplaceEditLevelIndex]).positionToCoordinate(e)))}}_tryActivateEditMode(e,t){this._inplaceEditLevelIndex=e,super._tryActivateEditMode(e,t)}_activateEditMode(e){const t=(0,r.ensureDefined)(this._textRenderers[this._inplaceEditLevelIndex]);this._updateInplaceText(t.getTextInfo()),super._activateEditMode(e)}_updateLabelForLevel(e){const t=this._labelsRenderers[e.levelIndex];if(void 0===t)return null;const i=this._source.priceScale();if(!i)return null;const r=this._source.ownerSource()?.firstValue();if(null==r)return null;const n=this._source.properties(),s=Boolean(n.showCoeffs?.value()),o=Boolean(n.showPrices?.value());if(!s&&!o)return null;const l=n["level"+e.levelIndex].coeff.value();let a="";if(s){a+=n.coeffsAsPercents?.value()??!1?this._percentageFormatter.format(100*l,{signPositive:!1,tailSize:2}):this._numericFormatter.format(l)}return o&&(a+=" ("+i.formatPrice(e.price,r)+")"),this._updateRendererLabel(e,t,a),t}_updateRendererLabel(e,t,i){if(!i&&void 0===e.decorator)return null;const{leftPoint:r,rightPoint:s,horzAlign:o,extendLeft:a,extendRight:c,...d}=e,p=this._source.properties(),[h,_]=(0,n.getTextAlignInBox)({horzAlign:o,extendLeft:a,extendRight:c,width:this._model.timeScale().width(),leftPoint:r,rightPoint:s});return t.setData({points:[h],text:i,horzAlign:_,offsetX:u,offsetY:0,font:l.CHART_FONT_FAMILY,fontSize:p.labelFontSize?.value()??12,...d}),t}}},96764:(e,t,i)=>{i.r(t),i.d(t,{LineToolFibSpeedResistanceArcs:()=>j});var r=i(85842),n=i(91599),s=i(72769),o=i(75191),l=i(33993),a=i(34773),c=i(63212),d=i(72674),u=i(73405),p=i(44907),h=i(42897),_=i(75840)
|
|
;const f=new s.TranslatedString("change {title} level {index} line visibility",n.t(null,void 0,i(78521))),v=new s.TranslatedString("change {title} levels visibility",n.t(null,void 0,i(75057))),y=new s.TranslatedString("change {title} level {index} line color",n.t(null,void 0,i(15226))),g=new s.TranslatedString("change {title} level {index} line width",n.t(null,void 0,i(53825))),P=new s.TranslatedString("change {title} level {index} line coeff",n.t(null,void 0,i(44475))),b=new s.TranslatedString("change {title} all lines color",n.t(null,void 0,i(80264))),T=new s.TranslatedString("change {title} background visibility",n.t(null,void 0,i(19514))),m=new s.TranslatedString("change {title} background transparency",n.t(null,void 0,i(44263))),w=new s.TranslatedString("change {title} full circles visibility",n.t(null,void 0,i(13001))),x=n.t(null,void 0,i(32145)),S=n.t(null,void 0,i(64846)),C=n.t(null,void 0,i(36926)),D=n.t(null,void 0,i(4361)),L=n.t(null,void 0,i(26483));class A extends p.LineDataSourceDefinitionsViewModel{_stylePropertyDefinitions(){const e=[],t=this._source.properties().childs(),i=this._source.name(),n=(0,h.removeSpaces)(i),o=new s.TranslatedString(i,this._source.translatedType()),l=t.trendline.childs(),a=(0,d.createLineStyleDefinition)(this._propertyApplier,{showLine:l.visible,lineColor:l.color,lineStyle:l.linestyle,lineWidth:l.linewidth},o,"TrendLine",{line:x});e.push(a);const c=this._source.levelsCount();for(let i=1;i<=c;i++){const r=t[`level${i}`].childs(),s=(0,u.createLeveledLinePropertyDefinition)({checked:(0,u.convertToDefinitionProperty)(this._propertyApplier,r.visible,f.format({title:o,index:i})),color:(0,u.getColorDefinitionProperty)(this._propertyApplier,r.color,null,y.format({title:o,index:i})),width:(0,u.convertToDefinitionProperty)(this._propertyApplier,r.linewidth,g.format({title:o,index:i})),level:(0,u.convertToDefinitionProperty)(this._propertyApplier,r.coeff,P.format({title:o,index:i}))},{id:`${n}LineLevel${i}`});e.push(s)}const p=(0,u.createColorPropertyDefinition)({color:(0,u.getColorDefinitionProperty)(this._propertyApplier,new _.CollectibleColorPropertyUndoWrapper((0,r.ensureNotNull)(this._source.lineColorsProperty()),this._propertyApplier,null),null,b.format({title:o}),!0)},{id:`${n}AllLineColor`,title:S});e.push(p);const A=(0,u.createTransparencyPropertyDefinition)({checked:(0,u.convertToDefinitionProperty)(this._propertyApplier,t.fillBackground,T.format({title:o})),transparency:(0,u.convertToDefinitionProperty)(this._propertyApplier,t.transparency,m.format({title:o}))},{id:`${n}Background`,title:C});e.push(A);const I=(0,u.createCheckablePropertyDefinition)({checked:(0,u.convertToDefinitionProperty)(this._propertyApplier,t.showCoeffs,v.format({title:o}))},{id:`${n}Levels`,title:D});e.push(I);const R=(0,u.createCheckablePropertyDefinition)({checked:(0,u.convertToDefinitionProperty)(this._propertyApplier,t.fullCircles,w.format({title:o}))},{id:`${n}FullCircles`,title:L});return e.push(R),{definitions:e}}}
|
|
var I=i(57415),R=i(95385),k=i(85728),V=i(83077),M=i(99680),E=i(68459),N=i(6353),W=i(32817),F=i(82347),H=i(72244),B=i(56568);class $ extends B.MediaCoordinatesPaneRenderer{constructor(e,t,i){super(),this._data=e,this._hittest=t||new V.HitTestResult(V.HitTarget.MovePoint),this._backHittest=i||new V.HitTestResult(V.HitTarget.MovePointBackground)}hitTest(e){const t=this._data;if(null===t)return null;if((0,k.sign)(e.y-t.center.y)!==t.dir&&!t.fullCircles)return null;const i=e.subtract(t.center).length(),r=(0,H.interactionTolerance)().curve;return Math.abs(i-t.radius)<r?this._hittest:t.hittestOnBackground&&Math.abs(i)<=t.radius+r?this._backHittest:null}_drawImpl(e){const t=this._data;if(null===t)return;const i=e.context;i.lineCap="round",i.strokeStyle=t.color,i.lineWidth=t.linewidth,i.translate(t.center.x,t.center.y),i.beginPath(),t.fullCircles?i.arc(0,0,t.radius,2*Math.PI,0,!1):t.dir>0?i.arc(0,0,t.radius,0,Math.PI,!1):i.arc(0,0,t.radius,Math.PI,0,!1),i.stroke(),t.fillBackground&&(t.radius2&&(t.fullCircles?i.arc(0,0,t.radius2,2*Math.PI,0,!0):t.dir>0?i.arc(0,0,t.radius2,Math.PI,0,!0):i.arc(0,0,t.radius2,0,Math.PI,!0)),i.fillStyle=(0,F.generateColor)(t.color,t.transparency,!0),i.fill())}}class z extends W.LineToolPaneViewFibWithLabels{constructor(){super(...arguments),this._trendLineRenderer=new N.TrendLineRenderer,this._renderer=null,this._levels=[]}renderer(e){return this._invalidated&&this._updateImpl(e),this._renderer}_updateImpl(e){if(super._updateImpl(e),this._renderer=null,this._points.length<2)return;const t=this._source.priceScale();if(!t||t.isEmpty()||this._model.timeScale().isEmpty())return;const i=this._source.ownerSource()?.firstValue();if(null==i)return;const n=this._points[0],s=this._points[1],o=n.subtract(s).length();this._levels=[];const l=this._source.properties().childs(),a=this._source.levelsCount();for(let e=1;e<=a;e++){const t="level"+e,i=(0,r.ensureDefined)(this._source.properties().child(t)).childs();if(!i.visible.value())continue;const l=i.coeff.value(),a=i.color.value(),c=Math.abs(s.subtract(n).length()*l),d=(0,k.sign)(s.y-n.y),u=new I.Point(n.x,n.y+d*o*Math.abs(l));this._levels.push({color:a,radius:c,dir:d,labelPoint:u,linewidth:i.linewidth.value(),linestyle:i.linestyle.value(),index:e})}if(this._points.length<2)return;const c=new M.CompositeRenderer,d=l.fillBackground.value(),u=l.transparency.value();for(let e=0;e<this._levels.length;e++){const t=this._levels[e],i={center:n,color:t.color,linewidth:t.linewidth,radius:t.radius,dir:t.dir,transparency:u,fillBackground:d,hittestOnBackground:!0,fullCircles:l.fullCircles.value(),radius2:e>0?this._levels[e-1].radius:void 0},r=new V.HitTestResult(V.HitTarget.MovePoint,void 0,t.index);c.append(new $(i,r));const s=this._updateLabelForLevel({levelIndex:this._levels[e].index,leftPoint:this._levels[e].labelPoint,rightPoint:this._levels[e].labelPoint,price:0,color:this._levels[e].color,horzAlign:R.HorizontalAlign.Left,vertAlign:R.VerticalAlign.Middle});null!==s&&c.append(s)}const p=l.trendline.childs();if(p.visible.value()){const e={
|
|
points:[this._points[0],this._points[1]],color:p.color.value(),linewidth:p.linewidth.value(),linestyle:p.linestyle.value(),extendleft:!1,extendright:!1,leftend:E.LineEnd.Normal,rightend:E.LineEnd.Normal};this._trendLineRenderer.setData(e),c.append(this._trendLineRenderer)}this.addAnchors(c),this._renderer=c}}const Y=new s.TranslatedString("erase level line",n.t(null,void 0,i(66775)));var O;!function(e){e[e.LevelsCount=11]="LevelsCount"}(O||(O={}));class j extends c.InplaceTextLineDataSource{constructor(e,t,i,r){super(e,t??j.createProperties(e.backgroundTheme().spawnOwnership()),i,r),this._setPaneViews([new z(this,this._model)])}levelsCount(){return 11}pointsCount(){return 2}name(){return"Fib Speed Resistance Arcs"}processErase(e,t){const i=`level${t}`,n=(0,r.ensureDefined)(this.properties().child(i)).childs().visible;e.setProperty(n,!1,Y,a.lineToolsDoNotAffectChartInvalidation)}editableTextProperties(){(0,r.assert)(!1,"unexpected method call")}static createProperties(e,t){const i=new o.LevelsProperty({defaultName:"linetoolfibspeedresistancearcs",state:t,map:{range:[1,11]},theme:e});return this._configureProperties(i),i}async _getPropertyDefinitionsViewModelClass(){return A}static _configureProperties(e){super._configureProperties(e);const t=e.childs().trendline.childs(),i=[t.linewidth],n=[t.color];for(let t=1;t<=11;t++){const s=(0,r.ensureDefined)(e.child(`level${t}`)).childs();i.push(s.linewidth),n.push(s.color)}e.addChild("linesColors",new l.LineToolColorsProperty(n)),e.addChild("linesWidths",new l.LineToolWidthsProperty(i))}}},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})}}}}]); |