Skip to content

Commit dec982f

Browse files
authored
1 parent ba44512 commit dec982f

3 files changed

Lines changed: 34 additions & 34 deletions

File tree

crates/story/src/stories/data_table_story.rs

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -952,9 +952,9 @@ impl DataTableStory {
952952
});
953953
}
954954

955-
fn toggle_row_selector(&mut self, checked: &bool, _: &mut Window, cx: &mut Context<Self>) {
955+
fn toggle_row_header(&mut self, checked: &bool, _: &mut Window, cx: &mut Context<Self>) {
956956
self.table.update(cx, |table, cx| {
957-
table.row_selector = *checked;
957+
table.row_header = *checked;
958958
cx.notify();
959959
});
960960
}
@@ -1127,10 +1127,10 @@ impl Render for DataTableStory {
11271127
.on_click(cx.listener(Self::toggle_cell_selection)),
11281128
)
11291129
.child(
1130-
Checkbox::new("row-selector")
1131-
.label("Row Selector")
1132-
.selected(table.row_selector)
1133-
.on_click(cx.listener(Self::toggle_row_selector)),
1130+
Checkbox::new("row-header")
1131+
.label("Row Header")
1132+
.selected(table.row_header)
1133+
.on_click(cx.listener(Self::toggle_row_header)),
11341134
)
11351135
.child(
11361136
Checkbox::new("fixed")

crates/ui/src/table/data_table.rs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -66,8 +66,8 @@ impl Default for TableOptions {
6666
///
6767
/// When cell selection is enabled via [`TableState::cell_selectable()`]:
6868
/// - Click on cells to select them
69-
/// - A row selector column appears on the left for selecting entire rows
70-
/// (use [`TableState::row_selector()`] to hide it)
69+
/// - A row header column appears on the left for selecting entire rows
70+
/// (use [`TableState::row_header()`] to hide it)
7171
/// - Keyboard navigation (arrow keys, Tab, Home, End, PageUp, PageDown) works at cell level
7272
/// - Right-click and double-click events are supported
7373
///

crates/ui/src/table/state.rs

Lines changed: 26 additions & 26 deletions
Original file line numberDiff line numberDiff line change
@@ -134,7 +134,7 @@ impl TableVisibleRange {
134134
/// - Double-click on cells to trigger actions
135135
/// - Navigate between cells using keyboard (arrow keys, Home, End, PageUp, PageDown, Tab)
136136
///
137-
/// When in cell selection mode, a row selector column appears on the left side,
137+
/// When in cell selection mode, a row header column appears on the left side,
138138
/// allowing users to select entire rows by clicking on it.
139139
///
140140
/// # Events
@@ -200,20 +200,20 @@ pub struct TableState<D: TableDelegate> {
200200
///
201201
/// When enabled:
202202
/// - Users can click on individual cells to select them
203-
/// - A row selector column appears on the left for selecting entire rows
204-
/// (can be hidden via [`Self::row_selector`])
203+
/// - A row header column appears on the left for selecting entire rows
204+
/// (can be hidden via [`Self::row_header`])
205205
/// - Keyboard navigation works at the cell level (arrow keys move between cells)
206206
/// - Right-click and double-click events are supported for cells
207207
pub cell_selectable: bool,
208-
/// Whether the row selector column is visible when `cell_selectable` is enabled,
208+
/// Whether the row header column is visible when `cell_selectable` is enabled,
209209
/// default is `true`.
210210
///
211-
/// Set to `false` to hide the narrow leftmost selector column while keeping cell
211+
/// Set to `false` to hide the narrow leftmost header column while keeping cell
212212
/// selection — useful when you want to put your own content (e.g. a row index
213213
/// column) on the left. When hidden, clicking the already-selected cell again
214214
/// escalates the selection to the whole row so users can still pick rows; row
215215
/// escalation requires `row_selectable` to be enabled.
216-
pub row_selector: bool,
216+
pub row_header: bool,
217217
/// Whether the table can sort.
218218
pub sortable: bool,
219219
/// Whether the table can resize columns.
@@ -271,7 +271,7 @@ where
271271
col_selectable: true,
272272
row_selectable: true,
273273
cell_selectable: false,
274-
row_selector: true,
274+
row_header: true,
275275
sortable: true,
276276
col_movable: true,
277277
col_resizable: true,
@@ -334,7 +334,7 @@ where
334334
///
335335
/// When enabled:
336336
/// - Individual cells become selectable by clicking
337-
/// - A row selector column appears on the left side (can be hidden via [`Self::row_selector`])
337+
/// - A row header column appears on the left side (can be hidden via [`Self::row_header`])
338338
/// - Keyboard navigation operates at the cell level
339339
/// - Cell-specific events (SelectCell, DoubleClickedCell, RightClickedCell) are emitted
340340
///
@@ -344,26 +344,26 @@ where
344344
/// let table_state = cx.new(|cx| {
345345
/// TableState::new(delegate, cx)
346346
/// .cell_selectable(true) // Enable cell selection
347-
/// .row_selectable(true) // Also allow row selection via row selector
347+
/// .row_selectable(true) // Also allow row selection via row header
348348
/// });
349349
/// ```
350350
pub fn cell_selectable(mut self, cell_selectable: bool) -> Self {
351351
self.cell_selectable = cell_selectable;
352352
self
353353
}
354354

355-
/// Set whether the row selector column is shown, default is `true`.
355+
/// Set whether the row header column is shown, default is `true`.
356356
///
357-
/// Only effective when `cell_selectable` is `true` — otherwise the row selector
357+
/// Only effective when `cell_selectable` is `true` — otherwise the row header
358358
/// column is never rendered. Hide it when you want to use the leftmost column
359359
/// for your own content (e.g. a row index column).
360360
///
361361
/// When hidden, the first click on a cell selects the cell; clicking the
362362
/// already-selected cell again escalates to selecting the whole row, so users
363-
/// can still pick rows without the dedicated selector column. The row escalation
363+
/// can still pick rows without the dedicated header column. The row escalation
364364
/// requires `row_selectable` to be enabled.
365-
pub fn row_selector(mut self, row_selector: bool) -> Self {
366-
self.row_selector = row_selector;
365+
pub fn row_header(mut self, row_header: bool) -> Self {
366+
self.row_header = row_header;
367367
self
368368
}
369369

@@ -692,14 +692,14 @@ where
692692

693693
let is_double_click = e.click_count() == 2;
694694

695-
// When the row selector column is hidden, a single click on the
695+
// When the row header column is hidden, a single click on the
696696
// already-selected cell escalates the selection to the entire row —
697-
// giving users a way to pick rows without the dedicated selector column.
697+
// giving users a way to pick rows without the dedicated header column.
698698
// Double-clicks are passed through to `DoubleClickedCell` and never
699699
// trigger the escalation.
700700
let is_reselect = self.selection_mode.is_cell()
701701
&& self.selected_cell == Some((row_ix, col_ix));
702-
let should_escalate_to_row = !self.row_selector
702+
let should_escalate_to_row = !self.row_header
703703
&& self.row_selectable
704704
&& is_reselect
705705
&& !is_double_click;
@@ -1291,15 +1291,15 @@ where
12911291
.into_any_element()
12921292
}
12931293

1294-
/// Render the row selector cell (when cell_selectable is enabled)
1295-
fn render_row_selector_cell(
1294+
/// Render the row header cell (when cell_selectable is enabled)
1295+
fn render_row_header_cell(
12961296
&self,
12971297
row_ix: usize,
12981298
is_head: bool,
12991299
cx: &mut Context<Self>,
13001300
) -> impl IntoElement {
13011301
div()
1302-
.id(("row-selector", row_ix))
1302+
.id(("row-header", row_ix))
13031303
.w_3()
13041304
.h_full()
13051305
.border_r_1()
@@ -1526,8 +1526,8 @@ where
15261526
.bg(cx.theme().table_head)
15271527
.text_color(cx.theme().table_head_foreground)
15281528
.refine_style(&style)
1529-
.when(self.cell_selectable && self.row_selector, |this| {
1530-
this.child(self.render_row_selector_cell(0, true, cx))
1529+
.when(self.cell_selectable && self.row_header, |this| {
1530+
this.child(self.render_row_header_cell(0, true, cx))
15311531
})
15321532
.when(left_columns_count > 0, |this| {
15331533
let view = view.clone();
@@ -1709,8 +1709,8 @@ where
17091709
this.bg(cx.theme().table_hover)
17101710
}
17111711
})
1712-
.when(self.cell_selectable && self.row_selector, |this| {
1713-
this.child(self.render_row_selector_cell(row_ix, false, cx))
1712+
.when(self.cell_selectable && self.row_header, |this| {
1713+
this.child(self.render_row_header_cell(row_ix, false, cx))
17141714
})
17151715
.when(left_columns_count > 0, |this| {
17161716
// Left fixed columns
@@ -1976,8 +1976,8 @@ where
19761976
.border_b_1()
19771977
.border_color(cx.theme().table_row_border)
19781978
.when(is_stripe_row, |this| this.bg(cx.theme().table_even))
1979-
.when(self.cell_selectable && self.row_selector, |this| {
1980-
// Render empty row selector cell for fake rows
1979+
.when(self.cell_selectable && self.row_header, |this| {
1980+
// Render empty row header cell for fake rows
19811981
this.child(
19821982
div()
19831983
.w(px(40.))

0 commit comments

Comments
 (0)