Commit 77723e2f authored by George Tsiolis's avatar George Tsiolis

Move boards modal EmptyState vue component

parent 7c11ed8c
import Vue from 'vue'; <script>
import ModalStore from '../../stores/modal_store'; import ModalStore from '../../stores/modal_store';
import modalMixin from '../../mixins/modal_mixins'; import modalMixin from '../../mixins/modal_mixins';
gl.issueBoards.ModalEmptyState = Vue.extend({ export default {
mixins: [modalMixin], mixins: [modalMixin],
props: { props: {
newIssuePath: { newIssuePath: {
...@@ -38,32 +38,36 @@ gl.issueBoards.ModalEmptyState = Vue.extend({ ...@@ -38,32 +38,36 @@ gl.issueBoards.ModalEmptyState = Vue.extend({
return obj; return obj;
}, },
}, },
template: ` };
<section class="empty-state"> </script>
<div class="row">
<div class="col-12 col-md-6 order-md-last"> <template>
<aside class="svg-content"><img :src="emptyStateSvg"/></aside> <section class="empty-state">
</div> <div class="row">
<div class="col-12 col-md-6 order-md-first"> <div class="col-12 col-md-6 order-md-last">
<div class="text-content"> <aside class="svg-content"><img :src="emptyStateSvg"/></aside>
<h4>{{ contents.title }}</h4> </div>
<p v-html="contents.content"></p> <div class="col-12 col-md-6 order-md-first">
<a <div class="text-content">
:href="newIssuePath" <h4>{{ contents.title }}</h4>
class="btn btn-success btn-inverted" <p v-html="contents.content"></p>
v-if="activeTab === 'all'"> <a
New issue v-if="activeTab === 'all'"
</a> :href="newIssuePath"
<button class="btn btn-success btn-inverted"
type="button" >
class="btn btn-default" New issue
@click="changeTab('all')" </a>
v-if="activeTab === 'selected'"> <button
Open issues v-if="activeTab === 'selected'"
</button> class="btn btn-default"
</div> type="button"
@click="changeTab('all')"
>
Open issues
</button>
</div> </div>
</div> </div>
</section> </div>
`, </section>
}); </template>
...@@ -6,15 +6,15 @@ import loadingIcon from '~/vue_shared/components/loading_icon.vue'; ...@@ -6,15 +6,15 @@ import loadingIcon from '~/vue_shared/components/loading_icon.vue';
import './header'; import './header';
import './list'; import './list';
import './footer'; import './footer';
import './empty_state'; import EmptyState from './empty_state.vue';
import ModalStore from '../../stores/modal_store'; import ModalStore from '../../stores/modal_store';
gl.issueBoards.IssuesModal = Vue.extend({ gl.issueBoards.IssuesModal = Vue.extend({
components: { components: {
EmptyState,
'modal-header': gl.issueBoards.ModalHeader, 'modal-header': gl.issueBoards.ModalHeader,
'modal-list': gl.issueBoards.ModalList, 'modal-list': gl.issueBoards.ModalList,
'modal-footer': gl.issueBoards.ModalFooter, 'modal-footer': gl.issueBoards.ModalFooter,
'empty-state': gl.issueBoards.ModalEmptyState,
loadingIcon, loadingIcon,
}, },
props: { props: {
......
---
title: Move boards modal EmptyState vue component
merge_request: 20068
author: George Tsiolis
type: performance
...@@ -135,7 +135,7 @@ if (process.env.BABEL_ENV === 'coverage') { ...@@ -135,7 +135,7 @@ if (process.env.BABEL_ENV === 'coverage') {
// exempt these files from the coverage report // exempt these files from the coverage report
const troubleMakers = [ const troubleMakers = [
'./blob_edit/blob_bundle.js', './blob_edit/blob_bundle.js',
'./boards/components/modal/empty_state.js', './boards/components/modal/empty_state.vue',
'./boards/components/modal/footer.js', './boards/components/modal/footer.js',
'./boards/components/modal/header.js', './boards/components/modal/header.js',
'./cycle_analytics/cycle_analytics_bundle.js', './cycle_analytics/cycle_analytics_bundle.js',
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment