Skip to content
Projects
Groups
Snippets
Help
Sign in / Register
Toggle navigation
Minds Frontend
Project overview
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Locked Files
Issues
396
Merge Requests
55
CI / CD
Security & Compliance
Packages
Wiki
Snippets
Members
Collapse sidebar
Close sidebar
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
Minds
Minds Frontend
Commits
c917b2b3
Commit
c917b2b3
authored
6 minutes ago
by
Olivia Madrid
Browse files
Options
Download
(refactor): rename from m-filter to m-dropdownSelector
parent
14fa8c1b
generic-dropdown-2209
1 merge request
!662
Generic dropdown component
Pipeline
#97964929
running with stages
Changes
7
Pipelines
1
Hide whitespace changes
Inline
Side-by-side
Showing
7 changed files
with
47 additions
and
47 deletions
+47
-47
src/app/common/common.module.ts
View file @
c917b2b3
...
...
@@ -121,7 +121,7 @@ import { PageLayoutComponent } from './components/page-layout/page-layout.compon
import
{
DashboardLayoutComponent
}
from
'
./components/dashboard-layout/dashboard-layout.component
'
;
import
{
ShadowboxLayoutComponent
}
from
'
./components/shadowbox-layout/shadowbox-layout.component
'
;
import
{
ShadowboxHeaderComponent
}
from
'
./components/shadowbox-header/shadowbox-header.component
'
;
import
{
FilterComponent
}
from
'
./components/filter/filte
r.component
'
;
import
{
DropdownSelectorComponent
}
from
'
./components/dropdown-selector/dropdown-selecto
r.component
'
;
PlotlyModule
.
plotlyjs
=
PlotlyJS
;
...
...
@@ -233,7 +233,7 @@ PlotlyModule.plotlyjs = PlotlyJS;
DashboardLayoutComponent
,
ShadowboxLayoutComponent
,
ShadowboxHeaderComponent
,
Filte
rComponent
,
DropdownSelecto
rComponent
,
],
exports
:
[
MINDS_PIPES
,
...
...
@@ -329,7 +329,7 @@ PlotlyModule.plotlyjs = PlotlyJS;
PageLayoutComponent
,
DashboardLayoutComponent
,
ShadowboxLayoutComponent
,
Filte
rComponent
,
DropdownSelecto
rComponent
,
],
providers
:
[
SiteService
,
...
...
This diff is collapsed.
src/app/common/components/
filter/filte
r.component.html
→
src/app/common/components/
dropdown-selector/dropdown-selecto
r.component.html
View file @
c917b2b3
<div
class=
"m-
filte
r__labelWrapper"
*ngIf=
"showLabel"
>
<div
class=
"m-
dropdownSelecto
r__labelWrapper"
*ngIf=
"showLabel"
>
<span>
{{ filter.label }}
</span>
<m-tooltip
icon=
"help"
>
<div>
{{ filter?.description }}
</div>
...
...
@@ -13,7 +13,7 @@
</m-tooltip>
</div>
<div
class=
"m-
filte
r__wrapper"
class=
"m-
dropdownSelecto
r__wrapper"
[ngClass]=
"{
expanded: expanded,
dropUp: dropUp
...
...
@@ -21,17 +21,17 @@
(blur)=
"expanded = false"
tabindex=
"0"
>
<div
class=
"m-
filte
r__header"
(click)=
"expanded = !expanded"
>
<span
class=
"m-
filte
r__option"
>
<div
class=
"m-
dropdownSelecto
r__header"
(click)=
"expanded = !expanded"
>
<span
class=
"m-
dropdownSelecto
r__option"
>
{{ selectedOption.label }}
</span>
<i
class=
"material-icons"
*ngIf=
"!expanded"
>
keyboard_arrow_down
</i>
<i
class=
"material-icons"
*ngIf=
"expanded"
>
keyboard_arrow_up
</i>
</div>
<div
class=
"m-
filte
r__optionsContainer"
>
<div
class=
"m-
dropdownSelecto
r__optionsContainer"
>
<ng-container
*ngFor=
"let option of filter.options"
>
<div
class=
"m-
filte
r__option"
class=
"m-
dropdownSelecto
r__option"
(click)=
"updateFilter(option)"
[ngClass]=
"{
unavailable: option.available === false
...
...
This diff is collapsed.
src/app/common/components/
filter/filte
r.component.scss
→
src/app/common/components/
dropdown-selector/dropdown-selecto
r.component.scss
View file @
c917b2b3
$rounded-top
:
3px
3px
0
0
;
$rounded-bottom
:
0
0
3px
3px
;
m-
filte
r
{
m-
dropdownSelecto
r
{
position
:
relative
;
margin
:
0
24px
36px
0
;
z-index
:
2
;
display
:
block
;
}
.m-
filte
r__labelWrapper
{
.m-
dropdownSelecto
r__labelWrapper
{
position
:
absolute
;
bottom
:
115%
;
white-space
:
nowrap
;
...
...
@@ -45,7 +45,7 @@ m-filter {
}
}
.m-
filte
r__wrapper
{
.m-
dropdownSelecto
r__wrapper
{
cursor
:
pointer
;
&
:focus
{
...
...
@@ -56,31 +56,31 @@ m-filter {
@include
m-theme
()
{
box-shadow
:
0px
1px
15px
0
rgba
(
themed
(
$m-black
)
,
0
.15
);
}
.m-
filte
r__header
{
.m-
dropdownSelecto
r__header
{
@include
m-theme
()
{
border-color
:
themed
(
$m-blue
);
}
}
.m-
filte
r__optionsContainer
{
.m-
dropdownSelecto
r__optionsContainer
{
display
:
block
;
}
&
:not
(
.dropUp
)
{
.m-
filte
r__header
{
.m-
dropdownSelecto
r__header
{
@include
m-theme
()
{
border-radius
:
$rounded-top
;
}
}
.m-
filte
r__optionsContainer
{
.m-
dropdownSelecto
r__optionsContainer
{
border-top
:
none
;
border-radius
:
$rounded-bottom
;
}
}
&
.dropUp
{
.m-
filte
r__header
{
.m-
dropdownSelecto
r__header
{
border-radius
:
$rounded-bottom
;
}
.m-
filte
r__optionsContainer
{
.m-
dropdownSelecto
r__optionsContainer
{
bottom
:
100%
;
border-radius
:
$rounded-top
;
border-bottom
:
none
;
...
...
@@ -97,7 +97,7 @@ m-filter {
}
}
.m-
filte
r__header
{
.m-
dropdownSelecto
r__header
{
position
:
relative
;
border-radius
:
3px
;
transition
:
all
0
.3s
cubic-bezier
(
0
.23
,
1
,
0
.32
,
1
);
...
...
@@ -109,7 +109,7 @@ m-filter {
@include
m-theme
()
{
border
:
1px
solid
themed
(
$m-grey-100
);
}
.m-
filte
r__label
{
.m-
dropdownSelecto
r__label
{
margin-right
:
10px
;
}
i
{
...
...
@@ -118,14 +118,14 @@ m-filter {
height
:
24px
;
padding-top
:
2px
;
}
.m-
filte
r__option
{
.m-
dropdownSelecto
r__option
{
@include
m-theme
()
{
color
:
themed
(
$m-grey-500
);
}
}
}
.m-
filte
r__optionsContainer
{
.m-
dropdownSelecto
r__optionsContainer
{
box-sizing
:
border-box
;
position
:
absolute
;
display
:
none
;
...
...
@@ -139,7 +139,7 @@ m-filter {
box-shadow
:
0px
8px
16px
0px
rgba
(
themed
(
$m-black
)
,
0
.15
);
}
.m-
filte
r__option
{
.m-
dropdownSelecto
r__option
{
&
:hover:not
(
.unavailable
)
{
@include
m-theme
()
{
color
:
themed
(
$m-grey-500
);
...
...
@@ -155,13 +155,13 @@ m-filter {
}
}
.m-
filte
r__header
{
.m-
dropdownSelecto
r__header
{
display
:
flex
;
justify-content
:
space-between
;
align-items
:
center
;
padding-right
:
10px
;
}
.m-
filte
r__option
{
.m-
dropdownSelecto
r__option
{
display
:
inline-block
;
padding
:
10px
20px
;
box-sizing
:
border-box
;
...
...
@@ -184,8 +184,8 @@ m-filter {
}
@media
screen
and
(
max-width
:
$min-tablet
)
{
m-
filte
r
{
.m-
filte
r__labelWrapper
{
m-
dropdownSelecto
r
{
.m-
dropdownSelecto
r__labelWrapper
{
.m-tooltip--bubble
{
width
:
120px
;
}
...
...
@@ -194,19 +194,19 @@ m-filter {
}
@media
screen
and
(
max-width
:
$max-mobile
)
{
m-
filte
r
{
.m-
filte
r__wrapper
{
m-
dropdownSelecto
r
{
.m-
dropdownSelecto
r__wrapper
{
>
*
{
width
:
160px
;
}
.m-
filte
r__header
{
.m-
dropdownSelecto
r__header
{
padding-right
:
10px
;
i
{
display
:
none
;
}
}
.m-
filte
r__optionsContainer
{
.m-
filte
r__option
{
.m-
dropdownSelecto
r__optionsContainer
{
.m-
dropdownSelecto
r__option
{
&
:first-child
{
padding-top
:
11px
;
}
...
...
@@ -215,7 +215,7 @@ m-filter {
}
}
}
.m-
filte
r__option
{
.m-
dropdownSelecto
r__option
{
margin-right
:
0
;
padding
:
8px
18px
;
}
...
...
This diff is collapsed.
src/app/common/components/
filter/filte
r.component.ts
→
src/app/common/components/
dropdown-selector/dropdown-selecto
r.component.ts
View file @
c917b2b3
...
...
@@ -11,11 +11,11 @@ import { Session } from '../../../services/session';
import
{
Filter
,
Option
}
from
'
../../../interfaces/dashboard
'
;
@
Component
({
selector
:
'
m-
filte
r
'
,
templateUrl
:
'
./
filte
r.component.html
'
,
selector
:
'
m-
dropdownSelecto
r
'
,
templateUrl
:
'
./
dropdown-selecto
r.component.html
'
,
changeDetection
:
ChangeDetectionStrategy
.
OnPush
,
})
export
class
Filte
rComponent
implements
OnInit
{
export
class
DropdownSelecto
rComponent
implements
OnInit
{
@
Input
()
filter
:
Filter
;
@
Input
()
dropUp
:
boolean
=
false
;
@
Input
()
showLabel
:
boolean
=
true
;
...
...
This diff is collapsed.
src/app/modules/analytics/v2/components/filters/filters.component.html
View file @
c917b2b3
<div
class=
"m-analytics__filtersContainer"
>
<ng-container
*ngFor=
"let filter of filters"
>
<m-
filte
r
<m-
dropdownSelecto
r
[filter]=
"filter"
[dropUp]=
"true"
(selectionMade)=
"selectionMade($event)"
></m-
filte
r>
></m-
dropdownSelecto
r>
</ng-container>
</div>
This diff is collapsed.
src/app/modules/analytics/v2/dashboard.component.html
View file @
c917b2b3
...
...
@@ -16,14 +16,14 @@
<m-analytics__search></m-analytics__search>
</div> -->
<!-- <div class="m-analyticsDashboard__channelFilter" *ngIf="session.isAdmin()">
<m-
filter [filter]="channelFilter"></m-filte
r>
<m-
dropdownSelector [filter]="channelFilter"></m-dropdownSelecto
r>
</div> -->
<div
class=
"m-analyticsDashboard__timespanFilter"
>
<m-
filte
r
<m-
dropdownSelecto
r
[filter]=
"timespanFilter"
[showLabel]=
"false"
(selectionMade)=
"filterSelectionMade($event)"
></m-
filte
r>
></m-
dropdownSelecto
r>
</div>
</div>
</ng-container>
...
...
This diff is collapsed.
src/app/modules/analytics/v2/dashboard.component.scss
View file @
c917b2b3
...
...
@@ -30,10 +30,10 @@ m-analytics__dashboard {
}
}
}
m-
filte
r
{
m-
dropdownSelecto
r
{
margin
:
0
;
}
.m-
filte
r__wrapper
{
.m-
dropdownSelecto
r__wrapper
{
>
*
{
width
:
180px
;
}
...
...
@@ -56,9 +56,9 @@ m-analytics__dashboard {
@media
screen
and
(
max-width
:
$min-tablet
)
{
.m-dashboardLayout__header
{
m-
filte
r
{
m-
dropdownSelecto
r
{
margin
:
0
16px
8px
0
;
.m-
filte
r__wrapper
{
.m-
dropdownSelecto
r__wrapper
{
>
*
{
width
:
180px
;
}
...
...
@@ -72,8 +72,8 @@ m-analytics__dashboard {
@media
screen
and
(
max-width
:
$max-mobile
)
{
.m-dashboardLayout__header
{
m-
filte
r
{
.m-
filte
r__wrapper
{
m-
dropdownSelecto
r
{
.m-
dropdownSelecto
r__wrapper
{
>
*
{
width
:
160px
;
}
...
...
This diff is collapsed.
Please
register
or
sign in
to comment