@eaera-com/eaera-widgets-v2 0.1.84 → 0.1.86
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/components/base/EaeraPagination.mjs +1 -1
- package/dist/components/base/EaeraSelect.d.ts +8 -0
- package/dist/components/base/EaeraSelect.mjs +1 -1
- package/dist/components/base/EaeraSelectStatus.mjs +1 -1
- package/dist/components/base/EaeraSelectTag.mjs +1 -1
- package/dist/components/chunks/{EaeraDynamicFieldRow-C-VUPCvg.mjs → EaeraDynamicFieldRow-8-utCowK.mjs} +1 -1
- package/dist/components/chunks/{EaeraForm-DRMCdjw4.mjs → EaeraForm-DxThA46e.mjs} +1 -1
- package/dist/components/chunks/{EaeraPagination-BKcbraqK.mjs → EaeraPagination-7pSl3EwP.mjs} +1 -1
- package/dist/components/chunks/EaeraSelect-C-sln89V.mjs +1 -0
- package/dist/components/chunks/{EaeraSelectStatus-DF8-Svsr.mjs → EaeraSelectStatus-BMiT4W5a.mjs} +1 -1
- package/dist/components/chunks/{EaeraSelectTag-fwPFHO14.mjs → EaeraSelectTag-4WtAOO7m.mjs} +1 -1
- package/dist/components/chunks/EaeraTableV2-CIeL4xlB.mjs +1 -0
- package/dist/components/chunks/{EaeraWidgetGrowthBalanceProfitChart-nW-rAuUt.mjs → EaeraWidgetGrowthBalanceProfitChart-BK2uhXA1.mjs} +1 -1
- package/dist/components/chunks/{EaeraWidgetMarginCalculator-BoV_EWi6.mjs → EaeraWidgetMarginCalculator-Co6Vnjv1.mjs} +1 -1
- package/dist/components/chunks/{EaeraWidgetPositionCalculator-DVbflfoJ.mjs → EaeraWidgetPositionCalculator-_DmVt9Os.mjs} +1 -1
- package/dist/components/chunks/index-2xA6k2YN.mjs +1 -0
- package/dist/components/chunks/{index-Bva_01ak.mjs → index-9V1MulD6.mjs} +1 -1
- package/dist/components/chunks/{index-C95yVkcL.mjs → index-B97jyUEn.mjs} +1 -1
- package/dist/components/chunks/{index-4sT0yI4F.mjs → index-Bi7fGqMj.mjs} +1 -1
- package/dist/components/chunks/{index-DD9Bx0uF.mjs → index-ClzOcTL5.mjs} +1 -1
- package/dist/components/chunks/{index-CdY_wl4g.mjs → index-u4AYhvi2.mjs} +1 -1
- package/dist/components/composite/EaeraDynamicFieldRow.mjs +1 -1
- package/dist/components/composite/EaeraForm.mjs +1 -1
- package/dist/components/composite/EaeraTableV2.mjs +1 -1
- package/dist/components/custom/EaeraWidgetBasicTradingStatistics.mjs +1 -1
- package/dist/components/custom/EaeraWidgetEconomicInsight.mjs +1 -1
- package/dist/components/custom/EaeraWidgetGrowthBalanceProfitChart.mjs +1 -1
- package/dist/components/custom/EaeraWidgetHeader.mjs +1 -1
- package/dist/components/custom/EaeraWidgetIframe.mjs +1 -1
- package/dist/components/custom/EaeraWidgetMarginCalculator.mjs +1 -1
- package/dist/components/custom/EaeraWidgetPositionCalculator.mjs +1 -1
- package/dist/components/custom/EaeraWidgetTechnicalViews.mjs +1 -1
- package/dist/components/index.mjs +1 -1
- package/dist/components/webtrade/EaeraCfdOrderPlacement.mjs +1 -1
- package/dist/components/webtrade/EaeraCfdWatchlist.mjs +1 -1
- package/dist/components/webtrade/EaeraOrderPlacement.mjs +1 -1
- package/dist/components/webtrade/EaeraTimeNSales.mjs +1 -1
- package/dist/components/webtrade/EaeraTradingTable.mjs +1 -1
- package/dist/components/webtrade/EaeraWatchlist.mjs +1 -1
- package/dist/eaera-widgets-v2.es.js +4090 -4076
- package/dist/eaera-widgets-v2.umd.cjs +13 -13
- package/package.json +1 -1
- package/dist/components/chunks/EaeraSelect-BxZRZofe.mjs +0 -1
- package/dist/components/chunks/EaeraTableV2-CyfoAwDF.mjs +0 -1
- package/dist/components/chunks/index-CLfZnTKh.mjs +0 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
import{_ as e}from"../chunks/EaeraPagination-
|
|
1
|
+
import{_ as e}from"../chunks/EaeraPagination-7pSl3EwP.mjs";import"vue";import"element-plus";import"../chunks/EaeraSelect-C-sln89V.mjs";import"element-plus/es";import"../chunks/EaeraSpinner-DzMwUlR7.mjs";import"../chunks/EaeraCheckbox-C_faN0pV.mjs";import"@lucide/vue";export{e as default};
|
|
@@ -38,6 +38,13 @@ type SelectProps = {
|
|
|
38
38
|
showArrow?: boolean;
|
|
39
39
|
offset?: number;
|
|
40
40
|
isTeleported?: boolean;
|
|
41
|
+
/**
|
|
42
|
+
* Keep the dropdown popper mounted when closed (Element Plus `persistent`).
|
|
43
|
+
* Defaults to `false` so hidden poppers are not rendered — required for
|
|
44
|
+
* SSR: a server-rendered popper computes different scrollbar inline styles
|
|
45
|
+
* (`max-height: 0px`) than the client and breaks hydration.
|
|
46
|
+
*/
|
|
47
|
+
persistent?: boolean;
|
|
41
48
|
translateLabel?: boolean;
|
|
42
49
|
showSpinner?: boolean;
|
|
43
50
|
spinnerSize?: number;
|
|
@@ -93,6 +100,7 @@ declare const __VLS_component: DefineComponent<__VLS_PublicProps, {}, {}, {}, {}
|
|
|
93
100
|
popperOptions: any;
|
|
94
101
|
showArrow: boolean;
|
|
95
102
|
popperClass: string;
|
|
103
|
+
persistent: boolean;
|
|
96
104
|
collapseTags: boolean;
|
|
97
105
|
collapseTagsTooltip: boolean;
|
|
98
106
|
maxCollapseTags: number;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{_ as e}from"../chunks/EaeraSelect-
|
|
1
|
+
import{_ as e}from"../chunks/EaeraSelect-C-sln89V.mjs";import"element-plus/es";import"vue";import"../chunks/EaeraSpinner-DzMwUlR7.mjs";import"../chunks/EaeraCheckbox-C_faN0pV.mjs";import"element-plus";import"@lucide/vue";export{e as default};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{_ as e}from"../chunks/EaeraSelectStatus-
|
|
1
|
+
import{_ as e}from"../chunks/EaeraSelectStatus-BMiT4W5a.mjs";import"element-plus/es";import"vue";import"@lucide/vue";import"../chunks/EaeraSelect-C-sln89V.mjs";import"../chunks/EaeraSpinner-DzMwUlR7.mjs";import"../chunks/EaeraCheckbox-C_faN0pV.mjs";import"element-plus";import"../chunks/EaeraTag-DsDZxISm.mjs";import"../chunks/iconSvg-B2wrn2gi.mjs";export{e as default};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{_ as e}from"../chunks/EaeraSelectTag-
|
|
1
|
+
import{_ as e}from"../chunks/EaeraSelectTag-4WtAOO7m.mjs";import"element-plus/es";import"vue";import"@lucide/vue";import"../chunks/EaeraSelect-C-sln89V.mjs";import"../chunks/EaeraSpinner-DzMwUlR7.mjs";import"../chunks/EaeraCheckbox-C_faN0pV.mjs";import"element-plus";import"../chunks/EaeraTag-DsDZxISm.mjs";import"../chunks/iconSvg-B2wrn2gi.mjs";export{e as default};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{defineComponent as e,ref as a,computed as l,watch as o,resolveComponent as t,openBlock as n,createElementBlock as r,Fragment as d,renderList as i,normalizeClass as s,renderSlot as u,normalizeStyle as m,createElementVNode as p,toDisplayString as c,createBlock as f,resolveDynamicComponent as y,mergeProps as w,withKeys as v,withModifiers as k,createCommentVNode as _,createVNode as b,withCtx as C,createTextVNode as g}from"vue";import{_ as R}from"./EaeraButton-BPVKRBOn.mjs";import{_ as x}from"./EaeraInput-CkbcAxy0.mjs";import{_ as D}from"./EaeraInputNumber-COC6rdNn.mjs";import{_ as $}from"./EaeraSelect-
|
|
1
|
+
import{defineComponent as e,ref as a,computed as l,watch as o,resolveComponent as t,openBlock as n,createElementBlock as r,Fragment as d,renderList as i,normalizeClass as s,renderSlot as u,normalizeStyle as m,createElementVNode as p,toDisplayString as c,createBlock as f,resolveDynamicComponent as y,mergeProps as w,withKeys as v,withModifiers as k,createCommentVNode as _,createVNode as b,withCtx as C,createTextVNode as g}from"vue";import{_ as R}from"./EaeraButton-BPVKRBOn.mjs";import{_ as x}from"./EaeraInput-CkbcAxy0.mjs";import{_ as D}from"./EaeraInputNumber-COC6rdNn.mjs";import{_ as $}from"./EaeraSelect-C-sln89V.mjs";import{_ as E}from"./EaeraRadio-Dz6nSJu0.mjs";import{_ as F}from"./EaeraCheckbox-C_faN0pV.mjs";import{_ as S}from"./EaeraCountryField-CrX6AtMI.mjs";import{_ as P}from"./EaeraInputPhoneNumber-YIRrq5-L.mjs";import{_ as j}from"./EaeraDateTimePicker-Hv_ma8qU.mjs";import{_ as I}from"./EaeraSwitch-BI3E0zPf.mjs";const B=["for"],V={class:"custom-dynamic-field-row__wrapbox"},K={class:"custom-dynamic-field-row__component"},M={class:"custom-dynamic-field-row__component__wrap"},N={class:"custom-dynamic-field-row__component__item"},T=["onClick"],z={class:"custom-dynamic-field-row__additional"},A=e({__name:"EaeraDynamicFieldRow",props:{fieldRowSchema:{default:()=>[[{nameComponent:"input",key:"examplev1",label:"Example1"},{nameComponent:"input",key:"examplev2",label:"Example2"}]]},fieldRowData:{default:()=>[]},rowAddDefault:{default:()=>[{nameComponent:"input",key:"examplev1",label:"Example1"},{nameComponent:"input",key:"examplev2",label:"Example2"}]},isShowDelete:{type:Boolean,default:!0},className:{},sizeFormItems:{default:"md"}},emits:["addField","deleteField","updatePropFieldRowData"],setup(e,{expose:A,emit:U}){const L={select:$,selectCountry:S,input:x,inputNumber:D,radio:E,checkbox:F,inputPhoneNumber:P,dateTimePicker:j,switch:I},q=e,W=U,G=a([...q.fieldRowData||[]]),H=a(!1),J=l(()=>[q.className]),O=(e,a=!1)=>{switch(e){case"number":return a?null:0;case"checkbox":return!1;default:return""}},Q=()=>{0==q.fieldRowSchema.length?G.value.push(q.rowAddDefault.reduce((e,a)=>(e[a.key]=a.valueDefault??O(a.type,null==a.valueDefault),e),{})):G.value.push(q.fieldRowSchema[q.fieldRowSchema.length-1].reduce((e,a)=>(e[a.key]=a.valueDefault??O(a.type,null==a.valueDefault),e),{})),W("addField",q.fieldRowSchema.length>0?q.fieldRowSchema[q.fieldRowSchema.length-1]:q.rowAddDefault)};return o(()=>q.fieldRowData,e=>{G.value=e},{deep:!0}),o(()=>G.value,()=>{W("updatePropFieldRowData",G.value)},{deep:!0}),o(()=>q.fieldRowSchema,()=>{q.fieldRowData&&0==q.fieldRowData.length&&(H.value||(G.value=q.fieldRowSchema.map(e=>e.reduce((e,a)=>(e[a.key]=a.valueDefault||"",e),{})),H.value=!0))},{immediate:!0,deep:!0}),A({onClickAddField:Q}),(a,l)=>{const o=t("Delete");return n(),r(d,null,[(n(!0),r(d,null,i(e.fieldRowSchema,(l,t)=>(n(),r("div",{class:s(["custom-dynamic-field-row__container",J.value]),key:t},[u(a.$slots,"header",{data:l,index:t}),u(a.$slots,"body",{},()=>[(n(!0),r(d,null,i(l,(d,i)=>{return n(),r("div",{key:i,class:s(["custom-dynamic-field-row__wrap",d.classField]),style:m({gridColumn:`span ${d.col??12}`})},[p("label",{for:d.id,class:s(d.classLabel)},c(d.label?`${a.$t(d.label)}${d.required?"*":""}`:""),11,B),p("div",V,[p("div",K,[p("div",M,[p("div",N,[u(a.$slots,`prepend_item_${d.key}`,{data:G.value[t],field:d,index:t}),(n(),f(y(L[d.nameComponent]),w({id:d.id,modelValue:G.value[t][d.key],"onUpdate:modelValue":e=>G.value[t][d.key]=e,value:G.value[t][d.key],class:d.classComponent,formatter:d.formatter,parser:d.parser,valueKey:d.valueKey,disabled:d.disabled??!1,options:d.options||[],type:d.type,filterable:d.filterable||!1,rows:d.rows,allowCreate:d.allowCreate||!1,placeholder:d.placeholder?a.$t(`${d.placeholder}`):" ",placeholderCountry:d.placeholderCountry?a.$t(`${d.placeholderCountry}`):"",autocomplete:d.autocomplete,multiple:d.multiple||!1,props:d.props,remote:d.remote||!1,"remote-method":d.remoteMethod,loading:d.loading||!1,clearable:d.clearable||!1,"value-format":d.valueFormat,isRadioButton:d.isRadioButton||!1,"fit-input-width":d.fitInputWidth||!1,collapseTags:d.collapseTags||!1,"max-collapse-tags":d.maxCollapseTags||1,treeProps:d.treeProps,keyComponent:d.key,defaultValue:d.defaultValue,"show-password":d.showPassword,size:(b=d.size,b&&b.length>0?b:q.sizeFormItems),hiddenLabel:d.hiddenLabel||!1,"is-money-input":d.isMoneyInput,label:d.label?a.$t(d.label):""},{ref_for:!0},d.componentProps||{},{onClear:e=>d.onClear?.(e,d.key),onUpdateValueProp:e=>G.value[t][d.key]=e,onChange:e=>d.onChange?.(e,d.key),onMouseover:e=>d.mouseover?.(e,d.key),onMouseout:e=>d.mouseout?.(e,d.key),onFocus:e=>d.onFocus?.(e,d.key),onBlur:e=>d.onBlur?.(e,d.key),onInput:e=>d.onInput?.(e,d.key,d,t,G.value[t]),onKeydown:v(k(e=>d.keyDownEnter?.(e,d.key),["prevent"]),["enter","native"]),onKeyup:v(k(e=>d.keyUpEnter?.(e,d.key),["prevent"]),["enter","native"])}),null,16,["id","modelValue","onUpdate:modelValue","value","class","formatter","parser","valueKey","disabled","options","type","filterable","rows","allowCreate","placeholder","placeholderCountry","autocomplete","multiple","props","remote","remote-method","loading","clearable","value-format","isRadioButton","fit-input-width","collapseTags","max-collapse-tags","treeProps","keyComponent","defaultValue","show-password","size","hiddenLabel","is-money-input","label","onClear","onUpdateValueProp","onChange","onMouseover","onMouseout","onFocus","onBlur","onInput","onKeydown","onKeyup"])),u(a.$slots,`append_item_${d.key}`,{data:G.value[t],field:d,index:t})]),u(a.$slots,`bottom_item_${d.key}`,{data:G.value[t],field:d,index:t})]),!e.isShowDelete||l.length>=2&&i!==l.length-1?_("",!0):(n(),r("div",{key:0,class:"custom-dynamic-field-row__deleteBtn",onClick:e=>(e=>{G.value.splice(e,1),W("deleteField",e)})(t)},[i==l.length-1&&e.fieldRowSchema.length>1?(n(),f(o,{key:0,class:"cursor-pointer"})):_("",!0)],8,T))]),p("div",z,[u(a.$slots,"additional",{index:t,field:d})])])],6);var b}),128))])],2))),128)),p("div",null,[u(a.$slots,"footer",{},()=>[b(R,{onClick:Q},{default:C(()=>[...l[0]||(l[0]=[g("Add field",-1)])]),_:1})])])],64)}}});export{A as _};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{ElForm as e,ElFormItem as t,ElIcon as o}from"element-plus/es";import{reactive as a,ref as r,computed as l,watch as s,nextTick as n,toRaw as i,defineComponent as m,openBlock as u,createBlock as d,mergeProps as p,unref as c,withCtx as f,renderSlot as v,createElementVNode as _,normalizeClass as b,createElementBlock as y,Fragment as g,renderList as C,resolveDynamicComponent as k,withKeys as F,withModifiers as S,toHandlers as w,createSlots as E,createTextVNode as P,toDisplayString as $,createVNode as j,createCommentVNode as x}from"vue";import{_ as O}from"./EaeraButton-BPVKRBOn.mjs";import{_ as I}from"./EaeraEmailSuggestion-DyhqpIEZ.mjs";import{_ as T}from"./EaeraTooltip-BIlULHv4.mjs";import{e as V,t as N}from"./vendor-email-misspelled-0hsXkSSK.mjs";import{_ as B}from"./EaeraCascadeSelect-CoSX_ACV.mjs";import{_ as R}from"./EaeraCheckbox-C_faN0pV.mjs";import{_ as D}from"./EaeraCheckBoxList-ZKnHu1T9.mjs";import{_ as z}from"./EaeraDatePicker-Bwt5r5gk.mjs";import{_ as G}from"./EaeraDateTimePicker-Hv_ma8qU.mjs";import{_ as U}from"./EaeraRadio-Dz6nSJu0.mjs";import{_ as L}from"./EaeraSelect-BxZRZofe.mjs";import{_ as A}from"./EaeraSwitch-BI3E0zPf.mjs";import{_ as K}from"./EaeraTimePicker-B4e4R3pD.mjs";import{_ as M}from"./EaeraTree-CwZK7lqG.mjs";import{_ as q}from"./EaeraTreeSelect-mLNgcoOv.mjs";import{_ as W}from"./EaeraAutoComplete-DLjCHpAH.mjs";import{_ as X}from"./EaeraInputTag-BIYG3daA.mjs";import{_ as H}from"./EaeraCountryField-CrX6AtMI.mjs";import{_ as J}from"./EaeraInputPhone-Cui1yXmx.mjs";import{_ as Q}from"./EaeraInputPhoneNumber-YIRrq5-L.mjs";import{_ as Y}from"./EaeraSelectGroup-DxK2CWYf.mjs";import{_ as Z}from"./EaeraSelectOther-BICVMrjI.mjs";import{_ as ee}from"./EaeraInput-CkbcAxy0.mjs";import{_ as te}from"./EaeraInputNumber-COC6rdNn.mjs";import{Check as oe,TriangleAlert as ae}from"@lucide/vue";import{InfoFilled as re}from"@element-plus/icons-vue";var le=(e=>(e.Select="select",e.Input="input",e.InputNumber="inputNumber",e.Radio="radio",e.Checkbox="checkbox",e.InputPhoneNumber="inputPhoneNumber",e.InputPhone="inputPhone",e.DateTimePicker="dateTimePicker",e.SelectCascade="selectCascade",e.TreeSelect="treeSelect",e.Tree="tree",e.SelectOther="selectOther",e.SelectCountry="selectCountry",e.SelectGroup="selectGroup",e.CheckBoxList="checkboxList",e.TimePicker="timePicker",e.Switch="switch",e.DatePicker="datePicker",e.InputTag="inputTag",e.AutoComplete="autoComplete",e))(le||{});const se={select:L,selectOther:Z,selectCountry:H,selectGroup:Y,input:ee,inputNumber:te,radio:U,checkbox:R,inputPhoneNumber:Q,inputPhone:J,dateTimePicker:G,selectCascade:B,treeSelect:q,tree:M,checkboxList:D,timePicker:K,switch:A,datePicker:z,inputTag:X,autoComplete:W},ne=(e,t)=>{const o=V({domains:N}),m=a({}),u=r(!1),d=r(),p=r({}),c=r("idle"),f=r(!0),v=a({}),_=a({}),b=a({}),y=a({}),g=e.formData||{},C=a(g);Object.assign(C,(()=>{const t={},o=e.formSchema;for(const e in o)void 0!==o[e].defaultValue&&(t[e]=o[e].defaultValue);return t})(),g);const k=r({}),F=l(()=>{const t=Object.create({});return Object.entries(e.formSchema).sort(([,e],[,t])=>(e.order??0)-(t.order??0)).forEach(([e,o])=>{const a=o.group||e;t[a]||(t[a]={}),t[a][e]=o}),t}),S=l(()=>[e.className,e.prefixLabel&&"is-prefix-label"]),w=l(()=>{const t=new Set(["switch","radio"]),o=e.formSchema;return d.value?.fields.map(e=>({label:e.label,key:e.prop,component:o[e.prop]?.nameComponent,state:e.validateState||"idle"})).filter(e=>!t.has(e.component))}),E=e=>{const t={};for(const o of e)Array.isArray(o.value)?t[o.key]=t[o.key]?[...t[o.key],...o.value]:[...o.value]:t[o.key]=t[o.key]?[...t[o.key],o.value]:[o.value];return Object.entries(t).map(([e,t])=>({key:e,value:t}))},P=e=>{if(!e.condition)return!0;const t=E(e.condition);return"or"===e.typeCondition?t.some(e=>e.value.includes(C[e.key])):t.every(e=>e.value.includes(C[e.key]))},$=e=>{const t=[];for(const o in e)if(Object.hasOwn(e,o)){const a=e[o];a.condition&&!j(a)&&t.push(o)}return t},j=e=>{const t=E(e.condition);return"or"===e.typeCondition?t.some(e=>e.value.includes(C[e.key])):t.every(e=>e.value.includes(C[e.key]))},x=(e,t)=>{e?(u.value=!1,c.value="valid"):(u.value=!0,c.value="invalid")},O=async e=>{d.value&&(c.value="validating",await d.value.validateField(e,x))},I=e=>e&&"object"==typeof e?{...e}:e,T=(e=[])=>e.map(I),B=e=>{const t=[];for(const o in e){if(!Object.hasOwn(e,o))continue;const a=Array.isArray(e[o])?e[o]:[];t.push(...a)}return t},R=()=>{const t=e.formSchema,o={};for(const e in t)if(Object.hasOwn(t,e)){const a=t[e],r=a?.rule||{};for(const e in r)Object.hasOwn(r,e)&&(o[e]=T(r[e]||[]));const l="inputPhoneNumber"===a?.nameComponent,s=b[e]||[];if(!l||0===s.length)continue;const n=B(r),i=o[e]||[];if(0===n.length)continue;o[e]=[...i,...T(s)]}k.value=o};R();return s(()=>e.formData,e=>Object.assign(C,e||{}),{deep:!0}),s(C,t=>{e.formData&&e.formData!==C&&Object.assign(e.formData,t)},{deep:!0}),s(()=>e.formSchema,R),s(w,e=>{e&&(e.some(e=>"validating"===e.state)?c.value="validating":e.some(e=>"error"===e.state)?c.value="invalid":e.every(e=>"success"===e.state)?c.value="valid":c.value="idle")}),{Component:le,suggestionEmails:m,isErrorValidateForm:u,ruleFormRef:d,rowItemComponentRefs:p,rules:k,formState:c,isValidPhoneNumber:f,isValidEmails:v,ruleForm:C,sortedGroupFormSchema:F,computedClass:S,fieldsState:w,getSizeFormItems:t=>t?.length>0?t:e.sizeFormItems,getTypeComponent:(e,t)=>"password"===e?_[t]?"text":"password":e,getNameComponent:(e="")=>se[e]??null,getFieldsByCondition:e=>{if(0===Object.keys(e).length)return{};const t=Object.create({});for(const o in e)if(Object.hasOwn(e,o)){const a=e[o];P(a)&&!a.hidden&&(t[o]=a)}return t},submitForm:()=>{d.value&&(c.value="submitting",d.value.validate((e,o)=>{if(e&&f.value){u.value=!1,c.value="submitted";const e=structuredClone(i(C));for(const t of(()=>{let e=[];for(const t in F.value)Object.hasOwn(F.value,t)&&(e=e.concat($(F.value[t])));return e})())delete e[t];t("submit",e)}else u.value=!0,c.value="invalid",f.value?console.log("error submit!",o):console.log("error submit!","Phone number is invalid")}))},validateForm:async()=>{d.value&&(c.value="validating",await d.value.validate(x))},validateField:O,onValidate:(t,o,a)=>{y[t]=!o;const r=e.formSchema;"email"===r[t]?.type&&(v[t]=o)},fieldErrors:y,resetForm:()=>{d.value&&(d.value.resetFields(),Object.keys(y).forEach(e=>delete y[e]),Object.values(p.value).forEach(e=>{e?.resetField?.()}))},resetFields:e=>{d.value&&(d.value.resetFields(e),e.forEach(e=>{delete y[e];const t=p.value[e];t?.resetField?.()}))},handleKeyUpEnter:(t,o)=>{const a=t.target;"textarea"===a?.tagName.toLowerCase()&&(C[o]=C[o]+"\n"),e.keyUpEnter(t,o)},onInputComponent:(t,a,r)=>{"email"===r&&(m[a]=o(C[a])?.slice(0,3)??[]),e.onInput(t,a)},onClickSuggestion:(e,t)=>{C[t]=C[t].replace(/@.*/,`@${e}`),m[t]=[]},onUpdateValueProp:(e,t,o)=>{C[t]=e;"inputPhoneNumber"===o&&(""===e||null==e)&&n(()=>{O(String(t))})},registerComponentRef:(e,t,o)=>{if(""===t||null==t)return;const a=String(t);if(!e)return;if(p.value[a]===e)return;if(p.value[a]=e,"inputPhoneNumber"!==o)return;if((b[a]||[]).length>0)return;((e,t)=>{if(""===e||null==e||!t)return;const o=String(e),a=Array.isArray(t)?t:[t];b[o]=T(a),R()})(a,e.defaultRule)}}},ie={key:0,class:"required-field"},me={class:"custom-form-item__error"},ue={class:"text-error-validate"},de={class:"custom-form-item__success"},pe={class:"custom-form-item__info"},ce={class:"el-form-item__label-bottom"},fe={key:0},ve=m({__name:"EaeraForm",props:{className:{},classNameParentGroup:{default:""},labelPosition:{default:"top"},labelWidth:{default:"auto"},textBtnSave:{default:"Save"},textBtnClose:{default:"Close"},scrollToError:{type:Boolean,default:!0},formData:{default:()=>({})},formSchema:{default:()=>({})},formGroupRenderOptions:{default:()=>({})},onChange:{type:Function,default:()=>{}},mouseover:{type:Function,default:()=>{}},onBlur:{type:Function,default:()=>{}},onFocus:{type:Function,default:()=>{}},mouseout:{type:Function,default:()=>{}},onInput:{type:Function,default:()=>{}},keyDownEnter:{type:Function,default:()=>{}},keyUpEnter:{type:Function,default:()=>{}},onClear:{type:Function,default:()=>{}},validateOnRuleChange:{type:Boolean,default:!0},sizeFormItems:{default:"md"},labelSize:{default:"md"},prefixLabel:{type:Boolean},isMoneyInput:{type:Boolean}},emits:["submit"],setup(a,{expose:r,emit:l}){const s=a,n=l,{Component:i,suggestionEmails:m,isErrorValidateForm:V,ruleFormRef:N,rowItemComponentRefs:B,rules:R,formState:D,isValidPhoneNumber:z,isValidEmails:G,ruleForm:U,sortedGroupFormSchema:L,computedClass:A,fieldsState:K,getSizeFormItems:M,getTypeComponent:q,getNameComponent:W,getFieldsByCondition:X,submitForm:H,validateForm:J,validateField:Q,onValidate:Y,fieldErrors:Z,resetForm:ee,resetFields:te,handleKeyUpEnter:le,onInputComponent:se,onClickSuggestion:ve,onUpdateValueProp:he,registerComponentRef:_e}=ne(s,n);return r({submitForm:H,resetForm:ee,resetFields:te,validateForm:J,validateField:Q,isErrorValidateForm:V,formState:D,fieldsState:K,rowItemComponentRefs:B}),(r,l)=>{const n=o,V=t,B=e;return u(),d(B,p({ref_key:"ruleFormRef",ref:N,model:c(U),rules:c(R),labelPosition:"bottom"===s.labelPosition?void 0:s.labelPosition,onValidate:c(Y),class:["custom-form",c(A)],"scroll-to-error":a.scrollToError,"validate-on-rule-change":a.validateOnRuleChange,"label-width":"bottom"===s.labelPosition?0:s.labelWidth||"auto"},r.$attrs),{default:f(()=>[v(r.$slots,"header"),v(r.$slots,"body",{},()=>[_("div",{class:b(["custom-form__parent-group",s.classNameParentGroup])},[(u(!0),y(g,null,C(c(L),(e,t)=>(u(),y("div",{key:t},[v(r.$slots,"top_row_group_"+t),(u(),d(k(a.formGroupRenderOptions?.[t]?.tag??"div"),{class:b(a.formGroupRenderOptions?.[t]?.class??"form-group-default")},{default:f(()=>[(u(!0),y(g,null,C(c(X)(e),(e,t)=>(u(),d(V,p({key:t,class:["custom-form-item",[e.classFormItem,e.nameComponent&&`custom-form-item__${e.nameComponent}`,"bottom"===a.labelPosition&&"no-label",e.disabled&&"is-disabled",s.labelSize&&`label-size--${s.labelSize}`]],prop:t},{ref_for:!0},e.formItemProps||{}),{label:f(()=>[_("span",null,$(r.$t(e.label)),1),e.rule?.required?(u(),y("span",ie,"*")):x("",!0),e.labelTooltip?(u(),d(T,{key:1,content:r.$t(e.labelTooltip),placement:"right"},{default:f(()=>[j(n,{class:"label-tooltip"},{default:f(()=>[j(c(re))]),_:1})]),_:1},8,["content"])):x("",!0)]),error:f(({error:e})=>[v(r.$slots,"row_item_error_"+t,{error:e},()=>[_("div",me,[j(c(ae)),_("span",ue,$(r.$t(`${e}`)),1)])])]),default:f(()=>[v(r.$slots,"row_item_"+t,{data:c(U)},()=>[(u(),d(k(c(W)(e.nameComponent)),p({ref_for:!0,ref:o=>c(_e)(o,t,e.nameComponent),id:t,formatter:e.formatter,parser:e.parser,valueKey:e.valueKey,className:`${e.classComponent||""}`,modelValue:c(U)[t],"onUpdate:modelValue":e=>c(U)[t]=e,disabled:e.disabled??!1,value:c(U)[t],options:e.options||[],type:c(q)(e.type,t),filterable:e.filterable||!1,rows:e.rows,allowCreate:e.allowCreate||!1,placeholder:e.placeholder?r.$t(`${e.placeholder}`):" ",placeholderCountry:e.placeholderCountry?r.$t(`${e.placeholderCountry}`):"",autocomplete:e.autocomplete,multiple:e.multiple||!1,props:e.props,remote:e.remote||!1,"remote-method":e.remoteMethod,loading:e.loading||!1,clearable:e.clearable||!1,"value-format":e.valueFormat,isRadioButton:e.isRadioButton||!1,"fit-input-width":e.fitInputWidth||!1,collapseTags:e.collapseTags||!1,"max-collapse-tags":e.maxCollapseTags||1,treeProps:e.treeProps,keyComponent:t,defaultValue:e.defaultValue,"show-password":e.showPassword,size:c(M)(e.size),hiddenLabel:e.hiddenLabel||!1,"is-money-input":e.isMoneyInput||s.isMoneyInput,label:e.label},{ref_for:!0},e.componentProps||{},{onClear:e=>a.onClear(e,t),onUpdateValueProp:o=>c(he)(o,t,e.nameComponent),"onUpdate:isValidPhoneNumber":l[0]||(l[0]=e=>z.value=e),onChange:e=>a.onChange(e,t),onMouseover:e=>a.mouseover(e,t),onMouseout:e=>a.mouseout(e,t),onFocus:e=>a.onFocus(e,t),onBlur:e=>a.onBlur(e,t),onInput:o=>c(se)(o,t,e.type),onKeydown:F(S(e=>a.keyDownEnter(e,t),["prevent"]),["enter","native"]),onKeyup:F(S(e=>c(le)(e,t),["prevent"]),["enter","native"])},w(e.componentEvents||{})),E({default:f(()=>[v(r.$slots,"body_row_item_"+t,{data:c(U)})]),_:2},[[c(i).Select,c(i).SelectOther].includes(e.nameComponent)&&e.header?{name:"header",fn:f(()=>[v(r.$slots,"header_item_"+t,{data:c(U)},()=>[P($(e.header),1)])]),key:"0"}:e.header?{name:"header",fn:f(()=>[v(r.$slots,"header_item_"+t,{data:c(U)})]),key:"1"}:void 0,r.$slots["suffix_item_"+t]?{name:"suffix",fn:f(()=>[v(r.$slots,"suffix_item_"+t,{data:c(U)})]),key:"2"}:void 0,r.$slots["prefix_item_"+t]?{name:"prefix",fn:f(()=>[v(r.$slots,"prefix_item_"+t,{data:c(U)})]),key:"3"}:void 0,r.$slots["prepend_item_"+t]?{name:"prepend",fn:f(()=>[v(r.$slots,"prepend_item_"+t,{data:c(U)})]),key:"4"}:void 0,r.$slots["append_item_"+t]?{name:"append",fn:f(()=>[v(r.$slots,"append_item_"+t,{data:c(U)})]),key:"5"}:void 0,r.$slots["option_default_item_"+t]?{name:"option_default",fn:f(({data:e})=>[v(r.$slots,"option_default_item_"+t,{data:e})]),key:"6"}:void 0]),1040,["id","formatter","parser","valueKey","className","modelValue","onUpdate:modelValue","disabled","value","options","type","filterable","rows","allowCreate","placeholder","placeholderCountry","autocomplete","multiple","props","remote","remote-method","loading","clearable","value-format","isRadioButton","fit-input-width","collapseTags","max-collapse-tags","treeProps","keyComponent","defaultValue","show-password","size","hiddenLabel","is-money-input","label","onClear","onUpdateValueProp","onChange","onMouseover","onMouseout","onFocus","onBlur","onInput","onKeydown","onKeyup"]))]),!0!==c(Z)[String(t)]?(u(),y(g,{key:0},[!1===c(Z)[String(t)]&&e.successText?v(r.$slots,"row_item_success_"+t,{},()=>[_("div",de,[j(c(oe)),_("span",null,$(r.$t(`${e.successText}`)),1)])],void 0,0):e.infoText?v(r.$slots,"row_item_info_"+t,{},()=>[_("div",pe,[j(n,null,{default:f(()=>[j(c(re))]),_:1}),_("span",null,$(r.$t(`${e.infoText}`)),1)])],void 0,1):x("",!0)],64)):x("",!0),j(I,{suggestions:c(m)[t]??[],"is-valid":c(G)[t],show:e.showSuggestionEmail,onSelect:e=>c(ve)(e,t)},null,8,["suggestions","is-valid","show","onSelect"]),v(r.$slots,"bottom_row_item_"+t),"bottom"===a.labelPosition?v(r.$slots,"row_item_label_bottom_"+t,{},()=>[_("div",ce,$(r.$t(`${e.label}`)),1),e.required?(u(),y("span",fe,"*")):x("",!0)],void 0,1):x("",!0)]),_:2},1040,["class","prop"]))),128))]),_:2},1032,["class"])),v(r.$slots,"bottom_row_group_"+t)]))),128))],2)]),v(r.$slots,"footer",{},()=>[j(V,null,{default:f(()=>[j(O,{onClick:c(J),color:"primary"},{default:f(()=>[P($(a.textBtnSave),1)]),_:1},8,["onClick"]),j(O,{color:"primary",plain:""},{default:f(()=>[P($(a.textBtnClose),1)]),_:1})]),_:1})])]),_:3},16,["model","rules","labelPosition","onValidate","class","scroll-to-error","validate-on-rule-change","label-width"])}}});export{le as C,ve as _};
|
|
1
|
+
import{ElForm as e,ElFormItem as t,ElIcon as o}from"element-plus/es";import{reactive as a,ref as r,computed as l,watch as s,nextTick as n,toRaw as i,defineComponent as m,openBlock as u,createBlock as d,mergeProps as p,unref as c,withCtx as f,renderSlot as v,createElementVNode as _,normalizeClass as b,createElementBlock as y,Fragment as g,renderList as C,resolveDynamicComponent as k,withKeys as F,withModifiers as S,toHandlers as w,createSlots as E,createTextVNode as P,toDisplayString as $,createVNode as j,createCommentVNode as x}from"vue";import{_ as O}from"./EaeraButton-BPVKRBOn.mjs";import{_ as I}from"./EaeraEmailSuggestion-DyhqpIEZ.mjs";import{_ as T}from"./EaeraTooltip-BIlULHv4.mjs";import{e as V,t as N}from"./vendor-email-misspelled-0hsXkSSK.mjs";import{_ as B}from"./EaeraCascadeSelect-CoSX_ACV.mjs";import{_ as R}from"./EaeraCheckbox-C_faN0pV.mjs";import{_ as D}from"./EaeraCheckBoxList-ZKnHu1T9.mjs";import{_ as z}from"./EaeraDatePicker-Bwt5r5gk.mjs";import{_ as G}from"./EaeraDateTimePicker-Hv_ma8qU.mjs";import{_ as U}from"./EaeraRadio-Dz6nSJu0.mjs";import{_ as L}from"./EaeraSelect-C-sln89V.mjs";import{_ as A}from"./EaeraSwitch-BI3E0zPf.mjs";import{_ as K}from"./EaeraTimePicker-B4e4R3pD.mjs";import{_ as M}from"./EaeraTree-CwZK7lqG.mjs";import{_ as q}from"./EaeraTreeSelect-mLNgcoOv.mjs";import{_ as W}from"./EaeraAutoComplete-DLjCHpAH.mjs";import{_ as X}from"./EaeraInputTag-BIYG3daA.mjs";import{_ as H}from"./EaeraCountryField-CrX6AtMI.mjs";import{_ as J}from"./EaeraInputPhone-Cui1yXmx.mjs";import{_ as Q}from"./EaeraInputPhoneNumber-YIRrq5-L.mjs";import{_ as Y}from"./EaeraSelectGroup-DxK2CWYf.mjs";import{_ as Z}from"./EaeraSelectOther-BICVMrjI.mjs";import{_ as ee}from"./EaeraInput-CkbcAxy0.mjs";import{_ as te}from"./EaeraInputNumber-COC6rdNn.mjs";import{Check as oe,TriangleAlert as ae}from"@lucide/vue";import{InfoFilled as re}from"@element-plus/icons-vue";var le=(e=>(e.Select="select",e.Input="input",e.InputNumber="inputNumber",e.Radio="radio",e.Checkbox="checkbox",e.InputPhoneNumber="inputPhoneNumber",e.InputPhone="inputPhone",e.DateTimePicker="dateTimePicker",e.SelectCascade="selectCascade",e.TreeSelect="treeSelect",e.Tree="tree",e.SelectOther="selectOther",e.SelectCountry="selectCountry",e.SelectGroup="selectGroup",e.CheckBoxList="checkboxList",e.TimePicker="timePicker",e.Switch="switch",e.DatePicker="datePicker",e.InputTag="inputTag",e.AutoComplete="autoComplete",e))(le||{});const se={select:L,selectOther:Z,selectCountry:H,selectGroup:Y,input:ee,inputNumber:te,radio:U,checkbox:R,inputPhoneNumber:Q,inputPhone:J,dateTimePicker:G,selectCascade:B,treeSelect:q,tree:M,checkboxList:D,timePicker:K,switch:A,datePicker:z,inputTag:X,autoComplete:W},ne=(e,t)=>{const o=V({domains:N}),m=a({}),u=r(!1),d=r(),p=r({}),c=r("idle"),f=r(!0),v=a({}),_=a({}),b=a({}),y=a({}),g=e.formData||{},C=a(g);Object.assign(C,(()=>{const t={},o=e.formSchema;for(const e in o)void 0!==o[e].defaultValue&&(t[e]=o[e].defaultValue);return t})(),g);const k=r({}),F=l(()=>{const t=Object.create({});return Object.entries(e.formSchema).sort(([,e],[,t])=>(e.order??0)-(t.order??0)).forEach(([e,o])=>{const a=o.group||e;t[a]||(t[a]={}),t[a][e]=o}),t}),S=l(()=>[e.className,e.prefixLabel&&"is-prefix-label"]),w=l(()=>{const t=new Set(["switch","radio"]),o=e.formSchema;return d.value?.fields.map(e=>({label:e.label,key:e.prop,component:o[e.prop]?.nameComponent,state:e.validateState||"idle"})).filter(e=>!t.has(e.component))}),E=e=>{const t={};for(const o of e)Array.isArray(o.value)?t[o.key]=t[o.key]?[...t[o.key],...o.value]:[...o.value]:t[o.key]=t[o.key]?[...t[o.key],o.value]:[o.value];return Object.entries(t).map(([e,t])=>({key:e,value:t}))},P=e=>{if(!e.condition)return!0;const t=E(e.condition);return"or"===e.typeCondition?t.some(e=>e.value.includes(C[e.key])):t.every(e=>e.value.includes(C[e.key]))},$=e=>{const t=[];for(const o in e)if(Object.hasOwn(e,o)){const a=e[o];a.condition&&!j(a)&&t.push(o)}return t},j=e=>{const t=E(e.condition);return"or"===e.typeCondition?t.some(e=>e.value.includes(C[e.key])):t.every(e=>e.value.includes(C[e.key]))},x=(e,t)=>{e?(u.value=!1,c.value="valid"):(u.value=!0,c.value="invalid")},O=async e=>{d.value&&(c.value="validating",await d.value.validateField(e,x))},I=e=>e&&"object"==typeof e?{...e}:e,T=(e=[])=>e.map(I),B=e=>{const t=[];for(const o in e){if(!Object.hasOwn(e,o))continue;const a=Array.isArray(e[o])?e[o]:[];t.push(...a)}return t},R=()=>{const t=e.formSchema,o={};for(const e in t)if(Object.hasOwn(t,e)){const a=t[e],r=a?.rule||{};for(const e in r)Object.hasOwn(r,e)&&(o[e]=T(r[e]||[]));const l="inputPhoneNumber"===a?.nameComponent,s=b[e]||[];if(!l||0===s.length)continue;const n=B(r),i=o[e]||[];if(0===n.length)continue;o[e]=[...i,...T(s)]}k.value=o};R();return s(()=>e.formData,e=>Object.assign(C,e||{}),{deep:!0}),s(C,t=>{e.formData&&e.formData!==C&&Object.assign(e.formData,t)},{deep:!0}),s(()=>e.formSchema,R),s(w,e=>{e&&(e.some(e=>"validating"===e.state)?c.value="validating":e.some(e=>"error"===e.state)?c.value="invalid":e.every(e=>"success"===e.state)?c.value="valid":c.value="idle")}),{Component:le,suggestionEmails:m,isErrorValidateForm:u,ruleFormRef:d,rowItemComponentRefs:p,rules:k,formState:c,isValidPhoneNumber:f,isValidEmails:v,ruleForm:C,sortedGroupFormSchema:F,computedClass:S,fieldsState:w,getSizeFormItems:t=>t?.length>0?t:e.sizeFormItems,getTypeComponent:(e,t)=>"password"===e?_[t]?"text":"password":e,getNameComponent:(e="")=>se[e]??null,getFieldsByCondition:e=>{if(0===Object.keys(e).length)return{};const t=Object.create({});for(const o in e)if(Object.hasOwn(e,o)){const a=e[o];P(a)&&!a.hidden&&(t[o]=a)}return t},submitForm:()=>{d.value&&(c.value="submitting",d.value.validate((e,o)=>{if(e&&f.value){u.value=!1,c.value="submitted";const e=structuredClone(i(C));for(const t of(()=>{let e=[];for(const t in F.value)Object.hasOwn(F.value,t)&&(e=e.concat($(F.value[t])));return e})())delete e[t];t("submit",e)}else u.value=!0,c.value="invalid",f.value?console.log("error submit!",o):console.log("error submit!","Phone number is invalid")}))},validateForm:async()=>{d.value&&(c.value="validating",await d.value.validate(x))},validateField:O,onValidate:(t,o,a)=>{y[t]=!o;const r=e.formSchema;"email"===r[t]?.type&&(v[t]=o)},fieldErrors:y,resetForm:()=>{d.value&&(d.value.resetFields(),Object.keys(y).forEach(e=>delete y[e]),Object.values(p.value).forEach(e=>{e?.resetField?.()}))},resetFields:e=>{d.value&&(d.value.resetFields(e),e.forEach(e=>{delete y[e];const t=p.value[e];t?.resetField?.()}))},handleKeyUpEnter:(t,o)=>{const a=t.target;"textarea"===a?.tagName.toLowerCase()&&(C[o]=C[o]+"\n"),e.keyUpEnter(t,o)},onInputComponent:(t,a,r)=>{"email"===r&&(m[a]=o(C[a])?.slice(0,3)??[]),e.onInput(t,a)},onClickSuggestion:(e,t)=>{C[t]=C[t].replace(/@.*/,`@${e}`),m[t]=[]},onUpdateValueProp:(e,t,o)=>{C[t]=e;"inputPhoneNumber"===o&&(""===e||null==e)&&n(()=>{O(String(t))})},registerComponentRef:(e,t,o)=>{if(""===t||null==t)return;const a=String(t);if(!e)return;if(p.value[a]===e)return;if(p.value[a]=e,"inputPhoneNumber"!==o)return;if((b[a]||[]).length>0)return;((e,t)=>{if(""===e||null==e||!t)return;const o=String(e),a=Array.isArray(t)?t:[t];b[o]=T(a),R()})(a,e.defaultRule)}}},ie={key:0,class:"required-field"},me={class:"custom-form-item__error"},ue={class:"text-error-validate"},de={class:"custom-form-item__success"},pe={class:"custom-form-item__info"},ce={class:"el-form-item__label-bottom"},fe={key:0},ve=m({__name:"EaeraForm",props:{className:{},classNameParentGroup:{default:""},labelPosition:{default:"top"},labelWidth:{default:"auto"},textBtnSave:{default:"Save"},textBtnClose:{default:"Close"},scrollToError:{type:Boolean,default:!0},formData:{default:()=>({})},formSchema:{default:()=>({})},formGroupRenderOptions:{default:()=>({})},onChange:{type:Function,default:()=>{}},mouseover:{type:Function,default:()=>{}},onBlur:{type:Function,default:()=>{}},onFocus:{type:Function,default:()=>{}},mouseout:{type:Function,default:()=>{}},onInput:{type:Function,default:()=>{}},keyDownEnter:{type:Function,default:()=>{}},keyUpEnter:{type:Function,default:()=>{}},onClear:{type:Function,default:()=>{}},validateOnRuleChange:{type:Boolean,default:!0},sizeFormItems:{default:"md"},labelSize:{default:"md"},prefixLabel:{type:Boolean},isMoneyInput:{type:Boolean}},emits:["submit"],setup(a,{expose:r,emit:l}){const s=a,n=l,{Component:i,suggestionEmails:m,isErrorValidateForm:V,ruleFormRef:N,rowItemComponentRefs:B,rules:R,formState:D,isValidPhoneNumber:z,isValidEmails:G,ruleForm:U,sortedGroupFormSchema:L,computedClass:A,fieldsState:K,getSizeFormItems:M,getTypeComponent:q,getNameComponent:W,getFieldsByCondition:X,submitForm:H,validateForm:J,validateField:Q,onValidate:Y,fieldErrors:Z,resetForm:ee,resetFields:te,handleKeyUpEnter:le,onInputComponent:se,onClickSuggestion:ve,onUpdateValueProp:he,registerComponentRef:_e}=ne(s,n);return r({submitForm:H,resetForm:ee,resetFields:te,validateForm:J,validateField:Q,isErrorValidateForm:V,formState:D,fieldsState:K,rowItemComponentRefs:B}),(r,l)=>{const n=o,V=t,B=e;return u(),d(B,p({ref_key:"ruleFormRef",ref:N,model:c(U),rules:c(R),labelPosition:"bottom"===s.labelPosition?void 0:s.labelPosition,onValidate:c(Y),class:["custom-form",c(A)],"scroll-to-error":a.scrollToError,"validate-on-rule-change":a.validateOnRuleChange,"label-width":"bottom"===s.labelPosition?0:s.labelWidth||"auto"},r.$attrs),{default:f(()=>[v(r.$slots,"header"),v(r.$slots,"body",{},()=>[_("div",{class:b(["custom-form__parent-group",s.classNameParentGroup])},[(u(!0),y(g,null,C(c(L),(e,t)=>(u(),y("div",{key:t},[v(r.$slots,"top_row_group_"+t),(u(),d(k(a.formGroupRenderOptions?.[t]?.tag??"div"),{class:b(a.formGroupRenderOptions?.[t]?.class??"form-group-default")},{default:f(()=>[(u(!0),y(g,null,C(c(X)(e),(e,t)=>(u(),d(V,p({key:t,class:["custom-form-item",[e.classFormItem,e.nameComponent&&`custom-form-item__${e.nameComponent}`,"bottom"===a.labelPosition&&"no-label",e.disabled&&"is-disabled",s.labelSize&&`label-size--${s.labelSize}`]],prop:t},{ref_for:!0},e.formItemProps||{}),{label:f(()=>[_("span",null,$(r.$t(e.label)),1),e.rule?.required?(u(),y("span",ie,"*")):x("",!0),e.labelTooltip?(u(),d(T,{key:1,content:r.$t(e.labelTooltip),placement:"right"},{default:f(()=>[j(n,{class:"label-tooltip"},{default:f(()=>[j(c(re))]),_:1})]),_:1},8,["content"])):x("",!0)]),error:f(({error:e})=>[v(r.$slots,"row_item_error_"+t,{error:e},()=>[_("div",me,[j(c(ae)),_("span",ue,$(r.$t(`${e}`)),1)])])]),default:f(()=>[v(r.$slots,"row_item_"+t,{data:c(U)},()=>[(u(),d(k(c(W)(e.nameComponent)),p({ref_for:!0,ref:o=>c(_e)(o,t,e.nameComponent),id:t,formatter:e.formatter,parser:e.parser,valueKey:e.valueKey,className:`${e.classComponent||""}`,modelValue:c(U)[t],"onUpdate:modelValue":e=>c(U)[t]=e,disabled:e.disabled??!1,value:c(U)[t],options:e.options||[],type:c(q)(e.type,t),filterable:e.filterable||!1,rows:e.rows,allowCreate:e.allowCreate||!1,placeholder:e.placeholder?r.$t(`${e.placeholder}`):" ",placeholderCountry:e.placeholderCountry?r.$t(`${e.placeholderCountry}`):"",autocomplete:e.autocomplete,multiple:e.multiple||!1,props:e.props,remote:e.remote||!1,"remote-method":e.remoteMethod,loading:e.loading||!1,clearable:e.clearable||!1,"value-format":e.valueFormat,isRadioButton:e.isRadioButton||!1,"fit-input-width":e.fitInputWidth||!1,collapseTags:e.collapseTags||!1,"max-collapse-tags":e.maxCollapseTags||1,treeProps:e.treeProps,keyComponent:t,defaultValue:e.defaultValue,"show-password":e.showPassword,size:c(M)(e.size),hiddenLabel:e.hiddenLabel||!1,"is-money-input":e.isMoneyInput||s.isMoneyInput,label:e.label},{ref_for:!0},e.componentProps||{},{onClear:e=>a.onClear(e,t),onUpdateValueProp:o=>c(he)(o,t,e.nameComponent),"onUpdate:isValidPhoneNumber":l[0]||(l[0]=e=>z.value=e),onChange:e=>a.onChange(e,t),onMouseover:e=>a.mouseover(e,t),onMouseout:e=>a.mouseout(e,t),onFocus:e=>a.onFocus(e,t),onBlur:e=>a.onBlur(e,t),onInput:o=>c(se)(o,t,e.type),onKeydown:F(S(e=>a.keyDownEnter(e,t),["prevent"]),["enter","native"]),onKeyup:F(S(e=>c(le)(e,t),["prevent"]),["enter","native"])},w(e.componentEvents||{})),E({default:f(()=>[v(r.$slots,"body_row_item_"+t,{data:c(U)})]),_:2},[[c(i).Select,c(i).SelectOther].includes(e.nameComponent)&&e.header?{name:"header",fn:f(()=>[v(r.$slots,"header_item_"+t,{data:c(U)},()=>[P($(e.header),1)])]),key:"0"}:e.header?{name:"header",fn:f(()=>[v(r.$slots,"header_item_"+t,{data:c(U)})]),key:"1"}:void 0,r.$slots["suffix_item_"+t]?{name:"suffix",fn:f(()=>[v(r.$slots,"suffix_item_"+t,{data:c(U)})]),key:"2"}:void 0,r.$slots["prefix_item_"+t]?{name:"prefix",fn:f(()=>[v(r.$slots,"prefix_item_"+t,{data:c(U)})]),key:"3"}:void 0,r.$slots["prepend_item_"+t]?{name:"prepend",fn:f(()=>[v(r.$slots,"prepend_item_"+t,{data:c(U)})]),key:"4"}:void 0,r.$slots["append_item_"+t]?{name:"append",fn:f(()=>[v(r.$slots,"append_item_"+t,{data:c(U)})]),key:"5"}:void 0,r.$slots["option_default_item_"+t]?{name:"option_default",fn:f(({data:e})=>[v(r.$slots,"option_default_item_"+t,{data:e})]),key:"6"}:void 0]),1040,["id","formatter","parser","valueKey","className","modelValue","onUpdate:modelValue","disabled","value","options","type","filterable","rows","allowCreate","placeholder","placeholderCountry","autocomplete","multiple","props","remote","remote-method","loading","clearable","value-format","isRadioButton","fit-input-width","collapseTags","max-collapse-tags","treeProps","keyComponent","defaultValue","show-password","size","hiddenLabel","is-money-input","label","onClear","onUpdateValueProp","onChange","onMouseover","onMouseout","onFocus","onBlur","onInput","onKeydown","onKeyup"]))]),!0!==c(Z)[String(t)]?(u(),y(g,{key:0},[!1===c(Z)[String(t)]&&e.successText?v(r.$slots,"row_item_success_"+t,{},()=>[_("div",de,[j(c(oe)),_("span",null,$(r.$t(`${e.successText}`)),1)])],void 0,0):e.infoText?v(r.$slots,"row_item_info_"+t,{},()=>[_("div",pe,[j(n,null,{default:f(()=>[j(c(re))]),_:1}),_("span",null,$(r.$t(`${e.infoText}`)),1)])],void 0,1):x("",!0)],64)):x("",!0),j(I,{suggestions:c(m)[t]??[],"is-valid":c(G)[t],show:e.showSuggestionEmail,onSelect:e=>c(ve)(e,t)},null,8,["suggestions","is-valid","show","onSelect"]),v(r.$slots,"bottom_row_item_"+t),"bottom"===a.labelPosition?v(r.$slots,"row_item_label_bottom_"+t,{},()=>[_("div",ce,$(r.$t(`${e.label}`)),1),e.required?(u(),y("span",fe,"*")):x("",!0)],void 0,1):x("",!0)]),_:2},1040,["class","prop"]))),128))]),_:2},1032,["class"])),v(r.$slots,"bottom_row_group_"+t)]))),128))],2)]),v(r.$slots,"footer",{},()=>[j(V,null,{default:f(()=>[j(O,{onClick:c(J),color:"primary"},{default:f(()=>[P($(a.textBtnSave),1)]),_:1},8,["onClick"]),j(O,{color:"primary",plain:""},{default:f(()=>[P($(a.textBtnClose),1)]),_:1})]),_:1})])]),_:3},16,["model","rules","labelPosition","onValidate","class","scroll-to-error","validate-on-rule-change","label-width"])}}});export{le as C,ve as _};
|
package/dist/components/chunks/{EaeraPagination-BKcbraqK.mjs → EaeraPagination-7pSl3EwP.mjs}
RENAMED
|
@@ -1 +1 @@
|
|
|
1
|
-
import{defineComponent as e,useModel as a,computed as t,openBlock as l,createElementBlock as n,normalizeClass as o,createElementVNode as i,toDisplayString as s,createVNode as u,createBlock as r,unref as p,mergeModels as d}from"vue";import{ElPagination as g}from"element-plus";import{_ as c}from"./EaeraSelect-
|
|
1
|
+
import{defineComponent as e,useModel as a,computed as t,openBlock as l,createElementBlock as n,normalizeClass as o,createElementVNode as i,toDisplayString as s,createVNode as u,createBlock as r,unref as p,mergeModels as d}from"vue";import{ElPagination as g}from"element-plus";import{_ as c}from"./EaeraSelect-C-sln89V.mjs";const v={class:"pagination-left"},f={class:"info-text"},m={class:"pagination-right"},z={class:"range-text"},b=e({__name:"EaeraPagination",props:d({hideOnSinglePage:{type:Boolean,default:!1},total:{default:100},pageSizes:{default:()=>[10,20,30,50]},layout:{default:"prev, pager, next"},background:{type:Boolean,default:!1},pagerCount:{default:7},disabled:{type:Boolean,default:!1},size:{default:"md"},className:{default:"custom-pagination"},prevIcon:{},nextIcon:{},locale:{default:()=>({showing:"Showing",entries:"entries",of:"of",results:"results"})}},{pageSize:{default:10},pageSizeModifiers:{},currentPage:{default:1},currentPageModifiers:{}}),emits:d(["update:current-page"],["update:pageSize","update:currentPage"]),setup(e){const d=e,b=a(e,"pageSize"),S=a(e,"currentPage"),x=t(()=>d.pageSizes.map(e=>({label:String(e),value:e}))),y=t(()=>[d.size,d.className]),P=t(()=>0===d.total?0:(S.value-1)*b.value+1),k=t(()=>Math.min(S.value*b.value,d.total));return(a,t)=>(l(),n("div",{class:o(["pagination-container",e.size])},[i("div",v,[i("span",f,s(e.locale.showing),1),u(c,{size:e.size,options:x.value,modelValue:b.value,"onUpdate:modelValue":t[0]||(t[0]=e=>b.value=e),disabled:e.disabled},null,8,["size","options","modelValue","disabled"]),t[3]||(t[3]=i("span",{class:"info-text"},"entries",-1))]),i("div",m,[i("span",z,s(P.value)+" - "+s(k.value)+" of "+s(e.total)+" results ",1),(l(),r(p(g),{key:b.value,"hide-on-single-page":e.hideOnSinglePage,background:e.background,class:o(y.value),layout:e.layout,total:e.total,"pager-count":e.pagerCount,"prev-icon":e.prevIcon,"next-icon":e.nextIcon,disabled:e.disabled,"current-page":S.value,"onUpdate:currentPage":t[1]||(t[1]=e=>S.value=e),"page-size":b.value,"onUpdate:pageSize":t[2]||(t[2]=e=>b.value=e)},null,8,["hide-on-single-page","background","class","layout","total","pager-count","prev-icon","next-icon","disabled","current-page","page-size"]))])],2))}});export{b as _};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{ElSelect as e,ElOption as l,ElIcon as o}from"element-plus/es";import{defineComponent as a,useModel as t,computed as s,openBlock as p,createBlock as r,unref as i,normalizeClass as n,createSlots as d,withCtx as u,createElementBlock as m,Fragment as f,renderList as c,renderSlot as y,createElementVNode as v,toDisplayString as b,createVNode as g,createCommentVNode as $,mergeModels as k}from"vue";import{_ as B}from"./EaeraSpinner-DzMwUlR7.mjs";import{_}from"./EaeraCheckbox-C_faN0pV.mjs";import{X as x,ChevronDown as T,Check as w}from"@lucide/vue";const V={class:"custom-popper__option-text"},S=a({__name:"EaeraSelect",props:k({valueKey:{},placeholder:{default:""},multiple:{type:Boolean,default:!1},collapseTags:{type:Boolean,default:!0},collapseTagsTooltip:{type:Boolean,default:!0},maxCollapseTags:{default:2},className:{},options:{},filterable:{type:Boolean},clearable:{type:Boolean},remoteMethod:{},remote:{type:Boolean},loading:{type:Boolean},disabled:{type:Boolean},popperClass:{default:""},popperStyle:{},isValueItem:{type:Boolean},isValueIndex:{type:Boolean},valueProp:{},customSelect:{type:Boolean,default:!0},size:{default:"md"},type:{default:""},borderThin:{type:Boolean,default:!1},hiddenLabel:{type:Boolean},showArrow:{type:Boolean,default:!1},offset:{default:12},isTeleported:{type:Boolean,default:!0},persistent:{type:Boolean,default:!1},translateLabel:{type:Boolean,default:!0},showSpinner:{type:Boolean},spinnerSize:{default:8},popperOptions:{default:()=>({modifiers:[{name:"offset",options:{offset:[0,4]}}]})},reserveKeyword:{type:Boolean,default:!0}},{modelValue:{default:""},modelModifiers:{}}),emits:k(["change","popup-scroll","visible-change","blur"],["update:modelValue"]),setup(a,{emit:k}){const S=a,z=t(a,"modelValue"),C=k,L=s(()=>[S.className,S.size,S.type,S.multiple&&"is-multiple",S.collapseTags&&"is-collapse-tags",S.borderThin&&"border-thin",S.hiddenLabel&&"hidden-label"]),A=(e,l)=>S.isValueItem?e:S.isValueIndex?l:e[`${S.valueProp??"value"}`],I=s(()=>(S.options??[]).some((e,l)=>""===A(e,l))),K=s(()=>I.value?[void 0,null]:void 0),E=e=>"string"==typeof e?e:e.label,M=(e,l)=>{const o=A(e,l);return S.multiple&&Array.isArray(z.value)?z.value.includes(o):z.value===o},P=e=>{C("change",e)};return(t,s)=>{const k=o,I=l,j=e;return S.showSpinner?(p(),r(B,{key:0,size:S.spinnerSize},null,8,["size"])):(p(),r(j,{key:1,modelValue:z.value,"onUpdate:modelValue":s[0]||(s[0]=e=>z.value=e),"value-key":a.valueKey,"empty-values":K.value,class:n(["custom-select",L.value]),placeholder:S.placeholder,remote:S.remote,teleported:S.isTeleported,persistent:S.persistent,"remote-method":S.remoteMethod,filterable:S.filterable,"reserve-keyword":S.reserveKeyword,clearable:S.clearable,multiple:S.multiple,"collapse-tags":S.collapseTags,"collapse-tags-tooltip":S.collapseTagsTooltip,"max-collapse-tags":S.maxCollapseTags,"popper-class":`custom-select-popper custom-popper ${S.size} ${S.multiple?"is-multiple":""} ${S.popperClass}`,"popper-style":S.popperStyle,"show-arrow":a.showArrow,offset:a.offset,loading:S.loading,disabled:S.disabled,"suffix-icon":i(T),"clear-icon":i(x),onPopupScroll:s[1]||(s[1]=e=>C("popup-scroll",e)),onChange:P,onVisibleChange:s[2]||(s[2]=e=>C("visible-change",e)),"popper-options":a.popperOptions,onBlur:s[3]||(s[3]=e=>C("blur",e))},d({default:u(()=>[(p(!0),m(f,null,c(S.options,(e,l)=>(p(),r(I,{key:e.value??e.label??l,label:S.translateLabel?t.$t(E(e)):E(e),class:"custom-select__option",value:A(e,l),disabled:e.disabled},{default:u(()=>[t.$slots.option_default?y(t.$slots,"option_default",{data:e},void 0,void 0,0):S.multiple?(p(),m(f,{key:1},[v("span",V,b(S.translateLabel?t.$t(E(e)):E(e)),1),g(_,{"model-value":M(e,l),size:"sm",class:"custom-popper__option-checkbox"},null,8,["model-value"])],64)):(p(),m(f,{key:2},[v("span",{class:n(["custom-popper__option-text",{"is-selected":M(e,l)}])},b(S.translateLabel?t.$t(E(e)):E(e)),3),M(e,l)?(p(),r(k,{key:0,class:"custom-popper__option-tick"},{default:u(()=>[g(i(w))]),_:1})):$("",!0)],64))]),_:2},1032,["label","value","disabled"]))),128))]),_:2},[t.$slots.loading?{name:"loading",fn:u(()=>[y(t.$slots,"loading")]),key:"0"}:void 0,t.$slots.header?{name:"header",fn:u(()=>[y(t.$slots,"header")]),key:"1"}:void 0,t.$slots.suffix?{name:"suffix",fn:u(()=>[y(t.$slots,"suffix")]),key:"2"}:void 0,t.$slots.prefix?{name:"prefix",fn:u(()=>[y(t.$slots,"prefix")]),key:"3"}:void 0,t.$slots.label?{name:"label",fn:u(({label:e,value:l})=>[y(t.$slots,"label",{label:e,value:l})]),key:"4"}:void 0,t.$slots.tag?{name:"tag",fn:u(({data:e,deleteTag:l})=>[y(t.$slots,"tag",{data:e,deleteTag:l})]),key:"5"}:void 0,t.$slots.footer?{name:"footer",fn:u(()=>[y(t.$slots,"footer")]),key:"6"}:void 0]),1032,["modelValue","value-key","empty-values","class","placeholder","remote","teleported","persistent","remote-method","filterable","reserve-keyword","clearable","multiple","collapse-tags","collapse-tags-tooltip","max-collapse-tags","popper-class","popper-style","show-arrow","offset","loading","disabled","suffix-icon","clear-icon","popper-options"]))}}});export{S as _};
|
package/dist/components/chunks/{EaeraSelectStatus-DF8-Svsr.mjs → EaeraSelectStatus-BMiT4W5a.mjs}
RENAMED
|
@@ -1 +1 @@
|
|
|
1
|
-
import{ElIcon as e}from"element-plus/es";import{defineComponent as l,useModel as t,useAttrs as a,openBlock as o,createBlock as s,mergeProps as r,createSlots as u,withCtx as m,createElementVNode as i,normalizeClass as c,createVNode as p,createTextVNode as d,toDisplayString as n,createCommentVNode as f,unref as v,renderSlot as _,createElementBlock as $,Fragment as z,renderList as b,normalizeProps as g,guardReactiveProps as k,mergeModels as y}from"vue";import{Check as V}from"@lucide/vue";import{_ as x}from"./EaeraSelect-
|
|
1
|
+
import{ElIcon as e}from"element-plus/es";import{defineComponent as l,useModel as t,useAttrs as a,openBlock as o,createBlock as s,mergeProps as r,createSlots as u,withCtx as m,createElementVNode as i,normalizeClass as c,createVNode as p,createTextVNode as d,toDisplayString as n,createCommentVNode as f,unref as v,renderSlot as _,createElementBlock as $,Fragment as z,renderList as b,normalizeProps as g,guardReactiveProps as k,mergeModels as y}from"vue";import{Check as V}from"@lucide/vue";import{_ as x}from"./EaeraSelect-C-sln89V.mjs";import{_ as E}from"./EaeraTag-DsDZxISm.mjs";import{_ as S}from"./EaeraCheckbox-C_faN0pV.mjs";const j=l({__name:"EaeraSelectStatus",props:y({color:{default:"default"}},{modelValue:{default:""},modelModifiers:{}}),emits:["update:modelValue"],setup(l){const y=t(l,"modelValue"),j=a(),C=e=>{const l=(e=>e[`${j.valueProp??"value"}`])(e);return j.multiple&&Array.isArray(y.value)?y.value.includes(l):y.value===l},A=e=>j.options?.find(l=>l[j.valueProp??"value"]===e)?.color;return(t,a)=>{const j=e;return o(),s(x,r(t.$attrs,{modelValue:y.value,"onUpdate:modelValue":a[0]||(a[0]=e=>y.value=e),class:"option-type-status"}),u({label:m(({label:e,value:a})=>[_(t.$slots,"label",{label:e,value:a},()=>[p(E,{variant:"status",effect:"light",color:A(a)??l.color??"default",size:"sm"===t.$attrs.size?"sm":"md"},{default:m(()=>[d(n(e),1)]),_:2},1032,["color","size"])])]),option_default:m(({data:e})=>[i("span",{class:c(["custom-popper__option-text",{"is-selected":C(e)}])},[p(E,{variant:"status",effect:"light",color:e.color??l.color??"default",size:"sm"===t.$attrs.size?"sm":"md"},{default:m(()=>[d(n(e.label),1)]),_:2},1032,["color","size"])],2),t.$attrs.multiple?(o(),s(S,{key:0,"model-value":C(e),size:"sm",class:"custom-popper__option-checkbox"},null,8,["model-value"])):f("",!0),!t.$attrs.multiple&&C(e)?(o(),s(j,{key:1,class:"custom-popper__option-tick"},{default:m(()=>[p(v(V))]),_:1})):f("",!0)]),_:2},[t.$attrs.multiple?{name:"tag",fn:m(({data:e,deleteTag:a})=>[(o(!0),$(z,null,b(e,e=>(o(),s(E,{key:String(e.value),variant:"status",effect:"light",color:A(e.value)??l.color??"default",size:"sm"===t.$attrs.size?"sm":"md",closable:"",onClose:l=>a(l,e)},{default:m(()=>[d(n(e.currentLabel),1)]),_:2},1032,["color","size","onClose"]))),128))]),key:"0"}:void 0,b(t.$slots,(e,l)=>({name:l,fn:m(e=>[_(t.$slots,l,g(k(e??{})))])}))]),1040,["modelValue"])}}});export{j as _};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{ElIcon as e}from"element-plus/es";import{defineComponent as l,useModel as o,useAttrs as a,openBlock as t,createBlock as s,mergeProps as r,createSlots as m,withCtx as u,createElementVNode as i,normalizeClass as p,createVNode as c,createTextVNode as d,toDisplayString as n,createCommentVNode as f,unref as v,renderSlot as _,createElementBlock as y,Fragment as $,renderList as g,normalizeProps as z,guardReactiveProps as b,mergeModels as k}from"vue";import{Check as V}from"@lucide/vue";import{_ as x}from"./EaeraSelect-
|
|
1
|
+
import{ElIcon as e}from"element-plus/es";import{defineComponent as l,useModel as o,useAttrs as a,openBlock as t,createBlock as s,mergeProps as r,createSlots as m,withCtx as u,createElementVNode as i,normalizeClass as p,createVNode as c,createTextVNode as d,toDisplayString as n,createCommentVNode as f,unref as v,renderSlot as _,createElementBlock as y,Fragment as $,renderList as g,normalizeProps as z,guardReactiveProps as b,mergeModels as k}from"vue";import{Check as V}from"@lucide/vue";import{_ as x}from"./EaeraSelect-C-sln89V.mjs";import{_ as E}from"./EaeraTag-DsDZxISm.mjs";import{_ as j}from"./EaeraCheckbox-C_faN0pV.mjs";const C=l({__name:"EaeraSelectTag",props:k({color:{default:"primary"}},{modelValue:{default:""},modelModifiers:{}}),emits:["update:modelValue"],setup(l){const k=o(l,"modelValue"),C=a(),S=e=>{const l=(e=>e[`${C.valueProp??"value"}`])(e);return C.multiple&&Array.isArray(k.value)?k.value.includes(l):k.value===l},T=e=>C.options?.find(l=>l[C.valueProp??"value"]===e)?.color;return(o,a)=>{const C=e;return t(),s(x,r(o.$attrs,{modelValue:k.value,"onUpdate:modelValue":a[0]||(a[0]=e=>k.value=e),class:"option-type-tag"}),m({label:u(({label:e,value:a})=>[_(o.$slots,"label",{label:e,value:a},()=>[c(E,{effect:"light",color:T(a)??l.color??"primary",size:"sm"===o.$attrs.size?"sm":"md"},{default:u(()=>[d(n(e),1)]),_:2},1032,["color","size"])])]),option_default:u(({data:e})=>[i("span",{class:p(["custom-popper__option-text",{"is-selected":S(e)}])},[c(E,{effect:"light",color:e.color??l.color??"primary",size:"sm"===o.$attrs.size?"sm":"md"},{default:u(()=>[d(n(e.label),1)]),_:2},1032,["color","size"])],2),o.$attrs.multiple?(t(),s(j,{key:0,"model-value":S(e),size:"sm",class:"custom-popper__option-checkbox"},null,8,["model-value"])):f("",!0),!o.$attrs.multiple&&S(e)?(t(),s(C,{key:1,class:"custom-popper__option-tick"},{default:u(()=>[c(v(V))]),_:1})):f("",!0)]),_:2},[o.$attrs.multiple?{name:"tag",fn:u(({data:e,deleteTag:a})=>[(t(!0),y($,null,g(e,e=>(t(),s(E,{key:String(e.value),effect:"light",color:T(e.value)??l.color??"primary",size:"sm"===o.$attrs.size?"sm":"md",closable:"",onClose:l=>a(l,e)},{default:u(()=>[d(n(e.currentLabel),1)]),_:2},1032,["color","size","onClose"]))),128))]),key:"0"}:void 0,g(o.$slots,(e,l)=>({name:l,fn:u(e=>[_(o.$slots,l,z(b(e??{})))])}))]),1040,["modelValue"])}}});export{C as _};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{ElTableColumn as e,ElLoadingDirective as a}from"element-plus/es";import{defineComponent as t,useModel as l,ref as r,reactive as s,computed as o,useAttrs as i,watch as n,onMounted as d,onBeforeUnmount as c,openBlock as u,createElementBlock as f,normalizeClass as p,renderSlot as y,withDirectives as m,createBlock as v,unref as k,mergeProps as g,withCtx as b,Fragment as _,renderList as x,resolveDynamicComponent as w,createCommentVNode as C,createElementVNode as $,toDisplayString as S,createTextVNode as B,createSlots as I,createVNode as z,mergeModels as E}from"vue";import{ElTable as F}from"element-plus";import{u as T}from"./vendor-vueuse-core-B96HGhR7.mjs";import{useI18n as j}from"vue-i18n";import{S as P}from"./vendor-sortablejs-D3DyHO5Y.mjs";import{_ as D}from"./EaeraDateTimePicker-Hv_ma8qU.mjs";import{_ as H}from"./EaeraInput-CkbcAxy0.mjs";import{_ as R}from"./EaeraSelect-C-sln89V.mjs";import{_ as L}from"./EaeraDatePicker-Bwt5r5gk.mjs";import{_ as A}from"./EaeraPagination-7pSl3EwP.mjs";import{_ as M}from"./EaeraSelectTag-4WtAOO7m.mjs";import{_ as V}from"./EaeraSelectStatus-BMiT4W5a.mjs";import{_ as K}from"./EaeraButton-BPVKRBOn.mjs";import{_ as O}from"./EaeraEmpty-CnGp7eaH.mjs";import{_ as U}from"./EaeraDataCard-quCx0w35.mjs";import{ChevronDown as q,ChevronUp as N,ArrowUp as Z,ArrowDown as W,ArrowDownUp as G}from"@lucide/vue";const J=["createdAt","completedAt","updatedAt","hiredAt","datetimeOfIssue","dateOfBirth","expirationAt"],Q={key:0},X={key:0,class:"custom-table__header"},Y=["onClick"],ee={key:0,class:"filter"},ae=["innerHTML"],te={key:0},le=["onClick"],re=["colspan"],se={key:0,class:"table-v2__cards-empty"},oe={key:2,class:"table__pagination"},ie=t({__name:"EaeraTableV2",props:E({id:{},fetchData:{type:Function,default:(e=1,a=1,t={},l={})=>{}},items:{},fields:{},perPage:{default:20},currentPage:{default:1},totalRows:{default:100},selected:{default:()=>[]},showLoading:{type:Boolean,default:!1},showFilterByDefault:{type:Boolean,default:!0},isHiddenHeader:{type:Boolean,default:!1},filterForm:{},filterBy:{},hideFooter:{type:Boolean,default:!1},initFunc:{type:Function,default:()=>{}},stripe:{type:Boolean,default:!0},draggable:{type:Boolean,default:!1},size:{default:"small"},tableRowClassName:{default:""},classTable:{default:""},classCards:{default:""},tableLayout:{default:"fixed"},sizeFormItems:{default:"xs"},layout:{default:"prev, pager, next"},pagerCount:{default:7},allowSortReset:{type:Boolean},pageSizes:{default:()=>[5,10,20,30,50]},viewMode:{default:"table"},mobileBreakpoint:{default:768}},{pageSize:{default:5},pageSizeModifiers:{}}),emits:E(["on-row-click","update:selected-row","dragStart","dragEnd","update:onFilterChanged","update:onSortChanged","update:currentPage","update:perPage"],["update:pageSize"]),setup(t,{expose:E,emit:ie}){const ne=t,de=ie,ce={select:R,"select-tag":M,"select-status":V,input:H,date:L,daterange:D},ue=l(t,"pageSize"),fe=r(0),pe=r([]),ye=r(ne.fields),me=r(ne.showFilterByDefault),ve=s({}),ke=s(ne.filterForm||{}),ge=s(ne.filterBy||{}),he=r([]),be=r(ne.currentPage),_e=r(ne.showLoading),xe=r(ne.selected),we=r(0),Ce=r(null),{t:$e}=j(),Se=r(!1),Be=T(()=>`(max-width: ${ne.mobileBreakpoint}px)`),Ie=o(()=>"card"===ne.viewMode||"auto"===ne.viewMode&&(Se.value&&Be.value)),ze=i(),Ee=o(()=>{if(Se.value)return ze;const e={...ze};return delete e.height,delete e.maxHeight,e}),Fe=e=>ye.value.filter(e=>e.key&&"selection"!==e.type&&"expand"!==e.type).map(a=>({key:String(a.key),label:$e(a?.label||"")??"",value:Le(e,a)??"",isStatus:a.isStatus??!1,statusVariant:a.statusVariant})),Te=(e="")=>ce[e]||null,je=()=>{ye.value.forEach(e=>{e.filter&&(ke[e.key]=e.filter?.initialVal)})},Pe=(e,a,t)=>de("on-row-click",e,a,t),De=e=>{he.value=e.map(e=>e.selectionID),de("update:selected-row",e)},He=(e,a)=>{if(!a)return;if(!(ve.key===a))return ve.key=a,void(ve.direction="asc");ne.allowSortReset?"asc"===ve.direction?ve.direction="desc":"desc"===ve.direction?(ve.key=void 0,ve.direction=void 0):ve.direction="asc":ve.direction="asc"===ve.direction?"desc":"asc"},Re=(e,a)=>{if(!a)return e;const t=a.split(".");let l=e;for(const r of t){if(null==l||void 0===l)return;l=l[r]}return l},Le=(e,a)=>{if(!a||!a.key)return"";if(!a||!a?.formatter)return Re(e,a.key);try{const t=Re(e,a.key);return a.formatter?.(t,a.key,e)}catch(t){return console.error(t),"error"}},Ae=async()=>{try{_e.value=!0,await ne.fetchData(be.value,ue.value,ge,ve)}catch(e){console.error(e)}finally{_e.value=!1}},Me=(e,a,t)=>{if(!a)return a;if(J.includes(e)&&Array.isArray(a)){const e=a[0].split("-"),t=a[1].split("-");return[`${e[2]}-${e[1]}-${e[0]}T00:00:00.000Z`,`${t[2]}-${t[1]}-${t[0]}T23:59:59.000Z`]}return a},Ve=(e,a,t)=>{const l=t.filter_key||(a.includes(".")?a.split(".").pop():a);let r=Me(a,e);if(e&&""!==r){if("-"===r)ge[l]={type:"exists",is_reverse:!0};else if(ge[l]={type:t.filterType??(s=t.type,"daterange"==s?"inrange":"date"==s||"select"==s?"equals":"contains"),value:Me(a,e)},t.is_reverse){let e="false"!==r;ge[l].is_reverse=["exists"].includes(t.filterType)?e:t.is_reverse}}else delete ge[l];var s},Ke=(e,a)=>ve.key==e||ve.key==a,Oe=r(null),Ue=({row:e,rowIndex:a})=>((he.value.includes(a)?"highlight":"")+" "+ne.tableRowClassName).trim();return n(()=>ne.items,()=>{pe.value=(ne.items??[]).map((e,a)=>({...e,selectionID:a}))},{deep:!0,immediate:!0}),n(()=>ne.fields,()=>{ye.value=ne.fields??[]}),n([ue,be,ge],()=>{de("update:currentPage",be.value),de("update:perPage",ue.value),Ae()},{deep:!0,immediate:!0}),n(()=>ve,()=>{de("update:onSortChanged",ve),Ae()},{deep:!0}),n(()=>ne.filterBy,()=>{ye.value.forEach(e=>{e.filter&&(ke[e.key]=ne.filterBy?.[e.key]?.value)}),0==Object.keys(ne.filterBy||{}).length&&Object.keys(ge).forEach(e=>{delete ge[e]});for(const e in ne.filterBy)ne.filterBy?.state?""==ne.filterBy?.state?.value?delete ge[e]:ne.filterBy?.state?.value!==ge?.state?.value&&(ge.state=ne.filterBy.state):""==ne.filterBy[e]?.value?delete ge[e]:ge[e]=ne.filterBy[e]},{deep:!0,immediate:!0}),n(()=>ne.selected,()=>{xe.value=ne.selected}),n(()=>ge,()=>{de("update:onFilterChanged",ge)},{deep:!0,immediate:!0}),n(()=>ne.showLoading,e=>{_e.value=e}),d(()=>{Se.value=!0,je(),ne.initFunc(),(()=>{if(!ne.draggable||!ne.id)return;const e=document.querySelector(`#${ne.id} .el-table__body-wrapper tbody`);e&&(Oe.value?.destroy(),Oe.value=P.create(e,{animation:180,filter:".not-draggable",onEnd:e=>{de("dragEnd",e)},onStart:e=>de("dragStart",e)}))})()}),c(()=>{Oe.value?.destroy(),Oe.value=null}),E({checkedRows:xe,rowExpansion:(e,a)=>{Ce.value.toggleRowExpansion(e,a)},clearSelection:()=>{Ce.value?.clearSelection()},reloadTable:Ae,setScrollTop:e=>{Ce.value.setScrollTop(e)},pageIndex:be,loading:_e,sort:ve,sortTable:He,tableRef:Ce,isCardMode:Ie}),(l,r)=>{const s=e,o=a;return u(),f("div",{class:p(["table-v2-wrapper",{"is-card-mode":Ie.value}])},[y(l.$slots,"table-v2-header-actions"),Ie.value?m((u(),f("div",{key:1,class:p(["table-v2__cards",t.classCards])},[0===pe.value.length?(u(),f("div",se,[y(l.$slots,"empty",{},()=>[z(O,{title:"There is no data to show"})])])):(u(!0),f(_,{key:1},x(pe.value,(e,a)=>(u(),f("div",{key:e.selectionID??a,class:"table-v2__card-item"},[y(l.$slots,"card",{item:e,index:a},()=>[z(U,{items:Fe(e),"show-header":!1},null,8,["items"])])]))),128))],2)),[[o,_e.value]]):(u(),f("div",Q,[m((u(),v(k(F),g({ref_key:"eaeraTable",ref:Ce,id:t.id,class:["custom-table",[{isHiddenHeader:t.isHiddenHeader,"is-filter-visible":me.value},t.classTable]],size:t.size,data:pe.value,onRowClick:Pe,onSelectionChange:De,stripe:t.stripe,key:we.value,"row-class-name":Ue,"table-layout":t.tableLayout},Ee.value),{empty:b(()=>[y(l.$slots,"empty",{},()=>[$("div",{colspan:(t.fields??[]).length,class:"custom-table__empty"}," There is no data to show ",8,re)])]),append:b(()=>[y(l.$slots,"append")]),"expand-icon":b(({expanded:e})=>[y(l.$slots,"expand-icon",{expanded:e})]),default:b(()=>[(u(!0),f(_,null,x(ye.value,(e,a)=>(u(),v(s,g({key:e.key??a,prop:String(e.key),label:l.$t(e?.label||""),width:e.width,"min-width":e.minWidth,formatter:e.formatter,type:e.type,selectable:e.selectable,"class-name":e.cellClass,"row-class-name":e.rowClass,"label-class-name":e.headerClass,"header-align":e.headerAlign||e.align,align:e.align,render:e.render,fixed:e.fixed||!1},{ref_for:!0},e.colProps),{header:b(({column:a,$index:s})=>{return[$("div",{class:p(["custom-table__header-cell",[e.align,e.headerClass]])},[t.isHiddenHeader?C("",!0):(u(),f("div",X,[y(l.$slots,`header_${String(e.key)}`,{item:a},()=>{return["actions"==e.key?(u(),f("span",{key:0,onClick:r[0]||(r[0]=e=>me.value=!me.value)},[me.value?(u(),v(k(N),{key:1,class:"btn-icon"})):(u(),v(k(q),{key:0,class:"btn-icon"}))])):(u(),f("div",{key:1,class:p(["custom-table__header-actions",e.customHeaderClass]),onClick:a=>He(e.key,e.sort_key)},[e.filter?(u(),f("div",ee,[e.prefixIcon?(u(),v(w(e.prefixIcon),{key:0,class:"icon-secondary"})):C("",!0),$("span",{innerHTML:(a=l.$t(e?.label||""),a??"_"),class:p(["custom-table__header-label text-14-24-600",e.headerLabelClass??""])},null,10,ae),e.suffixIcon?(u(),v(w(e.suffixIcon),{key:1,class:"icon-secondary"})):C("",!0)])):(u(),f("div",{key:1,class:p(["custom-table__header-label text-14-24-600",e.headerLabelClass??""])},[e.prefixIcon?(u(),v(w(e.prefixIcon),{key:0,class:"icon-secondary"})):C("",!0),B(" "+S(l.$t(e?.label||""))+" ",1),e.suffixIcon?(u(),v(w(e.suffixIcon),{key:1,class:"icon-secondary"})):C("",!0)],2)),e.sortable?y(l.$slots,"sort-icon",{class:p(e.headerSortIconClass??""),sortKey:e.sort_key,direction:ve.direction},()=>[Ke(e.key,e.sort_key)&&"asc"==ve.direction?(u(),v(k(Z),{key:0,color:"var(--er-action-primary-default)"})):C("",!0),Ke(e.key,e.sort_key)&&"desc"==ve.direction?(u(),v(k(W),{key:1,color:"var(--er-action-primary-default)"})):C("",!0),e.sortable&&!Ke(e.key,e.sort_key)?(u(),v(k(G),{key:2,color:"var(--er-icon-secondary)"})):C("",!0)],void 0,2):C("",!0)],10,Y))];var a}),y(l.$slots,`header_after_${e.key}`,{item:a})])),me.value&&e.filter?(u(),f("div",{key:1,class:p(["custom-table__filter",e.filter?.align])},["actions"!=e.key?(u(),f("p",te,["custom"===e.filter?.type?y(l.$slots,`filter_custom(${e.key})`,{item:e,key:fe.value,filterForm:ke,filterBy:ge,onChange:Ve}):(u(),v(w(Te(e.filter?.type)),g({type:e.filter?.type??"",valueKey:e.filter?.valueKey,"v-model":ke[e?.key],disabled:e.filter?.disabled??!1,valueFormat:e.filter?.valueFormat,format:e.filter?.format,options:e?.filter?.options||[],placeholder:e.filter?.placeholder?l.$t(`${e.filter?.placeholder}`):"",key:fe.value,autocomplete:e.filter?.autocomplete,"filter-name":`filter-${e.filter?.type}-${e.key}`,onUpdateValueProp:a=>ke[e?.key]=a,onChange:a=>Ve(a,e.key,e?.filter),size:(o=e?.filter?.size,o&&o.length>0?o:ne.sizeFormItems)},{ref_for:!0},{...e.filter}),I({_:2},[e.filter?.prefixIcon?{name:"prefix",fn:b(()=>[(u(),v(w(e.filter.prefixIcon),{class:"icon-secondary"}))]),key:"0"}:void 0,e.filter?.suffixIcon?{name:"suffix",fn:b(()=>[(u(),v(w(e.filter.suffixIcon),{class:"icon-secondary"}))]),key:"1"}:void 0]),1040,["type","valueKey","v-model","disabled","valueFormat","format","options","placeholder","autocomplete","filter-name","onUpdateValueProp","onChange","size"]))])):(u(),v(K,{key:1,onClick:r[1]||(r[1]=()=>(()=>{for(const e in ke)delete ke[e];for(const e in ge)delete ge[e];fe.value++,je()})()),size:"xs",plain:""},{default:b(()=>[...r[4]||(r[4]=[B(" Clear ",-1)])]),_:1}))],2)):C("",!0)],2)];var o}),default:b(({row:t,column:r,$index:s})=>["expand"===e.type?y(l.$slots,`cell(${e.key})`,g({item:t,rowIndex:s},{ref_for:!0},{row:t,column:r,$index:s}),()=>[e?.cell?.component?(u(),v(w(e?.cell?.component),g({key:0,dataClass:e?.cell?.dataClass},{ref_for:!0},{row:t,column:r,$index:s}),null,16,["dataClass"])):C("",!0)],void 0,0):"select"!=e.key?y(l.$slots,`cell(${e.key})`,g({item:t,index:a,rowIndex:s,field:e,value:Re(t,e.key)},{ref_for:!0},{row:t,column:r,$index:s}),()=>[$("div",{onClick:a=>{e?.onClick&&e?.onClick(t,a)}},[e?.cell?.component?(u(),v(w(e?.cell?.component),g({key:0,cellData:Le(t,e),dataClass:e?.cell?.dataClass},{ref_for:!0},e?.cell?.props),null,16,["cellData","dataClass"])):"select"!=e.key?(u(),f("div",{key:1,class:p(e?.cell?.dataClass)},S(Le(t,e)),3)):C("",!0)],8,le)],void 0,1):C("",!0)]),_:2},1040,["prop","label","width","min-width","formatter","type","selectable","class-name","row-class-name","label-class-name","header-align","align","render","fixed"]))),128))]),_:3},16,["id","size","data","class","stripe","table-layout"])),[[o,_e.value]])])),y(l.$slots,"addition_content"),t.hideFooter?C("",!0):(u(),f("div",oe,[z(A,{layout:ne.layout,total:ne.totalRows,"pager-count":ne.pagerCount,"page-sizes":ne.pageSizes,disabled:_e.value,"current-page":be.value,"onUpdate:currentPage":r[2]||(r[2]=e=>be.value=e),"page-size":ue.value,"onUpdate:pageSize":r[3]||(r[3]=e=>ue.value=e)},null,8,["layout","total","pager-count","page-sizes","disabled","current-page","page-size"])]))],2)}}});export{ie as _};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{ElLoadingDirective as e}from"element-plus/es";import{_ as t}from"./EaeraSelect-
|
|
1
|
+
import{ElLoadingDirective as e}from"element-plus/es";import{_ as t}from"./EaeraSelect-C-sln89V.mjs";import{_ as a}from"./EaeraSegmented-BED7en5R.mjs";import{defineComponent as i,ref as r,computed as l,resolveComponent as o,openBlock as n,createElementBlock as s,createElementVNode as d,toDisplayString as p,unref as c,createVNode as m,withCtx as g,createCommentVNode as u,withDirectives as b,renderSlot as y,createBlock as w}from"vue";import{useI18n as f}from"vue-i18n";import{Clock as v,TrendingUp as x}from"@lucide/vue";const S={class:"gbp-widget"},_={key:0,class:"gbp-widget__header"},z={class:"gbp-widget__title"},A={class:"gbp-widget__controls"},N={class:"gbp-widget__body"},L={key:0,class:"gbp-widget__empty"},D={class:"gbp-widget__empty-text"},T=i({__name:"EaeraWidgetGrowthBalanceProfitChart",props:{onClosedTradeData:{default:()=>[]},dailyData:{default:()=>[]},isLoading:{type:Boolean,default:!1},showHeader:{type:Boolean,default:!0},currency:{default:"USD"}},setup(i){const T=i,{t:V}=f(),k=r("growth"),I=r("on_closed_trade"),C=l(()=>[{label:V("widget.growth-balance-profit.growth"),value:"growth"},{label:V("widget.growth-balance-profit.balance"),value:"balance"},{label:V("widget.growth-balance-profit.profit"),value:"profit"}]),P=l(()=>[{label:V("widget.growth-balance-profit.on-closed-trade"),value:"on_closed_trade"},{label:V("widget.growth-balance-profit.daily"),value:"daily"}]),U=l(()=>"daily"===I.value?T.dailyData:T.onClosedTradeData),q=l(()=>U.value.map(e=>{const t=(a=e.timestamp,new Date(a));var a;return isNaN(t.getTime())?String(e.timestamp):new Intl.DateTimeFormat("en-US",{month:"short",day:"numeric"}).format(t)})),B=l(()=>{const e=[];let t=0;for(const a of U.value)t+=Number(a.profit??0),e.push(t);return e}),E=e=>({color:e>=0?"var(--er-text-success)":"var(--er-text-danger)",borderRadius:e>=0?[4,4,0,0]:[0,0,4,4]}),j=e=>({type:"value",splitNumber:4,axisLabel:{color:"var(--er-text-muted)",fontSize:11,formatter:e},axisLine:{show:!0,lineStyle:{color:"transparent"}},axisTick:{show:!1},splitLine:{lineStyle:{color:"var(--er-border-subtle)",type:"dashed"}}}),G={type:"value",show:!1},H={left:48,right:12,top:24,bottom:56,containLabel:!0},F=l(()=>({type:"category",data:q.value,axisLine:{show:!1},axisTick:{show:!1},axisLabel:{color:"var(--er-text-muted)",fontSize:11}})),R=l(()=>{const e=U.value;return"growth"===k.value?{tooltip:{trigger:"axis",axisPointer:{z:1}},legend:{bottom:0,textStyle:{color:"var(--er-text-muted)",fontSize:12},data:[V("widget.growth-balance-profit.balance-growth"),V("widget.growth-balance-profit.balance-change")]},grid:H,xAxis:F.value,yAxis:[j("{value}%"),G],series:[{name:V("widget.growth-balance-profit.balance-growth"),type:"line",yAxisIndex:0,data:e.map(e=>Number(e.balanceGrowth??0)),itemStyle:{color:"var(--er-action-primary-default)"},lineStyle:{color:"var(--er-action-primary-default)"},symbol:"circle",symbolSize:4,emphasis:{disabled:!0}},{name:V("widget.growth-balance-profit.balance-change"),type:"bar",yAxisIndex:1,emphasis:{disabled:!0},data:e.map(e=>{const t=Number(e.balanceChange??0),a=E(t);return{value:t,itemStyle:a,emphasis:{itemStyle:a}}})}]}:"balance"===k.value?{tooltip:{trigger:"axis",axisPointer:{z:1}},legend:{bottom:0,textStyle:{color:"var(--er-text-muted)",fontSize:12},data:[V("widget.growth-balance-profit.balance"),V("widget.growth-balance-profit.equity")]},grid:H,xAxis:F.value,yAxis:[j("{value}")],series:[{name:V("widget.growth-balance-profit.balance"),type:"line",data:e.map(e=>Number(e.balance??0)),itemStyle:{color:"var(--er-action-primary-default)"},lineStyle:{color:"var(--er-action-primary-default)"},symbol:"circle",symbolSize:4,emphasis:{disabled:!0}},{name:V("widget.growth-balance-profit.equity"),type:"line",data:e.map(e=>Number(e.equity??0)),itemStyle:{color:"var(--er-text-muted)"},lineStyle:{color:"var(--er-text-muted)"},symbol:"circle",symbolSize:4,emphasis:{disabled:!0}}]}:{tooltip:{trigger:"axis",axisPointer:{z:1}},legend:{bottom:0,textStyle:{color:"var(--er-text-muted)",fontSize:12},data:["daily"===I.value?V("widget.growth-balance-profit.profit-daily"):V("widget.growth-balance-profit.profit-trade"),V("widget.growth-balance-profit.profit")]},grid:H,xAxis:F.value,yAxis:[j("{value}"),G],series:[{name:"daily"===I.value?V("widget.growth-balance-profit.profit-daily"):V("widget.growth-balance-profit.profit-trade"),type:"bar",yAxisIndex:0,emphasis:{disabled:!0},data:e.map(e=>{const t=Number(e.profit??0),a=E(t);return{value:t,itemStyle:a,emphasis:{itemStyle:a}}})},{name:V("widget.growth-balance-profit.profit"),type:"line",yAxisIndex:1,data:B.value,itemStyle:{color:"var(--er-action-primary-default)"},lineStyle:{color:"var(--er-action-primary-default)"},symbol:"circle",symbolSize:4,emphasis:{disabled:!0}}]}});return(r,l)=>{const f=a,T=t,q=o("v-chart"),B=e;return n(),s("div",S,[i.showHeader?(n(),s("header",_,[d("span",z,p(c(V)("widget.growth-balance-profit.title")),1),d("div",A,[m(f,{modelValue:k.value,"onUpdate:modelValue":l[0]||(l[0]=e=>k.value=e),options:C.value,size:"lg",variant:"box"},null,8,["modelValue","options"]),m(T,{modelValue:I.value,"onUpdate:modelValue":l[1]||(l[1]=e=>I.value=e),size:"lg",options:P.value},{prefix:g(()=>[m(c(v),{class:"gbp-widget__select-icon"})]),_:1},8,["modelValue","options"])])])):u("",!0),b((n(),s("div",N,[0===U.value.length?(n(),s("div",L,[y(r.$slots,"empty",{},()=>[m(c(x),{class:"gbp-widget__empty-icon"}),d("span",D,p(c(V)("widget.growth-balance-profit.no-data")),1)])])):(n(),w(q,{key:1,"init-options":{renderer:"svg"},option:R.value,autoresize:"",class:"gbp-widget__chart"},null,8,["option"]))])),[[B,i.isLoading]])])}}});export{T as _};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{ElFormItem as e,ElLoadingDirective as r}from"element-plus/es";import{defineComponent as a,ref as t,reactive as c,computed as l,watch as u,openBlock as o,createElementBlock as n,createVNode as i,withCtx as s,renderSlot as m,withDirectives as _,createElementVNode as p,createBlock as d,createTextVNode as v,toDisplayString as g,createCommentVNode as f}from"vue";import y from"../custom/EaeraWidgetHeader.mjs";import{C as b,_ as w}from"./EaeraForm-
|
|
1
|
+
import{ElFormItem as e,ElLoadingDirective as r}from"element-plus/es";import{defineComponent as a,ref as t,reactive as c,computed as l,watch as u,openBlock as o,createElementBlock as n,createVNode as i,withCtx as s,renderSlot as m,withDirectives as _,createElementVNode as p,createBlock as d,createTextVNode as v,toDisplayString as g,createCommentVNode as f}from"vue";import y from"../custom/EaeraWidgetHeader.mjs";import{C as b,_ as w}from"./EaeraForm-DxThA46e.mjs";import{useI18n as F}from"vue-i18n";import{_ as C}from"./EaeraButton-BPVKRBOn.mjs";const z={class:"calculator__content"},I={class:"calculator__container"},S={class:"mb-0 w-full"},$={class:"mt-4"},x={class:"mb-8 md:mb-0 text-base font-semibold"},k={key:0,class:"ml-4"},q={class:"calculator-button__wrapper"},E=a({__name:"EaeraWidgetMarginCalculator",props:{currency_pairs:{default:()=>[]},filterOptions:{default:()=>[]},getRate:{type:Function,default:()=>{}},isLoading:{type:Boolean,default:!1}},setup(a){const{t:E}=F(),N=a,U=t(),D=c({margin_ratio:void 0,currency_pair:"",account_currency:"",trade_size:void 0}),R=t(null),j=t(""),B=c({}),A=t(["USD","EUR","GBP","JPY","CHF","CAD","NZD","AUD","USC"]),H={required:!0,message:E("common.validate.required_field"),trigger:"change"},L=l(()=>{const e=N.currency_pairs.map(e=>e.symbol);return[...new Set(e)]}),M=l(()=>D.account_currency+D.currency_pair),O=l(()=>null!==R.value&&D.account_currency?B?.[R.value]?.[D.account_currency]:null),P=l(()=>[...new Set(N.filterOptions.map(e=>e?.currency)?.concat(A.value))]),W=l(()=>L.value.map(e=>({label:e,value:e}))),G=l(()=>P.value.map(e=>({label:e,value:e}))),J=l(()=>j.value&&D.account_currency?`${Intl.NumberFormat("en-US",{style:"currency",currency:D.account_currency}).format(Number(j.value))}`:""),Y=l(()=>({currency_pair:{label:E("widget.margin-calculator.currency-pair"),nameComponent:b.Select,placeholder:" ",required:!0,options:W.value,classFormItem:"is-m-auto calculator-form__wrapper",order:1,group:"left",rule:{currency_pair:[H]}},account_currency:{label:E("widget.margin-calculator.account-currency"),nameComponent:b.Select,placeholder:" ",required:!0,filterable:!0,options:G.value,classFormItem:"is-m-auto calculator-form__wrapper",order:2,group:"left",rule:{account_currency:[H]}},margin_ratio:{label:E("widget.margin-calculator.margin-raito"),nameComponent:b.Input,required:!0,classFormItem:"is-m-auto calculator-form__wrapper",order:1,group:"right",rule:{margin_ratio:[H]}},trade_size:{label:E("widget.margin-calculator.trade-size"),nameComponent:b.Input,required:!0,classFormItem:"is-m-auto calculator-form__wrapper",order:2,group:"right",rule:{trade_size:[H]}}})),Z={left:{tag:"div",class:"calculator__leftForm"},right:{tag:"div",class:"calculator__rightForm"}},K=()=>{U.value?.validateForm().then(()=>{if(R.value&&B?.[R.value]?.[D.account_currency]){const e=N.currency_pairs.find(e=>e.symbol==D.currency_pair),r=e.contract_size,a=Number(D.trade_size)*r/Number(D.margin_ratio),t=[0,5].includes(e?.calc_mode)?1:e?.symbol_price;j.value=(t*a*B?.[R.value]?.[D.account_currency]).toString()}})},Q=()=>{U.value?.resetForm(),D.margin_ratio=void 0,D.currency_pair="",D.account_currency="",D.trade_size=void 0,R.value=null,j.value=""};return u(()=>M.value,async()=>{if(D.account_currency&&R.value&&!B?.[R.value]?.[D.account_currency]){let e=await N.getRate(R.value,D.account_currency);null!==R.value&&(B[R.value]||(B[R.value]={}),B[R.value][D.account_currency]=e)}}),(t,c)=>{const l=e,u=r;return o(),n("div",null,[i(y,{title:t.$t("widget.margin-calculator.title"),showFilter:!1},{header:s(()=>[m(t.$slots,"header1")]),_:3},8,["title"]),_((o(),n("div",z,[p("div",I,[i(w,{ref_key:"ruleFormRef",ref:U,"form-data":D,"form-schema":Y.value,"form-group-render-options":Z,"class-name-parent-group":"calculator__wrapper","label-position":"top","scroll-to-error":!1,sizeFormItems:"sm"},{prefix_item_margin_ratio:s(()=>[...c[0]||(c[0]=[p("span",{class:"text-base text-black"},"1:",-1)])]),footer:s(()=>[p("div",S,[R.value&&D?.account_currency&&R.value!=D?.account_currency?(o(),d(l,{key:0,label:`${R.value}${D?.account_currency}:`,class:"form--item--custom is-m-auto calculator-form__wrapper"},{default:s(()=>[v(g(O.value),1)]),_:1},8,["label"])):f("",!0),p("div",$,[p("div",x,[v(g(t.$t("widget.margin-calculator.result"))+": ",1),j.value?(o(),n("span",k,g(J.value),1)):f("",!0)]),p("div",q,[i(C,{onClick:Q,class:"btn-custom-sm btn-success-outline text-base btn_calculator"},{default:s(()=>[v(g(t.$t("widget.margin-calculator.reset")),1)]),_:1}),i(C,{type:"success",class:"btn-custom-sm text-base btn_calculator",onClick:K},{default:s(()=>[v(g(t.$t("widget.margin-calculator.calculate")),1)]),_:1})])])])]),_:1},8,["form-data","form-schema"])])])),[[u,a.isLoading]])])}}});export{E as _};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{ElLoadingDirective as e}from"element-plus/es";import{defineComponent as r,ref as t,reactive as a,computed as o,watch as c,openBlock as l,createElementBlock as u,createVNode as i,withCtx as s,renderSlot as n,withDirectives as m,createElementVNode as p,createTextVNode as _,toDisplayString as d,createCommentVNode as v,unref as y}from"vue";import g from"../custom/EaeraWidgetHeader.mjs";import{C as f,_ as b}from"./EaeraForm-
|
|
1
|
+
import{ElLoadingDirective as e}from"element-plus/es";import{defineComponent as r,ref as t,reactive as a,computed as o,watch as c,openBlock as l,createElementBlock as u,createVNode as i,withCtx as s,renderSlot as n,withDirectives as m,createElementVNode as p,createTextVNode as _,toDisplayString as d,createCommentVNode as v,unref as y}from"vue";import g from"../custom/EaeraWidgetHeader.mjs";import{C as f,_ as b}from"./EaeraForm-DxThA46e.mjs";import{f as w}from"./formatMoney-CbiPk6ER.mjs";import{useI18n as z}from"vue-i18n";import{_ as k}from"./EaeraButton-BPVKRBOn.mjs";const N={class:"calculator__content"},F={class:"calculator__container"},$={class:"calculator-button__wrapper"},C={class:"calculator__results mt-8"},q={class:"calculator__money"},I={key:0,class:"mb-0 font-normal"},S={key:1,class:"mb-0 font-normal"},x={key:2,class:"mb-0 font-semibold"},E={key:3,class:"mb-0 font-semibold"},M={class:"calculator__units"},U={class:"mb-0 font-normal"},j={class:"mb-0 font-semibold"},D={class:"calculator__sizing"},R={class:"mb-0 font-normal"},B={class:"mb-0 font-semibold"},H=r({__name:"EaeraWidgetPositionCalculator",props:{currency_pairs:{default:()=>[]},filterOptions:{default:()=>[]},getRate:{type:Function,default:()=>{}},isLoading:{type:Boolean,default:!1}},setup(r){const{t:H}=z(),P=r,A=t(""),L=t({}),O=t("percent"),W=a({}),G=t(["USD","EUR","GBP","JPY","CHF","CAD","NZD","AUD","USC"]),J=t(),Y=a({currency_pair:"",account_currency:"",account_size:0,risk_ratio:0,risk_money:0,stop_loss:0,trade_size:0}),Z={validator:(e,r,t)=>{r?r&&!/^\d+(\.\d+)?$/.test(r)?t(new Error(H("common.validate.input_valid_number"))):t():t(new Error(H("common.validate.required_field")))},required:!0,trigger:"change"},K={required:!0,message:H("common.validate.required_field"),trigger:"change"},Q=o(()=>Y.account_currency+Y.currency_pair),T=o(()=>{const e=P.currency_pairs.map(e=>e.symbol);return[...new Set(e)]}),V=o(()=>[...new Set(P.filterOptions.map(e=>e?.currency)?.concat(G.value))]),X=o(()=>T.value.map(e=>({label:e,value:e}))),ee=o(()=>V.value.map(e=>({label:e,value:e}))),re=o(()=>({currency_pair:{label:H("widget.position-calculator.currency-pair"),nameComponent:f.Select,placeholder:" ",required:!0,filterable:!0,options:X.value,classFormItem:"is-m-auto calculator-form__wrapper",order:1,group:"left",rule:{currency_pair:[K]},size:"sm"},account_currency:{label:H("widget.position-calculator.account-currency"),nameComponent:f.Select,placeholder:" ",required:!0,filterable:!0,options:ee.value,classFormItem:"is-m-auto calculator-form__wrapper",order:2,group:"left",rule:{account_currency:[K]},size:"sm"},account_size:{label:H("widget.position-calculator.account-size"),nameComponent:f.InputNumber,required:!0,classFormItem:"is-m-auto calculator-form__wrapper",order:3,group:"left",rule:{account_size:[Z]},size:"sm"},risk_value:{label:"percent"===O.value?`${H("widget.position-calculator.risk-raito")}, %`:`${H("widget.position-calculator.money")}, ${Y.account_currency}`,nameComponent:f.InputNumber,required:!0,classFormItem:"is-m-auto calculator-form__wrapper",order:1,group:"right",rule:{risk_ratio:"percent"===O.value?[Z]:[{validator:()=>!0,required:!1,trigger:"change"}],risk_money:"money"===O.value?[Z]:[{validator:()=>!0,required:!1,trigger:"change"}]},size:"sm"},stop_loss:{label:H("widget.position-calculator.stop-loss-pip"),nameComponent:f.InputNumber,required:!0,classFormItem:"is-m-auto calculator-form__wrapper",order:2,group:"right",rule:{stop_loss:[Z]},size:"sm"},trade_size:{label:H("widget.position-calculator.trade-size"),nameComponent:f.InputNumber,required:!0,classFormItem:"is-m-auto calculator-form__wrapper",order:3,group:"right",rule:{trade_size:[Z]},size:"sm"}})),te={left:{tag:"div",class:"calculator__leftForm"},right:{tag:"div",class:"calculator__rightForm"}},ae=()=>{J.value?.resetForm(),Y.currency_pair="",Y.risk_ratio=0,Y.risk_money=0,Y.stop_loss=0,Y.account_size=0,Y.account_currency="",Y.trade_size=0,L.value={},O.value="percent"},oe=()=>{J.value?.validateForm().then(()=>{if(W?.[A.value]?.[Y.account_currency]){const e=P.currency_pairs.find(e=>e.symbol==Y.currency_pair),r=e.contract_size,t=e.digits;"percent"==O.value?(L.value.money=Number(Y.account_size)*Number(Y.risk_ratio)/100,e.path?.includes("Commodities")?L.value.unit=L.value.money/(Number(Y.stop_loss)*Math.pow(10,-2))/W?.[A.value]?.[Y.account_currency]:L.value.unit=L.value.money/(Number(Y.stop_loss)*Math.pow(10,1-t))/W?.[A.value]?.[Y.account_currency],L.value.sizing=L.value.unit/r/Number(Y.trade_size)):(L.value.risk_ratio=Y.risk_money/Number(Y.account_size)*100,e.path?.includes("Commodities")?L.value.unit=L.value.money/(Number(Y.stop_loss)*Math.pow(10,-2))/W?.[A.value]?.[Y.account_currency]:L.value.unit=Y.risk_money/(Number(Y.stop_loss)*Math.pow(10,1-t))/W?.[A.value]?.[Y.account_currency],L.value.sizing=L.value.unit/r/Number(Y.trade_size))}})};return c(()=>Q.value,async()=>{if(Y.account_currency&&A.value&&!W?.[A.value]?.[Y.account_currency]){let e=await P.getRate(A.value,Y.account_currency);W[A.value]||(W[A.value]={}),W[A.value][Y.account_currency]=e}},{immediate:!0,deep:!0}),(t,a)=>{const o=e;return l(),u("div",null,[i(g,{title:t.$t("widget.position-calculator.title"),showFilter:!1},{header:s(()=>[n(t.$slots,"header1")]),_:3},8,["title"]),m((l(),u("div",N,[p("div",F,[i(b,{ref_key:"ruleFormRef",ref:J,"form-data":Y,"form-schema":re.value,"form-group-render-options":te,"text-btn-save":t.$t("widget.position-calculator.calculate"),"text-btn-close":t.$t("widget.margin-calculator.reset"),"label-position":"top","scroll-to-error":!1,"item-size":"sm"},{footer:s(()=>[p("div",$,[i(k,{onClick:ae,class:"custom-button sm btn-success-outline text-base btn_calculator"},{default:s(()=>[_(d(t.$t("widget.margin-calculator.reset")),1)]),_:1}),i(k,{type:"success",class:"custom-button sm text-base btn_calculator",onClick:oe},{default:s(()=>[_(d(t.$t("widget.position-calculator.calculate")),1)]),_:1})])]),_:1},8,["form-data","form-schema","text-btn-save","text-btn-close"]),p("div",C,[p("div",q,["money"==O.value?(l(),u("p",I,d(t.$t("widget.position-calculator.risk-raito"))+", % ",1)):(l(),u("p",S,d(t.$t("widget.position-calculator.money"))+", "+d(Y.account_currency),1)),"money"==O.value?(l(),u("p",x,d(L.value.risk_ratio)+"% ",1)):Y.account_currency?(l(),u("p",E,d(isNaN(L.value.money)?`${Intl.NumberFormat("en-US",{style:"currency",currency:Y.account_currency}).format(0)}`:`${Intl.NumberFormat("en-US",{style:"currency",currency:Y.account_currency}).format(L.value.money)}`),1)):v("",!0)]),p("div",M,[p("p",U,d(t.$t("widget.position-calculator.units")),1),p("p",j,d(y(w)(L.value.unit,2)),1)]),p("div",D,[p("p",R,d(t.$t("widget.position-calculator.sizing")),1),p("p",B,d(y(w)(L.value.sizing,2)),1)])])])])),[[o,r.isLoading]])])}}});export{H as _};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{ref as e,watch as t,computed as a,defineComponent as s,resolveComponent as l,openBlock as i,createBlock as o,unref as r,withCtx as n,createElementVNode as u,toDisplayString as d,createVNode as c,createTextVNode as m,shallowRef as p,onMounted as g,createElementBlock as y,Fragment as v,renderList as b,normalizeClass as _,createCommentVNode as f,onBeforeUnmount as k,onUnmounted as x,withModifiers as D,normalizeStyle as C,Teleport as T,nextTick as P}from"vue";import{a as H}from"./vendor-vueuse-core-B96HGhR7.mjs";import{useI18n as S}from"vue-i18n";import{_ as w}from"./EaeraDatePicker-Bwt5r5gk.mjs";import R from"../composite/EaeraDropdownV2.mjs";import{d as O}from"./vendor-dayjs-BwyIiGHg.mjs";import{X as E,CalendarDays as F,Columns2 as L,Download as I,Inbox as N,SquarePen as $}from"@lucide/vue";import{_ as M}from"./EaeraDialog-uLsXC20k.mjs";import{_ as V}from"./EaeraButton-BPVKRBOn.mjs";import{_ as z}from"./EaeraDivider-Dggvc36a.mjs";import{_ as A}from"./EaeraTooltip-BIlULHv4.mjs";import{_ as U}from"./EaeraInput-CkbcAxy0.mjs";import"element-plus";import"element-plus/es";import"./vendor-email-misspelled-0hsXkSSK.mjs";import"./vendor-unorm-DkILX5Kw.mjs";import"./useEaeraInputPhoneNumber-B72aLnQs.mjs";import"@element-plus/icons-vue";import"echarts/core";import"echarts/renderers";import"echarts/charts";import"echarts/components";import"vue-echarts";import"./vendor-currency-symbol-map-3_wzZimq.mjs";import{_ as j}from"./EaeraTableV2-CIeL4xlB.mjs";const q={Positions:"positions",Pending:"pending",History:"history"},K={Positions:"positions",Funding:"funding",Orders:"orders",Deals:"deals"},W={All:"all",Today:"today",LastWeek:"last-week",LastMonth:"last-month",Last3Months:"last-3-months",Last6Months:"last-6-months",LastYear:"last-year",Custom:"custom"},Y=12,B=8,G={stopLoss:"",takeProfit:""},X={stopLoss:{value:!1,message:""},takeProfit:{value:!1,message:""}},Z=e=>!Number.isFinite(e)||e<0?0:e,J=e=>[...e].sort((e,t)=>(e.order??0)-(t.order??0)),Q=(e,t)=>e.length===t.length&&e.every((e,a)=>e===t[a]),ee=e=>""===e.key||!!e.alwayShow||!!e.alwaysVisible,te=(e,t,a,s)=>{const l=e.key;if(!l)return Number.MAX_SAFE_INTEGER-1e3+t;const i=a.get(l);return void 0!==i?i:ee(e)?s+t:Number.MAX_SAFE_INTEGER},ae=(s,l)=>{const{t:i}=S(),o=e(s.activeTab??q.Positions),r=e(s.activeHistoryTab??K.Positions),n=e(s.selectedTimeRange??W.LastWeek),u=e(s.customDateRange??null),d=e(s.selectedColumnKeys??[]),c=e(!1),m=e(0),p=e(0),g=e(0),y=e(0),v=e([]),b=e([]);t(()=>s.activeTab,e=>{e&&(o.value=e)}),t(()=>s.activeHistoryTab,e=>{e&&(r.value=e)}),t(()=>s.selectedTimeRange,e=>{e&&(n.value=e)}),t(()=>s.customDateRange,e=>{void 0!==e&&(u.value=e)}),t(()=>s.selectedColumnKeys,e=>{e&&(d.value=[...e])},{immediate:!0});const _=a(()=>[{value:q.Positions,label:i("trading-table.tabs.positions")},{value:q.Pending,label:i("trading-table.tabs.pending")},{value:q.History,label:i("trading-table.tabs.history")}]),f=a(()=>[{value:K.Positions,label:i("trading-table.history.tabs.positions")},{value:K.Funding,label:i("trading-table.history.tabs.funding")},{value:K.Orders,label:i("trading-table.history.tabs.orders")},{value:K.Deals,label:i("trading-table.history.tabs.deals")}]),k=a(()=>Object.values(W).map(e=>({value:e,label:i(`trading-table.history.time-ranges.${e}`)}))),x=a(()=>s.tabs??_.value),D=a(()=>s.historyTabs??f.value),C=a(()=>s.timeRangeOptions??k.value),T=a(()=>J(s.columnOptions??[])),P=a(()=>s.hiddenSummaryTabs??[q.Pending]),H=a(()=>o.value===q.History),w=a(()=>!P.value.includes(o.value)),R=a(()=>s.summaryTargetId??"trading-table-summary"),O=a(()=>{const e=Z(m.value),t=Z(p.value),a=H.value?Z(g.value):0,s=w.value?Z(y.value):0,l=e-t-s-a-Y-B-(a>0?B:0);return{wrapperHeight:e,headerHeight:t,historyTabsHeight:a,footerHeight:s,tableHeight:Math.max(0,l)}}),E=()=>{const e=J(T.value);v.value=e,b.value=((e,t)=>{if(!t.length)return e.map(e=>e.id);const a=new Set(t);return e.map(e=>e.id).filter(e=>a.has(e))})(e,s.selectedColumnKeys??[])},F=()=>{c.value=!1},L={activeTab:a(()=>o.value),activeHistoryTab:a(()=>r.value),selectedTimeRange:a(()=>n.value),customDateRange:a(()=>u.value),tabs:x,historyTabs:D,timeRangeOptions:C,columnOptions:T,selectedColumnKeys:a(()=>d.value),positionsCount:a(()=>s.positionsCount??0),pendingCount:a(()=>s.pendingCount??0),isExporting:a(()=>s.isExporting??!1),summaryTargetId:R,isHistoryTab:H,isSummaryVisible:w,isColumnDialogOpen:a(()=>c.value),draftColumnOptions:a(()=>v.value),draftCheckedColumnKeys:a(()=>b.value),layout:O,positionRows:a(()=>s.positionRows??[]),pendingRows:a(()=>s.pendingRows??[]),historyPositionRows:a(()=>s.historyPositionRows??[]),historyOrderRows:a(()=>s.historyOrderRows??[]),historyDealRows:a(()=>s.historyDealRows??[]),positionFields:a(()=>s.positionFields??[]),pendingFields:a(()=>s.pendingFields??[]),historyPositionFields:a(()=>s.historyPositionFields??[]),historyOrderFields:a(()=>s.historyOrderFields??[]),historyDealFields:a(()=>s.historyDealFields??[]),selectedSymbol:a(()=>s.selectedSymbol??null),editingPositionId:a(()=>s.editingPositionId??null),focusedPositionId:a(()=>s.focusedPositionId??null),editingOrderId:a(()=>s.editingOrderId??null),positionDraft:a(()=>s.positionDraft??G),positionDraftInvalid:a(()=>s.positionDraftInvalid??X),orderDraft:a(()=>s.orderDraft??{price:""}),orderDraftInvalid:a(()=>s.orderDraftInvalid??{price:{value:!1,message:""}}),isSavingPositionDraft:a(()=>s.isSavingPositionDraft??!1),positionsSummary:a(()=>s.positionsSummary??{}),historyPositionsSummary:a(()=>s.historyPositionsSummary??{}),historyOrdersSummary:a(()=>s.historyOrdersSummary??{}),historyDealsSummary:a(()=>s.historyDealsSummary??{}),setActiveTab:e=>{o.value=e,l("changeTab",e)},setActiveHistoryTab:e=>{r.value=e,l("changeHistoryTab",e)},setSelectedTimeRange:e=>{n.value=e,e!==W.Custom&&null!==u.value&&(u.value=null,l("changeCustomDateRange",null)),l("changeTimeRange",e)},setCustomDateRange:e=>{u.value=e,l("changeCustomDateRange",e)},setWrapperHeight:e=>{m.value=Z(e)},setHeaderHeight:e=>{p.value=Z(e)},setHistoryTabsHeight:e=>{g.value=Z(e)},setFooterHeight:e=>{y.value=Z(e)},openColumnDialog:()=>{E(),c.value=!0},closeColumnDialog:F,updateDraftCheckedColumnKeys:e=>{const t=v.value.map(e=>e.id).filter(t=>e.includes(t));Q(b.value,t)||(b.value=t)},reorderDraftColumnOptions:e=>{const t=[...e],a=t.map(e=>e.id).filter(e=>b.value.includes(e));v.value.length===t.length&&!v.value.some((e,a)=>e.id!==t[a]?.id)&&Q(b.value,a)||(v.value=t,b.value=a)},saveColumns:()=>{const e=(()=>{const e=v.value.map(e=>e.id).filter(e=>b.value.includes(e)),t=e.reduce((e,t,a)=>(e[t]=a,e),{});return{orderedKeys:e,columnsRecord:t}})();d.value=e.orderedKeys,l("changeColumns",e),F()},triggerExportHistory:()=>{l("exportHistory")},resolveTableFields:e=>{const t=[...e],a=s.selectedColumnKeys??[];if(!a.length)return t;const l=new Map(a.map((e,t)=>[e,t]));return t.map((e,t)=>({field:e,originalIndex:t})).filter(({field:e})=>!e.key||(!!ee(e)||l.has(e.key))).sort((e,t)=>te(e.field,e.originalIndex,l,a.length)-te(t.field,t.originalIndex,l,a.length)).map(e=>e.field)},selectSymbol:e=>{l("selectSymbol",e)},focusPosition:e=>{l("focusPosition",e)},startEditPosition:e=>{l("startEditPosition",e)},changePositionDraft:e=>{l("changePositionDraft",e)},savePositionDraft:e=>{l("savePositionDraft",e)},closePosition:e=>{l("closePosition",e)},cancelPendingOrder:e=>{l("cancelPendingOrder",e)},startEditOrder:e=>{l("startEditOrder",e)},changeOrderDraft:e=>{l("changeOrderDraft",e)},saveOrderDraft:e=>{l("saveOrderDraft",e)},changeHistoryPositionsSort:e=>{l("changeHistoryPositionsSort",e)},changeHistoryOrdersSort:e=>{l("changeHistoryOrdersSort",e)},changeHistoryDealsSort:e=>{l("changeHistoryDealsSort",e)},loadMoreHistoryPositions:()=>{l("loadMoreHistoryPositions")},loadMoreHistoryOrders:()=>{l("loadMoreHistoryOrders")},loadMoreHistoryDeals:()=>{l("loadMoreHistoryDeals")}},I=a(()=>({activeTab:L.activeTab.value,activeHistoryTab:L.activeHistoryTab.value,selectedTimeRange:L.selectedTimeRange.value,customDateRange:L.customDateRange.value,selectedColumnKeys:L.selectedColumnKeys.value,isColumnDialogOpen:L.isColumnDialogOpen.value,layout:L.layout.value}));return t(I,e=>{l("stateChange",e)},{immediate:!0}),t(L.layout,e=>{l("layoutChange",e)},{immediate:!0}),{...L,state:I}},se=e=>e,le={class:"custom-trading-table__column-dialog-content"},ie={class:"custom-trading-table__column-dialog-top"},oe={class:"custom-trading-table__column-dialog-title-group"},re={class:"custom-trading-table__column-dialog-title text-title-md"},ne={class:"custom-trading-table__column-dialog-subtitle text-body-sm"},ue={class:"custom-trading-table__column-dialog-option-label label-lg"},de={class:"custom-trading-table__column-dialog-actions"},ce={class:"text-label-md"},me=s({__name:"EaeraTradingTableColumnFilterDialog",props:{context:{}},setup(s){const p=s,{t:g}=S(),{isColumnDialogOpen:y,draftColumnOptions:v,draftCheckedColumnKeys:b,closeColumnDialog:_,updateDraftCheckedColumnKeys:f,reorderDraftColumnOptions:k,saveColumns:x}=p.context,D=a({get:()=>y.value,set:e=>{e||_()}}),C=a(()=>v.value.map(e=>({id:e.id,value:e.id,label:e.label,disabled:e.alwaysVisible,order:e.order}))),T=e([]);t(b,e=>{T.value=[...e]},{immediate:!0});const P=e=>{f(e)},H=a(()=>{const e=C.value.length>20?3:2;return{col:e,row:Math.max(1,Math.round(C.value.length/e)),autoFlow:"column"}}),w=e=>{const t=new Map(v.value.map(e=>[e.id,e])),a=e.map((e,a)=>{const s=t.get(e.id);return s?{...s,order:a}:null}).filter(e=>!!e);k(a)};return(e,t)=>{const a=l("eaera-checkbox-list"),s=z,p=V,y=M;return i(),o(y,{modelValue:D.value,"onUpdate:modelValue":t[1]||(t[1]=e=>D.value=e),class:"custom-trading-table__column-dialog","header-class":"hidden","footer-class":"hidden","destroy-on-close":"","show-close":!1,"close-on-click-modal":"","before-close":r(_),"append-body":""},{default:n(()=>[u("div",le,[u("div",ie,[u("div",oe,[u("div",re,d(r(g)("trading-table.columns.title")),1),u("div",ne,d(r(g)("trading-table.columns.desc")),1)]),u("button",{type:"button",class:"custom-trading-table__column-dialog-close",onClick:t[0]||(t[0]=(...e)=>r(_)&&r(_)(...e))},[c(r(E),{size:16})])]),c(a,{"model-value":T.value,options:C.value,draggable:"","allow-dragging-disabled":"",grid:H.value,"is-check-value-by-id":"",onUpdateValueProp:P,onReorderOptions:w},{default:n(({data:e})=>[u("span",ue,d(e.label),1)]),_:1},8,["model-value","options","grid"]),c(s,{class:"custom-trading-table__column-dialog-divider"}),u("div",de,[c(p,{class:"custom-trading-table__column-dialog-action-button",color:"contrast",onClick:r(_)},{default:n(()=>[m(d(r(g)("trading-table.columns.actions.cancel")),1)]),_:1},8,["onClick"]),c(p,{class:"custom-trading-table__column-dialog-action-button",color:"primary",onClick:r(x)},{default:n(()=>[u("span",ce,d(r(g)("trading-table.columns.actions.save")),1)]),_:1},8,["onClick"])])])]),_:1},8,["modelValue","before-close"])}}}),pe={class:"items-stretch flex min-h-10 p-1 rounded-md gap-1 bg-[--er-surface-muted]",role:"tablist","aria-label":"Trading table tabs"},ge=["onClick"],ye={class:"custom-trading-table__tab-label text-label-lg"},ve={class:"custom-trading-table__actions"},be={type:"button",class:"custom-trading-table__action-button"},_e={class:"text-label-md"},he={class:"custom-trading-table__time-range-dropdown"},fe=["onClick"],ke=["disabled"],xe={class:"text-label-md"},De=s({__name:"EaeraTradingTableHeader",props:{context:{}},emits:["heightChange"],setup(s,{emit:l}){const m=s,k=l,{t:x}=S(),{tabs:D,activeTab:C,setActiveTab:T,isHistoryTab:P,selectedTimeRange:E,timeRangeOptions:N,isExporting:$,openColumnDialog:M,setSelectedTimeRange:V,setCustomDateRange:z,triggerExportHistory:A}=m.context,U=p(null),{height:j}=H(U),q=e(!1);g(()=>{q.value=!0});const K=e(null),Y=e(null),B=e(["",""]),G=a(()=>{const e=N.value.find(e=>e.value===E.value);return e?.label??E.value}),X=e=>{B.value=["",""],V(e),K.value?.closeDropdown?.(),e===W.Custom&&Y.value?.handleOpen?.()},Z=(e,t)=>{const a=O(e),s=a.isValid()?a:O(e,"DD-MM-YYYY");return s.isValid()?`${s.format("YYYY-MM-DD")}T${t?"23:59:59.999":"00:00:00.000"}Z`:null},J=e=>O(e).isAfter(O(),"day");return t(j,e=>{k("heightChange",e)},{immediate:!0}),t(B,e=>{if(!e||2!==e.length)return;const t=Z(e[0],!1),a=Z(e[1],!0);t&&a&&z({from:t,to:a})}),(e,t)=>{const a=R,l=w;return i(),y("div",{ref_key:"headerRef",ref:U,class:"custom-trading-table__header"},[u("div",pe,[(i(!0),y(v,null,b(r(D),e=>(i(),y("button",{key:e.value,type:"button",class:_(["custom-trading-table__tab-button",{"custom-trading-table__tab-button--active":r(C)===e.value}]),onClick:t=>r(T)(e.value)},[u("span",ye,d(e.label),1)],10,ge))),128))]),u("div",ve,[r(P)?(i(),o(a,{key:0,ref_key:"timeRangeDropdownRef",ref:K,trigger:"click","popper-class":"custom-trading-table__time-range-popper"},{dropdown:n(()=>[u("div",he,[(i(!0),y(v,null,b(r(N),e=>(i(),y("button",{key:e.value,type:"button",class:_(["custom-trading-table__time-range-item text-label-md",{"custom-trading-table__time-range-item--active":r(E)===e.value},{"custom-trading-table__time-range-item--custom-divider":e.value===r(W).Custom}]),onClick:t=>X(e.value)},d(e.label),11,fe))),128))])]),default:n(()=>[u("button",be,[c(r(F),{size:14,class:"custom-trading-table__action-icon"}),u("span",_e,d(G.value),1)])]),_:1},512)):f("",!0),u("button",{type:"button",class:"custom-trading-table__action-button",onClick:t[0]||(t[0]=(...e)=>r(M)&&r(M)(...e))},[c(r(L),{size:14,class:"custom-trading-table__action-icon"}),t[3]||(t[3]=u("span",{class:"text-label-md"},"Columns",-1))]),r(P)?(i(),y("button",{key:1,type:"button",class:_(["custom-trading-table__action-button",{"custom-trading-table__action-button--disabled":r($)}]),disabled:r($),onClick:t[1]||(t[1]=(...e)=>r(A)&&r(A)(...e))},[c(r(I),{size:14,class:"custom-trading-table__action-icon"}),u("span",xe,d(r(x)("trading-table.export.title")),1)],10,ke)):f("",!0),q.value?(i(),o(l,{key:2,ref_key:"customDateRef",ref:Y,modelValue:B.value,"onUpdate:modelValue":t[2]||(t[2]=e=>B.value=e),type:"daterange",style:{display:"none"},"unlink-panels":"","disabled-date":J},null,8,["modelValue"])):f("",!0),c(me,{context:s.context},null,8,["context"])])],512)}}}),Ce=["onClick"],Te=s({__name:"EaeraTradingTableHistoryTabs",props:{context:{}},emits:["heightChange"],setup(e,{emit:a}){const s=e,l=a,{historyTabs:o,activeHistoryTab:n,setActiveHistoryTab:u}=s.context,c=p(null),{height:m}=H(c);return t(m,e=>{l("heightChange",e)},{immediate:!0}),(e,t)=>(i(),y("div",{ref_key:"historyTabsRef",ref:c,class:"custom-trading-table__history-tabs"},[(i(!0),y(v,null,b(r(o),e=>(i(),y("button",{key:e.value,type:"button",class:_(["custom-trading-table__history-tab-button text-label-md",{"custom-trading-table__history-tab-button--active":r(n)===e.value}]),onClick:t=>r(u)(e.value)},d(e.label),11,Ce))),128))],512))}}),Pe=(e,t,a={})=>{if(!t)return e;const{key:s,direction:l}=t,i=a[s]??s;return[...e].sort((e,t)=>{const a=e[i],s=t[i];if(null==a&&null==s)return 0;if(null==a)return"asc"===l?-1:1;if(null==s)return"asc"===l?1:-1;const o=Number(a),r=Number(s);if(!Number.isNaN(o)&&!Number.isNaN(r))return"asc"===l?o-r:r-o;const n=Date.parse(String(a)),u=Date.parse(String(s));if(!Number.isNaN(n)&&!Number.isNaN(u))return"asc"===l?n-u:u-n;const d=String(a).localeCompare(String(s));return"asc"===l?d:-d})},He=e=>{try{const t=e.value?.tableRef,a=t?.$el??null;return a instanceof HTMLElement?a:null}catch{return null}},Se=(e,t)=>{const a=He(e);if(!a)return[];const s=a.querySelector(".el-table__header-wrapper"),l=s?.querySelector("tr");if(!l)return[];return Array.from(l.querySelectorAll("th")).map((e,a)=>{const s=e.getBoundingClientRect().width;return{key:t.at(a)?.key??null,width:s}})},we=(e,t={isPositive:!0,returnNumber:!1})=>{const a=t.isPositive??!0,s=t.returnNumber??!1;let l=a?e.replace(/[^\d.]/g,""):e.replace(/[^\d.-]/g,"");if(!a){const e=l.startsWith("-");l=l.replace(/-/g,""),e&&(l=`-${l}`)}const i=l.startsWith("-")?"-":"",o=i?l.slice(1):l,r=o.indexOf(".");let n=o;-1!==r&&(n=o.slice(0,r+1)+o.slice(r+1).replace(/\./g,"")),l=i+n,l.startsWith(".")&&(l=`0${l}`),l.startsWith("-.")&&(l=l.replace("-.","-0."));const u=l.startsWith("-");let d=u?l.slice(1):l;if(d.startsWith("0")&&!d.startsWith("0.")&&(d=d.replace(/^0+/,"")||"0"),l=u?`-${d}`:d,!s){if(!l)return"";if("-"===l||"0."===l||"-0."===l||/^\d+\.$/.test(l)||/^-\d+\.$/.test(l))return l;const e=Number(l);return Number.isFinite(e)?a&&e<=0?"":l:""}if(!l||"-"===l||"."===l||"-."===l||l.endsWith(".")){const e=Number(l.replace(/\.$/,"")),t=Number.isFinite(e)?e:0;return a&&t<=0?0:t}const c=Number(l);let m=Number.isFinite(c)?c:0;return a&&m<=0&&(m=0),m},Re=(e,t=2,a="--")=>{const s=Number(e);return Number.isFinite(s)?s.toLocaleString("en-US",{minimumFractionDigits:t,maximumFractionDigits:t}):a},Oe={class:"trading-table__wrapper"},Ee={key:0},Fe={key:0},Le={key:0,class:"custom-trading-table__positions-actions"},Ie={key:1},Ne={class:"trading-table__empty-state"},$e={class:"trading-table__empty-text text-body-sm"},Me={class:"custom-trading-table__positions-summary"},Ve={class:"custom-trading-table__positions-summary-left"},ze={class:"custom-trading-table__summary-label text-body-sm"},Ae={class:"text-label-md"},Ue={class:"custom-trading-table__positions-summary-right"},je=s({__name:"EaeraTradingTablePositionsTable",props:{context:{}},setup(s){const l=s,{t:p}=S(),{summaryTargetId:H,layout:w,positionRows:R,positionFields:O,positionsSummary:F,selectedSymbol:L,editingPositionId:I,focusedPositionId:M,positionDraft:q,positionDraftInvalid:K,isSavingPositionDraft:W,resolveTableFields:Y,selectSymbol:B,focusPosition:G,startEditPosition:X,changePositionDraft:Z,savePositionDraft:J,closePosition:Q}=l.context,ee=e(),te=e(null),ae=e(null),se=e([]),le=e(!1),ie=e(null),oe={position_id:"id"},re=a(()=>w.value.tableHeight),ne=a(()=>Y(O.value)),ue=a(()=>Pe(R.value,ie.value,oe)),de=a(()=>{const e=Number(F.value.unrealizedPnl??0),t=F.value.unrealizedPnlDigits??2;return{left:{balance:F.value.balance,equity:F.value.equity,"used-margin":F.value.usedMargin,"free-margin":F.value.freeMargin},right:[{key:"unrealized_pnl",value:Re(e,t,"0.00"),class:`custom-trading-table__positions-summary-value text-label-md ${ye(e)}`},{key:"",value:`(${F.value.currency??"USD"})`,class:"custom-trading-table__positions-summary-currency text-label-md"}].map(e=>({...e,style:{width:`${se.value.find(t=>t.key===e.key)?.width??0}px`}}))}}),ce=a({get:()=>q.value.stopLoss,set:e=>{Z({field:"stopLoss",value:String(e??"")})}}),me=a({get:()=>q.value.takeProfit,set:e=>{Z({field:"takeProfit",value:String(e??"")})}});a(()=>ee.value?.sort??null);const pe=e=>{if(!e)return"--";const t=`trading-table.positions.${e}`,a=p(t);return a===t?e:a},ge=e=>{const t=String(e??"").toUpperCase();return"BUY"===t?"var(--er-text-success)":"SELL"===t?"var(--er-text-error)":"var(--text-primary)"},ye=e=>e>0?"custom-trading-table__positions-summary-value--positive":e<0?"custom-trading-table__positions-summary-value--negative":"custom-trading-table__positions-summary-value--neutral",ve=({key:e,direction:t})=>{ie.value=e&&t?{key:e,direction:t}:null},be=(e,t)=>{const a=we(e,{isPositive:!1});Z({field:t,value:a})},_e=e=>{const t=e.symbol,a=e.id;t&&(null!=a&&G(a),B(t))},he=e=>{const t=I.value===e.row.id,a=e.row.symbol===L.value;return[t?"editing-row":"",a?"selected":"",M.value===e.row.id&&!a?"focused":""].filter(Boolean).join(" ")},fe=async()=>{await P(),await new Promise(requestAnimationFrame),se.value=Se(ee,ne.value)};t(()=>K.value,({stopLoss:e,takeProfit:t})=>{e.value?te.value?.onOpen?.():te.value?.onClose?.(),t.value?ae.value?.onOpen?.():ae.value?.onClose?.()},{deep:!0});let ke=null;g(()=>{le.value=!0,fe();const e=He(ee);e&&(ke=new ResizeObserver(()=>fe()),ke.observe(e))}),k(()=>{ke?.disconnect()});const xe=e=>{"Enter"===e.key&&null!==I.value&&J(I.value)};return g(()=>{document.addEventListener("keyup",xe)}),x(()=>{document.removeEventListener("keyup",xe)}),(e,t)=>{const a=U,s=A,l=z,g=V;return i(),y("div",Oe,[c(r(j),{ref_key:"positionTableRef",ref:ee,class:"trading-table",items:ue.value,fields:ne.value,stripe:!1,"max-height":re.value,"hide-footer":"","allow-sort-reset":"","row-class-name":he,"onUpdate:onSortChanged":ve,onRowClick:_e},{"cell(side)":n(({item:e})=>[u("span",{style:C({color:ge(e.side)})},d(pe(e.side)),5)]),"cell(stop_loss)":n(({item:e})=>[e.id!==r(I)?(i(),y("span",Ee,d(e.stop_loss??"--"),1)):(i(),o(s,{key:1,ref_key:"stopLossTooltipRef",ref:te,"popper-class":[r(K).stopLoss.value&&"error"],content:r(K).stopLoss.message,placement:"top",trigger:"contextmenu"},{default:n(()=>[c(a,{modelValue:ce.value,"onUpdate:modelValue":t[0]||(t[0]=e=>ce.value=e),class:_(["input-position",r(K).stopLoss.value&&"error"]),onInput:t[1]||(t[1]=e=>be(e,"stopLoss"))},null,8,["modelValue","class"])]),_:1},8,["popper-class","content"]))]),"cell(take_profit)":n(({item:e})=>[e.id!==r(I)?(i(),y("span",Fe,d(e.take_profit??"--"),1)):(i(),o(s,{key:1,ref_key:"takeProfitTooltipRef",ref:ae,"popper-class":[r(K).takeProfit.value&&"error"],content:r(K).takeProfit.message,placement:"top",trigger:"contextmenu"},{default:n(()=>[c(a,{modelValue:me.value,"onUpdate:modelValue":t[2]||(t[2]=e=>me.value=e),class:_(["input-position",r(K).takeProfit.value&&"error"]),onInput:t[3]||(t[3]=e=>be(e,"takeProfit"))},null,8,["modelValue","class"])]),_:1},8,["popper-class","content"]))]),"cell(unrealized_pnl)":n(({item:e})=>{return[u("span",{style:C({color:`var(--text-${t=Number(e.unrealized_pnl??0),t>0?"success":t<0?"error":"primary"})`})},d(r(Re)(e.unrealized_pnl,2,"0.00")),5)];var t}),"cell()":n(({item:e})=>[e.id!==r(I)?(i(),y("div",Le,[c(r($),{size:18,class:"custom-trading-table__positions-edit-icon",onClick:D(t=>r(X)(e.id),["stop"])},null,8,["onClick"]),c(l,{direction:"vertical",class:"custom-trading-table__positions-divider"}),c(r(E),{size:18,class:"custom-trading-table__positions-close-icon",onClick:D(t=>r(Q)(e.id),["stop"])},null,8,["onClick"])])):(i(),y("div",Ie,[c(g,{color:"primary",class:"custom-trading-table__positions-save-button text-label-md",loading:r(W),onClick:t=>r(J)(e.id)},{default:n(()=>[m(d(r(p)("trading-table.positions.actions.save")),1)]),_:1},8,["loading","onClick"])]))]),empty:n(()=>[u("div",Ne,[c(r(N),{size:32,class:"trading-table__empty-icon"}),u("span",$e,d(r(p)("trading-table.empty.positions")),1)])]),_:1},8,["items","fields","max-height"]),le.value?(i(),o(T,{key:0,to:`#${r(H)}`},[u("div",Me,[u("div",Ve,[(i(!0),y(v,null,b(de.value.left,(e,t)=>(i(),y("span",{key:t,class:"custom-trading-table__positions-summary-item"},[u("span",ze,d(r(p)(`trading-table.positions.summary.${t}`))+": ",1),u("span",Ae,d(r(Re)(e,2,"0.00")),1)]))),128))]),u("div",Ue,[(i(!0),y(v,null,b(de.value.right,e=>(i(),y("div",{key:e.key,class:_(e.class),style:C(e.style)},d(e.value),7))),128))])])],8,["to"])):f("",!0)])}}}),qe={class:"trading-table__wrapper"},Ke={key:0},We={key:0,class:"custom-trading-table__positions-actions"},Ye={key:1},Be={class:"trading-table__empty-state"},Ge={class:"trading-table__empty-text text-body-sm"},Xe=s({__name:"EaeraTradingTablePendingTable",props:{context:{}},setup(s){const l=s,{t:p}=S(),{pendingRows:g,pendingFields:v,layout:b,editingOrderId:f,orderDraft:k,orderDraftInvalid:x,resolveTableFields:T,selectSymbol:P,cancelPendingOrder:H,startEditOrder:w,changeOrderDraft:R,saveOrderDraft:O}=l.context,F=e(),L=e(null),I={order_id:"id"},M=a(()=>b.value.tableHeight),q=a(()=>T(v.value)),K=a(()=>Pe(g.value,L.value,I));a(()=>F.value?.sort??null);const W=e=>{if(!e)return"--";const t=`trading-table.pending.${e}`,a=p(t);return a===t?e:a},Y=e=>{const t=String(e??"").toUpperCase();return"BUY"===t?"var(--er-text-success)":"SELL"===t?"var(--er-text-error)":"var(--text-primary)"},B=({key:e,direction:t})=>{L.value=e&&t?{key:e,direction:t}:null},G=e=>{const t=e.symbol;t&&P(t)},X=a({get:()=>k.value.price,set:e=>{R({field:"price",value:String(e??"")})}}),Z=e(null);return t(()=>x.value.price,e=>{e.value?Z.value?.onOpen?.():Z.value?.onClose?.()},{deep:!0}),(e,t)=>{const a=U,s=A,l=z,g=V;return i(),y("div",qe,[c(r(j),{ref_key:"pendingTableRef",ref:F,class:"trading-table",items:K.value,fields:q.value,stripe:!1,"max-height":M.value,"hide-footer":"","allow-sort-reset":"","onUpdate:onSortChanged":B,onRowClick:G},{"cell(side)":n(({item:e})=>[u("span",{style:C({color:Y(e.side)})},d(W(e.side)),5)]),"cell(price)":n(({item:e})=>[e.id!==r(f)?(i(),y("span",Ke,d(e.price??"--"),1)):(i(),o(s,{key:1,ref_key:"priceTooltipRef",ref:Z,"popper-class":[r(x).price.value&&"error"],content:r(x).price.message,placement:"top",trigger:"contextmenu"},{default:n(()=>[c(a,{modelValue:X.value,"onUpdate:modelValue":t[0]||(t[0]=e=>X.value=e),class:_(["input-position",r(x).price.value&&"error"]),onInput:t[1]||(t[1]=e=>((e,t)=>{const a=we(e,{isPositive:!1});R({field:t,value:a})})(e,"price"))},null,8,["modelValue","class"])]),_:1},8,["popper-class","content"]))]),"cell()":n(({item:e})=>[e.id!==r(f)?(i(),y("div",We,[c(r($),{size:18,class:"custom-trading-table__positions-edit-icon",onClick:D(t=>r(w)(e.id),["stop"])},null,8,["onClick"]),c(l,{direction:"vertical",class:"custom-trading-table__positions-divider"}),c(r(E),{size:18,color:"var(--icon-error)",class:"custom-trading-table__pending-cancel-icon",onClick:D(t=>r(H)(e.id),["stop"])},null,8,["onClick"])])):(i(),y("div",Ye,[c(g,{color:"primary",class:"custom-trading-table__positions-save-button text-label-md",onClick:t=>r(O)(e.id)},{default:n(()=>[...t[2]||(t[2]=[m(" Save ",-1)])]),_:1},8,["onClick"])]))]),empty:n(()=>[u("div",Be,[c(r(N),{size:32,class:"trading-table__empty-icon"}),u("span",Ge,d(r(p)("trading-table.empty.pending")),1)])]),_:1},8,["items","fields","max-height"])])}}}),Ze={class:"trading-table__empty-state"},Je={class:"trading-table__empty-text text-body-sm"},Qe={class:"custom-trading-table__history-deals-summary"},et={class:"custom-trading-table__history-summary-left"},tt={class:"custom-trading-table__summary-label text-body-sm"},at={class:"custom-trading-table__history-summary-right"},st=s({__name:"EaeraTradingTableHistoryDealsTable",props:{context:{}},setup(s){const l=s,{t:p}=S(),{summaryTargetId:f,layout:x,historyDealRows:D,historyDealFields:H,historyDealsSummary:w,resolveTableFields:R,changeHistoryDealsSort:O,loadMoreHistoryDeals:E}=l.context,F=e(),L=e(null),I=e([]),$=a(()=>x.value.tableHeight),M=a(()=>D.value),V=a(()=>R(H.value)),z=a(()=>{const e=Number(w.value.tradeProfit??0),t=Number(w.value.totalFee??0),a=Number(w.value.totalProfit??0);return{left:{key:"total-profit",value:e,class:q(e)},right:[{key:"fee",value:Re(t,2,"0.00"),class:`custom-trading-table__history-summary-cell text-label-md ${q(t)}`},{key:"profit",value:Re(a,2,"0.00"),class:`custom-trading-table__history-summary-cell text-label-md ${q(a)}`},{key:"",value:`(${w.value.currency??"USD"})`,class:"custom-trading-table__history-summary-currency text-label-md"}].map(e=>({...e,style:{width:`${I.value.find(t=>t.key===e.key)?.width??0}px`}}))}}),A=a(()=>F.value?.sort??null),U=e=>{if(!e)return"--";const t=`trading-table.history.deals.type.${e}`,a=p(t);return a===t?e:a},q=e=>e>0?"custom-trading-table__history-summary-value--positive":e<0?"custom-trading-table__history-summary-value--negative":"custom-trading-table__history-summary-value--neutral",K=()=>{const e=L.value;e&&((e,t=50)=>{const{scrollTop:a,clientHeight:s,scrollHeight:l}=e;return a+s>=l-t})(e)&&E()},W=()=>{K()};let Y=null;const B=()=>{null==Y&&(Y=requestAnimationFrame(()=>{Y=null,K()}))},G=async()=>{await P(),await new Promise(requestAnimationFrame),I.value=Se(F,V.value)};t(A,e=>{e&&O(e.key?{sort_by:e.key,sort_direction:e.direction}:{})},{deep:!0});let X=null;return g(async()=>{G();const e=He(F);e&&(X=new ResizeObserver(()=>G()),X.observe(e)),await P(),(()=>{const e=He(F);if(!e)return;const t=e.querySelector(".el-scrollbar__wrap");t&&(L.value=t,t.addEventListener("scroll",W,{passive:!0}),t.addEventListener("wheel",B,{passive:!0}))})()}),k(()=>{X?.disconnect(),(()=>{const e=L.value;e&&(e.removeEventListener("scroll",W),e.removeEventListener("wheel",B),L.value=null)})()}),(e,t)=>(i(),y("div",{style:C({height:`${$.value}px`})},[c(r(j),{ref_key:"dealHistoryRef",ref:F,class:"trading-table custom-trading-table__history-table",items:M.value,fields:V.value,stripe:!1,"max-height":$.value,"hide-footer":"","allow-sort-reset":""},{"cell(deal_type)":n(({item:e})=>{return[u("span",{style:C({color:(t=e.deal_type,"SELL"===String(t??"").toUpperCase()?"var(--er-text-error)":"var(--er-text-success)")})},d(U(e.deal_type)),5)];var t}),"cell(profit)":n(({item:e})=>[u("span",{class:_(q(Number(e.profit??0)))},d(r(Re)(e.profit,2,"0.00")),3)]),"cell(c)":n(({item:e})=>[m(d(e.currency),1)]),empty:n(()=>[u("div",Ze,[c(r(N),{size:32,class:"trading-table__empty-icon"}),u("span",Je,d(r(p)("trading-table.empty.history-deals")),1)])]),_:1},8,["items","fields","max-height"]),(i(),o(T,{to:`#${r(f)}`},[u("div",Qe,[u("div",et,[u("span",tt,d(r(p)(`trading-table.history.summary.deals.${z.value.left.key}`))+": ",1),u("span",{class:_(["text-label-md",z.value.left.class])},d(r(Re)(z.value.left.value,2,"0.00")),3)]),u("div",at,[(i(!0),y(v,null,b(z.value.right,e=>(i(),y("div",{key:e.key,class:_(e.class),style:C(e.style)},d(e.value),7))),128))])])],8,["to"]))],4))}}),lt={class:"trading-table__empty-state"},it={class:"trading-table__empty-text text-body-sm"},ot={class:"custom-trading-table__history-orders-summary"},rt={key:0,class:"custom-trading-table__history-orders-summary-item"},nt={class:"custom-trading-table__summary-label text-body-sm"},ut={class:"text-label-md"},dt=s({__name:"EaeraTradingTableHistoryOrdersTable",props:{context:{}},setup(s){const l=s,{t:m}=S(),{summaryTargetId:p,layout:_,historyOrderRows:x,historyOrderFields:D,historyOrdersSummary:H,resolveTableFields:w,changeHistoryOrdersSort:R,loadMoreHistoryOrders:O}=l.context,E=e(),F=e(null),L=a(()=>_.value.tableHeight),I=a(()=>x.value),$=a(()=>w(D.value)),M=a(()=>H.value),V=a(()=>E.value?.sort??null),z=e=>{if(!e)return"--";const t=`trading-table.history.orders.side.${e}`,a=m(t);return a===t?e:a},A=()=>{const e=F.value;e&&((e,t=50)=>{const{scrollTop:a,clientHeight:s,scrollHeight:l}=e;return a+s>=l-t})(e)&&O()},U=()=>{A()};let q=null;const K=()=>{null==q&&(q=requestAnimationFrame(()=>{q=null,A()}))};return t(V,e=>{e&&R(e.key?{sort_by:e.key,sort_direction:e.direction}:{})},{deep:!0}),g(async()=>{await P(),(()=>{const e=He(E);if(!e)return;const t=e.querySelector(".el-scrollbar__wrap");t&&(F.value=t,t.addEventListener("scroll",U,{passive:!0}),t.addEventListener("wheel",K,{passive:!0}))})()}),k(()=>{(()=>{const e=F.value;e&&(e.removeEventListener("scroll",U),e.removeEventListener("wheel",K),F.value=null)})()}),(e,t)=>(i(),y("div",{style:C({height:`${L.value}px`})},[c(r(j),{ref_key:"orderHistoryRef",ref:E,class:"trading-table custom-trading-table__history-table",items:I.value,fields:$.value,stripe:!1,"max-height":L.value,"hide-footer":"","allow-sort-reset":""},{"cell(side)":n(({item:e})=>[u("span",{style:C({color:`var(--icon-${"SELL"===String(e.side).toUpperCase()?"error":"success"})`})},d(z(e.side)),5)]),empty:n(()=>[u("div",lt,[c(r(N),{size:32,class:"trading-table__empty-icon"}),u("span",it,d(r(m)("trading-table.empty.history-orders")),1)])]),_:1},8,["items","fields","max-height"]),(i(),o(T,{to:`#${r(p)}`},[u("div",ot,[(i(!0),y(v,null,b(M.value,(e,t)=>(i(),y(v,{key:t},[e?(i(),y("span",rt,[u("span",nt,d(r(m)(`trading-table.history.summary.orders.${t}`))+": ",1),u("span",ut,d(e),1)])):f("",!0)],64))),128))])],8,["to"]))],4))}}),ct={class:"custom-trading-table__type-cell"},mt={class:"custom-trading-table__text-error"},pt={class:"trading-table__empty-state"},gt={class:"trading-table__empty-text text-body-sm"},yt={class:"custom-trading-table__positions-summary"},vt={class:"custom-trading-table__positions-summary-left"},bt={class:"custom-trading-table__summary-label text-body-sm"},_t={class:"text-label-md"},ht={class:"custom-trading-table__positions-summary-currency text-label-md"},ft=s({__name:"EaeraTradingTableHistoryPositionsTable",props:{context:{}},setup(s){const l=s,{t:m}=S(),{summaryTargetId:p,layout:f,historyPositionRows:x,historyPositionFields:D,positionsSummary:H,resolveTableFields:w,changeHistoryPositionsSort:R,loadMoreHistoryPositions:O}=l.context,F=e(),L=e(null),I=a(()=>f.value.tableHeight),$=a(()=>x.value),M=a(()=>w(D.value)),V=a(()=>[{key:"balance",label:m("trading-table.positions.summary.balance"),value:Re(H.value.balance,2,"0.00")},{key:"equity",label:m("trading-table.positions.summary.equity"),value:Re(H.value.equity,2,"0.00")},{key:"used-margin",label:m("trading-table.positions.summary.used-margin"),value:Re(H.value.usedMargin,2,"0.00")},{key:"free-margin",label:m("trading-table.positions.summary.free-margin"),value:Re(H.value.freeMargin,2,"0.00")},{key:"margin-level",label:m("trading-table.positions.summary.margin-level"),value:"--"}]),z=a(()=>F.value?.sort??null),A=e=>{if(!e)return"--";const t=String(e).toUpperCase();return"BUY"===t?"Buy":"SELL"===t?"Sell":e},U=e=>{const t=String(e??"").trim(),a=Number(t.replaceAll(",",""));return Number.isFinite(a)?a>0?"custom-trading-table__text-success":a<0?"custom-trading-table__text-error":"":t.startsWith("+")?"custom-trading-table__text-success":t.startsWith("-")?"custom-trading-table__text-error":""},q=()=>{const e=L.value;e&&((e,t=50)=>{const{scrollTop:a,clientHeight:s,scrollHeight:l}=e;return a+s>=l-t})(e)&&O()},K=()=>{q()};let W=null;const Y=()=>{null==W&&(W=requestAnimationFrame(()=>{W=null,q()}))};return t(z,e=>{e&&R(e.key?{sort_by:e.key,sort_direction:e.direction}:{})},{deep:!0}),g(async()=>{await P(),(()=>{const e=He(F);if(!e)return;const t=e.querySelector(".el-scrollbar__wrap");t&&(L.value=t,t.addEventListener("scroll",K,{passive:!0}),t.addEventListener("wheel",Y,{passive:!0}))})()}),k(()=>{(()=>{const e=L.value;e&&(e.removeEventListener("scroll",K),e.removeEventListener("wheel",Y),L.value=null)})()}),(e,t)=>(i(),y("div",{style:C({height:`${I.value}px`})},[c(r(j),{ref_key:"positionHistoryRef",ref:F,class:"trading-table custom-trading-table__history-table",items:$.value,fields:M.value,stripe:!1,"max-height":I.value,"hide-footer":"","allow-sort-reset":""},{"cell(type)":n(({item:e})=>[u("div",ct,[u("span",{class:_(["custom-trading-table__type-dot","SELL"===e.type?"custom-trading-table__type-dot--sell":"custom-trading-table__type-dot--buy"])},null,2),u("span",{class:_(["SELL"===e.type?"custom-trading-table__text-error":"custom-trading-table__text-success"])},d(A(e.type)),3)])]),"cell(stop_loss)":n(({item:e})=>[u("span",{class:_(["custom-trading-table__price-chip",e.isSlAlert?"custom-trading-table__price-chip--danger":""])},d(e.stop_loss),3)]),"cell(take_profit)":n(({item:e})=>[u("span",{class:_(["custom-trading-table__price-chip",e.isTpHit?"custom-trading-table__price-chip--success":""])},d(e.take_profit),3)]),"cell(commission)":n(({item:e})=>[u("span",mt,d(e.commission),1)]),"cell(profit_loss)":n(({item:e})=>[u("span",{class:_(U(e.profit_loss))},d(e.profit_loss),3)]),"cell()":n(()=>[c(r(E),{size:12,class:"custom-trading-table__pending-cancel-icon"})]),empty:n(()=>[u("div",pt,[c(r(N),{size:32,class:"trading-table__empty-icon"}),u("span",gt,d(r(m)("trading-table.empty.history-positions")),1)])]),_:1},8,["items","fields","max-height"]),(i(),o(T,{to:`#${r(p)}`},[u("div",yt,[u("div",vt,[(i(!0),y(v,null,b(V.value,e=>(i(),y("span",{key:e.key,class:"custom-trading-table__positions-summary-item"},[u("span",bt,d(e.label)+":",1),u("span",_t,d(e.value),1)]))),128)),u("span",ht," ("+d(r(H).currency??"USD")+") ",1)])])],8,["to"]))],4))}}),kt=s({__name:"EaeraTradingTableHistoryContent",props:{context:{}},setup(e){const t=e,{activeHistoryTab:a}=t.context;return(t,s)=>r(a)===r(K).Positions?(i(),o(ft,{key:0,context:e.context},null,8,["context"])):r(a)===r(K).Funding||r(a)===r(K).Orders?(i(),o(dt,{key:1,context:e.context},null,8,["context"])):(i(),o(st,{key:2,context:e.context},null,8,["context"]))}}),xt={class:"custom-trading-table__main"},Dt={class:"custom-trading-table__content"},Ct={class:"custom-trading-table__table-content"},Tt={class:"custom-trading-table__table-area"},Pt=["id"],Ht=s({__name:"index",props:{activeTab:{default:q.Positions},activeHistoryTab:{default:K.Positions},selectedTimeRange:{default:"last-week"},customDateRange:{default:null},tabs:{},historyTabs:{},timeRangeOptions:{},columnOptions:{},selectedColumnKeys:{default:()=>[]},positionsCount:{default:0},pendingCount:{default:0},isExporting:{type:Boolean,default:!1},hiddenSummaryTabs:{default:()=>[q.Pending]},summaryTargetId:{default:"trading-table-summary"},positionRows:{default:()=>[]},pendingRows:{default:()=>[]},historyPositionRows:{default:()=>[]},historyOrderRows:{default:()=>[]},historyDealRows:{default:()=>[]},positionFields:{default:()=>[]},pendingFields:{default:()=>[]},historyPositionFields:{default:()=>[]},historyOrderFields:{default:()=>[]},historyDealFields:{default:()=>[]},selectedSymbol:{default:null},editingPositionId:{default:null},focusedPositionId:{},editingOrderId:{},positionDraft:{default:()=>({stopLoss:"",takeProfit:""})},positionDraftInvalid:{default:()=>({stopLoss:{value:!1,message:""},takeProfit:{value:!1,message:""}})},orderDraft:{},orderDraftInvalid:{},isSavingPositionDraft:{type:Boolean,default:!1},positionsSummary:{default:()=>({})},historyPositionsSummary:{default:()=>({})},historyOrdersSummary:{default:()=>({})},historyDealsSummary:{default:()=>({})}},emits:["changeTab","changeHistoryTab","changeTimeRange","changeCustomDateRange","changeColumns","exportHistory","selectSymbol","focusPosition","startEditPosition","changePositionDraft","savePositionDraft","closePosition","cancelPendingOrder","startEditOrder","changeOrderDraft","saveOrderDraft","changeHistoryPositionsSort","changeHistoryOrdersSort","changeHistoryDealsSort","loadMoreHistoryPositions","loadMoreHistoryOrders","loadMoreHistoryDeals","stateChange","layoutChange"],setup(e,{expose:a,emit:s}){const l=ae(e,s),{activeTab:n,isHistoryTab:d,isSummaryVisible:m,summaryTargetId:g,setWrapperHeight:v,setHeaderHeight:b,setHistoryTabsHeight:_,setFooterHeight:k}=l,x=p(null),D=p(null),{height:T}=H(x),{height:P}=H(D);return t(T,e=>{v(e)},{immediate:!0}),t([P,m],([e,t])=>{k(t?e:0)},{immediate:!0}),t(d,e=>{e||_(0)},{immediate:!0}),a({openColumnDialog:l.openColumnDialog,closeColumnDialog:l.closeColumnDialog}),(e,t)=>(i(),y("div",{ref_key:"tradingTableRef",ref:x,class:"custom-trading-table"},[u("div",xt,[c(r(De),{context:r(l),onHeightChange:r(b)},null,8,["context","onHeightChange"]),u("div",Dt,[r(d)?(i(),o(r(Te),{key:0,context:r(l),onHeightChange:r(_)},null,8,["context","onHeightChange"])):f("",!0),u("div",Ct,[u("div",Tt,[r(n)===r(q).Positions?(i(),o(r(je),{key:0,context:r(l)},null,8,["context"])):r(n)===r(q).Pending?(i(),o(r(Xe),{key:1,context:r(l)},null,8,["context"])):(i(),o(r(kt),{key:2,context:r(l)},null,8,["context"]))]),u("div",{ref_key:"summaryRef",ref:D,class:"custom-trading-table__summary body-sm",style:C(r(m)?{}:{display:"none"})},[u("div",{id:r(g),class:"custom-trading-table__summary-target"},null,8,Pt)],4)])])])],512))}});export{K as E,Ht as _,q as a,W as b,ae as p,se as u};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{computed as e,provide as t,inject as l,defineComponent as o,shallowRef as s,ref as a,watch as i,resolveComponent as r,openBlock as c,createElementBlock as n,createElementVNode as m,createVNode as u,unref as d,createSlots as p,withCtx as v,toDisplayString as y,normalizeClass as b,normalizeStyle as g,Fragment as w,renderList as _,createBlock as f,withDirectives as S,withModifiers as k}from"vue";import{a as C}from"./vendor-vueuse-core-B96HGhR7.mjs";import x from"../composite/EaeraDropdownV2.mjs";import{_ as I}from"./EaeraInput-CkbcAxy0.mjs";import{useI18n as E}from"vue-i18n";import"element-plus";import{ElLoadingDirective as H}from"element-plus/es";import"@lucide/vue";import"./vendor-email-misspelled-0hsXkSSK.mjs";import"./vendor-unorm-DkILX5Kw.mjs";import"./useEaeraInputPhoneNumber-B72aLnQs.mjs";import"@element-plus/icons-vue";import"echarts/core";import"echarts/renderers";import"echarts/charts";import"echarts/components";import"vue-echarts";import"./vendor-currency-symbol-map-3_wzZimq.mjs";import{_ as R}from"./EaeraTableV2-CyfoAwDF.mjs";import{_ as D}from"./EaeraTooltip-BIlULHv4.mjs";const G=Symbol("EAERA_WATCHLIST_CONTEXT_KEY"),T=(l,o)=>{const s={inputPlaceholder:e(()=>l.inputPlaceholder),searchData:e(()=>l.searchData),categories:e(()=>l.categories),selectedCategory:e(()=>l.selectedCategory),isFiltered:e(()=>l.isFiltered),tableHeight:e(()=>l.tableHeight),viewingSymbols:e(()=>l.viewingSymbols),viewingSymbolGroups:e(()=>l.viewingSymbolGroups),listSymbols:e(()=>l.listSymbols),groupLoadingRowIds:e(()=>l.groupLoadingRowIds),favoriteSymbolIds:e(()=>l.favoriteSymbolIds),viewingSymbolId:e(()=>l.viewingSymbolId),listSymbolsLoading:e(()=>l.listSymbolsLoading),sorting:e(()=>l.sorting),onResize:(e,t)=>o("resize",e,t),onSelectCategory:e=>o("selectCategory",e),onSearchDataUpdate:e=>o("update:searchData",e),onGroupExpandChange:e=>o("groupExpandChange",e),onGroupRowClick:e=>o("groupRowClick",e),onGroupSortChanged:e=>o("groupSortChanged",e),onItemSortChanged:e=>o("itemSortChanged",e),onSelectSymbol:e=>o("selectSymbol",e),onToggleFavorite:e=>o("toggleFavorite",e),onShowSymbolInfo:e=>o("showSymbolInfo",e)};return t(G,s),s},j=()=>{const e=l(G);if(!e)throw new Error("useEaeraWatchlist must be used inside EaeraWatchlist");return e},W={class:"custom-watchlist-filter"},F={class:"custom-watchlist-filter__row"},L={class:"custom-watchlist-filter__field"},z={class:"custom-watchlist-filter__field"},U=["onClick"],A={class:"custom-watchlist-filter__category-count"},N={class:"custom-watchlist-filter__dropdown-trigger-content"},B={key:0,class:"custom-watchlist-filter__selected"},V={key:1,class:"custom-watchlist-filter__placeholder"},P=o({__name:"EaeraWatchlistFilter",setup(e){const{inputPlaceholder:t,searchData:l,categories:o,selectedCategory:f,onSelectCategory:S,onSearchDataUpdate:k}=j(),C=s(),E=a(!1),H=a(!1),R=a(""),D=a(!1);i(l,e=>{e!==R.value&&(R.value=e)},{immediate:!0});const G=e=>{D.value||k(e)},T=()=>D.value=!0,P=e=>k(e.data),K=e=>{D.value=!1;const t=e.data??R.value;k(t)};return(e,s)=>{const a=r("eaera-icon"),i=I,k=x;return c(),n("div",W,[m("div",F,[m("div",L,[u(i,{modelValue:R.value,"onUpdate:modelValue":s[0]||(s[0]=e=>R.value=e),class:"watchlist-input",placeholder:d(t),clearable:"",onInput:G,onCompositionstart:T,onCompositionupdate:P,onCompositionend:K},p({_:2},[d(l)?void 0:{name:"suffix",fn:v(()=>[u(a,{icon:"Search2",size:"16",class:"icon-primary"})]),key:"0"}]),1032,["modelValue","placeholder"])]),m("div",z,[u(k,{class:"custom-watchlist-filter__dropdown","popper-class":"with-border",onVisibleChange:s[4]||(s[4]=e=>E.value=e)},{dropdown:v(()=>[m("div",{class:"custom-watchlist-filter__dropdown-menu",style:g({width:`${C.value?.clientWidth??100}px`})},[(c(!0),n(w,null,_(d(o),e=>(c(),n("div",{key:e.id,class:"custom-watchlist-filter__category"},[m("div",{class:"custom-watchlist-filter__category-content label-md",onClick:t=>d(S)(e)},[m("div",null,y(e.name),1),m("div",A,y(e.count),1)],8,U)]))),128))],4)]),default:v(()=>[m("div",{ref_key:"dropdownRef",ref:C,class:"custom-watchlist-filter__dropdown-trigger"},[m("div",N,[d(f)?.name?(c(),n("span",B,y(d(f).name),1)):(c(),n("span",V,y(e.$t("watch-list.filter.categories")),1)),m("div",{class:"custom-watchlist-filter__icon-wrapper",onMouseenter:s[1]||(s[1]=e=>H.value=!0),onMouseleave:s[2]||(s[2]=e=>H.value=!1),onClick:s[3]||(s[3]=e=>d(S)(null))},[u(a,{icon:H.value&&d(f)?"XCircle":"ChevronDown",size:"16",class:b(["icon-primary","custom-watchlist-filter__dropdown-icon",E.value&&"is-open"])},null,8,["icon","class"])],32)])],512)]),_:1})])])])}}}),K={class:"custom-watchlist-table"},M={key:0,class:"custom-watchlist-table__group"},O={key:1,class:"custom-watchlist-table__items"},$=o({__name:"EaeraWatchlistTable",setup(e){const{isFiltered:t,tableHeight:l,viewingSymbols:o,listSymbolsLoading:s}=j();return(e,a)=>(c(),n("div",K,[d(t)?(c(),n("div",O,[u(d(de),{symbols:d(o),"max-height":d(l),loading:d(s),"show-header":""},null,8,["symbols","max-height","loading"])])):(c(),n("div",M,[u(d(te))]))]))}}),X={class:"custom-watchlist-group-table__symbol-cell"},Y={class:"custom-watchlist-group-table__symbol body-md__w"},q={class:"custom-watchlist-group-table__name body-sm"},J={key:0},Q={class:"custom-watchlist-group-table__empty"},Z={class:"custom-watchlist-group-table__empty-content"},ee={class:"custom-watchlist-group-table__empty-text body-sm"},te=o({__name:"EaeraWatchlistGroupTable",setup(t){const{tableHeight:l,viewingSymbolGroups:o,listSymbols:s,groupLoadingRowIds:p,sorting:b,onGroupExpandChange:g,onGroupRowClick:w,onGroupSortChanged:_}=j(),{t:S}=E(),k=a(),C=({columnIndex:e})=>0===e?[1,1]:1===e?[1,4]:[0,0],x=e=>{g(e)},I=async e=>{await w(e),k.value?.rowExpansion(e)},H=e(()=>[{key:"expand",type:"expand",width:30},{key:"ticker_symbol",label:S("watch-list.table.symbol"),sortable:!0,sort_key:"ticker_symbol",customHeaderClass:"flex justify-start items-center",cellClass:"py-0",minWidth:100},{key:"last",label:S("watch-list.table.last-price"),sortable:!0,sort_key:"last",align:"right",minWidth:110},{key:"volume",label:S("watch-list.table.volume"),sortable:!0,sort_key:"volume",align:"right",minWidth:100}]),D=e(()=>k.value?.sort),G=e=>{_(e)},T=(e,t,l)=>e!==l?.key?"SortDefault2":"asc"===t?"SortUp2":"SortDown2",W=({row:e})=>p.value.includes(e.id)?"loading-row":"";return i(b,e=>{e||k.value?.sortTable("",null)}),(e,t)=>{const a=r("NoData"),i=r("eaera-icon");return c(),f(d(R),{ref_key:"watchListTableRef",ref:k,class:"watchlist-table","max-height":d(l),items:d(o),fields:H.value,"span-method":C,stripe:!1,"hide-footer":"","row-class-name":W,onRowClick:I,onExpandChange:x,"onUpdate:onSortChanged":G},{"cell(ticker_symbol)":v(({item:e})=>[m("div",X,[m("div",Y,y(e.host_exchange)+":"+y(e.base_symbol),1),m("div",q,y(e.name),1)])]),"cell(expand)":v(({row:e})=>[d(p).includes(e.id)?(c(),n("div",J)):(c(),f(d(de),{key:1,symbols:d(s)[e.id]||[],"inside-group":""},null,8,["symbols"]))]),empty:v(()=>[m("div",Q,[m("div",Z,[u(a),m("span",ee,y(d(S)("watch-list.table.empty.group")),1)])])]),"sort-icon":v(({sortKey:e,direction:t})=>[u(i,{icon:T(e,t,D.value),size:"14",class:"custom-watchlist-group-table__sort-icon","active-color":"var(--primary-green)"},null,8,["icon"])]),_:1},8,["max-height","items","fields"])}}});var le=(e=>(e.Active="active",e.MarketClosed="market-closed",e.Expired="expired",e.NotTradableYet="not-tradable-yet",e))(le||{});const oe={class:"custom-watchlist-item-table__symbol-cell"},se={class:"custom-watchlist-item-table__symbol-main body-md__w"},ae=["onClick"],ie={class:"custom-watchlist-item-table__description-row body-sm"},re={style:{width:"100%"}},ce={style:{width:"100%"}},ne={key:0},me={class:"custom-watchlist-item-table__empty-content"},ue={class:"custom-watchlist-item-table__empty-text body-sm"},de=o({__name:"EaeraWatchlistItemTable",props:{insideGroup:{type:Boolean},symbols:{},maxHeight:{},showHeader:{type:Boolean},loading:{type:Boolean}},setup(t){const{favoriteSymbolIds:l,viewingSymbolId:o,sorting:s,selectedCategory:p,listSymbolsLoading:w,onItemSortChanged:_,onSelectSymbol:C,onToggleFavorite:x,onShowSymbolInfo:I}=j(),{t:G}=E(),T=t,W=a(),F=a(null),L=e(()=>[{key:"",label:"",width:30},{key:"ticker_symbol",label:G("watch-list.table.symbol"),sortable:!0,sort_key:"ticker_symbol",customHeaderClass:"flex justify-start items-center",align:"left",minWidth:100},{key:"last",label:G("watch-list.table.last-price"),sortable:!0,sort_key:"last",align:"right",customHeaderClass:"flex justify-end items-center",minWidth:110},{key:"volume",label:G("watch-list.table.volume"),sortable:!0,sort_key:"volume",customHeaderClass:"flex justify-end items-center",minWidth:100,align:"right"}]),z=e(()=>F.value?"ticker_symbol"===F.value.key?[...T.symbols].sort((e,t)=>{const l=e.ticker_symbol.toUpperCase(),o=t.ticker_symbol.toUpperCase();return l<o?"desc"===F.value?.direction?-1:1:l>o?"desc"===F.value?.direction?1:-1:0}):"volume"===F.value.key?[...T.symbols].sort((e,t)=>e.volume<t.volume?"asc"===F.value?.direction?-1:1:e.volume>t.volume?"asc"===F.value?.direction?1:-1:0):"last"===F.value.key?[...T.symbols].sort((e,t)=>{const l=Number(e.last),o=Number(t.last);return l<o?"asc"===F.value?.direction?-1:1:l>o?"asc"===F.value?.direction?1:-1:0}):T.symbols:T.symbols),U=e(()=>e=>l.value.includes(e.id)?{icon:"Star3",color:"#FFD700"}:{icon:"StarOutline",color:"var(--primary-green)"}),A=e(()=>W.value?.sort),N=e(()=>T.insideGroup?T.loading:w.value),B=e=>e!==le.Active,V=({key:e,direction:t})=>{e&&t?(F.value={key:e,direction:t,selfSort:!0},_({key:e,direction:t})):(F.value?.selfSort&&_(null),F.value=null)},P=e=>{C(e)},K=({row:e})=>e.id===o.value?"active-row":"",M=(e,t)=>{if(t&&t!==le.Active)return"var(--text-disabled)";const l=Number(e);return l>0?"var(--text-green)":l<0?"var(--text-red)":"var(--text-primary)"},O=(e,t,l)=>e!==l?.key?"SortDefault2":"asc"===t?"SortUp2":"SortDown2";return i(W,e=>{e&&(T.insideGroup||s.value&&(e.sortTable("",s.value.sort_by),F.value={key:s.value.sort_by,direction:s.value.order,selfSort:!1}))}),i(()=>p.value?.id,()=>F.value=null),(e,t)=>{const l=r("eaera-icon"),o=D,s=r("client-only"),a=H;return c(),f(s,null,{default:v(()=>[S((c(),n("div",null,[u(d(R),{ref_key:"watchListTableRef",ref:W,class:b(["expanding-rows-table watchlist-table expanded",[!z.value?.length&&!T.insideGroup&&"empty",T.insideGroup&&"inside-group"]]),"allow-sort-reset":"","hide-footer":"","max-height":T.maxHeight,height:T.maxHeight,"show-header":T.showHeader,items:z.value,fields:L.value,stripe:!1,"row-class-name":K,loading:N.value,"onUpdate:onSortChanged":V,onOnRowClick:P},{"cell()":v(({item:e})=>[m("div",null,[u(l,{icon:"Info",size:"16",class:b(["custom-watchlist-item-table__info-icon",B(e.state)&&"is-disabled"]),onClick:k(t=>(async e=>{const t=T.symbols.find(t=>t.id===e);t&&await I(t)})(e.id),["stop"])},null,8,["class","onClick"])])]),"cell(ticker_symbol)":v(({item:e})=>[m("div",oe,[m("div",se,[m("span",{class:b(["custom-watchlist-item-table__symbol-text",B(e.state)&&"is-inactive"])},y(e.ticker_symbol),3),m("div",{class:"custom-watchlist-item-table__favorite",onClick:k(t=>{return l=e.id,void x(l);var l},["stop"])},[u(l,{icon:U.value(e).icon,color:U.value(e).color,size:"16"},null,8,["icon","color"])],8,ae)]),m("div",ie,[u(o,{content:e.description,placement:"right"},{default:v(()=>[m("span",{class:b(["custom-watchlist-item-table__description-text",B(e.state)&&"is-inactive"])},y(e.description),3)]),_:2},1032,["content"])])])]),"cell(last)":v(({item:e})=>[m("div",{style:g({color:M(e.last,e.state),width:"100%"})},[m("div",re,[m("div",null,y(e.last),1)])],4)]),"cell(volume)":v(({item:e})=>[m("div",{style:g({color:M(e.volume,e.state),width:"100%"})},[m("div",ce,[m("div",null,y(e.volume),1)])],4)]),empty:v(()=>[N.value?(c(),n("div",ne)):(c(),n("div",{key:1,class:"custom-watchlist-item-table__empty",style:g({height:T.maxHeight?`calc(${T.maxHeight} - 32px)`:"auto"})},[m("div",me,[m("span",ue,y(d(G)("watch-list.table.empty.symbol")),1)])],4))]),"sort-icon":v(({sortKey:e,direction:t})=>[u(l,{icon:O(e,t,A.value),size:"14",class:"custom-watchlist-item-table__sort-icon","active-color":"var(--icon-success)"},null,8,["icon"])]),_:1},8,["class","max-height","height","show-header","items","fields","loading"])])),[[a,N.value]])]),_:1})}}}),pe={class:"custom-watchlist__table"},he=o({__name:"index",props:{inputPlaceholder:{},searchData:{},categories:{},selectedCategory:{},isFiltered:{type:Boolean},tableHeight:{},viewingSymbols:{},viewingSymbolGroups:{},listSymbols:{},groupLoadingRowIds:{},favoriteSymbolIds:{},viewingSymbolId:{},listSymbolsLoading:{type:Boolean},sorting:{}},emits:["resize","selectCategory","update:searchData","groupExpandChange","groupRowClick","groupSortChanged","itemSortChanged","selectSymbol","toggleFavorite","showSymbolInfo"],setup(e,{emit:t}){const l=s(null),o=s(null),{width:a,height:r}=C(l),p=T(e,t);return i([a,r],()=>{l.value&&o.value&&p.onResize(a.value,r.value-o.value.clientHeight)}),(e,t)=>(c(),n("div",{ref_key:"watchlistRef",ref:l,class:"custom-watchlist"},[m("div",{ref_key:"watchlistFilterRef",ref:o,class:"custom-watchlist__filter"},[u(d(P))],512),m("div",pe,[u(d($))])],512))}});export{le as S,he as _,T as p,j as u};
|
|
1
|
+
import{computed as e,provide as t,inject as l,defineComponent as o,shallowRef as s,ref as a,watch as i,resolveComponent as r,openBlock as c,createElementBlock as n,createElementVNode as m,createVNode as u,unref as d,createSlots as p,withCtx as v,toDisplayString as y,normalizeClass as b,normalizeStyle as g,Fragment as w,renderList as _,createBlock as f,withDirectives as S,withModifiers as k}from"vue";import{a as C}from"./vendor-vueuse-core-B96HGhR7.mjs";import x from"../composite/EaeraDropdownV2.mjs";import{_ as I}from"./EaeraInput-CkbcAxy0.mjs";import{useI18n as E}from"vue-i18n";import"element-plus";import{ElLoadingDirective as H}from"element-plus/es";import"@lucide/vue";import"./vendor-email-misspelled-0hsXkSSK.mjs";import"./vendor-unorm-DkILX5Kw.mjs";import"./useEaeraInputPhoneNumber-B72aLnQs.mjs";import"@element-plus/icons-vue";import"echarts/core";import"echarts/renderers";import"echarts/charts";import"echarts/components";import"vue-echarts";import"./vendor-currency-symbol-map-3_wzZimq.mjs";import{_ as R}from"./EaeraTableV2-CIeL4xlB.mjs";import{_ as D}from"./EaeraTooltip-BIlULHv4.mjs";const G=Symbol("EAERA_WATCHLIST_CONTEXT_KEY"),T=(l,o)=>{const s={inputPlaceholder:e(()=>l.inputPlaceholder),searchData:e(()=>l.searchData),categories:e(()=>l.categories),selectedCategory:e(()=>l.selectedCategory),isFiltered:e(()=>l.isFiltered),tableHeight:e(()=>l.tableHeight),viewingSymbols:e(()=>l.viewingSymbols),viewingSymbolGroups:e(()=>l.viewingSymbolGroups),listSymbols:e(()=>l.listSymbols),groupLoadingRowIds:e(()=>l.groupLoadingRowIds),favoriteSymbolIds:e(()=>l.favoriteSymbolIds),viewingSymbolId:e(()=>l.viewingSymbolId),listSymbolsLoading:e(()=>l.listSymbolsLoading),sorting:e(()=>l.sorting),onResize:(e,t)=>o("resize",e,t),onSelectCategory:e=>o("selectCategory",e),onSearchDataUpdate:e=>o("update:searchData",e),onGroupExpandChange:e=>o("groupExpandChange",e),onGroupRowClick:e=>o("groupRowClick",e),onGroupSortChanged:e=>o("groupSortChanged",e),onItemSortChanged:e=>o("itemSortChanged",e),onSelectSymbol:e=>o("selectSymbol",e),onToggleFavorite:e=>o("toggleFavorite",e),onShowSymbolInfo:e=>o("showSymbolInfo",e)};return t(G,s),s},j=()=>{const e=l(G);if(!e)throw new Error("useEaeraWatchlist must be used inside EaeraWatchlist");return e},W={class:"custom-watchlist-filter"},F={class:"custom-watchlist-filter__row"},L={class:"custom-watchlist-filter__field"},z={class:"custom-watchlist-filter__field"},U=["onClick"],A={class:"custom-watchlist-filter__category-count"},N={class:"custom-watchlist-filter__dropdown-trigger-content"},B={key:0,class:"custom-watchlist-filter__selected"},V={key:1,class:"custom-watchlist-filter__placeholder"},P=o({__name:"EaeraWatchlistFilter",setup(e){const{inputPlaceholder:t,searchData:l,categories:o,selectedCategory:f,onSelectCategory:S,onSearchDataUpdate:k}=j(),C=s(),E=a(!1),H=a(!1),R=a(""),D=a(!1);i(l,e=>{e!==R.value&&(R.value=e)},{immediate:!0});const G=e=>{D.value||k(e)},T=()=>D.value=!0,P=e=>k(e.data),K=e=>{D.value=!1;const t=e.data??R.value;k(t)};return(e,s)=>{const a=r("eaera-icon"),i=I,k=x;return c(),n("div",W,[m("div",F,[m("div",L,[u(i,{modelValue:R.value,"onUpdate:modelValue":s[0]||(s[0]=e=>R.value=e),class:"watchlist-input",placeholder:d(t),clearable:"",onInput:G,onCompositionstart:T,onCompositionupdate:P,onCompositionend:K},p({_:2},[d(l)?void 0:{name:"suffix",fn:v(()=>[u(a,{icon:"Search2",size:"16",class:"icon-primary"})]),key:"0"}]),1032,["modelValue","placeholder"])]),m("div",z,[u(k,{class:"custom-watchlist-filter__dropdown","popper-class":"with-border",onVisibleChange:s[4]||(s[4]=e=>E.value=e)},{dropdown:v(()=>[m("div",{class:"custom-watchlist-filter__dropdown-menu",style:g({width:`${C.value?.clientWidth??100}px`})},[(c(!0),n(w,null,_(d(o),e=>(c(),n("div",{key:e.id,class:"custom-watchlist-filter__category"},[m("div",{class:"custom-watchlist-filter__category-content label-md",onClick:t=>d(S)(e)},[m("div",null,y(e.name),1),m("div",A,y(e.count),1)],8,U)]))),128))],4)]),default:v(()=>[m("div",{ref_key:"dropdownRef",ref:C,class:"custom-watchlist-filter__dropdown-trigger"},[m("div",N,[d(f)?.name?(c(),n("span",B,y(d(f).name),1)):(c(),n("span",V,y(e.$t("watch-list.filter.categories")),1)),m("div",{class:"custom-watchlist-filter__icon-wrapper",onMouseenter:s[1]||(s[1]=e=>H.value=!0),onMouseleave:s[2]||(s[2]=e=>H.value=!1),onClick:s[3]||(s[3]=e=>d(S)(null))},[u(a,{icon:H.value&&d(f)?"XCircle":"ChevronDown",size:"16",class:b(["icon-primary","custom-watchlist-filter__dropdown-icon",E.value&&"is-open"])},null,8,["icon","class"])],32)])],512)]),_:1})])])])}}}),K={class:"custom-watchlist-table"},M={key:0,class:"custom-watchlist-table__group"},O={key:1,class:"custom-watchlist-table__items"},$=o({__name:"EaeraWatchlistTable",setup(e){const{isFiltered:t,tableHeight:l,viewingSymbols:o,listSymbolsLoading:s}=j();return(e,a)=>(c(),n("div",K,[d(t)?(c(),n("div",O,[u(d(de),{symbols:d(o),"max-height":d(l),loading:d(s),"show-header":""},null,8,["symbols","max-height","loading"])])):(c(),n("div",M,[u(d(te))]))]))}}),X={class:"custom-watchlist-group-table__symbol-cell"},Y={class:"custom-watchlist-group-table__symbol body-md__w"},q={class:"custom-watchlist-group-table__name body-sm"},J={key:0},Q={class:"custom-watchlist-group-table__empty"},Z={class:"custom-watchlist-group-table__empty-content"},ee={class:"custom-watchlist-group-table__empty-text body-sm"},te=o({__name:"EaeraWatchlistGroupTable",setup(t){const{tableHeight:l,viewingSymbolGroups:o,listSymbols:s,groupLoadingRowIds:p,sorting:b,onGroupExpandChange:g,onGroupRowClick:w,onGroupSortChanged:_}=j(),{t:S}=E(),k=a(),C=({columnIndex:e})=>0===e?[1,1]:1===e?[1,4]:[0,0],x=e=>{g(e)},I=async e=>{await w(e),k.value?.rowExpansion(e)},H=e(()=>[{key:"expand",type:"expand",width:30},{key:"ticker_symbol",label:S("watch-list.table.symbol"),sortable:!0,sort_key:"ticker_symbol",customHeaderClass:"flex justify-start items-center",cellClass:"py-0",minWidth:100},{key:"last",label:S("watch-list.table.last-price"),sortable:!0,sort_key:"last",align:"right",minWidth:110},{key:"volume",label:S("watch-list.table.volume"),sortable:!0,sort_key:"volume",align:"right",minWidth:100}]),D=e(()=>k.value?.sort),G=e=>{_(e)},T=(e,t,l)=>e!==l?.key?"SortDefault2":"asc"===t?"SortUp2":"SortDown2",W=({row:e})=>p.value.includes(e.id)?"loading-row":"";return i(b,e=>{e||k.value?.sortTable("",null)}),(e,t)=>{const a=r("NoData"),i=r("eaera-icon");return c(),f(d(R),{ref_key:"watchListTableRef",ref:k,class:"watchlist-table","max-height":d(l),items:d(o),fields:H.value,"span-method":C,stripe:!1,"hide-footer":"","row-class-name":W,onRowClick:I,onExpandChange:x,"onUpdate:onSortChanged":G},{"cell(ticker_symbol)":v(({item:e})=>[m("div",X,[m("div",Y,y(e.host_exchange)+":"+y(e.base_symbol),1),m("div",q,y(e.name),1)])]),"cell(expand)":v(({row:e})=>[d(p).includes(e.id)?(c(),n("div",J)):(c(),f(d(de),{key:1,symbols:d(s)[e.id]||[],"inside-group":""},null,8,["symbols"]))]),empty:v(()=>[m("div",Q,[m("div",Z,[u(a),m("span",ee,y(d(S)("watch-list.table.empty.group")),1)])])]),"sort-icon":v(({sortKey:e,direction:t})=>[u(i,{icon:T(e,t,D.value),size:"14",class:"custom-watchlist-group-table__sort-icon","active-color":"var(--primary-green)"},null,8,["icon"])]),_:1},8,["max-height","items","fields"])}}});var le=(e=>(e.Active="active",e.MarketClosed="market-closed",e.Expired="expired",e.NotTradableYet="not-tradable-yet",e))(le||{});const oe={class:"custom-watchlist-item-table__symbol-cell"},se={class:"custom-watchlist-item-table__symbol-main body-md__w"},ae=["onClick"],ie={class:"custom-watchlist-item-table__description-row body-sm"},re={style:{width:"100%"}},ce={style:{width:"100%"}},ne={key:0},me={class:"custom-watchlist-item-table__empty-content"},ue={class:"custom-watchlist-item-table__empty-text body-sm"},de=o({__name:"EaeraWatchlistItemTable",props:{insideGroup:{type:Boolean},symbols:{},maxHeight:{},showHeader:{type:Boolean},loading:{type:Boolean}},setup(t){const{favoriteSymbolIds:l,viewingSymbolId:o,sorting:s,selectedCategory:p,listSymbolsLoading:w,onItemSortChanged:_,onSelectSymbol:C,onToggleFavorite:x,onShowSymbolInfo:I}=j(),{t:G}=E(),T=t,W=a(),F=a(null),L=e(()=>[{key:"",label:"",width:30},{key:"ticker_symbol",label:G("watch-list.table.symbol"),sortable:!0,sort_key:"ticker_symbol",customHeaderClass:"flex justify-start items-center",align:"left",minWidth:100},{key:"last",label:G("watch-list.table.last-price"),sortable:!0,sort_key:"last",align:"right",customHeaderClass:"flex justify-end items-center",minWidth:110},{key:"volume",label:G("watch-list.table.volume"),sortable:!0,sort_key:"volume",customHeaderClass:"flex justify-end items-center",minWidth:100,align:"right"}]),z=e(()=>F.value?"ticker_symbol"===F.value.key?[...T.symbols].sort((e,t)=>{const l=e.ticker_symbol.toUpperCase(),o=t.ticker_symbol.toUpperCase();return l<o?"desc"===F.value?.direction?-1:1:l>o?"desc"===F.value?.direction?1:-1:0}):"volume"===F.value.key?[...T.symbols].sort((e,t)=>e.volume<t.volume?"asc"===F.value?.direction?-1:1:e.volume>t.volume?"asc"===F.value?.direction?1:-1:0):"last"===F.value.key?[...T.symbols].sort((e,t)=>{const l=Number(e.last),o=Number(t.last);return l<o?"asc"===F.value?.direction?-1:1:l>o?"asc"===F.value?.direction?1:-1:0}):T.symbols:T.symbols),U=e(()=>e=>l.value.includes(e.id)?{icon:"Star3",color:"#FFD700"}:{icon:"StarOutline",color:"var(--primary-green)"}),A=e(()=>W.value?.sort),N=e(()=>T.insideGroup?T.loading:w.value),B=e=>e!==le.Active,V=({key:e,direction:t})=>{e&&t?(F.value={key:e,direction:t,selfSort:!0},_({key:e,direction:t})):(F.value?.selfSort&&_(null),F.value=null)},P=e=>{C(e)},K=({row:e})=>e.id===o.value?"active-row":"",M=(e,t)=>{if(t&&t!==le.Active)return"var(--text-disabled)";const l=Number(e);return l>0?"var(--text-green)":l<0?"var(--text-red)":"var(--text-primary)"},O=(e,t,l)=>e!==l?.key?"SortDefault2":"asc"===t?"SortUp2":"SortDown2";return i(W,e=>{e&&(T.insideGroup||s.value&&(e.sortTable("",s.value.sort_by),F.value={key:s.value.sort_by,direction:s.value.order,selfSort:!1}))}),i(()=>p.value?.id,()=>F.value=null),(e,t)=>{const l=r("eaera-icon"),o=D,s=r("client-only"),a=H;return c(),f(s,null,{default:v(()=>[S((c(),n("div",null,[u(d(R),{ref_key:"watchListTableRef",ref:W,class:b(["expanding-rows-table watchlist-table expanded",[!z.value?.length&&!T.insideGroup&&"empty",T.insideGroup&&"inside-group"]]),"allow-sort-reset":"","hide-footer":"","max-height":T.maxHeight,height:T.maxHeight,"show-header":T.showHeader,items:z.value,fields:L.value,stripe:!1,"row-class-name":K,loading:N.value,"onUpdate:onSortChanged":V,onOnRowClick:P},{"cell()":v(({item:e})=>[m("div",null,[u(l,{icon:"Info",size:"16",class:b(["custom-watchlist-item-table__info-icon",B(e.state)&&"is-disabled"]),onClick:k(t=>(async e=>{const t=T.symbols.find(t=>t.id===e);t&&await I(t)})(e.id),["stop"])},null,8,["class","onClick"])])]),"cell(ticker_symbol)":v(({item:e})=>[m("div",oe,[m("div",se,[m("span",{class:b(["custom-watchlist-item-table__symbol-text",B(e.state)&&"is-inactive"])},y(e.ticker_symbol),3),m("div",{class:"custom-watchlist-item-table__favorite",onClick:k(t=>{return l=e.id,void x(l);var l},["stop"])},[u(l,{icon:U.value(e).icon,color:U.value(e).color,size:"16"},null,8,["icon","color"])],8,ae)]),m("div",ie,[u(o,{content:e.description,placement:"right"},{default:v(()=>[m("span",{class:b(["custom-watchlist-item-table__description-text",B(e.state)&&"is-inactive"])},y(e.description),3)]),_:2},1032,["content"])])])]),"cell(last)":v(({item:e})=>[m("div",{style:g({color:M(e.last,e.state),width:"100%"})},[m("div",re,[m("div",null,y(e.last),1)])],4)]),"cell(volume)":v(({item:e})=>[m("div",{style:g({color:M(e.volume,e.state),width:"100%"})},[m("div",ce,[m("div",null,y(e.volume),1)])],4)]),empty:v(()=>[N.value?(c(),n("div",ne)):(c(),n("div",{key:1,class:"custom-watchlist-item-table__empty",style:g({height:T.maxHeight?`calc(${T.maxHeight} - 32px)`:"auto"})},[m("div",me,[m("span",ue,y(d(G)("watch-list.table.empty.symbol")),1)])],4))]),"sort-icon":v(({sortKey:e,direction:t})=>[u(l,{icon:O(e,t,A.value),size:"14",class:"custom-watchlist-item-table__sort-icon","active-color":"var(--icon-success)"},null,8,["icon"])]),_:1},8,["class","max-height","height","show-header","items","fields","loading"])])),[[a,N.value]])]),_:1})}}}),pe={class:"custom-watchlist__table"},he=o({__name:"index",props:{inputPlaceholder:{},searchData:{},categories:{},selectedCategory:{},isFiltered:{type:Boolean},tableHeight:{},viewingSymbols:{},viewingSymbolGroups:{},listSymbols:{},groupLoadingRowIds:{},favoriteSymbolIds:{},viewingSymbolId:{},listSymbolsLoading:{type:Boolean},sorting:{}},emits:["resize","selectCategory","update:searchData","groupExpandChange","groupRowClick","groupSortChanged","itemSortChanged","selectSymbol","toggleFavorite","showSymbolInfo"],setup(e,{emit:t}){const l=s(null),o=s(null),{width:a,height:r}=C(l),p=T(e,t);return i([a,r],()=>{l.value&&o.value&&p.onResize(a.value,r.value-o.value.clientHeight)}),(e,t)=>(c(),n("div",{ref_key:"watchlistRef",ref:l,class:"custom-watchlist"},[m("div",{ref_key:"watchlistFilterRef",ref:o,class:"custom-watchlist__filter"},[u(d(P))],512),m("div",pe,[u(d($))])],512))}});export{le as S,he as _,T as p,j as u};
|