diff options
author | GitLab Bot <gitlab-bot@gitlab.com> | 2020-08-14 00:10:04 +0300 |
---|---|---|
committer | GitLab Bot <gitlab-bot@gitlab.com> | 2020-08-14 00:10:04 +0300 |
commit | 3825437c53474e3d6f3a7d82ef4f26583212531e (patch) | |
tree | 1bb207713ff4e28c10a9a9e3f7c9d3e509001733 /app/assets/javascripts | |
parent | c787c1559e9e558b83e78354823eb54b9fe8c718 (diff) |
Add latest changes from gitlab-org/gitlab@master
Diffstat (limited to 'app/assets/javascripts')
-rw-r--r-- | app/assets/javascripts/layout_nav.js | 2 | ||||
-rw-r--r-- | app/assets/javascripts/whats_new/components/app.vue | 29 | ||||
-rw-r--r-- | app/assets/javascripts/whats_new/components/trigger.vue | 19 | ||||
-rw-r--r-- | app/assets/javascripts/whats_new/index.js | 32 | ||||
-rw-r--r-- | app/assets/javascripts/whats_new/store/actions.js | 10 | ||||
-rw-r--r-- | app/assets/javascripts/whats_new/store/index.js | 13 | ||||
-rw-r--r-- | app/assets/javascripts/whats_new/store/mutation_types.js | 2 | ||||
-rw-r--r-- | app/assets/javascripts/whats_new/store/mutations.js | 10 | ||||
-rw-r--r-- | app/assets/javascripts/whats_new/store/state.js | 3 |
9 files changed, 120 insertions, 0 deletions
diff --git a/app/assets/javascripts/layout_nav.js b/app/assets/javascripts/layout_nav.js index 4314e5e1afb..0ecf3301250 100644 --- a/app/assets/javascripts/layout_nav.js +++ b/app/assets/javascripts/layout_nav.js @@ -1,6 +1,7 @@ import $ from 'jquery'; import ContextualSidebar from './contextual_sidebar'; import initFlyOutNav from './fly_out_nav'; +import initWhatsNew from '~/whats_new'; function hideEndFade($scrollingTabs) { $scrollingTabs.each(function scrollTabsLoop() { @@ -20,6 +21,7 @@ export default function initLayoutNav() { contextualSidebar.bindEvents(); initFlyOutNav(); + initWhatsNew(); // We need to init it on DomContentLoaded as others could also call it $(document).on('init.scrolling-tabs', () => { diff --git a/app/assets/javascripts/whats_new/components/app.vue b/app/assets/javascripts/whats_new/components/app.vue new file mode 100644 index 00000000000..d974556cb9e --- /dev/null +++ b/app/assets/javascripts/whats_new/components/app.vue @@ -0,0 +1,29 @@ +<script> +import { mapState, mapActions } from 'vuex'; +import { GlDrawer } from '@gitlab/ui'; + +export default { + components: { + GlDrawer, + }, + computed: { + ...mapState(['open']), + }, + methods: { + ...mapActions(['closeDrawer']), + }, +}; +</script> + +<template> + <div> + <gl-drawer class="mt-6" :open="open" @close="closeDrawer"> + <template #header> + <h4>{{ __("What's new at GitLab") }}</h4> + </template> + <template> + <div></div> + </template> + </gl-drawer> + </div> +</template> diff --git a/app/assets/javascripts/whats_new/components/trigger.vue b/app/assets/javascripts/whats_new/components/trigger.vue new file mode 100644 index 00000000000..e6c48e92888 --- /dev/null +++ b/app/assets/javascripts/whats_new/components/trigger.vue @@ -0,0 +1,19 @@ +<script> +import { mapActions } from 'vuex'; +import { GlButton } from '@gitlab/ui'; + +export default { + components: { + GlButton, + }, + methods: { + ...mapActions(['openDrawer']), + }, +}; +</script> + +<template> + <li> + <gl-button variant="link" @click="openDrawer">{{ __("See what's new at GitLab") }}</gl-button> + </li> +</template> diff --git a/app/assets/javascripts/whats_new/index.js b/app/assets/javascripts/whats_new/index.js new file mode 100644 index 00000000000..c9ee3404d2a --- /dev/null +++ b/app/assets/javascripts/whats_new/index.js @@ -0,0 +1,32 @@ +import Vue from 'vue'; +import App from './components/app.vue'; +import Trigger from './components/trigger.vue'; +import store from './store'; + +export default () => { + // eslint-disable-next-line no-new + new Vue({ + el: document.getElementById('whats-new-app'), + store, + components: { + App, + }, + + render(createElement) { + return createElement('app'); + }, + }); + + // eslint-disable-next-line no-new + new Vue({ + el: document.getElementById('whats-new-trigger'), + store, + components: { + Trigger, + }, + + render(createElement) { + return createElement('trigger'); + }, + }); +}; diff --git a/app/assets/javascripts/whats_new/store/actions.js b/app/assets/javascripts/whats_new/store/actions.js new file mode 100644 index 00000000000..53488413d9e --- /dev/null +++ b/app/assets/javascripts/whats_new/store/actions.js @@ -0,0 +1,10 @@ +import * as types from './mutation_types'; + +export default { + closeDrawer({ commit }) { + commit(types.CLOSE_DRAWER); + }, + openDrawer({ commit }) { + commit(types.OPEN_DRAWER); + }, +}; diff --git a/app/assets/javascripts/whats_new/store/index.js b/app/assets/javascripts/whats_new/store/index.js new file mode 100644 index 00000000000..aea980060aa --- /dev/null +++ b/app/assets/javascripts/whats_new/store/index.js @@ -0,0 +1,13 @@ +import Vue from 'vue'; +import Vuex from 'vuex'; +import actions from './actions'; +import mutations from './mutations'; +import state from './state'; + +Vue.use(Vuex); + +export default new Vuex.Store({ + actions, + mutations, + state, +}); diff --git a/app/assets/javascripts/whats_new/store/mutation_types.js b/app/assets/javascripts/whats_new/store/mutation_types.js new file mode 100644 index 00000000000..daa65230101 --- /dev/null +++ b/app/assets/javascripts/whats_new/store/mutation_types.js @@ -0,0 +1,2 @@ +export const CLOSE_DRAWER = 'CLOSE_DRAWER'; +export const OPEN_DRAWER = 'OPEN_DRAWER'; diff --git a/app/assets/javascripts/whats_new/store/mutations.js b/app/assets/javascripts/whats_new/store/mutations.js new file mode 100644 index 00000000000..f7e84ee81a9 --- /dev/null +++ b/app/assets/javascripts/whats_new/store/mutations.js @@ -0,0 +1,10 @@ +import * as types from './mutation_types'; + +export default { + [types.CLOSE_DRAWER](state) { + state.open = false; + }, + [types.OPEN_DRAWER](state) { + state.open = true; + }, +}; diff --git a/app/assets/javascripts/whats_new/store/state.js b/app/assets/javascripts/whats_new/store/state.js new file mode 100644 index 00000000000..97089a095f1 --- /dev/null +++ b/app/assets/javascripts/whats_new/store/state.js @@ -0,0 +1,3 @@ +export default { + open: false, +}; |