diff options
author | Phil Hughes <me@iamphill.com> | 2017-01-31 13:39:44 +0300 |
---|---|---|
committer | Fatih Acet <acetfatih@gmail.com> | 2017-02-03 17:02:44 +0300 |
commit | 39fbd18951e7c6bd4b403cd82dd4e008fd00d6fe (patch) | |
tree | 0e404b968c955fc80368754e8f08c4baadd81650 /app/assets | |
parent | 1b01386a9513ad71f07aab79a29ee1f877db8df6 (diff) |
Fixed bug with empty state showing after search
Fixed users href path being incorrect
Diffstat (limited to 'app/assets')
15 files changed, 38 insertions, 27 deletions
diff --git a/app/assets/javascripts/boards/boards_bundle.js.es6 b/app/assets/javascripts/boards/boards_bundle.js.es6 index 18b67abfccc..1cce580df79 100644 --- a/app/assets/javascripts/boards/boards_bundle.js.es6 +++ b/app/assets/javascripts/boards/boards_bundle.js.es6 @@ -44,6 +44,7 @@ $(() => { boardId: $boardApp.dataset.boardId, disabled: $boardApp.dataset.disabled === 'true', issueLinkBase: $boardApp.dataset.issueLinkBase, + rootPath: $boardApp.dataset.rootPath, detailIssue: Store.detail }, computed: { diff --git a/app/assets/javascripts/boards/components/board.js.es6 b/app/assets/javascripts/boards/components/board.js.es6 index a32881116d5..d6148ae748a 100644 --- a/app/assets/javascripts/boards/components/board.js.es6 +++ b/app/assets/javascripts/boards/components/board.js.es6 @@ -22,7 +22,8 @@ props: { list: Object, disabled: Boolean, - issueLinkBase: String + issueLinkBase: String, + rootPath: String, }, data () { return { diff --git a/app/assets/javascripts/boards/components/board_card.js.es6 b/app/assets/javascripts/boards/components/board_card.js.es6 index 037100c0859..032b93da021 100644 --- a/app/assets/javascripts/boards/components/board_card.js.es6 +++ b/app/assets/javascripts/boards/components/board_card.js.es6 @@ -18,7 +18,8 @@ issue: Object, issueLinkBase: String, disabled: Boolean, - index: Number + index: Number, + rootPath: String, }, data () { return { diff --git a/app/assets/javascripts/boards/components/board_list.js.es6 b/app/assets/javascripts/boards/components/board_list.js.es6 index 630fe084175..6906a910a2f 100644 --- a/app/assets/javascripts/boards/components/board_list.js.es6 +++ b/app/assets/javascripts/boards/components/board_list.js.es6 @@ -23,6 +23,7 @@ issues: Array, loading: Boolean, issueLinkBase: String, + rootPath: String, }, data () { return { diff --git a/app/assets/javascripts/boards/components/board_sidebar.js.es6 b/app/assets/javascripts/boards/components/board_sidebar.js.es6 index e5937c178f2..126ccdb4978 100644 --- a/app/assets/javascripts/boards/components/board_sidebar.js.es6 +++ b/app/assets/javascripts/boards/components/board_sidebar.js.es6 @@ -65,7 +65,7 @@ gl.Subscription.bindAll('.subscription'); }, components: { - 'remove-btn': gl.issueBoards.RemoveIssueBtn, + removeBtn: gl.issueBoards.RemoveIssueBtn, }, }); })(); diff --git a/app/assets/javascripts/boards/components/issue_card_inner.js.es6 b/app/assets/javascripts/boards/components/issue_card_inner.js.es6 index 61fcfde0a02..73db6480269 100644 --- a/app/assets/javascripts/boards/components/issue_card_inner.js.es6 +++ b/app/assets/javascripts/boards/components/issue_card_inner.js.es6 @@ -7,7 +7,7 @@ gl.issueBoards.IssueCardInner = Vue.extend({ props: [ - 'issue', 'issueLinkBase', 'list', + 'issue', 'issueLinkBase', 'list', 'rootPath', ], methods: { showLabel(label) { @@ -57,11 +57,11 @@ <span class="card-number" v-if="issue.id"> - #{{issue.id}} + #{{ issue.id }} </span> <a class="card-assignee has-tooltip" - :href="issue.assignee.username" + :href="rootPath + issue.assignee.username" :title="'Assigned to ' + issue.assignee.name" v-if="issue.assignee" data-container="body"> @@ -69,7 +69,8 @@ class="avatar avatar-inline s20" :src="issue.assignee.avatar" width="20" - height="20" /> + height="20" + :alt="'Avatar for ' + issue.assignee.name" /> </a> <button class="label color-label has-tooltip" diff --git a/app/assets/javascripts/boards/components/modal/empty_state.js.es6 b/app/assets/javascripts/boards/components/modal/empty_state.js.es6 index 70f2ea51620..c5137d966e2 100644 --- a/app/assets/javascripts/boards/components/modal/empty_state.js.es6 +++ b/app/assets/javascripts/boards/components/modal/empty_state.js.es6 @@ -31,10 +31,10 @@ }, }, template: ` - <div class="empty-state"> + <section class="empty-state"> <div class="row"> <div class="col-xs-12 col-sm-6 col-sm-push-6"> - <div class="svg-content" v-html="image"></div> + <aside class="svg-content" v-html="image"></aside> </div> <div class="col-xs-12 col-sm-6 col-sm-pull-6"> <div class="text-content"> @@ -56,7 +56,7 @@ </div> </div> </div> - </div> + </section> `, }); })(); diff --git a/app/assets/javascripts/boards/components/modal/footer.js.es6 b/app/assets/javascripts/boards/components/modal/footer.js.es6 index 566303431f6..2ed81abe625 100644 --- a/app/assets/javascripts/boards/components/modal/footer.js.es6 +++ b/app/assets/javascripts/boards/components/modal/footer.js.es6 @@ -27,8 +27,7 @@ addIssues() { const list = this.selectedList; const selectedIssues = ModalStore.getSelectedIssues(); - const issueIds = selectedIssues.filter(issue => issue.selected) - .map(issue => issue.globalId); + const issueIds = selectedIssues.map(issue => issue.globalId); // Post the data to the backend this.$http.post(this.bulkUpdatePath, { diff --git a/app/assets/javascripts/boards/components/modal/header.js.es6 b/app/assets/javascripts/boards/components/modal/header.js.es6 index f6d891a1633..8024e89a29b 100644 --- a/app/assets/javascripts/boards/components/modal/header.js.es6 +++ b/app/assets/javascripts/boards/components/modal/header.js.es6 @@ -41,10 +41,10 @@ </button> </h2> </header> - <modal-tabs v-if="!loading && issues.length > 0"></modal-tabs> + <modal-tabs v-if="!loading && issuesCount > 0"></modal-tabs> <div class="add-issues-search append-bottom-10" - v-if="activeTab == 'all' && !loading && issues.length > 0"> + v-if="activeTab == 'all' && !loading && issuesCount > 0"> <input placeholder="Search issues..." class="form-control" diff --git a/app/assets/javascripts/boards/components/modal/index.js.es6 b/app/assets/javascripts/boards/components/modal/index.js.es6 index dd40075ac47..4536f5cfe6f 100644 --- a/app/assets/javascripts/boards/components/modal/index.js.es6 +++ b/app/assets/javascripts/boards/components/modal/index.js.es6 @@ -10,6 +10,7 @@ gl.issueBoards.IssuesModal = Vue.extend({ props: [ 'blankStateImage', 'newIssuePath', 'bulkUpdatePath', 'issueLinkBase', + 'rootPath', ], data() { return ModalStore.store; @@ -57,6 +58,10 @@ }); this.loadingNewPage = false; + + if (!this.issuesCount) { + this.issuesCount = this.issues.length; + } }); }, }, @@ -66,7 +71,7 @@ return this.selectedIssues.length > 0; } - return this.issues.length > 0; + return this.issuesCount > 0; }, }, components: { @@ -83,9 +88,10 @@ <modal-header></modal-header> <modal-list :issue-link-base="issueLinkBase" + :root-path="rootPath" v-if="!loading && showList"></modal-list> <empty-state - v-if="(!loading && issues.length === 0) || (activeTab === 'selected' && selectedIssues.length === 0)" + v-if="(!loading && issuesCount === 0) || (activeTab === 'selected' && selectedIssues.length === 0)" :image="blankStateImage" :new-issue-path="newIssuePath"></empty-state> <section diff --git a/app/assets/javascripts/boards/components/modal/list.js.es6 b/app/assets/javascripts/boards/components/modal/list.js.es6 index 309696c7078..8db1ab4df5e 100644 --- a/app/assets/javascripts/boards/components/modal/list.js.es6 +++ b/app/assets/javascripts/boards/components/modal/list.js.es6 @@ -7,7 +7,7 @@ gl.issueBoards.ModalList = Vue.extend({ props: [ - 'issueLinkBase', + 'issueLinkBase', 'rootPath', ], data() { return ModalStore.store; @@ -97,7 +97,7 @@ issueCardInner: gl.issueBoards.IssueCardInner, }, template: ` - <div + <section class="add-issues-list add-issues-list-columns" ref="list"> <div @@ -110,16 +110,19 @@ @click="toggleIssue($event, issue)"> <issue-card-inner :issue="issue" - :issue-link-base="issueLinkBase"> + :issue-link-base="issueLinkBase" + :root-path="rootPath"> </issue-card-inner> <span + :aria-label="'Issue #' + issue.id + ' selected'" + aria-checked="true" v-if="issue.selected" class="issue-card-selected text-center"> <i class="fa fa-check"></i> </span> </div> </div> - </div> + </section> `, }); })(); diff --git a/app/assets/javascripts/boards/components/modal/tabs.js.es6 b/app/assets/javascripts/boards/components/modal/tabs.js.es6 index 94ff8ec999a..007e01f7d82 100644 --- a/app/assets/javascripts/boards/components/modal/tabs.js.es6 +++ b/app/assets/javascripts/boards/components/modal/tabs.js.es6 @@ -24,7 +24,7 @@ @click.prevent="activeTab = 'all'"> <span>All issues</span> <span class="badge"> - {{ issues.length }} + {{ issuesCount }} </span> </a> </li> diff --git a/app/assets/javascripts/boards/services/board_service.js.es6 b/app/assets/javascripts/boards/services/board_service.js.es6 index 993f8599fd4..ad58abdcb45 100644 --- a/app/assets/javascripts/boards/services/board_service.js.es6 +++ b/app/assets/javascripts/boards/services/board_service.js.es6 @@ -13,7 +13,7 @@ class BoardService { generate: { method: 'POST', url: `${root}/${boardId}/lists/generate.json` - }, + } }); this.issue = Vue.resource(`${root}/${boardId}/issues{/id}`, {}); this.issues = Vue.resource(`${root}/${boardId}/lists{/id}/issues`, {}); diff --git a/app/assets/javascripts/boards/stores/boards_store.js.es6 b/app/assets/javascripts/boards/stores/boards_store.js.es6 index 66ecae1c01d..50842ecbaaa 100644 --- a/app/assets/javascripts/boards/stores/boards_store.js.es6 +++ b/app/assets/javascripts/boards/stores/boards_store.js.es6 @@ -115,9 +115,6 @@ }, updateFiltersUrl () { history.pushState(null, null, `?${$.param(this.state.filters)}`); - }, - modalSelectedCount() { - return this.modal.selectedIssues.length; - }, + } }; })(); diff --git a/app/assets/javascripts/boards/stores/modal_store.js.es6 b/app/assets/javascripts/boards/stores/modal_store.js.es6 index e2234290657..66305347b8c 100644 --- a/app/assets/javascripts/boards/stores/modal_store.js.es6 +++ b/app/assets/javascripts/boards/stores/modal_store.js.es6 @@ -6,6 +6,7 @@ constructor() { this.store = { issues: [], + issuesCount: false, selectedIssues: [], showAddIssuesModal: false, activeTab: 'all', @@ -19,7 +20,7 @@ } selectedCount() { - return this.store.selectedIssues.filter(issue => issue.selected).length; + return this.getSelectedIssues().length; } toggleIssue(issueObj) { |