Skip to content
GitLab
Menu
Projects
Groups
Snippets
Loading...
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
Menu
Open sidebar
Genesys PGR
Genesys Website
Commits
9a400991
Commit
9a400991
authored
Jul 24, 2018
by
Matija Obreza
Browse files
Render filterCode as part of URL path: /subsets/v123532...
parent
4627dd0b
Changes
4
Hide whitespace changes
Inline
Side-by-side
src/actions/subsets.ts
View file @
9a400991
...
...
@@ -23,11 +23,10 @@ export { listSubsets as listSubsetsPromise };
export
const
updateRoute
=
(
paged
:
FilteredPage
<
Subset
>
)
=>
(
dispatch
)
=>
{
const
qs
=
{
f
:
paged
.
filterCode
||
undefined
,
s
:
paged
.
sort
[
0
].
property
===
Subset
.
DEFAULT_SORT
.
property
?
undefined
:
paged
.
sort
[
0
].
property
,
d
:
paged
.
sort
[
0
].
direction
===
Subset
.
DEFAULT_SORT
.
direction
?
undefined
:
paged
.
sort
[
0
].
direction
,
};
dispatch
(
navigateTo
(
null
,
qs
));
dispatch
(
navigateTo
(
paged
.
filterCode
?
`/subsets/
${
paged
.
filterCode
}
`
:
'
/subsets
'
,
qs
));
};
export
const
applyFilters
=
(
filters
:
string
|
SubsetFilter
,
page
:
IPageRequest
=
{
page
:
0
})
=>
(
dispatch
)
=>
{
...
...
src/ui/genesys/Links.tsx
View file @
9a400991
...
...
@@ -10,13 +10,13 @@ function SubsetLink({ to: subset, edit = false, children = null }
if
(
subset
)
{
if
(
edit
)
{
return
(
<
Link
to
=
{
`/subset
s
/
${
subset
.
uuid
}
/edit`
}
>
<
Link
to
=
{
`/subset/
${
subset
.
uuid
}
/edit`
}
>
{
children
||
<
Markdown
basic
source
=
{
subset
.
title
}
/>
}
</
Link
>
);
}
else
{
return
(
<
Link
to
=
{
`/subset
s
/
${
subset
.
uuid
}
`
}
>
<
Link
to
=
{
`/subset/
${
subset
.
uuid
}
`
}
>
{
children
||
<
Markdown
basic
source
=
{
subset
.
title
}
/>
}
</
Link
>
);
...
...
src/ui/pages/subsets/BrowsePage.tsx
View file @
9a400991
...
...
@@ -23,6 +23,7 @@ import SubsetFilters from './c/Filters';
interface
IBrowsePageProps
extends
React
.
ClassAttributes
<
any
>
{
paged
:
FilteredPage
<
Subset
>
;
filterCode
:
string
;
applyFilters
:
any
;
loadSubsetsPage
:
any
;
listSubsetsPromise
:
any
;
...
...
@@ -32,9 +33,9 @@ interface IBrowsePageProps extends React.ClassAttributes<any> {
class
BrowsePage
extends
React
.
Component
<
IBrowsePageProps
,
any
>
{
protected
static
needs
=
[
({
search
})
=>
{
({
search
,
params
:
{
filterCode
}
})
=>
{
const
qs
=
parse
(
search
);
return
applyFilters
(
qs
.
f
,
{
direction
:
qs
.
d
,
properties
:
[
...
qs
.
s
]
});
return
applyFilters
(
filterCode
||
''
,
{
direction
:
qs
.
d
,
properties
:
[
...
qs
.
s
]
});
},
];
...
...
@@ -43,10 +44,10 @@ class BrowsePage extends React.Component<IBrowsePageProps, any> {
}
public
componentWillMount
()
{
const
{
paged
,
applyFilters
,
updateRoute
}
=
this
.
props
;
const
{
paged
,
filterCode
,
applyFilters
,
updateRoute
}
=
this
.
props
;
if
(
!
paged
)
{
applyFilters
(
''
);
}
else
{
applyFilters
(
filterCode
||
''
);
}
else
if
(
filterCode
!==
paged
.
filterCode
)
{
updateRoute
(
paged
);
}
}
...
...
@@ -111,6 +112,7 @@ class BrowsePage extends React.Component<IBrowsePageProps, any> {
const
mapStateToProps
=
(
state
,
ownProps
)
=>
({
paged
:
state
.
subsets
.
paged
||
undefined
,
filterCode
:
ownProps
.
match
.
params
.
filterCode
,
});
const
mapDispatchToProps
=
(
dispatch
)
=>
bindActionCreators
({
...
...
src/ui/routes.tsx
View file @
9a400991
...
...
@@ -36,7 +36,7 @@ const routes = [
// },
// },
{
path
:
'
/subsets
'
,
path
:
'
/subsets
/:filterCode?
'
,
component
:
SubsetBrowsePage
,
exact
:
true
,
extraProps
:
{
...
...
@@ -45,7 +45,7 @@ const routes = [
},
},
{
path
:
'
/subset
s
/:uuid
'
,
path
:
'
/subset/:uuid
'
,
component
:
SubsetDisplayPage
,
exact
:
true
,
extraProps
:
{
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
.
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment