Files
ai/charting_library/bundles/line-tool-sticker.d3b8746f3878b934478b.js

2 lines
3.9 KiB
JavaScript

"use strict";(self.webpackChunktradingview=self.webpackChunktradingview||[]).push([[8949],{25422:(e,t,n)=>{t.transformPoint=t.translationMatrix=t.scalingMatrix=t.rotationMatrix=void 0;var i=n(86441);t.rotationMatrix=function(e){var t=Math.cos(e),n=Math.sin(e);return[[t,-n,0],[n,t,0],[0,0,1]]},t.scalingMatrix=function(e,t){return[[e,0,0],[0,t,0],[0,0,1]]},t.translationMatrix=function(e,t){return[[1,0,e],[0,1,t],[0,0,1]]},t.transformPoint=function(e,t){for(var n=[t.x,t.y,1],r=[0,0,0],s=0;s<3;s++)for(var o=0;o<3;o++)r[s]+=n[o]*e[s][o];return new i.Point(r[0],r[1])}},86915:(e,t,n)=>{n.r(t),n.d(t,{LineToolSticker:()=>C});var i=n(928),r=n(12027),s=n(22329),o=n(9343),a=n(90054),l=n(16738),c=n(38039),u=n(31229),h=n(32679),g=n(6590);const d={intervalsVisibilities:{...u.intervalsVisibilitiesDefaults},size:110},p={sticker:"bitcoin",angle:.5*Math.PI},P=(0,h.extractAllPropertiesKeys)(d),f=(0,h.extractAllPropertiesKeys)(p),v=[...new Set([...f,...P,...g.commonLineToolPropertiesStateKeys])];class S extends c.LineDataSourceProperty{constructor(e){super(e)}static create(e,t,n){return new this({defaultName:"linetoolsticker",factoryDefaultsSupplier:()=>(0,a.default)(d),nonThemedDefaultsKeys:P,themedDefaultsKeys:[],allStateKeys:v,state:(0,l.default)({},p,{sticker:n},t??{}),theme:e})}}const w=(0,o.getLogger)("Chart.LineToolSticker");var _;!function(e){e[e.Version=1]="Version"}(_||(_={}));class C extends s.LineToolSvgIconBase{constructor(e,t,n,i){super(e,t??C.createProperties(e.backgroundTheme().spawnOwnership()),n,i),this.version=1,this._loadViews()}name(){return"Sticker"}static createProperties(e,t){const n=S.create(e,t,i.stickerTool.value());return C._configureProperties(n),n}async _getPropertyDefinitionsViewModelClass(){return(await Promise.all([n.e(3401),n.e(3889),n.e(8009),n.e(6204),n.e(1963),n.e(8537)]).then(n.bind(n,18009))).LineDataSourceDefinitionsViewModel}async _loadViews(){const[{getSvgContentForSticker:e,getSvgRenderer:t},{StickerPaneView:i}]=await Promise.all([n.e(5598).then(n.bind(n,47992)),Promise.all([n.e(2870),n.e(2211),n.e(1583)]).then(n.bind(n,44386))]);if(!this._isDestroyed){const n=this._properties.childs().sticker.value();this._svgContent=e(n),this._onIconChanged.fire();const s=t(r.svgRenderer,n);null===s&&w.logWarn(`Couldn't create svg renderer for sticker ${n}`),this._setPaneViews([new i(this,this._model,s)])}}}},22329:(e,t,n)=>{n.d(t,{LineToolSvgIconBase:()=>u});var i,r=n(50151),s=n(86441),o=n(25422),a=n(52033),l=n(29875),c=n(64147);!function(e){e[e.AnchorLimit=80]="AnchorLimit"}(i||(i={}));class u extends l.LineDataSource{constructor(e,t,n,i){super(e,t,n,i),this._onIconChanged=new a.Delegate,this._svgContent=null,this._hasEditableCoordinates=new c.WatchedValue(!1),this._changePointData=null,this._loadViews()}pointsCount(){return 1}getAnchorLimit(){return 80}getChangePointForSync(e){return null}startChanging(e,t){const n=(0,r.ensureNotNull)(this.pointToScreenPoint(this._points[0])),i=this.properties().childs(),a=i.size.value();let l;if(t)l=(0,r.ensureNotNull)(this.pointToScreenPoint(t));else{
let e=new s.Point(0,Math.max(80,a)/2);const t=(0,o.rotationMatrix)(i.angle.value());e=(0,o.transformPoint)(t,e),l=n.add(e)}const c=n.subtract(l).length();this._changePointData={centerPoint:n,initialLength:c,initialSize:a},super.startChanging(e,t)}setPoint(e,t,n){const{centerPoint:i,initialLength:s,initialSize:o}=(0,r.ensureNotNull)(this._changePointData),a=(0,r.ensureNotNull)(this.pointToScreenPoint(t)),l=this.properties().childs();if(0===e||1===e){const t=a.subtract(i).normalized();let n=Math.acos(-t.x);Math.asin(t.y)>0&&(n=2*Math.PI-n),0===e&&(n+=Math.PI),l.angle.setValue(n)}else{const e=o*(i.subtract(a).length()/s);l.size.setValue(e)}}getSourceIcon(){const e=this.svgContent();return null===e?null:{type:"svgContent",content:e}}onSourceIconChanged(){return this._onIconChanged}svgContent(){return this._svgContent}static _configureProperties(e){super._configureProperties(e),e.addExcludedKey("angle",1)}}}}]);