Commit fd0dc53f authored by Simon Knox's avatar Simon Knox

start separating milestone and dropdown components

parent 778abce6
<template> <template>
<popup-dialog :title="title"> <!-- TODO: handle Delete button with btn-danger class and method delete to link_to current_board_path(board) -->
<popup-dialog
v-show="currentPage"
:title="title"
:primaryButtonLabel="buttonText"
@toggle="cancel"
@submit="submit"
>
<p v-if="currentPage === 'delete'"> <p v-if="currentPage === 'delete'">
Are you sure you want to delete this board? Are you sure you want to delete this board?
</p> </p>
<form <form
v-else v-else
@submit="submit"
> >
<div class="append-bottom-20"> <div class="append-bottom-20">
<label class="label-light" for="board-new-name"> <label class="label-light" for="board-new-name">
...@@ -31,11 +37,12 @@ ...@@ -31,11 +37,12 @@
</button> </button>
</div> </div>
<div v-if="expand"> <div v-if="expand">
<p> <p class="light append-bottom-10">
Board scope affects which issues are displayed for anyone who visits this board Board scope affects which issues are displayed for anyone who visits this board
</p> </p>
<!-- TODO: if current_board_parent.issue_board_milestone_available?(current_user) --> <!-- TODO: if current_board_parent.issue_board_milestone_available?(current_user) -->
<div class="board-inner-container">
<input <input
type="hidden" type="hidden"
id="board-milestone" id="board-milestone"
...@@ -46,24 +53,10 @@ ...@@ -46,24 +53,10 @@
:milestone-path="milestonePath" :milestone-path="milestonePath"
:select-milestone="selectMilestone"> :select-milestone="selectMilestone">
</board-milestone-select> </board-milestone-select>
</div>
</div> </div>
</form> </form>
<template slot="footer">
<!-- TODO: handle Delete button with btn-danger class and method delete to link_to current_board_path(board) -->
<button
class="btn btn-primary pull-left"
@click="submit"
type="button"
>
{{ buttonText }}
</button>
<button
class="btn btn-default pull-right"
type="button"
>
Cancel
</button>
</template>
</popup-dialog> </popup-dialog>
</template> </template>
......
<template>
<div class="">
<div class="media">
<label class="media-body">Milestone</label>
<a href="#" data-dropdown-trigger="#milestone-dropdown" ref="trigger">
Edit
</a>
</div>
<div class="droplab-dropdown">
<div>
Current value
</div>
<ul
ref="list"
class="dropdown-menu"
>
<slot name="items"></slot>
</ul>
</div>
</div>
</template>
<script>
import DropLab from '~/droplab/drop_lab';
export default {
props: {
},
data() {
return {
loading: false,
};
},
mounted() {
this.droplab = new DropLab();
this.droplab.init(this.$refs.trigger, this.$refs.list);
},
};
</script>
<template> <template>
<div class="droplab-dropdown"> <div>
<div class="media"> <gl-dropdown>
<label class="media-body">Milestone</label> <template slot="items">
<a href="#" data-dropdown-trigger="#milestone-dropdown" ref="trigger">
Edit
</a>
</div>
<div>
{{ board.milestone ? board.milestone.title : 'Milestone' }}
<ul
ref="list"
class="dropdown-menu"
>
<li <li
v-for="milestone in extraMilestones" v-for="milestone in extraMilestones"
:key="milestone.id" :key="milestone.id"
...@@ -21,7 +11,7 @@ ...@@ -21,7 +11,7 @@
@click.prevent.stop="selectMilestone(milestone)"> @click.prevent.stop="selectMilestone(milestone)">
<i <i
class="fa fa-check" class="fa fa-check"
v-if="board.milestone_id === milestone.id"></i> v-if="false"></i>
{{ milestone.title }} {{ milestone.title }}
</a> </a>
</li> </li>
...@@ -35,12 +25,12 @@ ...@@ -35,12 +25,12 @@
@click.prevent.stop="selectMilestone(milestone)"> @click.prevent.stop="selectMilestone(milestone)">
<i <i
class="fa fa-check" class="fa fa-check"
v-if="board.milestone_id === milestone.id"></i> v-if="false"></i>
{{ milestone.title }} {{ milestone.title }}
</a> </a>
</li> </li>
</ul> </template>
</div> </gl-dropdown>
</div> </div>
</template> </template>
...@@ -48,6 +38,7 @@ ...@@ -48,6 +38,7 @@
/* global BoardService */ /* global BoardService */
import DropLab from '~/droplab/drop_lab'; import DropLab from '~/droplab/drop_lab';
import GlDropdown from './dropdown.vue';
import extraMilestones from '../mixins/extra_milestones'; import extraMilestones from '../mixins/extra_milestones';
export default { export default {
...@@ -72,11 +63,11 @@ export default { ...@@ -72,11 +63,11 @@ export default {
extraMilestones, extraMilestones,
}; };
}, },
components: {
GlDropdown,
},
mounted() { mounted() {
BoardService.loadMilestones.call(this); BoardService.loadMilestones.call(this);
this.droplab = new DropLab();
this.droplab.init(this.$refs.trigger, this.$refs.list);
}, },
}; };
</script> </script>
...@@ -48,20 +48,21 @@ export default { ...@@ -48,20 +48,21 @@ export default {
tabindex="-1" tabindex="-1"
> >
<div <div
class="modal-dialog" class="modal-dialog modal-sm"
role="document" role="document"
> >
<div class="modal-content"> <div class="modal-content">
<div class="modal-header"> <div class="modal-header">
<slot name="header"> <slot name="header">
<button type="button" <h4 class="modal-title pull-left">{{this.title}}</h4>
class="close" <button
type="button"
class="close pull-right"
@click="close" @click="close"
aria-label="Close" aria-label="Close"
> >
<span aria-hidden="true">&times;</span> <span aria-hidden="true">&times;</span>
</button> </button>
<h4 class="modal-title">{{this.title}}</h4>
</slot> </slot>
</div> </div>
<div class="modal-body"> <div class="modal-body">
...@@ -69,22 +70,22 @@ export default { ...@@ -69,22 +70,22 @@ export default {
<p>{{this.body}}</p> <p>{{this.body}}</p>
</slot> </slot>
</div> </div>
<div class="modal-footer"> <slot name="footer">
<slot name="footer"> <div class="modal-footer">
<button
type="button"
class="btn btn-default"
@click="emitSubmit(false)">
Cancel
</button>
<button type="button" <button type="button"
class="btn" class="btn pull-left"
:class="btnKindClass" :class="btnKindClass"
@click="emitSubmit(true)"> @click="emitSubmit(true)">
{{primaryButtonLabel}} {{primaryButtonLabel}}
</button> </button>
</slot> <button
</div> type="button"
class="btn btn-default pull-right"
@click="close">
Cancel
</button>
</div>
</slot>
</div> </div>
</div> </div>
</div> </div>
......
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