From 7ae09ce1bfd8abd2e7271da381485103d7998528 Mon Sep 17 00:00:00 2001 From: Sivin Varghese <64252451+iamsivin@users.noreply.github.com> Date: Mon, 8 Apr 2024 16:16:08 +0530 Subject: [PATCH] feat: Reports filter components (#9204) * feat: Reports filter components * Update FilterButton.vue * Update FilterDropdownSearch.vue * feat: Adds component level search * Update FilterDropdownSearch.vue * chore: Set max height * feat: Add focus * chore: Uses picoSearch package --- .../dashboard/assets/scss/widgets/_base.scss | 12 +-- .../components/Filters/v3/FilterButton.vue | 26 +++++++ .../Filters/v3/FilterDropdownEmptyState.vue | 15 ++++ .../Filters/v3/FilterDropdownSearch.vue | 45 ++++++++++++ .../Filters/v3/FilterListDropdown.vue | 73 +++++++++++++++++++ .../Filters/v3/FilterListItemButton.vue | 36 +++++++++ 6 files changed, 201 insertions(+), 6 deletions(-) create mode 100644 app/javascript/dashboard/routes/dashboard/settings/reports/components/Filters/v3/FilterButton.vue create mode 100644 app/javascript/dashboard/routes/dashboard/settings/reports/components/Filters/v3/FilterDropdownEmptyState.vue create mode 100644 app/javascript/dashboard/routes/dashboard/settings/reports/components/Filters/v3/FilterDropdownSearch.vue create mode 100644 app/javascript/dashboard/routes/dashboard/settings/reports/components/Filters/v3/FilterListDropdown.vue create mode 100644 app/javascript/dashboard/routes/dashboard/settings/reports/components/Filters/v3/FilterListItemButton.vue diff --git a/app/javascript/dashboard/assets/scss/widgets/_base.scss b/app/javascript/dashboard/assets/scss/widgets/_base.scss index e64231dfc..1ebcef53c 100644 --- a/app/javascript/dashboard/assets/scss/widgets/_base.scss +++ b/app/javascript/dashboard/assets/scss/widgets/_base.scss @@ -63,12 +63,12 @@ input:focus { } // Inputs -input[type='text'], -input[type='number'], -input[type='password'], -input[type='date'], -input[type='email'], -input[type='url'] { +input[type='text']:not(.reset-base), +input[type='number']:not(.reset-base), +input[type='password']:not(.reset-base), +input[type='date']:not(.reset-base), +input[type='email']:not(.reset-base), +input[type='url']:not(.reset-base) { @apply block box-border w-full transition-colors focus:border-woot-500 dark:focus:border-woot-600 duration-[0.25s] ease-[ease-in-out] h-10 appearance-none mx-0 mt-0 mb-4 p-2 rounded-md text-base font-normal bg-white dark:bg-slate-900 focus:bg-white focus:dark:bg-slate-900 text-slate-900 dark:text-slate-100 border border-solid border-slate-200 dark:border-slate-600; &[disabled] { diff --git a/app/javascript/dashboard/routes/dashboard/settings/reports/components/Filters/v3/FilterButton.vue b/app/javascript/dashboard/routes/dashboard/settings/reports/components/Filters/v3/FilterButton.vue new file mode 100644 index 000000000..2c9784705 --- /dev/null +++ b/app/javascript/dashboard/routes/dashboard/settings/reports/components/Filters/v3/FilterButton.vue @@ -0,0 +1,26 @@ + + + + + + {{ buttonText }} + + + + + + + diff --git a/app/javascript/dashboard/routes/dashboard/settings/reports/components/Filters/v3/FilterDropdownEmptyState.vue b/app/javascript/dashboard/routes/dashboard/settings/reports/components/Filters/v3/FilterDropdownEmptyState.vue new file mode 100644 index 000000000..ccf9b2b1e --- /dev/null +++ b/app/javascript/dashboard/routes/dashboard/settings/reports/components/Filters/v3/FilterDropdownEmptyState.vue @@ -0,0 +1,15 @@ + + + + {{ message }} + + diff --git a/app/javascript/dashboard/routes/dashboard/settings/reports/components/Filters/v3/FilterDropdownSearch.vue b/app/javascript/dashboard/routes/dashboard/settings/reports/components/Filters/v3/FilterDropdownSearch.vue new file mode 100644 index 000000000..ee090edf4 --- /dev/null +++ b/app/javascript/dashboard/routes/dashboard/settings/reports/components/Filters/v3/FilterDropdownSearch.vue @@ -0,0 +1,45 @@ + + + + + + + + + {{ buttonText }} + + + diff --git a/app/javascript/dashboard/routes/dashboard/settings/reports/components/Filters/v3/FilterListDropdown.vue b/app/javascript/dashboard/routes/dashboard/settings/reports/components/Filters/v3/FilterListDropdown.vue new file mode 100644 index 000000000..fbb07db77 --- /dev/null +++ b/app/javascript/dashboard/routes/dashboard/settings/reports/components/Filters/v3/FilterListDropdown.vue @@ -0,0 +1,73 @@ + + + + + + + + + + + + diff --git a/app/javascript/dashboard/routes/dashboard/settings/reports/components/Filters/v3/FilterListItemButton.vue b/app/javascript/dashboard/routes/dashboard/settings/reports/components/Filters/v3/FilterListItemButton.vue new file mode 100644 index 000000000..2fb99980a --- /dev/null +++ b/app/javascript/dashboard/routes/dashboard/settings/reports/components/Filters/v3/FilterListItemButton.vue @@ -0,0 +1,36 @@ + + + + + + {{ buttonText }} + + + + + +