Skip to content

feat: ROOT-29: Build control tags dropdown for filtering labels within a specific tag #7700

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

Merged
merged 42 commits into from
Jun 12, 2025
Merged
Show file tree
Hide file tree
Changes from 5 commits
Commits
Show all changes
42 commits
Select commit Hold shift + click to select a range
0ab7dc7
feat: ROOT-29: Build control tags dropdown for filtering labels withi…
matt-bernstein Jun 2, 2025
f04db2b
wip add control tag pseudocolumn
matt-bernstein Jun 2, 2025
4ccb75e
Revert "wip add control tag pseudocolumn"
matt-bernstein Jun 5, 2025
716a9db
Merge remote-tracking branch 'origin/develop' into fb-ROOT-29
matt-bernstein Jun 5, 2025
8f60ec5
use orderable and internal flags on column
matt-bernstein Jun 5, 2025
5a376c7
ff
matt-bernstein Jun 5, 2025
4c1fda7
pipe through special string filter
matt-bernstein Jun 5, 2025
22d8fb0
move ff
matt-bernstein Jun 5, 2025
44c755f
Merge remote-tracking branch 'origin/develop' into fb-ROOT-29
matt-bernstein Jun 5, 2025
6e57f10
dead code
matt-bernstein Jun 5, 2025
1ffcc8c
limit filter operators
matt-bernstein Jun 5, 2025
51491ea
update filter
matt-bernstein Jun 5, 2025
b57e930
change placeholder
matt-bernstein Jun 5, 2025
eba8751
simplify user input handling
matt-bernstein Jun 5, 2025
c11d706
remove cols from selector
matt-bernstein Jun 5, 2025
9aa8ac5
cleanup
matt-bernstein Jun 6, 2025
16e3041
cleanup
matt-bernstein Jun 6, 2025
174d79e
enable number type
matt-bernstein Jun 6, 2025
410fb9a
fix op precedence
matt-bernstein Jun 6, 2025
5090e39
Merge branch 'develop' into 'fb-ROOT-29'
matt-bernstein Jun 6, 2025
31ed18c
Sync Follow Merge dependencies
matt-bernstein Jun 6, 2025
40aab70
Merge branch 'develop' into 'fb-ROOT-29'
matt-bernstein Jun 6, 2025
b5c17dd
Sync Follow Merge dependencies
matt-bernstein Jun 6, 2025
b7dc2c4
Merge branch 'develop' into 'fb-ROOT-29'
matt-bernstein Jun 6, 2025
0a10eff
Merge remote-tracking branch 'origin/develop' into fb-ROOT-29
matt-bernstein Jun 6, 2025
3978bc4
build filter string on fe
matt-bernstein Jun 9, 2025
76b3a68
move internal check to persist control tag columnns on reload
matt-bernstein Jun 10, 2025
c8ab6c6
rename internal
matt-bernstein Jun 10, 2025
32b335f
fe code cleanups
jombooth Jun 10, 2025
ec39344
Merge branch 'fb-ROOT-29' of github.com:HumanSignal/label-studio into…
jombooth Jun 10, 2025
a011b33
don't leak user input across filters
matt-bernstein Jun 10, 2025
b75bf70
relocate filter building responsibility to backend
jombooth Jun 10, 2025
8e9ed6c
fix filter values leaking across tags due to List type
matt-bernstein Jun 10, 2025
a314fe7
push allowed ops out of filter
matt-bernstein Jun 11, 2025
fae4d1a
patch label name for control tag filters
matt-bernstein Jun 11, 2025
ce5653b
fix filter search
matt-bernstein Jun 11, 2025
7e08ddd
remove filter_only concept in favor of single source of truth
jombooth Jun 11, 2025
9ff6a72
exclude self serve
jombooth Jun 11, 2025
c6b5b22
fix build
jombooth Jun 11, 2025
2eebe13
unbotch
jombooth Jun 11, 2025
61c282a
Merge remote-tracking branch 'origin/develop' into fb-ROOT-29
matt-bernstein Jun 12, 2025
dcdd4a2
Merge branch 'develop' into 'fb-ROOT-29'
jombooth Jun 12, 2025
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
Original file line number Diff line number Diff line change
Expand Up @@ -25,6 +25,9 @@ export const OrderButton = injector(({ size, ordering, view, ...rest }) => {
onReset={() => view.setOrdering(null)}
resetTitle="Default"
selected={ordering?.field}
filter={(col) => {
return col.orderable ?? col.original?.orderable;
}}
wrapper={({ column, children }) => (
<Space style={{ width: "100%", justifyContent: "space-between" }}>
{children}
Expand Down
9 changes: 7 additions & 2 deletions web/libs/datamanager/src/stores/Tabs/store.js
Original file line number Diff line number Diff line change
Expand Up @@ -91,8 +91,10 @@ export const TabStore = types

get columns() {
const cols = self.columnsTargetMap ?? new Map();

return cols.get(self.selected?.target ?? "tasks") ?? [];
const list = cols.get(self.selected?.target ?? "tasks") ?? [];
// // Filter out internal columns so they never reach grid/column selector
// return list.filter((c) => !c.internal);
return list;
},

get dataStore() {
Expand Down Expand Up @@ -456,6 +458,9 @@ export const TabStore = types
field: columnID,
schema: col.schema ?? null,
});
// if (col.internal) {
// return;
// }
}

Object.entries(visibility ?? {}).forEach(([key, visible]) => {
Expand Down
3 changes: 2 additions & 1 deletion web/libs/datamanager/src/stores/Tabs/tab_column.jsx
Original file line number Diff line number Diff line change
Expand Up @@ -74,6 +74,7 @@ export const TabColumn = types
children: types.maybeNull(types.array(types.late(() => types.reference(TabColumn)))),
target: types.enumeration(["tasks", "annotations"]),
orderable: types.optional(types.boolean, true),
internal: types.optional(types.boolean, false),
help: types.maybeNull(types.string),
})
.views((self) => ({
Expand Down Expand Up @@ -143,7 +144,7 @@ export const TabColumn = types
const childColumns = [].concat(...self.children.map((subColumn) => subColumn.asField));

result.push(...childColumns);
} else {
} else if (!self.internal) {
result.push({
...self,
id: self.key,
Expand Down
Loading