Skip to content
Merged
Show file tree
Hide file tree
Changes from 7 commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 0 additions & 1 deletion assets/stylesheets/_components.scss
Original file line number Diff line number Diff line change
Expand Up @@ -14,6 +14,5 @@
@import 'components/dialog/style';
@import 'components/main/style';
@import 'components/popover/style';
@import 'components/segmented-control/style';
@import 'components/tooltip/style';
@import 'layout/sidebar/style';
21 changes: 10 additions & 11 deletions client/blocks/comments/post-comment-list.jsx
Original file line number Diff line number Diff line change
Expand Up @@ -24,7 +24,6 @@ import PostComment from './post-comment';
import PostCommentFormRoot from './form-root';
import CommentCount from './comment-count';
import SegmentedControl from 'components/segmented-control';
import SegmentedControlItem from 'components/segmented-control/item';
import ConversationFollowButton from 'blocks/conversation-follow-button';
import { shouldShowConversationFollowButton } from 'blocks/conversation-follow-button/helper';
import { getCurrentUserId } from 'state/current-user/selectors';
Expand Down Expand Up @@ -421,36 +420,36 @@ class PostCommentList extends React.Component {
) }
{ showFilters && (
<SegmentedControl compact primary>
<SegmentedControlItem
<SegmentedControl.Item
selected={ commentsFilter === 'all' }
onClick={ this.handleFilterClick( 'all' ) }
>
{ translate( 'All' ) }
</SegmentedControlItem>
<SegmentedControlItem
</SegmentedControl.Item>
<SegmentedControl.Item
selected={ commentsFilter === 'approved' }
onClick={ this.handleFilterClick( 'approved' ) }
>
{ translate( 'Approved', { context: 'comment status' } ) }
</SegmentedControlItem>
<SegmentedControlItem
</SegmentedControl.Item>
<SegmentedControl.Item
selected={ commentsFilter === 'unapproved' }
onClick={ this.handleFilterClick( 'unapproved' ) }
>
{ translate( 'Pending', { context: 'comment status' } ) }
</SegmentedControlItem>
<SegmentedControlItem
</SegmentedControl.Item>
<SegmentedControl.Item
selected={ commentsFilter === 'spam' }
onClick={ this.handleFilterClick( 'spam' ) }
>
{ translate( 'Spam', { context: 'comment status' } ) }
</SegmentedControlItem>
<SegmentedControlItem
</SegmentedControl.Item>
<SegmentedControl.Item
selected={ commentsFilter === 'trash' }
onClick={ this.handleFilterClick( 'trash' ) }
>
{ translate( 'Trash', { context: 'comment status' } ) }
</SegmentedControlItem>
</SegmentedControl.Item>
</SegmentedControl>
) }
{ this.renderCommentsList( displayedComments ) }
Expand Down
13 changes: 6 additions & 7 deletions client/blocks/reader-site-notification-settings/index.jsx
Original file line number Diff line number Diff line change
Expand Up @@ -14,7 +14,6 @@ import { localize } from 'i18n-calypso';
import Gridicon from 'gridicons';
import ReaderPopover from 'reader/components/reader-popover';
import SegmentedControl from 'components/segmented-control';
import ControlItem from 'components/segmented-control/item';
import FormToggle from 'components/forms/form-toggle';
import getReaderFollows from 'state/selectors/get-reader-follows';
import {
Expand Down Expand Up @@ -194,24 +193,24 @@ class ReaderSiteNotificationSettings extends Component {

{ ! isEmailBlocked && sendNewPostsByEmail && (
<SegmentedControl>
<ControlItem
<SegmentedControl.Item
selected={ this.state.selected === 'instantly' }
onClick={ this.setSelected( 'instantly' ) }
>
{ translate( 'Instantly' ) }
</ControlItem>
<ControlItem
</SegmentedControl.Item>
<SegmentedControl.Item
selected={ this.state.selected === 'daily' }
onClick={ this.setSelected( 'daily' ) }
>
{ translate( 'Daily' ) }
</ControlItem>
<ControlItem
</SegmentedControl.Item>
<SegmentedControl.Item
selected={ this.state.selected === 'weekly' }
onClick={ this.setSelected( 'weekly' ) }
>
{ translate( 'Weekly' ) }
</ControlItem>
</SegmentedControl.Item>
</SegmentedControl>
) }
{ ! isEmailBlocked && (
Expand Down
5 changes: 2 additions & 3 deletions client/blocks/stats-navigation/intervals.js
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,6 @@ import classnames from 'classnames';
*/
import { intervals } from './constants';
import SegmentedControl from 'components/segmented-control';
import ControlItem from 'components/segmented-control/item';

/**
* Style dependencies
Expand All @@ -28,9 +27,9 @@ const Intervals = props => {
{ intervals.map( i => {
const path = pathTemplate.replace( /{{ interval }}/g, i.value );
return (
<ControlItem key={ i.value } path={ path } selected={ i.value === selected }>
<SegmentedControl.Item key={ i.value } path={ path } selected={ i.value === selected }>
{ i.label }
</ControlItem>
</SegmentedControl.Item>
);
} ) }
</SegmentedControl>
Expand Down
9 changes: 4 additions & 5 deletions client/components/post-schedule/clock.jsx
Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,6 @@ import 'moment-timezone'; // monkey patches the existing moment.js
* Internal dependencies
*/
import SegmentedControl from 'components/segmented-control';
import ControlItem from 'components/segmented-control/item';
import InfoPopover from 'components/info-popover';
import { withLocalizedMoment } from 'components/localized-moment';
import getSiteSetting from 'state/selectors/get-site-setting';
Expand Down Expand Up @@ -219,20 +218,20 @@ class PostScheduleClock extends Component {
value={ date.format( 'A' ) }
/>
<SegmentedControl compact>
<ControlItem
<SegmentedControl.Item
value="am"
onClick={ this.setAm }
selected={ 'AM' === date.format( 'A' ) }
>
{ translate( 'AM' ) }
</ControlItem>
<ControlItem
</SegmentedControl.Item>
<SegmentedControl.Item
value="pm"
onClick={ this.setPm }
selected={ 'PM' === date.format( 'A' ) }
>
{ translate( 'PM' ) }
</ControlItem>
</SegmentedControl.Item>
</SegmentedControl>
</span>
) }
Expand Down
33 changes: 6 additions & 27 deletions client/components/section-nav/segmented.jsx
Original file line number Diff line number Diff line change
Expand Up @@ -9,19 +9,13 @@ import classNames from 'classnames';
/**
* Internal Dependencies
*/
import ControlItem from 'components/segmented-control/item';
import SegmentedControl from 'components/segmented-control';

/**
* Style dependencies
*/
import './segmented.scss';

/**
* Internal variables
*/
let _instance = 1;

class NavSegmented extends Component {
static propTypes = {
label: PropTypes.string,
Expand All @@ -32,15 +26,8 @@ class NavSegmented extends Component {
hasSiblingControls: false,
};

componentWillMount() {
this.id = _instance;
_instance++;
}

render() {
const segmentedClassName = classNames( {
'section-nav-group': true,
'section-nav__segmented': true,
const segmentedClassName = classNames( 'section-nav-group', 'section-nav__segmented', {
'has-siblings': this.props.hasSiblingControls,
} );

Expand All @@ -55,19 +42,11 @@ class NavSegmented extends Component {
);
}

getControlItems = () => {
return React.Children.map(
this.props.children,
function( child, index ) {
return (
<ControlItem { ...child.props } key={ 'navSegmented-' + this.id + '-' + index }>
{ child.props.children }
</ControlItem>
);
},
this
);
};
getControlItems() {
return React.Children.map( this.props.children, ( child, index ) => (
<SegmentedControl.Item { ...child.props } key={ index } />
) );
}
}

export default NavSegmented;
21 changes: 10 additions & 11 deletions client/components/segmented-control/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -17,48 +17,47 @@ A good example for this case is navigation. Sometimes the option that is selecte
```jsx
import React from 'react';
import SegmentedControl from 'components/segmented-control';
import SegmentedControlItem from 'components/segmented-control/item';

export default class extends React.Component {
// ...

render() {
return (
<SegmentedControl>
<SegmentedControlItem
<SegmentedControl.Item
selected={ this.state.selected === 'all' }
onClick={ this.handleFilterClick( 'all' ) }
>
All
</SegmentedControlItem>
</SegmentedControl.Item>

<SegmentedControlItem
<SegmentedControl.Item
selected={ this.state.selected === 'unread' }
onClick={ this.handleFilterClick( 'unread' ) }
>
Unread
</SegmentedControlItem>
</SegmentedControl.Item>

<SegmentedControlItem
<SegmentedControl.Item
selected={ this.state.selected === 'comments' }
onClick={ this.handleFilterClick( 'comments' ) }
>
Comments
</SegmentedControlItem>
</SegmentedControl.Item>

<SegmentedControlItem
<SegmentedControl.Item
selected={ this.state.selected === 'follows' }
onClick={ this.handleFilterClick( 'follows' ) }
>
Follows
</SegmentedControlItem>
</SegmentedControl.Item>

<SegmentedControlItem
<SegmentedControl.Item
selected={ this.state.selected === 'likes' }
onClick={ this.handleFilterClick( 'likes' ) }
>
Likes
</SegmentedControlItem>
</SegmentedControl.Item>
</SegmentedControl>
);
},
Expand Down
Loading