Skip to content

Commit

Permalink
fix(toolbar): issues/377 openshiftView, remove usage filter (#378)
Browse files Browse the repository at this point in the history
* graphCard,c3GraphCard, switch redux granularity type
* locale, i18n, switch toolbar strings to context
* openshiftView, rhelView, apply filters for toolbar
* redux, queryTypes, viewReducer, granularity, sla, usage types
* toolbar, convert to config based filter display
* toolbarTypes, use context for locale strings
  • Loading branch information
cdcabrera committed Aug 24, 2020
1 parent f6fc39f commit 1a12310
Show file tree
Hide file tree
Showing 18 changed files with 427 additions and 223 deletions.
10 changes: 5 additions & 5 deletions public/locales/en-US.json
Original file line number Diff line number Diff line change
Expand Up @@ -50,15 +50,15 @@
},
"curiosity-toolbar": {
"category": "Filter by",
"categoryPlaceholder": "Filter by",
"slaCategory": "SLA",
"placeholder": "Filter by",
"category_sla": "SLA",
"placeholder_sla": "Filter by SLA",
"category_usage": "Usage",
"placeholder_usage": "Filter by usage",
"slaNone": "No SLA",
"slaPlaceholder": "Filter by SLA",
"slaPremium": "Premium",
"slaSelfSupport": "Self-Support",
"slaStandard": "Standard",
"usageCategory": "Usage",
"usagePlaceholder": "Filter by usage",
"usageDevelopment": "Development/Test",
"usageDisaster": "Disaster Recovery",
"usageProduction": "Production",
Expand Down
2 changes: 1 addition & 1 deletion src/components/c3GraphCard/c3GraphCard.js
Original file line number Diff line number Diff line change
Expand Up @@ -67,7 +67,7 @@ class C3GraphCard extends React.Component {
const { viewId } = this.props;

store.dispatch({
type: reduxTypes.query.SET_QUERY_GRANULARITY_RHSM,
type: reduxTypes.query.SET_QUERY_RHSM_TYPES[rhsmApiTypes.RHSM_API_QUERY_GRANULARITY],
viewId,
[rhsmApiTypes.RHSM_API_QUERY_GRANULARITY]: value
});
Expand Down
2 changes: 1 addition & 1 deletion src/components/graphCard/graphCard.js
Original file line number Diff line number Diff line change
Expand Up @@ -67,7 +67,7 @@ class GraphCard extends React.Component {
const { viewId } = this.props;

store.dispatch({
type: reduxTypes.query.SET_QUERY_GRANULARITY_RHSM,
type: reduxTypes.query.SET_QUERY_RHSM_TYPES[rhsmApiTypes.RHSM_API_QUERY_GRANULARITY],
viewId,
[rhsmApiTypes.RHSM_API_QUERY_GRANULARITY]: value
});
Expand Down
38 changes: 13 additions & 25 deletions src/components/i18n/__tests__/__snapshots__/i18n.test.js.snap
Original file line number Diff line number Diff line change
Expand Up @@ -332,35 +332,23 @@ Array [
"keys": Array [
Object {
"key": "curiosity-toolbar.category",
"match": "t('curiosity-toolbar.category')",
},
Object {
"key": "curiosity-toolbar.categoryPlaceholder",
"match": "t('curiosity-toolbar.categoryPlaceholder')",
},
Object {
"key": "curiosity-toolbar.slaCategory",
"match": "t('curiosity-toolbar.slaCategory')",
},
Object {
"key": "curiosity-toolbar.slaCategory",
"match": "t('curiosity-toolbar.slaCategory')",
"match": "t('curiosity-toolbar.category', { context: field })",
},
Object {
"key": "curiosity-toolbar.slaPlaceholder",
"match": "t('curiosity-toolbar.slaPlaceholder')",
"key": "curiosity-toolbar.category",
"match": "t('curiosity-toolbar.category', { context: field })",
},
Object {
"key": "curiosity-toolbar.usageCategory",
"match": "t('curiosity-toolbar.usageCategory')",
"key": "curiosity-toolbar.placeholder",
"match": "t('curiosity-toolbar.placeholder', { context: field })",
},
Object {
"key": "curiosity-toolbar.usageCategory",
"match": "t('curiosity-toolbar.usageCategory')",
"key": "curiosity-toolbar.category",
"match": "t('curiosity-toolbar.category')",
},
Object {
"key": "curiosity-toolbar.usagePlaceholder",
"match": "t('curiosity-toolbar.usagePlaceholder')",
"key": "curiosity-toolbar.placeholder",
"match": "t('curiosity-toolbar.placeholder')",
},
],
},
Expand Down Expand Up @@ -400,12 +388,12 @@ Array [
"match": "translate('curiosity-toolbar.usageUnspecified')",
},
Object {
"key": "curiosity-toolbar.slaCategory",
"match": "translate('curiosity-toolbar.slaCategory')",
"key": "curiosity-toolbar.category",
"match": "translate('curiosity-toolbar.category', { context: RHSM_API_QUERY_SLA })",
},
Object {
"key": "curiosity-toolbar.usageCategory",
"match": "translate('curiosity-toolbar.usageCategory')",
"key": "curiosity-toolbar.category",
"match": "translate('curiosity-toolbar.category', { context: RHSM_API_QUERY_USAGE })",
},
],
},
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -10,6 +10,13 @@ exports[`OpenshiftView Component should display an alternate graph on query-stri
</PageHeader>
<PageToolbar>
<Connect(Toolbar)
filterOptions={
Array [
Object {
"id": "sla",
},
]
}
query={
Object {
"granularity": "daily",
Expand Down Expand Up @@ -84,6 +91,13 @@ exports[`OpenshiftView Component should have a fallback title: title 1`] = `
</PageHeader>
<PageToolbar>
<Connect(Toolbar)
filterOptions={
Array [
Object {
"id": "sla",
},
]
}
query={
Object {
"granularity": "daily",
Expand Down Expand Up @@ -158,6 +172,13 @@ exports[`OpenshiftView Component should render a non-connected component: non-co
</PageHeader>
<PageToolbar>
<Connect(Toolbar)
filterOptions={
Array [
Object {
"id": "sla",
},
]
}
query={
Object {
"granularity": "daily",
Expand Down
17 changes: 12 additions & 5 deletions src/components/openshiftView/openshiftView.js
Original file line number Diff line number Diff line change
Expand Up @@ -74,7 +74,7 @@ class OpenshiftView extends React.Component {
*/
render() {
const { filters } = this.state;
const { query, location, routeDetail, t, viewId } = this.props;
const { query, initialToolbarFilters, location, routeDetail, t, viewId } = this.props;
const isC3 = location?.parsedSearch?.c3 === '';

return (
Expand All @@ -83,7 +83,7 @@ class OpenshiftView extends React.Component {
{t(`curiosity-view.title`, { appName: helpers.UI_DISPLAY_NAME, context: viewId })}
</PageHeader>
<PageToolbar>
<Toolbar query={query} viewId={viewId} />
<Toolbar filterOptions={initialToolbarFilters} query={query} viewId={viewId} />
</PageToolbar>
<PageSection>
{(isC3 && (
Expand Down Expand Up @@ -120,15 +120,16 @@ class OpenshiftView extends React.Component {
/**
* Prop types.
*
* @type {{initialFilters: Array, initialOption: string, viewId: string, t: Function, query: object,
* routeDetail: object, location: object}}
* @type {{initialFilters: Array, initialOption: string, initialToolbarFilters: Array, viewId: string,
* t: Function, query: object, routeDetail: object, location: object}}
*/
OpenshiftView.propTypes = {
query: PropTypes.shape({
[rhsmApiTypes.RHSM_API_QUERY_GRANULARITY]: PropTypes.oneOf([...Object.values(GRANULARITY_TYPES)])
}),
initialOption: PropTypes.oneOf(['cores', 'sockets']),
initialFilters: PropTypes.array,
initialToolbarFilters: PropTypes.array,
location: PropTypes.shape({
parsedSearch: PropTypes.objectOf(PropTypes.string)
}).isRequired,
Expand All @@ -146,7 +147,8 @@ OpenshiftView.propTypes = {
/**
* Default props.
*
* @type {{initialFilters: Array, initialOption: string, viewId: string, t: translate, query: object}}
* @type {{initialFilters: Array, initialOption: string, initialToolbarFilters: Array, viewId: string,
* t: translate, query: object}}
*/
OpenshiftView.defaultProps = {
query: {
Expand All @@ -164,6 +166,11 @@ OpenshiftView.defaultProps = {
{ id: 'thresholdSockets' },
{ id: 'thresholdCores' }
],
initialToolbarFilters: [
{
id: rhsmApiTypes.RHSM_API_QUERY_SLA
}
],
t: translate,
viewId: 'OpenShift'
};
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -10,6 +10,17 @@ exports[`RhelView Component should display an alternate graph on query-string up
</PageHeader>
<PageToolbar>
<Connect(Toolbar)
filterOptions={
Array [
Object {
"id": "sla",
},
Object {
"id": "usage",
"selected": true,
},
]
}
query={
Object {
"granularity": "daily",
Expand Down Expand Up @@ -70,6 +81,17 @@ exports[`RhelView Component should have a fallback title: title 1`] = `
</PageHeader>
<PageToolbar>
<Connect(Toolbar)
filterOptions={
Array [
Object {
"id": "sla",
},
Object {
"id": "usage",
"selected": true,
},
]
}
query={
Object {
"granularity": "daily",
Expand Down Expand Up @@ -130,6 +152,17 @@ exports[`RhelView Component should render a non-connected component: non-connect
</PageHeader>
<PageToolbar>
<Connect(Toolbar)
filterOptions={
Array [
Object {
"id": "sla",
},
Object {
"id": "usage",
"selected": true,
},
]
}
query={
Object {
"granularity": "daily",
Expand Down
20 changes: 15 additions & 5 deletions src/components/rhelView/rhelView.js
Original file line number Diff line number Diff line change
Expand Up @@ -31,7 +31,7 @@ class RhelView extends React.Component {
* @returns {Node}
*/
render() {
const { query, initialFilters, location, routeDetail, t, viewId } = this.props;
const { query, initialFilters, initialToolbarFilters, location, routeDetail, t, viewId } = this.props;
const isC3 = location?.parsedSearch?.c3 === '';

return (
Expand All @@ -40,7 +40,7 @@ class RhelView extends React.Component {
{t(`curiosity-view.title`, { appName: helpers.UI_DISPLAY_NAME, context: viewId })}
</PageHeader>
<PageToolbar>
<Toolbar query={query} viewId={viewId} />
<Toolbar filterOptions={initialToolbarFilters} query={query} viewId={viewId} />
</PageToolbar>
<PageSection>
{(isC3 && (
Expand Down Expand Up @@ -73,14 +73,15 @@ class RhelView extends React.Component {
/**
* Prop types.
*
* @type {{initialFilters: Array, viewId: string, t: Function, query: object, routeDetail: object,
* location: object}}
* @type {{initialFilters: Array, initialToolbarFilters: Array, viewId: string, t: Function, query: object,
* routeDetail: object, location: object}}
*/
RhelView.propTypes = {
query: PropTypes.shape({
[rhsmApiTypes.RHSM_API_QUERY_GRANULARITY]: PropTypes.oneOf([...Object.values(GRANULARITY_TYPES)])
}),
initialFilters: PropTypes.array,
initialToolbarFilters: PropTypes.array,
location: PropTypes.shape({
parsedSearch: PropTypes.objectOf(PropTypes.string)
}).isRequired,
Expand All @@ -98,7 +99,7 @@ RhelView.propTypes = {
/**
* Default props.
*
* @type {{initialFilters: Array, viewId: string, t: translate, query: object}}
* @type {{initialFilters: Array, initialToolbarFilters: Array, viewId: string, t: translate, query: object}}
*/
RhelView.defaultProps = {
query: {
Expand All @@ -125,6 +126,15 @@ RhelView.defaultProps = {
},
{ id: 'thresholdSockets' }
],
initialToolbarFilters: [
{
id: rhsmApiTypes.RHSM_API_QUERY_SLA
},
{
id: rhsmApiTypes.RHSM_API_QUERY_USAGE,
selected: true
}
],
t: translate,
viewId: 'RHEL'
};
Expand Down
Loading

0 comments on commit 1a12310

Please sign in to comment.