diff options
author | GitLab Bot <gitlab-bot@gitlab.com> | 2020-07-20 15:26:25 +0300 |
---|---|---|
committer | GitLab Bot <gitlab-bot@gitlab.com> | 2020-07-20 15:26:25 +0300 |
commit | a09983ae35713f5a2bbb100981116d31ce99826e (patch) | |
tree | 2ee2af7bd104d57086db360a7e6d8c9d5d43667a /app/assets/javascripts/alerts_settings/index.js | |
parent | 18c5ab32b738c0b6ecb4d0df3994000482f34bd8 (diff) |
Add latest changes from gitlab-org/gitlab@13-2-stable-ee
Diffstat (limited to 'app/assets/javascripts/alerts_settings/index.js')
-rw-r--r-- | app/assets/javascripts/alerts_settings/index.js | 67 |
1 files changed, 67 insertions, 0 deletions
diff --git a/app/assets/javascripts/alerts_settings/index.js b/app/assets/javascripts/alerts_settings/index.js new file mode 100644 index 00000000000..a4c2bf6b18e --- /dev/null +++ b/app/assets/javascripts/alerts_settings/index.js @@ -0,0 +1,67 @@ +import Vue from 'vue'; +import { parseBoolean } from '~/lib/utils/common_utils'; +import AlertSettingsForm from './components/alerts_settings_form.vue'; + +export default el => { + if (!el) { + return null; + } + + const { + prometheusActivated, + prometheusUrl, + prometheusAuthorizationKey, + prometheusFormPath, + prometheusResetKeyPath, + prometheusApiUrl, + activated: activatedStr, + alertsSetupUrl, + alertsUsageUrl, + formPath, + authorizationKey, + url, + opsgenieMvcAvailable, + opsgenieMvcFormPath, + opsgenieMvcEnabled, + opsgenieMvcTargetUrl, + } = el.dataset; + + const genericActivated = parseBoolean(activatedStr); + const prometheusIsActivated = parseBoolean(prometheusActivated); + const opsgenieMvcActivated = parseBoolean(opsgenieMvcEnabled); + const opsgenieMvcIsAvailable = parseBoolean(opsgenieMvcAvailable); + + const props = { + prometheus: { + activated: prometheusIsActivated, + prometheusUrl, + prometheusAuthorizationKey, + prometheusFormPath, + prometheusResetKeyPath, + prometheusApiUrl, + }, + generic: { + alertsSetupUrl, + alertsUsageUrl, + activated: genericActivated, + formPath, + initialAuthorizationKey: authorizationKey, + url, + }, + opsgenie: { + formPath: opsgenieMvcFormPath, + activated: opsgenieMvcActivated, + opsgenieMvcTargetUrl, + opsgenieMvcIsAvailable, + }, + }; + + return new Vue({ + el, + render(createElement) { + return createElement(AlertSettingsForm, { + props, + }); + }, + }); +}; |