require('./notificationLookup.less'); const React = require('react'); const createClass = require('create-react-class'); const cx = require('classnames'); const request = require('superagent'); const Moment = require('moment'); const NotificationLookup = createClass({ displayName : 'NotificationLookup', getDefaultProps() { return {}; }, getInitialState() { return { query : '', foundNotification : null, searching : false, error : null }; }, handleChange(e){ this.setState({ query: e.target.value }); }, lookup(){ this.setState({ searching: true, error: null }); request.get(`/admin/notification/lookup/${this.state.query}`) .then((res)=>this.setState({ foundNotification: res.body })) .catch((err)=>this.setState({ error: err })) .finally(()=>this.setState({ searching: false })); }, deleteNotification : function(){ console.log('DELETE'); if(!confirm(`Really delete notification ${this.state.foundNotification.dismissKey} : ${this.state.foundNotification.title}?`)) { console.log('CANCELLED'); return; } console.log('CONFIRMED'); return; }, renderFoundNotification(){ const notification = this.state.foundNotification; return
Key
{notification.dismissKey}
Title
{notification.title || 'No Title'}
Text
{notification.text || 'No Text'}
Created
{Moment(notification.createdAt).toLocaleString()}
Start
{Moment(notification.startAt).toLocaleString() || 'No Start Time'}
Stop
{Moment(notification.stopAt).toLocaleString() || 'No End Time'}
; }, render(){ return

Lookup

{this.state.error &&
{this.state.error.toString()}
} {this.state.foundNotification ? this.renderFoundNotification() :
No notification found.
}
; } }); module.exports = NotificationLookup;