Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[issue_tracker] Add Batch Mode #9339

Open
wants to merge 30 commits into
base: main
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
30 commits
Select commit Hold shift + click to select a range
a743530
add new issue tracker view
ay-bh Jul 16, 2024
e510526
Add debug mode endpoint
ay-bh Aug 27, 2024
c4c379d
Integrate the debug endpoint
ay-bh Aug 27, 2024
50dd7a6
Improve UI for debug mode
ay-bh Sep 9, 2024
fc0e9ac
Add no result message
ay-bh Sep 13, 2024
bdc4ecd
Fix naming conventions
ay-bh Sep 13, 2024
5c9b1d5
Add loader
ay-bh Sep 15, 2024
05b2537
Fix lint issues
ay-bh Sep 15, 2024
1abe20d
Merge branch 'aces:main' into feature-issue-hunting
ay-bh Sep 15, 2024
3067c74
Fix linting issues
ay-bh Sep 16, 2024
74c860d
Fix _getAllIssues return type
ay-bh Sep 16, 2024
0ab2287
Fix JS lint issues
ay-bh Sep 16, 2024
092fe92
Add temp state for issues to update UI only after backend success
ay-bh Sep 26, 2024
9a5cc18
Merge branch 'aces:main' into feature-issue-hunting
ay-bh Sep 26, 2024
4f4f5c9
Rename 'Debug View' to 'Batch Mode'
ay-bh Oct 6, 2024
8dc2ae8
Implement client-side pagination
ay-bh Oct 6, 2024
ece25a7
Merge branch 'aces:main' into feature-issue-hunting
ay-bh Oct 9, 2024
6917a23
Add top comments to issues in batch mode endpoint
ay-bh Oct 9, 2024
4ae23c1
Implement top comments frontend and fix description styling
ay-bh Oct 9, 2024
0c12e1a
Add new comment functionality
ay-bh Oct 12, 2024
aca1e7a
Fix minor styling issues
ay-bh Oct 12, 2024
0cc1fae
Fix issue update logic
ay-bh Oct 12, 2024
12d5816
Fix description overflow
ay-bh Oct 15, 2024
41299c8
Refactor filter UI using Panel component
ay-bh Oct 16, 2024
48e4bd5
Add pagination row controls at bottom
ay-bh Oct 17, 2024
01bc333
Update the minimum rows per page to 10
ay-bh Oct 17, 2024
b05bf16
Implement tabbed filters with badges
ay-bh Oct 17, 2024
1941c2b
Add filter reset functionality
ay-bh Oct 19, 2024
822466f
Add site filters
ay-bh Oct 20, 2024
498f1fe
Add labels and spans to improve dropdown UI
ay-bh Oct 20, 2024
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
142 changes: 142 additions & 0 deletions modules/issue_tracker/css/issue_card.css
Original file line number Diff line number Diff line change
@@ -0,0 +1,142 @@
.issue-card {
border: 1px solid #ccc;
border-radius: 8px;
padding: 16px;
margin-bottom: 16px;
display: flex;
flex-direction: column;
background-color: #fff;
}

.issue-header {
display: flex;
justify-content: space-between;
margin-bottom: 16px;
}

.issue-title-section {
flex: 1;
}

.issue-dates {
flex: 1;
text-align: right;
font-size: 0.9em;
color: #555;
}

.issue-form {
width: 100%;
}

.issue-controls {
display: flex;
gap: 8px;
margin-bottom: 16px;
}

.issue-content {
display: flex;
gap: 16px;
flex: 1;
}

.description-section {
flex: 1;
display: flex;
flex-direction: column;
}

.comments-section {
flex: 1;
border-left: 1px solid #eee;
padding-left: 16px;
display: flex;
flex-direction: column;
}

.description-container {
flex: 1;
max-height: 200px;
overflow-y: auto;
margin-top: 8px;
padding-right: 8px;
overflow-y: auto;
overflow-x: hidden;
overflow-wrap: break-word;
word-wrap: break-word;
word-break: break-word;
}

.comments-container {
flex: 1;
max-height: 200px;
overflow-y: auto;
margin-top: 8px;
padding-right: 8px;
}

.description-text {
margin: 8px 0;
white-space: pre-wrap;
}

.comment {
margin-bottom: 12px;
padding-bottom: 8px;
border-bottom: 1px solid #f0f0f0;
}

.comment-text {
margin: 4px 0;
}

.comment-meta {
font-size: 0.8em;
color: #777;
}

.no-comments {
font-style: italic;
color: #777;
}

.issue-actions {
display: flex;
gap: 8px;
}

.title-input {
width: 100%;
padding: 4px;
font-size: 1em;
border: 1px solid #ccc;
border-radius: 4px;
}

.textarea {
width: 100%;
height: 200px;
resize: none;
padding: 8px;
border: 1px solid #ccc;
border-radius: 4px;
box-sizing: border-box;
}

@media (max-width: 600px) {
.issue-content {
flex-direction: column;
}

.comments-section {
border-left: none;
padding-left: 0;
margin-top: 16px;
}

.description-container,
.comments-container {
max-height: 150px;
}
}
205 changes: 205 additions & 0 deletions modules/issue_tracker/css/issue_tracker_batchmode.css
Original file line number Diff line number Diff line change
@@ -0,0 +1,205 @@
.issue-tracker-batch-mode {
display: flex;
flex-direction: column;
max-width: 1000px;
margin: 0 auto;
}

.filter-tabs {
display: flex;
margin-bottom: 20px;
border-bottom: 1px solid #ddd;
}

.filter-tabs button {
padding: 10px 20px;
border: none;
background-color: transparent;
cursor: pointer;
border-bottom: 2px solid transparent;
transition: all 0.3s ease;
}

.filter-tabs button.active {
border-bottom: 2px solid #074785;
color: #074785;
}

.filter-section {
margin-bottom: 20px;
}

.filter-list {
display: flex;
flex-wrap: wrap;
gap: 10px;
}

.filter-list label {
display: flex;
align-items: center;
margin-bottom: 0;
font-weight: normal;
}

.filter-list label span {
margin-left: 3px;
}

.issues-list {
display: flex;
flex-direction: column;
gap: 20px;
}

.issue-card {
border: 1px solid #ddd;
padding: 20px;
border-radius: 8px;
background-color: #fff;
box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);
width: 100%;
}

.issue-header {
display: flex;
justify-content: space-between;
align-items: center;
margin-bottom: 15px;
}

.issue-title-section {
display: flex;
align-items: center;
}

.issue-header h3 {
margin: 0;
display: flex;
align-items: baseline;
font-size: 1.5em;
}

.issue-header a {
color: #074785;
text-decoration: none;
display: flex;
align-items: baseline;
}

.issue-id {
font-size: 0.8em;
color: #666;
background-color: #f0f0f0;
padding: 2px 6px;
border-radius: 12px;
margin-right: 8px;
}

.issue-dates {
display: flex;
flex-direction: column;
align-items: flex-end;
font-size: 0.8em;
color: #666;
}

.issue-controls {
display: flex;
gap: 15px;
margin-bottom: 15px;
}

.issue-controls select {
padding: 5px 10px;
border: 1px solid #ddd;
border-radius: 4px;
background-color: #f8f8f8;
}

.issue-description {
margin-top: 15px;
padding-top: 15px;
border-top: 1px solid #eee;
}

.issue-metadata {
margin-top: 15px;
font-size: 0.9em;
color: #666;
}

.issue-actions {
margin-top: 15px;
display: flex;
justify-content: flex-start;
gap: 10px;
}

.issue-card a {
color: #074785;
text-decoration: none;
}

.issue-card a:hover {
text-decoration: underline;
}

.issue-card input[type="text"], .issue-card textarea {
width: 100%;
padding: 8px;
border: 1px solid #ddd;
border-radius: 4px;
margin-bottom: 10px;
}

.title-input {
font-size: 1em;
width: calc(100% - 40px);
margin-left: 8px;
}

.checkbox {
margin-right: 8px;
}

.no-results-message {
text-align: center;
padding: 20px;
font-size: 1.2em;
color: #666;
background-color: #f8f8f8;
border: 1px solid #ddd;
border-radius: 8px;
margin-top: 20px;
}

.pagination-container {
display: flex;
justify-content: space-between;
align-items: center;
width: 100%;
margin-top: 10px;
margin-bottom: 10px;
}

.pagination-controls {
margin-left: auto;
}

.perPage {
margin-left: 5px;
margin-right: 5px;
}

.panel-title-container {
display: flex;
justify-content: space-between;
align-items: center;
width: 100%;
}

.filter-reset-button {
margin-left: auto;
margin-right: 10px;
}
Loading
Loading