diff --git a/src/components/asset-panel/selector.jsx b/src/components/asset-panel/selector.jsx index ef92e7696..2c563aa53 100644 --- a/src/components/asset-panel/selector.jsx +++ b/src/components/asset-panel/selector.jsx @@ -43,14 +43,14 @@ const Selector = props => { Selector.propTypes = { items: React.PropTypes.arrayOf(React.PropTypes.shape({ - image: React.PropTypes.string, - name: React.PropTypes.string + image: React.PropTypes.string.isRequired, + name: React.PropTypes.string.isRequired })), - newText: React.PropTypes.string, - onDeleteClick: React.PropTypes.func, - onItemClick: React.PropTypes.func, + newText: React.PropTypes.string.isRequired, + onDeleteClick: React.PropTypes.func.isRequired, + onItemClick: React.PropTypes.func.isRequired, onNewClick: React.PropTypes.func, - selectedItemIndex: React.PropTypes.number + selectedItemIndex: React.PropTypes.number.isRequired }; module.exports = Selector; diff --git a/src/components/close-button/close-button.jsx b/src/components/close-button/close-button.jsx index a72656e6e..f7e245918 100644 --- a/src/components/close-button/close-button.jsx +++ b/src/components/close-button/close-button.jsx @@ -28,7 +28,7 @@ CloseButton.SIZE_SMALL = 'small'; CloseButton.propTypes = { className: React.PropTypes.string, - onClick: React.PropTypes.func, + onClick: React.PropTypes.func.isRequired, size: React.PropTypes.oneOf([CloseButton.SIZE_LARGE, CloseButton.SIZE_SMALL]) }; diff --git a/src/components/costume-canvas/costume-canvas.jsx b/src/components/costume-canvas/costume-canvas.jsx index 65c124793..f2e34e67b 100644 --- a/src/components/costume-canvas/costume-canvas.jsx +++ b/src/components/costume-canvas/costume-canvas.jsx @@ -122,7 +122,7 @@ CostumeCanvas.propTypes = { className: React.PropTypes.string, direction: React.PropTypes.number, height: React.PropTypes.number, - url: React.PropTypes.string, + url: React.PropTypes.string.isRequired, width: React.PropTypes.number }; diff --git a/src/components/green-flag/green-flag.jsx b/src/components/green-flag/green-flag.jsx index bfe584a45..8e6eab0c4 100644 --- a/src/components/green-flag/green-flag.jsx +++ b/src/components/green-flag/green-flag.jsx @@ -26,7 +26,7 @@ const GreenFlagComponent = function (props) { }; GreenFlagComponent.propTypes = { active: React.PropTypes.bool, - onClick: React.PropTypes.func, + onClick: React.PropTypes.func.isRequired, title: React.PropTypes.string }; GreenFlagComponent.defaultProps = { diff --git a/src/components/library-item/library-item.jsx b/src/components/library-item/library-item.jsx index 320a571a3..3dd758505 100644 --- a/src/components/library-item/library-item.jsx +++ b/src/components/library-item/library-item.jsx @@ -36,11 +36,11 @@ class LibraryItem extends React.Component { } LibraryItem.propTypes = { - iconURL: React.PropTypes.string, - id: React.PropTypes.number, - name: React.PropTypes.string, - onSelect: React.PropTypes.func, - selected: React.PropTypes.bool + iconURL: React.PropTypes.string.isRequired, + id: React.PropTypes.number.isRequired, + name: React.PropTypes.string.isRequired, + onSelect: React.PropTypes.func.isRequired, + selected: React.PropTypes.bool.isRequired }; module.exports = LibraryItem; diff --git a/src/components/library/library.jsx b/src/components/library/library.jsx index a43d9650b..acce70084 100644 --- a/src/components/library/library.jsx +++ b/src/components/library/library.jsx @@ -59,8 +59,9 @@ LibraryComponent.propTypes = { data: React.PropTypes.arrayOf( /* eslint-disable react/no-unused-prop-types, lines-around-comment */ React.PropTypes.shape({ + // @todo remove md5/rawURL prop from library, refactor to use storage md5: React.PropTypes.string, - name: React.PropTypes.string, + name: React.PropTypes.string.isRequired, rawURL: React.PropTypes.string }) /* eslint-enable react/no-unused-prop-types, lines-around-comment */ @@ -69,7 +70,7 @@ LibraryComponent.propTypes = { onItemSelected: React.PropTypes.func, onRequestClose: React.PropTypes.func, title: React.PropTypes.string.isRequired, - visible: React.PropTypes.bool + visible: React.PropTypes.bool.isRequired }; module.exports = LibraryComponent; diff --git a/src/components/modal/modal.jsx b/src/components/modal/modal.jsx index 17537a892..5cf50c6a5 100644 --- a/src/components/modal/modal.jsx +++ b/src/components/modal/modal.jsx @@ -35,8 +35,8 @@ class ModalComponent extends React.Component { ModalComponent.propTypes = { children: React.PropTypes.node, contentLabel: React.PropTypes.string.isRequired, - onRequestClose: React.PropTypes.func, - visible: React.PropTypes.bool + onRequestClose: React.PropTypes.func.isRequired, + visible: React.PropTypes.bool.isRequired }; module.exports = ModalComponent; diff --git a/src/components/sprite-selector-item/sprite-selector-item.jsx b/src/components/sprite-selector-item/sprite-selector-item.jsx index 13f7ebcea..17338075b 100644 --- a/src/components/sprite-selector-item/sprite-selector-item.jsx +++ b/src/components/sprite-selector-item/sprite-selector-item.jsx @@ -38,11 +38,11 @@ const SpriteSelectorItem = props => ( SpriteSelectorItem.propTypes = { className: React.PropTypes.string, - costumeURL: React.PropTypes.string, - name: React.PropTypes.string, + costumeURL: React.PropTypes.string.isRequired, + name: React.PropTypes.string.isRequired, onClick: React.PropTypes.func, onDeleteButtonClick: React.PropTypes.func, - selected: React.PropTypes.bool + selected: React.PropTypes.bool.isRequired }; module.exports = SpriteSelectorItem; diff --git a/src/components/sprite-selector/sprite-selector.jsx b/src/components/sprite-selector/sprite-selector.jsx index 8d8ff9ca3..37bb8274e 100644 --- a/src/components/sprite-selector/sprite-selector.jsx +++ b/src/components/sprite-selector/sprite-selector.jsx @@ -83,14 +83,14 @@ SpriteSelectorComponent.propTypes = { sprites: React.PropTypes.shape({ id: React.PropTypes.shape({ costume: React.PropTypes.shape({ - skin: React.PropTypes.string, - name: React.PropTypes.string, - bitmapResolution: React.PropTypes.number, - rotationCenterX: React.PropTypes.number, - rotationCenterY: React.PropTypes.number + skin: React.PropTypes.string.isRequired, + name: React.PropTypes.string.isRequired, + bitmapResolution: React.PropTypes.number.isRequired, + rotationCenterX: React.PropTypes.number.isRequired, + rotationCenterY: React.PropTypes.number.isRequired }), - name: React.PropTypes.string, - order: React.PropTypes.number + name: React.PropTypes.string.isRequired, + order: React.PropTypes.number.isRequired }) }) }; diff --git a/src/components/stage-selector/stage-selector.jsx b/src/components/stage-selector/stage-selector.jsx index 5476b4cd7..4cb69d37c 100644 --- a/src/components/stage-selector/stage-selector.jsx +++ b/src/components/stage-selector/stage-selector.jsx @@ -40,16 +40,16 @@ const StageSelector = props => {
Backdrops
{backdropCount}
- + ); }; StageSelector.propTypes = { - backdropCount: React.PropTypes.number, + backdropCount: React.PropTypes.number.isRequired, onClick: React.PropTypes.func, - selected: React.PropTypes.bool, + selected: React.PropTypes.bool.isRequired, url: React.PropTypes.string }; module.exports = StageSelector; diff --git a/src/components/stop-all/stop-all.jsx b/src/components/stop-all/stop-all.jsx index 362e2fa2a..a14c52648 100644 --- a/src/components/stop-all/stop-all.jsx +++ b/src/components/stop-all/stop-all.jsx @@ -27,7 +27,7 @@ const StopAllComponent = function (props) { StopAllComponent.propTypes = { active: React.PropTypes.bool, - onClick: React.PropTypes.func, + onClick: React.PropTypes.func.isRequired, title: React.PropTypes.string }; diff --git a/src/containers/costume-tab.jsx b/src/containers/costume-tab.jsx index 539e36430..6d1daa0da 100644 --- a/src/containers/costume-tab.jsx +++ b/src/containers/costume-tab.jsx @@ -74,7 +74,7 @@ class CostumeTab extends React.Component { } CostumeTab.propTypes = { - ...AssetPanel.propTypes, + onNewCostumeClick: React.PropTypes.func.isRequired, vm: React.PropTypes.instanceOf(VM) }; diff --git a/src/containers/sound-tab.jsx b/src/containers/sound-tab.jsx index 960e93ffa..d89cb2115 100644 --- a/src/containers/sound-tab.jsx +++ b/src/containers/sound-tab.jsx @@ -70,8 +70,8 @@ class SoundTab extends React.Component { } SoundTab.propTypes = { - ...AssetPanel.propTypes, - vm: React.PropTypes.instanceOf(VM) + onNewSoundClick: React.PropTypes.func.isRequired, + vm: React.PropTypes.instanceOf(VM).isRequired }; const mapStateToProps = state => ({