Skip to content
GitLab
Menu
Projects
Groups
Snippets
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
Menu
Open sidebar
Patrik Meijer
react-components
Commits
e35f77ea
Commit
e35f77ea
authored
Sep 18, 2018
by
Patrik Meijer
Browse files
Add ProjectSeedCards
parent
45cac0c3
Changes
3
Hide whitespace changes
Inline
Side-by-side
package-lock.json
View file @
e35f77ea
{
"name"
:
"react-components"
,
"name"
:
"
webgme-
react-components"
,
"version"
:
"0.0.1"
,
"lockfileVersion"
:
1
,
"requires"
:
true
,
...
...
@@ -184,6 +184,28 @@
"ua-parser-js"
:
"^0.7.18"
}
},
"history"
:
{
"version"
:
"4.7.2"
,
"resolved"
:
"https://registry.npmjs.org/history/-/history-4.7.2.tgz"
,
"integrity"
:
"sha512-1zkBRWW6XweO0NBcjiphtVJVsIQ+SXF29z9DVkceeaSLVMFXHool+fdCZD4spDCfZJCILPILc3bm7Bc+HRi0nA=="
,
"requires"
:
{
"invariant"
:
"^2.2.1"
,
"loose-envify"
:
"^1.2.0"
,
"resolve-pathname"
:
"^2.2.0"
,
"value-equal"
:
"^0.4.0"
,
"warning"
:
"^3.0.0"
},
"dependencies"
:
{
"warning"
:
{
"version"
:
"3.0.0"
,
"resolved"
:
"https://registry.npmjs.org/warning/-/warning-3.0.0.tgz"
,
"integrity"
:
"sha1-MuU3fLVy3kqwR1O9+IIcAe1gW3w="
,
"requires"
:
{
"loose-envify"
:
"^1.0.0"
}
}
}
},
"hoist-non-react-statics"
:
{
"version"
:
"2.5.5"
,
"resolved"
:
"https://registry.npmjs.org/hoist-non-react-statics/-/hoist-non-react-statics-2.5.5.tgz"
,
...
...
@@ -210,6 +232,14 @@
"symbol-observable"
:
"1.0.4"
}
},
"invariant"
:
{
"version"
:
"2.2.4"
,
"resolved"
:
"https://registry.npmjs.org/invariant/-/invariant-2.2.4.tgz"
,
"integrity"
:
"sha512-phJfQVBuaJM5raOpJjSfkiD6BpbCE4Ns//LaXl6wGYtUBY83nWS6Rf9tXm2e8VaK60JEjYldbPif/A2B1C2gNA=="
,
"requires"
:
{
"loose-envify"
:
"^1.0.0"
}
},
"is-function"
:
{
"version"
:
"1.0.1"
,
"resolved"
:
"https://registry.npmjs.org/is-function/-/is-function-1.0.1.tgz"
,
...
...
@@ -233,6 +263,11 @@
"resolved"
:
"https://registry.npmjs.org/is-stream/-/is-stream-1.1.0.tgz"
,
"integrity"
:
"sha1-EtSj3U5o4Lec6428hBc66A2RykQ="
},
"isarray"
:
{
"version"
:
"0.0.1"
,
"resolved"
:
"https://registry.npmjs.org/isarray/-/isarray-0.0.1.tgz"
,
"integrity"
:
"sha1-ihis/Kmo9Bd+Cav8YDiTmwXR7t8="
},
"isobject"
:
{
"version"
:
"3.0.1"
,
"resolved"
:
"https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz"
,
...
...
@@ -444,6 +479,14 @@
"resolved"
:
"https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz"
,
"integrity"
:
"sha1-IQmtx5ZYh8/AXLvUQsrIv7s2CGM="
},
"path-to-regexp"
:
{
"version"
:
"1.7.0"
,
"resolved"
:
"https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-1.7.0.tgz"
,
"integrity"
:
"sha1-Wf3g9DW62suhA6hOnTvGTpa5k30="
,
"requires"
:
{
"isarray"
:
"0.0.1"
}
},
"popper.js"
:
{
"version"
:
"1.14.4"
,
"resolved"
:
"https://registry.npmjs.org/popper.js/-/popper.js-1.14.4.tgz"
,
...
...
@@ -470,6 +513,7 @@
"version"
:
"16.5.1"
,
"resolved"
:
"https://registry.npmjs.org/react/-/react-16.5.1.tgz"
,
"integrity"
:
"sha512-E+23+rbpPsJgSX812LQkwupUCFnbVE84+L8uxlkqN5MU0DcraWMlVf9cRvKCKtGu0XvScyRnW7Z+9d7ymkjy3A=="
,
"dev"
:
true
,
"requires"
:
{
"loose-envify"
:
"^1.1.0"
,
"object-assign"
:
"^4.1.1"
,
...
...
@@ -526,6 +570,33 @@
"resolved"
:
"https://registry.npmjs.org/react-lifecycles-compat/-/react-lifecycles-compat-3.0.4.tgz"
,
"integrity"
:
"sha512-fBASbA6LnOU9dOU2eW7aQ8xmYBSXUIWr+UmF9b1efZBazGNO+rcXT/icdKnYm2pTwcRylVUYwW7H1PHfLekVzA=="
},
"react-router"
:
{
"version"
:
"4.3.1"
,
"resolved"
:
"https://registry.npmjs.org/react-router/-/react-router-4.3.1.tgz"
,
"integrity"
:
"sha512-yrvL8AogDh2X42Dt9iknk4wF4V8bWREPirFfS9gLU1huk6qK41sg7Z/1S81jjTrGHxa3B8R3J6xIkDAA6CVarg=="
,
"requires"
:
{
"history"
:
"^4.7.2"
,
"hoist-non-react-statics"
:
"^2.5.0"
,
"invariant"
:
"^2.2.4"
,
"loose-envify"
:
"^1.3.1"
,
"path-to-regexp"
:
"^1.7.0"
,
"prop-types"
:
"^15.6.1"
,
"warning"
:
"^4.0.1"
}
},
"react-router-dom"
:
{
"version"
:
"4.3.1"
,
"resolved"
:
"https://registry.npmjs.org/react-router-dom/-/react-router-dom-4.3.1.tgz"
,
"integrity"
:
"sha512-c/MlywfxDdCp7EnB7YfPMOfMD3tOtIjrQlj/CKfNMBxdmpJP8xcz5P/UAFn3JbnQCNUxsHyVVqllF9LhgVyFCA=="
,
"requires"
:
{
"history"
:
"^4.7.2"
,
"invariant"
:
"^2.2.4"
,
"loose-envify"
:
"^1.3.1"
,
"prop-types"
:
"^15.6.1"
,
"react-router"
:
"^4.3.1"
,
"warning"
:
"^4.0.1"
}
},
"react-transition-group"
:
{
"version"
:
"2.4.0"
,
"resolved"
:
"https://registry.npmjs.org/react-transition-group/-/react-transition-group-2.4.0.tgz"
,
...
...
@@ -563,6 +634,11 @@
"resolved"
:
"https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.12.1.tgz"
,
"integrity"
:
"sha512-odxIc1/vDlo4iZcfXqRYFj0vpXFNoGdKMAUieAlFYO6m/nl5e9KR/beGf41z4a1FI+aQgtjhuaSlDxQ0hmkrHg=="
},
"resolve-pathname"
:
{
"version"
:
"2.2.0"
,
"resolved"
:
"https://registry.npmjs.org/resolve-pathname/-/resolve-pathname-2.2.0.tgz"
,
"integrity"
:
"sha512-bAFz9ld18RzJfddgrO2e/0S2O81710++chRMUxHjXOYKF6jTAMrUNZrEZ1PvV0zlhfjidm08iRPdTLPno1FuRg=="
},
"safer-buffer"
:
{
"version"
:
"2.1.2"
,
"resolved"
:
"https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz"
,
...
...
@@ -572,6 +648,7 @@
"version"
:
"0.4.0"
,
"resolved"
:
"https://registry.npmjs.org/schedule/-/schedule-0.4.0.tgz"
,
"integrity"
:
"sha512-hYjmoaEMojiMkWCxKr6ue+LYcZ29u29+AamWYmzwT2VOO9ws5UJp/wNhsVUPiUeNh+EdRfZm7nDeB40ffTfMhA=="
,
"dev"
:
true
,
"requires"
:
{
"object-assign"
:
"^4.1.1"
}
...
...
@@ -607,6 +684,11 @@
"resolved"
:
"https://registry.npmjs.org/ua-parser-js/-/ua-parser-js-0.7.18.tgz"
,
"integrity"
:
"sha512-LtzwHlVHwFGTptfNSgezHp7WUlwiqb0gA9AALRbKaERfxwJoiX0A73QbTToxteIAuIaFshhgIZfqK8s7clqgnA=="
},
"value-equal"
:
{
"version"
:
"0.4.0"
,
"resolved"
:
"https://registry.npmjs.org/value-equal/-/value-equal-0.4.0.tgz"
,
"integrity"
:
"sha512-x+cYdNnaA3CxvMaTX0INdTCN8m8aF2uY9BvEqmxuYp8bL09cs/kWVQPVGcA35fMktdOsP69IgU7wFj/61dJHEw=="
},
"warning"
:
{
"version"
:
"4.0.2"
,
"resolved"
:
"https://registry.npmjs.org/warning/-/warning-4.0.2.tgz"
,
...
...
src/components/ProjectSeedCards/ProjectSeedCards.jsx
0 → 100644
View file @
e35f77ea
import
React
,
{
Component
}
from
'
react
'
;
import
PropTypes
from
'
prop-types
'
;
import
Card
from
'
@material-ui/core/Card
'
;
import
CardActions
from
'
@material-ui/core/CardActions
'
;
import
CardContent
from
'
@material-ui/core/CardContent
'
;
import
CardMedia
from
'
@material-ui/core/CardMedia
'
;
import
Button
from
'
@material-ui/core/Button
'
;
import
Typography
from
'
@material-ui/core/Typography
'
;
import
Grid
from
'
@material-ui/core/Grid
'
;
export
default
class
ProjectSeedCards
extends
Component
{
static
propTypes
=
{
seedsInfo
:
PropTypes
.
arrayOf
(
PropTypes
.
object
).
isRequired
,
onCreate
:
PropTypes
.
func
,
mediaStyle
:
PropTypes
.
object
,
contentStyle
:
PropTypes
.
object
,
};
static
defaultProps
=
{
onCreate
:
(
createData
)
=>
{
console
.
log
(
'
onCreate
'
,
createData
);
},
mediaStyle
:
{
height
:
120
,
},
contentStyle
:
{
minHeight
:
160
,
},
};
render
()
{
const
{
seedsInfo
}
=
this
.
props
;
const
cards
=
seedsInfo
.
map
((
seedInfo
)
=>
{
const
{
infoUrl
}
=
seedInfo
;
const
buttons
=
[];
const
createBtn
=
(
<
Button
key
=
"createBtn"
size
=
"small"
color
=
"primary"
onClick
=
{
()
=>
{
this
.
props
.
onCreate
(
seedInfo
.
createData
);
}
}
>
Create
</
Button
>);
buttons
.
push
(
createBtn
);
if
(
infoUrl
)
{
const
infoBtn
=
(
<
a
href
=
{
infoUrl
}
target
=
"_blank"
rel
=
"noopener noreferrer"
style
=
{
{
textDecoration
:
'
none
'
}
}
>
<
Button
key
=
"infoBtn"
size
=
"small"
color
=
"primary"
>
Learn More
</
Button
>
</
a
>);
buttons
.
push
(
infoBtn
);
}
return
(
<
Grid
item
lg
=
{
6
}
md
=
{
12
}
sm
=
{
6
}
xs
=
{
12
}
key
=
{
seedInfo
.
title
}
>
<
Card
>
<
CardMedia
style
=
{
this
.
props
.
mediaStyle
}
image
=
{
`/
${
seedInfo
.
imageUrl
}
`
}
title
=
{
seedInfo
.
title
}
/>
<
CardContent
style
=
{
this
.
props
.
contentStyle
}
>
<
Typography
variant
=
"headline"
>
{
seedInfo
.
title
}
</
Typography
>
<
Typography
component
=
"p"
>
{
seedInfo
.
description
}
</
Typography
>
</
CardContent
>
<
CardActions
>
{
buttons
}
</
CardActions
>
</
Card
>
</
Grid
>
);
});
return
(
<
Grid
container
spacing
=
{
24
}
>
{
cards
}
</
Grid
>
);
}
}
src/components/ProjectSeedCards/index.js
0 → 100644
View file @
e35f77ea
export
{
default
}
from
'
./ProjectSeedCards
'
;
\ No newline at end of file
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
.
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment