PluginProbe
WP Ultimate Post Grid / 4.0.1
WP Ultimate Post Grid v4.0.1
4.1.1 trunk 1.5 1.6 1.7 1.7.1 1.7.2 1.8 1.9 2.0 2.1 2.2 2.3 2.4.0 2.5.0 2.6.0 2.7.0 2.8.0 2.8.2 3.0.0 3.3.0 3.4.0 3.5.0 3.6.0 3.7.0 All 32 releases
wp-ultimate-post-grid / assets / js / admin-template / main / preview-template / PreviewItem.js

PreviewItem.js in WP Ultimate Post Grid 4.0.1, at assets/js/admin-template/main/preview-template/PreviewItem.js

41 lines 1.2 KB
No matching file
Up and down to move Enter to open Esc to close
Raw Download Zip
1 import React, { Component } from 'react';
2 import AsyncSelect from 'react-select/async';
3
4 import Api from 'Shared/Api';
5
6 let defaultOptions = [];
7
8 export default class PreviewItem extends Component {
9 getOptions(input) {
10 if (!input) {
11 return Promise.resolve({ options: [] });
12 }
13
14 return Api.template.searchItems(input)
15 .then((data) => {
16 return data;
17 });
18 }
19
20 render() {
21 return (
22 <AsyncSelect
23 className="wpupg-main-container-preview-item"
24 placeholder="Search for an item to preview"
25 value={this.props.item}
26 onChange={(item) => {
27 // Remember selected item if not already remembered.
28 if ( -1 === defaultOptions.findIndex((option) => item.value === option.value ) ) {
29 defaultOptions.push(item);
30 }
31
32 this.props.onChange(item);
33 }}
34 loadOptions={this.getOptions.bind(this)}
35 defaultOptions={ defaultOptions }
36 noOptionsMessage={() => "No items found. Type to search!"}
37 clearable={false}
38 />
39 );
40 }
41 }