@fudanda/admin-antd 2.20261109.1-beta.1 → 2.20261109.1-beta.2
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/chunks/ApiTokensPage-w3JGRNQC.js +2 -0
- package/dist/chunks/ApiTokensPage-w3JGRNQC.js.map +1 -0
- package/dist/chunks/{App-CfQx7jWq.js → App-nh6_qOo8.js} +5 -5
- package/dist/chunks/{App-CfQx7jWq.js.map → App-nh6_qOo8.js.map} +1 -1
- package/dist/chunks/{AppModal-CVoUC2t3.js → AppModal-CEouaU03.js} +2 -2
- package/dist/chunks/{AppModal-CVoUC2t3.js.map → AppModal-CEouaU03.js.map} +1 -1
- package/dist/chunks/{ArcBaseAdmin-DQyddbFC.js → ArcBaseAdmin-CX7fQz4x.js} +2 -2
- package/dist/chunks/{ArcBaseAdmin-DQyddbFC.js.map → ArcBaseAdmin-CX7fQz4x.js.map} +1 -1
- package/dist/chunks/{DepartmentsPage-CQx53QGE.js → DepartmentsPage-BdD9VfDI.js} +2 -2
- package/dist/chunks/{DepartmentsPage-CQx53QGE.js.map → DepartmentsPage-BdD9VfDI.js.map} +1 -1
- package/dist/chunks/{DictsPage-BGnamkWk.js → DictsPage-fxBdV1-3.js} +2 -2
- package/dist/chunks/{DictsPage-BGnamkWk.js.map → DictsPage-fxBdV1-3.js.map} +1 -1
- package/dist/chunks/{EntityContextRuntime-CbzeMNXR.js → EntityContextRuntime-CMhoj6qe.js} +2 -2
- package/dist/chunks/{EntityContextRuntime-CbzeMNXR.js.map → EntityContextRuntime-CMhoj6qe.js.map} +1 -1
- package/dist/chunks/EntityContextRuntime-Dc89ZSnM.js +1 -0
- package/dist/chunks/{ExportButton-sMPAV2hd.js → ExportButton-DGxB2tcu.js} +2 -2
- package/dist/chunks/{ExportButton-sMPAV2hd.js.map → ExportButton-DGxB2tcu.js.map} +1 -1
- package/dist/chunks/{FileViewerPreviewPanel-Rti7pUhU.js → FileViewerPreviewPanel-BMZ7FdKV.js} +3 -3
- package/dist/chunks/{FileViewerPreviewPanel-Rti7pUhU.js.map → FileViewerPreviewPanel-BMZ7FdKV.js.map} +1 -1
- package/dist/chunks/{FilesPage-D_iYsUwl.js → FilesPage-DrgWELKy.js} +3 -3
- package/dist/chunks/{FilesPage-D_iYsUwl.js.map → FilesPage-DrgWELKy.js.map} +1 -1
- package/dist/chunks/{IdentitySecurityPage-rDYX5ksX.js → IdentitySecurityPage-BjTKvr-O.js} +2 -2
- package/dist/chunks/{IdentitySecurityPage-rDYX5ksX.js.map → IdentitySecurityPage-BjTKvr-O.js.map} +1 -1
- package/dist/chunks/{LogStatsScaffold-CMIz4z0a.js → LogStatsScaffold-DaB0JeAN.js} +2 -2
- package/dist/chunks/{LogStatsScaffold-CMIz4z0a.js.map → LogStatsScaffold-DaB0JeAN.js.map} +1 -1
- package/dist/chunks/{LoginLogsPage-Bv5pPJb2.js → LoginLogsPage-VmYC7i6q.js} +2 -2
- package/dist/chunks/{LoginLogsPage-Bv5pPJb2.js.map → LoginLogsPage-VmYC7i6q.js.map} +1 -1
- package/dist/chunks/{LoginLogsTable-DYcTx2oR.js → LoginLogsTable-CULcc_e8.js} +2 -2
- package/dist/chunks/{LoginLogsTable-DYcTx2oR.js.map → LoginLogsTable-CULcc_e8.js.map} +1 -1
- package/dist/chunks/{MarkdownPreviewPanel-lqs6AsoN.js → MarkdownPreviewPanel-CBcPc7Wv.js} +2 -2
- package/dist/chunks/{MarkdownPreviewPanel-lqs6AsoN.js.map → MarkdownPreviewPanel-CBcPc7Wv.js.map} +1 -1
- package/dist/chunks/{MasterDetailLayout-B5uqvh98.js → MasterDetailLayout-ByIBpmkZ.js} +2 -2
- package/dist/chunks/{MasterDetailLayout-B5uqvh98.js.map → MasterDetailLayout-ByIBpmkZ.js.map} +1 -1
- package/dist/chunks/{McpSettingsPage-Cdej9Evi.js → McpSettingsPage-C5V_rj2V.js} +2 -2
- package/dist/chunks/{McpSettingsPage-Cdej9Evi.js.map → McpSettingsPage-C5V_rj2V.js.map} +1 -1
- package/dist/chunks/{MemberAssignmentSheet-AKvLbbYW.js → MemberAssignmentSheet-DL0fg1Yf.js} +2 -2
- package/dist/chunks/{MemberAssignmentSheet-AKvLbbYW.js.map → MemberAssignmentSheet-DL0fg1Yf.js.map} +1 -1
- package/dist/chunks/{MenuCommandPalette-ia0pSIFg.js → MenuCommandPalette-C2PvK3Gh.js} +2 -2
- package/dist/chunks/{MenuCommandPalette-ia0pSIFg.js.map → MenuCommandPalette-C2PvK3Gh.js.map} +1 -1
- package/dist/chunks/{MenusPage-Bh55bvKH.js → MenusPage-Bytd1HlW.js} +2 -2
- package/dist/chunks/{MenusPage-Bh55bvKH.js.map → MenusPage-Bytd1HlW.js.map} +1 -1
- package/dist/chunks/{MonacoPreviewPanel-CT_sjf7Z.js → MonacoPreviewPanel-BZrNIcFZ.js} +2 -2
- package/dist/chunks/{MonacoPreviewPanel-CT_sjf7Z.js.map → MonacoPreviewPanel-BZrNIcFZ.js.map} +1 -1
- package/dist/chunks/{NavListPanel-DMIUMh7q.js → NavListPanel-zwUDIYSP.js} +2 -2
- package/dist/chunks/{NavListPanel-DMIUMh7q.js.map → NavListPanel-zwUDIYSP.js.map} +1 -1
- package/dist/chunks/{OperationLogsPage-7XVfmhxP.js → OperationLogsPage-D2BQdGNp.js} +2 -2
- package/dist/chunks/{OperationLogsPage-7XVfmhxP.js.map → OperationLogsPage-D2BQdGNp.js.map} +1 -1
- package/dist/chunks/{OperationLogsTable-gp-WZxiF.js → OperationLogsTable-DaaON4QR.js} +3 -3
- package/dist/chunks/{OperationLogsTable-gp-WZxiF.js.map → OperationLogsTable-DaaON4QR.js.map} +1 -1
- package/dist/chunks/{PDFPreviewPanel-CyfhyWav.js → PDFPreviewPanel-CMmnWBKW.js} +3 -3
- package/dist/chunks/{PDFPreviewPanel-CyfhyWav.js.map → PDFPreviewPanel-CMmnWBKW.js.map} +1 -1
- package/dist/chunks/{PositionsPage-Bwua1vNV.js → PositionsPage-CBZITssT.js} +2 -2
- package/dist/chunks/{PositionsPage-Bwua1vNV.js.map → PositionsPage-CBZITssT.js.map} +1 -1
- package/dist/chunks/{PreferencesSheetBody-C80D3dOM.js → PreferencesSheetBody-B0poTPEA.js} +2 -2
- package/dist/chunks/{PreferencesSheetBody-C80D3dOM.js.map → PreferencesSheetBody-B0poTPEA.js.map} +1 -1
- package/dist/chunks/{ProfilePage-DeTw-59a.js → ProfilePage-DLhacdWt.js} +2 -2
- package/dist/chunks/{ProfilePage-DeTw-59a.js.map → ProfilePage-DLhacdWt.js.map} +1 -1
- package/dist/chunks/{ProjectInfoPage-Bqn3gfXa.js → ProjectInfoPage-CJpGxpu5.js} +2 -2
- package/dist/chunks/{ProjectInfoPage-Bqn3gfXa.js.map → ProjectInfoPage-CJpGxpu5.js.map} +1 -1
- package/dist/chunks/{RelationPanel-Bio-ig-l.js → RelationPanel-BsbfEDo2.js} +2 -2
- package/dist/chunks/{RelationPanel-Bio-ig-l.js.map → RelationPanel-BsbfEDo2.js.map} +1 -1
- package/dist/chunks/{RolesPage-fwUSs2HR.js → RolesPage-46dzdiah.js} +2 -2
- package/dist/chunks/{RolesPage-fwUSs2HR.js.map → RolesPage-46dzdiah.js.map} +1 -1
- package/dist/chunks/{SessionConflictModal-Dw4opoNP.js → SessionConflictModal-Bm38eExL.js} +2 -2
- package/dist/chunks/{SessionConflictModal-Dw4opoNP.js.map → SessionConflictModal-Bm38eExL.js.map} +1 -1
- package/dist/chunks/SettingModuleDetail-BjxUJeH5.js +17 -0
- package/dist/chunks/SettingModuleDetail-BjxUJeH5.js.map +1 -0
- package/dist/chunks/{SettingsPage-Cy5-q-P6.js → SettingsPage-C32Vuizm.js} +2 -2
- package/dist/chunks/{SettingsPage-Cy5-q-P6.js.map → SettingsPage-C32Vuizm.js.map} +1 -1
- package/dist/chunks/{StatCard-BROG4NSp.js → StatCard-CRPfkSBY.js} +2 -2
- package/dist/chunks/{StatCard-BROG4NSp.js.map → StatCard-CRPfkSBY.js.map} +1 -1
- package/dist/chunks/{UserGroupsPage-CsTBkUPy.js → UserGroupsPage-08G5MdGm.js} +2 -2
- package/dist/chunks/{UserGroupsPage-CsTBkUPy.js.map → UserGroupsPage-08G5MdGm.js.map} +1 -1
- package/dist/chunks/{UserLogsPanels-3u8Z93YU.js → UserLogsPanels-nbIrMym9.js} +2 -2
- package/dist/chunks/{UserLogsPanels-3u8Z93YU.js.map → UserLogsPanels-nbIrMym9.js.map} +1 -1
- package/dist/chunks/{UserTransferSelect-ChLj4EkS.js → UserTransferSelect-C8betaWG.js} +2 -2
- package/dist/chunks/{UserTransferSelect-ChLj4EkS.js.map → UserTransferSelect-C8betaWG.js.map} +1 -1
- package/dist/chunks/{UsersPage-CfNnQJi4.js → UsersPage-BjTiNEqF.js} +2 -2
- package/dist/chunks/{UsersPage-CfNnQJi4.js.map → UsersPage-BjTiNEqF.js.map} +1 -1
- package/dist/chunks/{browser-BKLM0ThC-D0TgzKTC.js → browser-BKLM0ThC-Cp7Gi4-F.js} +1 -1
- package/dist/chunks/{code-BkkeN2fd.js → code-LswxAr98.js} +1 -1
- package/dist/chunks/{direct-engine-m32m22nx.js → direct-engine-Dv_6v4sx.js} +1 -1
- package/dist/chunks/{html-BGNWR_Bp.js → html-BokjxlLb.js} +1 -1
- package/dist/chunks/{line-CsTeuEcK.js → line-Bqh6atHH.js} +1 -1
- package/dist/chunks/{lrc-D6gjnGZ5.js → lrc-T5e1svZG.js} +1 -1
- package/dist/chunks/{markdown-BglUe9j8.js → markdown-BpWokN1s.js} +1 -1
- package/dist/chunks/{patch-C97Yl3jr.js → patch-BYVX5C9G.js} +1 -1
- package/dist/chunks/{worker-engine-B7_3qQVS.js → worker-engine-CtUAeI4G.js} +1 -1
- package/dist/index.js +1 -1
- package/dist/{src-DAkFn9SG.js → src-D6UlLiVN.js} +2 -2
- package/dist/{src-DAkFn9SG.js.map → src-D6UlLiVN.js.map} +1 -1
- package/package.json +9 -9
- package/dist/chunks/ApiTokensPage-DiRMgViD.js +0 -2
- package/dist/chunks/ApiTokensPage-DiRMgViD.js.map +0 -1
- package/dist/chunks/EntityContextRuntime-C9q95WDf.js +0 -1
- package/dist/chunks/SettingModuleDetail-I9CSJ-fh.js +0 -17
- package/dist/chunks/SettingModuleDetail-I9CSJ-fh.js.map +0 -1
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import{n as e}from"./rolldown-runtime-Bruge11p.js";import{$ as t,Q as n,at as r,it as i,nt as a,ot as o,rt as s,st as c}from"./clipboard-dpqHdCyy.js";import{n as l,t as u}from"./MasterDetailLayout-B5uqvh98.js";import{$n as d,$r as f,A as p,At as m,B as h,Bn as g,Bt as _,C as v,Cn as y,Cr as b,Ct as x,D as S,Di as C,Dn as ee,Dr as w,Dt as te,E as ne,En as re,Er as T,Et as ie,F as ae,Fn as oe,Ft as se,Gn as ce,Gr as le,H as ue,Hn as de,Hr as fe,I as pe,In as me,It as he,J as ge,Jn as _e,Jt as ve,Kn as ye,Kr as E,Kt as be,L as xe,Ln as Se,Lt as Ce,Mr as we,Mt as Te,Nn as Ee,Nr as De,Nt as Oe,Oi as ke,On as Ae,Or as D,Ot as je,P as Me,Pn as Ne,Pr as Pe,Pt as Fe,Qn as Ie,Qr as Le,Rn as Re,Rr as ze,Rt as Be,S as O,Si as Ve,Sr as He,St as Ue,T as We,Tn as Ge,Tt as Ke,U as qe,Un as Je,Ur as Ye,V as Xe,Vn as Ze,Vr as k,Vt as Qe,Wn as $e,Wr as et,X as tt,Xn as nt,Xr as rt,Y as it,Yn as at,Yt as ot,Z as st,Zn as ct,Zr as lt,_ as ut,_i as dt,a as ft,ai as pt,at as mt,b as ht,bi as gt,bt as _t,cr as vt,ct as yt,d as bt,dr as xt,dt as St,er as Ct,et as wt,f as Tt,fr as Et,ft as Dt,g as Ot,gi as A,gr as kt,gt as At,h as jt,hi as Mt,hn as Nt,ht as Pt,i as Ft,ii as It,ir as Lt,it as Rt,j as zt,jr as Bt,jt as Vt,ki as Ht,kn as Ut,kr as Wt,kt as Gt,l as Kt,lr as qt,lt as Jt,m as j,mi as Yt,mn as Xt,mr as Zt,mt as Qt,n as $t,nr as en,nt as tn,o as M,oi as N,ot as nn,p as rn,pr as an,pt as on,qn as sn,qr as cn,qt as ln,r as un,ri as dn,rt as fn,si as P,sr as pn,st as mn,t as hn,ti as gn,tr as _n,tt as vn,u as yn,ur as bn,ut as xn,w as Sn,wi as Cn,wn,wt as Tn,x as En,xr as F,xt as Dn,yt as On,zn as kn,zr as An,zt as jn}from"./StatCard-BROG4NSp.js";import{i as Mn,n as Nn,r as I,t as Pn}from"./OperationLogsTable-gp-WZxiF.js";import{i as Fn,t as L}from"./table-columns-CvT6OHd2.js";import{n as In,r as Ln}from"./NavListPanel-DMIUMh7q.js";import{i as Rn,n as zn,r as Bn,t as Vn}from"./useSectionSelection-DBggfIoz.js";import{n as Hn,t as Un}from"./ExportButton-sMPAV2hd.js";import{An as Wn,Ar as Gn,Dr as R,Er as Kn,Gn as qn,Hn as Jn,In as Yn,Jn as Xn,Kn as Zn,Mn as Qn,Nn as $n,Or as z,Rn as er,Tr as tr,Yn as nr,_r as B,at as rr,b as ir,bn as ar,cn as or,cr as sr,ct as cr,dn as V,dr as lr,er as ur,fr as dr,g as fr,gn as pr,gr as H,h as mr,it as hr,jr as U,kr as W,ln as gr,lr as _r,nr as vr,pr as G,rr as yr,tr as br,un as xr,ur as Sr,ut as Cr,v as wr,vr as Tr,wr as Er,x as Dr,xn as Or,yr as kr,zn as Ar}from"./chart-data-DI8rr6W3.js";import{$n as jr,Cr as Mr,Nn as Nr,R as Pr,ar as Fr,ir as Ir,ln as Lr,nr as Rr,rr as zr,tr as Br,un as Vr,z as Hr}from"./chart-renderer-Dl8qlg1n.js";import{n as Ur,t as Wr}from"./line-CsTeuEcK.js";import{C as Gr,D as Kr,E as qr,O as Jr,S as Yr,T as Xr,_ as Zr,a as Qr,b as $r,c as ei,d as ti,f as ni,g as ri,h as ii,i as ai,l as oi,m as si,n as ci,o as li,p as ui,s as di,u as fi,v as pi,w as mi,x as hi,y as gi}from"./LogStatsScaffold-CMIz4z0a.js";import{useMemo as K,useState as _i}from"react";import{Fragment as vi,jsx as q,jsxs as J}from"react/jsx-runtime";import{enumValueOf as yi}from"@fudanda/client/core";import{useFilterQuery as bi}from"@fudanda/admin-antd/core/hooks/useFilterQuery";import{useListSearch as xi}from"@fudanda/admin-antd/core/hooks/useListSearch";import{formatDateTimeRangeForApi as Si,parseDateTimeParam as Ci,shortDate as wi}from"@fudanda/admin-antd/core/utils/date";import{useListDeepLink as Ti}from"@fudanda/admin-antd/core/hooks/useListDeepLink";import{buildUserChartLabels as Ei,formatUserLabel as Di}from"@fudanda/admin-antd/core/utils/user-labels";import{operationLogKeys as Oi,useCleanOperationLogs as ki,useOperationLogList as Ai,useOperationLogStats as ji}from"@fudanda/admin-antd/core/hooks/queries/operation-logs";import{OPERATION_LOG_RESULTS as Mi,OPERATION_LOG_RESULT_OPTIONS as Ni}from"@fudanda/client/platform";var Pi,Fi,Ii,Li,Ri;function zi(){return(zi=e((()=>{fr(),Pi=[10,20],Fi=mr.Linear,Ii=`circle`,Li=mr.Ordinal,Ri=[`circle`,`square`,`triangle`,`diamond`,`star`]})))()}var Bi,Vi;function Hi(){return(Hi=e((()=>{P(),Zt(),Bi=(e,t)=>t===`fadeIn`?{type:`fadeIn`}:{type:`scaleIn`},Vi=()=>{N.registerAnimation(`scatter`,((e,t)=>Object.assign({appear:Bi(0,t)},an)))}})))()}var Ui;function Wi(){return(Wi=e((()=>{Ze(),Ui=Object.assign(Object.assign({},g),{point:{name:`point`,type:`symbol`}})})))()}var Gi;function Ki(){return(Ki=e((()=>{Ne(),Gi=class extends Ee{_transformLabelSpec(e){this._addMarkLabelSpec(e,`point`)}}})))()}var qi;function Ji(){return(Ji=e((()=>{qi={point:{style:{size:8,symbolType:`circle`,lineWidth:0,fillOpacity:.8}},label:{visible:!1,offset:5,position:`top`,style:{lineWidth:2,stroke:{type:`palette`,key:`backgroundColor`}}}}})))()}var Yi,Y,Xi;function Zi(){return(Zi=e((()=>{pt(),ee(),z(),Kn(),Er(),Gn(),Tr(),H(),dr(),Sr(),rr(),Wt(),dt(),w(),zi(),me(),Hi(),Xt(),Wi(),P(),Ki(),Ut(),be(),ve(),Ji(),Yi={sizeField:!0},Y=class e extends re{constructor(){super(...arguments),this.type=A.scatter,this.transformerConstructor=Gi,this._invalidType=`zero`}_getSpecUpdatePolicy(){let e=super._getSpecUpdatePolicy();return Object.assign(Object.assign({},e),{dataRelatedKeys:Object.assign(Object.assign({},e.dataRelatedKeys),Yi)})}setAttrFromSpec(){super.setAttrFromSpec(),this._size=this._spec.size,this._sizeField=this._spec.sizeField,this._shape=this._spec.shape,this._shapeField=this._spec.shapeField}_getSeriesAttribute(e,t,{defaultScaleType:n,defaultRange:r},i){var a,o,s,c;if(U(t))return t;if(B(t)){if(W(e))return(a=this._option)==null||a.onError(`${i}Field is required.`),t;if(n!==`ordinal`&&t.length>2)return(o=this._option)==null||o.onError(`${i} length is invalid, specify up to 2 ${i}s.`),t;let r=`${It}_series_scatter_${this.id}_scale_${i}`;return this._option.globalScale.registerModelScale({id:r,type:n,domain:[{dataId:this._rawData.name,fields:[e]}],range:t}),{scale:r,field:e}}if(tr(t)){if(W(e))return(s=this._option)==null||s.onError(`${i}Field is required.`),t;let a=`${It}_series_scatter_${this.id}_scale_${i}`,o=Object.assign({id:a,type:n,domain:[{dataId:this._rawData.name,fields:[e]}],range:r},t);return this._option.globalScale.registerModelScale(o),{scale:o.id,field:e}}return(c=this._option)==null||c.onError(`${i} attribute is invalid.`),t}getSizeAttribute(e,t){return W(t)?10:G(t)?t:kr(t)&&lr(t)?parseFloat(t):this._getSeriesAttribute(e,t,{defaultScaleType:Fi,defaultRange:Pi},`size`)}getShapeAttribute(e,t){return W(t)?Ii:kr(t)?t:this._getSeriesAttribute(e,t,{defaultScaleType:Li,defaultRange:Ri},`shape`)}initMark(){this._symbolMark=this._createMark(e.mark.point,{groupKey:this._seriesField,isSeriesMark:!0},{morph:Re(this._spec,e.mark.point.name),morphElementKey:this.getDimensionField()[0]})}initMarkStyle(){this.initSymbolMarkStyle()}initAnimation(){let e=Ae(this),t=this._spec?.animationAppear?.preset;this._symbolMark.setAnimationConfig(oe(N.getAnimationInKey(`scatter`)?.({},t),kn(`point`,this._spec,this._markAttributeContext),e))}initSymbolMarkStyle(){let e=this._symbolMark;e&&(this._invalidType!==`zero`&&this.setMarkStyle(e,{visible:this._getInvalidDefined.bind(this)}),this.setMarkStyle(e,{x:this.dataToPositionX.bind(this),y:this.dataToPositionY.bind(this),z:this._fieldZ?this.dataToPositionZ.bind(this):null,fill:this.getColorAttribute(),size:G(this._size)||U(this._size)?this._size:10,symbolType:kr(this._shape)||U(this._shape)?this._shape:`circle`},T.STATE_NORMAL,D.Series),(R(this._sizeField)||R(this._size))&&this.setMarkStyle(e,{size:this.getSizeAttribute(this._sizeField,this._size)},T.STATE_NORMAL,D.User_Mark),(R(this._shapeField)||R(this._shape))&&this.setMarkStyle(e,{symbolType:this.getShapeAttribute(this._shapeField,this._shape)},T.STATE_NORMAL,D.User_Mark))}initTooltip(){super.initTooltip(),this._symbolMark&&this._tooltipHelper.activeTriggerSet.mark.add(this._symbolMark)}viewDataStatisticsUpdate(e){super.viewDataStatisticsUpdate(e);let t=[this.getDimensionField()[0],this.getStackValueField()].every((e=>e&&this.getViewDataStatistics()?.latestData?.[e]?.allValid));this._invalidType===`zero`||t?this.setMarkStyle(this._symbolMark,{visible:!0},`normal`,D.Series):this.setMarkStyle(this._symbolMark,{visible:this._getInvalidDefined.bind(this)},`normal`,D.Series),this._symbolMark.getProduct()&&this._symbolMark.compileEncode()}initLabelMarkStyle(e){e&&(this._labelMark=e,this.setMarkStyle(e,{fill:this.getColorAttribute(),text:e=>e[this.getStackValueField()],z:this._fieldZ?this.dataToPositionZ.bind(this):null},T.STATE_NORMAL,D.Series),this._invalidType!==`zero`&&this.setMarkStyle(e,{visible:this._getInvalidDefined.bind(this)},T.STATE_NORMAL,D.Series))}_updateSymbolGraphicPosition(){let e=this._symbolMark?.getGraphics();e&&e.length&&e.forEach((e=>{let t=e?.context?.data?.[0],n=this.dataToPosition(t);n&&e&&e.setAttributes({x:n.x,y:n.y})}))}_ensureLabelGraphicPostMatrix(){let e=(this._labelMark?.getComponent())?.getComponent();return e&&!e.attribute.postMatrix&&e.setAttributes({postMatrix:new hr}),e}handleZoom(e){let{scale:t,scaleCenter:n}=e;if(t===1)return;this._updateSymbolGraphicPosition();let r=this._ensureLabelGraphicPostMatrix();r&&r.scale(t,t,n)}handlePan(e){let{delta:t}=e;if(t?.[0]===0&&t?.[1]===0)return;this._updateSymbolGraphicPosition();let n=this._ensureLabelGraphicPostMatrix();n&&n.translate(t[0],t[1])}onLayoutEnd(){super.onLayoutEnd(),this._updateSymbolGraphicPosition();let e=(this._labelMark?.getComponent())?.getComponent();e!=null&&e.attribute.postMatrix&&e.setAttributes({postMatrix:new hr});let t=this._labelMark?.getComponent();t&&t.renderInner()}getDefaultShapeType(){return`circle`}getActiveMarks(){return[this._symbolMark]}},Y.type=A.scatter,Y.mark=Ui,Y.builtInTheme={scatter:qi},Y.transformerConstructor=Gi,Xi=()=>{Nt(),Vi(),ot(),ln(),N.registerSeries(Y.type,Y)}})))()}var Qi;function $i(){return($i=e((()=>{Ce(),Qi=class extends he{_getDefaultSeriesSpec(e){return super._getDefaultSeriesSpec(e,[`point`,`size`,`shape`,`shapeField`,`sizeField`])}}})))()}var ea,ta;function na(){return(na=e((()=>{Zi(),dt(),P(),$i(),Qe(),se(),Te(),m(),Gt(),ie(),x(),Dn(),ea=class extends _{constructor(){super(...arguments),this.transformerConstructor=Qi,this.type=`scatter`,this.seriesType=A.scatter}_setModelOption(){this._modelOption.getDimensionInfo=te,this._modelOption.getDimensionInfoByValue=je,this._modelOption.getRectByDimensionData=Ke}},ea.type=`scatter`,ea.seriesType=A.scatter,ea.transformerConstructor=Qi,Jn(ea,Fe),ta=()=>{Tn(),Ue(),Vt(),Oe(),Xi(),N.registerChart(ea.type,ea)}})))()}var ra,ia;function aa(){return(aa=e((()=>{z(),xr(),ra=(e,t,n=0,r=-1,i,a,o=`value`)=>{let s=0,c=r??-1,l=n;return e.forEach(((e,r)=>{let u={flattenIndex:++c,key:a?a(e):`${i?.key??``}-${r}`,maxDepth:-1,depth:n,index:r,value:e[o],isLeaf:!0,datum:i?i.datum.concat(e):[e],parentKey:i?.key};if(e.children?.length){u.children=[],u.isLeaf=!1;let t=ra(e.children,u.children,n+1,c,u,a,o);u.value=W(e[o])?t.sum:Math.max(t.sum,V(e[o])),c=t.flattenIndex,l=Math.max(t.maxDepth,l)}else u.isLeaf=!0,u.value=V(e[o]);s+=Math.abs(u.value),t.push(u)})),{sum:s,maxDepth:l,flattenIndex:c}},ia=(e,t=[],n)=>{let r=n?.maxDepth>=0;return e.forEach((e=>{(!r||e.depth<=n.maxDepth)&&(t.push(n?.callback?n.callback(e):e),e.children&&(r&&e.depth===n.maxDepth?(e.children=null,e.isLeaf=!0):ia(e.children,t,n)))})),t}})))()}function oa(e,t,n=[],r={},i){la(e);let a=(e,o,s)=>{e.forEach(((e,c)=>{let l=t?t(e):s?`${s[s.length-1].key}-${c}`:`${o}-${c}`,u=W(e.value)?0:V(e.value);if(r[l])r[l].value=void 0;else{let t={depth:o,datum:e,index:c,key:l,value:u,sourceLinks:[],targetLinks:[]};r[l]=t,n.push(t)}s&&i&&i.push({source:s[s.length-1].key,target:l,value:u,parents:s}),e.children&&e.children.length&&a(e.children,o+1,s?s.concat([r[l]]):[r[l]])}))};return a(e,0,null),n}function sa(e,t){let n=[],r=[],i={},a={},o=[];return oa(e,t,n,i,o),o.forEach(((e,t)=>{let n=`${e.source}-${e.target}`,o=Zn(e,[`parents`]);if(o.parents=e.parents.map((e=>Zn(e,[`sourceLinks`,`targetLinks`]))),a[n])return a[n].value+=V(e.value),void a[n].datum.push(o);let s={index:t,key:`${e.source}-${e.target}`,source:e.source,target:e.target,datum:[o],value:e.value,parents:e.parents.map((e=>e.key))};r.push(s),i[e.source].sourceLinks.push(s),i[e.target].targetLinks.push(s),a[n]=s})),{nodes:n,links:r,nodeMap:i}}function ca(e){for(let t=0,n=e.length;t<n;t++){let n=e[t];n.value=Math.max(W(n.value)?0:V(n.value),n.sourceLinks.reduce(((e,t)=>e+(V(t.value)??0)),0),n.targetLinks.reduce(((e,t)=>e+(V(t.value)??0)),0))}}var la;function ua(){return(ua=e((()=>{z(),qn(),xr(),la=e=>{let t=0;return e.forEach(((e,n)=>{W(e.value)&&(e.value=e.children?.length?la(e.children):0),t+=Math.abs(e.value)})),t}})))()}function da(e){return e.depth}function fa(e,t){return t-1-e.endDepth}function pa(e,t){return e.sourceLinks.length?e.depth:t-1}function ma(e,t,n){return e.targetLinks.length?e.depth:e.sourceLinks.length?Ar(e.sourceLinks.map((e=>n[e.target].depth)))-1:0}var ha,ga,_a,va,ya;function ba(){return(ba=e((()=>{Or(),gr(),Gn(),z(),dr(),Tr(),Yn(),Qn(),ua(),ha=(e,t)=>e?.y0-t?.y0,ga=(e,t)=>{if(W(e.value))return null;let n=(t?e.targetLinks:e.sourceLinks).reduce(((e,t)=>(W(t.value)?e.count+=1:e.sum+=t.value,e)),{sum:0,count:0});return n.count>0?(e.value-n.sum)/n.count:null},_a={left:da,right:fa,justify:pa,center:ma,start:da,end:fa},va=pr(0,1),ya=class e{constructor(t){this._ascendingSourceBreadth=(e,t)=>ha(this._nodeMap[e.source],this._nodeMap[t.source])||e.index-t.index,this._ascendingTargetBreadth=(e,t)=>ha(this._nodeMap[e.target],this._nodeMap[t.target])||e.index-t.index,this.options=Object.assign({},e.defaultOptions,t);let n=this.options.nodeKey,r=U(n)?n:n?or(n):null;this._getNodeKey=r,this._logger=Wn.getInstance(),this._alignFunc=U(this.options.setNodeLayer)?e=>this.options.setNodeLayer(e.datum):_a[this.options.nodeAlign]}layout(e,t){if(!e)return null;let n=`width`in t?{x0:0,x1:t.width,y0:0,y1:t.height,width:t.width,height:t.height}:{x0:Math.min(t.x0,t.x1),x1:Math.max(t.x0,t.x1),y0:Math.min(t.y0,t.y1),y1:Math.max(t.y0,t.y1),width:Math.abs(t.x1-t.x0),height:Math.abs(t.y1-t.y0)};this._viewBox=this.options.direction===`vertical`?{x0:n.y0,x1:n.y1,y0:n.x0,y1:n.x1,width:n.height,height:n.width}:n;let r=this.computeNodeLinks(e),i=r.nodes,a=r.links;if(this._nodeMap=r.nodeMap,this.computeNodeValues(i),this.computeNodeDepths(i),[`right`,`end`,`justify`].includes(this.options.nodeAlign)&&this.computeNodeEndDepths(i),this._maxDepth<=0)return null;let o=this.computeNodeBreadths(i);if(this.computeLinkBreadths(i),i.forEach((e=>{e.sourceLinks=e.sourceLinks.filter((e=>!W(e.source)&&!W(e.target))),e.targetLinks=e.targetLinks.filter((e=>!W(e.source)&&!W(e.target)))})),a=a.filter((e=>!W(e.source)&&!W(e.target))),this.options.direction===`vertical`){if(this.options.inverse){let e=this._viewBox.x1;i.forEach((t=>{let{y0:n,y1:r,x0:i,x1:a}=t;t.y0=e-a,t.y1=e-i,t.x0=n,t.x1=r})),a.forEach((t=>{t.vertical=!0;let{x0:n,x1:r,y0:i,y1:a}=t;t.x0=i,t.x1=a,t.y0=e-n,t.y1=e-r}))}else i.forEach((e=>{let{y0:t,y1:n}=e;e.y0=e.x0,e.y1=e.x1,e.x0=t,e.x1=n})),a.forEach((e=>{e.vertical=!0;let t=e.x0,n=e.x1;e.x0=e.y0,e.x1=e.y1,e.y0=t,e.y1=n}))}else this.options.inverse&&(i.forEach((e=>{let{x0:t,x1:r}=e;e.x0=n.x1-r,e.x1=n.x1-t})),a.forEach((e=>{e.x0=n.x1-e.x0,e.x1=n.x1-e.x1})));return a.forEach((e=>{let t=this._nodeMap[e.source],n=this._nodeMap[e.target];e.sourceRect={x0:t.x0,x1:t.x1,y0:t.y0,y1:t.y1},e.targetRect={x0:n.x0,x1:n.x1,y1:n.y1,y0:n.y0}})),{nodes:i,links:a,columns:o}}computeHierarchicNodeLinks(e){return sa(e,this._getNodeKey)}computeSourceTargetNodeLinks(e){let t=[],n=[],r={};e.nodes&&e.nodes.forEach(((e,n)=>{let i={depth:-1,datum:e,index:n,key:this._getNodeKey?this._getNodeKey(e):n,value:e.value,sourceLinks:[],targetLinks:[]};r[i.key]=i,t.push(i)}));let i=[];return e.links.forEach(((a,o)=>{let s=!W(a.source),c=!W(a.target);if(e.nodes&&(!r[a.source]||!r[a.target]))return;e.nodes||!s||r[a.source]||(r[a.source]={value:void 0,depth:-1,index:t.length,key:a.source,datum:null,sourceLinks:[],targetLinks:[]},t.push(r[a.source])),e.nodes||!c||r[a.target]||(r[a.target]={value:void 0,depth:-1,index:t.length,key:a.target,datum:null,sourceLinks:[],targetLinks:[]},t.push(r[a.target]));let l={index:o,source:a.source,target:a.target,datum:a,value:a.value};this.options.divideNodeValueToLink&&W(a.value)&&i.push(l),n.push(l),s&&r[a.source].sourceLinks.push(l),c&&r[a.target].targetLinks.push(l)})),this.options.divideNodeValueToLink&&i.length&&i.forEach((e=>{let t=[ga(r[e.source]),ga(r[e.target],!0)].filter((e=>!W(e)));t.length&&(e.value=Ar(t))})),{nodeMap:r,nodes:t,links:n}}computeNodeLinks(e){let t;`links`in e?t=this.computeSourceTargetNodeLinks(e):(this._isHierarchic=!0,t=this.computeHierarchicNodeLinks(e.nodes));let n=t.nodes,r=t.links;if(this.options.linkSortBy)for(let e=0,t=n.length;e<t;e++)n[e].sourceLinks.sort(this.options.linkSortBy),n[e].targetLinks.sort(this.options.linkSortBy);return this.options.dropIsolatedNode&&(n=n.filter((e=>e.targetLinks.length||e.sourceLinks.length))),{nodes:n,links:r,nodeMap:t.nodeMap}}computeNodeValues(e){return ca(e)}computeNodeDepths(e){var t;let n=e.length,r,i,a=e,o=0,s=-1,c=U(this.options.setNodeLayer)?this.options.setNodeLayer:null;for(;a.length&&o<n;){r=[],i={};for(let e=0,n=a.length;e<n;e++){let n=a[e];if(n&&(n.depth=c&&(t=c(n.datum))!=null?t:o,c&&(s=Math.max(n.depth,s)),n.sourceLinks&&n.sourceLinks.length))for(let e=0,t=n.sourceLinks.length;e<t;e++){let t=n.sourceLinks[e];i[t.target]||(r.push(this._nodeMap[t.target]),i[t.target]=!0)}}a=r,o+=1}o>n&&this._logger.warn(`Error: there is a circular link`),this._maxDepth=c?s+1:o}computeNodeEndDepths(e){let t=e.length,n,r,i=e,a=0;for(;i.length&&a<t;){n=[],r={};for(let e=0,t=i.length;e<t;e++){let t=i[e];if(t){t.endDepth=a;for(let e=0,i=t.targetLinks.length;e<i;e++){let i=t.targetLinks[e];r[i.source]||(n.push(this._nodeMap[i.source]),r[i.source]=!0)}}}i=n,a+=1}a>t&&this._logger.warn(`Error: there is a circular link`)}computeNodeLayers(e){let t=this.options.nodeWidth,n=this.options.linkWidth,r=this.options.minStepWidth,i=this._viewBox.width,a=null,o=null,s=!1;if(kr(t)){let e=ar(parseFloat(t.replace(`%`,``))/100,0,1),n=i/(this._maxDepth-1+e);r>0&&(n=Math.max(r,n)),a=n*e,o=n*(1-e),s=!0}else if(G(t)){if(a=t,G(n))o=n;else if(W(n)){let e=(i-t)/(this._maxDepth-1);r>0&&(e=Math.max(r,e)),o=e-t}s=!0}else U(t)&&G(n)&&(o=n);let c=[];for(let t=0,n=e.length;t<n;t++){let n=e[t];n.layer=this._isHierarchic?n.depth:ar(Math.floor(this._alignFunc(n,this._maxDepth,this._nodeMap)),0,this._maxDepth-1);let r=n.layer;r===this._maxDepth-1&&(n.isLastLayer=!0),s&&(n.x0=this._viewBox.x0+r*(a+o),n.x1=n.x0+a),c[r]?c[r].push(n):c[r]=[n]}if(this.options.nodeSortBy)for(let e=0,t=c.length;e<t;e++)c[e].sort(this.options.nodeSortBy);if(!s&&U(t)){let e=this._viewBox.x0;for(let r=0;r<this._maxDepth;r++){let i=c[r],s=0,l=0;for(let r=0,c=i&&i.length;r<c;r++){let c=i[r],u=t(c);c.x0=e,c.x1=e+u,s=Math.max(a,u);let d=c.sourceLinks;for(let e=0,t=d.length;e<t;e++){let t=d[e],r=U(n)?n(t,this._viewBox):o;l=Math.max(l,r)}}e+=s+l}}return c}initializeNodeBreadths(e){let t=this.options.minLinkHeight??0,n=this.options.minNodeHeight??0,r=this.options.maxNodeHeight??1/0,i=this.options.maxLinkHeight;(W(n)||n<t)&&(n=t),(W(i)||i>r)&&(i=r);let a=0,o=null,s=null;if(U(this.options.nodeGap))o=this.options.nodeGap,a=e.reduce(((e,t)=>{let n=t.reduce(((e,t)=>e+t.value),0),r=t.reduce(((e,t)=>e+this.options.nodeGap(t)),0);return Math.min(e,(this._viewBox.height-r)/n)}),1/0);else{let t=e.reduce(((e,t)=>Math.max(e,t.length)),0),r=this._viewBox.height/t,i=Math.min(this.options.nodeGap,r);if(n+i>r&&(i=n>=r?r/2:(r-n)/2,n=Math.min(r-i,n)),o=()=>i,this._gapY=i,this.options.equalNodeHeight)s=this._viewBox.height/t-i;else{let t=n>0?Math.max(i,n):i;a=e.reduce(((e,r)=>{let i=r.reduce(((e,t)=>e+t.value),0);return Math.min(e,(this._viewBox.height-((r.length-1)*t+n))/i)}),1/0)}}let c=this.options.gapPosition===`start`,l=!c&&this.options.gapPosition!==`end`,u=G(this.options.nodeHeight)?e=>this.options.nodeHeight:U(this.options.nodeHeight)?this.options.nodeHeight:s>0?e=>s:e=>Math.max(e.value*a,0),d=G(this.options.linkHeight)?()=>this.options.linkHeight:U(this.options.linkHeight)?this.options.linkHeight:(e,n,r)=>Math.min(Math.max(n.value?r*va(e.value/n.value):0,t,0),i);for(let t=0,i=e.length;t<i;t++){let i=e[t];if(!i||!i.length)continue;let a=this._viewBox.y0,s=0,f=0,p=0;for(let t=0,l=i.length;t<l;t++){let l=i[t];s=o(l),c&&(a+=s),p=u(l,e),f=Math.min(Math.max(p,n),r),l.y0=a,l.y1=a+f,a=c?l.y1:l.y1+s;for(let e=0,t=l.sourceLinks.length;e<t;e++){let t=l.sourceLinks[e];t.thickness=d(t,l,p)}}let m=this._viewBox.y1-a+(l?s:0);if(m>0){if(this.options.crossNodeAlign!==`start`){if(this.options.crossNodeAlign===`end`)for(let e=0,t=i.length;e<t;++e){let t=i[e];t.y0+=m,t.y1+=m}else if(this.options.crossNodeAlign===`parent`){let n=i.reduce(((e,t)=>(t.targetLinks&&t.targetLinks.length&&t.targetLinks.forEach((t=>{e[t.source]=!0})),e)),{});if(Object.keys(n).length&&e[t-1]&&e[t-1].length){let r=e[t-1].filter((e=>n[e.key]));if(r&&r.length&&r[0].y0!==i[0].y0){let e=r[0].y0-i[0].y0;for(let t=0,n=i.length;t<n;++t){let n=i[t];n.y0+=e,n.y1+=e}}}}else{m/=i.length+1;for(let e=0,t=i.length;e<t;++e){let t=i[e];t.y0+=m*(e+1),t.y1+=m*(e+1)}}}}else if(m<0&&i.length>1&&(m/=i.length-1,s+m>=0)){s+=m,this._gapY=Math.min(s);for(let e=1,t=i.length;e<t;++e){let t=i[e];t.y0+=m*e,t.y1+=m*e}}this.reorderLinks(i)}}computeNodeBreadths(e){let t=this.computeNodeLayers(e);this.initializeNodeBreadths(t);let n=this.options.iterations;if(!this._isHierarchic&&!U(this.options.setNodeLayer)&&!U(this.options.nodeGap))for(let e=0;e<n;++e){let r=.99**e,i=Math.max(1-r,(e+1)/n);this.relaxRightToLeft(t,r,i),this.relaxLeftToRight(t,r,i)}return t}relaxLeftToRight(e,t,n){for(let r=1,i=e.length;r<i;++r){let i=e[r];for(let e=0,n=i.length;e<n;e++){let n=i[e],r=0,a=0;for(let e=0,t=n.targetLinks.length;e<t;e++){let t=n.targetLinks[e],i=t.value*(n.layer-this._nodeMap[t.source].layer);r+=this.targetTop(this._nodeMap[t.source],n)*i,a+=i}if(!(a>0))continue;let o=(r/a-n.y0)*t;n.y0+=o,n.y1+=o,this.reorderNodeLinks(n)}W(this.options.nodeSortBy)&&i.sort(ha),this.resolveCollisions(i,n)}}relaxRightToLeft(e,t,n){for(let r=e.length-2;r>=0;--r){let i=e[r];for(let e=0,n=i.length;e<n;e++){let n=i[e],r=0,a=0;for(let e=0,t=n.sourceLinks.length;e<t;e++){let t=n.sourceLinks[e],i=t.value*(this._nodeMap[t.target].layer-n.layer);r+=this.sourceTop(n,this._nodeMap[t.target])*i,a+=i}if(!(a>0))continue;let o=(r/a-n.y0)*t;n.y0+=o,n.y1+=o,this.reorderNodeLinks(n)}this.options.nodeSortBy===void 0&&i.sort(ha),this.resolveCollisions(i,n)}}resolveCollisions(e,t){let n=e.length>>1,r=e[n];this.resolveCollisionsBottomToTop(e,r.y0-this._gapY,n-1,t),this.resolveCollisionsTopToBottom(e,r.y1+this._gapY,n+1,t),this.resolveCollisionsBottomToTop(e,this._viewBox.y1,e.length-1,t),this.resolveCollisionsTopToBottom(e,this._viewBox.y0,0,t)}resolveCollisionsTopToBottom(e,t,n,r){for(;n<e.length;++n){let i=e[n],a=(t-i.y0)*r;a>1e-6&&(i.y0+=a,i.y1+=a),t=i.y1+this._gapY}}resolveCollisionsBottomToTop(e,t,n,r){for(;n>=0;--n){let i=e[n],a=(i.y1-t)*r;a>1e-6&&(i.y0-=a,i.y1-=a),t=i.y0-this._gapY}}targetTop(e,t){let n,r,i,a=e.y0-(e.sourceLinks.length-1)*this._gapY/2;for(n=0,r=e.sourceLinks.length;n<r&&(i=e.sourceLinks[n],i.target!==t.key);n++)a+=i.thickness+this._gapY;for(n=0,r=t.targetLinks.length;n<r&&(i=t.targetLinks[n],i.source!==e.key);n++)a-=i.thickness;return a}sourceTop(e,t){let n,r,i,a=t.y0-(t.targetLinks.length-1)*this._gapY/2;for(n=0,r=t.targetLinks.length;n<r&&(i=t.targetLinks[n],i.source!==e.key);n++)a+=i.thickness+this._gapY;for(n=0,r=e.sourceLinks.length;n<r&&(i=e.sourceLinks[n],i.target!==t.key);n++)a-=i.thickness;return a}computeLinkBreadthsNoOverlap(e){for(let t=0,n=e.length;t<n;t++){let n=e[t],r=n.y0,i=!1;for(let e=0,t=n.sourceLinks.length;e<t;e++){let t=n.sourceLinks[e];i||(t.y0=r+t.thickness/2),t.x0=n.x1,r+t.thickness>n.y1||i?(t.y0=n.y1-t.thickness/2,i=!0):r+=t.thickness}let a=n.y0;i=!1;for(let e=0,t=n.targetLinks.length;e<t;e++){let t=n.targetLinks[e];i||(t.y1=a+t.thickness/2),t.x1=n.x0,a+t.thickness>n.y1||i?(t.y1=n.y1-t.thickness/2,i=!0):a+=t.thickness}}}computeLinkBreadthsOverlap(e){let t=this.options.linkOverlap;for(let n=0,r=e.length;n<r;n++){let r=e[n],i=t===`start`?r.y0:t===`end`?r.y1:(r.y0+r.y1)/2,a=t===`start`?.5:t===`end`?-.5:0;for(let e=0,t=r.sourceLinks.length;e<t;e++){let t=r.sourceLinks[e];t.y0=i+a*t.thickness,t.x0=r.x1}for(let e=0,t=r.targetLinks.length;e<t;e++){let t=r.targetLinks[e];t.y1=i+a*t.thickness,t.x1=r.x0}}}computeLinkBreadths(e){this.options.linkOverlap?this.computeLinkBreadthsOverlap(e):this.computeLinkBreadthsNoOverlap(e)}reorderNodeLinks(e){if(W(this.options.linkSortBy)){let t=e.targetLinks,n=e.sourceLinks;for(let e=0,n=t.length;e<n;e++){let n=t[e];this._nodeMap[n.source].sourceLinks.sort(this._ascendingTargetBreadth)}for(let e=0,t=n.length;e<t;e++){let t=n[e];this._nodeMap[t.target].targetLinks.sort(this._ascendingSourceBreadth)}}}reorderLinks(e){if(W(this.options.linkSortBy))for(let t=0,n=e.length;t<n;t++){let n=e[t];n.sourceLinks.sort(this._ascendingTargetBreadth),n.targetLinks.sort(this._ascendingSourceBreadth)}}},ya.defaultOptions={iterations:6,nodeAlign:`justify`,direction:`horizontal`,nodeWidth:24,nodeGap:8,crossNodeAlign:`middle`,dropIsolatedNode:!0}})))()}
|
|
1
|
+
import{n as e}from"./rolldown-runtime-Bruge11p.js";import{$ as t,Q as n,at as r,it as i,nt as a,ot as o,rt as s,st as c}from"./clipboard-dpqHdCyy.js";import{n as l,t as u}from"./MasterDetailLayout-ByIBpmkZ.js";import{$n as d,$r as f,A as p,At as m,B as h,Bn as g,Bt as _,C as v,Cn as y,Cr as b,Ct as x,D as S,Di as C,Dn as ee,Dr as w,Dt as te,E as ne,En as re,Er as T,Et as ie,F as ae,Fn as oe,Ft as se,Gn as ce,Gr as le,H as ue,Hn as de,Hr as fe,I as pe,In as me,It as he,J as ge,Jn as _e,Jt as ve,Kn as ye,Kr as E,Kt as be,L as xe,Ln as Se,Lt as Ce,Mr as we,Mt as Te,Nn as Ee,Nr as De,Nt as Oe,Oi as ke,On as Ae,Or as D,Ot as je,P as Me,Pn as Ne,Pr as Pe,Pt as Fe,Qn as Ie,Qr as Le,Rn as Re,Rr as ze,Rt as Be,S as O,Si as Ve,Sr as He,St as Ue,T as We,Tn as Ge,Tt as Ke,U as qe,Un as Je,Ur as Ye,V as Xe,Vn as Ze,Vr as k,Vt as Qe,Wn as $e,Wr as et,X as tt,Xn as nt,Xr as rt,Y as it,Yn as at,Yt as ot,Z as st,Zn as ct,Zr as lt,_ as ut,_i as dt,a as ft,ai as pt,at as mt,b as ht,bi as gt,bt as _t,cr as vt,ct as yt,d as bt,dr as xt,dt as St,er as Ct,et as wt,f as Tt,fr as Et,ft as Dt,g as Ot,gi as A,gr as kt,gt as At,h as jt,hi as Mt,hn as Nt,ht as Pt,i as Ft,ii as It,ir as Lt,it as Rt,j as zt,jr as Bt,jt as Vt,ki as Ht,kn as Ut,kr as Wt,kt as Gt,l as Kt,lr as qt,lt as Jt,m as j,mi as Yt,mn as Xt,mr as Zt,mt as Qt,n as $t,nr as en,nt as tn,o as M,oi as N,ot as nn,p as rn,pr as an,pt as on,qn as sn,qr as cn,qt as ln,r as un,ri as dn,rt as fn,si as P,sr as pn,st as mn,t as hn,ti as gn,tr as _n,tt as vn,u as yn,ur as bn,ut as xn,w as Sn,wi as Cn,wn,wt as Tn,x as En,xr as F,xt as Dn,yt as On,zn as kn,zr as An,zt as jn}from"./StatCard-CRPfkSBY.js";import{i as Mn,n as Nn,r as I,t as Pn}from"./OperationLogsTable-DaaON4QR.js";import{i as Fn,t as L}from"./table-columns-CvT6OHd2.js";import{n as In,r as Ln}from"./NavListPanel-zwUDIYSP.js";import{i as Rn,n as zn,r as Bn,t as Vn}from"./useSectionSelection-DBggfIoz.js";import{n as Hn,t as Un}from"./ExportButton-DGxB2tcu.js";import{An as Wn,Ar as Gn,Dr as R,Er as Kn,Gn as qn,Hn as Jn,In as Yn,Jn as Xn,Kn as Zn,Mn as Qn,Nn as $n,Or as z,Rn as er,Tr as tr,Yn as nr,_r as B,at as rr,b as ir,bn as ar,cn as or,cr as sr,ct as cr,dn as V,dr as lr,er as ur,fr as dr,g as fr,gn as pr,gr as H,h as mr,it as hr,jr as U,kr as W,ln as gr,lr as _r,nr as vr,pr as G,rr as yr,tr as br,un as xr,ur as Sr,ut as Cr,v as wr,vr as Tr,wr as Er,x as Dr,xn as Or,yr as kr,zn as Ar}from"./chart-data-DI8rr6W3.js";import{$n as jr,Cr as Mr,Nn as Nr,R as Pr,ar as Fr,ir as Ir,ln as Lr,nr as Rr,rr as zr,tr as Br,un as Vr,z as Hr}from"./chart-renderer-Dl8qlg1n.js";import{n as Ur,t as Wr}from"./line-Bqh6atHH.js";import{C as Gr,D as Kr,E as qr,O as Jr,S as Yr,T as Xr,_ as Zr,a as Qr,b as $r,c as ei,d as ti,f as ni,g as ri,h as ii,i as ai,l as oi,m as si,n as ci,o as li,p as ui,s as di,u as fi,v as pi,w as mi,x as hi,y as gi}from"./LogStatsScaffold-DaB0JeAN.js";import{useMemo as K,useState as _i}from"react";import{Fragment as vi,jsx as q,jsxs as J}from"react/jsx-runtime";import{enumValueOf as yi}from"@fudanda/client/core";import{useFilterQuery as bi}from"@fudanda/admin-antd/core/hooks/useFilterQuery";import{useListSearch as xi}from"@fudanda/admin-antd/core/hooks/useListSearch";import{formatDateTimeRangeForApi as Si,parseDateTimeParam as Ci,shortDate as wi}from"@fudanda/admin-antd/core/utils/date";import{useListDeepLink as Ti}from"@fudanda/admin-antd/core/hooks/useListDeepLink";import{buildUserChartLabels as Ei,formatUserLabel as Di}from"@fudanda/admin-antd/core/utils/user-labels";import{operationLogKeys as Oi,useCleanOperationLogs as ki,useOperationLogList as Ai,useOperationLogStats as ji}from"@fudanda/admin-antd/core/hooks/queries/operation-logs";import{OPERATION_LOG_RESULTS as Mi,OPERATION_LOG_RESULT_OPTIONS as Ni}from"@fudanda/client/platform";var Pi,Fi,Ii,Li,Ri;function zi(){return(zi=e((()=>{fr(),Pi=[10,20],Fi=mr.Linear,Ii=`circle`,Li=mr.Ordinal,Ri=[`circle`,`square`,`triangle`,`diamond`,`star`]})))()}var Bi,Vi;function Hi(){return(Hi=e((()=>{P(),Zt(),Bi=(e,t)=>t===`fadeIn`?{type:`fadeIn`}:{type:`scaleIn`},Vi=()=>{N.registerAnimation(`scatter`,((e,t)=>Object.assign({appear:Bi(0,t)},an)))}})))()}var Ui;function Wi(){return(Wi=e((()=>{Ze(),Ui=Object.assign(Object.assign({},g),{point:{name:`point`,type:`symbol`}})})))()}var Gi;function Ki(){return(Ki=e((()=>{Ne(),Gi=class extends Ee{_transformLabelSpec(e){this._addMarkLabelSpec(e,`point`)}}})))()}var qi;function Ji(){return(Ji=e((()=>{qi={point:{style:{size:8,symbolType:`circle`,lineWidth:0,fillOpacity:.8}},label:{visible:!1,offset:5,position:`top`,style:{lineWidth:2,stroke:{type:`palette`,key:`backgroundColor`}}}}})))()}var Yi,Y,Xi;function Zi(){return(Zi=e((()=>{pt(),ee(),z(),Kn(),Er(),Gn(),Tr(),H(),dr(),Sr(),rr(),Wt(),dt(),w(),zi(),me(),Hi(),Xt(),Wi(),P(),Ki(),Ut(),be(),ve(),Ji(),Yi={sizeField:!0},Y=class e extends re{constructor(){super(...arguments),this.type=A.scatter,this.transformerConstructor=Gi,this._invalidType=`zero`}_getSpecUpdatePolicy(){let e=super._getSpecUpdatePolicy();return Object.assign(Object.assign({},e),{dataRelatedKeys:Object.assign(Object.assign({},e.dataRelatedKeys),Yi)})}setAttrFromSpec(){super.setAttrFromSpec(),this._size=this._spec.size,this._sizeField=this._spec.sizeField,this._shape=this._spec.shape,this._shapeField=this._spec.shapeField}_getSeriesAttribute(e,t,{defaultScaleType:n,defaultRange:r},i){var a,o,s,c;if(U(t))return t;if(B(t)){if(W(e))return(a=this._option)==null||a.onError(`${i}Field is required.`),t;if(n!==`ordinal`&&t.length>2)return(o=this._option)==null||o.onError(`${i} length is invalid, specify up to 2 ${i}s.`),t;let r=`${It}_series_scatter_${this.id}_scale_${i}`;return this._option.globalScale.registerModelScale({id:r,type:n,domain:[{dataId:this._rawData.name,fields:[e]}],range:t}),{scale:r,field:e}}if(tr(t)){if(W(e))return(s=this._option)==null||s.onError(`${i}Field is required.`),t;let a=`${It}_series_scatter_${this.id}_scale_${i}`,o=Object.assign({id:a,type:n,domain:[{dataId:this._rawData.name,fields:[e]}],range:r},t);return this._option.globalScale.registerModelScale(o),{scale:o.id,field:e}}return(c=this._option)==null||c.onError(`${i} attribute is invalid.`),t}getSizeAttribute(e,t){return W(t)?10:G(t)?t:kr(t)&&lr(t)?parseFloat(t):this._getSeriesAttribute(e,t,{defaultScaleType:Fi,defaultRange:Pi},`size`)}getShapeAttribute(e,t){return W(t)?Ii:kr(t)?t:this._getSeriesAttribute(e,t,{defaultScaleType:Li,defaultRange:Ri},`shape`)}initMark(){this._symbolMark=this._createMark(e.mark.point,{groupKey:this._seriesField,isSeriesMark:!0},{morph:Re(this._spec,e.mark.point.name),morphElementKey:this.getDimensionField()[0]})}initMarkStyle(){this.initSymbolMarkStyle()}initAnimation(){let e=Ae(this),t=this._spec?.animationAppear?.preset;this._symbolMark.setAnimationConfig(oe(N.getAnimationInKey(`scatter`)?.({},t),kn(`point`,this._spec,this._markAttributeContext),e))}initSymbolMarkStyle(){let e=this._symbolMark;e&&(this._invalidType!==`zero`&&this.setMarkStyle(e,{visible:this._getInvalidDefined.bind(this)}),this.setMarkStyle(e,{x:this.dataToPositionX.bind(this),y:this.dataToPositionY.bind(this),z:this._fieldZ?this.dataToPositionZ.bind(this):null,fill:this.getColorAttribute(),size:G(this._size)||U(this._size)?this._size:10,symbolType:kr(this._shape)||U(this._shape)?this._shape:`circle`},T.STATE_NORMAL,D.Series),(R(this._sizeField)||R(this._size))&&this.setMarkStyle(e,{size:this.getSizeAttribute(this._sizeField,this._size)},T.STATE_NORMAL,D.User_Mark),(R(this._shapeField)||R(this._shape))&&this.setMarkStyle(e,{symbolType:this.getShapeAttribute(this._shapeField,this._shape)},T.STATE_NORMAL,D.User_Mark))}initTooltip(){super.initTooltip(),this._symbolMark&&this._tooltipHelper.activeTriggerSet.mark.add(this._symbolMark)}viewDataStatisticsUpdate(e){super.viewDataStatisticsUpdate(e);let t=[this.getDimensionField()[0],this.getStackValueField()].every((e=>e&&this.getViewDataStatistics()?.latestData?.[e]?.allValid));this._invalidType===`zero`||t?this.setMarkStyle(this._symbolMark,{visible:!0},`normal`,D.Series):this.setMarkStyle(this._symbolMark,{visible:this._getInvalidDefined.bind(this)},`normal`,D.Series),this._symbolMark.getProduct()&&this._symbolMark.compileEncode()}initLabelMarkStyle(e){e&&(this._labelMark=e,this.setMarkStyle(e,{fill:this.getColorAttribute(),text:e=>e[this.getStackValueField()],z:this._fieldZ?this.dataToPositionZ.bind(this):null},T.STATE_NORMAL,D.Series),this._invalidType!==`zero`&&this.setMarkStyle(e,{visible:this._getInvalidDefined.bind(this)},T.STATE_NORMAL,D.Series))}_updateSymbolGraphicPosition(){let e=this._symbolMark?.getGraphics();e&&e.length&&e.forEach((e=>{let t=e?.context?.data?.[0],n=this.dataToPosition(t);n&&e&&e.setAttributes({x:n.x,y:n.y})}))}_ensureLabelGraphicPostMatrix(){let e=(this._labelMark?.getComponent())?.getComponent();return e&&!e.attribute.postMatrix&&e.setAttributes({postMatrix:new hr}),e}handleZoom(e){let{scale:t,scaleCenter:n}=e;if(t===1)return;this._updateSymbolGraphicPosition();let r=this._ensureLabelGraphicPostMatrix();r&&r.scale(t,t,n)}handlePan(e){let{delta:t}=e;if(t?.[0]===0&&t?.[1]===0)return;this._updateSymbolGraphicPosition();let n=this._ensureLabelGraphicPostMatrix();n&&n.translate(t[0],t[1])}onLayoutEnd(){super.onLayoutEnd(),this._updateSymbolGraphicPosition();let e=(this._labelMark?.getComponent())?.getComponent();e!=null&&e.attribute.postMatrix&&e.setAttributes({postMatrix:new hr});let t=this._labelMark?.getComponent();t&&t.renderInner()}getDefaultShapeType(){return`circle`}getActiveMarks(){return[this._symbolMark]}},Y.type=A.scatter,Y.mark=Ui,Y.builtInTheme={scatter:qi},Y.transformerConstructor=Gi,Xi=()=>{Nt(),Vi(),ot(),ln(),N.registerSeries(Y.type,Y)}})))()}var Qi;function $i(){return($i=e((()=>{Ce(),Qi=class extends he{_getDefaultSeriesSpec(e){return super._getDefaultSeriesSpec(e,[`point`,`size`,`shape`,`shapeField`,`sizeField`])}}})))()}var ea,ta;function na(){return(na=e((()=>{Zi(),dt(),P(),$i(),Qe(),se(),Te(),m(),Gt(),ie(),x(),Dn(),ea=class extends _{constructor(){super(...arguments),this.transformerConstructor=Qi,this.type=`scatter`,this.seriesType=A.scatter}_setModelOption(){this._modelOption.getDimensionInfo=te,this._modelOption.getDimensionInfoByValue=je,this._modelOption.getRectByDimensionData=Ke}},ea.type=`scatter`,ea.seriesType=A.scatter,ea.transformerConstructor=Qi,Jn(ea,Fe),ta=()=>{Tn(),Ue(),Vt(),Oe(),Xi(),N.registerChart(ea.type,ea)}})))()}var ra,ia;function aa(){return(aa=e((()=>{z(),xr(),ra=(e,t,n=0,r=-1,i,a,o=`value`)=>{let s=0,c=r??-1,l=n;return e.forEach(((e,r)=>{let u={flattenIndex:++c,key:a?a(e):`${i?.key??``}-${r}`,maxDepth:-1,depth:n,index:r,value:e[o],isLeaf:!0,datum:i?i.datum.concat(e):[e],parentKey:i?.key};if(e.children?.length){u.children=[],u.isLeaf=!1;let t=ra(e.children,u.children,n+1,c,u,a,o);u.value=W(e[o])?t.sum:Math.max(t.sum,V(e[o])),c=t.flattenIndex,l=Math.max(t.maxDepth,l)}else u.isLeaf=!0,u.value=V(e[o]);s+=Math.abs(u.value),t.push(u)})),{sum:s,maxDepth:l,flattenIndex:c}},ia=(e,t=[],n)=>{let r=n?.maxDepth>=0;return e.forEach((e=>{(!r||e.depth<=n.maxDepth)&&(t.push(n?.callback?n.callback(e):e),e.children&&(r&&e.depth===n.maxDepth?(e.children=null,e.isLeaf=!0):ia(e.children,t,n)))})),t}})))()}function oa(e,t,n=[],r={},i){la(e);let a=(e,o,s)=>{e.forEach(((e,c)=>{let l=t?t(e):s?`${s[s.length-1].key}-${c}`:`${o}-${c}`,u=W(e.value)?0:V(e.value);if(r[l])r[l].value=void 0;else{let t={depth:o,datum:e,index:c,key:l,value:u,sourceLinks:[],targetLinks:[]};r[l]=t,n.push(t)}s&&i&&i.push({source:s[s.length-1].key,target:l,value:u,parents:s}),e.children&&e.children.length&&a(e.children,o+1,s?s.concat([r[l]]):[r[l]])}))};return a(e,0,null),n}function sa(e,t){let n=[],r=[],i={},a={},o=[];return oa(e,t,n,i,o),o.forEach(((e,t)=>{let n=`${e.source}-${e.target}`,o=Zn(e,[`parents`]);if(o.parents=e.parents.map((e=>Zn(e,[`sourceLinks`,`targetLinks`]))),a[n])return a[n].value+=V(e.value),void a[n].datum.push(o);let s={index:t,key:`${e.source}-${e.target}`,source:e.source,target:e.target,datum:[o],value:e.value,parents:e.parents.map((e=>e.key))};r.push(s),i[e.source].sourceLinks.push(s),i[e.target].targetLinks.push(s),a[n]=s})),{nodes:n,links:r,nodeMap:i}}function ca(e){for(let t=0,n=e.length;t<n;t++){let n=e[t];n.value=Math.max(W(n.value)?0:V(n.value),n.sourceLinks.reduce(((e,t)=>e+(V(t.value)??0)),0),n.targetLinks.reduce(((e,t)=>e+(V(t.value)??0)),0))}}var la;function ua(){return(ua=e((()=>{z(),qn(),xr(),la=e=>{let t=0;return e.forEach(((e,n)=>{W(e.value)&&(e.value=e.children?.length?la(e.children):0),t+=Math.abs(e.value)})),t}})))()}function da(e){return e.depth}function fa(e,t){return t-1-e.endDepth}function pa(e,t){return e.sourceLinks.length?e.depth:t-1}function ma(e,t,n){return e.targetLinks.length?e.depth:e.sourceLinks.length?Ar(e.sourceLinks.map((e=>n[e.target].depth)))-1:0}var ha,ga,_a,va,ya;function ba(){return(ba=e((()=>{Or(),gr(),Gn(),z(),dr(),Tr(),Yn(),Qn(),ua(),ha=(e,t)=>e?.y0-t?.y0,ga=(e,t)=>{if(W(e.value))return null;let n=(t?e.targetLinks:e.sourceLinks).reduce(((e,t)=>(W(t.value)?e.count+=1:e.sum+=t.value,e)),{sum:0,count:0});return n.count>0?(e.value-n.sum)/n.count:null},_a={left:da,right:fa,justify:pa,center:ma,start:da,end:fa},va=pr(0,1),ya=class e{constructor(t){this._ascendingSourceBreadth=(e,t)=>ha(this._nodeMap[e.source],this._nodeMap[t.source])||e.index-t.index,this._ascendingTargetBreadth=(e,t)=>ha(this._nodeMap[e.target],this._nodeMap[t.target])||e.index-t.index,this.options=Object.assign({},e.defaultOptions,t);let n=this.options.nodeKey,r=U(n)?n:n?or(n):null;this._getNodeKey=r,this._logger=Wn.getInstance(),this._alignFunc=U(this.options.setNodeLayer)?e=>this.options.setNodeLayer(e.datum):_a[this.options.nodeAlign]}layout(e,t){if(!e)return null;let n=`width`in t?{x0:0,x1:t.width,y0:0,y1:t.height,width:t.width,height:t.height}:{x0:Math.min(t.x0,t.x1),x1:Math.max(t.x0,t.x1),y0:Math.min(t.y0,t.y1),y1:Math.max(t.y0,t.y1),width:Math.abs(t.x1-t.x0),height:Math.abs(t.y1-t.y0)};this._viewBox=this.options.direction===`vertical`?{x0:n.y0,x1:n.y1,y0:n.x0,y1:n.x1,width:n.height,height:n.width}:n;let r=this.computeNodeLinks(e),i=r.nodes,a=r.links;if(this._nodeMap=r.nodeMap,this.computeNodeValues(i),this.computeNodeDepths(i),[`right`,`end`,`justify`].includes(this.options.nodeAlign)&&this.computeNodeEndDepths(i),this._maxDepth<=0)return null;let o=this.computeNodeBreadths(i);if(this.computeLinkBreadths(i),i.forEach((e=>{e.sourceLinks=e.sourceLinks.filter((e=>!W(e.source)&&!W(e.target))),e.targetLinks=e.targetLinks.filter((e=>!W(e.source)&&!W(e.target)))})),a=a.filter((e=>!W(e.source)&&!W(e.target))),this.options.direction===`vertical`){if(this.options.inverse){let e=this._viewBox.x1;i.forEach((t=>{let{y0:n,y1:r,x0:i,x1:a}=t;t.y0=e-a,t.y1=e-i,t.x0=n,t.x1=r})),a.forEach((t=>{t.vertical=!0;let{x0:n,x1:r,y0:i,y1:a}=t;t.x0=i,t.x1=a,t.y0=e-n,t.y1=e-r}))}else i.forEach((e=>{let{y0:t,y1:n}=e;e.y0=e.x0,e.y1=e.x1,e.x0=t,e.x1=n})),a.forEach((e=>{e.vertical=!0;let t=e.x0,n=e.x1;e.x0=e.y0,e.x1=e.y1,e.y0=t,e.y1=n}))}else this.options.inverse&&(i.forEach((e=>{let{x0:t,x1:r}=e;e.x0=n.x1-r,e.x1=n.x1-t})),a.forEach((e=>{e.x0=n.x1-e.x0,e.x1=n.x1-e.x1})));return a.forEach((e=>{let t=this._nodeMap[e.source],n=this._nodeMap[e.target];e.sourceRect={x0:t.x0,x1:t.x1,y0:t.y0,y1:t.y1},e.targetRect={x0:n.x0,x1:n.x1,y1:n.y1,y0:n.y0}})),{nodes:i,links:a,columns:o}}computeHierarchicNodeLinks(e){return sa(e,this._getNodeKey)}computeSourceTargetNodeLinks(e){let t=[],n=[],r={};e.nodes&&e.nodes.forEach(((e,n)=>{let i={depth:-1,datum:e,index:n,key:this._getNodeKey?this._getNodeKey(e):n,value:e.value,sourceLinks:[],targetLinks:[]};r[i.key]=i,t.push(i)}));let i=[];return e.links.forEach(((a,o)=>{let s=!W(a.source),c=!W(a.target);if(e.nodes&&(!r[a.source]||!r[a.target]))return;e.nodes||!s||r[a.source]||(r[a.source]={value:void 0,depth:-1,index:t.length,key:a.source,datum:null,sourceLinks:[],targetLinks:[]},t.push(r[a.source])),e.nodes||!c||r[a.target]||(r[a.target]={value:void 0,depth:-1,index:t.length,key:a.target,datum:null,sourceLinks:[],targetLinks:[]},t.push(r[a.target]));let l={index:o,source:a.source,target:a.target,datum:a,value:a.value};this.options.divideNodeValueToLink&&W(a.value)&&i.push(l),n.push(l),s&&r[a.source].sourceLinks.push(l),c&&r[a.target].targetLinks.push(l)})),this.options.divideNodeValueToLink&&i.length&&i.forEach((e=>{let t=[ga(r[e.source]),ga(r[e.target],!0)].filter((e=>!W(e)));t.length&&(e.value=Ar(t))})),{nodeMap:r,nodes:t,links:n}}computeNodeLinks(e){let t;`links`in e?t=this.computeSourceTargetNodeLinks(e):(this._isHierarchic=!0,t=this.computeHierarchicNodeLinks(e.nodes));let n=t.nodes,r=t.links;if(this.options.linkSortBy)for(let e=0,t=n.length;e<t;e++)n[e].sourceLinks.sort(this.options.linkSortBy),n[e].targetLinks.sort(this.options.linkSortBy);return this.options.dropIsolatedNode&&(n=n.filter((e=>e.targetLinks.length||e.sourceLinks.length))),{nodes:n,links:r,nodeMap:t.nodeMap}}computeNodeValues(e){return ca(e)}computeNodeDepths(e){var t;let n=e.length,r,i,a=e,o=0,s=-1,c=U(this.options.setNodeLayer)?this.options.setNodeLayer:null;for(;a.length&&o<n;){r=[],i={};for(let e=0,n=a.length;e<n;e++){let n=a[e];if(n&&(n.depth=c&&(t=c(n.datum))!=null?t:o,c&&(s=Math.max(n.depth,s)),n.sourceLinks&&n.sourceLinks.length))for(let e=0,t=n.sourceLinks.length;e<t;e++){let t=n.sourceLinks[e];i[t.target]||(r.push(this._nodeMap[t.target]),i[t.target]=!0)}}a=r,o+=1}o>n&&this._logger.warn(`Error: there is a circular link`),this._maxDepth=c?s+1:o}computeNodeEndDepths(e){let t=e.length,n,r,i=e,a=0;for(;i.length&&a<t;){n=[],r={};for(let e=0,t=i.length;e<t;e++){let t=i[e];if(t){t.endDepth=a;for(let e=0,i=t.targetLinks.length;e<i;e++){let i=t.targetLinks[e];r[i.source]||(n.push(this._nodeMap[i.source]),r[i.source]=!0)}}}i=n,a+=1}a>t&&this._logger.warn(`Error: there is a circular link`)}computeNodeLayers(e){let t=this.options.nodeWidth,n=this.options.linkWidth,r=this.options.minStepWidth,i=this._viewBox.width,a=null,o=null,s=!1;if(kr(t)){let e=ar(parseFloat(t.replace(`%`,``))/100,0,1),n=i/(this._maxDepth-1+e);r>0&&(n=Math.max(r,n)),a=n*e,o=n*(1-e),s=!0}else if(G(t)){if(a=t,G(n))o=n;else if(W(n)){let e=(i-t)/(this._maxDepth-1);r>0&&(e=Math.max(r,e)),o=e-t}s=!0}else U(t)&&G(n)&&(o=n);let c=[];for(let t=0,n=e.length;t<n;t++){let n=e[t];n.layer=this._isHierarchic?n.depth:ar(Math.floor(this._alignFunc(n,this._maxDepth,this._nodeMap)),0,this._maxDepth-1);let r=n.layer;r===this._maxDepth-1&&(n.isLastLayer=!0),s&&(n.x0=this._viewBox.x0+r*(a+o),n.x1=n.x0+a),c[r]?c[r].push(n):c[r]=[n]}if(this.options.nodeSortBy)for(let e=0,t=c.length;e<t;e++)c[e].sort(this.options.nodeSortBy);if(!s&&U(t)){let e=this._viewBox.x0;for(let r=0;r<this._maxDepth;r++){let i=c[r],s=0,l=0;for(let r=0,c=i&&i.length;r<c;r++){let c=i[r],u=t(c);c.x0=e,c.x1=e+u,s=Math.max(a,u);let d=c.sourceLinks;for(let e=0,t=d.length;e<t;e++){let t=d[e],r=U(n)?n(t,this._viewBox):o;l=Math.max(l,r)}}e+=s+l}}return c}initializeNodeBreadths(e){let t=this.options.minLinkHeight??0,n=this.options.minNodeHeight??0,r=this.options.maxNodeHeight??1/0,i=this.options.maxLinkHeight;(W(n)||n<t)&&(n=t),(W(i)||i>r)&&(i=r);let a=0,o=null,s=null;if(U(this.options.nodeGap))o=this.options.nodeGap,a=e.reduce(((e,t)=>{let n=t.reduce(((e,t)=>e+t.value),0),r=t.reduce(((e,t)=>e+this.options.nodeGap(t)),0);return Math.min(e,(this._viewBox.height-r)/n)}),1/0);else{let t=e.reduce(((e,t)=>Math.max(e,t.length)),0),r=this._viewBox.height/t,i=Math.min(this.options.nodeGap,r);if(n+i>r&&(i=n>=r?r/2:(r-n)/2,n=Math.min(r-i,n)),o=()=>i,this._gapY=i,this.options.equalNodeHeight)s=this._viewBox.height/t-i;else{let t=n>0?Math.max(i,n):i;a=e.reduce(((e,r)=>{let i=r.reduce(((e,t)=>e+t.value),0);return Math.min(e,(this._viewBox.height-((r.length-1)*t+n))/i)}),1/0)}}let c=this.options.gapPosition===`start`,l=!c&&this.options.gapPosition!==`end`,u=G(this.options.nodeHeight)?e=>this.options.nodeHeight:U(this.options.nodeHeight)?this.options.nodeHeight:s>0?e=>s:e=>Math.max(e.value*a,0),d=G(this.options.linkHeight)?()=>this.options.linkHeight:U(this.options.linkHeight)?this.options.linkHeight:(e,n,r)=>Math.min(Math.max(n.value?r*va(e.value/n.value):0,t,0),i);for(let t=0,i=e.length;t<i;t++){let i=e[t];if(!i||!i.length)continue;let a=this._viewBox.y0,s=0,f=0,p=0;for(let t=0,l=i.length;t<l;t++){let l=i[t];s=o(l),c&&(a+=s),p=u(l,e),f=Math.min(Math.max(p,n),r),l.y0=a,l.y1=a+f,a=c?l.y1:l.y1+s;for(let e=0,t=l.sourceLinks.length;e<t;e++){let t=l.sourceLinks[e];t.thickness=d(t,l,p)}}let m=this._viewBox.y1-a+(l?s:0);if(m>0){if(this.options.crossNodeAlign!==`start`){if(this.options.crossNodeAlign===`end`)for(let e=0,t=i.length;e<t;++e){let t=i[e];t.y0+=m,t.y1+=m}else if(this.options.crossNodeAlign===`parent`){let n=i.reduce(((e,t)=>(t.targetLinks&&t.targetLinks.length&&t.targetLinks.forEach((t=>{e[t.source]=!0})),e)),{});if(Object.keys(n).length&&e[t-1]&&e[t-1].length){let r=e[t-1].filter((e=>n[e.key]));if(r&&r.length&&r[0].y0!==i[0].y0){let e=r[0].y0-i[0].y0;for(let t=0,n=i.length;t<n;++t){let n=i[t];n.y0+=e,n.y1+=e}}}}else{m/=i.length+1;for(let e=0,t=i.length;e<t;++e){let t=i[e];t.y0+=m*(e+1),t.y1+=m*(e+1)}}}}else if(m<0&&i.length>1&&(m/=i.length-1,s+m>=0)){s+=m,this._gapY=Math.min(s);for(let e=1,t=i.length;e<t;++e){let t=i[e];t.y0+=m*e,t.y1+=m*e}}this.reorderLinks(i)}}computeNodeBreadths(e){let t=this.computeNodeLayers(e);this.initializeNodeBreadths(t);let n=this.options.iterations;if(!this._isHierarchic&&!U(this.options.setNodeLayer)&&!U(this.options.nodeGap))for(let e=0;e<n;++e){let r=.99**e,i=Math.max(1-r,(e+1)/n);this.relaxRightToLeft(t,r,i),this.relaxLeftToRight(t,r,i)}return t}relaxLeftToRight(e,t,n){for(let r=1,i=e.length;r<i;++r){let i=e[r];for(let e=0,n=i.length;e<n;e++){let n=i[e],r=0,a=0;for(let e=0,t=n.targetLinks.length;e<t;e++){let t=n.targetLinks[e],i=t.value*(n.layer-this._nodeMap[t.source].layer);r+=this.targetTop(this._nodeMap[t.source],n)*i,a+=i}if(!(a>0))continue;let o=(r/a-n.y0)*t;n.y0+=o,n.y1+=o,this.reorderNodeLinks(n)}W(this.options.nodeSortBy)&&i.sort(ha),this.resolveCollisions(i,n)}}relaxRightToLeft(e,t,n){for(let r=e.length-2;r>=0;--r){let i=e[r];for(let e=0,n=i.length;e<n;e++){let n=i[e],r=0,a=0;for(let e=0,t=n.sourceLinks.length;e<t;e++){let t=n.sourceLinks[e],i=t.value*(this._nodeMap[t.target].layer-n.layer);r+=this.sourceTop(n,this._nodeMap[t.target])*i,a+=i}if(!(a>0))continue;let o=(r/a-n.y0)*t;n.y0+=o,n.y1+=o,this.reorderNodeLinks(n)}this.options.nodeSortBy===void 0&&i.sort(ha),this.resolveCollisions(i,n)}}resolveCollisions(e,t){let n=e.length>>1,r=e[n];this.resolveCollisionsBottomToTop(e,r.y0-this._gapY,n-1,t),this.resolveCollisionsTopToBottom(e,r.y1+this._gapY,n+1,t),this.resolveCollisionsBottomToTop(e,this._viewBox.y1,e.length-1,t),this.resolveCollisionsTopToBottom(e,this._viewBox.y0,0,t)}resolveCollisionsTopToBottom(e,t,n,r){for(;n<e.length;++n){let i=e[n],a=(t-i.y0)*r;a>1e-6&&(i.y0+=a,i.y1+=a),t=i.y1+this._gapY}}resolveCollisionsBottomToTop(e,t,n,r){for(;n>=0;--n){let i=e[n],a=(i.y1-t)*r;a>1e-6&&(i.y0-=a,i.y1-=a),t=i.y0-this._gapY}}targetTop(e,t){let n,r,i,a=e.y0-(e.sourceLinks.length-1)*this._gapY/2;for(n=0,r=e.sourceLinks.length;n<r&&(i=e.sourceLinks[n],i.target!==t.key);n++)a+=i.thickness+this._gapY;for(n=0,r=t.targetLinks.length;n<r&&(i=t.targetLinks[n],i.source!==e.key);n++)a-=i.thickness;return a}sourceTop(e,t){let n,r,i,a=t.y0-(t.targetLinks.length-1)*this._gapY/2;for(n=0,r=t.targetLinks.length;n<r&&(i=t.targetLinks[n],i.source!==e.key);n++)a+=i.thickness+this._gapY;for(n=0,r=e.sourceLinks.length;n<r&&(i=e.sourceLinks[n],i.target!==t.key);n++)a-=i.thickness;return a}computeLinkBreadthsNoOverlap(e){for(let t=0,n=e.length;t<n;t++){let n=e[t],r=n.y0,i=!1;for(let e=0,t=n.sourceLinks.length;e<t;e++){let t=n.sourceLinks[e];i||(t.y0=r+t.thickness/2),t.x0=n.x1,r+t.thickness>n.y1||i?(t.y0=n.y1-t.thickness/2,i=!0):r+=t.thickness}let a=n.y0;i=!1;for(let e=0,t=n.targetLinks.length;e<t;e++){let t=n.targetLinks[e];i||(t.y1=a+t.thickness/2),t.x1=n.x0,a+t.thickness>n.y1||i?(t.y1=n.y1-t.thickness/2,i=!0):a+=t.thickness}}}computeLinkBreadthsOverlap(e){let t=this.options.linkOverlap;for(let n=0,r=e.length;n<r;n++){let r=e[n],i=t===`start`?r.y0:t===`end`?r.y1:(r.y0+r.y1)/2,a=t===`start`?.5:t===`end`?-.5:0;for(let e=0,t=r.sourceLinks.length;e<t;e++){let t=r.sourceLinks[e];t.y0=i+a*t.thickness,t.x0=r.x1}for(let e=0,t=r.targetLinks.length;e<t;e++){let t=r.targetLinks[e];t.y1=i+a*t.thickness,t.x1=r.x0}}}computeLinkBreadths(e){this.options.linkOverlap?this.computeLinkBreadthsOverlap(e):this.computeLinkBreadthsNoOverlap(e)}reorderNodeLinks(e){if(W(this.options.linkSortBy)){let t=e.targetLinks,n=e.sourceLinks;for(let e=0,n=t.length;e<n;e++){let n=t[e];this._nodeMap[n.source].sourceLinks.sort(this._ascendingTargetBreadth)}for(let e=0,t=n.length;e<t;e++){let t=n[e];this._nodeMap[t.target].targetLinks.sort(this._ascendingSourceBreadth)}}}reorderLinks(e){if(W(this.options.linkSortBy))for(let t=0,n=e.length;t<n;t++){let n=e[t];n.sourceLinks.sort(this._ascendingTargetBreadth),n.targetLinks.sort(this._ascendingSourceBreadth)}}},ya.defaultOptions={iterations:6,nodeAlign:`justify`,direction:`horizontal`,nodeWidth:24,nodeGap:8,crossNodeAlign:`middle`,dropIsolatedNode:!0}})))()}
|
|
2
2
|
/* Adapted from d3-hierarchy by Mike Bostock
|
|
3
3
|
* https://observablehq.com/collection/@d3/d3-hierarchy
|
|
4
4
|
* Licensed under the ISC
|
|
@@ -44,4 +44,4 @@ function wa(e,t,n,r,i){(e.depth%2==1?Ca:xa)(e,t,n,r,i)}function Ta(){return(Ta=e
|
|
|
44
44
|
* @license
|
|
45
45
|
*/
|
|
46
46
|
function Ea(e,t,n,r,i,a){let o=[],s=t.children,c,l,u=0,d=0,f=s.length,p,m,h,g,_,v,y,b,x,S=t.value;for(;u<f;){p=i-n,m=a-r;do h=s[d++].value;while(!h&&d<f);for(g=h,_=h,b=Math.max(m/p,p/m)/(S*e),x=h*h*b,y=Math.max(_/x,x/g);d<f;++d){if(l=s[d].value,h+=l,l<g&&(g=l),l>_&&(_=l),x=h*h*b,v=Math.max(_/x,x/g),v>y){h-=l;break}y=v}c=Object.assign({},t,{value:h,children:s.slice(u,d)}),o.push(c),p<m?xa(c,n,r,i,S?r+=m*h/S:a):Ca(c,n,r,S?n+=p*h/S:i,a),S-=h,u=d}return o}var Da;function Oa(){return(Oa=e((()=>{Da=e=>(t,n,r,i,a)=>{Ea(e,t,n,r,i,a)}})))()}var ka,Aa;function ja(){return(ja=e((()=>{Ta(),Oa(),aa(),gr(),H(),Gn(),dr(),ka={binary:Sa,dice:xa,slice:Ca,sliceDice:wa},Aa=class e{constructor(t){this._filterByArea=(e,t)=>{let n=this._getMinAreaByDepth(e.depth);if(n>0&&e.value*t<n)return!1;if(e.children?.length){let n=e.children.filter((e=>this._filterByArea(e,t)));n.length?n.length!==e.children.length&&(e.children=n):(e.isLeaf=!0,e.children=null)}return!0},this._getMinAreaByDepth=e=>e<0?0:(B(this.options.minVisibleArea)?this.options.minVisibleArea[e]:this.options.minVisibleArea)??0,this._getGapWidthByDepth=e=>e<0?0:(B(this.options.gapWidth)?this.options.gapWidth[e]:this.options.gapWidth)??0,this._getPaddingByDepth=e=>e<0?0:(B(this.options.padding)?this.options.padding[e]:this.options.padding)??0,this._getLabelPaddingByDepth=e=>e<0?0:(B(this.options.labelPadding)?this.options.labelPadding[e]:this.options.labelPadding)??0,this._layoutNode=e=>{let t=this._getGapWidthByDepth(e.depth),n=e.x0,r=e.y0,i=e.x1,a=e.y1;if(e.maxDepth=this._maxDepth,t>0&&(n+=t/2,i-=t/2,r+=t/2,a-=t/2,n>i&&(n=(n+i)/2,i=n),r>a&&(r=(r+a)/2,a=r),e.x0=n,e.x1=i,e.y0=r,e.y1=a),e.children){let t=this._getLabelPaddingByDepth(e.depth),o=this._getPaddingByDepth(e.depth);o>0&&o<Math.min(i-n,a-r)/2&&(r+=o,a-=o,n+=o,i-=o),t>0&&(this.options.labelPosition===`top`&&r+t<a?(e.labelRect={x0:n,y0:r,x1:i,y1:r+t},r+=t):this.options.labelPosition===`bottom`&&a-t>r?(e.labelRect={x0:n,y0:a-t,x1:i,y1:a},a-=t):this.options.labelPosition===`left`&&n+t<i?(e.labelRect={x0:n,y0:r,x1:n+t,y1:a},n+=t):this.options.labelPosition===`right`&&i-t>n&&(e.labelRect={x0:i-t,y0:r,x1:i,y1:a},i-=t));let s=this._getGapWidthByDepth(e.depth+1);s>0&&(n-=s/2,i+=s/2,r-=s/2,a+=s/2),this._splitNode(e,n,r,i,a)}},this.options=Object.assign({},e.defaultOpionts,t);let n=this.options.nodeKey,r=U(n)?n:n?or(n):null;this._getNodeKey=r,this._splitNode=this.options.splitType===`squarify`?Da(this.options.aspectRatio):ka[this.options.splitType]??ka.binary,this._maxDepth=-1}layout(e,t){if(!e||!e.length)return[];let n=`width`in t?{x0:0,x1:t.width,y0:0,y1:t.height,width:t.width,height:t.height}:{x0:Math.min(t.x0,t.x1),x1:Math.max(t.x0,t.x1),y0:Math.min(t.y0,t.y1),y1:Math.max(t.y0,t.y1),width:Math.abs(t.x1-t.x0),height:Math.abs(t.y1-t.y0)},r=[],i=ra(e,r,0,-1,null,this._getNodeKey,this.options.valueField);if(this._maxDepth=i.maxDepth,i.sum<=0)return[];let a={flattenIndex:-1,maxDepth:-1,key:`-1`,depth:-1,index:-1,value:i.sum,datum:null,x0:n.x0,x1:n.x1,y0:n.y0,y1:n.y1,children:r},o=n.width*n.height/i.sum;return this._filterByArea(a,o),this._layout(a),a.children??[]}_filterChildren(e){let t=this.options.maxDepth;if(G(t)&&t>=0&&e.depth>=t)return!1;let n=this.options.minChildrenVisibleArea;if(G(n)&&Math.abs((e.x1-e.x0)*(e.y1-e.y0))<n)return!1;let r=this.options.minChildrenVisibleSize;return!G(r)||!(Math.abs(e.x1-e.x0)<r||Math.abs(e.y1-e.y0)<r)}_layout(e){var t;this._filterChildren(e)||(e.children=null,e.isLeaf=!0),this._layoutNode(e),(t=e.children)!=null&&t.length&&e.children.forEach((e=>{e?.children?.length?this._layout(e):this._layoutNode(e)}))}},Aa.defaultOpionts={aspectRatio:(1+Math.sqrt(5))/2,gapWidth:0,labelPadding:0,labelPosition:`top`,splitType:`binary`,minVisibleArea:10}})))()}var Ma;function Na(){return(Na=e((()=>{aa(),Ma=(e,t={})=>{if(!e)return[];let n=[];return ia(e,n,t),n}})))()}var Pa,Fa;function Ia(){return(Ia=e((()=>{f(),Yn(),z(),(function(e){e.DrillDown=`drillDown`,e.DrillUp=`drillUp`})(Pa||={}),Fa=(e,t)=>{let n=t.info(),r=t.keyField(),i=n?.key;if(W(i))return e;if(n.type===Pa.DrillDown){let t=rt(e,i,r,`children`);return $n(t)}if(n.type===Pa.DrillUp){let t=lt(e,i,r,`children`);if(t)return $n(t)}return e}})))()}var La;function Ra(){return(Ra=e((()=>{H(),vr(),z(),Ia(),yt(),f(),le(),Ht(),La=class{_getDrillTriggerEvent(e){let{mode:t}=this._drillParams;return mn(t)?.[e]}_hideTooltip(){let e=this.getChart().getComponentsByType(ke.tooltip)[0];e&&e.hideTooltip()}initDrillable(e){this._drillParams=e}initDrillableData(e){let{getRawData:t}=this._drillParams;k(e,`drillFilter`,Fa),t().transform({type:`drillFilter`,options:{info:()=>this._drillInfo,keyField:()=>this._drillParams.drillField()}})}bindDrillEvent(){let{event:e,getRawData:t,drillField:n}=this._drillParams,r=n();this._getDrillTriggerEvent(`start`)&&e.on(this._getDrillTriggerEvent(`start`),(e=>{if(W(e.datum)||W(e.datum?.[r]))return void this.drillUp();this._hideTooltip();let n=e.datum[r],i=this._drillInfo?.path??[],a=Le(t().rawData,n,r,`children`);i[i.length-1]===a[a.length-1]?this.drillUp():this.drillDown(a)}))}drillDown(e=[]){let{getRawData:t,event:n}=this._drillParams;if(!B(e)||yr(e))return e;let r=e[e.length-1];return this._drillInfo={key:r,path:e,type:Pa.DrillDown},t().reRunAllTransform(),n.emit(fe.drill,{value:{path:e,type:Pa.DrillDown},model:this}),e}drillUp(){let{getRawData:e,event:t}=this._drillParams,n=this._drillInfo?.path??[];if(!B(n)||yr(n))return n;let r=n.pop();return this._drillInfo={key:r,path:n,type:Pa.DrillUp},e().reRunAllTransform(),t.emit(fe.drill,{value:{path:n,type:Pa.DrillUp},model:this}),n}}})))()}var za;function Ba(){return(Ba=e((()=>{at(),za=(e,t,n)=>(e.push({key:t,operations:[`values`]}),e.push({key:n,operations:[`max`,`min`]}),e.push({key:sn,operations:[`max`,`min`,`values`]}),e.push({key:_e,operations:[`values`]}),e)})))()}var Va,Ha,Ua,Wa;function Ga(){return(Ga=e((()=>{ba(),H(),Gn(),z(),Va=(e,t,n)=>{t.forEach((t=>{W(t[n])||e.add(t[n]),t.children&&t.children.length>0&&Va(e,t.children,n)}))},Ha=e=>{if(!e||!B(e))return[];if(e.length>1){let t={links:[],nodes:[]};return e.forEach((e=>{e.id!==`links`&&e.id!==`nodes`||(t[e.id]=e.values)})),[t]}return e[0]?.latestData?e[0].latestData:e},Ua=(e,t)=>{let n=U(t)?t():t;if(!e||!n?.view||!e.length)return[];let r=n.view();if(r.x1-r.x0==0||r.y1-r.y0==0||r.x1-r.x0==-1/0||r.x1-r.x0==1/0||r.y1-r.y0==-1/0||r.y1-r.y0==1/0)return[];let i=e[0],a=Wa(i,n),o=new ya(n),s=[];return s.push(o.layout(a,r)),s},Wa=(e,t)=>{if(t.sourceField===`source`&&t.targetField===`target`&&t.valueField===`value`)return e;let n=e.links;return n?Object.assign(Object.assign({},e),{links:n.map((e=>{let n={};return Object.keys(e).forEach((r=>{r===t.sourceField?n.source=e[t.sourceField]:r===t.targetField?n.target=e[t.targetField]:r===t.valueField?n.value=e[t.valueField]:n[r]=e[r]})),n}))}):e}})))()}var Ka;function qa(){return(qa=e((()=>{H(),Ka=e=>{var t;return e&&B(e)&&e[0]?.latestData&&e[0].latestData.length&&e[0].latestData[0]&&(t=e[0].latestData[0].nodes)!=null?t:[]}})))()}var Ja;function Ya(){return(Ya=e((()=>{H(),Ja=e=>{var t;return e&&B(e)&&e[0]?.latestData&&e[0].latestData.length&&e[0].latestData[0]&&(t=e[0].latestData[0].links)!=null?t:[]}})))()}var Xa;function Za(){return(Za=e((()=>{d(),z(),dr(),Xa=class extends Ie{constructor(){super(...arguments),this._getDimensionData=e=>{if(!W(e?.source)&&!W(e?.target)){if(G(e.source)){let t=this.series.getSeriesKeys();return t[e.source]+` => `+t[e.target]}return e.source+` => `+e.target}return e.datum?e.datum[this.series.getSpec().categoryField]:e.key},this.markTooltipValueCallback=e=>e.value}}})))()}var Qa,$a,eo,to,no,ro,io,ao;function oo(){return(oo=e((()=>{P(),Zt(),Br(),zr(),Qa=(e,t=!0)=>({type:e.direction===`horizontal`?`growWidthIn`:`growHeightIn`,options:{overall:t&&e.growFrom(),orient:`positive`}}),$a=(e,t)=>t===`fadeIn`?{type:`fadeIn`}:Qa(e),eo=e=>e===`fadeIn`?{type:`fadeIn`}:{type:`linkPathGrowIn`},to=(e,t,n)=>{let r={x0:e.getFinalAttribute().x0,x1:e.getFinalAttribute().x1,y0:e.getFinalAttribute().y0,y1:e.getFinalAttribute().y1,thickness:e.getFinalAttribute().thickness};return{from:Object.assign({},r,{x1:r.x0,y1:r.y0}),to:r}},no=(e,t,n)=>{let r={x0:e.getFinalAttribute().x0,x1:e.getFinalAttribute().x1,y0:e.getFinalAttribute().y0,y1:e.getFinalAttribute().y1,thickness:e.getFinalAttribute().thickness};return{from:r,to:Object.assign({},r,{x1:r.x0,y1:r.y0})}},ro=class extends jr{onBind(){var e;super.onBind(),(e=this.params)!=null&&e.diffAttrs&&this.target.setAttributes(this.params.diffAttrs);let{from:t,to:n}=to(this.target,this.params.options,this.params),r=this.target.context?.lastAttrs??t,i=this.target.getFinalAttribute();i&&Object.assign(this.target.attribute,i),this.props=n,this.propKeys=Object.keys(n).filter((e=>n[e]!=null)),this.animate.reSyncProps(),this.from=r,this.to=n,this.target.setAttributes(r)}onUpdate(e,t,n){let r=this.target.attribute;this.propKeys.forEach((e=>{r[e]=this.from[e]+(this.to[e]-this.from[e])*t})),this.target.setAttributes(r)}},io=class extends jr{onBind(){var e;super.onBind(),(e=this.params)!=null&&e.diffAttrs&&this.target.setAttributes(this.params.diffAttrs);let{from:t,to:n}=no(this.target,this.params.options,this.params),r=this.target.context?.lastAttrs??t;this.props=n,this.propKeys=Object.keys(n).filter((e=>n[e]!=null)),this.animate.reSyncProps(),this.from=r,this.to=n,this.target.setAttributes(r)}onUpdate(e,t,n){let r=this.target.attribute;this.propKeys.forEach((e=>{r[e]=this.from[e]+(this.to[e]-this.from[e])*t})),this.target.setAttributes(r)}},ao=()=>{N.registerAnimation(`sankeyNode`,((e,t)=>Object.assign({appear:$a(e,t)},Et))),N.registerAnimation(`sankeyLinkPath`,((e,t)=>({appear:eo(t),enter:{type:`linkPathGrowIn`},exit:{type:`linkPathGrowOut`},disappear:{duration:xt.disappear.duration}}))),Rr.registerBuiltInAnimate(`linkPathGrowOut`,io),Rr.registerBuiltInAnimate(`linkPathGrowIn`,ro)}})))()}var so,co,lo,uo,fo;function po(){return(po=e((()=>{P(),fn(),C(),w(),so={[T.STATE_SANKEY_EMPHASIS]:[`ratio`]},co=(e,t)=>{let n=e.curvature??.5,r=typeof t==`number`?e.thickness*t:e.thickness,i=e.x0,a=e.x1,o=e.y0,s=e.y1,c=i+n*(a-i),l=a+n*(i-a),u=e=>e;!1!==e.round&&(i=Math.round(i),a=Math.round(a),o=Math.round(o),s=Math.round(s),c=Math.round(c),l=Math.round(l),u=Math.round),e.pathType===`line`||e.pathType,e.align===`center`?(o=u(e.y0-r/2),s=u(e.y1-r/2)):e.align===`end`?(o=u(e.y0+e.thickness/2-r),s=u(e.y1+e.thickness/2-r)):(o=u(e.y0-e.thickness/2),s=u(e.y1-e.thickness/2));let d=u(o+r),f=u(s+r),p=Math.abs(a-i)>1e-6,m=e.endArrow&&p?`L${a},${u(s-r/2)}L${u(a+r)},${u((s+f)/2)}L${a},${u(f+r/2)}`:``,h=e.startArrow&&p?`L${i},${u(d+r/2)}L${u(i-r)},${u((o+d)/2)}L${i},${u(o-r/2)}`:``;return e.pathType===`line`?`M${i},${o}L${a},${s}${m}L${a},${f}L${i},${d}${h}Z`:e.pathType===`polyline`?`M${i},${o}L${c},${o}L${c},${s}L${a},${s}\n ${m}L${a},${f}L${c},${f}L${c},${d}L${i},${d}${h}Z`:`M${i},${o}C${c},${o},${l},${s},${a},${s}\n ${m}L${a},${f}C${l},${f},${c},${d},${i},${d}${h}Z`},lo=(e,t)=>{let n=e.curvature??.5,r=typeof t==`number`?e.thickness*t:e.thickness,i=e.y0,a=e.y1,o=e.x0,s=e.x1,c=i+n*(a-i),l=a+n*(i-a),u=e=>e;!1!==e.round&&(u=Math.round,i=Math.round(i),a=Math.round(a),o=Math.round(o),s=Math.round(s),c=Math.round(c),l=Math.round(l)),e.pathType===`line`||e.pathType,e.align===`center`?(o=u(e.x0-r/2),s=u(e.x1-r/2)):e.align===`end`?(o=u(e.x0+e.thickness/2-r),s=u(e.x1+e.thickness/2-r)):(o=u(e.x0-e.thickness/2),s=u(e.x1-e.thickness/2));let d=u(o+r),f=u(s+r),p=Math.abs(a-i)>1e-6,m=e.endArrow&&p?`L${u(s-r/2)},${a}L${u((s+f)/2)},${u(a+r)}L${u(f+r/2)},${a}`:``,h=e.startArrow&&p?`L${u(d+r/2)},${i}L${u((d+o)/2)},${u(i-r)}L${u(o-r/2)},${i}`:``;return e.pathType===`line`?`M${o},${i}L${s},${a}${m}L${f},${a}L${d},${i}${h}Z`:e.pathType===`polyline`?`M${o},${i}L${o},${c}L${s},${c}L${s},${a}\n ${m}L${f},${a}L${f},${c}L${d},${c}L${d},${i}${h}Z`:`M${o},${i}C${o},${c},${s},${l},${s},${a}\n ${m}L${f},${a}C${f},${l},${d},${c},${d},${i}${h}Z`},uo=class e extends tn{constructor(){super(...arguments),this.type=e.type,this._subMarks={back:{type:`path`,defaultAttributes:{zIndex:0}},front:{type:`path`,defaultAttributes:{zIndex:1}}},this._positionChannels=[`x0`,`y0`,`x1`,`y1`,`thickness`,`round`,`curvature`,`ratio`,`pathType`,`align`,`endArrow`,`startArrow`,`direction`],this._channelEncoder={backgroundStyle:e=>({back:e})},this._positionEncoder=(e,t,n)=>{let r=e,i=r.direction??this._glyphConfig?.direction,a=[`vertical`,`TB`,`BT`].includes(i)?lo:co,o=typeof r.ratio==`number`&&r.ratio>=0&&r.ratio<=1;return{back:{path:o?a(r,1):``},front:{path:a(r,o?r.ratio:1)}}}}_getRuntimeStateKeys(){return so}_getDefaultStyle(){return Object.assign(Object.assign({},super._getDefaultStyle()),{x:0,y:0,x0:0,y0:0,x1:100,y1:100,thickness:1,round:!0})}},uo.type=`linkPath`,fo=()=>{Rt(),Nr(),N.registerGraphicComponent(`path`,(e=>Mr(e))),N.registerMark(uo.type,uo)}})))()}var mo;function ho(){return(ho=e((()=>{Ze(),mo=Object.assign(Object.assign({},g),{node:{name:`node`,type:`rect`},link:{name:`link`,type:`linkPath`}})})))()}var go;function _o(){return(_o=e((()=>{Ne(),go=class extends Ee{_transformLabelSpec(e){this._addMarkLabelSpec(e,`node`)}}})))()}var vo;function yo(){return(yo=e((()=>{He(),vo=(e,t,n,r=!0,i)=>{e.runtimeStateCache||={},e.runtimeStateCache[t]=n,F(e,t,r,i)}})))()}var bo;function xo(){return(xo=e((()=>{bo={link:{style:{fillOpacity:.15,round:!0}}}})))()}var X,So;function Co(){return(Co=e((()=>{ee(),dt(),me(),Zt(),Ga(),qa(),Ya(),w(),Dr(),we(),Wt(),le(),Za(),Yn(),z(),Kn(),dr(),H(),Cr(),oo(),Mt(),St(),wt(),po(),ho(),Na(),P(),An(),ye(),_o(),Lt(),cn(),yo(),xo(),He(),X=class e extends re{constructor(){super(...arguments),this.type=A.sankey,this.transformerConstructor=go,this._nodeLayoutZIndex=Bt.Node,this._labelLayoutZIndex=Bt.Label,this._viewBox=new cr,this._fillByNode=e=>{if(e&&e.sourceRect&&e.targetRect)return this._fillByLink(e);let t=this._spec.node?.style?.fill;if(R(t))return t;if(R(this._spec.seriesField)){let t=(this._option?.globalScale)?.getScale(`color`),n=e?.datum?e.datum:e;return t?.scale(n?.[this._spec.seriesField])}return this._colorScale?.scale(this._getNodeNameFromData(e))},this._fillByLink=e=>{let t=this._spec.link?.style?.fill;if(t)return t;if(R(this._spec.seriesField)){let t=this._nodesSeriesData.latestData?.find((t=>e.source===t.key))?.datum;return((this._option?.globalScale)?.getScale(`color`))?.scale(t?.[this._spec.seriesField])}let n=G(e.source)?this.getNodeList()[e.source]:e.source;return this._colorScale?.scale(n)},this._handleEmphasisElement=e=>{let t=this._spec.emphasis??{},n=e.item;t.effect===`adjacency`?n&&e.mark===this._nodeMark?this._handleNodeAdjacencyClick(n):n&&e.mark===this._linkMark?this._handleLinkAdjacencyClick(n):this._handleClearEmpty():t.effect===`related`&&(n&&e.mark===this._nodeMark?this._handleNodeRelatedClick(n):n&&e.mark===this._linkMark?this._handleLinkRelatedClick(n):this._handleClearEmpty())},this._handleClearEmpty=()=>{if(!this._needClear)return;let e=this._nodeMark?.getGraphics();if(!e||!e.length)return;let t=this._linkMark?.getGraphics();t&&t.length&&(e.forEach((e=>{b(e,[T.STATE_SANKEY_EMPHASIS,T.STATE_SANKEY_EMPHASIS_REVERSE])})),t.forEach((e=>{b(e,[T.STATE_SANKEY_EMPHASIS,T.STATE_SANKEY_EMPHASIS_REVERSE])})),this._needClear=!1)},this._handleNodeAdjacencyClick=e=>{let t=E(e),n=[t.key];if(this._linkMark){let e=this._linkMark.getGraphics();if(!e||!e.length)return;e.forEach(((e,r)=>{let i=E(e);i.source===t.key?(n.includes(i.target)||n.push(i.target),b(e,T.STATE_SANKEY_EMPHASIS_REVERSE),F(e,T.STATE_SANKEY_EMPHASIS,!0,this._hasLinkStateAnimation())):i.target===t.key?(n.includes(i.source)||n.push(i.source),b(e,T.STATE_SANKEY_EMPHASIS_REVERSE),F(e,T.STATE_SANKEY_EMPHASIS,!0,this._hasLinkStateAnimation())):(b(e,T.STATE_SANKEY_EMPHASIS),F(e,T.STATE_SANKEY_EMPHASIS_REVERSE,!0,this._hasLinkStateAnimation()))}))}this._nodeMark&&this._highLightElements(this._nodeMark.getGraphics(),n),this._needClear=!0},this._handleLinkAdjacencyClick=e=>{let t=E(e),n=[t.source,t.target];if(this._linkMark){let t=this._linkMark.getGraphics();if(!t||!t.length)return;t.forEach((t=>{t===e?(b(t,T.STATE_SANKEY_EMPHASIS_REVERSE),vo(t,T.STATE_SANKEY_EMPHASIS,{ratio:1},!0,this._hasLinkStateAnimation())):(b(t,T.STATE_SANKEY_EMPHASIS),F(t,T.STATE_SANKEY_EMPHASIS_REVERSE,!0,this._hasLinkStateAnimation()))}))}this._nodeMark&&this._highLightElements(this._nodeMark.getGraphics(),n),this._needClear=!0},this._handleNodeRelatedClick=e=>{let t=E(e),n=this._nodeMark.getGraphics();if(!n||!n.length)return;let r=this._linkMark.getGraphics();if(!r||!r.length)return;let i=E(r[0])?.parents?`parents`:`source`;if(i===`source`)this._highlightPlainRelated(n,r,{nodes:[t.key],downstreamFrom:[t.key],upstreamFrom:[t.key]});else{let e=[t.key],n=t.targetLinks.reduce(((e,n)=>($n(n.datum).forEach((n=>{let r=n.parents,i=r.length;for(let a=0;a<i;a++){let i=r[a].key,o=r[a+1]?r[a+1].key:t.key,s=n.value,c=e.find((e=>e.source===i&&e.target===o));c?c.value+=s:e.push({source:i,target:o,value:s})}})),e)),[]);r.forEach(((r,a)=>{let o=E(r),s=o.datum,c=s?s.filter((e=>e[i].some((e=>e.key===t.key)))):null,l=n.find((e=>e.source===o.source&&e.target===o.target));if(c&&c.length){e.includes(o.source)||e.push(o.source),e.includes(o.target)||e.push(o.target);let t=c.reduce(((e,t)=>e+t.value),0)/o.value;b(r,T.STATE_SANKEY_EMPHASIS_REVERSE),vo(r,T.STATE_SANKEY_EMPHASIS,{ratio:t},!0,this._hasLinkStateAnimation())}else{if(l)return e.includes(o.source)||e.push(o.source),e.includes(o.target)||e.push(o.target),b(r,T.STATE_SANKEY_EMPHASIS_REVERSE),void vo(r,T.STATE_SANKEY_EMPHASIS,{ratio:l.value/o.value},!0,this._hasLinkStateAnimation());b(r,T.STATE_SANKEY_EMPHASIS),F(r,T.STATE_SANKEY_EMPHASIS_REVERSE,!0,this._hasLinkStateAnimation())}})),this._nodeMark&&this._highLightElements(this._nodeMark.getGraphics(),e)}this._needClear=!0},this._handleLinkRelatedClick=e=>{let t=this._nodeMark.getGraphics();if(!t||!t.length)return;let n=this._linkMark.getGraphics();if(!n||!n.length)return;let r=E(e);if(r?.parents){let e=[r.source,r.target],i=[];$n(r.datum).forEach((e=>{let t=e.parents,n=t.length;for(let r=0;r<n-1;r++){let n=t[r].key,a=t[r+1].key,o=e.value,s=i.find((e=>e.source===n&&e.target===a));i.push({source:t[r].key,target:t[r+1].key,value:e.value}),s?s.value+=o:i.push({source:n,target:a,value:o})}})),n.forEach((t=>{let n=E(t),a=n.datum;if(n.source===r.source&&n.target===r.target)return b(t,T.STATE_SANKEY_EMPHASIS_REVERSE),void vo(t,T.STATE_SANKEY_EMPHASIS,{ratio:1},!0,this._hasLinkStateAnimation());let o=a?a.filter((e=>{let t=e.parents.map((e=>e.key));return t.includes(r.source)&&t.includes(r.target)})):null;if(o&&o.length){e.includes(n.source)||e.push(n.source),e.includes(n.target)||e.push(n.target);let i=o.filter((e=>e.parents.some(((t,n)=>t.key===r.source&&e.parents[n+1]?.key===r.target)))).reduce(((e,t)=>e+t.value),0)/n.value;b(t,T.STATE_SANKEY_EMPHASIS_REVERSE),vo(t,T.STATE_SANKEY_EMPHASIS,{ratio:i},!0,this._hasLinkStateAnimation());return}let s=i.find((e=>e.source===n.source&&e.target===n.target));if(s)return e.includes(n.source)||e.push(n.source),e.includes(n.target)||e.push(n.target),b(t,T.STATE_SANKEY_EMPHASIS_REVERSE),void vo(t,T.STATE_SANKEY_EMPHASIS,{ratio:s.value/n.value},!0,this._hasLinkStateAnimation());b(t,T.STATE_SANKEY_EMPHASIS),F(t,T.STATE_SANKEY_EMPHASIS_REVERSE,!0,this._hasLinkStateAnimation())})),this._highLightElements(t,e)}else r&&this._highlightPlainRelated(t,n,{nodes:[r.source,r.target],links:[r],downstreamFrom:[r.target],upstreamFrom:[r.source]});this._needClear=!0}}get direction(){return this._spec.direction??`horizontal`}_hasStateAnimation(e){return Se(this)&&!!(e?.hasAnimationByState)?.call(e,`state`)}_hasLinkStateAnimation(){return this._hasStateAnimation(this._linkMark)}_hasNodeStateAnimation(){return this._hasStateAnimation(this._nodeMark)}getCategoryField(){return this._categoryField}setCategoryField(e){return this._categoryField=e,this._categoryField}getValueField(){return this._valueField}setValueField(e){return this._valueField=e,this._valueField}setAttrFromSpec(){super.setAttrFromSpec(),this.setCategoryField(this._spec.categoryField),this.setValueField(this._spec.valueField),this.setSeriesField(this._spec.seriesField??this._spec.categoryField)}initData(){super.initData();let e=this.getViewData(),t=this.getRawData();if(t&&e){k(this._dataSet,`sankeyLayout`,Ua),k(this._dataSet,`sankeyFormat`,Ha),t.transform({type:`sankeyFormat`},!1),e.transform({type:`sankeyLayout`,options:()=>({view:()=>({x0:this._viewBox.x1,x1:this._viewBox.x2,y0:this._viewBox.y1,y1:this._viewBox.y2}),sourceField:this._spec.sourceField,targetField:this._spec.targetField,valueField:this._spec.valueField,direction:this.direction,crossNodeAlign:this._spec.crossNodeAlign,nodeAlign:this._spec.nodeAlign??`justify`,nodeGap:this._spec.nodeGap??8,nodeWidth:this._spec.nodeWidth??10,linkWidth:this._spec.linkWidth,minStepWidth:this._spec.minStepWidth,minNodeHeight:this._spec.minNodeHeight??4,maxNodeHeight:this._spec.maxNodeHeight,minLinkHeight:this._spec.minLinkHeight,maxLinkHeight:this._spec.maxLinkHeight,iterations:this._spec.iterations,nodeKey:this._spec.nodeKey,linkSortBy:this._spec.linkSortBy,nodeSortBy:this._spec.nodeSortBy,setNodeLayer:this._spec.setNodeLayer,dropIsolatedNode:this._spec.dropIsolatedNode,nodeHeight:this._spec.nodeHeight,linkHeight:this._spec.linkHeight,equalNodeHeight:this._spec.equalNodeHeight,linkOverlap:this._spec.linkOverlap,inverse:this._spec.inverse}),level:ze.sankeyLayout});let{dataSet:n}=this._option;k(n,`sankeyNodes`,Ka),k(n,`flatten`,Ma);let r=new ir(n,{name:`sankey-node-${this.id}-data`});r.parse([this.getViewData()],{type:`dataview`}),r.transform({type:`sankeyNodes`}),r.transform({type:`flatten`,options:{callback:e=>{if(e.datum){let t=e.datum[e.depth];return Object.assign(Object.assign({},e),t)}return e}}},!1),r.transform({type:`addVChartProperty`,options:{beforeCall:ce.bind(this),call:de}},!1),this._nodesSeriesData=r,k(n,`sankeyLinks`,Ja);let i=new ir(n,{name:`sankey-link-${this.id}-data`});i.parse([this.getViewData()],{type:`dataview`}),i.transform({type:`sankeyLinks`}),i.transform({type:`addVChartProperty`,options:{beforeCall:ce.bind(this),call:de}},!1),this._linksSeriesData=i}}compileData(){var e,t;super.compileData(),(e=this._linkMark)==null||e.compileData(),(t=this._nodeMark)==null||t.compileData()}initMark(){this._rootMark.setMarkConfig({overflow:this._spec.overflow,interactive:!!this._spec.overflow});let t=this._createMark(e.mark.node,{isSeriesMark:!0,dataView:this._nodesSeriesData});t&&(t.setMarkConfig({zIndex:this._nodeLayoutZIndex}),this._nodeMark=t);let n=this._createMark(e.mark.link,{dataView:this._linksSeriesData});n&&(this._linkMark=n)}_buildMarkAttributeContext(){super._buildMarkAttributeContext(),this._markAttributeContext.valueToNode=this.valueToNode.bind(this),this._markAttributeContext.valueToLink=this.valueToLink.bind(this)}valueToNode(e){let t=this._nodesSeriesData.latestData,n=$n(e)[0];return t&&t.find((e=>e.key===n))}valueToLink(e){let t=this._linksSeriesData.latestData,n=$n(e);return t&&t.find((e=>e&&e.source===n[0]&&e.target===n[1]))}valueToPositionX(e){return this.valueToNode(e)?.x0}valueToPositionY(e){return this.valueToNode(e)?.y0}initMarkStyle(){this._initNodeMarkStyle(),this._initLinkMarkStyle()}_initNodeMarkStyle(){let e=this._nodeMark;e&&(this.setMarkStyle(e,{x:e=>e.x0,x1:e=>e.x1,y:e=>e.y0,y1:e=>e.y1},T.STATE_NORMAL,D.Mark),this.setMarkStyle(e,{fill:this._spec.node.style?.fill??this._fillByNode},`normal`,D.User_Mark))}_initLinkMarkStyle(){let e=this._linkMark;e&&(e.setGlyphConfig({direction:this.direction}),this.setMarkStyle(e,{x0:e=>e.x0,x1:e=>e.x1,y0:e=>e.y0,y1:e=>e.y1,thickness:e=>e.thickness},T.STATE_NORMAL,D.Series),this.setMarkStyle(e,{fill:this._spec.link.style?.fill??this._fillByLink},`normal`,D.User_Mark))}initLabelMarkStyle(e,t){if(!e)return;let n=t.position;n&&n.includes(`inside`)?this.setMarkStyle(e,{fill:`#ffffff`,text:e=>this._createText(e,t),maxLineWidth:e=>t.limit??e.x1-e.x0}):this.setMarkStyle(e,{fill:this._fillByNode,text:e=>this._createText(e,t),maxLineWidth:t.limit}),e.setMarkConfig({zIndex:this._labelLayoutZIndex})}_createText(e,t){if(W(e)||W(e.datum))return``;let n=e.datum[this._spec.categoryField]||``,{formatMethod:r,formatter:i}=t||{},{formatFunc:a,args:o}=en(r,i,n,e.datum);return a&&(n=a(...o,{series:this})),n}initAnimation(){let e={direction:this.direction,growFrom:()=>this.direction===`horizontal`?this._xAxisHelper?.getScale(0).scale(0):this._yAxisHelper?.getScale(0).scale(0)},t=this._spec?.animationAppear?.preset;this._nodeMark&&this._nodeMark.setAnimationConfig(oe(N.getAnimationInKey(`sankeyNode`)?.(e,t),kn(`node`,this._spec,this._markAttributeContext))),this._linkMark&&this._linkMark.setAnimationConfig(oe(N.getAnimationInKey(`sankeyLinkPath`)?.(e,t),kn(`link`,this._spec,this._markAttributeContext)))}initEvent(){var e,t;super.initEvent(),(e=this._nodesSeriesData)==null||e.target.addListener(`change`,this.nodesSeriesDataUpdate.bind(this)),(t=this._linksSeriesData)==null||t.target.addListener(`change`,this.linksSeriesDataUpdate.bind(this));let n=this._spec.emphasis??{};if(!0!==this._option.disableTriggerEvent&&n.enable&&(n.effect===`adjacency`||n.effect===`related`)){let e=n.trigger===`hover`?`pointerover`:`pointerdown`;this.event.on(e,{level:Ye.chart},this._handleEmphasisElement)}}nodesSeriesDataUpdate(){this._nodeMark.getData().updateData(),this._nodeList=null,this._setNodeOrdinalColorScale()}linksSeriesDataUpdate(){this._linkMark.getData().updateData()}_highlightPlainRelated(e,t,n){var r;let i=/* @__PURE__ */ new Map,a=/* @__PURE__ */ new Map,o=(e,t,n)=>{if(W(t))return;let r=e.get(t);r?r.push(n):e.set(t,[n])};t.forEach((e=>{let t=E(e);t&&(o(i,t.source,t),o(a,t.target,t))}));let s=/* @__PURE__ */ new Set,c=/* @__PURE__ */ new Set,l=e=>!W(e)&&!s.has(e)&&(s.add(e),!0),u=e=>{let t=e?.key??e?.index;return!W(t)&&!c.has(t)&&(c.add(t),!0)};n.nodes.forEach(l),(r=n.links)==null||r.forEach(u);let d=(e,t,n)=>{let r=e.filter((e=>!W(e))),i=0;for(;i<r.length;){let e=t.get(r[i]);i+=1,e&&e.forEach((e=>{u(e)&&l(e[n])&&r.push(e[n])}))}};d(n.downstreamFrom,i,`target`),d(n.upstreamFrom,a,`source`),t.forEach((e=>{let t=E(e),n=t?.key??t?.index;!W(n)&&c.has(n)?(b(e,T.STATE_SANKEY_EMPHASIS_REVERSE),F(e,T.STATE_SANKEY_EMPHASIS,!0,this._hasLinkStateAnimation())):(b(e,T.STATE_SANKEY_EMPHASIS),F(e,T.STATE_SANKEY_EMPHASIS_REVERSE,!0,this._hasLinkStateAnimation()))})),this._highLightElements(e,s)}_highLightElements(e,t){if(!e||!e.length)return;let n=t instanceof Set?e=>t.has(e):e=>t.includes(e);e.forEach((e=>{b(e,[T.STATE_SANKEY_EMPHASIS_REVERSE,T.STATE_SANKEY_EMPHASIS]),n(E(e).key)?F(e,T.STATE_SANKEY_EMPHASIS,!0,this._hasNodeStateAnimation()):F(e,T.STATE_SANKEY_EMPHASIS_REVERSE,!0,this._hasNodeStateAnimation())}))}initTooltip(){this._tooltipHelper=new Xa(this),this._nodeMark&&this._tooltipHelper.activeTriggerSet.mark.add(this._nodeMark),this._linkMark&&this._tooltipHelper.activeTriggerSet.mark.add(this._linkMark)}_setNodeOrdinalColorScale(){var e,t;let n=(this._option?.globalScale)?.getScale(`color`);if(n?._specified)return void(this._colorScale=n);let r,i;n&&(r=n.domain(),i=n.range()),i||=this._getDataScheme(),r&&!W(r[0])||(r=this.getNodeList(),r&&r.length>10&&(i=this._getDataScheme()[1]?.scheme));let a=new Yt;(t=(e=a.domain(r)).range)==null||t.call(e,i),this._colorScale=a}getNodeList(){if(this._nodeList)return this._nodeList;let e=this._rawData.latestData[0],t=e?.nodes?e.nodes[0]?.children?Array.from(this.extractNamesFromTree(e.nodes,this._spec.categoryField)):e.nodes.map(((e,t)=>e[this._spec.categoryField])):e?.links?Array.from(this.extractNamesFromLink(e.links)):(e?.values)?.map(((e,t)=>e[this._spec.categoryField]));return this._nodeList=t,t}_getNodeNameFromData(e){return e?.datum?e.datum[this._spec.categoryField]:e.key??e[this._spec.categoryField]}extractNamesFromTree(e,t){let n=/* @__PURE__ */ new Set;return e.forEach((e=>{n.add(e[t]),e.children&&this.extractNamesFromTree(e.children,t).forEach((e=>n.add(e)))})),n}extractNamesFromLink(e){let t=/* @__PURE__ */ new Set,{sourceField:n,targetField:r}=this._spec;return e.forEach((e=>{R(e[n])&&t.add(e[n]),R(e[r])&&t.add(e[r])})),t}getDimensionField(){return[this._spec.categoryField]}getMeasureField(){return[this._valueField]}getRawDataStatisticsByField(e,t){return this._rawStatisticsCache||={},this._rawStatisticsCache[e]||(this._viewDataStatistics&&this.getViewData().transformsArr.length<=1&&this._viewDataStatistics.latestData?.[e]?this._rawStatisticsCache[e]=this._viewDataStatistics.latestData[e]:this._rawData&&(this._rawStatisticsCache[e]={values:this._collectByField(e)})),this._rawStatisticsCache[e]}_collectByField(e){var t;let n=[],r=this.getRawData()?.latestData?.[0];if(!r)return[];if(r.links)(t=r.nodes)!=null&&t.length&&r.nodes.forEach((e=>{e[this._seriesField]&&n.push(e[this._seriesField])}));else if(r.nodes){let e=/* @__PURE__ */ new Set;return Va(e,r.nodes,this._seriesField),Array.from(e)}return n}onLayoutEnd(){super.onLayoutEnd(),this._viewBox.set(0,0,this._region.getLayoutRect().width,this._region.getLayoutRect().height),this.getViewData().reRunAllTransform()}getDefaultShapeType(){return`square`}_noAnimationDataKey(e,t){}getActiveMarks(){return[this._nodeMark,this._linkMark]}getMarkData(e){return e.datum?B(e.datum)?e.datum[e.datum.length-1]:e.datum:e}},X.type=A.sankey,X.transformerConstructor=go,X.mark=mo,X.builtInTheme={sankey:bo},So=()=>{Dt(),fo(),vn(),ao(),kt(),N.registerSeries(X.type,X)}})))()}var wo;function To(){return(To=e((()=>{Gn(),ct(),Na(),wo=(e,t)=>{let n={},r=t.fields;if(U(r)&&(r=r()),!r?.length||!e?.length||!e[0].latestData)return n;let i=e[0].latestData,a=Ma(i);return n=nt([{latestData:a}],t),n}})))()}var Eo;function Do(){return(Do=e((()=>{d(),Eo=class extends Ie{constructor(){super(...arguments),this.markTooltipKeyCallback=e=>this.series?.getMarkData(e)?.[this.series.getDimensionField()[0]],this.markTooltipValueCallback=e=>{let{measureFields:t}=this._seriesCacheInfo,n=this.series?.getMarkData(e);if(t[0]&&n)return n[t[0]]??e.value},this.dimensionTooltipTitleCallback=e=>{let{dimensionFields:t}=this._seriesCacheInfo,n=this.series?.getMarkData(e);if(t[0]&&n)return n[t[0]]}}get defaultShapeType(){return`square`}}})))()}var Oo;function ko(){return(ko=e((()=>{Ze(),Oo=Object.assign(Object.assign({},g),{nonLeaf:{name:`nonLeaf`,type:`rect`},leaf:{name:`leaf`,type:`rect`},nonLeafLabel:{name:`nonLeafLabel`,type:`text`}})})))()}var Ao,jo;function Mo(){return(Mo=e((()=>{P(),Zt(),Ao=e=>e===`fadeIn`?{type:`fadeIn`}:{type:`growCenterIn`},jo=()=>{N.registerAnimation(`treemap`,((e,t)=>({appear:Ao(t),enter:{type:`growCenterIn`},exit:{type:`growCenterOut`},disappear:{duration:xt.disappear.duration}})))}})))()}var No;function Po(){return(Po=e((()=>{Ne(),No=class extends Ee{_transformLabelSpec(e){this._addMarkLabelSpec(e,`nonLeaf`,`nonLeafLabel`,`initNonLeafLabelMarkStyle`),this._addMarkLabelSpec(e,`leaf`)}}})))()}var Fo;function Io(){return(Io=e((()=>{aa(),ja(),Gn(),at(),Fo=(e,t)=>{let n=U(t)?t():t,r=n.getViewBox();if(r){let t=new Aa(n).layout(e,r),i=[];return ia(t,i,{maxDepth:n?.maxDepth}),i.forEach((e=>{e&&[_e,`name`].forEach((t=>{e[t]=e.datum[e.depth][n.nameField]}))})),i}return[]}})))()}var Lo;function Ro(){return(Ro=e((()=>{Lo={gapWidth:1,nodePadding:[5],nonLeaf:{visible:!1,style:{fillOpacity:.5}},label:{style:{fill:`white`,textBaseline:`middle`,textAlign:`center`,fontSize:{type:`token`,key:`l5FontSize`},lineHeight:{type:`token`,key:`l5LineHeight`}}},nonLeafLabel:{padding:24,style:{fill:`black`,stroke:{type:`palette`,key:`backgroundColor`},lineWidth:2,fontSize:{type:`token`,key:`l5FontSize`},lineHeight:{type:`token`,key:`l5LineHeight`},textBaseline:`middle`,textAlign:`center`}}}})))()}var Z,zo;function Bo(){return(Bo=e((()=>{w(),le(),Wt(),dn(),ee(),dt(),Na(),sr(),Xn(),Cr(),rr(),Dr(),To(),_n(),ye(),at(),Do(),me(),Zt(),nn(),Ra(),St(),wt(),ko(),P(),Mo(),Po(),Ba(),tt(),ge(),Io(),Ro(),Z=class e extends re{constructor(){super(...arguments),this.type=A.treemap,this.transformerConstructor=No,this._categoryField=`name`,this._valueField=`value`,this._viewBox=new cr,this._enableAnimationHook=this.enableMarkAnimation.bind(this),this.isHierarchyData=()=>!0}getCategoryField(){return this._categoryField}setCategoryField(e){return this._categoryField=e,this._categoryField}getValueField(){return this._valueField}setValueField(e){return this._valueField=e,this._valueField}setAttrFromSpec(){super.setAttrFromSpec(),this.setCategoryField(this._spec.categoryField),this.setValueField(this._spec.valueField),this.setSeriesField(this._spec.seriesField??_e),this._spec.roam&&(this.initZoomable(this.event,this._option.mode),this._matrix=new hr),this._spec.drill&&this.initDrillable({event:this.event,mode:this._option.mode,drillField:()=>this._spec.drillField??this._categoryField??gn,getRawData:()=>this.getRawData()}),_r(this._spec.maxDepth)&&(this._maxDepth=this._spec.maxDepth-1)}initData(){var e;super.initData(),k(this._dataSet,`treemap`,Fo),(e=this._data.getDataView())==null||e.transform({type:`treemap`,options:()=>({nameField:this._categoryField,valueField:this._valueField,getViewBox:()=>this._viewBox.empty()?null:{x0:this._viewBox.x1,x1:this._viewBox.x2,y0:this._viewBox.y1,y1:this._viewBox.y2},maxDepth:this._maxDepth,gapWidth:this._spec.gapWidth,padding:this._spec.nodePadding,splitType:this._spec.splitType,aspectRatio:this._spec.aspectRatio,labelPadding:this._spec.nonLeafLabel?.visible?this._spec.nonLeafLabel?.padding:0,labelPosition:this._spec.nonLeafLabel?.position,minVisibleArea:this._spec.minVisibleArea??10,minChildrenVisibleArea:this._spec.minChildrenVisibleArea,minChildrenVisibleSize:this._spec.minChildrenVisibleSize})}),this.getViewData()&&this._spec.drill&&this.initDrillableData(this._dataSet)}_runTreemapTransform(e=!1){this._data.getDataView().reRunAllTransform(),e&&this.getCompiler().renderNextTick()}_addDataIndexAndKey(){var e;(e=this._rawData)!=null&&e.dataSet&&(k(this._rawData.dataSet,`addVChartProperty`,Ct),this._rawData.transform({type:`addVChartProperty`,options:{beforeCall:$e.bind(this),call:Je}}))}getRawDataStatisticsByField(e,t){if(this._rawStatisticsCache||={},!this._rawStatisticsCache[e]&&this._rawData){let n=wo([this._rawData],{fields:[{key:e,operations:t?[`min`,`max`]:[`values`]}]})[e];this._rawStatisticsCache[e]=nr(this._rawStatisticsCache[e]??{},n)}return this._rawStatisticsCache[e]}_createHierarchyDataStatistics(e,t){k(this._dataSet,`hierarchyDimensionStatistics`,wo),k(this._dataSet,`flatten`,Ma);let n=new ir(this._dataSet,{name:e});return n.parse(t,{type:`dataview`}),n.transform({type:`hierarchyDimensionStatistics`,options:{fields:()=>{let e=this.getStatisticFields();return this._seriesField&&this._seriesField!==this._categoryField&&e.push({key:this._seriesField,operations:[`values`]}),e}}},!1),n}getStatisticFields(){return za(super.getStatisticFields(),this._categoryField,this._valueField)}initMark(){let t=this._createMark(e.mark.nonLeaf,{isSeriesMark:!0});t&&(t.setTransform([{type:`filter`,callback:e=>!this._shouldFilterElement(e,`nonLeaf`)}]),this._nonLeafMark=t);let n=this._createMark(e.mark.leaf,{isSeriesMark:!0});n&&(n.setTransform([{type:`filter`,callback:e=>!this._shouldFilterElement(e,`leaf`)}]),this._leafMark=n)}initMarkStyle(){this._initLeafMarkStyle(),this._initNonLeafMarkStyle()}_initLeafMarkStyle(){this._leafMark&&this.setMarkStyle(this._leafMark,{x:e=>e.x0,y:e=>e.y0,x1:e=>e.x1,y1:e=>e.y1,fill:this.getColorAttribute()},T.STATE_NORMAL,D.Series)}_initNonLeafMarkStyle(){this._nonLeafMark&&this.setMarkStyle(this._nonLeafMark,{x:e=>e.x0,y:e=>e.y0,x1:e=>e.x1,y1:e=>e.y1,fill:this.getColorAttribute()},T.STATE_NORMAL,D.Series)}_initRichStyleOfLabelMark(e){e.getTextType()===`rich`&&this.setMarkStyle(e,{maxWidth:e=>Math.abs(e.x0-e.x1),maxHeight:e=>Math.abs(e.y0-e.y1),ellipsis:!0},T.STATE_NORMAL,D.Series)}initLabelMarkStyle(e){e&&(this._labelMark=e,e.setRule(`treemap`),this.setMarkStyle(e,{x:e=>(e.x0+e.x1)/2,y:e=>(e.y0+e.y1)/2,text:e=>e.datum[e.depth]?.[this.getDimensionField()[0]],maxLineWidth:e=>e.x1===e.x0?Number.MIN_VALUE:e.x1-e.x0},T.STATE_NORMAL,D.Series),this._initRichStyleOfLabelMark(e))}initNonLeafLabelMarkStyle(e){e&&(this._nonLeafLabelMark=e,e.setRule(`treemap`),this.setMarkStyle(e,{x:e=>e.labelRect?(e.labelRect.x0+e.labelRect.x1)/2:(e.x0+e.x1)/2,y:e=>e.labelRect?(e.labelRect.y0+e.labelRect.y1)/2:(e.y0+e.y1)/2,text:e=>e.datum[e.depth]?.[this.getDimensionField()[0]],maxLineWidth:e=>e.x1===e.x0?Number.MIN_VALUE:e.x1-e.x0},T.STATE_NORMAL,D.Series),this._initRichStyleOfLabelMark(e))}initAnimation(){this.getMarksInType(`rect`).forEach((e=>{e.setAnimationConfig(oe(N.getAnimationInKey(`treemap`)?.(),kn(e.name,this._spec,this._markAttributeContext)))}))}initEvent(){super.initEvent(),this._spec.roam&&(this.initDragEventOfSeries(this),this.event.on(`panmove`,(e=>{this.handlePan(e)})),this.initZoomEventOfSeries(this),this.event.on(`zoom`,(e=>{this.handleZoom(e)}))),this._spec.drill&&this.bindDrillEvent()}_getDataIdKey(){return`key`}initTooltip(){this._tooltipHelper=new Eo(this),this._leafMark&&this._tooltipHelper.activeTriggerSet.mark.add(this._leafMark),this._nonLeafMark&&this._tooltipHelper.activeTriggerSet.mark.add(this._nonLeafMark)}_shouldFilterElement(e,t){let n=e.isLeaf;return t===`leaf`?!n:n}handlePan(e){let{delta:t}=e;if(t[0]===0&&t[1]===0)return;this._matrix.reset(),this._matrix.translate(t[0],t[1]);let{a:n,b:r,c:i,d:a,e:o,f:s}=this._matrix;this._matrix.multiply(n,r,i,a,o,s),this._viewBox.transformWithMatrix(this._matrix),this._runTreemapTransform(!0)}handleZoom(e){let{scale:t,scaleCenter:n}=e;if(t===1)return;this._matrix.reset();let{x:r,y:i}=n;this._matrix.translate(r,i),this._matrix.scale(t,t),this._matrix.translate(-r,-i);let{a,b:o,c:s,d:c,e:l,f:u}=this._matrix;this._matrix.multiply(a,o,s,c,l,u),this.disableMarkAnimation(),this.event.on(et.AFTER_DO_RENDER,this._enableAnimationHook),this._viewBox.transformWithMatrix(this._matrix),this._runTreemapTransform(!0)}getDimensionField(){return[this._categoryField]}getMeasureField(){return[this._valueField]}onLayoutEnd(){super.onLayoutEnd(),this._viewBox.set(0,0,this.getLayoutRect().width,this.getLayoutRect().height),this._runTreemapTransform()}enableMarkAnimation(){this.getMarks().forEach((e=>{})),[this._labelMark,this._nonLeafLabelMark].forEach((e=>{e&&e.getComponent()&&e.getComponent().getProduct().enableAnimation()})),this.event.off(et.AFTER_DO_RENDER,this._enableAnimationHook)}disableMarkAnimation(){this.getMarks().forEach((e=>{})),[this._labelMark,this._nonLeafLabelMark].forEach((e=>{e&&e.getComponent()&&e.getComponent().getProduct().disableAnimation()}))}getDefaultShapeType(){return`square`}getActiveMarks(){return[this._nonLeafMark,this._leafMark]}getMarkData(e){return e?.datum?e.datum[e.datum.length-1]:e}},Z.type=A.treemap,Z.mark=Oo,Z.builtInTheme={treemap:Lo},Z.transformerConstructor=No,Jn(Z,La),Jn(Z,mt),zo=()=>{st(),it(),Dt(),vn(),jo(),kt(),N.registerSeries(Z.type,Z)}})))()}var Vo,Ho;function Uo(){return(Uo=e((()=>{fr(),Ge(),z(),Yn(),Ve(),Vo=(e,t)=>{let n=2*Math.PI,r=Ar(t),i=er(t);return e<r?e+=Math.ceil((r-e)/n)*n:e>i&&(e-=Math.ceil((e-i)/n)*n),e},Ho=(e,t)=>{if(!e)return null;let n=y(e,(e=>e.getOrient()===`angle`),t),r=y(e,(e=>e.getOrient()===`radius`),t);if(!(n&&n.length||r&&r.length))return null;let i=[],a=e=>e.getDimensionField()[0],{x:o,y:s}=t;return n&&n.forEach((e=>{let t=e.getScale();if(t&&wr(t.type)){let n=t.domain(),c=t.range(),l=e.getCenter(),u={x:o-e.getLayoutStartPoint().x-l.x,y:s-e.getLayoutStartPoint().y-l.y},d=Cn({x:1,y:0},u);d=Vo(d,c);let f=gt(u),p=(r[0]?.getScale())?.range();if((d-c?.[0])*(d-c?.[1])>0||(f-p?.[0])*(f-p?.[1])>0)return;let m=e.invert(d);if(W(m))return;let h=n.findIndex((e=>e?.toString()===m.toString()));h<0&&(h=void 0);let g=wn(m,e,`polar`,a);i.push({index:h,value:m,position:t.scale(m),axis:e,data:g})}})),r&&r.forEach((e=>{let t=e.getScale(),r=t?.range();if(t&&wr(t.type)){let c=e.getCenter(),l={x:o-e.getLayoutStartPoint().x-c.x,y:s-e.getLayoutStartPoint().y-c.y},u=Cn({x:1,y:0},l);u<-Math.PI/2&&(u=2*Math.PI+u);let d=gt(l),f=(n[0]?.getScale())?.range();if((u-f?.[0])*(u-f?.[1])>0||(d-r?.[0])*(d-r?.[1])>0)return;let p=t.invert(d);if(W(p))return;let m=t.domain().findIndex((e=>e?.toString()===p.toString()));m<0&&(m=void 0);let h=wn(p,e,`polar`,a);i.push({index:m,value:p,position:t.scale(p),axis:e,data:h})}})),i.length?i:null}})))()}var Wo;function Go(){return(Go=e((()=>{br(),Er(),jn(),Pe(),Lr(),Wo=class extends Be{_getDefaultSeriesSpec(e){let t=super._getDefaultSeriesSpec(e);return delete t.data,t}_transformAxisSpec(e){e.axes&&e.autoBandSize&&e.series.forEach(((t,n)=>{var r;if(t.type===`bar`){let i=this._findBandAxisBySeries(t,n,e.axes);if(i&&!i.bandSize&&!i.maxBandSize&&!i.minBandSize){let e=tr(t.autoBandSize)&&(r=t.autoBandSize.extend)!=null?r:0,{barMaxWidth:n,barMinWidth:a,barWidth:o,barGapInGroup:s}=t;this._applyAxisBandSize(i,e,{barMaxWidth:n,barMinWidth:a,barWidth:o,barGapInGroup:s})}}}))}transformSpec(e){if(super.transformSpec(e),e.series&&e.series.length){let t=this._getDefaultSeriesSpec(e);e.series.forEach((e=>{this._isValidSeries(e.type)&&Object.keys(t).forEach((n=>{n in e||(e[n]=t[n])}))}))}e.axes&&e.axes.length&&e.axes.forEach((t=>{ur(t,`trimPadding`)&&Vr(t,De(this.type,e))})),this._transformAxisSpec(e)}}})))()}var Ko,qo;function Jo(){return(Jo=e((()=>{Qe(),P(),Go(),se(),Te(),m(),Gt(),Uo(),ie(),x(),Dn(),On(),Ko=class extends _{constructor(){super(...arguments),this.transformerConstructor=Wo,this.type=`common`}_setModelOption(){this._modelOption.getDimensionInfo=(e,t,n)=>[...te(e,t,n)??[],...Ho(e,t)??[]],this._modelOption.getDimensionInfoByValue=je,this._modelOption.getRectByDimensionData=Ke}},Ko.type=`common`,Ko.transformerConstructor=Wo,Jn(Ko,Fe),qo=()=>{Tn(),Ue(),_t(),Vt(),N.registerChart(Ko.type,Ko),Oe()}})))()}var Yo;function Xo(){return(Xo=e((()=>{jn(),Yo=class extends Be{_getDefaultSeriesSpec(e){return super._getDefaultSeriesSpec(e,[`categoryField`,`valueField`,`aspectRatio`,`splitType`,`maxDepth`,`gapWidth`,`nodePadding`,`minVisibleArea`,`minChildrenVisibleArea`,`minChildrenVisibleSize`,`roam`,`drill`,`drillField`,`leaf`,`nonLeaf`,`nonLeafLabel`])}transformSpec(e){super.transformSpec(e),this.transformSeriesSpec(e)}}})))()}var Zo,Qo;function $o(){return($o=e((()=>{dt(),Qe(),Bo(),P(),Xo(),Dn(),Zo=class extends _{constructor(){super(...arguments),this.transformerConstructor=Yo,this.type=`treemap`,this.seriesType=A.treemap}},Zo.type=`treemap`,Zo.seriesType=A.treemap,Zo.transformerConstructor=Yo,Qo=()=>{Ue(),zo(),N.registerChart(Zo.type,Zo)}})))()}var es;function ts(){return(ts=e((()=>{jn(),es=class extends Be{_getDefaultSeriesSpec(e){return super._getDefaultSeriesSpec(e,/* @__PURE__ */ `categoryField.valueField.sourceField.targetField.direction.nodeAlign.crossNodeAlign.nodeGap.nodeWidth.linkWidth.minStepWidth.minNodeHeight.maxNodeHeight.minLinkHeight.maxLinkHeight.dropIsolatedNode.nodeHeight.linkHeight.equalNodeHeight.linkOverlap.iterations.nodeKey.linkSortBy.nodeSortBy.setNodeLayer.node.link.emphasis.inverse.overflow`.split(`.`))}transformSpec(e){super.transformSpec(e),this.transformSeriesSpec(e)}}})))()}var ns,rs;function is(){return(is=e((()=>{Qe(),dt(),Co(),P(),ts(),H(),Pr(),Dn(),cn(),ns=class extends _{constructor(){super(...arguments),this.transformerConstructor=es,this.type=`sankey`,this.seriesType=A.sankey}_setStateInDatum(e,t,n,r){let i=B(t)?t[0]:t;if(!i)return void this._interaction.clearByState(e);let a=null;this.filterGraphicsByDatum(i,{filter:(e,t)=>t.type!==`text`&&t.getProduct()&&(!n||n(e,t)),region:r,getDatum:e=>{let t=E(e)?.datum;return B(t)&&(t=t[0]),t},callback:(e,t,n,r)=>{var i,a;let o=t.getProductId();o&&(o.includes(`node`)||o.includes(`link`))&&((a=(i=n)._handleEmphasisElement)==null||a.call(i,{item:e,mark:t}))},regionCallback:(e,t)=>{i&&e.length&&(a=e[0])}}),a&&this._interaction.updateStateOfGraphics(e,[a])}},ns.type=`sankey`,ns.seriesType=A.sankey,ns.transformerConstructor=es,rs=()=>{Ue(),Hr(),So(),N.registerChart(ns.type,ns)}})))()}var as;function os(){return(os=e((()=>{vt(),Jt(),be(),ve(),Pt(),on(),Wr(),Kr(),Xr(),Zi(),Jo(),ue(),h(),pe(),Me(),p(),qt(),Ir(),S(),as=ne(`CommonChart`,{type:`common`,vchartConstructor:pn},[bn,Fr,qe,zt,qo,ln,ot,At,Qt,Xe,xe,ae,Jr,xn,Ur,Xi,qr])})))()}var ss;function cs(){return(cs=e((()=>{vt(),is(),pe(),hi(),S(),ss=ne(`SankeyChart`,{type:`sankey`,vchartConstructor:pn},[rs,xe,...Yr])})))()}var ls;function us(){return(us=e((()=>{vt(),na(),pe(),Sn(),S(),ls=ne(`ScatterChart`,{type:`scatter`,vchartConstructor:pn},[ta,xe,...We])})))()}var ds;function fs(){return(fs=e((()=>{vt(),$o(),pe(),hi(),S(),ds=ne(`TreemapChart`,{type:`treemap`,vchartConstructor:pn},[Qo,xe,...Yr])})))()}function ps({data:e,height:t=200,empty:n=null,onSliceClick:r}){let i=En(),a=K(()=>{let t=[...e].sort((e,t)=>t.count-e.count),n=t.slice(0,ms.length),r=t.slice(ms.length).reduce((e,t)=>e+t.count,0),a=[...n.map((e,t)=>({...e,fill:ms[t%ms.length]})),...r>0?[{module:gs,count:r,fill:hs}]:[]];return yn({data:a,categoryField:`module`,valueField:`count`,donut:!1,colors:a.map(e=>e.fill),palette:i,label:`percent`,valueUnit:`次`})},[e,i]),o=r?e=>{let t=e?.datum?.module;typeof t==`string`&&t!==gs&&r(t)}:void 0;return e.length===0?/* @__PURE__ */ q(vi,{children:n}):/* @__PURE__ */ q(gi,{...a,options:j,height:t,onClick:o})}var ms,hs,gs;function _s(){return(_s=e((()=>{$r(),ht(),ut(),Ft(),ms=[`#4A90E2`,`#52C41A`,`#FA8C16`,`#13C2C2`,`#722ED1`,`#F5222D`,`#EB2F96`,`#1677FF`],hs=`#94A3B8`,gs=`其他`})))()}function vs(){let e=En(),[t,n]=_i(30),r=ji({days:t}),i=r.data??null,a=K(()=>[...i?.moduleStats??[]].slice(0,10).reverse(),[i]),{userChartData:o,userChartTitleOf:s}=K(()=>{let e=[...i?.userStats??[]].reverse(),{nameOf:t,fullOf:n}=Ei(e);return{userChartData:e.map(e=>({displayName:t(e),count:e.count})),userChartTitleOf:e=>n.get(e)??e}},[i]),c=K(()=>(i?.moduleTimingStats??[]).map(e=>({...e,maxMs:e.maxUs==null?e.maxMs:e.maxUs/1e3})),[i]),l=K(()=>c.slice(0,10).reverse(),[c]),u=K(()=>(i?.methodStats??[]).map(e=>({...e,fill:ys[e.method]??bs})),[i]),d=K(()=>[...i?.hourlyStats??[]],[i]),f=K(()=>[...i?.dailyStats??[]],[i]),p=K(()=>(i?.statusClassStats??[]).map(e=>({...e,fill:Cs[e.statusClass]??bs})),[i]),m=K(()=>[...i?.durationHistogram??[]],[i]),h=K(()=>(i?.slowPaths??[]).map(e=>({...e,maxMs:e.maxUs==null?e.maxMs:e.maxUs/1e3})).reverse(),[i]),g=K(()=>[...i?.failModuleStats??[]].reverse(),[i]),_=K(()=>i?.dailyStats??[],[i]),v=K(()=>(i?.moduleStats??[]).map(e=>({name:e.module,value:e.count})),[i]),y=c,b=K(()=>{let e=i?.userModuleFlows??[];if(e.length===0)return{nodes:[],links:[]};let t=t=>{let n=/* @__PURE__ */ new Map;for(let r of e)n.set(r[t],(n.get(r[t])??0)+r.count);return n},n=new Set([...t(`username`).entries()].sort((e,t)=>t[1]-e[1]).slice(0,8).map(([e])=>e)),r=new Set([...t(`module`).entries()].sort((e,t)=>t[1]-e[1]).slice(0,8).map(([e])=>e)),a=e.filter(e=>n.has(e.username)&&r.has(e.module)),o=[...new Map(e.map(e=>[e.username,{username:e.username,nickname:e.nickname}])).values()],{nameOf:s}=Ei(o),c=new Map(o.map(e=>[e.username,s(e)])),l=new Map(o.map(e=>[e.username,Di(e.username,e.nickname)])),u=/* @__PURE__ */ new Map;for(let e of a)u.set(`u:${e.username}`,(u.get(`u:${e.username}`)??0)+e.count),u.set(`m:${e.module}`,(u.get(`m:${e.module}`)??0)+e.count);return{nodes:[...u.entries()].map(([e,t])=>({id:e,label:e.startsWith(`u:`)?c.get(e.slice(2))??e.slice(2):e.slice(2),fullLabel:e.startsWith(`u:`)?l.get(e.slice(2))??e.slice(2):e.slice(2),value:t})),links:a.map(e=>({source:`u:${e.username}`,target:`m:${e.module}`,value:e.count}))}},[i]),x=K(()=>ei(i?.dailyStats),[i]),S=i?.summary,C=i?.prevSummary,ee=ai(S),w=S?.avgDurationMs==null?null:I(S.avgDurationMs),te=Qr(S,C),ne=K(()=>M({data:a,xField:`module`,series:[{field:`count`,name:`操作次数`,color:`#3b82f6`}],palette:e,horizontal:!0,categoryAxisWidth:88,showLabel:!0,tooltip:{value:e=>`${e} 次`}}),[a,e]),re=K(()=>M({data:o,xField:`displayName`,series:[{field:`count`,name:`操作次数`,color:`#10b981`}],palette:e,horizontal:!0,categoryAxisWidth:96,showLabel:!0,tooltip:{title:s,value:e=>`${e} 次`}}),[o,s,e]),T=K(()=>M({data:l,xField:`module`,series:[{field:`avgMs`,name:`平均耗时`,color:`#f59e0b`},{field:`maxMs`,name:`最大耗时`,color:`rgba(239, 68, 68, 0.5)`}],palette:e,horizontal:!0,categoryAxisWidth:88,axis:{xLabel:e=>Number(e)===0?`0`:I(Number(e))},tooltip:{value:I}}),[l,e]),ie=K(()=>yn({data:u,categoryField:`method`,valueField:`count`,donut:!0,colors:u.map(e=>e.fill),palette:e,label:`none`,valueUnit:`次`}),[u,e]),ae=K(()=>M({data:d,xField:`hour`,series:[{field:`count`,name:`操作次数`,color:`#8b5cf6`}],palette:e,axis:{xLabel:e=>`${String(e).padStart(2,`0`)}h`},tooltip:{title:e=>`${String(e).padStart(2,`0`)}:00 – ${String(e).padStart(2,`0`)}:59`,value:e=>`${e} 次`}}),[d,e]),oe=K(()=>ft({data:f,xField:`date`,series:[{field:`successCount`,name:`成功`,color:xs},{field:`failCount`,name:`失败`,color:Ss}],palette:e,fillOpacity:.28,axis:{xLabel:wi},tooltip:{title:e=>`日期:${e}`,value:e=>`${e} 次`}}),[f,e]),se=K(()=>M({data:x,xField:`name`,series:[{field:`count`,name:`操作次数`,color:`#6366f1`}],palette:e,showLabel:!0,tooltip:{value:e=>`${e} 次`}}),[x,e]),ce=K(()=>yn({data:p,categoryField:`statusClass`,valueField:`count`,donut:!0,colors:p.map(e=>e.fill),palette:e,label:`none`,valueUnit:`次`}),[p,e]),le=K(()=>M({data:m,xField:`bucket`,series:[{field:`count`,name:`请求数`,color:`#f59e0b`}],palette:e,showLabel:!0,tooltip:{value:e=>`${e} 次`}}),[m,e]),ue=K(()=>M({data:h,xField:`path`,series:[{field:`avgMs`,name:`平均耗时`,color:`#f59e0b`},{field:`maxMs`,name:`最大耗时`,color:`rgba(239, 68, 68, 0.5)`}],palette:e,horizontal:!0,categoryAxisWidth:200,axis:{xLabel:e=>Number(e)===0?`0`:I(Number(e))},tooltip:{value:I}}),[h,e]),de=K(()=>M({data:g,xField:`module`,series:[{field:`count`,name:`失败次数`,color:Ss}],palette:e,horizontal:!0,categoryAxisWidth:88,showLabel:!0,labelColor:Ss,tooltip:{value:e=>`${e} 次`}}),[g,e]),fe=K(()=>Kt({data:_,xField:`date`,palette:e,bar:{field:`count`,name:`请求数`,color:e.dataColors[0]??e.primary},line:{field:`avgMs`,name:`平均耗时`,color:`#f59e0b`,format:(e,t)=>t?.avgMs==null?L:I(e)},axis:{xLabel:wi,rightLabel:e=>e===0?`0`:I(e)},tooltip:{title:e=>`日期:${e}`,barValue:e=>`${e} 次`,lineValue:I}}),[_,e]),pe=K(()=>rn({data:v,palette:e,tooltipItems:[{key:`操作次数`,value:e=>`${jt(e,`value`)} 次`}]}),[v,e]),me=K(()=>{let t=Math.max(1,...y.map(e=>e.maxMs));return Tt({data:y,xField:`count`,yField:`avgMs`,palette:e,point:{size:e=>8+Math.sqrt(jt(e,`maxMs`)/t)*20,fill:e.primary,fillOpacity:.55,stroke:e.primary,lineWidth:1},xAxis:{label:e=>`${e} 次`},yAxis:{label:e=>`${e}ms`},tooltip:{title:e=>Ot(e,`module`),items:[{key:`请求数`,value:e=>`${jt(e,`count`)} 次`},{key:`平均耗时`,value:e=>I(jt(e,`avgMs`))},{key:`最大耗时`,value:e=>I(jt(e,`maxMs`))}]}})},[y,e]),he=K(()=>bt({nodes:b.nodes,links:b.links,palette:e,nodeLayer:e=>+!e.id.startsWith(`u:`),valueFormatter:e=>`${e} 次`,tooltip:{nodeTitle:e=>String(e.fullLabel??e.name??``)}}),[b,e]);return/* @__PURE__ */ J(ci,{days:t,onDaysChange:n,loading:r.isLoading,fetching:r.isFetching,children:[/* @__PURE__ */ J($t,{style:{marginBottom:16},children:[/* @__PURE__ */ q(hn,{title:`总请求数`,value:S?S.total.toLocaleString():L,sub:`近 ${t} 天累计`,accent:`var(--arc-antd-color-primary)`,delta:S&&C?li(S.total,C.total):null,deltaLabel:`较上一周期`}),/* @__PURE__ */ q(hn,{title:`请求成功率`,value:ee==null?L:`${ee}%`,sub:S?`成功 ${S.successCount.toLocaleString()} · 失败 ${S.failCount.toLocaleString()}`:void 0,accent:`var(--arc-antd-color-success)`,delta:te,deltaLabel:`较上一周期`,deltaFormat:`ratio`}),/* @__PURE__ */ q(hn,{title:`平均处理耗时`,value:w??L,sub:S?.durationSampleCount==null?`基于有耗时记录的请求`:`有效耗时样本 ${S.durationSampleCount} / ${S.total} 条`,accent:`var(--arc-antd-color-warning)`}),/* @__PURE__ */ q(hn,{title:`P95 处理耗时`,value:S?.p95DurationMs==null?L:I(S.p95DurationMs),sub:S?.p50DurationMs==null?void 0:`P50 ${I(S.p50DurationMs)}`,accent:`var(--arc-antd-color-warning)`}),/* @__PURE__ */ q(hn,{title:`P99 处理耗时`,value:S?.p99DurationMs==null?L:I(S.p99DurationMs),sub:`长尾请求耗时`,accent:S?.p99DurationMs!=null&&S.p99DurationMs>=3e3?`var(--arc-antd-color-danger)`:`var(--arc-antd-color-warning)`}),/* @__PURE__ */ q(hn,{title:`活跃用户数`,value:S?S.uniqueUsers.toLocaleString():L,sub:`不重复用户账号`,accent:`var(--arc-antd-color-data-2)`,delta:S&&C?li(S.uniqueUsers,C.uniqueUsers):null,deltaLabel:`较上一周期`})]}),/* @__PURE__ */ J(`div`,{className:`chart-grid chart-grid--3`,style:{marginBottom:16},children:[/* @__PURE__ */ J(`div`,{className:`zx-panel`,children:[/* @__PURE__ */ q(`div`,{style:Q,children:`按模块操作统计(Top 10)`}),a.length===0?/* @__PURE__ */ q(`div`,{style:$,children:`暂无数据`}):/* @__PURE__ */ q(O,{...ne,options:j,height:260})]}),/* @__PURE__ */ J(`div`,{className:`zx-panel`,children:[/* @__PURE__ */ q(`div`,{style:Q,children:`按模块操作分布`}),/* @__PURE__ */ q(ps,{data:i?.moduleStats??[],height:260,empty:/* @__PURE__ */ q(`div`,{style:$,children:`暂无数据`})})]}),/* @__PURE__ */ J(`div`,{className:`zx-panel`,children:[/* @__PURE__ */ q(`div`,{style:Q,children:`Top 10 操作用户`}),o.length===0?/* @__PURE__ */ q(`div`,{style:$,children:`暂无数据`}):/* @__PURE__ */ q(O,{...re,options:j,height:260})]})]}),/* @__PURE__ */ J(`div`,{className:`zx-panel`,style:{marginBottom:16},children:[/* @__PURE__ */ q(`div`,{style:Q,children:`各模块平均响应时间(取有耗时记录的请求,Top 10)`}),l.length===0?/* @__PURE__ */ q(`div`,{style:$,children:`暂无耗时数据`}):/* @__PURE__ */ q(O,{...T,options:j,height:260})]}),/* @__PURE__ */ J(`div`,{className:`chart-grid`,style:{marginBottom:16},children:[/* @__PURE__ */ J(`div`,{className:`zx-panel`,children:[/* @__PURE__ */ q(`div`,{style:Q,children:`HTTP 方法分布`}),u.length===0?/* @__PURE__ */ q(`div`,{style:{...$,height:240},children:`暂无数据`}):/* @__PURE__ */ q(gi,{...ie,options:j,height:240})]}),/* @__PURE__ */ J(`div`,{className:`zx-panel`,children:[/* @__PURE__ */ q(`div`,{style:Q,children:`按小时操作分布`}),/* @__PURE__ */ q(O,{...ae,options:j,height:240})]})]}),/* @__PURE__ */ J(`div`,{className:`chart-grid`,style:{marginBottom:16},children:[/* @__PURE__ */ J(`div`,{className:`zx-panel`,children:[/* @__PURE__ */ q(`div`,{style:Q,children:`响应状态码分布`}),p.length===0?/* @__PURE__ */ q(`div`,{style:{...$,height:240},children:`暂无数据`}):/* @__PURE__ */ q(gi,{...ce,options:j,height:240})]}),/* @__PURE__ */ J(`div`,{className:`zx-panel`,children:[/* @__PURE__ */ q(`div`,{style:Q,children:`耗时区间分布`}),m.length===0?/* @__PURE__ */ q(`div`,{style:{...$,height:240},children:`暂无耗时数据`}):/* @__PURE__ */ q(O,{...le,options:j,height:240})]})]}),/* @__PURE__ */ J(`div`,{className:`chart-grid`,style:{marginBottom:16},children:[/* @__PURE__ */ J(`div`,{className:`zx-panel`,children:[/* @__PURE__ */ q(`div`,{style:Q,children:`慢接口 Top 10(按平均耗时)`}),h.length===0?/* @__PURE__ */ q(`div`,{style:$,children:`暂无耗时数据`}):/* @__PURE__ */ q(O,{...ue,options:j,height:260})]}),/* @__PURE__ */ J(`div`,{className:`zx-panel`,children:[/* @__PURE__ */ q(`div`,{style:{...Q,color:g.length>0?Ss:Q.color},children:`失败热点模块 Top 10`}),g.length===0?/* @__PURE__ */ q(Zr,{tone:`success`,text:`该时间段无失败请求`,height:260}):/* @__PURE__ */ q(O,{...de,options:j,height:260})]})]}),/* @__PURE__ */ J(`div`,{className:`zx-panel`,style:{marginBottom:16},children:[/* @__PURE__ */ q(`div`,{style:Q,children:`每日操作趋势(成功 / 失败)`}),/* @__PURE__ */ q(Gr,{...oe,options:j,height:210})]}),/* @__PURE__ */ J(`div`,{className:`zx-panel`,style:{marginBottom:16},children:[/* @__PURE__ */ q(`div`,{style:Q,children:`每日请求量与平均耗时`}),_.length===0?/* @__PURE__ */ q(`div`,{style:$,children:`暂无数据`}):/* @__PURE__ */ q(as,{...fe,options:j,height:240})]}),/* @__PURE__ */ J(`div`,{className:`chart-grid`,style:{marginBottom:16},children:[/* @__PURE__ */ J(`div`,{className:`zx-panel`,children:[/* @__PURE__ */ q(`div`,{style:Q,children:`模块操作量占比`}),v.length===0?/* @__PURE__ */ q(`div`,{style:$,children:`暂无数据`}):/* @__PURE__ */ q(ds,{...pe,options:j,height:280})]}),/* @__PURE__ */ J(`div`,{className:`zx-panel`,children:[/* @__PURE__ */ q(`div`,{style:Q,children:`模块耗时 vs 请求量(气泡大小 = 最大耗时)`}),y.length===0?/* @__PURE__ */ q(`div`,{style:$,children:`暂无耗时数据`}):/* @__PURE__ */ q(ls,{...me,options:j,height:280})]})]}),/* @__PURE__ */ J(`div`,{className:`zx-panel`,style:{marginBottom:16},children:[/* @__PURE__ */ q(`div`,{style:Q,children:`用户 → 模块操作流向(Top 8 用户 × Top 8 模块)`}),b.links.length===0?/* @__PURE__ */ q(`div`,{style:$,children:`暂无数据`}):/* @__PURE__ */ q(ss,{...he,options:j,height:320})]}),/* @__PURE__ */ J(`div`,{className:`zx-panel`,children:[/* @__PURE__ */ J(`div`,{style:Q,children:[`按星期操作分布(近 `,t,` 天)`]}),i?/* @__PURE__ */ q(O,{...se,options:j,height:220}):/* @__PURE__ */ q(Zr,{height:220})]})]})}var ys,bs,xs,Ss,Cs,Q,$;function ws(){return(ws=e((()=>{mi(),v(),os(),$r(),cs(),us(),fs(),ht(),ut(),Ft(),pi(),un(),_s(),di(),Fn(),Mn(),ys={GET:`#3b82f6`,POST:`#10b981`,PUT:`#f59e0b`,DELETE:`#ef4444`,PATCH:`#8b5cf6`},bs=`#6b7280`,xs=`#10b981`,Ss=`#ef4444`,Cs={"2xx":`#10b981`,"3xx":`#3b82f6`,"4xx":`#f59e0b`,"5xx":`#ef4444`},Q={fontSize:14,fontWeight:600,color:`var(--arc-antd-color-text-0)`,marginBottom:12},$={height:260,display:`flex`,alignItems:`center`,justifyContent:`center`,color:`var(--arc-antd-color-text-2)`}})))()}function Ts(){let e=zn(ii,`list`),t=e.active,{page:c,pageSize:l,setPage:d,buildPagination:f,bind:p,bindKeyword:m,submittedParams:h,handleSearch:g,handleReset:_,applySearch:v}=xi({defaults:Os,listKey:Oi.all});Ti([`description`,`module`,`startTime`,`endTime`],e=>{let t=Ci(e.startTime),n=Ci(e.endTime);v({...Os,description:e.description??``,module:e.module??``,timeRange:t&&n?[t,n]:null})},{getNextParams:()=>({tab:`list`})});let y=bi({username:h.username,module:h.module,description:h.description,ip:h.ip,method:h.method,path:h.path,status:yi(Mi,h.status),content:h.content,impersonated:h.impersonated===`true`||h.impersonated!==`false`&&void 0,...Si(h.timeRange),minDurationMs:h.minDurationMs,maxDurationMs:h.maxDurationMs}),b=Ai({page:c,pageSize:l,...y},t===`list`),x=b.data?.list??[],S=b.data?.total??0,C=ki(),ee=C.isPending,w=ui({clean:e=>C.mutateAsync({query:{days:e}}),onCleared:()=>d(1)});return/* @__PURE__ */ J(`div`,{className:`page-container page-container--stretch`,children:[/* @__PURE__ */ q(u,{defaultSize:260,minSize:200,maxSize:400,persistKey:`operation-logs`,style:{flex:1,minHeight:0,overflow:`hidden`},showDetail:t!==null,onBack:e.back,onResponsiveChange:e.responsiveChange,master:/* @__PURE__ */ q(In,{title:`日志模块`,rawBody:!0,children:/* @__PURE__ */ q(Bn,{sections:si,active:t,onSelect:e.select})}),detail:/* @__PURE__ */ J(u.Body,{padding:16,scroll:t===`list`?`hidden`:`auto`,style:{display:`flex`,flexDirection:`column`},children:[t===`list`&&/* @__PURE__ */ q(Pn,{searchConfig:n({keyword:/* @__PURE__ */ q(i,{placeholder:`操作人用户名 / 昵称`,...m(`username`),width:160}),filters:/* @__PURE__ */ J(vi,{children:[/* @__PURE__ */ q(i,{placeholder:`请输入功能模块`,...m(`module`),width:160}),/* @__PURE__ */ q(i,{placeholder:`请输入操作描述`,...m(`description`),width:160}),/* @__PURE__ */ q(s,{placeholder:`全部请求方法`,items:Es,...p(`method`),width:140}),/* @__PURE__ */ q(i,{placeholder:`请输入请求路径`,...m(`path`),width:180}),/* @__PURE__ */ q(i,{placeholder:`请输入 IP 地址`,...m(`ip`),width:160}),/* @__PURE__ */ q(i,{placeholder:`请求/变更内容包含…`,...m(`content`),width:180}),/* @__PURE__ */ q(o,{items:Ni,...p(`status`)}),/* @__PURE__ */ q(s,{placeholder:`全部操作来源`,items:Ds,...p(`impersonated`),width:140}),/* @__PURE__ */ q(a,{searchLabel:`操作时间`,...p(`timeRange`)}),/* @__PURE__ */ q(r,{placeholder:`耗时 ≥ (ms)`,min:0,...p(`minDurationMs`)}),/* @__PURE__ */ q(r,{placeholder:`耗时 ≤ (ms)`,min:0,...p(`maxDurationMs`)})]}),onSearch:g,onReset:_,actions:/* @__PURE__ */ J(vi,{children:[/* @__PURE__ */ q(Un,{entity:`system.operation-logs`,query:y}),/* @__PURE__ */ q(oi,{loading:ee,onClear:w.openClearModal})]}),filterTitle:`操作日志筛选`,actionTitle:`日志操作`}),dataSource:x,loading:b.isFetching,onRefresh:()=>void b.refetch(),pagination:f(S)}),t===`stats`&&/* @__PURE__ */ q(vs,{})]})}),/* @__PURE__ */ q(fi,{logName:`操作日志`,control:w})]})}var Es,Ds,Os;function ks(){return(ks=e((()=>{l(),Ln(),Rn(),ri(),Vn(),t(),Hn(),Nn(),ti(),ni(),ws(),c(),Es=[`GET`,`POST`,`PUT`,`PATCH`,`DELETE`].map(e=>({value:e,label:e})),Ds=[{value:`true`,label:`仅模拟操作`},{value:`false`,label:`仅本人操作`}],Os={username:``,module:``,description:``,method:void 0,path:``,ip:``,status:void 0,content:``,impersonated:void 0,timeRange:null,minDurationMs:void 0,maxDurationMs:void 0}})))()}ks();export{Ts as default};
|
|
47
|
-
//# sourceMappingURL=OperationLogsPage-
|
|
47
|
+
//# sourceMappingURL=OperationLogsPage-D2BQdGNp.js.map
|