Skip to content

Instantly share code, notes, and snippets.

@jonleopard
Created March 14, 2018 10:33
Show Gist options
  • Save jonleopard/454f055588167e17884ca8e355d9fbf7 to your computer and use it in GitHub Desktop.
Save jonleopard/454f055588167e17884ca8e355d9fbf7 to your computer and use it in GitHub Desktop.
JS Bin // source https://jsbin.com/titila
<script src="https://fb.me/react-15.1.0.js"></script>
<script src="https://fb.me/react-dom-15.1.0.js"></script>
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width">
<title>JS Bin</title>
</head>
<body>
<script id="jsbin-javascript">
'use strict';
Object.defineProperty(exports, '__esModule', {
value: true
});
var _createClass = (function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ('value' in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; })();
var _get = function get(_x, _x2, _x3) { var _again = true; _function: while (_again) { var object = _x, property = _x2, receiver = _x3; desc = parent = getter = undefined; _again = false; if (object === null) object = Function.prototype; var desc = Object.getOwnPropertyDescriptor(object, property); if (desc === undefined) { var parent = Object.getPrototypeOf(object); if (parent === null) { return undefined; } else { _x = parent; _x2 = property; _x3 = receiver; _again = true; continue _function; } } else if ('value' in desc) { return desc.value; } else { var getter = desc.get; if (getter === undefined) { return undefined; } return getter.call(receiver); } } };
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; }
function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError('Cannot call a class as a function'); } }
function _inherits(subClass, superClass) { if (typeof superClass !== 'function' && superClass !== null) { throw new TypeError('Super expression must either be null or a function, not ' + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }
var _react = require('react');
var _react2 = _interopRequireDefault(_react);
var _SearchInput = require('./SearchInput');
var _SearchInput2 = _interopRequireDefault(_SearchInput);
var _rebass = require('rebass');
var API_URL = 'https://api.wunderground.com/api/2d50e8d7d184fe13/astronomy/q/France/Paris.json';
var CitySearch = (function (_React$Component) {
_inherits(CitySearch, _React$Component);
function CitySearch() {
_classCallCheck(this, CitySearch);
_get(Object.getPrototypeOf(CitySearch.prototype), 'constructor', this).apply(this, arguments);
this.state = {
error: null,
isLoaded: false,
moonData: []
};
}
_createClass(CitySearch, [{
key: 'componentDidMount',
value: function componentDidMount() {
var _this = this;
fetch(API_URL).then(function (res) {
return res.json();
}).then(function (result) {
_this.setState({
isLoaded: true,
moonData: result.moonData
});
}, function (error) {
_this.setState({
isLoaded: true,
error: error
});
});
}
}, {
key: 'render',
value: function render() {
var _state = this.state;
var error = _state.error;
var isLoaded = _state.isLoaded;
var moonData = _state.moonData;
if (error) {
return _react2['default'].createElement(
'div',
null,
'Error: ',
error.message
);
} else if (!isLoaded) {
return _react2['default'].createElement(
'div',
null,
'Loading...'
);
} else {
return _react2['default'].createElement(
'ul',
null,
moonData.map(function (moon) {
return _react2['default'].createElement(
'li',
{ key: moon.percentIlluminated },
moon.phaseofMoon,
' ',
moon.ageOfMoon
);
})
);
}
}
}]);
return CitySearch;
})(_react2['default'].Component);
exports['default'] = CitySearch;
module.exports = exports['default'];
</script>
<script id="jsbin-source-javascript" type="text/javascript">import React from 'react';
import SearchInput from './SearchInput';
import { Container } from 'rebass';
const API_URL =
'https://api.wunderground.com/api/2d50e8d7d184fe13/astronomy/q/France/Paris.json';
class CitySearch extends React.Component {
state = {
error: null,
isLoaded: false,
moonData: [],
};
componentDidMount() {
fetch(API_URL)
.then(res => res.json())
.then(
result => {
this.setState({
isLoaded: true,
moonData: result.moonData,
});
},
error => {
this.setState({
isLoaded: true,
error,
});
}
);
}
render() {
const { error, isLoaded, moonData } = this.state;
if (error) {
return <div>Error: {error.message}</div>;
} else if (!isLoaded) {
return <div>Loading...</div>;
} else {
return (
<ul>
{moonData.map(moon => (
<li key={moon.percentIlluminated}>
{moon.phaseofMoon} {moon.ageOfMoon}
</li>
))}
</ul>
);
}
}
}
export default CitySearch;
</script></body>
</html>
'use strict';
Object.defineProperty(exports, '__esModule', {
value: true
});
var _createClass = (function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ('value' in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; })();
var _get = function get(_x, _x2, _x3) { var _again = true; _function: while (_again) { var object = _x, property = _x2, receiver = _x3; desc = parent = getter = undefined; _again = false; if (object === null) object = Function.prototype; var desc = Object.getOwnPropertyDescriptor(object, property); if (desc === undefined) { var parent = Object.getPrototypeOf(object); if (parent === null) { return undefined; } else { _x = parent; _x2 = property; _x3 = receiver; _again = true; continue _function; } } else if ('value' in desc) { return desc.value; } else { var getter = desc.get; if (getter === undefined) { return undefined; } return getter.call(receiver); } } };
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; }
function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError('Cannot call a class as a function'); } }
function _inherits(subClass, superClass) { if (typeof superClass !== 'function' && superClass !== null) { throw new TypeError('Super expression must either be null or a function, not ' + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }
var _react = require('react');
var _react2 = _interopRequireDefault(_react);
var _SearchInput = require('./SearchInput');
var _SearchInput2 = _interopRequireDefault(_SearchInput);
var _rebass = require('rebass');
var API_URL = 'https://api.wunderground.com/api/2d50e8d7d184fe13/astronomy/q/France/Paris.json';
var CitySearch = (function (_React$Component) {
_inherits(CitySearch, _React$Component);
function CitySearch() {
_classCallCheck(this, CitySearch);
_get(Object.getPrototypeOf(CitySearch.prototype), 'constructor', this).apply(this, arguments);
this.state = {
error: null,
isLoaded: false,
moonData: []
};
}
_createClass(CitySearch, [{
key: 'componentDidMount',
value: function componentDidMount() {
var _this = this;
fetch(API_URL).then(function (res) {
return res.json();
}).then(function (result) {
_this.setState({
isLoaded: true,
moonData: result.moonData
});
}, function (error) {
_this.setState({
isLoaded: true,
error: error
});
});
}
}, {
key: 'render',
value: function render() {
var _state = this.state;
var error = _state.error;
var isLoaded = _state.isLoaded;
var moonData = _state.moonData;
if (error) {
return _react2['default'].createElement(
'div',
null,
'Error: ',
error.message
);
} else if (!isLoaded) {
return _react2['default'].createElement(
'div',
null,
'Loading...'
);
} else {
return _react2['default'].createElement(
'ul',
null,
moonData.map(function (moon) {
return _react2['default'].createElement(
'li',
{ key: moon.percentIlluminated },
moon.phaseofMoon,
' ',
moon.ageOfMoon
);
})
);
}
}
}]);
return CitySearch;
})(_react2['default'].Component);
exports['default'] = CitySearch;
module.exports = exports['default'];
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment