Better comment rendering
This commit is contained in:
parent
1e20554154
commit
178f2fa51e
@ -76,6 +76,7 @@ Various Codicon icons have been used in this extension. Check [here](https://cod
|
||||
- `kanbn-task-editor-button-delete`
|
||||
- `kanbn-task-editor-buttons`
|
||||
- `kanbn-task-editor-button-add`
|
||||
- `kanbn-task-editor-button-edit`
|
||||
- `kanbn-task-editor-field-relations`
|
||||
- `kanbn-task-editor-row-relation`
|
||||
- `kanbn-task-editor-field-relation-type`
|
||||
@ -84,8 +85,10 @@ Various Codicon icons have been used in this extension. Check [here](https://cod
|
||||
- `kanbn-task-editor-field-comments`
|
||||
- `kanbn-task-editor-row-comment`
|
||||
- `kanbn-task-editor-field-comment-author`
|
||||
- `kanbn-task-editor-field-comment-author-value`
|
||||
- `kanbn-task-editor-field-comment-date`
|
||||
- `kanbn-task-editor-field-comment-text`
|
||||
- `kanbn-task-editor-comment-text`
|
||||
- `kanbn-task-editor-column-right`
|
||||
- `kanbn-task-editor-button-submit`
|
||||
- `kanbn-task-editor-field-column`
|
||||
|
@ -53,6 +53,7 @@ const TaskEditor = ({ task, tasks, columnName, columnNames, dateFormat, panelUui
|
||||
comments: task ? task.comments : []
|
||||
});
|
||||
const [editingDescription, setEditingDescription] = useState(!editing);
|
||||
const [editingComment, setEditingComment] = useState(-1);
|
||||
|
||||
// Called when the name field is changed
|
||||
const handleUpdateName = ({ target: { value } }, values) => {
|
||||
@ -379,6 +380,9 @@ const TaskEditor = ({ task, tasks, columnName, columnNames, dateFormat, panelUui
|
||||
<div className="kanbn-task-editor-row-comment" key={index}>
|
||||
<div className="kanbn-task-editor-row">
|
||||
<div className="kanbn-task-editor-column kanbn-task-editor-field-comment-author">
|
||||
{
|
||||
editingComment === index
|
||||
? <React.Fragment>
|
||||
<Field
|
||||
className="kanbn-task-editor-field-input"
|
||||
name={`comments.${index}.author`}
|
||||
@ -389,6 +393,12 @@ const TaskEditor = ({ task, tasks, columnName, columnNames, dateFormat, panelUui
|
||||
component="div"
|
||||
name={`comments.${index}.author`}
|
||||
/>
|
||||
</React.Fragment>
|
||||
: <div className="kanbn-task-editor-field-comment-author-value">
|
||||
<i className="codicon codicon-account"></i>
|
||||
{comment.author || 'Anonymous'}
|
||||
</div>
|
||||
}
|
||||
</div>
|
||||
<div className="kanbn-task-editor-column kanbn-task-editor-field-comment-date">
|
||||
{formatDate(comment.date, dateFormat)}
|
||||
@ -402,10 +412,23 @@ const TaskEditor = ({ task, tasks, columnName, columnNames, dateFormat, panelUui
|
||||
>
|
||||
<i className="codicon codicon-trash"></i>
|
||||
</button>
|
||||
<button
|
||||
type="button"
|
||||
className="kanbn-task-editor-button kanbn-task-editor-button-edit"
|
||||
title="Edit comment"
|
||||
onClick={() => {
|
||||
setEditingComment(editingComment !== index ? index : -1);
|
||||
}}
|
||||
>
|
||||
<i className="codicon codicon-edit"></i>
|
||||
</button>
|
||||
</div>
|
||||
</div>
|
||||
<div className="kanbn-task-editor-row">
|
||||
<div className="kanbn-task-editor-column kanbn-task-editor-field-comment-text">
|
||||
{
|
||||
editingComment === index
|
||||
? <React.Fragment>
|
||||
<Field
|
||||
className="kanbn-task-editor-field-textarea"
|
||||
as="textarea"
|
||||
@ -416,6 +439,11 @@ const TaskEditor = ({ task, tasks, columnName, columnNames, dateFormat, panelUui
|
||||
component="div"
|
||||
name={`comments.${index}.text`}
|
||||
/>
|
||||
</React.Fragment>
|
||||
: <div className="kanbn-task-editor-comment-text">
|
||||
{comment.text}
|
||||
</div>
|
||||
}
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
@ -425,7 +453,10 @@ const TaskEditor = ({ task, tasks, columnName, columnNames, dateFormat, panelUui
|
||||
type="button"
|
||||
className="kanbn-task-editor-button kanbn-task-editor-button-add"
|
||||
title="Add comment"
|
||||
onClick={() => push({ text: '', date: new Date(), author: gitUsername() || '' })}
|
||||
onClick={() => {
|
||||
push({ text: '', date: new Date(), author: gitUsername() || '' });
|
||||
setEditingComment(values.comments.length);
|
||||
}}
|
||||
>
|
||||
<i className="codicon codicon-comment"></i>Add comment
|
||||
</button>
|
||||
|
@ -451,7 +451,11 @@ body.vscode-dark .kanbn-task-editor-field-input[type="date"]::-webkit-calendar-p
|
||||
}
|
||||
|
||||
.kanbn-task-editor-column-buttons .kanbn-task-editor-button {
|
||||
margin: 8px 0;
|
||||
margin: 8px 0 8px 8px;
|
||||
}
|
||||
|
||||
.kanbn-task-editor-column-buttons .kanbn-task-editor-button .codicon {
|
||||
margin-right: 0;
|
||||
}
|
||||
|
||||
.kanbn-task-editor-field-progress {
|
||||
@ -464,10 +468,6 @@ body.vscode-dark .kanbn-task-editor-field-input[type="date"]::-webkit-calendar-p
|
||||
opacity: 1;
|
||||
}
|
||||
|
||||
.kanbn-task-editor-column .kanbn-task-editor-button-delete .codicon {
|
||||
margin-right: 0;
|
||||
}
|
||||
|
||||
.kanbn-task-editor-field-tag {
|
||||
position: relative;
|
||||
}
|
||||
@ -482,10 +482,20 @@ body.vscode-dark .kanbn-task-editor-field-input[type="date"]::-webkit-calendar-p
|
||||
|
||||
.kanbn-task-editor-row-comment {
|
||||
padding-bottom: 1em;
|
||||
border-bottom: 1px var(--vscode-activityBar-inactiveForeground) solid;
|
||||
margin-bottom: 1em;
|
||||
}
|
||||
|
||||
.kanbn-task-editor-field-comment-author-value {
|
||||
padding: 16px 0;
|
||||
font-style: italic;
|
||||
opacity: 0.8;
|
||||
}
|
||||
|
||||
.kanbn-task-editor-field-comment-author-value .codicon {
|
||||
font-size: 0.8em !important;
|
||||
margin-right: 0.5em;
|
||||
}
|
||||
|
||||
.kanbn-task-editor-field-comment-date {
|
||||
padding: 16px 0;
|
||||
text-align: right;
|
||||
@ -497,15 +507,32 @@ body.vscode-dark .kanbn-task-editor-field-input[type="date"]::-webkit-calendar-p
|
||||
min-height: 90px;
|
||||
}
|
||||
|
||||
.kanbn-task-editor-comment-text {
|
||||
position: relative;
|
||||
padding: .5em;
|
||||
background-color: var(--vscode-input-background);
|
||||
min-height: 90px;
|
||||
white-space: pre-wrap;
|
||||
}
|
||||
|
||||
.kanbn-task-editor-comment-text::after {
|
||||
content: "";
|
||||
position: absolute;
|
||||
height: 16px;
|
||||
width: 24px;
|
||||
bottom: -15px;
|
||||
left: 95%;
|
||||
background-color: var(--vscode-input-background);
|
||||
clip-path: polygon(0 0, 100% 0, 100% 100%);
|
||||
}
|
||||
|
||||
.kanbn-task-editor-field-label-description {
|
||||
display: inline-block;
|
||||
}
|
||||
|
||||
.kanbn-task-editor-description-preview {
|
||||
padding: .5em;
|
||||
border: 1px var(--vscode-activityBar-inactiveForeground) solid;
|
||||
border-radius: 3px;
|
||||
margin-top: 0;
|
||||
border: 1px var(--vscode-input-background) solid;
|
||||
}
|
||||
|
||||
.kanbn-task-editor-button-edit-description {
|
||||
|
Loading…
x
Reference in New Issue
Block a user