Submit
Path:
~
/
home
/
getwphos
/
www
/
bubrupamjcb.com
/
wp-content
/
plugins
/
canvas
/
gutenberg
/
components
/
query-control
/
File Content:
index.jsx
/** * Internal dependencies */ import PostTypeSelectorControl from '../post-type-selector-control'; import PostFormatsSelectorControl from '../post-formats-selector-control'; import CategoriesSelectorControl from '../categories-selector-control'; import TagsSelectorControl from '../tags-selector-control'; import PostsSelectorControl from '../posts-selector-control'; /** * WordPress dependencies */ const { __, } = wp.i18n; const { Component, Fragment, } = wp.element; const { TextControl, SelectControl, } = wp.components; /** * Component */ export default class ComponentQueryControl extends Component { constructor() { super( ...arguments ); this.updateValue = this.updateValue.bind( this ); } updateValue( newData ) { const { value, onChange, } = this.props; const result = { ...value, ...newData, }; // reset categories, tags and posts filters if post_type != 'post' if ( 'post' === value.post_type && 'post' !== result.post_type ) { result.categories = ''; result.tags = ''; result.posts = ''; } onChange( result ); } render() { const { value: { posts_type = 'post', categories = '', tags = '', exclude_categories = '', exclude_tags = '', formats = '', posts = '', offset = '', orderby = 'date', order = 'DESC', time_frame = '', taxonomy = '', terms = '', }, } = this.props; return ( <Fragment> <PostTypeSelectorControl label={ __( 'Post Type' ) } value={ posts_type } onChange={ ( val ) => { this.updateValue( { posts_type: val, } ); } } /> { 'post' === posts_type ? ( <Fragment> <CategoriesSelectorControl label={ __( 'Filter by Categories' ) } value={ categories } onChange={ ( val ) => { this.updateValue( { categories: val, } ); } } /> <TagsSelectorControl label={ __( 'Filter by Tags' ) } value={ tags } onChange={ ( val ) => { this.updateValue( { tags: val, } ); } } /> </Fragment> ) : '' } { 'post' === posts_type ? ( <Fragment> <CategoriesSelectorControl label={ __( 'Exclude Categories' ) } value={ exclude_categories } onChange={ ( val ) => { this.updateValue( { exclude_categories: val, } ); } } /> <TagsSelectorControl label={ __( 'Exclude Tags' ) } value={ exclude_tags } onChange={ ( val ) => { this.updateValue( { exclude_tags: val, } ); } } /> </Fragment> ) : '' } <PostFormatsSelectorControl label={ __( 'Filter by Formats' ) } value={ formats } onChange={ ( val ) => { this.updateValue( { formats: val, } ); } } /> <PostsSelectorControl label={ __( 'Filter by Posts' ) } value={ posts } postType={ posts_type } onChange={ ( val ) => { this.updateValue( { posts: val, } ); } } /> <TextControl label={ __( 'Offset' ) } value={ offset } onChange={ ( val ) => { this.updateValue( { offset: val, } ); } } /> <SelectControl label={ __( 'Order by' ) } value={ orderby } options={ [ { label: __( 'Published Date' ), value: 'date', }, { label: __( 'Modified Date' ), value: 'modified', }, { label: __( 'Title' ), value: 'title', }, { label: __( 'Random' ), value: 'rand', }, { label: __( 'Views' ), value: 'views', }, { label: __( 'Comment Count' ), value: 'comment_count', }, { label: __( 'ID' ), value: 'ID', }, { label: __( 'Custom' ), value: 'post__in', }, ] } onChange={ ( val ) => { this.updateValue( { orderby: val, } ); } } /> { 'views' === orderby ? ( <TextControl label={ __( 'Filter by Time Frame' ) } help={ __( 'Add period of posts in English. For example: «2 months», «14 days» or even «1 year»' ) } value={ time_frame } onChange={ ( val ) => { this.updateValue( { time_frame: val, } ); } } /> ) : '' } <SelectControl label={ __( 'Order' ) } value={ order } options={ [ { label: __( 'Descending' ), value: 'DESC', }, { label: __( 'Ascending' ), value: 'ASC', }, ] } onChange={ ( val ) => { this.updateValue( { order: val, } ); } } /> <TextControl label={ __( 'Filter by Taxonomy' ) } value={ taxonomy } onChange={ ( val ) => { this.updateValue( { taxonomy: val, } ); } } /> <TextControl label={ __( 'Filter by Terms' ) } value={ terms } onChange={ ( val ) => { this.updateValue( { terms: val, } ); } } /> </Fragment> ); } }
Submit
FILE
FOLDER
Name
Size
Permission
Action
index.jsx
5130 bytes
0644
N4ST4R_ID | Naxtarrr