PageSourceSearch

https://alphasquare.co.kr/assets/NewChartGameIndicatorSettingSlide-49d75fa0.js

js alphasquare.co.kr collected 2026-10-02 14:44:22 UTC 11,499 bytes, 2 lines download raw bytes

1import{_ as B,f,o as l,c as k,a as A,t as M,h as W,u as _,F as z,j as R,U as j,Q as T,q as O,k as S,e as V,p as q,m as D,r as N,d as F,N as H,cv as $,a0 as ae,J as ie,R as oe,W as U,i as se}from"./index-69969a08.js";import{_ as le}from"./NewSlideLayout.vue_vue_type_style_index_0_lang-9cb4f6be.js";import{c as re}from"./chart-031f9fb0.js";import{I as L}from"./indicator-26460763.js";import{i as ce}from"./helpers-924d1ead.js";import{g as de}from"./label-bbcaf4c7.js";import{_ as ue}from"./PlusIcon.vue_vue_type_script_setup_true_lang-bef041db.js";import{A as J}from"./AToggle-9d0ff707.js";import{I as pe,S as me,a as ye,b as ge}from"./SettingIndicatorExplain-6bacd1e4.js";import{_ as _e}from"./ChevronDownIcon.vue_vue_type_script_setup_true_lang-f91cc3ae.js";import{T as ve}from"./TabsSliding-c1d0197b.js";import{I as he}from"./IndicatorWidthColorSetting-295d9c3d.js";import"./WarpContent.vue_vue_type_style_index_0_lang-ffb29e01.js";import"./ASpinner-12af7e73.js";import"./Chevron2UpIcon.vue_vue_type_script_setup_true_lang-9408abe4.js";import"./ChevronRightIcon.vue_vue_type_script_setup_true_lang-22d4dbee.js";import"./ResetIcon.vue_vue_type_script_setup_true_lang-724fbc12.js";import"./ArrowLeftIcon.vue_vue_type_script_setup_true_lang-552ff594.js";import"./ATabGroup-30363987.js";import"./ADivider-6ade8684.js";import"./LineWidthIcon.vue_vue_type_script_setup_true_lang-016fd725.js";(function(){try{var o=typeof window<"u"?window:typeof global<"u"?global:typeof self<"u"?self:{},u=new Error().stack;u&&(o._sentryDebugIds=o._sentryDebugIds||{},o._sentryDebugIds[u]="391be46d-b45d-4049-a374-dc47b524d013",o._sentryDebugIdIdentifier="sentry-dbid-391be46d-b45d-4049-a374-dc47b524d013")}catch{}})();const fe={class:"input-wrapper"},Se={class:"select-button"},ke={class:"selected-name"},Ie=["selected"],be={__name:"SettingInputSelect",props:{options:{type:Array,required:!0},activeValue:{type:String,required:!0}},emits:["change"],setup(o,{emit:u}){const n=o,a=f(()=>{const{name:d}=n.options.find(c=>c.value===n.activeValue);return d}),r=d=>{const{value:c}=d.target;if(n.activeName!==c){const{value:s}=n.options.find(I=>I.name===c);u("change",s)}};return(d,c)=>(l(),k("div",fe,[A("button",Se,[A("h2",ke,M(a.value),1),W(_(_e),{width:12,height:12})]),A("select",{class:"select",onChange:r},[(l(!0),k(z,null,R(n.options,s=>(l(),k("option",{key:s.value,class:"option-item",selected:s.value===n.activeValue},M(s.name),9,Ie))),128))],32)]))}},Q=B(be,[["__scopeId","data-v-4b5e633d"]]);const X=o=>(q("data-v-2c920ed8"),o=o(),D(),o),Ce={class:"setting-param"},Ae=X(()=>A("h3",{class:"setting-title"},"변수",-1)),xe={class:"param-label"},Pe=X(()=>A("span",{class:"btn-text"},"기간추가",-1)),we={__name:"IndicatorSettingParam",props:{indicator:{type:Object,required:!0},paramInputKeys:{type:Array,required:!0}},emits:["setting-updated","pointer-error-raised"],setup(o,{expose:u,emit:n}){const a=o,r=j({}),d=f(()=>a.paramInputKeys.map(p=>{const i=a.indicator.getParamInput(p);return i?{...i,key:p}:void 0}).filter(p=>!!p)),c=f(()=>!!a.indicator.paramAddable),s=f(()=>!!a.indicator.paramRemoveable),I=(p,i)=>{r[p]=i},v=(p,i)=>{a.indicator.setParam(p,i),C()},h=()=>{a.indicator.addParam(),C()},E=p=>{try{a.indicator.removeParam(p)}catch{n("pointer-error-raised",a.indicator.getStrategy())}C()},C=()=>{a.indicator.sortParams(),a.indicator.syncParams(),b(),n("setting-updated")},b=()=>{for(const p of a.paramInputKeys)r[p]=a.indicator.getParam(p)};return u({initializeValues:b}),T(d,()=>{b()}),b(),(p,i)=>(l(),k("div",Ce,[Ae,(l(!0),k(z,null,R(d.value,t=>(l(),k("div",{key:t.key,class:O(["param-input",`${t.type}-wrapper`])},[A("label",xe,M(t.name),1),t.type==="number"&&r[t.key]!==void 0?(l(),S(pe,{key:0,input:t,value:r[t.key],removeable:s.value,onInput:e=>I(t.key,e),onChange:e=>v(t.key,e),onBtnRemoveClicked:e=>E(t.key)},null,8,["input","value","removeable","onInput","onChange","onBtnRemoveClicked"])):t.type==="select"&&r[t.key]?(l(),S(Q,{key:1,options:t.options,"active-value":r[t.key],onChange:e=>v(t.key,e)},null,8,["options","active-value","onChange"])):t.type==="toggle"?(l(),S(J,{key:2,class:"setting-toggle","model-value":r[t.key],"onUpdate:modelValue":e=>v(t.key,e)},null,8,["model-value","onUpdate:modelValue"])):V("",!0)],2))),128)),c.value?(l(),k("button",{key:0,t
1ype:"button",class:"btn-add-param clickable-layer",onClick:h},[W(_(ue),{width:20,height:20}),Pe])):V("",!0)]))}},$e=B(we,[["__scopeId","data-v-2c920ed8"]]);const Ne=o=>(q("data-v-7a1aefa8"),o=o(),D(),o),Ve={class:"setting-ma"},Ee=Ne(()=>A("h3",{class:"setting-title"},"가중치 선택",-1)),Ke={__name:"IndicatorSettingSelectMA",props:{activeName:{type:String,required:!0}},emits:["ma-selected"],setup(o,{emit:u}){const n=o,a=[{key:"sma",label:"단순"},{key:"wma",label:"가중"},{key:"ema",label:"지수"}],r=N(null),d=N(null);return T(d,(c,s)=>{s!==null&&u("ma-selected",a[c].key)}),d.value=a.findIndex(c=>c.key===n.activeName),(c,s)=>(l(),k("div",Ve,[Ee,A("div",{ref_key:"settingMAContainer",ref:r},[W(ve,{modelValue:d.value,"onUpdate:modelValue":s[0]||(s[0]=I=>d.value=I),class:"tab-group","tab-labels":["단순","가중","지수"],width:328,height:36},null,8,["modelValue"])],512)]))}},Be=B(Ke,[["__scopeId","data-v-7a1aefa8"]]),Le=o=>(q("data-v-7ca8985c"),o=o(),D(),o),Me={class:"setting-style"},We=Le(()=>A("h3",{class:"setting-title"},"스타일",-1)),Te={class:"style-label"},Ue=F({__name:"IndicatorSettingStyle",props:{indicator:{},styleInputKeys:{}},emits:["setting-updated"],setup(o,{expose:u,emit:n}){const a=o,r=H(),d=r.useArgs($.SelectLineWidthActionSheet),c=r.useArgs($.SelectColorPalleteActionSheet),s=j({}),I=f(()=>{const i=a.styleInputKeys;let t=[],e,m,K,P;for(let w=0;w<i.length;w+=1)if(e=i[w],K=i[w+1],m=a.indicator.getStyleInput(e),P=a.indicator.getStyleInput(K),m)m.name&&P&&!P.name?(t.push({type:"width-color",name:m.name||P.name,key:e,"width-input":{...m,key:e},"color-input":{...P,key:K}}),w+=1):t.push({...m,key:e});else continue;return t});T(I,()=>{h()},{immediate:!0});function v(i,t){s[i]=t,a.indicator.setStyle(i,t),n("setting-updated")}function h(){for(const i of a.styleInputKeys)s[i]=a.indicator.getStyle(i);E(),C()}function E(){if(!r.isVisible($.SelectLineWidthActionSheet))return;const i=d.key;r.patchArgs($.SelectLineWidthActionSheet,{value:s[i],onChange:(t,e)=>{v(e,t)}})}function C(){if(!r.isVisible($.SelectColorPalleteActionSheet))return;const i=c.key;r.patchArgs($.SelectColorPalleteActionSheet,{value:s[i],onChange:(t,e)=>{v(e,t)}})}function b({key:i,name:t}){r.show($.SelectLineWidthActionSheet,{name:t,key:i,value:s[i],onChange:(e,m)=>{v(m,e)}})}function p({key:i,name:t}){r.show($.SelectColorPalleteActionSheet,{name:t,key:i,value:s[i],onChange:(e,m)=>{v(m,e)}})}return u({initializeValues:h}),(i,t)=>(l(),k("div",Me,[We,(l(!0),k(z,null,R(I.value,e=>(l(),k("div",{key:e.key,class:O(["style-input",`${e.type}-wrapper`])},[A("label",Te,M(e.name),1),["width","color","width-color"].includes(e.type)?(l(),S(he,{key:0,input:e,values:s,onBtnWidthClicked:b,onBtnColorClicked:p},null,8,["input","values"])):e.type==="select"&&s[e.key]?(l(),S(Q,{key:1,options:e.options,"active-value":String(s[e.key]),onChange:m=>v(e.key,m)},null,8,["options","active-value","onChange"])):e.type==="toggle"?(l(),S(J,{key:2,class:"setting-toggle","model-value":!!s[e.key],"onUpdate:modelValue":m=>v(e.key,m)},null,8,["model-value","onUpdate:modelValue"])):V("",!0)],2))),128))]))}});const ze=B(Ue,[["__scopeId","data-v-7ca8985c"]]);const Re={class:"indicator-setting"},Oe={key:0,class:"setting-wrapper"},qe={__name:"IndicatorSetting",props:{indiInfo:{type:Object,required:!0},indicator:{type:Object,required:!0}},emits:["ma-selected","setting-updated","pointer-error-raised","explain-link-clicked","close"],setup(o,{emit:u}){const n=o,{t:a}=ae(),r=ie(),d=[{key:"setting",label:"지표설정"},{key:"explain",label:"지표설명"}],c=N("setting"),s=N(null),I=N(null),v=N(0),h=f(()=>n.indiInfo.name),E=f(()=>ce(h.value)),C=N([]),b=N([]),p=f(()=>c.value==="setting"&&!C.value.length&&!b.value.length),i=f(()=>r.state.userStatus),t=f(()=>{let g="";for(const y in L){const x=L[y].alias||[];if(y===h.value||x.includes(h.value)){g=y;break}}return g}),e=f(()=>{var g;return((g=L[t.value])==null?void 0:g.html)||""}),m=f(()=>{var g;return((g=L[t.value])==null?void 0:g.link)||""}),K=f(()=>c.value==="setting"||!!m.value);T(()=>n.indicator,()=>{w()},{immediate:!0});function P(){n.indiInfo.checked&&u("setting-updated",n.indiInfo),w(),i.value==="SIGN_IN"&&te(),v.value+=1}function w(){const g=n.indicator.getParamInputKeys(),y=n.indicator.getStyleInputKeys();G(C.value,g)||(C.value=g),G(b.value,y)||(b.value=y)}function G(g,y){return g.length===y.length&&g.every((x,ne)=>x===y[ne])}async function Y(){await oe({title:"해당 보조지표의 변수 및 스타일을<br />모두 초기화하시겠습니까?",confirmButtonText:"초기화"})&&Z()}function Z(){n.indicator.initializeParams(),n.indicator.initializeStyles(),E.value&&n.indicator.initializePointers(),h.value==="disp"&&n.indicator.setPointer("period",2),n.indicator.sortParams(),n.indicator.syncParams(),s.value&&s.value.initializeValues(),I.value&&I.value.initializeValues(),P()}function ee(){m.value&&u("explain-link-clicked",m.value)}function te(){re.updateIndicatorSettings(h.value,{params:n.indicator.getParams(),styles:n.indicator.getStyles(),pointers:n.indicator.getPointers()})}return(g,y)=>(l(),k("div",Re,[W(me,{title:_(de)(n.indiInfo,_(a)),tabs:d,"active-tab":c.value,onTabChanged:y[0]||(y[0]=x=>c.value=x),onBtnCloseClicked:y[1]||(y[1]=x=>u("close"))},null,8,["title","active-tab"]),A("div",{class:O(["indicator-setting-container",{"has-footer":K.value}])}
1,[c.value==="setting"?(l(),k("div",Oe,[E.value?(l(),S(Be,{key:0,"active-name":h.value,onMaSelected:y[2]||(y[2]=x=>u("ma-selected",{name:x,side:"onchart"}))},null,8,["active-name"])):V("",!0),C.value.length?(l(),S($e,{key:`${h.value}-param-${v.value}`,ref_key:"settingParam",ref:s,indicator:n.indicator,"param-input-keys":C.value,onSettingUpdated:P,onPointerErrorRaised:y[3]||(y[3]=x=>u("pointer-error-raised",x))},null,8,["indicator","param-input-keys"])):V("",!0),b.value.length?(l(),S(ze,{key:`${h.value}-style-${v.value}`,ref_key:"settingStyle",ref:I,indicator:n.indicator,"style-input-keys":b.value,onSettingUpdated:P},null,8,["indicator","style-input-keys"])):V("",!0)])):(l(),S(ye,{key:1,"indicator-name":h.value,"explain-html":e.value},null,8,["indicator-name","explain-html"]))],2),K.value?(l(),S(ge,{key:0,"active-tab":c.value,"btn-disabled":p.value,onBtnInitializeClicked:Y,onBtnExplainClicked:ee},null,8,["active-tab","btn-disabled"])):V("",!0)]))}},De=B(qe,[["__scopeId","data-v-eaf912ca"]]),pt=F({__name:"NewChartGameIndicatorSettingSlide",setup(o){const u={width:"42.4rem",height:"100%",top:0,"margin-top":0},n=H(),a=n.useArgs(U.NewChartGameIndicatorSetting);return(r,d)=>(l(),S(le,{name:_(U).NewChartGameIndicatorSetting,"container-style":u,direction:"right"},{default:se(()=>[_(a).indicatorInfo&&_(a).indicatorSetting?(l(),S(De,{key:0,"indi-info":_(a).indicatorInfo,indicator:_(a).indicatorSetting,onMaSelected:_(a).onMaSelected,onSettingUpdated:_(a).onSettingUpdated,onPointerErrorRaised:_(a).onPointerErrorRaised,onExplainLinkClicked:_(a).onExplainLinkClicked,onClose:d[0]||(d[0]=c=>_(n).hide(_(U).NewChartGameIndicatorSetting))},null,8,["indi-info","indicator","onMaSelected","onSettingUpdated","onPointerErrorRaised","onExplainLinkClicked"])):V("",!0)]),_:1},8,["name"]))}});export{pt as default};
2//# sourceMappingURL=NewChartGameIndicatorSettingSlide-49d75fa0.js.map

Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.