Skip to content

Conversation

paulinewahle
Copy link
Contributor

@paulinewahle paulinewahle commented Apr 2, 2025

fix: https://github.com/Lundalogik/crm-feature/issues/1294

Summary by CodeRabbit

  • New Features
    • Recently active table rows are now visually indicated, allowing users to see not only the currently selected row but also the previous one.
  • Style
    • Enhanced table row styling with a consistent left border indicator for selected and recently active rows.

Review:

  • Commits are atomic
  • Commits have the correct type for the changes made
  • Commits with breaking changes are marked as such

Browsers tested:

(Check any that applies, it's ok to leave boxes unchecked if testing something didn't seem relevant.)

Windows:

  • Chrome
  • Edge
  • Firefox

Linux:

  • Chrome
  • Firefox

macOS:

  • Chrome
  • Firefox
  • Safari

Mobile:

  • Chrome on Android
  • iOS

@paulinewahle paulinewahle self-assigned this Apr 2, 2025
@Copilot Copilot AI review requested due to automatic review settings April 2, 2025 13:29
Copy link

coderabbitai bot commented Apr 2, 2025

📝 Walkthrough

Walkthrough

The changes introduce a new SCSS mixin for a selected row indicator and a .recent-active class for table rows. In the Table component, logic is added to track and style the two most recently active rows, updating their classes to reflect their status. Minor code formatting adjustments are also made.

Changes

File(s) Change Summary
src/components/table/partial-styles/tabulator-custom-styles.scss Added table-row-selected-indicator SCSS mixin; replaced manual row indicator styling with mixin; added .recent-active class for recently active rows; imported theme color variables.
src/components/table/table.tsx Added activeRowHistory property to track most recent rows; updated row click and formatting logic to apply .recent-active class; minor formatting changes.

Sequence Diagram(s)

sequenceDiagram
    participant User
    participant TableComponent
    participant TabulatorRow

    User->>TableComponent: Clicks on a row
    TableComponent->>TabulatorRow: Activates clicked row
    TableComponent->>TableComponent: Push row to activeRowHistory
    TableComponent->>TableComponent: If >2, remove oldest from history
    TableComponent->>TabulatorRow: Add 'active' class to current row
    TableComponent->>TabulatorRow: Add 'recent-active' class to previous row (if any)
    TableComponent->>TabulatorRow: Remove 'recent-active' class from other rows
Loading

Tip

⚡️ Faster reviews with caching
  • CodeRabbit now supports caching for code and dependencies, helping speed up reviews. This means quicker feedback, reduced wait times, and a smoother review experience overall. Cached data is encrypted and stored securely. This feature will be automatically enabled for all accounts on May 16th. To opt out, configure Review - Disable Cache at either the organization or repository level. If you prefer to disable all data retention across your organization, simply turn off the Data Retention setting under your Organization Settings.

Enjoy the performance boost—your workflow just got faster.


📜 Recent review details

Configuration used: .coderabbit.yaml
Review profile: ASSERTIVE
Plan: Pro

📥 Commits

Reviewing files that changed from the base of the PR and between 67850a0 and f3d65f7.

📒 Files selected for processing (2)
  • src/components/table/partial-styles/tabulator-custom-styles.scss (3 hunks)
  • src/components/table/table.tsx (7 hunks)
🧰 Additional context used
📓 Path-based instructions (3)
`**/*.{tsx,scss}`: Almost all our components use shadow-DOM. Therefore, we have no need of BEM-style class names in our CSS.

**/*.{tsx,scss}: Almost all our components use shadow-DOM. Therefore, we have no need of BEM-style class names in our CSS.

  • src/components/table/partial-styles/tabulator-custom-styles.scss
  • src/components/table/table.tsx
`**/*.tsx`: Our `.tsx` files are typically using StencilJS, not React. When a developer wants to return multiple top-level JSX elements from the `render` method, they will sometime...

**/*.tsx: Our .tsx files are typically using StencilJS, not React. When a developer wants to return multiple top-level JSX elements from the render method, they will sometimes wrap them in an array literal. In these cases, rather than recommending they add key properties to the elements, recommend removing the hardcoded array literal. Recommend wrapping the elements in StencilJS's special <Host> element.

  • src/components/table/table.tsx
`**/*.{ts,tsx}`: Imports from other files in the same module (lime-elements) must use relative paths. Using absolute paths for imports will cause the production build to fail.

**/*.{ts,tsx}: Imports from other files in the same module (lime-elements) must use relative paths. Using absolute paths for imports will cause the production build to fail.

  • src/components/table/table.tsx
🪛 ESLint
src/components/table/table.tsx

[error] 110-110: No magic number: 2.

(no-magic-numbers)

⏰ Context from checks skipped due to timeout of 90000ms (4)
  • GitHub Check: Docs / Publish Docs
  • GitHub Check: Build
  • GitHub Check: Test
  • GitHub Check: Lint
🔇 Additional comments (2)
src/components/table/table.tsx (2)

711-718: LGTM - Good implementation of the active row tracking

The active row history is properly maintained, keeping track of the current and previous active rows.


761-769: LGTM - Clean implementation of the recent-active class

The code properly distinguishes between the active row and the previously active row, applying the appropriate styling classes.

✨ Finishing Touches
  • 📝 Generate Docstrings

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share
🪧 Tips

Chat

There are 3 ways to chat with CodeRabbit:

‼️ IMPORTANT
Auto-reply has been disabled for this repository in the CodeRabbit settings. The CodeRabbit bot will not respond to your replies unless it is explicitly tagged.

  • Files and specific lines of code (under the "Files changed" tab): Tag @coderabbitai in a new review comment at the desired location with your query. Examples:
    • @coderabbitai explain this code block.
    • @coderabbitai modularize this function.
  • PR comments: Tag @coderabbitai in a new PR comment to ask questions about the PR branch. For the best results, please provide a very specific query, as very limited context is provided in this mode. Examples:
    • @coderabbitai gather interesting stats about this repository and render them as a table. Additionally, render a pie chart showing the language distribution in the codebase.
    • @coderabbitai read src/utils.ts and explain its main purpose.
    • @coderabbitai read the files in the src/scheduler package and generate a class diagram using mermaid and a README in the markdown format.
    • @coderabbitai help me debug CodeRabbit configuration file.

Support

Need help? Create a ticket on our support page for assistance with any issues or questions.

Note: Be mindful of the bot's finite context window. It's strongly recommended to break down tasks such as reading entire modules into smaller chunks. For a focused discussion, use review comments to chat about specific files and their changes, instead of using the PR comments.

CodeRabbit Commands (Invoked using PR comments)

  • @coderabbitai pause to pause the reviews on a PR.
  • @coderabbitai resume to resume the paused reviews.
  • @coderabbitai review to trigger an incremental review. This is useful when automatic reviews are disabled for the repository.
  • @coderabbitai full review to do a full review from scratch and review all the files again.
  • @coderabbitai summary to regenerate the summary of the PR.
  • @coderabbitai generate docstrings to generate docstrings for this PR.
  • @coderabbitai generate sequence diagram to generate a sequence diagram of the changes in this PR.
  • @coderabbitai resolve resolve all the CodeRabbit review comments.
  • @coderabbitai configuration to show the current CodeRabbit configuration for the repository.
  • @coderabbitai help to get help.

Other keywords and placeholders

  • Add @coderabbitai ignore anywhere in the PR description to prevent this PR from being reviewed.
  • Add @coderabbitai summary to generate the high-level summary at a specific location in the PR description.
  • Add @coderabbitai anywhere in the PR title to generate the title automatically.

Documentation and Community

  • Visit our Documentation for detailed information on how to use CodeRabbit.
  • Join our Discord Community to get help, request features, and share feedback.
  • Follow us on X/Twitter for updates and announcements.

Copy link
Contributor

@Copilot Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull Request Overview

This PR introduces recent active row markers to the table component by tracking recently activated rows.

  • Added an activeRowHistory array and a MAX_ACTIVE_ROW_HISTORY constant to limit its size
  • Updated row activation logic to store active rows and conditionally add a visual "recent-active" marker
  • Minor formatting improvements for conciseness
Files not reviewed (1)
  • src/components/table/partial-styles/tabulator-custom-styles.scss: Language not supported

this.activeRow = row.getData();
}

if (this.activeRowHistory.length > Table.MAX_ACTIVE_ROW_HISTORY) {
Copy link

Copilot AI Apr 2, 2025

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The clicked row is only being added to the history when the length is already greater than MAX_ACTIVE_ROW_HISTORY, which may prevent initial active rows from getting recorded. Consider always pushing the clicked row to activeRowHistory and then trimming the array if its length exceeds MAX_ACTIVE_ROW_HISTORY.

Suggested change
if (this.activeRowHistory.length > Table.MAX_ACTIVE_ROW_HISTORY) {

Copilot uses AI. Check for mistakes.

Copy link

@coderabbitai coderabbitai bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Actionable comments posted: 1

📜 Review details

Configuration used: .coderabbit.yaml
Review profile: ASSERTIVE
Plan: Pro

📥 Commits

Reviewing files that changed from the base of the PR and between 6d7e67b and b961432.

📒 Files selected for processing (2)
  • src/components/table/partial-styles/tabulator-custom-styles.scss (1 hunks)
  • src/components/table/table.tsx (7 hunks)
🧰 Additional context used
📓 Path-based instructions (2)
`**/*.tsx`: Our `.tsx` files are typically using StencilJS, not React.

**/*.tsx: Our .tsx files are typically using StencilJS, not React.

  • src/components/table/table.tsx
`**/*.{ts,tsx}`: Imports from other files in the same module (lime-elements) must use relative paths. Using absolute paths for imports will cause the production build to fail.

**/*.{ts,tsx}: Imports from other files in the same module (lime-elements) must use relative paths. Using absolute paths for imports will cause the production build to fail.

  • src/components/table/table.tsx
🪛 GitHub Actions: Pull Request Checks
src/components/table/table.tsx

[error] 724-724: TypeScript: Declaration or statement expected.

🔇 Additional comments (5)
src/components/table/partial-styles/tabulator-custom-styles.scss (1)

90-105: Good implementation of visual indicator for recently active rows.

The new .recent-active class with its :before pseudo-element successfully creates a visual indicator for recently active rows. The styling is consistent with the existing .active class pattern but uses a lighter color (rgb(211, 211, 211)) to differentiate it from the currently active row.

src/components/table/table.tsx (4)

103-111: Good addition of active row history tracking.

The new private properties for tracking active row history are well-named and documented. The use of a static constant for the maximum history size makes the code more maintainable.


762-771: Good implementation of recent active row highlighting.

The code correctly identifies the previous active row from the history and applies the recent-active class to it. The implementation is clean and follows the existing pattern for the active class.


647-647: Approved code style improvement.

Condensing the load object into a single line improves code readability.


815-815: Approved code style improvement.

Condensing the column options object into a single line is a good refactoring for consistency.

Comment on lines 90 to 105
.recent-active {
&:before {
$width-of-selected-row-indicator: 0.2rem;
content: '';
display: inline-block;
box-sizing: border-box;
position: sticky;
z-index: $table--has-interactive-rows--selectable-row--hover +
1;
inset: 0 0 auto 0;
border: $width-of-selected-row-indicator solid
rgb(211, 211, 211);
border-radius: 1rem;
margin-right: -$width-of-selected-row-indicator * 2;
}
}
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

this is mostly repetition of lines 48 to 60.
it's better to either make a mixin for these lines; or have a common CSS rule for both. The only difference is the colors of the dots, which can the be written in a separate CSS rule for each

@paulinewahle
Copy link
Contributor Author

The recent marker is for now only active in selectable rows and not in lists at all, for continuity the recent marker should only be where there is an active marker, which is not in lists at the moment.

Copy link

@coderabbitai coderabbitai bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Actionable comments posted: 1

📜 Review details

Configuration used: .coderabbit.yaml
Review profile: ASSERTIVE
Plan: Pro

📥 Commits

Reviewing files that changed from the base of the PR and between b961432 and 0ffb03f.

📒 Files selected for processing (3)
  • src/components/table/partial-styles/tabulator-custom-styles.scss (2 hunks)
  • src/components/table/table.tsx (7 hunks)
  • src/style/mixins.scss (1 hunks)
🧰 Additional context used
📓 Path-based instructions (2)
`**/*.tsx`: Our `.tsx` files are typically using StencilJS, not React.

**/*.tsx: Our .tsx files are typically using StencilJS, not React.

  • src/components/table/table.tsx
`**/*.{ts,tsx}`: Imports from other files in the same module (lime-elements) must use relative paths. Using absolute paths for imports will cause the production build to fail.

**/*.{ts,tsx}: Imports from other files in the same module (lime-elements) must use relative paths. Using absolute paths for imports will cause the production build to fail.

  • src/components/table/table.tsx
🪛 ESLint
src/components/table/table.tsx

[error] 110-110: No magic number: 2.

(no-magic-numbers)

⏰ Context from checks skipped due to timeout of 90000ms (4)
  • GitHub Check: Docs / Publish Docs
  • GitHub Check: Test
  • GitHub Check: Lint
  • GitHub Check: Build
🔇 Additional comments (8)
src/style/mixins.scss (1)

606-620: Well-structured new mixin for table row indicators.

The table-row-indicator mixin provides a nice abstraction for the row indicator styling, making it reusable across different table states. The usage of parameters for border color and z-index allows for flexible customization.

One small observation - there's a commented-out line referencing a variable that doesn't appear to be defined in this scope:

//z-index: $table--has-interactive-rows--selectable-row--hover + 1;

This comment could be removed or documented better if it serves a specific purpose.

src/components/table/partial-styles/tabulator-custom-styles.scss (2)

48-51: Good refactoring using the new mixin.

Nice improvement - replacing the direct styling with the mixin creates more maintainable code by centralizing the styling logic.


83-88: Clean implementation of recent-active indicator.

The recent-active class is properly implemented using the same mixin as the active row, with a different color to differentiate it visually. This provides good UX by helping users track their interactions with the table.

src/components/table/table.tsx (5)

711-718: Clean implementation of active row history management.

The code for managing the active row history is straightforward and correctly implements the FIFO queue behavior with the size limit.

When a row is clicked:

  1. It's added to the history
  2. If the history exceeds the maximum size, the oldest entry is removed

761-768: Well-structured row class management.

This logic correctly applies the 'recent-active' class to the previous active row while ensuring it doesn't conflict with the current active row's styling.


647-647: Code formatting improvement.

Simplified object literal formatting for better readability.


812-812: Code formatting improvement.

Simplified column options object literal for better readability.


831-831: Code formatting improvement.

Simplified Host class binding for better readability.

Comment on lines +103 to +110
* Array of rows that have been active
*/
private activeRowHistory: Tabulator.RowComponent[] = [];

/**
* Maximum number of rows to keep in the active row history
*/
private static readonly MAX_ACTIVE_ROW_HISTORY = 2;
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

💡 Verification agent

🧩 Analysis chain

Good implementation of active row tracking history.

The active row history tracking implementation is clean and concise. The static constant for the max history size helps maintain code clarity.

Consider using a named constant instead of the magic number 2 to help with code clarity and maintenance:

-    private static readonly MAX_ACTIVE_ROW_HISTORY = 2;
+    /**
+     * Maximum number of rows to keep in the active row history
+     * Used to track the current and previous active rows
+     */
+    private static readonly MAX_ACTIVE_ROW_HISTORY = 2;

Let's verify that this constant is the only place where this limit is referenced:


🏁 Script executed:

#!/bin/bash
# Check if the value 2 is hardcoded elsewhere in relation to the active row history
rg -A 1 -B 1 "activeRowHistory" src/components/table/ | grep -E "2|two"

Length of output: 165


Enhance constant documentation for clarity

We’ve confirmed that MAX_ACTIVE_ROW_HISTORY is the sole reference controlling the “last two” rows, and no other hard-coded 2 appears in the active‐row logic. To improve maintainability, let’s expand its JSDoc to explain why two rows are tracked:

• File: src/components/table/table.tsx
• Location: around line 110

     /**
      * Maximum number of rows to keep in the active row history
+     * Used to track both the current active row and its immediate predecessor
      */
-    private static readonly MAX_ACTIVE_ROW_HISTORY = 2;
+    private static readonly MAX_ACTIVE_ROW_HISTORY = 2;
📝 Committable suggestion

‼️ IMPORTANT
Carefully review the code before committing. Ensure that it accurately replaces the highlighted code, contains no missing lines, and has no issues with indentation. Thoroughly test & benchmark the code to ensure it meets the requirements.

Suggested change
* Array of rows that have been active
*/
private activeRowHistory: Tabulator.RowComponent[] = [];
/**
* Maximum number of rows to keep in the active row history
*/
private static readonly MAX_ACTIVE_ROW_HISTORY = 2;
/**
* Maximum number of rows to keep in the active row history
* Used to track both the current active row and its immediate predecessor
*/
private static readonly MAX_ACTIVE_ROW_HISTORY = 2;
🧰 Tools
🪛 ESLint

[error] 110-110: No magic number: 2.

(no-magic-numbers)

🤖 Prompt for AI Agents (early access)
In src/components/table/table.tsx around lines 103 to 110, enhance the JSDoc
comment for the MAX_ACTIVE_ROW_HISTORY constant by adding an explanation of why
the value 2 is used, clarifying that it represents tracking the last two active
rows for specific functional reasons. This improves code clarity and
maintainability by documenting the rationale behind the chosen limit.

Comment on lines 605 to 620

@mixin table-row-indicator($border-color, $z-index) {
&:before {
$width-of-selected-row-indicator: 0.2rem;
content: '';
display: inline-block;
box-sizing: border-box;
position: sticky;
//z-index: $table--has-interactive-rows--selectable-row--hover + 1;
z-index: $z-index;
inset: 0 0 auto 0;
border: $width-of-selected-row-indicator solid $border-color;
border-radius: 1rem;
margin-right: -$width-of-selected-row-indicator * 2;
}
}
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

this is great! However you can keep this mixin in the same file where it is used. This is because it is not a reusable mixin for any other component. We only use this file (mixins.scss) for shared mixins (both in components in this codebase, and in other consumers of Lime Elements). Local mixins are better to be kept where they are used.

margin-right: -$width-of-selected-row-indicator * 2;
}
@include mixins.table-row-indicator(
rgb(0, 150, 136),
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

we should never use rgb or hex values in our styles. Always use our own color vars instead.

Copy link

Documentation has been published to https://lundalogik.github.io/lime-elements/versions/PR-3516/

}
}

@mixin table-row-indicator($border-color, $z-index) {
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
@mixin table-row-indicator($border-color, $z-index) {
@mixin table-row-selected-indicator($border-color, $z-index) {

Since the mixin is only responsible for visualizing the row that is selected, it's better to name it this way. Otherwise, the reader can be confused about what this piece of code actually does.

Copy link

@coderabbitai coderabbitai bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Actionable comments posted: 2

📜 Review details

Configuration used: .coderabbit.yaml
Review profile: ASSERTIVE
Plan: Pro

📥 Commits

Reviewing files that changed from the base of the PR and between 0ffb03f and 67850a0.

📒 Files selected for processing (1)
  • src/components/table/partial-styles/tabulator-custom-styles.scss (3 hunks)
⏰ Context from checks skipped due to timeout of 90000ms (5)
  • GitHub Check: Docs / Publish Docs
  • GitHub Check: Test
  • GitHub Check: Lint
  • GitHub Check: Build
  • GitHub Check: SonarCloud
🔇 Additional comments (2)
src/components/table/partial-styles/tabulator-custom-styles.scss (2)

3-4: Import new color modules for indicator styling
These @use statements correctly bring in the theme color variables (--mdc-theme-primary) and the extended palette (--contrast-700) needed by the new mixin and .recent-active class. Ensure that no unused imports remain after further styling updates.


64-67: Apply mixin for active row indicator
Replacing the manual pseudo-element with the mixin here is spot on. Please verify that the computed $table--has-interactive-rows--selectable-row--hover + 1 z-index places the indicator above all row content and doesn’t conflict with other interactive layers.

Comment on lines +6 to +19
@mixin table-row-selected-indicator($border-color, $z-index) {
&:before {
$width-of-selected-row-indicator: 0.2rem;
content: '';
display: inline-block;
box-sizing: border-box;
position: sticky;
z-index: $z-index;
inset: 0 0 auto 0;
border: $width-of-selected-row-indicator solid $border-color;
border-radius: 1rem;
margin-right: -$width-of-selected-row-indicator * 2;
}
}
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🧹 Nitpick (assertive)

DRY refactor: extract row indicator pseudo-element into a mixin
Great consolidation of the repeated :before pseudo-element styling into @mixin table-row-selected-indicator. As an optional improvement, you could expose the $width-of-selected-row-indicator as a mixin parameter to make this more flexible for different indicator sizes.

🤖 Prompt for AI Agents (early access)
In src/components/table/partial-styles/tabulator-custom-styles.scss between
lines 6 and 19, the mixin table-row-selected-indicator currently uses a fixed
width for the selected row indicator. To improve flexibility, add a new
parameter to the mixin for the width of the selected row indicator, replacing
the hardcoded value. Update all references inside the mixin to use this
parameter instead of the fixed 0.2rem value.

Comment on lines +99 to +104
.recent-active {
@include table-row-selected-indicator(
rgb(var(--contrast-700)),
$table--has-interactive-rows--selectable-row--hover + 1
);
}
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🛠️ Refactor suggestion

Scope and z-index of .recent-active should differ from the active indicator
The new .recent-active class currently sits at the same specificity and z-index as .active. To avoid stacking conflicts and unintended styling on non-row elements, consider:

  1. Nesting the selector under .tabulator-row.selectable (e.g. .tabulator-row.selectable.recent-active)
  2. Using a slightly lower z-index (for example, $table--has-interactive-rows--selectable-row--hover) so the recent marker appears behind the current one

Example diff:

@@ :host(.has-interactive-rows) {
-   .recent-active {
+   .tabulator-row.selectable.recent-active {
       @include table-row-selected-indicator(
           rgb(var(--contrast-700)),
-           $table--has-interactive-rows--selectable-row--hover + 1
+           $table--has-interactive-rows--selectable-row--hover
       );
   }
🤖 Prompt for AI Agents (early access)
In src/components/table/partial-styles/tabulator-custom-styles.scss around lines
99 to 104, the .recent-active class has the same scope and z-index as the
.active indicator, causing stacking conflicts. To fix this, nest the
.recent-active selector under .tabulator-row.selectable (e.g.,
.tabulator-row.selectable.recent-active) to increase specificity, and adjust its
z-index to be slightly lower, such as using
$table--has-interactive-rows--selectable-row--hover, so the recent-active marker
appears behind the active indicator.

@Kiarokh
Copy link
Contributor

Kiarokh commented Jul 10, 2025

two things I can think of:

  1. Since we are upgrading Tabulator here chore(table): update tabulator to 6 #3478 we should revisit this issue after the upgrade
  2. We should also have a more global approach here. We have other views, such as List view, Kanban view, etc… All of these should have some sort of support for indicating the "previously selected item". We can't only implement this in the table view. How would we do this best? 🤔

@john-traas
Copy link
Contributor

two things I can think of:

  1. Since we are upgrading Tabulator here chore(table): update tabulator to 6 #3478 we should revisit this issue after the upgrade
  2. We should also have a more global approach here. We have other views, such as List view, Kanban view, etc… All of these should have some sort of support for indicating the "previously selected item". We can't only implement this in the table view. How would we do this best? 🤔

Is this a blocker to getting this PR in? Should we create issues for those other views?

@Kiarokh
Copy link
Contributor

Kiarokh commented Jul 28, 2025

Is this a blocker to getting this PR in? Should we create issues for those other views?

I think it's just hard to remember to check and verify it in the #3478
I'd at least wait for that PR to be merged first.

And I think we can make an umbrella issue for all views, and connect this as a sub-task to that one.
We will have many different implementations in various repos, to address the issue of:

  • Hey, which item did I select before this one?
  • Oh, which item was selected, just before I deselected it?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants