vue-safe-force-graph 2.0.98 → 2.0.99
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/README.md +54 -6
- package/lib/style.css +24 -24
- package/lib/vue-safe-force-graph.js +300 -88
- package/lib/vue-safe-force-graph.umd.cjs +300 -88
- package/package.json +1 -1
|
@@ -5035,7 +5035,7 @@ var __async = (__this, __arguments, generator) => {
|
|
|
5035
5035
|
var formatRegExp = /%[sdj%]/g;
|
|
5036
5036
|
var warning = function warning2() {
|
|
5037
5037
|
};
|
|
5038
|
-
if (typeof process !== "undefined" && { "NVM_DIR": "/home/jiangzhenxiang/.nvm", "LS_COLORS": "rs=0:di=01;34:ln=01;36:mh=00:pi=40;33:so=01;35:do=01;35:bd=40;33;01:cd=40;33;01:or=40;31;01:mi=00:su=37;41:sg=30;43:ca=30;41:tw=30;42:ow=34;42:st=37;44:ex=01;32:*.tar=01;31:*.tgz=01;31:*.arc=01;31:*.arj=01;31:*.taz=01;31:*.lha=01;31:*.lz4=01;31:*.lzh=01;31:*.lzma=01;31:*.tlz=01;31:*.txz=01;31:*.tzo=01;31:*.t7z=01;31:*.zip=01;31:*.z=01;31:*.dz=01;31:*.gz=01;31:*.lrz=01;31:*.lz=01;31:*.lzo=01;31:*.xz=01;31:*.zst=01;31:*.tzst=01;31:*.bz2=01;31:*.bz=01;31:*.tbz=01;31:*.tbz2=01;31:*.tz=01;31:*.deb=01;31:*.rpm=01;31:*.jar=01;31:*.war=01;31:*.ear=01;31:*.sar=01;31:*.rar=01;31:*.alz=01;31:*.ace=01;31:*.zoo=01;31:*.cpio=01;31:*.7z=01;31:*.rz=01;31:*.cab=01;31:*.wim=01;31:*.swm=01;31:*.dwm=01;31:*.esd=01;31:*.jpg=01;35:*.jpeg=01;35:*.mjpg=01;35:*.mjpeg=01;35:*.gif=01;35:*.bmp=01;35:*.pbm=01;35:*.pgm=01;35:*.ppm=01;35:*.tga=01;35:*.xbm=01;35:*.xpm=01;35:*.tif=01;35:*.tiff=01;35:*.png=01;35:*.svg=01;35:*.svgz=01;35:*.mng=01;35:*.pcx=01;35:*.mov=01;35:*.mpg=01;35:*.mpeg=01;35:*.m2v=01;35:*.mkv=01;35:*.webm=01;35:*.ogm=01;35:*.mp4=01;35:*.m4v=01;35:*.mp4v=01;35:*.vob=01;35:*.qt=01;35:*.nuv=01;35:*.wmv=01;35:*.asf=01;35:*.rm=01;35:*.rmvb=01;35:*.flc=01;35:*.avi=01;35:*.fli=01;35:*.flv=01;35:*.gl=01;35:*.dl=01;35:*.xcf=01;35:*.xwd=01;35:*.yuv=01;35:*.cgm=01;35:*.emf=01;35:*.ogv=01;35:*.ogx=01;35:*.aac=00;36:*.au=00;36:*.flac=00;36:*.m4a=00;36:*.mid=00;36:*.midi=00;36:*.mka=00;36:*.mp3=00;36:*.mpc=00;36:*.ogg=00;36:*.ra=00;36:*.wav=00;36:*.oga=00;36:*.opus=00;36:*.spx=00;36:*.xspf=00;36:", "npm_config_node_gyp": "/home/jiangzhenxiang/.nvm/versions/node/v24.13.0/lib/node_modules/npm/node_modules/node-gyp/bin/node-gyp.js", "SSH_CONNECTION": "10.41.8.17 60202 172.17.0.18 22", "npm_package_engines_npm": ">= 3.0.0", "npm_execpath": "/home/jiangzhenxiang/.nvm/versions/node/v24.13.0/lib/node_modules/npm/bin/npm-cli.js", "_": "/home/jiangzhenxiang/fe_force_graph/node_modules/.bin/vite", "LANG": "en_US.UTF-8", "HISTCONTROL": "ignoredups", "LESS": "-R", "GK_GL_PATH": "/tmp/gitkraken/gitlens/gitlens-ipc-server-1013371-41573.json", "HOSTNAME": "0b850022b261", "OLDPWD": "/home/jiangzhenxiang/fe_force_graph", "EDITOR": "vi", "COLORTERM": "truecolor", "NVM_CD_FLAGS": "-q", "npm_config_global_prefix": "/home/jiangzhenxiang/.nvm/versions/node/v24.13.0", "npm_package_json": "/home/jiangzhenxiang/fe_force_graph/package.json", "VSCODE_GIT_ASKPASS_EXTRA_ARGS": "", "npm_config_user_agent": "npm/11.6.2 node/v24.13.0 linux x64 workspaces/false", "ZSH": "/home/jiangzhenxiang/.oh-my-zsh", "npm_config_init_module": "/home/jiangzhenxiang/.npm-init.js", "which_declare": "typeset -f", "USER": "jiangzhenxiang", "PAGER": "less", "LSCOLORS": "Gxfxcxdxbxegedabagacad", "npm_config_userconfig": "/home/jiangzhenxiang/.npmrc", "npm_lifecycle_event": "lib:base64", "PWD": "/home/jiangzhenxiang/fe_force_graph", "HOME": "/home/jiangzhenxiang", "npm_config_cache": "/home/jiangzhenxiang/.npm", "BROWSER": "/home/jiangzhenxiang/.vscode-server/cli/servers/Stable-07ff9d6178ede9a1bd12ad3399074d726ebe6e43/server/bin/helpers/browser.sh", "VSCODE_GIT_ASKPASS_NODE": "/home/jiangzhenxiang/.vscode-server/cli/servers/Stable-07ff9d6178ede9a1bd12ad3399074d726ebe6e43/server/node", "TERM_PROGRAM": "vscode", "SSH_CLIENT": "10.41.8.17 60202 22", "TERM_PROGRAM_VERSION": "1.112.0", "npm_command": "run", "AUTOJUMP_ERROR_PATH": "/home/jiangzhenxiang/.local/share/autojump/errors.log", "npm_config_noproxy": "", "ANTHROPIC_BASE_URL": "https://claudecode-internal.geelib.360.cn", "GK_GL_ADDR": "http://127.0.0.1:41573", "VSCODE_IPC_HOOK_CLI": "/tmp/vscode-ipc-2e6307dd-74df-40c0-90d4-7635c9a4e8c5.sock", "npm_config_npm_version": "11.6.2", "npm_config_globalconfig": "/home/jiangzhenxiang/.nvm/versions/node/v24.13.0/etc/npmrc", "MAIL": "/var/spool/mail/jiangzhenxiang", "VSCODE_GIT_ASKPASS_MAIN": "/home/jiangzhenxiang/.vscode-server/cli/servers/Stable-07ff9d6178ede9a1bd12ad3399074d726ebe6e43/server/extensions/git/dist/askpass-main.js", "npm_lifecycle_script": "vite build --mode production_base64", "AUTOJUMP_SOURCED": "1", "INIT_CWD": "/home/jiangzhenxiang/fe_force_graph", "TERM": "xterm-256color", "SHELL": "/bin/bash", "VSCODE_STABLE": "1", "VSCODE_NONCE": "030c1f9f-b2cc-4208-b90c-e5cbe3454434", "VSCODE_INJECTION": "1", "NVM_BIN": "/home/jiangzhenxiang/.nvm/versions/node/v24.13.0/bin", "COLOR": "1", "npm_package_engines_node": ">=8.9", "SHLVL": "7", "VSCODE_GIT_IPC_HANDLE": "/tmp/vscode-git-40681f0e0a.sock", "npm_config_prefix": "/home/jiangzhenxiang/.nvm/versions/node/v24.13.0", "npm_node_execpath": "/home/jiangzhenxiang/.nvm/versions/node/v24.13.0/bin/node", "npm_config_local_prefix": "/home/jiangzhenxiang/fe_force_graph", "ANTHROPIC_API_KEY": "sk-xiCMRqTeHrt4tuS7lStOhNGsBAExtBewVo0gXtMeK1mevRSt", "npm_package_version": "2.0.98", "LOGNAME": "jiangzhenxiang", "GIT_ASKPASS": "/home/jiangzhenxiang/.vscode-server/cli/servers/Stable-07ff9d6178ede9a1bd12ad3399074d726ebe6e43/server/extensions/git/dist/askpass.sh", "PATH": "/home/jiangzhenxiang/fe_force_graph/node_modules/.bin:/home/jiangzhenxiang/node_modules/.bin:/home/node_modules/.bin:/node_modules/.bin:/home/jiangzhenxiang/.nvm/versions/node/v24.13.0/lib/node_modules/npm/node_modules/@npmcli/run-script/lib/node-gyp-bin:/home/jiangzhenxiang/fe_force_graph/node_modules/.bin:/home/jiangzhenxiang/node_modules/.bin:/home/node_modules/.bin:/node_modules/.bin:/home/jiangzhenxiang/.nvm/versions/node/v24.13.0/lib/node_modules/npm/node_modules/@npmcli/run-script/lib/node-gyp-bin:/home/jiangzhenxiang/.nvm/versions/node/v24.13.0/bin:/home/jiangzhenxiang/.nvm/versions/node/v24.13.0/bin:/home/jiangzhenxiang/.vscode-server/cli/servers/Stable-07ff9d6178ede9a1bd12ad3399074d726ebe6e43/server/bin/remote-cli:/home/jiangzhenxiang/.nvm/versions/node/v24.13.0/bin:/usr/local/bin:/home/jiangzhenxiang/.nvm/versions/node/v24.13.0/bin:/home/jiangzhenxiang/.local/bin:/home/jiangzhenxiang/bin:/usr/local/bin:/usr/bin:/usr/local/sbin:/usr/sbin", "NVM_INC": "/home/jiangzhenxiang/.nvm/versions/node/v24.13.0/include/node", "NODE": "/home/jiangzhenxiang/.nvm/versions/node/v24.13.0/bin/node", "HISTSIZE": "50000", "npm_package_name": "vue-safe-force-graph", "ANTHROPIC_AUTH_TOKEN": "zhixiao", "LESSOPEN": "||/usr/bin/lesspipe.sh %s", "BASH_FUNC_which%%": '() { ( alias;\n eval ${which_declare} ) | /usr/bin/which --tty-only --read-alias --read-functions --show-tilde --show-dot "$@"\n}', "NODE_ENV": "production" } && { "NVM_DIR": "/home/jiangzhenxiang/.nvm", "LS_COLORS": "rs=0:di=01;34:ln=01;36:mh=00:pi=40;33:so=01;35:do=01;35:bd=40;33;01:cd=40;33;01:or=40;31;01:mi=00:su=37;41:sg=30;43:ca=30;41:tw=30;42:ow=34;42:st=37;44:ex=01;32:*.tar=01;31:*.tgz=01;31:*.arc=01;31:*.arj=01;31:*.taz=01;31:*.lha=01;31:*.lz4=01;31:*.lzh=01;31:*.lzma=01;31:*.tlz=01;31:*.txz=01;31:*.tzo=01;31:*.t7z=01;31:*.zip=01;31:*.z=01;31:*.dz=01;31:*.gz=01;31:*.lrz=01;31:*.lz=01;31:*.lzo=01;31:*.xz=01;31:*.zst=01;31:*.tzst=01;31:*.bz2=01;31:*.bz=01;31:*.tbz=01;31:*.tbz2=01;31:*.tz=01;31:*.deb=01;31:*.rpm=01;31:*.jar=01;31:*.war=01;31:*.ear=01;31:*.sar=01;31:*.rar=01;31:*.alz=01;31:*.ace=01;31:*.zoo=01;31:*.cpio=01;31:*.7z=01;31:*.rz=01;31:*.cab=01;31:*.wim=01;31:*.swm=01;31:*.dwm=01;31:*.esd=01;31:*.jpg=01;35:*.jpeg=01;35:*.mjpg=01;35:*.mjpeg=01;35:*.gif=01;35:*.bmp=01;35:*.pbm=01;35:*.pgm=01;35:*.ppm=01;35:*.tga=01;35:*.xbm=01;35:*.xpm=01;35:*.tif=01;35:*.tiff=01;35:*.png=01;35:*.svg=01;35:*.svgz=01;35:*.mng=01;35:*.pcx=01;35:*.mov=01;35:*.mpg=01;35:*.mpeg=01;35:*.m2v=01;35:*.mkv=01;35:*.webm=01;35:*.ogm=01;35:*.mp4=01;35:*.m4v=01;35:*.mp4v=01;35:*.vob=01;35:*.qt=01;35:*.nuv=01;35:*.wmv=01;35:*.asf=01;35:*.rm=01;35:*.rmvb=01;35:*.flc=01;35:*.avi=01;35:*.fli=01;35:*.flv=01;35:*.gl=01;35:*.dl=01;35:*.xcf=01;35:*.xwd=01;35:*.yuv=01;35:*.cgm=01;35:*.emf=01;35:*.ogv=01;35:*.ogx=01;35:*.aac=00;36:*.au=00;36:*.flac=00;36:*.m4a=00;36:*.mid=00;36:*.midi=00;36:*.mka=00;36:*.mp3=00;36:*.mpc=00;36:*.ogg=00;36:*.ra=00;36:*.wav=00;36:*.oga=00;36:*.opus=00;36:*.spx=00;36:*.xspf=00;36:", "npm_config_node_gyp": "/home/jiangzhenxiang/.nvm/versions/node/v24.13.0/lib/node_modules/npm/node_modules/node-gyp/bin/node-gyp.js", "SSH_CONNECTION": "10.41.8.17 60202 172.17.0.18 22", "npm_package_engines_npm": ">= 3.0.0", "npm_execpath": "/home/jiangzhenxiang/.nvm/versions/node/v24.13.0/lib/node_modules/npm/bin/npm-cli.js", "_": "/home/jiangzhenxiang/fe_force_graph/node_modules/.bin/vite", "LANG": "en_US.UTF-8", "HISTCONTROL": "ignoredups", "LESS": "-R", "GK_GL_PATH": "/tmp/gitkraken/gitlens/gitlens-ipc-server-1013371-41573.json", "HOSTNAME": "0b850022b261", "OLDPWD": "/home/jiangzhenxiang/fe_force_graph", "EDITOR": "vi", "COLORTERM": "truecolor", "NVM_CD_FLAGS": "-q", "npm_config_global_prefix": "/home/jiangzhenxiang/.nvm/versions/node/v24.13.0", "npm_package_json": "/home/jiangzhenxiang/fe_force_graph/package.json", "VSCODE_GIT_ASKPASS_EXTRA_ARGS": "", "npm_config_user_agent": "npm/11.6.2 node/v24.13.0 linux x64 workspaces/false", "ZSH": "/home/jiangzhenxiang/.oh-my-zsh", "npm_config_init_module": "/home/jiangzhenxiang/.npm-init.js", "which_declare": "typeset -f", "USER": "jiangzhenxiang", "PAGER": "less", "LSCOLORS": "Gxfxcxdxbxegedabagacad", "npm_config_userconfig": "/home/jiangzhenxiang/.npmrc", "npm_lifecycle_event": "lib:base64", "PWD": "/home/jiangzhenxiang/fe_force_graph", "HOME": "/home/jiangzhenxiang", "npm_config_cache": "/home/jiangzhenxiang/.npm", "BROWSER": "/home/jiangzhenxiang/.vscode-server/cli/servers/Stable-07ff9d6178ede9a1bd12ad3399074d726ebe6e43/server/bin/helpers/browser.sh", "VSCODE_GIT_ASKPASS_NODE": "/home/jiangzhenxiang/.vscode-server/cli/servers/Stable-07ff9d6178ede9a1bd12ad3399074d726ebe6e43/server/node", "TERM_PROGRAM": "vscode", "SSH_CLIENT": "10.41.8.17 60202 22", "TERM_PROGRAM_VERSION": "1.112.0", "npm_command": "run", "AUTOJUMP_ERROR_PATH": "/home/jiangzhenxiang/.local/share/autojump/errors.log", "npm_config_noproxy": "", "ANTHROPIC_BASE_URL": "https://claudecode-internal.geelib.360.cn", "GK_GL_ADDR": "http://127.0.0.1:41573", "VSCODE_IPC_HOOK_CLI": "/tmp/vscode-ipc-2e6307dd-74df-40c0-90d4-7635c9a4e8c5.sock", "npm_config_npm_version": "11.6.2", "npm_config_globalconfig": "/home/jiangzhenxiang/.nvm/versions/node/v24.13.0/etc/npmrc", "MAIL": "/var/spool/mail/jiangzhenxiang", "VSCODE_GIT_ASKPASS_MAIN": "/home/jiangzhenxiang/.vscode-server/cli/servers/Stable-07ff9d6178ede9a1bd12ad3399074d726ebe6e43/server/extensions/git/dist/askpass-main.js", "npm_lifecycle_script": "vite build --mode production_base64", "AUTOJUMP_SOURCED": "1", "INIT_CWD": "/home/jiangzhenxiang/fe_force_graph", "TERM": "xterm-256color", "SHELL": "/bin/bash", "VSCODE_STABLE": "1", "VSCODE_NONCE": "030c1f9f-b2cc-4208-b90c-e5cbe3454434", "VSCODE_INJECTION": "1", "NVM_BIN": "/home/jiangzhenxiang/.nvm/versions/node/v24.13.0/bin", "COLOR": "1", "npm_package_engines_node": ">=8.9", "SHLVL": "7", "VSCODE_GIT_IPC_HANDLE": "/tmp/vscode-git-40681f0e0a.sock", "npm_config_prefix": "/home/jiangzhenxiang/.nvm/versions/node/v24.13.0", "npm_node_execpath": "/home/jiangzhenxiang/.nvm/versions/node/v24.13.0/bin/node", "npm_config_local_prefix": "/home/jiangzhenxiang/fe_force_graph", "ANTHROPIC_API_KEY": "sk-xiCMRqTeHrt4tuS7lStOhNGsBAExtBewVo0gXtMeK1mevRSt", "npm_package_version": "2.0.98", "LOGNAME": "jiangzhenxiang", "GIT_ASKPASS": "/home/jiangzhenxiang/.vscode-server/cli/servers/Stable-07ff9d6178ede9a1bd12ad3399074d726ebe6e43/server/extensions/git/dist/askpass.sh", "PATH": "/home/jiangzhenxiang/fe_force_graph/node_modules/.bin:/home/jiangzhenxiang/node_modules/.bin:/home/node_modules/.bin:/node_modules/.bin:/home/jiangzhenxiang/.nvm/versions/node/v24.13.0/lib/node_modules/npm/node_modules/@npmcli/run-script/lib/node-gyp-bin:/home/jiangzhenxiang/fe_force_graph/node_modules/.bin:/home/jiangzhenxiang/node_modules/.bin:/home/node_modules/.bin:/node_modules/.bin:/home/jiangzhenxiang/.nvm/versions/node/v24.13.0/lib/node_modules/npm/node_modules/@npmcli/run-script/lib/node-gyp-bin:/home/jiangzhenxiang/.nvm/versions/node/v24.13.0/bin:/home/jiangzhenxiang/.nvm/versions/node/v24.13.0/bin:/home/jiangzhenxiang/.vscode-server/cli/servers/Stable-07ff9d6178ede9a1bd12ad3399074d726ebe6e43/server/bin/remote-cli:/home/jiangzhenxiang/.nvm/versions/node/v24.13.0/bin:/usr/local/bin:/home/jiangzhenxiang/.nvm/versions/node/v24.13.0/bin:/home/jiangzhenxiang/.local/bin:/home/jiangzhenxiang/bin:/usr/local/bin:/usr/bin:/usr/local/sbin:/usr/sbin", "NVM_INC": "/home/jiangzhenxiang/.nvm/versions/node/v24.13.0/include/node", "NODE": "/home/jiangzhenxiang/.nvm/versions/node/v24.13.0/bin/node", "HISTSIZE": "50000", "npm_package_name": "vue-safe-force-graph", "ANTHROPIC_AUTH_TOKEN": "zhixiao", "LESSOPEN": "||/usr/bin/lesspipe.sh %s", "BASH_FUNC_which%%": '() { ( alias;\n eval ${which_declare} ) | /usr/bin/which --tty-only --read-alias --read-functions --show-tilde --show-dot "$@"\n}', "NODE_ENV": "production" }.NODE_ENV !== "production" && typeof window !== "undefined" && typeof document !== "undefined") {
|
|
5038
|
+
if (typeof process !== "undefined" && { "NVM_DIR": "/home/jiangzhenxiang/.nvm", "npm_config_node_gyp": "/home/jiangzhenxiang/.nvm/versions/node/v24.13.0/lib/node_modules/npm/node_modules/node-gyp/bin/node-gyp.js", "SSH_CONNECTION": "10.41.8.17 61655 172.17.0.18 22", "npm_package_engines_npm": ">= 3.0.0", "npm_execpath": "/home/jiangzhenxiang/.nvm/versions/node/v24.13.0/lib/node_modules/npm/bin/npm-cli.js", "_": "/home/jiangzhenxiang/fe_force_graph/node_modules/.bin/vite", "LANG": "en_US.UTF-8", "HISTCONTROL": "ignoredups", "GK_GL_PATH": "/tmp/gitkraken/gitlens/gitlens-ipc-server-1166248-45385.json", "HOSTNAME": "0b850022b261", "OLDPWD": "/home/jiangzhenxiang/fe_force_graph", "EDITOR": "vi", "COLORTERM": "truecolor", "NVM_CD_FLAGS": "", "npm_config_global_prefix": "/home/jiangzhenxiang/.nvm/versions/node/v24.13.0", "npm_package_json": "/home/jiangzhenxiang/fe_force_graph/package.json", "VSCODE_GIT_ASKPASS_EXTRA_ARGS": "", "npm_config_user_agent": "npm/11.6.2 node/v24.13.0 linux x64 workspaces/false", "npm_config_init_module": "/home/jiangzhenxiang/.npm-init.js", "which_declare": "typeset -f", "USER": "jiangzhenxiang", "npm_config_userconfig": "/home/jiangzhenxiang/.npmrc", "npm_lifecycle_event": "lib:base64", "PWD": "/home/jiangzhenxiang/fe_force_graph", "HOME": "/home/jiangzhenxiang", "npm_config_cache": "/home/jiangzhenxiang/.npm", "BROWSER": "/home/jiangzhenxiang/.vscode-server/cli/servers/Stable-cfbea10c5ffb233ea9177d34726e6056e89913dc/server/bin/helpers/browser.sh", "VSCODE_GIT_ASKPASS_NODE": "/home/jiangzhenxiang/.vscode-server/cli/servers/Stable-cfbea10c5ffb233ea9177d34726e6056e89913dc/server/node", "TERM_PROGRAM": "vscode", "SSH_CLIENT": "10.41.8.17 61655 22", "TERM_PROGRAM_VERSION": "1.113.0", "npm_command": "run", "AUTOJUMP_ERROR_PATH": "/home/jiangzhenxiang/.local/share/autojump/errors.log", "npm_config_noproxy": "", "GK_GL_ADDR": "http://127.0.0.1:45385", "VSCODE_IPC_HOOK_CLI": "/tmp/vscode-ipc-53872512-4f59-4bd5-872d-c88e74fd3d8c.sock", "npm_config_npm_version": "11.6.2", "npm_config_globalconfig": "/home/jiangzhenxiang/.nvm/versions/node/v24.13.0/etc/npmrc", "MAIL": "/var/spool/mail/jiangzhenxiang", "VSCODE_GIT_ASKPASS_MAIN": "/home/jiangzhenxiang/.vscode-server/cli/servers/Stable-cfbea10c5ffb233ea9177d34726e6056e89913dc/server/extensions/git/dist/askpass-main.js", "npm_lifecycle_script": "vite build --mode production_base64", "AUTOJUMP_SOURCED": "1", "INIT_CWD": "/home/jiangzhenxiang/fe_force_graph", "SHELL": "/bin/bash", "TERM": "xterm-256color", "VSCODE_NONCE": "8f291120-d6f4-4d8d-a570-82ce080cd880", "NVM_BIN": "/home/jiangzhenxiang/.nvm/versions/node/v24.13.0/bin", "COLOR": "1", "npm_package_engines_node": ">=8.9", "SHLVL": "6", "VSCODE_GIT_IPC_HANDLE": "/tmp/vscode-git-40681f0e0a.sock", "npm_config_prefix": "/home/jiangzhenxiang/.nvm/versions/node/v24.13.0", "npm_node_execpath": "/home/jiangzhenxiang/.nvm/versions/node/v24.13.0/bin/node", "npm_config_local_prefix": "/home/jiangzhenxiang/fe_force_graph", "npm_package_version": "2.0.99", "LOGNAME": "jiangzhenxiang", "GIT_ASKPASS": "/home/jiangzhenxiang/.vscode-server/cli/servers/Stable-cfbea10c5ffb233ea9177d34726e6056e89913dc/server/extensions/git/dist/askpass.sh", "PATH": "/home/jiangzhenxiang/fe_force_graph/node_modules/.bin:/home/jiangzhenxiang/node_modules/.bin:/home/node_modules/.bin:/node_modules/.bin:/home/jiangzhenxiang/.nvm/versions/node/v24.13.0/lib/node_modules/npm/node_modules/@npmcli/run-script/lib/node-gyp-bin:/home/jiangzhenxiang/fe_force_graph/node_modules/.bin:/home/jiangzhenxiang/node_modules/.bin:/home/node_modules/.bin:/node_modules/.bin:/home/jiangzhenxiang/.nvm/versions/node/v24.13.0/lib/node_modules/npm/node_modules/@npmcli/run-script/lib/node-gyp-bin:/usr/local/bin:/home/jiangzhenxiang/.vscode-server/cli/servers/Stable-cfbea10c5ffb233ea9177d34726e6056e89913dc/server/bin/remote-cli:/home/jiangzhenxiang/.nvm/versions/node/v24.13.0/bin:/usr/local/bin:/home/jiangzhenxiang/.nvm/versions/node/v24.13.0/bin:/home/jiangzhenxiang/.local/bin:/home/jiangzhenxiang/bin:/usr/local/bin:/usr/bin:/usr/local/sbin:/usr/sbin:/home/jiangzhenxiang/bin", "NVM_INC": "/home/jiangzhenxiang/.nvm/versions/node/v24.13.0/include/node", "NODE": "/home/jiangzhenxiang/.nvm/versions/node/v24.13.0/bin/node", "HISTSIZE": "1000", "npm_package_name": "vue-safe-force-graph", "LESSOPEN": "||/usr/bin/lesspipe.sh %s", "BASH_FUNC_which%%": '() { ( alias;\n eval ${which_declare} ) | /usr/bin/which --tty-only --read-alias --read-functions --show-tilde --show-dot "$@"\n}', "NODE_ENV": "production" } && { "NVM_DIR": "/home/jiangzhenxiang/.nvm", "npm_config_node_gyp": "/home/jiangzhenxiang/.nvm/versions/node/v24.13.0/lib/node_modules/npm/node_modules/node-gyp/bin/node-gyp.js", "SSH_CONNECTION": "10.41.8.17 61655 172.17.0.18 22", "npm_package_engines_npm": ">= 3.0.0", "npm_execpath": "/home/jiangzhenxiang/.nvm/versions/node/v24.13.0/lib/node_modules/npm/bin/npm-cli.js", "_": "/home/jiangzhenxiang/fe_force_graph/node_modules/.bin/vite", "LANG": "en_US.UTF-8", "HISTCONTROL": "ignoredups", "GK_GL_PATH": "/tmp/gitkraken/gitlens/gitlens-ipc-server-1166248-45385.json", "HOSTNAME": "0b850022b261", "OLDPWD": "/home/jiangzhenxiang/fe_force_graph", "EDITOR": "vi", "COLORTERM": "truecolor", "NVM_CD_FLAGS": "", "npm_config_global_prefix": "/home/jiangzhenxiang/.nvm/versions/node/v24.13.0", "npm_package_json": "/home/jiangzhenxiang/fe_force_graph/package.json", "VSCODE_GIT_ASKPASS_EXTRA_ARGS": "", "npm_config_user_agent": "npm/11.6.2 node/v24.13.0 linux x64 workspaces/false", "npm_config_init_module": "/home/jiangzhenxiang/.npm-init.js", "which_declare": "typeset -f", "USER": "jiangzhenxiang", "npm_config_userconfig": "/home/jiangzhenxiang/.npmrc", "npm_lifecycle_event": "lib:base64", "PWD": "/home/jiangzhenxiang/fe_force_graph", "HOME": "/home/jiangzhenxiang", "npm_config_cache": "/home/jiangzhenxiang/.npm", "BROWSER": "/home/jiangzhenxiang/.vscode-server/cli/servers/Stable-cfbea10c5ffb233ea9177d34726e6056e89913dc/server/bin/helpers/browser.sh", "VSCODE_GIT_ASKPASS_NODE": "/home/jiangzhenxiang/.vscode-server/cli/servers/Stable-cfbea10c5ffb233ea9177d34726e6056e89913dc/server/node", "TERM_PROGRAM": "vscode", "SSH_CLIENT": "10.41.8.17 61655 22", "TERM_PROGRAM_VERSION": "1.113.0", "npm_command": "run", "AUTOJUMP_ERROR_PATH": "/home/jiangzhenxiang/.local/share/autojump/errors.log", "npm_config_noproxy": "", "GK_GL_ADDR": "http://127.0.0.1:45385", "VSCODE_IPC_HOOK_CLI": "/tmp/vscode-ipc-53872512-4f59-4bd5-872d-c88e74fd3d8c.sock", "npm_config_npm_version": "11.6.2", "npm_config_globalconfig": "/home/jiangzhenxiang/.nvm/versions/node/v24.13.0/etc/npmrc", "MAIL": "/var/spool/mail/jiangzhenxiang", "VSCODE_GIT_ASKPASS_MAIN": "/home/jiangzhenxiang/.vscode-server/cli/servers/Stable-cfbea10c5ffb233ea9177d34726e6056e89913dc/server/extensions/git/dist/askpass-main.js", "npm_lifecycle_script": "vite build --mode production_base64", "AUTOJUMP_SOURCED": "1", "INIT_CWD": "/home/jiangzhenxiang/fe_force_graph", "SHELL": "/bin/bash", "TERM": "xterm-256color", "VSCODE_NONCE": "8f291120-d6f4-4d8d-a570-82ce080cd880", "NVM_BIN": "/home/jiangzhenxiang/.nvm/versions/node/v24.13.0/bin", "COLOR": "1", "npm_package_engines_node": ">=8.9", "SHLVL": "6", "VSCODE_GIT_IPC_HANDLE": "/tmp/vscode-git-40681f0e0a.sock", "npm_config_prefix": "/home/jiangzhenxiang/.nvm/versions/node/v24.13.0", "npm_node_execpath": "/home/jiangzhenxiang/.nvm/versions/node/v24.13.0/bin/node", "npm_config_local_prefix": "/home/jiangzhenxiang/fe_force_graph", "npm_package_version": "2.0.99", "LOGNAME": "jiangzhenxiang", "GIT_ASKPASS": "/home/jiangzhenxiang/.vscode-server/cli/servers/Stable-cfbea10c5ffb233ea9177d34726e6056e89913dc/server/extensions/git/dist/askpass.sh", "PATH": "/home/jiangzhenxiang/fe_force_graph/node_modules/.bin:/home/jiangzhenxiang/node_modules/.bin:/home/node_modules/.bin:/node_modules/.bin:/home/jiangzhenxiang/.nvm/versions/node/v24.13.0/lib/node_modules/npm/node_modules/@npmcli/run-script/lib/node-gyp-bin:/home/jiangzhenxiang/fe_force_graph/node_modules/.bin:/home/jiangzhenxiang/node_modules/.bin:/home/node_modules/.bin:/node_modules/.bin:/home/jiangzhenxiang/.nvm/versions/node/v24.13.0/lib/node_modules/npm/node_modules/@npmcli/run-script/lib/node-gyp-bin:/usr/local/bin:/home/jiangzhenxiang/.vscode-server/cli/servers/Stable-cfbea10c5ffb233ea9177d34726e6056e89913dc/server/bin/remote-cli:/home/jiangzhenxiang/.nvm/versions/node/v24.13.0/bin:/usr/local/bin:/home/jiangzhenxiang/.nvm/versions/node/v24.13.0/bin:/home/jiangzhenxiang/.local/bin:/home/jiangzhenxiang/bin:/usr/local/bin:/usr/bin:/usr/local/sbin:/usr/sbin:/home/jiangzhenxiang/bin", "NVM_INC": "/home/jiangzhenxiang/.nvm/versions/node/v24.13.0/include/node", "NODE": "/home/jiangzhenxiang/.nvm/versions/node/v24.13.0/bin/node", "HISTSIZE": "1000", "npm_package_name": "vue-safe-force-graph", "LESSOPEN": "||/usr/bin/lesspipe.sh %s", "BASH_FUNC_which%%": '() { ( alias;\n eval ${which_declare} ) | /usr/bin/which --tty-only --read-alias --read-functions --show-tilde --show-dot "$@"\n}', "NODE_ENV": "production" }.NODE_ENV !== "production" && typeof window !== "undefined" && typeof document !== "undefined") {
|
|
5039
5039
|
warning = function warning2(type2, errors) {
|
|
5040
5040
|
if (typeof console !== "undefined" && console.warn && typeof ASYNC_VALIDATOR_NO_WARNING === "undefined") {
|
|
5041
5041
|
if (errors.every(function(e2) {
|
|
@@ -22607,7 +22607,7 @@ var __async = (__this, __arguments, generator) => {
|
|
|
22607
22607
|
return cached;
|
|
22608
22608
|
}
|
|
22609
22609
|
const { ast, detectError } = baseCompile(message2, __spreadProps(__spreadValues({}, context), {
|
|
22610
|
-
location: { "NVM_DIR": "/home/jiangzhenxiang/.nvm", "
|
|
22610
|
+
location: { "NVM_DIR": "/home/jiangzhenxiang/.nvm", "npm_config_node_gyp": "/home/jiangzhenxiang/.nvm/versions/node/v24.13.0/lib/node_modules/npm/node_modules/node-gyp/bin/node-gyp.js", "SSH_CONNECTION": "10.41.8.17 61655 172.17.0.18 22", "npm_package_engines_npm": ">= 3.0.0", "npm_execpath": "/home/jiangzhenxiang/.nvm/versions/node/v24.13.0/lib/node_modules/npm/bin/npm-cli.js", "_": "/home/jiangzhenxiang/fe_force_graph/node_modules/.bin/vite", "LANG": "en_US.UTF-8", "HISTCONTROL": "ignoredups", "GK_GL_PATH": "/tmp/gitkraken/gitlens/gitlens-ipc-server-1166248-45385.json", "HOSTNAME": "0b850022b261", "OLDPWD": "/home/jiangzhenxiang/fe_force_graph", "EDITOR": "vi", "COLORTERM": "truecolor", "NVM_CD_FLAGS": "", "npm_config_global_prefix": "/home/jiangzhenxiang/.nvm/versions/node/v24.13.0", "npm_package_json": "/home/jiangzhenxiang/fe_force_graph/package.json", "VSCODE_GIT_ASKPASS_EXTRA_ARGS": "", "npm_config_user_agent": "npm/11.6.2 node/v24.13.0 linux x64 workspaces/false", "npm_config_init_module": "/home/jiangzhenxiang/.npm-init.js", "which_declare": "typeset -f", "USER": "jiangzhenxiang", "npm_config_userconfig": "/home/jiangzhenxiang/.npmrc", "npm_lifecycle_event": "lib:base64", "PWD": "/home/jiangzhenxiang/fe_force_graph", "HOME": "/home/jiangzhenxiang", "npm_config_cache": "/home/jiangzhenxiang/.npm", "BROWSER": "/home/jiangzhenxiang/.vscode-server/cli/servers/Stable-cfbea10c5ffb233ea9177d34726e6056e89913dc/server/bin/helpers/browser.sh", "VSCODE_GIT_ASKPASS_NODE": "/home/jiangzhenxiang/.vscode-server/cli/servers/Stable-cfbea10c5ffb233ea9177d34726e6056e89913dc/server/node", "TERM_PROGRAM": "vscode", "SSH_CLIENT": "10.41.8.17 61655 22", "TERM_PROGRAM_VERSION": "1.113.0", "npm_command": "run", "AUTOJUMP_ERROR_PATH": "/home/jiangzhenxiang/.local/share/autojump/errors.log", "npm_config_noproxy": "", "GK_GL_ADDR": "http://127.0.0.1:45385", "VSCODE_IPC_HOOK_CLI": "/tmp/vscode-ipc-53872512-4f59-4bd5-872d-c88e74fd3d8c.sock", "npm_config_npm_version": "11.6.2", "npm_config_globalconfig": "/home/jiangzhenxiang/.nvm/versions/node/v24.13.0/etc/npmrc", "MAIL": "/var/spool/mail/jiangzhenxiang", "VSCODE_GIT_ASKPASS_MAIN": "/home/jiangzhenxiang/.vscode-server/cli/servers/Stable-cfbea10c5ffb233ea9177d34726e6056e89913dc/server/extensions/git/dist/askpass-main.js", "npm_lifecycle_script": "vite build --mode production_base64", "AUTOJUMP_SOURCED": "1", "INIT_CWD": "/home/jiangzhenxiang/fe_force_graph", "SHELL": "/bin/bash", "TERM": "xterm-256color", "VSCODE_NONCE": "8f291120-d6f4-4d8d-a570-82ce080cd880", "NVM_BIN": "/home/jiangzhenxiang/.nvm/versions/node/v24.13.0/bin", "COLOR": "1", "npm_package_engines_node": ">=8.9", "SHLVL": "6", "VSCODE_GIT_IPC_HANDLE": "/tmp/vscode-git-40681f0e0a.sock", "npm_config_prefix": "/home/jiangzhenxiang/.nvm/versions/node/v24.13.0", "npm_node_execpath": "/home/jiangzhenxiang/.nvm/versions/node/v24.13.0/bin/node", "npm_config_local_prefix": "/home/jiangzhenxiang/fe_force_graph", "npm_package_version": "2.0.99", "LOGNAME": "jiangzhenxiang", "GIT_ASKPASS": "/home/jiangzhenxiang/.vscode-server/cli/servers/Stable-cfbea10c5ffb233ea9177d34726e6056e89913dc/server/extensions/git/dist/askpass.sh", "PATH": "/home/jiangzhenxiang/fe_force_graph/node_modules/.bin:/home/jiangzhenxiang/node_modules/.bin:/home/node_modules/.bin:/node_modules/.bin:/home/jiangzhenxiang/.nvm/versions/node/v24.13.0/lib/node_modules/npm/node_modules/@npmcli/run-script/lib/node-gyp-bin:/home/jiangzhenxiang/fe_force_graph/node_modules/.bin:/home/jiangzhenxiang/node_modules/.bin:/home/node_modules/.bin:/node_modules/.bin:/home/jiangzhenxiang/.nvm/versions/node/v24.13.0/lib/node_modules/npm/node_modules/@npmcli/run-script/lib/node-gyp-bin:/usr/local/bin:/home/jiangzhenxiang/.vscode-server/cli/servers/Stable-cfbea10c5ffb233ea9177d34726e6056e89913dc/server/bin/remote-cli:/home/jiangzhenxiang/.nvm/versions/node/v24.13.0/bin:/usr/local/bin:/home/jiangzhenxiang/.nvm/versions/node/v24.13.0/bin:/home/jiangzhenxiang/.local/bin:/home/jiangzhenxiang/bin:/usr/local/bin:/usr/bin:/usr/local/sbin:/usr/sbin:/home/jiangzhenxiang/bin", "NVM_INC": "/home/jiangzhenxiang/.nvm/versions/node/v24.13.0/include/node", "NODE": "/home/jiangzhenxiang/.nvm/versions/node/v24.13.0/bin/node", "HISTSIZE": "1000", "npm_package_name": "vue-safe-force-graph", "LESSOPEN": "||/usr/bin/lesspipe.sh %s", "BASH_FUNC_which%%": '() { ( alias;\n eval ${which_declare} ) | /usr/bin/which --tty-only --read-alias --read-functions --show-tilde --show-dot "$@"\n}', "NODE_ENV": "production" }.NODE_ENV !== "production",
|
|
22611
22611
|
jit: true
|
|
22612
22612
|
}));
|
|
22613
22613
|
const msg = format(ast);
|
|
@@ -24181,7 +24181,7 @@ var __async = (__this, __arguments, generator) => {
|
|
|
24181
24181
|
trackReactivityValues();
|
|
24182
24182
|
let ret;
|
|
24183
24183
|
try {
|
|
24184
|
-
if ({ "NVM_DIR": "/home/jiangzhenxiang/.nvm", "
|
|
24184
|
+
if ({ "NVM_DIR": "/home/jiangzhenxiang/.nvm", "npm_config_node_gyp": "/home/jiangzhenxiang/.nvm/versions/node/v24.13.0/lib/node_modules/npm/node_modules/node-gyp/bin/node-gyp.js", "SSH_CONNECTION": "10.41.8.17 61655 172.17.0.18 22", "npm_package_engines_npm": ">= 3.0.0", "npm_execpath": "/home/jiangzhenxiang/.nvm/versions/node/v24.13.0/lib/node_modules/npm/bin/npm-cli.js", "_": "/home/jiangzhenxiang/fe_force_graph/node_modules/.bin/vite", "LANG": "en_US.UTF-8", "HISTCONTROL": "ignoredups", "GK_GL_PATH": "/tmp/gitkraken/gitlens/gitlens-ipc-server-1166248-45385.json", "HOSTNAME": "0b850022b261", "OLDPWD": "/home/jiangzhenxiang/fe_force_graph", "EDITOR": "vi", "COLORTERM": "truecolor", "NVM_CD_FLAGS": "", "npm_config_global_prefix": "/home/jiangzhenxiang/.nvm/versions/node/v24.13.0", "npm_package_json": "/home/jiangzhenxiang/fe_force_graph/package.json", "VSCODE_GIT_ASKPASS_EXTRA_ARGS": "", "npm_config_user_agent": "npm/11.6.2 node/v24.13.0 linux x64 workspaces/false", "npm_config_init_module": "/home/jiangzhenxiang/.npm-init.js", "which_declare": "typeset -f", "USER": "jiangzhenxiang", "npm_config_userconfig": "/home/jiangzhenxiang/.npmrc", "npm_lifecycle_event": "lib:base64", "PWD": "/home/jiangzhenxiang/fe_force_graph", "HOME": "/home/jiangzhenxiang", "npm_config_cache": "/home/jiangzhenxiang/.npm", "BROWSER": "/home/jiangzhenxiang/.vscode-server/cli/servers/Stable-cfbea10c5ffb233ea9177d34726e6056e89913dc/server/bin/helpers/browser.sh", "VSCODE_GIT_ASKPASS_NODE": "/home/jiangzhenxiang/.vscode-server/cli/servers/Stable-cfbea10c5ffb233ea9177d34726e6056e89913dc/server/node", "TERM_PROGRAM": "vscode", "SSH_CLIENT": "10.41.8.17 61655 22", "TERM_PROGRAM_VERSION": "1.113.0", "npm_command": "run", "AUTOJUMP_ERROR_PATH": "/home/jiangzhenxiang/.local/share/autojump/errors.log", "npm_config_noproxy": "", "GK_GL_ADDR": "http://127.0.0.1:45385", "VSCODE_IPC_HOOK_CLI": "/tmp/vscode-ipc-53872512-4f59-4bd5-872d-c88e74fd3d8c.sock", "npm_config_npm_version": "11.6.2", "npm_config_globalconfig": "/home/jiangzhenxiang/.nvm/versions/node/v24.13.0/etc/npmrc", "MAIL": "/var/spool/mail/jiangzhenxiang", "VSCODE_GIT_ASKPASS_MAIN": "/home/jiangzhenxiang/.vscode-server/cli/servers/Stable-cfbea10c5ffb233ea9177d34726e6056e89913dc/server/extensions/git/dist/askpass-main.js", "npm_lifecycle_script": "vite build --mode production_base64", "AUTOJUMP_SOURCED": "1", "INIT_CWD": "/home/jiangzhenxiang/fe_force_graph", "SHELL": "/bin/bash", "TERM": "xterm-256color", "VSCODE_NONCE": "8f291120-d6f4-4d8d-a570-82ce080cd880", "NVM_BIN": "/home/jiangzhenxiang/.nvm/versions/node/v24.13.0/bin", "COLOR": "1", "npm_package_engines_node": ">=8.9", "SHLVL": "6", "VSCODE_GIT_IPC_HANDLE": "/tmp/vscode-git-40681f0e0a.sock", "npm_config_prefix": "/home/jiangzhenxiang/.nvm/versions/node/v24.13.0", "npm_node_execpath": "/home/jiangzhenxiang/.nvm/versions/node/v24.13.0/bin/node", "npm_config_local_prefix": "/home/jiangzhenxiang/fe_force_graph", "npm_package_version": "2.0.99", "LOGNAME": "jiangzhenxiang", "GIT_ASKPASS": "/home/jiangzhenxiang/.vscode-server/cli/servers/Stable-cfbea10c5ffb233ea9177d34726e6056e89913dc/server/extensions/git/dist/askpass.sh", "PATH": "/home/jiangzhenxiang/fe_force_graph/node_modules/.bin:/home/jiangzhenxiang/node_modules/.bin:/home/node_modules/.bin:/node_modules/.bin:/home/jiangzhenxiang/.nvm/versions/node/v24.13.0/lib/node_modules/npm/node_modules/@npmcli/run-script/lib/node-gyp-bin:/home/jiangzhenxiang/fe_force_graph/node_modules/.bin:/home/jiangzhenxiang/node_modules/.bin:/home/node_modules/.bin:/node_modules/.bin:/home/jiangzhenxiang/.nvm/versions/node/v24.13.0/lib/node_modules/npm/node_modules/@npmcli/run-script/lib/node-gyp-bin:/usr/local/bin:/home/jiangzhenxiang/.vscode-server/cli/servers/Stable-cfbea10c5ffb233ea9177d34726e6056e89913dc/server/bin/remote-cli:/home/jiangzhenxiang/.nvm/versions/node/v24.13.0/bin:/usr/local/bin:/home/jiangzhenxiang/.nvm/versions/node/v24.13.0/bin:/home/jiangzhenxiang/.local/bin:/home/jiangzhenxiang/bin:/usr/local/bin:/usr/bin:/usr/local/sbin:/usr/sbin:/home/jiangzhenxiang/bin", "NVM_INC": "/home/jiangzhenxiang/.nvm/versions/node/v24.13.0/include/node", "NODE": "/home/jiangzhenxiang/.nvm/versions/node/v24.13.0/bin/node", "HISTSIZE": "1000", "npm_package_name": "vue-safe-force-graph", "LESSOPEN": "||/usr/bin/lesspipe.sh %s", "BASH_FUNC_which%%": '() { ( alias;\n eval ${which_declare} ) | /usr/bin/which --tty-only --read-alias --read-functions --show-tilde --show-dot "$@"\n}', "NODE_ENV": "production" }.NODE_ENV !== "production" || __INTLIFY_PROD_DEVTOOLS__) {
|
|
24185
24185
|
/* @__PURE__ */ setAdditionalMeta(/* @__PURE__ */ getMetaInfo());
|
|
24186
24186
|
}
|
|
24187
24187
|
if (!_isGlobal) {
|
|
@@ -27882,7 +27882,7 @@ var __async = (__this, __arguments, generator) => {
|
|
|
27882
27882
|
console.log("loadCompleted error", e2);
|
|
27883
27883
|
}
|
|
27884
27884
|
} else if (node.type === "nodeType" || node.type === "aggregation") {
|
|
27885
|
-
const iconKey = node.icon || "node_type";
|
|
27885
|
+
const iconKey = node.icon || (node.type === "aggregation" ? "aggregation" : "node_type");
|
|
27886
27886
|
image = getIconFile(iconKey) ? getIconFile(iconKey) : getIconFile("node_type");
|
|
27887
27887
|
} else if (flag && (node.type === "ip" || node.type === "internet")) {
|
|
27888
27888
|
image = getImgPath(`./public/d3svg1/flags/${flag}.png`);
|
|
@@ -57135,7 +57135,7 @@ var __async = (__this, __arguments, generator) => {
|
|
|
57135
57135
|
const elTable = "";
|
|
57136
57136
|
const elCheckbox = "";
|
|
57137
57137
|
const elTableColumn = "";
|
|
57138
|
-
const
|
|
57138
|
+
const Popover_vue_vue_type_style_index_0_scoped_b035d1fc_lang = "";
|
|
57139
57139
|
const _sfc_main$4 = {
|
|
57140
57140
|
name: "Popover",
|
|
57141
57141
|
components: {
|
|
@@ -57268,26 +57268,34 @@ var __async = (__this, __arguments, generator) => {
|
|
|
57268
57268
|
nodeInfo: {
|
|
57269
57269
|
handler: function() {
|
|
57270
57270
|
var _a2;
|
|
57271
|
-
|
|
57272
|
-
var _a3, _b2, _c3;
|
|
57273
|
-
const detail = item.detail;
|
|
57274
|
-
return __spreadProps(__spreadValues({}, item), {
|
|
57275
|
-
name: ((_a3 = detail == null ? void 0 : detail.info) == null ? void 0 : _a3.name) || item.name,
|
|
57276
|
-
level: ((_c3 = (_b2 = detail == null ? void 0 : detail.info) == null ? void 0 : _b2.basic) == null ? void 0 : _c3.level) || ""
|
|
57277
|
-
});
|
|
57278
|
-
});
|
|
57279
|
-
list == null ? void 0 : list.sort((a2, b2) => {
|
|
57280
|
-
var _a3, _b2;
|
|
57281
|
-
const ADangerNumber = (_a3 = this.levelList.find((item) => item.level === a2.level)) == null ? void 0 : _a3.dangerNumber;
|
|
57282
|
-
const BDangerNumber = (_b2 = this.levelList.find((item) => item.level === b2.level)) == null ? void 0 : _b2.dangerNumber;
|
|
57283
|
-
return BDangerNumber - ADangerNumber;
|
|
57284
|
-
});
|
|
57285
|
-
this.aggregationList = list;
|
|
57271
|
+
this.aggregationList = this.buildAggregationList(((_a2 = this.nodeInfo) == null ? void 0 : _a2.list) || []);
|
|
57286
57272
|
},
|
|
57287
|
-
immediate: true
|
|
57273
|
+
immediate: true,
|
|
57274
|
+
deep: true
|
|
57288
57275
|
}
|
|
57289
57276
|
},
|
|
57290
57277
|
methods: {
|
|
57278
|
+
buildAggregationList(list) {
|
|
57279
|
+
const aggregationList = list.map((item) => {
|
|
57280
|
+
var _a2, _b2, _c3;
|
|
57281
|
+
const detail = item.detail;
|
|
57282
|
+
return __spreadProps(__spreadValues({}, item), {
|
|
57283
|
+
name: ((_a2 = detail == null ? void 0 : detail.info) == null ? void 0 : _a2.name) || item.name,
|
|
57284
|
+
level: ((_c3 = (_b2 = detail == null ? void 0 : detail.info) == null ? void 0 : _b2.basic) == null ? void 0 : _c3.level) || ""
|
|
57285
|
+
});
|
|
57286
|
+
});
|
|
57287
|
+
aggregationList.sort((a2, b2) => {
|
|
57288
|
+
var _a2, _b2;
|
|
57289
|
+
const ADangerNumber = (_a2 = this.levelList.find((item) => item.level === a2.level)) == null ? void 0 : _a2.dangerNumber;
|
|
57290
|
+
const BDangerNumber = (_b2 = this.levelList.find((item) => item.level === b2.level)) == null ? void 0 : _b2.dangerNumber;
|
|
57291
|
+
return BDangerNumber - ADangerNumber;
|
|
57292
|
+
});
|
|
57293
|
+
return aggregationList;
|
|
57294
|
+
},
|
|
57295
|
+
getAggregationSourceNode(nodeId) {
|
|
57296
|
+
var _a2, _b2;
|
|
57297
|
+
return (_b2 = (_a2 = this.nodeInfo) == null ? void 0 : _a2.list) == null ? void 0 : _b2.find((node) => node.id === nodeId);
|
|
57298
|
+
},
|
|
57291
57299
|
handleMouseEnter() {
|
|
57292
57300
|
this.showSelf = true;
|
|
57293
57301
|
},
|
|
@@ -57388,21 +57396,23 @@ var __async = (__this, __arguments, generator) => {
|
|
|
57388
57396
|
return sortTags(uniqueTags(tags));
|
|
57389
57397
|
},
|
|
57390
57398
|
addToGraph(item) {
|
|
57399
|
+
var _a2;
|
|
57400
|
+
const node = this.getAggregationSourceNode(item.id) || item;
|
|
57401
|
+
const aggregationList = (((_a2 = this.nodeInfo) == null ? void 0 : _a2.list) || []).filter((currentNode) => currentNode.id !== item.id);
|
|
57391
57402
|
const actions = {
|
|
57392
57403
|
type: "addFromAggregation",
|
|
57393
57404
|
// 从聚合节点中 插入到图中
|
|
57394
57405
|
addOne: {
|
|
57395
|
-
nodes: [
|
|
57406
|
+
nodes: [node],
|
|
57396
57407
|
links: [{
|
|
57397
57408
|
source: this.nodeInfo.relationId,
|
|
57398
|
-
target:
|
|
57409
|
+
target: node.id
|
|
57399
57410
|
}]
|
|
57400
57411
|
}
|
|
57401
57412
|
};
|
|
57402
|
-
this.aggregationList
|
|
57403
|
-
this.history.updateAggregationNode(this.aggregationList, this.nodeInfo.id);
|
|
57413
|
+
this.history.updateAggregationNode(aggregationList, this.nodeInfo.id);
|
|
57404
57414
|
this.history.pushState(actions);
|
|
57405
|
-
if (!
|
|
57415
|
+
if (!aggregationList.length) {
|
|
57406
57416
|
const aggregationNode = this.nodeInfo;
|
|
57407
57417
|
const deleteAggregation = {
|
|
57408
57418
|
deleteOne: {
|
|
@@ -57708,7 +57718,7 @@ var __async = (__this, __arguments, generator) => {
|
|
|
57708
57718
|
])
|
|
57709
57719
|
], 38);
|
|
57710
57720
|
}
|
|
57711
|
-
const Popover = /* @__PURE__ */ _export_sfc(_sfc_main$4, [["render", _sfc_render$4], ["__scopeId", "data-v-
|
|
57721
|
+
const Popover = /* @__PURE__ */ _export_sfc(_sfc_main$4, [["render", _sfc_render$4], ["__scopeId", "data-v-b035d1fc"]]);
|
|
57712
57722
|
const clusterMenuPlugs = [
|
|
57713
57723
|
{
|
|
57714
57724
|
id: 52,
|
|
@@ -57744,7 +57754,7 @@ var __async = (__this, __arguments, generator) => {
|
|
|
57744
57754
|
}
|
|
57745
57755
|
];
|
|
57746
57756
|
const name = "vue-safe-force-graph";
|
|
57747
|
-
const version = "2.0.
|
|
57757
|
+
const version = "2.0.99";
|
|
57748
57758
|
const description = "force_graph in security area";
|
|
57749
57759
|
const author = "jason zhang";
|
|
57750
57760
|
const module$1 = "./lib/vue-safe-force-graph.js";
|
|
@@ -58097,7 +58107,17 @@ var __async = (__this, __arguments, generator) => {
|
|
|
58097
58107
|
ticking: false,
|
|
58098
58108
|
anim1: null,
|
|
58099
58109
|
anim2: null,
|
|
58100
|
-
anim3: null
|
|
58110
|
+
anim3: null,
|
|
58111
|
+
// renderPending 只表示当前这轮 Konva 节点/边是否已经真正绘制到画布,
|
|
58112
|
+
// 供父组件在读取 getClientRect 前等待异步图标加载和 update() 完成。
|
|
58113
|
+
renderStablePromise: Promise.resolve(),
|
|
58114
|
+
resolveRenderStable: null,
|
|
58115
|
+
renderPending: false,
|
|
58116
|
+
// layoutPending 只表示 d3 力导布局是否还在继续推进,
|
|
58117
|
+
// 供父组件在适配视图前等待节点坐标稳定。
|
|
58118
|
+
layoutStablePromise: Promise.resolve(),
|
|
58119
|
+
resolveLayoutStable: null,
|
|
58120
|
+
layoutPending: false
|
|
58101
58121
|
};
|
|
58102
58122
|
},
|
|
58103
58123
|
computed: {
|
|
@@ -58137,6 +58157,7 @@ var __async = (__this, __arguments, generator) => {
|
|
|
58137
58157
|
this.nodes = this.data.nodes;
|
|
58138
58158
|
this.links = this.data.links;
|
|
58139
58159
|
this.nodesLength = this.data.nodes.length;
|
|
58160
|
+
this.markRenderPending();
|
|
58140
58161
|
this.update(isUpdateSimulation);
|
|
58141
58162
|
},
|
|
58142
58163
|
deep: true
|
|
@@ -58148,6 +58169,7 @@ var __async = (__this, __arguments, generator) => {
|
|
|
58148
58169
|
yield this.loadCustomIcon();
|
|
58149
58170
|
yield this.loadIcons();
|
|
58150
58171
|
this.initForceGraph();
|
|
58172
|
+
this.markRenderPending();
|
|
58151
58173
|
setTimeout(() => {
|
|
58152
58174
|
this.update();
|
|
58153
58175
|
}, 50);
|
|
@@ -58382,6 +58404,7 @@ var __async = (__this, __arguments, generator) => {
|
|
|
58382
58404
|
this.simulation.force("collision", forceCollide().radius(this.nodeWidth / 2));
|
|
58383
58405
|
}
|
|
58384
58406
|
if (this.isAutoTick) {
|
|
58407
|
+
this.markLayoutPending();
|
|
58385
58408
|
this.simulation.alpha(1).restart();
|
|
58386
58409
|
this.simulation.on("tick", this.ticked);
|
|
58387
58410
|
} else {
|
|
@@ -58389,6 +58412,7 @@ var __async = (__this, __arguments, generator) => {
|
|
|
58389
58412
|
this.sendManualTick();
|
|
58390
58413
|
}
|
|
58391
58414
|
this.simulation.on("end", () => {
|
|
58415
|
+
this.markLayoutStable();
|
|
58392
58416
|
log("simulation end time", Date.now());
|
|
58393
58417
|
if (this.isThreatPath) {
|
|
58394
58418
|
this.centerAndZoom(1);
|
|
@@ -58401,6 +58425,7 @@ var __async = (__this, __arguments, generator) => {
|
|
|
58401
58425
|
if (this.ticking) {
|
|
58402
58426
|
return;
|
|
58403
58427
|
}
|
|
58428
|
+
this.markLayoutPending();
|
|
58404
58429
|
this.ticking = true;
|
|
58405
58430
|
this.doClearCanvas();
|
|
58406
58431
|
this.simulation.alphaDecay(this.alphaDecay * 2);
|
|
@@ -58415,9 +58440,25 @@ var __async = (__this, __arguments, generator) => {
|
|
|
58415
58440
|
console.timeEnd("tick");
|
|
58416
58441
|
this.ticking = false;
|
|
58417
58442
|
this.update();
|
|
58418
|
-
this.
|
|
58443
|
+
this.markLayoutStable();
|
|
58419
58444
|
}, 1e3);
|
|
58420
58445
|
},
|
|
58446
|
+
clearGraphView() {
|
|
58447
|
+
var _a2;
|
|
58448
|
+
(_a2 = this.simulation) == null ? void 0 : _a2.stop();
|
|
58449
|
+
this.simulation = null;
|
|
58450
|
+
this.hasSimulation = false;
|
|
58451
|
+
this.selection = [];
|
|
58452
|
+
this.markRenderStable();
|
|
58453
|
+
this.markLayoutStable();
|
|
58454
|
+
if (!this.layer || !this.stage) {
|
|
58455
|
+
this.nodesGroup = {};
|
|
58456
|
+
this.linksGroup = {};
|
|
58457
|
+
return;
|
|
58458
|
+
}
|
|
58459
|
+
this.doClearCanvas();
|
|
58460
|
+
this.stage.batchDraw();
|
|
58461
|
+
},
|
|
58421
58462
|
update(isUpdateSimulation = false) {
|
|
58422
58463
|
return __async(this, null, function* () {
|
|
58423
58464
|
var _a2, _b2, _c3;
|
|
@@ -58426,9 +58467,11 @@ var __async = (__this, __arguments, generator) => {
|
|
|
58426
58467
|
yield this.loadCustomIcon();
|
|
58427
58468
|
}
|
|
58428
58469
|
if (this.destroyed) {
|
|
58470
|
+
this.markRenderStable();
|
|
58429
58471
|
return;
|
|
58430
58472
|
}
|
|
58431
58473
|
if (!((_c3 = this.nodes) == null ? void 0 : _c3.length)) {
|
|
58474
|
+
this.clearGraphView();
|
|
58432
58475
|
return;
|
|
58433
58476
|
}
|
|
58434
58477
|
this.initScript();
|
|
@@ -58446,6 +58489,7 @@ var __async = (__this, __arguments, generator) => {
|
|
|
58446
58489
|
this.centerAndZoom(0.8);
|
|
58447
58490
|
}, 200);
|
|
58448
58491
|
}
|
|
58492
|
+
this.markRenderStable();
|
|
58449
58493
|
});
|
|
58450
58494
|
},
|
|
58451
58495
|
doClearCanvas() {
|
|
@@ -58902,6 +58946,7 @@ var __async = (__this, __arguments, generator) => {
|
|
|
58902
58946
|
}
|
|
58903
58947
|
this.simulation.nodes(this.nodes);
|
|
58904
58948
|
this.simulation.force("link").links(this.links);
|
|
58949
|
+
this.markLayoutPending();
|
|
58905
58950
|
this.simulation.alpha(0.4).restart();
|
|
58906
58951
|
if (this.history.layoutIndex === 0) {
|
|
58907
58952
|
if (((_a2 = this.nodes) == null ? void 0 : _a2.length) < this.manualTickNumber) {
|
|
@@ -58916,7 +58961,73 @@ var __async = (__this, __arguments, generator) => {
|
|
|
58916
58961
|
} catch (e2) {
|
|
58917
58962
|
console.log(e2, "simulation-e1");
|
|
58918
58963
|
(_b2 = this.simulation) == null ? void 0 : _b2.stop();
|
|
58964
|
+
this.markLayoutStable();
|
|
58965
|
+
}
|
|
58966
|
+
},
|
|
58967
|
+
// 开始等待一轮新的 d3 布局稳定事件。
|
|
58968
|
+
// 同一轮布局只创建一个 Promise,避免重复覆盖等待对象。
|
|
58969
|
+
markLayoutPending() {
|
|
58970
|
+
if (this.layoutPending) {
|
|
58971
|
+
return;
|
|
58972
|
+
}
|
|
58973
|
+
this.layoutPending = true;
|
|
58974
|
+
this.layoutStablePromise = new Promise((resolve) => {
|
|
58975
|
+
this.resolveLayoutStable = resolve;
|
|
58976
|
+
});
|
|
58977
|
+
},
|
|
58978
|
+
// 结束当前布局等待,并释放所有挂起的适配逻辑。
|
|
58979
|
+
markLayoutStable() {
|
|
58980
|
+
if (!this.layoutPending) {
|
|
58981
|
+
return;
|
|
58982
|
+
}
|
|
58983
|
+
this.layoutPending = false;
|
|
58984
|
+
this.resolveLayoutStable && this.resolveLayoutStable();
|
|
58985
|
+
this.resolveLayoutStable = null;
|
|
58986
|
+
},
|
|
58987
|
+
// 对外暴露布局稳定等待接口;如果当前没有布局任务,直接返回已完成状态。
|
|
58988
|
+
waitForLayoutStable() {
|
|
58989
|
+
return this.layoutPending ? this.layoutStablePromise : Promise.resolve();
|
|
58990
|
+
},
|
|
58991
|
+
// 开始等待一轮新的 Konva 渲染完成事件,
|
|
58992
|
+
// 用于父组件在读取 grab 边界前确认画布元素已经真正落到 stage 上。
|
|
58993
|
+
markRenderPending() {
|
|
58994
|
+
if (this.renderPending) {
|
|
58995
|
+
return;
|
|
58996
|
+
}
|
|
58997
|
+
this.renderPending = true;
|
|
58998
|
+
this.renderStablePromise = new Promise((resolve) => {
|
|
58999
|
+
this.resolveRenderStable = resolve;
|
|
59000
|
+
});
|
|
59001
|
+
},
|
|
59002
|
+
// 标记当前画布重绘结束,释放依赖最新边界的外部逻辑。
|
|
59003
|
+
markRenderStable() {
|
|
59004
|
+
if (!this.renderPending) {
|
|
59005
|
+
return;
|
|
58919
59006
|
}
|
|
59007
|
+
this.renderPending = false;
|
|
59008
|
+
this.resolveRenderStable && this.resolveRenderStable();
|
|
59009
|
+
this.resolveRenderStable = null;
|
|
59010
|
+
},
|
|
59011
|
+
// 对外暴露渲染完成等待接口;如果当前没有重绘任务,直接返回已完成状态。
|
|
59012
|
+
waitForGraphRender() {
|
|
59013
|
+
return this.renderPending ? this.renderStablePromise : Promise.resolve();
|
|
59014
|
+
},
|
|
59015
|
+
// 额外等待一个浏览器绘制帧,让最新的节点坐标和 Konva 变换真正体现在边界计算里。
|
|
59016
|
+
waitForNextFrame() {
|
|
59017
|
+
return new Promise((resolve) => {
|
|
59018
|
+
requestAnimationFrame(() => {
|
|
59019
|
+
resolve();
|
|
59020
|
+
});
|
|
59021
|
+
});
|
|
59022
|
+
},
|
|
59023
|
+
// 给父组件提供一个稳定的“适配入口”:
|
|
59024
|
+
// 只有在布局停止推进且画布完成一帧刷新后,才执行 centerAndZoom。
|
|
59025
|
+
centerAndZoomAfterLayoutStable(paddingPercent = 0.8, canLarger = false) {
|
|
59026
|
+
return __async(this, null, function* () {
|
|
59027
|
+
yield this.waitForLayoutStable();
|
|
59028
|
+
yield this.waitForNextFrame();
|
|
59029
|
+
yield this.centerAndZoom(paddingPercent, canLarger);
|
|
59030
|
+
});
|
|
58920
59031
|
},
|
|
58921
59032
|
ticked() {
|
|
58922
59033
|
log("ticked");
|
|
@@ -59829,7 +59940,6 @@ var __async = (__this, __arguments, generator) => {
|
|
|
59829
59940
|
y: offsetY
|
|
59830
59941
|
});
|
|
59831
59942
|
this.layer.batchDraw();
|
|
59832
|
-
yield new Promise((resolve) => setTimeout(resolve, 1e3));
|
|
59833
59943
|
const newBounds = this.grab.getClientRect();
|
|
59834
59944
|
if ((_a2 = this.simulation) == null ? void 0 : _a2.force) {
|
|
59835
59945
|
const forceCenterWidth = fullWidth / (2 * scale);
|
|
@@ -60274,7 +60384,7 @@ var __async = (__this, __arguments, generator) => {
|
|
|
60274
60384
|
console.log("loadCompleted error", e2);
|
|
60275
60385
|
}
|
|
60276
60386
|
}
|
|
60277
|
-
const iconKey = node.icon || "node_type";
|
|
60387
|
+
const iconKey = node.icon || (node.type === "aggregation" ? "aggregation" : "node_type");
|
|
60278
60388
|
if (iconImages[iconKey]) {
|
|
60279
60389
|
image = iconImages[iconKey];
|
|
60280
60390
|
return image;
|
|
@@ -61014,6 +61124,8 @@ var __async = (__this, __arguments, generator) => {
|
|
|
61014
61124
|
}
|
|
61015
61125
|
const SnapShotDialog = /* @__PURE__ */ _export_sfc(_sfc_main$1, [["render", _sfc_render$1]]);
|
|
61016
61126
|
const graphByCanvas_vue_vue_type_style_index_0_lang = "";
|
|
61127
|
+
const INITIAL_PREVIEW_FIT_PADDING = 0.7;
|
|
61128
|
+
const INITIAL_FINAL_FIT_PADDING = 0.8;
|
|
61017
61129
|
const _sfc_main = {
|
|
61018
61130
|
name: "ForceGraphByCanvas",
|
|
61019
61131
|
components: {
|
|
@@ -61298,12 +61410,16 @@ var __async = (__this, __arguments, generator) => {
|
|
|
61298
61410
|
// 间距
|
|
61299
61411
|
requestGraphData: true,
|
|
61300
61412
|
// 是否有编辑权限
|
|
61301
|
-
nodeTypeList: []
|
|
61413
|
+
nodeTypeList: [],
|
|
61414
|
+
// 下面这组状态只服务于首屏自动适配:
|
|
61415
|
+
// startNode 并发加载时,允许先做一次预览适配,全部完成后再串行做最终适配。
|
|
61416
|
+
initialAutoFitPending: false,
|
|
61417
|
+
initialPreviewFitDone: false,
|
|
61418
|
+
pendingStartNodeLoads: 0,
|
|
61419
|
+
initialStartNodeTaskCount: 0,
|
|
61420
|
+
initialFitSequence: Promise.resolve()
|
|
61302
61421
|
};
|
|
61303
61422
|
},
|
|
61304
|
-
created() {
|
|
61305
|
-
ensureI18nGlobals(this);
|
|
61306
|
-
},
|
|
61307
61423
|
computed: {
|
|
61308
61424
|
topFrame() {
|
|
61309
61425
|
return window.top.location === window.location;
|
|
@@ -61333,12 +61449,15 @@ var __async = (__this, __arguments, generator) => {
|
|
|
61333
61449
|
}
|
|
61334
61450
|
}
|
|
61335
61451
|
},
|
|
61452
|
+
created() {
|
|
61453
|
+
ensureI18nGlobals(this);
|
|
61454
|
+
},
|
|
61336
61455
|
unmounted() {
|
|
61337
61456
|
window.onresize = null;
|
|
61338
61457
|
},
|
|
61339
61458
|
mounted() {
|
|
61340
61459
|
return __async(this, null, function* () {
|
|
61341
|
-
console.log('"2026/3/
|
|
61460
|
+
console.log('"2026/3/26 15:30:50"', "2026/3/26 15:30:50");
|
|
61342
61461
|
this.initializeGraphApi();
|
|
61343
61462
|
window.onresize = () => {
|
|
61344
61463
|
this.fullScreen = !!document.fullscreenElement;
|
|
@@ -61360,10 +61479,7 @@ var __async = (__this, __arguments, generator) => {
|
|
|
61360
61479
|
this.graphApi.getSnapshotDetail({ snapshot_id: this.snapshot_id, vcode: this.vcode }).then((res) => {
|
|
61361
61480
|
this.moduleDetail = res.data.config;
|
|
61362
61481
|
this.history.initFromSnapshot(JSON.parse(res.data.data));
|
|
61363
|
-
|
|
61364
|
-
this.$refs.render.updateNodeStyle();
|
|
61365
|
-
this.centerAndZoom(0.8, false);
|
|
61366
|
-
}, 1e3);
|
|
61482
|
+
this.fitAfterLayoutStable(INITIAL_FINAL_FIT_PADDING, false);
|
|
61367
61483
|
}).catch((e2) => {
|
|
61368
61484
|
console.log(e2, "e");
|
|
61369
61485
|
}).finally((e2) => {
|
|
@@ -61384,6 +61500,95 @@ var __async = (__this, __arguments, generator) => {
|
|
|
61384
61500
|
this.onOutdate(e2.res);
|
|
61385
61501
|
});
|
|
61386
61502
|
},
|
|
61503
|
+
// 等待子组件完成“渲染 + 布局稳定”后再做一次适配,
|
|
61504
|
+
// 供快照恢复、首屏自动适配和首次手动加点三条链路复用。
|
|
61505
|
+
fitAfterLayoutStable() {
|
|
61506
|
+
return __async(this, arguments, function* (paddingPercent = INITIAL_FINAL_FIT_PADDING, canLarger = false) {
|
|
61507
|
+
yield this.$nextTick();
|
|
61508
|
+
const render = this.$refs.render;
|
|
61509
|
+
if (!render) {
|
|
61510
|
+
return;
|
|
61511
|
+
}
|
|
61512
|
+
yield render.waitForGraphRender();
|
|
61513
|
+
render.updateNodeStyle();
|
|
61514
|
+
yield render.centerAndZoomAfterLayoutStable(paddingPercent, canLarger);
|
|
61515
|
+
});
|
|
61516
|
+
},
|
|
61517
|
+
// 把所有首屏适配串到同一条 Promise 链上,
|
|
61518
|
+
// 保证多次 fit 请求按顺序执行,不会互相覆盖 stage 状态。
|
|
61519
|
+
queueInitialFit(paddingPercent, canLarger = false) {
|
|
61520
|
+
this.initialFitSequence = this.initialFitSequence.then(() => {
|
|
61521
|
+
return this.fitAfterLayoutStable(paddingPercent, canLarger);
|
|
61522
|
+
});
|
|
61523
|
+
return this.initialFitSequence;
|
|
61524
|
+
},
|
|
61525
|
+
// 在首批 startNode 部分返回时先做一次预览适配,
|
|
61526
|
+
// 尽快把节点放进可视区,避免首屏长时间停在空白或角落。
|
|
61527
|
+
previewFitDuringInitialLoad() {
|
|
61528
|
+
return this.queueInitialFit(INITIAL_PREVIEW_FIT_PADDING, false);
|
|
61529
|
+
},
|
|
61530
|
+
// 每次首屏初始化结束后清空自动适配上下文,
|
|
61531
|
+
// 避免后续普通扩图沿用首屏专用状态。
|
|
61532
|
+
resetInitialAutoFitState() {
|
|
61533
|
+
this.initialAutoFitPending = false;
|
|
61534
|
+
this.initialPreviewFitDone = false;
|
|
61535
|
+
this.pendingStartNodeLoads = 0;
|
|
61536
|
+
this.initialStartNodeTaskCount = 0;
|
|
61537
|
+
this.initialFitSequence = Promise.resolve();
|
|
61538
|
+
},
|
|
61539
|
+
// 只有在“首屏初始化中、已有节点渲染出来、且仍有未完成请求”时,
|
|
61540
|
+
// 才允许触发一次预览适配。
|
|
61541
|
+
shouldTriggerInitialPreviewFit() {
|
|
61542
|
+
return this.initialAutoFitPending && !this.initialPreviewFitDone && this.history.dataNow.nodes.length > 0 && this.pendingStartNodeLoads > 0 && this.pendingStartNodeLoads < this.initialStartNodeTaskCount;
|
|
61543
|
+
},
|
|
61544
|
+
shouldFitAfterFirstExpand() {
|
|
61545
|
+
return !this.initialAutoFitPending && this.history.length === 2;
|
|
61546
|
+
},
|
|
61547
|
+
// 包装单个 startNode 的异步加载任务,统一统计并发数量,
|
|
61548
|
+
// 并在满足条件时触发一次首屏预览适配。
|
|
61549
|
+
trackStartNodeLoad(task) {
|
|
61550
|
+
this.pendingStartNodeLoads++;
|
|
61551
|
+
return task.finally(() => {
|
|
61552
|
+
this.pendingStartNodeLoads = Math.max(this.pendingStartNodeLoads - 1, 0);
|
|
61553
|
+
if (this.shouldTriggerInitialPreviewFit()) {
|
|
61554
|
+
this.initialPreviewFitDone = true;
|
|
61555
|
+
this.previewFitDuringInitialLoad();
|
|
61556
|
+
}
|
|
61557
|
+
});
|
|
61558
|
+
},
|
|
61559
|
+
// 把 startNode 参数转成实际的扩图任务。
|
|
61560
|
+
// 这里先做节点类型校验,避免无效类型进入扩图链路。
|
|
61561
|
+
createStartNodeLoadTask(item) {
|
|
61562
|
+
const node = {
|
|
61563
|
+
type: item.type,
|
|
61564
|
+
id: item.id,
|
|
61565
|
+
startNode: true
|
|
61566
|
+
};
|
|
61567
|
+
const hasNodeConfig = this.moduleDetail.nodes.findIndex((nodeItem) => {
|
|
61568
|
+
return item.type === nodeItem.name;
|
|
61569
|
+
}) >= 0;
|
|
61570
|
+
if (!hasNodeConfig) {
|
|
61571
|
+
ElMessage({
|
|
61572
|
+
message: "无相关数据",
|
|
61573
|
+
type: "warning"
|
|
61574
|
+
});
|
|
61575
|
+
this.emitDataLoaded();
|
|
61576
|
+
return Promise.resolve();
|
|
61577
|
+
}
|
|
61578
|
+
return this.addNewNodesAndExpand(node, { rejectOnError: true });
|
|
61579
|
+
},
|
|
61580
|
+
// 等待所有 startNode 任务结束后,再按最终留白比例做一次收口适配,
|
|
61581
|
+
// 让首屏在“尽快可见”和“最终排版稳定”之间取得平衡。
|
|
61582
|
+
scheduleInitialAutoFit(startNodeTasks) {
|
|
61583
|
+
Promise.allSettled(startNodeTasks).then(() => __async(this, null, function* () {
|
|
61584
|
+
if (!this.initialAutoFitPending || !this.history.dataNow.nodes.length) {
|
|
61585
|
+
this.resetInitialAutoFitState();
|
|
61586
|
+
return;
|
|
61587
|
+
}
|
|
61588
|
+
yield this.queueInitialFit(INITIAL_FINAL_FIT_PADDING, false);
|
|
61589
|
+
this.resetInitialAutoFitState();
|
|
61590
|
+
}));
|
|
61591
|
+
},
|
|
61387
61592
|
handleCustomContextMenuClick(data) {
|
|
61388
61593
|
if (this.customContextMenuEvent && typeof this.customContextMenuEvent === "function") {
|
|
61389
61594
|
this.customContextMenuEvent(Vue.toRaw(data));
|
|
@@ -61399,27 +61604,18 @@ var __async = (__this, __arguments, generator) => {
|
|
|
61399
61604
|
}
|
|
61400
61605
|
},
|
|
61401
61606
|
searchStartNode() {
|
|
61402
|
-
if (this.startNode.length
|
|
61403
|
-
|
|
61404
|
-
const node = {
|
|
61405
|
-
type: item.type,
|
|
61406
|
-
id: item.id,
|
|
61407
|
-
startNode: true
|
|
61408
|
-
};
|
|
61409
|
-
this.inited = true;
|
|
61410
|
-
if (this.moduleDetail.nodes.findIndex((node2) => {
|
|
61411
|
-
return item.type === node2.name;
|
|
61412
|
-
}) >= 0) {
|
|
61413
|
-
this.addNewNodesAndExpand(node);
|
|
61414
|
-
} else {
|
|
61415
|
-
ElMessage({
|
|
61416
|
-
message: "无相关数据",
|
|
61417
|
-
type: "warning"
|
|
61418
|
-
});
|
|
61419
|
-
this.emitDataLoaded();
|
|
61420
|
-
}
|
|
61421
|
-
});
|
|
61607
|
+
if (!this.startNode.length || this.inited) {
|
|
61608
|
+
return;
|
|
61422
61609
|
}
|
|
61610
|
+
this.inited = true;
|
|
61611
|
+
this.initialAutoFitPending = true;
|
|
61612
|
+
this.initialPreviewFitDone = false;
|
|
61613
|
+
this.initialStartNodeTaskCount = this.startNode.length;
|
|
61614
|
+
this.initialFitSequence = Promise.resolve();
|
|
61615
|
+
const startNodeTasks = this.startNode.map((item) => {
|
|
61616
|
+
return this.trackStartNodeLoad(this.createStartNodeLoadTask(item));
|
|
61617
|
+
});
|
|
61618
|
+
this.scheduleInitialAutoFit(startNodeTasks);
|
|
61423
61619
|
},
|
|
61424
61620
|
initGraph() {
|
|
61425
61621
|
return __async(this, null, function* () {
|
|
@@ -61448,9 +61644,9 @@ var __async = (__this, __arguments, generator) => {
|
|
|
61448
61644
|
});
|
|
61449
61645
|
});
|
|
61450
61646
|
},
|
|
61451
|
-
addNewNodesAndExpand(node) {
|
|
61647
|
+
addNewNodesAndExpand(node, { rejectOnError = false } = {}) {
|
|
61452
61648
|
this.isLoading = true;
|
|
61453
|
-
this.graphApi.getNodesDetail({
|
|
61649
|
+
return this.graphApi.getNodesDetail({
|
|
61454
61650
|
api: this.moduleDetail.node_info[node.type],
|
|
61455
61651
|
node_id: [node.id],
|
|
61456
61652
|
nodeType: node.type,
|
|
@@ -61490,7 +61686,7 @@ var __async = (__this, __arguments, generator) => {
|
|
|
61490
61686
|
}, 0);
|
|
61491
61687
|
}, 500);
|
|
61492
61688
|
}
|
|
61493
|
-
this.expandNodes(nodeOne);
|
|
61689
|
+
return this.expandNodes(nodeOne);
|
|
61494
61690
|
}).catch((e2) => {
|
|
61495
61691
|
console.log(e2, "e");
|
|
61496
61692
|
this.emitDataLoaded();
|
|
@@ -61499,6 +61695,10 @@ var __async = (__this, __arguments, generator) => {
|
|
|
61499
61695
|
message: "无该节点信息",
|
|
61500
61696
|
type: "warning"
|
|
61501
61697
|
});
|
|
61698
|
+
if (rejectOnError) {
|
|
61699
|
+
return Promise.reject(e2);
|
|
61700
|
+
}
|
|
61701
|
+
return Promise.resolve();
|
|
61502
61702
|
}).finally(() => {
|
|
61503
61703
|
this.isLoading = false;
|
|
61504
61704
|
});
|
|
@@ -61756,12 +61956,11 @@ var __async = (__this, __arguments, generator) => {
|
|
|
61756
61956
|
if (nodesThisTime.length > 0 || linksThisTime.length > 0) {
|
|
61757
61957
|
this.history.pushState(actions);
|
|
61758
61958
|
}
|
|
61759
|
-
|
|
61760
|
-
|
|
61761
|
-
|
|
61762
|
-
}, 1e3);
|
|
61959
|
+
const detailTask = this.getNodeDetail(nodesThisTime);
|
|
61960
|
+
if (this.shouldFitAfterFirstExpand()) {
|
|
61961
|
+
this.fitAfterLayoutStable(INITIAL_FINAL_FIT_PADDING, false);
|
|
61763
61962
|
}
|
|
61764
|
-
|
|
61963
|
+
return detailTask;
|
|
61765
61964
|
});
|
|
61766
61965
|
},
|
|
61767
61966
|
findGrandSonNodeIds(nodeNow) {
|
|
@@ -61788,11 +61987,14 @@ var __async = (__this, __arguments, generator) => {
|
|
|
61788
61987
|
reset() {
|
|
61789
61988
|
this.$refs["render"].reset();
|
|
61790
61989
|
},
|
|
61791
|
-
|
|
61792
|
-
|
|
61793
|
-
|
|
61990
|
+
getNodeDetailCandidates(nodes) {
|
|
61991
|
+
return nodes.map((node) => {
|
|
61992
|
+
const currentNode = this.history.dataNow.nodes.find((item) => item.id === node.id);
|
|
61993
|
+
return currentNode || node;
|
|
61794
61994
|
});
|
|
61795
|
-
|
|
61995
|
+
},
|
|
61996
|
+
getNodeDetail(nodes, aggregationId) {
|
|
61997
|
+
const nodeCanload = this.getNodeDetailCandidates(nodes).filter((node) => {
|
|
61796
61998
|
return !node.detail && node.noDetail !== true && node.type !== "aggregation" && node.type !== "nodeType";
|
|
61797
61999
|
});
|
|
61798
62000
|
const nodesByType = {};
|
|
@@ -61803,8 +62005,12 @@ var __async = (__this, __arguments, generator) => {
|
|
|
61803
62005
|
nodesByType[node.type].push(node);
|
|
61804
62006
|
}
|
|
61805
62007
|
});
|
|
61806
|
-
|
|
61807
|
-
|
|
62008
|
+
const nodeTypes = Object.keys(nodesByType);
|
|
62009
|
+
if (!nodeTypes.length) {
|
|
62010
|
+
this.emitDataLoaded();
|
|
62011
|
+
return Promise.resolve();
|
|
62012
|
+
}
|
|
62013
|
+
const detailTasks = nodeTypes.map((key) => {
|
|
61808
62014
|
const nodesNow = nodesByType[key];
|
|
61809
62015
|
const origin = {};
|
|
61810
62016
|
nodesNow.map((item) => {
|
|
@@ -61812,7 +62018,7 @@ var __async = (__this, __arguments, generator) => {
|
|
|
61812
62018
|
origin[item.id] = item.origin;
|
|
61813
62019
|
}
|
|
61814
62020
|
});
|
|
61815
|
-
this.graphApi.getNodesDetail({
|
|
62021
|
+
return this.graphApi.getNodesDetail({
|
|
61816
62022
|
api: this.moduleDetail.node_info[nodesByType[key][0].type],
|
|
61817
62023
|
node_id: nodesByType[key].map((item) => {
|
|
61818
62024
|
return item.id;
|
|
@@ -61840,17 +62046,12 @@ var __async = (__this, __arguments, generator) => {
|
|
|
61840
62046
|
}
|
|
61841
62047
|
}).catch((e2) => {
|
|
61842
62048
|
this.onOutdate(e2.res);
|
|
61843
|
-
}).finally(() => {
|
|
61844
|
-
needDetailCount = needDetailCount - 1;
|
|
61845
|
-
if (needDetailCount === 0) {
|
|
61846
|
-
log(" 数据加载完");
|
|
61847
|
-
this.emitDataLoaded();
|
|
61848
|
-
}
|
|
61849
62049
|
});
|
|
61850
|
-
}
|
|
61851
|
-
|
|
62050
|
+
});
|
|
62051
|
+
return Promise.allSettled(detailTasks).then(() => {
|
|
62052
|
+
log(" 数据加载完");
|
|
61852
62053
|
this.emitDataLoaded();
|
|
61853
|
-
}
|
|
62054
|
+
});
|
|
61854
62055
|
},
|
|
61855
62056
|
// 数据加载完后的事件通知
|
|
61856
62057
|
emitDataLoaded() {
|
|
@@ -61975,6 +62176,17 @@ var __async = (__this, __arguments, generator) => {
|
|
|
61975
62176
|
handleTableSelect(selection = []) {
|
|
61976
62177
|
this.$refs.render.handleTableSelect(selection);
|
|
61977
62178
|
},
|
|
62179
|
+
syncSelectionWithData() {
|
|
62180
|
+
const validNodeIds = this.history.dataNow.nodes.map((item) => {
|
|
62181
|
+
return item.id;
|
|
62182
|
+
});
|
|
62183
|
+
const selectionIds = this.selection.map((item) => {
|
|
62184
|
+
return item.id;
|
|
62185
|
+
}).filter((id2) => {
|
|
62186
|
+
return validNodeIds.includes(id2);
|
|
62187
|
+
});
|
|
62188
|
+
this.handleTableSelect(selectionIds);
|
|
62189
|
+
},
|
|
61978
62190
|
updateSelection() {
|
|
61979
62191
|
this.selection = this.$refs.render.selection;
|
|
61980
62192
|
this.$refs.render.selectEdgesByNode(this.selection);
|
|
@@ -62038,7 +62250,6 @@ var __async = (__this, __arguments, generator) => {
|
|
|
62038
62250
|
this.history.dataNow.links.map((item) => {
|
|
62039
62251
|
if (item.source.id === node.id && item.target.type === "aggregation") {
|
|
62040
62252
|
aggregationNode = aggregationNode || item.target;
|
|
62041
|
-
item.source;
|
|
62042
62253
|
}
|
|
62043
62254
|
});
|
|
62044
62255
|
if (aggregationNode) {
|
|
@@ -62064,14 +62275,15 @@ var __async = (__this, __arguments, generator) => {
|
|
|
62064
62275
|
type: "aggregation"
|
|
62065
62276
|
};
|
|
62066
62277
|
for (const i2 in this.history.dataNow.nodes) {
|
|
62067
|
-
const indexNow = aggregationNode.list.findIndex((value
|
|
62068
|
-
return value === this.history.dataNow.nodes[i2].id;
|
|
62278
|
+
const indexNow = aggregationNode.list.findIndex((value) => {
|
|
62279
|
+
return value.id === this.history.dataNow.nodes[i2].id;
|
|
62069
62280
|
});
|
|
62070
62281
|
if (indexNow >= 0) {
|
|
62071
62282
|
this.history.dataNow.nodes[i2].aggregation = false;
|
|
62072
62283
|
}
|
|
62073
62284
|
}
|
|
62074
62285
|
this.history.pushState(deleteAggregation);
|
|
62286
|
+
this.syncSelectionWithData();
|
|
62075
62287
|
this.emitDataLoaded();
|
|
62076
62288
|
}
|
|
62077
62289
|
},
|