diff options
Diffstat (limited to 'app/assets/javascripts/whats_new/index.js')
-rw-r--r-- | app/assets/javascripts/whats_new/index.js | 20 |
1 files changed, 15 insertions, 5 deletions
diff --git a/app/assets/javascripts/whats_new/index.js b/app/assets/javascripts/whats_new/index.js index a57c9718156..ed0258c3992 100644 --- a/app/assets/javascripts/whats_new/index.js +++ b/app/assets/javascripts/whats_new/index.js @@ -1,25 +1,35 @@ import Vue from 'vue'; +import { mapState } from 'vuex'; import App from './components/app.vue'; import store from './store'; +import { getStorageKey, setNotification } from './utils/notification'; let whatsNewApp; -export default () => { +export default el => { if (whatsNewApp) { store.dispatch('openDrawer'); } else { - const whatsNewElm = document.getElementById('whats-new-app'); - whatsNewApp = new Vue({ - el: whatsNewElm, + el, store, components: { App, }, + computed: { + ...mapState(['open']), + }, + watch: { + open() { + setNotification(el); + }, + }, render(createElement) { return createElement('app', { props: { - storageKey: whatsNewElm.getAttribute('data-storage-key'), + storageKey: getStorageKey(el), + versions: JSON.parse(el.getAttribute('data-versions')), + gitlabDotCom: el.getAttribute('data-gitlab-dot-com'), }, }); }, |