NEZ-3170 feat:alert rule 配置页面增加 data link 配置项

This commit is contained in:
zyh
2023-09-07 15:28:10 +08:00
parent aced0fc165
commit 7a58b32c0a
5 changed files with 285 additions and 244 deletions

View File

@@ -523,227 +523,72 @@
} }
}, },
"@codemirror/autocomplete": { "@codemirror/autocomplete": {
"version": "0.19.15", "version": "6.9.0",
"resolved": "https://registry.npmjs.org/@codemirror/autocomplete/-/autocomplete-0.19.15.tgz", "resolved": "https://registry.npmjs.org/@codemirror/autocomplete/-/autocomplete-6.9.0.tgz",
"integrity": "sha512-GQWzvvuXxNUyaEk+5gawbAD8s51/v2Chb++nx0e2eGWrphWk42isBtzOMdc3DxrxrZtPZ55q2ldNp+6G8KJLIQ==", "integrity": "sha512-Fbwm0V/Wn3BkEJZRhr0hi5BhCo5a7eBL6LYaliPjOSwCyfOpnjXY59HruSxOUNV+1OYer0Tgx1zRNQttjXyDog==",
"requires": { "requires": {
"@codemirror/language": "^0.19.0", "@codemirror/language": "^6.0.0",
"@codemirror/state": "^0.19.4", "@codemirror/state": "^6.0.0",
"@codemirror/text": "^0.19.2", "@codemirror/view": "^6.6.0",
"@codemirror/tooltip": "^0.19.12", "@lezer/common": "^1.0.0"
"@codemirror/view": "^0.19.0",
"@lezer/common": "^0.15.0"
}
},
"@codemirror/basic-setup": {
"version": "0.19.3",
"resolved": "https://registry.npmjs.org/@codemirror/basic-setup/-/basic-setup-0.19.3.tgz",
"integrity": "sha512-2hfO+QDk/HTpQzeYk1NyL1G9D5L7Sj78dtaQP8xBU42DKU9+OBPF5MdjLYnxP0jKzm6IfQfsLd89fnqW3rBVfQ==",
"requires": {
"@codemirror/autocomplete": "^0.19.0",
"@codemirror/closebrackets": "^0.19.0",
"@codemirror/commands": "^0.19.0",
"@codemirror/comment": "^0.19.0",
"@codemirror/fold": "^0.19.0",
"@codemirror/gutter": "^0.19.0",
"@codemirror/highlight": "^0.19.0",
"@codemirror/history": "^0.19.0",
"@codemirror/language": "^0.19.0",
"@codemirror/lint": "^0.19.0",
"@codemirror/matchbrackets": "^0.19.0",
"@codemirror/rectangular-selection": "^0.19.2",
"@codemirror/search": "^0.19.0",
"@codemirror/state": "^0.19.0",
"@codemirror/view": "^0.19.31"
}
},
"@codemirror/closebrackets": {
"version": "0.19.2",
"resolved": "https://registry.npmjs.org/@codemirror/closebrackets/-/closebrackets-0.19.2.tgz",
"integrity": "sha512-ClMPzPcPP0eQiDcVjtVPl6OLxgdtZSYDazsvT0AKl70V1OJva0eHgl4/6kCW3RZ0pb2n34i9nJz4eXCmK+TYDA==",
"requires": {
"@codemirror/language": "^0.19.0",
"@codemirror/rangeset": "^0.19.0",
"@codemirror/state": "^0.19.2",
"@codemirror/text": "^0.19.0",
"@codemirror/view": "^0.19.44"
} }
}, },
"@codemirror/commands": { "@codemirror/commands": {
"version": "0.19.8", "version": "6.2.5",
"resolved": "https://registry.npmjs.org/@codemirror/commands/-/commands-0.19.8.tgz", "resolved": "https://registry.npmjs.org/@codemirror/commands/-/commands-6.2.5.tgz",
"integrity": "sha512-65LIMSGUGGpY3oH6mzV46YWRrgao6NmfJ+AuC7jNz3K5NPnH6GCV1H5I6SwOFyVbkiygGyd0EFwrWqywTBD1aw==", "integrity": "sha512-dSi7ow2P2YgPBZflR9AJoaTHvqmeGIgkhignYMd5zK5y6DANTvxKxp6eMEpIDUJkRAaOY/TFZ4jP1ADIO/GLVA==",
"requires": { "requires": {
"@codemirror/language": "^0.19.0", "@codemirror/language": "^6.0.0",
"@codemirror/matchbrackets": "^0.19.0", "@codemirror/state": "^6.2.0",
"@codemirror/state": "^0.19.2", "@codemirror/view": "^6.0.0",
"@codemirror/text": "^0.19.6", "@lezer/common": "^1.0.0"
"@codemirror/view": "^0.19.22",
"@lezer/common": "^0.15.0"
}
},
"@codemirror/comment": {
"version": "0.19.1",
"resolved": "https://registry.npmjs.org/@codemirror/comment/-/comment-0.19.1.tgz",
"integrity": "sha512-uGKteBuVWAC6fW+Yt8u27DOnXMT/xV4Ekk2Z5mRsiADCZDqYvryrJd6PLL5+8t64BVyocwQwNfz1UswYS2CtFQ==",
"requires": {
"@codemirror/state": "^0.19.9",
"@codemirror/text": "^0.19.0",
"@codemirror/view": "^0.19.0"
}
},
"@codemirror/fold": {
"version": "0.19.3",
"resolved": "https://registry.npmjs.org/@codemirror/fold/-/fold-0.19.3.tgz",
"integrity": "sha512-8hT+Eq2G68mL0yPRvSD2ewhnLQAX6sbUJmtGVKFcj8oAXtfpYCX8LIcfXsuI19Qs7gZkOSpqZvn+KKj8IhZoAw==",
"requires": {
"@codemirror/gutter": "^0.19.0",
"@codemirror/language": "^0.19.0",
"@codemirror/rangeset": "^0.19.0",
"@codemirror/state": "^0.19.0",
"@codemirror/view": "^0.19.22"
}
},
"@codemirror/gutter": {
"version": "0.19.9",
"resolved": "https://registry.npmjs.org/@codemirror/gutter/-/gutter-0.19.9.tgz",
"integrity": "sha512-PFrtmilahin1g6uL27aG5tM/rqR9DZzZYZsIrCXA5Uc2OFTFqx4owuhoU9hqfYxHp5ovfvBwQ+txFzqS4vog6Q==",
"requires": {
"@codemirror/rangeset": "^0.19.0",
"@codemirror/state": "^0.19.0",
"@codemirror/view": "^0.19.23"
}
},
"@codemirror/highlight": {
"version": "0.19.8",
"resolved": "https://registry.npmjs.org/@codemirror/highlight/-/highlight-0.19.8.tgz",
"integrity": "sha512-v/lzuHjrYR8MN2mEJcUD6fHSTXXli9C1XGYpr+ElV6fLBIUhMTNKR3qThp611xuWfXfwDxeL7ppcbkM/MzPV3A==",
"requires": {
"@codemirror/language": "^0.19.0",
"@codemirror/rangeset": "^0.19.0",
"@codemirror/state": "^0.19.3",
"@codemirror/view": "^0.19.39",
"@lezer/common": "^0.15.0",
"style-mod": "^4.0.0"
}
},
"@codemirror/history": {
"version": "0.19.2",
"resolved": "https://registry.npmjs.org/@codemirror/history/-/history-0.19.2.tgz",
"integrity": "sha512-unhP4t3N2smzmHoo/Yio6ueWi+il8gm9VKrvi6wlcdGH5fOfVDNkmjHQ495SiR+EdOG35+3iNebSPYww0vN7ow==",
"requires": {
"@codemirror/state": "^0.19.2",
"@codemirror/view": "^0.19.0"
} }
}, },
"@codemirror/language": { "@codemirror/language": {
"version": "0.19.10", "version": "6.9.0",
"resolved": "https://registry.npmjs.org/@codemirror/language/-/language-0.19.10.tgz", "resolved": "https://registry.npmjs.org/@codemirror/language/-/language-6.9.0.tgz",
"integrity": "sha512-yA0DZ3RYn2CqAAGW62VrU8c4YxscMQn45y/I9sjBlqB1e2OTQLg4CCkMBuMSLXk4xaqjlsgazeOQWaJQOKfV8Q==", "integrity": "sha512-nFu311/0ne/qGuGCL3oKuktBgzVOaxCHZPZv1tLSZkNjPYxxvkjSbzno3MlErG2tgw1Yw1yF8BxMCegeMXqpiw==",
"requires": { "requires": {
"@codemirror/state": "^0.19.0", "@codemirror/state": "^6.0.0",
"@codemirror/text": "^0.19.0", "@codemirror/view": "^6.0.0",
"@codemirror/view": "^0.19.0", "@lezer/common": "^1.0.0",
"@lezer/common": "^0.15.5", "@lezer/highlight": "^1.0.0",
"@lezer/lr": "^0.15.0" "@lezer/lr": "^1.0.0",
"style-mod": "^4.0.0"
} }
}, },
"@codemirror/lint": { "@codemirror/lint": {
"version": "0.19.6", "version": "6.4.1",
"resolved": "https://registry.npmjs.org/@codemirror/lint/-/lint-0.19.6.tgz", "resolved": "https://registry.npmjs.org/@codemirror/lint/-/lint-6.4.1.tgz",
"integrity": "sha512-Pbw1Y5kHVs2J+itQ0uez3dI4qY9ApYVap7eNfV81x1/3/BXgBkKfadaw0gqJ4h4FDG7OnJwb0VbPsjJQllHjaA==", "integrity": "sha512-2Hx945qKX7FBan5/gUdTM8fsMYrNG9clIgEcPXestbLVFAUyQYFAuju/5BMNf/PwgpVaX5pvRm4+ovjbp9D9gQ==",
"requires": { "requires": {
"@codemirror/gutter": "^0.19.4", "@codemirror/state": "^6.0.0",
"@codemirror/panel": "^0.19.0", "@codemirror/view": "^6.0.0",
"@codemirror/rangeset": "^0.19.1",
"@codemirror/state": "^0.19.4",
"@codemirror/tooltip": "^0.19.16",
"@codemirror/view": "^0.19.22",
"crelt": "^1.0.5" "crelt": "^1.0.5"
} }
}, },
"@codemirror/matchbrackets": {
"version": "0.19.4",
"resolved": "https://registry.npmjs.org/@codemirror/matchbrackets/-/matchbrackets-0.19.4.tgz",
"integrity": "sha512-VFkaOKPNudAA5sGP1zikRHCEKU0hjYmkKpr04pybUpQvfTvNJXlReCyP0rvH/1iEwAGPL990ZTT+QrLdu4MeEA==",
"requires": {
"@codemirror/language": "^0.19.0",
"@codemirror/state": "^0.19.0",
"@codemirror/view": "^0.19.0",
"@lezer/common": "^0.15.0"
}
},
"@codemirror/panel": {
"version": "0.19.1",
"resolved": "https://registry.npmjs.org/@codemirror/panel/-/panel-0.19.1.tgz",
"integrity": "sha512-sYeOCMA3KRYxZYJYn5PNlt9yNsjy3zTNTrbYSfVgjgL9QomIVgOJWPO5hZ2sTN8lufO6lw0vTBsIPL9MSidmBg==",
"requires": {
"@codemirror/state": "^0.19.0",
"@codemirror/view": "^0.19.0"
}
},
"@codemirror/rangeset": {
"version": "0.19.9",
"resolved": "https://registry.npmjs.org/@codemirror/rangeset/-/rangeset-0.19.9.tgz",
"integrity": "sha512-V8YUuOvK+ew87Xem+71nKcqu1SXd5QROMRLMS/ljT5/3MCxtgrRie1Cvild0G/Z2f1fpWxzX78V0U4jjXBorBQ==",
"requires": {
"@codemirror/state": "^0.19.0"
}
},
"@codemirror/rectangular-selection": {
"version": "0.19.2",
"resolved": "https://registry.npmjs.org/@codemirror/rectangular-selection/-/rectangular-selection-0.19.2.tgz",
"integrity": "sha512-AXK/p5eGwFJ9GJcLfntqN4dgY+XiIF7eHfXNQJX5HhQLSped2wJE6WuC1rMEaOlcpOqlb9mrNi/ZdUjSIj9mbA==",
"requires": {
"@codemirror/state": "^0.19.0",
"@codemirror/text": "^0.19.4",
"@codemirror/view": "^0.19.48"
}
},
"@codemirror/search": { "@codemirror/search": {
"version": "0.19.10", "version": "6.5.2",
"resolved": "https://registry.npmjs.org/@codemirror/search/-/search-0.19.10.tgz", "resolved": "https://registry.npmjs.org/@codemirror/search/-/search-6.5.2.tgz",
"integrity": "sha512-qjubm69HJixPBWzI6HeEghTWOOD8NXiHOTRNvdizqs8xWRuFChq9zkjD3XiAJ7GXSTzCuQJnAP9DBBGCLq4ZIA==", "integrity": "sha512-WRihpqd0l9cEh9J3IZe45Yi+Z5MfTsEXnyc3V7qXHP4ZYtIYpGOn+EJ7fyLIkyAm/8S6QIr7/mMISfAadf8zCg==",
"requires": { "requires": {
"@codemirror/panel": "^0.19.0", "@codemirror/state": "^6.0.0",
"@codemirror/rangeset": "^0.19.0", "@codemirror/view": "^6.0.0",
"@codemirror/state": "^0.19.3",
"@codemirror/text": "^0.19.0",
"@codemirror/view": "^0.19.34",
"crelt": "^1.0.5" "crelt": "^1.0.5"
} }
}, },
"@codemirror/state": { "@codemirror/state": {
"version": "0.19.9", "version": "6.2.1",
"resolved": "https://registry.npmjs.org/@codemirror/state/-/state-0.19.9.tgz", "resolved": "https://registry.npmjs.org/@codemirror/state/-/state-6.2.1.tgz",
"integrity": "sha512-psOzDolKTZkx4CgUqhBQ8T8gBc0xN5z4gzed109aF6x7D7umpDRoimacI/O6d9UGuyl4eYuDCZmDFr2Rq7aGOw==", "integrity": "sha512-RupHSZ8+OjNT38zU9fKH2sv+Dnlr8Eb8sl4NOnnqz95mCFTZUaiRP8Xv5MeeaG0px2b8Bnfe7YGwCV3nsBhbuw=="
"requires": {
"@codemirror/text": "^0.19.0"
}
},
"@codemirror/text": {
"version": "0.19.6",
"resolved": "https://registry.npmjs.org/@codemirror/text/-/text-0.19.6.tgz",
"integrity": "sha512-T9jnREMIygx+TPC1bOuepz18maGq/92q2a+n4qTqObKwvNMg+8cMTslb8yxeEDEq7S3kpgGWxgO1UWbQRij0dA=="
},
"@codemirror/tooltip": {
"version": "0.19.16",
"resolved": "https://registry.npmjs.org/@codemirror/tooltip/-/tooltip-0.19.16.tgz",
"integrity": "sha512-zxKDHryUV5/RS45AQL+wOeN+i7/l81wK56OMnUPoTSzCWNITfxHn7BToDsjtrRKbzHqUxKYmBnn/4hPjpZ4WJQ==",
"requires": {
"@codemirror/state": "^0.19.0",
"@codemirror/view": "^0.19.0"
}
}, },
"@codemirror/view": { "@codemirror/view": {
"version": "0.19.48", "version": "6.18.0",
"resolved": "https://registry.npmjs.org/@codemirror/view/-/view-0.19.48.tgz", "resolved": "https://registry.npmjs.org/@codemirror/view/-/view-6.18.0.tgz",
"integrity": "sha512-0eg7D2Nz4S8/caetCTz61rK0tkHI17V/d15Jy0kLOT8dTLGGNJUponDnW28h2B6bERmPlVHKh8MJIr5OCp1nGw==", "integrity": "sha512-T6q1yYAoU+gSWfJFR4ryvDQcyOqS+Mw5RCvh26y0KiNksOOLYhNvdB3BTyLz8vy4fKaYlzbAOyBU7OQPUGHzjQ==",
"requires": { "requires": {
"@codemirror/rangeset": "^0.19.5", "@codemirror/state": "^6.1.4",
"@codemirror/state": "^0.19.3", "style-mod": "^4.1.0",
"@codemirror/text": "^0.19.0",
"style-mod": "^4.0.0",
"w3c-keyname": "^2.2.4" "w3c-keyname": "^2.2.4"
} }
}, },
@@ -852,6 +697,27 @@
} }
} }
}, },
"@fortawesome/fontawesome-common-types": {
"version": "6.4.2",
"resolved": "https://registry.npmjs.org/@fortawesome/fontawesome-common-types/-/fontawesome-common-types-6.4.2.tgz",
"integrity": "sha512-1DgP7f+XQIJbLFCTX1V2QnxVmpLdKdzzo2k8EmvDOePfchaIGQ9eCHj2up3/jNEbZuBqel5OxiaOJf37TWauRA=="
},
"@fortawesome/free-solid-svg-icons": {
"version": "6.4.2",
"resolved": "https://registry.npmjs.org/@fortawesome/free-solid-svg-icons/-/free-solid-svg-icons-6.4.2.tgz",
"integrity": "sha512-sYwXurXUEQS32fZz9hVCUUv/xu49PEJEyUOsA51l6PU/qVgfbTb2glsTEaJngVVT8VqBATRIdh7XVgV1JF1LkA==",
"requires": {
"@fortawesome/fontawesome-common-types": "6.4.2"
}
},
"@fortawesome/react-fontawesome": {
"version": "0.2.0",
"resolved": "https://registry.npmjs.org/@fortawesome/react-fontawesome/-/react-fontawesome-0.2.0.tgz",
"integrity": "sha512-uHg75Rb/XORTtVt7OS9WoK8uM276Ufi7gCzshVWkUJbHhh3svsUUeqXerrM96Wm7fRiDzfKRwSoahhMIkGAYHw==",
"requires": {
"prop-types": "^15.8.1"
}
},
"@gar/promisify": { "@gar/promisify": {
"version": "1.1.3", "version": "1.1.3",
"resolved": "https://registry.npmjs.org/@gar/promisify/-/promisify-1.1.3.tgz", "resolved": "https://registry.npmjs.org/@gar/promisify/-/promisify-1.1.3.tgz",
@@ -1507,16 +1373,24 @@
} }
}, },
"@lezer/common": { "@lezer/common": {
"version": "0.15.12", "version": "1.0.4",
"resolved": "https://registry.npmjs.org/@lezer/common/-/common-0.15.12.tgz", "resolved": "https://registry.npmjs.org/@lezer/common/-/common-1.0.4.tgz",
"integrity": "sha512-edfwCxNLnzq5pBA/yaIhwJ3U3Kz8VAUOTRg0hhxaizaI1N+qxV7EXDv/kLCkLeq2RzSFvxexlaj5Mzfn2kY0Ig==" "integrity": "sha512-lZHlk8p67x4aIDtJl6UQrXSOP6oi7dQR3W/geFVrENdA1JDaAJWldnVqVjPMJupbTKbzDfFcePfKttqVidS/dg=="
},
"@lezer/highlight": {
"version": "1.1.6",
"resolved": "https://registry.npmjs.org/@lezer/highlight/-/highlight-1.1.6.tgz",
"integrity": "sha512-cmSJYa2us+r3SePpRCjN5ymCqCPv+zyXmDl0ciWtVaNiORT/MxM7ZgOMQZADD0o51qOaOg24qc/zBViOIwAjJg==",
"requires": {
"@lezer/common": "^1.0.0"
}
}, },
"@lezer/lr": { "@lezer/lr": {
"version": "0.15.8", "version": "1.3.10",
"resolved": "https://registry.npmjs.org/@lezer/lr/-/lr-0.15.8.tgz", "resolved": "https://registry.npmjs.org/@lezer/lr/-/lr-1.3.10.tgz",
"integrity": "sha512-bM6oE6VQZ6hIFxDNKk8bKPa14hqFrV07J/vHGOeiAbJReIaQXmkVb6xQu4MR+JBTLa5arGRyAAjJe1qaQt3Uvg==", "integrity": "sha512-BZfVvf7Re5BIwJHlZXbJn9L8lus5EonxQghyn+ih8Wl36XMFBPTXC0KM0IdUtj9w/diPHsKlXVgL+AlX2jYJ0Q==",
"requires": { "requires": {
"@lezer/common": "^0.15.0" "@lezer/common": "^1.0.0"
} }
}, },
"@mapbox/geojson-rewind": { "@mapbox/geojson-rewind": {
@@ -1857,6 +1731,35 @@
} }
} }
}, },
"@prometheus-io/codemirror-promql": {
"version": "0.46.0",
"resolved": "https://registry.npmjs.org/@prometheus-io/codemirror-promql/-/codemirror-promql-0.46.0.tgz",
"integrity": "sha512-Pyez+XwQhbD9w51sVng/PwffdfRQIzjLPSZnAj9ZDFCKDCE9lNTw4YVs9fl7wlMcTSioNZ+uLJDuenqeDTz5yA==",
"requires": {
"@prometheus-io/lezer-promql": "0.46.0",
"lru-cache": "^6.0.0"
},
"dependencies": {
"lru-cache": {
"version": "6.0.0",
"resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz",
"integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==",
"requires": {
"yallist": "^4.0.0"
}
},
"yallist": {
"version": "4.0.0",
"resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz",
"integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A=="
}
}
},
"@prometheus-io/lezer-promql": {
"version": "0.46.0",
"resolved": "https://registry.npmjs.org/@prometheus-io/lezer-promql/-/lezer-promql-0.46.0.tgz",
"integrity": "sha512-yjb1lNj2XeJsbRF+mOfzqoes0ib6wUjyXlApCdV6DfHLc3634xDmyc84+vlMKuZ7psviz5r+G78ViiF6A4yjOg=="
},
"@riophae/vue-treeselect": { "@riophae/vue-treeselect": {
"version": "0.4.0", "version": "0.4.0",
"resolved": "https://registry.npmjs.org/@riophae/vue-treeselect/-/vue-treeselect-0.4.0.tgz", "resolved": "https://registry.npmjs.org/@riophae/vue-treeselect/-/vue-treeselect-0.4.0.tgz",
@@ -5234,29 +5137,6 @@
"resolved": "https://registry.npmjs.org/codemirror/-/codemirror-5.65.12.tgz", "resolved": "https://registry.npmjs.org/codemirror/-/codemirror-5.65.12.tgz",
"integrity": "sha512-z2jlHBocElRnPYysN2HAuhXbO3DNB0bcSKmNz3hcWR2Js2Dkhc1bEOxG93Z3DeUrnm+qx56XOY5wQmbP5KY0sw==" "integrity": "sha512-z2jlHBocElRnPYysN2HAuhXbO3DNB0bcSKmNz3hcWR2Js2Dkhc1bEOxG93Z3DeUrnm+qx56XOY5wQmbP5KY0sw=="
}, },
"codemirror-promql": {
"version": "0.19.0",
"resolved": "https://registry.npmjs.org/codemirror-promql/-/codemirror-promql-0.19.0.tgz",
"integrity": "sha512-SUomAfs8S2+UihtCYMEG7e+5DYCDJTJiTOJjqSXSAylHacgyx5z/V20vA4KA7uSe+KHgKXxjM6R9ZOfkz4SJPg==",
"requires": {
"lru-cache": "^6.0.0"
},
"dependencies": {
"lru-cache": {
"version": "6.0.0",
"resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz",
"integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==",
"requires": {
"yallist": "^4.0.0"
}
},
"yallist": {
"version": "4.0.0",
"resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz",
"integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A=="
}
}
},
"codepage": { "codepage": {
"version": "1.14.0", "version": "1.14.0",
"resolved": "https://registry.npmjs.org/codepage/-/codepage-1.14.0.tgz", "resolved": "https://registry.npmjs.org/codepage/-/codepage-1.14.0.tgz",
@@ -5863,9 +5743,9 @@
} }
}, },
"crelt": { "crelt": {
"version": "1.0.5", "version": "1.0.6",
"resolved": "https://registry.npmjs.org/crelt/-/crelt-1.0.5.tgz", "resolved": "https://registry.npmjs.org/crelt/-/crelt-1.0.6.tgz",
"integrity": "sha512-+BO9wPPi+DWTDcNYhr/W90myha8ptzftZT+LwcmUbbok0rcP/fequmFYCw8NMoH7pkAZQzU78b3kYrlua5a9eA==" "integrity": "sha512-VQ2MBenTq1fWZUH9DJNGti7kKv6EeAuYr3cLwxUWhIu1baTaXh4Ib5W2CqHVqib4/MqbYGJqiL3Zb8GJZr3l4g=="
}, },
"cross-spawn": { "cross-spawn": {
"version": "6.0.5", "version": "6.0.5",
@@ -12509,8 +12389,7 @@
"js-tokens": { "js-tokens": {
"version": "3.0.2", "version": "3.0.2",
"resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-3.0.2.tgz", "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-3.0.2.tgz",
"integrity": "sha1-mGbfOVECEw449/mWvOtlRDIJwls=", "integrity": "sha1-mGbfOVECEw449/mWvOtlRDIJwls="
"dev": true
}, },
"js-yaml": { "js-yaml": {
"version": "3.14.1", "version": "3.14.1",
@@ -12985,7 +12864,6 @@
"version": "1.4.0", "version": "1.4.0",
"resolved": "https://registry.npmjs.org/loose-envify/-/loose-envify-1.4.0.tgz", "resolved": "https://registry.npmjs.org/loose-envify/-/loose-envify-1.4.0.tgz",
"integrity": "sha512-lyuxPGr/Wfhrlem2CL/UcnUc1zcqKAImBDzukY7Y5F/yQiNdko6+fRLevlw1HgMySw7f611UIY408EtxRSoK3Q==", "integrity": "sha512-lyuxPGr/Wfhrlem2CL/UcnUc1zcqKAImBDzukY7Y5F/yQiNdko6+fRLevlw1HgMySw7f611UIY408EtxRSoK3Q==",
"dev": true,
"requires": { "requires": {
"js-tokens": "^3.0.0 || ^4.0.0" "js-tokens": "^3.0.0 || ^4.0.0"
} }
@@ -16414,6 +16292,16 @@
"sisteransi": "^1.0.5" "sisteransi": "^1.0.5"
} }
}, },
"prop-types": {
"version": "15.8.1",
"resolved": "https://registry.npmjs.org/prop-types/-/prop-types-15.8.1.tgz",
"integrity": "sha512-oj87CgZICdulUohogVAR7AjlC0327U4el4L6eAvOqCeudMDVU0NThNaV+b9Df4dXgSP1gXMTnPdhfe/2qDH5cg==",
"requires": {
"loose-envify": "^1.4.0",
"object-assign": "^4.1.1",
"react-is": "^16.13.1"
}
},
"proto-list": { "proto-list": {
"version": "1.2.4", "version": "1.2.4",
"resolved": "https://registry.npmjs.org/proto-list/-/proto-list-1.2.4.tgz", "resolved": "https://registry.npmjs.org/proto-list/-/proto-list-1.2.4.tgz",
@@ -16646,8 +16534,7 @@
"react-is": { "react-is": {
"version": "16.13.1", "version": "16.13.1",
"resolved": "https://registry.npmjs.org/react-is/-/react-is-16.13.1.tgz", "resolved": "https://registry.npmjs.org/react-is/-/react-is-16.13.1.tgz",
"integrity": "sha512-24e6ynE2H+OKt4kqsOvNd8kBpV65zoxbA4BVsEOB3ARVWQki/DHzaUoC5KuON/BiccDaCCTZBuOcfZs70kR8bQ==", "integrity": "sha512-24e6ynE2H+OKt4kqsOvNd8kBpV65zoxbA4BVsEOB3ARVWQki/DHzaUoC5KuON/BiccDaCCTZBuOcfZs70kR8bQ=="
"dev": true
}, },
"read-cache": { "read-cache": {
"version": "1.0.0", "version": "1.0.0",
@@ -18472,9 +18359,9 @@
"dev": true "dev": true
}, },
"style-mod": { "style-mod": {
"version": "4.0.0", "version": "4.1.0",
"resolved": "https://registry.npmjs.org/style-mod/-/style-mod-4.0.0.tgz", "resolved": "https://registry.npmjs.org/style-mod/-/style-mod-4.1.0.tgz",
"integrity": "sha512-OPhtyEjyyN9x3nhPsu76f52yUGXiZcgvsrFVtvTkyGRQJ0XK+GPc6ov1z+lRpbeabka+MYEQxOYRnt5nF30aMw==" "integrity": "sha512-Ca5ib8HrFn+f+0n4N4ScTIA9iTOQ7MaGS1ylHcoVqW9J7w2w8PzN6g9gKmTYgGEBH8e120+RCmhpje6jC5uGWA=="
}, },
"stylehacks": { "stylehacks": {
"version": "4.0.3", "version": "4.0.3",
@@ -20341,9 +20228,9 @@
} }
}, },
"w3c-keyname": { "w3c-keyname": {
"version": "2.2.4", "version": "2.2.8",
"resolved": "https://registry.npmjs.org/w3c-keyname/-/w3c-keyname-2.2.4.tgz", "resolved": "https://registry.npmjs.org/w3c-keyname/-/w3c-keyname-2.2.8.tgz",
"integrity": "sha512-tOhfEwEzFLJzf6d1ZPkYfGj+FWhIpBux9ppoP3rlclw3Z0BZv3N7b7030Z1kYth+6rDuAsXUFr+d0VE6Ed1ikw==" "integrity": "sha512-dpojBhNsCNN7T82Tm7k26A6G9ML3NkhDsnw9n/eoxSRlVBB4CEtIQ/KTCLI2Fwf3ataSXRhYFkQi3SlnFwPvPQ=="
}, },
"walker": { "walker": {
"version": "1.0.8", "version": "1.0.8",

View File

@@ -205,4 +205,9 @@
.el-form-item__error { .el-form-item__error {
padding-top: 0; padding-top: 0;
} }
.thresholds-from-item{
margin-bottom: 0 !important;
flex: 1;
}
} }

View File

@@ -58,7 +58,7 @@
<script> <script>
import ChartScreenHeader from '@/components/chart/ChartScreenHeader' import ChartScreenHeader from '@/components/chart/ChartScreenHeader'
import chart from '@/components/chart/chart' import chart from '@/components/chart/chart'
import { isChartPie, isTimeSeries, getGroupHeight, isGroup } from '@/components/chart/chart/tools' import { isTimeSeries, getGroupHeight, isGroup } from '@/components/chart/chart/tools'
import { alertMessage as alertMessageConstant, chartType, fromRoute } from '@/components/common/js/constants' import { alertMessage as alertMessageConstant, chartType, fromRoute } from '@/components/common/js/constants'
import bus from '@/libs/bus' import bus from '@/libs/bus'
import axios from 'axios' import axios from 'axios'
@@ -68,7 +68,7 @@ import lodash from 'lodash'
import alertMessageInfoTab from '@/components/common/alert/alertMessageInfoTab' import alertMessageInfoTab from '@/components/common/alert/alertMessageInfoTab'
import alertMessageInfoTimeLine from '@/components/common/alert/alertMessageInfoTimeLine' import alertMessageInfoTimeLine from '@/components/common/alert/alertMessageInfoTimeLine'
export default { export default {
name: 'panelChart', name: 'alertMessageInfo',
components: { components: {
alertMessageInfoTab, alertMessageInfoTab,
chart, chart,

View File

@@ -338,6 +338,91 @@
}"> }">
</el-time-picker> </el-time-picker>
</el-form-item> </el-form-item>
<!--Data link-->
<div class="chart-config">
<div class="alert-rule-split-title">{{$t('dashboard.dashboard.chartForm.dataLink')}}</div>
<draggable
v-model="editAlertRule.param.dataLink"
@start="start"
@end="onEnd"
:scroll-sensitivity="150"
:options="{
dragClass:'drag-dataLink-class',
fallbackClass:'fallback-class',
forceFallback:true,
ghostClass:'chart-ghost',
chosenClass:'choose-class',
scroll:true,
filter: '.drag-disabled',
animation: 150,
handle: '.drag-sort'
}">
<div v-for="(item,index) in editAlertRule.param.dataLink" :key="index" :class="item.error? 'is-item-box-error' : ''">
<div class="chart-title chart-title-config">
<span class="chart-title-content">
<i class="nz-icon nz-icon-arrow-down" :class="item.show?'':'is-active'" @click="showDataLink(index)"></i>
<span v-show="!item.show" class="title-content-left">
<span>
{{item.title}}
</span>
</span>
</span>
<span>
<span @click="addDataLink()" :title="$t('tip.add')">
<i class="nz-icon nz-icon-create-square" style="font-weight: normal; font-size: 17px; cursor: pointer;"></i>
</span>
<span style="margin-right: 5px" :title="$t('overall.duplicate')">
<i @click="copyDataLink(index)" class="nz-icon nz-icon-override"></i>
</span>
<span style="margin-right: 5px" class="nz-icon-minus-medium" :title="$t('overall.delete')">
<i @click="removeDataLink(index)" class="nz-icon nz-icon-minus"></i>
</span>
<span style="margin-right: 5px;fontSize:17px;cursor: grab;" class="drag-sort" :title="$t('dashboard.dashboard.chartForm.sort')">
<i class="nz-icon nz-icon-sort" style="cursor: grab;"></i>
</span>
</span>
</div>
<transition-group appear tag="div" name="el-zoom-in-top">
<el-row class="thresholds-item" v-show="item.show" :key="1">
<div>
<div class='mapping-display'>{{$t("dashboard.dashboard.chartForm.title")}}</div>
</div>
<!-- Title -->
<el-form-item :prop="'param.dataLink.' + index + '.title'" class="thresholds-from-item">
<el-input size="small" v-model="item.title"></el-input>
</el-form-item>
<div>
<div class='mapping-display'>{{$t('dashboard.dashboard.chartForm.openIn')}}</div>
</div>
<!-- Open in -->
<el-form-item :prop="'param.dataLink.' + index + '.openIn'" class="thresholds-from-item">
<el-select
v-model="item.openIn"
size="small"
>
<el-option value="newTab" :label="$t('dashboard.dashboard.chartForm.newTab')"></el-option>
<el-option value="currentTab" :label="$t('dashboard.dashboard.chartForm.currentTab')"></el-option>
</el-select>
</el-form-item>
</el-row>
<el-row class="thresholds-item" v-show="item.show" :key="2">
<div>
<div class='mapping-display'>{{$t('dashboard.dashboard.chartForm.dataLinkUrl')}}</div>
</div>
<!-- url -->
<el-form-item :prop="'param.dataLink.' + index + '.url'" :rules="{ required: true, message: $t('validate.required'), trigger: 'blur'}" class="thresholds-from-item">
<el-input v-model="item.url" size="small" @change="hideError('dataLink',index)"/>
</el-form-item>
</el-row>
</transition-group>
</div>
</draggable>
<div @click="addDataLink" class="thresholds-add">
{{$t('overall.addDataLink')}}
</div>
</div>
<div class="alert-rule-split-title">{{ $t('overall.more') }}</div> <div class="alert-rule-split-title">{{ $t('overall.more') }}</div>
<!-- &lt;!&ndash;panel&ndash;&gt;--> <!-- &lt;!&ndash;panel&ndash;&gt;-->
<!-- <el-form-item--> <!-- <el-form-item-->
@@ -388,7 +473,7 @@ import editRigthBox from '../mixin/editRigthBox'
import richTextEditor from '@/components/chart/richTextEditor' import richTextEditor from '@/components/chart/richTextEditor'
import promqlInputMixin from '@/components/common/mixin/promqlInput' import promqlInputMixin from '@/components/common/mixin/promqlInput'
import selectPanel from '@/components/common/popBox/selectPanel' import selectPanel from '@/components/common/popBox/selectPanel'
import draggable from 'vuedraggable'
export default { export default {
name: 'alertRuleBox', name: 'alertRuleBox',
props: { props: {
@@ -397,6 +482,7 @@ export default {
components: { components: {
'promql-input': promqlInput, 'promql-input': promqlInput,
richTextEditor, richTextEditor,
draggable,
selectPanel selectPanel
}, },
mixins: [editRigthBox, promqlInputMixin], mixins: [editRigthBox, promqlInputMixin],
@@ -604,6 +690,12 @@ export default {
if (this.editAlertRule.type !== 3) { if (this.editAlertRule.type !== 3) {
this.editAlertRule.expr = this.expressions[0] this.editAlertRule.expr = this.expressions[0]
} }
const param = this.$lodash.cloneDeep(this.editAlertRule.param)
param.dataLink.forEach(item => {
delete item.error
})
// 处理condition 删除掉不需要的属性 // 处理condition 删除掉不需要的属性
const condition = this.editAlertRule.condition.map(item => { const condition = this.editAlertRule.condition.map(item => {
return { return {
@@ -617,7 +709,8 @@ export default {
...this.editAlertRule, ...this.editAlertRule,
method: this.editAlertRule.method.join(','), method: this.editAlertRule.method.join(','),
type: this.editAlertRule.type, type: this.editAlertRule.type,
condition condition,
param
} }
if (this.editAlertRule.trbShot && this.editAlertRule.trbShot == '<div class="editor-core ql-container ql-snow"><div class="ql-editor"><p><br></p></div></div>') { if (this.editAlertRule.trbShot && this.editAlertRule.trbShot == '<div class="editor-core ql-container ql-snow"><div class="ql-editor"><p><br></p></div></div>') {
this.editAlertRule.trbShot = '' this.editAlertRule.trbShot = ''
@@ -650,6 +743,7 @@ export default {
}) })
} }
} else { } else {
this.datalinkError()
this.prevent_opt.save = false this.prevent_opt.save = false
return false return false
} }
@@ -799,6 +893,50 @@ export default {
if (node) { if (node) {
this.panelName = node.data.name this.panelName = node.data.name
} }
},
addDataLink () {
this.editAlertRule.param.dataLink.push({
show: true,
title: '',
url: '',
openIn: 'newTab'
})
},
copyDataLink (index) {
this.editAlertRule.param.dataLink.push({ ...this.editAlertRule.param.dataLink[index] })
},
removeDataLink (index) {
this.editAlertRule.param.dataLink.splice(index, 1)
},
showDataLink (index) {
this.editAlertRule.param.dataLink[index].show = !this.editAlertRule.param.dataLink[index].show
},
datalinkError () {
this.$refs.alertRuleForm.validate((blooen, object) => {
Object.keys(object).forEach(item => {
const keyArr = item.split('.')
console.log(keyArr)
if (keyArr.length >= 4) {
this.editAlertRule[keyArr[0]][keyArr[1]][keyArr[2]].error = true
}
})
if (!blooen) {
this.$forceUpdate()
}
})
},
hideError (key, index) {
if (!this.editAlertRule.param[key] || !this.editAlertRule.param[key].length) {
return
}
this.editAlertRule.param[key][index].error = false
this.$forceUpdate()
},
start () {
document.body.classList.add('isDrag')
},
onEnd () {
document.body.classList.remove('isDrag')
} }
}, },
mounted () { mounted () {
@@ -816,6 +954,11 @@ export default {
if (!obj.dashboardId) { if (!obj.dashboardId) {
obj.dashboardId = '' obj.dashboardId = ''
} }
if (!obj.param) {
obj.param = {
dataLink: []
}
}
this.editAlertRule = this.$lodash.cloneDeep(obj) this.editAlertRule = this.$lodash.cloneDeep(obj)
this.showPanel.id = this.editAlertRule.dashboardId this.showPanel.id = this.editAlertRule.dashboardId
// 获取缓存中的告警等级列表 // 获取缓存中的告警等级列表

View File

@@ -644,6 +644,12 @@ export default {
} }
chartInfo.elements && (chartInfo.elements[0].expression = this.currentMsg.alertRule.expr.replace(/\r|\n+/g, '')) chartInfo.elements && (chartInfo.elements[0].expression = this.currentMsg.alertRule.expr.replace(/\r|\n+/g, ''))
} }
// 设置dataLink
if (this.currentMsg.alertRule.param) {
chartInfo.param.dataLink = this.currentMsg.alertRule.param.dataLink
}
chartInfo.id = this.currentMsg.id chartInfo.id = this.currentMsg.id
chartInfo.name = this.currentMsg.alertRule.name chartInfo.name = this.currentMsg.alertRule.name
chartInfo.isAlertMessage = true chartInfo.isAlertMessage = true