Files
ai/charting_library/bundles/5423.7c2e49576fea7390d5de.js
2023-02-02 13:31:14 +00:00

4 lines
11 KiB
JavaScript

(self.webpackChunktradingview=self.webpackChunktradingview||[]).push([[5423],{60403:t=>{t.exports={dialog:"dialog-5BeaIUa1",visible:"visible-5BeaIUa1",title:"title-5BeaIUa1",text:"text-5BeaIUa1",actions:"actions-5BeaIUa1",close:"close-5BeaIUa1",minimize:"minimize-5BeaIUa1",handle:"handle-5BeaIUa1",control:"control-5BeaIUa1",wrap:"wrap-5BeaIUa1",touch:"touch-5BeaIUa1",dragging:"dragging-5BeaIUa1"}},52014:()=>{},20497:(t,s,i)=>{"use strict";var e=i(23127);const o=i(98125).getLogger("CommonUI.CreateTVBlockPlugin");t.exports.createTvBlockWithInstance=function(t,s){if(t&&s)return t=t.toString(),function(n,a,l){var d,h,r;return"get"===n?d=a:(h=a,"object"==typeof n&&void 0===a?(h=n,n="init"):"string"!=typeof n&&(n="init")),"getInstance"===n?e(this).eq(0).data(t):"destroy"===n?(r=e(this).eq(0).data(t))?void("function"==typeof r.destroy?(i(r,"destroy",h),e(this).eq(0).removeData(t)):o.logError("[Block Plugin] "+t+" does not support destroy command")):void console.warn("[Block Plugin] Trying to execute destroy method of "+t+" but it has not been inited"):"get"===n?(r=e(this).eq(0).data(t))?"function"==typeof r[d]?i(r,d,l):r[d]:void console.warn("[Block Plugin] Trying to get prop or execute method of "+t+" but it has not been inited"):e(this).each((function(){var a=e(this),l=a.data(t);void 0===l&&(l=void 0===h?s(a):s(a,h),a.data(t,l)),"init"!==n&&("function"==typeof l[n]?i(l,n,h):o.logError("[Block Plugin] "+t+" does not support command "+n))}))};function i(t,s,i){return void 0===i?t[s]():t[s](i)}}},78754:(t,s,i)=>{"use strict";i.d(s,{buttonLoader:()=>a});i(52014);var e=i(20497),o=i(68587),n=i(23127);function a(t){return new l(n(t))}n.fn.tvButtonLoader=(0,e.createTvBlockWithInstance)("tv-button-loader",(function(t){return new l(t)}));class l{constructor(t){this.$btn=n(t).addClass("tv-button--loader"),0===this.$btn.find(".tv-button__loader").length&&this.$btn.html('<span class="tv-button__text">'+this.$btn.html()+'</span><span class="tv-button__loader"><span class="tv-button__loader-item"></span><span class="tv-button__loader-item"></span><span class="tv-button__loader-item"></span></span>'),this.loading=this.$btn.hasClass("i-loading")}_start(){this.starting=!0,this.$btn.addClass("i-start-load"),this.$btn.trigger("tv-button-loader:start"),setTimeout(()=>{this.loading=!0,this.starting=!1,this._startPromise=!1,this.$btn.addClass("i-loading"),this.$btn.removeClass("i-start-load"),this._stopPromise&&this._stop()},2*o.dur)}start(){this.starting||(this.stopping?this._startPromise=!0:this._start())}_stop(){this.stopping=!0,this.$btn.addClass("i-stop-load"),this.$btn.trigger("tv-button-loader:stop"),setTimeout(()=>{this.loading=!1,this.stopping=!1,this._stopPromise=!1,this.$btn.removeClass("i-loading i-start-load i-stop-load"),this._startPromise&&this._start()},o.dur)}stop(){this.stopping||(this.starting?this._stopPromise=!0:this._stop())}toggle(){this.loading?this.stop():this.start()}contentHtml(t){return t?(this.$btn.find(".tv-button__text").html(t),t):this.$btn.find(".tv-button__text").html()}contentNojQuery(){return this.$btn.get(0)
}disable(){this.stop(),this.$btn.addClass("i-disabled")}enable(){this.$btn.removeClass("i-disabled")}}},94673:(t,s,i)=>{"use strict";i.d(s,{createFullscreenDialog:()=>C});var e=i(60403),o=i(51536),n=i(32563),a=i(25760);class l{constructor(t){this._dialog=t.dialog,this._animation=t.animation}close(){return this._animation.close().then(()=>(this._dialog.unfocus(),this._dialog.options.destroyOnClose&&this._dialog.destroy(),this._dialog))}}class d{constructor(t){this._dialog=t.dialog,this._animation=t.animation}open(){return this._dialog.$wrap?(this._dialog.$el.appendTo(this._dialog.$wrap),this._animation.open().then(()=>(this._dialog.focus(),this._dialog))):Promise.resolve(this._dialog)}}class h{constructor(t){this._dialog=t.dialog,this._animation=t.animation,this._dialog.$el.on("click",".js-dialog__minimize",this._dialog.minimize.bind(this._dialog))}minimize(){return this._animation.close().then(()=>(this._dialog.unfocus(),this._dialog.options.destroyOnClose?this._dialog.destroy():document.activeElement.blur(),this._dialog))}}class r{constructor(t){this._handler=()=>{this._dialog.$el.remove(),this._resolve()},this._dialog=t.dialog,this._dialog.on("destroy",this._handler)}destroy(t){return new Promise(s=>{this._resolve=()=>s(this._dialog),t()})}}class c{constructor(t){this._handler=()=>{this._dialog.$el.css("z-index",this._dialog.zIndex),this._resolve()},this._dialog=t.dialog,this._dialog.on("change:zIndex",this._handler)}setZIndex(t,s){return new Promise(i=>{this._resolve=()=>i(this._dialog),s(t)})}}var _=i(43370),g=i(56840);class u{constructor(t){this._initialXCoord=0,this._initialWidth=0,this._width=0,this._settingsKey="publish.dialog.width",this._onMouseDown=t=>{t.preventDefault(),this._initialXCoord=t.clientX,this._initialWidth=this._dialog.el.offsetWidth,this._dialog.el.classList.add(e.dragging),document.addEventListener("mousemove",this._mouseMove),document.addEventListener("mouseup",this._onMouseUp)},this._onMouseUp=()=>{p(this._settingsKey,this._width),this._dialog.el.classList.remove(e.dragging),document.removeEventListener("mousemove",this._mouseMove),document.removeEventListener("mouseup",this._onMouseUp)},this._onMouseMove=t=>{const s=t.clientX,i=this._calcWidth(s);this._setWidth(i),this._opts.onResize&&this._opts.onResize(i)},this._opts=t,this._dialog=t.dialog,this._dialog.el.style.left="auto",this._dialog.el.style.right="0",this._handleEl=this._creteHandleElem(),this._mouseMove=(0,_.default)(this._onMouseMove,30),void 0!==t.settingsKey&&(this._settingsKey=t.settingsKey),this._appendHandleElem(),this._setInitialWidth()}_creteHandleElem(){const t=document.createElement("div");return t.classList.add(e.handle),t.innerHTML=`<div class="${e.control}"></div>`,t.setAttribute("data-name","dialog-resize-handle"),t.addEventListener("mousedown",this._onMouseDown),t}_appendHandleElem(){this._dialog.el.appendChild(this._handleEl)}_setInitialWidth(){let t=document.documentElement.clientWidth;try{const s=g.getInt(this._settingsKey);s&&!m(s)&&(t=s)}catch(s){p(this._settingsKey,t,!0)}this._setWidth(t)}_setWidth(t){
this._width=t,this._dialog.el.style.width=function(t){return t/document.documentElement.clientWidth*100}(t)+"%"}_calcWidth(t){const s=t-this._initialXCoord;let i=this._initialWidth-s;return m(i)&&(i=document.documentElement.clientWidth),i<350&&(i=350),i}}function m(t){return t>document.documentElement.clientWidth}function p(t,s,i){var e;e=s,!isNaN(parseFloat(e))&&isFinite(e)&&g.setValue(t,s,{forceFlush:i})}var v=i(74664);const b={maxWidth:v.breakpoints.desktopHd,class:"dialog-media__desktop-hd"},f={maxWidth:v.breakpoints.tablet,class:"dialog-media__tablet"};class w{constructor(t){this._onTabletBreakpoint=t=>{const s=this._dialog.el.offsetWidth;t.matches&&s<=f.maxWidth?this._dialog.el.classList.add(f.class):this._dialog.el.classList.remove(f.class)},this._onDesktopHdBreakpoint=t=>{const s=this._dialog.el.offsetWidth;t.matches&&s<=b.maxWidth?this._dialog.el.classList.add(b.class):this._dialog.el.classList.remove(b.class)},this._dialog=t.dialog}init(){this._tabletMq=window.matchMedia(`(max-width: ${f.maxWidth}px)`),this._desktopHdMq=window.matchMedia(`(max-width: ${b.maxWidth}px)`),this._tabletMq.addListener(this._onTabletBreakpoint),this._desktopHdMq.addListener(this._onDesktopHdBreakpoint);const t=this._dialog.el.offsetWidth;this.setMediaClassByWidth(t)}destroy(){this._tabletMq.removeListener(this._onTabletBreakpoint),this._desktopHdMq.removeListener(this._onDesktopHdBreakpoint)}setMediaClassByWidth(t){this._dialog.el.classList.remove(b.class,f.class),t<=f.maxWidth&&this._dialog.el.classList.add(f.class),t<=b.maxWidth&&this._dialog.el.classList.add(b.class)}}class y{constructor(t){this._dialog=t.dialog}open(){return this._dialog.$el.addClass(e.visible),Promise.resolve(this._dialog.el)}close(){return this._dialog.$el.removeClass(e.visible),Promise.resolve(this._dialog.el)}}var x=i(2112),$=i(34357);function B({minimizeButton:t=!0,closeButton:s=!0}){const i=`<span class="${e.minimize} js-dialog__minimize">${x}</span>`,o=`<span class="${e.close} js-dialog__close">${$}</span>`;return`\n\t\t<div class="${e.title}">\n\t\t\t<div class="${e.text}">{{{ title }}}</div>\n\t\t\t<span class="${e.actions}">\n\t\t\t\t${t?i:""}\n\t\t\t\t${s?o:""}\n\t\t\t</span>\n\t\t</div>`}const k={closeButton:!1,contentWrapTemplate:`<div class="${e.wrap}"></div>`,destroyOnClose:!0,template:`<div class="${e.dialog}" tabindex="1"></div>`};function C(t){const s=Object.assign({titleTemplate:B({minimizeButton:t.minimizeButton})},k,t);return new z(s)}class z extends o.TVDialogAbstract{constructor(t){super(t),this._animation=t.animation||new y({dialog:this}),this._openable=t.openable||new d({dialog:this,animation:this._animation}),this._closeable=t.closeable||new l({dialog:this,animation:this._animation}),this._destroyable=t.destroyable||new r({dialog:this}),this._minimizeable=t.minimizeable||new h({dialog:this,animation:this._animation}),this._arrangeable=t.arrangeable||new c({dialog:this}),this._adaptive=t.adaptive||new w({dialog:this}),t.horizontalResize&&!n.mobiletouch&&new u({dialog:this,settingsKey:t.horizontalResizeSettingsKey,onResize:t=>{
this._adaptive.setMediaClassByWidth(t)}}),t.onClose&&(this.$el.off("click",".js-dialog__close"),this.$el.on("click",".js-dialog__close",t.onClose)),this.$el.off("mousedown touchstart"),this.setZIndex(this.zIndex),this._hotkeys=a.createGroup({desc:"Fullscreen dialog",isDisabled:()=>!this.isOpened(),modal:!1}),this.options.closeOnEsc&&this._hotkeys.add({desc:"Close",hotkey:27,handler:()=>this.close()})}open(){const t=this.options.beforeOpen,s=this.options.afterOpen,i=()=>{this.opened=!0,this._openable.open().then(()=>{if(this._adaptive.init(),"iPad"!==navigator.platform){const t=this.el.querySelector("."+e.wrap);t&&t.classList.add(e.touch)}s&&s()})};this.trigger("beforeOpen",this),t?t(i):i()}close(){const t=this.options.beforeClose,s=this.options.afterClose,i=()=>{this.opened=!1,this._closeable.close().then(()=>{this.trigger("afterClose",this),this._adaptive.destroy(),s&&s()})};t?t(i):i()}minimize(){const t=this.options.beforeMinimize,s=this.options.afterMinimize,i=()=>this._minimizeable.minimize().then(()=>{s&&s()});t?t(i):i()}destroy(){const t=this.options.onDestroy;this._destroyable.destroy(super.destroy.bind(this)).then(()=>{t&&t()})}setZIndex(t){const s=this.options.onZIndexUpdate;this._arrangeable?this._arrangeable.setZIndex(t,super.setZIndex.bind(this)).then(()=>{s&&s()}):super.setZIndex(t)}focus(){this._focused=!0,this._setFocused(),this.el.classList.add(this.options.focusClass),this.el.focus()}unfocus(){this._focused=!1,this._setUnfocused(),this.el.classList.remove(this.options.focusClass),this.el.blur()}}},61074:(t,s,i)=>{"use strict";i.d(s,{Spinner:()=>a});var e=i(59496),o=i(97754),n=i(33134);i(24780);function a(t){const s=o(t.className,"tv-spinner","tv-spinner--shown","tv-spinner--size_"+n.spinnerSizeMap[t.size||n.DEFAULT_SIZE]);return e.createElement("div",{className:s,style:t.style,role:"progressbar"})}},34357:t=>{t.exports='<svg xmlns="http://www.w3.org/2000/svg"><line x2="100%" y2="100%"/><line x2="100%" y1="100%"/></svg>'},4135:t=>{t.exports='<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 11 9" width="11px" height="9px"><path fill="none" fill-rule="evenodd" stroke-width="2" d="M1 3.22l3.415 3.496L10 1"/></svg>'},2112:t=>{t.exports='<svg xmlns="http://www.w3.org/2000/svg"><line x1="0" x2="100%"/></svg>'}}]);