diff --git a/html/js/app.js b/html/js/app.js index bcbd55149..96771d3f2 100644 --- a/html/js/app.js +++ b/html/js/app.js @@ -697,10 +697,12 @@ $(document).ready(function() { }, updateEditorTheme() { var link = $('link[href^="css/external/prism-custom-"]')[0]; - if (this.$vuetify.theme.dark) { - link.href = "css/external/prism-custom-dark-v1.29.0.css"; - } else { - link.href = "css/external/prism-custom-light-v1.29.0.css"; + if (link) { + if (this.$vuetify.theme.dark) { + link.href = "css/external/prism-custom-dark-v1.29.0.css"; + } else { + link.href = "css/external/prism-custom-light-v1.29.0.css"; + } } }, subscribe(kind, fn) { diff --git a/html/js/i18n.js b/html/js/i18n.js index 50d8ff88c..e8e24a703 100644 --- a/html/js/i18n.js +++ b/html/js/i18n.js @@ -121,6 +121,8 @@ const i18n = { betweenOp: 'Between', blog: 'Blog', bulkAction: 'Bulk Action:', + bulkActionStarted: 'Updating {total} detections. This may take awhile.', + bulkActionDeleteStarted: 'Deleting {total} detections. This may take awhile.', bulkError: '', bulkSuccessUpdate: 'Bulk update successfully updated {modified} of {total} events. ({time})', bulkSuccessDelete: 'Bulk delete successfully deleted {modified} of {total} events. ({time})', diff --git a/html/js/routes/hunt.js b/html/js/routes/hunt.js index e50ac4a2d..471847eab 100644 --- a/html/js/routes/hunt.js +++ b/html/js/routes/hunt.js @@ -2216,6 +2216,16 @@ const huntComponent = { try { await this.$root.papi.post('detection/bulk/' + this.selectedAction, payload); + + let msg = this.i18n.bulkActionStarted; + if (this.selectedAction === 'delete') { + msg = this.i18n.bulkActionDeleteStarted; + } + + msg = msg.replace('{total}', this.selectedCount.toLocaleString()); + + this.$root.showTip(msg); + this.selectAllState = false; this.selectedCount = 0; this.hunt(false);