betterplace_explorer 0.0.1.pre.alpha3 → 0.0.1.pre.alpha4

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 744007d44908e58afb9c3df1132147d461da05b0
4
- data.tar.gz: d7a826b8fde7e9b7c20bd3d0f2333dd0f570ff64
3
+ metadata.gz: 3f05de83b8c3285d214c8e08cb1b34885d09041d
4
+ data.tar.gz: 3dcb0b5cdab9f9373a6a96c0ee8808351e2613ec
5
5
  SHA512:
6
- metadata.gz: d35926895739173156e4b1dbb6844b427f76b76b0973ea7e2e11a930b4b696059982a186b4f237ba4a81b745b05858353c853ff5bac169cbac972f322ff9e1a9
7
- data.tar.gz: 90c5334037a76eb768cee703e6300907b16ca3f5899852901120e093ee521c59cbccaf787fbb16a459b21aecaea7e45f3c62a975ed52fdc281c5a73db28bc90f
6
+ metadata.gz: f3efa99099cbb1c5e4aa475f235149fe794d0a6aa08b1089f4ebe76808ee5845dbaca53a25ab2420f066bc05c8dfab90e3f026143d3a8b745d11edf1d3963630
7
+ data.tar.gz: d9371bd9ee1184a344355d113c1e66014bd231acc3dfcdd2111a32710a27bb41f49086365285c7e739c24fc33a92b1a48b8a852eb1c991224781ef95d8fa1ce1
@@ -64,14 +64,10 @@
64
64
 
65
65
  var _Map2 = _interopRequireDefault(_Map);
66
66
 
67
- var _LocationInput = __webpack_require__(277);
67
+ var _LocationInput = __webpack_require__(278);
68
68
 
69
69
  var _LocationInput2 = _interopRequireDefault(_LocationInput);
70
70
 
71
- var _Pagination = __webpack_require__(278);
72
-
73
- var _Pagination2 = _interopRequireDefault(_Pagination);
74
-
75
71
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; }
76
72
 
77
73
  var Explorer = _react2['default'].createClass({
@@ -114,18 +110,9 @@
114
110
  return _react2['default'].createElement(
115
111
  'div',
116
112
  { className: 'betterplace-explorer' },
117
- _react2['default'].createElement(
118
- 'div',
119
- { className: 'row' },
120
- _react2['default'].createElement(_LocationInput2['default'], { changeLocation: this.changeLocation })
121
- ),
122
- _react2['default'].createElement(
123
- 'div',
124
- { className: 'row' },
125
- _react2['default'].createElement(_Pagination2['default'], { currentPage: this.state.currentPage, totalPages: this.state.totalPages, changePage: this.changePage }),
126
- _react2['default'].createElement(_VolunteeringList2['default'], { records: this.state.records, totalEntries: this.state.totalEntries, setHighlightRecord: this.setHighlightRecord }),
127
- _react2['default'].createElement(_Map2['default'], { records: this.state.records, mapIdle: this.loadByBoundingBox, changeBounds: this.state.changeBounds, highlightRecord: this.state.highlightRecord })
128
- )
113
+ _react2['default'].createElement(_LocationInput2['default'], { changeLocation: this.changeLocation }),
114
+ _react2['default'].createElement(_VolunteeringList2['default'], { records: this.state.records, totalEntries: this.state.totalEntries, setHighlightRecord: this.setHighlightRecord, currentPage: this.state.currentPage, totalPages: this.state.totalPages, changePage: this.changePage }),
115
+ _react2['default'].createElement(_Map2['default'], { records: this.state.records, mapIdle: this.loadByBoundingBox, changeBounds: this.state.changeBounds, highlightRecord: this.state.highlightRecord, setHighlightRecord: this.setHighlightRecord })
129
116
  );
130
117
  }
131
118
 
@@ -26026,6 +26013,10 @@
26026
26013
 
26027
26014
  var _react2 = _interopRequireDefault(_react);
26028
26015
 
26016
+ var _Pagination = __webpack_require__(279);
26017
+
26018
+ var _Pagination2 = _interopRequireDefault(_Pagination);
26019
+
26029
26020
  var _Volunteering = __webpack_require__(230);
26030
26021
 
26031
26022
  var _Volunteering2 = _interopRequireDefault(_Volunteering);
@@ -26045,7 +26036,7 @@
26045
26036
 
26046
26037
  return _react2['default'].createElement(
26047
26038
  'div',
26048
- { className: 'col-md-14 bpe--volunteering-list' },
26039
+ { className: 'bpe--volunteering-list' },
26049
26040
  _react2['default'].createElement(
26050
26041
  'h1',
26051
26042
  null,
@@ -26058,6 +26049,11 @@
26058
26049
  'div',
26059
26050
  null,
26060
26051
  volunteeringNodes
26052
+ ),
26053
+ _react2['default'].createElement(
26054
+ 'div',
26055
+ null,
26056
+ _react2['default'].createElement(_Pagination2['default'], { currentPage: this.props.currentPage, totalPages: this.props.totalPages, changePage: this.props.changePage })
26061
26057
  )
26062
26058
  );
26063
26059
  }
@@ -26137,7 +26133,7 @@
26137
26133
 
26138
26134
  handleMouseEnter: function () {
26139
26135
  function handleMouseEnter() {
26140
- this.props.setHighlightRecord(this.props.record);
26136
+ this.setHighlightRecord(this.props.record);
26141
26137
  }
26142
26138
 
26143
26139
  return handleMouseEnter;
@@ -26145,10 +26141,18 @@
26145
26141
 
26146
26142
  handleMouseLeave: function () {
26147
26143
  function handleMouseLeave() {
26148
- this.props.setHighlightRecord(null);
26144
+ this.setHighlightRecord(null);
26149
26145
  }
26150
26146
 
26151
26147
  return handleMouseLeave;
26148
+ }(),
26149
+
26150
+ setHighlightRecord: function () {
26151
+ function setHighlightRecord(record) {
26152
+ this.props.setHighlightRecord && this.props.setHighlightRecord(record);
26153
+ }
26154
+
26155
+ return setHighlightRecord;
26152
26156
  }()
26153
26157
  });
26154
26158
 
@@ -26182,8 +26186,22 @@
26182
26186
 
26183
26187
  function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
26184
26188
 
26185
- __webpack_require__(279);
26189
+ __webpack_require__(277);
26190
+
26186
26191
 
26192
+ var defaultPin = {
26193
+ url: 'data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAMAAABEpIrGAAABCFBMVEUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD26OP39/cAAADPz88AAAAAAAAAAAD9/f3p6ens7Ozt7e2CgoLb29vt7e0nJyeampqZmZns7OwsLCxKSkqZmZkAAADa2tqHh4cwMDDq6uqEhIT+/v4AAABERETPz89HR0cAAADc3Nzb29u2Og+1OA3PfWG4QRi9TSfKb1C1OQ7luqvJb0/25uHcoY325+K3PRTmu6y2PBLfqJa3PRPowrXcoo7BVzPPfmL26OO9Tii2OhDep5Tluar15eD15N/epZK5Qhkx1ZAbAAAAOnRSTlMAAQcCBA4UDwMVKAUWHBMIIi0GDB0rC/7tHp8nGin70NLVWLHXNGhn0zQ+ZiqxWTXQWfsZPJ49H7SyPeI8ZAAAAXFJREFUeAGFk+MaIzEYhZOMbdW2l7Xdte7/TnbTp2628/7N55wDLkDI0xL6h0TzEIJHIEUjl1MFWRZUzkU0BR+fNYZVdNExDEfUFZbR7kIgZVpsEM9Ekn4i4ScjmXjAWuY1AvKIeROtpr4sZl9Xw0/jxc9UMRpjEA/P+Yiz81lv8K1/ojfwsnmbQ6calMnYb9P7P/0bhtP0e5sxqWMB2oqVc9te/47J91wzZtEQF9DYaH096T8wWXejrEbhAkxQ9Yb9J4ZeMWBoCCBi46nPfQKDUk1AEPCu0l72SAG9ZUNxeUBz+rtDn8ghonM0kFQxOSYHjFuiKgEkOP6IHDDyHQEBJBuJFTlglzDk8IDwFnjI2Ysh8ZqRl2viQ83Jh5ofDwWREC8NXpwaf1aB/FmFDwwNT989ff7u6UcRf/d/BfP7JJiT5CqPkvuRrmDJ3Yu2RxTtSfaxaBHLfrTZjGaLX6nCSfbPxul0HowTZr1w84ba/y8wjYohV+qwEQAAAABJRU5ErkJggg==',
26194
+ size: new google.maps.Size(32, 32),
26195
+ origin: new google.maps.Point(0, 0),
26196
+ anchor: new google.maps.Point(16, 16)
26197
+ };
26198
+
26199
+ var highlightPin = {
26200
+ url: 'data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAMAAABEpIrGAAABDlBMVEUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADr4eH39/fPz88AAAAAAAAAAADp6ekAAAD9/f3s7Ozt7e3t7e2CgoInJyfb29uZmZmamprs7OyEhISHh4cwMDBKSkr+/v7a2toAAAAsLCzq6uqZmZlEREQAAADPz89HR0cAAADb29vc3NxjGxtSAgJRAABZDAyNWFhUBQVSAQHEqKiBRkaBR0eth4fp39+OWVlWBwfq4OCzkJCuiIhsKCjCpqZaDQ1kHBzr4eHDp6exjIzo3t7CpaXKsbFVBgayjo5TAwPo3d2OWlqAlY+pAAAAOnRSTlMAAQcCBA4UDwMVKAUWHBMIIi0GDB0rC/7tnx4nGtAp+9LV11g0sWdo01lZNT77sSo00GY8GZ49H7K0BXS41QAAAXhJREFUeAGFk/OiG0EYxXdmbSvGdZwytnXr9v1fpJkYi9+/83nOwU4AwBA83MITDADYLQAnoEVLrCCwEm1BAge3zzJJiQpnqqrJKSJFylchANd0KpLIunEnmXTibjYRoXTtHAEYSH6MVlObYX89aS0Gw++pp2iMhAw45kPaeHi0x3+aBxpj+/HBoOGhBq6Rxof0z1XzgtYy/dkgNXxXgNBj5cys0byi+zuTi+kEQAVkKlrsdZs3dHtfo5SMowJkpGq3mne07KcIuS0BIJVI/Wt60H4psRBgjCW+ThteAY3pm2gxGEErn+ZNT+auQhMYL3HxgXfAoMJJPAZZ06l7B9Qdk4UYFNTkxDvgV1IVwgPCW6Ah+wFDojXdwDXRoUbehxrtDgUgm3hpB5wafdaz92c9fyEJcPju9/vvfq9x6Lt9BfPtIJiD5PK3kvuRziPJXYm2fSrSaJ9Ee5J9LPqEZF/vdOr94d/U80n2t8YpFG6NE269UPOG2P8/TQCL+fVhnpUAAAAASUVORK5CYII=',
26201
+ size: new google.maps.Size(32, 32),
26202
+ origin: new google.maps.Point(0, 0),
26203
+ anchor: new google.maps.Point(16, 16)
26204
+ };
26187
26205
 
26188
26206
  var Map = _react2['default'].createClass({
26189
26207
  displayName: 'Map',
@@ -26192,58 +26210,42 @@
26192
26210
  function render() {
26193
26211
  var _this = this;
26194
26212
 
26195
- var image = {
26196
- url: 'data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAMAAABEpIrGAAABCFBMVEUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD26OP39/cAAADPz88AAAAAAAAAAAD9/f3p6ens7Ozt7e2CgoLb29vt7e0nJyeampqZmZns7OwsLCxKSkqZmZkAAADa2tqHh4cwMDDq6uqEhIT+/v4AAABERETPz89HR0cAAADc3Nzb29u2Og+1OA3PfWG4QRi9TSfKb1C1OQ7luqvJb0/25uHcoY325+K3PRTmu6y2PBLfqJa3PRPowrXcoo7BVzPPfmL26OO9Tii2OhDep5Tluar15eD15N/epZK5Qhkx1ZAbAAAAOnRSTlMAAQcCBA4UDwMVKAUWHBMIIi0GDB0rC/7tHp8nGin70NLVWLHXNGhn0zQ+ZiqxWTXQWfsZPJ49H7SyPeI8ZAAAAXFJREFUeAGFk+MaIzEYhZOMbdW2l7Xdte7/TnbTp2628/7N55wDLkDI0xL6h0TzEIJHIEUjl1MFWRZUzkU0BR+fNYZVdNExDEfUFZbR7kIgZVpsEM9Ekn4i4ScjmXjAWuY1AvKIeROtpr4sZl9Xw0/jxc9UMRpjEA/P+Yiz81lv8K1/ojfwsnmbQ6calMnYb9P7P/0bhtP0e5sxqWMB2oqVc9te/47J91wzZtEQF9DYaH096T8wWXejrEbhAkxQ9Yb9J4ZeMWBoCCBi46nPfQKDUk1AEPCu0l72SAG9ZUNxeUBz+rtDn8ghonM0kFQxOSYHjFuiKgEkOP6IHDDyHQEBJBuJFTlglzDk8IDwFnjI2Ysh8ZqRl2viQ83Jh5ofDwWREC8NXpwaf1aB/FmFDwwNT989ff7u6UcRf/d/BfP7JJiT5CqPkvuRrmDJ3Yu2RxTtSfaxaBHLfrTZjGaLX6nCSfbPxul0HowTZr1w84ba/y8wjYohV+qwEQAAAABJRU5ErkJggg==',
26197
- size: new google.maps.Size(32, 32),
26198
- origin: new google.maps.Point(0, 0),
26199
- anchor: new google.maps.Point(16, 16)
26200
- };
26201
-
26202
- var highlightImage = {
26203
- url: 'data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAMAAABEpIrGAAABDlBMVEUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADr4eH39/fPz88AAAAAAAAAAADp6ekAAAD9/f3s7Ozt7e3t7e2CgoInJyfb29uZmZmamprs7OyEhISHh4cwMDBKSkr+/v7a2toAAAAsLCzq6uqZmZlEREQAAADPz89HR0cAAADb29vc3NxjGxtSAgJRAABZDAyNWFhUBQVSAQHEqKiBRkaBR0eth4fp39+OWVlWBwfq4OCzkJCuiIhsKCjCpqZaDQ1kHBzr4eHDp6exjIzo3t7CpaXKsbFVBgayjo5TAwPo3d2OWlqAlY+pAAAAOnRSTlMAAQcCBA4UDwMVKAUWHBMIIi0GDB0rC/7tnx4nGtAp+9LV11g0sWdo01lZNT77sSo00GY8GZ49H7K0BXS41QAAAXhJREFUeAGFk/OiG0EYxXdmbSvGdZwytnXr9v1fpJkYi9+/83nOwU4AwBA83MITDADYLQAnoEVLrCCwEm1BAge3zzJJiQpnqqrJKSJFylchANd0KpLIunEnmXTibjYRoXTtHAEYSH6MVlObYX89aS0Gw++pp2iMhAw45kPaeHi0x3+aBxpj+/HBoOGhBq6Rxof0z1XzgtYy/dkgNXxXgNBj5cys0byi+zuTi+kEQAVkKlrsdZs3dHtfo5SMowJkpGq3mne07KcIuS0BIJVI/Wt60H4psRBgjCW+ThteAY3pm2gxGEErn+ZNT+auQhMYL3HxgXfAoMJJPAZZ06l7B9Qdk4UYFNTkxDvgV1IVwgPCW6Ah+wFDojXdwDXRoUbehxrtDgUgm3hpB5wafdaz92c9fyEJcPju9/vvfq9x6Lt9BfPtIJiD5PK3kvuRziPJXYm2fSrSaJ9Ee5J9LPqEZF/vdOr94d/U80n2t8YpFG6NE269UPOG2P8/TQCL+fVhnpUAAAAASUVORK5CYII=',
26204
- size: new google.maps.Size(32, 32),
26205
- origin: new google.maps.Point(0, 0),
26206
- anchor: new google.maps.Point(16, 16)
26207
- };
26208
-
26209
26213
  var markers = this.props.records.map(function (record) {
26210
26214
  return _react2['default'].createElement(_reactGoogleMaps.Marker, {
26211
26215
  position: { lat: record.latitude, lng: record.longitude },
26212
26216
  key: record.id,
26213
- icon: record == _this.props.highlightRecord ? highlightImage : image,
26217
+ icon: record == _this.props.highlightRecord ? highlightPin : defaultPin,
26214
26218
  zIndex: record == _this.props.highlightRecord ? 10000 : null,
26215
26219
  onClick: _this.handleMarkerClick.bind(_this, record),
26220
+ onMouseover: _this.handleMarkerMouseOver.bind(_this, record),
26221
+ onMouseout: _this.handleMarkerMouseOut.bind(_this, record),
26216
26222
  customInfo: 'Marker A'
26217
26223
  });
26218
26224
  });
26219
26225
 
26220
26226
  return _react2['default'].createElement(
26221
- 'div',
26222
- { className: 'col-md-10' },
26223
- _react2['default'].createElement(
26224
- 'section',
26225
- { style: { height: "800px", width: "100%" } },
26226
- _react2['default'].createElement(_reactGoogleMaps.GoogleMapLoader, {
26227
- containerElement: _react2['default'].createElement('div', { style: { height: "100%" } }),
26228
- googleMapElement: _react2['default'].createElement(
26229
- _reactGoogleMaps.GoogleMap,
26230
- {
26231
- ref: function () {
26232
- function ref(map) {
26233
- return _this.googlemap = map;
26234
- }
26235
-
26236
- return ref;
26237
- }(),
26238
- defaultZoom: 5,
26239
- defaultCenter: { lat: 52.49928, lng: 13.44944 },
26240
- onIdle: this.idle,
26241
- onClick: this.handleMapClick
26242
- },
26243
- markers
26244
- )
26245
- })
26246
- )
26227
+ 'section',
26228
+ { className: 'bpe--map' },
26229
+ _react2['default'].createElement(_reactGoogleMaps.GoogleMapLoader, {
26230
+ containerElement: _react2['default'].createElement('div', { style: { height: "100%" } }),
26231
+ googleMapElement: _react2['default'].createElement(
26232
+ _reactGoogleMaps.GoogleMap,
26233
+ {
26234
+ ref: function () {
26235
+ function ref(map) {
26236
+ return _this.googlemap = map;
26237
+ }
26238
+
26239
+ return ref;
26240
+ }(),
26241
+ defaultZoom: 5,
26242
+ defaultCenter: { lat: 52.49928, lng: 13.44944 },
26243
+ onIdle: this.idle,
26244
+ onClick: this.handleMapClick
26245
+ },
26246
+ markers
26247
+ )
26248
+ })
26247
26249
  );
26248
26250
  }
26249
26251
 
@@ -26256,6 +26258,10 @@
26256
26258
  this.googlemap.fitBounds(this.props.changeBounds);
26257
26259
  this.googlemap.props.map.setZoom(this.googlemap.getZoom() + 1);
26258
26260
  }
26261
+
26262
+ if (this.props.records.indexOf(this.infoBubbleRecord) === -1) {
26263
+ this.closeInfoBubble();
26264
+ }
26259
26265
  }
26260
26266
 
26261
26267
  return componentDidUpdate;
@@ -26280,7 +26286,7 @@
26280
26286
  return;
26281
26287
  }
26282
26288
 
26283
- if (this.infoBubble) this.infoBubble.close();
26289
+ this.closeInfoBubble();
26284
26290
 
26285
26291
  var newBounds = JSON.stringify(this.googlemap.getBounds());
26286
26292
 
@@ -26295,7 +26301,7 @@
26295
26301
 
26296
26302
  handleMapClick: function () {
26297
26303
  function handleMapClick() {
26298
- if (this.infoBubble) this.infoBubble.close();
26304
+ this.closeInfoBubble();
26299
26305
  }
26300
26306
 
26301
26307
  return handleMapClick;
@@ -26305,7 +26311,7 @@
26305
26311
  function handleMarkerClick(record) {
26306
26312
  var _ref;
26307
26313
 
26308
- if (this.infoBubble) this.infoBubble.close();
26314
+ this.closeInfoBubble();
26309
26315
 
26310
26316
  var div = document.createElement('div');
26311
26317
  _reactDom2['default'].render(_react2['default'].createElement(_Volunteering2['default'], { record: record, key: record.id }), div);
@@ -26317,14 +26323,42 @@
26317
26323
  map: this.googlemap.props.map,
26318
26324
  borderRadius: 0,
26319
26325
  shadowStyle: 0,
26320
- minWidth: 200
26321
- }, _defineProperty(_ref, 'maxWidth', 300), _defineProperty(_ref, 'minHeight', 200), _defineProperty(_ref, 'maxHeight', 200), _defineProperty(_ref, 'hideCloseButton', true), _defineProperty(_ref, 'padding', 0), _ref));
26326
+ minWidth: 212
26327
+ }, _defineProperty(_ref, 'maxWidth', 212), _defineProperty(_ref, 'minHeight', 290), _defineProperty(_ref, 'maxHeight', 290), _defineProperty(_ref, 'hideCloseButton', true), _defineProperty(_ref, 'padding', 0), _ref));
26322
26328
 
26323
26329
  this.preventReloadOnce = true;
26330
+ this.infoBubbleRecord = record;
26324
26331
  this.infoBubble.open();
26325
26332
  }
26326
26333
 
26327
26334
  return handleMarkerClick;
26335
+ }(),
26336
+
26337
+ handleMarkerMouseOver: function () {
26338
+ function handleMarkerMouseOver(record) {
26339
+ this.props.setHighlightRecord(record);
26340
+ }
26341
+
26342
+ return handleMarkerMouseOver;
26343
+ }(),
26344
+
26345
+ handleMarkerMouseOut: function () {
26346
+ function handleMarkerMouseOut(record) {
26347
+ this.props.setHighlightRecord(null);
26348
+ }
26349
+
26350
+ return handleMarkerMouseOut;
26351
+ }(),
26352
+
26353
+ closeInfoBubble: function () {
26354
+ function closeInfoBubble() {
26355
+ if (this.infoBubble) {
26356
+ this.infoBubbleRecord = null;
26357
+ this.infoBubble.close();
26358
+ }
26359
+ }
26360
+
26361
+ return closeInfoBubble;
26328
26362
  }()
26329
26363
  });
26330
26364
 
@@ -30534,232 +30568,6 @@
30534
30568
 
30535
30569
  /***/ },
30536
30570
  /* 277 */
30537
- /***/ function(module, exports, __webpack_require__) {
30538
-
30539
- 'use strict';
30540
-
30541
- Object.defineProperty(exports, "__esModule", {
30542
- value: true
30543
- });
30544
-
30545
- var _react = __webpack_require__(1);
30546
-
30547
- var _react2 = _interopRequireDefault(_react);
30548
-
30549
- var _reactDom = __webpack_require__(99);
30550
-
30551
- var _reactDom2 = _interopRequireDefault(_reactDom);
30552
-
30553
- function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; }
30554
-
30555
- var LocationInput = _react2['default'].createClass({
30556
- displayName: 'LocationInput',
30557
-
30558
- render: function () {
30559
- function render() {
30560
- return _react2['default'].createElement(
30561
- 'div',
30562
- { className: 'row' },
30563
- _react2['default'].createElement(
30564
- 'div',
30565
- { className: 'col-md-5' },
30566
- _react2['default'].createElement('input', { type: 'text', placeholder: 'Ort', ref: 'locationInput', className: 'bpe--location-input--input', value: this.props.value }),
30567
- _react2['default'].createElement(
30568
- 'a',
30569
- { className: 'bpe--location-input--reset', onClick: this.resetInput },
30570
- '×'
30571
- )
30572
- )
30573
- );
30574
- }
30575
-
30576
- return render;
30577
- }(),
30578
-
30579
- getInput: function () {
30580
- function getInput() {
30581
- return _reactDom2['default'].findDOMNode(this.refs.locationInput);
30582
- }
30583
-
30584
- return getInput;
30585
- }(),
30586
- componentDidMount: function () {
30587
- function componentDidMount() {
30588
- var input = this.getInput();
30589
- input.focus();
30590
- this.searchBox = new google.maps.places.SearchBox(input, { 'types': ['(regions)'] });
30591
- google.maps.event.addListener(this.searchBox, 'places_changed', this.handlePlacesChanged);
30592
- }
30593
-
30594
- return componentDidMount;
30595
- }(),
30596
- resetInput: function () {
30597
- function resetInput() {
30598
- var input = this.getInput();
30599
- input.value = '';
30600
- input.focus();
30601
- }
30602
-
30603
- return resetInput;
30604
- }(),
30605
- getGeometry: function () {
30606
- function getGeometry() {
30607
- return this.searchBox.getPlaces()[0].geometry;
30608
- }
30609
-
30610
- return getGeometry;
30611
- }(),
30612
- handlePlacesChanged: function () {
30613
- function handlePlacesChanged() {
30614
- var geometry = this.getGeometry();
30615
-
30616
- if (!geometry) return false;
30617
-
30618
- var value = this.getInput().value.replace(', ', '--');
30619
-
30620
- if (geometry.viewport) {
30621
- this.props.changeLocation(value, geometry.viewport.toJSON());
30622
- } else {
30623
- var lat = geometry.location.lat(),
30624
- lng = geometry.location.lng(),
30625
- rim = 0.05;
30626
- this.props.changeLocation(value, { north: lat - rim, east: lng + rim, south: lat + rim, west: lng - rim });
30627
- }
30628
- }
30629
-
30630
- return handlePlacesChanged;
30631
- }()
30632
- });
30633
-
30634
- exports['default'] = LocationInput;
30635
-
30636
- /***/ },
30637
- /* 278 */
30638
- /***/ function(module, exports, __webpack_require__) {
30639
-
30640
- "use strict";
30641
-
30642
- Object.defineProperty(exports, "__esModule", {
30643
- value: true
30644
- });
30645
-
30646
- var _react = __webpack_require__(1);
30647
-
30648
- var _react2 = _interopRequireDefault(_react);
30649
-
30650
- function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
30651
-
30652
- var PrevButton = _react2["default"].createClass({
30653
- displayName: "PrevButton",
30654
-
30655
- render: function () {
30656
- function render() {
30657
- if (this.props.currentPage > 1) {
30658
- return _react2["default"].createElement(
30659
- "li",
30660
- { className: "previous" },
30661
- _react2["default"].createElement(
30662
- "a",
30663
- { href: "#", onClick: this.props.handleClick },
30664
- _react2["default"].createElement(
30665
- "span",
30666
- { "aria-hidden": "true" },
30667
- "←"
30668
- ),
30669
- " zurück"
30670
- )
30671
- );
30672
- } else {
30673
- return null;
30674
- }
30675
- }
30676
-
30677
- return render;
30678
- }()
30679
- });
30680
-
30681
- var NextButton = _react2["default"].createClass({
30682
- displayName: "NextButton",
30683
-
30684
- render: function () {
30685
- function render() {
30686
- if (this.props.currentPage < this.props.totalPages) {
30687
- return _react2["default"].createElement(
30688
- "li",
30689
- { className: "next" },
30690
- _react2["default"].createElement(
30691
- "a",
30692
- { href: "#", onClick: this.props.handleClick },
30693
- "weiter ",
30694
- _react2["default"].createElement(
30695
- "span",
30696
- { "aria-hidden": "true" },
30697
- "→"
30698
- )
30699
- )
30700
- );
30701
- } else {
30702
- return null;
30703
- }
30704
- }
30705
-
30706
- return render;
30707
- }()
30708
- });
30709
-
30710
- var Pagination = _react2["default"].createClass({
30711
- displayName: "Pagination",
30712
-
30713
- render: function () {
30714
- function render() {
30715
- if (this.props.currentPage) {
30716
- return _react2["default"].createElement(
30717
- "div",
30718
- { className: "col-md-14" },
30719
- _react2["default"].createElement(
30720
- "nav",
30721
- null,
30722
- _react2["default"].createElement(
30723
- "ul",
30724
- { className: "pager" },
30725
- _react2["default"].createElement(PrevButton, { currentPage: this.props.currentPage, handleClick: this.previousPage }),
30726
- "Seite ",
30727
- this.props.currentPage,
30728
- " von ",
30729
- this.props.totalPages,
30730
- _react2["default"].createElement(NextButton, { currentPage: this.props.currentPage, totalPages: this.props.totalPages, handleClick: this.nextPage })
30731
- )
30732
- )
30733
- );
30734
- } else {
30735
- return null;
30736
- }
30737
- }
30738
-
30739
- return render;
30740
- }(),
30741
-
30742
- previousPage: function () {
30743
- function previousPage(event) {
30744
- this.props.changePage(this.props.currentPage - 1);
30745
- }
30746
-
30747
- return previousPage;
30748
- }(),
30749
-
30750
- nextPage: function () {
30751
- function nextPage(event) {
30752
- this.props.changePage(this.props.currentPage + 1);
30753
- }
30754
-
30755
- return nextPage;
30756
- }()
30757
- });
30758
-
30759
- exports["default"] = Pagination;
30760
-
30761
- /***/ },
30762
- /* 279 */
30763
30571
  /***/ function(module, exports) {
30764
30572
 
30765
30573
  // ==ClosureCompiler==
@@ -32543,5 +32351,223 @@
32543
32351
  };
32544
32352
 
32545
32353
 
32354
+ /***/ },
32355
+ /* 278 */
32356
+ /***/ function(module, exports, __webpack_require__) {
32357
+
32358
+ 'use strict';
32359
+
32360
+ Object.defineProperty(exports, "__esModule", {
32361
+ value: true
32362
+ });
32363
+
32364
+ var _react = __webpack_require__(1);
32365
+
32366
+ var _react2 = _interopRequireDefault(_react);
32367
+
32368
+ var _reactDom = __webpack_require__(99);
32369
+
32370
+ var _reactDom2 = _interopRequireDefault(_reactDom);
32371
+
32372
+ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; }
32373
+
32374
+ var LocationInput = _react2['default'].createClass({
32375
+ displayName: 'LocationInput',
32376
+
32377
+ render: function () {
32378
+ function render() {
32379
+ return _react2['default'].createElement(
32380
+ 'div',
32381
+ { className: 'bpe--location-input' },
32382
+ _react2['default'].createElement('input', { type: 'text', placeholder: 'Ort', ref: 'locationInput', className: 'bpe--location-input--input', value: this.props.value }),
32383
+ _react2['default'].createElement(
32384
+ 'a',
32385
+ { className: 'bpe--location-input--reset', onClick: this.resetInput },
32386
+ '×'
32387
+ )
32388
+ );
32389
+ }
32390
+
32391
+ return render;
32392
+ }(),
32393
+
32394
+ getInput: function () {
32395
+ function getInput() {
32396
+ return _reactDom2['default'].findDOMNode(this.refs.locationInput);
32397
+ }
32398
+
32399
+ return getInput;
32400
+ }(),
32401
+ componentDidMount: function () {
32402
+ function componentDidMount() {
32403
+ var input = this.getInput();
32404
+ input.focus();
32405
+ this.searchBox = new google.maps.places.SearchBox(input, { 'types': ['(regions)'] });
32406
+ google.maps.event.addListener(this.searchBox, 'places_changed', this.handlePlacesChanged);
32407
+ }
32408
+
32409
+ return componentDidMount;
32410
+ }(),
32411
+ resetInput: function () {
32412
+ function resetInput() {
32413
+ var input = this.getInput();
32414
+ input.value = '';
32415
+ input.focus();
32416
+ }
32417
+
32418
+ return resetInput;
32419
+ }(),
32420
+ getGeometry: function () {
32421
+ function getGeometry() {
32422
+ return this.searchBox.getPlaces()[0].geometry;
32423
+ }
32424
+
32425
+ return getGeometry;
32426
+ }(),
32427
+ handlePlacesChanged: function () {
32428
+ function handlePlacesChanged() {
32429
+ var geometry = this.getGeometry();
32430
+
32431
+ if (!geometry) return false;
32432
+
32433
+ var value = this.getInput().value.replace(', ', '--');
32434
+
32435
+ if (geometry.viewport) {
32436
+ this.props.changeLocation(value, geometry.viewport.toJSON());
32437
+ } else {
32438
+ var lat = geometry.location.lat(),
32439
+ lng = geometry.location.lng(),
32440
+ rim = 0.05;
32441
+ this.props.changeLocation(value, { north: lat - rim, east: lng + rim, south: lat + rim, west: lng - rim });
32442
+ }
32443
+ }
32444
+
32445
+ return handlePlacesChanged;
32446
+ }()
32447
+ });
32448
+
32449
+ exports['default'] = LocationInput;
32450
+
32451
+ /***/ },
32452
+ /* 279 */
32453
+ /***/ function(module, exports, __webpack_require__) {
32454
+
32455
+ "use strict";
32456
+
32457
+ Object.defineProperty(exports, "__esModule", {
32458
+ value: true
32459
+ });
32460
+
32461
+ var _react = __webpack_require__(1);
32462
+
32463
+ var _react2 = _interopRequireDefault(_react);
32464
+
32465
+ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
32466
+
32467
+ var PrevButton = _react2["default"].createClass({
32468
+ displayName: "PrevButton",
32469
+
32470
+ render: function () {
32471
+ function render() {
32472
+ if (this.props.currentPage > 1) {
32473
+ return _react2["default"].createElement(
32474
+ "li",
32475
+ { className: "previous" },
32476
+ _react2["default"].createElement(
32477
+ "a",
32478
+ { href: "#", onClick: this.props.handleClick },
32479
+ _react2["default"].createElement(
32480
+ "span",
32481
+ { "aria-hidden": "true" },
32482
+ "←"
32483
+ ),
32484
+ " zurück"
32485
+ )
32486
+ );
32487
+ } else {
32488
+ return null;
32489
+ }
32490
+ }
32491
+
32492
+ return render;
32493
+ }()
32494
+ });
32495
+
32496
+ var NextButton = _react2["default"].createClass({
32497
+ displayName: "NextButton",
32498
+
32499
+ render: function () {
32500
+ function render() {
32501
+ if (this.props.currentPage < this.props.totalPages) {
32502
+ return _react2["default"].createElement(
32503
+ "li",
32504
+ { className: "next" },
32505
+ _react2["default"].createElement(
32506
+ "a",
32507
+ { href: "#", onClick: this.props.handleClick },
32508
+ "weiter ",
32509
+ _react2["default"].createElement(
32510
+ "span",
32511
+ { "aria-hidden": "true" },
32512
+ "→"
32513
+ )
32514
+ )
32515
+ );
32516
+ } else {
32517
+ return null;
32518
+ }
32519
+ }
32520
+
32521
+ return render;
32522
+ }()
32523
+ });
32524
+
32525
+ var Pagination = _react2["default"].createClass({
32526
+ displayName: "Pagination",
32527
+
32528
+ render: function () {
32529
+ function render() {
32530
+ if (this.props.currentPage) {
32531
+ return _react2["default"].createElement(
32532
+ "nav",
32533
+ { className: "bpe--pagination" },
32534
+ _react2["default"].createElement(
32535
+ "ul",
32536
+ { className: "pager" },
32537
+ _react2["default"].createElement(PrevButton, { currentPage: this.props.currentPage, handleClick: this.previousPage }),
32538
+ "Seite ",
32539
+ this.props.currentPage,
32540
+ " von ",
32541
+ this.props.totalPages,
32542
+ _react2["default"].createElement(NextButton, { currentPage: this.props.currentPage, totalPages: this.props.totalPages, handleClick: this.nextPage })
32543
+ )
32544
+ );
32545
+ } else {
32546
+ return null;
32547
+ }
32548
+ }
32549
+
32550
+ return render;
32551
+ }(),
32552
+
32553
+ previousPage: function () {
32554
+ function previousPage(event) {
32555
+ this.props.changePage(this.props.currentPage - 1);
32556
+ }
32557
+
32558
+ return previousPage;
32559
+ }(),
32560
+
32561
+ nextPage: function () {
32562
+ function nextPage(event) {
32563
+ this.props.changePage(this.props.currentPage + 1);
32564
+ }
32565
+
32566
+ return nextPage;
32567
+ }()
32568
+ });
32569
+
32570
+ exports["default"] = Pagination;
32571
+
32546
32572
  /***/ }
32547
32573
  /******/ ]);
@@ -0,0 +1,2 @@
1
+ .betterplace-explorer
2
+ height: 100vh
@@ -0,0 +1,27 @@
1
+ .bpe--location-input
2
+ background: white
3
+ position: absolute
4
+ top: 10px
5
+ right: 10px
6
+ z-index: 100
7
+ width: 400px
8
+ box-shadow: 0 0 10px 0 rgba(0,0,0,0.25)
9
+
10
+ .bpe--location-input--input
11
+ display: block
12
+ margin: 20px
13
+ padding: 5px
14
+ padding-right: 30px
15
+ width: calc(100% - 70px)
16
+
17
+ .bpe--location-input--reset
18
+ position: absolute
19
+ right: 20px
20
+ top: 13px
21
+ z-index: 1000
22
+ font-size: 3rem
23
+ font-weight: 100
24
+ cursor: pointer
25
+
26
+ .bpe--location-input--reset:hover
27
+ text-decoration: none
@@ -0,0 +1,7 @@
1
+ .bpe--map
2
+ position: fixed
3
+ top: 0
4
+ right: 0
5
+ z-index: 70
6
+ width: calc(100% - 600px)
7
+ height: 100vh
@@ -0,0 +1,2 @@
1
+ .bpe--pagination
2
+ background: #E7E7E7
@@ -0,0 +1,41 @@
1
+ .bpe--volunteering
2
+ display: flex
3
+ margin-bottom: 20px
4
+ border: 1px solid #ccc
5
+
6
+ .bpe--volunteering--image
7
+ margin-right: 10px
8
+
9
+ .bpe--volunteering--body
10
+ flex-grow: 1
11
+ padding-top: 10px
12
+ font-size: 14px
13
+
14
+ p:first-child:before
15
+ content: ''
16
+ display: inline-block
17
+ margin-right: 5px
18
+ vertical-align: middle
19
+ height: 17px
20
+ width: 17px
21
+ background-image: url('data:image/pngbase64,iVBORw0KGgoAAAANSUhEUgAAAEgAAABFCAMAAADerVCrAAAAM1BMVEUAAAC60wS60wS60wS60wS60wS60wS60wS60wS60wS60wS60wS60wS60wS60wS60wS60wSM4IHZAAAAEHRSTlMAwECAYDDg0KDwsBBQIJBwPkbmYQAAAMhJREFUWMPt18sOgjAQheFpGa4Fnfd/Wp1E2sbZcaqpZv5dAzl+JiyAvthx50R4+yYi6zKCmGGSVzMnCFNSFobRCgvAGBaAMSwAY1gAxrAAjGEBGMO6hrEsAGNZFgOwagzCImnUPw+FZ7NABY20tArQTCVGHshIdfFqI30sDmf6I2M+sV685aO51TTIWdS/mk+DXgz5+HarD/mQD/mQD/mQD/3iUFyAl+yDSpMAbRVIoHoe6qvEAW/biRZpEpO0aerw66i/odCoByH8r05KM8SjAAAAAElFTkSuQmCC')
22
+ background-size: contain
23
+ background-repeat: no-repeat
24
+
25
+ h4
26
+ font-weight: 400
27
+
28
+ .bpe--map
29
+ .bpe--volunteering
30
+ flex-direction: column
31
+ border: 0
32
+ margin-bottom: 0
33
+
34
+ .bpe--volunteering--image
35
+ width: 210px
36
+ height: 109px
37
+ margin-right: 0
38
+
39
+ .bpe--volunteering--body
40
+ padding: 10px
41
+
@@ -0,0 +1,9 @@
1
+ .bpe--volunteering-list
2
+ position: absolute
3
+ top: 0
4
+ left: 0
5
+ width: 600px
6
+ height: 100vh
7
+ overflow-x: hidden
8
+ overflow-y: scroll
9
+ padding: 20px
@@ -0,0 +1,6 @@
1
+ @import betterplace_explorer/explorer
2
+ @import betterplace_explorer/location_input
3
+ @import betterplace_explorer/map
4
+ @import betterplace_explorer/pagination
5
+ @import betterplace_explorer/volunteering
6
+ @import betterplace_explorer/volunteering_list
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: betterplace_explorer
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.1.pre.alpha3
4
+ version: 0.0.1.pre.alpha4
5
5
  platform: ruby
6
6
  authors:
7
7
  - betterplace developers
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2016-06-16 00:00:00.000000000 Z
11
+ date: 2016-06-17 00:00:00.000000000 Z
12
12
  dependencies: []
13
13
  description: An awesome explorer
14
14
  email:
@@ -18,7 +18,13 @@ extensions: []
18
18
  extra_rdoc_files: []
19
19
  files:
20
20
  - app/assets/javascripts/betterplace_explorer.js
21
- - app/assets/stylesheets/betterplace_explorer.css
21
+ - app/assets/stylesheets/betterplace_explorer.sass
22
+ - app/assets/stylesheets/betterplace_explorer/explorer.sass
23
+ - app/assets/stylesheets/betterplace_explorer/location_input.sass
24
+ - app/assets/stylesheets/betterplace_explorer/map.sass
25
+ - app/assets/stylesheets/betterplace_explorer/pagination.sass
26
+ - app/assets/stylesheets/betterplace_explorer/volunteering.sass
27
+ - app/assets/stylesheets/betterplace_explorer/volunteering_list.sass
22
28
  - lib/betterplace_explorer.rb
23
29
  homepage: https://github.com/betterplace/betterplace_explorer
24
30
  licenses:
@@ -1,45 +0,0 @@
1
- betterplace-explorer {
2
- height: 97vh;
3
- }
4
-
5
- .bpe--volunteering-list {
6
- height: 80vh;
7
- overflow: scroll;
8
- }
9
-
10
- .bpe--volunteering {
11
- display: flex;
12
- margin-bottom: 20px;
13
- border: 1px solid #ccc;
14
- }
15
-
16
- .bpe--volunteering--image {
17
- margin-right: 10px;
18
- /*width: 100px;*/
19
- }
20
-
21
- .bpe--volunteering--body {
22
- flex-grow: 1;
23
- }
24
-
25
- .bpe--location-input--input {
26
- display: block;
27
- margin: 20px;
28
- padding: 5px;
29
- padding-right: 30px;
30
- width: 100%;
31
- }
32
-
33
- .bpe--location-input--reset {
34
- position: absolute;
35
- right: 0px;
36
- top: 13px;
37
- z-index: 1000;
38
- font-size: 3rem;
39
- font-weight: 100;
40
- cursor: pointer;
41
- }
42
- .bpe--location-input--reset:hover {
43
- text-decoration: none;
44
- }
45
-