Skip to content

Commit

Permalink
prop types on views
Browse files Browse the repository at this point in the history
  • Loading branch information
tomjschuster committed May 16, 2019
1 parent 384c536 commit d990dc4
Show file tree
Hide file tree
Showing 5 changed files with 48 additions and 1 deletion.
5 changes: 4 additions & 1 deletion src/react/components/Code.jsx
Original file line number Diff line number Diff line change
Expand Up @@ -262,7 +262,10 @@ const downloadZip = ({ name = 'my-project', files }) => {

const downloadFile = ({ name, content }) => {
const file = new Blob([content], { type: 'text/plain;charset=utf-8' })
saveAs(file, name)
return new Promise(resolve => {
saveAs(file, name)
resolve(true)
})
}

const zipFile = (zip, file) => {
Expand Down
8 changes: 8 additions & 0 deletions src/react/views/EditModel.jsx
Original file line number Diff line number Diff line change
@@ -1,4 +1,5 @@
import React from 'react'
import PropTypes from 'prop-types'

import * as validators from '../../utils/validators.js'

Expand Down Expand Up @@ -445,6 +446,13 @@ export default class EditModel extends React.Component {
}
}

EditModel.propTypes = {
models: PropTypes.arrayOf(PropTypes.object).isRequired,
modelId: PropTypes.number.isRequired,
onCancel: PropTypes.func.isRequired,
onSave: PropTypes.func.isRequired
}

const formatModel = model => ({
...model,
name: model.name.trim(),
Expand Down
11 changes: 11 additions & 0 deletions src/react/views/Model.jsx
Original file line number Diff line number Diff line change
@@ -1,4 +1,5 @@
import React from 'react'
import PropTypes from 'prop-types'

import * as sequelize4 from '../../templates/sequelize-4.js'
import Button from '../components/Button.jsx'
Expand Down Expand Up @@ -90,6 +91,16 @@ export default class Model extends React.Component {
}
}

Model.propTypes = {
fromEdit: PropTypes.bool.isRequired,
clearFromEdit: PropTypes.func.isRequired,
model: PropTypes.object.isRequired,
goToModels: PropTypes.func.isRequired,
editModel: PropTypes.func.isRequired,
newMessage: PropTypes.func.isRequired,
config: PropTypes.object.isRequired
}

const showFieldOptions = field => {
const options = {
primaryKey: 'PK',
Expand Down
7 changes: 7 additions & 0 deletions src/react/views/Model/NewModelForm.jsx
Original file line number Diff line number Diff line change
@@ -1,4 +1,5 @@
import React from 'react'
import PropTypes from 'prop-types'

import * as validators from '../../../utils/validators.js'

Expand Down Expand Up @@ -110,6 +111,12 @@ export default class NewModelForm extends React.Component {
}
}

NewModelForm.propTypes = {
models: PropTypes.arrayOf(PropTypes.object).isRequired,
onCancel: PropTypes.func.isRequired,
onCreate: PropTypes.func.isRequired
}

const UNIQUE_NAME_ERROR = 'UNIQUE_NAME_ERROR'
const NAME_FORMAT_ERROR = 'NAME_FORMAT_ERROR'
const REQUIRED_NAME_ERROR = 'REQUIRED_NAME_ERROR'
Expand Down
18 changes: 18 additions & 0 deletions src/react/views/Project.jsx
Original file line number Diff line number Diff line change
@@ -1,4 +1,5 @@
import React from 'react'
import PropTypes from 'prop-types'

import * as sequelize4 from '../../templates/sequelize-4.js'
import NewModelForm from './Model/NewModelForm.jsx'
Expand Down Expand Up @@ -146,3 +147,20 @@ export default class Project extends React.Component {
)
}
}

Project.propTypes = {
config: PropTypes.object.isRequired,
models: PropTypes.arrayOf(PropTypes.object.isRequired),
creatingNewModel: PropTypes.bool.isRequired,

// Actions
toggleTimestamps: PropTypes.func.isRequired,
toggleSnake: PropTypes.func.isRequired,
toggleSingularTableNames: PropTypes.func.isRequired,
startCreatingNewModel: PropTypes.func.isRequired,
cancelCreatingNewModel: PropTypes.func.isRequired,
createModel: PropTypes.func.isRequired,
goToModel: PropTypes.func.isRequired,
editModel: PropTypes.func.isRequired,
deleteModel: PropTypes.func.isRequired
}

0 comments on commit d990dc4

Please sign in to comment.