mirror of https://github.com/perkeep/perkeep.git
Remove cam.reactUtil.quacksLike because React 0.10.0 has this built-in.
Change-Id: Id76bfe32b52fcc3896eb57cd03c1967c6b8fbfac
This commit is contained in:
parent
df38df2275
commit
f03f0568cc
|
@ -26,7 +26,6 @@ goog.require('goog.math.Size');
|
|||
goog.require('goog.style');
|
||||
|
||||
goog.require('cam.BlobItemReact');
|
||||
goog.require('cam.reactUtil');
|
||||
goog.require('cam.SearchSession');
|
||||
|
||||
cam.BlobItemContainerReact = React.createClass({
|
||||
|
@ -44,9 +43,9 @@ cam.BlobItemContainerReact = React.createClass({
|
|||
propTypes: {
|
||||
detailURL: React.PropTypes.func.isRequired, // string->string (blobref->complete detail URL)
|
||||
handlers: React.PropTypes.array.isRequired,
|
||||
history: cam.reactUtil.quacksLike({replaceState:React.PropTypes.func.isRequired}).isRequired,
|
||||
history: React.PropTypes.shape({replaceState:React.PropTypes.func.isRequired}).isRequired,
|
||||
onSelectionChange: React.PropTypes.func,
|
||||
searchSession: cam.reactUtil.quacksLike({getCurrentResults:React.PropTypes.func.isRequired, addEventListener:React.PropTypes.func.isRequired, loadMoreResults:React.PropTypes.func.isRequired}),
|
||||
searchSession: React.PropTypes.shape({getCurrentResults:React.PropTypes.func.isRequired, addEventListener:React.PropTypes.func.isRequired, loadMoreResults:React.PropTypes.func.isRequired}),
|
||||
selection: React.PropTypes.object.isRequired,
|
||||
style: React.PropTypes.object,
|
||||
thumbnailSize: React.PropTypes.number.isRequired,
|
||||
|
|
|
@ -55,9 +55,9 @@ cam.IndexPage = React.createClass({
|
|||
availWidth: React.PropTypes.number.isRequired,
|
||||
availHeight: React.PropTypes.number.isRequired,
|
||||
config: React.PropTypes.object.isRequired,
|
||||
eventTarget: cam.reactUtil.quacksLike({addEventListener:React.PropTypes.func.isRequired}).isRequired,
|
||||
history: cam.reactUtil.quacksLike({pushState:React.PropTypes.func.isRequired, replaceState:React.PropTypes.func.isRequired, go:React.PropTypes.func.isRequired, state:React.PropTypes.object}).isRequired,
|
||||
location: cam.reactUtil.quacksLike({href:React.PropTypes.string.isRequired, reload:React.PropTypes.func.isRequired}).isRequired,
|
||||
eventTarget: React.PropTypes.shape({addEventListener:React.PropTypes.func.isRequired}).isRequired,
|
||||
history: React.PropTypes.shape({pushState:React.PropTypes.func.isRequired, replaceState:React.PropTypes.func.isRequired, go:React.PropTypes.func.isRequired, state:React.PropTypes.object}).isRequired,
|
||||
location: React.PropTypes.shape({href:React.PropTypes.string.isRequired, reload:React.PropTypes.func.isRequired}).isRequired,
|
||||
serverConnection: React.PropTypes.instanceOf(cam.ServerConnection).isRequired,
|
||||
timer: cam.NavReact.originalSpec.propTypes.timer,
|
||||
},
|
||||
|
|
|
@ -32,7 +32,7 @@ cam.NavReact = React.createClass({
|
|||
onOpen: React.PropTypes.func.isRequired,
|
||||
onClose: React.PropTypes.func.isRequired,
|
||||
open: React.PropTypes.bool.isRequired,
|
||||
timer: cam.reactUtil.quacksLike({setTimeout: React.PropTypes.func.isRequired, clearTimeout: React.PropTypes.func.isRequired,}).isRequired,
|
||||
timer: React.PropTypes.shape({setTimeout: React.PropTypes.func.isRequired, clearTimeout: React.PropTypes.func.isRequired,}).isRequired,
|
||||
},
|
||||
|
||||
componentWillMount: function() {
|
||||
|
|
|
@ -36,30 +36,6 @@ cam.reactUtil.mapOf = function(validator) {
|
|||
return validator;
|
||||
};
|
||||
|
||||
// A React prop validator that enforces a property has the specified duck type.
|
||||
// @param Object iface An object that describes the required interface. Each property should itself be a React prop validator describing the corresponding required member.
|
||||
// TODO(aa): Delete now that React has this built in.
|
||||
cam.reactUtil.quacksLike = function(iface) {
|
||||
var validator = function(props, propName, componentName) {
|
||||
componentName += '.' + propName;
|
||||
if (propName in props) {
|
||||
var thing = props[propName];
|
||||
for (var p in iface) {
|
||||
iface[p](thing, p, componentName);
|
||||
}
|
||||
}
|
||||
};
|
||||
|
||||
validator.isRequired = function(props, propName, componentName) {
|
||||
if (!(propName in props)) {
|
||||
throw new Error(goog.string.subs('Required prop %s is not present', propName));
|
||||
}
|
||||
validator(props, propName, componentName);
|
||||
};
|
||||
|
||||
return validator;
|
||||
};
|
||||
|
||||
// Returns the appropriate vendor prefixed style property name. This is figured out by testing the presence of various property names on an actual DOM style object.
|
||||
// The returned property is of the form 'fooBar' (if no prefix is needed), or 'WebkitFooBar' if a prefix is needed, which is the form React expects.
|
||||
// @param {string} prop The property name to find.
|
||||
|
|
Loading…
Reference in New Issue