UNPKG

react-mapfilter

Version:

A React Component for viewing and filtering GeoJSON

109 lines (77 loc) 3.72 kB
'use strict'; Object.defineProperty(exports, "__esModule", { value: true }); var _keys = require('babel-runtime/core-js/object/keys'); var _keys2 = _interopRequireDefault(_keys); var _getPrototypeOf = require('babel-runtime/core-js/object/get-prototype-of'); var _getPrototypeOf2 = _interopRequireDefault(_getPrototypeOf); var _classCallCheck2 = require('babel-runtime/helpers/classCallCheck'); var _classCallCheck3 = _interopRequireDefault(_classCallCheck2); var _createClass2 = require('babel-runtime/helpers/createClass'); var _createClass3 = _interopRequireDefault(_createClass2); var _possibleConstructorReturn2 = require('babel-runtime/helpers/possibleConstructorReturn'); var _possibleConstructorReturn3 = _interopRequireDefault(_possibleConstructorReturn2); var _inherits2 = require('babel-runtime/helpers/inherits'); var _inherits3 = _interopRequireDefault(_inherits2); var _react = require('react'); var _react2 = _interopRequireDefault(_react); var _propTypes = require('prop-types'); var _propTypes2 = _interopRequireDefault(_propTypes); var _prop_types = require('../../util/prop_types'); var MFPropTypes = _interopRequireWildcard(_prop_types); var _ImageGrid = require('./ImageGrid'); var _ImageGrid2 = _interopRequireDefault(_ImageGrid); var _constants = require('../../constants'); function _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } else { var newObj = {}; if (obj != null) { for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) newObj[key] = obj[key]; } } newObj.default = obj; return newObj; } } function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } var MediaView = function (_React$Component) { (0, _inherits3.default)(MediaView, _React$Component); function MediaView() { (0, _classCallCheck3.default)(this, MediaView); return (0, _possibleConstructorReturn3.default)(this, (MediaView.__proto__ || (0, _getPrototypeOf2.default)(MediaView)).apply(this, arguments)); } (0, _createClass3.default)(MediaView, [{ key: 'shouldComponentUpdate', value: function shouldComponentUpdate(nextProps) { return nextProps.fieldAnalysis !== this.props.fieldAnalysis || nextProps.filteredFeatures !== this.props.filteredFeatures; } }, { key: 'getImages', value: function getImages() { var _props = this.props, fieldAnalysis = _props.fieldAnalysis, filteredFeatures = _props.filteredFeatures; var imageFieldNames = (0, _keys2.default)(fieldAnalysis.properties).filter(function (fieldname) { return fieldAnalysis.properties[fieldname].type === _constants.FIELD_TYPE_IMAGE; }); return filteredFeatures.reduce(function (p, feature) { imageFieldNames.forEach(function (f) { if (feature.properties[f] && feature.properties[f] !== _constants.UNDEFINED_KEY) { p.push({ url: feature.properties[f], featureId: feature.id }); } }); return p; }, []); } }, { key: 'render', value: function render() { var showFeatureDetail = this.props.showFeatureDetail; var images = this.getImages(); return _react2.default.createElement(_ImageGrid2.default, { images: images, onImageClick: showFeatureDetail }); } }]); return MediaView; }(_react2.default.Component); MediaView.propTypes = { showFeatureDetail: _propTypes2.default.func.isRequired, fieldAnalysis: MFPropTypes.fieldAnalysis, filteredFeatures: _propTypes2.default.arrayOf(MFPropTypes.mapViewFeature).isRequired }; MediaView.MfViewId = 'media'; exports.default = MediaView; //# sourceMappingURL=MediaView.js.map