Allowing updating issue on frontend
This commit is contained in:
parent
8c44d4856e
commit
2eff7a68c3
@ -4,14 +4,8 @@
|
|||||||
<div class="accordion" id="workspace-project-accordion">
|
<div class="accordion" id="workspace-project-accordion">
|
||||||
<div v-if="project.id" class="accordion-item">
|
<div v-if="project.id" class="accordion-item">
|
||||||
<h2 class="accordion-header">
|
<h2 class="accordion-header">
|
||||||
<button
|
<button class="accordion-button collapsed" type="button" data-bs-toggle="collapse"
|
||||||
class="accordion-button collapsed"
|
data-bs-target="#collapse-project-issue" aria-expanded="false" aria-controls="collapse-project-issue">
|
||||||
type="button"
|
|
||||||
data-bs-toggle="collapse"
|
|
||||||
data-bs-target="#collapse-project-issue"
|
|
||||||
aria-expanded="false"
|
|
||||||
aria-controls="collapse-project-issue"
|
|
||||||
>
|
|
||||||
<div class="project-issue-bar-container dashed-container">
|
<div class="project-issue-bar-container dashed-container">
|
||||||
<div class="project-issue-open-issues">
|
<div class="project-issue-open-issues">
|
||||||
<label class="project-item-label">{{ $t('Summary') }}</label>
|
<label class="project-item-label">{{ $t('Summary') }}</label>
|
||||||
@ -38,41 +32,25 @@
|
|||||||
</div>
|
</div>
|
||||||
</button>
|
</button>
|
||||||
</h2>
|
</h2>
|
||||||
<div
|
<div id="collapse-project-issue" class="accordion-collapse collapse" data-bs-parent="#collapse-project-issue">
|
||||||
id="collapse-project-issue"
|
|
||||||
class="accordion-collapse collapse"
|
|
||||||
data-bs-parent="#collapse-project-issue"
|
|
||||||
>
|
|
||||||
<div class="project-invite-collaborator-containter">
|
<div class="project-invite-collaborator-containter">
|
||||||
<button
|
<button class="accordion-button collapsed" type="button" ref="issueAddBtn" data-bs-toggle="collapse"
|
||||||
class="accordion-button collapsed"
|
data-bs-target="#collapse-project-new-issue" aria-expanded="false"
|
||||||
type="button"
|
aria-controls="collapse-project-issue">
|
||||||
ref="issueAddBtn"
|
|
||||||
data-bs-toggle="collapse"
|
|
||||||
data-bs-target="#collapse-project-new-issue"
|
|
||||||
aria-expanded="false"
|
|
||||||
aria-controls="collapse-project-issue"
|
|
||||||
>
|
|
||||||
<div class="project-invite-collaborator">+ {{ $t('Add Issue') }}</div>
|
<div class="project-invite-collaborator">+ {{ $t('Add Issue') }}</div>
|
||||||
</button>
|
</button>
|
||||||
<div
|
<div id="collapse-project-new-issue" class="accordion-collapse collapse"
|
||||||
id="collapse-project-new-issue"
|
data-bs-parent="#collapse-project-new-issue">
|
||||||
class="accordion-collapse collapse"
|
|
||||||
data-bs-parent="#collapse-project-new-issue"
|
|
||||||
>
|
|
||||||
<div class="project-issue-description-container">
|
<div class="project-issue-description-container">
|
||||||
<div class="project-issue-description">
|
<div class="project-issue-description">
|
||||||
<label class="project-item-label">{{ $t('New issue description') }}</label>
|
<label class="project-item-label">{{ $t('New issue description') }}</label>
|
||||||
<button
|
<button class="project-issue-description-btn" @click="
|
||||||
class="project-issue-description-btn"
|
postNewIssue(
|
||||||
@click="
|
project.request.product_id,
|
||||||
postNewIssue(
|
project.project_id,
|
||||||
project.request.product_id,
|
newIssueDescriptions
|
||||||
project.project_id,
|
)
|
||||||
newIssueDescriptions
|
">
|
||||||
)
|
|
||||||
"
|
|
||||||
>
|
|
||||||
{{ $t('Submit') }}
|
{{ $t('Submit') }}
|
||||||
</button>
|
</button>
|
||||||
</div>
|
</div>
|
||||||
@ -81,22 +59,13 @@
|
|||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div>
|
<div>
|
||||||
<div
|
<div class="project-issue-container" v-for="(issue, issue_index) in project.project.issue.open_issues"
|
||||||
class="project-issue-container"
|
:key="issue_index" :id="'project-issue-' + issue_index">
|
||||||
v-for="(issue, issue_index) in project.project.issue.open_issues"
|
|
||||||
:key="issue_index"
|
|
||||||
:id="'project-issue-' + issue_index"
|
|
||||||
>
|
|
||||||
<div class="accordion-item">
|
<div class="accordion-item">
|
||||||
<h2 class="accordion-header">
|
<h2 class="accordion-header">
|
||||||
<button
|
<button class="accordion-button collapsed" type="button" data-bs-toggle="collapse"
|
||||||
class="accordion-button collapsed"
|
:data-bs-target="'#collapse-project-issue-details' + issue_index" aria-expanded="false"
|
||||||
type="button"
|
aria-controls="collapse-project-issue-details">
|
||||||
data-bs-toggle="collapse"
|
|
||||||
:data-bs-target="'#collapse-project-issue-details' + issue_index"
|
|
||||||
aria-expanded="false"
|
|
||||||
aria-controls="collapse-project-issue-details"
|
|
||||||
>
|
|
||||||
<div class="project-issue-header dashed-container">
|
<div class="project-issue-header dashed-container">
|
||||||
<div class="project-issue-title">
|
<div class="project-issue-title">
|
||||||
<label class="project-item-label">{{ $t('Issue title') }}</label>
|
<label class="project-item-label">{{ $t('Issue title') }}</label>
|
||||||
@ -117,57 +86,39 @@
|
|||||||
</div>
|
</div>
|
||||||
</button>
|
</button>
|
||||||
</h2>
|
</h2>
|
||||||
<div
|
<div :id="'collapse-project-issue-details' + issue_index" class="accordion-collapse collapse"
|
||||||
:id="'collapse-project-issue-details' + issue_index"
|
:data-bs-parent="'#collapse-project-issue-details' + issue_index">
|
||||||
class="accordion-collapse collapse"
|
|
||||||
:data-bs-parent="'#collapse-project-issue-details' + issue_index"
|
|
||||||
>
|
|
||||||
<div class="project-issue-description-container">
|
<div class="project-issue-description-container">
|
||||||
<div v-if="!updatingIssue || updatingIssue.issue_id !== issue.id" class="project-issue-description">
|
<div v-if="!updatingIssue || updatingIssue.issue_id !== issue.id"
|
||||||
|
class="project-issue-description">
|
||||||
<label class="project-item-label">{{ $t('Issue description') }}</label>
|
<label class="project-item-label">{{ $t('Issue description') }}</label>
|
||||||
<button
|
<button :hidden="!showIssueActionButton(project.project, issue, 'Edit')"
|
||||||
:hidden="!showIssueActionButton(project.project, issue, 'Edit')"
|
class="project-issue-description-btn" @click="editIssue(issue)">
|
||||||
class="project-issue-description-btn"
|
|
||||||
@click="editIssue(issue)"
|
|
||||||
>
|
|
||||||
{{ $t('Edit') }}
|
{{ $t('Edit') }}
|
||||||
</button>
|
</button>
|
||||||
<button
|
<button :hidden="!showIssueActionButton(project.project, issue, 'Resolve')"
|
||||||
:hidden="!showIssueActionButton(project.project, issue, 'Resolve')"
|
class="project-issue-description-btn" @click="setProjectIssueStatus(issue.id, 1)">
|
||||||
class="project-issue-description-btn"
|
|
||||||
@click="setProjectIssueStatus(issue.id, 1)"
|
|
||||||
>
|
|
||||||
{{ $t('Resolve') }}
|
{{ $t('Resolve') }}
|
||||||
</button>
|
</button>
|
||||||
<button
|
<button :hidden="!showIssueActionButton(project.project, issue, 'Confirm')"
|
||||||
:hidden="!showIssueActionButton(project.project, issue, 'Confirm')"
|
class="project-issue-description-btn" @click="setProjectIssueStatus(issue.id, 2)">
|
||||||
class="project-issue-description-btn"
|
|
||||||
@click="setProjectIssueStatus(issue.id, 2)"
|
|
||||||
>
|
|
||||||
{{ $t('Confirm') }}
|
{{ $t('Confirm') }}
|
||||||
</button>
|
</button>
|
||||||
<button
|
<button :hidden="!showIssueActionButton(project.project, issue, 'Reopen')"
|
||||||
:hidden="!showIssueActionButton(project.project, issue, 'Reopen')"
|
class="project-issue-description-btn" @click="setProjectIssueStatus(issue.id, 0)">
|
||||||
class="project-issue-description-btn"
|
|
||||||
@click="setProjectIssueStatus(issue.id, 0)"
|
|
||||||
>
|
|
||||||
{{ $t('Reopen') }}
|
{{ $t('Reopen') }}
|
||||||
</button>
|
</button>
|
||||||
</div>
|
</div>
|
||||||
<p v-if="!updatingIssue || updatingIssue.issue_id !== issue.id" class="project-item-text">{{ issue.description }}</p>
|
<p v-if="!updatingIssue || updatingIssue.issue_id !== issue.id" class="project-item-text">{{
|
||||||
<div v-if="updatingIssue && updatingIssue.issue_id === issue.id" class="project-issue-description-container">
|
issue.description }}</p>
|
||||||
|
<div v-if="updatingIssue && updatingIssue.issue_id === issue.id"
|
||||||
|
class="project-issue-description-container">
|
||||||
<div class="project-issue-description">
|
<div class="project-issue-description">
|
||||||
<label class="project-item-label">{{ $t('Issue title') }}</label>
|
<label class="project-item-label">{{ $t('Issue title') }}</label>
|
||||||
<button
|
<button class="project-issue-description-btn" @click="updateIssueCancel">
|
||||||
class="project-issue-description-btn"
|
|
||||||
@click="updateIssueCancel"
|
|
||||||
>
|
|
||||||
{{ $t('Cancel') }}
|
{{ $t('Cancel') }}
|
||||||
</button>
|
</button>
|
||||||
<button
|
<button class="project-issue-description-btn" @click="updateIssue">
|
||||||
class="project-issue-description-btn"
|
|
||||||
@click="updateIssue"
|
|
||||||
>
|
|
||||||
{{ $t('Update') }}
|
{{ $t('Update') }}
|
||||||
</button>
|
</button>
|
||||||
</div>
|
</div>
|
||||||
@ -180,15 +131,12 @@
|
|||||||
<div class="upload-contianer">
|
<div class="upload-contianer">
|
||||||
<label class="btn btn-link">
|
<label class="btn btn-link">
|
||||||
<span v-if="!updatingIssue.issue_attachment">{{ $t('Upload attachment') }}</span>
|
<span v-if="!updatingIssue.issue_attachment">{{ $t('Upload attachment') }}</span>
|
||||||
<span v-if="updatingIssue.issue_attachment">{{ updatingIssue.issue_attachment.name }}</span>
|
<span v-if="updatingIssue.issue_attachment">{{ updatingIssue.issue_attachment.name
|
||||||
|
}}</span>
|
||||||
<input type="file" hidden @change="handleFileUpload" />
|
<input type="file" hidden @change="handleFileUpload" />
|
||||||
</label>
|
</label>
|
||||||
<svg-icon
|
<svg-icon v-if="updatingIssue.issue_attachment" icon="delete" class-name="delete-icon"
|
||||||
v-if="updatingIssue.issue_attachment"
|
@click.stop="clearFile" />
|
||||||
icon="delete"
|
|
||||||
class-name="delete-icon"
|
|
||||||
@click.stop="clearFile"
|
|
||||||
/>
|
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
@ -280,11 +228,15 @@ export default {
|
|||||||
},
|
},
|
||||||
editIssue(issue) {
|
editIssue(issue) {
|
||||||
console.log('edit issue', issue)
|
console.log('edit issue', issue)
|
||||||
|
var attachment = null
|
||||||
|
if (issue.attachment != null) {
|
||||||
|
attachment = issue.attachment
|
||||||
|
}
|
||||||
this.updatingIssue = {
|
this.updatingIssue = {
|
||||||
issue_id: issue.id,
|
issue_id: issue.id,
|
||||||
issue_title: issue.title,
|
issue_title: issue.title,
|
||||||
issue_description: issue.description,
|
issue_description: issue.description,
|
||||||
issue_attachment: issue.attachment
|
issue_attachment: attachment
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
updateIssue() {
|
updateIssue() {
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user