betterplace_explorer 0.0.1.pre.alpha8 → 0.0.1.pre.alpha9
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/app/assets/javascripts/betterplace_explorer.js +107 -32
- metadata +2 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 7cb38aaab23cd71c813b9d60c68da64a5f3015f3
|
4
|
+
data.tar.gz: 8380c08c95f850e000bf01cfb2e6398a8824f62d
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 7185224e40e048c53578c136831b08fdf292d40408a5eadd90be5bd90ed2b8001b63fde4280aef841e5c2caa94ed3d7a079b2fd7c84d8694d69d94bafbf27b84
|
7
|
+
data.tar.gz: 2d74115caf5efc440e1f1be2594e7df17d35550356cc959da6f2cdd32ed9fea6f84d0d2dd6d35b477e55847b9ac4dc4e28f1ca53e4a92c08adcd5cc75dcb8095
|
@@ -74,7 +74,7 @@
|
|
74
74
|
displayName: 'Explorer',
|
75
75
|
getInitialState: function () {
|
76
76
|
function getInitialState() {
|
77
|
-
return { records: [], currentBounds: {}, currentPage: 1 };
|
77
|
+
return { records: [], currentBounds: {}, currentPage: 1, visitedRecordIds: [] };
|
78
78
|
}
|
79
79
|
|
80
80
|
return getInitialState;
|
@@ -126,7 +126,9 @@
|
|
126
126
|
highlightRecord: this.state.highlightRecord,
|
127
127
|
mapIdle: this.loadByBoundingBox,
|
128
128
|
records: this.state.records,
|
129
|
-
setHighlightRecord: this.setHighlightRecord
|
129
|
+
setHighlightRecord: this.setHighlightRecord,
|
130
|
+
setRecordVisited: this.setRecordVisited,
|
131
|
+
visitedRecordIds: this.state.visitedRecordIds
|
130
132
|
})
|
131
133
|
);
|
132
134
|
}
|
@@ -223,6 +225,15 @@
|
|
223
225
|
}
|
224
226
|
|
225
227
|
return setHighlightRecord;
|
228
|
+
}(),
|
229
|
+
|
230
|
+
setRecordVisited: function () {
|
231
|
+
function setRecordVisited(record) {
|
232
|
+
var newVisitedRecordIds = this.state.visitedRecordIds.concat([record.id]);
|
233
|
+
this.setState({ visitedRecordIds: newVisitedRecordIds });
|
234
|
+
}
|
235
|
+
|
236
|
+
return setRecordVisited;
|
226
237
|
}()
|
227
238
|
});
|
228
239
|
|
@@ -343,6 +354,31 @@
|
|
343
354
|
// shim for using process in browser
|
344
355
|
|
345
356
|
var process = module.exports = {};
|
357
|
+
|
358
|
+
// cached from whatever global is present so that test runners that stub it
|
359
|
+
// don't break things. But we need to wrap it in a try catch in case it is
|
360
|
+
// wrapped in strict mode code which doesn't define any globals. It's inside a
|
361
|
+
// function because try/catches deoptimize in certain engines.
|
362
|
+
|
363
|
+
var cachedSetTimeout;
|
364
|
+
var cachedClearTimeout;
|
365
|
+
|
366
|
+
(function () {
|
367
|
+
try {
|
368
|
+
cachedSetTimeout = setTimeout;
|
369
|
+
} catch (e) {
|
370
|
+
cachedSetTimeout = function () {
|
371
|
+
throw new Error('setTimeout is not defined');
|
372
|
+
}
|
373
|
+
}
|
374
|
+
try {
|
375
|
+
cachedClearTimeout = clearTimeout;
|
376
|
+
} catch (e) {
|
377
|
+
cachedClearTimeout = function () {
|
378
|
+
throw new Error('clearTimeout is not defined');
|
379
|
+
}
|
380
|
+
}
|
381
|
+
} ())
|
346
382
|
var queue = [];
|
347
383
|
var draining = false;
|
348
384
|
var currentQueue;
|
@@ -367,7 +403,7 @@
|
|
367
403
|
if (draining) {
|
368
404
|
return;
|
369
405
|
}
|
370
|
-
var timeout =
|
406
|
+
var timeout = cachedSetTimeout(cleanUpNextTick);
|
371
407
|
draining = true;
|
372
408
|
|
373
409
|
var len = queue.length;
|
@@ -384,7 +420,7 @@
|
|
384
420
|
}
|
385
421
|
currentQueue = null;
|
386
422
|
draining = false;
|
387
|
-
|
423
|
+
cachedClearTimeout(timeout);
|
388
424
|
}
|
389
425
|
|
390
426
|
process.nextTick = function (fun) {
|
@@ -396,7 +432,7 @@
|
|
396
432
|
}
|
397
433
|
queue.push(new Item(fun, args));
|
398
434
|
if (queue.length === 1 && !draining) {
|
399
|
-
|
435
|
+
cachedSetTimeout(drainQueue, 0);
|
400
436
|
}
|
401
437
|
};
|
402
438
|
|
@@ -1284,7 +1320,7 @@
|
|
1284
1320
|
var warning = emptyFunction;
|
1285
1321
|
|
1286
1322
|
if (process.env.NODE_ENV !== 'production') {
|
1287
|
-
warning = function (condition, format) {
|
1323
|
+
warning = function warning(condition, format) {
|
1288
1324
|
for (var _len = arguments.length, args = Array(_len > 2 ? _len - 2 : 0), _key = 2; _key < _len; _key++) {
|
1289
1325
|
args[_key - 2] = arguments[_key];
|
1290
1326
|
}
|
@@ -1332,6 +1368,7 @@
|
|
1332
1368
|
* LICENSE file in the root directory of this source tree. An additional grant
|
1333
1369
|
* of patent rights can be found in the PATENTS file in the same directory.
|
1334
1370
|
*
|
1371
|
+
*
|
1335
1372
|
*/
|
1336
1373
|
|
1337
1374
|
function makeEmptyFunction(arg) {
|
@@ -1345,7 +1382,7 @@
|
|
1345
1382
|
* primarily useful idiomatically for overridable function endpoints which
|
1346
1383
|
* always need to be callable, since JS lacks a null-call idiom ala Cocoa.
|
1347
1384
|
*/
|
1348
|
-
function emptyFunction() {}
|
1385
|
+
var emptyFunction = function emptyFunction() {};
|
1349
1386
|
|
1350
1387
|
emptyFunction.thatReturns = makeEmptyFunction;
|
1351
1388
|
emptyFunction.thatReturnsFalse = makeEmptyFunction(false);
|
@@ -2234,11 +2271,11 @@
|
|
2234
2271
|
* because of Facebook's testing infrastructure.
|
2235
2272
|
*/
|
2236
2273
|
if (performance.now) {
|
2237
|
-
performanceNow = function () {
|
2274
|
+
performanceNow = function performanceNow() {
|
2238
2275
|
return performance.now();
|
2239
2276
|
};
|
2240
2277
|
} else {
|
2241
|
-
performanceNow = function () {
|
2278
|
+
performanceNow = function performanceNow() {
|
2242
2279
|
return Date.now();
|
2243
2280
|
};
|
2244
2281
|
}
|
@@ -3326,7 +3363,7 @@
|
|
3326
3363
|
* @param {object} obj
|
3327
3364
|
* @return {object}
|
3328
3365
|
*/
|
3329
|
-
var keyMirror = function (obj) {
|
3366
|
+
var keyMirror = function keyMirror(obj) {
|
3330
3367
|
var ret = {};
|
3331
3368
|
var key;
|
3332
3369
|
!(obj instanceof Object && !Array.isArray(obj)) ? process.env.NODE_ENV !== 'production' ? invariant(false, 'keyMirror(...): Argument must be an object.') : invariant(false) : void 0;
|
@@ -3398,7 +3435,7 @@
|
|
3398
3435
|
* 'xa12' in that case. Resolve keys you want to use once at startup time, then
|
3399
3436
|
* reuse those resolutions.
|
3400
3437
|
*/
|
3401
|
-
var keyOf = function (oneKeyObj) {
|
3438
|
+
var keyOf = function keyOf(oneKeyObj) {
|
3402
3439
|
var key;
|
3403
3440
|
for (key in oneKeyObj) {
|
3404
3441
|
if (!oneKeyObj.hasOwnProperty(key)) {
|
@@ -8532,11 +8569,11 @@
|
|
8532
8569
|
arity: true
|
8533
8570
|
};
|
8534
8571
|
|
8535
|
-
module.exports = function hoistNonReactStatics(targetComponent, sourceComponent) {
|
8572
|
+
module.exports = function hoistNonReactStatics(targetComponent, sourceComponent, customStatics) {
|
8536
8573
|
if (typeof sourceComponent !== 'string') { // don't hoist over string (html) components
|
8537
8574
|
var keys = Object.getOwnPropertyNames(sourceComponent);
|
8538
|
-
for (var i=0; i<keys.length; ++i) {
|
8539
|
-
if (!REACT_STATICS[keys[i]] && !KNOWN_STATICS[keys[i]]) {
|
8575
|
+
for (var i = 0; i < keys.length; ++i) {
|
8576
|
+
if (!REACT_STATICS[keys[i]] && !KNOWN_STATICS[keys[i]] && (!customStatics || !customStatics[keys[i]])) {
|
8540
8577
|
try {
|
8541
8578
|
targetComponent[keys[i]] = sourceComponent[keys[i]];
|
8542
8579
|
} catch (error) {
|
@@ -9711,7 +9748,11 @@
|
|
9711
9748
|
var useRefresh = !isSupported || forceRefresh;
|
9712
9749
|
|
9713
9750
|
function getCurrentLocation(historyState) {
|
9714
|
-
|
9751
|
+
try {
|
9752
|
+
historyState = historyState || window.history.state || {};
|
9753
|
+
} catch (e) {
|
9754
|
+
historyState = {};
|
9755
|
+
}
|
9715
9756
|
|
9716
9757
|
var path = _DOMUtils.getWindowPath();
|
9717
9758
|
var _historyState = historyState;
|
@@ -17395,6 +17436,7 @@
|
|
17395
17436
|
* LICENSE file in the root directory of this source tree. An additional grant
|
17396
17437
|
* of patent rights can be found in the PATENTS file in the same directory.
|
17397
17438
|
*
|
17439
|
+
*
|
17398
17440
|
* @typechecks static-only
|
17399
17441
|
*/
|
17400
17442
|
|
@@ -17402,9 +17444,6 @@
|
|
17402
17444
|
|
17403
17445
|
/**
|
17404
17446
|
* Memoizes the return value of a function that accepts one string argument.
|
17405
|
-
*
|
17406
|
-
* @param {function} callback
|
17407
|
-
* @return {function}
|
17408
17447
|
*/
|
17409
17448
|
|
17410
17449
|
function memoizeStringOnly(callback) {
|
@@ -22649,18 +22688,18 @@
|
|
22649
22688
|
* @param {function} callback Callback function.
|
22650
22689
|
* @return {object} Object with a `remove` method.
|
22651
22690
|
*/
|
22652
|
-
listen: function (target, eventType, callback) {
|
22691
|
+
listen: function listen(target, eventType, callback) {
|
22653
22692
|
if (target.addEventListener) {
|
22654
22693
|
target.addEventListener(eventType, callback, false);
|
22655
22694
|
return {
|
22656
|
-
remove: function () {
|
22695
|
+
remove: function remove() {
|
22657
22696
|
target.removeEventListener(eventType, callback, false);
|
22658
22697
|
}
|
22659
22698
|
};
|
22660
22699
|
} else if (target.attachEvent) {
|
22661
22700
|
target.attachEvent('on' + eventType, callback);
|
22662
22701
|
return {
|
22663
|
-
remove: function () {
|
22702
|
+
remove: function remove() {
|
22664
22703
|
target.detachEvent('on' + eventType, callback);
|
22665
22704
|
}
|
22666
22705
|
};
|
@@ -22675,11 +22714,11 @@
|
|
22675
22714
|
* @param {function} callback Callback function.
|
22676
22715
|
* @return {object} Object with a `remove` method.
|
22677
22716
|
*/
|
22678
|
-
capture: function (target, eventType, callback) {
|
22717
|
+
capture: function capture(target, eventType, callback) {
|
22679
22718
|
if (target.addEventListener) {
|
22680
22719
|
target.addEventListener(eventType, callback, true);
|
22681
22720
|
return {
|
22682
|
-
remove: function () {
|
22721
|
+
remove: function remove() {
|
22683
22722
|
target.removeEventListener(eventType, callback, true);
|
22684
22723
|
}
|
22685
22724
|
};
|
@@ -22693,7 +22732,7 @@
|
|
22693
22732
|
}
|
22694
22733
|
},
|
22695
22734
|
|
22696
|
-
registerDefault: function () {}
|
22735
|
+
registerDefault: function registerDefault() {}
|
22697
22736
|
};
|
22698
22737
|
|
22699
22738
|
module.exports = EventListener;
|
@@ -23389,7 +23428,7 @@
|
|
23389
23428
|
* LICENSE file in the root directory of this source tree. An additional grant
|
23390
23429
|
* of patent rights can be found in the PATENTS file in the same directory.
|
23391
23430
|
*
|
23392
|
-
*
|
23431
|
+
*
|
23393
23432
|
*/
|
23394
23433
|
|
23395
23434
|
var isTextNode = __webpack_require__(205);
|
@@ -23398,10 +23437,6 @@
|
|
23398
23437
|
|
23399
23438
|
/**
|
23400
23439
|
* Checks if a given DOM node contains or is another DOM node.
|
23401
|
-
*
|
23402
|
-
* @param {?DOMNode} outerNode Outer DOM node.
|
23403
|
-
* @param {?DOMNode} innerNode Inner DOM node.
|
23404
|
-
* @return {boolean} True if `outerNode` contains or is `innerNode`.
|
23405
23440
|
*/
|
23406
23441
|
function containsNode(outerNode, innerNode) {
|
23407
23442
|
if (!outerNode || !innerNode) {
|
@@ -23412,7 +23447,7 @@
|
|
23412
23447
|
return false;
|
23413
23448
|
} else if (isTextNode(innerNode)) {
|
23414
23449
|
return containsNode(outerNode, innerNode.parentNode);
|
23415
|
-
} else if (outerNode
|
23450
|
+
} else if ('contains' in outerNode) {
|
23416
23451
|
return outerNode.contains(innerNode);
|
23417
23452
|
} else if (outerNode.compareDocumentPosition) {
|
23418
23453
|
return !!(outerNode.compareDocumentPosition(innerNode) & 16);
|
@@ -26340,6 +26375,13 @@
|
|
26340
26375
|
anchor: new google.maps.Point(16, 16)
|
26341
26376
|
};
|
26342
26377
|
|
26378
|
+
var visitedPin = {
|
26379
|
+
url: 'data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAMAAABEpIrGAAAAdVBMVEUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD+/v739/fs7Ozq6urPz8+ZmZmEhIQqKioAAAAAAADa2trt7e3t7e1ISEjc3NwAAABnZGPt7e1ua2q4t7acmpmRj453dHRraGfr6+u8u7rLysnR0M/LysrJyMh/fHvZ2w4nAAAAGHRSTlMABAcNFCgdLPvt09CfZ1g0Ihmx19U9sh+WxKfKAAAA+klEQVQ4y42T2RbCIAxERQjdVzegq3X5/080okerzTHOSx/mnimQyWomIcQahZ8VITSlVF5SIkTYSpcQoKDU6hvxNuRpEoVhlKQ5eOTDryCLbdP1g7t2zRhnUCEx83VR29a81Nq60Ei8/d325MxMbtruXoSQVbE5mi8dN0UlxSNAQX02C533oHyEkDqzbgk4m2kfgQFxawi1MUb4gNwaUjbHCATKtKGBJi3vgIKko4EuASXwCEHU00AfBWp9B8KBBobwH4D9BX9I/pr4UCMNjP6hmKf+PawDBjzHPS2B6TluvjB05S6PynGlpWo/9LPa84vDrx6/vOz63wC77Demd5pVhAAAAABJRU5ErkJggg==',
|
26380
|
+
size: new google.maps.Size(32, 32),
|
26381
|
+
origin: new google.maps.Point(0, 0),
|
26382
|
+
anchor: new google.maps.Point(16, 16)
|
26383
|
+
};
|
26384
|
+
|
26343
26385
|
var Map = _react2['default'].createClass({
|
26344
26386
|
displayName: 'Map',
|
26345
26387
|
|
@@ -26350,7 +26392,7 @@
|
|
26350
26392
|
var markers = this.props.records.map(function (record) {
|
26351
26393
|
return _react2['default'].createElement(_reactGoogleMaps.Marker, {
|
26352
26394
|
customInfo: 'Marker A',
|
26353
|
-
icon:
|
26395
|
+
icon: _this.getPinForRecord(record),
|
26354
26396
|
key: record.id,
|
26355
26397
|
onClick: _this.handleMarkerClick.bind(_this, record),
|
26356
26398
|
onMouseout: _this.handleMarkerMouseOut.bind(_this, record),
|
@@ -26466,6 +26508,8 @@
|
|
26466
26508
|
this.preventReloadOnce = true;
|
26467
26509
|
this.infoBubbleRecord = record;
|
26468
26510
|
this.infoBubble.open();
|
26511
|
+
|
26512
|
+
this.props.setRecordVisited(record);
|
26469
26513
|
}
|
26470
26514
|
|
26471
26515
|
return handleMarkerClick;
|
@@ -26496,6 +26540,22 @@
|
|
26496
26540
|
}
|
26497
26541
|
|
26498
26542
|
return closeInfoBubble;
|
26543
|
+
}(),
|
26544
|
+
|
26545
|
+
getPinForRecord: function () {
|
26546
|
+
function getPinForRecord(record) {
|
26547
|
+
if (record == this.getHighlightRecord()) return highlightPin;else if (this.props.visitedRecordIds.indexOf(record.id) !== -1) return visitedPin;else return defaultPin;
|
26548
|
+
}
|
26549
|
+
|
26550
|
+
return getPinForRecord;
|
26551
|
+
}(),
|
26552
|
+
|
26553
|
+
getHighlightRecord: function () {
|
26554
|
+
function getHighlightRecord() {
|
26555
|
+
return this.props.highlightRecord || this.infoBubbleRecord;
|
26556
|
+
}
|
26557
|
+
|
26558
|
+
return getHighlightRecord;
|
26499
26559
|
}()
|
26500
26560
|
});
|
26501
26561
|
|
@@ -26613,7 +26673,7 @@
|
|
26613
26673
|
_createClass(GoogleMapLoader, [{
|
26614
26674
|
key: "mountGoogleMap",
|
26615
26675
|
value: function mountGoogleMap(domEl) {
|
26616
|
-
if (this.state.map) {
|
26676
|
+
if (this.state.map || domEl === null) {
|
26617
26677
|
return;
|
26618
26678
|
}
|
26619
26679
|
var _props$googleMapElement$props = this.props.googleMapElement.props;
|
@@ -29538,6 +29598,21 @@
|
|
29538
29598
|
}
|
29539
29599
|
};
|
29540
29600
|
|
29601
|
+
// If we're inside a MarkerClusterer, allow ourselves to be clustered
|
29602
|
+
if (overlayViewProps.anchorHolderRef) {
|
29603
|
+
if ("MarkerClusterer" === overlayViewProps.anchorHolderRef.getAnchorType()) {
|
29604
|
+
overlayView.getDraggable = function getDraggable() {
|
29605
|
+
return !!overlayViewProps.draggable;
|
29606
|
+
};
|
29607
|
+
|
29608
|
+
overlayView.getPosition = function getPosition() {
|
29609
|
+
return new google.maps.LatLng(this.position);
|
29610
|
+
};
|
29611
|
+
|
29612
|
+
overlayViewProps.anchorHolderRef.getAnchor().addMarker(overlayView);
|
29613
|
+
}
|
29614
|
+
}
|
29615
|
+
|
29541
29616
|
return overlayView;
|
29542
29617
|
}
|
29543
29618
|
}, {
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: betterplace_explorer
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.0.1.pre.
|
4
|
+
version: 0.0.1.pre.alpha9
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- betterplace developers
|
@@ -46,7 +46,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
46
46
|
version: 1.3.1
|
47
47
|
requirements: []
|
48
48
|
rubyforge_project:
|
49
|
-
rubygems_version: 2.
|
49
|
+
rubygems_version: 2.5.1
|
50
50
|
signing_key:
|
51
51
|
specification_version: 4
|
52
52
|
summary: An awesome explorer
|