Skip to content
Snippets Groups Projects
Commit 39fbd189 authored by Phil Hughes's avatar Phil Hughes Committed by Fatih Acet
Browse files

Fixed bug with empty state showing after search

Fixed users href path being incorrect
parent 1b01386a
No related branches found
No related tags found
No related merge requests found
Showing
with 47 additions and 30 deletions
Loading
Loading
@@ -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: {
Loading
Loading
Loading
Loading
@@ -22,7 +22,8 @@
props: {
list: Object,
disabled: Boolean,
issueLinkBase: String
issueLinkBase: String,
rootPath: String,
},
data () {
return {
Loading
Loading
Loading
Loading
@@ -18,7 +18,8 @@
issue: Object,
issueLinkBase: String,
disabled: Boolean,
index: Number
index: Number,
rootPath: String,
},
data () {
return {
Loading
Loading
Loading
Loading
@@ -23,6 +23,7 @@
issues: Array,
loading: Boolean,
issueLinkBase: String,
rootPath: String,
},
data () {
return {
Loading
Loading
Loading
Loading
@@ -65,7 +65,7 @@
gl.Subscription.bindAll('.subscription');
},
components: {
'remove-btn': gl.issueBoards.RemoveIssueBtn,
removeBtn: gl.issueBoards.RemoveIssueBtn,
},
});
})();
Loading
Loading
@@ -7,7 +7,7 @@
 
gl.issueBoards.IssueCardInner = Vue.extend({
props: [
'issue', 'issueLinkBase', 'list',
'issue', 'issueLinkBase', 'list', 'rootPath',
],
methods: {
showLabel(label) {
Loading
Loading
@@ -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">
Loading
Loading
@@ -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"
Loading
Loading
Loading
Loading
@@ -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">
Loading
Loading
@@ -56,7 +56,7 @@
</div>
</div>
</div>
</div>
</section>
`,
});
})();
Loading
Loading
@@ -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, {
Loading
Loading
Loading
Loading
@@ -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"
Loading
Loading
Loading
Loading
@@ -10,6 +10,7 @@
gl.issueBoards.IssuesModal = Vue.extend({
props: [
'blankStateImage', 'newIssuePath', 'bulkUpdatePath', 'issueLinkBase',
'rootPath',
],
data() {
return ModalStore.store;
Loading
Loading
@@ -57,6 +58,10 @@
});
 
this.loadingNewPage = false;
if (!this.issuesCount) {
this.issuesCount = this.issues.length;
}
});
},
},
Loading
Loading
@@ -66,7 +71,7 @@
return this.selectedIssues.length > 0;
}
 
return this.issues.length > 0;
return this.issuesCount > 0;
},
},
components: {
Loading
Loading
@@ -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
Loading
Loading
Loading
Loading
@@ -7,7 +7,7 @@
 
gl.issueBoards.ModalList = Vue.extend({
props: [
'issueLinkBase',
'issueLinkBase', 'rootPath',
],
data() {
return ModalStore.store;
Loading
Loading
@@ -97,7 +97,7 @@
issueCardInner: gl.issueBoards.IssueCardInner,
},
template: `
<div
<section
class="add-issues-list add-issues-list-columns"
ref="list">
<div
Loading
Loading
@@ -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>
`,
});
})();
Loading
Loading
@@ -24,7 +24,7 @@
@click.prevent="activeTab = 'all'">
<span>All issues</span>
<span class="badge">
{{ issues.length }}
{{ issuesCount }}
</span>
</a>
</li>
Loading
Loading
Loading
Loading
@@ -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`, {});
Loading
Loading
Loading
Loading
@@ -115,9 +115,6 @@
},
updateFiltersUrl () {
history.pushState(null, null, `?${$.param(this.state.filters)}`);
},
modalSelectedCount() {
return this.modal.selectedIssues.length;
},
}
};
})();
Loading
Loading
@@ -6,6 +6,7 @@
constructor() {
this.store = {
issues: [],
issuesCount: false,
selectedIssues: [],
showAddIssuesModal: false,
activeTab: 'all',
Loading
Loading
@@ -19,7 +20,7 @@
}
 
selectedCount() {
return this.store.selectedIssues.filter(issue => issue.selected).length;
return this.getSelectedIssues().length;
}
 
toggleIssue(issueObj) {
Loading
Loading
Loading
Loading
@@ -6,7 +6,8 @@ module BoardsHelper
endpoint: namespace_project_boards_path(@project.namespace, @project),
board_id: board.id,
disabled: "#{!can?(current_user, :admin_list, @project)}",
issue_link_base: namespace_project_issues_path(@project.namespace, @project)
issue_link_base: namespace_project_issues_path(@project.namespace, @project),
root_path: root_path,
}
end
end
Loading
Loading
@@ -24,9 +24,11 @@
":list" => "list",
":disabled" => "disabled",
":issue-link-base" => "issueLinkBase",
":root-path" => "rootPath",
":key" => "_uid" }
= render "projects/boards/components/sidebar"
%board-add-issues-modal{ "blank-state-image" => render('shared/empty_states/icons/issues.svg'),
"new-issue-path" => new_namespace_project_issue_path(@project.namespace, @project),
"bulk-update-path" => bulk_update_namespace_project_issues_path(@project.namespace, @project),
":issue-link-base" => "issueLinkBase" }
":issue-link-base" => "issueLinkBase",
":root-path" => "rootPath" }
Loading
Loading
@@ -29,6 +29,7 @@
":loading" => "list.loading",
":disabled" => "disabled",
":issue-link-base" => "issueLinkBase",
":root-path" => "rootPath",
"ref" => "board-list" }
- if can?(current_user, :admin_list, @project)
= render "projects/boards/components/blank_state"
Loading
Loading
@@ -34,6 +34,7 @@
":list" => "list",
":issue" => "issue",
":issue-link-base" => "issueLinkBase",
":root-path" => "rootPath",
":disabled" => "disabled",
":key" => "issue.id" }
%li.board-list-count.text-center{ "v-if" => "showCount" }
Loading
Loading
Loading
Loading
@@ -6,4 +6,5 @@
"@mouseup" => "showIssue($event)" }
%issue-card-inner{ ":list" => "list",
":issue" => "issue",
":issue-link-base" => "issueLinkBase" }
":issue-link-base" => "issueLinkBase",
":root-path" => "rootPath" }
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment