Skip to content

global task board#4351

Open
chpy04 wants to merge 3 commits into
developfrom
task-stuff
Open

global task board#4351
chpy04 wants to merge 3 commits into
developfrom
task-stuff

Conversation

@chpy04

@chpy04 chpy04 commented Jul 23, 2026

Copy link
Copy Markdown
Contributor

Changes

  • global task board page with all filters & fuzzy search
  • url param saved filter args allow for sharing between users
  • Changed unfinished blocking task error to warning
  • Added filter components with slim query args to reduce endpoint latency (generic for future use. Ideally would replace existing dropdowns with these but can do that as we see them)
  • removed unnecessary query args on tasks to reduce endpoint latency
  • Added slimmer user query arg + transformer for use in task (ideally would also be migrated to many other places in codebase but can be done on case by case basis)
  • task caching bug fixes
  • added saved dashboards on user basis (just saves url)

wbsElement: {
OR: [
{ project: { teams: { some: { teamId: { in: teamIds } } } } },
{ workPackage: { wbsElement: { project: { teams: { some: { teamId: { in: teamIds } } } } } } }

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Shouldn't this be workPackage: { project: { teams: { ... } } } }
team-filtering on the global board silently drop every work-package task rn


/** Reusable multi-select of org members (FilterTaskArgs.memberIds). */
const AssigneeDropdown: React.FC<AssigneeDropdownProps> = ({ value, onChange, sx }) => {
const { data: users, isLoading } = useMembersDropdown();

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

need isError and error

* are few cars, so this reuses the existing full cars endpoint rather than a dedicated dropdown one.
*/
const CarDropdown: React.FC<CarDropdownProps> = ({ value, onChange, sx }) => {
const { data: cars, isLoading } = useGetAllCars();

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

same


/** Reusable multi-select of teams (FilterTaskArgs.teamIds). */
const TeamDropdown: React.FC<TeamDropdownProps> = ({ value, onChange, sx }) => {
const { data: teams, isLoading } = useTeamsDropdown();

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

same


/** Reusable select of projects. Selection is by project WBS number (FilterTaskArgs.projectWbsNums). */
const ProjectDropdown: React.FC<ProjectDropdownProps> = ({ value, onChange, carNumbers, multiple = true, sx }) => {
const { data: projects, isLoading } = useProjectsDropdown();

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

same


/** Reusable multi-select of work packages (FilterTaskArgs.workPackageWbsNums). */
const WorkPackageDropdown: React.FC<WorkPackageDropdownProps> = ({ value, onChange, projectWbsNums, sx }) => {
const { data: workPackages, isLoading } = useWorkPackagesDropdown();

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

same

* global task pages.
*/
const LabelDropdown: React.FC<LabelDropdownProps> = ({ value, onChange, sx }) => {
const { data: taskLabels, isLoading } = useAllTaskLabels();

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

same

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.

2 participants