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

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
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
-